Function at 0x56cb90
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x218]
cmp eax, dword [ecx + 8]
jbe 0x56d31e
sub esp, 0x298
lea edi, [esp + 0x2ac]
xor eax, eax
call fcn.00465feb
lea edi, [esp + 0x94]
call fcn.00465feb
mov ecx, dword [esp + 0x2a0]
cmp ecx, 0xc
jl 0x56d261
mov edx, dword [esp + 0x29c]
movzx ebx, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 1]
shl ebp, 0x10
or ebp, ebx
movzx ebx, byte [edx]
shl ebx, 0x18
or ebx, ebp
mov dword [esp + 0x94], ebx
movzx ebx, byte [edx + 4]
mov byte [esp + 0x98], bl
movzx ebx, byte [edx + 5]
mov byte [esp + 0x99], bl
movzx ebx, byte [edx + 6]
mov byte [esp + 0x9a], bl
movzx ebx, byte [edx + 7]
mov byte [esp + 0x9b], bl
lea ebx, [ecx - 8]
cmp ebx, 3
jbe 0x56d311
movzx ebx, byte [edx + 0xb]
movzx ebp, byte [edx + 0xa]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 9]
shl ebp, 0x10
or ebp, ebx
movzx ebx, byte [edx + 8]
shl ebx, 0x18
or ebx, ebp
mov dword [esp + 0x9c], ebx
movzx ebx, byte [esp + 0x9b]
cmp bl, 1
ja 0x56cdf0
test bl, bl
jne 0x56cd38
lea edi, [esp + 0xa8]
call fcn.00465fe5
mov ecx, dword [esp + 0x2a4]
lea ebx, [ecx - 0xc]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0xc
add ebx, edx
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a0]
lea esi, [ebx - 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2a8]
mov dword [esp + 0xc], ebp
call fcn.0056e4f0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x7c], edx
lea edi, [esp + 0xa8]
lea esi, [esp + 0x10]
call fcn.00466492
lea edi, [esp + 0xd4]
lea esi, [esp + 0xa8]
call fcn.00466492
lea ecx, [0x6b60a0]
mov dword [esp], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 4], ecx
call fcn.004095e0
mov ecx, dword [esp + 8]
lea edx, [0x785d40]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x56d087
lea edi, [esp + 0x138]
call fcn.00465fe2
mov ecx, dword [esp + 0x2a4]
lea ebx, [ecx - 0xc]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0xc
add ebx, edx
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a0]
lea esi, [ebx - 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2a8]
mov dword [esp + 0xc], ebp
call fcn.0056d330
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x7c], edx
lea edi, [esp + 0x138]
lea esi, [esp + 0x10]
call fcn.00466474
lea edi, [esp + 0x1a8]
lea esi, [esp + 0x138]
call fcn.00466474
lea ecx, [0x6c1460]
mov dword [esp], ecx
lea ecx, [esp + 0x1a8]
mov dword [esp + 4], ecx
call fcn.004095e0
mov ecx, dword [esp + 8]
lea edx, [0x785cf0]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x56d087
cmp bl, 2
je 0x56cfd4
cmp bl, 4
je 0x56cf3c
cmp bl, 5
jne 0x56cec3
lea edi, [esp + 0x100]
call fcn.00465fe2
mov ecx, dword [esp + 0x2a4]
lea ebx, [ecx - 0xc]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0xc
add ebx, edx
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a0]
lea esi, [ebx - 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2a8]
mov dword [esp + 0xc], ebp
call fcn.0056d880
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x7c], edx
lea edi, [esp + 0x100]
lea esi, [esp + 0x10]
call fcn.00466474
lea edi, [esp + 0x170]
lea esi, [esp + 0x100]
call fcn.00466474
lea ecx, [0x6c14e0]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov dword [esp + 4], ecx
call fcn.004095e0
mov ecx, dword [esp + 8]
lea edx, [0x785d04]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x56d087
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
movzx eax, byte [esp + 0x9b]
lea ecx, [0x69b080]
mov dword [esp + 0x84], ecx
lea ecx, [0x934160]
lea eax, [ecx + eax*8]
mov dword [esp + 0x88], eax
lea eax, [0x6fda59]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x56d087
mov eax, dword [esp + 0x2a4]
lea ebx, [eax - 0xc]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0xc
add ebx, edx
mov dword [esp], ebx
lea ebx, [ecx - 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0x2a8]
mov dword [esp + 0xc], ebx
call fcn.0056e3e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
lea eax, [0x6b6040]
mov dword [esp], eax
lea eax, [esp + 0x8c]
mov dword [esp + 4], eax
call fcn.004095e0
mov eax, dword [esp + 8]
lea ecx, [0x785d2c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x56d087
lea edi, [esp + 0x1e0]
call fcn.00465fd9
mov ecx, dword [esp + 0x2a4]
lea ebx, [ecx - 0xc]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0xc
add ebx, edx
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a0]
lea esi, [ebx - 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2a8]
mov dword [esp + 0xc], ebp
call fcn.0056ddc0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x7c], edx
lea edi, [esp + 0x1e0]
lea esi, [esp + 0x10]
call fcn.0046641a
lea edi, [esp + 0x23c]
lea esi, [esp + 0x1e0]
call fcn.0046641a
lea ecx, [0x6d4bc0]
mov dword [esp], ecx
lea ecx, [esp + 0x23c]
mov dword [esp + 4], ecx
call fcn.004095e0
mov ecx, dword [esp + 8]
lea edx, [0x785d18]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
test ecx, ecx
je 0x56d132
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
je 0x56d0aa
mov ecx, dword [ecx + 4]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
lea eax, [0x6fb554]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0x2ac]
lea esi, [esp + 0x94]
call fcn.004664ce
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c8], eax
add esp, 0x298
ret
lea eax, [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x29c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2a0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x10], ecx
call fcn.0056ea40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
je 0x56d22a
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
test edx, edx
je 0x56d1a2
mov edx, dword [edx + 4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
lea eax, [0x6fb554]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0x2ac]
lea esi, [esp + 0x94]
call fcn.004664ce
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c8], eax
add esp, 0x298
ret
lea edi, [esp + 0x2ac]
lea esi, [esp + 0x94]
call fcn.004664ce
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c8], 0
add esp, 0x298
ret
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x7063fe]
mov dword [esp], eax
mov dword [esp + 4], 0x3b
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0x2ac]
lea esi, [esp + 0x94]
call fcn.004664ce
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c8], eax
add esp, 0x298
ret
mov eax, 3
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0056cb90