Function at 0x8040f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edx, dword [0x1005044]
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
movzx ebp, ax
shr eax, 0x10
mov dword [esp], eax
test edi, edi
je 0x8042f1
test esi, esi
je 0x8042bb
mov eax, 0x5e6ea9af
mul esi
mov ecx, edx
shr ecx, 0xb
imul eax, ecx, 0x15b0
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jbe 0x8042e6
lea esi, [esi]
nop
lea edx, [ecx - 8]
mov dword [esp + 0x14], ecx
mov eax, edx
mov dword [esp + 0x18], edx
shr eax, 3
mov dword [esp + 0x1c], esi
lea eax, [edi + eax*8 + 8]
mov dword [esp + 0x10], eax
lea esi, [esi]
movzx eax, byte [edi]
movzx edx, byte [edi + 2]
add edi, 8
movzx ecx, byte [edi - 3]
add eax, ebp
movzx ebp, byte [edi - 1]
mov esi, eax
movzx eax, byte [edi - 7]
mov dword [esp + 4], esi
add eax, esi
movzx esi, byte [edi - 5]
lea ebx, [edx + eax]
movzx edx, byte [edi - 2]
add esi, ebx
mov dword [esp + 8], ebx
movzx ebx, byte [edi - 4]
mov dword [esp + 0xc], esi
add ebx, esi
mov esi, dword [esp + 4]
add ecx, ebx
add eax, esi
mov esi, dword [esp + 8]
add edx, ecx
add ebp, edx
add eax, esi
mov esi, dword [esp + 0xc]
add eax, esi
add eax, ebx
add eax, ecx
add eax, edx
add eax, ebp
add dword [esp], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
jne 0x804170
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
and edx, 0xfffffff8
add edx, 8
cmp edx, ecx
jae 0x8042e0
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx]
add ebp, eax
lea eax, [edx + 1]
add dword [esp], ebp
mov edi, dword [esp]
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 1]
add ebp, eax
lea eax, [edx + 2]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 2]
add ebp, eax
lea eax, [edx + 3]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 3]
add ebp, eax
lea eax, [edx + 4]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 4]
add ebp, eax
lea eax, [edx + 5]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 5]
add ebp, eax
lea eax, [edx + 6]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 6]
add ebp, eax
lea eax, [edx + 7]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x80427d
movzx eax, byte [ebx + 7]
add ebp, eax
add edi, ebp
mov dword [esp], edi
mov edi, dword [esp + 0x10]
mov eax, ecx
sub eax, edx
add edi, eax
mov ebx, 0x80078071
mov eax, ebp
mul ebx
mov eax, dword [esp]
shr edx, 0xf
imul edx, edx, 0xfff1
sub ebp, edx
mul ebx
mov ebx, edx
shr ebx, 0xf
imul ebx, ebx, 0xfff1
sub dword [esp], ebx
sub esi, ecx
mov ecx, 0x15b0
jne 0x804150
mov eax, dword [esp]
shl eax, 0x10
add eax, ebp
mov edx, dword [esp + 0x2c]
sub edx, dword [0x1005044]
jne 0x8042f8
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp 0x804287
mov dword [esp + 0x10], edi
xor edx, edx
jmp 0x8041e8
mov eax, 1
jmp 0x8042c3
call fcn.00401690
nop
nop
nop
sub esp, 0x3c
mov eax, dword [0x1005044]
mov dword [esp + 0x2c], eax
xor eax, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call 0x804350
mov edx, dword [esp + 0x2c]
sub edx, dword [0x1005044]
jne 0x80434a
add esp, 0x3c
ret
call fcn.00401690
nop
push ebp
vpxor xmm0, xmm0, xmm0
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov eax, dword [0x1005044]
mov dword [esp + 0x4c], eax
xor eax, eax
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x14]
vmovdqu xmmword [esp + 0x1c], xmm0
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
vmovdqu xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00804920
mov ebx, eax
test eax, eax
je 0x8043d0
mov eax, dword [esp + 0x4c]
sub eax, dword [0x1005044]
jne 0x804412
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 4
mov dword [esp], esi
call fcn.008046b0
mov ebx, eax
cmp eax, 1
je 0x804400
mov dword [esp], esi
call fcn.008048c0
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x8043b4
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov dword [esp], esi
call fcn.008048c0
mov ebx, eax
jmp 0x8043b4
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x2c
mov eax, dword [0x1005044]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00804860
mov edx, dword [esp + 0x1c]
sub edx, dword [0x1005044]
jne 0x804450
add esp, 0x2c
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop