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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rbp, qword [rcx + 0x30]
mov r13, qword [rcx + 0x3c]
mov qword [rsp + 0x120], rcx
mov edi, edx
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x138], r9
mov qword [rsp + 0xa8], 0
call sym.checkProgress
mov rax, qword [rsp + 0x120]
mov r10d, dword [rax + 0x1c]
test r10d, r10d
je 0x1400813a0
mov rax, qword [rsp + 0x120]
mov r14, qword [rax]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x140081040
xor r15d, r15d
mov eax, r15d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x120]
mov edx, edi
call sym.checkRef
test eax, eax
jne 0x140081022
mov rax, qword [rsp + 0x120]
xor r9d, r9d
mov edx, edi
mov rcx, r14
lea rbx, str.Tree__u_page__u:
lea r8, [rsp + 0xa8]
mov qword [rax + 0x30], rbx
mov dword [rax + 0x3c], edi
call sym.btreeGetPage
mov r15d, eax
test eax, eax
jne 0x1400813c0
mov r12, qword [rsp + 0xa8]
movzx eax, byte [r12]
mov byte [r12], 0
mov rcx, r12
mov byte [rsp + 0x40], al
call sym.btreeInitPage
test eax, eax
jne 0x1400814a8
mov rcx, r12
call sym.btreeComputeFreeSpace
mov r10d, eax
test eax, eax
jne 0x140081820
movzx edx, byte [r12 + 9]
mov rax, qword [rsp + 0x120]
lea rbx, str.Tree__u_page__u_cell__u:
mov r11, qword [r12 + 0x50]
mov qword [rax + 0x30], rbx
movzx ebx, dl
add edx, 0xc
movzx eax, byte [r11 + rbx + 5]
movzx ecx, byte [r11 + rbx + 6]
mov esi, edx
mov qword [rsp + 0x88], rbx
movzx edx, byte [r11 + rbx + 4]
shl eax, 8
or eax, ecx
sub eax, 1
movzx eax, ax
mov dword [rsp + 0x90], eax
add eax, 1
mov dword [rsp + 0x38], eax
movzx eax, byte [r12 + 8]
mov ecx, eax
shl eax, 2
sub esi, eax
movzx eax, byte [r11 + rbx + 3]
mov dword [rsp + 0x94], esi
shl eax, 8
or eax, edx
sub eax, 1
mov dword [rsp + 0x80], eax
lea eax, [rsi + rax*2]
cdqe
add rax, r11
mov r15, rax
test cl, cl
je 0x140081408
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x5c], 0xffffffff
mov rsi, qword [rax + 0x68]
mov dword [rsi], 0
mov eax, dword [rsp + 0x80]
mov edx, dword [rsp + 0x30]
mov ecx, 1
mov r9, qword [rsp + 0x138]
mov ebx, eax
sub edx, 4
cmp eax, 0xffffffff
je 0x140081518
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x84], r10d
mov dword [rsp + 0x128], edi
mov rdi, qword [rsp + 0x120]
mov qword [rsp + 0x70], r13
mov r13, r9
mov qword [rsp + 0x78], rbp
mov rbp, r15
mov qword [rsp + 0x60], r14
mov r14d, edx
mov ecx, dword [rdi + 0x1c]
test ecx, ecx
je 0x140081339
movzx esi, word [rbp]
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x40], ebx
sub rbp, 2
rol si, 8
movzx r15d, si
cmp r15d, eax
jb 0x140081478
cmp r14d, r15d
jb 0x140081478
mov rax, qword [rsp + 0x50]
movzx esi, si
lea r8, [rsp + 0xb0]
mov rcx, r12
add rsi, rax
mov rdx, rsi
call qword [r12 + pe_nt_image_headers64]
movzx eax, word [rsp + 0xc6]
add eax, r15d
cmp dword [rsp + 0x30], eax
jb 0x140081790
cmp byte [r12 + 1], 0
je 0x140081285
mov r9d, dword [rsp + 0x58]
mov r8, qword [rsp + 0xb0]
test r9d, r9d
je 0x140081780
cmp r13, r8
setl al
test al, al
jne 0x1400817c5
mov qword [rsp + 0x138], r8
mov r13, r8
mov dword [rsp + 0x58], 0
mov eax, dword [rsp + 0xc0]
movzx edx, word [rsp + 0xc4]
cmp edx, eax
jae 0x1400812d4
sub eax, edx
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
lea eax, [rax + rdx - 5]
xor edx, edx
div r14d
movzx edx, word [rsp + 0xc6]
mov edx, dword [rsi + rdx - 4]
bswap edx
cmp byte [rcx + 0x21], 0
jne 0x1400817e8
mov r8d, edx
mov r9d, eax
xor edx, edx
mov rcx, rdi
call sym.checkList
cmp byte [r12 + 8], 0
jne 0x1400814c8
mov rax, qword [rsp + 0x60]
mov esi, dword [rsi]
cmp byte [rax + 0x21], 0
bswap esi
jne 0x1400817a8
mov edx, esi
mov r9, r13
lea r8, [rsp + 0x138]
mov rcx, rdi
call sym.checkTreePage
mov esi, eax
mov eax, dword [rsp + 0x5c]
cmp esi, eax
jne 0x1400814f0
mov dword [rsp + 0x58], 0
mov r13, qword [rsp + 0x138]
nop word cs:[rax + rax]
sub ebx, 1
jae 0x1400811dc
mov rax, qword [rsp + 0x130]
mov r9, r13
mov ebx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
add ebx, 1
mov rbp, qword [rsp + 0x78]
mov r11, qword [rsp + 0x50]
mov qword [rax], r9
mov rax, qword [rsp + 0x120]
mov r13, qword [rsp + 0x70]
mov r15d, ebx
mov r10d, dword [rsp + 0x84]
mov edi, dword [rsp + 0x128]
mov qword [rax + 0x30], 0
test ecx, ecx
jne 0x14008153a
movzx eax, byte [rsp + 0x40]
mov byte [r12], al
jmp 0x1400813f8
xor r15d, r15d
mov rax, qword [rsp + 0x120]
mov qword [rax + 0x30], rbp
mov qword [rax + 0x3c], r13
jmp 0x140081025
mov rcx, qword [rsp + 0x120]
mov r8d, eax
lea rdx, str.unable_to_get_the_page._error_code_d
call sym.checkAppendMsg
cmp r15d, 0xc0a
je 0x140081460
mov r12, qword [rsp + 0xa8]
test r12, r12
je 0x1400813a0
xor r15d, r15d
nop dword [rax]
mov rcx, qword [r12 + 0x70]
call sym.sqlite3PagerUnrefNotNull
jmp 0x1400813a3
mov esi, dword [r11 + rbx + 8]
cmp byte [r14 + 0x21], 0
bswap esi
jne 0x14008183c
mov r9, qword [rsp + 0x138]
mov edx, esi
xor esi, esi
mov rcx, qword [rsp + 0x120]
lea r8, [rsp + 0x138]
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x48], r11
call sym.checkTreePage
mov r11, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], eax
jmp 0x140081179
mov rax, qword [rsp + 0x120]
mov dword [rax + 0x24], 7
jmp 0x1400813e4
mov dword [rsp + 0x20], r14d
mov r9d, dword [rsp + 0x38]
mov r8d, r15d
mov rcx, rdi
lea rdx, str.Offset__u_out_of_range__u.._u
call sym.checkAppendMsg
mov dword [rsp + 0x48], 0
jmp 0x140081330
mov rcx, qword [rsp + 0x120]
mov r8d, eax
lea rdx, str.btreeInitPage___returns_error_code__d
call sym.checkAppendMsg
jmp 0x1400813f8
movzx eax, word [rsp + 0xc6]
mov r10d, r15d
mov rcx, qword [rsp + 0x68]
shl r10d, 0x10
lea edx, [r15 + rax - 1]
or edx, r10d
call sym.btreeHeapInsert
jmp 0x140081330
lea rdx, str.Child_page_depth_differs
mov rcx, rdi
call sym.checkAppendMsg
mov dword [rsp + 0x58], 0
mov r13, qword [rsp + 0x138]
mov dword [rsp + 0x5c], esi
jmp 0x140081330
mov rax, qword [rsp + 0x130]
mov qword [rax], r9
mov rax, qword [rsp + 0x120]
mov qword [rax + 0x30], 0
mov eax, dword [rsp + 0x5c]
lea ebx, [rax + 1]
mov rax, qword [rsp + 0x120]
mov edx, dword [rax + 0x1c]
test edx, edx
jle 0x140081770
cmp byte [r12 + 8], 0
jne 0x1400815ea
mov rsi, qword [rax + 0x68]
mov eax, dword [rsp + 0x80]
mov dword [rsi], 0
cmp eax, 0xffffffff
je 0x1400815ea
movsxd r14, dword [rsp + 0x94]
mov dword [rsp + 0x38], r10d
movsxd r15, eax
mov dword [rsp + 0x128], edi
add r14, r11
mov dword [rsp + 0x40], ebx
mov rbx, r15
mov r15, r14
mov r14, r11
nop word cs:[rax + rax]
movzx edx, word [r15 + rbx*2]
mov rcx, r12
sub rbx, 1
rol dx, 8
movzx edi, dx
movzx edx, dx
add rdx, r14
call qword [r12 + 0x78]
mov rcx, rsi
movzx eax, ax
lea edx, [rdi + rax - 1]
shl edi, 0x10
or edx, edi
call sym.btreeHeapInsert
cmp ebx, 0xffffffff
jne 0x1400815a0
mov r10d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x128]
mov r11, r14
mov ebx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
mov r14d, r10d
movzx eax, byte [r11 + rdx + 1]
movzx edx, byte [r11 + rdx + 2]
shl eax, 8
or eax, edx
je 0x14008164a
nop dword [rax + rax]
movsxd r15, eax
movzx edx, byte [r11 + r15 + 2]
movzx ecx, byte [r11 + r15 + 3]
shl edx, 8
or edx, ecx
mov rcx, rsi
lea edx, [rax + rdx - 1]
shl eax, 0x10
or edx, eax
call sym.btreeHeapInsert
movzx eax, byte [r11 + r15]
movzx edx, byte [r11 + r15 + 1]
shl eax, 8
or eax, edx
jne 0x140081610
mov r10d, r14d
mov r15d, dword [rsp + 0x30]
mov eax, dword [rsi]
mov r9d, dword [rsp + 0x90]
sub r15d, 1
test eax, eax
je 0x1400818ca
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r11
nop dword [rax]
lea rax, [rsi + rax*4]
mov edx, r9d
mov r9d, dword [rsi + 4]
mov ecx, dword [rax]
mov dword [rsi + 4], ecx
mov dword [rax], 0xffffffff
mov eax, dword [rsi]
sub eax, 1
mov dword [rsi], eax
cmp eax, 1
jbe 0x1400816f7
mov r13d, dword [rsi + 4]
mov r8d, 1
mov eax, 2
jmp 0x1400816c9
mov dword [rax], ecx
lea eax, [r11 + r11]
mov dword [rbp], r13d
cmp dword [rsi], eax
jb 0x1400816f7
mov r8d, r11d
mov ecx, eax
lea r12, [rsi + rcx*4]
lea ecx, [rax + 1]
lea rbp, [rsi + rcx*4]
mov r11, rcx
mov r14d, dword [r12]
mov ecx, dword [rbp]
cmp ecx, r14d
jb 0x1400816ee
mov ecx, r14d
mov rbp, r12
mov r11d, eax
lea rax, [rsi + r8*4]
cmp r13d, ecx
jae 0x1400816b8
mov r8d, r9d
movzx edx, dx
mov ecx, r10d
shr r8d, 0x10
cmp edx, r8d
jae 0x14008187b
lea ecx, [rcx + r8 - 1]
mov eax, dword [rsi]
sub ecx, edx
mov r10d, ecx
test eax, eax
jne 0x140081680
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r14d, ecx
movzx eax, r9w
mov rbp, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
lea edx, [r14 + r15]
sub edx, eax
mov r8d, edx
mov rax, qword [rsp + 0x88]
movzx r9d, byte [r11 + rax + 7]
cmp r9d, r8d
je 0x140081770
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x120]
lea rdx, str.Fragmentation_of__u_bytes_reported_as__u_on_page__u
call sym.checkAppendMsg
mov r15d, ebx
jmp 0x1400813f8
cmp r13, r8
setle al
jmp 0x14008126a
lea rdx, str.Extends_off_end_of_page
mov rcx, rdi
call sym.checkAppendMsg
jmp 0x140081494
mov r9d, dword [rsp + 0x128]
mov r8d, 5
mov edx, esi
mov rcx, rdi
call sym.checkPtrmap
jmp 0x1400812f3
lea rdx, str.Rowid__lld_out_of_order
mov rcx, rdi
call sym.checkAppendMsg
mov r8, qword [rsp + 0xb0]
jmp 0x140081272
mov r8d, 3
mov r9d, dword [rsp + 0x128]
mov rcx, rdi
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x98], edx
call sym.checkPtrmap
mov eax, dword [rsp + 0x9c]
mov edx, dword [rsp + 0x98]
jmp 0x1400812c4
mov rcx, qword [rsp + 0x120]
mov r8d, eax
lea rdx, str.free_space_corruption
call sym.checkAppendMsg
jmp 0x1400813f8
mov r9d, edi
mov r8d, 5
mov edx, esi
mov dword [rsp + 0x50], r10d
mov rax, qword [rsp + 0x120]
lea rbx, str.Tree__u_page__u_right_child:
mov qword [rsp + 0x48], r11
mov qword [rax + 0x30], rbx
mov rcx, rax
call sym.checkPtrmap
mov r10d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
jmp 0x14008141a
mov r11, qword [rsp + 0x48]
mov r14d, ecx
mov r12, qword [rsp + 0x30]
mov r9d, edi
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov dword [rsp + 0x30], edx
lea rdx, str.Multiple_uses_for_byte__u_of_page__u
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x38], r11
call sym.checkAppendMsg
mov eax, dword [rsi]
mov r11, qword [rsp + 0x38]
test eax, eax
mov eax, dword [rsp + 0x30]
jne 0x140081770
jmp 0x14008173c
mov eax, dword [rsp + 0x90]
sub r15d, eax
mov r8d, r15d
jmp 0x140081745