Function at 0x100fcecb
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x1018d0d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov edi, ecx
mov dword [ebp - 0x50], esi
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 8], 7
mov dword [ebp - 0xc], ebx
mov word [ebp - 0x1c], cx
cmp dword [esi + 0x18], ebx
je 0x100fd024
mov ebx, str.Not_Available
push ebx
call fcn.1000a6f0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.1000c2b0
xor eax, eax
push eax
push eax
push eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_GetNamedPipeInfo]
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
inc ebx
test bl, al
je 0x100fcf47
test byte [ebp - 0x4c], bl
je 0x100fcf50
test al, 2
je 0x100fcf96
test byte [ebp - 0x4c], bl
je 0x100fcf96
call fcn.1000af50
cmp eax, ebx
jg 0x100fcf90
push ebx
push 0x12e
push str.k:liebao_src_pool_release.branch_91_src_importipcipc_channel_win.cc
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x40], 8
call fcn.1000afc0
push dword [ebp - 0x3c]
add eax, 8
push str.Inconsistent_open_mode._Mode_:
push eax
call fcn.100025d0
pop ecx
pop ecx
mov ecx, eax
call fcn.10009570
test byte [ebp - 0x40], 8
jmp 0x100fd006
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea eax, [ebp - 0x44]
push 2
push 0
push 0
push eax
call esi
push eax
mov eax, dword [ebp - 0x50]
push dword [eax + 0x18]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x100fd01c
call fcn.1000af50
cmp eax, ebx
jg 0x100fd002
push ebx
push 0x139
push str.k:liebao_src_pool_release.branch_91_src_importipcipc_channel_win.cc
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x40], 0x10
call fcn.1000afc0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esi + 8]
push str.DuplicateHandle_failed._Error_:
push eax
call fcn.100025d0
pop ecx
pop ecx
mov ecx, eax
call fcn.100058d0
test byte [ebp - 0x40], 0x10
je 0x100fd220
lea ecx, [ebp - 0x100]
call fcn.1000b010
jmp 0x100fd220
push dword [ebp - 0x44]
jmp 0x100fd16e
cmp eax, 0xff
jne 0x100fd0a6
lea ecx, [ebp - 0x48]
call fcn.100fcab6
lea eax, [edi + 0x1090]
push eax
lea eax, [ebp - 0x34]
push esi
push eax
call fcn.100fd535
lea ecx, [ebp - 0x1c]
add esp, 0xc
cmp ecx, eax
je 0x100fd057
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000bf70
push ebx
xor ebx, ebx
lea ecx, [ebp - 0x34]
inc ebx
push ebx
call fcn.1000c180
push dword [ebp - 0x48]
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
push 0x1388
cmovae eax, dword [ebp - 0x1c]
mov ecx, 0x1000
push ecx
push ecx
push ebx
push 0
push 0x40080003
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
push eax
lea ecx, [edi + 0x1060]
call fcn.10013db0
lea ecx, [ebp - 0x48]
call fcn.100fcbcb
jmp 0x100fd179
xor ebx, ebx
inc ebx
test bl, al
je 0x100fd116
lea eax, [edi + 0x1090]
push eax
lea eax, [ebp - 0x34]
push esi
push eax
call fcn.100fd535
lea ecx, [ebp - 0x1c]
add esp, 0xc
cmp ecx, eax
je 0x100fd0d2
push 0xffffffffffffffff
push 0
push eax
call fcn.1000bf70
push 0
push ebx
lea ecx, [ebp - 0x34]
call fcn.1000c180
xor edx, edx
mov ecx, 0x1000
cmp dword [edi + 0x1090], edx
push edx
push 0x1388
push ecx
push ecx
setne al
cmp dword [ebp - 8], 8
push ebx
mov byte [edi + 0x107e], al
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push edx
push 0x40080003
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
jmp 0x100fd16d
test al, 2
je 0x100fd179
lea eax, [edi + 0x1090]
push eax
lea eax, [ebp - 0x34]
push esi
push eax
call fcn.100fd535
lea ecx, [ebp - 0x1c]
add esp, 0xc
cmp ecx, eax
je 0x100fd13f
push 0xffffffffffffffff
push 0
push eax
call fcn.1000bf70
push 0
push ebx
lea ecx, [ebp - 0x34]
call fcn.1000c180
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
xor ecx, ecx
push ecx
push 0x40110000
push 3
push ecx
push ecx
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
lea ecx, [edi + 0x1060]
call fcn.10013db0
push dword [edi + 0x1060]
call fcn.10013b40
pop ecx
test al, al
jne 0x100fd226
call fcn.1000af50
mov esi, 0x100
cmp eax, ebx
jg 0x100fd210
mov dword [ebp - 0x40], esi
call sub.KERNEL32.dll_GetLastError
push eax
push ebx
push 0x16d
push str.k:liebao_src_pool_release.branch_91_src_importipcipc_channel_win.cc
lea ecx, [ebp - 0x108]
call fcn.1000b780
add eax, 0x10
push str.Unable_to_create_pipe__
push eax
call fcn.100025d0
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.1000b860
add esp, 0x10
mov edx, str.client
test byte [ebp - 0x3c], bl
mov ecx, str.server
cmove ecx, edx
push str._mode
push ecx
push str.__in
push eax
call fcn.100025d0
pop ecx
pop ecx
push eax
call fcn.100025d0
pop ecx
pop ecx
push eax
call fcn.100025d0
pop ecx
pop ecx
test dword [ebp - 0x40], esi
je 0x100fd220
lea ecx, [ebp - 0x108]
call fcn.1000b7e0
mov byte [ebp - 0x35], 0
jmp 0x100fd2a2
push 0x18
call fcn.1011a4b2
pop ecx
test eax, eax
je 0x100fd246
push 2
push 0xffff
push 0xfffffffffffffffe
mov ecx, eax
call fcn.100f8a77
mov esi, eax
jmp 0x100fd248
xor esi, esi
cmp byte [edi + 0x107e], 0
je 0x100fd255
xor eax, eax
jmp 0x100fd25b
mov eax, dword [edi + 0x1090]
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x44], eax
mov ecx, esi
lea eax, [ebp - 0x44]
push eax
call fcn.10010400
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x100fd287
mov dword [ebp - 0x44], eax
mov ecx, esi
lea eax, [ebp - 0x44]
push eax
call fcn.10010400
or dword [edi + 0x1080], ebx
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x1068]
mov dword [ebp - 0x44], esi
call fcn.100fdbcc
mov byte [ebp - 0x35], bl
push 0
push ebx
lea ecx, [ebp - 0x1c]
call fcn.1000c180
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x35]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1011a3e5
mov esp, ebp
pop ebp
ret 8