Function at 0x404b1c
Capabilities:
Create process on windows

Disassembly:
push ebp
push ebx
xor eax, eax
push eax
push dword [esp + 0x10]
push dword [0x45a1e8]
call fcn.0040d051
and eax, eax
je 0x404e1c
call fcn.00402c18
push 0xffffffff
push dword [esp + 0x14]
call fcn.0040391a
mov ebp, dword [0x45a1ec]
cmp dword [ebp + 0x24], 0
je 0x404c53
push dword [0x45a460]
mov edx, 0x458040
push edx
call fcn.00412380
push dword [0x45a460]
push dword [0x45a460]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x20]
call fcn.00409356
pop eax
mov edx, str.__r_n_r_n_
push edx
call fcn.00412380
lea eax, [esp + 4]
push eax
call fcn.00412300
mov ebx, dword [ebp + 0x24]
cmp ebx, 2
jne 0x404bb7
push dword [ebp + 8]
call fcn.00410a70
and eax, eax
je 0x404bb7
mov eax, 1
jmp 0x404bb9
xor eax, eax
and eax, eax
je 0x404c33
push dword [0x45a120]
call fcn.00406964
and eax, eax
je 0x404c33
mov ebp, dword [0x45a1ec]
push dword [ebp + 8]
call fcn.004069a2
and eax, eax
je 0x404c2e
push dword [0x45a460]
push dword [0x45a460]
push dword [esp + 8]
mov eax, str.warntext
push eax
call fcn.00406a96
lea eax, [esp + 4]
push eax
call fcn.00412300
push dword [0x45a460]
push dword [0x45a460]
mov eax, 0x45865c
push eax
push dword [0x45a1b0]
push dword [esp + 0x10]
call fcn.00410ee0
lea eax, [esp + 4]
push eax
call fcn.00412300
call fcn.00406bbf
push 4
push dword [esp + 4]
mov eax, 0x45875e
push eax
call fcn.004055aa
mov ebx, eax
cmp ebx, 7
jne 0x404c53
jmp 0x404e1e
mov ebp, dword [0x45a1ec]
push dword [ebp + 0xc]
mov edx, str.Exit
pop ecx
call fcn.00405110
je 0x404c6e
jmp 0x4025e1
cmp dword [0x45a0b8], 0
je 0x404c87
push 0
push dword [0x45a134]
call fcn.004073e6
mov eax, 0x458048
push eax
mov ebp, dword [0x45a1ec]
push dword [ebp + 0xc]
call fcn.00410b30
and eax, eax
je 0x404ce7
push dword [0x45a460]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0xc]
call fcn.00403be4
lea eax, [esp + 4]
push eax
call fcn.00412300
push dword [esp]
call fcn.00410a70
and eax, eax
je 0x404ce7
mov edx, dword [esp]
push dword [0x45a460]
push edx
call fcn.00412380
mov ebp, dword [0x45a1ec]
lea eax, [ebp + 0xc]
push eax
call fcn.00412300
mov eax, 0x458048
push eax
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
call fcn.00410b30
and eax, eax
je 0x404d47
push dword [0x45a460]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
call fcn.00403be4
lea eax, [esp + 4]
push eax
call fcn.00412300
push dword [esp]
call fcn.00410a70
and eax, eax
je 0x404d47
mov edx, dword [esp]
push dword [0x45a460]
push edx
call fcn.00412380
mov ebp, dword [0x45a1ec]
lea eax, [ebp + 0x10]
push eax
call fcn.00412300
mov ebp, dword [0x45a1ec]
cmp dword [ebp + 0x30], 0
je 0x404db1
mov ebp, dword [0x45a1ec]
cmp dword [ebp + 0x34], 0
je 0x404d88
push 0
push dword [0x45a178]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov eax, str.RunAS
push eax
push 0
call sub.SHELL32.dll_ShellExecuteW
jmp 0x404daf
push 1
push dword [0x45a178]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov eax, str.RunAS
push eax
push 0
call sub.SHELL32.dll_ShellExecuteW
jmp 0x404df2
mov ebp, dword [0x45a1ec]
cmp dword [ebp + 0x34], 0
je 0x404ddb
push 2
push dword [0x45a178]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00405ff0
jmp 0x404df2
push dword [0x45a178]
mov ebp, dword [0x45a1ec]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00405fd8
cmp dword [0x45a0b8], 0
je 0x404e0b
push 1
push dword [0x45a134]
call fcn.004073e6
mov ebp, dword [0x45a1ec]
cmp dword [ebp + 0x28], 0
je 0x404e1c
jmp 0x4025e1
xor eax, eax
push dword [esp]
call fcn.004123e0
add esp, 4
pop ebx
pop ebp
ret 4