Function at 0x40bbc3
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x2f0
push ebx
mov ebx, dword [esp + 0x2f8]
push ebp
push esi
mov esi, dword [esp + 0x304]
mov ebp, ecx
push edi
push 0x40
push 0x3000
mov edi, dword [esi + 0x3c]
add edi, esi
mov dword [esp + 0x38], edi
push dword [edi + 0x50]
push 0
push dword [ebx]
push 0x19d17db2
push 0
call fcn.0040ab30
pop ecx
pop ecx
call eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x40be4b
push 0
push dword [edi + 0x54]
mov ecx, eax
sub ecx, dword [edi + 0x34]
push esi
mov dword [edi + 0x34], eax
push dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
push dword [ebx]
push 0xb0a768d1
push 0
call fcn.0040ab30
pop ecx
pop ecx
call eax
test eax, eax
je 0x40be4b
push esi
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.0040b658
xor ebp, ebp
xor eax, eax
and dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ebp
cmp ax, word [edi + 6]
jae 0x40be4b
xor ecx, ecx
mov dword [esp + 0x18], ecx
movzx eax, word [edi + 0x14]
add eax, 0x18
add ecx, eax
add ecx, edi
mov edx, dword [ecx + 0xc]
cmp dword [esp + 0x24], edx
jb 0x40bc8d
mov eax, dword [ecx + 8]
add eax, edx
cmp dword [esp + 0x24], eax
cmovb ebp, ecx
mov dword [esp + 0x1c], ebp
mov eax, dword [ecx + 0x14]
push 0
push dword [ecx + 0x10]
add eax, esi
push eax
mov eax, dword [esp + 0x20]
add eax, edx
push eax
push dword [ebx]
push 0xb0a768d1
push 0
call fcn.0040ab30
pop ecx
pop ecx
call eax
test eax, eax
je 0x40be4b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc edx
movzx eax, word [edi + 6]
add ecx, 0x28
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp edx, eax
jl 0x40bc69
test ebp, ebp
je 0x40be4b
xor ebp, ebp
cmp dword [esp + 0x28], ebp
jbe 0x40bdab
mov edx, dword [esp + 0x1c]
lea eax, [esi + ebp]
add ebp, 8
add eax, dword [edx + 0x14]
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
mov dword [esp + 0x18], ecx
je 0x40bd9d
mov edi, eax
lea eax, [esi + ebp]
mov ebx, 0x1000
add eax, dword [edx + 0x14]
add ebp, 2
movzx eax, word [eax]
cmp ax, bx
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x304]
jb 0x40bd90
xor edx, edx
mov esi, eax
push edx
push 4
and esi, 0xfff
mov dword [esp + 0x18], edx
add esi, dword [edi]
lea eax, [esp + 0x18]
add esi, dword [esp + 0x1c]
push eax
push esi
push dword [ebx]
push 0x83851bd
push edx
call fcn.0040ab30
pop ecx
pop ecx
call eax
mov eax, dword [esp + 0x2c]
add dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push 0
push 4
push eax
push esi
push dword [ebx]
push 0xb0a768d1
push 0
call fcn.0040ab30
pop ecx
pop ecx
call eax
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x308]
mov edx, dword [esp + 0x1c]
sub ecx, 1
mov dword [esp + 0x18], ecx
jne 0x40bd0e
cmp ebp, dword [esp + 0x28]
jb 0x40bced
mov edi, dword [esp + 0x30]
push 0x2c8
xor ebp, ebp
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.00419730
add esp, 0xc
mov dword [esp + 0x34], 0x10007
lea eax, [esp + 0x34]
push eax
push dword [ebx + 4]
push 0xb6346f01
push ebp
call fcn.0040ab30
pop ecx
pop ecx
call eax
test eax, eax
je 0x40be4b
push ebp
push 4
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0xe4]
add eax, 8
push eax
push dword [ebx]
push 0xb0a768d1
push ebp
call fcn.0040ab30
pop ecx
pop ecx
call eax
test eax, eax
je 0x40be4b
mov eax, dword [edi + 0x28]
add eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0x34]
push eax
push dword [ebx + 4]
push 0x84221d18
push ebp
call fcn.0040ab30
pop ecx
pop ecx
call eax
test eax, eax
je 0x40be4b
push dword [ebx + 4]
push 0xc78d4146
push ebp
call fcn.0040ab30
pop ecx
pop ecx
call eax
xor eax, eax
inc eax
jmp 0x40be4d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f0
ret 8