Function at 0x4037e0
Capabilities:
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406898
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x144
push ebx
push esi
push edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x10], esp
call sub.MFC42.DLL_CString::CString_3
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00402a90
test eax, eax
jne 0x403850
mov ecx, 0x40
lea edi, [ebp - 0x14f]
mov byte [ebp - 0x150], al
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [ebp - 0x150]
push ecx
push str._sdriversetchosts
jmp 0x403887
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x14f]
mov byte [ebp - 0x150], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x150]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x150]
push ecx
push str._shosts.sam
lea edx, [ebp - 0x18]
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [ebp - 0x18]
add esp, 0xc
push 0x20
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x2c]
call fcn.004047ea
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CException::CException
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString_3
push ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
mov dword [ebp - 0x40], 0x4072d4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], 0xffffffff
call sub.MFC42.DLL_CString::operator
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x40]
push ecx
push 0x22
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CStdioFile::Open
cmp eax, ebx
je 0x403a4e
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CStdioFile::GetPosition
mov edi, eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
je 0x4039d1
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::MakeLower
push str.coffeebook.co.kr
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x40395d
push str.bluemountainsoft.com
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x4039c0
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
push 0
push edi
lea ecx, [ebp - 0x2c]
mov esi, eax
call sub.MFC42.DLL_CStdioFile::Seek
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
cmp eax, esi
je 0x40398d
push 0x4833c0
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::WriteString
jmp 0x403972
add esi, 0xfffffffe
push 0
push esi
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::Seek
push 0x4833bc
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::WriteString
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
push 0
push eax
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::Seek
mov ebx, 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
jmp 0x403907
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString
test ebx, ebx
lea ecx, [ebp - 0x2c]
je 0x403a47
call sub.MFC42.DLL_CStdioFile::Close
mov dword [ebp - 4], 4
call sub.MFC42.DLL_AfxTryCleanup
mov edx, dword [ebp - 0x18]
push 0x20
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x40], 0x4072d4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x40], 0x4072c0
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CStdioFile::CStdioFile
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call sub.MFC42.DLL_CStdioFile::Abort
jmp 0x4039e9
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x40]
push ecx
push 0x22
push edx
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::Open
test eax, eax
jne 0x403a73
push 0x7d0
call esi
jmp 0x403a54
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CStdioFile::GetPosition
mov edi, eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
je 0x403b3d
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::MakeLower
push str.coffeebook.co.kr
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x403ac9
push str.bluemountainsoft.com
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x403b2c
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
push 0
push edi
lea ecx, [ebp - 0x2c]
mov esi, eax
call sub.MFC42.DLL_CStdioFile::Seek
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
cmp eax, esi
je 0x403af9
push 0x4833c0
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::WriteString
jmp 0x403ade
add esi, 0xfffffffe
push 0
push esi
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::Seek
push 0x4833bc
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::WriteString
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::GetPosition
push 0
push eax
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CStdioFile::Seek
mov ebx, 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
jmp 0x403a73
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
jmp 0x4039d8