Function at 0x4244b0
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473c3b
mov eax, dword fs:[0]
push eax
mov eax, 0x10a0
call fcn.0046b4a0
mov eax, dword [0x4ae44c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x101c]
push eax
mov ecx, esi
mov dword [ebp - 0x107c], edi
mov dword [ebp - 0x1094], esi
mov dword [ebp - 0x1064], 0
call fcn.0040ae60
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x101c]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
test al, al
jne 0x424534
push 0x48a2f0
lea ecx, [ebp - 0x101c]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::Append]
lea ecx, [ebp - 0x1024]
call dword [0x4824e8]
mov byte [ebp - 4], 2
push 0x104
lea ecx, [ebp - 0x1024]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer_1]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x1024]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
push 0x5c
lea ecx, [ebp - 0x1024]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimRight_2]
lea ecx, [ebp - 0x102c]
call dword [0x4824e8]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1030]
push ecx
mov ecx, esi
call fcn.00404d00
mov byte [ebp - 4], 4
push 0x482e5c
push 0x485a9c
lea ecx, [ebp - 0x1030]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov edx, dword [ebp - 0x1030]
mov eax, dword [ebp - 0x1024]
mov ebx, dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
push edx
push eax
lea ecx, [ebp - 0x102c]
push str._s_s.iss
push ecx
call ebx
add esp, 0x10
lea ecx, [ebp - 0x1048]
call fcn.0046a966
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1078]
call sub.mfc100u.dll_CException::CException
lea ecx, [ebp - 0x1068]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call dword [0x4824e8]
mov byte [ebp - 4], 6
push 0
lea ecx, [ebp - 0x1068]
mov dword [ebp - 0x1070], 0
mov dword [ebp - 0x106c], 0xffffffff
call dword [0x4824f0]
mov byte [ebp - 4], 7
lea edx, [ebp - 0x1078]
push edx
push 0x1041
lea ecx, [ebp - 0x102c]
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x1048]
call sub.mfc100u.dll_CFile::Open
test eax, eax
jne 0x424703
push eax
push 0x800
lea eax, [ebp - 0x1010]
push eax
lea ecx, [ebp - 0x1078]
call sub.mfc100u.dll_CFileException::GetErrorMessage
push 0x482e5c
mov ecx, edi
call dword [0x4824d0]
mov dword [ebp - 0x1064], 1
mov byte [ebp - 4], 5
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1068]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1048]
call sub.mfc100u.dll_CFile::CFile
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1030]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x102c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1024]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x101c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, edi
jmp 0x424e2c
push ecx
mov ecx, esp
mov dword [ebp - 0x1014], esp
push str._InstallShield_Silent_
call dword [0x4824d0]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 7
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x1050]
call dword [0x4824e8]
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x1018]
push edx
mov ecx, esi
call fcn.00420b30
mov byte [ebp - 4], 0xb
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x1050]
push str.Version_s
push ecx
call ebx
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1018]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push ecx
lea edx, [ebp - 0x1050]
mov ecx, esp
mov dword [ebp - 0x1014], esp
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push str.FileResponse_File
call dword [0x4824d0]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0xa
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push 0x482e5c
call dword [0x4824d0]
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x1048]
push edx
mov byte [ebp - 4], 0xa
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push str._Application_
call dword [0x4824d0]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x104c]
call dword [0x4824e8]
mov byte [ebp - 4], 0x10
push 1
push 0
push 0
lea ecx, [ebp - 0x1018]
push ecx
mov ecx, esi
call fcn.004626e0
mov byte [ebp - 4], 0x11
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x104c]
push str.Name_s
push eax
call ebx
add esp, 0xc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1018]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push ecx
lea edx, [ebp - 0x104c]
mov ecx, esp
mov dword [ebp - 0x1014], esp
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0x10
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push str.CompanyRockwell_Automation_Technologies__Inc.
call dword [0x4824d0]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x10
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push 0x482e5c
call dword [0x4824d0]
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x1048]
push edx
mov byte [ebp - 4], 0x10
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x1090]
call fcn.0041ff20
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x1090]
push eax
mov ecx, esi
call fcn.0045e7c0
push ecx
mov ecx, esp
mov dword [ebp - 0x1014], esp
push 0x482e5c
call dword [0x4824d0]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x15
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x1060]
call dword [0x4824e8]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x101c]
push edx
lea eax, [ebp - 0x1060]
push str.__sDlgOrder_
push eax
call ebx
add esp, 8
lea edx, [ebp - 0x1060]
mov ecx, esp
mov dword [ebp - 0x1014], esp
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x1058]
call dword [0x4824e8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x1088]
xor edi, edi
xor esi, esi
test eax, eax
jle 0x424a3c
test esi, esi
js 0x424aef
cmp esi, eax
jge 0x424aef
mov ecx, dword [ebp - 0x108c]
mov ecx, dword [ecx + esi*4]
lea edx, [ebp - 0x1018]
push edx
call fcn.004207f0
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
mov ecx, dword [ebp - 0x101c]
push eax
push ecx
push edi
lea edx, [ebp - 0x1058]
push str.Dlg_d_s_s
push edx
call ebx
add esp, 0x14
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1018]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push ecx
lea eax, [ebp - 0x1058]
mov ecx, esp
mov dword [ebp - 0x1014], esp
push eax
call dword [0x4824cc]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x19
call fcn.0040de80
mov eax, dword [ebp - 0x1088]
inc esi
add esp, 8
inc edi
cmp esi, eax
jl 0x4249aa
lea ecx, [ebp - 0x105c]
call dword [0x4824e8]
mov byte [ebp - 4], 0x1c
push edi
lea edx, [ebp - 0x105c]
push str.Count_d
push edx
call ebx
add esp, 8
lea eax, [ebp - 0x105c]
mov ecx, esp
mov dword [ebp - 0x1014], esp
push eax
call dword [0x4824cc]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x1c
call fcn.0040de80
add esp, 4
mov ecx, esp
mov dword [ebp - 0x1014], esp
push 0x482e5c
call dword [0x4824d0]
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x1048]
push edx
mov byte [ebp - 4], 0x1c
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x1054]
call dword [0x4824e8]
mov byte [ebp - 4], 0x1f
push 0x482e5c
lea ecx, [ebp - 0x1028]
call dword [0x4824d0]
mov byte [ebp - 4], 0x20
xor esi, esi
mov dword [ebp - 0x1018], esi
cmp dword [ebp - 0x1088], esi
jle 0x424d14
jmp 0x424afa
call sub.mfc100u.dll_AfxThrowInvalidArgException
mov esi, dword [ebp - 0x1018]
push 0x482e5c
lea ecx, [ebp - 0x1028]
call dword [0x4824f0]
test esi, esi
js 0x424aef
cmp esi, dword [ebp - 0x1088]
jge 0x424aef
mov eax, dword [ebp - 0x108c]
mov esi, dword [eax + esi*4]
lea ecx, [ebp - 0x1098]
push ecx
mov ecx, esi
call fcn.004207f0
mov byte [ebp - 4], 0x21
mov edx, dword [eax]
mov eax, dword [ebp - 0x101c]
push edx
push eax
lea ecx, [ebp - 0x1054]
push str.__s_s_
push ecx
call ebx
add esp, 0x10
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x1098]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push ecx
lea edx, [ebp - 0x1054]
mov ecx, esp
mov dword [ebp - 0x1034], esp
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0x20
call fcn.0040de80
add esp, 8
lea ecx, [ebp - 0x10ac]
call fcn.0041e4c0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x10ac]
push ecx
mov ecx, esi
call fcn.0041e6b0
mov eax, dword [ebp - 0x10a4]
xor edi, edi
test eax, eax
jle 0x424c6c
test edi, edi
js 0x424aef
cmp edi, eax
jge 0x424aef
mov edx, dword [ebp - 0x10a8]
mov esi, dword [edx + edi*4]
cmp byte [esi + 0x10], 0
jne 0x424c00
push ecx
mov eax, esp
mov dword [ebp - 0x1034], esp
push eax
mov ecx, esi
call fcn.0041e070
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x23
call fcn.0040de80
add esp, 8
jmp 0x424c5d
lea ecx, [ebp - 0x1028]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
test al, al
je 0x424c5d
mov dl, byte [esi + 0x11]
mov ecx, dword [ebp - 0x1094]
push 4
mov byte [ebp - 0x101d], dl
call fcn.0045fe90
cmp byte [ebp - 0x101d], al
jne 0x424c5d
lea eax, [ebp - 0x1014]
push eax
mov ecx, esi
call fcn.0041e070
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0x1028]
call dword [0x4824d8]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x1014]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x10a4]
inc edi
cmp edi, eax
jl 0x424bb7
lea ecx, [ebp - 0x1028]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
push ecx
mov ecx, esp
mov dword [ebp - 0x1034], esp
test al, al
je 0x424c9d
push str.Result1
call dword [0x4824d0]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1048]
push ecx
jmp 0x424cb5
lea edx, [ebp - 0x1028]
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x1048]
push eax
mov byte [ebp - 4], 0x23
call fcn.0040de80
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x1034], esp
push 0x482e5c
call dword [0x4824d0]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1048]
push ecx
mov byte [ebp - 4], 0x23
call fcn.0040de80
add esp, 8
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x10ac]
call fcn.0041e1f0
mov eax, dword [ebp - 0x1018]
inc eax
mov dword [ebp - 0x1018], eax
cmp eax, dword [ebp - 0x1088]
jl 0x424af4
lea ecx, [ebp - 0x1048]
call sub.mfc100u.dll_CFile::Close
mov esi, dword [ebp - 0x107c]
lea edx, [ebp - 0x102c]
push edx
mov ecx, esi
call dword [0x4824cc]
mov dword [ebp - 0x1064], 1
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1028]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1054]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x105c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1058]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1060]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1090]
call fcn.00420c80
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x104c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1050]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 5
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1068]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1048]
call sub.mfc100u.dll_CFile::CFile
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1030]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x102c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1024]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x101c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046b17c
mov esp, ebp
pop ebp
ret 8