Function at 0x4050d0
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x416857
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x4262b8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0xb0], 0
push 0x406840
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea ecx, [ebp - 0xb4]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 1
call dword [sym.imp.FSUTIL.dll_public:_class_AFilePath____thiscall_AFilePath::GetExecutableDir_void_]
push str.apploc.dll
lea ecx, [ebp - 0xb4]
call dword [0x4180f8]
lea ecx, [ebp - 0xb4]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
mov dword [0x426f88], esi
test esi, esi
je 0x405173
call sub.mfc140.dll_Ordinal_2241
mov dword [eax + 0xc], esi
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
push eax
call fcn.004066d0
add esp, 4
test eax, eax
je 0x4051d3
push 0xffffffffffffffff
push 4
push 0x87f
call sub.mfc140.dll_Ordinal_2297
cmp eax, 6
jne 0x4051d3
push 0xffffffffffffffff
push 4
push 0x880
call sub.mfc140.dll_Ordinal_2297
cmp eax, 6
jne 0x4051d3
push dword [ebp - 0xa8]
push 1
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x4051d3
push 1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.00413d80
call sub.mfc140.dll_Ordinal_2301
test eax, eax
jne 0x405217
push 0xffffffffffffffff
push eax
push 0x64
call sub.mfc140.dll_Ordinal_2297
lea ecx, [ebp - 0xb4]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00413da6
mov esp, ebp
pop ebp
ret
push 0
call sub.mfc140.dll_Ordinal_2200
add esp, 4
call sub.mfc140.dll_Ordinal_2251
cmp dword [eax + 0x40], 0
je 0x40523b
call sub.mfc140.dll_Ordinal_2251
mov eax, dword [eax + 0x40]
mov dword [eax + 0x3c], 0xffffffff
lea ecx, [ebp - 0x124]
call fcn.00404430
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call sub.mfc140.dll_Ordinal_11972
lea ecx, [ebp - 0x124]
call fcn.00406820
test eax, eax
je 0x40527b
lea ecx, [ebp - 0x124]
call fcn.00405060
push eax
mov ecx, ebx
call dword [sym.imp.fscore.dll_public:_void___thiscall_AApplication::WaitOnRestart_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char____const__]
push 0
call fcn.0040bb90
mov edi, eax
add esp, 4
test edi, edi
je 0x40646f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
mov esi, eax
cmp esi, 0x100000
jne 0x4052b9
call fcn.00407bf0
test eax, eax
jne 0x4052ec
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
test esi, esi
je 0x4052ec
cmp esi, 0x1000000
je 0x4052d1
cmp esi, 0x2000000
jne 0x406474
push esi
push 0
mov ecx, ebx
call dword [sym.imp.fscore.dll_public:_void___thiscall_AApplication::displayErrorMessage_int__unsigned_long_int_]
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
push str.EXIT_ON_NEW_OS
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [edi]
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, edi
mov byte [ebp - 4], 7
mov dword [ebp - 0xb0], 1
call dword [eax + 0x20]
test eax, eax
je 0x40532e
call dword [sym.imp.FSUTIL.dll_int___cdecl_isOSTooNew_void_]
mov byte [ebp - 0xa9], 1
test eax, eax
jne 0x405335
mov byte [ebp - 0xa9], 0
mov esi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 2
call esi
cmp byte [ebp - 0xa9], 0
jne 0x4052a9
push 0
push 0x4269b8
push 0x42699c
push 0
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
jne 0x405380
push 0x1004
call dword [sym.imp.SAiCloud.dll_int___cdecl_InitCloud_unsigned_long_int_]
add esp, 4
push str.INSTALL_IS_PRODUCTION_MANAGER_ONLY
lea ecx, [ebp - 0xb8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [edi]
mov ecx, 2
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, edi
mov byte [ebp - 4], 8
call dword [eax + 0x20]
test eax, eax
je 0x4053fa
push str.INSTALL_OPTION_EDITOR
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [edi]
mov ecx, 6
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, edi
mov dword [ebp - 4], 9
call dword [eax + 0x20]
mov byte [ebp - 0xa9], 1
test eax, eax
je 0x405401
mov byte [ebp - 0xa9], 0
mov eax, dword [ebp - 0xbc]
test al, 4
je 0x405422
and eax, 0xfffffffb
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xbc], eax
call esi
mov eax, dword [ebp - 0xbc]
and eax, 0xfffffffd
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
call esi
cmp byte [ebp - 0xa9], 0
jne 0x4052a9
push str.FX_Allow_Multiple_Runs
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xa8]
or eax, 8
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x20]
test eax, eax
jne 0x405498
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x98]
mov byte [ebp - 0xa9], 1
test eax, eax
je 0x40549f
mov byte [ebp - 0xa9], 0
and dword [ebp - 0xbc], 0xfffffff7
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 2
call esi
cmp byte [ebp - 0xa9], 0
je 0x405525
lea eax, [ebp - 0xb0]
push eax
call fcn.00409030
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xb
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x405510
push 0xffffffffffffffff
push 0x10
push 0x33d1
call sub.mfc140.dll_Ordinal_2297
lea ecx, [ebp - 0xb0]
call esi
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
call fcn.004090c0
test eax, eax
jne 0x4054ea
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 2
call esi
lea ecx, [ebp - 0xc0]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
push eax
call fcn.00407a80
add esp, 4
lea ecx, [ebp - 0xa8]
push str.FX_CLOUD_SYNC
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
push 0
mov byte [ebp - 4], 0xd
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x20]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0xc
call esi
cmp dword [ebp - 0xb8], 0
je 0x4055b6
lea ecx, [ebp - 0xc0]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
push eax
call dword [sym.imp.FSUTIL.dll_int___cdecl_startCheckForUpdate_int__int_]
add esp, 8
test eax, eax
jne 0x405a5b
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.fscore.dll_public:_static_class_AString___cdecl_AConfig::getAppVersion_void_]
add esp, 4
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 0xe
push eax
call dword [sym.imp.fscore.dll_public:_static_class_AString___cdecl_AConfig::getAppName_void_]
add esp, 4
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0x78]
push str._s__s
push eax
call fcn.00407e20
add esp, 0x10
lea ecx, [ebp - 0xc4]
call esi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xc
call esi
push dword [ebx + 0x50]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, dword [0x427590]
add esp, 8
mov dword [ebx + 0x50], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x427120]
cmp eax, dword [ecx + 4]
jle 0x4056ae
push 0x427120
call fcn.00414195
add esp, 4
cmp dword [0x427120], 0xffffffff
jne 0x4056ae
push str.Amiable
mov ecx, 0x42711c
mov byte [ebp - 4], 0x10
call dword [sym.imp.mfc140.dll_Ordinal_310]
push 0x417de0
call fcn.0041402f
push 0x427120
mov byte [ebp - 4], 0xc
call fcn.00414156
add esp, 8
mov ecx, 0x42711c
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, ebx
call sub.mfc140.dll_Ordinal_13830
push dword [ebx + 0x6c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp - 0xe4], 0xffffffff
lea ecx, [ebp - 0xa8]
push str.Package_ID
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xe4]
or eax, 0x10
mov byte [ebp - 4], 0x11
push ecx
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0xbc]
test eax, eax
mov dword [ebp - 4], 0xc
setne al
mov byte [ebp - 0xa9], al
test cl, 0x10
je 0x40574a
and ecx, 0xffffffef
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0xa8]
call esi
mov al, byte [ebp - 0xa9]
test al, al
je 0x4057a5
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0xe4]
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x12
push str.Design__d
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
call eax
add esp, 4
mov dword [ebx + 0x6c], eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x4057b7
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
push str.Design_7
call eax
add esp, 4
mov dword [ebx + 0x6c], eax
push ebx
call dword [sym.imp.FSUTIL.dll_public:_static_void___cdecl_APreferenceManager::initialize_class_CWinApp__]
add esp, 4
push dword [sym.imp.fscore.dll_int_AConfig::m_sAutoUpdates]
push 0
call dword [sym.imp.FSUTIL.dll_public:_static_int___cdecl_APreferenceManager::serializeAutoUpdates_int__int__]
add esp, 8
push 0
call fcn.0040bb90
mov ecx, dword [sym.imp.fscore.dll_int_AConfig::m_sAutoUpdates]
add esp, 4
mov edx, dword [eax]
push dword [ecx]
mov ecx, eax
call dword [edx + 0x64]
push 4
mov ecx, ebx
call sub.mfc140.dll_Ordinal_8421
push 0x12c
call sub.mfc140.dll_Ordinal_1507
add esp, 4
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x405820
mov ecx, eax
call fcn.00408640
mov ecx, eax
mov dword [ebp - 0xc4], eax
jmp 0x405828
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
push 0
push 0
mov dword [ebx + 0x20], ecx
mov eax, dword [ecx]
push 0xcf8000
push 0x80
mov byte [ebp - 4], 0xc
call dword [eax + 0x170]
test eax, eax
je 0x405a5b
push 0xb0
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0xd8], edi
mov byte [ebp - 4], 0x14
test edi, edi
je 0x4058a2
call fcn.004092f0
mov dword [ebp - 0xa8], eax
call fcn.00407f40
mov dword [ebp - 0xb8], eax
call fcn.004082b0
push dword [ebp - 0xa8]
mov ecx, edi
push dword [ebp - 0xb8]
push eax
push 0x81
call fcn.0040abb0
mov edi, eax
jmp 0x4058a4
xor edi, edi
push 6
mov ecx, edi
mov byte [ebp - 4], 0xc
call sub.mfc140.dll_Ordinal_13333
call fcn.00408570
push 0
push eax
push 4
push 5
mov ecx, edi
call sub.mfc140.dll_Ordinal_13872
push edi
mov ecx, ebx
call sub.mfc140.dll_Ordinal_1860
mov ecx, ebx
call sub.mfc140.dll_Ordinal_4440
call fcn.00404600
call dword [sym.imp.FSUTIL.dll_int___cdecl_isWindowsVistaOrLonghorn_void_]
test eax, eax
je 0x4058e9
call fcn.00407850
jmp 0x40590d
push 1
mov ecx, ebx
call sub.mfc140.dll_Ordinal_12479
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x98]
push 0
push 0
push 0
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov ecx, dword [ebx + 0x20]
push 0
call sub.mfc140.dll_Ordinal_4468
cmp dword [ebp - 0xe4], 0
jl 0x405939
push 0
call fcn.0040bb90
add esp, 4
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x34]
test eax, eax
jne 0x405a5b
mov ecx, dword [ebx + 0x20]
push 1
call sub.mfc140.dll_Ordinal_4468
cmp dword [ebp - 0x120], 1
jne 0x405952
call dword [sym.imp.fscore.dll_void___cdecl_ShowSplash_void_]
mov ecx, ebx
call fcn.004077b0
mov eax, dword [ebx + 0x20]
push 1
push dword [eax + 0x20]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov ecx, dword [ebx + 0x64]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405970
sub ecx, edx
cmp ecx, 8
jbe 0x405a18
movzx eax, word [ebx + 0x98]
test ax, ax
je 0x405995
push eax
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
push dword [ebx + 0x64]
lea ecx, [ebp - 0xb8]
call dword [sym.imp.mfc140.dll_Ordinal_310]
push 6
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xb8]
call dword [sym.imp.mfc140.dll_Ordinal_8322]
push 0x41a8c4
push eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x18
push eax
call fcn.004044a0
add esp, 0xc
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xa8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
lea ecx, [ebp - 0xa8]
mov word [ebx + 0x98], ax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp dword [ebp - 0x11c], 0
jne 0x406436
cmp dword [ebp - 0x118], 0
jne 0x406436
push str.SentinelKeyActivator.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x118]
test eax, eax
jne 0x405a73
call dword [sym.imp.fscore.dll_int___cdecl_SplashExists_void_]
test eax, eax
je 0x405a5b
call dword [sym.imp.fscore.dll_void___cdecl_EndSplash_void_]
lea ecx, [ebp - 0xc0]
call esi
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
call dword [sym.imp.fscore.dll_public:_static_class_AApplication____cdecl_AApplication::GetApplication_void_]
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, dword [eax + 0xf0]
call dword [sym.imp.fscore.dll_public:_class_AFilePath___thiscall_AConfig::getTempPath_void_]
push eax
mov byte [ebp - 4], 0x19
call fcn.00404a20
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
mov edi, dword [ebp - 0xc4]
lea eax, [ebp - 0xa4]
push eax
mov ecx, edi
call dword [sym.imp.fscore.dll_public:_int___thiscall_APCMainFrame::readWindowPlacement_struct_tagWINDOWPLACEMENT__]
test eax, eax
je 0x405aec
mov eax, dword [ebp - 0x9c]
cmp eax, 5
je 0x405adc
cmp eax, 3
je 0x405adc
cmp eax, 1
je 0x405adc
cmp eax, 9
jne 0x405aec
lea eax, [ebp - 0xa4]
mov ecx, edi
push eax
call sub.mfc140.dll_Ordinal_14045
jmp 0x405af6
push dword [ebx + 0x4c]
mov ecx, edi
call sub.mfc140.dll_Ordinal_14149
lea eax, [ebp - 0x124]
mov ecx, ebx
push eax
call sub.mfc140.dll_Ordinal_12189
test eax, eax
jne 0x405c16
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0xc8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x110]
xor edi, edi
mov byte [ebp - 4], 0x1b
cmp eax, 1
je 0x405b83
add eax, 0xfffffffe
cmp eax, 1
ja 0x405b70
push 0x2f6d
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
push dword [ebp - 0x10c]
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
jmp 0x405bb9
push 0x2f6e
lea ecx, [ebp - 0xc8]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
jmp 0x405bbc
push 0x2f6c
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
push dword [ebp - 0x10c]
lea ecx, [ebp - 0xb0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
mov edi, 1
add esp, 0xc
lea ecx, [ebp - 0xc8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push 0
push 0
push eax
call sub.mfc140.dll_Ordinal_2298
lea ecx, [ebp - 0xc8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xb0]
test edi, edi
jne 0x405c06
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xc0]
call esi
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
mov byte [ebp - 4], 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x405c25
cmp eax, 1
jne 0x405c3d
call dword [sym.imp.fscore.dll_public:_static_class_AApplication____cdecl_AApplication::GetApplication_void_]
mov ecx, dword [eax + 0xec]
call dword [sym.imp.fscore.dll_public:_void___thiscall_AToolEngine::switchToDefaultTool_void_]
mov eax, dword [ebp - 0x110]
cmp eax, 4
je 0x405c6f
cmp eax, 2
je 0x405c6f
cmp eax, 3
je 0x405c6f
call dword [sym.imp.fscore.dll_public:_static_class_AApplication____cdecl_AApplication::GetApplication_void_]
push 0
push 0x3ea
push 0xc
lea ecx, [eax + 0xcc]
mov eax, dword [ecx]
call dword [eax]
mov dword [ebx + 0x17c], 1
mov ecx, ebx
call dword [sym.imp.fscore.dll_public:_int___thiscall_AApplication::loadProfile_void_]
test eax, eax
je 0x405a5b
call dword [sym.imp.fscore.dll_int___cdecl_SplashExists_void_]
test eax, eax
je 0x405c8f
call dword [sym.imp.fscore.dll_void___cdecl_EndSplash_void_]
mov ecx, edi
call dword [sym.imp.fscore.dll_public:_void___thiscall_APCMainFrame::loadBarState_void_]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x180]
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebp - 0x110]
cmp eax, 4
je 0x405cda
cmp eax, 2
je 0x405cda
cmp eax, 3
je 0x405cda
call dword [sym.imp.fscore.dll_public:_static_class_AApplication____cdecl_AApplication::GetApplication_void_]
push 0
push 0x3f1
push 0xc
lea ecx, [eax + 0xcc]
mov eax, dword [ecx]
call dword [eax]
push 0
mov ecx, ebx
call dword [sym.imp.fscore.dll_public:_class_ADocument____thiscall_AApplication::getDocument_int_]
mov ecx, eax
test ecx, ecx
je 0x405cfc
mov eax, dword [ecx]
push 0
call dword [eax + 4]
test eax, eax
je 0x405cfc
mov ecx, eax
call sub.mfc140.dll_Ordinal_13475
push 0
call fcn.0040bb90
add esp, 4
mov edi, eax
call sub.mfc140.dll_Ordinal_2241
mov edx, dword [edi]
mov ecx, edi
push dword [eax + 0xc]
call dword [edx + 0x90]
test eax, eax
jne 0x405d43
push 0xffffffffffffffff
push eax
push 0x7dc
call sub.mfc140.dll_Ordinal_2297
lea ecx, [ebp - 0xc0]
call esi
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed
push 0
call fcn.0040bb90
add esp, 4
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x84]
test eax, eax
je 0x405ee7
mov edi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
lea ecx, [ebp - 0xa8]
call edi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1c
call edi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x1d
call edi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x1e
call edi
push 0
mov byte [ebp - 4], 0x1f
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xb8]
mov edx, dword [eax]
push 0
push ecx
mov ecx, eax
call dword [edx + 0x78]
push 0
call fcn.0040bb90
add esp, 4
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x74]
push 0
push eax
lea ecx, [ebp - 0xdc]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_ATime::constructor_long_long___int64__]
push 1
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, eax
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_ATime::getDateString_class_AString___int_]
push 0x87a
lea ecx, [ebp - 0xb0]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AString::LoadStringA_unsigned_int_]
lea ecx, [ebp - 0xc8]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xc4], eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
lea ecx, [ebp - 0xb0]
mov edi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push dword [ebp - 0xc4]
push edi
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.FSUTIL.dll_public:_class_AString____cdecl_AString::Format_char_const__]
add esp, 0x10
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push 0
push 0x14
push eax
call sub.mfc140.dll_Ordinal_2298
cmp eax, 6
jne 0x405ec3
mov edi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea ecx, [ebp - 0xc4]
call edi
push str.licensemanager.exe
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x20
call dword [0x4180f8]
lea ecx, [ebp - 0xd8]
call edi
mov ecx, eax
mov byte [ebp - 4], 0x21
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
lea ecx, [ebp - 0xc4]
mov edi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
push 1
push edi
push 0x41a810
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0xd8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0xc4]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0xb0]
call esi
lea ecx, [ebp - 0xc8]
call esi
lea ecx, [ebp - 0xb8]
call esi
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xc
call esi
lea ecx, [ebp - 0xd4]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
mov edi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
lea ecx, [ebp - 0xa8]
push str.FX_HTML_Help_URL
mov byte [ebp - 4], 0x22
call edi
push 0
mov byte [ebp - 4], 0x23
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xd4]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, eax
call dword [edx + 0x18]
lea ecx, [ebp - 0xa8]
call esi
lea ecx, [ebp - 0xf4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xf0]
push eax
call dword [sym.imp.FSUTIL.dll_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______cdecl_getLanguageFolder_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______int__]
add esp, 0xc
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x25
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AString::IsEmpty_void_const]
and dword [ebp - 0xe8], eax
lea ecx, [ebp - 0xa8]
push str.ProductFamily
mov dword [ebp - 0xcc], 2
call edi
push 0
mov byte [ebp - 4], 0x26
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xcc]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, eax
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x25
call esi
lea ecx, [ebp - 0xec]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
push str.FX_Help_File
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x27
call edi
push 0
mov byte [ebp - 4], 0x28
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xec]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, eax
call dword [edx + 0x18]
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x27
call esi
cmp dword [ebp - 0xcc], 1
jne 0x40603b
push str.Flexi_Help.pdf
lea ecx, [ebp - 0xec]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AString::Compare_char_const__const]
mov ecx, dword [ebp - 0xcc]
test eax, eax
mov edx, 2
cmove ecx, edx
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0xd4]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AString::IsEmpty_void_const]
push dword [ebp - 0xe8]
test eax, eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0xf4]
cmove ecx, edx
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push dword [ebp - 0xcc]
call fcn.00407730
add esp, 0xc
lea ecx, [ebp - 0xd4]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push eax
call fcn.004076f0
lea ecx, [ebp - 0xd0]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
push str.AppDataLanguage_
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x29
call dword [0x4180f8]
lea ecx, [ebp - 0xf0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0xd0]
call dword [0x4180f8]
cmp dword [ebp - 0xcc], 2
lea ecx, [ebp - 0xd0]
jne 0x4060d5
push str.PDFHelpFlexiHelp.PDF
jmp 0x4060da
push str.PDFHelpPPSHelp.PDF
call dword [0x4180f8]
push dword [ebx + 0x68]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
lea ecx, [ebp - 0xd0]
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
add esp, 4
mov dword [ebx + 0x68], eax
lea ecx, [ebp - 0xa8]
push str.FX_DATA_COLLECTION
call edi
push 0
mov byte [ebp - 4], 0x2a
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x20]
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x29
mov edi, eax
call esi
test edi, edi
je 0x4061f0
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
push str.FX_Product_Name
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2b
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
push 0
mov byte [ebp - 4], 0x2c
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call dword [edx + 0x18]
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2b
call esi
push 0
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xc0]
mov edi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
mov edx, dword [edi]
mov ecx, edi
mov dword [ebp - 0xd8], eax
call dword [edx + 0x40]
lea ecx, [ebp - 0xa8]
mov edi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AString::operator_char_const__void_const]
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0xd8]
push edi
push eax
push 1
call dword [sym.imp.SAiCloud.dll_int___cdecl_OnStartStop_int__char_const___int__char_const___class_AStringArray_const___class_AStringArray_const___class_AStringArray_const___class_AStringArray_const___class_AStringArray_const__]
add esp, 0x24
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xa8]
call esi
push str.CLOUD_SKIP_LICENSE_CHECKING
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
push 0
mov byte [ebp - 4], 0x2d
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x20]
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x29
mov edi, eax
call esi
test edi, edi
je 0x406235
call dword [sym.imp.FSUTIL.dll_void___cdecl_MakeSureCloudSyncUIRunning_void_]
lea ecx, [ebp - 0xe0]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
push str.URL_SUBSCRIPTION_UPGRADE
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2e
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_char_const__]
mov eax, dword [ebp - 0xbc]
or eax, 0x20
mov byte [ebp - 4], 0x2f
push 0
mov dword [ebp - 0xb0], eax
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xe0]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, eax
call dword [edx + 0x18]
test eax, eax
je 0x4062ba
lea ecx, [ebp - 0xe0]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AString::IsEmpty_void_const]
test eax, eax
jne 0x4062ba
push eax
call fcn.0040bb90
add esp, 4
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x80]
mov byte [ebp - 0xa9], 1
test eax, eax
jne 0x4062c1
mov byte [ebp - 0xa9], 0
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x2e
call esi
cmp byte [ebp - 0xa9], 0
je 0x40631d
push 0
call fcn.0040bb90
add esp, 4
lea ecx, [ebp - 0xd8]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x44]
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov eax, 0x88888889
shr edx, 4
mul edx
shr edx, 5
cmp edx, 0x1e
jg 0x40631d
lea eax, [ebp - 0xe0]
push eax
push edx
call dword [sym.imp.FSUTIL.dll_void___cdecl_DisplaySubscriptionUpgradeOption_int__class_AString_const__]
add esp, 8
mov edi, dword [ebx + 0x48]
mov edx, edi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x406325
sub edx, ecx
lea eax, [edi - 3]
mov ecx, 0x41a9c4
add eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406358
test dl, dl
je 0x406354
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406358
add eax, 2
add ecx, 2
test dl, dl
jne 0x406338
xor eax, eax
jmp 0x40635d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4063a9
mov edx, edi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x406366
sub edx, ecx
lea eax, [edi - 4]
mov ecx, str._vub
add eax, edx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4063a0
test dl, dl
je 0x40639c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4063a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x406380
xor eax, eax
jmp 0x4063a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4063f8
mov edx, edi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4063b0
sub edx, ecx
lea eax, [edi - 3]
mov ecx, 0x41a9c4
add eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4063e3
test dl, dl
je 0x4063df
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4063e3
add eax, 2
add ecx, 2
test dl, dl
jne 0x4063c3
xor ecx, ecx
jmp 0x4063e8
sbb ecx, ecx
or ecx, 1
xor eax, eax
test ecx, ecx
sete al
push eax
call fcn.00407b80
add esp, 4
lea ecx, [ebp - 0xe0]
call esi
lea ecx, [ebp - 0xd0]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0xec]
call esi
lea ecx, [ebp - 0xf0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xf4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xd4]
call esi
jmp 0x406446
call dword [sym.imp.fscore.dll_int___cdecl_SplashExists_void_]
test eax, eax
je 0x406446
call dword [sym.imp.fscore.dll_void___cdecl_EndSplash_void_]
lea ecx, [ebp - 0xc0]
call esi
lea ecx, [ebp - 0x124]
call fcn.00404460
lea ecx, [ebp - 0xb4]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
mov eax, 1
jmp 0x4051fb
mov esi, 0x200000
call fcn.0040c130
test eax, eax
jne 0x4052d1
push 0xffffffffffffffff
push eax
push 0x336c
call sub.mfc140.dll_Ordinal_2297
mov ebx, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea ecx, [ebp - 0xb0]
call ebx
mov esi, dword [reloc.FSUTIL.dll___YAFilePath__QAEAAV0_PBD_Z]
lea ecx, [ebp - 0xb0]
push str.licensemanager.exe
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0xa8]
call ebx
push str.license
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AFilePath::exists_void_const]
lea ecx, [ebp - 0xd8]
test eax, eax
je 0x406508
call ebx
mov ecx, eax
mov byte [ebp - 4], 5
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
lea ecx, [ebp - 0xb0]
mov esi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
push 1
push esi
push 0x41a810
jmp 0x406529
call ebx
mov ecx, eax
mov byte [ebp - 4], 6
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
lea ecx, [ebp - 0xb0]
mov esi, eax
call dword [sym.imp.FSUTIL.dll_public:_char_const____thiscall_AFilePath::operator_char_const__void_]
push 1
push esi
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0xd8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0xa8]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0xb0]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0x124]
call fcn.00404460
jmp 0x4051ed