Function at 0x18005dd08
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 0x18005df75
sub rax, 1
je 0x18005df3e
sub rax, 1
je 0x18005dedd
sub rax, 1
je 0x18005ddcc
sub rax, 1
je 0x18005e04c
cmp rax, 1
jne 0x18005e04c
movzx eax, word [rdx + 0xe]
shr ax, 0xa
test al, 1
je 0x18005e01f
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x18005dd9c
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
cmp byte [rdx], 0x23
lea rcx, [rdx + 1]
cmovne rcx, rdx
call fcn.18005e1e0
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 0x18005e079
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x18005ddf8
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
mov r8b, byte [rdx]
movabs r9, 0xcbf29ce484222325
mov r11, rdx
jmp 0x18005de45
cmp r8b, 0x5c
jne 0x18005de17
mov eax, 0x2f
jmp 0x18005de2e
lea eax, [r8 - 0x41]
cmp al, 0x19
ja 0x18005de2a
movsx eax, r8b
add eax, 0x20
cdqe
jmp 0x18005de2e
movsx rax, r8b
xor r9, rax
movabs rax, 0x100000001b3
imul r9, rax
inc r11
mov r8b, byte [r11]
test r8b, r8b
jne 0x18005de0a
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 0x18005de7b
cmp dword [r8], esi
jne 0x18005de77
cmp qword [r8 + 8], r9
je 0x18005de80
add r8, 0x18
cmp r8, rax
jne 0x18005de6c
cmp r8, rax
je 0x18005e0a6
mov rcx, qword [r8 + 0x10]
mov rax, qword [r10 + 0x10]
xor edx, edx
div qword [r10 + 0x18]
sub rax, 1
je 0x18005df98
sub rax, 1
je 0x18005ded0
sub rax, 2
je 0x18005dec4
cmp rax, 4
jne 0x18005ddb7
mov rax, qword [rbx + 0x18]
mov qword [rax + rdi*8], rcx
jmp 0x18005ddb7
mov rax, qword [rbx + 0x18]
mov dword [rax + rdi*4], ecx
jmp 0x18005ddb7
mov rax, qword [rbx + 0x18]
mov word [rax + rdi*2], cx
jmp 0x18005ddb7
mov al, byte [rdx + 0xe]
shr al, 4
test al, 1
je 0x18005e0d6
mov rcx, rdx
call fcn.1800327d4
mov rcx, qword [rbx + 0x10]
xor edx, edx
mov rax, qword [rcx + 0x10]
div qword [rcx + 0x18]
mov r8, rax
cmp rax, 4
je 0x18005df27
cmp rax, 8
jne 0x18005ddb7
mov rcx, qword [rbx + 0x18]
imul r8, rdi
movsd qword [r8 + rcx], xmm0
jmp 0x18005ddb7
mov rax, qword [rbx + 0x18]
imul r8, rdi
cvtsd2ss xmm0, xmm0
movss dword [r8 + rax], xmm0
jmp 0x18005ddb7
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
je 0x18005df5a
cmp r8w, 0xa
sete cl
jmp 0x18005de8d
mov al, r8b
shr al, 4
test al, 1
je 0x18005dfa4
test r8b, r8b
jns 0x18005e103
mov rcx, qword [rdx]
jmp 0x18005de8d
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
jne 0x18005df4d
mov al, r8b
shr al, 4
test al, 1
je 0x18005dff2
bt r8w, 8
jae 0x18005dfd1
jmp 0x18005df6d
mov rax, qword [rbx + 0x18]
mov byte [rdi + rax], cl
jmp 0x18005ddb7
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov rdx, qword [rbx + 8]
lea rcx, str.unknown_field_type_for_key__s__d
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov r8, rdx
lea rcx, str.unknown_enum_value_for_key__s___s
mov rdx, qword [rbx + 8]
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180066e88
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3