Function at 0x180062004
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x40
mov r10, qword [rcx + 0x10]
mov rdi, r8
mov rbx, rcx
xor ecx, ecx
mov rsi, qword [r10 + 8]
mov r8d, esi
shr rsi, 0x20
mov eax, r8d
test r8, r8
je 0x180062271
sub rax, 1
je 0x18006223a
sub rax, 1
je 0x1800621d9
sub rax, 1
je 0x1800620c8
sub rax, 1
je 0x180062348
cmp rax, 1
jne 0x180062348
movzx eax, word [rdx + 0xe]
shr ax, 0xa
test al, 1
je 0x18006231b
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x180062098
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
cmp byte [rdx], 0x23
lea rcx, [rdx + 1]
cmovne rcx, rdx
call fcn.1800624dc
mov rcx, qword [rbx + 0x18]
add rdi, rdi
mov qword [rcx + rdi*8], rax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbp
ret
movzx eax, word [rdx + 0xe]
shr ax, 0xa
test al, 1
je 0x180062375
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x1800620f4
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
mov r8b, byte [rdx]
movabs r9, 0xcbf29ce484222325
mov r11, rdx
jmp 0x180062141
cmp r8b, 0x5c
jne 0x180062113
mov eax, 0x2f
jmp 0x18006212a
lea eax, [r8 - 0x41]
cmp al, 0x19
ja 0x180062126
movsx eax, r8b
add eax, 0x20
cdqe
jmp 0x18006212a
movsx rax, r8b
xor r9, rax
movabs rax, 0x100000001b3
imul r9, rax
inc r11
mov r8b, byte [r11]
test r8b, r8b
jne 0x180062106
movabs rax, 0x7fffffffffffffff
and r9, rax
mov rax, qword [rbx]
mov r8, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
lea rcx, [rax + rax*2]
lea rax, [r8 + rcx*8]
jmp 0x180062177
cmp dword [r8], esi
jne 0x180062173
cmp qword [r8 + 8], r9
je 0x18006217c
add r8, 0x18
cmp r8, rax
jne 0x180062168
cmp r8, rax
je 0x1800623a2
mov rcx, qword [r8 + 0x10]
mov rax, qword [r10 + 0x10]
xor edx, edx
div qword [r10 + 0x18]
sub rax, 1
je 0x180062294
sub rax, 1
je 0x1800621cc
sub rax, 2
je 0x1800621c0
cmp rax, 4
jne 0x1800620b3
mov rax, qword [rbx + 0x18]
mov qword [rax + rdi*8], rcx
jmp 0x1800620b3
mov rax, qword [rbx + 0x18]
mov dword [rax + rdi*4], ecx
jmp 0x1800620b3
mov rax, qword [rbx + 0x18]
mov word [rax + rdi*2], cx
jmp 0x1800620b3
mov al, byte [rdx + 0xe]
shr al, 4
test al, 1
je 0x1800623d2
mov rcx, rdx
call fcn.180036668
mov rcx, qword [rbx + 0x10]
xor edx, edx
mov rax, qword [rcx + 0x10]
div qword [rcx + 0x18]
mov r8, rax
cmp rax, 4
je 0x180062223
cmp rax, 8
jne 0x1800620b3
mov rcx, qword [rbx + 0x18]
imul r8, rdi
movsd qword [r8 + rcx], xmm0
jmp 0x1800620b3
mov rax, qword [rbx + 0x18]
imul r8, rdi
cvtsd2ss xmm0, xmm0
movss dword [r8 + rax], xmm0
jmp 0x1800620b3
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
je 0x180062256
cmp r8w, 0xa
sete cl
jmp 0x180062189
mov al, r8b
shr al, 4
test al, 1
je 0x1800622a0
test r8b, r8b
jns 0x1800623ff
mov rcx, qword [rdx]
jmp 0x180062189
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
jne 0x180062249
mov al, r8b
shr al, 4
test al, 1
je 0x1800622ee
bt r8w, 8
jae 0x1800622cd
jmp 0x180062269
mov rax, qword [rbx + 0x18]
mov byte [rdi + rax], cl
jmp 0x1800620b3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov rdx, qword [rbx + 8]
lea rcx, str.unknown_field_type_for_key__s__d
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov r8, rdx
lea rcx, str.unknown_enum_value_for_key__s___s
mov rdx, qword [rbx + 8]
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.18008913c
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3