Function at 0x10017cd3
Capabilities:
Encode data using xor

Disassembly:
push 0x54
mov eax, 0x1004ea0e
call fcn.1004d36e
xor ebx, ebx
mov ecx, 0xff
mov edx, ebx
mov al, byte [edx + 0x10051db0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x10017d05
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 8
jl 0x10017ce8
mov byte [ebp - 0x14], bl
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], ebx
push eax
call fcn.1002a230
or esi, 0xffffffff
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10056eb0]
pop ecx
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0x1d081e0a
mov ecx, ebx
mov dword [ebp - 0x44], 0x1d03331b
mov dword [ebp - 0x40], 0x171d0700
mov dword [ebp - 0x3c], 0x1000a1e
lea eax, [ecx + 0x5b]
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0x1e
jb 0x10017d4a
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x20], 0xdfd8d9da
mov dword [ebp - 0x1c], 0xe3dcddde
mov dword [ebp - 0x18], 0xe0e1e2
mov byte [ebp - 0x14], 1
call fcn.1000344c
push ecx
lea ecx, [ebp - 0x58]
mov edx, 0x100d1a98
push ecx
mov ecx, eax
call fcn.100312e3
pop ecx
pop ecx
push 0x5f
pop ecx
mov edx, ebx
mov al, byte [edx + 0x10051dbc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x34], al
and ecx, 0x800000ff
jns 0x10017db0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10017d93
mov byte [ebp - 0x25], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 1
push eax
call fcn.1002a230
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10056ea0]
movups xmmword [ebp - 0x60], xmm0
pop ecx
movaps xmm0, xmmword [0x10057000]
mov ecx, ebx
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x7e3a1815
mov dword [ebp - 0x3c], 0xe6efe137
mov word [ebp - 0x38], 0xc7
mov byte [ebp - 0x36], 1
lea eax, [ecx + 0x5b]
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 0x29
jb 0x10017dfd
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x36], bl
mov dword [ebp - 0x1c], 0xdfd8d9da
mov dword [ebp - 0x18], 0xe3dcddde
mov word [ebp - 0x14], 0x100
call fcn.10002214
push ecx
lea ecx, [ebp - 0x60]
mov edx, 0x100d1a88
push ecx
mov ecx, eax
call fcn.100312e3
pop ecx
pop ecx
mov ecx, 0x95
mov edx, ebx
mov al, byte [edx + 0x10051dcc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10017e60
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10017e43
mov byte [ebp - 0x16], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
call fcn.1002a230
pop ecx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0xdddedfd8
mov dword [ebp - 0x1c], 0xe1e2e3dc
mov dword [ebp - 0x18], 0x100e7e0
call fcn.1000fb4a
push ecx
push 0xa6
push 0x1005b9d0
push 0x100311a4
mov edx, 0x1005b0cc
mov ecx, eax
call fcn.100311ff
add esp, 0x10
mov ecx, 0xf3
mov edx, ebx
mov al, byte [edx + 0x10051ddc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10017edd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10017ec0
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
push eax
call fcn.1002a230
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x1c]
push 0x168
push ebx
mov dword [ebp - 0x1c], 0xdfd8d9da
mov dword [ebp - 0x18], 0xdcddde
mov byte [ebp - 0x14], 1
call fcn.1000214e
mov esi, 0x1005b0c8
mov ecx, eax
mov edx, esi
call fcn.1002c634
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0xdedfd8d9
mov dword [ebp - 0x30], 0xe2e3dcdd
mov dword [ebp - 0x2c], 0xe6e7e0e1
mov word [ebp - 0x28], 0x100
call fcn.100051bb
mov edx, esi
mov ecx, eax
call fcn.10030c20
add esp, 0xc
call fcn.1004d32c
ret