Function at 0x4794a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56cc87
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x660038]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [esp + 0x3c]
call fcn.00518f50
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov ecx, dword [ebp + 8]
lea esi, [esp + 0x3c]
call fcn.005187f0
test al, al
je 0x47960f
mov ecx, esi
call fcn.004ad7a0
mov esi, eax
lea eax, [esp + 0x34]
push eax
call fcn.005193d0
mov byte [esp + 0x78], 1
call fcn.00407eb0
push eax
lea ecx, [esp + 0x18]
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 [esp + 0x78], 3
lea ecx, [esp + 0x34]
call fcn.00494b70
lea eax, [esi - 0x810a]
cmp eax, 3
ja case.default.0x479536
jmp dword [eax*4 + 0x479938]
push ebx
push 0x601b78
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find_1]
mov esi, eax
cmp esi, ebx
jge 0x47968b
mov eax, dword [0x677d34]
add eax, 0xf8
call fcn.00403c40
movzx ecx, al
push ecx
lea edx, [esp + 0x17]
push edx
call fcn.0051e010
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
call sub.CommonUI66U.dll_public:_void___thiscall_VUnicodeString::constructor_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___enum_Str::SensitiveState_
mov byte [esp + 0x78], 4
push ebx
push 0x66d6e8
push 0x66d704
push ebx
lea ecx, [esp + 0x38]
push ecx
call fcn.0051ef30
push eax
call sub.MSVCR90.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [esp + 0x24], esi
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x28]
call fcn.00494b70
cmp esi, ebx
jne 0x479637
lea ecx, [esp + 0x24]
call dword [0x5734e4]
mov byte [esp + 0x78], 5
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push str._s_session_is_not_a_valid_session_path
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov ecx, dword [esp + 0x30]
add esp, 0xc
push ebx
push ebx
push ecx
call sub.mfc90u.dll_AfxMessageBox
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x24]
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 byte [esp + 0x78], bl
lea ecx, [esp + 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]
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00519020
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ebx
mov ecx, dword [edi + 0x4d8]
push esi
add ecx, 0x58
xor dl, dl
call fcn.00406a20
lea ecx, [esp + 0x24]
call fcn.004a7b00
mov byte [esp + 0x78], bl
lea ecx, [esp + 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]
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00519020
mov eax, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push esi
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Left]
mov byte [esp + 0x78], 6
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimLeft]
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimRight]
inc esi
push esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid]
mov byte [esp + 0x78], 7
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimLeft]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimRight]
lea ecx, [esp + 0x20]
call dword [0x5734e4]
mov byte [esp + 0x78], 8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call sub.CommonUI66U.dll_wchar_t_const____cdecl_VGetAppName_void_
mov edi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
push eax
lea eax, [esp + 0x2c]
push str._s__S__s__s
push eax
call edi
mov ecx, dword [esp + 0x34]
add esp, 0x14
push ecx
call fcn.0040e720
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4797cc
sub eax, 2
je 0x4797be
sub eax, 1
je 0x4797b0
sub eax, 8
je 0x4797a2
lea ecx, [esp + 0x24]
call dword [0x5734e4]
mov byte [esp + 0x78], 9
push esi
lea edx, [esp + 0x28]
push str.New_session_failed:_unexpected_error___d_
push edx
call edi
mov eax, dword [esp + 0x30]
add esp, 0xc
push ebx
push ebx
push eax
call sub.mfc90u.dll_AfxMessageBox
mov byte [esp + 0x78], 8
lea ecx, [esp + 0x24]
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 byte [esp + 0x78], 7
lea ecx, [esp + 0x20]
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 byte [esp + 0x78], 6
lea ecx, [esp + 0x18]
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 byte [esp + 0x78], 3
lea ecx, [esp + 0x1c]
jmp 0x4795fb
push ebx
push ebx
push str.New_session_failed:_bad_executable
call sub.mfc90u.dll_AfxMessageBox
jmp 0x479776
push ebx
push ebx
push str.New_session_failed:_path_not_found
call sub.mfc90u.dll_AfxMessageBox
jmp 0x479776
push ebx
push ebx
push str.New_session_failed:_file_not_found
call sub.mfc90u.dll_AfxMessageBox
jmp 0x479776
mov byte [esp + 0x78], 7
lea ecx, [esp + 0x20]
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 byte [esp + 0x78], 6
lea ecx, [esp + 0x18]
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 byte [esp + 0x78], 3
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
jmp 0x479652
mov eax, dword [0x677d34]
add eax, 0xf8
call fcn.00403c40
movzx ecx, al
push ecx
lea edx, [esp + 0x17]
push edx
call fcn.0051e010
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x34]
call sub.CommonUI66U.dll_public:_void___thiscall_VUnicodeString::constructor_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___enum_Str::SensitiveState_
mov byte [esp + 0x78], 0xa
push ebx
push 0x66d6e8
push 0x66d704
push ebx
lea ecx, [esp + 0x3c]
push ecx
call fcn.0051ef30
push eax
call sub.MSVCR90.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [esp + 0x24], esi
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x2c]
call fcn.00494b70
cmp esi, ebx
jne 0x47987a
lea ecx, [esp + 0x24]
call dword [0x5734e4]
mov byte [esp + 0x78], 0xb
jmp 0x4795ce
push 1
jmp 0x479638
push ebx
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
call sub.CommonUI66U.dll_public:_void___thiscall_VUnicodeString::constructor_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___enum_Str::SensitiveState_
mov byte [esp + 0x78], 0xc
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x34]
call fcn.004a7bb0
add esp, 4
mov esi, eax
mov byte [esp + 0x78], 0xd
mov eax, dword [edi + 0x4d8]
mov edx, dword [eax + 0x58]
lea ecx, [eax + 0x58]
mov eax, dword [edx + 0x28]
call eax
mov ecx, dword [edi + 0x4d8]
push eax
add ecx, 0x58
push ecx
mov edi, esi
call fcn.00406f70
mov byte [esp + 0x78], 0xc
lea ecx, [esp + 0x38]
call fcn.00494b70
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x30]
call fcn.00494b70
jmp 0x479652
push ebx
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x3c]
call sub.CommonUI66U.dll_public:_void___thiscall_VUnicodeString::constructor_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___enum_Str::SensitiveState_
mov byte [esp + 0x78], 0xe
mov edi, dword [edi + 0x4d8]
mov edx, dword [edi + 0x58]
lea ecx, [edi + 0x58]
push ebx
lea eax, [esp + 0x38]
push eax
mov eax, dword [edx + 0x28]
call eax
push eax
call fcn.004609f0
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x34]
call fcn.00494b70
jmp 0x479652