Function at 0x40455d
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x424864
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x19c
push 0x10
push 0
lea eax, [ebp - 0x50]
push eax
call fcn.004182a0
add esp, 0xc
push 0x44
push 0
lea eax, [ebp - 0x1a8]
push eax
call fcn.004182a0
add esp, 0xc
mov dword [ebp - 0x1a8], 0x44
and dword [ebp + 0x44], 0
mov dword [ebp + 0x5c], 0x20
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xf000
mov dword [ebp + 0x3c], eax
cmp dword [ebp + 0x3c], 0x2000
je 0x4045db
cmp dword [ebp + 0x3c], 0x8000
je 0x4045e4
jmp 0x4045eb
mov dword [ebp + 0x5c], 0x40
jmp 0x4045eb
mov dword [ebp + 0x5c], 0x80
call fcn.00403f6b
mov ecx, dword [ebp + 0x78]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp + 0x78]
add eax, 0x1c
push eax
push 0x42b48c
lea eax, [ebp - 0x104]
push eax
call fcn.00408402
add esp, 0xc
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x10], eax
and dword [ebp - 4], 0
push 0x42b488
push dword [ebp + 0x10]
lea eax, [ebp - 0x14c]
push eax
call fcn.004084b3
add esp, 0xc
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x78]
add eax, 0x34
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0xd4]
push eax
call fcn.00408503
add esp, 0xc
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x14c]
call fcn.00406627
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x104]
call fcn.00406627
mov eax, dword [ebp + 0x78]
add eax, 0x1c
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0040853b
pop ecx
pop ecx
mov byte [ebp - 4], 5
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040853b
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp + 0x78]
add eax, 0x1c
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x50]
cmp dword [eax + 0x14], 0x10
jb 0x4046d2
mov eax, dword [ebp - 0x58]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
jmp 0x4046d8
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x60], eax
push 0
push dword [ebp + 0x60]
call fcn.0040d000
pop ecx
pop ecx
movzx eax, al
test eax, eax
jne 0x404879
push 0
push 0x431740
mov ecx, dword [ebp + 0x78]
add ecx, 0x1c
call fcn.00405d6a
cmp eax, dword [0x42b5d4]
jne 0x404879
push str.PATH
lea eax, [ebp - 0x164]
push eax
call fcn.0040c7b0
pop ecx
pop ecx
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 7
push 1
push 0x3b
push dword [ebp + 0xc]
lea eax, [ebp]
push eax
call fcn.0040c5a0
add esp, 0x10
mov byte [ebp - 4], 9
push 0
push 1
lea ecx, [ebp - 0x164]
call fcn.00406627
push str.SYSTEMROOT
lea eax, [ebp - 0x80]
push eax
call fcn.0040c7b0
pop ecx
pop ecx
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x6c], 0x10
jb 0x40477b
mov eax, dword [ebp - 0x60]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp + 0x40], eax
jmp 0x404781
lea eax, [ebp - 0x80]
mov dword [ebp + 0x40], eax
push dword [ebp + 0x40]
push str._sSYSTEM32
lea eax, [ebp - 0x134]
push eax
call fcn.0040cbc0
add esp, 0xc
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
mov byte [ebp - 4], 0xb
push dword [ebp + 0x34]
lea ecx, [ebp]
call fcn.00405ed1
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x134]
call fcn.00406627
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp]
call fcn.00405fe8
mov eax, dword [ebp + 0x78]
add eax, 0x1c
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x58]
cmp dword [eax + 0x14], 0x10
jb 0x4047f1
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
mov dword [ebp + 0x48], eax
jmp 0x4047f7
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x48], eax
lea eax, [ebp]
push eax
push 0
push dword [ebp + 0x48]
lea eax, [ebp - 0x11c]
push eax
call fcn.0040d530
add esp, 0x10
mov dword [ebp + 0x30], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x38], eax
mov byte [ebp - 4], 0xc
push dword [ebp + 0x38]
lea eax, [ebp - 0xec]
push eax
call fcn.0040853b
pop ecx
pop ecx
mov dword [ebp + 0x20], eax
push dword [ebp + 0x20]
lea ecx, [ebp - 0x24]
call fcn.00405e1d
push 0
push 1
lea ecx, [ebp - 0xec]
call fcn.00406790
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x11c]
call fcn.00406627
mov byte [ebp - 4], 9
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00406627
mov byte [ebp - 4], 6
lea ecx, [ebp]
call fcn.00406887
mov byte [ebp + 0x6f], 0
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x600
je 0x40497f
call fcn.0040dd20
movzx eax, al
test eax, eax
jne 0x40497f
push 0x3c
push 0
lea eax, [ebp - 0xbc]
push eax
call fcn.004182a0
add esp, 0xc
mov dword [ebp - 0xbc], 0x3c
mov dword [ebp - 0xb8], 0x4140
mov dword [ebp - 0xb0], str.runas
cmp dword [ebp - 0x10], 8
jb 0x4048e4
mov eax, dword [ebp - 0x64]
mov dword [ebp + 0x68], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x68], eax
jmp 0x4048ea
lea eax, [ebp - 0x24]
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x28], 8
jb 0x404907
mov eax, dword [ebp - 0x40]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x64], eax
jmp 0x40490d
lea eax, [ebp - 0x3c]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], 1
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x40496d
cmp dword [ebp - 0x9c], 0x20
jbe 0x40496d
mov byte [ebp + 0x6f], 1
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x44
je 0x40495f
push 0
push dword [ebp - 0x84]
push dword [ebp + 0x78]
call fcn.004043f2
add esp, 0xc
jmp 0x40496b
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 8], ecx
jmp 0x40497f
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x400
je 0x40497f
mov byte [ebp + 0x6f], 1
movzx eax, byte [ebp + 0x6f]
test eax, eax
jne 0x404a29
cmp dword [ebp - 0x28], 8
jb 0x40499f
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x54], eax
jmp 0x4049a5
lea eax, [ebp - 0x3c]
mov dword [ebp + 0x54], eax
cmp dword [ebp - 0x10], 8
jb 0x4049b9
mov eax, dword [ebp - 0x68]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x4c], eax
jmp 0x4049bf
lea eax, [ebp - 0x24]
mov dword [ebp + 0x4c], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x1a8]
push eax
push 0
push 0
push dword [ebp + 0x5c]
push 0
push 0
push 0
push dword [ebp + 0x54]
push dword [ebp + 0x4c]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x404a10
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x44
je 0x404a05
push 0
push dword [ebp - 0x50]
push dword [ebp + 0x78]
call fcn.004043f2
add esp, 0xc
jmp 0x404a0e
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 8], ecx
jmp 0x404a29
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x44], eax
push dword [ebp + 0x44]
push 0
push dword [ebp + 0x78]
call fcn.004043f2
add esp, 0xc
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x18], eax
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x3c]
call fcn.00406790
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.00406790
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406627
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
add ebp, 0x70
leave
ret