Function at 0x1400b64e0
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.140116d14
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.140001960
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 0x1400b65e6
mov ecx, ebx
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x1400b6e44
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 0x1400b65ca
lea r8, [rsp + 0x34]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.14007b2b0
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 0x1400b6590
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
mov ecx, 0x28
call fcn.140116d14
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 0x1400b6e3e
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 0x1400b6676
mov eax, edx
cmp rcx, rdx
jbe 0x1400b6e3e
add rax, rax
movzx eax, word [r8 + rax*8]
cmp r10d, dword [r9 + rax*4]
je 0x1400b6671
add edx, 2
mov eax, edx
cmp rcx, rax
ja 0x1400b6657
jmp 0x1400b6676
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.140116d14
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.140001960
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 0x1400b69e0
mov edx, r15d
mov r11, qword [rbp - 0x38]
movabs r9, 0x100000001b3
movabs r10, 0xcbf29ce484222325
sub rcx, r8
sar rcx, 4
cmp rcx, rdx
jbe 0x1400b6e68
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 0x1400b69bc
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 0x1400b67b0
mov rcx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x1400b679e
cmp rax, rcx
je 0x1400b67b0
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x1400b6790
test rax, rax
je 0x1400b67b0
cmp rax, r11
je 0x1400b67b0
mov edi, dword [rax + 0x14]
jmp 0x1400b692a
mov r8d, esi
lea rdx, [rbp + 0x50]
mov rcx, qword [rbp + 0x238]
call fcn.14007d350
mov rbx, qword [rax]
mov rax, qword [rbp + 0x248]
cmp byte [rax + 0x55], 0
je 0x1400b67ec
cmp byte [rbx + 0x55], 0
je 0x1400b67ec
mov rdx, rbx
mov rcx, rax
call fcn.14006edc0
test al, al
je 0x1400b6a2f
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.1400b2f00
mov edi, eax
test eax, eax
jne 0x1400b6ceb
mov edi, dword [rsp + 0x34]
test edi, edi
je 0x1400b690c
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov r8, rcx
cmp byte [rax + 0x19], 0
jne 0x1400b686b
nop dword [rax]
cmp dword [rax + 0x1c], edi
jae 0x1400b684b
mov rax, qword [rax + 0x10]
jmp 0x1400b6851
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400b6840
cmp r8, rcx
je 0x1400b686b
cmp dword [r8 + 0x1c], edi
jne 0x1400b686b
inc dword [r8 + 0x20]
jmp 0x1400b690c
mov dword [rsp + 0x6c], edi
mov dword [rsp + 0x70], 1
lea r9, [rsp + 0x6c]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
call fcn.140093900
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x50], xmm0
cmp byte [rbp - 0x50], 0
jne 0x1400b690c
movabs rax, 0x666666666666666
cmp qword [rsp + 0x40], rax
je 0x1400b6e56
mov rbx, qword [rsp + 0x38]
lea rax, [rsp + 0x38]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0
mov ecx, 0x28
call fcn.140116d14
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.14005ac10
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x78], edi
lea r8, [rsp + 0x74]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400878e0
mov r11, qword [rbp - 0x38]
cmp edi, dword [rsp + 0x68]
jne 0x1400b6939
cmp byte [rsp + 0x30], 0
cmove edi, r12d
test edi, edi
je 0x1400b69b5
cmp r15d, 1
jne 0x1400b6948
mov r12d, edi
jmp 0x1400b69b5
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 0x1400b698e
nop word [rax + rax]
add rax, rax
movzx ecx, word [r10 + rax*8]
mov rax, qword [r14]
cmp esi, dword [rax + rcx*4]
jne 0x1400b698e
add r9d, 2
add edx, 2
mov eax, edx
cmp rax, r8
jb 0x1400b6970
lea ecx, [r9 + 2]
cmp r8, rcx
jb 0x1400b6b70
jbe 0x1400b6e68
add rcx, rcx
movzx ecx, word [r10 + rcx*8]
mov rax, qword [r14]
cmp edi, dword [rax + rcx*4]
jne 0x1400b6b70
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 0x1400b66f4
xor esi, esi
mov rbx, qword [rsp + 0x38]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1400b6ce9
cmp dword [rbx + 0x20], 1
ja 0x1400b6d77
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1400b6cbc
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400b6a27
cmp rbx, qword [rax + 0x10]
jne 0x1400b6a27
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400b6a14
mov rbx, rax
jmp 0x1400b6cdf
mov r14, qword [rbp + 0x248]
mov r9, qword [r14 + 0x58]
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.140110560
mov rbx, rax
lea rdx, str.Switch_header
mov rcx, rax
call fcn.14003e540
mov r8d, dword [r14]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.1401108d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400b6a7c
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str._does_not_structurally_dominate_its_case_construct
mov rcx, rbx
call fcn.14003e540
mov r8d, esi
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.1401108d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400b6ab5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
mov edi, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400b6b03
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b6afe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b6e4a
call fcn.140116d50
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 0x1400b6b52
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b6b4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b6e50
call fcn.140116d50
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
lea rcx, [rbp + 0x70]
call fcn.140076780
jmp 0x1400b6ceb
mov r9, r14
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov r14, qword [rbp + 0x230]
mov rcx, r14
call fcn.140110560
mov rbx, rax
lea rdx, str.Case_construct_that_targets
mov rcx, rax
call fcn.14003e540
mov r8d, esi
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.1401108d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400b6bbc
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str._has_branches_to_the_case_construct_that_targets
mov rcx, rbx
call fcn.14003e540
mov r8d, edi
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.1401108d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400b6bf5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str.__but_does_not_immediately_precede_it_in_the_OpSwitchs_target_list
mov rcx, rbx
call fcn.14003e540
mov edi, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400b6c52
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b6c4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b6e5c
call fcn.140116d50
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 0x1400b6ca1
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b6c9c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b6e62
call fcn.140116d50
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea rcx, [rbp + 0x70]
call fcn.140076780
jmp 0x1400b6ceb
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1400b6cdf
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1400b6cd0
cmp byte [rbx + 0x19], 0
je 0x1400b69f2
mov edi, esi
lea rcx, [rbp - 0x40]
call fcn.140033dc0
nop
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400b6d3e
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbx + 0x10]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.140075a60
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x28
call fcn.140116d50
cmp byte [rbx + 0x19], 0
je 0x1400b6d10
mov rcx, qword [rsp + 0x38]
mov edx, 0x28
call fcn.140116d50
nop
lea rcx, [rbp]
call fcn.140033dc0
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.140109870
mov r9, rax
mov r8d, 0xfffffff5
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.140110560
mov rdi, rax
lea rdx, str.Multiple_case_constructs_have_branches_to_the_case_construct_that_targets
mov rcx, rax
call fcn.14003e540
mov r8d, dword [rbx + 0x1c]
lea rdx, [rsp + 0x48]
mov rcx, qword [rbp + 0x230]
call fcn.1401108d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400b6dcd
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e9f0
mov edi, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400b6e17
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b6e12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b6e38
call fcn.140116d50
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
lea rcx, [rbp + 0x70]
call fcn.140076780
jmp 0x1400b6ceb
call fcn.14011d39c
nop
call fcn.140076180
nop
call fcn.140076180
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14005b720
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.140076180
int3