Function at 0x140129fc0
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rsi
push r14
push r15
sub rsp, 0x48
movzx eax, byte [r11 + 9]
mov rsi, rcx
mov r9, qword [0x140415910]
movabs r14, 0x100000001b3
mov r10, qword [0x1404158f8]
movabs r15, 0xcbf29ce484222325
mov r8, qword [0x1404158e8]
mov rdx, r9
movzx ecx, cl
xor rcx, r15
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xa]
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xb]
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xc]
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xd]
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xe]
imul rcx, r14
xor rcx, rax
movzx eax, byte [r11 + 0xf]
imul rcx, r14
xor rcx, rax
imul rcx, r14
and rdx, rcx
add rdx, rdx
mov rax, qword [r10 + rdx*8 + 8]
cmp rax, r8
je 0x14012a089
mov rdx, qword [r10 + rdx*8]
cmp rsi, qword [rax + 0x10]
je 0x14012a08b
cmp rax, rdx
je 0x14012a089
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x14012a078
jmp 0x14012a08b
xor eax, eax
test rax, rax
mov rbx, r8
cmovne rbx, rax
cmp rbx, r8
je 0x14012a342
and rcx, qword [0x1404158d0]
shl rcx, 4
add rcx, qword [0x1404158b8]
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x40], rdi
mov rdi, qword [0x1404158a8]
mov rax, qword [rcx + 8]
cmp rax, rdi
je 0x14012a0e7
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x14012a0e9
cmp rax, rcx
je 0x14012a0e7
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x14012a0d6
jmp 0x14012a0e9
xor eax, eax
test rax, rax
cmovne rdi, rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x78], rax
movzx eax, byte [rbx + 0x11]
movzx ecx, byte [rbx + 0x10]
xor rcx, r15
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x14]
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x15]
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x16]
imul rcx, r14
xor rcx, rax
movzx eax, byte [rbx + 0x17]
imul rcx, r14
xor rcx, rax
imul rcx, r14
and rcx, r9
add rcx, rcx
mov rax, qword [r10 + rcx*8]
cmp qword [r10 + rcx*8 + 8], rbx
jne 0x14012a17d
cmp rax, rbx
jne 0x14012a172
mov qword [r10 + rcx*8], r8
mov qword [r10 + rcx*8 + 8], r8
jmp 0x14012a189
mov r8, qword [rbx + 8]
mov qword [r10 + rcx*8 + 8], r8
jmp 0x14012a189
cmp rax, rbx
jne 0x14012a189
mov rax, qword [rbx]
mov qword [r10 + rcx*8], rax
mov rcx, qword [rbx]
lea rbp, [rbx + 0x18]
dec qword [0x1404158f0]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14012a1c3
mov rax, qword [rcx]
cmp rcx, rbp
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x38], 0
mov edx, 0x58
mov rcx, rbx
call fcn.140249860
movzx eax, byte [rdi + 0x11]
movzx edx, byte [rdi + 0x10]
mov rbp, qword [rsp + 0x80]
xor rdx, r15
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x12]
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x13]
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x14]
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x15]
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x16]
imul rdx, r14
xor rdx, rax
movzx eax, byte [rdi + 0x17]
imul rdx, r14
xor rdx, rax
imul rdx, r14
and rdx, qword [0x1404158d0]
shl rdx, 4
add rdx, qword [0x1404158b8]
mov rax, qword [rdx]
cmp qword [rdx + 8], rdi
jne 0x14012a26a
cmp rax, rdi
jne 0x14012a260
mov rax, qword [0x1404158a8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x14012a275
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
jmp 0x14012a275
cmp rax, rdi
jne 0x14012a275
mov rax, qword [rdi]
mov qword [rdx], rax
mov rcx, qword [rdi]
mov edx, 0x20
dec qword [0x1404158b0]
mov rax, qword [rdi + 8]
mov qword [rax], rcx
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rcx, rdi
call fcn.140249860
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x30]
lea rcx, [0x140415860]
call fcn.140126b30
mov rdi, qword [rsp + 0x40]
mov r10, qword [rax]
mov r9, qword [r10 + 0x18]
mov rdx, r9
mov rcx, qword [r9 + 8]
mov rax, rcx
cmp byte [rcx + 0x19], 0
jne 0x14012a2f8
nop dword [rax]
mov r8, qword [rax + 0x20]
cmp r8, rsi
jae 0x14012a2df
mov rax, qword [rax + 0x10]
jmp 0x14012a2f2
cmp byte [rdx + 0x19], 0
je 0x14012a2ec
cmp rsi, r8
cmovb rdx, rax
mov r9, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14012a2d0
cmp byte [rdx + 0x19], 0
jne 0x14012a301
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
jne 0x14012a31f
cmp rsi, qword [rcx + 0x20]
jae 0x14012a315
mov rdx, rcx
mov rcx, qword [rcx]
jmp 0x14012a319
mov rcx, qword [rcx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x14012a307
mov qword [rsp + 0x28], rdx
lea rcx, [r10 + 0x18]
mov qword [rsp + 0x20], r9
lea rdx, [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140073930
add rsp, 0x48
pop r15
pop r14
pop rsi
pop rbx
ret