Function at 0x412140
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x418d98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0x422d40
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], 2
call sub.MFC42.DLL_CString::CString_2
mov byte [esp + 0x44], 3
mov edi, 1
lea ebp, [esi + 0x54]
mov bl, 4
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [ebp]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x30]
push str._s_s__d_s
push eax
mov byte [esp + 0x5c], bl
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, esi
call fcn.00410c50
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
fild qword [esp + 0x34]
fcomp qword [0x41d478]
fnstsw ax
test ah, 0x41
jne 0x412221
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push eax
push str.__load___s_
push ecx
mov byte [esp + 0x50], 5
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x28]
lea ecx, [esp + 0x10]
push edx
call fcn.00416120
lea ecx, [esp + 0x28]
mov byte [esp + 0x44], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x44], 3
call sub.MFC42.DLL_CString::CString
inc edi
cmp edi, 0x10
jle 0x412183
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x6c]
push ecx
mov ecx, dword [esi + 0x68]
push edx
mov edx, dword [esi + 0x50]
push eax
push ecx
push edx
lea eax, [esp + 0x2c]
push str._s_.0f__d_s_s
push eax
mov byte [esp + 0x64], 6
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x30]
add esp, 0x20
cmp dword [ecx - 8], 2
jge 0x4122e5
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [ebp]
push edx
push eax
push ecx
lea edx, [esp + 0x2c]
push str._s_s_1_s
push edx
mov byte [esp + 0x58], 7
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, 0x422c90
call fcn.00402730
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov byte [esp + 0x44], 6
lea ecx, [esp + 0x20]
jmp 0x4124e6
lea eax, [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
push str.__save__
push ecx
call sub.MFC42.DLL_operator_1
push str.___nodisplay
lea edx, [esp + 0x2c]
mov bl, 8
push eax
push edx
mov byte [esp + 0x50], bl
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x48], 9
call fcn.00416120
lea ecx, [esp + 0x28]
mov byte [esp + 0x44], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], 6
call sub.MFC42.DLL_CString::CString
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, 0x422c90
call fcn.00402730
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 0xa
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x422cc0]
lea edx, [esp + 0x18]
push ecx
mov bl, 0xb
push str._simapviewer.exe
push edx
mov byte [esp + 0x50], bl
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x4c], 0xc
mov ecx, esp
mov dword [esp + 0x28], esp
push str.rendererver
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x50], 0xd
mov ecx, esp
mov dword [esp + 0x40], esp
push str.jobinfo
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x30]
mov byte [esp + 0x50], bl
push ecx
mov ecx, 0x422c90
call fcn.00402b30
push ecx
lea edx, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x4c], 0xe
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x4c], 0xf
mov ecx, esp
mov dword [esp + 0x38], esp
push str.maxver
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x50], 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.jobinfo
call sub.MFC42.DLL_CString::CString_2
mov ecx, 0x422c90
mov byte [esp + 0x50], 0xe
call fcn.00402c20
mov ecx, dword [esp + 0x24]
mov edx, dword [0x422d0c]
push ecx
push eax
push edx
lea eax, [esp + 0x28]
push str._spluginsimapviewer_d_simapviewer.exe
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add esp, 0x14
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x41253b
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push ebp
call sub.MFC42.DLL_CString::CString_1
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x50], 0x11
call sub.MFC42.DLL_CString::CString_1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0x54], 0x12
call sub.MFC42.DLL_CString::CString_1
mov ecx, esi
mov byte [esp + 0x50], 0xe
call fcn.00414570
mov esi, eax
mov eax, dword [esp + 0x14]
push 0
push eax
call dword [sym.imp.MSVCRT.dll__access]
add esp, 8
test eax, eax
jl 0x41253b
test esi, esi
jl 0x41253b
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 0xa
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x44], 6
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x44], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov dword [esp + 0x44], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x4125af
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x44], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x44], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov dword [esp + 0x44], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x38
ret 0xc