Function at 0x100372c0
Capabilities:
Connect pipe
Create pipe
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xa074
call fcn.1003aca0
mov eax, dword [0x10096080]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xa02c], 0
mov dword [ebp - 0xa008], 0
mov dword [ebp - 0xa01c], 0
mov dword [ebp - 0xa020], 0
mov dword [ebp - 0xa030], str..pipeAppMonD_DataWindow
push 1
mov ecx, 0x100985d4
call fcn.10037b30
mov ecx, 0x100985d4
call fcn.10037b10
cmp eax, 1
jne 0x10037591
push 0
lea eax, [ebp - 0xa00c]
push eax
push 1
push str.S:_ML__NW___LW_D:_A__0x12019f___WD_
call dword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA]
mov dword [ebp - 0xa044], eax
mov dword [ebp - 0xa018], 0xc
mov ecx, dword [ebp - 0xa00c]
mov dword [ebp - 0xa014], ecx
mov dword [ebp - 0xa010], 1
lea edx, [ebp - 0xa018]
push edx
push 0
push 0x200c
push 0x200c
push 0xff
push 6
push 3
mov eax, dword [ebp - 0xa030]
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov dword [ebp - 0xa01c], eax
cmp dword [ebp - 0xa01c], 0xffffffff
jne 0x1003740b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0xa05c]
push ecx
call fcn.10037880
add esp, 8
mov dword [ebp - 0xa034], eax
mov ecx, dword [ebp - 0xa034]
call fcn.1001b530
push eax
push str.CreateNamedPipe_failed:__s
lea edx, [ebp - 0x5004]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0xa05c]
call fcn.1001b570
call fcn.10032e10
mov dword [ebp - 0xa038], eax
lea eax, [ebp - 0x5004]
push eax
push 0xfffffffffffffff5
mov ecx, dword [ebp - 0xa038]
call fcn.1002d000
or eax, 0xffffffff
jmp 0x100375be
push 0
mov ecx, dword [ebp - 0xa01c]
push ecx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
je 0x1003742a
mov dword [ebp - 0xa028], 1
jmp 0x10037459
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
jne 0x10037443
mov dword [ebp - 0xa024], 1
jmp 0x1003744d
mov dword [ebp - 0xa024], 0
mov edx, dword [ebp - 0xa024]
mov dword [ebp - 0xa028], edx
mov eax, dword [ebp - 0xa028]
mov dword [ebp - 0xa02c], eax
cmp dword [ebp - 0xa02c], 0
je 0x10037575
mov ecx, 0x100985d4
call fcn.10037b10
cmp eax, 1
je 0x100374af
cmp dword [ebp - 0xa01c], 0
je 0x100374a0
cmp dword [ebp - 0xa01c], 0xffffffff
je 0x100374a0
mov ecx, dword [ebp - 0xa01c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa01c], 0
jmp 0x10037591
lea edx, [ebp - 0xa008]
push edx
push 0
mov eax, dword [ebp - 0xa01c]
push eax
push 0x100375d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xa020], eax
cmp dword [ebp - 0xa020], 0
jne 0x10037566
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0xa074]
push ecx
call fcn.10037880
add esp, 8
mov dword [ebp - 0xa03c], eax
mov ecx, dword [ebp - 0xa03c]
call fcn.1001b530
push eax
push str.CreateThread_failed:__s
lea edx, [ebp - 0xa004]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0xa074]
call fcn.1001b570
mov eax, dword [ebp - 0xa01c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa01c], 0
call fcn.10032e10
mov dword [ebp - 0xa040], eax
lea ecx, [ebp - 0xa004]
push ecx
push 0xfffffffffffffff4
mov ecx, dword [ebp - 0xa040]
call fcn.1002d000
or eax, 0xffffffff
jmp 0x100375be
mov edx, dword [ebp - 0xa020]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1003758c
mov eax, dword [ebp - 0xa01c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa01c], 0
jmp 0x10037315
push 3
mov ecx, 0x100985d4
call fcn.10037b30
cmp dword [ebp - 0xa01c], 0
je 0x100375bc
cmp dword [ebp - 0xa01c], 0xffffffff
je 0x100375bc
mov ecx, dword [ebp - 0xa01c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10039a2f
mov esp, ebp
pop ebp
ret