Function at 0x43da30
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ce7a8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x528f34]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00440530
mov ecx, eax
call fcn.00440220
mov ecx, dword [ebp + 8]
sub ecx, ebx
je 0x43da8d
sub ecx, 1
jne 0x43daa4
cmp eax, ebx
mov eax, str.PreLogin_QQUpdateErrorTimes
jne 0x43da9b
mov eax, str.QQUpdateErrorTimes
jmp 0x43da9b
cmp eax, ebx
mov eax, str.PreLogin_QPERRORTIMES
jne 0x43da9b
mov eax, str.QQProtectErrorTimes
push eax
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t__
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push esi
push edi
push eax
push ecx
lea edx, [ebp - 0x10]
mov ecx, esp
mov dword [ebp + 0x10], esp
push edx
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
push str._s:_d__dwVer:_d__dwcount:_d
push str.QPUpdate
push 2
push str.UpdateErrorHandleUtil::SetErrInfo
push 0x454
push str.F:_svn_codeQPUpd_v137SourceUtilAppUitl.cpp
call fcn.0042d2a0
add esp, 0x28
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_bool___thiscall_CTXStringW::IsEmpty_void_const
test al, al
jne 0x43db4e
lea ecx, [ebp - 0x18]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
push esi
push str.Count
push edi
push 0x4e0f34
lea eax, [ebp - 0x18]
push str._s_u__s_u_
push eax
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___cdecl_CTXStringW::Format_wchar_t_const__
add esp, 0x18
lea ecx, [ebp - 0x14]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
mov byte [ebp - 4], 2
call fcn.0043c790
add esp, 8
cmp eax, ebx
jne 0x43db71
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.0043ba50
push str.QPUpdateErr_
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0x14
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 5
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push ebx
lea ecx, [ebp - 0x1c]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x43dc29
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x43dc29
mov dword [ebp + 0xc], str.CreateDirectory_fail
mov dword [ebp - 0x28], str.F:_svn_codeQPUpd_v137SourceUtilAppUitl.cpp
mov dword [ebp - 0x24], str.UpdateErrorHandleUtil::SetErrInfo
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x54], 0x46a
mov dword [ebp - 0x50], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x58], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea edx, [ebp - 0x3c]
push edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ebx
call dword [sym.imp.MSVCR80.dll__time64]
lea eax, [ebp + 0xc]
push eax
push 0x4dd0ec
lea ecx, [ebp - 0x5c]
push str.QPUpdate
push ecx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call sym.QQProtectUpd.exe_void___cdecl_TXLog_DoTXLogVW_struct_tagLogObj___wchar_t_const___wchar_t_const___char__
add esp, 0x14
mov edx, dword [ebp - 0x14]
push edx
push ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
push 0x4e0fac
push str.QPUpdate
push 2
push str.UpdateErrorHandleUtil::SetErrInfo
push 0x46e
push str.F:_svn_codeQPUpd_v137SourceUtilAppUitl.cpp
call fcn.0042d2a0
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.0043c950
add esp, 0x28
mov ecx, eax
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x14]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push str.QPUPDATE
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp + 8]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret