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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rax, qword [0x1800e1010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov esi, r9d
mov r15, r8
mov edi, edx
mov rbp, rcx
mov ecx, dword [0x1800e4b4c]
mov rax, qword gs:[0x58]
mov r13d, 4
mov r14, qword [rax + rcx*8]
xor r12d, r12d
movabs rbx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov eax, dword [r14 + r13]
cmp dword [0x1800e525c], eax
jle 0x180040a3d
lea rcx, [0x1800e525c]
call fcn.18009c70c
cmp dword [0x1800e525c], 0xffffffff
jne 0x180040a33
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [0x1800e5260]
call sub.VCRUNTIME140.dll_memset
and dword [0x1800e5260], 0
mov qword [0x1800e5268], r12
mov qword [0x1800e5270], r12
mov ecx, 0x58
call fcn.18009cb04
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1800e5268], rax
mov qword [0x1800e5278], r12
xorps xmm0, xmm0
movdqa xmmword [0x1800e5280], xmm0
mov qword [0x1800e5290], 7
mov qword [0x1800e5298], 8
mov dword [0x1800e5260], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1800e5278]
call fcn.180040d1c
nop
lea rcx, [0x18009e1e4]
call fcn.18009caec
nop
lea rcx, [0x1800e525c]
call fcn.18009c6a0
movabs r11, 0x100000001b3
mov rcx, rbx
mov rdx, r12
movzx eax, byte [rsp + rdx + 0x28]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, 4
jb 0x180040a43
and rcx, qword [0x1800e5290]
add rcx, rcx
mov rdx, qword [0x1800e5278]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x1800e5268]
cmp rax, r9
je 0x180040a90
mov r8, qword [rdx + rcx*8]
jmp 0x180040a89
cmp rax, r8
je 0x180040a90
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x180040a80
jmp 0x180040a93
mov rax, r12
mov r8, r9
test rax, rax
cmovne r8, rax
cmp r8, r9
jne 0x180040ad7
mov r8d, edi
mov rdx, rbp
call fcn.180040594
test al, al
jne 0x180040959
movzx eax, r12w
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18009c260
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, rbx
mov rdx, r12
movzx eax, byte [rsp + rdx + 0x20]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, 4
jb 0x180040add
mov r10, qword [r8 + 0x48]
and rcx, r10
mov rdx, qword [r8 + 0x30]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [r8 + 0x20]
cmp rax, r9
je 0x180040b24
mov r8, qword [rdx + rcx*8]
jmp 0x180040b1d
cmp rax, r8
je 0x180040b24
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180040b14
jmp 0x180040b27
mov rax, r12
test rax, rax
cmove rax, r9
cmp rax, r9
jne 0x180040b4a
mov r8, rbp
mov rdx, r15
lea rcx, str.schema::GetOffset__:__s_was_not_found_in__s__n
call fcn.180006624
jmp 0x180040ab5
mov rcx, r12
movzx eax, byte [rsp + rcx + 0x20]
xor rbx, rax
imul rbx, r11
inc rcx
cmp rcx, 4
jb 0x180040b4d
and rbx, r10
add rbx, rbx
mov rax, qword [rdx + rbx*8 + 8]
cmp rax, r9
je 0x180040b94
mov rcx, qword [rdx + rbx*8]
jmp 0x180040b81
cmp rax, rcx
je 0x180040b94
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180040b78
test rax, rax
je 0x180040b94
movzx eax, word [rax + 0x14]
jmp 0x180040ab9
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3