Function at 0x404540
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x423678
push eax
mov dword fs:[0], esp
sub esp, 0x158
push esi
mov esi, ecx
mov eax, dword [esi + 0x6214]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x404cc3
push ebp
lea ebp, [esi + 0x1e14]
push str.User
lea ecx, [esp + 0x2c]
push ebp
push ecx
call sub.MFC42.DLL_operator
push 0x43012c
lea edx, [esp + 0x30]
push eax
push edx
mov dword [esp + 0x174], 0
call sub.MFC42.DLL_operator
push str.EZNet41.ini
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x170], 1
push eax
call sub.MFC42.DLL_operator
lea ecx, [esp + 0x2c]
mov byte [esp + 0x168], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x168], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
call fcn.00422340
mov al, byte [esi + 0x1e49]
mov byte [esp + 0x168], 5
cmp al, 0x31
je 0x404608
cmp al, 0x37
je 0x404608
cmp al, 0x32
je 0x404608
mov byte [esp + 0xc], 0x30
jmp 0x40469c
push str.User
lea ecx, [esp + 0x10]
push ebp
push ecx
call sub.MFC42.DLL_operator
push str.DocWnd.ini
lea edx, [esp + 0xc]
push eax
push edx
mov byte [esp + 0x174], 6
call sub.MFC42.DLL_operator
lea ecx, [esp + 0xc]
mov byte [esp + 0x168], 8
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0x621c]
test eax, eax
je 0x40466c
mov eax, dword [esp + 8]
push eax
push str.1823
push str.LastMainMode
push str.Main_Position
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [esp + 0xc], 0x31
jmp 0x40468b
mov ecx, dword [esp + 8]
push ecx
push 0x430164
push str.LastMainMode
push str.Main_Position
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [esp + 0xc], 0x30
lea ecx, [esp + 8]
mov byte [esp + 0x168], 5
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0xc]
xor eax, eax
mov al, byte [esi + 0x1e49]
and edx, 0xff
push edx
push eax
lea ecx, [esp + 0x1c]
push str._c_c
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add esp, 0x10
push edx
push eax
push str.LoginTypeAndIsBackScreen
push str.APPTYPE
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp dword [esi + 0xb8], 1
jne 0x40470a
push 0
push 0x457
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
push 0
mov ecx, esi
call fcn.00409ad0
jmp 0x404c98
push ebx
push edi
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CFileFind::CFileFind
push str.User
lea ecx, [esp + 0x30]
push ebp
push ecx
mov byte [esp + 0x17c], 9
call sub.MFC42.DLL_operator
push 0x43012c
lea edx, [esp + 0x18]
push eax
push edx
mov byte [esp + 0x17c], 0xa
call sub.MFC42.DLL_operator
push str.EZNet41.ini
push eax
lea eax, [esp + 0x18]
mov byte [esp + 0x178], 0xb
push eax
call sub.MFC42.DLL_operator
lea ecx, [esp + 0x14]
mov byte [esp + 0x170], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x170], 0xd
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x10]
push 0
push ecx
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CFileFind::FindFile
test eax, eax
jne 0x40481c
push str.Data
lea edx, [esp + 0x1c]
push ebp
push edx
call sub.MFC42.DLL_operator
push 0x43012c
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x178], 0xf
push eax
call sub.MFC42.DLL_operator
push str.EZNet41.ini
lea ecx, [esp + 0x28]
mov bl, 0x10
push eax
push ecx
mov byte [esp + 0x17c], bl
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x174], 0x11
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x170], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x170], 0xd
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edx
lea eax, [esp + 0x6c]
push 0xff
push eax
push 0x430138
push str.Method
push str.Connect_Setup
call ebx
mov edi, 0x430138
lea eax, [esp + 0x68]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x40486f
test cl, cl
je 0x40486b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40486f
add eax, 2
add edi, 2
test cl, cl
jne 0x40484b
xor eax, eax
jmp 0x404874
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404884
mov dword [esi + 0x1e04], 1
jmp 0x40488e
mov dword [esi + 0x1e04], 2
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x68]
push eax
push 0xff
push ecx
push 0x430164
push str.TelCon
push str.Connect_Setup
call ebx
mov edi, 0x430164
lea eax, [esp + 0x68]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x4048df
test cl, cl
je 0x4048db
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x4048df
add eax, 2
add edi, 2
test cl, cl
jne 0x4048b7
xor eax, eax
jmp 0x4048e4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4048f0
mov dword [esi + 0x1e0c], eax
jmp 0x4048fa
mov dword [esi + 0x1e0c], 1
push 0
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
push 0x457
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push str.User
lea eax, [esp + 0x28]
push ebp
push eax
call sub.MFC42.DLL_operator
push 0x43012c
lea ecx, [esp + 0x24]
push eax
push ecx
mov byte [esp + 0x17c], 0x12
call sub.MFC42.DLL_operator
push str.EZNet41.ini
lea edx, [esp + 0x1c]
mov bl, 0x13
push eax
push edx
mov byte [esp + 0x17c], bl
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x174], 0x14
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x170], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x170], 0xd
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0x1e04]
dec eax
je 0x404c14
dec eax
je 0x4049c5
dec eax
je 0x404c14
jmp 0x404c74
mov eax, dword [esi + 0x1e0c]
mov ebp, 1
cmp eax, ebp
jne 0x404a39
mov eax, dword [esp + 0x10]
push eax
push 0x430164
push str.TelCon
push str.Connect_Setup
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [esi + 0x55ec]
test eax, eax
je 0x4049fe
mov dword [esi + 0x55e8], ebp
mov eax, dword [esp + 0x178]
mov ecx, dword [esi + 0x55e8]
mov edx, dword [esi + 0x5518]
push ecx
test eax, eax
push edx
je 0x404a28
mov eax, dword [esi + 0xbc]
push 0x538
push eax
jmp 0x404c6e
mov eax, dword [esi + 0xbc]
push 0x537
push eax
jmp 0x404c6e
mov ecx, dword [esp + 0x10]
push ecx
push 0x430164
push str.TelCon
push str.Connect_Setup
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push esi
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CClientDC::CClientDC
mov edx, dword [esi + 0x20]
mov bl, 0x15
push edx
mov byte [esp + 0x174], bl
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push ebp
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 5
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_RedrawWindow]
push 0x105
push 0
push 0
push eax
call edi
mov eax, dword [esi + 0xc8]
test eax, eax
jne 0x404b24
push 0x88
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x170], 0x16
je 0x404b15
push esi
mov ecx, eax
call fcn.00412970
jmp 0x404b17
xor eax, eax
mov byte [esp + 0x170], bl
mov dword [esi + 0xc8], eax
mov ecx, dword [esi + 0xc8]
call fcn.00412cb0
test eax, eax
jne 0x404c01
cmp dword [esi + 0x1e04], 2
jne 0x404b52
mov ecx, dword [esi + 0xc8]
call fcn.00413220
mov byte [esi + 0x1dc8], 0
mov ecx, dword [esi + 0xbc]
push 0
push 0
push 0x8bd
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov dl, byte [esi + 0x1e49]
lea ecx, [esi + 0x555c]
push edx
push 0x4304b0
call fcn.00417420
push 0
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push ebp
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 5
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
push 0x105
push 0
push 0
push eax
call edi
push ebp
push 0x457
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
lea ecx, [esp + 0x54]
mov byte [esp + 0x170], 0xd
call fcn.004223ee
jmp 0x404c74
mov ecx, dword [esp + 0x10]
push ecx
push 0x430164
push str.TelCon
push str.Connect_Setup
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [esi + 0x55ec]
test eax, eax
je 0x404c42
mov dword [esi + 0x55e8], 1
mov eax, dword [esp + 0x178]
mov edx, dword [esi + 0x55e8]
test eax, eax
mov eax, dword [esi + 0x5518]
push edx
push eax
je 0x404c62
push 0x538
jmp 0x404c67
push 0x537
mov ecx, dword [esi + 0xbc]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [esp + 0x10]
mov byte [esp + 0x170], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x170], 5
call fcn.004222f8
pop edi
pop ebx
lea ecx, [esp + 0x14]
mov byte [esp + 0x168], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov dword [esp + 0x168], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop ebp
jmp 0x404d62
mov dl, byte [esi + 0x1e49]
lea ecx, [esi + 0x555c]
push edx
push 0x4304a0
call fcn.00417420
push 0
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
push 0x402
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 1
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 5
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0x3fe
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
push 0x105
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
push 1
push 0x457
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [esp + 0x15c]
pop esi
mov dword fs:[0], ecx
add esp, 0x164
ret 4