Function at 0x1401b17b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rbp, r8
mov rsi, rdx
mov r10, rcx
cmp rdx, r8
je 0x1401b14b2
mov rax, qword [rcx + 8]
mov qword [rsp + 0xa8], rax
mov r11, qword [rcx + 0x18]
mov qword [rsp + 0x20], r11
lea r15, [rcx + 8]
mov qword [rsp + 0x30], r15
mov rax, qword [rdx + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov rax, qword [rdx + 8]
mov qword [rsp + 0xb8], rax
add rdx, 0x10
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1401b1406
mov rdx, qword [rdx]
xor ecx, ecx
movabs rbx, 0x100000001b3
movabs r8, 0xcbf29ce484222325
test r9, r9
je 0x1401b1434
movzx eax, byte [rdx + rcx]
xor r8, rax
imul r8, rbx
inc rcx
cmp rcx, r9
jb 0x1401b1421
mov rax, qword [r10 + 0x30]
and rax, r8
mov r14, rax
shl r14, 4
add r14, r11
add rax, rax
lea r13, [r11 + rax*8]
cmp qword [r14], rsi
sete r12b
mov rax, qword [r13 + 8]
mov qword [rsp + 0xb0], rax
nop
cmp rsi, rax
sete dil
mov rbx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x40], rsi
lea rcx, [rbx + 0x10]
call fcn.1401aec70
mov edx, 0xe0
mov rcx, rbx
call fcn.140283db0
dec qword [r15 + 8]
test dil, dil
jne 0x1401b14c6
cmp rsi, rbp
mov rax, qword [rsp + 0xb0]
jne 0x1401b1460
test r12b, r12b
je 0x1401b14a6
mov qword [r14], rsi
mov rax, qword [rsp + 0x28]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, rbp
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test r12b, r12b
je 0x1401b14d8
mov rax, qword [rsp + 0xa8]
mov qword [r14], rax
jmp 0x1401b14e0
mov rax, qword [rsp + 0xb8]
mov qword [r13 + 8], rax
cmp rsi, rbp
je 0x1401b14a6
nop dword [rax]
lea rdx, [rsi + 0x10]
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1401b1502
mov rdx, qword [rdx]
xor eax, eax
movabs r8, 0xcbf29ce484222325
test r9, r9
je 0x1401b1538
movabs r15, 0x100000001b3
nop dword [rax]
movzx ecx, byte [rdx + rax]
xor r8, rcx
imul r8, r15
inc rax
cmp rax, r9
jb 0x1401b1520
mov r15, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x30]
and rax, r8
mov r14, rax
shl r14, 4
mov rcx, qword [rsp + 0x20]
add r14, rcx
add rax, rax
lea r13, [rcx + rax*8]
mov r12, qword [r13 + 8]
cmp rsi, r12
sete dil
mov rbx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x40], rsi
lea rcx, [rbx + 0x10]
call fcn.1401aec70
mov edx, 0xe0
mov rcx, rbx
call fcn.140283db0
dec qword [r15 + 8]
test dil, dil
jne 0x1401b159c
cmp rsi, rbp
jne 0x1401b1561
jmp 0x1401b14a3
mov rax, qword [rsp + 0xa8]
mov qword [r14], rax
mov qword [r13 + 8], rax
cmp rsi, rbp
jne 0x1401b14f0
jmp 0x1401b14a6
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401b1868
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x1401b17fd
mov rdx, qword [rdi + 8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, rdi
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp 0x1401b1390
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rsi, qword [rcx]
test rsi, rsi
je 0x1401b1835
mov rbx, qword [rsi]
lea rcx, [rsi + 0x10]
call fcn.1401aec70
mov edx, 0xe0
mov rcx, rsi
call fcn.140283db0
mov rsi, rbx
test rbx, rbx
jne 0x1401b1814
mov rax, qword [rdi + 8]
mov qword [rax], rax
mov rcx, qword [rdi + 8]
mov qword [rcx + 8], rcx
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
call fcn.140026a50
nop
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret