Function at 0x180055920
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rbx, rcx
movabs rcx, 0x1a3d6138a1cd0358
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xd0], rax
lea rdx, str.inputsystem.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xd0], 0
je 0x1800561fa
movabs rcx, 0xc42ec54971fa25c1
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xc0], rax
lea rdx, str.engine2.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xc0], 0
je 0x1800561fa
movabs rcx, 0xb8af6a0487663cb4
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xc8], rax
lea rdx, str.client.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xc8], 0
je 0x1800561fa
movabs rcx, 0xce10821da8cedc31
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xf8], rax
lea rdx, str.tier0.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xf8], 0
je 0x1800561fa
movabs rcx, 0xdb837c95524c6b6d
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xd8], rax
lea rdx, str.schemasystem.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xd8], 0
je 0x1800561fa
movabs rcx, 0x8eeaed60c2c3a461
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xb8], rax
lea rdx, str.sdl3.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xb8], 0
je 0x1800561fa
movabs rcx, 0x86d96613987e6313
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xe8], rax
lea rdx, str.materialsystem.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xe8], 0
je 0x1800561fa
movabs rcx, 0x1c436aee84800cf6
call fcn.180044cb0
mov r8, rax
lea rdx, str.resourcesystem.dll__p_n
lea rcx, [0x1802ecc10]
mov rdi, rax
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
test rdi, rdi
je 0x1800561fa
movabs rcx, 0xd04e811e449588c0
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xf0], rax
lea rdx, str.scenesystem.dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xf0], 0
je 0x1800561fa
movabs rcx, 0x47e2423e7c8b8294
call fcn.180044cb0
mov r8, rax
mov qword [rbx + 0xe0], rax
lea rdx, str.rendersystem_dll__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xe0], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xc8]
movabs r8, 0xa788e87d1ed42c15
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x80], rax
lea rdx, str.Source2Client002__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov rdx, qword [rbx + 0xf8]
movabs r8, 0x77706425f8e64be6
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x88], rax
lea rdx, str.cvar__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x88], 0
je 0x1800561fa
movabs r8, 0x182e5c3b4ee55be4
mov rdx, rdi
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 8], rax
lea rdx, str.resource_system__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 8], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xe8]
movabs r8, 0xa984a01b068cfa5
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x98], rax
lea rdx, str.material_system__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x98], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xc0]
movabs r8, 0x91a0ab713373ae9d
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x78], rax
lea rdx, str.engine_client__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x78], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xd8]
movabs r8, 0x66913ffb374930cb
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x30], rax
lea rdx, str.schema_system__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x30], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xd0]
movabs r8, 0x57093b57783daa7d
mov rcx, rbx
call fcn.1800554d0
mov rdx, qword [rbx + 0xd0]
movabs r8, 0x764e5e0ae0da6cb
mov rcx, rbx
mov qword [rbx + 0x10], rax
call fcn.1800554d0
mov r8, qword [rbx + 0x10]
lea rdx, str.input_system:__p_n
lea rcx, [0x1802ecc10]
mov qword [rbx + 0x18], rax
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov r8, qword [rbx + 0x18]
lea rdx, str.input_stack:__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1800561fa
cmp qword [rbx + 0x10], 0
je 0x1800561fa
mov eax, dword [0x180085158]
xor r11d, r11d
cmp byte [0x18008515d], r11b
movsd xmm0, qword [str.__ER]
mov dword [rsp + 0x28], eax
movzx eax, word [0x18008515c]
mov word [rsp + 0x2c], ax
movsd qword [rsp + 0x20], xmm0
je 0x180055fd1
cmp dword [0x1802ed0e0], 2
mov r8d, r11d
jl 0x180055f95
movdqa xmm2, xmmword [0x18029de40]
mov eax, 4
movdqa xmm4, xmmword [0x180085420]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180084600]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x30], xmm6
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movd xmm5, eax
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180085400]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.__ER]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x18029de60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x180084620]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x20], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x30]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180085400]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x24]
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18029de60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x180084620]
pxor xmm2, xmm0
movd dword [rsp + 0x24], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
mov eax, 0x4d4873ed
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x180055fa0
mov rdi, qword [rsi + 0x30]
test rdi, rdi
je 0x18005602b
movsxd rax, dword [rsi + 0x28]
mov r10d, r11d
test eax, eax
jle 0x18005602b
mov rsi, rax
mov r9, r11
nop dword [rax + rax]
mov rax, qword [rdi + r9*8]
lea r8, [rsp + 0x20]
mov rax, qword [rax]
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180056013
inc rax
test ecx, ecx
jne 0x180056000
test edx, edx
je 0x180056024
inc r10d
inc r9
cmp r9, rsi
jl 0x180055ff0
jmp 0x18005602b
movsxd rax, r10d
mov r11, qword [rdi + rax*8]
mov r8, r11
mov qword [rbx + 0x20], r11
lea rdx, str.mouse_ctx:__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x20], 0
je 0x1800561fa
mov rdx, qword [rbx + 0xc0]
movabs r8, 0x6e0892384088ff60
mov rcx, rbx
call fcn.1800554d0
mov r8, rax
mov qword [rbx + 0x28], rax
lea rdx, str.game_resource_service__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x1800561fa
mov r8, qword [r8 + 0x58]
lea rdx, str.entity_system:__p_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1800561fa
mov rax, qword [rbx + 0xc8]
lea rdx, str.game_trace_manager:__p_n
mov qword [rbx], rcx
lea rcx, [0x1802ecc10]
mov r8, qword [rax + 0x1678690]
mov qword [rbx + 0xb0], r8
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xb0], 0
je 0x1800561fa
mov rax, qword [rbx + 0xc8]
lea rdx, str.csgo_input:__p_n
lea rcx, [0x1802ecc10]
mov r8, qword [rax + 0x16ae6b0]
mov qword [rbx + 0xa8], r8
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0xa8], 0
je 0x1800561fa
mov rax, qword [rbx + 0xc8]
lea rdx, str.view_render:__p_n
lea rcx, [0x1802ecc10]
mov r8, qword [rax + 0x187e4a8]
mov qword [rbx + 0x100], r8
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov r8, qword [rbx + 0x100]
test r8, r8
je 0x1800561fa
mov rax, qword [rbx + 0xc8]
lea rcx, [0x1802ecc10]
mov rdx, qword [rax + 0x17e3a18]
mov qword [rbx + 0x90], rdx
lea rdx, str.game_event_manager:__p_n
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
cmp qword [rbx + 0x90], 0
je 0x1800561fa
mov byte [rbx + 0x108], 1
mov al, 1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov rbx, qword [rsp + 0x50]
xor al, al
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret