Function at 0x14009d9b0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x2f0
movaps xmmword [rax - 0x48], xmm6
mov r14, r8
mov rdi, rcx
mov dword [rbp], 0
xor esi, esi
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rsi
lea ecx, [rsi + 0x18]
call fcn.1400ec60c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 7
mov qword [rbp + 0x38], 8
mov dword [rbp], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [rbp + 0x18]
call fcn.1400019e0
nop
lea ebx, [rsi + 1]
mov rdx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x18]
mov rax, rdx
sub rax, r8
sar rax, 4
mov r13, qword [rbp + 0x250]
cmp rax, rbx
jbe 0x14009dab6
mov ecx, ebx
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x14009e314
add rcx, rcx
movzx ecx, word [r8 + rcx*8]
mov rax, qword [r14]
mov ecx, dword [rax + rcx*4]
mov dword [rsp + 0x34], ecx
cmp ecx, dword [r13]
je 0x14009da9a
lea r8, [rsp + 0x34]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.140064d10
add ebx, 2
mov rdx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x18]
mov rax, rdx
sub rax, r8
sar rax, 4
mov ecx, ebx
cmp rcx, rax
jb 0x14009da60
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
mov ecx, 0x28
call fcn.1400ec60c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x38], rax
mov r12d, esi
mov r8, qword [r14 + 0x18]
mov rcx, qword [r14 + 0x20]
sub rcx, r8
sar rcx, 4
cmp rcx, 1
jbe 0x14009e30e
mov r9, qword [r14]
movzx eax, word [r8 + 0x10]
mov r10d, dword [r9 + rax*4]
mov dword [rsp + 0x68], r10d
mov byte [rsp + 0x30], r12b
mov edx, 3
cmp rcx, rdx
jbe 0x14009db46
mov eax, edx
cmp rcx, rdx
jbe 0x14009e30e
add rax, rax
movzx eax, word [r8 + rax*8]
cmp r10d, dword [r9 + rax*4]
je 0x14009db41
add edx, 2
mov eax, edx
cmp rcx, rax
ja 0x14009db27
jmp 0x14009db46
mov byte [rsp + 0x30], 1
mov dword [rbp - 0x40], r12d
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], rsi
mov ecx, 0x18
call fcn.1400ec60c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 7
mov qword [rbp - 8], 8
mov dword [rbp - 0x40], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x28]
call fcn.1400019e0
nop
mov r15d, 1
mov rcx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x18]
mov rax, rcx
sub rax, r8
sar rax, 4
cmp rax, r15
jbe 0x14009deb0
mov edx, r15d
mov r11, qword [rbp - 0x38]
movabs r9, 0x100000001b3
movabs r10, 0xcbf29ce484222325
sub rcx, r8
sar rcx, 4
cmp rcx, rdx
jbe 0x14009e338
add rdx, rdx
movzx ecx, word [r8 + rdx*8]
mov rax, qword [r14]
mov esi, dword [rax + rcx*4]
mov edx, esi
shr edx, 0x18
mov r8d, esi
shr r8d, 0x10
mov eax, esi
shr eax, 8
cmp esi, dword [r13]
je 0x14009de8c
mov dword [rsp + 0x34], 0
movzx ecx, sil
xor rcx, r10
imul rcx, r9
movzx eax, al
xor rcx, rax
imul rcx, r9
movzx eax, r8b
xor rcx, rax
imul rcx, r9
mov eax, edx
xor rcx, rax
imul rcx, r9
and rcx, qword [rbp - 0x10]
add rcx, rcx
mov rdx, qword [rbp - 0x28]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, r11
je 0x14009dc80
mov rcx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14009dc6e
cmp rax, rcx
je 0x14009dc80
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14009dc60
test rax, rax
je 0x14009dc80
cmp rax, r11
je 0x14009dc80
mov edi, dword [rax + 0x14]
jmp 0x14009ddfa
mov r8d, esi
lea rdx, [rbp + 0x50]
mov rcx, qword [rbp + 0x238]
call fcn.140066a80
mov rbx, qword [rax]
mov rax, qword [rbp + 0x248]
cmp byte [rax + 0x4c], 0
je 0x14009dcbc
cmp byte [rbx + 0x4c], 0
je 0x14009dcbc
mov rdx, rbx
mov rcx, rax
call fcn.140058920
test al, al
je 0x14009deff
mov rax, qword [rbp + 0x238]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9, r13
lea r8, [rsp + 0x34]
mov rdx, rbx
mov rcx, rdi
call fcn.14009a8d0
mov edi, eax
test eax, eax
jne 0x14009e1bb
mov edi, dword [rsp + 0x34]
test edi, edi
je 0x14009dddc
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov r8, rcx
cmp byte [rax + 0x19], 0
jne 0x14009dd3b
nop dword [rax]
cmp dword [rax + 0x1c], edi
jae 0x14009dd1b
mov rax, qword [rax + 0x10]
jmp 0x14009dd21
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14009dd10
cmp r8, rcx
je 0x14009dd3b
cmp dword [r8 + 0x1c], edi
jne 0x14009dd3b
inc dword [r8 + 0x20]
jmp 0x14009dddc
mov dword [rsp + 0x6c], edi
mov dword [rsp + 0x70], 1
lea r9, [rsp + 0x6c]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
call fcn.140096dd0
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x50], xmm0
cmp byte [rbp - 0x50], 0
jne 0x14009dddc
movabs rax, 0x666666666666666
cmp qword [rsp + 0x40], rax
je 0x14009e326
mov rbx, qword [rsp + 0x38]
lea rax, [rsp + 0x38]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0
mov ecx, 0x28
call fcn.1400ec60c
nop
mov dword [rax + 0x1c], edi
mov dword [rax + 0x20], 1
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp + 0x48], 0
movaps xmmword [rbp - 0x80], xmm6
mov r8, rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call fcn.140047370
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x78], edi
lea r8, [rsp + 0x74]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.140070b80
mov r11, qword [rbp - 0x38]
cmp edi, dword [rsp + 0x68]
jne 0x14009de09
cmp byte [rsp + 0x30], 0
cmove edi, r12d
test edi, edi
je 0x14009de85
cmp r15d, 1
jne 0x14009de18
mov r12d, edi
jmp 0x14009de85
mov r9d, r15d
mov r10, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
sub r8, r10
sar r8, 4
lea edx, [r15 + 2]
mov eax, edx
cmp rax, r8
jae 0x14009de5e
nop word [rax + rax]
add rax, rax
movzx ecx, word [r10 + rax*8]
mov rax, qword [r14]
cmp esi, dword [rax + rcx*4]
jne 0x14009de5e
add r9d, 2
add edx, 2
mov eax, edx
cmp rax, r8
jb 0x14009de40
lea ecx, [r9 + 2]
cmp r8, rcx
jb 0x14009e040
jbe 0x14009e338
add rcx, rcx
movzx ecx, word [r10 + rcx*8]
mov rax, qword [r14]
cmp edi, dword [rax + rcx*4]
jne 0x14009e040
mov rdi, qword [rbp + 0x230]
add r15d, 2
mov rcx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x18]
mov rax, rcx
sub rax, r8
sar rax, 4
mov edx, r15d
cmp rdx, rax
jb 0x14009dbc4
xor esi, esi
mov rbx, qword [rsp + 0x38]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x14009e1b9
cmp dword [rbx + 0x20], 1
ja 0x14009e247
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x14009e18c
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x14009def7
cmp rbx, qword [rax + 0x10]
jne 0x14009def7
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14009dee4
mov rbx, rax
jmp 0x14009e1af
mov r14, qword [rbp + 0x248]
mov r9, qword [r14 + 0x50]
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Selection_header
mov rcx, rax
call fcn.14002dd70
mov r8d, dword [r14]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009df4c
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._does_not_dominate_its_case_construct
mov rcx, rbx
call fcn.14002dd70
mov r8d, esi
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009df85
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
mov edi, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14009dfd3
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009dfce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009e31a
call fcn.1400ec648
xor ebx, ebx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], bl
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14009e022
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e01d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009e320
call fcn.1400ec648
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
lea rcx, [rbp + 0x70]
call fcn.1400604a0
jmp 0x14009e1bb
mov r9, r14
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov r14, qword [rbp + 0x230]
mov rcx, r14
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Case_construct_that_targets
mov rcx, rax
call fcn.14002dd70
mov r8d, esi
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009e08c
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._has_branches_to_the_case_construct_that_targets
mov rcx, rbx
call fcn.14002dd70
mov r8d, edi
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009e0c5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str.__but_does_not_immediately_precede_it_in_the_OpSwitchs_target_list
mov rcx, rbx
call fcn.14002dd70
mov edi, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14009e122
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e11d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009e32c
call fcn.1400ec648
xor ebx, ebx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14009e171
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e16c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009e332
call fcn.1400ec648
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea rcx, [rbp + 0x70]
call fcn.1400604a0
jmp 0x14009e1bb
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14009e1af
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x14009e1a0
cmp byte [rbx + 0x19], 0
je 0x14009dec2
mov edi, esi
lea rcx, [rbp - 0x40]
call fcn.140023f80
nop
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
jne 0x14009e20e
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbx + 0x10]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.14005f650
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x28
call fcn.1400ec648
cmp byte [rbx + 0x19], 0
je 0x14009e1e0
mov rcx, qword [rsp + 0x38]
mov edx, 0x28
call fcn.1400ec648
nop
lea rcx, [rbp]
call fcn.140023f80
mov eax, edi
mov rbx, qword [rsp + 0x340]
movaps xmm6, xmmword [rsp + 0x2e0]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, dword [rbx + 0x1c]
mov rcx, rdi
call fcn.1400e1ef0
mov r9, rax
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.1400e7010
mov rdi, rax
lea rdx, str.Multiple_case_constructs_have_branches_to_the_case_construct_that_targets
mov rcx, rax
call fcn.14002dd70
mov r8d, dword [rbx + 0x1c]
lea rdx, [rsp + 0x48]
mov rcx, qword [rbp + 0x230]
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009e29d
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14002e220
mov edi, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14009e2e7
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e2e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009e308
call fcn.1400ec648
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
lea rcx, [rbp + 0x70]
call fcn.1400604a0
jmp 0x14009e1bb
call fcn.1400f2c0c
nop
call fcn.14005fd00
nop
call fcn.14005fd00
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.140047d30
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.14005fd00
int3