Function at 0x415fe0
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
mov esi, eax
push ebx
sub esp, 0x4c
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
sub esp, 0x10
test eax, eax
je 0x4160c8
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
lea ecx, [edx - 1]
cmp ecx, 0xfffffffd
mov dword [ebp - 0x20], eax
mov eax, edx
mov dword [ebp - 0x24], edx
jbe 0x416120
mov edx, dword [esi]
mov dword [ebp - 0x24], 0
mov dword [esi], eax
test edx, edx
je 0x416069
mov dword [esp], edx
mov ecx, esi
call dbg.handle_deleter::operator()(void*)
sub esp, 4
mov eax, dword [edi]
mov ebx, 1
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
test eax, eax
mov dword [edi], edx
je 0x4160a2
mov dword [esp], eax
mov ecx, edi
call dbg.handle_deleter::operator()(void*)
sub esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4160a2
mov dword [esp], eax
lea ecx, [ebp - 0x20]
call dbg.handle_deleter::operator()(void*)
sub esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], 0
test eax, eax
je 0x4160be
mov dword [esp], eax
lea ecx, [ebp - 0x24]
call dbg.handle_deleter::operator()(void*)
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x1c]
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.android::base::SystemErrorCodeToString(int)
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], str.adb:_CreatePipe_failed:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call dbg.adb_fprintf(_iobuf*, char const*, ::)
mov eax, dword [ebp - 0x1c]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
jne 0x4161a6
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x3c], edx
call sym._try_make_handle_noninheritable_void___clone_.part.43_
mov edx, dword [ebp - 0x3c]
test al, al
mov ebx, eax
jne 0x4161c9
mov dword [ebp - 0x3c], edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.android::base::SystemErrorCodeToString(int)
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 4], str.adb:_cannot_make_handle_0x_p_non_inheritable:__s_n
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], edx
add eax, 0x40
mov dword [esp], eax
call dbg.adb_fprintf(_iobuf*, char const*, ::)
mov eax, dword [ebp - 0x1c]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
je 0x41608d
or edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x41608d
lea eax, [ebp - 0x2d]
mov dword [esp], eax
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push eax
jmp 0x41608d
or edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x41610e
lea eax, [ebp - 0x20]
xor ebx, ebx
mov dword [esp], eax
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push edx
jmp 0x416110
mov eax, dword [ebp - 0x24]
jmp 0x41604d