Function at 0x1017ae20
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
movzx eax, word [ecx + 0x14]
movzx edx, word [ecx + 0x16]
push ebx
push esi
mov esi, 4
mov dword [esp + 0x20], ecx
sub eax, esi
mov dword [esp + 0x28], esi
mov ebx, edx
mov dword [esp + 0x2c], ebx
cmp eax, esi
jle 0x1017b090
movsd xmm4, qword [0x103efa18]
lea eax, [ebx - 4]
movsd xmm5, qword [0x103ef970]
push ebp
push edi
mov edi, edx
mov dword [esp + 0x2c], eax
mov ebx, dword [ecx + 0x194]
mov eax, esi
and eax, 7
movzx edx, di
mov ebp, ebx
imul edx, esi
lea ecx, [eax*4]
shr ebp, cl
lea ecx, [eax + eax]
and ebp, 1
add ebp, 4
mov eax, ebp
add edx, ebp
and eax, 1
or ecx, eax
movzx eax, di
add ecx, ecx
shr ebx, cl
and ebx, 3
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x2c]
jge 0x1017b073
mov ecx, dword [esp + 0x34]
lea esi, [edx*8]
mov ebx, edx
sub ebx, ecx
shl ebx, 3
lea eax, [edx + ecx]
shl eax, 3
lea edi, [ecx + ecx]
mov dword [esp + 0x14], eax
lea eax, [edx + edi]
lea ecx, [eax*8]
mov dword [esp + 0x24], ecx
mov ecx, edx
sub ecx, edi
add edx, 2
lea edi, [ecx*8]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x1c]
lea eax, [edi + eax*4]
add eax, eax
lea edx, [edi + edx*4]
mov dword [esp + 0x1c], eax
add edx, edx
lea eax, [edi + ecx*4]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x2c]
add eax, eax
sub edi, ebp
mov dword [esp + 0x18], eax
dec edi
shr edi, 1
inc edi
mov eax, dword [esp + 0x28]
mov ebp, dword [eax + 8]
movzx eax, word [ebx + ebp + 6]
movzx ecx, word [esi + ebp + 6]
lea ecx, [eax + ecx*2]
movzx eax, word [esi + ebp + 0xe]
add ecx, eax
movzx eax, word [esi + ebp - 2]
add ecx, eax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 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]
movzx ecx, word [esi + ebp + 0xa]
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
mov eax, dword [esp + 0x10]
movzx eax, word [eax + ebp - 0x10]
movd xmm2, eax
movzx eax, word [esi + ebp - 6]
add ecx, eax
mov eax, dword [esp + 0x10]
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
movzx ecx, word [ebx + ebp + 2]
cvtdq2pd xmm0, xmm0
mulsd xmm3, xmm4
mulsd xmm0, xmm4
addsd xmm3, xmm2
subsd xmm3, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x14]
cvtdq2pd xmm0, xmm0
movzx eax, word [eax + 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 eax, xmm3
cmp eax, 0xffff
jge 0x1017b02e
xor ecx, ecx
test eax, eax
cmovs eax, ecx
jmp 0x1017b033
mov eax, 0xffff
add dword [esp + 0x18], 0x10
add ebx, 0x10
add dword [esp + 0x1c], 0x10
add dword [esp + 0x10], 0x10
add dword [esp + 0x20], 0x10
add dword [esp + 0x24], 0x10
add dword [esp + 0x14], 0x10
mov word [esi + ebp + 2], ax
add esi, 0x10
sub edi, 1
jne 0x1017af13
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
movzx eax, word [ecx + 0x16]
jmp 0x1017b077
mov ecx, dword [esp + 0x28]
movzx edi, ax
inc esi
movzx eax, word [ecx + 0x14]
sub eax, 4
mov dword [esp + 0x30], esi
cmp esi, eax
jl 0x1017ae65
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x28
ret