Function at 0x44c039
Capabilities:
Create process on windows

Disassembly:
push 0xa4
push 0x4621d0
call fcn.0044dd3c
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
cmp dword [ebp + 8], ebx
je 0x44c3ec
mov esi, dword [ebp + 0xc]
cmp esi, ebx
je 0x44c3ec
mov al, byte [esi]
cmp al, 0x77
je 0x44c074
cmp al, 0x72
jne 0x44c3ec
mov al, byte [esi + 1]
cmp al, 0x74
jne 0x44c082
mov ecx, 0x4000
jmp 0x44c08b
cmp al, 0x62
jne 0x44c08b
mov ecx, 0x8000
or ecx, 0x80
push ecx
push 0x400
lea eax, [ebp - 0x3c]
push eax
call fcn.00457ec6
add esp, 0xc
cmp eax, 0xffffffff
je 0x44c3ec
xor edi, edi
cmp byte [esi], 0x77
jne 0x44c0bf
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], ebx
inc edi
mov dword [ebp - 0x24], edi
jmp 0x44c0cc
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
inc edi
push 9
call fcn.0044dc6a
pop ecx
test eax, eax
jne 0x44c0f1
push dword [ebp - 0x3c]
call fcn.0044f8e8
push dword [ebp - 0x38]
call fcn.0044f8e8
pop ecx
pop ecx
xor eax, eax
jmp 0x44c3ef
push 9
call fcn.0044dd0a
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x28]
lea esi, [ebp + esi*4 - 0x3c]
mov eax, dword [esi]
push 2
push edi
push ebx
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp - 0x54]
mov ecx, eax
sar ecx, 5
and eax, 0x1f
lea eax, [eax + eax*8]
mov ecx, dword [ecx*4 + 0x46ffc0]
push dword [ecx + eax*4]
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x44c3b7
push dword [esi]
call fcn.0044f8e8
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x50], ebx
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x24]
push dword [ebp + eax*4 - 0x3c]
call fcn.00457dc1
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x44c3b7
xor edi, edi
call fcn.0044bfe6
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x44c3a4
push str.COMSPEC
call fcn.0044a516
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ebx
jne 0x44c1be
call fcn.00447899
cmp dword [eax], 2
je 0x44c1a8
call fcn.00447899
cmp dword [eax], 0xd
jne 0x44c1be
test byte [0x46f8d1], 0x80
mov eax, str.command.com
jne 0x44c1bb
mov eax, str.cmd.exe
mov dword [ebp - 0x1c], eax
push 0x44
pop esi
push esi
push ebx
lea eax, [ebp - 0xb4]
push eax
call fcn.00446ca0
add esp, 0xc
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x88], 0x100
mov eax, dword [0x46ffc0]
cmp dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x2c]
je 0x44c1f1
mov ecx, dword [eax]
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x34], 1
mov ecx, dword [ebp - 0x2c]
je 0x44c200
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x78], ecx
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x74], eax
push dword [ebp - 0x1c]
call fcn.00445a40
mov edi, eax
push dword [ebp + 8]
call fcn.00445a40
add edi, eax
mov esi, str.__c
push esi
call fcn.00445a40
lea eax, [edi + eax + 1]
push eax
call fcn.00448793
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x48], edi
cmp edi, ebx
je 0x44c3a4
push dword [ebp - 0x1c]
push edi
call fcn.00447c40
push esi
push edi
call fcn.00447c50
push dword [ebp + 8]
push edi
call fcn.00447c50
push ebx
push dword [ebp - 0x1c]
call fcn.0045591c
add esp, 0x20
cmp eax, 0xffffffff
je 0x44c290
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb4]
push eax
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push edi
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x30], eax
jmp 0x44c377
push str.PATH
call fcn.0044a516
mov dword [ebp - 0x40], eax
mov dword [esp], 0x104
call fcn.00448793
pop ecx
mov esi, eax
mov dword [ebp - 0x5c], esi
cmp esi, ebx
jne 0x44c2bf
push edi
call fcn.0044753a
pop ecx
jmp 0x44c3a4
push 0x103
push esi
push dword [ebp - 0x40]
call fcn.00457d52
add esp, 0xc
mov dword [ebp - 0x40], eax
cmp eax, ebx
je 0x44c36d
cmp byte [esi], bl
je 0x44c36d
push esi
call fcn.00445a40
pop ecx
lea edi, [eax + esi - 1]
mov dword [ebp - 0x60], edi
mov al, byte [edi]
cmp al, 0x5c
jne 0x44c305
push 0x5c
push esi
call fcn.004559ea
pop ecx
pop ecx
cmp edi, eax
jmp 0x44c307
cmp al, 0x2f
je 0x44c316
push 0x461e2c
push esi
call fcn.00447c50
pop ecx
pop ecx
push dword [ebp - 0x1c]
call fcn.00445a40
mov edi, eax
push esi
call fcn.00445a40
pop ecx
pop ecx
add edi, eax
cmp edi, 0x104
jae 0x44c36d
push dword [ebp - 0x1c]
push esi
call fcn.00447c50
push ebx
push esi
call fcn.0045591c
add esp, 0x10
cmp eax, 0xffffffff
je 0x44c2bf
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb4]
push eax
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push dword [ebp - 0x48]
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x30], eax
push esi
call fcn.0044753a
pop ecx
mov edi, dword [ebp - 0x48]
push edi
call fcn.0044753a
pop ecx
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x30], ebx
je 0x44c39f
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x44c3e3
mov eax, dword [ebp - 0x44]
mov dword [eax], ebx
push dword [ebp - 0x20]
call fcn.004474e4
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x50], ebx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x28]
shl eax, 2
cmp dword [ebp + eax - 0x50], ebx
je 0x44c3cd
push dword [ebp + eax - 0x3c]
call fcn.0044f8e8
pop ecx
mov eax, dword [ebp - 0x24]
shl eax, 2
cmp dword [ebp + eax - 0x50], ebx
je 0x44c3e3
push dword [ebp + eax - 0x3c]
call fcn.0044f8e8
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0044c3f5
mov eax, dword [ebp - 0x20]
call fcn.0044dd77
ret