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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x70
mov rdi, rdx
xor esi, esi
mov ecx, dword [0x180357864]
mov rax, qword gs:[0x58]
mov edx, 8
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18035b560], ecx
jle 0x180099eab
lea rcx, [0x18035b560]
call fcn.18012c8d8
cmp dword [0x18035b560], 0xffffffff
jne 0x180099eab
xorps xmm0, xmm0
movups xmmword [0x18035b520], xmm0
movups xmmword [0x18035b530], xmm0
movups xmmword [0x18035b540], xmm0
movups xmmword [0x18035b550], xmm0
mov dword [0x18035b520], esi
mov qword [0x18035b528], rsi
mov qword [0x18035b530], rsi
lea ecx, [rsi + 0x38]
call fcn.18012c300
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18035b528], rax
mov qword [0x18035b538], rsi
xorps xmm0, xmm0
movdqa xmmword [0x18035b540], xmm0
mov qword [0x18035b550], 7
mov qword [0x18035b558], 8
mov dword [0x18035b520], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [0x18035b538]
call fcn.180075340
nop
lea rcx, [0x180253e20]
call fcn.18012c818
nop
lea rcx, [0x18035b560]
call fcn.18012c86c
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
mov r8d, 6
lea rdx, str.Global
lea rcx, [rsp + 0x20]
call fcn.180071bc0
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdx, qword [rsp + 0x20]
movabs r9, 0xcbf29ce484222325
mov rcx, rsi
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x180099f23
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x180099f10
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x60]
call fcn.18009acb0
mov rcx, qword [rax + 8]
mov rax, qword [0x18035b528]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [0x18035b528]
setne bl
lea rcx, [rsp + 0x20]
call fcn.180071b60
test bl, bl
je 0x180099fbb
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
mov r8d, 6
lea rdx, str.Global
lea rcx, [rsp + 0x20]
call fcn.180071bc0
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x60]
call fcn.18009a790
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x30]
lea rcx, [rsp + 0x20]
call fcn.180071b60
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov ecx, 0x50
call fcn.18012c300
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
mov rdx, rdi
mov rcx, rax
call fcn.180099aa0
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8d, 6
lea rdx, str.Global
lea rcx, [rsp + 0x40]
call fcn.180071bc0
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
call fcn.18009a790
mov rax, qword [rax]
mov rbx, qword [rax + 0x30]
mov qword [rax + 0x30], rdi
test rbx, rbx
je 0x18009a078
lea rcx, [rbx + 0x28]
call fcn.180071b60
lea rcx, [rbx + 8]
call fcn.180071b60
mov rcx, qword [rbx]
test rcx, rcx
je 0x18009a06a
mov rax, qword [rcx]
movsxd r8, dword [rax + 4]
add rcx, r8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov edx, 0x50
mov rcx, rbx
call fcn.18012c40c
nop
lea rcx, [rsp + 0x40]
call fcn.180071b60
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8d, 6
lea rdx, str.Global
lea rcx, [rsp + 0x40]
call fcn.180071bc0
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
call fcn.18009a790
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x30]
lea rcx, [rsp + 0x40]
call fcn.180071b60
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret