	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_form_bmp_header                ## -- Begin function form_bmp_header
	.p2align	4, 0x90
_form_bmp_header:                       ## @form_bmp_header
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	.cfi_offset %rbx, -24
	movl	%esi, %ebx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	setne	%r8b
	sete	%sil
	movl	$4, %eax
	subl	%esi, %eax
	imull	%ebx, %eax
	addl	$3, %eax
	andl	$-4, %eax
	imull	%edx, %eax
	movw	$19778, (%rdi)                  ## imm = 0x4D42
	leal	54(%rax), %ecx
	movb	%cl, 2(%rdi)
	movb	%ch, 3(%rdi)
	movl	%ecx, %esi
	shrl	$16, %esi
	movb	%sil, 4(%rdi)
	shrl	$24, %ecx
	movb	%cl, 5(%rdi)
	movl	$0, 6(%rdi)
	movabsq	$171798691894, %rcx             ## imm = 0x2800000036
	movq	%rcx, 10(%rdi)
	movb	%bl, 18(%rdi)
	movb	%bh, 19(%rdi)
	movl	%ebx, %ecx
	shrl	$16, %ecx
	movb	%cl, 20(%rdi)
	shrl	$24, %ebx
	movb	%bl, 21(%rdi)
	movb	%dl, 22(%rdi)
	movb	%dh, 23(%rdi)
	movl	%edx, %ecx
	shrl	$16, %ecx
	movb	%cl, 24(%rdi)
	shrl	$24, %edx
	movb	%dl, 25(%rdi)
	movw	$1, 26(%rdi)
	shlb	$3, %r8b
	addb	$24, %r8b
	movb	%r8b, 28(%rdi)
	movb	$0, 33(%rdi)
	movl	$0, 29(%rdi)
	movb	%al, 34(%rdi)
	movb	%ah, 35(%rdi)
	movl	%eax, %ecx
	shrl	$16, %ecx
	movb	%cl, 36(%rdi)
	shrl	$24, %eax
	movb	%al, 37(%rdi)
	movl	$2835, 38(%rdi)                 ## imm = 0xB13
	movw	$2835, 42(%rdi)                 ## imm = 0xB13
	movq	$0, 44(%rdi)
	movw	$0, 52(%rdi)
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function form_bmp_header
lCPI0_0:
	.byte	54                              ; 0x36
	.byte	0                               ; 0x0
	.byte	0                               ; 0x0
	.byte	0                               ; 0x0
	.byte	40                              ; 0x28
	.byte	0                               ; 0x0
	.byte	0                               ; 0x0
	.byte	0                               ; 0x0
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_form_bmp_header
	.p2align	2
_form_bmp_header:                       ; @form_bmp_header
	.cfi_startproc
; %bb.0:
	mov	w8, #3
	mov	w9, #19778
	strh	w9, [x0]
	mov	w9, #32
	mov	w10, #24
	cmp	w3, #0
	csel	w9, w10, w9, eq
	cinc	w8, w8, ne
	orr	w10, wzr, #0x3
	madd	w8, w8, w1, w10
	and	w8, w8, #0xfffffffc
	mul	w8, w8, w2
	add	w10, w8, #54
	lsr	w11, w10, #8
	strb	w11, [x0, #3]
	lsr	w11, w10, #16
	strb	w11, [x0, #4]
	strb	w10, [x0, #2]
	lsr	w10, w10, #24
	strb	w10, [x0, #5]
	stur	wzr, [x0, #6]
Lloh0:
	adrp	x10, lCPI0_0@PAGE
Lloh1:
	ldr	d0, [x10, lCPI0_0@PAGEOFF]
	stur	d0, [x0, #10]
	strb	w1, [x0, #18]
	lsr	w10, w1, #8
	strb	w10, [x0, #19]
	lsr	w10, w1, #16
	strb	w10, [x0, #20]
	lsr	w10, w1, #24
	strb	w10, [x0, #21]
	strb	w2, [x0, #22]
	lsr	w10, w2, #8
	strb	w10, [x0, #23]
	lsr	w10, w2, #16
	strb	w10, [x0, #24]
	lsr	w10, w2, #24
	strb	w10, [x0, #25]
	mov	w10, #1
	strh	w10, [x0, #26]
	strb	w9, [x0, #28]
	strb	wzr, [x0, #33]
	stur	wzr, [x0, #29]
	strb	w8, [x0, #34]
	lsr	w9, w8, #8
	strb	w9, [x0, #35]
	lsr	w9, w8, #16
	strb	w9, [x0, #36]
	lsr	w8, w8, #24
	strb	w8, [x0, #37]
	mov	w8, #2835
	stur	w8, [x0, #38]
	strh	w8, [x0, #42]
	stur	xzr, [x0, #44]
	strh	wzr, [x0, #52]
	ret
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
