Function at 0x61075ec0
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14c
mov eax, dword [ebp + 0xc]
cmp byte [ebp + 0x18], 0
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x12c], eax
mov dword [edx], 0xffffffff
mov dword [ebp - 0x130], edx
mov dword [eax], 0xffffffff
jne 0x61075eff
cmp esi, 0xfff
jbe 0x61075ff0
lea edi, [ebp - 0x128]
lea esi, [esi]
lea edi, [edi]
mov eax, 1
lock xadd dword [0x611450d0], eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [0x61107154]
mov eax, dword [eax]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, str..pipecygwin__p__p
mov dword [esp + 4], eax
call sym.___small_sprintf
test byte [0x6110a820], 1
jne 0x61076000
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov eax, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 0x10], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_CreateNamedPipeA
mov edx, dword [ebp - 0x12c]
sub esp, 0x20
test eax, eax
setne cl
cmp eax, 0xffffffff
mov dword [edx], eax
setne dl
test dl, cl
jne 0x61076048
call sub.KERNEL32.dll_GetLastError
cmp eax, 5
je 0x61076034
cmp eax, 0xe7
jne 0x610760c7
test byte [0x6110a820], 1
je 0x61075f10
mov eax, str.pipe_busy__retrying
mov dword [esp + 0xc], eax
mov eax, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61075f10
mov esi, 0x1000
jmp 0x61075eff
mov dword [esp + 0x14], esi
mov eax, str.CreateNamedPipe:_name__s__size__lu
mov ebx, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 0x10], edi
mov ecx, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61075f4b
test byte [0x6110a820], 1
je 0x61075f10
mov eax, str.pipe_access_denied__retrying
jmp 0x61075fc9
movzx edx, byte [0x6110a820]
test dl, 1
jne 0x610761df
test dl, 1
jne 0x610761af
xor eax, eax
xor esi, esi
mov ebx, 0x40000080
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, 3
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov dword [esp], edi
call sub.KERNEL32.dll_CreateFileA
mov edx, dword [ebp - 0x130]
sub esp, 0x1c
test eax, eax
mov ecx, eax
mov dword [edx], eax
sete dl
cmp eax, 0xffffffff
sete al
or dl, al
jne 0x6107617e
test byte [0x6110a820], 1
jne 0x6107613c
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6110a820], 1
jne 0x61076258
mov dword [esp], esi
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x12c]
call sym.__Z11create_pipePPvS0_P20_SECURITY_ATTRIBUTESm_16
sub esp, 4
test al, al
je 0x61076216
movzx edx, byte [0x6110a820]
test dl, 1
jne 0x61076142
test dl, 1
je 0x610760bd
mov edx, dword [ebp - 0x130]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp], 0x6110a820
mov eax, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov edx, str.pipe_write_handle__p
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x610760bd
mov dword [esp + 0x10], ecx
jmp 0x61076113
mov edx, dword [ebp - 0x12c]
mov ecx, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov ebx, str.pipe_read_handle__p
mov eax, dword [edx]
mov edx, 0x40
mov dword [esp + 4], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx edx, byte [0x6110a820]
jmp 0x61076102
call sub.KERNEL32.dll_GetLastError
test byte [0x6110a820], 1
mov ebx, eax
jne 0x61076288
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], edi
mov eax, str.CreateFile:_name__s
mov dword [esp + 0xc], eax
mov eax, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61076061
mov dword [esp + 0x10], eax
mov edx, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov ecx, str.pipe_read_handle__p
mov dword [esp + 8], edx
mov eax, 0x40
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx edx, byte [0x6110a820]
jmp 0x61076058
call sub.KERNEL32.dll_GetLastError
test byte [0x6110a820], 1
mov ebx, eax
je 0x610761a5
mov dword [esp], 0x6110a820
mov eax, str.CreatePipe_failed___E
mov dword [esp + 0xc], eax
mov eax, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, ebx
jmp 0x610761a7
mov dword [esp + 0x10], esi
mov eax, str.CreateNamedPipe_failed__resorting_to_CreatePipe_size__lu
mov edi, 0x40
mov dword [esp + 0xc], eax
mov eax, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x610760d4
mov dword [esp], 0x6110a820
mov edi, str.CreateFile_failed___E
mov esi, str.static_int_fhandler_pipe::create_selectable__SECURITY_ATTRIBUTES__void__void__DWORD__bool_
mov dword [esp + 0xc], edi
mov ecx, 0x40
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61076192