Function at 0x4077d0
Capabilities:
Copy file
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x428580
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x78], 0
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 1
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x1c]
push eax
push 0x4330e0
push ecx
mov byte [esp + 0x84], 2
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x28]
add esp, 0xc
lea ecx, [esp + 0x54]
push 0
push edx
call sub.MFC42.DLL_CFileFind::FindFile
lea ecx, [esp + 0x30]
mov esi, eax
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 3
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 4
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 5
call sub.MFC42.DLL_CString::CString_4
test esi, esi
mov byte [esp + 0x78], 6
je 0x407bc5
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, 8
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CFileFind::FindNextFileA
lea ecx, [esp + 0x54]
mov dword [esp + 0x4c], eax
call sub.MFC42.DLL_CFileFind::IsDots
test eax, eax
jne 0x407bb9
lea eax, [esp + 0x14]
lea ecx, [esp + 0x54]
push eax
call sub.MFC42.DLL_CFileFind::GetFilePath
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 7
push ecx
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CFileFind::GetFileName
mov edx, dword [esp + 0x54]
push 0x10
lea ecx, [esp + 0x58]
mov byte [esp + 0x7c], bl
call dword [edx + 0x40]
test eax, eax
je 0x407904
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call sub.MFC42.DLL_CString::CString_3
mov ecx, edi
call fcn.004077d0
test eax, eax
je 0x407c78
jmp 0x407b9d
lea ecx, [esp + 0x20]
call fcn.00401040
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 9
push ecx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0xc]
mov byte [esp + 0x78], 0xa
call sub.MFC42.DLL_CString::CString_4
lea edx, [edi + 0x170]
push ebx
lea eax, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x84], 0xb
call fcn.00401080
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call sub.MFC42.DLL_CString::CString_3
mov ecx, edi
call fcn.00407710
cmp eax, 0xffffffff
je 0x407c4f
push 0x4330dc
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a7e
push str.DATA
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a77
push str.EEPROM
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a70
push str.FSOBD
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a69
push str.HCS12
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a62
push str.INFO
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a5b
push str.METHOD
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a54
push str.MOTO
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a4d
push 0x4330a0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407a46
push str.OTHER
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x407a8c
push str.OTHER
jmp 0x407a83
push 0x4330a0
jmp 0x407a83
push str.MOTO
jmp 0x407a83
push str.METHOD
jmp 0x407a83
push str.INFO
jmp 0x407a83
push str.HCS12
jmp 0x407a83
push str.FSOBD
jmp 0x407a83
push str.EEPROM
jmp 0x407a83
push str.DATA
jmp 0x407a83
push 0x4330dc
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
lea eax, [esp + 0x48]
lea ecx, [esp + 0x20]
push eax
call fcn.00401530
lea ecx, [esp + 0x18]
lea edx, [esp + 0x44]
push ecx
push eax
push edx
mov byte [esp + 0x84], 0xc
call sub.MFC42.DLL_operator
push str.CODE_
push eax
lea eax, [esp + 0x48]
mov byte [esp + 0x80], 0xd
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0xc]
lea edx, [esp + 0x3c]
push ecx
push eax
push edx
mov byte [esp + 0x84], 0xe
call sub.MFC42.DLL_operator
push 0x43206c
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x80], 0xf
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x24]
lea edx, [esp + 0x34]
push ecx
push eax
push edx
mov byte [esp + 0x84], 0x10
call sub.MFC42.DLL_operator
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 0x16
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 0x15
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov byte [esp + 0x78], 0x14
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 0x13
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 0x12
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
call esi
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x78], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], bl
call fcn.00401070
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 6
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x40788b
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CFileFind::Close
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0
call fcn.00427134
lea ecx, [esp + 0x80]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x70
ret 4
lea ecx, [esp + 0xc]
mov byte [esp + 0x78], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], bl
call fcn.00401070
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0
call fcn.00427134
lea ecx, [esp + 0x80]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x70]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 4