Function at 0x51f422
Capabilities:
Connect pipe
Create pipe

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
mov eax, dword [0x7024bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0x10
xor eax, eax
dec eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.004a0f40
mov esi, eax
mov edi, edx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push edi
push esi
push ebx
push eax
push str..pipemojo._lu._lu._I64u
lea ebx, [ebp - 0x28]
push ebx
call fcn.004a8e00
add esp, 0x18
movzx eax, byte [ebp - 0x1d]
mov ecx, ebx
test al, al
jns 0x51f48a
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
push eax
push ecx
lea ebx, [ebp - 0x1c]
push ebx
call fcn.004a9730
add esp, 0xc
cmp byte [ebp - 0x1d], 0
jns 0x51f4a9
push dword [ebp - 0x28]
call fcn.006417be
add esp, 4
mov edi, esp
push eax
mov esi, esp
cmp byte [ebp - 0x11], 0
mov eax, ebx
jns 0x51f4b9
mov eax, dword [ebp - 0x1c]
sub esp, 0x20
xor ebx, ebx
mov dword [esp + 0x1c], ebx
movaps xmm0, xmmword [0x6926c0]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0x1388
mov dword [esp + 0x14], 0x1000
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov dword [esi], ebx
mov ecx, esi
push eax
call fcn.004331da
lea esi, [ebp - 0x28]
mov ecx, esi
call fcn.0051fa4c
mov esp, edi
mov edi, esi
mov esi, dword [ebp - 0x38]
mov ecx, esi
push edi
call fcn.0051fa26
mov ecx, edi
call fcn.0051fa74
mov eax, dword [esi + 4]
inc eax
cmp eax, 1
ja 0x51f538
push 0x49
push str..._.._mojo_public_cpp_platform_platform_channel.cc
push edi
call fcn.0056cb50
add esp, 0xc
mov ecx, edi
call fcn.0056cb20
mov ecx, edi
call fcn.0056cb30
mov edi, esp
mov eax, dword [0x692750]
mov dword [ebp - 0x20], eax
movsd xmm0, qword [0x692748]
movsd qword [ebp - 0x28], xmm0
push eax
mov esi, esp
cmp byte [ebp - 0x11], 0
lea eax, [ebp - 0x1c]
jns 0x51f55e
mov eax, dword [ebp - 0x1c]
push ebx
push 0x40100000
push 3
lea ecx, [ebp - 0x28]
push ecx
push ebx
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi], ebx
mov ecx, esi
push eax
call fcn.004331da
lea ebx, [ebp - 0x30]
mov ecx, ebx
call fcn.0051fa4c
mov esp, edi
mov esi, dword [ebp - 0x34]
mov ecx, esi
push ebx
call fcn.0051fa26
mov ecx, ebx
call fcn.0051fa74
mov esi, dword [esi + 4]
cmp byte [ebp - 0x11], 0
jns 0x51f5b3
push dword [ebp - 0x1c]
call fcn.006417be
add esp, 4
inc esi
cmp esi, 1
ja 0x51f5c2
dec dword [ebp - 0x3c]
jne 0x51f442
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
inc eax
cmp eax, 1
ja 0x51f5ef
lea esi, [ebp - 0x1c]
push 0x59
push str..._.._mojo_public_cpp_platform_platform_channel.cc
push esi
call fcn.0056cb50
add esp, 0xc
mov ecx, esi
call fcn.0056cb20
mov ecx, esi
call fcn.0056cb30
push 0
mov eax, dword [ebp - 0x38]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x51f643
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
jne 0x51f620
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0064180a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea esi, [ebp - 0x1c]
push 0x5e
push str..._.._mojo_public_cpp_platform_platform_channel.cc
push esi
call fcn.0056cb50
add esp, 0xc
mov ecx, esi
call fcn.0056cb20
mov ecx, esi
call fcn.0056cb30
jmp 0x51f60e
int3