Function at 0x402b74
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x54
push 0x44
mov eax, 0x423276
call fcn.00414b99
push dword [ebp + 0x60]
lea ecx, [ebp + 0x54]
call fcn.00410160
mov esi, dword [ebp + 0x64]
xor ebx, ebx
cmp word [esi], bx
mov dword [ebp - 4], ebx
je 0x402bb2
push 0x425420
lea ecx, [ebp + 0x54]
call fcn.004102d0
push esi
lea ecx, [ebp + 0x54]
call fcn.004102d0
mov edi, dword [ebp + 0x68]
cmp edi, 0xffffffff
jne 0x402c12
push 0x10
lea eax, [ebp + 0x3c]
push ebx
push eax
call fcn.004175b0
push 0x44
pop esi
push esi
lea eax, [ebp - 0x50]
push ebx
push eax
call fcn.004175b0
add esp, 0x18
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x54]
mov dword [ebp - 0x50], esi
call fcn.00410300
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x402c12
mov esi, dword [ebp + 0x3c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x54]
call fcn.004104d0
mov eax, esi
jmp 0x402d8a
mov eax, dword [0x42c044]
test eax, 0x10000
je 0x402c74
test eax, 0x20000
je 0x402c74
push 0x3c
pop esi
push esi
lea eax, [ebp]
push ebx
push eax
call fcn.004175b0
mov eax, dword [0x4306dc]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x10], eax
add esp, 0xc
lea eax, [ebp]
push eax
mov dword [ebp], esi
mov dword [ebp + 4], 0x640
mov dword [ebp + 0xc], str.Install
mov dword [ebp + 0x1c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp edi, ebx
mov esi, dword [ebp + 0x20]
je 0x402c8f
mov eax, dword [ebp + 0x38]
mov dword [edi], eax
jmp 0x402c8f
lea eax, [ebp + 0x54]
push eax
call fcn.00402b20
cmp eax, ebx
pop ecx
je 0x402d21
cmp edi, ebx
je 0x402c8c
mov dword [edi], eax
push 0x21
pop esi
cmp esi, 0x20
ja 0x402bff
lea ecx, [ebp + 0x50]
call fcn.0040ff30
push 0x400
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 2
call fcn.00410450
push dword [ebp + 0x60]
mov ecx, eax
push esi
mov byte [ebp - 4], 3
call fcn.00410300
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004102b0
add esp, 0x10
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 2
call fcn.004104d0
push 0x7d0
lea ecx, [ebp + 0x68]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00410300
push eax
lea ecx, [ebp + 0x50]
call fcn.00410300
push eax
push dword [0x4306dc]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x68]
mov byte [ebp - 4], 2
call fcn.004104d0
lea ecx, [ebp + 0x50]
mov byte [ebp - 4], bl
call fcn.004104d0
jmp 0x402d7c
push ebx
push ebx
lea eax, [ebp + 0x64]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0x7d0
lea ecx, [ebp + 0x4c]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00410300
push eax
push dword [ebp + 0x64]
push dword [0x4306dc]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], bl
call fcn.004104d0
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LocalFree]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x54]
call fcn.004104d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x58
leave
ret