Function at 0x140004c90
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa8], 0xfffffffffffffffe
mov ebx, edx
mov rsi, rcx
lea rcx, [rbp - 0x58]
call fcn.140006850
mov eax, ebx
and al, 0x3f
mov ecx, ebx
shr ecx, 6
mov r12d, ecx
and r12b, 0x3f
mov r15d, ebx
shr r15d, 0xc
and r15b, 7
cmp r15b, 5
jne 0x140004d3e
mov edx, r12d
shr dl, 3
movzx edx, dl
mov r8d, eax
shr r8b, 3
movzx r8d, r8b
sub edx, r8d
mov r8d, edx
neg r8d
cmovs r8d, edx
and cl, 7
movzx ecx, cl
mov edx, ebx
and dl, 7
movzx edx, dl
sub ecx, edx
mov edx, ecx
neg edx
cmovs edx, ecx
cmp edx, r8d
cmovbe edx, r8d
test dl, 0xfe
je 0x140004d3e
cmp r12b, al
seta cl
shl cl, 2
mov r12d, ebx
and r12b, 0x38
or r12b, cl
or r12b, 2
lea rdi, [rbp - 0x48]
movzx edx, al
shl rdx, 5
lea r14, [0x140329c60]
mov r8, qword [rdx + r14 + 0x10]
cmp qword [rdx + r14 + 0x18], 0x10
jb 0x140004d63
mov rdx, qword [rdx + r14]
jmp 0x140004d66
add rdx, r14
mov rcx, rdi
call fcn.140006a60
movzx eax, r12b
shl rax, 5
mov r8, qword [rax + r14 + 0x10]
cmp qword [rax + r14 + 0x18], 0x10
jb 0x140004d89
mov r14, qword [rax + r14]
jmp 0x140004d8c
add r14, rax
mov rcx, rdi
mov rdx, r14
call fcn.140006a60
test bx, bx
jns 0x140004fe3
movzx eax, r15b
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs r14, 0x100000001b3
imul r14, rcx
mov r8, qword [0x14032d2e8]
and r8, r14
mov rcx, qword [0x14032d2d0]
mov rdx, r8
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
cmp rax, qword [0x14032d2c0]
je 0x140004e14
cmp r15b, byte [rax + 0x10]
je 0x140004fd7
add r8, r8
mov rbx, qword [rcx + r8*8]
nop word cs:[rax + rax]
cmp rax, rbx
je 0x140004e17
mov rax, qword [rax + 8]
cmp r15b, byte [rax + 0x10]
jne 0x140004e00
jmp 0x140004fd7
mov rbx, rax
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x14032d2c8], rax
je 0x14000513b
mov ecx, 0x18
call fcn.14002f08c
mov byte [rax + 0x10], r15b
mov byte [rax + 0x11], 0
mov rdx, qword [0x14032d2c8]
inc rdx
js 0x140004e53
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x140004e68
mov rcx, rdx
shr rcx, 1
and edx, 1
or rdx, rcx
vcvtsi2ss xmm0, xmm0, rdx
vaddss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x14032d2b8]
mov rdx, qword [0x14032d2f0]
test rdx, rdx
js 0x140004e83
vcvtsi2ss xmm2, xmm2, rdx
jmp 0x140004e9a
mov r8, rdx
shr r8, 1
mov ecx, edx
and ecx, 1
or rcx, r8
vcvtsi2ss xmm2, xmm2, rcx
vaddss xmm2, xmm2, xmm2
vdivss xmm2, xmm0, xmm2
vucomiss xmm2, xmm1
jbe 0x140004f64
vdivss xmm0, xmm0, xmm1
vroundss xmm0, xmm0, xmm0, 0xa
vcvttss2si r9, xmm0
mov rcx, r9
vsubss xmm0, xmm0, dword [0x14005f490]
vcvttss2si r8, xmm0
sar rcx, 0x3f
and r8, rcx
or r8, r9
cmp r8, 9
mov r9d, 8
cmovae r9, r8
cmp rdx, r9
mov qword [rbp + 0xa0], rax
jae 0x140004f08
lea rcx, [rdx*8]
cmp rcx, r9
cmovb rcx, r9
cmp rdx, 0x200
cmovae rcx, r9
mov rdx, rcx
lea rcx, [0x14032d2b8]
call fcn.140003750
and r14, qword [0x14032d2e8]
mov r11, qword [0x14032d2d0]
lea rcx, [r14 + r14]
lea r8, [r14 + r14]
inc r8
mov rbx, qword [r11 + rcx*8 + 8]
mov rdx, qword [0x14032d2c0]
cmp rbx, rdx
je 0x140004f86
cmp r15b, byte [rbx + 0x10]
mov rax, qword [rbp + 0xa0]
je 0x140004f5f
mov r9, qword [r11 + rcx*8]
nop
cmp rbx, r9
je 0x140004f92
mov rbx, qword [rbx + 8]
cmp r15b, byte [rbx + 0x10]
jne 0x140004f50
mov rbx, qword [rbx]
jmp 0x140004f95
mov rdx, qword [0x14032d2c0]
mov r11, qword [0x14032d2d0]
and r14, qword [0x14032d2e8]
lea rcx, [r14 + r14]
lea r8, [r14 + r14]
inc r8
jmp 0x140004f95
mov rdx, rbx
mov rax, qword [rbp + 0xa0]
jmp 0x140004f95
mov rbx, r9
mov r9, qword [rbx + 8]
inc qword [0x14032d2c8]
mov qword [rax], rbx
mov qword [rax + 8], r9
mov qword [r9], rax
mov qword [rbx + 8], rax
lea r10, [r11 + rcx*8]
lea r8, [r11 + r8*8]
mov rcx, qword [r11 + rcx*8]
cmp rcx, rdx
je 0x140004fce
cmp rcx, rbx
je 0x140004fd4
mov r10, r8
cmp qword [r8], r9
jne 0x140004fd7
jmp 0x140004fd4
mov qword [r10], rax
mov r10, r8
mov qword [r10], rax
movzx edx, byte [rax + 0x11]
mov rcx, rdi
call fcn.140006e10
lea rcx, [rbp - 0x58]
mov rdx, rsi
call fcn.1400071e0
mov rax, qword [rbp - 0x58]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rax - 0x58], rcx
mov rax, qword [rbp - 0x58]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x98]
mov dword [rbp + rax - 0x5c], ecx
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x40], rax
test byte [rbp + 0x30], 1
je 0x140005082
mov rax, qword [rbp]
mov rax, qword [rax]
mov ecx, 0x70
test rax, rax
jne 0x140005043
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov ecx, 0x68
mov rcx, qword [rbp + rcx - 0x58]
movsxd rdx, dword [rcx]
add rdx, rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14000507d
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140005136
add rdx, 0x27
mov rcx, rax
call fcn.14002f124
lea rsi, [rbp + 0x40]
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov rax, qword [rbp - 8]
mov qword [rax], 0
mov rax, qword [rbp + 0x10]
mov dword [rax], 0
mov rax, qword [rbp - 0x20]
mov qword [rax], 0
mov rax, qword [rbp]
mov qword [rax], 0
mov rax, qword [rbp + 0x18]
mov dword [rax], 0
mov qword [rbp + 0x28], 0
and byte [rbp + 0x30], 0xfe
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x40], rax
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x140005110
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140005108
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140005108
mov r8, qword [rax]
mov rcx, rax
mov edx, 1
call qword [r8]
mov rcx, rdi
call fcn.14002f114
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x40], rax
mov rcx, rsi
call fcn.14002c598
nop
add rsp, 0x130
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
call fcn.140038d00
lea rcx, str.unordered_map_set_too_long
call fcn.14002cf4c
int3