Function at 0x140010174
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov dword [r11 + 0x20], r9d
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r14, qword [rsp + 0xa0]
mov r12d, dword [r11 + 0x20]
mov rbx, qword [r11 + 0x18]
movzx r8d, byte [r14]
mov rbp, qword [r11 + 0x10]
mov r15d, 1
lea rdi, [r14 + 1]
add r12d, 0xfffffff8
xor esi, esi
movzx eax, byte [rdi]
lea rdx, [r15 + rdi]
shl eax, 8
or r8d, eax
movzx eax, byte [rdx]
add rdx, r15
shl eax, 0x10
or r8d, eax
movzx eax, byte [rdx]
add rdx, r15
movzx r9d, byte [rdx]
shl eax, 0x18
add rdx, r15
movzx ecx, byte [rdx + r15 + 1]
or r8d, eax
movzx eax, byte [rdx]
shl eax, 8
shl ecx, 8
or r9d, eax
movzx eax, byte [rdx + r15]
or ecx, eax
shl ecx, 0x10
or r9d, ecx
cmp r12d, esi
jl 0x140010300
lea r13d, [r12 + 8]
shr r13, 3
mov eax, r13d
neg eax
lea r12d, [r12 + rax*8]
movzx edx, byte [rbx]
add rbx, r15
movzx eax, byte [rbx]
add rbx, r15
shl eax, 8
or edx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 0x10
or edx, eax
movzx eax, byte [rbx]
add rbx, r15
movzx ecx, byte [rbx]
shl eax, 0x18
add rbx, r15
or edx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 8
xor edx, r8d
or ecx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 0x10
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x20]
or ecx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 0x18
or ecx, eax
xor ecx, r9d
mov dword [rsp + 0x24], ecx
mov rcx, qword [rsp + 0x80]
call fcn.14000e84c
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
mov al, r8b
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 8
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 0x10
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 0x18
mov byte [rbp], al
add rbp, r15
mov al, r9b
mov byte [rbp], al
add rbp, r15
mov eax, r9d
shr eax, 8
mov byte [rbp], al
add rbp, r15
mov eax, r9d
shr eax, 0x10
mov byte [rbp], al
add rbp, r15
mov eax, r9d
shr eax, 0x18
mov byte [rbp], al
add rbp, r15
sub r13, r15
jne 0x140010225
cmp r12d, 0xfffffff8
je 0x14001040a
lea ecx, [r12 + 8]
mov edx, esi
movsxd rax, ecx
add rbx, rax
sub ecx, r15d
je 0x140010385
sub ecx, r15d
je 0x14001037a
sub ecx, r15d
je 0x14001036f
sub ecx, r15d
je 0x140010366
sub ecx, r15d
je 0x14001035e
sub ecx, r15d
je 0x140010353
sub ecx, r15d
je 0x140010348
cmp ecx, r15d
jne 0x14001038b
sub rbx, r15
movzx esi, byte [rbx]
shl esi, 0x18
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 0x10
or esi, eax
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 8
or esi, eax
sub rbx, r15
movzx eax, byte [rbx]
or esi, eax
sub rbx, r15
movzx edx, byte [rbx]
shl edx, 0x18
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 0x10
or edx, eax
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 8
or edx, eax
movzx eax, byte [rbx - 1]
or edx, eax
mov rcx, qword [rsp + 0x80]
xor edx, r8d
xor esi, r9d
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x24], esi
call fcn.14000e84c
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
mov al, r8b
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 8
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 0x10
mov byte [rbp], al
add rbp, r15
mov eax, r8d
shr eax, 0x18
mov byte [rbp], al
add rbp, r15
mov al, r9b
mov byte [rbp], al
add rbp, r15
mov eax, r9d
shr eax, 8
mov byte [rbp], al
mov eax, r9d
shr eax, 0x10
mov byte [rbp + r15], al
mov eax, r9d
shr eax, 0x18
mov byte [rbp + r15 + 1], al
mov byte [r14], r8b
mov eax, r8d
shr eax, 8
mov byte [rdi], al
add rdi, r15
mov eax, r8d
shr eax, 0x10
shr r8d, 0x18
mov byte [rdi], al
add rdi, r15
mov eax, r9d
mov byte [rdi], r8b
shr eax, 8
add rdi, r15
mov byte [rdi], r9b
add rdi, r15
mov byte [rdi], al
mov eax, r9d
shr eax, 0x10
shr r9d, 0x18
mov byte [rdi + r15], al
mov byte [rdi + r15 + 1], r9b
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret