Function at 0x40c710
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46da9a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa88
mov eax, dword [0x4921d0]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa94], ecx
mov ecx, dword [ebp - 0xa94]
add ecx, 0x1ccc
call fcn.0040dcb0
mov ecx, dword [ebp - 0xa94]
add ecx, 0x1dc0
call fcn.0040dcb0
push 0x70
push 0
mov eax, dword [ebp - 0xa94]
add eax, 0x1ce0
push eax
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0x70
push 0
mov ecx, dword [ebp - 0xa94]
add ecx, 0x1d50
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0x20
push 0
lea edx, [ebp - 0x25c]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x21c]
push eax
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x48c]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea edx, [ebp - 0xa8e]
push edx
mov eax, dword [ebp - 0xa94]
mov ecx, dword [eax + 0x1cc8]
mov edx, dword [ebp - 0xa94]
mov eax, dword [edx + 0x1cc8]
mov edx, dword [ecx]
mov ecx, eax
call dword [edx + 0x188]
add eax, 0x52
push eax
push 0x476fb0
push 0x20
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
push 0x20
lea ecx, [ebp - 0x25c]
push ecx
lea edx, [ebp - 0x21c]
push edx
call fcn.0040dff0
mov ecx, eax
call fcn.00433fc0
lea eax, [ebp - 0x21c]
push eax
push str._sConfigInfo.ini
push 0x104
lea ecx, [ebp - 0x48c]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea ecx, [ebp - 0x280]
call sub.MFC71U.DLL_CFileDialog::CFileDialog
mov dword [ebp - 4], 0
push 0
lea edx, [ebp - 0x48c]
push edx
lea ecx, [ebp - 0x280]
call sub.MFC71U.DLL_CDHtmlEventSink::FindDHtmlEventEntry
test eax, eax
jne 0x40c8dc
mov eax, dword [ebp - 0xa94]
push eax
lea ecx, [ebp - 0x724]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
mov byte [ebp - 4], 1
push 0xf
push 0
push str._g_b
push 0x476fec
lea ecx, [ebp - 0x724]
call dword [sym.imp.ShareControl.dll_public:_int___thiscall_CInformation::ShowMessageBox_wchar_t_const___wchar_t_const___unsigned_int__unsigned_int_]
mov ecx, dword [ebp - 0xa94]
call fcn.0040c6f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x724]
call dword [sym.imp.ShareControl.dll_public_virtual:_void___thiscall_CInformation::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.0046be8e
jmp 0x40cc7b
mov dword [ebp - 0x260], 0
push 0x20
push 0
lea ecx, [ebp - 0x7dc]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x260]
push edx
push 0x476ff8
push 0x20
lea eax, [ebp - 0x7dc]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
push 0x72
push 0
lea ecx, [ebp - 0x79c]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea edx, [ebp - 0x48c]
push edx
push 0x38
lea eax, [ebp - 0x79a]
push eax
push 0x477000
lea ecx, [ebp - 0x7dc]
push ecx
push str.CtrlMessage
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0x79a]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x40c964
jmp 0x40c9a6
mov ax, word [ebp - 0x260]
mov word [ebp - 0x79c], ax
lea ecx, [ebp - 0x79c]
push ecx
mov ecx, dword [ebp - 0xa94]
add ecx, 0x1ccc
call fcn.0040dc80
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
mov eax, 1
test eax, eax
jne 0x40c8e6
mov dword [ebp - 0x264], 0
push 0x20
push 0
lea ecx, [ebp - 0x88c]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x264]
push edx
push 0x47701c
push 0x20
lea eax, [ebp - 0x88c]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
push 0x70
push 0
lea ecx, [ebp - 0x84c]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea edx, [ebp - 0x48c]
push edx
push 0x38
lea eax, [ebp - 0x84c]
push eax
push 0x477024
lea ecx, [ebp - 0x88c]
push ecx
push str.ChipPos
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x40ca2e
jmp 0x40ca70
push 0x38
lea eax, [ebp - 0x84c]
push eax
mov ecx, dword [ebp - 0x264]
imul ecx, ecx, 0x70
mov edx, dword [ebp - 0xa94]
lea eax, [edx + ecx + 0x27c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
mov edx, 1
test edx, edx
jne 0x40c9b0
mov eax, dword [ebp - 0xa94]
mov ecx, dword [ebp - 0x264]
mov dword [eax + 0x185c], ecx
mov dword [ebp - 0x268], 0
push 0x20
push 0
lea edx, [ebp - 0x944]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x268]
push eax
push 0x477038
push 0x20
lea ecx, [ebp - 0x944]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
push 0x72
push 0
lea edx, [ebp - 0x904]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea eax, [ebp - 0x48c]
push eax
push 0x38
lea ecx, [ebp - 0x902]
push ecx
push 0x477040
lea edx, [ebp - 0x944]
push edx
push str.GameState
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x902]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x40cb0a
jmp 0x40cb4a
mov cl, byte [ebp - 0x268]
mov byte [ebp - 0x904], cl
lea edx, [ebp - 0x904]
push edx
mov ecx, dword [ebp - 0xa94]
add ecx, 0x268
call fcn.0040dc80
mov eax, dword [ebp - 0x268]
add eax, 1
mov dword [ebp - 0x268], eax
mov ecx, 1
test ecx, ecx
jne 0x40ca8c
mov dword [ebp - 0x490], 0
push 0x20
push 0
lea edx, [ebp - 0x9fc]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x490]
push eax
push 0x477058
push 0x20
lea ecx, [ebp - 0x9fc]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
push 0x72
push 0
lea edx, [ebp - 0x9bc]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea eax, [ebp - 0x48c]
push eax
push 0x38
lea ecx, [ebp - 0x9ba]
push ecx
push 0x477060
lea edx, [ebp - 0x9fc]
push edx
push str.NoticeMessage
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x9ba]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x40cbd2
jmp 0x40cc14
mov cx, word [ebp - 0x490]
mov word [ebp - 0x9bc], cx
lea edx, [ebp - 0x9bc]
push edx
mov ecx, dword [ebp - 0xa94]
add ecx, 0x1dc0
call fcn.0040dc80
mov eax, dword [ebp - 0x490]
add eax, 1
mov dword [ebp - 0x490], eax
mov ecx, 1
test ecx, ecx
jne 0x40cb54
lea edx, [ebp - 0x48c]
push edx
push 0x38
mov eax, dword [ebp - 0xa94]
add eax, 0x1ce0
push eax
push 0x477080
push str.ChipInfo
push 0x477098
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x48c]
push ecx
push 0x38
mov edx, dword [ebp - 0xa94]
add edx, 0x1d50
push edx
push 0x4770ac
push str.OptionInfo
push str.ShowInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.0046be8e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0046c78d
mov esp, ebp
pop ebp
ret