Function at 0x140031a40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
mov rbx, rdx
mov r15, rcx
xor r14d, r14d
mov dword [rsp + 0x28], r14d
movdqa xmm0, xmmword [0x1400a2a00]
movdqa xmmword [rax - 0x188], xmm0
movdqa xmm1, xmmword [0x1400a2a10]
movdqa xmmword [rax - 0x178], xmm1
movdqa xmm0, xmmword [0x1400a2a20]
movdqa xmmword [rax - 0x168], xmm0
movdqa xmm1, xmmword [0x1400a2a30]
movdqa xmmword [rax - 0x158], xmm1
movdqa xmm0, xmmword [0x1400a2a40]
movdqa xmmword [rax - 0x148], xmm0
movdqa xmm1, xmmword [str._v0_f0]
movdqa xmmword [rax - 0x138], xmm1
movdqa xmm0, xmmword [0x1400a2ad0]
movdqa xmmword [rax - 0x128], xmm0
movdqa xmm1, xmmword [0x1400a2a70]
movdqa xmmword [rax - 0x118], xmm1
movdqa xmm0, xmmword [0x1400a2ae0]
movdqa xmmword [rax - 0x108], xmm0
movdqa xmm1, xmmword [0x1400a2af0]
movdqa xmmword [rax - 0xf8], xmm1
movdqa xmm0, xmmword [0x1400a2ac0]
movdqa xmmword [rax - 0xe8], xmm0
movdqa xmm1, xmmword [0x1400a2a50]
movdqa xmmword [rax - 0xd8], xmm1
movdqa xmm0, xmmword [0x1400a2a60]
movdqa xmmword [rax - 0xc8], xmm0
movdqa xmm1, xmmword [0x1400a2a80]
movdqa xmmword [rax - 0xb8], xmm1
movdqa xmm0, xmmword [0x1400a2a90]
movdqa xmmword [rax - 0xa8], xmm0
movdqa xmm1, xmmword [0x1400a2aa0]
movdqa xmmword [rax - 0x98], xmm1
movdqa xmm0, xmmword [0x1400a2b20]
movdqa xmmword [rax - 0x88], xmm0
movdqa xmm1, xmmword [0x1400a2b10]
movdqa xmmword [rax - 0x78], xmm1
movdqa xmm0, xmmword [0x1400a2ab0]
movdqa xmmword [rax - 0x68], xmm0
movdqa xmm1, xmmword [0x1400a2b00]
movdqa xmmword [rax - 0x58], xmm1
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
lea ecx, [r14 + 0x18]
call fcn.140097c60
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], r14
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x88], 8
mov dword [rsp + 0x50], 0x3f800000
mov r8, rax
lea edx, [r14 + 0x10]
lea rcx, [rsp + 0x68]
call fcn.14002f580
nop
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.14002d9c0
nop
mov qword [r15], r14
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], r14
mov dword [rsp + 0x28], 1
mov r12d, r14d
mov dword [rsp + 0x230], r14d
mov r13d, 2
mov r9d, 0x16
movabs r8, 0x8000000000000000
movabs rdx, 0x7fffffffffffffff
mov dword [rsp + 0x24], r13d
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 5
movsxd rdi, r12d
cmp rdi, rax
jae 0x140031eeb
shl rdi, 5
add rdi, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140031ca5
mov rdi, qword [rdi]
cmp rsi, rdx
ja 0x140031f0b
cmp rsi, 0xf
ja 0x140031ccf
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 0xf
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x30], xmm0
jmp 0x140031d56
mov rbx, rsi
or rbx, 0xf
cmp rbx, rdx
jbe 0x140031d04
mov rbx, rdx
lea rax, [r8 + 0x27]
mov rcx, rax
call fcn.140097c60
mov rcx, rax
test rax, rax
je 0x140031ec4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140031d37
cmp rbx, 0x16
cmovb rbx, r9
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140031d28
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140031f11
jmp 0x140031ce2
test rcx, rcx
je 0x140031d34
call fcn.140097c60
jmp 0x140031d37
mov rax, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
mov dword [rsp + 0x20], 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rbx, qword [rsp + 0x30]
mov dword [rax], r14d
mov r8d, 0xa
lea rdx, [rsp + 0x238]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rsp + 0x238]
je 0x140031f17
cmp dword [rdi], 0x22
je 0x140031f23
mov dword [rsp + 0x20], eax
jmp 0x140031dcb
movabs rsi, 0x100000001b3
lea r8, [rsp + 0x24]
lea rcx, [rsp + 0x20]
cmp eax, 0xffffffff
cmovne r8, rcx
movzx ecx, byte [r8]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rsi
movzx eax, byte [r8 + 1]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [r8 + 2]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [r8 + 3]
xor rcx, rax
imul rcx, rsi
mov rdx, qword [rsp + 0x80]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + rdx*8 + 8]
mov r9, qword [rsp + 0x58]
cmp rax, r9
je 0x140031e60
mov rdx, qword [rcx + rdx*8]
mov ecx, dword [r8]
cmp ecx, dword [rax + 0x10]
je 0x140031e63
nop dword [rax]
cmp rax, rdx
je 0x140031e60
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140031e50
jmp 0x140031e63
mov rax, r14
test rax, rax
je 0x140031e90
cmp rax, r9
je 0x140031e90
lea r8, [rax + 0x14]
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x140031e87
mov eax, dword [r8]
mov dword [rdx], eax
add qword [r15 + 8], 4
jmp 0x140031e90
mov rcx, r15
call fcn.14002d820
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140031ed0
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031ecb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140031ecb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140097c9c
inc r12d
mov dword [rsp + 0x230], r12d
inc r13d
mov rbx, qword [rsp + 0x228]
jmp 0x140031c45
lea rcx, [rsp + 0x50]
call fcn.14002ee80
mov rax, r15
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140004d80
int3
call fcn.140004c70
nop
lea rcx, str.invalid_stoi_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
lea rcx, str.stoi_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3