Function at 0x412030
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x483310
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x4c0e0c]
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, ecx
mov eax, dword [esi]
call dword [eax + 0x1e8]
mov edi, eax
test edi, edi
je 0x412382
mov ecx, edi
call dword [sym.imp.PMCORE.dll_public:_short_int___thiscall_ASetup::GetSetupType_void_]
test al, 2
je 0x412382
push 0
push 0x4c1068
push 0x4c1050
push 0
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x412382
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x4c]
mov dword [ebp - 0x148], eax
test eax, eax
je 0x412382
push str.ColorProfilesTransportation.dll
call sub.mfc140.dll_Ordinal_2288
mov ebx, eax
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x15c], ebx
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
mov dword [ebp - 4], 0
test ebx, ebx
jne 0x412115
push str.Load_ColorProfilesTransportation.dll_failed_n
lea ecx, [ebp - 0x144]
call dword [0x48f528]
push 0x30
push 0x490e40
push dword [ebp - 0x144]
mov ecx, esi
call sub.mfc140.dll_Ordinal_8713
lea ecx, [ebp - 0x144]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
jmp 0x412382
push str.ImportColorProfiles
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x158], eax
test eax, eax
je 0x412349
mov ebx, dword [ebp - 0x148]
mov esi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_class_AFilePath_const__]
lea ecx, [ebx + 0x188]
push ecx
lea ecx, [ebp - 0x148]
call esi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 1
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call dword [sym.imp.PMCORE.dll_public:_class_AString___thiscall_ASetup::GetSetupName_void_]
push dword [eax]
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.PMCORE.dll_PMGetDensityFolder]
add esp, 8
lea ecx, [ebp - 0x140]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0x13c]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 3
call fcn.00409370
push str.TEMPORARY_IMPORTDESTXML_FILE
lea ecx, [ebp - 0x13c]
call dword [sym.imp.FSUTIL.dll_public:_class_AFilePath____thiscall_AFilePath::operator_char_const__]
lea ecx, [ebp - 0x13c]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AFilePath::exists_void_const]
test eax, eax
je 0x4121db
push ecx
lea eax, [ebp - 0x13c]
mov ecx, esp
push eax
call esi
call fcn.0040dcf0
add esp, 4
lea ecx, [ebp - 0x154]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_void_]
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 4
push eax
mov ecx, edi
call dword [sym.imp.PMCORE.dll_public:_class_AString___thiscall_ASetup::GetModelName_void_]
mov esi, eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 5
push eax
mov ecx, edi
call dword [sym.imp.PMCORE.dll_public:_class_AString___thiscall_ASetup::GetManufacturerName_void_]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 6
push ecx
lea edi, [ebx + 0x960]
push edi
lea ecx, [ebx + 0x17c]
push ecx
lea ecx, [ebp - 0x13c]
push ecx
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x148]
push ecx
push esi
push eax
call dword [ebp - 0x158]
mov esi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0x140]
add esp, 0x20
mov bl, al
call esi
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 4
call esi
test bl, bl
je 0x41230d
lea ecx, [ebp - 0x13c]
call dword [sym.imp.FSUTIL.dll_public:_int___thiscall_AFilePath::exists_void_const]
test eax, eax
je 0x41230d
lea eax, [ebp - 0x140]
push edi
push eax
call dword [sym.imp.PMCORE.dll_class_AFilePath___cdecl_GetPrinterXMLFilePath_class_AString_const__]
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 7
push eax
push dword [ebp - 0x140]
call dword [sym.imp.FSUTIL.dll_public:_static_int___cdecl_AFile::GetStatus_char_const___struct_CFileStatus__]
add esp, 0x10
test eax, eax
je 0x4122d5
test byte [ebp - 0x118], 1
je 0x4122d5
lea eax, [ebp - 0x138]
mov dword [ebp - 0x118], 0
push eax
push dword [ebp - 0x140]
call dword [sym.imp.FSUTIL.dll_public:_static_void___cdecl_AFile::SetStatus_char_const___struct_CFileStatus_const__]
add esp, 8
push 0
push dword [ebp - 0x140]
push dword [ebp - 0x13c]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push ecx
lea eax, [ebp - 0x13c]
mov ecx, esp
push eax
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::constructor_class_AFilePath_const__]
call fcn.0040dcf0
add esp, 4
lea ecx, [ebp - 0x140]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0x154]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0x13c]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0x14c]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AFilePath::destructor_void_]
mov ebx, dword [ebp - 0x15c]
jmp 0x412374
push str.Load_ExportColorProfiles_function_failed_n
lea ecx, [ebp - 0x144]
call dword [0x48f528]
push 0x30
push 0x490e40
push dword [ebp - 0x144]
mov ecx, esi
call sub.mfc140.dll_Ordinal_8713
mov esi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
push ebx
call sub.mfc140.dll_Ordinal_2216
lea ecx, [ebp - 0x144]
call 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.0047ff18
mov esp, ebp
pop ebp
ret