Function at 0x40a995
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44147f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax + 0x30], 0
je 0x40a9ca
jmp 0x40aea8
lea ecx, [ebp - 0x2c]
call fcn.0043fa26
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x39c
call sub.MFC42.DLL_CMapPtrToWord::Lookup
test eax, eax
jne 0x40aa0a
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
jmp 0x40aea8
mov ecx, dword [ebp - 0x84]
add ecx, 0x2d0
call fcn.0040fc30
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x40aa9d
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x2d0
call sub.MFC42.DLL_CMapStringToOb::GetNextAssoc
mov ecx, dword [ebp - 0x30]
call fcn.00403210
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x40aa9b
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.00403230
mov edx, dword [eax]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0042828d
test eax, eax
je 0x40aa99
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x30]
call sub.MFC42.DLL_CPtrList::RemoveAt
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
jmp 0x40aa9b
jmp 0x40aa4c
jmp 0x40aa1e
mov ecx, dword [ebp - 0x84]
cmp dword [ecx + 0xa8], 0
je 0x40ab12
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0xa8]
add ecx, 4
call fcn.0042828d
test eax, eax
je 0x40ab12
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx + 0xa8]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x40aaf8
push 1
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x74]
call dword [edx + 4]
mov dword [ebp - 0x88], eax
jmp 0x40ab02
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x84]
mov dword [eax + 0xa8], 0
mov ecx, dword [ebp - 0x84]
add ecx, 0x8c
call fcn.00410900
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x40abc2
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x8c
call fcn.00410920
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 4
call fcn.0042828d
test eax, eax
je 0x40abbd
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x40ab8a
push 1
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7c]
call dword [edx + 4]
mov dword [ebp - 0x8c], eax
jmp 0x40ab94
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x84]
add ecx, 0x8c
call fcn.00410950
mov ecx, dword [ebp - 0x84]
add ecx, 0x8c
call fcn.00410900
mov dword [ebp - 0x3c], eax
jmp 0x40ab26
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x84]
add ecx, 0x348
call fcn.0042828d
test eax, eax
je 0x40abeb
mov edx, dword [ebp - 0x84]
mov dword [edx + 0x354], 0
mov word [ebp - 0x24], 0
lea ecx, [ebp - 0x20]
call fcn.0043fa26
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x84]
add ecx, 0x39c
call fcn.0040fd90
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x40ac91
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x39c
call sub.MFC42.DLL_CMapPtrToWord::GetNextAssoc
push 0x3a
mov ecx, dword [ebp - 0x28]
add ecx, 0x19e4
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
jne 0x40ac8f
mov ecx, dword [ebp - 0x28]
add ecx, 0x19e4
call fcn.00402550
push eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040cd35
and eax, 0xff
test eax, eax
jne 0x40ac8f
mov eax, dword [ebp - 0x28]
add eax, 0x19e4
push eax
lea ecx, [ebp - 0x20]
call fcn.0043fa38
mov cx, word [ebp - 0x24]
add cx, 1
mov word [ebp - 0x24], cx
jmp 0x40ac11
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x39c
call sub.MFC42.DLL_CMapPtrToWord::RemoveKey
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040c28f
test eax, eax
jne 0x40ae8d
mov ecx, dword [ebp + 8]
add ecx, 0x19e4
push ecx
push 0x4546fc
call fcn.0040fd30
and eax, 0xff
test eax, eax
je 0x40ae25
mov edx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [edx + 0x34]
test eax, eax
jne 0x40ae25
mov ecx, dword [ebp - 0x84]
cmp dword [ecx + 0x354], 0
je 0x40ae23
mov edx, dword [ebp - 0x84]
cmp dword [edx + 0x68], 0
je 0x40ae23
mov eax, dword [ebp - 0x84]
cmp dword [eax + 0x320], 0
je 0x40ad3e
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0x3b8], 1
jmp 0x40ae23
push 0x454700
push 0
push 0x45470c
push 0x454714
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x40ae23
push 0
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040bc91
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040a762
push 1
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040ba18
push 0x7d0
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040b705
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040a886
mov edx, dword [ebp - 0x84]
mov dword [edx + 0x3b8], 1
lea ecx, [ebp - 0x6c]
call fcn.00424d8e
mov byte [ebp - 4], 2
mov word [ebp - 0x44], 4
push 0
push 0
push 0
push 4
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.00401223
push 0
push 0x2710
push 0x5ba0
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.004040f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call fcn.004025c0
jmp 0x40ae8d
mov ecx, dword [ebp - 0x84]
add ecx, 0x39c
call fcn.0040fd70
test eax, eax
jne 0x40ae8d
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0x3b8], 1
push 0
push 0x3e8
push 0x5ba0
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.004040f0
push 0
push 0
push 0
push str.FIDIA_FAPI_PLEASEWAIT
call dword [sym.imp.LANGUAGE.dll_char_const____cdecl_ReadLanguageString_char_const___char_const___int_]
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0xcc
call fcn.0040c713
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4