Function at 0x180101f70
Capabilities:
Hash data using fnv

Disassembly:
test rdx, rdx
je 0x1801024ff
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 0x1801024f7
mov rcx, rdx
call fcn.1800b7070
cmp byte [rax], 0
jne 0x1801024f7
mov rcx, qword [0x180257748]
mov rax, qword [rcx]
call qword [rax + 0xd0]
test al, al
je 0x1801024f7
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x58], r13
mov rdx, qword [rax + 0xa50]
call rdx
mov rdx, rbx
mov dword [rsp + 0x90], eax
call fcn.180101920
mov rdx, r14
call fcn.180100e50
mov r8, rsi
call fcn.1801012f0
mov byte [0x180252b38], 0
xor r13d, r13d
mov dword [0x180252b3c], r13d
mov rcx, rsi
mov rax, qword [rsi]
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
jne 0x18010202b
mov rcx, rbx
call fcn.180100b60
mulss xmm0, dword [0x18022caac]
jmp 0x180102088
mov rcx, rsi
call fcn.1800bddc0
mov rcx, qword [rax]
test rcx, rcx
je 0x180102078
cmp byte [rcx + 0x764], r13b
je 0x180102078
mov rcx, rbx
call fcn.180100b60
movaps xmm1, xmm0
movss xmm0, dword [0x18022cb80]
mulss xmm1, dword [0x18022ca38]
movaps xmm2, xmm0
divss xmm2, xmm1
subss xmm2, xmm0
movss xmm0, dword [0x18022cb38]
divss xmm0, xmm2
jmp 0x180102088
mov rcx, rbx
call fcn.180100b60
mulss xmm0, dword [0x18022ca38]
mov rax, qword [0x180252400]
lea rdx, str.mult_crit_chance
xor r9d, r9d
movss dword [0x180252b40], xmm0
mov r8, rsi
mov byte [rsp + 0x20], 1
call rax
cmp dword [0x180252af4], r13d
movss dword [0x180252b40], xmm0
je 0x180102151
cmp dword [0x180252af0], r13d
je 0x180102151
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
je 0x180102151
movd xmm4, dword [0x180252af0]
movd xmm5, dword [0x180252af4]
movss xmm3, dword [0x180252b40]
addss xmm3, dword [0x18022ca88]
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
movaps xmm2, xmm4
divss xmm2, dword [0x18022cbb8]
movaps xmm1, xmm5
addss xmm1, xmm2
movaps xmm0, xmm2
subss xmm1, xmm4
divss xmm0, xmm1
comiss xmm0, xmm3
seta al
mov byte [0x180252b38], al
test al, al
je 0x180102151
movaps xmm0, xmm2
divss xmm0, xmm3
addss xmm0, xmm4
subss xmm0, xmm2
subss xmm0, xmm5
cvttss2si eax, xmm0
mov dword [0x180252b3c], eax
mov rcx, rbx
call fcn.1800be2c0
test al, al
jne 0x1801024f2
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 [0x180252b78]
and r8, rcx
mov rcx, qword [0x180252b60]
add r8, r8
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [0x180252b50]
je 0x1801021f0
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x1801021f3
nop
cmp rax, rcx
je 0x1801021f0
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1801021e0
jmp 0x1801021f3
mov rax, r13
test rax, rax
je 0x1801024f2
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x50], r15
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 0x12
jne 0x180102232
mov eax, dword [r14 + 0x28]
test al, 1
je 0x180102232
btr eax, 0xb
mov dword [r14 + 0x28], eax
xor r9d, r9d
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1801a0b90
mov dword [0x180257828], eax
test eax, eax
jne 0x18010225b
cmp byte [0x180257964], r13b
jne 0x18010225b
xor bpl, bpl
jmp 0x18010225e
mov bpl, 1
cmp dword [0x18025782c], 3
jne 0x1801022ab
cmp byte [0x180257824], r13b
je 0x18010227c
test byte [r14 + 0x28], 1
je 0x18010227c
mov bpl, 1
jmp 0x1801022d2
mov rax, qword [rsi]
mov rcx, rsi
xor bpl, bpl
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 8
jne 0x1801022d2
cmp byte [0x180257824], bpl
je 0x1801022d2
test dword [r14 + 0x28], 0x800
je 0x1801022d2
mov bpl, 1
jmp 0x1801022d2
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xbe8]
call rdx
cmp eax, 0x12
jne 0x1801022d2
mov rax, qword [0x180257978]
movzx ebp, bpl
test byte [rax + 0x28], 1
cmove ebp, r13d
lea r8, [rsp + 0x90]
mov qword [rsp + 0x60], r12
lea rdx, [rsp + 0x30]
lea rcx, [0x180252b48]
call fcn.180103d30
mov rcx, rsi
mov rdi, qword [rax]
call fcn.1800bddc0
mov rcx, qword [rax]
test rcx, rcx
je 0x180102355
cmp byte [rcx + 0x764], r13b
je 0x180102355
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm6
call fcn.1800bd9c0
mov rcx, rsi
mov ebx, dword [rax]
mov rax, qword [0x180257790]
movss xmm6, dword [rax + 0x1c]
call fcn.180100a50
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [rax]
addss xmm0, dword [0x18022cb38]
mulss xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x40]
comiss xmm0, xmm1
jbe 0x180102355
mov r12b, 1
jmp 0x180102358
xor r12b, r12b
cmp qword [rdi + 0x58], r13
je 0x180102384
mov rdx, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x48]
mov rax, rdx
shr rax, 2
dec rcx
and rcx, rax
mov rax, qword [rdi + 0x40]
and edx, 3
mov rax, qword [rax + rcx*8]
mov r15d, dword [rax + rdx*4]
jmp 0x180102387
mov r15d, r13d
cmp qword [rdi + 0x80], r13
je 0x1801023b5
mov rdx, qword [rdi + 0x78]
mov rcx, qword [rdi + 0x70]
mov rax, rdx
shr rax, 2
dec rcx
and rcx, rax
mov rax, qword [rdi + 0x68]
and edx, 3
mov rax, qword [rax + rcx*8]
mov ebx, dword [rax + rdx*4]
jmp 0x1801023b8
mov ebx, r13d
mov rax, qword [0x1802576f0]
cmp dword [rax + 0x8c78], r13d
jne 0x1801023d2
mov al, 1
mov byte [0x180251468], al
jmp 0x1801023d9
movzx eax, byte [0x180251468]
test bpl, bpl
je 0x180102494
test al, al
je 0x180102494
mov byte [0x180251468], r13b
cmp dword [rdi + 0x2c], r13d
jle 0x18010241e
cmp byte [0x180252b38], r13b
je 0x180102414
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
jne 0x18010241e
test r12b, r12b
jne 0x18010241e
mov bpl, 1
jmp 0x180102421
xor bpl, bpl
cmp byte [0x1802622e1], r13b
jne 0x180102460
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rax + 0xa50]
call rdx
cmp eax, 2
jne 0x18010247f
cmp byte [0x180262261], r13b
je 0x18010247f
cmp byte [0x18025a3e1], r13b
je 0x180102476
test byte [r14 + 0x28], 1
je 0x18010247f
test byte [0x180257a3c], 1
jne 0x18010247f
mov al, 1
test bpl, bpl
je 0x180102483
test al, al
je 0x180102483
test r15d, r15d
je 0x180102483
mov dword [r14 + 8], r15d
jmp 0x180102494
cmp dword [0x18025a7e4], r13d
jne 0x180102460
xor al, al
jmp 0x180102462
cmp byte [0x1802621e1], r13b
je 0x180102494
test ebx, ebx
je 0x180102494
mov dword [r14 + 8], ebx
mov ecx, dword [r14 + 8]
call fcn.180197770
mov r12, qword [rsp + 0x60]
btr eax, 0x1f
mov rbp, qword [rsp + 0xa0]
mov dword [0x180252b44], eax
mov eax, dword [r14 + 8]
cmp eax, r15d
mov r15, qword [rsp + 0x50]
jne 0x1801024d5
sub qword [rdi + 0x58], 1
jne 0x1801024cf
mov qword [rdi + 0x50], r13
jmp 0x1801024ed
inc qword [rdi + 0x50]
jmp 0x1801024ed
cmp eax, ebx
jne 0x1801024ed
sub qword [rdi + 0x80], 1
jne 0x1801024e9
mov qword [rdi + 0x78], r13
jmp 0x1801024ed
inc qword [rdi + 0x78]
mov rdi, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
add rsp, 0x70
pop r14
pop rsi
pop rbx
ret