Function at 0x10140f70
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x2c
push ebx
push esi
mov esi, ecx
mov ebx, 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebx
movzx eax, word [esi + 0x14]
movzx ecx, word [esi + 0x16]
sub eax, ebx
mov dword [esp + 0x2c], ecx
cmp eax, ebx
jle 0x101411f8
movsd xmm6, qword [0x1039c168]
lea eax, [ecx - 4]
movsd xmm7, qword [0x1039c098]
xorps xmm5, xmm5
movsd xmm4, qword [0x1039c490]
push ebp
mov dword [esp + 0x24], eax
push edi
nop
mov ebp, dword [esi + 0x188]
mov eax, ebx
movzx edi, word [esi + 0x16]
and eax, 7
mov edx, ebp
imul edi, ebx
lea ecx, [eax*4]
shr edx, cl
lea ecx, [eax + eax]
and edx, 1
add edx, 4
mov eax, edx
mov dword [esp + 0x38], edx
and eax, 1
add edi, edx
or ecx, eax
add ecx, ecx
shr ebp, cl
and ebp, 3
cmp edx, dword [esp + 0x28]
jge 0x101411e2
mov ecx, dword [esp + 0x34]
lea esi, [edi*8]
mov ebx, edi
sub ebx, ecx
shl ebx, 3
lea eax, [edi + ecx]
shl eax, 3
lea edx, [ecx + ecx]
mov dword [esp + 0x10], eax
lea eax, [edi + edx]
lea ecx, [eax*8]
mov dword [esp + 0x24], ecx
lea eax, [eax*4]
mov ecx, edi
add eax, ebp
sub ecx, edx
add eax, eax
mov dword [esp + 0x1c], eax
lea edx, [ecx*8]
mov dword [esp + 0x20], edx
lea eax, [ecx*4]
lea edx, [edi*4]
add eax, ebp
mov edi, dword [esp + 0x28]
add edx, ebp
sub edi, dword [esp + 0x38]
add eax, eax
dec edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add edx, edx
shr edi, 1
mov dword [esp + 0x14], edx
inc edi
nop dword [eax]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [ecx + 8]
movzx eax, word [eax + ebp + 6]
movzx ecx, word [esi + ebp + 6]
lea ecx, [eax + ecx*2]
movzx eax, word [ebx + ebp + 6]
add ecx, eax
movzx eax, word [esi + ebp + 0xe]
add ecx, eax
movzx eax, word [esi + ebp - 2]
add ecx, eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax + ebp + 6]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + ebp + 6]
add edx, eax
movzx eax, word [esi + ebp + 0x16]
add edx, eax
movzx eax, word [esi + ebp - 0xa]
add edx, eax
movzx eax, word [ecx + ebp]
add ecx, 0x10
mov dword [esp + 0x14], ecx
movzx ecx, word [esi + ebp + 0xa]
movd xmm2, eax
movzx eax, word [esi + ebp - 6]
add ecx, eax
mov eax, dword [esp + 0x14]
cvtdq2pd xmm2, xmm2
movd xmm3, ecx
movzx ecx, word [eax + ebp - 0x20]
movzx eax, word [eax + ebp]
add ecx, eax
mov eax, 0x10
cvtdq2pd xmm3, xmm3
sub eax, edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm3, xmm6
mulsd xmm0, xmm6
addsd xmm3, xmm2
subsd xmm3, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
movzx ecx, word [eax + ebp + 2]
movzx eax, word [ebx + ebp + 2]
add ecx, eax
mov eax, dword [esp + 0x18]
mulsd xmm3, xmm0
movd xmm1, ecx
movzx ecx, word [eax + ebp]
mov eax, dword [esp + 0x1c]
cvtdq2pd xmm1, xmm1
movzx eax, word [eax + ebp]
add ecx, eax
mulsd xmm1, xmm6
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm2
mulsd xmm0, xmm6
subsd xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm3, xmm1
mulsd xmm3, xmm7
comisd xmm4, xmm3
jbe 0x101411a0
comisd xmm5, xmm3
jbe 0x1014119a
movaps xmm3, xmm5
jmp 0x101411a3
comisd xmm4, xmm3
ja 0x101411a3
movaps xmm3, xmm4
add dword [esp + 0x18], 0x10
add ebx, 0x10
add dword [esp + 0x1c], 0x10
add dword [esp + 0x20], 0x10
add dword [esp + 0x24], 0x10
cvttsd2si eax, xmm3
mov word [esi + ebp + 2], ax
add esi, 0x10
mov eax, dword [esp + 0x10]
add eax, 0x10
mov dword [esp + 0x10], eax
sub edi, 1
jne 0x10141080
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
movzx eax, word [esi + 0x14]
inc ebx
sub eax, 4
mov dword [esp + 0x30], ebx
cmp ebx, eax
jl 0x10140fc0
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x2c
ret