Function at 0x14018dbb0
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 rbx, rcx
mov edi, edx
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x138], r9
mov qword [rsp + 0xa8], 0
call dbg.checkProgress
mov r15d, dword [rbx + 0x1c]
test r15d, r15d
je 0x14018df5f
mov r14, qword [rbx]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x34], eax
test edi, edi
jne 0x14018dc30
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 edx, edi
mov rcx, rbx
call dbg.checkRef
mov esi, eax
test eax, eax
jne 0x14018dc0d
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 + 0xa8]
mov rcx, r14
call sym.btreeGetPage
mov r15d, eax
test eax, eax
jne 0x14018df70
mov r12, qword [rsp + 0xa8]
movzx eax, byte [r12]
mov byte [r12], 0
mov rcx, r12
mov byte [rsp + 0x40], al
call dbg.btreeInitPage
mov esi, eax
test eax, eax
jne 0x14018e048
mov rcx, r12
call dbg.btreeComputeFreeSpace
mov r10d, eax
test eax, eax
jne 0x14018e3a0
movzx esi, byte [r12 + 9]
mov r11, qword [r12 + 0x50]
lea rax, str.Tree__u_page__u_cell__u:
mov qword [rbx + 0x30], rax
movzx eax, byte [r11 + rsi + 5]
movzx ecx, byte [r11 + rsi + 6]
mov rdx, rsi
mov qword [rsp + 0x88], rsi
add edx, 0xc
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 edx, eax
movzx eax, byte [r11 + rsi + 3]
mov r9d, edx
mov dword [rsp + 0x94], edx
movzx edx, byte [r11 + rsi + 4]
shl eax, 8
or eax, edx
sub eax, 1
mov dword [rsp + 0x70], eax
lea eax, [r9 + rax*2]
cdqe
add rax, r11
mov r15, rax
test cl, cl
je 0x14018dfb0
mov rsi, qword [rbx + 0x68]
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x5c], 0xffffffff
mov dword [rsi], 0
mov edx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x70]
mov ecx, 1
mov r9, qword [rsp + 0x138]
sub edx, 4
cmp eax, 0xffffffff
je 0x14018e0b8
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x78], r13
mov r13, r9
mov qword [rsp + 0x80], rbp
mov rbp, r15
mov qword [rsp + 0x60], r14
mov r14d, edx
mov dword [rsp + 0x128], edi
mov edi, eax
mov ecx, dword [rbx + 0x1c]
test ecx, ecx
je 0x14018def9
movzx esi, word [rbp]
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x40], edi
sub rbp, 2
rol si, 8
movzx r15d, si
cmp r15d, eax
jb 0x14018e018
cmp r14d, r15d
jb 0x14018e018
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 + 0x34], eax
jb 0x14018e310
cmp byte [r12 + 1], 0
je 0x14018de50
mov r9d, dword [rsp + 0x58]
mov r8, qword [rsp + 0xb0]
test r9d, r9d
je 0x14018e300
cmp r13, r8
setl al
test al, al
jne 0x14018e345
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 0x14018de9f
sub eax, edx
mov edx, dword [rsp + 0x34]
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 0x14018e368
mov r8d, edx
mov r9d, eax
xor edx, edx
mov rcx, rbx
call dbg.checkList
cmp byte [r12 + 8], 0
jne 0x14018e060
mov rax, qword [rsp + 0x60]
mov esi, dword [rsi]
cmp byte [rax + 0x21], 0
bswap esi
jne 0x14018e328
mov edx, esi
mov r9, r13
lea r8, [rsp + 0x138]
mov rcx, rbx
call dbg.checkTreePage
mov esi, eax
cmp dword [rsp + 0x5c], eax
jne 0x14018e090
mov dword [rsp + 0x58], 0
mov r13, qword [rsp + 0x138]
nop
sub edi, 1
jae 0x14018dda7
mov rax, qword [rsp + 0x130]
mov r9, r13
mov ecx, dword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x74]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x80]
mov qword [rax], r9
mov eax, dword [rsp + 0x5c]
mov qword [rbx + 0x30], 0
mov r13, qword [rsp + 0x78]
mov edi, dword [rsp + 0x128]
add eax, 1
mov dword [rsp + 0x50], eax
mov r15d, eax
test ecx, ecx
jne 0x14018e0d6
movzx eax, byte [rsp + 0x40]
mov rcx, qword [r12 + 0x70]
mov byte [r12], al
call sym.sqlite3PagerUnrefNotNull
mov qword [rbx + 0x30], rbp
mov qword [rbx + 0x3c], r13
jmp 0x14018dc10
mov r8d, eax
lea rdx, str.unable_to_get_the_page._error_code_d
mov rcx, rbx
call dbg.checkAppendMsg
mov r12, qword [rsp + 0xa8]
cmp r15d, 0xc0a
je 0x14018e008
mov r15d, esi
test r12, r12
je 0x14018df5f
nop dword [rax + rax]
mov rcx, qword [r12 + 0x70]
call sym.sqlite3PagerUnrefNotNull
jmp 0x14018df5f
mov esi, dword [r11 + rsi + 8]
cmp byte [r14 + 0x21], 0
bswap esi
jne 0x14018e3b7
mov r9, qword [rsp + 0x138]
mov edx, esi
lea r8, [rsp + 0x138]
mov rcx, rbx
mov qword [rsp + 0x50], r11
xor esi, esi
mov dword [rsp + 0x48], r10d
call dbg.checkTreePage
mov r10d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], eax
jmp 0x14018dd4f
mov dword [rbx + 0x24], 7
jmp 0x14018df93
mov dword [rsp + 0x20], r14d
mov r9d, dword [rsp + 0x38]
mov r8d, r15d
mov rcx, rbx
lea rdx, str.Offset__u_out_of_range__u.._u
call dbg.checkAppendMsg
mov dword [rsp + 0x48], 0
jmp 0x14018def0
mov r8d, eax
lea rdx, str.btreeInitPage___returns_error_code__d
mov rcx, rbx
call dbg.checkAppendMsg
jmp 0x14018dfa0
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 dbg.btreeHeapInsert
jmp 0x14018def0
lea rdx, str.Child_page_depth_differs
mov rcx, rbx
call dbg.checkAppendMsg
mov dword [rsp + 0x58], 0
mov r13, qword [rsp + 0x138]
mov dword [rsp + 0x5c], esi
jmp 0x14018def0
mov rax, qword [rsp + 0x130]
mov qword [rax], r9
mov eax, dword [rsp + 0x5c]
mov qword [rbx + 0x30], 0
add eax, 1
mov dword [rsp + 0x50], eax
mov edx, dword [rbx + 0x1c]
test edx, edx
jle 0x14018e2f0
cmp byte [r12 + 8], 0
jne 0x14018e17e
mov rsi, qword [rbx + 0x68]
mov eax, dword [rsp + 0x70]
mov dword [rsi], 0
cmp eax, 0xffffffff
je 0x14018e17e
movsxd r14, eax
mov dword [rsp + 0x38], r10d
movsxd rax, dword [rsp + 0x94]
mov r15, r11
mov dword [rsp + 0x128], edi
add rax, r11
mov qword [rsp + 0x120], rbx
mov rbx, r14
mov r14, rax
nop dword [rax + rax]
movzx edx, word [r14 + rbx*2]
mov rcx, r12
sub rbx, 1
rol dx, 8
movzx edi, dx
movzx edx, dx
add rdx, r15
call qword [r12 + 0x78]
mov rcx, rsi
movzx eax, ax
lea edx, [rdi + rax - 1]
shl edi, 0x10
or edx, edi
call dbg.btreeHeapInsert
cmp ebx, 0xffffffff
jne 0x14018e130
mov r10d, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x120]
mov r11, r15
mov edi, dword [rsp + 0x128]
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 0x14018e1da
nop dword [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 dbg.btreeHeapInsert
movzx eax, byte [r11 + r15]
movzx edx, byte [r11 + r15 + 1]
shl eax, 8
or eax, edx
jne 0x14018e1a0
mov r10d, r14d
mov eax, dword [rsi]
mov r9d, dword [rsp + 0x90]
test eax, eax
je 0x14018e426
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
nop word cs:[rax + 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 0x14018e285
mov dword [rsp + 0x38], r10d
mov r14d, dword [rsi + 4]
mov r8d, 1
mov eax, 2
jmp 0x14018e251
mov dword [rax], ecx
lea eax, [r10 + r10]
mov dword [r12], r14d
cmp dword [rsi], eax
jb 0x14018e280
mov r8d, r10d
mov ecx, eax
lea r13, [rsi + rcx*4]
lea ecx, [rax + 1]
lea r12, [rsi + rcx*4]
mov r10, rcx
mov r15d, dword [r13]
mov ecx, dword [r12]
cmp ecx, r15d
jb 0x14018e277
mov ecx, r15d
mov r12, r13
mov r10d, eax
lea rax, [rsi + r8*4]
cmp r14d, ecx
jae 0x14018e240
mov r10d, dword [rsp + 0x38]
mov r8d, r9d
movzx edx, dx
mov r14d, r10d
shr r8d, 0x10
cmp edx, r8d
jae 0x14018e3ee
lea r14d, [r8 + r14 - 1]
mov eax, dword [rsi]
sub r14d, edx
mov r10d, r14d
test eax, eax
jne 0x14018e200
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
movzx r15d, r9w
mov eax, dword [rsp + 0x34]
lea r8d, [r14 + rax - 1]
sub r8d, r15d
mov rax, qword [rsp + 0x88]
movzx r9d, byte [r11 + rax + 7]
cmp r9d, r8d
je 0x14018e2f0
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 esi, dword [rsp + 0x50]
jmp 0x14018df93
cmp r13, r8
setle al
jmp 0x14018de35
lea rdx, str.Extends_off_end_of_page
mov rcx, rbx
call dbg.checkAppendMsg
jmp 0x14018e034
mov r9d, dword [rsp + 0x128]
mov r8d, 5
mov edx, esi
mov rcx, rbx
call dbg.checkPtrmap
jmp 0x14018debe
lea rdx, str.Rowid__lld_out_of_order
mov rcx, rbx
call dbg.checkAppendMsg
mov r8, qword [rsp + 0xb0]
jmp 0x14018de3d
mov r8d, 3
mov r9d, dword [rsp + 0x128]
mov rcx, rbx
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x98], edx
call dbg.checkPtrmap
mov eax, dword [rsp + 0x9c]
mov edx, dword [rsp + 0x98]
jmp 0x14018de8f
mov r8d, eax
lea rdx, str.free_space_corruption
mov rcx, rbx
call dbg.checkAppendMsg
jmp 0x14018df93
lea rax, str.Tree__u_page__u_right_child:
mov r9d, edi
mov edx, esi
mov rcx, rbx
mov qword [rbx + 0x30], rax
mov r8d, 5
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x48], r10d
call dbg.checkPtrmap
mov r11, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x48]
jmp 0x14018dfc2
mov r15d, edx
mov r9d, edi
lea rdx, str.Multiple_uses_for_byte__u_of_page__u
mov rcx, rbx
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov qword [rsp + 0x38], r11
call dbg.checkAppendMsg
mov eax, dword [rsi]
mov r11, qword [rsp + 0x38]
test eax, eax
jne 0x14018e2f0
jmp 0x14018e2be
mov r8d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x90]
sub r8d, 1
sub r8d, eax
jmp 0x14018e2ca