Function at 0x45d780
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, 0x124
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [0x52cfb4]
xor eax, esp
mov dword [esp + 0x120], eax
lea edx, [edx + 0x478]
mov eax, dword [esi + 0x4c]
test eax, eax
jle 0x45e4f2
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
movss xmm7, dword [0x4ca070]
movss xmm6, dword [0x4ca074]
movss xmm5, dword [0x4ca078]
lea edi, [ebx + 0x478]
mov dword [esp + 0x18], edi
xor edi, edi
movss xmm4, dword [0x4ca07c]
xor ebx, ebx
movss xmm3, dword [0x4ca080]
movss xmm2, dword [0x4ca084]
movups xmm1, xmmword [0x4c9f80]
movups xmm0, xmmword [0x4c9f90]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x80], edx
cmp dword [esi + 0x50], 0
jle 0x45e4ca
xor ecx, ecx
lea edx, [ebx + esi + 0x6cb0]
mov dword [esp + 0x20], ecx
lea eax, [esi + edi + 0x134]
mov dword [esp + 0x24], edx
xor edx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
lea esi, [ebx + edx]
mov dword [esp + 0x90], esi
lea esi, [ebx + edx + 0x900]
xor ebx, ebx
mov dword [esp + 0x8c], eax
xor edi, edi
mov ecx, dword [esp + 0x80]
lea edx, [esi + edi]
lea eax, [ecx + edi]
call fcn.0045ea30
mov ecx, dword [esp + 0x80]
lea edx, [esi + edi + 0x80]
lea eax, [ecx + edi + 0x80]
call fcn.0045ea30
movss xmm0, dword [edi + esi + 0x8c]
inc ebx
movss xmm1, dword [edi + esi + 0x84]
movss xmm2, dword [edi + esi + 0x9c]
movss xmm3, dword [edi + esi + 0x94]
movss xmm4, dword [edi + esi + 0xac]
movss xmm5, dword [edi + esi + 0xa4]
unpcklps xmm1, xmm0
xorps xmm1, xmmword [0x4c9ff0]
unpcklps xmm3, xmm2
unpcklps xmm5, xmm4
xorps xmm3, xmmword [0x4c9ff0]
xorps xmm5, xmmword [0x4c9ff0]
movss dword [edi + esi + 0x84], xmm1
shufps xmm1, xmm1, 0xe5
movss dword [edi + esi + 0x8c], xmm1
movss xmm6, dword [edi + esi + 0xbc]
movss xmm7, dword [edi + esi + 0xb4]
movss xmm0, dword [edi + esi + 0xcc]
movss xmm1, dword [edi + esi + 0xc4]
movss dword [edi + esi + 0x94], xmm3
shufps xmm3, xmm3, 0xe5
movss dword [edi + esi + 0xa4], xmm5
shufps xmm5, xmm5, 0xe5
movss dword [edi + esi + 0x9c], xmm3
movss dword [edi + esi + 0xac], xmm5
unpcklps xmm7, xmm6
unpcklps xmm1, xmm0
movss xmm2, dword [edi + esi + 0xdc]
movss xmm3, dword [edi + esi + 0xd4]
movss xmm4, dword [edi + esi + 0xec]
movss xmm5, dword [edi + esi + 0xe4]
movss xmm6, dword [edi + esi + 0xfc]
movss xmm0, dword [edi + esi + 0xf4]
unpcklps xmm3, xmm2
unpcklps xmm5, xmm4
unpcklps xmm0, xmm6
xorps xmm7, xmmword [0x4c9ff0]
xorps xmm1, xmmword [0x4c9ff0]
xorps xmm3, xmmword [0x4c9ff0]
xorps xmm5, xmmword [0x4c9ff0]
xorps xmm0, xmmword [0x4c9ff0]
movss dword [edi + esi + 0xb4], xmm7
shufps xmm7, xmm7, 0xe5
movss dword [edi + esi + 0xc4], xmm1
shufps xmm1, xmm1, 0xe5
movss dword [edi + esi + 0xd4], xmm3
shufps xmm3, xmm3, 0xe5
movss dword [edi + esi + 0xe4], xmm5
shufps xmm5, xmm5, 0xe5
movss dword [edi + esi + 0xf4], xmm0
shufps xmm0, xmm0, 0xe5
movss dword [edi + esi + 0xbc], xmm7
movss dword [edi + esi + 0xcc], xmm1
movss dword [edi + esi + 0xdc], xmm3
movss dword [edi + esi + 0xec], xmm5
movss dword [edi + esi + 0xfc], xmm0
add edi, 0x100
cmp ebx, 9
jb 0x45d86b
mov esi, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x28]
add esi, ecx
add dword [esp + 0x80], 0x900
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ebx
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
mov ebx, dword [ecx*4 + 0x4c9840]
mov edx, dword [esi + 0x12b4]
cmp dword [esi + 0x12b8], 0
lea ecx, [edi + ebx*4]
mov edi, dword [esp + 0x90]
lea edi, [edi + ebx*4]
je 0x45daa8
xor ebx, ebx
cmp dword [esp + 0x98], 2
cmovl edx, ebx
mov ebx, dword [ebp + 8]
pxor xmm2, xmm2
mov esi, dword [esp + 0x98]
movsd xmm1, qword [0x4ca020]
movss xmm0, dword [ebx + esi*4 + 0x90b0]
cvtss2sd xmm2, xmm0
comisd xmm1, xmm2
ja 0x45ea03
movss xmm1, dword [0x4ca088]
comiss xmm1, xmm0
jbe 0x45dc64
movss xmm1, dword [edi + 0x980]
movss xmm2, dword [edi + 0x900]
unpcklps xmm2, xmm1
movss xmm5, dword [edi + 0xb80]
movss xmm6, dword [edi + 0xb00]
movss xmm7, dword [edi + 0xc80]
movss xmm1, dword [edi + 0xc00]
shufps xmm0, xmm0, 0
unpcklps xmm6, xmm5
unpcklps xmm1, xmm7
mulps xmm2, xmm0
mulps xmm6, xmm0
mulps xmm1, xmm0
movss xmm3, dword [edi + 0xa80]
movss xmm4, dword [edi + 0xa00]
movss dword [edi + 0x900], xmm2
shufps xmm2, xmm2, 0xe5
movss dword [edi + 0xb00], xmm6
shufps xmm6, xmm6, 0xe5
movss dword [edi + 0xc00], xmm1
shufps xmm1, xmm1, 0xe5
movss dword [edi + 0x980], xmm2
movss dword [edi + 0xb80], xmm6
movss dword [edi + 0xc80], xmm1
unpcklps xmm4, xmm3
movss xmm2, dword [edi + 0xd80]
movss xmm3, dword [edi + 0xd00]
movss xmm6, dword [edi + 0xf80]
movss xmm1, dword [edi + 0xf00]
unpcklps xmm3, xmm2
unpcklps xmm1, xmm6
mulps xmm4, xmm0
mulps xmm3, xmm0
mulps xmm1, xmm0
movss dword [edi + 0xa00], xmm4
shufps xmm4, xmm4, 0xe5
movss dword [edi + 0xd00], xmm3
shufps xmm3, xmm3, 0xe5
movss dword [edi + 0xf00], xmm1
shufps xmm1, xmm1, 0xe5
movss dword [edi + 0xa80], xmm4
movss dword [edi + 0xd80], xmm3
movss dword [edi + 0xf80], xmm1
movss xmm4, dword [edi + 0xe80]
movss xmm5, dword [edi + 0xe00]
movss xmm7, dword [edi + 0x1080]
movss xmm2, dword [edi + 0x1000]
movss xmm1, dword [edi + 0x1180]
movss xmm3, dword [edi + 0x1100]
unpcklps xmm5, xmm4
unpcklps xmm2, xmm7
unpcklps xmm3, xmm1
mulps xmm5, xmm0
mulps xmm2, xmm0
mulps xmm3, xmm0
movss dword [edi + 0xe00], xmm5
shufps xmm5, xmm5, 0xe5
movss dword [edi + 0x1000], xmm2
shufps xmm2, xmm2, 0xe5
movss dword [edi + 0x1100], xmm3
shufps xmm3, xmm3, 0xe5
movss dword [edi + 0xe80], xmm5
movss dword [edi + 0x1080], xmm2
movss dword [edi + 0x1180], xmm3
cmp edx, 2
je 0x45e53f
xor esi, esi
lea ebx, [edx + edx*8]
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
shl ebx, 4
mov eax, esi
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
movss xmm2, dword [edx + edi + 0x980]
movss xmm3, dword [edx + edi + 0x900]
movsd xmm1, qword [ebx + esi*4 + 0x4c9908]
unpcklps xmm3, xmm2
movss xmm4, dword [eax + edi + 0x1100]
movss xmm5, dword [eax + edi + 0x1180]
mulps xmm1, xmm3
movsd xmm6, qword [ebx + esi*4 + 0x4c992c]
unpcklps xmm5, xmm4
movss xmm7, dword [edx + ecx + 0x80]
movss xmm2, dword [edx + ecx]
add edx, 0x100
movss xmm3, dword [eax + ecx + 0x800]
movss xmm4, dword [eax + ecx + 0x880]
add eax, 0xffffff00
mulps xmm6, xmm5
movsd xmm0, qword [ebx + esi*4 + 0x4c98c0]
addps xmm1, xmm6
movsd xmm5, qword [ebx + esi*4 + 0x4c98e4]
unpcklps xmm2, xmm7
unpcklps xmm4, xmm3
mulps xmm0, xmm2
movaps xmm2, xmm1
mulps xmm5, xmm4
movsd xmm7, qword [esi*4 + 0x4c99ec]
subps xmm0, xmm5
mulps xmm1, xmm7
movaps xmm6, xmm7
mulps xmm6, xmm0
addps xmm0, xmm1
movlps qword [esp + esi*4 + 0xfc], xmm0
subps xmm2, xmm6
movlps qword [esp + esi*4 + 0xd8], xmm2
add esi, 2
cmp esi, 8
jb 0x45dca1
movss xmm3, dword [ebx + 0x4c9928]
movss xmm1, dword [ebx + 0x4c994c]
mulss xmm3, dword [edi + 0xd00]
mulss xmm1, dword [edi + 0xd80]
movss xmm5, dword [ebx + 0x4c98e0]
addss xmm3, xmm1
mulss xmm5, dword [ecx + 0x400]
movss xmm1, dword [ebx + 0x4c9904]
movaps xmm4, xmm3
mulss xmm1, dword [ecx + 0x480]
movss xmm0, dword [0x4ca058]
subss xmm5, xmm1
mulss xmm3, xmm0
movaps xmm1, xmm0
addss xmm3, xmm5
mulss xmm1, xmm5
movss xmm6, dword [esp + 0xd8]
subss xmm4, xmm1
movss xmm2, dword [esp + 0x110]
addss xmm6, xmm4
subss xmm2, dword [esp + 0x108]
movss dword [esp + 0xa4], xmm4
movss dword [esp + 0xf8], xmm4
movss xmm4, dword [esp + 0xdc]
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0xb0], xmm2
movaps xmm2, xmm6
movss xmm7, dword [esp + 0xe4]
movss dword [esp + 0xb4], xmm6
movss dword [esp + 0xa8], xmm3
movss dword [esp + 0x11c], xmm3
movss xmm1, dword [esp + 0xe8]
movss xmm5, dword [esp + 0x114]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
addss xmm4, dword [esp + 0xf4]
addss xmm0, dword [esp + 0xf0]
addss xmm7, dword [esp + 0xec]
subss xmm3, dword [esp + 0xfc]
subss xmm5, dword [esp + 0x104]
subss xmm2, xmm4
addss xmm6, xmm0
addss xmm2, xmm0
subss xmm6, xmm7
subss xmm2, xmm7
movss dword [esp + 0xbc], xmm7
addss xmm2, xmm1
movss xmm7, dword [0x4ca05c]
movss dword [eax + 0x44], xmm2
movaps xmm2, xmm3
mulss xmm6, xmm7
subss xmm2, xmm5
addss xmm6, xmm4
mulss xmm4, xmm7
subss xmm2, dword [esp + 0xb0]
addss xmm4, xmm1
subss xmm6, xmm1
movss dword [esp + 0xac], xmm5
movss xmm5, dword [0x4ca060]
mulss xmm2, xmm5
movss dword [esp + 0xb8], xmm0
movaps xmm0, xmm6
movss xmm7, dword [0x4ca06c]
addss xmm0, xmm2
subss xmm2, xmm6
movss dword [eax + 0x14], xmm0
movss xmm0, dword [esp + 0x118]
movss xmm6, dword [0x4ca064]
mulss xmm6, xmm3
subss xmm0, dword [esp + 0x100]
mulss xmm0, xmm5
movss xmm5, dword [0x4ca068]
movaps xmm1, xmm5
mulss xmm1, dword [esp + 0xac]
mulss xmm5, xmm3
mulss xmm3, xmm7
addss xmm6, xmm1
movss dword [eax + 0x18], xmm2
movaps xmm2, xmm7
mulss xmm2, dword [esp + 0xb0]
movss xmm1, dword [0x4ca070]
addss xmm6, xmm2
mulss xmm1, dword [esp + 0xb4]
addss xmm6, xmm0
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [0x4ca074]
mulss xmm0, dword [esp + 0xb8]
xorps xmm1, xmmword [0x4ca000]
movss xmm2, dword [0x4ca078]
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xbc]
mulss xmm2, dword [esp + 0xb8]
addss xmm1, xmm0
movaps xmm0, xmm6
addss xmm1, xmm4
subss xmm6, xmm1
addss xmm0, xmm1
movss dword [eax + 8], xmm6
movaps xmm1, xmm7
movss xmm6, dword [esp + 0xac]
mulss xmm1, xmm6
mulss xmm6, dword [0x4ca064]
subss xmm5, xmm1
addss xmm3, xmm6
movss dword [eax + 4], xmm0
movss xmm0, dword [0x4ca074]
movss xmm1, dword [0x4ca064]
mulss xmm0, dword [esp + 0xb4]
mulss xmm1, dword [esp + 0xb0]
xorps xmm0, xmmword [0x4ca000]
addss xmm5, xmm1
subss xmm0, xmm2
subss xmm5, dword [esp + 0xc0]
movss xmm1, dword [esp + 0xbc]
movss xmm2, dword [0x4ca070]
mulss xmm2, xmm1
mulss xmm1, dword [0x4ca074]
addss xmm0, xmm2
movaps xmm2, xmm5
addss xmm0, xmm4
movss xmm7, dword [esp + 0x118]
addss xmm2, xmm0
subss xmm5, xmm0
addss xmm7, dword [esp + 0x100]
movss dword [eax + 0x24], xmm2
movaps xmm6, xmm7
movss xmm2, dword [esp + 0xb4]
movss xmm0, dword [esp + 0xb8]
mulss xmm2, dword [0x4ca078]
mulss xmm0, dword [0x4ca070]
movss dword [eax + 0x28], xmm5
addss xmm2, xmm0
movss xmm5, dword [esp + 0xb0]
subss xmm2, xmm1
mulss xmm5, dword [0x4ca068]
subss xmm2, xmm4
subss xmm3, xmm5
movss xmm1, dword [esp + 0xec]
movss xmm5, dword [esp + 0x114]
movss xmm0, dword [esp + 0x110]
subss xmm1, dword [esp + 0xe4]
addss xmm5, dword [esp + 0x104]
addss xmm0, dword [esp + 0x108]
subss xmm3, dword [esp + 0xc0]
movss dword [esp + 0xc8], xmm1
movaps xmm4, xmm3
movss xmm1, dword [esp + 0xa8]
addss xmm4, xmm2
addss xmm1, dword [esp + 0xfc]
subss xmm3, xmm2
addss xmm6, xmm1
movss xmm2, dword [esp + 0x10c]
addss xmm6, xmm5
movss dword [eax + 0x34], xmm4
addss xmm6, xmm0
movss dword [eax + 0x38], xmm3
addss xmm6, xmm2
movss dword [eax], xmm6
movaps xmm6, xmm1
movss xmm3, dword [esp + 0xa4]
addss xmm6, xmm5
subss xmm3, dword [esp + 0xd8]
addss xmm6, xmm0
movss xmm4, dword [esp + 0xf0]
movss dword [esp + 0xcc], xmm5
movss xmm5, dword [0x4ca05c]
mulss xmm6, xmm5
subss xmm4, dword [esp + 0xe0]
subss xmm6, xmm7
mulss xmm7, xmm5
movss dword [esp + 0xa4], xmm3
subss xmm3, xmm4
subss xmm6, xmm2
subss xmm2, xmm7
addss xmm3, dword [esp + 0xc8]
movss dword [esp + 0xc4], xmm4
movss xmm4, dword [0x4ca060]
mulss xmm3, xmm4
movss dword [esp + 0xd0], xmm0
movaps xmm0, xmm6
movss xmm5, dword [0x4ca074]
invalid
invalid
pop eax