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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xcc]
xorps xmm0, xmm0
push ebx
push ebp
mov ebp, dword [esp + 0xcc]
push esi
mov esi, dword [esp + 0xd4]
push edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe0]
push ebp
mov dword [esp + 0x24], eax
lea eax, [esp + 0x68]
push str.Page__d:
push eax
push 0x64
movlpd qword [esp + 0x44], xmm0
movlpd qword [esp + 0x24], xmm0
call fcn.0047b458
mov ebx, dword [edi]
add esp, 0x10
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x28], eax
test ebp, ebp
jne 0x481731
xor eax, eax
jmp 0x481cec
push esi
push ebp
push edi
call fcn.00481653
add esp, 0xc
test eax, eax
jne 0x48172a
push eax
lea eax, [esp + 0x30]
push eax
push ebp
push ebx
call fcn.00480c3d
add esp, 0x10
test eax, eax
je 0x48176a
push eax
push str.unable_to_get_the_page._error_code_d
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.00481384
add esp, 0x10
jmp 0x48172a
mov ebx, dword [esp + 0x2c]
xor edx, edx
push ebx
mov byte [ebx], dl
call fcn.00480c78
pop ecx
test eax, eax
je 0x481799
push eax
push str.btreeInitPage___returns_error_code__d
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.00481384
push ebx
call fcn.0048fcde
add esp, 0x14
jmp 0x48172a
xor ecx, ecx
xor eax, eax
mov esi, ecx
mov dword [esp + 0x40], ecx
cmp ax, word [ebx + 0x10]
jae 0x481990
jmp 0x4817b1
xor ecx, ecx
cmp dword [edi + 0x10], ecx
je 0x481990
push esi
push ebp
push str.On_tree_page__d_cell__d:
lea eax, [esp + 0x70]
push eax
push 0x64
call fcn.0047b458
movzx eax, word [ebx + 0xc]
add eax, dword [ebx + 0x40]
movzx ecx, byte [eax + esi*2]
movzx eax, byte [eax + esi*2 + 1]
shl ecx, 8
or ecx, eax
movzx eax, word [ebx + 0x12]
and ecx, eax
lea eax, [esp + 0x58]
add ecx, dword [ebx + 0x40]
push eax
push ecx
push ebx
mov dword [esp + 0x44], ecx
call fcn.00480fba
mov edx, dword [esp + 0x70]
add esp, 0x20
cmp byte [ebx + 2], 0
mov dword [esp + 0x1c], edx
jne 0x481812
add edx, dword [esp + 0x44]
jmp 0x481877
test esi, esi
jne 0x481830
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jmp 0x481877
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
cmp ecx, dword [esp + 0x18]
jg 0x48186f
jl 0x481846
cmp eax, dword [esp + 0x14]
ja 0x48186f
push dword [esp + 0x18]
push dword [esp + 0x18]
push ecx
push eax
push str.Rowid__lld_out_of_order__previous_was__lld_
lea eax, [esp + 0x78]
push eax
push edi
call fcn.00481384
mov eax, dword [esp + 0x60]
add esp, 0x1c
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
movzx eax, word [esp + 0x5a]
mov ecx, dword [esp + 0x24]
cmp edx, eax
jbe 0x48190a
movzx eax, word [esp + 0x5c]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x40]
mov ebx, dword [esp + 0x10]
add eax, dword [ebx + 0x28]
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], eax
ja 0x48190a
mov ecx, dword [esp + 0x28]
movzx eax, word [esp + 0x5a]
sub edx, eax
push dword [esp + 0x1c]
lea eax, [ecx - 5]
add ecx, 0xfffffffc
add eax, edx
xor edx, edx
div ecx
mov dword [esp + 0x34], eax
call fcn.0049ca80
pop ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
cmp byte [ecx + 0x15], 0
je 0x4818f0
lea ecx, [esp + 0x64]
push ecx
push ebp
push 3
push eax
push edi
call fcn.004815d1
mov eax, dword [esp + 0x30]
add esp, 0x14
lea ecx, [esp + 0x64]
xor edx, edx
push ecx
push dword [esp + 0x34]
push eax
push edx
push edi
call fcn.00481431
mov ecx, dword [esp + 0x38]
add esp, 0x14
cmp byte [ebx + 3], 0
jne 0x481983
push ecx
call fcn.0049ca80
pop ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
cmp byte [ecx + 0x15], 0
je 0x481937
lea ecx, [esp + 0x64]
push ecx
push ebp
push 5
push eax
push edi
call fcn.004815d1
add esp, 0x14
xor ecx, ecx
lea eax, [esp + 0x14]
test esi, esi
cmove eax, ecx
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x3c]
push edi
call fcn.004816b2
add esp, 0x14
mov dword [esp + 0x30], eax
test esi, esi
jle 0x48197f
cmp eax, dword [esp + 0x40]
je 0x48197f
push str.Child_page_depth_differs
lea eax, [esp + 0x68]
push eax
push edi
call fcn.00481384
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x40], eax
movzx eax, word [ebx + 0x10]
inc esi
cmp esi, eax
jl 0x4817af
cmp byte [ebx + 3], 0
jne 0x481a05
mov eax, dword [ebx + 0x40]
movzx ecx, byte [ebx + 5]
add eax, 8
add eax, ecx
push eax
call fcn.0049ca80
push ebp
mov esi, eax
lea eax, [esp + 0x6c]
push str.On_page__d_at_right_child:
push eax
push 0x64
call fcn.0047b458
mov eax, dword [esp + 0x24]
add esp, 0x14
cmp byte [eax + 0x15], 0
je 0x4819db
lea eax, [esp + 0x64]
push eax
push ebp
push 5
push esi
push edi
call fcn.004815d1
add esp, 0x14
xor edx, edx
lea eax, [esp + 0x14]
xor ecx, ecx
cmp word [ebx + 0x10], dx
cmove eax, ecx
push eax
push edx
lea eax, [esp + 0x6c]
push eax
push esi
push edi
call fcn.004816b2
add esp, 0x14
cmp byte [ebx + 3], 0
je 0x481af5
cmp byte [ebx + 2], 0
je 0x481af5
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x481abd
mov ebp, dword [esp + 0x20]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
test ebp, ebp
jne 0x481a52
cmp dword [esp + 0x18], ecx
jl 0x481af5
jg 0x481a3e
cmp dword [esp + 0x14], eax
jbe 0x481af5
push ecx
push eax
push dword [esp + 0x20]
push dword [esp + 0x20]
push str.Rowid__lld_out_of_order__max_larger_than_parent_min_of__lld_
jmp 0x481ae7
cmp dword [esp + 0x38], ecx
jg 0x481a7d
jl 0x481a60
cmp dword [esp + 0x34], eax
ja 0x481a7d
push ecx
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x70]
push dword [esp + 0x40]
push str.Rowid__lld_out_of_order__min_less_than_parent_min_of__lld_
push eax
push edi
call fcn.00481384
add esp, 0x1c
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
cmp dword [esp + 0x18], ecx
jl 0x481aae
jg 0x481a91
cmp dword [esp + 0x14], eax
jbe 0x481aae
push ecx
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x70]
push dword [esp + 0x20]
push str.Rowid__lld_out_of_order__max_larger_than_parent_max_of__lld_
push eax
push edi
call fcn.00481384
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], eax
jmp 0x481af5
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x481af5
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp dword [esp + 0x38], ecx
jg 0x481af5
jl 0x481ad8
cmp dword [esp + 0x34], eax
ja 0x481af5
push ecx
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
push str.Rowid__lld_out_of_order__min_less_than_parent_max_of__lld_
lea eax, [esp + 0x78]
push eax
push edi
call fcn.00481384
add esp, 0x1c
movzx eax, byte [ebx + 5]
mov ebp, dword [ebx + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x24]
call fcn.0048ec0d
mov esi, eax
mov dword [esp + 0x14], esi
pop ecx
test esi, esi
jne 0x481b23
mov dword [edi + 0x18], 1
jmp 0x481cd9
mov eax, dword [esp + 0x24]
movzx esi, byte [eax + ebp + 5]
movzx eax, byte [eax + ebp + 6]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x28]
dec esi
and esi, 0xffff
inc esi
sub eax, esi
push eax
xor eax, eax
push eax
mov eax, dword [esp + 0x18]
add eax, esi
push eax
call fcn.004bea90
push esi
mov esi, dword [esp + 0x20]
push 1
push esi
call fcn.004bea90
mov ecx, dword [esp + 0x3c]
add esp, 0x18
movzx edx, byte [ecx + ebp + 3]
movzx eax, byte [ecx + ebp + 4]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 3]
mov dword [esp + 0x1c], edx
push 3
pop edx
sub edx, eax
lea eax, [ecx + edx*4]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x1c], edx
jle 0x481c2a
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffffc
add eax, ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], eax
movzx esi, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or esi, eax
mov eax, 0x10000
cmp esi, ecx
jg 0x481bd0
lea eax, [esi + ebp]
push eax
push ebx
call fcn.0048125a
mov edx, dword [esp + 0x34]
pop ecx
pop ecx
movzx eax, ax
dec eax
add eax, esi
cmp eax, dword [esp + 0x28]
jl 0x481bf8
push dword [esp + 0xd4]
xor eax, eax
push edx
push str.Corruption_detected_in_cell__d_on_page__d
push eax
push edi
call fcn.00481384
mov edx, dword [esp + 0x40]
add esp, 0x14
jmp 0x481c08
cmp eax, esi
jl 0x481c08
mov ecx, dword [esp + 0x10]
inc byte [eax + ecx]
dec eax
cmp eax, esi
jge 0x481c00
mov eax, dword [esp + 0x20]
inc edx
mov ecx, dword [esp + 0x3c]
add eax, 2
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
cmp edx, dword [esp + 0x1c]
jl 0x481ba8
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
movzx edx, byte [ecx + ebp + 1]
movzx eax, byte [ecx + ebp + 2]
shl edx, 8
or edx, eax
jle 0x481c69
movzx ecx, byte [edx + ebp + 2]
movzx eax, byte [edx + ebp + 3]
shl ecx, 8
or ecx, eax
lea eax, [edx - 1]
add eax, ecx
jmp 0x481c55
inc byte [eax + esi]
dec eax
cmp eax, edx
jge 0x481c51
movzx ecx, byte [edx + ebp]
movzx edx, byte [edx + ebp + 1]
shl ecx, 8
or edx, ecx
jg 0x481c3b
xor edx, edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x28], eax
jle 0x481cb4
mov dl, byte [eax + esi]
test dl, dl
jne 0x481c87
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x481c8c
cmp dl, 1
jg 0x481c95
inc eax
cmp eax, dword [esp + 0x28]
jl 0x481c79
jmp 0x481cb2
push dword [esp + 0xd4]
push eax
push str.Multiple_uses_for_byte__d_of_page__d
xor eax, eax
push eax
push edi
call fcn.00481384
mov ecx, dword [esp + 0x34]
add esp, 0x14
xor edx, edx
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + ebp + 7]
cmp ecx, eax
je 0x481cd9
push dword [esp + 0xd4]
push eax
push ecx
push str.Fragmentation_of__d_bytes_reported_as__d_on_page__d
push edx
push edi
call fcn.00481384
add esp, 0x18
push esi
call fcn.0048ed31
push ebx
call fcn.0048fcde
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
inc eax
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b94b6
add esp, 0xbc
ret