Function at 0x1003c8a0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x70]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov eax, 1
push esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp]
xor ebx, ebx
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x14], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], eax
cmp esi, ebx
jne 0x1003c8ff
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
mov eax, ebp
call fcn.1001e8b0
test eax, eax
jne 0x1003c8f5
lea ecx, [esp + 0x10]
push ebx
push ecx
mov eax, esi
mov dword [ebp + 0x1c], str.Page__d:
mov dword [ebp + 0x20], esi
call fcn.10030d00
add esp, 8
cmp eax, ebx
je 0x1003c93d
push eax
push str.unable_to_get_the_page._error_code_d
mov edi, ebp
call fcn.1001e800
add esp, 8
jmp 0x1003ce2e
mov esi, dword [esp + 0x10]
mov dl, byte [esi]
mov byte [esp + 0x78], dl
mov byte [esi], bl
call fcn.100283e0
cmp eax, ebx
je 0x1003c967
push eax
push str.btreeInitPage___returns_error_code__d
mov edi, ebp
call fcn.1001e800
add esp, 8
jmp 0x1003ce2e
mov ebx, dword [esi + 0x38]
mov ecx, dword [esp + 0x10]
movzx esi, byte [ecx + 6]
mov dword [ebp + 0x1c], str.On_tree_page__d_cell__d:
movzx eax, byte [esi + ebx + 5]
movzx edx, byte [esi + ebx + 6]
movzx edi, byte [esi + ebx + 3]
shl eax, 8
or eax, edx
dec eax
and eax, 0xffff
inc eax
mov dword [esp + 0x40], eax
movzx eax, byte [esi + ebx + 4]
shl edi, 8
or edi, eax
mov al, byte [ecx + 5]
movzx ecx, al
mov edx, 3
sub edx, ecx
lea ecx, [esi + edx*4]
mov dword [esp + 0x4c], ecx
lea ecx, [ecx + edi*2]
lea edx, [ecx + ebx - 2]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
test al, al
jne 0x1003ca36
lea eax, [esi + ebx + 8]
call fcn.10002e30
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x11], 0
mov dword [esp + 0x3c], eax
je 0x1003ca06
mov edx, dword [esp + 0x7c]
push edx
mov esi, eax
push 5
mov eax, ebp
mov dword [ebp + 0x1c], str.On_page__d_at_right_child:
call fcn.10030d40
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
add esp, 8
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
lea ecx, [esp + 0x8c]
push ecx
push eax
push ebp
call fcn.1003c8a0
add esp, 0x14
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 0
jmp 0x1003ca43
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x14], eax
mov dword [eax], 0
lea eax, [edi - 1]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], eax
test eax, eax
jl 0x1003cc6b
jmp 0x1003ca64
mov eax, dword [esp + 0x30]
cmp dword [ebp + 0x10], 0
je 0x1003cc6b
mov edx, dword [esp + 0x24]
sub dword [esp + 0x24], 2
mov esi, dword [esp + 0x38]
mov dword [ebp + 0x24], eax
mov ax, word [edx]
mov ch, al
mov cl, ah
mov eax, dword [esp + 0x40]
movzx ebx, cx
cmp ebx, eax
jb 0x1003cc3b
lea ecx, [esi - 4]
mov dword [esp + 0x44], ecx
cmp ebx, ecx
ja 0x1003cc3b
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x50]
lea edi, [ebx + edx]
push edi
push eax
mov dword [esp + 0x48], edi
call ecx
movzx edx, word [esp + 0x7c]
add edx, ebx
add esp, 0xc
cmp edx, esi
jbe 0x1003cae0
push str.Extends_off_end_of_page
mov edi, ebp
call fcn.1001e800
add esp, 4
jmp 0x1003cc50
mov eax, dword [esp + 0x10]
cmp byte [eax + 2], 0
je 0x1003cb4e
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
je 0x1003cb0f
cmp eax, dword [esp + 0x88]
jg 0x1003cb23
jl 0x1003cb40
cmp ecx, dword [esp + 0x84]
ja 0x1003cb23
jmp 0x1003cb40
cmp eax, dword [esp + 0x88]
jl 0x1003cb40
jg 0x1003cb23
cmp ecx, dword [esp + 0x84]
jb 0x1003cb40
push eax
push ecx
push str.Rowid__lld_out_of_order
mov edi, ebp
call fcn.1001e800
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
movzx ecx, word [esp + 0x6c]
mov eax, dword [esp + 0x68]
cmp eax, ecx
jbe 0x1003cbad
sub eax, ecx
lea eax, [eax + esi - 5]
xor edx, edx
div dword [esp + 0x44]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x6e]
add eax, edi
call fcn.10002e30
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x11], 0
mov edi, eax
je 0x1003cb96
mov edx, dword [esp + 0x7c]
push edx
push 3
mov esi, edi
mov eax, ebp
call fcn.10030d40
add esp, 8
mov eax, dword [esp + 0x44]
push eax
push 0
mov eax, edi
mov ecx, ebp
call fcn.10030dd0
mov edi, dword [esp + 0x44]
add esp, 8
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 5], 0
jne 0x1003cc22
mov eax, edi
call fcn.10002e30
mov edx, dword [esp + 0x28]
cmp byte [edx + 0x11], 0
mov esi, eax
je 0x1003cbdb
mov eax, dword [esp + 0x7c]
push eax
push 5
mov eax, ebp
call fcn.10030d40
add esp, 8
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
lea eax, [esp + 0x8c]
push eax
push esi
push ebp
call fcn.1003c8a0
mov esi, eax
add esp, 0x14
mov dword [esp + 0x2c], 0
cmp esi, dword [esp + 0x20]
je 0x1003cc58
push str.Child_page_depth_differs
mov edi, ebp
call fcn.1001e800
add esp, 4
mov dword [esp + 0x20], esi
jmp 0x1003cc58
movzx ecx, word [esp + 0x70]
mov eax, dword [esp + 0x14]
lea ecx, [ecx + ebx - 1]
shl ebx, 0x10
or ecx, ebx
call fcn.10007080
jmp 0x1003cc58
add esi, 0xfffffffc
push esi
push eax
push ebx
push str.Offset__d_out_of_range__d.._d
mov edi, ebp
call fcn.1001e800
add esp, 0x10
mov dword [esp + 0x34], 0
sub dword [esp + 0x30], 1
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jns 0x1003ca60
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [ebp + 0x1c], 0
je 0x1003ce24
cmp dword [ebp + 0x10], 0
jle 0x1003ce2e
mov edx, dword [esp + 0x10]
cmp byte [edx + 5], 0
jne 0x1003cd14
mov eax, dword [ebp + 0x44]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov dword [eax], 0
test edi, edi
jl 0x1003cd14
mov eax, dword [esp + 0x4c]
lea ebx, [eax + edi*2]
add ebx, dword [esp + 0x18]
jmp 0x1003ccd0
mov cx, word [ebx]
mov eax, dword [esp + 0x18]
mov dh, cl
mov dl, ch
movzx esi, dx
lea ecx, [esi + eax]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x4c]
push ecx
push eax
call edx
movzx eax, ax
lea ecx, [eax + esi - 1]
mov eax, dword [esp + 0x1c]
shl esi, 0x10
add esp, 8
or ecx, esi
call fcn.10007080
dec edi
sub ebx, 2
test edi, edi
jge 0x1003ccd0
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx esi, byte [esi + ebx + 1]
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + ebx + 2]
shl esi, 8
or esi, ecx
jle 0x1003cd65
lea esp, [esp]
movzx edx, byte [ebx + esi + 2]
movzx eax, byte [ebx + esi + 3]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x14]
lea ecx, [edx + esi - 1]
mov edx, esi
shl edx, 0x10
or ecx, edx
call fcn.10007080
movzx eax, byte [esi + ebx]
movzx ecx, byte [ebx + esi + 1]
shl eax, 8
or eax, ecx
mov esi, eax
jg 0x1003cd30
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
mov eax, edi
mov dword [esp + 0x7c], 0
dec esi
call fcn.100070b0
add esp, 4
test eax, eax
je 0x1003cde6
lea esp, [esp]
mov edx, dword [esp + 0x40]
mov eax, edx
mov ecx, esi
shr eax, 0x10
and ecx, 0xffff
cmp ecx, eax
jae 0x1003cdca
sub eax, ecx
mov ecx, dword [esp + 0x78]
lea eax, [ecx + eax - 1]
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], eax
push ecx
mov eax, edi
mov esi, edx
call fcn.100070b0
add esp, 4
test eax, eax
jne 0x1003cd90
jmp 0x1003cde6
mov eax, dword [esp + 0x7c]
push eax
shr edx, 0x10
push edx
push str.Multiple_uses_for_byte__u_of_page__d
mov edi, ebp
call fcn.1001e800
mov edi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
and esi, 0xffff
sub eax, esi
cmp dword [edi], 0
lea eax, [ecx + eax - 1]
jne 0x1003ce2e
mov edx, dword [esp + 0x1c]
movzx ecx, byte [edx + ebx + 7]
cmp eax, ecx
je 0x1003ce2e
mov edx, dword [esp + 0x7c]
push edx
push ecx
push eax
push str.Fragmentation_of__d_bytes_reported_as__d_on_page__d
mov edi, ebp
call fcn.1001e800
add esp, 0x10
jmp 0x1003ce2e
mov al, byte [esp + 0x78]
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
mov eax, dword [esp + 0x10]
call fcn.1003a8b0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
pop edi
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x1c]
pop esi
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x24], ecx
pop ebp
inc eax
pop ebx
add esp, 0x64
ret