Function at 0x41564f
Capabilities:
Check if file exists

Disassembly:
push 0x6c
mov eax, 0x437af8
call fcn.00433cb0
and dword [ebp - 0x48], 0
and dword [ebp - 4], 0
push 0x43cd1c
push 0x43cd14
lea ecx, [ebp + 8]
mov dword [ebp - 0x4c], 1
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::Replace_wchar_t_const___wchar_t_const__]
lea ecx, [ebp + 8]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::MakeLower_void_]
mov ebx, dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_class_CTXStringW_const__]
push eax
lea ecx, [ebp + 8]
call ebx
mov esi, str.tencent:
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, str.QPlus
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x43ccf8
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::GetLength_void_const]
lea ecx, [ebp + 8]
call edi
cmp eax, 8
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
jle 0x415a28
push 8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_]
push eax
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.Common.dll_bool___cdecl_operator_wchar_t_const___class_CTXStringW_const__]
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x39], al
mov byte [ebp - 4], 0
call esi
cmp byte [ebp - 0x39], 0
je 0x41572b
lea ecx, [ebp + 8]
call edi
sub eax, 8
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Right_int_]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call esi
lea ecx, [ebp + 8]
call edi
cmp eax, 2
jle 0x415a28
push 2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Mid_int_]
mov ecx, eax
mov byte [ebp - 4], 3
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::Trim_void_]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call esi
mov ebx, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x78]
call ebx
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call ebx
push dword [ebp - 0x40]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.Common.dll_class_CTXStringW___cdecl_operator_class_CTXStringW_const___class_CTXStringW_const__]
add esp, 0xc
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call esi
lea ecx, [ebp - 0x58]
call edi
lea ecx, [ebp - 0x60]
mov ebx, eax
call edi
cmp eax, ebx
mov ebx, dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
jle 0x4157f7
lea ecx, [ebp - 0x58]
call edi
push eax
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x48], 1
call ebx
mov ecx, dword [ebp - 0x40]
push eax
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::CompareNoCase_wchar_t_const__const]
test eax, eax
mov byte [ebp - 0x39], 1
je 0x4157fb
mov byte [ebp - 0x39], 0
test byte [ebp - 0x48], 1
je 0x415806
lea ecx, [ebp - 0x64]
call esi
cmp byte [ebp - 0x39], 0
je 0x415a16
lea ecx, [ebp - 0x58]
call edi
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Mid_int_]
mov edi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__]
and dword [ebp - 0x68], 0
push 0x43aa24
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call edi
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0xc
call fcn.0041447f
add esp, 0x18
mov dword [ebp - 0x44], eax
call fcn.00412f9f
test eax, eax
jne 0x4158ef
cmp dword [ebp - 0x44], eax
je 0x415898
push dword [ebp - 0x6c]
lea eax, [ebp - 0x48]
push dword [ebp - 0x64]
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x68]
call fcn.004146d4
add esp, 0x14
jmp 0x415a00
push str.IDS_QPLUS_TITLE_NOT_INSTALLED
call fcn.00402cfb
pop ecx
push eax
lea ecx, [ebp - 0x5c]
call edi
mov dword [ebp - 0x4c], eax
push str.IDS_QPLUS_TEXT_NOT_INSTALLED
mov byte [ebp - 4], 0xd
call fcn.00402cfb
pop ecx
push eax
lea ecx, [ebp - 0x50]
call edi
mov edi, eax
mov ecx, dword [ebp - 0x4c]
push 0x40
mov byte [ebp - 4], 0xe
call ebx
push eax
mov ecx, edi
call ebx
push eax
push 0
call fcn.0041532b
add esp, 0x10
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xd
call esi
lea ecx, [ebp - 0x5c]
jmp 0x4159fa
lea eax, [ebp - 0x50]
push 0x43c640
push eax
call fcn.00412d33
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0xf
call fcn.00412c1d
push str.QPlus.exe
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x10
call dword [sym.imp.Common.dll_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__]
add esp, 0x18
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
call esi
cmp dword [ebp - 0x44], 0
je 0x41596f
lea ecx, [ebp - 0x44]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_void_]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x44]
push str.sys_logintruefromweblink_app__lu
mov byte [ebp - 4], 0x13
call ebx
push eax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.Common.dll_public:_void___cdecl_CTXStringW::Format_wchar_t_const__]
add esp, 0x10
lea ecx, [ebp - 0x44]
call ebx
push eax
call fcn.00412f67
pop ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call esi
jmp 0x41597b
lea ecx, [ebp - 0x54]
call ebx
push eax
call fcn.00412f67
pop ecx
lea ecx, [ebp - 0x50]
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
test al, al
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
jne 0x41599a
lea ecx, [ebp - 0x50]
call ebx
push eax
call edi
test eax, eax
jne 0x4159bc
lea ecx, [ebp - 0x5c]
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
test al, al
jne 0x4159ee
lea ecx, [ebp - 0x5c]
call ebx
push eax
call edi
test eax, eax
je 0x4159ee
call fcn.004153fe
test eax, eax
je 0x4159ca
lea ecx, [ebp - 0x54]
call ebx
push eax
call fcn.00412f67
pop ecx
jmp 0x4159ee
push 0
push str.IDS_QPLUS_QQ_PROMPT
call fcn.00402cfb
pop ecx
push eax
push str.IDS_QPLUS_QQ_NOT_LOGIN
call fcn.00402cfb
pop ecx
push eax
push 0
call fcn.0041532b
add esp, 0x10
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xf
call esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xc
call esi
and dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call esi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xa
call esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call esi
mov eax, dword [ebp - 0x4c]
call fcn.00433d33
ret