Function at 0x14089e958
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
sal r9d, cl
xor r8w, ax
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
btr r8d, 0x51
rcl r8w, 0x61
push rbx
push rsi
rol r8, cl
push rdi
push r13
rcr r9b, cl
push r14
dec r9w
bt r9w, ax
push r15
bts r15d, r11d
sub rsp, 0x168
mov qword [rsp + 0x50], 0xfffffffffffffffe
sub r8w, 0x3973
movsx r8w, bl
mov r15, rdx
shl r14w, 0xa
mov r14, rcx
bts r8w, r11w
and dword [rax + 0x20], 0
not dl
mov qword [rsp + 0x20], 0xfffffffffff0bdc0
cwde
lea rax, [rsp + 0x20]
bswap r9d
mov qword [rsp + 0x28], rax
not r9w
mov dl, bl
movsx r8d, r15w
mov dword [rsp + 0x1b0], 0x80010001
bswap r8d
jmp 0x14089e9f5
lea r9, [rsp + 0xa0]
setp dl
mov r8, qword [rsp + 0x28]
mov dl, 1
movsx ecx, r10w
bswap rcx
mov rcx, qword [r15]
jmp 0x14089ea16
call fcn.14014ca6b
mov dword [rsp + 0x1b8], eax
test eax, eax
jmp 0x14089ea29
js 0x14089ea5b
cmp eax, 0x40010002
je 0x14089ea5b
cmp eax, 0x102
jmp 0x14089ea44
jne 0x14089ea77
mov eax, dword [r14 + 0xc]
test eax, eax
jmp 0x14089ea55
je 0x14089e9e2
add rsp, 0x168
setne bl
pop r15
pop r14
pop r13
movzx ebx, dx
jmp 0x14089ea73
pop rdi
pop rsi
pop rbx
ret
call 0x140191a9e
xchg dword [r14 + 0x10], eax
mov ecx, dword [rsp + 0xa0]
cmp r10b, spl
test r12b, dil
cmp ecx, 6
jmp 0x14089ea96
jne 0x14089eb04
mov eax, dword [rsp + 0xb8]
sub eax, 0x4000001e
jmp 0x14089eaad
je 0x14089eae1
cmp eax, 1
jne 0x14089ec6f
mov dword [rsp + 0xb8], 0x80000003
jmp 0x14089eacc
mov dword [rsp + 0xa0], 7
jmp 0x14089eadc
jmp 0x14089eb12
mov dword [rsp + 0xb8], 0x80000004
rol ch, cl
add ecx, r11d
mov ecx, 8
mov dword [rsp + 0xa0], ecx
test edi, r13d
test r10b, 0xcf
cmp ecx, 7
jmp 0x14089eb0c
jne 0x14089ec6f
mov al, byte [r14 + 8]
test al, al
jmp 0x14089eb1d
jne 0x14089ec6f
mov eax, 1
setns cl
movsx cx, r10b
xchg byte [r14 + 8], al
mov dword [rsp + 0x1b0], 0x10002
mov ch, 0x88
mov rcx, r14
call fcn.14089c9e5
mov rax, qword [r14 + 0xd8]
jmp 0x14089eb56
test rax, rax
jmp 0x14089eb5e
je 0x14089eb6e
mov rcx, r14
jmp 0x14089eb6c
call rax
and qword [rsp + 0x40], 0
movsx ax, r12b
mov eax, dword [rsp + 0xb0]
jmp 0x14089eb85
mov qword [rsp + 0x48], rax
jmp 0x14089eb8f
mov dword [rsp + 0x70], 0x30
jmp 0x14089eb9c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
and dword [rsp + 0x88], 0
jmp 0x14089ebb2
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x90], xmm1
lea r9, [rsp + 0x40]
movzx r8d, cx
cwd
lea r8, [rsp + 0x70]
sets ch
movsx rdx, r15w
cwd
mov edx, 1
lea rcx, [rsp + 0x30]
jmp 0x14089ebe6
call fcn.14012200e
test eax, eax
jmp 0x14089ebf2
js 0x14089ec2e
mov rbx, qword [rsp + 0x30]
btr cx, 0x8f
sub edx, edx
mov rcx, rbx
call fcn.1403f75a1
xor ecx, ecx
cmp rbx, 0xfffffffffffffffe
jmp 0x14089ec17
cmovne rcx, rbx
test rcx, rcx
jmp 0x14089ec23
je 0x14089ec2e
call fcn.14074d774
sub edx, edx
setbe cl
movsx cx, sil
mov rcx, qword [r14 + 0x20]
jmp 0x14089ec41
call fcn.1404f83a8
nop
jmp 0x14089ec4c
jmp 0x14089ec95
lea r8, [rsp + 0x1b0]
movsxd rdx, edx
lea rdx, [rsp + 0xa0]
movsxd rcx, r14d
movzx ecx, cx
mov rcx, r14
jmp 0x14089ec90
call fcn.14089ef8e
cmp dword [rsp + 0xa0], 4
jmp 0x14089eca2
jne 0x14089eed0
mov ebx, dword [rsp + 0xb0]
lea rsi, [r14 + 0x70]
movsxd rcx, esi
mov rcx, rsi
jmp 0x14089ecbe
call 0x1405a7cda
lea r13, [r14 + 0x98]
shl r9w, 0x97
mov r8d, ebx
cmp al, 0x99
neg cx
mov qword [rsp + 0x38], rbx
movabs rcx, 0xcbf29ce484222325
adc r9b, dl
cmp r11w, 0x77fe
xor edx, edx
test r14d, r12d
cmovl r9w, r11w
cmc
movzx eax, byte [rsp + rdx + 0x38]
btr r9d, 0xa7
jmp 0x14089ed0e
xor rcx, rax
cmovae r9w, si
sal r9w, 0x82
shl r9d, cl
movabs r9, 0x100000001b3
clc
test r10b, r10b
imul rcx, r9
jmp 0x14089ed35
inc rdx
test rdx, r8
cmp rdx, 8
jmp 0x14089ed44
jb 0x14089ecfa
mov r9, qword [r13 + 0x30]
and r9, rcx
ror r10b, 0xf6
rcr bx, 4
lea r9, [r9 + r9]
bts r10d, eax
mov r10, qword [r13 + 0x18]
movsxd rbx, r8d
bt rbx, r13
mov rbx, qword [r10 + r9*8]
ror dl, 0xb7
rcr dl, 0x81
movsx dx, al
mov rdx, qword [r13 + 8]
cmp qword [r10 + r9*8], rdx
jmp 0x14089ed87
jne 0x14089ed95
mov rax, rdx
jmp 0x14089eda8
mov rax, qword [r10 + r9*8 + 8]
cmc
jmp 0x14089eda0
mov rax, qword [rax]
cmc
cmp r12b, 0x73
cmp rbx, rax
je 0x14089ee2c
cmp qword [rbx + 0x10], r8
jmp 0x14089edba
je 0x14089edc8
mov rbx, qword [rbx]
jmp 0x14089ed7e
mov rax, rbx
mov rdi, rbx
cmp qword [r10 + r9*8], rdx
jmp 0x14089edd7
jne 0x14089edea
mov rcx, rdx
jmp 0x14089ede5
jmp 0x14089edf4
mov rcx, qword [r10 + r9*8 + 8]
clc
cmc
mov rcx, qword [rcx]
cmp rbx, rcx
jmp 0x14089edfc
je 0x14089ee1e
cmp r8, qword [rbx + 0x10]
jmp 0x14089ee0b
jne 0x14089ee1e
mov rbx, qword [rbx]
jmp 0x14089ee19
jmp 0x14089edce
cmp rax, rbx
jmp 0x14089ee26
jne 0x14089ee3f
mov rdi, rdx
bt rbx, 3
mov bx, 0x5bd2
not bl
mov rbx, rdx
cmc
stc
cmp rdi, qword [rdx]
jmp 0x14089ee47
jne 0x14089eea7
cmp rbx, rdx
jmp 0x14089ee55
jne 0x14089eea7
lea rcx, [r13 + 8]
jmp 0x14089ee64
call fcn.140013d30
mov edx, 8
mov cl, dil
mov rcx, r13
jmp 0x14089ee79
call fcn.1400073a4
nop
jmp 0x14089ee84
jmp 0x14089eeb5
mov r8, rdi
mov rdi, qword [rdi]
movzx rdx, cx
cqo
lea rdx, [rsp + 0x68]
mov rcx, r13
jmp 0x14089eea2
call fcn.140013dc4
cmp rdi, rbx
jmp 0x14089eeaf
jne 0x14089ee89
test rsi, rsi
jmp 0x14089eebd
je 0x14089eed0
mov rcx, rsi
jmp 0x14089eecb
call 0x1405105e0
mov r8d, dword [rsp + 0x1b0]
movsx dx, r10b
not ecx
lea rdx, [rsp + 0xa8]
not ch
movzx cx, r11b
mov rcx, qword [r15]
jmp 0x14089eef7
call 0x1407e19e1
mov dword [rsp + 0x1b8], eax
test eax, eax
jmp 0x14089ef0a
js 0x14089ea5b
cmp dword [rsp + 0x1b0], 0x40010004
jne 0x14089e9e2
mov edx, 0x40010004
movzx rcx, r13w
movzx cx, r11b
mov rcx, qword [r14]
jmp 0x14089ef37
call fcn.1402e76b0
mov dword [rsp + 0x1b8], eax
cwd
movsx dx, sil
cqo
mov qword [rsp + 0x20], 0xffffffffffffd8f0
cdqe
lea rax, [rsp + 0x20]
movsx edx, r8w
setae dh
movsxd rdx, r9d
mov qword [rsp + 0x28], rax
jmp 0x14089ef70
lea rdx, [rsp + 0x1b8]
not ch
bswap ecx
mov rcx, r14
jmp 0x14089ef84
call fcn.14089c881
jmp 0x14089e9e2