Function at 0x518774
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
mov ebx, eax
mov esi, 0x5860e0
xor eax, eax
push ebp
push 0x518ab2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
test eax, eax
setne dl
mov eax, dword [ebx + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov dl, byte [esi + eax*4]
mov eax, dword [ebx + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0xbc]
mov eax, dword [ebx + 0x338]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x5187ef
mov eax, dword [ebx + 0x338]
mov edx, dword [eax]
call dword [edx + 0xb8]
test al, al
je 0x5187f3
xor edx, edx
jmp 0x5187f5
mov dl, 1
mov eax, dword [ebx + 0x344]
call fcn.00441218
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov dl, byte [esi + eax*4 + 8]
mov eax, dword [ebx + 0x320]
mov ecx, dword [eax]
call dword [ecx + 0xbc]
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov dl, byte [esi + eax*4 + 0x10]
mov eax, dword [ebx + 0x334]
mov ecx, dword [eax]
call dword [ecx + 0xbc]
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [esi + eax*4 + 0xc]
mov eax, dword [ebx + 0x324]
call fcn.004f7db4
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [esi + eax*4 + 0x14]
mov eax, dword [ebx + 0x330]
call fcn.004f7db4
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov dl, byte [esi + eax*4 + 0x18]
mov eax, dword [ebx + 0x33c]
mov ecx, dword [eax]
call dword [ecx + 0xbc]
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x2f8]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 1]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x308]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 2]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x304]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 3]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x2fc]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 4]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x300]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 5]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x30c]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 6]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x2dc]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 7]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x2e0]
call fcn.0042c640
mov eax, dword [ebx + 0x2d0]
call fcn.00478840
mov edx, eax
shl eax, 3
sub eax, edx
mov eax, dword [esi + eax*4 + 4]
mov dl, byte [eax + 8]
lea eax, [ebp - 4]
call fcn.00403db0
mov eax, dword [ebp - 4]
call fcn.00409004
mov edx, eax
mov eax, dword [ebx + 0x2e4]
call fcn.0042c640
xor edx, edx
mov eax, ebx
call fcn.005186c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x518ab9
lea eax, [ebp - 4]
call fcn.00403c0c
ret