Function at 0x18005ebbc
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 0x18005ee29
sub rax, 1
je 0x18005edf2
sub rax, 1
je 0x18005ed91
sub rax, 1
je 0x18005ec80
sub rax, 1
je 0x18005ef00
cmp rax, 1
jne 0x18005ef00
movzx eax, word [rdx + 0xe]
shr ax, 0xa
test al, 1
je 0x18005eed3
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x18005ec50
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
cmp byte [rdx], 0x23
lea rcx, [rdx + 1]
cmovne rcx, rdx
call fcn.18005f094
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 0x18005ef2d
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x18005ecac
mov rdx, qword [rdx + 8]
movabs rax, 0xffffffffffff
and rdx, rax
mov r8b, byte [rdx]
movabs r9, 0xcbf29ce484222325
mov r11, rdx
jmp 0x18005ecf9
cmp r8b, 0x5c
jne 0x18005eccb
mov eax, 0x2f
jmp 0x18005ece2
lea eax, [r8 - 0x41]
cmp al, 0x19
ja 0x18005ecde
movsx eax, r8b
add eax, 0x20
cdqe
jmp 0x18005ece2
movsx rax, r8b
xor r9, rax
movabs rax, 0x100000001b3
imul r9, rax
inc r11
mov r8b, byte [r11]
test r8b, r8b
jne 0x18005ecbe
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 0x18005ed2f
cmp dword [r8], esi
jne 0x18005ed2b
cmp qword [r8 + 8], r9
je 0x18005ed34
add r8, 0x18
cmp r8, rax
jne 0x18005ed20
cmp r8, rax
je 0x18005ef5a
mov rcx, qword [r8 + 0x10]
mov rax, qword [r10 + 0x10]
xor edx, edx
div qword [r10 + 0x18]
sub rax, 1
je 0x18005ee4c
sub rax, 1
je 0x18005ed84
sub rax, 2
je 0x18005ed78
cmp rax, 4
jne 0x18005ec6b
mov rax, qword [rbx + 0x18]
mov qword [rax + rdi*8], rcx
jmp 0x18005ec6b
mov rax, qword [rbx + 0x18]
mov dword [rax + rdi*4], ecx
jmp 0x18005ec6b
mov rax, qword [rbx + 0x18]
mov word [rax + rdi*2], cx
jmp 0x18005ec6b
mov al, byte [rdx + 0xe]
shr al, 4
test al, 1
je 0x18005ef8a
mov rcx, rdx
call fcn.180033b98
mov rcx, qword [rbx + 0x10]
xor edx, edx
mov rax, qword [rcx + 0x10]
div qword [rcx + 0x18]
mov r8, rax
cmp rax, 4
je 0x18005eddb
cmp rax, 8
jne 0x18005ec6b
mov rcx, qword [rbx + 0x18]
imul r8, rdi
movsd qword [r8 + rcx], xmm0
jmp 0x18005ec6b
mov rax, qword [rbx + 0x18]
imul r8, rdi
cvtsd2ss xmm0, xmm0
movss dword [r8 + rax], xmm0
jmp 0x18005ec6b
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
je 0x18005ee0e
cmp r8w, 0xa
sete cl
jmp 0x18005ed41
mov al, r8b
shr al, 4
test al, 1
je 0x18005ee58
test r8b, r8b
jns 0x18005efb7
mov rcx, qword [rdx]
jmp 0x18005ed41
movzx r8d, word [rdx + 0xe]
mov al, r8b
shr al, 3
test al, 1
jne 0x18005ee01
mov al, r8b
shr al, 4
test al, 1
je 0x18005eea6
bt r8w, 8
jae 0x18005ee85
jmp 0x18005ee21
mov rax, qword [rbx + 0x18]
mov byte [rdi + rax], cl
jmp 0x18005ec6b
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov rdx, qword [rbx + 8]
lea rcx, str.unknown_field_type_for_key__s__d
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_string
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov r8, rdx
lea rcx, str.unknown_enum_value_for_key__s___s
mov rdx, qword [rbx + 8]
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
mov rdx, qword [rbx + 8]
lea rcx, str.field__s_should_be_a_number
call fcn.180067638
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3