Function at 0x100501a0
Capabilities:
Create pipe
Create two anonymous pipes
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
push ebx
push esi
push edi
mov edi, ecx
cmp byte [edi + 4], 0
jne 0x10050340
lea eax, [ebp - 0x20]
mov dword [ebp - 0xc], 0xc
push 1
push eax
mov dword [ebp - 4], 0
mov dword [ebp - 8], eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
call fcn.100be280
cmp eax, 9
jl 0x10050221
push 0
lea eax, [ebp - 8]
push eax
push 1
push str.D:_A__GA___WD__A__GA___AN_S:_ML__NW___S_1_16_0_
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW
test eax, eax
jne 0x10050221
push str.bLowIntegrityACL
push 0xb1
push str.C:_buildworker_steam_rel_client_win32_build_srccommonprocesspipe_any.cpp
call fcn.100ad9f0
add esp, 0xc
test al, al
jne 0x10050221
int3
push dword [ebp + 8]
cmp byte [ebp + 0xc], 0
mov eax, 0x1024cb86
mov ebx, str.Global_
cmove ebx, eax
lea eax, [ebp - 0x228]
push ebx
push str._s_s_SharedMemFile
push 0x104
push eax
call fcn.100bb550
add esp, 0x14
lea eax, [ebp - 0x228]
push eax
push 0x400
push 0
push 4
lea eax, [ebp - 0xc]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xac], eax
test eax, eax
jne 0x100502af
call esi
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x124]
push str.CreateFileMapping__s__returned_NULL__errno_d_
push eax
call fcn.10048e00
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call esi
push eax
push str.CreateFileMapping_returned_NULL__errno_d_
push 0xbb
jmp 0x1005032e
call esi
cmp eax, 0xb7
jne 0x100502e8
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x124]
push str.CreateFileMapping_succeeded__but_the_object___s__already_existed___do_we_have_two_IPC_servers_with_the_same_name__n
push eax
call fcn.10048e00
push eax
push 0xbf
push str.C:_buildworker_steam_rel_client_win32_build_srccommonprocesspipe_any.cpp
call fcn.100ad9f0
add esp, 0x18
test al, al
jne 0x100502e8
int3
push 0
push 0
push 0
push 0xf001f
push dword [edi + 0xac]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
jne 0x1005034b
call esi
push eax
lea eax, [ebp - 0x124]
push str.MapViewOfFile_returned_NULL__errno_d_
push eax
call fcn.10048e00
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call esi
push eax
push str.MapViewOfFile_returned_NULL__errno_d_
push 0xc6
push str.C:_buildworker_steam_rel_client_win32_build_srccommonprocesspipe_any.cpp
call fcn.100ada00
add esp, 0x10
test al, al
jne 0x10050340
int3
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push dword [ebp + 8]
mov dword [edi + 0xb0], eax
lea eax, [ebp - 0x32c]
push ebx
push str._s_s_SharedMemLock
push 0x104
push eax
call fcn.100bb550
add esp, 0x14
lea eax, [ebp - 0x32c]
push eax
push 0
push 0
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 0xb4], eax
test eax, eax
jne 0x100503c4
call esi
push eax
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x124]
push str.CreateEvent__s__returned_NULL__errno_d_
push eax
call fcn.10048e00
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call esi
push eax
push str.CreateEvent_returned_NULL__errno_d_
push 0xd3
jmp 0x1005032e
call esi
cmp eax, 0xb7
jne 0x100503fd
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x124]
push str.CreateEvent_succeeded__but_the_object___s__already_existed___do_we_have_two_IPC_servers_with_the_same_name__n
push eax
call fcn.10048e00
push eax
push 0xd7
push str.C:_buildworker_steam_rel_client_win32_build_srccommonprocesspipe_any.cpp
call fcn.100ad9f0
add esp, 0x18
test al, al
jne 0x100503fd
int3
mov esi, dword [sym.imp.KERNEL32.dll_CreatePipe]
lea eax, [ebp - 0xc]
push 0x2000
push eax
lea eax, [edi + 0xa8]
push eax
lea eax, [edi + 0x94]
push eax
call esi
push 0x2000
lea eax, [ebp - 0xc]
push eax
lea eax, [edi + 0x98]
push eax
lea eax, [edi + 0xa4]
push eax
call esi
mov eax, dword [ebp + 0x10]
mov ecx, edi
mov dword [edi + 0xc], eax
mov byte [edi + 4], 1
call fcn.10050a60
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14