Function at 0x665c60
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.00669ca0
push dword [ebp + 0x10]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x18], esi
call fcn.00669ca0
movq xmm0, qword [esi]
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], 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]
mov esi, dword [ebp + 8]
movd xmm4, eax
movzx eax, cx
shr ecx, 0x10
cvtdq2ps xmm4, xmm4
push esi
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.00669ca0
movzx ecx, si
mov dword [esp + 0x20], ecx
mov ecx, 0x8000
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], 0
test word [eax + 0x10], cx
jne 0x665e87
nop
movzx eax, word [eax + 0xe]
mov ecx, edi
push eax
call fcn.004fa790
mov esi, eax
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0xc]
push ecx
mov ecx, edi
call fcn.004fa790
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 + 0x10]
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
movzx eax, word [eax + ecx*2 + 0xc]
mov ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, edi
push eax
call fcn.004fa790
mov ecx, 0x8000
mov dword [esp + 0x10], eax
test word [eax + 0x10], cx
je 0x665d50
mov si, word [eax + 0x10]
mov ecx, 0x7fff
and si, cx
cmp si, cx
je 0x665eaa
push esi
mov ecx, edi
call fcn.004fa790
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
jmp 0x665eb0
xor edi, edi
mov dword [esp + 0x1c], edi
movzx edx, word [eax + 6]
mov edi, 0x8000
mov eax, dword [esp + 0x14]
movzx ecx, si
mov esi, edx
mov dword [esp + 0x2c], ecx
movzx ecx, word [eax + 6]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x18]
mov word [eax + 6], si
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
mov eax, dword [esp + 0x14]
mov esi, edx
movzx ecx, word [eax]
cmp cx, dx
mov eax, ecx
cmova esi, eax
mov eax, dword [esp + 0x18]
mov word [eax], si
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 8]
mov eax, dword [esp + 0x14]
mov esi, edx
movzx ecx, word [eax + 8]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x18]
mov word [eax + 8], si
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 2]
mov eax, dword [esp + 0x14]
mov esi, edx
movzx ecx, word [eax + 2]
cmp cx, dx
mov eax, ecx
cmova esi, eax
mov eax, dword [esp + 0x18]
mov word [eax + 2], si
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 0xa]
mov eax, dword [esp + 0x14]
mov esi, edx
movzx ecx, word [eax + 0xa]
cmp cx, dx
mov eax, ecx
cmovb esi, eax
mov eax, dword [esp + 0x18]
mov word [eax + 0xa], si
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 4]
mov eax, dword [esp + 0x14]
mov esi, edx
movzx ecx, word [eax + 4]
cmp cx, dx
mov eax, ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x10]
cmova esi, eax
mov eax, dword [esp + 0x20]
mov word [ecx + 4], si
mov esi, dword [esp + 0x10]
mov word [ecx + 0xc], ax
mov eax, dword [ebp + 0xc]
mov word [ecx + 0xe], ax
movzx eax, word [esi + 0x10]
and ax, di
or ax, dx
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x10]
and ax, di
mov edi, dword [esp + 0x14]
or ax, dx
mov word [edi + 0x10], ax
movzx eax, word [esi + 0x12]
mov edi, dword [ebp + 0xc]
mov word [esi + 0x12], di
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov word [esi + 0x12], ax
mov word [ecx + 0x12], ax
test edi, edi
je 0x666167
mov esi, dword [esp + 0x24]
mov word [edi + esi*2 + 0xc], dx
mov edx, 0x8000
mov ax, word [ecx + 0x10]
and ax, dx
or ax, word [esp + 0x2c]
cmp esi, 1
mov esi, dword [esp + 0x28]
mov word [ecx + 0x10], ax
jne 0x666050
movzx eax, word [edi + 0xc]
mov ecx, esi
push eax
call fcn.004fa790
mov ecx, dword [ebp + 0x10]
mov word [eax + 0x12], cx
mov ecx, 0x8000
test word [eax + 0x10], cx
jne 0x666050
mov edi, dword [ebp + 0x10]
movzx eax, word [eax + 0xe]
mov ecx, esi
push eax
call fcn.004fa790
mov ecx, 0x8000
mov word [eax + 0x12], di
test word [eax + 0x10], cx
je 0x666026
mov edi, dword [esp + 0x1c]
nop word [eax + eax]
mov ax, word [esp + 0x34]
mov dx, word [esp + 0x3a]
cmp word [edi], ax
jb 0x666069
cmp dx, word [edi + 6]
jb 0x666069
xor eax, eax
jmp 0x66606e
mov eax, 1
mov cx, word [esp + 0x36]
cmp word [edi + 2], cx
jb 0x666088
mov cx, word [esp + 0x3c]
cmp cx, word [edi + 8]
jb 0x666088
xor ecx, ecx
jmp 0x66608d
mov ecx, 1
or al, cl
mov cx, word [esp + 0x38]
cmp word [edi + 4], cx
jb 0x6660a9
mov cx, word [esp + 0x3e]
cmp cx, word [edi + 0xa]
jb 0x6660a9
xor ecx, ecx
jmp 0x6660ae
mov ecx, 1
or al, cl
je 0x66617b
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 ecx, word [edi + 4]
movzx edx, word [esp + 0x3e]
cmovb edx, eax
cmp cx, word [esp + 0x38]
mov word [edi + 0xa], dx
mov eax, ecx
movzx edx, word [esp + 0x38]
mov ecx, 0x7fff
cmova edx, eax
mov word [edi + 4], dx
mov ax, word [edi + 0x10]
and ax, cx
cmp ax, cx
je 0x66617b
push eax
mov ecx, esi
call fcn.004fa790
mov edi, eax
test edi, edi
jne 0x666050
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x30]
mov esi, 0x7fff
mov dword [eax + 0x10], ecx
or word [ecx + 0x10], si
mov word [eax + 0x14], dx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc