Function at 0x40a0a0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [esi + 0x1168], 2
mov dword [esi + 0x116c], 2
mov dword [esi + 0x1170], 2
mov dword [esi + 0x1174], 2
movzx eax, byte [edi + 1]
cmp eax, 2
ja 0x40a322
je 0x40a1ed
sub eax, 0
je 0x40a0f2
sub eax, 1
jmp 0x40a327
push edi
call fcn.004093f0
test al, al
je 0x40a333
mov dword [esi + 0x1128], 0
xor edx, edx
mov dword [esi + 0x112c], 0
mov dword [esi + 0x1130], 0
movzx ecx, byte [edi + 4]
movzx eax, byte [edi + 3]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x111c], 0
mov dword [esi + 0x1118], ecx
mov ecx, 0xc
movzx eax, byte [edi + 5]
div ecx
mov eax, 0xaaaaaaab
inc edx
mov dword [esi + 0x1120], edx
movzx ecx, byte [edi + 5]
mul ecx
shr edx, 3
add edx, 0x7d9
mov dword [esi + 0x1124], edx
mov edx, 0x258
movzx ecx, byte [edi + 6]
mov eax, edx
sub eax, ecx
mov ecx, edx
mov dword [esi + 0x1138], eax
movzx eax, byte [edi + 7]
sub ecx, eax
mov dword [esi + 0x113c], ecx
movzx eax, byte [edi + 8]
sub edx, eax
mov dword [esi + 0x1140], edx
movzx eax, byte [edi + 9]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4a6198]
movsd qword [esi + 0x1148], xmm0
movzx eax, byte [edi + 0xa]
mov dword [esi + 0x1150], eax
movzx eax, byte [edi + 0xc]
mov dword [esi + 0x1154], eax
movsx eax, byte [edi + 0xb]
mov dword [esi + 0x1158], eax
mov dword [esi + 0x115c], 0
mov dword [esi + 0x1160], 0
movzx eax, byte [edi + 0xe]
jmp 0x40a413
push edi
call fcn.004093f0
test al, al
je 0x40a333
movzx eax, byte [edi + 0x10]
mov edx, 0x258
mov dword [esi + 0x1128], eax
movzx eax, byte [edi + 0x11]
mov dword [esi + 0x112c], eax
movzx eax, byte [edi + 0x12]
add eax, 0x7d0
mov dword [esi + 0x1130], eax
movzx ecx, byte [edi + 4]
movzx eax, byte [edi + 3]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x1118], ecx
movzx eax, byte [edi + 5]
mov dword [esi + 0x111c], eax
movzx eax, byte [edi + 6]
mov dword [esi + 0x1120], eax
movzx eax, byte [edi + 7]
add eax, 0x7d0
mov dword [esi + 0x1124], eax
mov eax, edx
movzx ecx, byte [edi + 8]
sub eax, ecx
mov ecx, edx
mov dword [esi + 0x1138], eax
movzx eax, byte [edi + 9]
sub ecx, eax
mov dword [esi + 0x113c], ecx
mov ecx, esi
movzx eax, byte [edi + 0xa]
sub edx, eax
mov dword [esi + 0x1140], edx
movzx eax, byte [edi + 0xb]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4a6198]
movsd qword [esi + 0x1148], xmm0
movzx eax, byte [edi + 0xc]
mov dword [esi + 0x1150], eax
movzx eax, byte [edi + 0xe]
mov dword [esi + 0x1154], eax
movsx eax, byte [edi + 0xd]
mov dword [esi + 0x1158], eax
movzx eax, byte [edi + 0x13]
mov dword [esi + 0x115c], eax
movzx eax, byte [edi + 0x14]
mov dword [esi + 0x1160], eax
movzx eax, byte [edi + 0x1c]
mov dword [esi + 0x1114], eax
movzx eax, byte [edi + 0x20]
and eax, 3
mov dword [esi + 0x1168], eax
movzx eax, byte [edi + 0x20]
shr eax, 2
and eax, 3
mov dword [esi + 0x116c], eax
movzx eax, byte [edi + 0x20]
shr eax, 4
and eax, 3
mov dword [esi + 0x1170], eax
movzx eax, byte [edi + 0x20]
shr eax, 6
mov dword [esi + 0x1174], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
call eax
pop edi
pop esi
pop ebp
ret 4
cmp eax, 0xff
jne 0x40a333
push edi
call fcn.004093f0
test al, al
jne 0x40a33b
pop edi
xor al, al
pop esi
pop ebp
ret 4
movzx eax, byte [edi + 0x10]
mov edx, 0x258
mov dword [esi + 0x1128], eax
movzx eax, byte [edi + 0x11]
mov dword [esi + 0x112c], eax
movzx eax, byte [edi + 0x12]
add eax, 0x7d0
mov dword [esi + 0x1130], eax
movzx ecx, byte [edi + 4]
movzx eax, byte [edi + 3]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x1118], ecx
movzx eax, byte [edi + 5]
mov dword [esi + 0x111c], eax
movzx eax, byte [edi + 6]
mov dword [esi + 0x1120], eax
movzx eax, byte [edi + 7]
add eax, 0x7d0
mov dword [esi + 0x1124], eax
mov eax, edx
movzx ecx, byte [edi + 8]
sub eax, ecx
mov ecx, edx
mov dword [esi + 0x1138], eax
movzx eax, byte [edi + 9]
sub ecx, eax
mov dword [esi + 0x113c], ecx
movzx eax, byte [edi + 0xa]
sub edx, eax
mov dword [esi + 0x1140], edx
movzx eax, byte [edi + 0xb]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4a6198]
movsd qword [esi + 0x1148], xmm0
movzx eax, byte [edi + 0xc]
mov dword [esi + 0x1150], eax
movzx eax, byte [edi + 0xe]
mov dword [esi + 0x1154], eax
movsx eax, byte [edi + 0xd]
mov dword [esi + 0x1158], eax
mov dword [esi + 0x115c], 0
mov dword [esi + 0x1160], 0
movzx eax, byte [edi + 0x1c]
mov dword [esi + 0x1114], eax
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
call eax
pop edi
pop esi
pop ebp
ret 4