Function at 0x18003a220
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2b0
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 + 0x100], rax
mov r15, r9
mov r13, r8
mov rsi, rdx
mov r12, qword [rbp + 0x220]
mov ecx, dword [0x180335888]
mov rax, qword gs:[0x58]
mov edx, 4
mov r14, qword [rax + rcx*8]
mov ebx, dword [0x180336dd8]
cmp ebx, dword [r14 + rdx]
jle 0x18003a30e
lea rcx, [0x180336dd8]
call fcn.1801a9d00
mov ebx, dword [0x180336dd8]
cmp ebx, 0xffffffff
jne 0x18003a30e
mov edx, 0x62fb7705
mov r9d, 0x3fc92844
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336dbc], ax
lea rcx, [0x180336dd8]
call fcn.1801a9ca0
mov ebx, dword [0x180336dd8]
movsx rax, word [0x180336dbc]
movss xmm0, dword [rax + r12]
movss dword [rsp + 0x74], xmm0
mov rdi, qword [r13 + 0xa8]
movss xmm1, dword [rsi + 8]
subss xmm1, dword [rdi + 0x14]
movss xmm0, dword [rsi + 4]
subss xmm0, dword [rdi + 0x10]
movss xmm2, dword [rsi]
subss xmm2, dword [rdi + 0xc]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18003a36b
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x18003a376
movaps xmm0, xmm2
call fcn.1801f0df8
movaps xmm6, xmm0
mov eax, 4
cmp ebx, dword [r14 + rax]
jle 0x18003a3c0
lea rcx, [0x180336dd8]
call fcn.1801a9d00
cmp dword [0x180336dd8], 0xffffffff
jne 0x18003a3c0
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]
comiss xmm6, dword [rax + r12]
jbe 0x18003a3d7
xorps xmm0, xmm0
jmp 0x18003abed
xorps xmm10, xmm10
mov qword [rbp + 0x60], 0
mov dword [rbp + 0x68], 0
movss xmm2, dword [rdi + 0x14]
subss xmm2, dword [rsi + 8]
movss xmm1, dword [rdi + 0x10]
subss xmm1, dword [rsi + 4]
movss xmm0, dword [rdi + 0xc]
subss xmm0, dword [rsi]
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm1
movss dword [rbp + 0x78], xmm2
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x70]
call fcn.180068220
movss xmm6, dword [rbp + 0x60]
movaps xmm0, xmm6
call fcn.1801c1b54
movss xmm7, dword [0x18027154c]
test ax, ax
jg 0x18003a44e
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.1801c1108
movaps xmm9, xmm0
jmp 0x18003a452
xorps xmm9, xmm9
movss xmm6, dword [rbp + 0x64]
movaps xmm0, xmm6
call fcn.1801c1b54
test ax, ax
jg 0x18003a475
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.1801c1108
movaps xmm8, xmm0
jmp 0x18003a479
xorps xmm8, xmm8
movss xmm0, dword [rbp + 0x68]
movss xmm7, dword [0x1802714d4]
comiss xmm0, xmm7
seta al
test al, al
jne 0x18003a4a5
movss xmm7, dword [0x1802715b4]
comiss xmm7, xmm0
seta al
test al, al
jne 0x18003a4a5
movaps xmm7, xmm0
movss xmm6, dword [0x18027131c]
mulss xmm9, xmm6
movaps xmm2, xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.18002e0b0
mulss xmm8, xmm6
movaps xmm2, xmm8
lea rdx, [rsp + 0x54]
lea rcx, [rsp + 0x4c]
call fcn.18002e0b0
mulss xmm7, xmm6
movaps xmm2, xmm7
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x40]
call fcn.18002e0b0
movss xmm7, dword [rsp + 0x54]
movaps xmm0, xmm7
movss xmm8, dword [rsp + 0x50]
mulss xmm0, xmm8
movss dword [rsp + 0x5c], xmm0
movss xmm6, dword [rsp + 0x4c]
movaps xmm0, xmm6
mulss xmm0, xmm8
movss dword [rsp + 0x64], xmm0
movss xmm4, dword [rsp + 0x48]
movaps xmm1, xmm4
xorps xmm1, xmmword [0x180272ad0]
movss dword [rsp + 0x6c], xmm1
movss xmm9, dword [rsp + 0x44]
movaps xmm14, xmm9
mulss xmm14, dword [0x18027158c]
movaps xmm3, xmm6
xorps xmm3, xmmword [0x180272ad0]
movss xmm5, dword [rsp + 0x40]
movaps xmm1, xmm5
mulss xmm1, xmm4
movaps xmm11, xmm3
mulss xmm11, xmm14
movaps xmm0, xmm1
mulss xmm0, xmm7
subss xmm11, xmm0
movss dword [rsp + 0x4c], xmm11
mulss xmm14, xmm7
mulss xmm1, xmm6
subss xmm14, xmm1
movaps xmm0, xmm5
mulss xmm0, dword [0x18027158c]
mulss xmm0, xmm8
movss dword [rsp + 0x68], xmm0
movaps xmm15, xmm9
mulss xmm15, xmm4
movaps xmm0, xmm15
mulss xmm0, xmm7
mulss xmm3, xmm5
subss xmm0, xmm3
movss dword [rsp + 0x60], xmm0
mulss xmm15, xmm6
mulss xmm5, xmm7
subss xmm15, xmm5
mulss xmm9, xmm8
movss dword [rsp + 0x70], xmm9
mov edi, 4
mov eax, dword [r14 + rdi]
cmp dword [0x180336fac], eax
jle 0x18003a62c
lea rcx, [0x180336fac]
call fcn.1801a9d00
cmp dword [0x180336fac], 0xffffffff
jne 0x18003a62c
mov edx, 0x62fb7705
mov r9d, 0x4f7b5fdf
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336fa8], ax
lea rcx, [0x180336fac]
call fcn.1801a9ca0
movsx rbx, word [0x180336fa8]
add rbx, r12
mov rcx, r15
call fcn.180031280
movzx ecx, byte [rax]
movss xmm6, dword [rbx + rcx*4]
mov rcx, r15
call fcn.180031200
test byte [rax], 2
je 0x18003a6ba
mov eax, dword [r14 + rdi]
cmp dword [0x180336fb0], eax
jle 0x18003a69f
lea rcx, [0x180336fb0]
call fcn.1801a9d00
cmp dword [0x180336fb0], 0xffffffff
jne 0x18003a69f
mov edx, 0x62fb7705
mov r9d, 0x8292df17
lea rcx, str.CCSWeaponBaseVData
call fcn.180066450
mov word [0x180336fb4], ax
lea rcx, [0x180336fb0]
call fcn.1801a9ca0
movsx rbx, word [0x180336fb4]
add rbx, r12
mov rcx, r15
call fcn.180031280
movzx ecx, byte [rax]
movss xmm6, dword [rbx + rcx*4]
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x90], xmm1
movups xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xb4], 0
mov qword [rbp + 0x24], 0
mov qword [rbp + 0x2c], 0
mov qword [rbp + 0x34], 0
lea rax, vtable.STraceFilter.0
mov qword [rbp + 0xc0], rax
mov r9d, 0x1c3003
mov r8, r15
lea rdx, [rbp + 0xc0]
call fcn.18002b210
mov rcx, r12
call fcn.180032ac0
mov rbx, rax
mov rcx, r15
call fcn.180031280
movzx edx, byte [rax]
movss xmm7, dword [rbx + rdx*4]
movss dword [rsp + 0x54], xmm7
xor edx, edx
mov rcx, r15
call fcn.180064c00
movss dword [rsp + 0x50], xmm0
movaps xmm1, xmm0
subss xmm1, dword [0x1802712dc]
comiss xmm6, xmm1
jbe 0x18003a765
movss xmm0, dword [0x1802714f8]
jmp 0x18003abed
lea rdi, [0x180341934]
lea r15, [0x180343134]
movss xmm12, dword [0x1802713d0]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x18003a87d
mov byte [reloc.WS2_32.dll_accept], 0
mov rbx, rdi
movss xmm11, dword [0x180271458]
nop dword [rax]
movaps xmm2, xmm12
movaps xmm1, xmm10
call fcn.180068350
movaps xmm8, xmm0
movaps xmm2, xmm11
movaps xmm1, xmm10
call fcn.180068350
movaps xmm9, xmm0
movaps xmm2, xmm12
movaps xmm1, xmm10
call fcn.180068350
movaps xmm6, xmm0
movaps xmm2, xmm11
movaps xmm1, xmm10
call fcn.180068350
movaps xmm7, xmm0
movss dword [rbx - 4], xmm8
movss dword [rbx], xmm6
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x40], 0
movaps xmm2, xmm9
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.18002e0b0
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], 0
movaps xmm2, xmm7
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x44]
call fcn.18002e0b0
movss xmm0, dword [rsp + 0x58]
movss dword [rbx + 4], xmm0
movss xmm1, dword [rsp + 0x40]
movss dword [rbx + 8], xmm1
movss xmm0, dword [rsp + 0x44]
movss dword [rbx + 0xc], xmm0
movss xmm1, dword [rsp + 0x48]
movss dword [rbx + 0x10], xmm1
add rbx, 0x18
cmp rbx, r15
jl 0x18003a7a0
movss xmm11, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x50]
movss xmm7, dword [rsp + 0x54]
xor r12d, r12d
mov ebx, r12d
movss xmm9, dword [0x1802714c0]
movss xmm13, dword [0x1802714dc]
mov r15d, 4
nop dword [rax + rax]
movaps xmm1, xmm0
mulss xmm1, dword [rdi - 4]
movaps xmm3, xmm7
mulss xmm3, dword [rdi]
movaps xmm2, xmm3
mulss xmm2, dword [rdi + 0x10]
movaps xmm0, xmm1
mulss xmm0, dword [rdi + 8]
addss xmm2, xmm0
mulss xmm3, dword [rdi + 0xc]
mulss xmm1, dword [rdi + 4]
addss xmm3, xmm1
movaps xmm8, xmm11
mulss xmm8, xmm2
addss xmm8, dword [rsp + 0x5c]
movss xmm0, dword [rsp + 0x60]
mulss xmm0, xmm3
addss xmm8, xmm0
movaps xmm7, xmm14
mulss xmm7, xmm2
addss xmm7, dword [rsp + 0x64]
movaps xmm0, xmm15
mulss xmm0, xmm3
addss xmm7, xmm0
movss xmm6, dword [rsp + 0x68]
mulss xmm6, xmm2
addss xmm6, dword [rsp + 0x6c]
movss xmm0, dword [rsp + 0x70]
mulss xmm0, xmm3
addss xmm6, xmm0
movaps xmm2, xmm6
movss xmm3, dword [rsp + 0x74]
mulss xmm2, xmm3
movaps xmm1, xmm7
mulss xmm1, xmm3
addss xmm2, dword [rsi + 8]
addss xmm1, dword [rsi + 4]
movaps xmm0, xmm8
mulss xmm0, xmm3
addss xmm0, dword [rsi]
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm1
movss dword [rbp + 0x68], xmm2
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
mov r8, rsi
lea rdx, [rbp + 0x80]
lea rcx, [0x180336e3a]
call fcn.180029f30
mulss xmm6, xmm9
mulss xmm7, xmm9
movss xmm0, dword [rbp + 0x68]
addss xmm0, xmm6
addss xmm7, dword [rbp + 0x64]
mulss xmm8, xmm9
addss xmm8, dword [rbp + 0x60]
movss dword [rbp + 0x70], xmm8
movss dword [rbp + 0x74], xmm7
movss dword [rbp + 0x78], xmm0
movss xmm6, dword [rsi + 8]
movaps xmm1, xmm6
subss xmm1, xmm0
movss xmm9, dword [rsi + 4]
movaps xmm0, xmm9
subss xmm0, xmm7
movss xmm11, dword [rsi]
movaps xmm2, xmm11
subss xmm2, xmm8
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18003aa10
xorps xmm7, xmm7
sqrtss xmm7, xmm2
jmp 0x18003aa1b
movaps xmm0, xmm2
call fcn.1801f0df8
movaps xmm7, xmm0
movss xmm2, dword [rbp + 0x2c]
subss xmm2, xmm6
movss xmm1, dword [rbp + 0x28]
subss xmm1, xmm9
movss xmm3, dword [rbp + 0x24]
subss xmm3, xmm11
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm1
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18003aa5d
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x18003aa68
movaps xmm0, xmm3
call fcn.1801f0df8
movaps xmm6, xmm0
movaps xmm1, xmm12
divss xmm1, xmm7
mulss xmm6, xmm1
mov eax, dword [r14 + r15]
cmp dword [0x180341884], eax
jle 0x18003ab20
lea rcx, [0x180341884]
call fcn.1801a9d00
cmp dword [0x180341884], 0xffffffff
jne 0x18003ab20
movdqa xmm0, xmmword [0x180272380]
movdqu xmmword [rsp + 0x78], xmm0
movdqa xmm1, xmmword [0x1802725c0]
movdqu xmmword [rbp - 0x78], xmm1
mov dword [rbp - 0x68], 0x51514151
mov dword [rbp - 0x64], 0x515141
mov rcx, r12
nop dword [rax]
movzx eax, byte [rsp + 0x78]
xor byte [rsp + rcx + 0x79], al
movzx eax, byte [rsp + 0x78]
xor byte [rsp + rcx + 0x7a], al
add rcx, 2
cmp rcx, 0x26
jb 0x18003aad0
mov byte [rbp - 0x61], 0
mov dword [rsp + 0x20], r12d
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rsp + 0x79]
call fcn.180068750
mov qword [0x1803418a0], rax
lea rcx, [0x180341884]
call fcn.1801a9ca0
mov eax, dword [r14 + r15]
cmp dword [0x180341880], eax
jle 0x18003ab66
lea rcx, [0x180341880]
call fcn.1801a9d00
cmp dword [0x180341880], 0xffffffff
jne 0x18003ab66
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 dword [rsp + 0x28], xmm13
movss dword [rsp + 0x20], xmm10
lea r9, [rbp - 0x60]
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x70]
mov rcx, rsi
call qword [0x180341868]
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x18003aba3
cmp rax, qword [r13]
jne 0x18003aba3
inc ebx
add rdi, 0x18
lea rax, [0x180343134]
cmp rdi, rax
movss xmm9, dword [0x1802714c0]
movss xmm11, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x50]
movss xmm7, dword [rsp + 0x54]
jl 0x18003a8a0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x180271408]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1801a9b50
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x40]
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