Function at 0x10022c03
Capabilities:
Terminate process

Disassembly:
push 8
mov eax, 0x1005b7d8
call fcn.100596da
mov esi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov byte [ebp - 4], 2
call sub.mfc90u.dll_AfxGetModuleState
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x14]
push ecx
push eax
call sym.SACOhelper.dll_wchar_t_const____cdecl_GetAppPath_struct_HINSTANCE_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____
pop ecx
pop ecx
call sub.mfc90u.dll_AfxGetModuleState
mov edi, dword [eax + 8]
mov eax, 0x105
push eax
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer_1]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
mov eax, dword [esi + 0x20]
xor edi, edi
cmp eax, edi
je 0x10022c8c
push 1
push 0x54
push eax
call sub.mfc90u.dll_AfxIsValidAddress
test eax, eax
je 0x10022c8c
mov esi, dword [esi + 0x20]
cmp esi, edi
je 0x10022c8c
mov ebx, dword [esi + 0x20]
call sym.SACOhelper.dll_unsigned_long_int___cdecl__winmajor_void_
cmp eax, 5
mov eax, str.runas
ja 0x10022ca0
mov eax, str.open
push 1
push dword [ebp - 0x14]
push dword [ebp + 8]
push dword [ebp - 0x10]
push eax
push ebx
call sym.SACOhelper.dll_public:_static_struct_HINSTANCE______cdecl_CDlgBaseWnd::ShellExecuteW_struct_HWND_____wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___int_
mov esi, eax
add esp, 0x18
cmp esi, 0x20
jle 0x10022d04
cmp byte [ebp + 0xc], 0
je 0x10022d04
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
push edi
test eax, eax
je 0x10022cfe
push edi
push 0x12
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov al, 1
jmp 0x10022d25
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp esi, 0x20
setg al
call fcn.100597b2
ret 8