Function at 0x503a6f
Capabilities:
Create pipe
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55d077
mov eax, dword fs:[0]
push eax
sub esp, 0x17c
mov eax, dword [0x5b93d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax + 0xa0]
test eax, eax
je 0x503b14
push 4
call fcn.0051db13
pop ecx
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x503adf
mov eax, dword [ebp - 0xac]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xbc], eax
jmp 0x503ae6
and dword [ebp - 0xbc], 0
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x124]
call fcn.00405ab3
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.00504a05
lea ecx, [ebp - 0x124]
call fcn.004d3aff
mov ecx, dword [ebp - 0x8c]
add ecx, 0x40
call fcn.00411aa2
movzx eax, al
test eax, eax
je 0x503b8c
push 4
call fcn.0051db13
pop ecx
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x503b57
mov eax, dword [ebp - 0xb0]
and dword [eax], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xc0], eax
jmp 0x503b5e
and dword [ebp - 0xc0], 0
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x128]
call fcn.00405ab3
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.00504a05
lea ecx, [ebp - 0x128]
call fcn.004d3aff
mov ecx, dword [ebp - 0x8c]
add ecx, 0x68
call fcn.00411aa2
movzx eax, al
test eax, eax
je 0x503c04
push 4
call fcn.0051db13
pop ecx
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x503bcf
mov eax, dword [ebp - 0xb4]
and dword [eax], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xc4], eax
jmp 0x503bd6
and dword [ebp - 0xc4], 0
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x12c]
call fcn.00405ab3
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.00504a05
lea ecx, [ebp - 0x12c]
call fcn.004d3aff
lea ecx, [ebp - 0xa4]
call fcn.00504e43
lea ecx, [ebp - 0x98]
call fcn.00504e43
lea ecx, [ebp - 0x94]
call fcn.00504e43
lea ecx, [ebp - 0xa0]
call fcn.00504e43
lea ecx, [ebp - 0x90]
call fcn.00504e43
lea ecx, [ebp - 0x9c]
call fcn.00504e43
mov dword [ebp - 0x120], 0xc
mov dword [ebp - 0x118], 1
and dword [ebp - 0x11c], 0
push 0x5c4a68
lea ecx, [ebp - 0xa8]
call fcn.0040e892
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x503d47
lea ecx, [ebp - 0x98]
call fcn.0040d562
mov dword [ebp - 0x130], eax
lea ecx, [ebp - 0xa4]
call fcn.0040d562
mov dword [ebp - 0x134], eax
push 0
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x130]
push dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x503ce8
push 0
push 1
lea ecx, [ebp - 0x98]
call fcn.00407d38
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
jne 0x503d47
and dword [ebp - 0xe0], 0
lea ecx, [ebp - 0xa8]
call fcn.00410aae
lea ecx, [ebp - 0x9c]
call fcn.00504e99
lea ecx, [ebp - 0x90]
call fcn.00504e99
lea ecx, [ebp - 0xa0]
call fcn.00504e99
lea ecx, [ebp - 0x94]
call fcn.00504e99
lea ecx, [ebp - 0x98]
call fcn.00504e99
lea ecx, [ebp - 0xa4]
call fcn.00504e99
mov eax, dword [ebp - 0xe0]
jmp 0x5043d3
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x503e1d
lea ecx, [ebp - 0xa0]
call fcn.0040d562
mov dword [ebp - 0xe4], eax
lea ecx, [ebp - 0x94]
call fcn.0040d562
mov dword [ebp - 0xe8], eax
push 0
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x503dbe
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.00407d38
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
jne 0x503e1d
and dword [ebp - 0xec], 0
lea ecx, [ebp - 0xa8]
call fcn.00410aae
lea ecx, [ebp - 0x9c]
call fcn.00504e99
lea ecx, [ebp - 0x90]
call fcn.00504e99
lea ecx, [ebp - 0xa0]
call fcn.00504e99
lea ecx, [ebp - 0x94]
call fcn.00504e99
lea ecx, [ebp - 0x98]
call fcn.00504e99
lea ecx, [ebp - 0xa4]
call fcn.00504e99
mov eax, dword [ebp - 0xec]
jmp 0x5043d3
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x503ef3
lea ecx, [ebp - 0x9c]
call fcn.0040d562
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0x90]
call fcn.0040d562
mov dword [ebp - 0xf4], eax
push 0
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x503e94
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00407d38
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
jne 0x503ef3
and dword [ebp - 0xf8], 0
lea ecx, [ebp - 0xa8]
call fcn.00410aae
lea ecx, [ebp - 0x9c]
call fcn.00504e99
lea ecx, [ebp - 0x90]
call fcn.00504e99
lea ecx, [ebp - 0xa0]
call fcn.00504e99
lea ecx, [ebp - 0x94]
call fcn.00504e99
lea ecx, [ebp - 0x98]
call fcn.00504e99
lea ecx, [ebp - 0xa4]
call fcn.00504e99
mov eax, dword [ebp - 0xf8]
jmp 0x5043d3
push 0x10
push 0
lea eax, [ebp - 0x144]
push eax
call fcn.00520810
add esp, 0xc
push 0x44
push 0
lea eax, [ebp - 0x188]
push eax
call fcn.00520810
add esp, 0xc
mov dword [ebp - 0x188], 0x44
lea ecx, [ebp - 0xa4]
call fcn.00407d38
mov dword [ebp - 0x150], eax
lea ecx, [ebp - 0xa0]
call fcn.00407d38
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x9c]
call fcn.00407d38
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.004f1db1
movzx eax, al
test eax, eax
jne 0x503f9e
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.004f1db1
movzx eax, al
test eax, eax
jne 0x503f9e
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x503faf
mov eax, dword [ebp - 0x15c]
or eax, 0x100
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xdc], 0xa
je 0x503fe1
mov eax, dword [ebp - 0x15c]
or eax, 1
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x8c]
mov ax, word [eax + 0xdc]
mov word [ebp - 0x158], ax
push dword [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.004c79d5
lea ecx, [ebp - 0x28]
call fcn.004bcd1a
cmp dword [ebp + 0x10], 0
je 0x5040d2
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc8]
call fcn.00504f27
lea eax, [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0xc8]
call fcn.00504f4a
jmp 0x504038
lea ecx, [ebp - 0xb8]
call fcn.00476b5e
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0041181e
movzx eax, al
test eax, eax
je 0x5040c8
lea ecx, [ebp - 0xb8]
call fcn.00476acc
mov dword [ebp - 0xcc], eax
push 0
mov eax, dword [ebp - 0xcc]
add eax, 0x18
push eax
push 0x3d
push dword [ebp - 0xcc]
lea eax, [ebp - 0x88]
push eax
call fcn.00504a7c
add esp, 0xc
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004c4501
add esp, 0xc
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00504a49
add esp, 0xc
push eax
lea ecx, [ebp - 0x28]
call fcn.00504ef8
lea ecx, [ebp - 0x58]
call fcn.00410a3c
lea ecx, [ebp - 0x70]
call fcn.00410a3c
lea ecx, [ebp - 0x88]
call fcn.00410a3c
jmp 0x50402d
push 0
lea ecx, [ebp - 0x28]
call fcn.00504f0e
mov ecx, dword [ebp + 0xc]
call fcn.0041c807
movzx eax, al
test eax, eax
je 0x5040ea
and dword [ebp - 0xd0], 0
jmp 0x5040f8
mov ecx, dword [ebp + 0xc]
call fcn.0041c138
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0x28]
call fcn.0041c807
movzx eax, al
test eax, eax
je 0x504110
and dword [ebp - 0xd4], 0
jmp 0x504120
push 0
lea ecx, [ebp - 0x28]
call fcn.004b4c0b
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.004f1db1
movzx eax, al
test eax, eax
jne 0x504182
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.004f1db1
movzx eax, al
test eax, eax
jne 0x504182
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.004f1db1
movzx eax, al
test eax, eax
jne 0x504182
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax + 0xd8]
test eax, eax
jne 0x504182
and dword [ebp - 0xd8], 0
jmp 0x50418c
mov dword [ebp - 0xd8], 1
lea ecx, [ebp - 0x40]
call fcn.0041c807
movzx eax, al
test eax, eax
je 0x5041a4
and dword [ebp - 0xdc], 0
jmp 0x5041b4
push 0
lea ecx, [ebp - 0x40]
call fcn.004b4c0b
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x188]
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push 0x8000000
push dword [ebp - 0xd8]
push 0
push 0
push dword [ebp - 0xdc]
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x50426b
and dword [ebp - 0x104], 0
lea ecx, [ebp - 0x28]
call fcn.00410a3c
lea ecx, [ebp - 0x40]
call fcn.00410a3c
lea ecx, [ebp - 0xa8]
call fcn.00410aae
lea ecx, [ebp - 0x9c]
call fcn.00504e99
lea ecx, [ebp - 0x90]
call fcn.00504e99
lea ecx, [ebp - 0xa0]
call fcn.00504e99
lea ecx, [ebp - 0x94]
call fcn.00504e99
lea ecx, [ebp - 0x98]
call fcn.00504e99
lea ecx, [ebp - 0xa4]
call fcn.00504e99
mov eax, dword [ebp - 0x104]
jmp 0x5043d3
push dword [ebp - 0x140]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x5042b9
lea ecx, [ebp - 0x98]
call fcn.0049db48
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe8
call fcn.00407d38
mov ecx, dword [ebp - 0x108]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x5042fb
lea ecx, [ebp - 0x94]
call fcn.0049db48
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe0
call fcn.00407d38
mov ecx, dword [ebp - 0x10c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.004f1db1
movzx eax, al
test eax, eax
je 0x50433d
lea ecx, [ebp - 0x90]
call fcn.0049db48
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0xe4
call fcn.00407d38
mov ecx, dword [ebp - 0x110]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x114], eax
lea ecx, [ebp - 0x28]
call fcn.00410a3c
lea ecx, [ebp - 0x40]
call fcn.00410a3c
lea ecx, [ebp - 0xa8]
call fcn.00410aae
lea ecx, [ebp - 0x9c]
call fcn.00504e99
lea ecx, [ebp - 0x90]
call fcn.00504e99
lea ecx, [ebp - 0xa0]
call fcn.00504e99
lea ecx, [ebp - 0x94]
call fcn.00504e99
lea ecx, [ebp - 0x98]
call fcn.00504e99
lea ecx, [ebp - 0xa4]
call fcn.00504e99
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0051dfa2
leave
ret 0xc