Function at 0x6cc5a0b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
pxor xmm0, xmm0
pxor xmm1, xmm1
mov ebp, esp
push edi
mov edi, edx
push esi
push ebx
mov ebx, eax
and esp, 0xfffffff0
add esp, 0xffffff80
mov eax, dword [edx + 4]
movaps xmm2, xmmword [0x6cc6e3f0]
mov ecx, dword [ebx + 4]
movaps xmm3, xmmword [0x6cc6e3f0]
movzx edx, ax
shr eax, 0x10
cvtsi2ss xmm1, edx
xor edx, edx
cvtsi2ss xmm0, eax
mov eax, dword [ebx + 0x10]
mulss xmm0, dword [0x6cc6e3e4]
add eax, ecx
addss xmm0, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [ebx]
mulss xmm0, xmm1
pxor xmm1, xmm1
divss xmm0, dword [0x6cc6e3e8]
movss xmm1, xmm0
movaps xmm0, xmm2
cmpleps xmm2, xmm1
andps xmm0, xmm2
subps xmm1, xmm0
pxor xmm0, xmm0
pslld xmm2, 0x1f
cvttps2dq xmm1, xmm1
pxor xmm1, xmm2
movd esi, xmm1
movss xmm2, dword [0x6cc6e408]
sub eax, esi
div ecx
mov ecx, dword [ebx + 0x1c]
movd xmm5, edx
xor edx, edx
punpckldq xmm1, xmm5
movq qword [ebx + 8], xmm1
movzx eax, byte [edi + 0xe]
pxor xmm1, xmm1
cvtsi2ss xmm0, eax
mov eax, dword [ebx + 0x28]
divss xmm0, dword [0x6cc6e400]
mulss xmm0, dword [0x6cc6e404]
add eax, ecx
subss xmm2, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x6cc6e40c]
divss xmm0, dword [0x6cc6e3e8]
movss xmm1, xmm0
movaps xmm0, xmm3
cmpleps xmm3, xmm1
movss dword [ebx + 0x30], xmm2
andps xmm0, xmm3
subps xmm1, xmm0
pslld xmm3, 0x1f
cvttps2dq xmm1, xmm1
pxor xmm1, xmm3
movd esi, xmm1
sub eax, esi
div ecx
mov eax, dword [ebx + 0x3c]
test eax, eax
mov dword [esp + 0x2c], eax
movd xmm7, edx
punpckldq xmm1, xmm7
movq qword [ebx + 0x20], xmm1
jle 0x6cc5ab75
movzx eax, byte [edi + 8]
pxor xmm5, xmm5
mov dword [esp + 0x24], 0
movss xmm7, dword [edi + 0x28]
mov dword [esp + 0x18], ebx
movss xmm4, dword [0x6cc6e410]
movss xmm6, dword [0x6cc6e4b8]
movss dword [esp + 0x30], xmm7
cvtsi2ss xmm5, eax
lea eax, [ebx + 0x58]
movss xmm7, dword [0x6cc6e430]
movss dword [esp + 0x68], xmm4
movss xmm4, dword [0x6cc6e438]
mov dword [esp + 0x20], eax
mov eax, dword [sym.imp.ucrtbase.dll_pow]
movss dword [esp + 0x28], xmm6
movss xmm6, dword [0x6cc6e454]
movss dword [esp + 0x64], xmm7
movss xmm1, dword [0x6cc6e4b4]
movss dword [esp + 0x1c], xmm5
movsd xmm5, qword [0x6cc6e418]
movss dword [esp + 0x78], xmm4
mov dword [esp + 0x6c], eax
mov eax, dword [sym.imp.ucrtbase.dll_tan]
movsd qword [esp + 0x70], xmm5
movss xmm5, dword [0x6cc6e440]
movaps xmmword [esp + 0x50], xmm5
movss dword [esp + 0x34], xmm6
mov dword [esp + 0x60], eax
lea esi, [esi]
mov edx, dword [esp + 0x24]
pxor xmm2, xmm2
mov eax, dword [esp + 0x2c]
call fcn.6cc594d0
mov ecx, eax
test al, 8
je 0x6cc5a2b3
movzx eax, byte [edi + 9]
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mov esi, dword [esp + 0x20]
pxor xmm0, xmm0
mov dword [esp + 0x40], 0
addss xmm2, dword [esp + 0x1c]
movaps xmm3, xmmword [0x6cc6e3f0]
cvtsi2ss xmm0, dword [esi - 0x18]
mov ebx, dword [esi - 0x14]
mov eax, dword [esi - 8]
mulss xmm0, xmm2
pxor xmm2, xmm2
divss xmm0, dword [0x6cc6e3e8]
movss xmm2, xmm0
movaps xmm0, xmm3
cmpleps xmm3, xmm2
add eax, ebx
andps xmm0, xmm3
subps xmm2, xmm0
pslld xmm3, 0x1f
cvttps2dq xmm2, xmm2
pxor xmm2, xmm3
movd edx, xmm2
sub eax, edx
xor edx, edx
div ebx
and ecx, 2
movd xmm4, edx
punpckldq xmm2, xmm4
movq qword [esi - 0x10], xmm2
je 0x6cc5a335
movss xmm4, dword [0x6cc6e420]
movss dword [esp + 0x40], xmm4
mov ebx, dword [esp + 0x20]
xor esi, esi
jmp 0x6cc5a601
movss xmm3, dword [0x6cc6e3e8]
mulss xmm3, xmm7
mov eax, dword [ebx + 8]
pxor xmm0, xmm0
pxor xmm2, xmm2
add esi, 1
movsd xmm7, qword [esp + 0x70]
movss dword [esp + 0x38], xmm1
add ebx, 0x6c
movzx edx, ax
shr eax, 0x10
cvtsi2ss xmm2, edx
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x6c]
mulss xmm0, dword [0x6cc6e3e4]
addss xmm0, xmm2
pxor xmm2, xmm2
mulss xmm0, dword [0x6cc6e428]
mulss xmm0, dword [0x6cc6e3e8]
cvtsi2ss xmm2, dword [ebx - 0x6c]
movsd qword [esp], xmm7
mulss xmm2, xmm3
divss xmm0, xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
call eax
pxor xmm0, xmm0
pxor xmm2, xmm2
cvtsi2ss xmm2, dword [ebx - 0x50]
fstp qword [esp + 0x48]
movsd xmm7, qword [esp + 0x70]
cvtsd2ss xmm0, qword [esp + 0x48]
movss dword [ebx - 0x54], xmm0
movzx eax, byte [edi + 0x11]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edi + 0x10]
movsd qword [esp], xmm7
mulss xmm0, dword [0x6cc6e42c]
addss xmm0, dword [0x6cc6e42c]
mulss xmm0, dword [esp + 0x64]
divss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mov eax, dword [esp + 0x6c]
subss xmm2, dword [0x6cc6e434]
divss xmm2, dword [esp + 0x68]
cvtss2sd xmm2, xmm2
movsd qword [esp + 8], xmm2
movss dword [esp + 0x44], xmm0
call eax
movss xmm0, dword [esp + 0x44]
pxor xmm2, xmm2
mulss xmm0, dword [esp + 0x78]
fstp qword [esp + 0x48]
cvtsd2ss xmm2, qword [esp + 0x48]
mov edx, dword [esp + 0x60]
movss dword [esp + 0x48], xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call edx
movss xmm2, dword [esp + 0x48]
mov dword [ebx - 0x44], 0
movss xmm1, dword [esp + 0x38]
fstp qword [esp + 0x48]
movaps xmm0, xmm2
mov dword [ebx - 0x3c], 0
movss xmm3, dword [0x6cc6e43c]
addss xmm0, xmm1
movss dword [ebx - 0x34], xmm1
movsd xmm7, qword [esp + 0x70]
subss xmm2, xmm1
divss xmm3, xmm0
pxor xmm0, xmm0
cvtsd2ss xmm0, qword [esp + 0x48]
movss dword [ebx - 0x38], xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, dword [ebx - 0x28]
mulss xmm3, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
addss xmm3, xmm1
divss xmm0, xmm3
movaps xmm3, xmm1
subss xmm3, xmm0
mulss xmm3, dword [esp + 0x78]
xorps xmm0, xmmword [esp + 0x50]
movss dword [ebx - 0x40], xmm0
pxor xmm0, xmm0
movss dword [ebx - 0x4c], xmm3
movss dword [ebx - 0x48], xmm3
movzx eax, byte [edi + 0x13]
cvtsi2ss xmm0, eax
movzx eax, byte [edi + 0x12]
movsd qword [esp], xmm7
mulss xmm0, dword [0x6cc6e450]
addss xmm0, dword [0x6cc6e3e8]
mulss xmm0, dword [esp + 0x64]
divss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
subss xmm2, dword [0x6cc6e434]
divss xmm2, dword [esp + 0x68]
cvtss2sd xmm2, xmm2
movsd qword [esp + 8], xmm2
movss dword [esp + 0x44], xmm0
mov eax, dword [esp + 0x6c]
call eax
movss xmm0, dword [esp + 0x44]
pxor xmm2, xmm2
mulss xmm0, dword [esp + 0x78]
fstp qword [esp + 0x48]
cvtsd2ss xmm2, qword [esp + 0x48]
mov edx, dword [esp + 0x60]
movss dword [esp + 0x48], xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call edx
movss xmm2, dword [esp + 0x48]
pxor xmm3, xmm3
mov dword [ebx - 0x1c], 0
movss xmm1, dword [esp + 0x38]
fstp qword [esp + 0x48]
movaps xmm0, xmm2
cvtsd2ss xmm3, qword [esp + 0x48]
movaps xmm5, xmmword [esp + 0x50]
mov dword [ebx - 0x14], 0
addss xmm0, xmm1
mulss xmm0, dword [esp + 0x34]
movss dword [ebx - 0xc], xmm1
subss xmm2, xmm1
mulss xmm0, xmm3
movaps xmm3, xmm1
movss dword [ebx - 0x10], xmm2
subss xmm3, xmm0
addss xmm0, xmm1
divss xmm3, xmm0
movaps xmm0, xmm3
xorps xmm3, xmm5
movss dword [ebx - 0x18], xmm3
addss xmm0, xmm1
mulss xmm0, dword [esp + 0x78]
movss dword [ebx - 0x24], xmm0
xorps xmm0, xmm5
movss dword [ebx - 0x20], xmm0
cmp esi, 8
je 0x6cc5a690
pxor xmm2, xmm2
cvtsi2ss xmm2, dword [ebx]
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [esi*4 + 0x6cc6e3c0]
movaps xmm3, xmmword [0x6cc6e3f0]
mov ecx, dword [ebx + 4]
mulss xmm0, xmm2
pxor xmm2, xmm2
mov eax, dword [ebx + 0x10]
divss xmm0, dword [0x6cc6e3e8]
movss xmm2, xmm0
movaps xmm0, xmm3
movss xmm7, dword [esp + 0x30]
cmpleps xmm3, xmm2
add eax, ecx
andps xmm0, xmm3
subps xmm2, xmm0
pslld xmm3, 0x1f
cvttps2dq xmm2, xmm2
pxor xmm2, xmm3
movd edx, xmm2
sub eax, edx
xor edx, edx
div ecx
comiss xmm7, dword [0x6cc6e424]
movd xmm4, edx
punpckldq xmm2, xmm4
movq qword [ebx + 8], xmm2
ja 0x6cc5a340
movss xmm3, dword [esp + 0x28]
jmp 0x6cc5a34c
add dword [esp + 0x24], 1
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], 0x418
cmp eax, esi
jne 0x6cc5a290
mov ebx, dword [esp + 0x18]
movsd xmm4, qword [esp + 0x70]
movss dword [esp + 0x50], xmm1
mov esi, dword [esp + 0x6c]
movss xmm0, dword [edi + 0x20]
movsd qword [esp], xmm4
divss xmm0, dword [esp + 0x68]
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
call esi
movsd xmm4, qword [esp + 0x70]
pxor xmm6, xmm6
fstp qword [esp + 0x78]
movss xmm0, dword [edi + 0x24]
divss xmm0, dword [esp + 0x68]
cvtss2sd xmm0, xmm0
cvtsd2ss xmm6, qword [esp + 0x78]
movss dword [ebx + 0x14b8], xmm6
movss dword [esp + 0x1c], xmm6
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm4
call esi
movsd xmm4, qword [esp + 0x70]
pxor xmm0, xmm0
fstp qword [esp + 0x78]
cvtsd2ss xmm0, qword [esp + 0x78]
movss dword [ebx + 0x14bc], xmm0
movss xmm0, dword [edi + 0x18]
movsd qword [esp], xmm4
movss dword [esp + 0x20], xmm0
divss xmm0, dword [esp + 0x68]
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
call esi
pxor xmm0, xmm0
mov esi, dword [esp + 0x2c]
fstp qword [esp + 0x78]
movss xmm1, dword [esp + 0x50]
movss xmm4, dword [0x6cc6e408]
cvtsd2ss xmm0, qword [esp + 0x78]
movss dword [ebx + 0x14c0], xmm0
pxor xmm0, xmm0
movzx eax, byte [edi + 0xf]
test esi, esi
cvtsi2ss xmm0, eax
divss xmm0, dword [0x6cc6e400]
mulss xmm0, dword [0x6cc6e404]
subss xmm4, xmm0
jle 0x6cc5aa7d
movss xmm7, dword [0x6cc6e430]
mov dword [esp + 0x44], edi
mov edi, ebx
movss xmm6, dword [0x6cc6e440]
mov eax, dword [sym.imp.ucrtbase.dll_tan]
mov dword [esp + 0x48], 0
movss xmm5, dword [0x6cc6e438]
movss dword [esp + 0x64], xmm7
movss xmm7, dword [0x6cc6e454]
movaps xmmword [esp + 0x50], xmm6
movss dword [esp + 0x78], xmm5
mov dword [esp + 0x60], eax
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x18], xmm4
mov dword [esp + 0x14], ebx
lea esi, [esi]
mov edx, dword [esp + 0x48]
pxor xmm3, xmm3
mov eax, dword [esp + 0x2c]
call fcn.6cc594d0
mov esi, eax
and eax, 2
mov dword [esp + 0x24], eax
je 0x6cc5a82c
movss xmm3, dword [0x6cc6e420]
movss xmm4, dword [esp + 0x18]
mov ecx, edi
xor ebx, ebx
movss xmm0, dword [ebx*4 + 0x6cc6e3b0]
pxor xmm2, xmm2
cvtsi2ss xmm2, dword [ecx + 0x3b8]
add ebx, 1
movaps xmm5, xmmword [0x6cc6e3f0]
movss dword [ecx + 0x3d0], xmm4
addss xmm0, xmm3
mov eax, dword [ecx + 0x3bc]
add eax, dword [ecx + 0x3c8]
mulss xmm0, xmm2
pxor xmm2, xmm2
divss xmm0, dword [0x6cc6e3e8]
movss xmm2, xmm0
movaps xmm0, xmm5
cmpleps xmm5, xmm2
andps xmm0, xmm5
subps xmm2, xmm0
pslld xmm5, 0x1f
cvttps2dq xmm2, xmm2
pxor xmm2, xmm5
movd edx, xmm2
sub eax, edx
xor edx, edx
div dword [ecx + 0x3bc]
add ecx, 0x1c
movd xmm5, edx
punpckldq xmm2, xmm5
movq qword [ecx + 0x3a4], xmm2
cmp ebx, 4
jne 0x6cc5a836
mov ebx, dword [esp + 0x44]
pxor xmm2, xmm2
movss dword [esp + 0x30], xmm1
cvtsi2ss xmm2, dword [edi + 0x428]
movss xmm0, dword [esp + 0x64]
movsd xmm4, qword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mulss xmm0, dword [ebx + 0x14]
divss xmm0, xmm2
movss xmm2, dword [esp + 0x20]
addss xmm2, dword [ebx + 0x1c]
movsd qword [esp], xmm4
divss xmm2, dword [esp + 0x68]
cvtss2sd xmm2, xmm2
movsd qword [esp + 8], xmm2
movss dword [esp + 0x40], xmm0
call eax
movss xmm0, dword [esp + 0x40]
pxor xmm2, xmm2
mulss xmm0, dword [esp + 0x78]
fstp qword [esp + 0x38]
cvtsd2ss xmm2, qword [esp + 0x38]
mov eax, dword [esp + 0x60]
movss dword [esp + 0x38], xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call eax
movss xmm2, dword [esp + 0x38]
pxor xmm3, xmm3
mov edx, esi
movss xmm1, dword [esp + 0x30]
fstp qword [esp + 0x38]
and edx, 8
and esi, 1
movaps xmm0, xmm2
cvtsd2ss xmm3, qword [esp + 0x38]
movss xmm6, dword [esp + 0x78]
mov dword [edi + 0x434], 0
addss xmm0, xmm1
mulss xmm0, dword [esp + 0x34]
mov dword [edi + 0x43c], 0
subss xmm2, xmm1
movaps xmm5, xmmword [esp + 0x50]
movss dword [edi + 0x444], xmm1
mulss xmm0, xmm3
movaps xmm3, xmm1
movss dword [edi + 0x440], xmm2
subss xmm3, xmm0
addss xmm0, xmm1
divss xmm3, xmm0
movaps xmm0, xmm3
xorps xmm3, xmm5
movss dword [edi + 0x438], xmm3
addss xmm0, xmm1
mulss xmm0, xmm6
movss dword [edi + 0x42c], xmm0
xorps xmm0, xmm5
movss dword [edi + 0x430], xmm0
je 0x6cc5aaa8
movzx eax, byte [ebx + 0xc]
pxor xmm0, xmm0
movss xmm2, dword [0x6cc6e45c]
cvtsi2ss xmm0, eax
divss xmm0, dword [0x6cc6e458]
mulss xmm0, xmm6
subss xmm2, xmm0
test edx, edx
jne 0x6cc5ab10
movss dword [edi + 0x454], xmm2
mov eax, dword [esp + 0x44]
pxor xmm0, xmm0
movzx eax, byte [eax + 0xa]
cvtsi2ss xmm0, eax
divss xmm0, dword [0x6cc6e460]
add dword [esp + 0x48], 1
add edi, 0x418
movss xmm2, dword [0x6cc6e464]
mulss xmm0, dword [0x6cc6e404]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x2c]
subss xmm2, xmm0
mulss xmm2, dword [esp + 0x1c]
movss dword [edi + 0x38], xmm2
cmp eax, esi
jne 0x6cc5a808
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x44]
movss xmm0, dword [edi]
divss xmm0, dword [esp + 0x28]
subss xmm1, xmm0
movss dword [ebx + 0x14c4], xmm0
movss dword [ebx + 0x14c8], xmm1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
movzx eax, byte [eax + 0xd]
test ecx, ecx
je 0x6cc5ab58
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x6cc6e458]
mulss xmm0, dword [esp + 0x78]
movss xmm2, dword [0x6cc6e45c]
subss xmm2, xmm0
test edx, edx
je 0x6cc5ab48
mulss xmm2, dword [0x6cc6e468]
movss dword [edi + 0x454], xmm2
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
movzx eax, byte [eax + 0xb]
test edx, edx
je 0x6cc5ab28
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
jmp 0x6cc5aa33
mulss xmm2, dword [0x6cc6e468]
movss dword [edi + 0x454], xmm2
jmp 0x6cc5aa23
mov ecx, dword [esp + 0x44]
pxor xmm0, xmm0
movzx edx, byte [ecx + 0xa]
add edx, eax
cvtsi2ss xmm0, edx
mulss xmm0, dword [esp + 0x78]
jmp 0x6cc5aa33
movss dword [edi + 0x454], xmm2
jmp 0x6cc5aaf2
mov ecx, dword [esp + 0x44]
pxor xmm0, xmm0
movzx ecx, byte [ecx + 0xc]
add eax, ecx
cvtsi2ss xmm0, eax
mulss xmm0, dword [esp + 0x78]
jmp 0x6cc5aac4
movss xmm4, dword [0x6cc6e410]
mov eax, dword [sym.imp.ucrtbase.dll_pow]
movss xmm1, dword [0x6cc6e4b4]
movss dword [esp + 0x68], xmm4
movsd xmm4, qword [0x6cc6e418]
movsd qword [esp + 0x70], xmm4
movss xmm4, dword [0x6cc6e4b8]
mov dword [esp + 0x6c], eax
movss dword [esp + 0x28], xmm4
jmp 0x6cc5a6b1