Function at 0x405770
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40c0f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1cc
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp + 8]
call fcn.004023e0
push eax
call dword [sym.imp.MSVCRT.dll__access]
add esp, 8
cmp eax, 0xffffffff
jne 0x4057d2
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x28]
jmp 0x405e9b
mov ecx, dword [ebp - 0x10]
call fcn.00405f60
push str.UpdateInfo
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 1
push str.FileNumber
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 2
lea ecx, [ebp + 8]
call fcn.004023e0
push eax
push 0
lea ecx, [ebp - 0x18]
call fcn.004023e0
push eax
lea ecx, [ebp - 0x14]
call fcn.004023e0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x1c], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
lea eax, [ebp + 8]
push eax
call fcn.0040af78
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], ecx
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Version
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], edx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.UpdateInfo
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xd0]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x18
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
call fcn.004023e0
push eax
push 0
push str.MiniVersion
push str.UpdateInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x1c], eax
mov dword [ebp - 0x20], 0
jmp 0x4058fa
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
jge 0x405e64
push 0x24
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x40], 0
je 0x40592d
mov ecx, dword [ebp - 0x40]
call fcn.00405eb0
mov dword [ebp - 0xd4], eax
jmp 0x405937
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x20]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x20]
add edx, 1
push edx
push str.FILE_d
lea eax, [ebp - 0x18]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
lea edx, [ebp + 8]
push edx
call fcn.0040af78
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
lea edx, [ebp - 0x18]
push edx
call fcn.0040af78
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
push str.FileList
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xe8], eax
lea ecx, [ebp - 0x50]
push ecx
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xf0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x24]
add ecx, 4
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea edx, [ebp + 8]
push edx
call fcn.0040af78
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push str.RegisterServer
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x24]
add edx, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
push edx
call fcn.0040af78
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x10c], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x10c]
push edx
mov ecx, dword [ebp - 0x24]
add ecx, 0x10
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x60]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
call fcn.004023e0
push eax
push 0
push str.forceUpdate
mov ecx, dword [ebp - 0x24]
add ecx, 4
call fcn.004023e0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 8], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x64], esp
lea edx, [ebp + 8]
push edx
call fcn.0040af78
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push 0x40d4d0
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x24]
add edx, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x6c], esp
push edx
call fcn.0040af78
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x128], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x24]
add ecx, 0xc
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x74], esp
lea eax, [ebp + 8]
push eax
call fcn.0040af78
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov byte [ebp - 4], 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x78], esp
push str.FileComment
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x138], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x24]
add eax, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.0040af78
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x80]
push ecx
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x144], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x24]
add ecx, 0x14
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x84], esp
lea edx, [ebp + 8]
push edx
call fcn.0040af78
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 0x13
push ecx
mov ecx, esp
mov dword [ebp - 0x88], esp
push str.FileCreateTime
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x24]
add edx, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x8c], esp
push edx
call fcn.0040af78
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x160], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x160]
push edx
mov ecx, dword [ebp - 0x24]
add ecx, 0x18
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x94], esp
lea eax, [ebp + 8]
push eax
call fcn.0040af78
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x168], ecx
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
push str.FileModifyTime
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x170], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x24]
add eax, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.0040af78
mov dword [ebp - 0x174], eax
lea ecx, [ebp - 0xa0]
push ecx
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x178], eax
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x24]
add ecx, 0x1c
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa0]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
lea edx, [ebp + 8]
push edx
call fcn.0040af78
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x184], eax
mov byte [ebp - 4], 0x19
push ecx
mov ecx, esp
mov dword [ebp - 0xa8], esp
push str.FileAccessTime
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x18c], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x24]
add edx, 4
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push edx
call fcn.0040af78
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 2
call fcn.004056b0
add esp, 0x10
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x198]
push edx
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb0]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 4
call fcn.00406780
jmp 0x4058f1
mov dword [ebp - 0xb4], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4