Function at 0x475b20
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
add dword [esi + 0xc4], edi
cmp dword [esi + 0xc4], edi
sbb eax, eax
neg eax
add dword [esi + 0xc8], eax
cmp dword [esi + 0xc8], eax
sbb eax, eax
neg eax
add dword [esi + 0xcc], eax
cmp dword [esi + 0xcc], eax
sbb eax, eax
neg eax
add dword [esi + 0xd0], eax
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x475bb0
lea ecx, [eax + edi]
cmp ecx, 0x80
jge 0x475bb0
push edi
lea edx, [eax + esi + 0x40]
push ebx
push edx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
add dword [esi + 0xc0], edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
add eax, edi
cmp eax, 0x80
jl 0x475d5b
lea ecx, [ecx]
mov eax, dword [esi + 0xc0]
mov ecx, 0x80
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x40]
push ebx
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [esi + 0xc0]
mov ecx, 0x80
sub ecx, eax
add ebx, ecx
add esp, 0xc
lea edi, [edi + eax - 0x80]
mov dword [ebp - 0x88], ebx
xor ecx, ecx
lea eax, [esi + 0x41]
lea ebx, [ebx]
movzx edx, byte [eax - 1]
shl edx, 8
movzx ebx, byte [eax]
or edx, ebx
shl edx, 8
movzx ebx, byte [eax + 1]
or edx, ebx
shl edx, 8
movzx ebx, byte [eax + 2]
or edx, ebx
mov dword [ebp + ecx*8 - 0x84], edx
movzx edx, byte [eax + 3]
shl edx, 8
movzx ebx, byte [eax + 4]
or edx, ebx
shl edx, 8
movzx ebx, byte [eax + 5]
or edx, ebx
shl edx, 8
movzx ebx, byte [eax + 6]
or edx, ebx
mov dword [ebp + ecx*8 - 0x80], edx
movzx edx, byte [eax + 7]
shl edx, 8
movzx ebx, byte [eax + 8]
or edx, ebx
movzx ebx, byte [eax + 9]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xa]
shl edx, 8
or edx, ebx
mov dword [ebp + ecx*8 - 0x7c], edx
movzx edx, byte [eax + 0xb]
movzx ebx, byte [eax + 0xc]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xd]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xe]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x10]
mov dword [ebp + ecx*8 - 0x78], edx
movzx edx, byte [eax + 0xf]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x11]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x12]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x14]
mov dword [ebp + ecx*8 - 0x74], edx
movzx edx, byte [eax + 0x13]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x15]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x16]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x18]
mov dword [ebp + ecx*8 - 0x70], edx
movzx edx, byte [eax + 0x17]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x19]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x1a]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x1c]
mov dword [ebp + ecx*8 - 0x6c], edx
movzx edx, byte [eax + 0x1b]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x1d]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0x1e]
shl edx, 8
or edx, ebx
mov dword [ebp + ecx*8 - 0x68], edx
add ecx, 4
add eax, 0x20
cmp ecx, 0x10
jl 0x475c00
push esi
lea edx, [ebp - 0x84]
call fcn.00473b70
mov ebx, dword [ebp - 0x88]
mov dword [esi + 0xc0], 0
mov eax, dword [esi + 0xc0]
add eax, edi
add esp, 4
cmp eax, 0x80
jge 0x475bc0
push edi
lea ecx, [esi + 0x40]
push ebx
push ecx
call sub.MSVCR100.dll_memcpy
mov ecx, dword [ebp - 4]
add esp, 0xc
mov dword [esi + 0xc0], edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b7f56
mov esp, ebp
pop ebp
ret