Function at 0x1800034f0
Capabilities:
Hash data using fnv

Disassembly:
push r14
push r15
sub rsp, 0x68
xor r15d, r15d
movaps xmmword [rsp + 0x40], xmm6
cmp qword [rdx + 0x10], 1
mov r14, rdx
movss xmm6, dword [0x1800c64bc]
jne 0x180003551
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Only_1_enemy_n
call fcn.180005900
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.180005ad0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x68
pop r15
pop r14
ret
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x60], rdi
mov rdi, qword [rdx + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1800037c7
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x58], r12
movabs r12, 0x100000001b3
mov qword [rsp + 0x50], r13
movabs r13, 0xcbf29ce484222325
mov qword [rsp + 0x98], rsi
nop dword [rax]
mov rbp, qword [rbx + 0x18]
test rbp, rbp
jne 0x1800036a3
movzx eax, byte [rbx + 0x11]
movzx ecx, byte [rbx + 0x10]
mov rdx, qword [r14 + 0x30]
xor rcx, r13
mov r9, qword [r14 + 0x18]
mov r10, qword [r14 + 8]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x14]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x15]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x16]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rbx + 0x17]
imul rcx, r12
xor rcx, rax
imul rcx, r12
and rdx, rcx
add rdx, rdx
mov r11, qword [r9 + rdx*8 + 8]
mov rcx, r11
cmp r11, r10
je 0x180003643
mov rax, qword [rbx + 0x10]
mov r8, qword [r9 + rdx*8]
cmp rax, qword [r11 + 0x10]
je 0x180003645
cmp rcx, r8
je 0x180003643
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx + 0x10]
jne 0x180003632
jmp 0x180003645
xor ecx, ecx
test rcx, rcx
je 0x1800037a1
mov rax, qword [r9 + rdx*8]
cmp r11, rcx
jne 0x180003672
cmp rax, rcx
jne 0x180003667
mov qword [r9 + rdx*8], r10
mov qword [r9 + rdx*8 + 8], r10
jmp 0x18000367e
mov r10, qword [rcx + 8]
mov qword [r9 + rdx*8 + 8], r10
jmp 0x18000367e
cmp rax, rcx
jne 0x18000367e
mov rax, qword [rcx]
mov qword [r9 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [r14 + 0x10]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.180096610
jmp 0x1800037a1
mov rax, qword [0x180229bf8]
mov rsi, qword [rax + 0x30]
test rsi, rsi
je 0x1800037a1
cmp dword [rsi + 0x44], 0
jle 0x1800037a1
mov rax, qword [0x1801f3f00]
add rax, 0x3ec930
call rax
mov rdx, qword [0x1801f3f00]
mov rcx, rax
add rdx, 0x3e7440
call rdx
test al, al
je 0x1800036f9
mov eax, dword [rsi + 0x158]
cmp eax, dword [rbp + 0x158]
je 0x1800037a1
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1800037a1
cmp dword [rsi + 0x44], 0
jle 0x1800037a1
cmp qword [rsi + 0x38], 0
je 0x1800037a1
cmp qword [rsi + 0xc0], 0
je 0x1800037a1
movsd xmm1, qword [rsi + 0x98]
mov rax, qword [0x180229bf8]
mov rcx, qword [rax + 0x30]
movsd xmm0, qword [rcx + 0x98]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm0, xmm1
shufps xmm3, xmm3, 0x55
subss xmm2, xmm1
shufps xmm0, xmm0, 0x55
movss xmm1, dword [rcx + 0xa0]
subss xmm3, xmm0
subss xmm1, dword [rsi + 0xa0]
xorps xmm0, xmm0
mulss xmm2, xmm2
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm2
addss xmm3, xmm1
ucomiss xmm0, xmm3
ja 0x18000378e
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x180003796
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x1800037a1
movaps xmm6, xmm0
mov r15, rsi
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1800035a0
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x60]
mov rax, r15
mov rbx, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x68
pop r15
pop r14
ret