Function at 0x40785c
Capabilities:
Get common file path

Disassembly:
mov eax, 0x4142fa
call fcn.00413720
sub esp, 0x218
push ebx
push esi
push edi
mov edi, ecx
push dword [ebp + 8]
mov dword [ebp - 0x1c], edi
push 0x86
call sub.MFC42.DLL_CDialog::CDialog
and dword [ebp - 4], 0
lea esi, [edi + 0x68]
mov ecx, esi
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CStringArray::CStringArray
push fcn.00408ad9
push fcn.00408a2c
mov ebx, 0xc8
push 0x64
lea eax, [edi + 0x90]
push ebx
push eax
mov byte [ebp - 4], 2
call fcn.0041384c
push fcn.00408ad9
push fcn.00408a2c
push 0x14
lea eax, [edi + 0x4eb0]
push ebx
push eax
mov byte [ebp - 4], 3
call fcn.0041384c
and dword [edi + 0x60], 0
and dword [edi + 0x64], 0
lea eax, [ebp - 0xf8]
push 0x80
push eax
mov byte [ebp - 4], 4
mov dword [edi], 0x416e40
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0xf8]
mov ebx, 0x4251c0
push eax
mov ecx, ebx
call sub.MFC42.DLL_CString::operator_1
push str.Navi.txt
lea eax, [ebp - 0x18]
push ebx
push eax
call sub.MFC42.DLL_operator
push str.hotword.txt
lea eax, [ebp - 0x14]
push ebx
push eax
mov byte [ebp - 4], 5
call sub.MFC42.DLL_operator
xor ebx, ebx
lea ecx, [ebp - 0x18]
push ebx
push ebx
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.MSVCRT.dll__access]
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x407a32
mov eax, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
push 1
lea ecx, [ebp - 0x18]
push dword [eax]
push 1
push ebx
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ifstream::constructor_char_const___int__int_]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 8
mov dword [ebp - 0x10], ebx
push 0xa
lea eax, [ebp - 0x224]
push 0x12c
push eax
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_class_istream____thiscall_istream::getline_char___int__char_]
cmp eax, ebx
jne 0x4079a5
xor ecx, ecx
jmp 0x4079ac
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
test byte [ecx + 8], 6
jne 0x4079fa
cmp ecx, ebx
je 0x4079fa
lea eax, [ebp - 0x224]
lea ecx, [ebp + 8]
push eax
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp + 8]
cmp dword [eax - 8], 7
jle 0x4079e7
push str.http:__
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x4079e7
mov dword [edi + 0x60], 1
lea eax, [ebp + 8]
mov ecx, esi
push eax
push dword [esi + 8]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
inc dword [ebp - 0x10]
jmp 0x407986
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ifstream::close_void_]
cmp dword [ebp - 0x10], 2
jge 0x407a10
mov dword [edi + 0x60], 1
lea ecx, [ebp + 8]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ifstream::destructor_void_]
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
cmp dword [edi + 0x70], 0x4d
je 0x407a3f
mov dword [edi + 0x60], 1
cmp dword [edi + 0x60], 1
mov ebx, 0x41d9f8
jne 0x407f2b
cmp dword [edi + 0x70], 0
jle 0x407a5f
push 0xffffffffffffffff
push 0
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetSize
mov eax, dword [esi + 8]
push 0x41d9dc
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d9c4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d9ac
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d990
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d974
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push str.TOMhttp:__www.tom.com
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d940
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d920
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d900
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d8e0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d8c0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d8a4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d884
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d864
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d848
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d82c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d810
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d7f4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d7d0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d7b4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push ebx
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d798
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d77c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d75c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d740
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d724
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d708
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d6e8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d6cc
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d6b0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d694
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d67c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d664
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d644
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d628
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d608
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d5e4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d5c8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d5a8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push str.4399http:__www.4399.com
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d570
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d550
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d534
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d518
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d4fc
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d4e0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push str.NBAhttp:__china.nba.com
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d4a4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d488
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d468
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d448
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d42c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d410
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d3f4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d3d8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d3bc
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d39c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d380
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d364
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d340
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d320
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d304
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d2e8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d2cc
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d2a8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d284
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d26c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d24c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d230
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d210
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d1f0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d1d4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d1b8
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d18c
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d170
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d154
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d138
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
push 0
push 0
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.MSVCRT.dll__access]
pop ecx
cmp eax, 0xffffffff
pop ecx
push 1
pop esi
je 0x408021
mov eax, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
push esi
lea ecx, [ebp - 0x14]
push dword [eax]
push esi
push 0
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ifstream::constructor_char_const___int__int_]
and dword [ebp - 0x10], 0
mov byte [ebp - 4], 9
push 0xa
lea eax, [ebp - 0x224]
push 0x12c
push eax
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_class_istream____thiscall_istream::getline_char___int__char_]
test eax, eax
jne 0x407f90
xor ecx, ecx
jmp 0x407f97
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
test byte [ecx + 8], 6
jne 0x407ff9
test ecx, ecx
je 0x407ff9
lea eax, [ebp - 0x224]
lea ecx, [ebp + 8]
push eax
call fcn.0041320c
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0xa
cmp dword [eax - 8], 7
jle 0x407fd2
push str.http:__
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x407fd2
mov dword [edi + 0x60], esi
mov eax, dword [edi + 0x84]
lea ecx, [edi + 0x7c]
lea edx, [ebp + 8]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
inc dword [ebp - 0x10]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
jmp 0x407f71
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ifstream::close_void_]
cmp dword [ebp - 0x10], 2
jge 0x40800b
mov dword [edi + 0x64], esi
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ifstream::destructor_void_]
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
cmp dword [edi + 0x84], 6
lea eax, [edi + 0x84]
je 0x408033
mov dword [edi + 0x64], esi
cmp dword [edi + 0x64], esi
jne 0x4080ab
cmp dword [eax], 0
jle 0x408049
push 0xffffffffffffffff
push 0
lea ecx, [edi + 0x7c]
call sub.MFC42.DLL_CStringArray::SetSize
mov eax, dword [edi + 0x84]
lea esi, [edi + 0x7c]
push str.2345
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d0f4
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d0d0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d0b0
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push 0x41d090
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esi + 8]
push ebx
push eax
mov ecx, esi
call sub.MFC42.DLL_CStringArray::SetAtGrow
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4