Function at 0x1d35a00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0x1e94008]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push esi
push edi
mov edi, dword [0x1ea8634]
mov ebx, ecx
test edi, edi
jne 0x1d35a4d
push 0x1d0
call fcn.01e0626e
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x1d35a45
push 1
mov ecx, eax
call fcn.01d1a990
mov edi, eax
jmp 0x1d35a47
xor edi, edi
mov dword [0x1ea8634], edi
cmp byte [0x1e95399], 0
jne 0x1d35abc
movaps xmm0, xmmword [0x1e7e520]
mov eax, 8
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x1e7e530]
paddd xmm0, xmmword [0x1e7e520]
movups xmmword [esp + 0x28], xmm0
nop dword [eax + eax]
mov dword [esp + eax*4 + 0x18], eax
inc eax
cmp eax, 0xd
jl 0x1d35a80
mov eax, 0xd
lea edx, [esp + 0x18]
xor esi, esi
test eax, eax
je 0x1d35ab5
nop dword [eax]
mov ecx, dword [edx]
lea edx, [edx + 4]
mov al, cl
inc esi
sub al, 0x4c
xor byte [ecx + 0x1e9538c], al
cmp esi, 0xd
jne 0x1d35aa0
mov byte [0x1e95399], 1
mov eax, dword [edi]
push 0x1e461b4
push 0x1e9538c
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edi]
add ecx, edi
mov eax, dword [eax + 4]
call eax
test al, al
jne 0x1d35b72
cmp byte [0x1e95399], al
jne 0x1d35b4b
movaps xmm0, xmmword [0x1e7e520]
mov eax, 8
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x1e7e530]
paddd xmm0, xmmword [0x1e7e520]
movups xmmword [esp + 0x28], xmm0
nop word [eax + eax]
mov dword [esp + eax*4 + 0x18], eax
inc eax
cmp eax, 0xd
jl 0x1d35b10
mov edi, 0xd
lea edx, [esp + 0x18]
xor esi, esi
test edi, edi
je 0x1d35b44
nop dword [eax]
mov ecx, dword [edx]
lea edx, [edx + 4]
mov al, cl
inc esi
sub al, 0x4c
xor byte [ecx + 0x1e9538c], al
cmp esi, edi
jne 0x1d35b30
mov byte [0x1e95399], 1
push 0x1e9538c
push str._s_failed_to_load..._n
call dword [sym.imp.tier0_d.dll_Error]
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1ea8634]
lea edx, [esp + 0x10]
push 0x1e4629c
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [ebx + 0x34], eax
test eax, eax
jne 0x1d35c23
cmp byte [0x1e95399], al
jne 0x1d35bfc
movaps xmm0, xmmword [0x1e7e520]
mov eax, 8
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x1e7e530]
paddd xmm0, xmmword [0x1e7e520]
movups xmmword [esp + 0x28], xmm0
mov dword [esp + eax*4 + 0x18], eax
inc eax
cmp eax, 0xd
jl 0x1d35bc8
mov edi, 0xd
lea edx, [esp + 0x18]
xor esi, esi
test edi, edi
je 0x1d35bf5
mov ecx, dword [edx]
lea edx, [edx + 4]
mov al, cl
inc esi
sub al, 0x4c
xor byte [ecx + 0x1e9538c], al
cmp esi, edi
jne 0x1d35be1
mov byte [0x1e95399], 1
push 0x1e9538c
push str._s_failed_to_location_CreateInterface..._n
call dword [sym.imp.tier0_d.dll_Error]
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret
push 0
push 0x1e4643c
call eax
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
jne 0x1d35cc2
cmp byte [0x1e95399], al
jne 0x1d35c9b
movaps xmm0, xmmword [0x1e7e520]
mov eax, 8
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x1e7e530]
paddd xmm0, xmmword [0x1e7e520]
movups xmmword [esp + 0x28], xmm0
mov dword [esp + eax*4 + 0x18], eax
inc eax
cmp eax, 0xd
jl 0x1d35c67
mov edi, 0xd
lea edx, [esp + 0x18]
xor esi, esi
test edi, edi
je 0x1d35c94
mov ecx, dword [edx]
lea edx, [edx + 4]
mov al, cl
inc esi
sub al, 0x4c
xor byte [ecx + 0x1e9538c], al
cmp esi, edi
jne 0x1d35c80
mov byte [0x1e95399], 1
push 0x1e9538c
push str._s_cant_get_interface_ISteamClient..._n
call dword [sym.imp.tier0_d.dll_Error]
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x34]
push 0
push 0x1e4644c
call eax
add esp, 8
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x1d35d72
cmp byte [0x1e95399], al
jne 0x1d35d4b
movaps xmm0, xmmword [0x1e7e520]
mov eax, 8
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x1e7e530]
paddd xmm0, xmmword [0x1e7e520]
movups xmmword [esp + 0x28], xmm0
nop dword [eax]
mov dword [esp + eax*4 + 0x18], eax
inc eax
cmp eax, 0xd
jl 0x1d35d10
mov edi, 0xd
lea edx, [esp + 0x18]
xor esi, esi
test edi, edi
je 0x1d35d44
nop dword [eax]
mov ecx, dword [edx]
lea edx, [edx + 4]
mov al, cl
inc esi
sub al, 0x4c
xor byte [ecx + 0x1e9538c], al
cmp esi, edi
jne 0x1d35d30
mov byte [0x1e95399], 1
push 0x1e9538c
push str._s_cant_get_interface_IP2PVoiceSingleton..._n
call dword [sym.imp.tier0_d.dll_Error]
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1ea8634]
lea edx, [esp + 0x10]
push 0x1e46464
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [0x1ea8634]
lea edx, [esp + 0x14]
push 0x1e4635c
push edx
mov eax, dword [eax]
mov dword [ebx + 0x38], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [0x1ea8634]
lea edx, [esp + 0x10]
push 0x1e4647c
push edx
mov eax, dword [eax]
mov dword [ebx + 0x3c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
mov eax, dword [eax]
mov dword [ebx + 0x40], eax
mov al, 1
pop ebx
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret