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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
mov rax, qword [0x1403e4018]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xe0], r9
mov r14, qword [rcx + 0x30]
mov r13d, dword [rcx + 0x38]
mov r15d, dword [rcx + 0x3c]
mov rax, qword [rcx + 0x68]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x14026d566
mov dword [rsi + 0x24], 9
inc dword [rsi + 0x20]
mov dword [rsi + 0x1c], 0
mov ebx, 0xffffffff
mov qword [rsi + 0x30], r14
mov dword [rsi + 0x38], r13d
mov dword [rsi + 0x3c], r15d
inc ebx
mov ebp, ebx
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.140319a10
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0xffffffff
cmp dword [rsi + 0x1c], 0
je 0x14026d528
mov edi, edx
xor ebp, ebp
test edx, edx
je 0x14026d538
lea eax, [rdi - 1]
cmp eax, dword [rsi + 0x18]
jae 0x14026d5b6
mov r12, r9
mov rax, qword [rsi + 0x10]
mov edx, edi
shr rdx, 3
mov ecx, edi
and cl, 7
mov r10d, 1
shl r10d, cl
movzx ecx, byte [rax + rdx]
mov r9d, edi
and r9d, 7
bt ecx, r9d
jae 0x14026d5cd
lea rdx, str.2nd_reference_to_page__d
jmp 0x14026d5bd
lea rdx, str.invalid_page_number__d
mov rcx, rsi
mov r8d, edi
call fcn.14026d2e0
jmp 0x14026d538
mov qword [rsp + 0x80], r8
mov rbp, qword [rsi]
mov r8d, dword [rbp + 0x38]
mov qword [rsp + 0xa0], r8
or r10b, cl
mov byte [rax + rdx], r10b
lea rax, str.Page__u:
mov qword [rsi + 0x30], rax
mov dword [rsi + 0x38], edi
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov rcx, qword [rbp]
mov rax, qword [rcx + 0x110]
mov edx, edi
xor r9d, r9d
call qword [case.0x140318756.0]
test eax, eax
je 0x14026d63f
lea rdx, str.unable_to_get_the_page._error_code_d
mov rcx, rsi
mov r8d, eax
call fcn.14026d2e0
jmp 0x14026d528
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 4], edi
je 0x14026d673
mov rdx, qword [rax + 8]
mov qword [rcx + 0x50], rdx
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x48], rbp
mov dword [rcx + 4], edi
xor eax, eax
cmp edi, 1
mov edx, 0x64
cmovne edx, eax
mov byte [rcx + 9], dl
mov qword [rsp + 0x90], rbp
mov bl, byte [rcx]
mov byte [rcx], 0
mov rbp, rcx
call fcn.140243980
test eax, eax
je 0x14026d695
lea rdx, str.btreeInitPage___returns_error_code__d
jmp 0x14026d6a8
mov rcx, rbp
call fcn.140265d40
test eax, eax
je 0x14026d71e
lea rdx, str.free_space_corruption
mov rcx, rsi
mov r8d, eax
call fcn.14026d2e0
mov ebx, 0xffffffff
mov r9, rbp
test r9, r9
je 0x14026d528
mov rcx, qword [r9 + 0x70]
test byte [rcx + 0x34], 0x20
jne 0x14026d6d8
call fcn.14023a930
jmp 0x14026d528
mov rax, qword [rcx + 0x28]
dec dword [rax + 0x98]
mov rdx, qword [rax + 0xa8]
mov qword [rcx + 0x20], rdx
mov qword [rax + 0xa8], rcx
mov edx, dword [rcx + 0x30]
dec edx
imul rdx, qword [rax + 0xc8]
mov r8, qword [rcx + 8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x90]
call qword [case.0x140318756.0]
jmp 0x14026d528
mov byte [rsp + 0x37], bl
mov r9, qword [rbp + 0x50]
movzx r10d, byte [rbp + 9]
lea rax, str.On_tree_page__u_cell__d:
mov qword [rsi + 0x30], rax
movzx eax, byte [r10 + r9 + 5]
shl eax, 8
movzx ecx, byte [r10 + r9 + 6]
movzx edx, word [r10 + r9 + 3]
rol dx, 8
mov r8, rbp
lea ebp, [rax + rcx]
dec ebp
movzx eax, dx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], r8
movzx eax, byte [r8 + 8]
test eax, eax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], r10
je 0x14026d794
mov r12, qword [rsi + 0x60]
mov dword [r12], 0
mov ecx, 1
mov qword [rsp + 0x60], rcx
mov ebx, 0xffffffff
jmp 0x14026d7f5
mov qword [rsp + 0x88], rax
mov ebx, dword [r10 + r9 + 8]
bswap ebx
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x21], 0
je 0x14026d7cc
lea rax, str.On_page__u_at_right_child:
mov qword [rsi + 0x30], rax
mov rcx, rsi
mov edx, ebx
mov r8b, 5
mov r9d, edi
call fcn.14026d3f0
lea r8, [rsp + 0xe0]
mov rcx, rsi
mov edx, ebx
mov r9, r12
call fcn.14026d4c0
mov ebx, eax
xor eax, eax
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov rax, qword [rsp + 0x88]
shl eax, 2
movzx r10d, bp
mov rcx, qword [rsp + 0x78]
test ecx, ecx
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x88], rax
je 0x14026db9b
mov rdx, rax
mov rax, qword [rsp + 0x70]
sub eax, edx
lea eax, [rax + rcx*2]
add eax, 0xa
movsxd rdx, eax
lea eax, [r10 + 1]
mov dword [rsp + 0xb4], eax
dec ecx
add rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xa0]
lea r8d, [rax - 4]
mov dword [rsp + 0x5c], r8d
add eax, 0xfffffffb
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x58], 1
movaps xmm6, xmmword [0x1403bc150]
mov r9, qword [rsp + 0x40]
movabs rbp, 0xaaaaaaaaaaaaaaaa
cmp dword [rsi + 0x1c], 0
je 0x14026db6d
mov qword [rsp + 0xd0], rbp
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0x50], rcx
mov dword [rsi + 0x3c], ecx
mov qword [rsp + 0x48], rdx
movzx eax, word [rdx]
rol ax, 8
movzx r9d, ax
cmp r10d, r9d
jae 0x14026d921
cmp dword [rsp + 0x5c], r9d
jb 0x14026d921
mov edx, r9d
add rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x40]
mov rax, qword [rbp + 0x80]
mov rcx, rbp
mov qword [rsp + 0xb8], rdx
lea r8, [rsp + 0xc0]
mov qword [rsp + 0x98], r9
call qword [case.0x140318756.0]
mov rdx, qword [rsp + 0x98]
movzx eax, word [rsp + 0xd6]
add eax, edx
cmp eax, dword [rsp + 0xa0]
jbe 0x14026d95a
mov rcx, rsi
lea rdx, str.Extends_off_end_of_page
call fcn.14026d2e0
mov dword [rsp + 0x58], 0
mov r9, rbp
jmp 0x14026db43
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea rdx, str.Offset__d_out_of_range__d.._d
mov r8d, r9d
mov r9d, dword [rsp + 0xb4]
call fcn.14026d2e0
mov dword [rsp + 0x58], 0
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
jmp 0x14026db52
cmp byte [rbp + 1], 0
je 0x14026d9bf
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xe0]
cmp dword [rsp + 0x60], 0
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x14026db16
cmp r8, rax
jle 0x14026d9a9
mov rcx, rsi
lea rdx, str.Rowid__lld_out_of_order
call fcn.14026d2e0
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x38]
mov qword [rsp + 0xe0], r8
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x14026d9ce
mov r10, qword [rsp + 0x38]
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov eax, dword [rsp + 0xd0]
movzx ecx, word [rsp + 0xd4]
cmp eax, ecx
jbe 0x14026da65
add eax, dword [rsp + 0xb0]
sub eax, ecx
xor edx, edx
div dword [rsp + 0x5c]
mov r9d, eax
movzx eax, word [rsp + 0xd6]
mov rcx, qword [rsp + 0xb8]
mov r8d, dword [rax + rcx - 4]
bswap r8d
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x21], 0
je 0x14026da4e
mov rcx, rsi
mov edx, r8d
mov dword [rsp + 0xa8], r8d
mov r8b, 3
mov dword [rsp + 0xac], r9d
mov r9d, edi
call fcn.14026d3f0
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xac]
mov rcx, rsi
xor edx, edx
call fcn.14026cff0
mov r10, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
cmp byte [rax + 8], 0
je 0x14026daa0
movzx eax, word [rsp + 0xd6]
mov ecx, edx
shl ecx, 0x10
add edx, eax
dec edx
or edx, ecx
mov eax, dword [r12]
inc eax
mov dword [r12], eax
mov dword [r12 + rax*4], edx
cmp eax, 2
jae 0x14026daf1
mov r9, qword [rsp + 0x40]
jmp 0x14026db52
mov rax, qword [rsp + 0xb8]
mov ebp, dword [rax]
bswap ebp
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x21], 0
je 0x14026daca
mov rcx, rsi
mov edx, ebp
mov r8b, 5
mov r9d, edi
call fcn.14026d3f0
mov r9, qword [rsp + 0xe0]
mov rcx, rsi
mov edx, ebp
lea r8, [rsp + 0xe0]
call fcn.14026d4c0
cmp eax, ebx
jne 0x14026db24
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x14026db3e
mov r9, qword [rsp + 0x40]
mov ecx, eax
shr eax, 1
mov edx, dword [r12 + rax*4]
mov r8d, dword [r12 + rcx*4]
cmp edx, r8d
jbe 0x14026db52
mov dword [r12 + rax*4], r8d
mov dword [r12 + rcx*4], edx
cmp ecx, 3
ja 0x14026daf6
jmp 0x14026db52
cmp r8, rax
jge 0x14026d98a
jmp 0x14026d9a9
mov ebp, eax
xor eax, eax
mov qword [rsp + 0x60], rax
mov rcx, rsi
lea rdx, str.Child_page_depth_differs
call fcn.14026d2e0
mov ebx, ebp
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
add rdx, 0xfffffffffffffffe
lea eax, [rcx - 1]
test ecx, ecx
mov ecx, eax
jg 0x14026d874
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
mov qword [rsi + 0x30], 0
cmp dword [rsp + 0x58], 0
jne 0x14026dbbb
mov al, byte [rsp + 0x37]
mov byte [r9], al
jmp 0x14026d6bb
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
mov qword [rsi + 0x30], 0
mov r9, qword [rsp + 0x40]
cmp dword [rsi + 0x1c], 0
jle 0x14026d6bb
mov r11, r10
cmp byte [r9 + 8], 0
mov r10, qword [rsp + 0x68]
jne 0x14026dca2
mov r12, qword [rsi + 0x60]
mov dword [r12], 0
mov rcx, qword [rsp + 0x78]
test ecx, ecx
je 0x14026dca2
mov rdx, qword [rsp + 0x88]
neg edx
mov rax, qword [rsp + 0x70]
add eax, edx
add eax, 0xc
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x80], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x48]
lea eax, [rcx + rax*2]
cdqe
movzx eax, word [r10 + rax]
rol ax, 8
movzx ebp, ax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x78]
lea rdx, [r10 + rbp]
call qword [case.0x140318756.0]
movzx eax, ax
mov ecx, ebp
shl ecx, 0x10
lea edx, [rax + rbp]
dec edx
or edx, ecx
mov eax, dword [r12]
inc eax
mov dword [r12], eax
mov dword [r12 + rax*4], edx
cmp eax, 2
jb 0x14026dc84
mov ecx, eax
shr eax, 1
mov edx, dword [r12 + rax*4]
mov r8d, dword [r12 + rcx*4]
cmp edx, r8d
jbe 0x14026dc84
mov dword [r12 + rax*4], r8d
mov dword [r12 + rcx*4], edx
cmp ecx, 3
ja 0x14026dc66
cmp qword [rsp + 0x80], 1
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
jg 0x14026dc0a
mov r11, qword [rsp + 0x38]
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + r10 + 1]
rol ax, 8
test ax, ax
je 0x14026dd18
movzx ecx, ax
mov eax, ecx
movzx edx, word [rax + r10 + 2]
rol dx, 8
movzx edx, dx
mov r8d, ecx
shl r8d, 0x10
add edx, ecx
dec edx
or edx, r8d
mov ecx, dword [r12]
inc ecx
mov dword [r12], ecx
mov dword [r12 + rcx*4], edx
cmp ecx, 2
jb 0x14026dd07
mov edx, ecx
shr ecx, 1
mov r8d, dword [r12 + rcx*4]
mov r9d, dword [r12 + rdx*4]
cmp r8d, r9d
jbe 0x14026dd07
mov dword [r12 + rcx*4], r9d
mov dword [r12 + rdx*4], r8d
cmp edx, 3
ja 0x14026dce9
movzx eax, word [r10 + rax]
rol ax, 8
movzx ecx, ax
test cx, cx
jne 0x14026dcb9
mov eax, dword [r12]
xor ebp, ebp
test eax, eax
je 0x14026ddc0
mov ecx, dword [r12 + 4]
mov qword [rsp + 0x38], rcx
mov ecx, eax
mov edx, dword [r12 + rcx*4]
mov dword [r12 + 4], edx
mov dword [r12 + rcx*4], 0xffffffff
dec eax
mov dword [r12], eax
cmp eax, 2
jb 0x14026dd97
mov ecx, dword [r12 + 4]
mov edx, 1
mov r8d, 2
mov r9d, r8d
mov r10d, dword [r12 + r9*4]
mov r9d, r8d
or r9d, 1
cmp r10d, dword [r12 + r9*4]
cmovbe r9d, r8d
mov r8d, dword [r12 + r9*4]
cmp ecx, r8d
jb 0x14026dd97
mov eax, edx
mov dword [r12 + rax*4], r8d
mov dword [r12 + r9*4], ecx
lea r8d, [r9 + r9]
mov eax, dword [r12]
mov edx, r9d
cmp r8d, eax
jbe 0x14026dd5e
movzx ecx, r11w
mov rdx, qword [rsp + 0x38]
mov r8d, edx
shr r8d, 0x10
cmp r8d, ecx
jbe 0x14026ddc5
not ecx
add ebp, ecx
add ebp, r8d
mov r11d, edx
test eax, eax
jne 0x14026dd26
jmp 0x14026dde9
mov rdx, r11
jmp 0x14026dde9
mov dword [rsp + 0x38], r11d
lea rdx, str.Multiple_uses_for_byte__u_of_page__u
mov rcx, rsi
mov r9d, edi
call fcn.14026d2e0
cmp dword [r12], 0
mov eax, dword [rsp + 0x38]
mov edx, eax
jne 0x14026de25
not edx
or edx, 0xffff0000
add ebp, dword [rsp + 0xa0]
add ebp, edx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
movzx r9d, byte [rcx + rax + 7]
cmp ebp, r9d
je 0x14026de25
mov dword [rsp + 0x20], edi
lea rdx, str.Fragmentation_of__d_bytes_reported_as__d_on_page__u
mov rcx, rsi
mov r8d, ebp
call fcn.14026d2e0
mov r9, qword [rsp + 0x40]
jmp 0x14026d6bb