Function at 0x10017b10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov edx, dword [0x10217214]
mov eax, edx
movss xmm4, dword [0x10201f58]
shr eax, 0x1f
movss xmm1, dword [0x10201f3c]
movd xmm0, edx
movss xmm5, dword [0x10201f44]
mov ecx, dword [0x10217218]
cvtdq2pd xmm0, xmm0
push ebx
push esi
push edi
addsd xmm0, qword [eax*8 + 0x10204240]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10201f18]
divss xmm0, xmm4
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [0x10201f60]
cmp edx, 0x500
jne 0x10017b90
cmp ecx, 0x400
jne 0x10017b90
movaps xmm3, xmm1
movaps xmm2, xmm1
jmp 0x10017bca
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10204240]
cvtpd2ps xmm3, xmm0
mulss xmm3, xmm5
divss xmm3, xmm4
cmp edx, 0x500
jne 0x10017bc7
cmp ecx, 0x400
jne 0x10017bc7
movaps xmm2, xmm1
jmp 0x10017bca
movaps xmm2, xmm3
movss xmm6, dword [0x10201f40]
movaps xmm0, xmm3
mulss xmm2, xmm6
mulss xmm0, dword [0x10201efc]
movss xmm7, dword [0x10201f50]
divss xmm2, xmm4
movss dword [esp + 0xc], xmm0
addss xmm2, xmm7
cmp edx, 0x500
jne 0x10017c07
cmp ecx, 0x400
je 0x10017c29
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10204240]
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm5
divss xmm1, xmm4
mulss xmm1, xmm6
sub esp, 8
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [ecx*8 + 0x10204240]
addss xmm1, xmm7
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push 0x537
push 0x10213720
cvtpd2ps xmm0, xmm0
push ecx
push 0x10215f94
mov ecx, 3
addss xmm1, dword [0x10201f2c]
subss xmm0, xmm1
cvttss2si esi, xmm0
mov edx, esi
call fcn.100174c0
movss xmm3, dword [esp + 0x28]
lea eax, [esi + 4]
movss xmm1, dword [esp + 0x24]
movaps xmm0, xmm3
mulss xmm1, dword [0x10201f00]
movaps xmm2, xmm3
add esp, 0x10
mov edx, eax
addss xmm0, dword [0x10201f2c]
mulss xmm2, dword [0x10201f00]
mov dword [esp + 0x24], eax
addss xmm1, dword [0x10201f28]
movss dword [esp + 4], xmm3
addss xmm0, dword [0x10201f2c]
movss dword [esp], xmm3
push 0x49b2
subss xmm1, xmm2
movss dword [esp + 0x24], xmm2
push 0x1020ed68
cvttss2si ecx, xmm0
cvttss2si edi, xmm1
add ecx, esi
push ecx
mov dword [esp + 0x28], ecx
push 0x10215f98
mov ecx, edi
call fcn.100174c0
push dword [0x10215f0c]
mov bh, 0x5b
movd xmm0, edi
mov al, 0x7e
mov byte [esp + 0x44], 0
mov ah, 0x12
mov byte [esp + 0x3c], bh
xor al, bh
mov byte [esp + 0x44], 0
xor ah, bh
mov byte [esp + 0x3d], al
mov byte [esp + 0x41], ah
mov ch, 0x17
lea eax, [esp + 0x3d]
mov cl, 0x32
push eax
push 0
push dword [0x10216020]
mov dl, 0x7b
mov bl, 0x10
push dword [0x102172a4]
mov dh, ch
xor cl, bh
xor dl, bh
mov byte [esp + 0x4e], cl
xor bl, bh
mov byte [esp + 0x4f], dl
xor ch, bh
mov byte [esp + 0x50], bl
xor dh, bh
mov byte [esp + 0x52], ch
mov byte [esp + 0x53], dh
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x44]
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
push eax
call fcn.10017980
movd xmm0, edi
add esp, 0x34
mov edi, dword [esp + 0x24]
mov edx, edi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x26f
push 0x10214240
push ecx
push 0x10215f9c
mov ecx, esi
call fcn.100174c0
push dword [0x102172bc]
mov byte [esp + 0x3c], 0x19
mov al, 0x3c
xor al, byte [esp + 0x3c]
mov ah, 0x5c
mov byte [esp + 0x3d], al
mov cl, 0x70
mov al, byte [esp + 0x3c]
mov dl, 0x39
xor ah, al
movd xmm0, esi
mov ch, 0x58
mov byte [esp + 0x41], ah
mov dh, 0x4d
mov byte [esp + 0x45], 0
xor cl, al
mov byte [esp + 0x45], 0
xor dl, al
mov byte [esp + 0x3e], cl
xor ch, al
mov byte [esp + 0x3f], dl
xor dh, al
mov byte [esp + 0x42], ch
cvtdq2ps xmm0, xmm0
mov bl, 0x5d
mov byte [esp + 0x43], dh
xor bl, al
mov bh, 0x51
xor bh, al
mov byte [esp + 0x40], bl
lea eax, [esp + 0x3d]
mov byte [esp + 0x44], bh
push eax
addss xmm0, dword [esp + 0x38]
push 0
push dword [0x10216020]
push dword [0x102172a4]
cvttss2si eax, xmm0
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
push eax
call fcn.10017980
movd xmm0, esi
add esp, 0x34
cvtdq2ps xmm0, xmm0
mov edx, edi
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x245
push 0x1020eb18
push ecx
push 0x10215fa0
mov ecx, esi
call fcn.100174c0
push dword [0x1021722c]
mov bh, 0xe
movd xmm0, esi
mov al, 0x2b
mov byte [esp + 0x44], 0
mov dl, al
mov byte [esp + 0x3c], bh
mov bl, al
mov byte [esp + 0x44], 0
mov ah, 0x2e
xor al, bh
xor ah, bh
mov byte [esp + 0x3d], al
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x41], ah
mov cl, 0x67
lea eax, [esp + 0x3d]
mov ch, 0x45
push eax
push 0
push dword [0x10216020]
addss xmm0, dword [esp + 0x40]
push dword [0x102172a4]
mov dh, 0x4a
xor cl, bh
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
xor dl, bh
mov byte [esp + 0x5a], cl
xor ch, bh
mov byte [esp + 0x5b], dl
xor dh, bh
mov byte [esp + 0x5e], ch
xor bl, bh
mov byte [esp + 0x5f], dh
mov byte [esp + 0x5c], bl
push eax
call fcn.10017980
movd xmm0, esi
add esp, 0x34
cvtdq2ps xmm0, xmm0
mov edx, edi
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x5df
push 0x10213c58
push ecx
push 0x10215fa4
mov ecx, esi
call fcn.100174c0
push dword [0x1021728c]
mov bh, 0x19
mov byte [esp + 0x44], 0
mov al, 0x3c
mov byte [esp + 0x3c], bh
mov dl, al
mov byte [esp + 0x44], 0
mov bl, al
mov cl, 0x70
mov ah, 0x39
mov ch, 0x51
mov dh, 0x4a
xor al, bh
xor cl, bh
mov byte [esp + 0x3d], al
xor dl, bh
mov byte [esp + 0x3e], cl
xor bl, bh
mov byte [esp + 0x3f], dl
xor ah, bh
mov byte [esp + 0x40], bl
xor ch, bh
mov byte [esp + 0x41], ah
xor dh, bh
mov byte [esp + 0x42], ch
mov byte [esp + 0x43], dh
movd xmm0, esi
lea eax, [esp + 0x3d]
push eax
cvtdq2ps xmm0, xmm0
push 0
push dword [0x10216020]
addss xmm0, dword [esp + 0x40]
push dword [0x102172a4]
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
push eax
call fcn.10017980
movaps xmm0, xmmword [0x10204f20]
add esp, 0x3c
movups xmmword [esp + 0x2c], xmm0
xor ecx, ecx
mov word [esp + 0x4c], 0x79
movaps xmm0, xmmword [0x10205920]
movups xmmword [esp + 0x3c], xmm0
mov al, byte [esp + 0x2c]
xor byte [esp + ecx + 0x2d], al
inc ecx
cmp ecx, 0x20
jb 0x10017ff6
push dword [0x10217284]
lea eax, [esp + 0x31]
mov byte [esp + 0x51], 0
push dword [0x1021604c]
push eax
mov eax, dword [0x10217218]
push 0
push dword [0x10216020]
add eax, 0xffffffea
push dword [0x10216264]
push 0xff00ff00
push 1
push eax
mov eax, dword [0x10217214]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10204240]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
call fcn.10017980
mov eax, dword [0x10217214]
add esp, 0x20
shr eax, 1
mov edx, dword [0x10217218]
mov dword [esp + 4], 0x41b80000
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
lea edx, [edx - 0x19]
mov dword [esp], 0x43700000
push 0x690
push 0x102144b8
push ecx
push 0x10215fbc
addsd xmm0, qword [eax*8 + 0x10204240]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x10201f5c]
cvttss2si ecx, xmm0
call fcn.100174c0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret