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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, r8
mov r15, rdx
mov rbp, rcx
mov qword [rsp + 0x38], rcx
mov rcx, r8
call fcn.180005aa0
mov rbx, rax
mov rcx, rdi
call fcn.180004df0
mov rdx, rax
movabs rsi, 0xcbf29ce484222325
xor ecx, ecx
test rbx, rbx
je 0x18000e8f3
movabs r8, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rsi, rax
imul rsi, r8
inc rcx
cmp rcx, rbx
jb 0x18000e8e0
mov r9, rsi
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.18000e790
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18000e91d
mov qword [r15], rax
mov byte [r15 + 8], 0
jmp 0x18000eb05
mov rbx, qword [rbp + 0x10]
movabs rax, 0x492492492492492
mov qword [rsp + 0x30], rax
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.1800018e0
cmp rbx, qword [rax]
jne 0x18000e961
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea r13, [rbp + 8]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], 0
mov ecx, gethostname
call fcn.180006cb0
mov r14, rax
mov qword [rsp + 0x28], rax
mov rdx, rdi
lea rcx, [rax + 0x10]
call fcn.180005210
nop
mov rcx, qword [rdi + 0x20]
mov qword [r14 + 0x30], rcx
mov rcx, qword [rbp + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18000e9b3
cvtsi2ss xmm0, rcx
jmp 0x18000e9c8
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18000e9db
cvtsi2ss xmm1, rcx
jmp 0x18000e9f0
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
seta al
test al, al
je 0x18000eaad
mov rcx, rbp
call fcn.18000e410
mov rax, qword [rbp + 0x30]
and rax, rsi
add rax, rax
mov r12, qword [rbp + 0x18]
mov rdi, qword [r12 + rax*8 + 8]
mov rcx, qword [r13]
cmp rdi, rcx
jne 0x18000ea2e
mov qword [rsp + 0x20], rcx
jmp 0x18000ea99
mov r12, qword [r12 + rax*8]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.180004c30
mov r13, rax
mov rbp, qword [r14 + 0x20]
lea rcx, [r14 + 0x10]
call fcn.180004c30
cmp rbp, rbx
jne 0x18000ea66
mov r8, rbp
mov rdx, r13
mov rcx, rax
call fcn.180007660
test eax, eax
je 0x18000ea71
cmp rdi, r12
je 0x18000ea8a
mov rdi, qword [rdi + 8]
jmp 0x18000ea32
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdi
mov rbp, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
jmp 0x18000eaa2
mov qword [rsp + 0x20], rdi
mov rbp, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x28], 0
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x40], xmm0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [r14], rdx
mov qword [r14 + 8], r8
mov qword [r8], r14
mov qword [rdx + 8], r14
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, rsi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r13]
jne 0x18000eae6
mov qword [rcx + rax*8], r14
jmp 0x18000eaf8
cmp r9, rdx
jne 0x18000eaf1
mov qword [rcx + rax*8], r14
jmp 0x18000eafd
cmp qword [rcx + rax*8 + 8], r8
jne 0x18000eafd
mov qword [rcx + rax*8 + 8], r14
mov qword [r15], r14
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret