Function at 0x448f28
Capabilities:
Accept command line arguments
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2078
call fcn.00463310
mov eax, dword [0x4a0590]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, str.runas
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push 0x38
mov dword [ebp - 0x201c], eax
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x2054]
push ebx
push eax
mov dword [ebp - 0x2018], ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2058], ebx
call fcn.0045f360
add esp, 0xc
xor eax, eax
push 0xffe
mov word [ebp - 0x1014], ax
lea eax, [ebp - 0x1012]
push ebx
push eax
call fcn.0045f360
add esp, 0xc
mov esi, 0x400
push esi
lea eax, [ebp - 0x2014]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x1814]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0x22
mov esi, eax
pop eax
push 2
pop ecx
cmp ax, word [esi]
jne 0x448fe5
add esi, ecx
movzx eax, word [esi]
cmp ax, bx
je 0x449023
push 0x22
pop edx
cmp dx, ax
je 0x448fe5
add esi, ecx
movzx eax, word [esi]
cmp ax, bx
jne 0x448fd3
movzx eax, word [esi]
cmp ax, bx
je 0x449023
push 0x20
pop edx
cmp dx, ax
je 0x44901b
push 9
pop edx
cmp dx, ax
je 0x44901b
add esi, ecx
movzx eax, word [esi]
cmp ax, bx
jne 0x448fed
jmp 0x44901b
push 0x20
pop edx
cmp dx, ax
je 0x449019
push 9
pop edx
cmp dx, ax
jne 0x449023
add esi, ecx
movzx eax, word [esi]
cmp ax, bx
jne 0x449009
push esi
mov ebx, 0x800
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d11
add esp, 0xc
mov edi, 0x47ef94
push edi
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d80
mov eax, dword [ebp - 0x201c]
add esp, 0xc
test eax, eax
je 0x449081
cmp word [eax], 0
je 0x449081
push eax
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d80
add esp, 0xc
push edi
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d80
add esp, 0xc
mov edi, str._relaunch
push edi
push esi
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x4490de
push edi
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d80
add esp, 0xc
call fcn.004441a6
push eax
lea edi, [ebp - 0x2078]
call fcn.0043bb24
cmp dword [eax + 0x18], 8
jb 0x4490bf
mov eax, dword [eax + 4]
jmp 0x4490c2
add eax, 4
push eax
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00455d80
add esp, 0xc
lea eax, [ebp - 0x2078]
call fcn.0043b39a
lea eax, [ebp - 0x14]
mov dword [ebp - 0x204c], eax
lea eax, [ebp - 0x2014]
mov dword [ebp - 0x2048], eax
lea eax, [ebp - 0x1014]
xor esi, esi
mov dword [ebp - 0x2044], eax
push 6
lea eax, [ebp - 0x1814]
push esi
mov dword [ebp - 0x2058], 0x3c
mov dword [ebp - 0x2054], 0x40
mov dword [ebp - 0x2050], esi
mov dword [ebp - 0x2040], eax
mov dword [ebp - 0x203c], 1
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x449189
lea eax, [ebp - 0x2058]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x449157
mov dword [ebp - 0x2018], esi
jmp 0x449167
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2018], eax
cmp eax, esi
jne 0x44916f
cmp dword [ebp - 0x2020], esi
je 0x449183
cmp dword [ebp - 0x2020], esi
je 0x449183
push dword [ebp - 0x2020]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2018]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00453655
leave
ret