Function at 0x4a2a50
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe88
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
movsx eax, byte [esi]
cmp eax, 0x61
jb 0x4a2a6d
sub eax, 0x20
cmp eax, 0x41
jb 0x4a2a7d
cmp eax, 0x5a
ja 0x4a2a7d
cmp byte [esi + 1], 0x3a
je 0x4a2a9b
push 0x2f
push esi
call fcn.004a1928
add esp, 8
test eax, eax
jne 0x4a2a9b
push 0x5c
push esi
call fcn.004a1928
add esp, 8
test eax, eax
je 0x4a2aa0
xor edx, edx
mov dword [ebp + 0x18], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
push 0x5c
push esi
call fcn.004a1b80
add esp, 8
mov edi, eax
test eax, eax
je 0x4a2ab9
inc edi
jmp 0x4a2abb
mov edi, esi
push 0x2e
push edi
call fcn.004a1b80
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a2b23
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x118]
push edx
push 0x4d9f51
push ecx
push esi
call fcn.004a2848
add esp, 0x10
mov edi, eax
test eax, eax
je 0x4a2b82
push 0x4d9f52
mov edx, dword [ebp - 0x10]
push edx
call fcn.004a19d0
add esp, 8
test eax, eax
je 0x4a2b1a
push 0x4d9f57
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004a19d0
add esp, 8
test eax, eax
jne 0x4a2b82
mov dword [ebp - 0x14], 1
jmp 0x4a2b82
mov eax, dword [ebp + 0x18]
lea edx, [ebp - 0x118]
push eax
push str..EXE
push edx
push esi
call fcn.004a2848
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x4a2b82
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x118]
push edx
push str..BAT
push ecx
push esi
call fcn.004a2848
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x4a2b82
mov edx, dword [ebp + 0x18]
lea ecx, [ebp - 0x118]
push edx
push str..CMD
push ecx
push esi
call fcn.004a2848
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x14], eax
test edi, edi
je 0x4a2b9e
cmp dword [ebp - 0x14], 0
je 0x4a2bb1
push 0x4d9f6b
call fcn.004a2084
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4a2bb1
call fcn.004a1d58
mov dword [eax], 2
or eax, 0xffffffff
jmp 0x4a2e79
cmp dword [ebp - 0x14], 0
je 0x4a2bd0
mov edx, dword [ebp + 0x10]
push edx
push 0x4d9f73
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004a2900
add esp, 0xc
mov edi, eax
jmp 0x4a2be9
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.004a2900
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x4a2c00
call fcn.004a1d58
mov dword [eax], 8
or eax, 0xffffffff
jmp 0x4a2e79
cmp dword [ebp + 0x14], 0
jne 0x4a2c0d
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x4a2c38
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004a29ec
pop ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4a2c38
call fcn.004a1d58
mov dword [eax], 8
push edi
call fcn.00499fa4
pop ecx
or eax, 0xffffffff
jmp 0x4a2e79
call dword [0x4d9e5c]
push 0x44
push 0
lea edx, [ebp - 0x168]
push edx
call fcn.0049b578
add esp, 0xc
mov dword [ebp - 0x168], 0x44
mov word [ebp - 0x138], 0xa
cmp dword [0x4d8880], 0
je 0x4a2ca1
push 0
call dword [0x4d887c]
pop ecx
mov esi, eax
mov word [ebp - 0x136], si
movzx eax, si
push eax
call fcn.00499f94
pop ecx
mov dword [ebp - 0x134], eax
test eax, eax
je 0x4a2c1e
mov edx, dword [ebp - 0x134]
push edx
call dword [0x4d887c]
pop ecx
mov dword [ebp - 0x124], 0xc
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], 1
test bl, 0x20
je 0x4a2cc9
or esi, 0x10
jmp 0x4a2cd1
test bl, 0x10
je 0x4a2cd1
or esi, 8
test bl, 0x40
je 0x4a2cdc
or esi, 0x200
test bl, 0x80
je 0x4a2ce4
or esi, 4
test bh, 2
je 0x4a2cf1
or esi, 0x800
jmp 0x4a2cfc
test bh, 4
je 0x4a2cfc
or esi, 0x1000
test bh, 8
je 0x4a2d07
or esi, 0x4000000
test bh, 0x20
je 0x4a2d11
or esi, 0x20
jmp 0x4a2d33
test bh, 0x10
je 0x4a2d1b
or esi, 0x40
jmp 0x4a2d33
test bh, 0x40
je 0x4a2d28
or esi, 0x80
jmp 0x4a2d33
test bh, 0x80
je 0x4a2d33
or esi, 0x100
lea eax, [ebp - 0x178]
lea edx, [ebp - 0x168]
push eax
push edx
push 0
lea eax, [ebp - 0x124]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x124]
push ecx
push esi
push 1
push eax
push edx
push edi
cmp dword [ebp - 0x14], 0
je 0x4a2d64
mov ecx, dword [ebp - 0xc]
jmp 0x4a2d6a
lea ecx, [ebp - 0x118]
push ecx
call sub.KERNEL32.DLL_CreateProcessA
dec eax
je 0x4a2db3
call sub.KERNEL32.DLL_GetLastError
and eax, 0xffff
dec eax
je 0x4a2d91
sub eax, 7
je 0x4a2d98
sub eax, 0x51
jne 0x4a2d9f
mov ebx, 0x2a
jmp 0x4a2da4
mov ebx, 0x13
jmp 0x4a2da4
mov ebx, 8
jmp 0x4a2da4
mov ebx, 0x15
call fcn.004a1d58
mov dword [eax], ebx
or esi, 0xffffffff
jmp 0x4a2e66
cmp ebx, 0x10
jne 0x4a2dbd
mov ebx, 4
mov eax, ebx
and eax, 7
sub eax, 1
jb 0x4a2dd4
je 0x4a2e19
dec eax
je 0x4a2e34
dec eax
sub eax, 2
jb 0x4a2e08
jmp 0x4a2e4d
push 0xffffffffffffffff
mov edx, dword [ebp - 0x178]
push edx
call sub.KERNEL32.DLL_WaitForSingleObject
lea ecx, [ebp - 4]
push ecx
mov eax, dword [ebp - 0x178]
push eax
call sub.KERNEL32.DLL_GetExitCodeProcess
test bh, 1
jne 0x4a2e03
mov edx, dword [ebp - 0x178]
push edx
call sub.KERNEL32.DLL_CloseHandle
mov esi, dword [ebp - 4]
jmp 0x4a2e50
test bh, 1
jne 0x4a2e19
mov eax, dword [ebp - 0x178]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp - 0x178]
push edx
mov ecx, dword [ebp - 0x170]
push ecx
call dword [0x4d9f48]
add esp, 8
mov esi, eax
jmp 0x4a2e50
mov eax, dword [ebp - 8]
push eax
call fcn.00499fa4
pop ecx
push edi
call fcn.00499fa4
pop ecx
push 0
call fcn.004a2034
pop ecx
or esi, 0xffffffff
test bl, 0x80
jne 0x4a2e66
test bh, 1
jne 0x4a2e66
mov eax, dword [ebp - 0x174]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp - 8]
push edx
call fcn.00499fa4
pop ecx
push edi
call fcn.00499fa4
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret