Function at 0x411320
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
movsd xmm0, qword [0x45f460]
subsd xmm0, qword [0x4537a0]
mov eax, dword [ebp + 0xc]
push ebx
push esi
add eax, 4
movsd qword [0x45f460], xmm0
movss xmm0, dword [0x45f130]
cvtps2pd xmm1, xmm0
push edi
push eax
movsd xmm0, qword [0x45f460]
subsd xmm0, qword [0x4538b8]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x45f130], xmm0
call fcn.0042284d
mov edi, dword [ebp + 8]
mov esi, eax
add esp, 4
mov dword [ebp - 8], esi
mov cl, byte [edi + 0x44f2f0]
mov byte [esi], cl
mov eax, dword [0x461324]
movss xmm3, dword [0x45379c]
mov al, byte [eax + edi]
xor al, cl
mov byte [esi], al
mov cl, byte [edi + 0x44f2f1]
mov byte [esi + 1], cl
mov eax, dword [0x461324]
mov al, byte [eax + edi + 1]
xor al, cl
mov byte [esi + 1], al
movss xmm1, dword [0x45f004]
mov eax, dword [0x45f1e8]
sub eax, 0x34806d55
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
dec dword [0x45f1e8]
movss xmm0, dword [0x45f004]
subss xmm0, xmm3
movss dword [0x45f004], xmm0
test ah, 0x44
jp 0x41144e
movss xmm2, dword [0x45f2cc]
mov eax, dword [0x45f10c]
movsd xmm1, qword [0x45f330]
movd xmm0, eax
movsx eax, word [0x45f0ac]
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
cvtps2pd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x45f330], xmm1
dec word [0x45f0ac]
movss xmm0, dword [0x45f2cc]
addss xmm0, xmm3
movss dword [0x45f2cc], xmm0
movzx ebx, word [esi]
add edi, 2
mov dword [ebp - 4], ebx
lea eax, [ebx + 3]
push eax
lea eax, [edi + 0x44f2f0]
push eax
push esi
call fcn.004237a0
mov edx, dword [0x461324]
add ebx, 3
dec dword [0x45f194]
add ebx, esi
mov ax, word [0x45f0c0]
add edx, edi
movss xmm1, dword [0x45f3dc]
mov edi, ebx
movsx ecx, ax
sub edi, esi
mov eax, dword [0x45f194]
add esp, 0xc
sub ecx, eax
mov dword [ebp + 8], ebx
sub ecx, 0x115f5c25
xor eax, eax
movd xmm0, ecx
xor ecx, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x45f3dc], xmm1
inc word [0x45f0c0]
cmp esi, ebx
cmova edi, eax
test edi, edi
je 0x41153e
cmp edi, 0x20
jb 0x411523
lea eax, [edx - 1]
add eax, edi
cmp esi, eax
ja 0x4114e1
lea eax, [esi - 1]
add eax, edi
cmp eax, edx
jae 0x411523
mov eax, edi
mov ebx, edi
and eax, 0x1f
sub ebx, eax
lea ebx, [ebx]
movdqu xmm0, xmmword [esi]
add ecx, 0x20
movdqu xmm1, xmmword [edx]
pxor xmm1, xmm0
movdqu xmmword [esi], xmm1
movdqu xmm1, xmmword [edx + 0x10]
add edx, 0x20
movdqu xmm0, xmmword [esi + 0x10]
pxor xmm1, xmm0
movdqu xmmword [esi + 0x10], xmm1
add esi, 0x20
cmp ecx, ebx
jne 0x4114f0
mov ebx, dword [ebp + 8]
cmp ecx, edi
je 0x41153e
sub edx, esi
lea esp, [esp]
mov al, byte [edx + esi]
lea esi, [esi + 1]
xor byte [esi - 1], al
inc ecx
cmp ecx, edi
jne 0x411530
mov ax, word [0x45f45c]
movsx ecx, ax
mov eax, dword [0x45f3f4]
add ecx, eax
mov eax, dword [0x45f060]
add eax, 0x6bdf18be
add eax, ecx
mov ecx, dword [ebp - 4]
mov dword [0x45f060], eax
dec word [0x45f45c]
inc dword [0x45f3f4]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
je 0x4115c9
movsd xmm1, qword [0x453d38]
lea esi, [ebx - 3]
mov byte [ebx], 0
sub eax, ecx
movsd xmm0, qword [0x45f4d0]
mov edi, dword [ebx - 3]
subsd xmm1, xmm0
movsd xmm0, qword [0x45f480]
mov dword [ebp + 0xc], eax
addsd xmm0, xmm1
movsd qword [0x45f480], xmm0
movsd xmm0, qword [0x45f4d0]
addsd xmm0, qword [0x4537a0]
movsd qword [0x45f4d0], xmm0
jmp 0x411383
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret