Function at 0x49db28
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe90
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
movsx eax, byte [ebx]
cmp eax, 0x61
jb 0x49db42
sub eax, 0x20
cmp eax, 0x41
jb 0x49db52
cmp eax, 0x5a
ja 0x49db52
cmp byte [ebx + 1], 0x3a
je 0x49db70
push 0x2f
push ebx
call fcn.0049ca58
add esp, 8
test eax, eax
jne 0x49db70
push 0x5c
push ebx
call fcn.0049ca58
add esp, 8
test eax, eax
je 0x49db75
xor edx, edx
mov dword [ebp + 0x18], edx
xor esi, esi
push 0x5c
push ebx
call fcn.0049cca8
add esp, 8
mov edi, eax
test eax, eax
je 0x49db8b
inc edi
jmp 0x49db8d
mov edi, ebx
push 0x2e
push edi
call fcn.0049cca8
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x49dbf3
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x110]
push edx
push 0x4fb5d1
push ecx
push ebx
call fcn.0049d920
add esp, 0x10
mov edi, eax
test eax, eax
je 0x49dc50
push 0x4fb5d2
mov edx, dword [ebp - 0xc]
push edx
call fcn.0049cb00
add esp, 8
test eax, eax
je 0x49dbec
push 0x4fb5d7
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0049cb00
add esp, 8
test eax, eax
jne 0x49dc50
mov esi, 1
jmp 0x49dc50
mov eax, dword [ebp + 0x18]
lea edx, [ebp - 0x110]
push eax
push str..EXE
push edx
push ebx
call fcn.0049d920
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x49dc50
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x110]
push edx
push str..BAT
push ecx
push ebx
call fcn.0049d920
add esp, 0x10
mov edi, eax
mov esi, eax
test eax, eax
jne 0x49dc50
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x110]
push edx
push str..CMD
push ecx
push ebx
call fcn.0049d920
add esp, 0x10
mov edi, eax
mov esi, eax
test edi, edi
je 0x49dc6a
test esi, esi
je 0x49dc7d
push 0x4fb5eb
call fcn.0049d438
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x49dc7d
call fcn.0049d050
mov dword [eax], 2
or eax, 0xffffffff
jmp 0x49deae
test esi, esi
je 0x49dc9a
mov edx, dword [ebp + 0x10]
push edx
push 0x4fb5f3
mov ecx, dword [ebp - 8]
push ecx
call fcn.0049d9d8
add esp, 0xc
mov ebx, eax
jmp 0x49dcb3
mov eax, dword [ebp + 0x10]
add eax, 4
push eax
push 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
push ecx
call fcn.0049d9d8
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x49dcca
call fcn.0049d050
mov dword [eax], 8
or eax, 0xffffffff
jmp 0x49deae
cmp dword [ebp + 0x14], 0
jne 0x49dcd4
xor edi, edi
jmp 0x49dcfe
mov eax, dword [ebp + 0x14]
push eax
call fcn.0049dac4
pop ecx
mov edi, eax
test eax, eax
jne 0x49dcfe
call fcn.0049d050
mov dword [eax], 8
push ebx
call fcn.00492bf4
pop ecx
or eax, 0xffffffff
jmp 0x49deae
call dword [0x4fb518]
push 0x44
push 0
lea edx, [ebp - 0x160]
push edx
call fcn.004930bc
add esp, 0xc
mov dword [ebp - 0x160], 0x44
mov word [ebp - 0x130], 0xa
cmp dword [0x4f9c90], 0
je 0x49dd69
push 0
call dword [0x4f9c88]
pop ecx
mov word [ebp - 0x12e], ax
movzx ecx, word [ebp - 0x12e]
push ecx
call fcn.00492be4
pop ecx
mov dword [ebp - 0x12c], eax
test eax, eax
je 0x49dce4
mov edx, dword [ebp - 0x12c]
push edx
call dword [0x4f9c88]
pop ecx
mov dword [ebp - 0x11c], 0xc
xor ecx, ecx
lea eax, [ebp - 0x170]
mov dword [ebp - 0x118], ecx
lea edx, [ebp - 0x160]
mov dword [ebp - 0x114], 1
push eax
push edx
push 0
push edi
cmp dword [ebp + 8], 4
mov ecx, 8
je 0x49dda4
add ecx, 0xfffffff8
push ecx
push 1
lea eax, [ebp - 0x11c]
push eax
lea edx, [ebp - 0x11c]
push edx
push ebx
test esi, esi
je 0x49ddbf
mov ecx, dword [ebp - 8]
jmp 0x49ddc5
lea ecx, [ebp - 0x110]
push ecx
call sub.KERNEL32.DLL_CreateProcessA
dec eax
je 0x49de0e
call sub.KERNEL32.DLL_GetLastError
and eax, 0xffff
dec eax
je 0x49ddec
sub eax, 7
je 0x49ddf3
sub eax, 0x51
jne 0x49ddfa
mov esi, 0x2a
jmp 0x49ddff
mov esi, 0x13
jmp 0x49ddff
mov esi, 8
jmp 0x49ddff
mov esi, 0x15
call fcn.0049d050
mov dword [eax], esi
or esi, 0xffffffff
jmp 0x49de9e
mov eax, dword [ebp + 8]
sub eax, 1
jb 0x49de23
je 0x49de5e
dec eax
je 0x49de79
dec eax
sub eax, 2
jb 0x49de52
jmp 0x49de8f
push 0xffffffffffffffff
mov edx, dword [ebp - 0x170]
push edx
call sub.KERNEL32.DLL_WaitForSingleObject
lea ecx, [ebp - 4]
push ecx
mov eax, dword [ebp - 0x170]
push eax
call sub.KERNEL32.DLL_GetExitCodeProcess
mov edx, dword [ebp - 0x170]
push edx
call sub.KERNEL32.DLL_CloseHandle
mov esi, dword [ebp - 4]
jmp 0x49de92
mov eax, dword [ebp - 0x170]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp - 0x170]
push edx
mov ecx, dword [ebp - 0x168]
push ecx
call dword [0x4fb5c8]
add esp, 8
mov esi, eax
jmp 0x49de92
push edi
call fcn.00492bf4
pop ecx
push ebx
call fcn.00492bf4
pop ecx
push 0
call fcn.0049d3e8
pop ecx
or esi, 0xffffffff
mov eax, dword [ebp - 0x16c]
push eax
call sub.KERNEL32.DLL_CloseHandle
push edi
call fcn.00492bf4
pop ecx
push ebx
call fcn.00492bf4
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret