Function at 0x451c1a
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4772d7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xabc
mov dword [ebp - 0xab4], ecx
lea ecx, [ebp - 0x668]
call fcn.00471ac8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xab4]
call fcn.0041a610
mov dword [ebp - 0x7c8], eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.GrphCalc.dll_public:_void___thiscall_CDRect::constructor_void_]
mov dword [ebp - 0x254], 0xff
push 0x49753c
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::operator_2
mov dword [ebp - 0x66c], 0
jmp 0x451cc9
mov eax, dword [ebp - 0x66c]
add eax, 1
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp + 0xc]
call fcn.0044d600
cmp dword [ebp - 0x66c], eax
jge 0x451d87
cmp dword [ebp - 0x66c], 0
jle 0x451d0e
mov ecx, dword [ebp - 0x66c]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00409f90
xor edx, edx
mov dx, word [eax]
push edx
push 0x48afe8
lea eax, [ebp - 0x2c]
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
jmp 0x451d34
mov ecx, dword [ebp - 0x66c]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00409f90
xor edx, edx
mov dx, word [eax]
push edx
push 0x48afec
lea eax, [ebp - 0x2c]
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x7cc]
push edx
lea eax, [ebp - 0xa60]
push eax
call sub.MFC42.DLL_operator
mov dword [ebp - 0xab8], eax
mov ecx, dword [ebp - 0xab8]
mov dword [ebp - 0xabc], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xabc]
push edx
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa60]
call sub.MFC42.DLL_CString::CString
jmp 0x451cba
mov ecx, dword [ebp - 0xab4]
call dword [sym.imp.pblcdlg.dll_public:_int___thiscall_CShowView::GetCurrPage_void_]
push eax
lea eax, [ebp - 0xa80]
push eax
mov ecx, dword [ebp - 0x7c8]
add ecx, 0x124
call dword [sym.imp.EleSet.dll_public:_class_CDRect___thiscall_CEleSet::GetAllOutRect_int_]
push eax
lea ecx, [ebp - 0xaa0]
push ecx
lea ecx, [ebp - 0x4c]
call dword [sym.imp.GrphCalc.dll_public:_class_CDRect___thiscall_CDRect::operator_class_CDRect_const__]
push 0x100
push 0
mov edx, dword [ebp + 8]
push edx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x554]
push eax
push 0x100
call dword [sym.imp.kernel32.dll_GetTempPathA]
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0x48aff0
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.kernel32.dll_GetTempFileNameA]
push 0
push 0x1002
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Open
test eax, eax
jne 0x451e66
mov dword [ebp - 0xaa4], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::CFile
mov eax, dword [ebp - 0xaa4]
jmp 0x4521f1
lea ecx, [ebp - 0x28]
call dword [sym.imp.GrphCalc.dll_public:_void___thiscall_C3DDPoint::constructor_void_]
fld qword [ebp + 0x4c]
fst dword [ebp - 0xac0]
push ecx
fstp dword [esp]
mov ecx, dword [ebp + 0x40]
push ecx
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp + 0x20]
push eax
fld qword [ebp + 0x18]
fst dword [ebp - 0xac4]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x7cc]
push ecx
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x668]
push eax
mov ecx, dword [ebp - 0x7c8]
add ecx, 0x1e8
call dword [sym.imp.EleSet.dll_public:_long_int___thiscall_CGraveManager::OutputUSBLaser_class_CFile___class_CWordArray___class_CString___float__class_CString___class_C3DDPoint___class_CDRect___class_CDRect___int__int__float_]
mov dword [ebp - 0x928], eax
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::GetLength
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp + 0xc]
call fcn.0041aa20
push ecx
mov ecx, esp
mov dword [ebp - 0xaa8], esp
lea edx, [ebp - 0x7cc]
push edx
call fcn.00471e1c
mov dword [ebp - 0xac8], eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.EleSet.dll_void___cdecl_GetLayerID_class_CWordArray___class_CString_]
add esp, 8
cmp dword [ebp + 0x28], 0
jle 0x451fcc
push 0
push 0
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Seek
mov dword [ebp - 0x10], 0x200
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 0x454]
push edx
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Read
cmp dword [ebp + 0x28], 0xea60
jle 0x451f52
mov dword [ebp + 0x28], 0xea60
mov ax, word [ebp + 0x28]
mov word [ebp - 0x2de], ax
mov cx, word [ebp - 0x2de]
mov word [ebp - 0x2e0], cx
lea ecx, [ebp - 0x4c]
call dword [sym.imp.GrphCalc.dll_public:_double___thiscall_CDRect::Width_void_]
fadd qword [ebp + 0x2c]
fadd qword [0x4796d0]
call sub.msvcrt.dll__ftol
mov word [ebp - 0x2dc], ax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.GrphCalc.dll_public:_double___thiscall_CDRect::Height_void_]
fadd qword [ebp + 0x34]
fadd qword [0x4796d0]
call sub.msvcrt.dll__ftol
mov word [ebp - 0x2da], ax
push 0
push 0
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Seek
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Write
lea ecx, [ebp - 0x920]
push ecx
lea edx, [ebp - 0x7c4]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.usbfiletrans.dll_int___cdecl_GetActiveDeviceParas_struct_tagDEVICEPARA___struct_tagSPEEDPARA___struct_tagSPEEDPARA__]
add esp, 0xc
test eax, eax
jne 0x45203f
mov dword [ebp - 0xaac], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::CFile
mov eax, dword [ebp - 0xaac]
jmp 0x4521f1
push 0
push 0
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Seek
mov dword [ebp - 0x10], 0x200
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 0x454]
push edx
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Read
mov ecx, dword [ebp + 0xc]
call fcn.0044d600
cmp eax, 1
jle 0x452114
mov eax, dword [ebp - 0x454]
and eax, 0xffff
and eax, 0xff00
or al, 0xc8
mov word [ebp - 0x454], ax
mov ecx, dword [ebp + 0xc]
call fcn.0044d600
mov word [ebp - 0x2b0], ax
mov word [ebp - 0x2ae], 0xffff
cmp dword [ebp + 0x48], 0
jne 0x4520be
mov word [ebp - 0x2ac], 0
jmp 0x452112
mov word [ebp - 0x2ac], 0
mov dword [ebp - 0xa5c], 0
jmp 0x4520e2
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044d600
cmp dword [ebp - 0xa5c], eax
jge 0x452112
mov edx, 1
mov ecx, dword [ebp - 0xa5c]
shl edx, cl
mov ax, word [ebp - 0x2ac]
or ax, dx
mov word [ebp - 0x2ac], ax
jmp 0x4520d3
jmp 0x45212f
mov word [ebp - 0x2b0], 1
mov word [ebp - 0x2ae], 0xffff
mov word [ebp - 0x2ac], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov word [ebp - 0x2ce], 0
mov cx, word [ebp + 0x3c]
mov word [ebp - 0x2c0], cx
mov word [ebp - 0x2be], 0
mov word [ebp - 0x256], 1
push 0
push 0
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Seek
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Write
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::Close
mov ecx, dword [ebp - 0x928]
mov dword [ebp - 0xab0], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7cc]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x668]
call sub.MFC42.DLL_CFile::CFile
mov eax, dword [ebp - 0xab0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x4c