Function at 0x46b410
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x28
mov eax, dword [ecx + 0x8c]
mov dword [esp + 0xc], eax
mov edi, dword [ecx + 0x90]
mov dword [esp + 0x10], edi
mov edx, dword [ecx + 0x80]
mov dword [esp + 0x14], edx
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x18], ebx
mov esi, dword [ecx + 0x94]
mov dword [esp + 4], esi
mov ebp, dword [ecx + 0x98]
mov edi, dword [esp + 0x40]
mov dword [esp], edi
add edi, 0x1200
mov dword [esp + 0x1c], edi
xor edi, edi
add eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
pxor xmm0, xmm0
test eax, eax
jle 0x46b643
lea edx, [ebp + 1]
lea eax, [edi + edi]
add eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x24]
add ebx, ebp
mov dword [esp + 8], ebx
pxor xmm2, xmm2
sub ebx, edx
and ebx, 3
je 0x46b545
cmp ebx, 1
je 0x46b508
cmp ebx, 2
je 0x46b4d5
mov dword [ecx + 0x98], edx
movzx ebx, byte [eax]
movzx esi, byte [eax + 1]
add ebx, esi
sub ebx, 0x100
shl ebx, 7
pxor xmm2, xmm2
cvtsi2ss xmm2, ebx
mulss xmm2, dword [ecx + edx*4 + 0x98]
lea edx, [ebp + 2]
add eax, 2
mov dword [ecx + 0x98], edx
movzx ebx, byte [eax]
movzx esi, byte [eax + 1]
add ebx, esi
sub ebx, 0x100
shl ebx, 7
pxor xmm1, xmm1
cvtsi2ss xmm1, ebx
mulss xmm1, dword [ecx + edx*4 + 0x98]
addss xmm2, xmm1
add edx, 1
add eax, 2
mov dword [ecx + 0x98], edx
movzx ebx, byte [eax]
movzx esi, byte [eax + 1]
add ebx, esi
sub ebx, 0x100
shl ebx, 7
pxor xmm3, xmm3
cvtsi2ss xmm3, ebx
mulss xmm3, dword [ecx + edx*4 + 0x98]
addss xmm2, xmm3
add edx, 1
add eax, 2
cmp dword [esp + 8], edx
je 0x46b61d
mov dword [esp + 0x20], edi
mov dword [ecx + 0x98], edx
movzx edi, byte [eax]
movzx ebx, byte [eax + 1]
add edi, ebx
sub edi, 0x100
shl edi, 7
pxor xmm4, xmm4
cvtsi2ss xmm4, edi
mulss xmm4, dword [ecx + edx*4 + 0x98]
addss xmm2, xmm4
lea esi, [edx + 1]
mov dword [ecx + 0x98], esi
movzx ebx, byte [eax + 2]
movzx edi, byte [eax + 3]
add ebx, edi
sub ebx, 0x100
shl ebx, 7
pxor xmm5, xmm5
cvtsi2ss xmm5, ebx
mulss xmm5, dword [ecx + esi*4 + 0x98]
addss xmm2, xmm5
lea esi, [edx + 2]
mov dword [ecx + 0x98], esi
movzx ebx, byte [eax + 4]
movzx edi, byte [eax + 5]
add ebx, edi
sub ebx, 0x100
shl ebx, 7
pxor xmm6, xmm6
cvtsi2ss xmm6, ebx
mulss xmm6, dword [ecx + esi*4 + 0x98]
addss xmm2, xmm6
lea esi, [edx + 3]
mov dword [ecx + 0x98], esi
movzx ebx, byte [eax + 6]
movzx edi, byte [eax + 7]
add ebx, edi
sub ebx, 0x100
shl ebx, 7
pxor xmm7, xmm7
cvtsi2ss xmm7, ebx
mulss xmm7, dword [ecx + esi*4 + 0x98]
addss xmm2, xmm7
add edx, 4
add eax, 8
cmp dword [esp + 8], edx
jne 0x46b549
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
add ebp, eax
cvttss2si edx, xmm2
mov esi, 0xffff8001
cmp edx, esi
cmovge esi, edx
mov ebx, 0x7fff
cmp esi, ebx
cmovg esi, ebx
pxor xmm0, xmm0
cvtsi2ss xmm0, esi
mov eax, dword [esp]
movss dword [eax], xmm0
cmp dword [esp + 0x10], ebp
jg 0x46b65c
mov dword [ecx + 0x98], 0
xor ebp, ebp
mov edx, dword [esp + 0x14]
add edi, edx
mov esi, dword [esp + 0x18]
sub dword [esp + 4], esi
mov ebx, dword [esp + 4]
mov dword [ecx + 0x94], ebx
test ebx, ebx
jg 0x46b68d
mov eax, dword [ecx + 0x88]
add ebx, eax
mov dword [esp + 4], ebx
mov dword [ecx + 0x94], ebx
add edi, 1
add dword [esp], 4
mov edx, dword [esp]
cmp dword [esp + 0x1c], edx
jne 0x46b469
lea eax, [edi + edi]
add esp, 0x28
pop ebx
pop esi
pop edi
pop ebp
ret 8