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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x140178478]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r15, r9
mov qword [rbp - 0x51], r9
mov r14, r8
mov r12, rdx
mov qword [rbp - 0x59], rdx
mov rsi, rcx
mov rdi, qword [r8 + 8]
mov rbx, qword [r8]
cmp rbx, rdi
je 0x14002e2b3
mov rcx, rbx
call fcn.1400085d0
add rbx, 0x10
cmp rbx, rdi
jne 0x14002e29f
mov rbx, qword [r14]
mov qword [r14 + 8], rbx
mov rdi, qword [r15 + 8]
mov rbx, qword [r15]
cmp rbx, rdi
je 0x14002e2d7
mov rcx, rbx
call fcn.1400085d0
add rbx, 0x10
cmp rbx, rdi
jne 0x14002e2c3
mov rbx, qword [r15]
mov qword [r15 + 8], rbx
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
xor r13d, r13d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
lea ecx, [r13 + 0x40]
call fcn.14000c1bc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r13
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x79], xmm0
lea edi, [r13 + 7]
mov qword [rbp - 0x69], rdi
mov qword [rbp - 0x61], 8
movss xmm0, dword [0x14012b2fc]
movss dword [rsp + 0x30], xmm0
mov r8, rax
lea edx, [rdi + 9]
lea rcx, [rsp + 0x48]
call fcn.140030dd0
nop
mov rbx, qword [rsi]
jmp 0x14002e3df
mov qword [rbp + 0xf], r13
mov qword [rbp + 0x17], rdi
mov word [rbp - 1], r13w
mov rcx, qword [rbx]
mov rax, qword [rcx]
movabs r10, 0x88f0be493453b170
lea rdx, [rbp - 1]
mov rax, qword [rax + 0x18]
call qword [case.0x14004374c.0]
lea r8, [rbp - 1]
lea rdx, [rbp - 0x31]
lea rcx, [rsp + 0x30]
call fcn.1400315c8
mov r8, qword [rax]
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14002e39b
lock inc dword [rdx + 8]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, qword [r8 + 0x30]
mov qword [rbp - 0x49], rax
mov qword [r8 + 0x30], rcx
mov rax, qword [r8 + 0x38]
mov qword [rbp - 0x41], rax
mov qword [r8 + 0x38], rdx
lea rcx, [rbp - 0x49]
call fcn.1400085d0
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14002e3db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
call fcn.14000c220
add rbx, 0x10
cmp rbx, qword [rsi + 8]
jne 0x14002e34a
mov rdi, qword [r12]
cmp rdi, qword [r12 + 8]
je 0x14002e6ad
movabs rbx, 0x100000001b3
movabs r15, 0xcbf29ce484222325
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14002e41d
lock inc dword [rsi + 8]
mov rsi, qword [rdi + 8]
mov r12, qword [rdi]
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rsi
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], 7
mov word [rbp - 0x21], r13w
mov rax, qword [r12]
movabs r10, 0x88f0be493453b170
lea rdx, [rbp - 0x21]
mov rcx, r12
mov rax, qword [rax + 0x18]
call qword [case.0x14004374c.0]
lea r8, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae r8, qword [rbp - 0x21]
mov rcx, r15
mov rax, qword [rbp - 0x11]
lea r9, [rax + rax]
mov rdx, r13
test r9, r9
je 0x14002e48f
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, r9
jb 0x14002e47b
mov rax, qword [rbp - 0x69]
and rax, rcx
add rax, rax
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rcx + rax*8 + 8]
mov r11, qword [rsp + 0x38]
cmp rbx, r11
je 0x14002e4da
mov r13, qword [rcx + rax*8]
jmp 0x14002e4bc
cmp rbx, r13
je 0x14002e4d7
mov rbx, qword [rbx + 8]
lea rdx, [rbx + 0x10]
lea rcx, [rbp - 0x21]
call fcn.140011a8c
test al, al
je 0x14002e4b3
xor r13d, r13d
test rbx, rbx
je 0x14002e4da
jmp 0x14002e4dd
xor r13d, r13d
mov rbx, r11
cmp rbx, r11
je 0x14002e61c
mov rax, qword [r12]
movabs r10, 0x9db527ff16561070
mov rdx, qword [rbx + 0x30]
mov rcx, r12
mov rax, qword [rax + 0x20]
call qword [case.0x14004374c.0]
test al, al
jne 0x14002e545
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x14002e538
and qword [rdx], 0
and qword [rdx + 8], 0
test rsi, rsi
je 0x14002e52a
lock inc dword [rsi + 8]
mov r12, qword [rsp + 0x20]
mov qword [rdx], r12
mov qword [rdx + 8], rsi
add qword [r14 + 8], 0x10
jmp 0x14002e545
lea r8, [rsp + 0x20]
mov rcx, r14
call fcn.140021bbc
lea rcx, [rbx + 0x10]
mov r9, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x14002e557
mov rcx, qword [rcx]
mov rdx, r15
xor r8d, r8d
add r9, r9
je 0x14002e580
movabs r10, 0x100000001b3
movzx eax, byte [r8 + rcx]
xor rdx, rax
imul rdx, r10
inc r8
cmp r8, r9
jb 0x14002e56c
mov rcx, qword [rbp - 0x69]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rsp + 0x48]
cmp qword [rdx + rcx*8 + 8], rbx
jne 0x14002e5b2
cmp qword [rdx + rcx*8], rbx
jne 0x14002e5a7
mov rax, qword [rsp + 0x38]
mov qword [rdx + rcx*8], rax
jmp 0x14002e5ab
mov rax, qword [rbx + 8]
mov qword [rdx + rcx*8 + 8], rax
jmp 0x14002e5bf
cmp qword [rdx + rcx*8], rbx
jne 0x14002e5bf
mov rax, qword [rbx]
mov qword [rdx + rcx*8], rax
mov rdx, qword [rbx]
dec qword [rsp + 0x40]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
lea rcx, [rbx + 0x30]
call fcn.1400085d0
mov rdx, qword [rbx + 0x28]
cmp rdx, 8
jb 0x14002e5fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx + 0x10]
call fcn.14000c220
xor r13d, r13d
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x28], 7
mov word [rbx + 0x10], r13w
lea edx, [r13 + 0x40]
mov rcx, rbx
call fcn.14000c220
jmp 0x14002e657
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x14002e649
mov qword [rdx], r13
mov qword [rdx + 8], r13
test rsi, rsi
je 0x14002e63b
lock inc dword [rsi + 8]
mov r12, qword [rsp + 0x20]
mov qword [rdx], r12
mov qword [rdx + 8], rsi
add qword [r14 + 8], 0x10
jmp 0x14002e657
lea r8, [rsp + 0x20]
mov rcx, r14
call fcn.140021bbc
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x14002e672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
call fcn.14000c220
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], 7
mov word [rbp - 0x21], r13w
lea rcx, [rsp + 0x20]
call fcn.1400085d0
add rdi, 0x10
mov rax, qword [rbp - 0x59]
cmp rdi, qword [rax + 8]
movabs rbx, 0x100000001b3
jne 0x14002e40c
mov r15, qword [rbp - 0x51]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14002e706
lea r8, [rbx + 0x30]
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x14002e6f1
mov qword [rdx], r13
mov qword [rdx + 8], r13
mov rax, qword [r8 + 8]
test rax, rax
je 0x14002e6dc
lock inc dword [rax + 8]
mov rax, qword [r8]
mov qword [rdx], rax
mov rax, qword [r8 + 8]
mov qword [rdx + 8], rax
add qword [r15 + 8], 0x10
jmp 0x14002e6f9
mov rcx, r15
call fcn.140021bbc
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [rsp + 0x38]
jne 0x14002e6ba
mov rdx, qword [rbp - 0x79]
mov rcx, qword [rsp + 0x48]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
call fcn.14000c220
mov qword [rsp + 0x48], r13
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x79], xmm0
lea rcx, [rsp + 0x38]
call fcn.14002e940
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400d24e0
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret