Function at 0x10155f60
Capabilities:
Connect pipe
Create pipe

Disassembly:
sub esp, 0x344
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 4]
mov dword [esi + 4], ebx
cmp eax, ebx
je 0x10155faf
push eax
call ebp
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10155f98
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 8]
push eax
call ebp
mov dword [esi + 8], ebx
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x10155faf
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0xc]
push ecx
call ebp
mov dword [esi + 0xc], ebx
cmp dword [0x10272224], ebx
jne 0x10156001
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
push edx
mov dword [0x10272224], 1
mov dword [esp + 0x14], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
je 0x10156001
pop edi
pop esi
pop ebp
mov dword [0x10272228], 1
xor eax, eax
pop ebx
add esp, 0x344
ret 8
cmp dword [0x10272228], ebx
jne 0x10156190
mov edx, dword [str..PipeOCULAR_]
cmp edx, ebx
je 0x10156190
mov ecx, 0x8b
xor eax, eax
lea edi, [esp + 0x126]
mov word [esp + 0x124], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x124]
push edx
push eax
call fcn.10099e71
mov eax, dword [esp + 0x360]
add esp, 8
cmp eax, ebx
je 0x10156067
push 0x104
lea ecx, [esp + 0x128]
push eax
push ecx
call fcn.100a00f2
add esp, 0xc
mov edi, dword [esp + 0x35c]
cmp edi, ebx
jne 0x10156095
call fcn.100f7cc0
push eax
push ebx
push 0x8000
push 0x8000
push 1
push ebx
lea edx, [esp + 0x13c]
push 0x40000003
push edx
jmp 0x101560ba
call fcn.100f7cc0
push eax
push ebx
push 0x1000
push 0x1000
push 0xff
push 6
lea eax, [esp + 0x13c]
push 0x40000003
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x101560da
mov dword [esi + 4], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
push ebx
push ebx
mov dword [esi + 0x18], edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push 1
push ebx
call edi
push ebx
push ebx
push 1
push ebx
mov dword [esi + 8], eax
call edi
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
cmp ecx, ebx
je 0x10156155
cmp eax, ebx
je 0x10156155
lea eax, [esi + 0x1c]
xor ecx, ecx
mov edx, eax
push eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
push edx
mov dword [esi + 0x2c], ecx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x10156140
cmp eax, 0x3e5
je 0x10156140
cmp eax, 0x217
jne 0x10156190
mov eax, 1
pop edi
mov dword [esi + 0x10], eax
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
mov eax, dword [esi + 4]
mov dword [esi + 4], ebx
cmp eax, ebx
je 0x10156190
push eax
call ebp
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10156179
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 8]
push eax
call ebp
mov dword [esi + 8], ebx
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x10156190
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0xc]
push ecx
call ebp
mov dword [esi + 0xc], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8