Function at 0x441b20
Capabilities:
Check for time delay via gettickcount
Copy file
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ceefe
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
push ebx
push esi
push edi
mov eax, dword [0x528f34]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
je 0x441d52
cmp dword [ebp + 0xc], ebx
je 0x441d52
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0043c100
add esp, 8
push esi
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::GetLength_void_const
sub eax, 1
push eax
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_wchar_t___thiscall_CTXStringW::GetAt_int_const
cmp ax, 0x5c
je 0x441bcb
push 0x5c
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::ReverseFind_wchar_t_const
add eax, 1
push eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.0044d92a
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
call fcn.0042d310
push str.SelfUpdate.dat
push 0x4fed54
push ecx
lea edx, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push edx
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
lea eax, [ebp - 0x70]
push eax
call fcn.0043c530
add esp, 8
push eax
lea ecx, [ebp - 0x7c]
push ecx
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
push eax
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 5
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1c]
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBuffer_void_
push eax
lea ecx, [ebp - 0x14]
call fcn.0042eef0
or edi, 0xffffffff
push edi
lea ecx, [ebp - 0x1c]
mov esi, eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::ReleaseBuffer_int_
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
push str.the_config_file_path_is___s
push str.QPUPDATE
push 2
push str.ProcessHelper::ReplaceUpdaterUsingNewVer
push 0x85
push str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
call fcn.0042d2a0
add esp, 0x1c
cmp esi, ebx
jne 0x441d66
mov dword [ebp + 8], str.verify_self_update_info_fail
mov dword [ebp - 0x90], str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
mov dword [ebp - 0x8c], str.ProcessHelper::ReplaceUpdaterUsingNewVer
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xbc], 0x89
mov dword [ebp - 0xb8], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xc0], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0xa4]
push ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ebx
call dword [sym.imp.MSVCR80.dll__time64]
lea edx, [ebp + 8]
push edx
push 0x4dd0ec
lea eax, [ebp - 0xc4]
push str.QPUPDATE
push eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call sym.QQProtectUpd.exe_void___cdecl_TXLog_DoTXLogVW_struct_tagLogObj___wchar_t_const___wchar_t_const___char__
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x18]
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
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0042d740
mov dword [ebp - 0x30], ebx
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.0042e240
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x441d24
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x60]
call eax
mov eax, dword [ebp - 0x58]
cmp eax, 1
jae 0x441dbf
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov byte [ebp - 4], 8
je 0x441d24
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x441d24
push eax
push str.The_number_of_update_files_is__u
push str.QPUPDATE
push 3
push str.ProcessHelper::ReplaceUpdaterUsingNewVer
push 0x9c
push str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
call fcn.00442b40
xor eax, eax
xor edx, edx
add esp, 0x1c
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x58], ebx
mov dword [ebp - 0x38], ebx
jbe 0x442029
lea esp, [esp]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
lea edx, [ebp - 0x40]
push edx
mov edx, dword [ebp - 0x38]
push edx
push eax
mov eax, dword [ecx + 0x1ac]
mov byte [ebp - 4], 0xb
call eax
cmp dword [ebp - 0x40], ebx
je 0x4420a5
lea ecx, [ebp - 0x4c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
lea ecx, [ebp - 0x44]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
mov edi, dword [ebp - 0x40]
lea ecx, [ebp - 0x80]
push 0x4e1f24
push ecx
mov byte [ebp - 4], 0xd
call fcn.0042ced0
add esp, 8
mov dword [ebp - 0x34], eax
mov esi, dword [edi]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xe
add esi, 0x40
call sym.QQProtectUpd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
mov ecx, dword [ebp - 0x34]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
mov edx, dword [esi]
push eax
push edi
call edx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x84]
push 0x4e1f30
push eax
call fcn.0042ced0
add esp, 8
mov dword [ebp - 0x34], eax
mov esi, dword [edi]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xf
add esi, 0x40
call sym.QQProtectUpd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
mov ecx, dword [ebp - 0x34]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
mov ecx, dword [esi]
push eax
push edi
call ecx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xc8]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXBSTR_const__
mov esi, eax
push 0x4de3a0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x10
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
lea ecx, [ebp - 0x18]
push ecx
push eax
lea edx, [ebp - 0x74]
push edx
mov byte [ebp - 4], 0x11
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___class_CTXStringW_const__
push esi
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x12
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___class_CTXStringW_const__
add esp, 0x18
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x14
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x15
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x16
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push 0x10
lea ecx, [ebp - 0x50]
call fcn.004302e0
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x50]
push edx
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x60], ebx
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call sym.QQProtectUpd.exe_int___cdecl_Util::FS::GetFileHash_wchar_t_const___class_CTXBuffer___unsigned_long_int__
add esp, 0xc
test eax, eax
je 0x44211c
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_Util::Encode::Encode16_class_CTXBuffer_const__
add esp, 8
mov esi, eax
lea edx, [ebp - 0x44]
push edx
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x18
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXBSTR_const__
mov ecx, esi
mov edi, eax
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
mov ecx, edi
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::CompareNoCase_wchar_t_const__const
lea ecx, [ebp - 0x68]
mov esi, eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x17
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp esi, ebx
jne 0x4421d5
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00432450
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
call fcn.0042cf00
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x44]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea ecx, [ebp - 0x4c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x441ffd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x38]
add eax, 1
cmp eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
jb 0x441e00
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov edx, dword [ebp - 0x24]
je 0x442029
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp ecx, 1
jae 0x4422fa
cmp eax, ebx
mov byte [ebp - 4], 9
je 0x44205a
cmp eax, edx
mov edi, edx
mov esi, eax
je 0x442051
lea esp, [esp]
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x442040
mov eax, dword [ebp - 0x28]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x442076
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], 0xffffffff
jmp 0x441d4a
mov esi, dword [ebp - 0x28]
cmp esi, ebx
mov byte [ebp - 4], 9
je 0x4420d1
mov edi, dword [ebp - 0x24]
cmp esi, edi
je 0x4420c8
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x4420b7
mov esi, dword [ebp - 0x28]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x4420ed
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], 0xffffffff
jmp 0x441d4a
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
call fcn.0042cf00
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x44]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea ecx, [ebp - 0x4c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x442157
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [ebp - 0x28]
cmp esi, ebx
mov byte [ebp - 4], 9
je 0x44218a
mov edi, dword [ebp - 0x24]
cmp esi, edi
je 0x442181
lea esp, [esp]
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x442170
mov esi, dword [ebp - 0x28]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x4421a6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], 0xffffffff
jmp 0x441d4a
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_Util::Encode::Encode16_class_CTXBuffer_const__
add esp, 8
mov esi, eax
lea edx, [ebp - 0x44]
push edx
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXBSTR_const__
mov edi, eax
mov ecx, esi
mov byte [ebp - 4], 0x1a
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::GetString_void_const
push eax
mov ecx, edi
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::GetString_void_const
push eax
push str.hash:__s___s
push str.QPUPDATE
push 2
push str.ProcessHelper::ReplaceUpdaterUsingNewVer
push 0xb6
push str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
call fcn.00442b40
add esp, 0x20
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x17
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
call fcn.0042cf00
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x44]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea ecx, [ebp - 0x4c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x442283
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [ebp - 0x28]
cmp esi, ebx
mov byte [ebp - 4], 9
je 0x4422af
mov edi, dword [ebp - 0x24]
cmp esi, edi
je 0x4422a6
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x442295
mov esi, dword [ebp - 0x28]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x4422cb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], 0xffffffff
jmp 0x441d4a
mov dword [ebp - 0x3c], 0x4e24a4
mov dword [ebp - 0x90], str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
mov dword [ebp - 0x8c], str.ProcessHelper::ReplaceUpdaterUsingNewVer
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xbc], 0xc0
mov dword [ebp - 0xb8], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xc0], 3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xa4]
push eax
mov dword [ebp - 0xac], ebx
call dword [sym.imp.MSVCR80.dll__time64]
lea ecx, [ebp - 0x3c]
push ecx
push 0x4dd0ec
lea edx, [ebp - 0xc4]
push str.QPUPDATE
push edx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call sym.QQProtectUpd.exe_void___cdecl_TXLog_DoTXLogVW_struct_tagLogObj___wchar_t_const___wchar_t_const___char__
add esp, 0x14
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00430bb0
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x64], ecx
lea esp, [esp]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], eax
jbe 0x4423c1
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x64]
cmp eax, ebx
je 0x4423cf
lea edx, [ebp - 0x2c]
cmp eax, edx
je 0x4423d8
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x64]
cmp edi, dword [ebp - 0x3c]
je 0x442645
cmp eax, ebx
jne 0x4423ee
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x64]
cmp edi, dword [eax + 8]
jb 0x4423f9
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push edi
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x34]
push ecx
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___class_CTXStringW_const__
add esp, 0xc
mov edx, dword [ebp - 0x64]
cmp edi, dword [edx + 8]
mov byte [ebp - 4], 0x1b
jb 0x44241c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push edi
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x38]
push ecx
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___class_CTXStringW_const__
add esp, 0xc
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 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_DeleteFileW]
test eax, eax
jne 0x442512
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.self_update_delete_file_fail:_d__strdes___s
push str.QPUPDATE
push 2
push str.ProcessHelper::ReplaceUpdaterUsingNewVer
push 0xcc
push str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
call fcn.00442b40
add esp, 0x20
mov dword [ebp - 0x68], str.sleep_5_seconds
mov dword [ebp - 0xd8], str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
mov dword [ebp - 0xd4], str.ProcessHelper::ReplaceUpdaterUsingNewVer
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x104], 0xce
mov dword [ebp - 0x100], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x108], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xec]
push eax
mov dword [ebp - 0xf4], ebx
call dword [sym.imp.MSVCR80.dll__time64]
lea ecx, [ebp - 0x68]
push ecx
push 0x4dd0ec
lea edx, [ebp - 0x10c]
push str.QPUPDATE
push edx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
call sym.QQProtectUpd.exe_void___cdecl_TXLog_DoTXLogVW_struct_tagLogObj___wchar_t_const___wchar_t_const___char__
add esp, 0x14
push 0x13ec
call esi
push ebx
lea ecx, [ebp - 0x34]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x38]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x442553
push 0x1f4
call esi
push ebx
lea ecx, [ebp - 0x34]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x38]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x442581
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1b
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov eax, dword [ebp - 0x64]
cmp edi, dword [eax + 8]
jb 0x442579
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add edi, 4
jmp 0x4423b0
push ecx
lea edx, [ebp - 0x38]
mov ecx, esp
mov dword [ebp + 8], esp
push edx
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
push str.self_copy_file_fail__strSource___s
push str.QPUPDATE
push 2
push str.ProcessHelper::ReplaceUpdaterUsingNewVer
push 0xd7
push str.F:_svn_codeQPUpd_v137SourceUtilProcessHelper.cpp
call fcn.0042d2a0
add esp, 0x1c
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1b
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov esi, dword [ebp - 0x28]
cmp esi, ebx
mov byte [ebp - 4], 9
je 0x4425fa
mov edi, dword [ebp - 0x24]
cmp esi, edi
je 0x4425f1
lea ecx, [ecx]
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x4425e0
mov esi, dword [ebp - 0x28]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x442616
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov dword [ebp - 4], 0xffffffff
jmp 0x441d4a
mov ecx, 0x5292dc
call fcn.00443f70
push 0x3c
lea eax, [ebp - 0x148]
push ebx
push eax
call sub.MSVCR80.dll_memset
mov ecx, dword [ebp + 8]
add esp, 0xc
push ecx
lea ecx, [ebp - 0x54]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
push 0x5c
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1d
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::ReverseFind_wchar_t_const
add eax, 1
push eax
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x54]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1e
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
mov byte [ebp - 4], 0x1f
call fcn.00440530
mov ecx, eax
call fcn.00440240
push eax
push 0x4e1ed4
push str._afterselfupd
call fcn.00440530
mov ecx, eax
call fcn.00440220
push eax
mov eax, dword [ebp + 0xc]
push str._preloginupdate
push eax
push str._auto_qp
lea ecx, [ebp - 0x5c]
push str._s__s__s_d__s__s_d
push ecx
call sym.QQProtectUpd.exe_public:_void___cdecl_CTXStringW::Format_wchar_t_const__
add esp, 0x24
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x148], 0x3c
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x144], 0x540
mov dword [ebp - 0x13c], str.open
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x138], eax
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x130], eax
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
lea edx, [ebp - 0x148]
push edx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x12c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1e
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1d
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xa
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov esi, dword [ebp - 0x28]
cmp esi, ebx
mov byte [ebp - 4], 9
je 0x44279a
mov edi, dword [ebp - 0x24]
cmp esi, edi
je 0x442791
lea esp, [esp]
mov ecx, esi
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
add esi, 4
cmp esi, edi
jne 0x442780
mov esi, dword [ebp - 0x28]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 8
je 0x4427b6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004344c0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x18]
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