Function at 0x4392d0
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 + 0x28]
mov edx, dword [ebp + 0x2c]
mov eax, 1
push esi
push edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x20]
xor edi, edi
mov esi, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
call fcn.004103b0
cmp dword [ebp + 0x10], edi
je 0x43988a
mov ebx, dword [ebp]
mov esi, dword [esp + 0x7c]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], eax
cmp esi, edi
jne 0x43933f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
mov edi, ebp
call fcn.0042c8e0
test eax, eax
jne 0x439335
lea ecx, [esp + 0x10]
push ecx
xor ecx, ecx
mov eax, esi
mov edi, ebx
mov dword [ebp + 0x20], str.Tree__u_page__u:
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x24], esi
call fcn.0040fea0
add esp, 4
test eax, eax
je 0x439383
push eax
push str.unable_to_get_the_page._error_code_d
mov eax, ebp
call fcn.0042c860
add esp, 8
jmp 0x43988a
mov edi, dword [esp + 0x10]
mov dl, byte [edi]
mov byte [esp + 0x78], dl
mov byte [edi], 0
call fcn.00434c40
test eax, eax
je 0x4393ae
push eax
push str.btreeInitPage___returns_error_code__d
mov eax, ebp
call fcn.0042c860
add esp, 8
jmp 0x43988a
push edi
call fcn.00434a50
add esp, 4
test eax, eax
je 0x4393d0
push eax
push str.free_space_corruption
mov eax, ebp
call fcn.0042c860
add esp, 8
jmp 0x43988a
movzx eax, byte [edi + 9]
mov esi, dword [edi + 0x38]
mov dword [ebp + 0x20], str.Tree__u_page__u_cell__u:
movzx edi, byte [eax + esi + 5]
movzx ecx, byte [eax + esi + 6]
movzx edx, byte [eax + esi + 4]
movzx ebx, byte [eax + esi + 3]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax + 8]
shl edi, 8
or edi, ecx
shl ebx, 8
or ebx, edx
movzx ecx, al
mov edx, 3
sub edx, ecx
mov ecx, edx
mov edx, dword [esp + 0x24]
lea ecx, [edx + ecx*4]
dec edi
mov dword [esp + 0x4c], ecx
and edi, 0xffff
lea ecx, [ecx + ebx*2]
inc edi
lea ecx, [ecx + esi - 2]
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], ecx
test al, al
jne 0x4394aa
lea eax, [edx + esi + 8]
call fcn.0040b5e0
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x11], 0
mov dword [esp + 0x40], eax
je 0x43947a
mov ecx, dword [esp + 0x7c]
push ecx
push 5
mov edi, eax
mov esi, ebp
mov dword [ebp + 0x20], str.Tree__u_page__u_right_child:
call fcn.00439090
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push edx
push ecx
lea edx, [esp + 0x8c]
push edx
push eax
push ebp
call fcn.004392d0
add esp, 0x14
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], 0
jmp 0x4394b7
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x18], eax
mov dword [eax], 0
lea eax, [ebx - 1]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], eax
test eax, eax
jl 0x4396e2
jmp 0x4394d4
mov eax, dword [esp + 0x30]
cmp dword [ebp + 0x10], 0
je 0x4396e2
mov esi, dword [esp + 0x38]
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov cx, word [eax]
mov dh, cl
sub eax, 2
mov dword [esp + 0x3c], eax
mov dl, ch
movzx ebx, dx
cmp ebx, edi
jb 0x4396b6
lea eax, [esi - 4]
mov dword [esp + 0x44], eax
cmp ebx, eax
ja 0x4396b6
mov eax, dword [esp + 0x14]
add eax, ebx
lea ecx, [esp + 0x5c]
push ecx
push eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x50]
push eax
call edx
movzx eax, word [esp + 0x7a]
add eax, ebx
add esp, 0xc
cmp eax, esi
jbe 0x43954d
push str.Extends_off_end_of_page
mov eax, ebp
call fcn.0042c860
add esp, 4
jmp 0x4396cb
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 1], 0
je 0x4395bf
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
je 0x43957c
cmp eax, dword [esp + 0x88]
jg 0x439590
jl 0x4395a9
cmp ecx, dword [esp + 0x84]
ja 0x439590
jmp 0x4395a9
cmp eax, dword [esp + 0x88]
jl 0x4395a9
jg 0x439590
cmp ecx, dword [esp + 0x84]
jb 0x4395a9
push eax
push ecx
push str.Rowid__lld_out_of_order
mov eax, ebp
call fcn.0042c860
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
add esp, 0xc
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x1c], 0
movzx ecx, word [esp + 0x6c]
mov eax, dword [esp + 0x68]
cmp eax, ecx
jbe 0x439620
sub eax, ecx
lea eax, [eax + esi - 5]
xor edx, edx
div dword [esp + 0x44]
movzx edx, word [esp + 0x6e]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
lea eax, [edx + eax - 4]
call fcn.0040b5e0
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 0x11], 0
mov edi, eax
je 0x43960b
mov edx, dword [esp + 0x7c]
push edx
push 3
mov esi, ebp
call fcn.00439090
add esp, 8
mov eax, dword [esp + 0x44]
push eax
push edi
push 0
push ebp
call fcn.00439120
mov edi, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 8], 0
jne 0x43969d
mov eax, dword [esp + 0x40]
call fcn.0040b5e0
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x11], 0
mov ebx, eax
je 0x439656
mov eax, dword [esp + 0x7c]
push eax
push 5
mov edi, ebx
mov esi, ebp
call fcn.00439090
mov edi, dword [esp + 0x28]
add esp, 8
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
lea eax, [esp + 0x8c]
push eax
push ebx
push ebp
call fcn.004392d0
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x1c], 0
cmp ebx, dword [esp + 0x28]
je 0x4396d3
push str.Child_page_depth_differs
mov eax, ebp
call fcn.0042c860
add esp, 4
mov dword [esp + 0x28], ebx
jmp 0x4396d3
movzx ecx, word [esp + 0x6e]
mov eax, dword [esp + 0x18]
lea ecx, [ecx + ebx - 1]
shl ebx, 0x10
or ecx, ebx
call fcn.00410460
jmp 0x4396d3
add esi, 0xfffffffc
push esi
push edi
push ebx
push str.Offset__u_out_of_range__u.._u
mov eax, ebp
call fcn.0042c860
add esp, 0x10
mov dword [esp + 0x34], 0
sub dword [esp + 0x30], 1
mov esi, dword [esp + 0x14]
jns 0x4394d0
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 + 0x20], 0
je 0x439880
cmp dword [ebp + 0x10], 0
jle 0x43988a
mov eax, dword [esp + 0x10]
cmp byte [eax + 8], 0
jne 0x439788
mov ecx, dword [ebp + 0x48]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [ecx], 0
test ebx, ebx
jl 0x439788
mov edx, dword [esp + 0x4c]
lea edi, [edx + ebx*2]
add edi, dword [esp + 0x14]
jmp 0x439748
mov eax, dword [esp + 0x10]
mov cx, word [edi]
mov dh, cl
mov dl, ch
mov ecx, dword [esp + 0x14]
movzx esi, dx
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [eax + 0x4c]
call eax
movzx eax, ax
lea ecx, [eax + esi - 1]
mov eax, dword [esp + 0x20]
shl esi, 0x10
add esp, 8
or ecx, esi
call fcn.00410460
dec ebx
sub edi, 2
test ebx, ebx
jge 0x439744
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
movzx esi, byte [ecx + esi + 1]
mov ebx, dword [esp + 0x14]
mov edx, ecx
movzx eax, byte [edx + ebx + 2]
shl esi, 8
or esi, eax
jle 0x4397d8
movzx ecx, byte [ebx + esi + 2]
movzx edx, byte [ebx + esi + 3]
shl ecx, 8
or ecx, edx
mov eax, esi
lea ecx, [ecx + esi - 1]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x18]
call fcn.00410460
movzx ecx, byte [esi + ebx]
movzx edx, byte [ebx + esi + 1]
shl ecx, 8
or ecx, edx
mov esi, ecx
jg 0x4397a3
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x1c]
xor ebx, ebx
lea esi, [edi - 1]
call fcn.00410490
add esp, 4
test eax, eax
je 0x43983e
mov edx, dword [esp + 0x78]
mov eax, edx
mov ecx, esi
shr eax, 0x10
and ecx, 0xffff
cmp ecx, eax
jae 0x439826
sub eax, ecx
lea ecx, [esp + 0x78]
lea ebx, [ebx + eax - 1]
mov eax, dword [esp + 0x18]
push ecx
mov esi, edx
call fcn.00410490
add esp, 4
test eax, eax
jne 0x4397f2
jmp 0x43983e
mov eax, dword [esp + 0x7c]
push eax
shr edx, 0x10
push edx
push str.Multiple_uses_for_byte__u_of_page__u
mov eax, ebp
call fcn.0042c860
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
and esi, 0xffff
sub eax, esi
cmp dword [ecx], 0
lea eax, [ebx + eax - 1]
jne 0x43988a
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [edx + ecx + 7]
cmp eax, ecx
je 0x43988a
mov edx, dword [esp + 0x7c]
push edx
push ecx
push eax
push str.Fragmentation_of__u_bytes_reported_as__u_on_page__u
mov eax, ebp
call fcn.0042c860
add esp, 0x10
jmp 0x43988a
mov al, byte [esp + 0x78]
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
mov eax, dword [esp + 0x10]
call fcn.0040ff40
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
pop edi
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x24]
pop esi
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x2c], ecx
pop ebp
inc eax
pop ebx
add esp, 0x64
ret