Function at 0x565940
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x566a72
push rbp
mov rbp, rsp
sub rsp, 0xb8
movq qword [rsp + 0xb0], xmm15
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rdi
mov dword [rsp + 0xe8], esi
mov byte [rsp + 0xec], r8b
mov byte [rsp + 0x2f], 0
mov dword [rsp + 0x38], 0
mov ebx, 0x20
call sym.modernc.org_libc._TLS_.Alloc
mov qword [rsp + 0x88], rax
lea rcx, [sym.modernc.org_sqlite_lib._allocateBtreePage.deferwrap1]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rcx
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0xb0], rdx
mov byte [rsp + 0x2f], 1
mov qword [rax], 0
mov rsi, qword [rsp + 0xd0]
mov r8, qword [rsi + 0x18]
mov qword [rsp + 0x80], r8
mov rbx, qword [r8 + 0x50]
add rbx, 0x24
mov esi, dword [rsi + 0x40]
mov dword [rsp + 0x44], esi
nop
mov rax, rcx
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0x44]
nop dword [rax]
cmp eax, ecx
jae 0x565e79
test eax, eax
jbe 0x565b6f
mov dword [rsp + 0x40], eax
movzx edx, byte [rsp + 0xec]
movzx edx, dl
mov dword [rsp + 0x74], edx
cmp edx, 1
jne 0x565ae6
mov r8d, dword [rsp + 0xe8]
cmp r8d, ecx
jbe 0x565a65
xor ebx, ebx
nop dword [rax + rax]
jmp 0x565aec
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 8]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov ecx, r8d
xor esi, esi
mov rdi, rdx
call sym.modernc.org_sqlite_lib._ptrmapGet
test eax, eax
jne 0x565ac3
mov rcx, qword [rsp + 0x98]
movzx ecx, byte [rcx]
cmp ecx, 2
sete cl
mov eax, dword [rsp + 0x40]
mov edx, dword [rsp + 0x74]
mov r8d, dword [rsp + 0xe8]
mov ebx, ecx
mov ecx, dword [rsp + 0x44]
jmp 0x565aec
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
cmp edx, 2
sete bl
mov byte [rsp + 0x2d], bl
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
mov rbx, rcx
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x565b4b
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rdx + 0x50]
add rbx, 0x24
mov ecx, dword [rsp + 0x40]
lea edx, [rcx - 1]
mov rax, qword [rsp + 0xc8]
mov ecx, edx
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov eax, 1
xor ecx, ecx
xor edx, edx
movzx ebx, byte [rsp + 0x2d]
xor esi, esi
jmp 0x565f60
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
nop
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
mov rcx, qword [rsp + 0xd0]
mov rsi, qword [rcx + 0x18]
mov rbx, qword [rsi + 0x70]
movzx ecx, byte [rcx + 0x23]
mov dword [rsp + 0x74], ecx
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x565e56
mov rbx, qword [rsp + 0xd0]
mov rdx, rbx
inc dword [rdx + 0x40]
mov rdx, rbx
mov r8d, dword [rdx + 0x34]
test r8d, r8d
je 0x565f45
mov r9d, dword [rdx + 0x40]
mov eax, dword [0x009b86f4]
mov rcx, rdx
xor edx, edx
div r8d
lea edx, [rax + 1]
cmp r9d, edx
jne 0x565bdb
lea edx, [r9 + 1]
mov dword [rcx + 0x40], edx
mov rdx, rbx
mov r8d, dword [rsp + 0x74]
test r8d, r8d
sete r8b
movzx esi, r8b
mov dword [rsp + 0x5c], esi
cmp byte [rdx + 0x21], 0
je 0x565d74
mov eax, dword [rdx + 0x40]
nop
cmp eax, 2
jae 0x565c0c
mov ecx, eax
xor r8d, r8d
jmp 0x565c74
mov r8d, dword [rdx + 0x38]
mov r9d, 0xcccccccd
imul r9, r8
shr r9, 0x22
nop
cmp r9d, 0xffffffff
je 0x565f40
lea r8d, [r9 + 1]
lea r9d, [rax - 2]
mov ecx, eax
mov eax, r9d
mov rdi, rdx
xor edx, edx
div r8d
mov edx, dword [rdi + 0x34]
imul eax, r8d
test edx, edx
je 0x565f3a
lea r8d, [rax + 2]
mov r9d, dword [0x009b86f4]
mov edi, eax
mov eax, r9d
mov r10d, edx
xor edx, edx
div r10d
lea edx, [rax + 1]
lea r9d, [rdi + 3]
cmp edx, r8d
cmove r8d, r9d
cmp r8d, ecx
jne 0x565d74
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 0x18]
mov qword [rsp + 0x98], rdx
mov r8, rdx
mov qword [rdx], 0
mov rdx, rbx
mov ecx, dword [rdx + 0x40]
mov rax, qword [rsp + 0xc8]
mov rdi, r8
call sym.modernc.org_sqlite_lib._btreeGetUnusedPage
test eax, eax
jne 0x565d00
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
nop dword [rax]
test rcx, rcx
je 0x565d00
mov dword [rsp + 0x34], eax
mov rbx, qword [rcx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x34]
nop
test eax, eax
jne 0x565d51
mov rdx, qword [rsp + 0xd0]
mov rsi, rdx
inc dword [rdx + 0x40]
mov rdx, rsi
mov edi, dword [rsi + 0x34]
nop dword [rax + rax]
test edi, edi
je 0x565f35
mov r8d, dword [rsi + 0x40]
mov eax, dword [0x009b86f4]
mov rcx, rdx
xor edx, edx
div edi
lea edx, [rax + 1]
nop dword [rax]
cmp r8d, edx
jne 0x565d4c
lea edx, [r8 + 1]
mov dword [rsi + 0x40], edx
mov rbx, rcx
jmp 0x565d74
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
mov rsi, qword [rbx + 0x18]
mov rsi, qword [rsi + 0x50]
add rsi, 0x1c
mov ecx, dword [rbx + 0x40]
mov rax, qword [rsp + 0xc8]
mov rbx, rsi
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov rdx, qword [rsp + 0xe0]
mov rsi, rdx
mov rbx, qword [rsp + 0xd0]
mov rdi, rbx
mov edi, dword [rdi + 0x40]
mov dword [rdx], edi
mov ecx, dword [rsi]
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
mov esi, dword [rsp + 0x5c]
call sym.modernc.org_sqlite_lib._btreeGetUnusedPage
test eax, eax
jne 0x565e33
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
je 0x565ec1
mov rcx, qword [rsp + 0xd8]
mov rsi, rcx
mov rcx, qword [rcx]
nop
test rcx, rcx
je 0x565e27
mov dword [rsp + 0x70], eax
mov rbx, qword [rcx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x70]
mov rsi, qword [rsp + 0xd8]
mov qword [rsi], 0
jmp 0x565ec1
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
mov rdi, qword [0x00a30e10]
add rdi, 0x6676
mov rax, qword [rsp + 0xc8]
mov ebx, 0xb
mov ecx, 0x12cb7
call sym.modernc.org_sqlite_lib._sqlite3ReportError
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rdx]
call rsi
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov rsi, qword [rsp + 0x88]
mov rsi, qword [rsi]
test rsi, rsi
je 0x565ef7
mov qword [rsp + 0x78], rcx
mov rbx, qword [rsi + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x565f12
mov rbx, qword [rcx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
call sym.runtime.panicdivide
call sym.runtime.panicdivide
nop
call sym.runtime.panicdivide
call sym.runtime.panicdivide
test dl, dl
setne r9b
mov ecx, dword [rsp + 0x3c]
mov ebx, edx
mov esi, eax
mov eax, r9d
mov edx, dword [rsp + 0x30]
nop
test al, al
je 0x5668e8
mov byte [rsp + 0x2d], bl
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x3c], ecx
mov rsi, qword [rsp + 0x88]
mov rsi, qword [rsi]
mov qword [rsp + 0x78], rsi
test rsi, rsi
je 0x565f9c
mov rbx, qword [rsi + 0x50]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
jmp 0x565fb9
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rcx + 0x50]
add rbx, 0x20
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov dword [rsp + 0x4c], eax
mov edx, dword [rsp + 0x3c]
lea r8d, [rdx + 1]
mov r9d, dword [rsp + 0x44]
cmp eax, r9d
cmova r8d, edx
mov dword [rsp + 0x3c], r8d
mov r10d, dword [rsp + 0x30]
cmova edx, r10d
mov dword [rsp + 0x30], edx
ja 0x565fef
mov r10d, dword [rsp + 0x40]
cmp r10d, edx
jae 0x566016
mov rdi, qword [0x00a30e10]
add rdi, 0x6676
mov rax, qword [rsp + 0xc8]
mov ebx, 0xb
mov ecx, 0x12cef
call sym.modernc.org_sqlite_lib._sqlite3ReportError
jmp 0x566037
mov rbx, qword [rsp + 0xd0]
mov ecx, eax
mov rdi, qword [rsp + 0x88]
xor esi, esi
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._btreeGetUnusedPage
test eax, eax
jne 0x5668cf
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x50]
add rbx, 4
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
nop
test eax, eax
jne 0x56611a
movzx esi, byte [rsp + 0x2d]
test sil, sil
jne 0x56611f
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x566805
mov rcx, qword [rsp + 0xe0]
mov rsi, rcx
mov edi, dword [rsp + 0x4c]
mov dword [rcx], edi
mov rcx, qword [rsp + 0x80]
mov rdi, rcx
mov rcx, qword [rcx + 0x50]
add rcx, 0x20
mov r8, qword [rsp + 0x88]
mov r9, r8
mov r8, qword [r8]
mov r8, qword [r8 + 0x50]
test byte [rcx], al
test byte [r8], al
cmp r8, rcx
je 0x5660ea
mov r8d, dword [r8]
mov dword [rcx], r8d
mov rcx, qword [rsp + 0x78]
test rcx, rcx
jmp 0x5660f2
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov r8, qword [rsp + 0xd8]
mov r10, r8
mov r11, r9
mov r9, qword [r9]
mov qword [r8], r9
mov r8, r11
mov qword [r11], 0
movzx edx, byte [rsp + 0x2d]
jmp 0x5667b6
movzx esi, byte [rsp + 0x2d]
mov r8, qword [rsp + 0xd0]
mov r9, r8
mov r8d, dword [r8 + 0x38]
shr r8d, 2
add r8d, 0xfffffffe
cmp eax, r8d
ja 0x56689f
mov dword [rsp + 0x48], eax
test sil, sil
je 0x5664e5
mov ecx, dword [rsp + 0xe8]
mov edi, dword [rsp + 0x4c]
cmp ecx, edi
je 0x56617b
jbe 0x56616f
mov r8d, dword [rsp + 0x74]
cmp r8d, 2
je 0x56617b
test eax, eax
jmp 0x5664f3
test eax, eax
mov r8d, dword [rsp + 0x74]
jmp 0x5664f3
mov rcx, qword [rsp + 0xe0]
mov dword [rcx], edi
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x88]
mov r8, rdi
mov rdi, qword [rdi]
mov qword [rcx], rdi
mov rdi, qword [r8]
mov rbx, qword [rdi + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x566895
mov ecx, dword [rsp + 0x48]
nop
test ecx, ecx
jne 0x56627c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
jne 0x56621d
mov rsi, qword [rsp + 0x80]
mov rdi, rsi
mov rsi, qword [rsi + 0x50]
add rsi, 0x20
mov r8, qword [rsp + 0x88]
mov r9, r8
mov r8, qword [r8]
mov r8, qword [r8 + 0x50]
test byte [rsi], al
test byte [r8], al
nop dword [rax]
cmp r8, rsi
je 0x566210
mov r8d, dword [r8]
mov dword [rsi], r8d
test rcx, rcx
jmp 0x566213
test rcx, rcx
mov eax, 0
jmp 0x5664ba
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x56680f
mov rcx, qword [rsp + 0x78]
mov rsi, rcx
mov rcx, qword [rcx + 0x50]
mov rdi, qword [rsp + 0x88]
mov r8, rdi
mov rdi, qword [rdi]
mov rdi, qword [rdi + 0x50]
test byte [rcx], al
test byte [rdi], al
cmp rdi, rcx
je 0x566266
mov edi, dword [rdi]
mov dword [rcx], edi
test rsi, rsi
jmp 0x566269
test rsi, rsi
mov rcx, rsi
mov rdi, qword [rsp + 0x80]
mov r9, r8
jmp 0x5664ba
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x50]
add rbx, 8
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0x44]
cmp eax, ecx
ja 0x566865
mov dword [rsp + 0x50], eax
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 0x10]
mov qword [rsp + 0x98], rdx
mov rbx, qword [rsp + 0xd0]
mov ecx, eax
xor esi, esi
mov rax, qword [rsp + 0xc8]
mov rdi, rdx
call sym.modernc.org_sqlite_lib._btreeGetUnusedPage
nop dword [rax]
test eax, eax
jne 0x566859
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
nop
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x566825
mov rdx, qword [rsp + 0x98]
mov rsi, rdx
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x50]
mov rdi, qword [rsp + 0x88]
mov rdi, qword [rdi]
mov rdi, qword [rdi + 0x50]
test byte [rdx], al
test byte [rdi], al
cmp rdi, rdx
je 0x56633b
mov edi, dword [rdi]
mov dword [rdx], edi
mov rsi, qword [rsi]
mov rbx, qword [rsi + 0x50]
add rbx, 4
mov ecx, dword [rsp + 0x48]
dec ecx
mov dword [rsp + 0x6c], ecx
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov edx, dword [rsp + 0x6c]
shl edx, 2
test rdx, rdx
je 0x5663d7
movabs rbx, 0x3ffffffffffff
cmp rbx, rdx
jb 0x566a56
mov rsi, qword [rsp + 0x98]
mov rdi, rsi
mov rsi, qword [rsi]
mov rax, qword [rsi + 0x50]
add rax, 8
mov rsi, qword [rsp + 0x88]
mov r8, rsi
mov rsi, qword [rsi]
mov rsi, qword [rsi + 0x50]
add rsi, 0xc
test byte [rax], al
test byte [rsi], al
cmp rsi, rax
je 0x5663f1
mov rbx, rsi
mov ecx, edx
call sym.runtime.memmove
movabs rbx, 0x3ffffffffffff
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
jmp 0x5663f1
movabs rbx, 0x3ffffffffffff
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rdi]
test rdx, rdx
jne 0x566403
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jmp 0x566432
mov rbx, qword [rdx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov rdx, rcx
movabs rbx, 0x3ffffffffffff
mov r8, qword [rsp + 0x88]
jne 0x566464
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rdx + 0x50]
add rbx, 0x20
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0x50]
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov rdx, qword [rsp + 0x78]
test rdx, rdx
mov eax, 0
jmp 0x5664a7
mov rbx, qword [rdx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x566819
mov dword [rsp + 0x34], eax
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rdx + 0x50]
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0x50]
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov rdx, qword [rsp + 0x78]
test rdx, rdx
mov eax, dword [rsp + 0x34]
mov rcx, rdx
mov rdi, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
mov qword [r9], 0
mov rdi, rcx
mov r8d, dword [rsp + 0x74]
mov r9, qword [rsp + 0xd0]
mov esi, 0
mov ecx, dword [rsp + 0xe8]
nop dword [rax]
jmp 0x566791
test eax, eax
mov ecx, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x74]
ja 0x566507
mov rdi, qword [rsp + 0x78]
test rdi, rdi
mov eax, 0
jmp 0x566791
mov rdx, qword [rsp + 0x88]
mov rdi, rdx
mov rdx, qword [rdx]
mov rbx, qword [rdx + 0x50]
mov qword [rsp + 0x90], rbx
test ecx, ecx
jbe 0x566573
cmp r8d, 2
je 0x56656c
lea rcx, [rbx + 8]
mov rax, qword [rsp + 0xc8]
mov rbx, rcx
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0xe8]
mov edx, eax
sub eax, ecx
test eax, eax
jge 0x566560
cmp eax, 0x80000000
jne 0x56655c
mov eax, 0x7fffffff
jmp 0x566560
mov eax, ecx
sub eax, edx
mov edx, 1
xor ebx, ebx
jmp 0x5669d5
xor edx, edx
jmp 0x566955
xor edx, edx
mov dword [rsp + 0x58], edx
shl edx, 2
add edx, 8
add rdx, rbx
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0xc8]
mov rbx, rdx
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0x44]
nop
cmp eax, ecx
ja 0x5668f9
cmp eax, 2
jb 0x5668f9
movzx esi, byte [rsp + 0x2d]
test sil, sil
je 0x5665ff
mov edi, dword [rsp + 0xe8]
cmp eax, edi
je 0x5665ff
jae 0x5665e5
mov r8d, dword [rsp + 0x74]
cmp r8d, 2
je 0x5665ff
mov r9, qword [rsp + 0x78]
test r9, r9
mov eax, 0
jmp 0x566784
mov r8, qword [rsp + 0x78]
test r8, r8
mov r9, r8
mov eax, 0
mov r8d, dword [rsp + 0x74]
jmp 0x566784
mov rcx, qword [rsp + 0xe0]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
jne 0x5668ef
mov ecx, dword [rsp + 0x48]
lea edx, [rcx - 1]
mov esi, dword [rsp + 0x58]
cmp esi, edx
jae 0x566664
shl ecx, 2
lea esi, [rcx + 4]
mov rbx, qword [rsp + 0x90]
add rsi, rbx
mov rdi, qword [rsp + 0x98]
test byte [rdi], al
test byte [rsi], al
cmp rsi, rdi
je 0x56666c
mov esi, dword [rsi]
mov dword [rdi], esi
jmp 0x56666c
mov rbx, qword [rsp + 0x90]
add rbx, 4
mov rax, qword [rsp + 0xc8]
mov ecx, edx
call sym.modernc.org_sqlite_lib._sqlite3Put4byte
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rdx]
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
call sym.modernc.org_sqlite_lib._btreeGetHasContent
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rdx]
test eax, eax
sete dl
movzx edx, dl
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov esi, edx
call sym.modernc.org_sqlite_lib._btreeGetUnusedPage
test eax, eax
je 0x5666e8
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov rdi, qword [rsp + 0xd8]
jmp 0x56676c
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
nop
call sym.modernc.org_sqlite_lib._sqlite3PagerWrite
test eax, eax
je 0x56675c
mov rcx, qword [rsp + 0xd8]
mov rsi, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x566726
mov rcx, qword [rsp + 0x78]
test rcx, rcx
jmp 0x566750
mov dword [rsp + 0x68], eax
mov rbx, qword [rcx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov eax, dword [rsp + 0x68]
mov rsi, qword [rsp + 0xd8]
mov rdi, rsi
mov qword [rsi], 0
jmp 0x56676c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov rdi, qword [rsp + 0xd8]
mov edi, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x74]
mov r9, rcx
mov esi, 0
mov ecx, dword [rsp + 0x44]
mov ecx, edi
mov rdi, r9
mov r9, qword [rsp + 0xd0]
mov rcx, rdi
mov rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r10, qword [rsp + 0xd8]
mov edx, esi
mov rsi, qword [rsp + 0xe0]
nop
je 0x565f4a
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x2e], dl
mov rbx, qword [rcx + 0x70]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x64]
movzx edx, byte [rsp + 0x2e]
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r10, qword [rsp + 0xd8]
nop
jmp 0x565f4a
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rcx, qword [rsp + 0x78]
nop
jmp 0x565ec3
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
test rcx, rcx
je 0x56684f
mov dword [rsp + 0x70], eax
mov rbx, qword [rcx + 0x70]
nop
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3PagerUnrefNotNull
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rcx, qword [rsp + 0x78]
nop
jmp 0x565ec3
mov rdi, qword [0x00a30e10]
add rdi, 0x6676
nop
mov rax, qword [rsp + 0xc8]
mov ebx, 0xb
mov ecx, 0x12d2e
call sym.modernc.org_sqlite_lib._sqlite3ReportError
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rdi, qword [0x00a30e10]
add rdi, 0x6676
nop
mov rax, qword [rsp + 0xc8]
mov ebx, 0xb
mov ecx, 0x12d0c
call sym.modernc.org_sqlite_lib._sqlite3ReportError
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rsi, qword [rsp + 0x88]
mov qword [rsi], 0
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov eax, esi
jmp 0x565ec1
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov rdi, qword [0x00a30e10]
add rdi, 0x6676
nop
mov rax, qword [rsp + 0xc8]
mov ebx, 0xb
mov ecx, 0x12d6f
call sym.modernc.org_sqlite_lib._sqlite3ReportError
mov rcx, qword [rsp + 0x78]
jmp 0x565ec3
mov edx, dword [rsp + 0x58]
inc edx
mov eax, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2d]
mov rdi, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x74]
mov r9, qword [rsp + 0xd0]
cmp eax, edx
jbe 0x5669b3
mov dword [rsp + 0x58], edx
shl edx, 2
add edx, 8
add rdx, rbx
mov rax, qword [rsp + 0xc8]
mov rbx, rdx
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0xe8]
nop dword [rax]
cmp eax, ecx
ja 0x566929
mov eax, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2d]
mov rdi, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x74]
mov r9, qword [rsp + 0xd0]
mov edx, dword [rsp + 0x58]
jmp 0x566575
xor edx, edx
jmp 0x566575
mov edx, dword [rsp + 0x58]
lea esi, [rdx + 1]
mov edi, dword [rsp + 0x54]
cmp edi, eax
cmovg edi, eax
mov ebx, dword [rsp + 0x60]
cmovg ebx, edx
mov edx, esi
mov eax, edi
mov esi, dword [rsp + 0x48]
cmp esi, edx
jbe 0x566a2b
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x60], ebx
shl edx, 2
add edx, 8
mov rsi, qword [rsp + 0x90]
lea rbx, [rdx + rsi]
mov rax, qword [rsp + 0xc8]
call sym.modernc.org_sqlite_lib._sqlite3Get4byte
mov ecx, dword [rsp + 0xe8]
mov edx, eax
sub eax, ecx
test eax, eax
jge 0x5669ba
cmp eax, 0x80000000
jne 0x566a25
mov eax, 0x7fffffff
jmp 0x5669ba
mov eax, ecx
sub eax, edx
jmp 0x5669ba
mov eax, esi
movzx esi, byte [rsp + 0x2d]
mov rdi, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x74]
mov r9, qword [rsp + 0xd0]
mov edx, ebx
mov rbx, qword [rsp + 0x90]
jmp 0x566575
call sym.runtime.panicSlice3AlenU
nop
nop dword [rax]
call sym.runtime.deferreturn
mov eax, dword [rsp + 0x38]
add rsp, 0xb8
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], esi
mov byte [rsp + 0x2c], r8b
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov esi, dword [rsp + 0x28]
movzx r8d, byte [rsp + 0x2c]
jmp sym.modernc.org_sqlite_lib._allocateBtreePage