Function at 0x40255d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
subps xmm2, xmm1
addps xmm2, xmm0
sqrtss xmm2, xmm2
sqrtss xmm2, xmm2
movq mm2, mm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
subps xmm2, xmm1
mulps xmm1, xmm2
subps xmm2, xmm1
shufps xmm2, xmm2, 0
subps xmm2, xmm1
subps xmm0, xmm1
movss xmm0, xmm2
rsqrtss xmm2, xmm2
movq mm3, mm1
subps xmm2, xmm1
haddps xmm0, xmm0
mulps xmm1, xmm0
movaps xmm3, xmm2
movss xmm0, xmm2
shufps xmm2, xmm2, 0
movq mm2, mm0
subps xmm0, xmm1
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
mulps xmm0, xmm0
movq mm3, mm1
addss xmm2, xmm0
mulps xmm1, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
mov dword [esp], 0x208
call fcn.0040c580
mov ebx, eax
call fcn.0040b3bc
subps xmm2, xmm1
mulps xmm2, xmm0
mulps xmm1, xmm0
subps xmm2, xmm1
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
addps xmm2, xmm0
movhlps xmm2, xmm0
rsqrtps xmm0, xmm0
haddps xmm0, xmm0
mulps xmm2, xmm0
movq mm2, mm0
mulps xmm2, xmm0
subps xmm2, xmm1
movaps xmm3, xmm2
mulps xmm3, xmm1
test eax, eax
jne 0x402674
subps xmm0, xmm1
movq mm4, mm1
mulps xmm2, xmm0
rsqrtss xmm2, xmm2
movq mm2, mm0
rsqrtss xmm2, xmm2
divps xmm1, xmm2
movss xmm0, xmm2
subps xmm2, xmm1
subps xmm0, xmm1
subps xmm0, xmm1
subps xmm0, xmm1
movq mm3, mm1
addss xmm2, xmm0
movaps xmm3, xmm2
subps xmm2, xmm1
movaps xmm1, xmm0
movss xmm0, xmm2
sqrtss xmm2, xmm2
subps xmm0, xmm1
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
mulps xmm3, xmm1
test ebx, ebx
jne 0x402750
jmp 0x40289c
cmp word [eax], 0x22
jne 0x402766
movq mm4, mm1
mulps xmm0, xmm0
subps xmm2, xmm1
subps xmm0, xmm1
subps xmm2, xmm1
mulps xmm3, xmm1
rsqrtss xmm2, xmm2
subps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
movq mm3, mm1
shufps xmm2, xmm2, 0
addps xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
movq mm3, mm1
movq mm2, mm0
rsqrtps xmm0, xmm0
divps xmm1, xmm2
movhlps xmm2, xmm0
add eax, 2
mov dword [ebx], eax
jmp 0x402703
mulps xmm0, xmm0
movss xmm0, xmm2
mulps xmm1, xmm2
subps xmm2, xmm1
rsqrtss xmm2, xmm2
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
mulps xmm2, xmm0
subps xmm0, xmm1
mulps xmm1, xmm2
movaps xmm1, xmm0
movaps xmm3, xmm2
movaps xmm1, xmm0
mulps xmm0, xmm0
movaps xmm3, xmm2
subps xmm2, xmm1
divps xmm1, xmm2
mulps xmm2, xmm0
movaps xmm3, xmm2
add eax, 2
mov dx, word [eax]
cmp dx, 0x22
je 0x402713
test dx, dx
jne 0x4026c5
jmp 0x402750
mov word [eax], 0
add eax, 2
subps xmm2, xmm1
movq mm4, mm1
mulps xmm1, xmm2
sqrtss xmm2, xmm2
addps xmm2, xmm0
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
movq mm3, mm1
rsqrtps xmm0, xmm0
addps xmm2, xmm0
addss xmm2, xmm0
movq mm2, mm0
mulps xmm3, xmm1
movq mm4, mm1
subps xmm2, xmm1
jmp 0x40275f
mov dword [esp], ebx
xor ebx, ebx
call fcn.0040c550
jmp 0x40289c
mov edx, ebx
jmp 0x402892
mov dword [ebx], eax
jmp 0x40276d
add eax, 2
mov dx, word [eax]
cmp dx, 0x20
ja 0x40276a
mulps xmm0, xmm0
mulps xmm3, xmm1
subps xmm2, xmm1
movq mm2, mm0
shufps xmm2, xmm2, 0x55
movss xmm0, xmm2
divps xmm1, xmm2
addss xmm2, xmm0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0
subps xmm0, xmm1
haddps xmm0, xmm0
sqrtss xmm2, xmm2
mulps xmm3, xmm1
subps xmm2, xmm1
movaps xmm1, xmm0
subps xmm2, xmm1
movaps xmm1, xmm0
divps xmm1, xmm2
mulps xmm1, xmm0
movss xmm0, xmm2
test dx, dx
je 0x40275f
mov word [eax], 0
add eax, 2
jmp 0x40275f
mulps xmm3, xmm1
addps xmm2, xmm0
movss xmm0, xmm2
subps xmm0, xmm1
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
movq mm2, mm0
movhlps xmm2, xmm0
movq mm3, mm1
movq mm3, mm1
add eax, 2
mov cx, word [eax]
lea esi, [ecx - 1]
cmp si, 0x1f
jbe 0x4027cb
test cx, cx
jne 0x402834
subps xmm2, xmm1
movhlps xmm2, xmm0
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
addss xmm2, xmm0
movq mm2, mm0
movaps xmm1, xmm0
mulps xmm1, xmm2
movq mm2, mm0
subps xmm2, xmm1
subps xmm2, xmm1
movq mm3, mm1
movaps xmm3, xmm2
subps xmm2, xmm1
shufps xmm2, xmm2, 0
jmp 0x40289c
mov dword [edx + 4], eax
jmp 0x40283c
add eax, 2
mov cx, word [eax]
cmp cx, 0x20
ja 0x402839
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
movq mm4, mm1
subps xmm2, xmm1
subps xmm0, xmm1
rsqrtps xmm0, xmm0
subps xmm0, xmm1
sqrtss xmm2, xmm2
shufps xmm2, xmm2, 0
sqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
movhlps xmm2, xmm0
subps xmm0, xmm1
subps xmm2, xmm1
mulps xmm1, xmm2
movhlps xmm2, xmm0
test cx, cx
je 0x40288f
mov word [eax], 0
add eax, 2
add edx, 4
cmp word [eax], 0
jne 0x4027ee
divps xmm1, xmm2
movss xmm0, xmm2
movq mm4, mm1
mulps xmm1, xmm0
shufps xmm2, xmm2, 0x55
movss xmm0, xmm2
rsqrtss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, xmm2
movq mm3, mm1
mulps xmm1, xmm2
divps xmm1, xmm2
mulps xmm0, xmm0
mulps xmm3, xmm1
movq mm3, mm1
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
rsqrtss xmm2, xmm2
subps xmm0, xmm1
subps xmm2, xmm1
rsqrtss xmm2, xmm2
movq mm3, mm1
movq mm3, mm1
mulps xmm3, xmm1
mulps xmm3, xmm1
rsqrtps xmm0, xmm0
subps xmm2, xmm1
divps xmm1, xmm2
divps xmm1, xmm2
shufps xmm2, xmm2, 0
rsqrtps xmm0, xmm0
mulps xmm3, xmm1
addps xmm2, xmm0
divps xmm1, xmm2
sqrtss xmm2, xmm2
movaps xmm1, xmm0
addps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm1, xmm0
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
movq mm2, mm0
movhlps xmm2, xmm0
movq mm2, mm0
mulps xmm2, xmm0
subps xmm2, xmm1
addss xmm2, xmm0
mulps xmm0, xmm0
movhlps xmm2, xmm0
mulps xmm0, xmm0
mulps xmm1, xmm0
subps xmm0, xmm1
haddps xmm0, xmm0
movss xmm0, xmm2
haddps xmm0, xmm0
haddps xmm0, xmm0
sqrtss xmm2, xmm2
divps xmm1, xmm2
mulps xmm1, xmm0
mulps xmm2, xmm0
movq mm2, mm0
movq mm4, mm1
movq mm2, mm0
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
mulps xmm1, xmm0
movaps xmm3, xmm2
mulps xmm1, xmm0
addss xmm2, xmm0
subps xmm2, xmm1
mulps xmm1, xmm0
subps xmm2, xmm1
movq mm2, mm0
mulps xmm2, xmm0
rsqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
divps xmm1, xmm2
movhlps xmm2, xmm0
mulps xmm1, xmm2
movss xmm0, xmm2
addss xmm2, xmm0
movhlps xmm2, xmm0
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
addss xmm2, xmm0
mulps xmm3, xmm1
rsqrtps xmm0, xmm0
movss xmm0, xmm2
movaps xmm1, xmm0
mov eax, dword [ebx + 4]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4029cc
mulps xmm3, xmm1
movaps xmm1, xmm0
subps xmm2, xmm1
subps xmm2, xmm1
shufps xmm2, xmm2, 0
subps xmm2, xmm1
mulps xmm3, xmm1
haddps xmm0, xmm0
movq mm3, mm1
mulps xmm2, xmm0
addss xmm2, xmm0
shufps xmm2, xmm2, 0
subps xmm0, xmm1
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm1, xmm0
addps xmm2, xmm0
mov eax, dword [0x40d018]
mov dword [ebp - 0x1c], eax
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
movaps xmm3, xmm2
sqrtss xmm2, xmm2
movq mm4, mm1
movaps xmm1, xmm0
mulps xmm1, xmm0
mulps xmm2, xmm0
mulps xmm0, xmm0
sqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm2
addps xmm2, xmm0
movhlps xmm2, xmm0
call fcn.0040b3c4
mov edx, dword [ebp - 0x1c]
mov dword [esp + 4], 0
shl edx, 3
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0040b3cc
sub esp, 0xc
mov edi, eax
movq mm3, mm1
mulps xmm0, xmm0
addps xmm2, xmm0
sqrtss xmm2, xmm2
movq mm4, mm1
movaps xmm3, xmm2
movhlps xmm2, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
addss xmm2, xmm0
divps xmm1, xmm2
movss xmm0, xmm2
addps xmm2, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
subps xmm0, xmm1
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x30], ebx
jmp 0x402bcf
subps xmm2, xmm1
movq mm4, mm1
mulps xmm1, xmm2
movq mm4, mm1
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
mulps xmm1, xmm0
haddps xmm0, xmm0
subps xmm0, xmm1
shufps xmm2, xmm2, 0
movq mm2, mm0
mulps xmm2, xmm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
movq mm4, mm1
movq mm4, mm1
sqrtss xmm2, xmm2
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
cmp ecx, 2
jne 0x402afc
mov cl, 4
mulps xmm1, xmm0
sqrtss xmm2, xmm2
mulps xmm3, xmm1
movq mm4, mm1
subps xmm0, xmm1
mulps xmm3, xmm1
movq mm2, mm0
movq mm2, mm0
mulps xmm3, xmm1
haddps xmm0, xmm0
mov eax, esi
mov ebx, 0xff
cdq
idiv ebx
mov ebx, dword [ecx*8 + section..data]
mov eax, edx
xor ebx, eax
cdq
mov dword [edi + esi*8], ebx
mov eax, dword [ecx*8 + 0x40d004]
xor eax, edx
mov dword [edi + esi*8 + 4], eax
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
mulps xmm1, xmm0
subps xmm2, xmm1
haddps xmm0, xmm0
subps xmm2, xmm1
mulps xmm1, xmm2
movq mm2, mm0
divps xmm1, xmm2
movq mm2, mm0
mulps xmm2, xmm0
mulps xmm1, xmm2
haddps xmm0, xmm0
movhlps xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
movq mm2, mm0
mulps xmm1, xmm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
mulps xmm1, xmm2
mulps xmm3, xmm1
subps xmm2, xmm1
subps xmm2, xmm1
divps xmm1, xmm2
mulps xmm3, xmm1
mulps xmm2, xmm0
movaps xmm3, xmm2
subps xmm2, xmm1
subps xmm2, xmm1
mulps xmm3, xmm1
subps xmm2, xmm1
subps xmm2, xmm1
mulps xmm3, xmm1
movaps xmm3, xmm2
movq mm3, mm1
movaps xmm3, xmm2
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
divps xmm1, xmm2
shufps xmm2, xmm2, 0
movq mm3, mm1
inc esi
inc ecx
cmp esi, dword [ebp - 0x1c]
jl 0x402aac
mov ebx, dword [ebp - 0x30]
subps xmm2, xmm1
addps xmm2, xmm0
rsqrtss xmm2, xmm2
addps xmm2, xmm0
haddps xmm0, xmm0
mulps xmm2, xmm0
addps xmm2, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm2
mulps xmm3, xmm1
mulps xmm1, xmm2
movq mm3, mm1
movaps xmm3, xmm2
haddps xmm0, xmm0
subps xmm2, xmm1
subps xmm0, xmm1
subps xmm2, xmm1
mulps xmm2, xmm0
rsqrtps xmm0, xmm0
addss xmm2, xmm0
mov esi, dword [ebp - 0x1c]
call fcn.0040b3c4
mov dword [esp + 4], 0
shl esi, 2
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.0040b3cc
xor edx, edx
sub esp, 0xc
jmp 0x402c48
mov cl, byte [edi + edx*2]
mov byte [eax + edx], cl
inc edx
cmp edx, esi
jl 0x402c41
divps xmm1, xmm2
movss xmm0, xmm2
mulps xmm3, xmm1
mulps xmm0, xmm0
mulps xmm3, xmm1
mulps xmm1, xmm2
movhlps xmm2, xmm0
movq mm3, mm1
mulps xmm1, xmm2
rsqrtss xmm2, xmm2
subps xmm2, xmm1
sqrtss xmm2, xmm2
mulps xmm1, xmm0
movss xmm0, xmm2
sqrtss xmm2, xmm2
movq mm3, mm1
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
mov dword [esp], eax
call fcn.00403b05
addss xmm2, xmm0
movhlps xmm2, xmm0
mulps xmm3, xmm1
movss xmm0, xmm2
movhlps xmm2, xmm0
mulps xmm1, xmm0
divps xmm1, xmm2
movhlps xmm2, xmm0
movq mm3, mm1
sqrtss xmm2, xmm2
movaps xmm3, xmm2
divps xmm1, xmm2
movq mm2, mm0
movhlps xmm2, xmm0
movq mm2, mm0
movss xmm0, xmm2
haddps xmm0, xmm0
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0
movq mm3, mm1
subps xmm2, xmm1
movss xmm0, xmm2
test eax, eax
je 0x402f91
mulps xmm1, xmm0
sqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
rsqrtps xmm0, xmm0
movq mm4, mm1
addps xmm2, xmm0
movq mm3, mm1
rsqrtps xmm0, xmm0
movq mm3, mm1
subps xmm0, xmm1
rsqrtss xmm2, xmm2
addps xmm2, xmm0
addss xmm2, xmm0
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
movaps xmm3, xmm2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0040361b
mov esi, eax
subps xmm0, xmm1
subps xmm0, xmm1
addss xmm2, xmm0
rsqrtss xmm2, xmm2
subps xmm2, xmm1
movss xmm0, xmm2
movq mm4, mm1
subps xmm2, xmm1
sqrtss xmm2, xmm2
movq mm2, mm0
haddps xmm0, xmm0
mulps xmm1, xmm0
movhlps xmm2, xmm0
addss xmm2, xmm0
haddps xmm0, xmm0
subps xmm2, xmm1
subps xmm2, xmm1
movq mm3, mm1
sqrtss xmm2, xmm2
movq mm2, mm0
mulps xmm2, xmm0
addps xmm2, xmm0
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
subps xmm0, xmm1
mulps xmm3, xmm1
subps xmm0, xmm1
movaps xmm1, xmm0
subps xmm2, xmm1
mulps xmm2, xmm0
movq mm4, mm1
movaps xmm1, xmm0
divps xmm1, xmm2
mulps xmm1, xmm0
mulps xmm2, xmm0
movaps xmm3, xmm2
movss xmm0, xmm2
addps xmm2, xmm0
movaps xmm1, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
mulps xmm2, xmm0
mulps xmm0, xmm0
mulps xmm3, xmm1
divps xmm1, xmm2
movq mm4, mm1
mulps xmm2, xmm0
movss xmm0, xmm2
addss xmm2, xmm0
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
divps xmm1, xmm2
movq mm2, mm0
sqrtss xmm2, xmm2
movq mm3, mm1
movq mm4, mm1
haddps xmm0, xmm0
haddps xmm0, xmm0
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
movaps xmm3, xmm2
rsqrtps xmm0, xmm0
rsqrtps xmm0, xmm0
mulps xmm1, xmm0
mulps xmm2, xmm0
movhlps xmm2, xmm0
call fcn.0040b3c4
mov dword [esp + 8], 0x24
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0040b3cc
sub esp, 0xc
shufps xmm2, xmm2, 0x55
mulps xmm2, xmm0
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movhlps xmm2, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm2
haddps xmm0, xmm0
movss xmm0, xmm2
haddps xmm0, xmm0
movss xmm0, xmm2
subps xmm2, xmm1
xor edx, edx
subps xmm2, xmm1
rsqrtps xmm0, xmm0
mulps xmm1, xmm0
rsqrtps xmm0, xmm0
mulps xmm2, xmm0
mulps xmm3, xmm1
mulps xmm2, xmm0
mulps xmm2, xmm0
mulps xmm1, xmm0
movq mm2, mm0
movaps xmm1, xmm0
mulps xmm2, xmm0
movq mm2, mm0
subps xmm0, xmm1
movq mm2, mm0
haddps xmm0, xmm0
subps xmm2, xmm1
mulps xmm2, xmm0
subps xmm2, xmm1
shufps xmm2, xmm2, 0
mov cl, byte [edx + 0x423286]
xor ecx, 0xffffff8c
mov byte [eax + edx], cl
mulps xmm2, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
subps xmm2, xmm1
mulps xmm0, xmm0
mulps xmm2, xmm0
haddps xmm0, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
addss xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
sqrtss xmm2, xmm2
addss xmm2, xmm0
mulps xmm3, xmm1
addps xmm2, xmm0
mulps xmm1, xmm2
movq mm4, mm1
mulps xmm3, xmm1
rsqrtps xmm0, xmm0
inc edx
cmp edx, 0x23
jne 0x402e4b
movss xmm0, xmm2
mulps xmm1, xmm2
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
addps xmm2, xmm0
movq mm4, mm1
movaps xmm1, xmm0
mulps xmm2, xmm0
mov byte [eax + 0x23], 0
movq mm3, mm1
mulps xmm1, xmm0
movq mm4, mm1
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
mulps xmm0, xmm0
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
test esi, esi
je 0x402f48
mov dword [esp + 4], 0x4232ac
mov dword [esp], eax
call esi
movq mm4, mm1
rsqrtps xmm0, xmm0
addss xmm2, xmm0
movhlps xmm2, xmm0
movaps xmm3, xmm2
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
divps xmm1, xmm2
subps xmm2, xmm1
mulps xmm1, xmm0
sqrtss xmm2, xmm2
mulps xmm0, xmm0
addss xmm2, xmm0
mulps xmm2, xmm0
divps xmm1, xmm2
addps xmm2, xmm0
mulps xmm1, xmm0
movq mm2, mm0
movhlps xmm2, xmm0
test ebx, ebx
je 0x402f91
mov dword [esp], ebx
call fcn.0040c550
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 4