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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0xa4
xor eax, eax
movdqu xmm0, xmmword [0x4c8310]
mov ebx, eax
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm1, xmmword [esp + 0x20]
cvtdq2pd xmm0, xmm1
punpckhqdq xmm1, xmm1
cvtdq2pd xmm2, xmm1
movups xmm1, xmmword [0x4c8320]
movups xmmword [esp], xmm2
call fcn.0048e2b0
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp]
movups xmm1, xmmword [0x4c8320]
call fcn.0048e2b0
cvtpd2ps xmm2, xmmword [esp + 0x10]
cvtpd2ps xmm1, xmm0
movdqu xmm3, xmmword [esp + 0x20]
movlhps xmm2, xmm1
movups xmmword [ebx*4 + 0x5346e0], xmm2
add ebx, 4
paddd xmm3, xmmword [0x4c8300]
movdqu xmmword [esp + 0x20], xmm3
cmp ebx, 0x200c
jb 0x4553c1
movups xmm0, xmmword [0x4c8330]
movups xmm1, xmmword [0x4c8320]
call fcn.0048e2b0
movups xmm1, xmmword [0x4c8320]
cvtsd2ss xmm0, xmm0
movss dword [0x53c710], xmm0
movups xmm0, xmmword [0x4c8340]
call fcn.0048e2b0
movups xmm1, xmmword [0x4c8320]
cvtsd2ss xmm0, xmm0
movss dword [0x53c714], xmm0
movups xmm0, xmmword [0x4c8350]
call fcn.0048e2b0
movups xmm4, xmmword [0x4c6840]
xor eax, eax
cvtsd2ss xmm0, xmm0
movups xmm3, xmmword [0x4c6850]
movups xmm2, xmmword [0x4c6860]
movups xmm1, xmmword [0x4c6870]
movss dword [0x53c718], xmm0
movsd xmm5, qword [0x4c86b8]
movups xmmword [esp], xmm4
movups xmmword [esp + 0x10], xmm3
movups xmmword [esp + 0x20], xmm2
movups xmmword [esp + 0x30], xmm1
movsd xmm6, qword [esp + eax*8]
movaps xmm7, xmm5
movaps xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm0, xmm5
sqrtsd xmm0, xmm0
divsd xmm7, xmm0
divsd xmm6, xmm0
cvtsd2ss xmm7, xmm7
cvtsd2ss xmm6, xmm6
movss dword [eax*4 + 0x53fa90], xmm7
movss dword [eax*4 + 0x53fa70], xmm6
inc eax
cmp eax, 8
jl 0x4554af
movdqu xmm0, xmmword [0x4c8370]
xor eax, eax
movdqu xmm5, xmmword [0x4c8360]
movdqa xmm4, xmm0
movdqu xmm1, xmmword [0x4c8380]
mov ebx, eax
movdqu xmm3, xmmword [0x4c8390]
movdqu xmmword [esp + 0x80], xmm1
movdqu xmmword [esp + 0x50], xmm3
movdqu xmmword [esp + 0x30], xmm1
movdqu xmmword [esp + 0x40], xmm4
movdqu xmmword [esp], xmm0
movdqu xmmword [esp + 0x60], xmm5
cvtdq2pd xmm0, qword [esp + 0x60]
mulpd xmm0, xmmword [0x4c83a0]
call fcn.0048e130
movups xmmword [esp + 0x20], xmm0
cvtdq2pd xmm0, qword [esp + 0x40]
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
call fcn.0048e0b0
movups xmm1, xmmword [esp + 0x20]
mulpd xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtdq2pd xmm0, qword [esp + 0x30]
cvtpd2ps xmm2, xmm1
mulpd xmm0, xmmword [0x4c83a0]
movlps qword [ebx*4 + 0x533a58], xmm2
movlps qword [ebx*4 + 0x5338a8], xmm2
call fcn.0048e130
movups xmmword [esp + 0x10], xmm0
cvtdq2pd xmm0, qword [esp + 0x50]
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
call fcn.0048e0b0
movups xmm1, xmmword [esp + 0x10]
mulpd xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtpd2ps xmm2, xmm1
movlps qword [ebx*4 + 0x5338f0], xmm2
movlps qword [ebx*4 + 0x533860], xmm2
add ebx, 2
movdqu xmm6, xmmword [0x4c8300]
movdqu xmm3, xmmword [esp + 0x60]
movdqu xmm4, xmmword [esp + 0x40]
paddd xmm3, xmm6
movdqu xmm5, xmmword [esp + 0x30]
paddd xmm4, xmm6
movdqu xmm7, xmmword [esp + 0x50]
paddd xmm5, xmm6
paddd xmm7, xmm6
movdqu xmmword [esp + 0x60], xmm3
movdqu xmmword [esp + 0x40], xmm4
movdqu xmmword [esp + 0x30], xmm5
movdqu xmmword [esp + 0x50], xmm7
cmp ebx, 0x12
jb 0x45554f
movdqu xmm6, xmmword [0x4c8380]
xor eax, eax
movdqu xmm5, xmmword [0x4c83e0]
mov ebx, eax
movdqu xmm4, xmmword [0x4c83f0]
movdqu xmm3, xmmword [0x4c8400]
movdqu xmm2, xmmword [0x4c8410]
movdqu xmmword [esp + 0x70], xmm2
movdqu xmmword [esp + 0x30], xmm3
movdqu xmmword [esp + 0x40], xmm4
movdqu xmmword [esp + 0x50], xmm5
movdqu xmmword [esp + 0x60], xmm6
pxor xmm0, xmm0
movlps qword [ebx*4 + 0x533a10], xmm0
movlps qword [ebx*4 + 0x533968], xmm0
cvtdq2pd xmm0, qword [esp + 0x60]
mulpd xmm0, xmmword [str.es_8R]
call fcn.0048e130
movups xmmword [esp + 0x10], xmm0
cvtdq2pd xmm0, qword [esp + 0x50]
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
call fcn.0048e0b0
movups xmm1, xmmword [esp + 0x10]
mulpd xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtdq2pd xmm0, qword [esp + 0x40]
cvtpd2ps xmm2, xmm1
mulpd xmm0, xmmword [str.es_8R]
movlps qword [ebx*4 + 0x533a28], xmm2
call fcn.0048e130
movups xmmword [esp + 0x20], xmm0
cvtdq2pd xmm0, qword [esp + 0x30]
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
call fcn.0048e0b0
movups xmm1, xmmword [esp + 0x20]
mulpd xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtdq2pd xmm0, qword [esp + 0x70]
cvtpd2ps xmm2, xmm1
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
movlps qword [ebx*4 + 0x533950], xmm2
call fcn.0048e0b0
movups xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtdq2pd xmm0, qword [esp]
cvtpd2ps xmm2, xmm1
mulpd xmm0, xmmword [0x4c83b0]
divpd xmm0, xmmword [0x4c83c0]
movlps qword [ebx*4 + 0x533a40], xmm2
call fcn.0048e0b0
movups xmm1, xmmword [0x4c83d0]
divpd xmm1, xmm0
cvtpd2ps xmm2, xmm1
movlps qword [ebx*4 + 0x533938], xmm2
add ebx, 2
movdqu xmm0, xmmword [0x4c8300]
movdqu xmm3, xmmword [esp + 0x60]
movdqu xmm4, xmmword [esp + 0x50]
paddd xmm3, xmm0
movdqu xmm5, xmmword [esp + 0x40]
paddd xmm4, xmm0
movdqu xmm6, xmmword [esp + 0x30]
paddd xmm5, xmm0
movdqu xmm7, xmmword [esp + 0x70]
paddd xmm6, xmm0
movdqu xmm1, xmmword [esp]
paddd xmm7, xmm0
paddd xmm1, xmm0
movdqu xmmword [esp + 0x60], xmm3
movdqu xmmword [esp + 0x50], xmm4
movdqu xmmword [esp + 0x40], xmm5
movdqu xmmword [esp + 0x30], xmm6
movdqu xmmword [esp + 0x70], xmm7
movdqu xmmword [esp], xmm1
cmp ebx, 6
jb 0x45569d
movdqu xmm1, xmmword [0x4c8310]
cvtdq2pd xmm0, xmm1
punpckhqdq xmm1, xmm1
cvtdq2pd xmm3, xmm1
movups xmm2, xmmword [0x4c8430]
mulpd xmm0, xmm2
mulpd xmm3, xmm2
movups xmmword [esp], xmm3
call fcn.0048e0b0
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp]
call fcn.0048e0b0
movdqu xmm3, xmmword [0x4c8310]
paddd xmm3, xmmword [0x4c8300]
cvtpd2ps xmm1, xmm0
invalid
invalid
invalid