Function at 0x18002a5f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18029d790]
xor rax, rsp
mov qword [rbp + 0x168], rax
mov qword [rbp - 0x40], r9
mov rsi, r8
mov r12, rdx
mov qword [rbp + 0xd0], rcx
mov rax, qword [rbp + 0x270]
mov qword [rbp - 0x30], rax
mov r15, qword [rbp + 0x278]
mov rbx, qword [0x180336d28]
test rbx, rbx
je 0x18002b1a9
mov r9d, dword [0x180335888]
mov rax, qword gs:[0x58]
mov rdi, qword [rax + r9*8]
mov r13d, 4
mov eax, dword [rdi + r13]
cmp dword [0x180336d50], eax
jle 0x18002a6fb
lea rcx, [0x180336d50]
call fcn.1801a9d00
cmp dword [0x180336d50], 0xffffffff
jne 0x18002a6fb
mov edx, 0x3979ff6e
mov r9d, 0x7c628c1d
lea rcx, str.CBasePlayerController
call fcn.180066450
mov word [0x180336d34], ax
lea rcx, [0x180336d50]
call fcn.1801a9ca0
movsx rax, word [0x180336d34]
mov edx, dword [rax + rbx]
mov r14d, 0x7fff
and edx, r14d
cmp dword [rax + rbx], 0xffffffff
cmove edx, r14d
mov rcx, qword [0x180336ce0]
call fcn.180026a80
mov rbx, rax
mov qword [rbp - 0x38], rax
test rax, rax
je 0x18002b1a9
mov ecx, dword [rdi + r13]
cmp dword [0x180336c80], ecx
jle 0x18002a77e
lea rcx, [0x180336c80]
call fcn.1801a9d00
cmp dword [0x180336c80], 0xffffffff
jne 0x18002a77e
mov edx, 0x4ab1b579
mov r9d, 0x51b23a93
lea rcx, str.C_BasePlayerPawn
call fcn.180066450
mov word [0x180336cac], ax
lea rcx, [0x180336c80]
call fcn.1801a9ca0
movsx rax, word [0x180336cac]
mov rbx, qword [rax + rbx]
test rbx, rbx
je 0x18002b1a9
mov eax, dword [rdi + r13]
cmp dword [0x180336cb0], eax
jle 0x18002a7de
lea rcx, [0x180336cb0]
call fcn.1801a9d00
cmp dword [0x180336cb0], 0xffffffff
jne 0x18002a7de
mov edx, 0x634d2280
mov r9d, 0x940131c5
lea rcx, str.CPlayer_WeaponServices
call fcn.180066450
mov word [0x180336ca8], ax
lea rcx, [0x180336cb0]
call fcn.1801a9ca0
movsx rax, word [0x180336ca8]
mov edx, dword [rax + rbx]
and edx, r14d
cmp dword [rax + rbx], 0xffffffff
cmove edx, r14d
mov rcx, qword [0x180336ce0]
call fcn.180026a80
mov r14, rax
test rax, rax
je 0x18002b1a9
movss xmm2, dword [rsi + 8]
subss xmm2, dword [r12 + 8]
movss xmm1, dword [rsi + 4]
subss xmm1, dword [r12 + 4]
movss xmm6, dword [rsi]
subss xmm6, dword [r12]
movss dword [rbp + 0xe0], xmm2
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movsd qword [rbp + 0xa8], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp + 0xb0], eax
movaps xmm3, xmm6
mulss xmm3, xmm6
mulss xmm1, xmm1
addss xmm3, xmm1
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18002a878
xorps xmm2, xmm2
sqrtss xmm2, xmm3
jmp 0x18002a883
movaps xmm0, xmm3
call fcn.1801f0df8
movaps xmm2, xmm0
xorps xmm13, xmm13
ucomiss xmm2, xmm13
jp 0x18002a8a6
jne 0x18002a8a6
mov qword [rbp + 0xac], 0
mov dword [rbp + 0xa8], 0
jmp 0x18002a8da
divss xmm6, xmm2
movss dword [rbp + 0xa8], xmm6
movss xmm0, dword [rbp + 0xac]
divss xmm0, xmm2
movss dword [rbp + 0xac], xmm0
movss xmm1, dword [rbp + 0xb0]
divss xmm1, xmm2
movss dword [rbp + 0xb0], xmm1
mov eax, dword [rdi + r13]
cmp dword [0x180336cdc], eax
jle 0x18002a925
lea rcx, [0x180336cdc]
call fcn.1801a9d00
cmp dword [0x180336cdc], 0xffffffff
jne 0x18002a925
mov edx, 0xffedba19
mov r9d, 0x537b0586
lea rcx, str.C_EconEntity
call fcn.180066450
mov word [0x180336cc4], ax
lea rcx, [0x180336cdc]
call fcn.1801a9ca0
movsx rbx, word [0x180336cc4]
add rbx, r14
mov r14d, 4
mov eax, dword [r14 + rdi]
cmp dword [0x180336d3c], eax
jle 0x18002a981
lea rcx, [0x180336d3c]
call fcn.1801a9d00
cmp dword [0x180336d3c], 0xffffffff
jne 0x18002a981
mov edx, 0xb85cfa30
mov r9d, 0xdce71866
lea rcx, str.C_AttributeContainer
call fcn.180066450
mov word [0x180336c84], ax
lea rcx, [0x180336d3c]
call fcn.1801a9ca0
movsx rdx, word [0x180336c84]
add rdx, rbx
call fcn.180064fb0
mov r13, rax
test rax, rax
je 0x18002b1a9
xorps xmm10, xmm10
mov dword [rbp + 0xb8], 4
mov ecx, dword [r14 + rdi]
cmp dword [0x180336dd8], ecx
jle 0x18002a9f6
lea rcx, [0x180336dd8]
call fcn.1801a9d00
cmp dword [0x180336dd8], 0xffffffff
jne 0x18002a9f6
mov edx, 0x62fb7705
mov r9d, 0x3fc92844
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336dbc], ax
lea rcx, [0x180336dd8]
call fcn.1801a9ca0
movsx rax, word [0x180336dbc]
movss xmm7, dword [rax + r13]
movss dword [rbp - 0x7c], xmm7
mov eax, dword [r14 + rdi]
cmp dword [0x180336db0], eax
jle 0x18002aa54
lea rcx, [0x180336db0]
call fcn.1801a9d00
cmp dword [0x180336db0], 0xffffffff
jne 0x18002aa54
mov edx, 0x62fb7705
mov r9d, 0xc4163f78
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336dcc], ax
lea rcx, [0x180336db0]
call fcn.1801a9ca0
movsx rax, word [0x180336dcc]
movss xmm14, dword [rax + r13]
mov eax, dword [r14 + rdi]
cmp dword [0x180336dc8], eax
jle 0x18002aaad
lea rcx, [0x180336dc8]
call fcn.1801a9d00
cmp dword [0x180336dc8], 0xffffffff
jne 0x18002aaad
mov edx, 0x62fb7705
mov r9d, 0x556fea15
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336dc4], ax
lea rcx, [0x180336dc8]
call fcn.1801a9ca0
movsx rax, word [0x180336dc4]
movss xmm0, dword [rax + r13]
movss dword [rbp - 0x80], xmm0
mov eax, dword [r14 + rdi]
cmp dword [0x180336de0], eax
jle 0x18002ab0b
lea rcx, [0x180336de0]
call fcn.1801a9d00
cmp dword [0x180336de0], 0xffffffff
jne 0x18002ab0b
mov edx, 0x62fb7705
mov r9d, 0x1c56d69c
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336db8], ax
lea rcx, [0x180336de0]
call fcn.1801a9ca0
movsx rax, word [0x180336db8]
movd xmm0, dword [rax + r13]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xa4], xmm0
lea rax, vtable.STraceFilter.0
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], 0x1c300b
xor ebx, ebx
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x100], rbx
mov dword [rbp + 0x124], 0x49040007
mov byte [rbp + 0x128], bl
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.180063220
mov ecx, dword [rax]
mov dword [rbp + 0x110], ecx
lea rdx, [rbp - 0x4c]
xor ecx, ecx
call fcn.180063220
mov edx, dword [rax]
mov dword [rbp + 0x114], edx
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.180062f00
mov edx, dword [rax]
mov dword [rbp + 0x118], edx
lea rdx, [rbp - 0x44]
xor ecx, ecx
call fcn.180062f00
mov edx, dword [rax]
mov dword [rbp + 0x11c], edx
mov rcx, r15
call fcn.1800650a0
mov word [rbp + 0x120], ax
xor ecx, ecx
call fcn.1800650a0
mov word [rbp + 0x122], ax
cmp dword [rbp + 0xb8], ebx
jle 0x18002b1a5
movss xmm11, dword [0x1802713d0]
movss xmm15, dword [0x180271338]
mov r15, qword [rbp + 0xd0]
movss xmm6, dword [0x1802714c0]
movss xmm0, dword [rbp + 0xa4]
comiss xmm0, xmm11
jb 0x18002b1a5
movaps xmm12, xmm7
subss xmm12, xmm10
movss xmm2, dword [rbp + 0xb0]
mulss xmm2, xmm12
movss xmm1, dword [rbp + 0xac]
mulss xmm1, xmm12
addss xmm2, dword [r12 + 8]
addss xmm1, dword [r12 + 4]
movss xmm0, dword [rbp + 0xa8]
mulss xmm0, xmm12
addss xmm0, dword [r12]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
movss dword [rbp + 0xc8], xmm2
mov qword [rbp + 0x64], 0
mov qword [rbp + 0x6c], 0
mov qword [rbp + 0x74], 0
mov byte [rbp + 0x164], 0
mov qword [rbp + 0x154], 0
mov dword [rbp + 0x15c], 0
mov qword [rbp + 0x148], 0
mov dword [rbp + 0x150], 0
mov qword [rbp + 0x13c], 0
mov dword [rbp + 0x144], 0
mov qword [rbp + 0x130], 0
mov dword [rbp + 0x138], 0
or byte [rbp + 0x127], 2
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
mov r8, r12
lea rdx, [rbp + 0x130]
mov rcx, r15
call fcn.180029f30
movss xmm0, dword [rbp + 0xb0]
mulss xmm0, xmm6
movss xmm1, dword [rbp + 0xac]
mulss xmm1, xmm6
movss xmm2, dword [rbp + 0xc8]
addss xmm2, xmm0
movss xmm3, dword [rbp + 0xc4]
addss xmm3, xmm1
movss xmm4, dword [rbp + 0xa8]
mulss xmm4, xmm6
addss xmm4, dword [rbp + 0xc0]
movss dword [rbp + 0xd8], xmm4
movss dword [rbp + 0xdc], xmm3
movss dword [rbp + 0xe0], xmm2
movss xmm6, dword [r12 + 8]
movaps xmm1, xmm6
subss xmm1, xmm2
movss xmm8, dword [r12 + 4]
movaps xmm0, xmm8
subss xmm0, xmm3
movss xmm9, dword [r12]
movaps xmm2, xmm9
subss xmm2, xmm4
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18002adb7
xorps xmm7, xmm7
sqrtss xmm7, xmm2
jmp 0x18002adc2
movaps xmm0, xmm2
call fcn.1801f0df8
movaps xmm7, xmm0
movss xmm2, dword [rbp + 0x6c]
subss xmm2, xmm6
movss xmm1, dword [rbp + 0x68]
subss xmm1, xmm8
movss xmm3, dword [rbp + 0x64]
subss xmm3, xmm9
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm1
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18002ae04
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x18002ae0f
movaps xmm0, xmm3
call fcn.1801f0df8
movaps xmm6, xmm0
movaps xmm1, xmm11
divss xmm1, xmm7
mulss xmm6, xmm1
mov eax, dword [r14 + rdi]
cmp dword [0x180341884], eax
jle 0x18002aebc
lea rcx, [0x180341884]
call fcn.1801a9d00
cmp dword [0x180341884], 0xffffffff
jne 0x18002aebc
movdqa xmm0, xmmword [0x180272380]
movdqu xmmword [rbp - 0x78], xmm0
movdqa xmm1, xmmword [0x1802725c0]
movdqu xmmword [rbp - 0x68], xmm1
mov dword [rbp - 0x58], 0x51514151
mov dword [rbp - 0x54], 0x515141
mov rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rbp - 0x78]
xor byte [rbp + rcx - 0x77], al
movzx eax, byte [rbp - 0x78]
xor byte [rbp + rcx - 0x76], al
add rcx, 2
cmp rcx, 0x26
jb 0x18002ae70
mov byte [rbp - 0x51], 0
mov dword [rsp + 0x20], ebx
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rbp - 0x77]
call fcn.180068750
mov qword [0x1803418a0], rax
lea rcx, [0x180341884]
call fcn.1801a9ca0
mov eax, dword [r14 + rdi]
cmp dword [0x180341880], eax
jle 0x18002af02
lea rcx, [0x180341880]
call fcn.1801a9d00
cmp dword [0x180341880], 0xffffffff
jne 0x18002af02
mov rcx, qword [0x1803418a0]
movsxd rax, dword [rcx + 1]
add rcx, 5
add rcx, rax
mov qword [0x180341868], rcx
lea rcx, [0x180341880]
call fcn.1801a9ca0
movss dword [rsp + 0x30], xmm6
movss xmm0, dword [0x1802714dc]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm13
lea r9, [rbp - 0x20]
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xd8]
mov rcx, r12
call qword [0x180341868]
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x18002af50
mov rax, qword [rbx]
mov rdx, qword [rax + 0x478]
mov rcx, rbx
call rdx
movss xmm0, dword [rbp + 0x8c]
ucomiss xmm0, xmm11
jp 0x18002af64
je 0x18002b1a5
lea rcx, [rbp - 0x20]
call fcn.1800651a0
mov rsi, rax
mov ecx, dword [rax + 0x14]
mov dword [rbp + 0xd0], ecx
mov ecx, dword [rbp + 8]
shr ecx, 0xd
and cl, 1
mov byte [rbp + 0xa0], cl
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x18002afb3
mov r14d, dword [rcx + 0x38]
lea ecx, [r14 - 1]
cmp ecx, 7
ja 0x18002afad
test rbx, rbx
je 0x18002afad
cmp rbx, qword [rbp - 0x40]
je 0x18002b173
mov r14d, 4
movss xmm0, dword [rbp + 0x8c]
mulss xmm0, xmm12
addss xmm10, xmm0
movaps xmm1, xmm10
mulss xmm1, dword [0x180271308]
movss xmm0, dword [rbp - 0x80]
call fcn.1801cb9c0
movss xmm1, dword [rbp + 0xa4]
mulss xmm1, xmm0
movss dword [rbp + 0xa4], xmm1
movss xmm6, dword [rsi + 8]
comiss xmm1, dword [0x18027156c]
jbe 0x18002b003
comiss xmm14, xmm13
ja 0x18002b009
comiss xmm15, xmm6
jbe 0x18002b013
mov dword [rbp + 0xb8], 0
mov eax, dword [r14 + rdi]
cmp dword [0x180336cb8], eax
jle 0x18002b05e
lea rcx, [0x180336cb8]
call fcn.1801a9d00
cmp dword [0x180336cb8], 0xffffffff
jne 0x18002b05e
mov edx, 0x8c86dfe9
mov r9d, 0xa5bfefb3
lea rcx, str.C_BaseEntity
call fcn.180066450
mov word [0x180336d38], ax
lea rcx, [0x180336cb8]
call fcn.1801a9ca0
movsx rax, word [0x180336d38]
mov r14, qword [rbp - 0x38]
mov ebx, dword [rax + r14]
movss xmm7, dword [rsi + 0xc]
mov eax, 4
mov eax, dword [rax + rdi]
cmp dword [0x180336db0], eax
jle 0x18002b0c2
lea rcx, [0x180336db0]
call fcn.1801a9d00
cmp dword [0x180336db0], 0xffffffff
jne 0x18002b0c2
mov edx, 0x62fb7705
mov r9d, 0xc4163f78
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336dcc], ax
lea rcx, [0x180336db0]
call fcn.1801a9ca0
movsx rdx, word [0x180336dcc]
add rdx, r13
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x80], ebx
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x78], rax
movss dword [rsp + 0x70], xmm10
mov qword [rsp + 0x68], r12
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x60], rax
movss dword [rsp + 0x58], xmm14
mov dword [rsp + 0x50], 2
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm6
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xa0]
lea r8, [rbp + 0xd0]
mov rcx, r15
call fcn.18002a0d0
test al, al
jne 0x18002b1a5
cmp dword [rbp + 0xb8], 0
jle 0x18002b1a5
movss xmm7, dword [rbp - 0x7c]
mov r14d, 4
xor ebx, ebx
jmp 0x18002abed
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x20], rax
mov r9, r13
mov r8, rbx
mov edx, r14d
call fcn.18002a300
movss xmm0, dword [rbp + 0xa4]
mov rax, qword [rbp - 0x30]
movss dword [rax], xmm0
mov dword [rax + 4], r14d
mov al, 1
jmp 0x18002b1a7
xor al, al
jmp 0x18002b1ab
xor al, al
mov rcx, qword [rbp + 0x168]
xor rcx, rsp
call fcn.1801a9b50
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret