Function at 0x61076400
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 0x6107643f
cmp esi, 0xfff
jbe 0x61076530
lea edi, [ebp - 0x128]
lea esi, [esi]
lea edi, [edi]
mov eax, 1
lock xadd dword [0x61146f20], eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [0x61109170]
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 [0x6110c854], 1
jne 0x61076540
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 0x61076588
call sub.KERNEL32.dll_GetLastError
cmp eax, 5
je 0x61076574
cmp eax, 0xe7
jne 0x61076607
test byte [0x6110c854], 1
je 0x61076450
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61076450
mov esi, 0x1000
jmp 0x6107643f
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6107648b
test byte [0x6110c854], 1
je 0x61076450
mov eax, str.pipe_access_denied__retrying
jmp 0x61076509
movzx edx, byte [0x6110c854]
test dl, 1
jne 0x6107671f
test dl, 1
jne 0x610766ef
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 0x610766be
test byte [0x6110c854], 1
jne 0x6107667c
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6110c854], 1
jne 0x61076798
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 0x61076756
movzx edx, byte [0x6110c854]
test dl, 1
jne 0x61076682
test dl, 1
je 0x610765fd
mov edx, dword [ebp - 0x130]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp], 0x6110c854
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 0x610765fd
mov dword [esp + 0x10], ecx
jmp 0x61076653
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx edx, byte [0x6110c854]
jmp 0x61076642
call sub.KERNEL32.dll_GetLastError
test byte [0x6110c854], 1
mov ebx, eax
jne 0x610767c8
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x610765a1
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx edx, byte [0x6110c854]
jmp 0x61076598
call sub.KERNEL32.dll_GetLastError
test byte [0x6110c854], 1
mov ebx, eax
je 0x610766e5
mov dword [esp], 0x6110c854
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 0x610766e7
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x61076614
mov dword [esp], 0x6110c854
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 0x610766d2