Function at 0x140173360
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm6
mov rax, qword [0x1403a0028]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
test rdx, rdx
je 0x1401734e1
mov rbx, r8
mov r13, rdx
mov r12, rcx
movaps xmm6, xmmword [0x14032f5c0]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
test byte [0x1403be517], 0x40
je 0x140173621
mov eax, 0x40000000
and eax, dword [0x1403be510]
je 0x140173621
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.140019d10
test eax, eax
je 0x140173621
xor eax, eax
mov cl, byte [rbx + rax]
xor byte [rsp + rax + 0x190], cl
inc rax
cmp rax, 0x20
jne 0x1401733f0
lea r14, [rsp + 0x60]
mov r8d, 0x130
mov rcx, r14
mov dl, 0xaa
call fcn.1401bd200
mov ecx, 1
call fcn.14018b370
test rax, rax
je 0x14017350d
mov rsi, rax
mov rbx, rax
add rbx, 0x128
cmp dword [rax + 0x128], 0xfff
ja 0x140173642
cmp qword [rsi + 0x120], 0
jne 0x140173642
mov edi, 0x10000
cmp r13, rdi
cmovb rdi, r13
mov qword [rsp + 0x20], 0x20
lea r9, [rsp + 0x190]
mov rcx, rsi
mov rdx, r12
mov r8, rdi
call fcn.1400974c0
test eax, eax
je 0x140173698
inc dword [rbx]
sub r13, rdi
je 0x1401734d8
add r12, rdi
mov ebp, 0x10000
lea r15, [rsp + 0x190]
cmp r13, rbp
mov edi, 0x10000
cmovb rdi, r13
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r12
mov r8, rdi
mov r9, r15
call fcn.1400974c0
test eax, eax
je 0x140173698
add r12, rdi
inc dword [rbx]
sub r13, rdi
jne 0x1401734a0
cmp rsi, r14
je 0x1401736b4
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.1401bb0d0
movaps xmm6, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x130
call fcn.14018af30
test rax, rax
je 0x1401736c8
mov rsi, rax
lea r8, [0x14023e4c0]
mov ecx, 1
mov rdx, rax
call fcn.1400e2a20
test eax, eax
je 0x1401736c8
mov dword [rsi + 0x12c], 0
lea rdi, [rsp + 0x30]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov edx, 0x30
mov rcx, rdi
call fcn.1400e3050
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movaps xmm2, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
xor eax, eax
lea rcx, [0x14033b8d0]
mov dl, byte [rax + rcx]
xor byte [rsp + rax + 0x1b0], dl
inc rax
cmp rax, 0x30
jne 0x140173592
mov eax, dword [0x1403be514]
lea rcx, [rsp + 0x1b0]
mov edx, 0x100
mov r8, rsi
bt eax, 0x19
jae 0x1401736d0
call fcn.1400033a0
lea rax, [0x140001ea0]
lea rcx, [0x140001140]
mov qword [rsi + 0xf8], rcx
mov qword [rsi + 0x100], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsi + 0x108], xmm0
mov qword [rsi + 0x118], 1
lea rbx, [rsi + 0x128]
mov dword [rsi + 0x128], 0
mov qword [rsi + 0x120], 0
jmp 0x140173448
call fcn.140299a50
test eax, eax
je 0x14017369d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
jmp 0x1401733ee
lea rdi, [rsp + 0x1b0]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov edx, 0x30
mov rcx, rdi
call fcn.1400e3050
mov r8d, 0x30
mov rcx, rsi
mov rdx, rdi
call fcn.140173a00
test eax, eax
je 0x140173698
mov qword [rsi + 0x118], 1
mov dword [rbx], 0
mov qword [rsi + 0x120], 0
jmp 0x140173456
call fcn.1401d3c50
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.140299a80
jmp 0x1401733ee
lea rcx, [rsp + 0x60]
mov edx, 0x120
call fcn.14018afb0
jmp 0x1401734e1
mov rsi, r14
jmp 0x14017353f
bt eax, 9
jae 0x1401736ee
call fcn.140004590
lea rax, [0x140004a60]
lea rcx, [0x140004760]
jmp 0x1401735d8
call fcn.14022f4c0
lea rax, [0x14022fcb0]
lea rcx, [0x14022f3a0]
jmp 0x1401735d8