Function at 0x180001850
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x18003f040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x20], rcx
mov rbx, rcx
shr rbx, 0x38
mov rax, rcx
shr rax, 0x30
movzx r11d, al
mov rax, rcx
shr rax, 0x28
movzx r10d, al
mov rax, rcx
shr rax, 0x20
movzx r9d, al
mov rax, rcx
shr rax, 0x18
movzx r8d, al
mov rax, rcx
shr rax, 0x10
movzx edx, al
mov rax, rcx
shr rax, 8
movzx ecx, al
movzx eax, sil
mov qword [rbp - 0x18], rdi
movabs r14, 0xcbf29ce484222325
xor rax, r14
movabs r14, 0x100000001b3
imul rax, r14
xor rax, rcx
imul rax, r14
xor rax, rdx
imul rax, r14
xor rax, r8
imul rax, r14
xor rax, r9
imul rax, r14
xor rax, r10
imul rax, r14
xor rax, r11
imul rax, r14
xor rax, rbx
imul rax, r14
mov rcx, qword [0x18003fbc0]
and rcx, rax
add rcx, rcx
mov rdx, qword [0x18003fba8]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x18003fb98]
je 0x180001955
mov rcx, qword [rdx + rcx*8]
cmp rsi, qword [rax + 0x10]
je 0x180001957
cmp rax, rcx
je 0x180001955
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x180001944
jmp 0x180001957
xor eax, eax
test rax, rax
je 0x180001c3e
mov rbx, qword [rdi + 0x10]
mov rcx, rdi
mov rsi, qword [rdi + 0x18]
cmp rsi, 0xf
jbe 0x180001974
mov rcx, qword [rdi]
cmp rbx, 9
jne 0x180001a66
mov r8, rbx
lea rdx, str.no_spread
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180001a66
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x18]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x48], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x1c]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x60], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x20]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x44], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x24]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x54], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x28]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x4c], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x2c]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x5c], xmm0
jmp 0x180001c3e
mov rcx, rdi
cmp rsi, 0xf
jbe 0x180001a72
mov rcx, qword [rdi]
cmp rbx, 0xd
jne 0x180001afc
mov r8, rbx
lea rdx, str.infinite_ammo
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180001afc
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
mov edx, dword [rcx + 0x30]
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x34], edx
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
mov edx, dword [rcx + 0x34]
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x3c], edx
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
mov edx, dword [rcx + 0x38]
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x38], edx
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
mov edx, dword [rcx + 0x3c]
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x40], edx
jmp 0x180001c3e
mov rcx, rdi
cmp rsi, 0xf
jbe 0x180001b08
mov rcx, qword [rdi]
cmp rbx, 0xa
jne 0x180001b48
mov r8, rbx
lea rdx, str.rapid_fire
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180001b48
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x40]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x24], xmm0
jmp 0x180001c3e
mov rcx, rdi
cmp rsi, 0xf
jbe 0x180001b54
mov rcx, qword [rdi]
cmp rbx, 0xe
jne 0x180001bb3
mov r8, rbx
lea rdx, str.instant_reload
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180001bb3
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x44]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x34], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x48]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x41], dl
jmp 0x180001c3e
mov rcx, rdi
cmp rsi, 0xf
jbe 0x180001bbf
mov rcx, qword [rdi]
cmp rbx, 0xa
jne 0x180001c3e
mov r8, rbx
lea rdx, str.anti_shake
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180001c3e
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x4c]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x2c], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x50]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x30], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.180002030
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x54]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x18]
movss dword [rcx + 0x6c], xmm0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x180001c74
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180001c6f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180001ca8
mov rcx, r8
call fcn.180031ce4
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180031910
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3