Function at 0x666190
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
mov eax, ecx
push esi
push edi
push dword [ebp + 0xc]
lea edi, [eax + 0x1c]
mov dword [esp + 0x34], eax
mov ecx, edi
mov dword [esp + 0x2c], edi
call fcn.00669cb0
push dword [ebp + 0x10]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], esi
call fcn.00669cb0
movq xmm0, qword [esi]
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], eax
movq qword [esp + 0x34], xmm0
xorps xmm0, xmm0
mov eax, dword [esp + 0x38]
shr eax, 0x10
mov dword [esp + 0x3c], ecx
movaps xmm5, xmmword [0x719700]
push dword [ebp + 8]
movd xmm4, eax
movzx eax, cx
shr ecx, 0x10
cvtdq2ps xmm4, xmm4
movd xmm2, eax
movzx eax, word [esp + 0x38]
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, edi
cvtdq2ps xmm1, xmm1
movd xmm3, eax
mov eax, dword [esp + 0x38]
unpcklps xmm2, xmm0
unpcklps xmm4, xmm1
xorps xmm1, xmm1
shr eax, 0x10
unpcklps xmm4, xmm2
cvtdq2ps xmm3, xmm3
movd xmm2, eax
movzx eax, word [esp + 0x3c]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
unpcklps xmm2, xmm1
unpcklps xmm3, xmm0
unpcklps xmm3, xmm2
addps xmm4, xmm3
shufps xmm5, xmm5, 0
movaps xmmword [esp + 0x44], xmm5
mulps xmm4, xmm5
movaps xmmword [esp + 0x54], xmm4
call fcn.00669cb0
mov esi, eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], esi
test dword [esi + 0x14], 0x80000000
jne 0x6663af
nop word [eax + eax]
push dword [esi + 0x10]
mov ecx, edi
call fcn.00669cd0
mov esi, eax
mov ecx, edi
mov eax, dword [esp + 0x14]
push dword [eax + 0xc]
call fcn.00669cd0
mov edx, eax
xorps xmm1, xmm1
movzx ecx, word [edx + 6]
movzx eax, word [edx]
movd xmm5, ecx
movzx ecx, word [edx + 8]
movd xmm3, eax
movzx eax, word [edx + 2]
cvtdq2ps xmm5, xmm5
movd xmm2, ecx
movzx ecx, word [edx + 0xa]
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
unpcklps xmm2, xmm1
unpcklps xmm5, xmm0
unpcklps xmm5, xmm2
movd xmm2, eax
movzx eax, word [edx + 4]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
movzx eax, word [esi + 6]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm3, xmm3
movd xmm4, eax
movzx eax, word [esi + 8]
unpcklps xmm3, xmm0
unpcklps xmm2, xmm1
unpcklps xmm3, xmm2
movd xmm2, eax
addps xmm5, xmm3
movzx eax, word [esi + 0xa]
cvtdq2ps xmm4, xmm4
movd xmm0, eax
movzx eax, word [esi]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
unpcklps xmm4, xmm0
movd xmm3, eax
movzx eax, word [esi + 2]
mulps xmm5, xmmword [esp + 0x40]
unpcklps xmm2, xmm1
unpcklps xmm4, xmm2
movd xmm2, eax
movzx eax, word [esi + 4]
subps xmm5, xmmword [esp + 0x50]
cvtdq2ps xmm3, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x14]
cvtdq2ps xmm2, xmm2
unpcklps xmm3, xmm0
unpcklps xmm2, xmm1
unpcklps xmm3, xmm2
addps xmm4, xmm3
mulps xmm5, xmm5
mulps xmm4, xmmword [esp + 0x40]
subps xmm4, xmmword [esp + 0x50]
mulps xmm4, xmm4
subps xmm4, xmm5
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
shufps xmm4, xmm4, 0
movmskps ecx, xmm4
and ecx, 1
mov dword [esp + 0x24], ecx
mov eax, dword [eax + ecx*4 + 0xc]
mov ecx, edi
mov dword [ebp + 8], eax
push eax
call fcn.00669cd0
mov esi, eax
mov dword [esp + 0x14], esi
test dword [esi + 0x14], 0x80000000
je 0x666280
mov eax, dword [esi + 0x14]
and eax, 0x7fffffff
mov dword [esp + 0x2c], eax
cmp eax, 0x7fffffff
je 0x6663d0
push eax
mov ecx, edi
call fcn.00669cd0
mov dword [esp + 0x20], eax
jmp 0x6663d6
xor edi, edi
mov dword [esp + 0x20], edi
movzx edx, word [esi + 6]
mov eax, dword [esp + 0x18]
mov esi, edx
mov edi, dword [esp + 0x18]
movzx ecx, word [eax + 6]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x1c]
mov word [eax + 6], si
mov eax, dword [esp + 0x14]
movzx edx, word [eax]
mov eax, dword [esp + 0x18]
mov esi, edx
movzx ecx, word [eax]
cmp cx, dx
mov eax, ecx
cmova esi, eax
mov eax, dword [esp + 0x1c]
mov word [eax], si
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 8]
mov eax, dword [esp + 0x18]
mov esi, edx
movzx ecx, word [eax + 8]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x1c]
mov word [eax + 8], si
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 2]
mov eax, dword [esp + 0x18]
mov esi, edx
movzx ecx, word [eax + 2]
cmp cx, dx
mov eax, ecx
cmova esi, eax
mov eax, dword [esp + 0x1c]
mov word [eax + 2], si
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 0xa]
mov eax, dword [esp + 0x18]
mov esi, edx
movzx ecx, word [eax + 0xa]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x1c]
mov word [eax + 0xa], si
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 4]
mov eax, dword [esp + 0x18]
mov esi, edx
movzx ecx, word [eax + 4]
cmp cx, dx
mov eax, ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x10]
cmova esi, eax
mov eax, dword [ebp + 8]
mov word [ecx + 4], si
mov esi, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
and eax, 0x80000000
or eax, edx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
and eax, 0x80000000
or eax, edx
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x18], edi
mov esi, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov dword [ecx + 0x18], eax
mov edi, dword [esp + 0x20]
test edi, edi
je 0x666665
mov esi, dword [esp + 0x24]
mov dword [edi + esi*4 + 0xc], edx
mov eax, dword [ecx + 0x14]
and eax, 0x80000000
or eax, dword [esp + 0x2c]
cmp esi, 1
mov esi, dword [esp + 0x28]
mov dword [ecx + 0x14], eax
jne 0x666550
push dword [edi + 0xc]
mov ecx, esi
call fcn.00669cd0
mov ecx, dword [ebp + 0x10]
test dword [eax + 0x14], 0x80000000
mov dword [eax + 0x18], ecx
jne 0x666550
mov edi, ecx
nop word [eax + eax]
push dword [eax + 0x10]
mov ecx, esi
call fcn.00669cd0
mov dword [eax + 0x18], edi
test dword [eax + 0x14], 0x80000000
je 0x666530
mov edi, dword [esp + 0x20]
nop word [eax + eax]
mov ax, word [esp + 0x34]
mov dx, word [esp + 0x3a]
cmp word [edi], ax
jb 0x666569
cmp dx, word [edi + 6]
jb 0x666569
xor eax, eax
jmp 0x66656e
mov eax, 1
mov cx, word [esp + 0x36]
cmp word [edi + 2], cx
jb 0x666588
mov cx, word [esp + 0x3c]
cmp cx, word [edi + 8]
jb 0x666588
xor ecx, ecx
jmp 0x66658d
mov ecx, 1
or al, cl
mov cx, word [esp + 0x38]
cmp word [edi + 4], cx
jb 0x6665a9
mov cx, word [esp + 0x3e]
cmp cx, word [edi + 0xa]
jb 0x6665a9
xor ecx, ecx
jmp 0x6665ae
mov ecx, 1
or al, cl
je 0x666676
movzx ecx, word [edi + 6]
cmp cx, word [esp + 0x3a]
mov eax, ecx
movzx ecx, word [edi]
movzx edx, dx
cmovb edx, eax
cmp cx, word [esp + 0x34]
mov word [edi + 6], dx
mov eax, ecx
movzx ecx, word [edi + 8]
movzx edx, word [esp + 0x34]
cmova edx, eax
cmp cx, word [esp + 0x3c]
mov word [edi], dx
mov eax, ecx
movzx ecx, word [edi + 2]
movzx edx, word [esp + 0x3c]
cmovb edx, eax
cmp cx, word [esp + 0x36]
mov word [edi + 8], dx
mov eax, ecx
movzx ecx, word [edi + 0xa]
movzx edx, word [esp + 0x36]
cmova edx, eax
cmp cx, word [esp + 0x3e]
mov word [edi + 2], dx
mov eax, ecx
movzx edx, word [esp + 0x3e]
movzx ecx, word [edi + 4]
cmovb edx, eax
cmp cx, word [esp + 0x38]
mov eax, ecx
mov word [edi + 0xa], dx
movzx edx, word [esp + 0x38]
cmova edx, eax
mov word [edi + 4], dx
mov eax, dword [edi + 0x14]
and eax, 0x7fffffff
cmp eax, 0x7fffffff
je 0x666676
push eax
mov ecx, esi
call fcn.00669cd0
mov edi, eax
test edi, edi
jne 0x666550
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x30]
mov dword [eax + 0x10], ecx
or dword [ecx + 0x14], 0x7fffffff
mov dword [eax + 0x14], edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc