Function at 0x41b1b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xb0
mov eax, dword [0x4dd704]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
mov ebx, dword [esp + 0xc0]
push ebp
mov ebp, dword [esp + 0xbc]
push esi
mov esi, dword [esp + 0xc4]
push edi
push esi
push str.Page__d:
lea eax, [esp + 0x58]
push eax
push 0x64
mov dword [esp + 0x24], ebp
call fcn.00411b10
mov edi, dword [ebp]
movzx ecx, word [edi + 0x16]
add esp, 0x10
test esi, esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ecx
je 0x41b2a6
push ebp
mov ecx, ebx
mov eax, esi
call fcn.0041ae50
add esp, 4
test eax, eax
jne 0x41b2a6
push eax
mov eax, dword [edi]
lea edx, [esp + 0x2c]
push edx
push esi
call fcn.0042f670
add esp, 0xc
test eax, eax
jne 0x41b291
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
cmp esi, 1
setne dl
sub dl, 1
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], esi
mov edi, ebx
and edx, 0x64
mov byte [ebx + 5], dl
mov byte [ebx], 0
call fcn.004146d0
test eax, eax
je 0x41b2ad
push eax
lea ecx, [esp + 0x54]
push str.btreeInitPage___returns_error_code__d
push ecx
mov esi, ebp
call fcn.0041ade0
mov edx, dword [ebx + 0x44]
add esp, 0xc
push edx
call fcn.0042f810
add esp, 4
xor eax, eax
jmp 0x41b762
push eax
lea eax, [esp + 0x54]
push str.unable_to_get_the_page._error_code_d
push eax
mov esi, ebp
call fcn.0041ade0
add esp, 0xc
xor eax, eax
jmp 0x41b762
xor ebp, ebp
cmp word [ebx + 0x10], bp
mov dword [esp + 0x28], 0
jbe 0x41b444
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x10], 0
je 0x41b444
push ebp
push esi
push str.On_tree_page__d_cell__d:
lea ecx, [esp + 0x5c]
push ecx
push 0x64
call fcn.00411b10
mov eax, dword [ebx + 0x40]
movzx edx, word [ebx + 0xc]
add edx, eax
xor ecx, ecx
mov ch, byte [edx + ebp*2]
lea edi, [edx + ebp*2]
movzx edx, word [ebx + 0x12]
add esp, 0x14
mov cl, byte [edi + 1]
and ecx, edx
add ecx, eax
lea eax, [esp + 0x30]
push eax
mov esi, ecx
push esi
push ebx
call fcn.00413fa0
mov eax, dword [esp + 0x4c]
add esp, 0xc
cmp byte [ebx + 2], 0
jne 0x41b322
mov ecx, dword [esp + 0x38]
add eax, ecx
movzx edx, word [esp + 0x4a]
cmp eax, edx
jbe 0x41b3b3
mov edi, dword [esp + 0x18]
movzx edi, word [edi + 0x16]
movzx ecx, word [esp + 0x4c]
add edi, dword [ebx + 0x40]
add ecx, esi
cmp ecx, edi
ja 0x41b3b3
sub eax, edx
mov edx, dword [esp + 0x20]
lea eax, [eax + edx - 5]
lea edi, [edx - 4]
xor edx, edx
div edi
movzx edx, byte [ecx + 1]
mov dh, byte [ecx]
shl edx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
or edx, eax
shl edx, 8
or edx, ecx
mov edi, edx
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x12], 0
je 0x41b399
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x18]
push ecx
push 3
call fcn.0041aeb0
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x50]
push edx
push eax
push 0
mov eax, edi
call fcn.0041af40
add esp, 0xc
cmp byte [ebx + 3], 0
jne 0x41b42e
movzx edx, byte [esi + 2]
movzx eax, byte [esi + 3]
xor ecx, ecx
mov ch, byte [esi]
mov cl, byte [esi + 1]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov edi, ecx
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x12], 0
je 0x41b3f9
mov eax, dword [esp + 0xc8]
lea edx, [esp + 0x50]
push edx
push eax
mov eax, dword [esp + 0x1c]
push 5
call fcn.0041aeb0
add esp, 0xc
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push edi
push esi
call fcn.0041b1b0
add esp, 0xc
test ebp, ebp
mov edi, eax
jle 0x41b42a
cmp edi, dword [esp + 0x28]
je 0x41b42a
lea edx, [esp + 0x50]
push str.Child_page_depth_differs
push edx
call fcn.0041ade0
add esp, 8
mov dword [esp + 0x28], edi
movzx eax, word [ebx + 0x10]
mov esi, dword [esp + 0xc8]
add ebp, 1
cmp ebp, eax
jl 0x41b2c1
cmp byte [ebx + 3], 0
jne 0x41b4b2
movzx ecx, byte [ebx + 5]
mov edx, dword [ebx + 0x40]
lea eax, [ecx + edx + 8]
movzx ecx, byte [eax + 1]
mov ch, byte [eax]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
push esi
mov edi, ecx
push str.On_page__d_at_right_child:
lea ecx, [esp + 0x58]
push ecx
push 0x64
call fcn.00411b10
mov edx, dword [esp + 0x28]
add esp, 0x10
cmp byte [edx + 0x12], 0
je 0x41b49f
mov eax, dword [esp + 0x14]
push 0
push esi
push 5
call fcn.0041aeb0
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x50]
push eax
push edi
push ecx
call fcn.0041b1b0
add esp, 0xc
movzx esi, byte [ebx + 5]
mov eax, dword [0x4e3840]
test eax, eax
mov edx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x40]
movzx edi, word [edx + 0x14]
mov dword [esp + 0x24], esi
je 0x41b4d8
push eax
call dword [0x4df770]
add esp, 4
mov eax, edi
call fcn.00412d40
mov edi, eax
mov eax, dword [0x4e3840]
test eax, eax
je 0x41b4f4
push eax
call dword [0x4df778]
add esp, 4
test edi, edi
jne 0x41b508
mov eax, dword [esp + 0x14]
mov dword [eax + 0x18], 1
jmp 0x41b6bc
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov ch, byte [esi + ebp + 5]
mov cl, byte [esi + ebp + 6]
movzx eax, cx
movzx esi, ax
sub edx, esi
push edx
lea eax, [esi + edi]
push 0
push eax
call fcn.004858f0
add esp, 0xc
push esi
push 1
push edi
call fcn.004858f0
mov esi, dword [esp + 0x30]
movzx edx, byte [ebx + 3]
xor ecx, ecx
mov ch, byte [esi + ebp + 3]
mov eax, 3
sub eax, edx
mov edx, dword [esp + 0x2c]
add esp, 0xc
lea eax, [esi + eax*4]
mov dword [esp + 0x18], 0
mov cl, byte [esi + ebp + 4]
test ecx, ecx
mov dword [esp + 0x2c], ecx
jle 0x41b609
lea esi, [eax + ebp]
mov dword [esp + 0x1c], esi
jmp 0x41b57a
mov esi, dword [esp + 0x1c]
xor ecx, ecx
mov ch, byte [esi]
mov eax, 0x400
mov cl, byte [esi + 1]
mov esi, ecx
lea ecx, [edx - 4]
cmp esi, ecx
jg 0x41b5a3
lea edx, [esi + ebp]
push edx
push ebx
call fcn.004140f0
mov edx, dword [esp + 0x28]
add esp, 8
movzx eax, ax
movzx eax, ax
lea eax, [eax + esi - 1]
cmp eax, edx
jl 0x41b5d6
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push 0
push ecx
push edx
push str.Corruption_detected_in_cell__d_on_page__d
push 0
call fcn.0041ade0
mov edx, dword [esp + 0x34]
add esp, 0x14
jmp 0x41b5eb
cmp eax, esi
jl 0x41b5eb
lea ebx, [ebx]
add byte [edi + eax], 1
sub eax, 1
cmp eax, esi
jge 0x41b5e0
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], 2
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jl 0x41b576
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov ch, byte [esi + ebp + 1]
mov cl, byte [esi + ebp + 2]
test ecx, ecx
jle 0x41b64c
jmp 0x41b620
xor eax, eax
mov ah, byte [ecx + ebp + 2]
mov al, byte [ecx + ebp + 3]
lea eax, [eax + ecx - 1]
cmp eax, ecx
jl 0x41b63d
add byte [edi + eax], 1
sub eax, 1
cmp eax, ecx
jge 0x41b632
xor eax, eax
mov ah, byte [ecx + ebp]
mov al, byte [ecx + ebp + 1]
mov ecx, eax
test ecx, ecx
jg 0x41b620
xor esi, esi
xor eax, eax
test edx, edx
jle 0x41b692
mov cl, byte [edi + eax]
test cl, cl
jne 0x41b660
add esi, 1
jmp 0x41b665
cmp cl, 1
jg 0x41b66e
add eax, 1
cmp eax, edx
jl 0x41b654
jmp 0x41b692
mov ecx, dword [esp + 0xc8]
push ecx
push eax
push str.Multiple_uses_for_byte__d_of_page__d
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x20]
push 0
call fcn.0041ade0
mov esi, dword [esp + 0x2c]
add esp, 0x10
mov edx, dword [esp + 0x24]
movzx eax, byte [edx + ebp + 7]
cmp esi, eax
je 0x41b6bc
mov ecx, dword [esp + 0xc8]
push ecx
push eax
push esi
mov esi, dword [esp + 0x20]
push str.Fragmentation_of__d_bytes_reported_as__d_on_page__d
push 0
call fcn.0041ade0
add esp, 0x14
mov eax, dword [0x4e3840]
test eax, eax
je 0x41b6cf
push eax
call dword [0x4df770]
add esp, 4
test edi, edi
je 0x41b73c
cmp edi, dword [0x4e385c]
jb 0x41b70d
cmp edi, dword [0x4e3860]
jae 0x41b70d
mov eax, dword [0x4e3de4]
sub eax, 1
cmp eax, dword [0x4e3e08]
mov dword [0x4e3de4], eax
jle 0x41b6fd
mov dword [0x4e3e08], eax
mov edx, dword [0x4e3864]
mov dword [edi], edx
mov dword [0x4e3864], edi
jmp 0x41b73c
push edi
call dword [0x4df74c]
mov ecx, dword [0x4e3de8]
sub ecx, eax
add esp, 4
cmp ecx, dword [0x4e3e0c]
mov dword [0x4e3de8], ecx
jle 0x41b733
mov dword [0x4e3e0c], ecx
push edi
call fcn.0040f3f0
add esp, 4
mov eax, dword [0x4e3840]
test eax, eax
je 0x41b74f
push eax
call dword [0x4df778]
add esp, 4
mov eax, dword [ebx + 0x44]
push eax
call fcn.0042f810
mov eax, dword [esp + 0x2c]
add esp, 4
add eax, 1
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00485605
add esp, 0xb0
ret