Function at 0x4300c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor eax, eax
mov ecx, 0x8000
lea edi, [esi + 0x598d8]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x853c]
xor ebx, ebx
test eax, eax
jne 0x4304f8
cmp dword [esi + 0x458], 1
je 0x4304f8
mov eax, dword [esi + 0x38c]
test eax, eax
jne 0x43045f
lea ebx, [esp + 0x30]
lea edi, [esi + 0x85c8]
mov dword [esp + 0x18], 3
mov ebp, 4
lea ebx, [ebx]
fld dword [edi]
fmul dword [0x65f77c]
call fcn.00487bd0
mov dword [ebx], eax
add edi, 4
add ebx, 4
dec ebp
jne 0x430120
dec dword [esp + 0x18]
jne 0x430115
mov eax, dword [esi + 0x458]
cmp eax, 3
jne 0x4302c0
cmp word [esi + 0x43c], 0
mov dword [esp + 0x10], 0
jbe 0x430601
mov eax, dword [esi + 0x866c]
test eax, eax
je 0x430176
cmp dword [eax], 0
jne 0x430601
movzx eax, word [esi + 0x43e]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x14], ecx
jle 0x4302a0
nop
lea esp, [esp]
imul eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esi + 0x488]
movzx ebx, word [ecx + eax*8 + 2]
movzx edx, word [ecx + eax*8]
movzx edi, word [ecx + eax*8 + 4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x18], eax
mov ecx, ebx
imul ecx, dword [esp + 0x34]
mov eax, edx
imul eax, dword [esp + 0x30]
add eax, ecx
mov ecx, edi
imul ecx, dword [esp + 0x38]
add eax, ecx
mov ecx, edx
imul edx, dword [esp + 0x50]
imul ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
imul ebx, dword [esp + 0x44]
add ecx, ebx
mov ebx, edi
imul edi, dword [esp + 0x58]
imul ebx, dword [esp + 0x48]
add ecx, ebx
mov ebx, dword [esp + 0x1c]
imul ebx, dword [esp + 0x54]
add edx, ebx
add edx, edi
sar eax, 0xd
sar ecx, 0xd
sar edx, 0xd
cmp eax, 0xffff
jbe 0x430217
sar eax, 0x1f
not eax
and eax, 0xffff
cmp ecx, 0xffff
jbe 0x43022a
sar ecx, 0x1f
not ecx
and ecx, 0xffff
cmp edx, 0xffff
jbe 0x43023d
sar edx, 0x1f
not edx
and edx, 0xffff
mov edi, dword [esp + 0x18]
mov word [edi], ax
sar eax, 3
mov ebp, dword [esi + eax*4 + 0x598d8]
lea eax, [esi + eax*4 + 0x598d8]
inc ebp
mov dword [eax], ebp
mov word [edi + 2], cx
sar ecx, 3
mov eax, dword [esi + ecx*4 + 0x618d8]
lea ecx, [esi + ecx*4 + 0x618d8]
inc eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov word [edi + 4], dx
sar edx, 3
mov ebx, dword [esi + edx*4 + 0x698d8]
lea eax, [esi + edx*4 + 0x698d8]
inc ebx
mov dword [eax], ebx
movzx eax, word [esi + 0x43e]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x430190
mov eax, dword [esp + 0x10]
movzx edx, word [esi + 0x43c]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x430163
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp eax, 4
jne 0x430601
cmp word [esi + 0x43c], 0
mov dword [esp + 0x10], 0
jbe 0x430601
nop
mov eax, dword [esi + 0x866c]
test eax, eax
je 0x4302f3
cmp dword [eax], 0
jne 0x430601
movzx eax, word [esi + 0x43e]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x14], ecx
jle 0x43043f
imul eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esi + 0x488]
movzx ebx, word [ecx + eax*8 + 6]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 2]
movzx ecx, word [edi]
movzx edx, word [edi + 4]
mov dword [esp + 0x18], eax
mov eax, ebx
imul eax, dword [esp + 0x3c]
mov ebp, ecx
imul ebp, dword [esp + 0x30]
add eax, ebp
mov ebp, dword [esp + 0x18]
imul ebp, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
imul edx, dword [esp + 0x38]
mov dword [esp + 0x20], ebx
imul ebx, dword [esp + 0x4c]
add eax, ebp
add eax, edx
mov edx, ecx
imul ecx, dword [esp + 0x50]
imul edx, dword [esp + 0x40]
add edx, ebx
mov ebx, dword [esp + 0x18]
imul ebx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x1c]
imul ebx, dword [esp + 0x48]
add edx, ebx
mov ebx, dword [esp + 0x20]
imul ebx, dword [esp + 0x5c]
add ecx, ebx
mov ebx, dword [esp + 0x18]
imul ebx, dword [esp + 0x54]
add ecx, ebx
mov ebx, dword [esp + 0x1c]
imul ebx, dword [esp + 0x58]
add ecx, ebx
sar eax, 0xd
sar edx, 0xd
sar ecx, 0xd
cmp eax, 0xffff
jbe 0x4303ba
sar eax, 0x1f
not eax
and eax, 0xffff
cmp edx, 0xffff
jbe 0x4303cd
sar edx, 0x1f
not edx
and edx, 0xffff
cmp ecx, 0xffff
jbe 0x4303e0
sar ecx, 0x1f
not ecx
and ecx, 0xffff
mov word [edi], ax
sar eax, 3
mov ebp, dword [esi + eax*4 + 0x598d8]
lea eax, [esi + eax*4 + 0x598d8]
inc ebp
mov dword [eax], ebp
mov word [edi + 2], dx
sar edx, 3
mov eax, dword [esi + edx*4 + 0x618d8]
lea edx, [esi + edx*4 + 0x618d8]
inc eax
mov dword [edx], eax
mov word [edi + 4], cx
sar ecx, 3
mov ebx, dword [esi + ecx*4 + 0x698d8]
lea eax, [esi + ecx*4 + 0x698d8]
mov ecx, dword [esp + 0x14]
inc ebx
mov dword [eax], ebx
movzx eax, word [esi + 0x43e]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x430308
mov eax, dword [esp + 0x10]
movzx ecx, word [esi + 0x43c]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4302e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
xor ebx, ebx
cmp word [esi + 0x43c], bx
jbe 0x430601
mov edi, edi
movzx eax, word [esi + 0x43e]
xor edi, edi
test eax, eax
jle 0x4304e4
lea ecx, [ecx]
mov edx, dword [esi + 0x488]
imul eax, ebx
add eax, edi
lea edx, [edx + eax*8]
cmp dword [esi + 0x458], 4
jne 0x4304a7
movzx ecx, word [edx + 2]
movzx eax, word [edx + 6]
add eax, ecx
shr eax, 1
mov word [edx + 2], ax
xor eax, eax
lea esp, [esp]
movzx ecx, word [edx]
shr ecx, 3
add ecx, eax
mov ebp, dword [esi + ecx*4 + 0x598d8]
lea ecx, [esi + ecx*4 + 0x598d8]
inc ebp
add eax, 0x2000
add edx, 2
cmp eax, 0x6000
mov dword [ecx], ebp
jl 0x4304b0
movzx eax, word [esi + 0x43e]
inc edi
cmp edi, eax
jl 0x430480
movzx edx, word [esi + 0x43c]
inc ebx
cmp ebx, edx
jl 0x430470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
xor edx, edx
cmp word [esi + 0x43c], dx
mov dword [esi + 0x458], 1
mov dword [esp + 0x10], edx
jbe 0x430601
mov eax, dword [esi + 0x866c]
test eax, eax
je 0x430528
cmp dword [eax], 0
jne 0x430601
movzx eax, word [esi + 0x43e]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x14], ecx
jle 0x4305ed
jmp 0x430543
mov ecx, dword [esp + 0x14]
mov edi, dword [esi + 0x488]
imul eax, edx
add eax, ecx
lea ebp, [edi + eax*8]
mov eax, dword [esi + 0x853c]
test eax, eax
je 0x430571
mov ebx, dword [esi + 0x330]
and ecx, 1
and edx, 7
lea ecx, [ecx + edx*2]
shl ecx, 1
shr ebx, cl
and ebx, 3
xor edx, edx
mov edi, ebp
lea eax, [esp + 0x24]
lea esp, [esp]
movzx ecx, word [ebp + ebx*2]
test ecx, ecx
mov dword [eax], ecx
jge 0x430593
mov dword [eax], 0
jmp 0x4305a1
cmp ecx, 0xffff
jle 0x4305a1
mov dword [eax], 0xffff
mov cx, word [eax]
mov word [edi], cx
movzx ecx, cx
shr ecx, 3
add ecx, edx
inc dword [esi + ecx*4 + 0x598d8]
lea ecx, [esi + ecx*4 + 0x598d8]
add edx, 0x2000
add eax, 4
add edi, 2
cmp edx, 0x6000
jl 0x430580
mov ecx, dword [esp + 0x14]
movzx eax, word [esi + 0x43e]
mov edx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x43053f
movzx eax, word [esi + 0x43c]
inc edx
cmp edx, eax
mov dword [esp + 0x10], edx
jl 0x430515
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret