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

Disassembly:
mov qword [rsp + 0x10], rdx
push rsi
push r15
sub rsp, 0x38
mov rax, qword [0x1800dcd98]
movabs r15, 0xcbf29ce484222325
mov rsi, rcx
mov rdx, r15
mov r8, qword [rax + 8]
movzx eax, byte [r8]
test al, al
je 0x18000ba15
mov qword [rsp + 0x68], rdi
movabs rdi, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
movzx eax, byte [r8]
imul rdx, rdi
test al, al
jne 0x18000b700
movabs rax, 0x5597d0d77a2af3ae
cmp rdx, rax
jne 0x18000ba10
test rsi, rsi
je 0x18000ba10
mov rax, qword gs:[0x58]
mov edx, esi
mov ecx, dword [0x1800dbdc4]
mov qword [rsp + 0x50], rbx
xor ebx, ebx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x30], r14
mov r14, qword [rax + rcx*8]
mov ebp, 4
mov dword [rsp + 0x58], edx
mov eax, dword [r14 + rbp]
cmp dword [0x1800dcb30], eax
jle 0x18000b7d0
lea rcx, [0x1800dcb30]
call fcn.180048b68
cmp dword [0x1800dcb30], 0xffffffff
jne 0x18000b7cc
mov rax, qword [0x1800db420]
mov rcx, qword [0x1800db428]
cmp rax, rcx
je 0x18000b7b8
movabs rdx, 0xef47d62a28040ac
cmp qword [rax], rdx
je 0x18000b7ae
add rax, 0x10
cmp rax, rcx
jne 0x18000b7a0
cmp rax, rcx
je 0x18000b7b8
mov ecx, dword [rax + 8]
jmp 0x18000b7ba
mov ecx, ebx
mov dword [0x1800dcb90], ecx
lea rcx, [0x1800dcb30]
call fcn.180048afc
mov edx, dword [rsp + 0x58]
mov eax, dword [0x1800dcb90]
cmp byte [rax + rsi], bl
je 0x18000b938
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x20]
call fcn.18000c520
mov rdi, qword [rax]
mov eax, dword [r14 + rbp]
cmp dword [0x1800dcae8], eax
jle 0x18000b858
lea rcx, [0x1800dcae8]
call fcn.180048b68
cmp dword [0x1800dcae8], 0xffffffff
jne 0x18000b858
mov rax, qword [0x1800db420]
mov rcx, qword [0x1800db428]
cmp rax, rcx
je 0x18000b846
movabs rdx, 0xdfdb76de21756f27
nop
cmp qword [rax], rdx
je 0x18000b83e
add rax, 0x10
cmp rax, rcx
jne 0x18000b830
cmp rax, rcx
je 0x18000b846
mov ebx, dword [rax + 8]
lea rcx, [0x1800dcae8]
mov dword [0x1800dcb04], ebx
call fcn.180048afc
mov ecx, dword [0x1800dcb04]
mov eax, dword [rcx + rsi]
mov dword [rdi + 0x30], eax
mov eax, dword [rcx + rsi + 4]
mov dword [rdi + 0x34], eax
mov eax, dword [rcx + rsi + 8]
mov dword [rdi + 0x38], eax
cmp qword [rdi + 0x20], 0
mov qword [rdi + 0x28], rsi
jne 0x18000ba01
call fcn.1800489f4
mov rbx, rax
call fcn.1800489d8
mov r9, rax
cmp rbx, 0x989680
jne 0x18000b8a0
imul rax, r9, 0x64
jmp 0x18000b91d
cmp rbx, 0x16e3600
jne 0x18000b8ff
movabs r10, 0xb2f4fc0794908cf3
mov rax, r10
imul r9
mov rax, r10
lea r8, [r9 + rdx]
sar r8, 0x18
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
imul rcx, r8, 0x16e3600
sub r9, rcx
imul rcx, r9, 0x3b9aca00
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, r8, 0x3b9aca00
add rax, rdx
jmp 0x18000b91d
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov ecx, dword [0x1800dcabc]
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x18], ecx
lea eax, [rcx + 1]
mov dword [0x1800dcabc], eax
jmp 0x18000ba01
movzx eax, byte [rsp + 0x59]
mov r8, qword [0x1800db578]
mov r10, qword [0x1800db568]
movzx ecx, dl
xor rcx, r15
imul rcx, rdi
xor rcx, rax
movzx eax, byte [rsp + 0x5a]
imul rcx, rdi
xor rcx, rax
movzx eax, byte [rsp + 0x5b]
imul rcx, rdi
xor rcx, rax
imul rcx, rdi
and rcx, qword [0x1800db590]
add rcx, rcx
mov r11, qword [r8 + rcx*8 + 8]
mov rax, r11
cmp r11, r10
je 0x18000b9a6
mov r9, qword [r8 + rcx*8]
cmp edx, dword [r11 + 0x10]
je 0x18000b9a3
cmp rax, r9
je 0x18000b9a6
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x18000b995
mov rbx, rax
test rbx, rbx
je 0x18000ba01
mov rax, qword [r8 + rcx*8]
cmp r11, rbx
jne 0x18000b9cf
cmp rax, rbx
jne 0x18000b9c4
mov qword [r8 + rcx*8], r10
mov qword [r8 + rcx*8 + 8], r10
jmp 0x18000b9db
mov r10, qword [rbx + 8]
mov qword [r8 + rcx*8 + 8], r10
jmp 0x18000b9db
cmp rax, rbx
jne 0x18000b9db
mov rax, qword [rbx]
mov qword [r8 + rcx*8], rax
mov rdx, qword [rbx]
mov rcx, rbx
dec qword [0x1800db570]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
mov edx, 0x40
call fcn.18004905c
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x68]
add rsp, 0x38
pop r15
pop rsi
ret