Function at 0x14009a8d0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rdi, r9
mov r12, r8
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbx
lea r8, [rbp + 0x1b8]
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14003bad0
xorps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
lea ecx, [rbx + 0x18]
call fcn.1400ec60c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x38], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 7
mov qword [rbp - 0x18], 8
movss xmm0, dword [0x14012b904]
movss dword [rbp - 0x50], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1400019e0
nop
mov r15, qword [rbp + 0x1b8]
movzx eax, byte [r15 + 0x4c]
mov byte [rsp + 0x20], al
mov rdx, r15
mov rsi, qword [rbp + 0x1d8]
mov rcx, rsi
call fcn.140066c20
mov r13d, eax
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
cmp r14, rbx
je 0x14009ae75
add rbx, 0xfffffffffffffff8
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rbx
cmp rax, rdi
je 0x14009a9b3
lea r8, [rsp + 0x28]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x50]
call fcn.140023390
cmp byte [rbp - 8], 0
je 0x14009a9b3
mov rdi, qword [rsp + 0x28]
cmp byte [rsp + 0x20], 0
je 0x14009aa75
cmp byte [rdi + 0x4c], 0
je 0x14009aa75
mov rdx, rdi
mov rcx, r15
call fcn.140058920
test al, al
je 0x14009aa75
mov rsi, qword [rdi + 0x38]
mov rdi, qword [rdi + 0x30]
cmp rdi, rsi
je 0x14009aa62
nop dword [rax]
mov rax, qword [rdi]
mov qword [rsp + 0x28], rax
cmp rbx, qword [rsp + 0x40]
je 0x14009aa3d
mov qword [rbx], rax
add rbx, 8
mov qword [rsp + 0x38], rbx
jmp 0x14009aa54
lea r8, [rsp + 0x28]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14003bad0
mov rbx, qword [rsp + 0x38]
add rdi, 8
cmp rdi, rsi
jne 0x14009aa20
mov r14, qword [rsp + 0x30]
mov rsi, qword [rbp + 0x1d8]
mov rdi, qword [rbp + 0x1c8]
jmp 0x14009a9b3
mov r8d, dword [rdi]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r10, 0x100000001b3
imul rdx, r10
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r10
mov r9, qword [rbp + 0x1d0]
mov rcx, qword [r9 + 0x30]
and rcx, rdx
add rcx, rcx
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [r9 + 8]
je 0x14009ad03
mov rcx, qword [rdx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x14009ab06
cmp rax, rcx
je 0x14009ad03
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14009aaf3
test rax, rax
je 0x14009ad03
mov eax, dword [r12]
test eax, eax
jne 0x14009ab30
cmp r15, rdi
mov rdi, qword [rbp + 0x1c8]
je 0x14009a9b3
mov dword [r12], r8d
jmp 0x14009a9b3
cmp eax, r8d
je 0x14009aa69
mov r9, qword [r15 + 0x50]
mov r8d, 0xfffffff5
lea rdx, [rbp]
mov rsi, qword [rbp + 0x1b0]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Case_construct_that_targets
mov rcx, rax
call fcn.14002dd70
mov r8d, dword [r15]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009ab87
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._has_branches_to_multiple_other_case_construct_targets
mov rcx, rbx
call fcn.14002dd70
mov r8d, dword [r12]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009abc1
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._and
mov rcx, rbx
call fcn.14002dd70
mov r8d, dword [rdi]
lea rdx, [rbp - 0x78]
mov rcx, rsi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009abf9
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14009ac45
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ac40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aee6
call fcn.1400ec648
xor edi, edi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], dil
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14009ac94
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ac8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aeec
call fcn.1400ec648
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14009ace3
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009acde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aef2
call fcn.1400ec648
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
lea rcx, [rbp]
call fcn.1400604a0
jmp 0x14009ae79
mov rdx, rdi
mov rcx, rsi
call fcn.140066c20
cmp eax, r13d
jl 0x14009aa69
jne 0x14009ad23
test byte [rdi + 0x48], 0x20
jne 0x14009aa69
mov r9, qword [r15 + 0x50]
mov r8d, 0xfffffff5
lea rdx, [rbp]
mov rsi, qword [rbp + 0x1b0]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Case_construct_that_targets
mov rcx, rax
call fcn.14002dd70
mov r8d, dword [r15]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009ad71
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._has_invalid_branch_to_block
mov rcx, rbx
call fcn.14002dd70
mov r8d, dword [rdi]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009adaa
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str.__not_another_case_construct__corresponding_merge__outer_loop_merge_or_outer_loop_continue_
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14009ae06
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ae01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aee0
call fcn.1400ec648
xor edi, edi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], dil
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14009ae57
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ae52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aef8
call fcn.1400ec648
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
lea rcx, [rbp]
call fcn.1400604a0
jmp 0x14009ae79
xor edi, edi
mov ebx, edi
lea rcx, [rbp - 0x50]
call fcn.140023f80
nop
test r14, r14
je 0x14009aebd
mov rdx, qword [rsp + 0x40]
sub rdx, r14
and rdx, 0xfffffffffffffff8
mov rax, r14
cmp rdx, 0x1000
jb 0x14009aeb5
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009aeda
mov rcx, r14
call fcn.1400ec648
mov eax, ebx
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
nop
call fcn.1400f2c0c
int3