Function at 0x40261b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
addss xmm2, xmm0
movaps xmm1, xmm0
movaps xmm1, xmm0
mulps xmm2, xmm0
movaps xmm3, xmm2
mulps xmm3, xmm1
rsqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
sqrtss xmm2, xmm2
movq mm4, mm1
rsqrtps xmm0, xmm0
mulps xmm2, xmm0
movq mm4, mm1
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
subps xmm2, xmm1
sqrtss xmm2, xmm2
mulps xmm3, xmm1
addss xmm2, xmm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
sqrtss xmm2, xmm2
addps xmm2, xmm0
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
mulps xmm1, xmm0
movq mm4, mm1
movq mm4, mm1
sqrtss xmm2, xmm2
movq mm2, mm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0x55
sqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
mulps xmm1, xmm0
rsqrtps xmm0, xmm0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
mov dword [esp], 0x208
call fcn.0040c810
mov ebx, eax
call fcn.0040b64c
movss xmm0, xmm2
haddps xmm0, xmm0
addss xmm2, xmm0
mulps xmm1, xmm0
addps xmm2, xmm0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movq mm3, mm1
rsqrtss xmm2, xmm2
movq mm4, mm1
movq mm3, mm1
addps xmm2, xmm0
addss xmm2, xmm0
movaps xmm3, xmm2
sqrtss xmm2, xmm2
movaps xmm1, xmm0
mulps xmm3, xmm1
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
movaps xmm3, xmm2
divps xmm1, xmm2
test eax, eax
jne 0x402757
addps xmm2, xmm0
addps xmm2, xmm0
mulps xmm1, xmm0
movq mm3, mm1
divps xmm1, xmm2
divps xmm1, xmm2
subps xmm0, xmm1
mulps xmm3, xmm1
mulps xmm1, xmm0
divps xmm1, xmm2
mulps xmm3, xmm1
movaps xmm1, xmm0
haddps xmm0, xmm0
addss xmm2, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
test ebx, ebx
jne 0x402828
jmp 0x402958
cmp word [eax], 0x22
jne 0x40283e
rsqrtss xmm2, xmm2
subps xmm2, xmm1
mulps xmm2, xmm0
sqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
movhlps xmm2, xmm0
subps xmm2, xmm1
mulps xmm2, xmm0
mulps xmm2, xmm0
movss xmm0, xmm2
subps xmm2, xmm1
movaps xmm3, xmm2
mulps xmm3, xmm1
movq mm2, mm0
add eax, 2
mov dword [ebx], eax
jmp 0x4027c7
movq mm3, mm1
mulps xmm1, xmm2
rsqrtps xmm0, xmm0
mulps xmm2, xmm0
mulps xmm0, xmm0
rsqrtss xmm2, xmm2
addps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm1, xmm2
divps xmm1, xmm2
mulps xmm1, xmm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
subps xmm0, xmm1
shufps xmm2, xmm2, 0x55
add eax, 2
mov dx, word [eax]
cmp dx, 0x22
je 0x4027d7
test dx, dx
jne 0x402795
jmp 0x402828
mov word [eax], 0
add eax, 2
movss xmm0, xmm2
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
rsqrtss xmm2, xmm2
movq mm3, mm1
mulps xmm2, xmm0
sqrtss xmm2, xmm2
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
addps xmm2, xmm0
rsqrtps xmm0, xmm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
addps xmm2, xmm0
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm2
subps xmm2, xmm1
jmp 0x402837
mov dword [esp], ebx
xor ebx, ebx
call fcn.0040c7e0
jmp 0x402958
mov edx, ebx
jmp 0x40294e
mov dword [ebx], eax
jmp 0x402845
add eax, 2
mov dx, word [eax]
cmp dx, 0x20
ja 0x402842
movq mm4, mm1
movq mm2, mm0
rsqrtss xmm2, xmm2
addps xmm2, xmm0
movaps xmm1, xmm0
movss xmm0, xmm2
mulps xmm3, xmm1
movhlps xmm2, xmm0
subps xmm2, xmm1
movq mm4, mm1
test dx, dx
je 0x402837
mov word [eax], 0
add eax, 2
jmp 0x402837
addps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm1, xmm2
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
movq mm3, mm1
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
haddps xmm0, xmm0
subps xmm2, xmm1
addps xmm2, xmm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
subps xmm0, xmm1
mulps xmm1, xmm2
mulps xmm2, xmm0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0
mulps xmm1, xmm0
subps xmm0, xmm1
add eax, 2
mov cx, word [eax]
lea esi, [ecx - 1]
cmp si, 0x1f
jbe 0x40287d
test cx, cx
jne 0x402905
movq mm4, mm1
subps xmm2, xmm1
movhlps xmm2, xmm0
movhlps xmm2, xmm0
movq mm3, mm1
movq mm3, mm1
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
sqrtss xmm2, xmm2
jmp 0x402958
mov dword [edx + 4], eax
jmp 0x40290d
add eax, 2
mov cx, word [eax]
cmp cx, 0x20
ja 0x40290a
subps xmm2, xmm1
movhlps xmm2, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
movhlps xmm2, xmm0
rsqrtss xmm2, xmm2
movaps xmm3, xmm2
divps xmm1, xmm2
movaps xmm3, xmm2
mulps xmm3, xmm1
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
test cx, cx
je 0x40294b
mov word [eax], 0
add eax, 2
add edx, 4
cmp word [eax], 0
jne 0x4028c8
mulps xmm3, xmm1
mulps xmm0, xmm0
subps xmm2, xmm1
haddps xmm0, xmm0
mulps xmm1, xmm0
mulps xmm1, xmm0
addps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm3, xmm1
movq mm4, mm1
rsqrtss xmm2, xmm2
subps xmm0, xmm1
movss xmm0, xmm2
addps xmm2, xmm0
movaps xmm1, xmm0
movq mm4, mm1
subps xmm2, xmm1
haddps xmm0, xmm0
movss xmm0, xmm2
rsqrtss xmm2, xmm2
sqrtss xmm2, xmm2
addss xmm2, xmm0
mulps xmm0, xmm0
addps xmm2, xmm0
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
mulps xmm1, xmm2
movss xmm0, xmm2
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
addss xmm2, xmm0
shufps xmm2, xmm2, 0
subps xmm2, xmm1
rsqrtps xmm0, xmm0
subps xmm2, xmm1
mulps xmm3, xmm1
movq mm4, mm1
movq mm4, mm1
shufps xmm2, xmm2, 0x55
mulps xmm0, xmm0
rsqrtss xmm2, xmm2
movq mm2, mm0
rsqrtps xmm0, xmm0
mulps xmm1, xmm0
movq mm3, mm1
rsqrtps xmm0, xmm0
sqrtss xmm2, xmm2
addss xmm2, xmm0
mulps xmm2, xmm0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
subps xmm0, xmm1
movhlps xmm2, xmm0
movq mm2, mm0
shufps xmm2, xmm2, 0x55
movaps xmm3, xmm2
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0
movq mm3, mm1
sqrtss xmm2, xmm2
mulps xmm1, xmm2
movq mm2, mm0
mulps xmm1, xmm0
subps xmm2, xmm1
haddps xmm0, xmm0
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
movq mm4, mm1
shufps xmm2, xmm2, 0x55
movss xmm0, xmm2
subps xmm2, xmm1
movaps xmm3, xmm2
subps xmm2, xmm1
haddps xmm0, xmm0
movq mm3, mm1
mulps xmm2, xmm0
movhlps xmm2, xmm0
mulps xmm2, xmm0
sqrtss xmm2, xmm2
movaps xmm3, xmm2
addss xmm2, xmm0
rsqrtps xmm0, xmm0
mulps xmm3, xmm1
subps xmm2, xmm1
movq mm3, mm1
subps xmm2, xmm1
rsqrtps xmm0, xmm0
mulps xmm3, xmm1
subps xmm2, xmm1
mov eax, dword [ebx + 4]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x402a90
mulps xmm3, xmm1
mulps xmm3, xmm1
movq mm3, mm1
mulps xmm3, xmm1
sqrtss xmm2, xmm2
subps xmm2, xmm1
mulps xmm2, xmm0
rsqrtps xmm0, xmm0
movq mm4, mm1
rsqrtss xmm2, xmm2
movq mm2, mm0
rsqrtps xmm0, xmm0
mov eax, dword [0x40e018]
mov dword [ebp - 0x1c], eax
haddps xmm0, xmm0
mulps xmm0, xmm0
mulps xmm1, xmm2
movhlps xmm2, xmm0
sqrtss xmm2, xmm2
addps xmm2, xmm0
addps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm2, xmm0
shufps xmm2, xmm2, 0x55
mulps xmm3, xmm1
haddps xmm0, xmm0
addps xmm2, xmm0
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm2
call fcn.0040b654
mov edx, dword [ebp - 0x1c]
mov dword [esp + 4], 0
shl edx, 3
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0040b65c
sub esp, 0xc
mov edi, eax
movss xmm0, xmm2
subps xmm2, xmm1
sqrtss xmm2, xmm2
movq mm4, mm1
haddps xmm0, xmm0
movaps xmm3, xmm2
mulps xmm1, xmm2
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0
divps xmm1, xmm2
movq mm4, mm1
mulps xmm2, xmm0
movq mm4, mm1
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x30], ebx
jmp 0x402c6a
mulps xmm3, xmm1
divps xmm1, xmm2
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
movq mm3, mm1
mulps xmm1, xmm0
movq mm2, mm0
mulps xmm3, xmm1
movq mm3, mm1
movss xmm0, xmm2
movq mm3, mm1
movss xmm0, xmm2
mulps xmm1, xmm2
rsqrtps xmm0, xmm0
movhlps xmm2, xmm0
movhlps xmm2, xmm0
movq mm2, mm0
addps xmm2, xmm0
subps xmm2, xmm1
addss xmm2, xmm0
movaps xmm3, xmm2
addps xmm2, xmm0
movaps xmm3, xmm2
movaps xmm3, xmm2
cmp ecx, 2
jne 0x402bae
mov cl, 4
sqrtss xmm2, xmm2
mulps xmm0, xmm0
mulps xmm0, xmm0
movhlps xmm2, xmm0
divps xmm1, xmm2
mulps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movss xmm0, xmm2
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
addps xmm2, xmm0
shufps xmm2, xmm2, 0
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
addps xmm2, xmm0
shufps xmm2, xmm2, 0x55
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 + 0x40e004]
xor eax, edx
mov dword [edi + esi*8 + 4], eax
mulps xmm1, xmm0
movq mm3, mm1
shufps xmm2, xmm2, 0x55
mulps xmm0, xmm0
addps xmm2, xmm0
movq mm2, mm0
mulps xmm2, xmm0
rsqrtps xmm0, xmm0
subps xmm0, xmm1
shufps xmm2, xmm2, 0x55
movhlps xmm2, xmm0
mulps xmm2, xmm0
movss xmm0, xmm2
subps xmm2, xmm1
subps xmm0, xmm1
subps xmm2, xmm1
movq mm3, mm1
mulps xmm2, xmm0
movaps xmm3, xmm2
movaps xmm3, xmm2
rsqrtss xmm2, xmm2
movss xmm0, xmm2
shufps xmm2, xmm2, 0
addps xmm2, xmm0
movss xmm0, xmm2
addps xmm2, xmm0
movq mm4, mm1
mulps xmm1, xmm2
inc esi
inc ecx
cmp esi, dword [ebp - 0x1c]
jl 0x402b5b
mov ebx, dword [ebp - 0x30]
movaps xmm1, xmm0
subps xmm2, xmm1
movq mm2, mm0
mulps xmm1, xmm2
sqrtss xmm2, xmm2
mulps xmm1, xmm0
mulps xmm3, xmm1
movaps xmm1, xmm0
mulps xmm3, xmm1
movss xmm0, xmm2
mov esi, dword [ebp - 0x1c]
call fcn.0040b654
mov dword [esp + 4], 0
shl esi, 2
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.0040b65c
xor edx, edx
sub esp, 0xc
jmp 0x402cc3
mov cl, byte [edi + edx*2]
mov byte [eax + edx], cl
inc edx
cmp edx, esi
jl 0x402cbc
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
subps xmm0, xmm1
mulps xmm0, xmm0
mulps xmm1, xmm2
subps xmm0, xmm1
movss xmm0, xmm2
movhlps xmm2, xmm0
addps xmm2, xmm0
movhlps xmm2, xmm0
divps xmm1, xmm2
subps xmm2, xmm1
mulps xmm1, xmm2
subps xmm2, xmm1
movq mm3, mm1
subps xmm0, xmm1
mov dword [esp], eax
call fcn.00403b58
mulps xmm0, xmm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
movaps xmm3, xmm2
sqrtss xmm2, xmm2
mulps xmm2, xmm0
divps xmm1, xmm2
movaps xmm3, xmm2
movq mm2, mm0
movaps xmm3, xmm2
mulps xmm3, xmm1
mulps xmm0, xmm0
movhlps xmm2, xmm0
haddps xmm0, xmm0
rsqrtss xmm2, xmm2
movaps xmm3, xmm2
movaps xmm1, xmm0
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
subps xmm2, xmm1
test eax, eax
je 0x40306a
mulps xmm0, xmm0
shufps xmm2, xmm2, 0x55
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0
movss xmm0, xmm2
haddps xmm0, xmm0
mulps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movq mm4, mm1
movq mm3, mm1
addps xmm2, xmm0
movaps xmm1, xmm0
subps xmm2, xmm1
mulps xmm0, xmm0
mulps xmm3, xmm1
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
addps xmm2, xmm0
mulps xmm0, xmm0
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004036d2
mov esi, eax
addps xmm2, xmm0
mulps xmm3, xmm1
mulps xmm3, xmm1
mulps xmm3, xmm1
movq mm2, mm0
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
movaps xmm1, xmm0
haddps xmm0, xmm0
mulps xmm1, xmm0
movaps xmm1, xmm0
mulps xmm1, xmm0
subps xmm2, xmm1
mulps xmm1, xmm2
movhlps xmm2, xmm0
divps xmm1, xmm2
movaps xmm1, xmm0
movss xmm0, xmm2
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0
mulps xmm1, xmm2
movq mm3, mm1
mulps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm1, xmm0
movhlps xmm2, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
movss xmm0, xmm2
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
subps xmm2, xmm1
mulps xmm3, xmm1
addss xmm2, xmm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
movq mm2, mm0
mulps xmm1, xmm0
mulps xmm0, xmm0
mulps xmm3, xmm1
mulps xmm0, xmm0
mulps xmm1, xmm0
addss xmm2, xmm0
movq mm3, mm1
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
rsqrtps xmm0, xmm0
movss xmm0, xmm2
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm0
subps xmm2, xmm1
subps xmm0, xmm1
movaps xmm1, xmm0
mulps xmm1, xmm2
sqrtss xmm2, xmm2
mulps xmm1, xmm2
mulps xmm0, xmm0
movss xmm0, xmm2
movaps xmm1, xmm0
subps xmm0, xmm1
subps xmm2, xmm1
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
movaps xmm3, xmm2
call fcn.0040b654
mov dword [esp + 8], 0x24
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0040b65c
sub esp, 0xc
mulps xmm1, xmm2
mulps xmm2, xmm0
sqrtss xmm2, xmm2
movq mm4, mm1
sqrtss xmm2, xmm2
mulps xmm3, xmm1
mulps xmm0, xmm0
haddps xmm0, xmm0
subps xmm2, xmm1
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
mulps xmm3, xmm1
movq mm4, mm1
shufps xmm2, xmm2, 0
movq mm3, mm1
mulps xmm3, xmm1
haddps xmm0, xmm0
mulps xmm1, xmm2
haddps xmm0, xmm0
sqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
xor edx, edx
mulps xmm2, xmm0
movss xmm0, xmm2
movq mm2, mm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
movhlps xmm2, xmm0
subps xmm2, xmm1
movq mm4, mm1
shufps xmm2, xmm2, 0x55
mulps xmm2, xmm0
mov cl, byte [edx + 0x424286]
xor ecx, 0x4d
mov byte [eax + edx], cl
shufps xmm2, xmm2, 0
sqrtss xmm2, xmm2
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
movss xmm0, xmm2
subps xmm2, xmm1
rsqrtps xmm0, xmm0
rsqrtss xmm2, xmm2
mulps xmm2, xmm0
sqrtss xmm2, xmm2
subps xmm2, xmm1
movhlps xmm2, xmm0
divps xmm1, xmm2
movaps xmm3, xmm2
movhlps xmm2, xmm0
addps xmm2, xmm0
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
haddps xmm0, xmm0
inc edx
cmp edx, 0x23
jne 0x402f01
mulps xmm1, xmm2
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
movss xmm0, xmm2
mulps xmm3, xmm1
mulps xmm0, xmm0
movss xmm0, xmm2
movaps xmm1, xmm0
subps xmm2, xmm1
addss xmm2, xmm0
sqrtss xmm2, xmm2
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
sqrtss xmm2, xmm2
haddps xmm0, xmm0
mov byte [eax + 0x23], 0
mulps xmm1, xmm2
movq mm4, mm1
shufps xmm2, xmm2, 0
rsqrtps xmm0, xmm0
movss xmm0, xmm2
shufps xmm2, xmm2, 0x55
movhlps xmm2, xmm0
mulps xmm1, xmm2
movq mm2, mm0
movaps xmm3, xmm2
shufps xmm2, xmm2, 0
movq mm3, mm1
movaps xmm1, xmm0
addss xmm2, xmm0
addss xmm2, xmm0
addss xmm2, xmm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movq mm4, mm1
mulps xmm3, xmm1
subps xmm2, xmm1
mulps xmm1, xmm2
test esi, esi
je 0x403021
mov dword [esp + 4], 0x4242ac
mov dword [esp], eax
call esi
movq mm2, mm0
movhlps xmm2, xmm0
movq mm4, mm1
mulps xmm0, xmm0
movaps xmm3, xmm2
divps xmm1, xmm2
movq mm3, mm1
subps xmm2, xmm1
subps xmm2, xmm1
movq mm2, mm0
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0x55
sqrtss xmm2, xmm2
movhlps xmm2, xmm0
addps xmm2, xmm0
subps xmm2, xmm1
subps xmm2, xmm1
movhlps xmm2, xmm0
movss xmm0, xmm2
test ebx, ebx
je 0x40306a
mov dword [esp], ebx
call fcn.0040c7e0
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 4