Function at 0x180009dc0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x48
mov rsi, rdx
mov rbx, qword [0x180148798]
cmp byte [rbx + 0x498], 0
jne 0x180009f26
vmovss xmm4, dword [rbx + 0x458]
vmovss xmm0, dword [0x1800ede08]
vdivss xmm1, xmm0, xmm4
vxorps xmm2, xmm2, xmm2
vroundss xmm2, xmm2, xmm1, 2
xor eax, eax
vmovss xmm3, dword [0x1800ede0c]
vcomiss xmm2, xmm3
jb 0x180009e35
vsubss xmm2, xmm2, xmm3
vcomiss xmm2, xmm3
jae 0x180009e35
movabs rdx, 0x8000000000000000
mov rax, rdx
jmp 0x180009e3f
movabs rdx, 0x8000000000000000
vcvttss2si r8, xmm2
add r8, rax
mov rcx, qword [rbx + 0x468]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x180009e5e
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x180009e73
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, xmm4
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
xor eax, eax
vcomiss xmm1, xmm3
jb 0x180009e96
vsubss xmm1, xmm1, xmm3
vcomiss xmm1, xmm3
jae 0x180009e96
mov rax, rdx
vcvttss2si rdx, xmm1
add rdx, rax
cmp rdx, r8
cmovb rdx, r8
cmp rdx, qword [rbx + 0x490]
jbe 0x180009eba
lea rcx, [rbx + 0x458]
call fcn.18000d5c0
lea rdi, [0x1800c8830]
lea r15, [rbx + 0x460]
lea r12, [0x1800e22b0]
nop
mov rcx, qword [0x180148790]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rdi + 8]
mov rcx, qword [rcx + 0x10]
call rax
mov qword [rsp + 0x80], rax
mov r8, qword [r15]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, rdi
lea rdx, [rsp + 0x98]
lea rcx, [rbx + 0x458]
call fcn.18000f8e0
add rdi, 0x10
cmp rdi, r12
jne 0x180009ed0
mov byte [rbx + 0x498], 1
jmp 0x180009f2d
lea r15, [rbx + 0x460]
mov rax, rsi
shr rax, 8
movzx edx, al
movzx eax, sil
movabs r10, 0xcbf29ce484222325
xor rax, r10
movabs r8, 0x100000001b3
imul rax, r8
xor rdx, rax
imul rdx, r8
mov rax, rsi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rsi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rsi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rsi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rsi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rsi
shr rax, 0x38
xor rdx, rax
imul rdx, r8
mov rcx, qword [rbx + 0x488]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rbx + 0x470]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [r15]
je 0x180009ff6
mov rcx, qword [rdx + rcx*8]
cmp rsi, qword [rax + 0x10]
jne 0x180009fed
xor r9d, r9d
jmp 0x180009ffc
cmp rax, rcx
jne 0x18000a3b5
xor r9d, r9d
mov eax, r9d
nop dword [rax]
test rax, rax
je 0x18000a014
cmp rax, qword [rbx + 0x460]
je 0x18000a014
mov rcx, qword [rax + 0x18]
jmp 0x18000a017
mov rcx, r9
mov qword [rsp + 0x90], rcx
cmp byte [rbx + 0x450], 0
je 0x18000a306
mov qword [rsp + 0x80], rcx
mov rax, r9
nop word [rax + rax]
cmp qword [rsp + rax*8 + 0x80], 0
je 0x18000a2ea
inc rax
cmp rax, 1
jb 0x18000a040
movzx ecx, sil
xor rcx, r10
imul rcx, r8
movzx eax, byte [rsp + 0x89]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8a]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8b]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8c]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8d]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8e]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rsp + 0x8f]
xor rcx, rax
imul rcx, r8
mov rdx, qword [rbx + 0x488]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rbx + 0x470]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rbx + 0x460]
je 0x18000a109
mov rcx, qword [rcx + rdx*8]
cmp rsi, qword [rax + 0x10]
je 0x18000a10c
nop dword [rax + rax]
cmp rax, rcx
jne 0x18000a2e1
mov rax, r9
test rax, rax
je 0x18000a219
nop word [rax + rax]
cmp rax, qword [rbx + 0x460]
je 0x18000a219
lea r11, [0x1800c7680]
lea r10, str.freemode
nop dword [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
movzx eax, r8b
or al, 0x20
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x18000a140
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r9d, ecx, 0x8001
mov rax, qword [0x180148790]
mov rcx, qword [rax + 0x50]
mov rdx, qword [rcx]
movzx eax, word [rcx + 8]
lea r8, [rdx + rax*8]
nop
cmp rdx, r8
je 0x18000a2d3
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a213
cmp dword [rcx + 8], 0
je 0x18000a213
cmp dword [rcx + 0xc], r9d
jne 0x18000a213
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov rsi, qword [rdi + 0x848]
mov qword [rdi + 0x848], rcx
mov byte [rdi + 0x850], 1
mov rax, qword [rsp + 0x90]
mov rcx, rbx
call rax
mov rax, qword [0x180148790]
mov rdx, qword [rax + 0x28]
mov rcx, rbx
call rdx
mov qword [rdi + 0x848], rsi
test rsi, rsi
setne al
mov byte [rdi + 0x850], al
jmp 0x18000a2d3
add rdx, 8
jmp 0x18000a1a0
lea rdx, str.Failed_to_find
lea rcx, [0x180148978]
call fcn.18000f3a0
lea rdx, [0x1800c7698]
lea rbx, [0x180148978]
mov rcx, rbx
call fcn.18000f3a0
lea rdx, [0x180007ee0]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, [0x180007f10]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x180007f00]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, str._natives_handler.
mov rcx, rbx
call fcn.18000f3a0
mov rax, qword [0x180148978]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx edx, al
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::put_char____ptr64]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
lea rcx, [0x180148970]
call fcn.180009a80
nop
add rsp, 0x48
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rax + 8]
jmp 0x18000a0f2
lea rdx, str.Native_handler_is_a_nullptr_
lea rcx, [0x180148978]
call fcn.18000f3a0
lea rbx, [0x180148978]
jmp 0x18000a36b
lea rdx, str.Native_call_context_contains_a_nullptr_value__check_your_native_arguments_for_native:
lea rcx, [0x180148978]
call fcn.18000f3a0
lea rdx, [0x1800c7698]
lea rbx, [0x180148978]
mov rcx, rbx
call fcn.18000f3a0
lea rdx, [0x180007ee0]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, [0x180007f10]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x180007f00]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rax, qword [0x180148978]
movsxd rcx, dword ds:[rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx edx, al
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::put_char____ptr64]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
lea rcx, [0x180148970]
call fcn.180009a80
add rsp, 0x48
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rax + 8]
jmp 0x180009fe2