Function at 0x403630
Capabilities:
Check if file exists
Create process on windows
Query environment variable

Disassembly:
sub esp, 0x384
mov eax, dword [0x59a024]
xor eax, esp
mov dword [esp + 0x380], eax
mov eax, dword [str.start]
mov dl, byte [0x596526]
push esi
push edi
xor esi, esi
push 0x126
mov dword [esp + 0x4c], eax
mov edi, ecx
mov cx, word [0x596524]
lea eax, [esp + 0x53]
push esi
push eax
mov dword [esp + 0x14], esi
mov word [esp + 0x58], cx
mov byte [esp + 0x5a], dl
call fcn.00412eb0
push 0x38
lea ecx, [esp + 0x20]
push esi
push ecx
mov dword [esp + 0x24], 0x3c
call fcn.00412eb0
add esp, 0x18
cmp edi, esi
jne 0x4036b5
pop edi
mov eax, 0xfffffff6
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
push 0x104
lea edx, [esp + 0x17c]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
cmp eax, esi
je 0x403993
cmp eax, 0x104
ja 0x403993
push 0x104
lea eax, [esp + 0x17c]
push eax
lea ecx, [esp + 0x288]
push ecx
call fcn.00409fb0
lea edx, [esp + 0x28c]
push 0x5c
push edx
call fcn.0040aec0
add esp, 0x14
cmp eax, esi
je 0x403699
push ebx
mov byte [eax + 1], 0
call fcn.00407730
test eax, eax
je 0x403765
push 1
lea eax, [esp + 0x288]
push eax
push 0x59603e
lea ecx, [esp + 0x188]
push ecx
push str.open
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor edx, edx
cmp eax, 0x20
setg dl
pop ebx
pop edi
dec edx
and edx, 0xfffffff4
mov esi, edx
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
mov ebx, dword [sym.imp.SHELL32.dll_ShellExecuteExA]
lea edx, [esp + 0x10]
lea eax, [esp + 0x17c]
lea ecx, [esp + 0x284]
push edx
mov dword [esp + 0x18], 0x440
mov dword [esp + 0x20], str.runas
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], 1
call ebx
test eax, eax
je 0x4037be
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebp
mov edi, eax
push edi
push str.failed_to_open_app__error_code_:__ld.
call fcn.00402730
add esp, 8
cmp edi, 2
jne 0x403837
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
lea ecx, [esp + 0x14]
push ecx
mov edi, eax
call ebx
test eax, eax
jne 0x403809
call ebp
push eax
push str.failed_to_open_app__error_code_:__ld.
call fcn.00402730
add esp, 8
mov esi, 0xfffffff3
test edi, edi
je 0x403978
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
pop ebp
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
cmp edi, 3
jne 0x40385c
pop ebp
pop ebx
mov esi, 0xfffffff3
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
cmp edi, 5
jne 0x403881
pop ebp
pop ebx
mov esi, 0xfffffff2
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
cmp edi, 8
jne 0x4038a6
pop ebp
pop ebx
mov esi, 0xfffffff1
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
cmp edi, 0x483
jne 0x403973
lea eax, [esp + 0x180]
push 0x2e
push eax
call fcn.0040aec0
add esp, 8
test eax, eax
je 0x403937
push 4
push str..scr
push eax
call fcn.004196c9
add esp, 0xc
test eax, eax
jne 0x403937
lea eax, [esp + 0x50]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4038e3
sub eax, edx
push 0x104
lea ecx, [esp + 0x184]
push ecx
lea edx, [esp + eax + 0x58]
push edx
call fcn.00409fb0
lea eax, [esp + 0x5c]
add esp, 0xc
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403910
sub eax, edx
lea eax, [esp + eax + 0x50]
push 0x596568
push eax
call fcn.00409b67
lea ecx, [esp + 0x58]
push ecx
call fcn.0040a8d3
add esp, 0xc
jmp 0x40396d
lea eax, [esp + 0x50]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403940
sub eax, edx
push 0x104
lea edx, [esp + 0x184]
push edx
lea eax, [esp + eax + 0x58]
push eax
call fcn.00409fb0
lea ecx, [esp + 0x5c]
push ecx
call fcn.0040a8d3
add esp, 0x10
mov esi, eax
test esi, esi
je 0x403978
mov esi, 0xfffffff0
pop ebp
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x380]
xor ecx, esp
call fcn.00409b58
add esp, 0x384
ret
mov ecx, dword [esp + 0x388]
pop edi
pop esi
xor ecx, esp
mov eax, 0xfffffff5
call fcn.00409b58
add esp, 0x384
ret