Function at 0x415520
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x41f4e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x2c]
push 0x104
push eax
push 0
mov dword [esp + 0x144], 0
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
dec ecx
je 0x415583
mov al, 0x5c
cmp byte [esp + ecx + 0x2c], al
je 0x415583
dec ecx
jne 0x41557a
mov byte [esp + ecx + 0x2c], 0
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x18]
push 0x4270a0
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push str.qqcfg.dll
push eax
push ecx
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 1
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edx
push 0
push str.AddDateFloder
push str.Setting
mov byte [esp + 0x148], 2
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415611
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x407
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429484], esi
push ecx
push 0x104
push 0x104
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.SavePath
push str.Setting
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x406
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [eax - 8]
push eax
call sub.MFC42.DLL_CString::GetBuffer
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x14]
mov edx, ecx
mov esi, edi
mov edi, 0x429384
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0
and ecx, 3
push str.CreatSubFloder
rep movsb byte es:[edi], byte [esi]
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287dc
cmp esi, 1
je 0x4156c5
mov eax, 0x427cd4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x408
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x4297f4], esi
push edx
push 0
push str.MiniWindow
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x41570a
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x40c
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x42934c], esi
push ecx
push 0
push str.CloseWindow
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x41574f
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x40a
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push 0x104
push 0x104
mov dword [0x42937c], esi
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.CloseWindowTime
push str.Setting
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov ecx, dword [esp + 0x10]
push ecx
push 0x40b
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll_atoi]
push edx
call edi
add esp, 4
mov dword [0x429380], eax
mov eax, dword [esp + 0x14]
push eax
push 0
push str.SaveRvFRecord
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x4157e5
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x409
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x429348], esi
push edx
push 0
push str.SaveMsg
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x41582a
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x40d
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429378], esi
push ecx
push 0
push str.SerchDiskPlace
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x41586f
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x40e
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push 0x104
push 0x104
mov dword [0x429374], esi
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.DiskPlace
push str.Setting
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov ecx, dword [esp + 0x10]
push ecx
push 0x40f
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x10]
push edx
call edi
add esp, 4
mov dword [0x429370], eax
mov eax, dword [esp + 0x14]
push eax
push 0
push str.AutoRequit
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x4158ff
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x410
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x42936c], esi
push edx
push 0
push str.AutoStopRequit
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415944
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x417
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429368], esi
push ecx
push 0
push str.AutoEndRequit
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415989
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x418
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
mov dword [0x429364], esi
push eax
push 0
push 0x428444
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x4159ce
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x41f
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x429360], esi
push edx
push 0
push str.Fileaccit
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415a13
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x411
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429350], esi
push ecx
push 0x104
push 0x104
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::GetBuffer
mov edi, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
push eax
push 0
push str.SerchPerTime
push str.Setting
call edi
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x412
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
push eax
push 0
push str.AotuRun
push str.Setting
call ebx
cmp eax, 1
mov eax, 0x4287e8
je 0x415a94
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x413
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
push edx
push 0
push str.MiniAfterRun
push str.Setting
call ebx
cmp eax, 1
mov eax, 0x4287e8
je 0x415ad1
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x414
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
push ecx
push 0
push str.CheckIco
push str.Setting
call ebx
cmp eax, 1
mov eax, 0x4287e8
je 0x415b0e
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x415
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push 0x104
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.AnswerMsg
push str.Setting
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x42935c
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
push 0x104
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.StopAnswerMsg
push str.Setting
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea eax, [esp + 0x10]
mov ecx, 0x429358
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x14]
push ecx
push 0x104
push 0x104
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push str.EndAnswerMsg
push str.Setting
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea edx, [esp + 0x10]
mov ecx, 0x429354
push edx
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x14]
push eax
push 0
push str.SmallWindow
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415c10
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x416
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x429344], esi
push edx
push 0
push str.AddTimeCode
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415c55
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x419
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429340], esi
push ecx
push 0
push str.Redico
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415c9a
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x41d
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [esp + 0x14]
mov dword [0x42933c], esi
push eax
push 0
push str.AutoShutDown
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415cdf
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x10]
push ecx
push 0x41e
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
mov dword [0x429338], esi
push edx
push 0
push str.LimitQQ
push str.Setting
call ebx
mov esi, eax
mov eax, 0x4287e8
cmp esi, 1
je 0x415d24
mov eax, 0x4287e4
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 0x420
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x14]
mov dword [0x429330], esi
push ecx
push 0
push str.QQNikeAfterDateFloder
push str.Setting
call ebx
mov esi, eax
test esi, esi
je 0x415d65
push 0x4287c0
jmp 0x415d6a
push 0x4287a4
push 0x421
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
push 0x104
push 0x104
mov dword [0x429334], esi
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0x428dd4
push str.SMSEail
push str.Setting
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea eax, [esp + 0x10]
mov ecx, 0x42932c
push eax
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [0x429338]
test eax, eax
je 0x415ed9
mov ecx, dword [esp + 0x14]
push ecx
push 0x104
push 0x104
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push str.23:50
push str.ShutTime
push str.Setting
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea edx, [esp + 0x1c]
push 2
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCRT.dll_sscanf]
lea ecx, [esp + 0x20]
push ecx
push 0x427108
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x1c]
push 2
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push ecx
push 0x427108
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x18]
push edx
call sub.MFC42.DLL_CTime::GetTickCount
push 0
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edi, dword [eax + 0xc]
push 0
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CTime::GetLocalTm
mov esi, dword [eax + 0x10]
push 0
lea ecx, [esp + 0x1c]
inc esi
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push ecx
push edx
add eax, 0x76c
push edi
push esi
push eax
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CTime::CTime
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [0x428ef8], eax
mov dword [esp + 0x2c], esp
mov dword [ecx], eax
lea ecx, [esp + 0x1c]
call fcn.00409490
test eax, eax
je 0x415ed9
mov dword [0x429338], 0
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x130]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x12c
ret