Function at 0x14000171c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov r9, qword [rcx + 8]
mov r11d, r8d
shr r11d, 2
xor r10d, r10d
mov rbx, rdx
mov rsi, rcx
test r11d, r11d
je 0x1400014e5
mov rdi, r9
lea edx, [r10*4]
inc r10d
movzx ecx, byte [rdx + rbx]
lea eax, [rdx + 3]
movzx r8d, byte [rax + rbx]
lea eax, [rdx + 2]
movzx eax, byte [rax + rbx]
shl r8d, 8
or r8d, eax
lea eax, [rdx + 1]
shl r8d, 8
movzx eax, byte [rax + rbx]
or r8d, eax
shl r8d, 8
or r8d, ecx
mov dword [rdi], r8d
lea rdi, [rdi + 4]
cmp r10d, r11d
jb 0x14000149f
mov r11d, 0xa
cmp dword [rsi + 4], r11d
je 0x14000168b
cmp dword [rsi + 4], 0xc
je 0x1400015f6
cmp dword [rsi + 4], 0xe
je 0x14000150d
or eax, 0xffffffff
jmp 0x14000170b
mov ebx, dword [r9]
lea r11, [r9 + 0x1f]
lea r9, [0x140141800]
mov edi, 7
lea r10, [0x140141e00]
movzx eax, byte [r11 - 3]
movzx edx, byte [rax + r9]
movzx eax, byte [r11]
lea r11, [r11 + 0x20]
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r11 - 0x21]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r11 - 0x22]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
xor edx, ecx
xor edx, dword [r10]
lea r10, [r10 + 4]
xor edx, ebx
mov eax, edx
mov dword [r11 - 0x1f], edx
xor eax, dword [r11 - 0x3b]
mov ebx, edx
mov dword [r11 - 0x1b], eax
xor eax, dword [r11 - 0x37]
mov dword [r11 - 0x17], eax
xor eax, dword [r11 - 0x33]
mov edx, eax
mov dword [r11 - 0x13], edx
movzx eax, byte [r11 - 0x10]
movzx r8d, byte [rax + r9]
movzx eax, byte [r11 - 0x11]
shl r8d, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r11 - 0x12]
xor r8d, ecx
shl r8d, 8
movzx ecx, byte [rax + r9]
xor r8d, ecx
movzx eax, dl
shl r8d, 8
movzx ecx, byte [rax + r9]
xor r8d, ecx
xor r8d, dword [r11 - 0x2f]
mov dword [r11 - 0xf], r8d
xor r8d, dword [r11 - 0x2b]
mov dword [r11 - 0xb], r8d
xor r8d, dword [r11 - 0x27]
mov dword [r11 - 7], r8d
xor r8d, dword [r11 - 0x23]
mov dword [r11 - 3], r8d
sub rdi, 1
jne 0x140001527
jmp 0x140001709
mov r11d, dword [r9]
lea r8, [r9 + 0x17]
lea r9, [0x140141800]
mov ebx, 8
lea r10, [0x140141e00]
movzx eax, byte [r8 - 3]
movzx edx, byte [rax + r9]
movzx eax, byte [r8]
lea r8, [r8 + 0x18]
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r8 - 0x19]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r8 - 0x1a]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
xor edx, ecx
xor r11d, edx
xor r11d, dword [r10]
lea r10, [r10 + 4]
mov eax, r11d
mov dword [r8 - 0x17], r11d
xor eax, dword [r8 - 0x2b]
mov dword [r8 - 0x13], eax
xor eax, dword [r8 - 0x27]
mov dword [r8 - 0xf], eax
xor eax, dword [r8 - 0x23]
mov dword [r8 - 0xb], eax
xor eax, dword [r8 - 0x1f]
mov dword [r8 - 7], eax
xor eax, dword [r8 - 0x1b]
mov dword [r8 - 3], eax
sub rbx, 1
jne 0x140001610
jmp 0x140001709
mov ebx, dword [r9]
lea r8, [r9 + 0xf]
lea r9, [0x140141800]
lea r10, [0x140141e00]
movzx eax, byte [r8 - 3]
movzx edx, byte [rax + r9]
movzx eax, byte [r8]
lea r8, [r8 + 0x10]
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r8 - 0x11]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
movzx eax, byte [r8 - 0x12]
xor edx, ecx
shl edx, 8
movzx ecx, byte [rax + r9]
xor edx, ecx
xor edx, dword [r10]
lea r10, [r10 + 4]
xor edx, ebx
mov eax, edx
mov dword [r8 - 0xf], edx
xor eax, dword [r8 - 0x1b]
mov ebx, edx
mov dword [r8 - 0xb], eax
xor eax, dword [r8 - 0x17]
mov dword [r8 - 7], eax
xor eax, dword [r8 - 0x13]
mov dword [r8 - 3], eax
sub r11, 1
jne 0x1400016a0
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
cmp dword [0x140142230], 0
mov r10, r8
je 0x14000176c
mov dword [rcx], 1
lea rax, [rcx + 0x10]
mov qword [rcx + 8], rax
cmp r9d, 0x10
je 0x14000175a
cmp r9d, 0x18
je 0x140001751
cmp r9d, 0x20
jne 0x14000176c
mov dword [rcx + 4], 0xe
jmp 0x140001761
mov dword [rcx + 4], 0xc
jmp 0x140001761
mov dword [rcx + 4], 0xa
mov r8d, r9d
mov rdx, r10
jmp 0x140001474
or eax, 0xffffffff
ret