Function at 0x14017baf0
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, 0xc8
mov rax, qword [rcx + 0x30]
mov rbp, qword [rcx + 0x3c]
mov rbx, rcx
mov qword [rsp + 0x128], r9
mov edi, edx
mov r13, r8
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x30], rax
call dbg.checkProgress
mov r10d, dword [rbx + 0x1c]
test r10d, r10d
je 0x14017bf00
test edi, edi
jne 0x14017bb60
xor r12d, r12d
mov eax, r12d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rbx]
mov edx, edi
mov rcx, rbx
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x48], eax
call sym.checkRef
test eax, eax
jne 0x14017bb42
lea rax, str.Tree__u_page__u:
mov dword [rbx + 0x3c], edi
xor r9d, r9d
mov edx, edi
mov qword [rbx + 0x30], rax
lea r8, [rsp + 0x98]
mov rcx, r14
call sym.btreeGetPage
mov r12d, eax
test eax, eax
jne 0x14017bee0
mov rcx, qword [rsp + 0x98]
movzx eax, byte [rcx]
mov byte [rcx], 0
mov byte [rsp + 0x38], al
call dbg.btreeInitPage
test eax, eax
jne 0x14017bfb0
mov rcx, qword [rsp + 0x98]
call dbg.btreeComputeFreeSpace
mov dword [rsp + 0x7c], eax
test eax, eax
jne 0x14017c2c8
mov rax, qword [rsp + 0x98]
lea rcx, str.Tree__u_page__u_cell__u:
mov rsi, qword [rax + 0x50]
movzx r10d, byte [rax + 9]
mov qword [rbx + 0x30], rcx
movzx r15d, byte [rsi + r10 + 5]
movzx ecx, byte [rsi + r10 + 6]
mov qword [rsp + 0x40], rsi
movzx r8d, byte [rsi + r10 + 4]
mov qword [rsp + 0x70], r10
shl r15d, 8
or r15d, ecx
sub r15d, 1
movzx ecx, r15w
mov dword [rsp + 0x88], ecx
add ecx, 1
mov dword [rsp + 0x78], ecx
movzx ecx, byte [rsi + r10 + 3]
lea esi, [r10 + 0xc]
mov dword [rsp + 0x68], esi
shl ecx, 8
or ecx, r8d
movzx r8d, byte [rax + 8]
test r8b, r8b
jne 0x14017bf28
lea esi, [rcx - 1]
cmp byte [rax + 1], 0
mov dword [rsp + 0x6c], esi
lea edx, [rsi + rsi]
jne 0x14017bc6d
movsxd rcx, ecx
add qword [rbx + 0x78], rcx
mov eax, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add eax, edx
cdqe
add rax, qword [rsp + 0x40]
cmp byte [r14 + 0x21], 0
mov r15, rax
mov rax, qword [rsp + 0x40]
mov r12d, dword [rax + rsi + 8]
bswap r12d
jne 0x14017c2e7
mov r9, qword [rsp + 0x128]
mov edx, r12d
mov rcx, rbx
xor esi, esi
lea r8, [rsp + 0x128]
call dbg.checkTreePage
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x4c], eax
mov ecx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x50], 1
sub ecx, 4
mov r12d, eax
mov edx, ecx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x58], rcx
cmp eax, 0xffffffff
je 0x14017bff4
mov qword [rsp + 0x80], rbp
mov dword [rsp + 0x118], edi
mov qword [rsp + 0x120], r13
mov r13, rbx
mov rbx, r14
mov r14d, dword [rsp + 0x78]
mov qword [rsp + 0x60], rsi
mov esi, edx
mov r8d, dword [r13 + 0x1c]
test r8d, r8d
je 0x14017be79
movzx ebp, word [r15]
mov dword [r13 + 0x40], r12d
sub r15, 2
rol bp, 8
movzx edi, bp
cmp r14d, edi
ja 0x14017bf80
cmp edi, esi
ja 0x14017bf80
mov rax, qword [rsp + 0x98]
movzx ebp, bp
add rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rdx, rbp
mov rcx, rax
call qword [rax + pe_nt_image_headers64]
movzx eax, word [rsp + 0xb6]
add eax, edi
cmp eax, dword [rsp + 0x48]
ja 0x14017c238
mov rax, qword [rsp + 0x98]
cmp byte [rax + 1], 0
je 0x14017bdca
mov r9d, dword [rsp + 0x54]
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x128]
test r9d, r9d
je 0x14017c228
cmp r8, rax
setg al
test al, al
jne 0x14017c273
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0xb0]
movzx edx, word [rsp + 0xb4]
cmp eax, edx
jbe 0x14017be13
mov ecx, dword [rsp + 0x48]
sub eax, edx
xor edx, edx
lea eax, [rax + rcx - 5]
div esi
movzx edx, word [rsp + 0xb6]
mov edx, dword [rbp + rdx - 4]
bswap edx
cmp byte [rbx + 0x21], 0
jne 0x14017c290
mov r8d, edx
mov r9d, eax
xor edx, edx
mov rcx, r13
call dbg.checkList
mov rax, qword [rsp + 0x98]
cmp byte [rax + 8], 0
jne 0x14017bfd0
mov edx, dword [rbp]
cmp byte [rbx + 0x21], 0
bswap edx
jne 0x14017c250
mov r9, qword [rsp + 0x128]
lea r8, [rsp + 0x128]
mov rcx, r13
call dbg.checkTreePage
mov dword [rsp + 0x54], 0
mov ebp, eax
cmp eax, dword [rsp + 0x4c]
je 0x14017be6b
lea rdx, str.Child_page_depth_differs
mov rcx, r13
call dbg.checkAppendMsg
mov dword [rsp + 0x4c], ebp
sub r12d, 1
jae 0x14017bd1a
mov edx, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x128]
mov rbx, r13
mov ecx, dword [rsp + 0x50]
mov r13, qword [rsp + 0x120]
add edx, 1
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x80]
mov qword [r13], rax
mov edi, dword [rsp + 0x118]
mov r12d, edx
mov qword [rbx + 0x30], 0
mov rax, qword [rsp + 0x98]
test ecx, ecx
jne 0x14017c017
movzx edi, byte [rsp + 0x38]
mov byte [rax], dil
mov rcx, qword [rax + 0x70]
call dbg.sqlite3PagerUnrefNotNull
jmp 0x14017bf10
mov r8d, eax
lea rdx, str.unable_to_get_the_page._error_code_d
mov rcx, rbx
call dbg.checkAppendMsg
cmp r12d, 0xc0a
je 0x14017bf70
nop dword [rax + rax]
mov rax, qword [rsp + 0x98]
xor r12d, r12d
test rax, rax
jne 0x14017bed2
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x3c], rbp
mov qword [rbx + 0x30], rax
jmp 0x14017bb45
movsxd rax, ecx
shl r8d, 2
add qword [rbx + 0x78], rax
lea esi, [rcx - 1]
sub dword [rsp + 0x68], r8d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x6c], esi
lea eax, [rax + rsi*2]
mov rsi, qword [rbx + 0x68]
mov dword [rsp + 0x54], 1
cdqe
add rax, qword [rsp + 0x40]
mov dword [rsp + 0x4c], 0xffffffff
mov dword [rsi], 0
mov r15, rax
jmp 0x14017bcc3
mov dword [rbx + 0x24], 7
jmp 0x14017bf00
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov r8d, edi
mov rcx, r13
lea rdx, str.Offset__u_out_of_range__u.._u
call dbg.checkAppendMsg
mov dword [rsp + 0x50], 0
jmp 0x14017be6f
mov r8d, eax
lea rdx, str.btreeInitPage___returns_error_code__d
mov rcx, rbx
call dbg.checkAppendMsg
mov rax, qword [rsp + 0x98]
jmp 0x14017bf0b
movzx eax, word [rsp + 0xb6]
mov rcx, qword [rsp + 0x60]
lea edx, [rdi + rax - 1]
shl edi, 0x10
or edx, edi
call dbg.btreeHeapInsert
mov ebp, dword [rsp + 0x4c]
jmp 0x14017be6b
mov rax, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x4c]
mov qword [r13], rax
mov rax, qword [rsp + 0x98]
lea edx, [rcx + 1]
mov qword [rbx + 0x30], 0
mov r12d, edx
mov edx, dword [rbx + 0x1c]
test edx, edx
jle 0x14017bf0b
cmp byte [rax + 8], 0
jne 0x14017c0a7
mov rsi, qword [rbx + 0x68]
mov ecx, dword [rsp + 0x6c]
mov dword [rsi], 0
cmp ecx, 0xffffffff
je 0x14017c0a7
movsxd r13, dword [rsp + 0x68]
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x110], rbx
movsxd r15, ecx
add r13, r14
jmp 0x14017c068
mov rax, qword [rsp + 0x98]
movzx edx, word [r13 + r15*2]
mov rcx, rax
sub r15, 1
rol dx, 8
movzx ebx, dx
movzx edx, dx
add rdx, r14
call qword [rax + 0x78]
mov rcx, rsi
movzx eax, ax
lea edx, [rbx + rax - 1]
shl ebx, 0x10
or edx, ebx
call dbg.btreeHeapInsert
cmp r15d, 0xffffffff
jne 0x14017c060
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x40]
movzx r11d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx + 2]
shl r11d, 8
or r11d, eax
je 0x14017c121
nop word [rax + rax]
lea eax, [r11 + 2]
lea edx, [r11 + 3]
mov rcx, rsi
cdqe
movsxd rdx, edx
movzx eax, byte [r13 + rax]
movzx edx, byte [r13 + rdx]
shl eax, 8
or eax, edx
lea edx, [r11 + rax - 1]
mov eax, r11d
shl eax, 0x10
or edx, eax
call dbg.btreeHeapInsert
movsxd rax, r11d
add r11d, 1
movzx eax, byte [r13 + rax]
movsxd r11, r11d
movzx r11d, byte [r13 + r11]
shl eax, 8
or r11d, eax
jne 0x14017c0d0
mov eax, dword [rsi]
mov r15d, dword [rsp + 0x88]
test eax, eax
je 0x14017c350
mov qword [rsp + 0x38], rbp
mov r14d, dword [rsp + 0x7c]
nop dword [rax]
lea rax, [rsi + rax*4]
mov r13d, r15d
mov r15d, dword [rsi + 4]
mov edx, dword [rax]
mov dword [rsi + 4], edx
mov dword [rax], 0xffffffff
mov eax, dword [rsi]
sub eax, 1
mov dword [rsi], eax
cmp eax, 1
jbe 0x14017c1b2
mov ebp, dword [rsi + 4]
mov r8d, 1
mov eax, 2
jmp 0x14017c187
mov dword [rax], edx
lea eax, [rcx + rcx]
mov dword [r9], ebp
cmp eax, dword [rsi]
ja 0x14017c1b2
mov r8d, ecx
mov edx, eax
lea r10, [rsi + rdx*4]
lea edx, [rax + 1]
lea r9, [rsi + rdx*4]
mov rcx, rdx
mov r11d, dword [r10]
mov edx, dword [r9]
cmp r11d, edx
ja 0x14017c1aa
mov edx, r11d
mov r9, r10
mov ecx, eax
lea rax, [rsi + r8*4]
cmp ebp, edx
jae 0x14017c178
mov r8d, r15d
movzx r13d, r13w
shr r8d, 0x10
cmp r13d, r8d
jae 0x14017c30b
lea edx, [r14 + r8 - 1]
mov eax, dword [rsi]
sub edx, r13d
mov r14d, edx
test eax, eax
jne 0x14017c140
mov rbp, qword [rsp + 0x38]
movzx r15d, r15w
mov eax, dword [rsp + 0x48]
lea r8d, [rdx + rax - 1]
sub r8d, r15d
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
movzx r9d, byte [rax + rsi + 7]
cmp r9d, r8d
je 0x14017c218
mov dword [rsp + 0x20], edi
lea rdx, str.Fragmentation_of__u_bytes_reported_as__u_on_page__u
mov rcx, rbx
call dbg.checkAppendMsg
mov rax, qword [rsp + 0x98]
jmp 0x14017bf0b
cmp r8, rax
setge al
jmp 0x14017bdb2
lea rdx, str.Extends_off_end_of_page
mov rcx, r13
call dbg.checkAppendMsg
jmp 0x14017bf99
mov r9d, dword [rsp + 0x118]
mov r8d, 5
mov rcx, r13
mov dword [rsp + 0x54], edx
call dbg.checkPtrmap
mov edx, dword [rsp + 0x54]
jmp 0x14017be34
lea rdx, str.Rowid__lld_out_of_order
mov rcx, r13
call dbg.checkAppendMsg
mov r8, qword [rsp + 0xa0]
jmp 0x14017bdba
mov r9d, dword [rsp + 0x118]
mov r8d, 3
mov rcx, r13
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x78], edx
call dbg.checkPtrmap
mov eax, dword [rsp + 0x8c]
mov edx, dword [rsp + 0x78]
jmp 0x14017be03
mov r8d, eax
lea rdx, str.free_space_corruption
mov rcx, rbx
call dbg.checkAppendMsg
mov rax, qword [rsp + 0x98]
jmp 0x14017bf0b
lea rax, str.Tree__u_page__u_right_child:
mov r9d, edi
mov edx, r12d
mov rcx, rbx
mov qword [rbx + 0x30], rax
mov r8d, 5
call dbg.checkPtrmap
jmp 0x14017bc9a
mov r9d, edi
mov rcx, rbx
mov dword [rsp + 0x7c], r14d
mov rbp, qword [rsp + 0x38]
lea rdx, str.Multiple_uses_for_byte__u_of_page__u
call dbg.checkAppendMsg
mov eax, dword [rsi]
test eax, eax
jne 0x14017c218
mov eax, dword [rsp + 0x7c]
mov esi, dword [rsp + 0x48]
lea r8d, [rax + rsi - 1]
sub r8d, r13d
jmp 0x14017c1f0
xor edx, edx
jmp 0x14017c1e4