Function at 0x479420
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a081d
mov eax, dword fs:[0]
push eax
sub esp, 0x7c4
mov eax, dword [0x4e2e58]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x77c], ecx
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_500
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_316]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x754]
call dword [sym.imp.mfc120.dll_Ordinal_316]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x760]
call dword [sym.imp.mfc120.dll_Ordinal_316]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x77c]
call fcn.0042b840
mov dword [ebp - 0x778], eax
lea ecx, [ebp - 0x130]
call dword [sym.imp.GrphCalc.dll_public:_void___thiscall_CDRect::constructor_void_]
mov dword [ebp - 0x79c], 0xff
push 0x4b3d25
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_1524]
mov dword [ebp - 0x750], 0
jmp 0x4794e6
mov eax, dword [ebp - 0x750]
add eax, 1
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp + 0xc]
call fcn.004928b0
cmp dword [ebp - 0x750], eax
jge 0x4795b0
cmp dword [ebp - 0x750], 0
jle 0x47952d
mov ecx, dword [ebp - 0x750]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004176d0
movzx edx, word [eax]
push edx
push 0x4b3d74
lea eax, [ebp - 0x754]
push eax
call dword [sym.imp.mfc120.dll_Ordinal_4764]
add esp, 0xc
jmp 0x479555
mov ecx, dword [ebp - 0x750]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004176d0
movzx edx, word [eax]
push edx
push 0x4b3d78
lea eax, [ebp - 0x754]
push eax
call dword [sym.imp.mfc120.dll_Ordinal_4764]
add esp, 0xc
lea ecx, [ebp - 0x754]
push ecx
lea edx, [ebp - 0x74c]
push edx
lea eax, [ebp - 0x790]
push eax
call fcn.004138f0
add esp, 0xc
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x788], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x788]
push edx
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_1521]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x790]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
jmp 0x4794d7
mov ecx, dword [ebp - 0x77c]
call dword [sym.imp.pblcdlg.dll_public:_int___thiscall_CShowView::GetCurrPage_void_]
push eax
lea eax, [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x778]
add ecx, 0x1a8
call dword [sym.imp.EleSet.dll_public:_class_CDRect___thiscall_CEleSet::GetAllOutRect_int_]
push eax
lea ecx, [ebp - 0x370]
push ecx
lea ecx, [ebp - 0x130]
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.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0x4b3d7c
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push 0
push 0x1002
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_11782
test eax, eax
jne 0x479698
mov dword [ebp - 0x780], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x760]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x754]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_1137
mov eax, dword [ebp - 0x780]
jmp 0x479a84
lea ecx, [ebp - 0x7d0]
call dword [sym.imp.GrphCalc.dll_public:_void___thiscall_C3DDPoint::constructor_void_]
mov ecx, dword [ebp + 0x54]
push ecx
cvtsd2ss xmm0, qword [ebp + 0x4c]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp + 0x40]
push edx
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x7d0]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
cvtsd2ss xmm0, qword [ebp + 0x18]
push ecx
movss dword [esp], xmm0
lea edx, [ebp - 0x74c]
push edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x774]
push ecx
mov ecx, dword [ebp - 0x778]
add ecx, 0x26c
call dword [sym.imp.EleSet.dll_public:_long_int___thiscall_CGraveManager::OutputUSBLaser_class_CFile___class_CWordArray___class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______float__class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_C3DDPoint___class_CDRect___class_CDRect___int__int__float__int_]
mov dword [ebp - 0x78c], eax
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_5765
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp + 0xc]
call fcn.0042ba70
push ecx
mov ecx, esp
mov dword [ebp - 0x7b8], esp
lea edx, [ebp - 0x74c]
push edx
call dword [sym.imp.mfc120.dll_Ordinal_300]
mov dword [ebp - 0x7b4], eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.EleSet.dll_void___cdecl_GetLayerID_class_CWordArray___class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char____]
add esp, 8
cmp dword [ebp + 0x28], 0
jle 0x47983a
push 0
push 0
push 0
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12860
mov dword [ebp - 0x758], 0x200
mov ecx, dword [ebp - 0x758]
push ecx
lea edx, [ebp - 0x330]
push edx
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12165
cmp dword [ebp + 0x28], 0xea60
jle 0x479793
mov dword [ebp + 0x28], 0xea60
mov ax, word [ebp + 0x28]
mov word [ebp - 0x1ba], ax
mov cx, word [ebp - 0x1ba]
mov word [ebp - 0x1bc], cx
lea ecx, [ebp - 0x130]
call dword [sym.imp.GrphCalc.dll_public:_double___thiscall_CDRect::Width_void_]
fstp qword [ebp - 0x7a8]
movsd xmm0, qword [ebp - 0x7a8]
addsd xmm0, qword [ebp + 0x2c]
addsd xmm0, qword [0x4a6d20]
cvttsd2si edx, xmm0
mov word [ebp - 0x1b8], dx
lea ecx, [ebp - 0x130]
call dword [sym.imp.GrphCalc.dll_public:_double___thiscall_CDRect::Height_void_]
fstp qword [ebp - 0x7b0]
movsd xmm0, qword [ebp - 0x7b0]
addsd xmm0, qword [ebp + 0x34]
addsd xmm0, qword [0x4a6d20]
cvttsd2si eax, xmm0
mov word [ebp - 0x1b6], ax
push 0
push 0
push 0
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12860
mov ecx, dword [ebp - 0x758]
push ecx
lea edx, [ebp - 0x330]
push edx
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_14379
lea eax, [ebp - 0x5f4]
push eax
lea ecx, [ebp - 0x748]
push ecx
lea edx, [ebp - 0x4a0]
push edx
call dword [sym.imp.usbfiletrans.dll_int___cdecl_GetActiveDeviceParas_struct_tagDEVICEPARA___struct_tagSPEEDPARA___struct_tagSPEEDPARA__]
add esp, 0xc
test eax, eax
jne 0x4798b3
mov dword [ebp - 0x794], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x760]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x754]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_1137
mov eax, dword [ebp - 0x794]
jmp 0x479a84
push 0
push 0
push 0
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12860
mov dword [ebp - 0x758], 0x200
mov eax, dword [ebp - 0x758]
push eax
lea ecx, [ebp - 0x330]
push ecx
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12165
mov ecx, dword [ebp + 0xc]
call fcn.004928b0
cmp eax, 1
jle 0x479993
movzx edx, word [ebp - 0x330]
and edx, 0xff00
or edx, 0xc8
mov word [ebp - 0x330], dx
mov ecx, dword [ebp + 0xc]
call fcn.004928b0
mov word [ebp - 0x18c], ax
mov eax, 0xffff
mov word [ebp - 0x18a], ax
cmp dword [ebp + 0x48], 0
jne 0x47993e
xor ecx, ecx
mov word [ebp - 0x188], cx
jmp 0x479991
xor edx, edx
mov word [ebp - 0x188], dx
mov dword [ebp - 0x75c], 0
jmp 0x479962
mov eax, dword [ebp - 0x75c]
add eax, 1
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp + 0xc]
call fcn.004928b0
cmp dword [ebp - 0x75c], eax
jge 0x479991
mov edx, 1
mov ecx, dword [ebp - 0x75c]
shl edx, cl
movzx eax, word [ebp - 0x188]
or eax, edx
mov word [ebp - 0x188], ax
jmp 0x479953
jmp 0x4799b4
mov ecx, 1
mov word [ebp - 0x18c], cx
mov edx, 0xffff
mov word [ebp - 0x18a], dx
xor eax, eax
mov word [ebp - 0x188], ax
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
xor ecx, ecx
mov word [ebp - 0x1aa], cx
mov dx, word [ebp + 0x3c]
mov word [ebp - 0x19c], dx
xor eax, eax
mov word [ebp - 0x19a], ax
mov ecx, 1
mov word [ebp - 0x132], cx
push 0
push 0
push 0
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_12860
mov edx, dword [ebp - 0x758]
push edx
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_14379
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_2838
mov ecx, dword [ebp - 0x78c]
mov dword [ebp - 0x784], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x760]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x754]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74c]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x774]
call sub.mfc120.dll_Ordinal_1137
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00499036
mov esp, ebp
pop ebp
ret 0x50