Function at 0x43f380
Capabilities:
Create pipe
Create process on windows
Create process suspended
Create reverse shell
Create two anonymous pipes

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov edx, dword [ebp + 0x28]
cmp dword [edx + 0x428], 5
jne 0x43f45c
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x10]
lea esi, [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004070b0
mov dword [esp + 4], eax
mov edi, eax
mov dword [esp], str.Starting_local_proxy_command:__s
call fcn.00403e90
mov dword [esp + 4], eax
mov ebx, eax
mov dword [esp], 0
call fcn.0043b570
mov dword [esp], ebx
call fcn.00403f40
mov dword [esp], 1
mov eax, 0x20
mov dword [esp + 4], eax
call fcn.00403a80
mov dword [eax], 0x456370
mov ebx, eax
mov eax, dword [ebp + 0x24]
mov dword [ebx + 0x14], 0
mov dword [ebp - 0x28], 0xc
mov dword [ebx + 0x18], eax
xor eax, eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 1
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.KERNEL32.dll_CreatePipe
sub esp, 0x10
test eax, eax
jne 0x43f464
mov dword [esp], str.Unable_to_create_pipes_for_proxy_command
call fcn.00403e90
mov dword [ebx + 0x14], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], esi
xor eax, eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call sub.KERNEL32.dll_CreatePipe
sub esp, 0x10
test eax, eax
jne 0x43f4c0
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov dword [esp], str.Unable_to_create_pipes_for_proxy_command
call fcn.00403e90
mov dword [ebx + 0x14], eax
jmp 0x43f45a
xor eax, eax
mov esi, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp], eax
call sub.KERNEL32.dll_SetHandleInformation
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov edx, 1
sub esp, 0xc
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.KERNEL32.dll_SetHandleInformation
mov dword [ebp - 0x78], 0x44
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x4c], 0x100
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x88]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, 0x8000020
mov dword [esp + 0x14], eax
mov eax, 1
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov word [ebp - 0x46], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], 0
call sub.KERNEL32.dll_CreateProcessA
mov eax, dword [ebp - 0x98]
sub esp, 0x28
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x94]
sub esp, 4
mov ecx, 0x43f1d0
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebx + 8], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.0043be30
mov dword [ebx + 0x10], eax
xor edx, edx
mov eax, 0x43f260
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0043bf40
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0043d830
jmp 0x43f45a