	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function calc_bounds
_calc_bounds:                           ## @calc_bounds
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	%edi, %eax
	movq	_OLED_BLOCK_SIZE@GOTPCREL(%rip), %rcx
	imull	(%rcx), %eax
	movq	_OLED_DISPLAY_WIDTH@GOTPCREL(%rip), %rcx
	cltd
	idivl	(%rcx)
	movq	_PAM_PAGE_ADDR@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, (%rsi)
	movq	_OLED_COLUMN_OFFSET@GOTPCREL(%rip), %rax
	addl	(%rax), %edx
	movq	_PAM_SETCOLUMN_LSB@GOTPCREL(%rip), %rax
	movl	%edx, %ecx
	andl	$15, %ecx
	orl	(%rax), %ecx
	movl	%ecx, 4(%rsi)
	movq	_PAM_SETCOLUMN_MSB@GOTPCREL(%rip), %rax
	shrl	$4, %edx
	andl	$15, %edx
	orl	(%rax), %edx
	movl	%edx, 8(%rsi)
	movq	_NOP@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 12(%rsi)
	movl	%eax, 16(%rsi)
	movl	%eax, 20(%rsi)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_OLED_BLOCK_SIZE,4,2            ## @OLED_BLOCK_SIZE
	.comm	_OLED_DISPLAY_WIDTH,4,2         ## @OLED_DISPLAY_WIDTH
	.comm	_PAM_PAGE_ADDR,4,2              ## @PAM_PAGE_ADDR
	.comm	_PAM_SETCOLUMN_LSB,4,2          ## @PAM_SETCOLUMN_LSB
	.comm	_OLED_COLUMN_OFFSET,4,2         ## @OLED_COLUMN_OFFSET
	.comm	_PAM_SETCOLUMN_MSB,4,2          ## @PAM_SETCOLUMN_MSB
	.comm	_NOP,4,2                        ## @NOP
	.no_dead_strip	_calc_bounds
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function calc_bounds
_calc_bounds:                           ; @calc_bounds
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _OLED_BLOCK_SIZE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _OLED_BLOCK_SIZE@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	mul	w8, w8, w0
Lloh3:
	adrp	x9, _OLED_DISPLAY_WIDTH@GOTPAGE
Lloh4:
	ldr	x9, [x9, _OLED_DISPLAY_WIDTH@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	sdiv	w10, w8, w9
	msub	w8, w10, w9, w8
Lloh6:
	adrp	x9, _PAM_PAGE_ADDR@GOTPAGE
Lloh7:
	ldr	x9, [x9, _PAM_PAGE_ADDR@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	orr	w9, w9, w10
	str	w9, [x1]
Lloh9:
	adrp	x9, _PAM_SETCOLUMN_LSB@GOTPAGE
Lloh10:
	ldr	x9, [x9, _PAM_SETCOLUMN_LSB@GOTPAGEOFF]
Lloh11:
	adrp	x10, _OLED_COLUMN_OFFSET@GOTPAGE
Lloh12:
	ldr	x10, [x10, _OLED_COLUMN_OFFSET@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
Lloh14:
	ldr	w10, [x10]
	add	w8, w10, w8
	and	w10, w8, #0xf
Lloh15:
	adrp	x11, _PAM_SETCOLUMN_MSB@GOTPAGE
Lloh16:
	ldr	x11, [x11, _PAM_SETCOLUMN_MSB@GOTPAGEOFF]
	orr	w9, w10, w9
Lloh17:
	ldr	w10, [x11]
	ubfx	w8, w8, #4, #4
	orr	w8, w8, w10
	stp	w9, w8, [x1, #4]
Lloh18:
	adrp	x8, _NOP@GOTPAGE
Lloh19:
	ldr	x8, [x8, _NOP@GOTPAGEOFF]
Lloh20:
	ldr	w8, [x8]
	stp	w8, w8, [x1, #12]
	str	w8, [x1, #20]
	ret
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh13
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_OLED_BLOCK_SIZE,4,2            ; @OLED_BLOCK_SIZE
	.comm	_OLED_DISPLAY_WIDTH,4,2         ; @OLED_DISPLAY_WIDTH
	.comm	_PAM_PAGE_ADDR,4,2              ; @PAM_PAGE_ADDR
	.comm	_PAM_SETCOLUMN_LSB,4,2          ; @PAM_SETCOLUMN_LSB
	.comm	_OLED_COLUMN_OFFSET,4,2         ; @OLED_COLUMN_OFFSET
	.comm	_PAM_SETCOLUMN_MSB,4,2          ; @PAM_SETCOLUMN_MSB
	.comm	_NOP,4,2                        ; @NOP
	.no_dead_strip	_calc_bounds
.subsections_via_symbols
