Function at 0x10174b40
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 0x10174db6
movsd xmm4, qword [0x103f9488]
lea eax, [ecx - 4]
movsd xmm5, qword [0x103f93d8]
push ebp
mov dword [esp + 0x24], eax
push edi
mov ebp, dword [esi + 0x194]
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 0x10174da0
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 edx, edx
dec edi
mov dword [esp + 0x14], edx
add eax, eax
shr edi, 1
mov dword [esp + 0x18], eax
inc edi
nop dword [eax]
mov eax, dword [esp + 0x2c]
mov ebp, dword [eax + 8]
movzx eax, word [esi + ebp + 0xe]
movzx ecx, word [esi + ebp + 6]
lea ecx, [eax + ecx*2]
movzx eax, word [esi + ebp - 2]
add ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + ebp + 6]
add ecx, eax
movzx eax, word [ebx + ebp + 6]
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, xmm4
mulsd xmm0, xmm4
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, xmm4
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm2
mulsd xmm0, xmm4
subsd xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm3, xmm1
mulsd xmm3, xmm5
cvttsd2si ecx, xmm3
cmp ecx, 0xffff
jge 0x10174d61
test ecx, ecx
jns 0x10174d61
xor eax, eax
jmp 0x10174d6b
mov eax, 0xffff
cmp ecx, eax
cmovl eax, ecx
add dword [esp + 0x18], 0x10
add ebx, 0x10
add dword [esp + 0x1c], 0x10
add dword [esp + 0x20], 0x10
add dword [esp + 0x24], 0x10
add dword [esp + 0x10], 0x10
mov word [esi + ebp + 2], ax
add esi, 0x10
sub edi, 1
jne 0x10174c40
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 0x10174b83
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x2c
ret