Function at 0x18010f280
Capabilities:
Hash data using fnv

Disassembly:
test rdx, rdx
je 0x18010f817
mov qword [rsp + 8], rcx
push rbx
push rsi
push r14
sub rsp, 0x70
mov r14, r9
mov rsi, r8
mov rbx, rdx
test r8, r8
je 0x18010f80f
mov rcx, rdx
call fcn.1800c3e00
cmp byte [rax], 0
jne 0x18010f80f
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xd0]
test al, al
je 0x18010f80f
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x68], r13
vmovaps xmmword [rsp + 0x40], xmm7
mov rdx, qword [rax + 0xa50]
call rdx
mov rdx, rbx
mov dword [rsp + 0x90], eax
call fcn.18010ec10
mov rdx, r14
call fcn.18010da90
mov r8, rsi
mov rdx, rbx
call fcn.18010df40
mov byte [0x180262a58], 0
xor r13d, r13d
mov dword [0x180262a5c], r13d
mov rcx, rsi
mov rax, qword [rsi]
mov rdx, qword [rax + 0xa50]
call rdx
vmovss xmm7, dword [0x18023bc20]
cmp eax, 2
jne 0x18010f34c
mov rcx, rbx
call fcn.18010d880
vmulss xmm0, xmm0, dword [0x18023bb6c]
jmp 0x18010f39b
mov rcx, rsi
call fcn.1800cab30
mov rcx, qword [rax]
test rcx, rcx
je 0x18010f38b
cmp byte [rcx + 0x764], r13b
je 0x18010f38b
mov rcx, rbx
call fcn.18010d880
vmulss xmm1, xmm0, dword [0x18023baf8]
vmovss xmm2, dword [0x18023bc68]
vdivss xmm0, xmm2, xmm1
vsubss xmm1, xmm0, xmm2
vdivss xmm0, xmm7, xmm1
jmp 0x18010f39b
mov rcx, rbx
call fcn.18010d880
vmulss xmm0, xmm0, dword [0x18023baf8]
mov rax, qword [0x1802622f0]
lea rdx, str.mult_crit_chance
xor r9d, r9d
vmovaps xmmword [rsp + 0x50], xmm6
mov r8, rsi
mov byte [rsp + 0x20], 1
vmovss dword [0x180262a60], xmm0
call rax
cmp dword [0x180262a14], r13d
vmovss dword [0x180262a60], xmm0
je 0x18010f45d
cmp dword [0x180262a10], r13d
je 0x18010f45d
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
je 0x18010f45d
vmovss xmm0, dword [0x180262a60]
vaddss xmm5, xmm0, dword [0x18023bb48]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, dword [0x180262a10]
vdivss xmm3, xmm4, dword [0x18023bca8]
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, dword [0x180262a14]
vaddss xmm1, xmm6, xmm3
vsubss xmm0, xmm1, xmm4
vdivss xmm2, xmm3, xmm0
vcomiss xmm2, xmm5
seta al
mov byte [0x180262a58], al
test al, al
je 0x18010f45d
vdivss xmm0, xmm3, xmm5
vaddss xmm1, xmm0, xmm4
vsubss xmm2, xmm1, xmm3
vsubss xmm3, xmm2, xmm6
vcvttss2si eax, xmm3
mov dword [0x180262a5c], eax
mov rcx, rbx
call fcn.1800cb030
test al, al
jne 0x18010f7fe
mov edx, dword [rsp + 0x90]
movabs r8, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx ecx, dl
xor rcx, rax
movzx eax, byte [rsp + 0x91]
imul rcx, r8
xor rcx, rax
movzx eax, byte [rsp + 0x92]
imul rcx, r8
xor rcx, rax
movzx eax, byte [rsp + 0x93]
imul rcx, r8
xor rcx, rax
imul rcx, r8
mov r8, qword [0x180262a98]
and r8, rcx
mov rcx, qword [0x180262a80]
add r8, r8
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [0x180262a70]
je 0x18010f500
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x18010f503
nop word [rax + rax]
cmp rax, rcx
je 0x18010f500
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x18010f4f0
jmp 0x18010f503
mov rax, r13
test rax, rax
je 0x18010f7fe
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x60], r15
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 0x12
jne 0x18010f545
mov eax, dword [r14 + 0x28]
test al, 1
je 0x18010f545
btr eax, 0xb
mov dword [r14 + 0x28], eax
xor r9d, r9d
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1801aef30
mov dword [0x180267800], eax
test eax, eax
jne 0x18010f56e
cmp byte [0x180267944], r13b
jne 0x18010f56e
xor bpl, bpl
jmp 0x18010f571
mov bpl, 1
cmp dword [0x180267804], 3
jne 0x18010f5be
cmp byte [0x1802677fc], r13b
je 0x18010f58f
test byte [r14 + 0x28], 1
je 0x18010f58f
mov bpl, 1
jmp 0x18010f5e5
mov rax, qword [rsi]
mov rcx, rsi
xor bpl, bpl
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 8
jne 0x18010f5e5
cmp byte [0x1802677fc], bpl
je 0x18010f5e5
test dword [r14 + 0x28], 0x800
je 0x18010f5e5
mov bpl, 1
jmp 0x18010f5e5
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 0x12
jne 0x18010f5e5
mov rax, qword [0x180267958]
movzx ebp, bpl
test byte [rax + 0x28], 1
cmove ebp, r13d
lea r8, [rsp + 0x90]
mov qword [rsp + 0xa8], r12
lea rdx, [rsp + 0x30]
lea rcx, [0x180262a68]
call fcn.180111100
mov rcx, rsi
mov rdi, qword [rax]
call fcn.1800cab30
mov rcx, qword [rax]
test rcx, rcx
je 0x18010f65b
cmp byte [rcx + 0x764], r13b
je 0x18010f65b
mov rcx, rbx
call fcn.1800ca730
mov rcx, rsi
mov ebx, dword [rax]
mov rax, qword [0x180267770]
vmovss xmm6, dword [rax + 0x1c]
call fcn.18010d770
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ebx
vmulss xmm3, xmm0, xmm6
vaddss xmm2, xmm7, dword [rax]
vcomiss xmm2, xmm3
jbe 0x18010f65b
mov r12b, 1
jmp 0x18010f65e
xor r12b, r12b
cmp qword [rdi + 0x58], r13
je 0x18010f68a
mov rdx, qword [rdi + 0x50]
mov rax, qword [rdi + 0x48]
mov rcx, rdx
dec rax
shr rcx, 2
and rcx, rax
mov rax, qword [rdi + 0x40]
and edx, 3
mov rax, qword [rax + rcx*8]
mov r15d, dword [rax + rdx*4]
jmp 0x18010f68d
mov r15d, r13d
cmp qword [rdi + 0x80], r13
je 0x18010f6bb
mov rdx, qword [rdi + 0x78]
mov rax, qword [rdi + 0x70]
mov rcx, rdx
dec rax
shr rcx, 2
and rcx, rax
mov rax, qword [rdi + 0x68]
and edx, 3
mov rax, qword [rax + rcx*8]
mov ebx, dword [rax + rdx*4]
jmp 0x18010f6be
mov ebx, r13d
mov rax, qword [0x1802676d0]
cmp dword [rax + 0x8c78], r13d
jne 0x18010f6d8
mov al, 1
mov byte [0x180261468], al
jmp 0x18010f6df
movzx eax, byte [0x180261468]
test bpl, bpl
je 0x18010f79a
test al, al
je 0x18010f79a
mov byte [0x180261468], r13b
cmp dword [rdi + 0x2c], r13d
jle 0x18010f724
cmp byte [0x180262a58], r13b
je 0x18010f71a
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
jne 0x18010f724
test r12b, r12b
jne 0x18010f724
mov bpl, 1
jmp 0x18010f727
xor bpl, bpl
cmp byte [0x180272621], r13b
jne 0x18010f766
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
jne 0x18010f785
cmp byte [0x1802725a1], r13b
je 0x18010f785
cmp byte [0x18026a521], r13b
je 0x18010f77c
test byte [r14 + 0x28], 1
je 0x18010f785
test byte [0x180267a1c], 1
jne 0x18010f785
mov al, 1
test bpl, bpl
je 0x18010f789
test al, al
je 0x18010f789
test r15d, r15d
je 0x18010f789
mov dword [r14 + 8], r15d
jmp 0x18010f79a
cmp dword [0x18026a924], r13d
jne 0x18010f766
xor al, al
jmp 0x18010f768
cmp byte [0x180272521], r13b
je 0x18010f79a
test ebx, ebx
je 0x18010f79a
mov dword [r14 + 8], ebx
mov ecx, dword [r14 + 8]
call fcn.1801a5c30
mov r12, qword [rsp + 0xa8]
btr eax, 0x1f
mov rbp, qword [rsp + 0x98]
mov dword [0x180262a64], eax
mov eax, dword [r14 + 8]
cmp eax, r15d
mov r15, qword [rsp + 0x60]
jne 0x18010f7de
sub qword [rdi + 0x58], 1
jne 0x18010f7d8
mov qword [rdi + 0x50], r13
jmp 0x18010f7f6
inc qword [rdi + 0x50]
jmp 0x18010f7f6
cmp eax, ebx
jne 0x18010f7f6
sub qword [rdi + 0x80], 1
jne 0x18010f7f2
mov qword [rdi + 0x78], r13
jmp 0x18010f7f6
inc qword [rdi + 0x78]
mov rdi, qword [rsp + 0xa0]
vmovaps xmm6, xmmword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
vmovaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x70
pop r14
pop rsi
pop rbx
ret