Function at 0x402dc0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4075b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CStdioFile::CStdioFile
lea ecx, [esp + 0x18]
mov dword [esp + 0x164], 0
call sub.MFC42.DLL_CException::CException
lea ecx, [esp + 0x28]
mov byte [esp + 0x164], 1
call sub.MFC42.DLL_CString::CString_1
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x168], 2
mov dword [esp + 0x1c], 0x408ff0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0xffffffff
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0xc]
mov byte [esp + 0x164], 3
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x10]
mov byte [esp + 0x164], 4
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
mov byte [esp + 0x164], 5
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 8]
mov ecx, 0x40b510
push eax
mov byte [esp + 0x168], 6
call fcn.00403080
mov eax, dword [eax]
lea ecx, [esp + 0x44]
push ecx
push eax
mov byte [esp + 0x16c], 7
call sub.MFC42.DLL_CFile::GetStatus
test eax, eax
je 0x402eac
mov edx, dword [esp + 0x50]
test edx, edx
sete al
test al, al
jne 0x402eac
xor bl, bl
jmp 0x402eae
mov bl, 1
lea ecx, [esp + 8]
mov byte [esp + 0x164], 6
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x402ed3
push str.Can_not_open_the_config_file_
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
jmp 0x402f41
lea edx, [esp + 8]
mov ecx, 0x40b510
push edx
call fcn.00403080
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x170], 8
call sub.MFC42.DLL_CStdioFile::Open
test eax, eax
lea ecx, [esp + 8]
mov byte [esp + 0x164], 6
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x402f41
push 0
push 0xff
push 0xff
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CFileException::GetErrorMessage
push 0xffffffffffffffff
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::ReleaseBuffer
mov eax, dword [esp + 0xc]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x402f5d
push eax
lea ecx, [esi + 0x270]
call sub.MFC42.DLL_CWnd::SetWindowTextA
jmp 0x402ff4
lea edx, [esp + 0x10]
lea ecx, [esp + 0x30]
push edx
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
je 0x402fc1
mov bl, 9
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::operator
push 0x40b3b0
lea ecx, [esp + 0xc]
call fcn.00406686
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], bl
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 8]
mov byte [esp + 0x164], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
jne 0x402f71
push 0
push 1
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esi + 0x270]
call fcn.00404b90
mov eax, dword [esi + 0x290]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 0x14]
mov byte [esp + 0x164], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x164], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x164], 3
call sub.MFC42.DLL_CString::CString
mov dword [esp + 0x18], 0x408ff0
lea ecx, [esp + 0x28]
mov byte [esp + 0x164], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], 0x408680
mov dword [esp + 0x164], 0xffffffff
call fcn.00406aac
mov ecx, dword [esp + 0x15c]
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x160
ret