Function at 0x180040988
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 [0x1800e4b88]
mov rax, qword gs:[0x58]
mov r13d, 4
mov r14, qword [rax + rcx*8]
xor r12d, r12d
movabs rbx, 0xcbf29ce484222325
movabs r10, 0x100000001b3
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov eax, dword [r14 + r13]
cmp dword [0x1800e528c], eax
jle 0x180040abd
lea rcx, [0x1800e528c]
call fcn.18009c99c
cmp dword [0x1800e528c], 0xffffffff
jne 0x180040ab3
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [0x1800e5290]
call sub.VCRUNTIME140.dll_memset
and dword [0x1800e5290], 0
mov qword [0x1800e5298], r12
mov qword [0x1800e52a0], r12
mov ecx, 0x58
call fcn.18009ce2c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1800e5298], rax
mov qword [0x1800e52a8], r12
xorps xmm0, xmm0
movdqa xmmword [0x1800e52b0], xmm0
mov qword [0x1800e52c0], 7
mov qword [0x1800e52c8], 8
mov dword [0x1800e5290], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1800e52a8]
call fcn.180040e98
nop
lea rcx, [0x18009e504]
call fcn.18009ce14
nop
lea rcx, [0x1800e528c]
call fcn.18009c93c
movabs r10, 0x100000001b3
mov rcx, rbx
mov rdx, r12
movzx eax, byte [rsp + rdx + 0x28]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, 4
jb 0x180040ac3
mov rdx, qword [0x1800e52c0]
and rdx, rcx
add rdx, rdx
mov rcx, qword [0x1800e52a8]
mov rax, qword [rcx + rdx*8 + 8]
mov r9, qword [0x1800e5298]
cmp rax, r9
je 0x180040b13
mov r8, qword [rcx + rdx*8]
jmp 0x180040b0c
cmp rax, r8
je 0x180040b13
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x180040b03
jmp 0x180040b16
mov rax, r12
mov r8, r9
test rax, rax
cmovne r8, rax
cmp r8, r9
jne 0x180040b5a
mov r8d, edi
mov rdx, rbp
call fcn.1800406e8
test al, al
jne 0x1800409d9
movzx eax, r12w
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18009c410
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, r10
inc rdx
cmp rdx, 4
jb 0x180040b60
mov r11, qword [r8 + 0x48]
mov rdx, r11
and rdx, rcx
mov r9, qword [r8 + 0x30]
add rdx, rdx
mov rax, qword [r9 + rdx*8 + 8]
mov r10, qword [r8 + 0x20]
cmp rax, r10
je 0x180040baa
mov rcx, qword [r9 + rdx*8]
jmp 0x180040ba3
cmp rax, rcx
je 0x180040baa
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180040b9a
jmp 0x180040bad
mov rax, r12
test rax, rax
cmove rax, r10
cmp rax, r10
jne 0x180040bd0
mov r8, rbp
mov rdx, r15
lea rcx, str.schema::GetOffset__:__s_was_not_found_in__s__n
call fcn.1800066c8
jmp 0x180040b38
mov rcx, r12
movabs rdx, 0x100000001b3
movzx eax, byte [rsp + rcx + 0x20]
xor rbx, rax
imul rbx, rdx
inc rcx
cmp rcx, 4
jb 0x180040bdd
and rbx, r11
add rbx, rbx
mov rax, qword [r9 + rbx*8 + 8]
cmp rax, r10
je 0x180040c24
mov rcx, qword [r9 + rbx*8]
jmp 0x180040c11
cmp rax, rcx
je 0x180040c24
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180040c08
test rax, rax
je 0x180040c24
movzx eax, word [rax + 0x14]
jmp 0x180040b3c
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