Function at 0x18000a390
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
sub rsp, 0xa8
mov qword [rax + 0x10], rbx
lea rdx, [rsp + 0x30]
mov rbx, qword [0x1800710d0]
mov qword [rax - 8], rdi
mov edi, 3
movaps xmmword [rax - 0x18], xmm6
movaps xmm6, xmmword [0x180065f20]
movaps xmmword [rax - 0x38], xmm8
lea rcx, [rbx + 0x4800]
movss xmm8, dword [0x180065c54]
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [rbx + 0x3eb8]
mov dword [rsp + 0x30], edi
movss xmm1, dword [rax + 0xfc]
subss xmm1, dword [rax + 0x1c]
addss xmm1, dword [rax + 0x80]
mov byte [rax + 0xb0], 1
mov rax, qword [rbx + 0x3eb8]
addss xmm1, xmm8
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x80]
mov byte [rax + 0x139], 1
addss xmm0, xmm1
movss dword [rax + 0xfc], xmm0
movups xmm0, xmmword [rbx + 0x38ec]
movups xmmword [rsp + 0x34], xmm0
call fcn.18002a6f0
movss xmm9, dword [0x180065c3c]
lea ecx, [rdi + 4]
movaps xmm1, xmm9
movups xmmword [rbx + 0x38ec], xmm6
call fcn.1800136b0
mov r10, qword [0x1800710d0]
lea rdx, [0x18005c899]
movss xmm0, dword [0x180065cdc]
movss xmm1, dword [0x180065cd8]
movss dword [rsp + 0xb0], xmm0
mov rax, qword [r10 + 0x3eb8]
movss dword [rsp + 0xb4], xmm1
mov byte [rax + 0xb0], 1
mov rax, qword [r10 + 0x3eb8]
movzx r8d, byte [0x18005c898]
movsxd rcx, dword [rax + 0xe8]
mov rax, qword [rax + 0xf0]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
test r8b, r8b
je 0x18000a500
lea r11, [0x18005ea90]
nop word [rax + rax]
cmp r8b, 0x23
jne 0x18000a4e3
cmp byte [rdx], r8b
jne 0x18000a4e3
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r11 + rcx*4]
test r8b, r8b
jne 0x18000a4d0
not ebx
cmp dword [r10 + 0x3f00], ebx
jne 0x18000a51e
lea r8, [0x18005c898]
mov edx, 0xb
mov ecx, ebx
call fcn.180029ed0
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0xb0]
mov edx, ebx
lea rcx, [0x18005c898]
call fcn.180019e50
test al, al
je 0x18000ab31
mov rcx, qword [0x1800710d0]
lea r8, [0x1800711a8]
movaps xmmword [rsp + 0x80], xmm7
lea rdx, str.Toggle_Aim_Assist
movaps xmmword [rsp + 0x50], xmm10
mov rax, qword [rcx + 0x3eb8]
movss xmm1, dword [rax + 0xfc]
subss xmm1, dword [rax + 0x1c]
addss xmm1, dword [rax + 0x80]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
mov ecx, 0xc8bc8d0
addss xmm1, dword [0x180065be8]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x80]
mov byte [rax + 0x139], 1
addss xmm0, xmm1
movss dword [rax + 0xfc], xmm0
call fcn.180056b30
mov rcx, qword [0x1800710d0]
movss xmm7, dword [0x180065c14]
mov rax, qword [rcx + 0x3eb8]
movss xmm1, dword [rax + 0xfc]
subss xmm1, dword [rax + 0x1c]
addss xmm1, dword [rax + 0x80]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
addss xmm1, xmm7
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x80]
mov byte [rax + 0x139], 1
addss xmm0, xmm1
movss dword [rax + 0xfc], xmm0
mov rax, qword [rcx + 0x3eb8]
cmp byte [rax + 0xb3], 0
jne 0x18000a645
mov eax, dword [rax + 0x1ac]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180043e50
movss xmm0, dword [0x180065cac]
lea r8, [0x180070288]
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm0
lea rdx, [0x180063a44]
mov ecx, 0x5ff27871
call fcn.1800567f0
movss xmm0, dword [0x180065c34]
lea r8, [0x1800702c0]
movss xmm10, dword [0x180065b7c]
lea rdx, str.Lock_Distance
movaps xmm3, xmm10
movss dword [rsp + 0x20], xmm0
mov ecx, 0x33d78f8f
call fcn.1800567f0
movss xmm0, dword [0x180065c78]
lea r8, [0x1800702b0]
movaps xmm3, xmm10
movss dword [rsp + 0x20], xmm0
lea rdx, str.Smoothness
mov ecx, 0xc8926fe1
call fcn.1800567f0
lea r8, [0x1800702c4]
mov ecx, 0x1598a5e
lea rdx, str.Visbility_Check
call fcn.180056b30
lea r8, [0x18007028d]
mov ecx, 0xa206f562
lea rdx, str.Left_Button_To_Aim
call fcn.180056b30
mov rcx, qword [0x1800710d0]
mov rax, qword [rcx + 0x3eb8]
movss xmm4, dword [rax + 0xfc]
movss xmm1, dword [rax + 0x1c]
movss xmm3, dword [rax + 0x80]
subss xmm4, xmm1
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
lea rcx, str.Target_Priority
addss xmm4, xmm3
movss xmm2, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x7c]
subss xmm0, dword [rax + 0x80]
addss xmm4, xmm7
mov byte [rax + 0x139], 1
addss xmm2, xmm8
addss xmm0, xmm4
movss dword [rax + 0xf8], xmm2
movss dword [rax + 0xfc], xmm0
call fcn.180041530
movss xmm1, dword [0x180065d44]
xorps xmm0, xmm0
call fcn.1800222d0
mov rdx, qword [0x1800710d0]
movaps xmm1, xmm9
mov ecx, 0xc
mov rax, qword [rdx + 0x3eb8]
movss xmm4, dword [rax + 0xf8]
subss xmm4, dword [rax + 0x18]
addss xmm4, dword [rax + 0x7c]
mov byte [rax + 0xb0], 1
mov rax, qword [rdx + 0x3eb8]
addss xmm4, dword [0x180065ca8]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x7c]
mov byte [rax + 0x139], 1
addss xmm0, xmm4
movss dword [rax + 0xf8], xmm0
call fcn.1800136b0
mov rbx, qword [0x1800710d0]
lea rdx, [rsp + 0x30]
movaps xmm6, xmmword [0x180066230]
mov dword [rsp + 0x30], 0x15
movups xmm0, xmmword [rbx + 0x3a0c]
lea rcx, [rbx + 0x4800]
movups xmmword [rsp + 0x34], xmm0
call fcn.18002a6f0
movups xmmword [rbx + 0x3a0c], xmm6
mov rbx, qword [0x1800710d0]
movaps xmm6, xmmword [0x180066250]
movups xmm0, xmmword [rbx + 0x3a1c]
lea rcx, [rbx + 0x4800]
mov dword [rsp + 0x30], 0x16
lea rdx, [rsp + 0x30]
movups xmmword [rsp + 0x34], xmm0
call fcn.18002a6f0
movups xmmword [rbx + 0x3a1c], xmm6
mov rbx, qword [0x1800710d0]
lea rdx, [rsp + 0x30]
movaps xmm6, xmmword [0x180066280]
mov dword [rsp + 0x30], 0x17
movups xmm0, xmmword [rbx + 0x3a2c]
lea rcx, [rbx + 0x4800]
movups xmmword [rsp + 0x34], xmm0
call fcn.18002a6f0
movups xmmword [rbx + 0x3a2c], xmm6
call fcn.180044ee0
mov rbx, qword [0x1800710d0]
mov eax, dword [rbx + 0x4800]
cmp eax, edi
jge 0x18000a8c0
mov edi, eax
test eax, eax
jle 0x18000a8f4
nop word [rax + rax]
mov rcx, qword [rbx + 0x4808]
dec edi
cdqe
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [rbx + rax*8 + 0x38bc], xmm0
dec dword [rbx + 0x4800]
mov eax, dword [rbx + 0x4800]
test edi, edi
jg 0x18000a8c0
mov ecx, 1
call fcn.180013730
mov rax, qword [rbx + 0x3eb8]
cmp byte [rax + 0xb3], 0
jne 0x18000a920
mov eax, dword [rax + 0x1ac]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180043e50
lea r8, [0x1800702b4]
mov ecx, 0x28a15d97
lea rdx, str.Adapt_to_strafing
call fcn.180056b30
movss xmm0, dword [0x180065c48]
lea r8, [0x1800702bc]
movss xmm3, dword [0x180065b04]
lea rdx, str.Adaptive_strafing_offset
mov ecx, 0x1b4233aa
movss dword [rsp + 0x20], xmm0
call fcn.1800567f0
mov rcx, qword [0x1800710d0]
mov rax, qword [rcx + 0x3eb8]
movss xmm4, dword [rax + 0xfc]
movss xmm1, dword [rax + 0x1c]
movss xmm3, dword [rax + 0x80]
subss xmm4, xmm1
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
addss xmm4, xmm3
movss xmm2, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x7c]
subss xmm0, dword [rax + 0x80]
mov byte [rax + 0x139], 1
addss xmm4, xmm7
addss xmm2, xmm8
addss xmm0, xmm4
movss dword [rax + 0xf8], xmm2
movss dword [rax + 0xfc], xmm0
mov rax, qword [rcx + 0x3eb8]
cmp byte [rax + 0xb3], 0
jne 0x18000a9fc
mov eax, dword [rax + 0x1ac]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180043e50
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm9
lea r8, [0x180070290]
mov ecx, 0xce7da258
lea rdx, str.Yaw_Randomness
call fcn.1800567f0
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm10
lea r8, [0x1800702c8]
mov ecx, 0x94b2c8db
lea rdx, str.Pitch_Randomness
call fcn.1800567f0
mov rcx, qword [0x1800710d0]
movaps xmm10, xmmword [rsp + 0x50]
mov rax, qword [rcx + 0x3eb8]
movss xmm4, dword [rax + 0xfc]
movss xmm1, dword [rax + 0x1c]
movss xmm3, dword [rax + 0x80]
subss xmm4, xmm1
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
addss xmm4, xmm3
movss xmm2, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x7c]
subss xmm0, dword [rax + 0x80]
addss xmm4, xmm7
mov byte [rax + 0x139], 1
movaps xmm7, xmmword [rsp + 0x80]
addss xmm2, xmm8
addss xmm0, xmm4
movss dword [rax + 0xf8], xmm2
movss dword [rax + 0xfc], xmm0
mov rax, qword [rcx + 0x3eb8]
cmp byte [rax + 0xb3], 0
jne 0x18000aae4
mov eax, dword [rax + 0x1ac]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180043e50
lea r8, [0x180071240]
mov ecx, 0xd126f970
lea rdx, str.FOV_Circle
call fcn.180056b30
lea r8, [0x180071241]
mov ecx, 0x7a2cfa7e
lea rdx, str.Feedback_Line
call fcn.180056b30
lea r8, [0x18007028c]
mov ecx, 0x858
lea rdx, str.Ignore_Blocks
call fcn.180056b30
call fcn.18001a060
mov ecx, 1
call fcn.180013730
mov r8, qword [0x1800710d0]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x90]
movsxd rax, dword [r8 + 0x4800]
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb8]
cmp eax, 1
jl 0x18000ab9a
mov rcx, qword [r8 + 0x4808]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x38bc], xmm0
dec dword [r8 + 0x4800]
add rsp, 0xa8
ret