Function at 0x6ce00eb0
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ce1b414
mov eax, dword fs:[0]
push eax
sub esp, 0x858
mov eax, dword [0x6ce5c008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x840]
xorps xmm0, xmm0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x854], edi
movq qword [ebp - 0x840], xmm0
call fcn.6cdfef40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x814]
push edi
mov edx, str.QQLive
mov dword [ebp - 0x814], 0
call fcn.6cdf3e30
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x820], 0
movq qword [ebp - 0x828], xmm0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov byte [ebp - 4], 2
call fcn.6cdfe3c0
or ebx, 0xffffffff
test eax, eax
jne 0x6ce00fb2
push 0x2001f
push dword [edi]
lea ecx, [ebp - 0x828]
push 0x80000000
call fcn.6cde4720
test eax, eax
je 0x6ce0106b
sub esp, 8
lea ecx, [ebp - 0x828]
push 0x2001f
sub esp, 8
push dword [edi]
push 0x80000000
call fcn.6cde45e0
test eax, eax
jmp 0x6ce01065
push edi
mov edx, str.SoftwareClasses_
lea ecx, [ebp - 0x81c]
call fcn.6cdf3e30
add esp, 4
lea ecx, [ebp - 0x828]
push 0x2001f
push dword [eax]
push 0x80000001
call fcn.6cde4720
mov edx, dword [ebp - 0x81c]
test eax, eax
mov eax, ebx
setne byte [ebp - 0x849]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01003
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x849], 0
je 0x6ce0106b
push edi
mov edx, str.SoftwareClasses_
lea ecx, [ebp - 0x81c]
call fcn.6cdf3e30
push ecx
push 0x2001f
sub esp, 8
lea ecx, [ebp - 0x828]
push dword [eax]
push 0x80000001
call fcn.6cde45e0
mov edx, dword [ebp - 0x81c]
test eax, eax
mov eax, ebx
setne byte [ebp - 0x849]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0105e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x849], 0
jne 0x6ce02252
push 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x848], 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x848]
lea ecx, [ebp - 0x828]
push eax
push 0x6ce4378c
lea eax, [ebp - 0x810]
push eax
call fcn.6ce0db40
lea eax, [ebp - 0x810]
mov dword [ebp - 0x830], 0
push eax
lea ecx, [ebp - 0x830]
call fcn.6cdbef90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x838]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts_
mov dword [ebp - 0x838], 0
call fcn.6cdbef90
push 0x2001f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x828]
push dword [ebp - 0x838]
push 0x80000001
call fcn.6cde4720
test eax, eax
jne 0x6ce01528
push dword [edi]
lea ecx, [ebp - 0x828]
call fcn.6ce0da10
push edi
lea edx, [ebp - 0x838]
mov dword [ebp - 0x818], 0
lea ecx, [ebp - 0x818]
call fcn.6ce03290
add esp, 4
push 0x2001f
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x828]
push dword [ebp - 0x818]
push 0x80000001
call fcn.6cde4720
test eax, eax
jne 0x6ce0119b
mov edi, dword [ebp - 0x828]
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push str.Application
push edi
call esi
push str.Progid
push edi
call esi
push str.UserChoice
lea ecx, [ebp - 0x828]
call fcn.6ce0d930
push str.UserChoice
lea ecx, [ebp - 0x828]
call fcn.6ce0da10
mov edi, dword [ebp - 0x854]
push str.OpenWithList
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
lea ecx, [ebp - 0x828]
push 0x2001f
push dword [eax]
push 0x80000001
call fcn.6cde4720
mov edx, dword [ebp - 0x854]
test eax, eax
mov eax, ebx
setne byte [ebp - 0x849]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce011f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x849], 0
je 0x6ce01248
push str.OpenWithList
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
push ecx
push 0x2001f
sub esp, 8
lea ecx, [ebp - 0x828]
push dword [eax]
push 0x80000001
call fcn.6cde45e0
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01248
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.OpenWithList
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000001
mov edx, dword [eax]
push 0x6ce462d8
push str.QQLive.exe
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01294
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.OpenWithList
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000001
mov edx, dword [eax]
push 0x6ce462dc
push 0x6ce462d8
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce012e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.OpenWithProgids
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
lea ecx, [ebp - 0x828]
push 0x2001f
push dword [eax]
push 0x80000001
call fcn.6cde4720
mov edx, dword [ebp - 0x854]
test eax, eax
mov eax, ebx
setne byte [ebp - 0x849]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01336
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x849], 0
je 0x6ce0138d
push str.OpenWithProgids
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
push ecx
push 0x2001f
sub esp, 8
lea ecx, [ebp - 0x828]
push dword [eax]
push 0x80000001
call fcn.6cde45e0
mov esi, dword [ebp - 0x854]
mov eax, ebx
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0138d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push edi
mov edx, str.QQLive
lea ecx, [ebp - 0x81c]
call fcn.6cdf3e30
mov esi, eax
push str.OpenWithProgids
lea edx, [ebp - 0x818]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 8
mov ecx, 0x80000001
mov edx, dword [eax]
push dword [esi]
push 0x6ce4378c
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce013ed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, ebx
mov edx, dword [ebp - 0x81c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0140e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x6ce46310
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
lea ecx, [ebp - 0x828]
push 0x2001f
push dword [eax]
push 0x80000001
call fcn.6cde4720
mov edx, dword [ebp - 0x854]
test eax, eax
mov eax, ebx
setne byte [ebp - 0x849]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01464
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x849], 0
je 0x6ce014bb
push 0x6ce46310
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
push ecx
push 0x2001f
sub esp, 8
lea ecx, [ebp - 0x828]
push dword [eax]
push 0x80000001
call fcn.6cde45e0
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce014bb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x6ce46310
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x854]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000001
mov edx, dword [eax]
push str.Progid
push str.QQLive.exe
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01507
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, ebx
mov edx, dword [ebp - 0x818]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01528
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x814]
test eax, eax
jne 0x6ce0153c
push 0x80004005
call fcn.6cdc0090
mov ecx, dword [ebp - 0x830]
mov edx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x6ce0156a
test si, si
je 0x6ce01566
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x6ce0156a
add ecx, 4
add edx, 4
test si, si
jne 0x6ce01544
xor ecx, ecx
jmp 0x6ce0156f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
setne cl
test cl, cl
je 0x6ce01648
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce015b5
mov edx, dword [edi]
mov ecx, 0x80000000
push str.QQLive_Back
push dword [ebp - 0x830]
call fcn.6ce0d870
mov edx, dword [edi]
mov ecx, 0x80000000
push 0
push dword [ebp - 0x814]
call fcn.6ce0d870
jmp 0x6ce01642
push edi
mov edx, str.SoftwareClasses_
lea ecx, [ebp - 0x854]
call fcn.6cdf3e30
add esp, 4
mov ecx, 0x80000001
mov edx, dword [eax]
push str.QQLive_Back
push dword [ebp - 0x830]
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce015fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push edi
mov edx, str.SoftwareClasses_
lea ecx, [ebp - 0x854]
call fcn.6cdf3e30
add esp, 4
mov ecx, 0x80000001
mov edx, dword [eax]
push 0
push dword [ebp - 0x814]
call fcn.6ce0d870
mov edx, dword [ebp - 0x854]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01642
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x814]
cmp dword [eax - 0xc], 0
je 0x6ce01674
push 0x2001f
push eax
push 0x80000000
lea ecx, [ebp - 0x828]
call fcn.6cde4720
test eax, eax
jne 0x6ce01674
push eax
lea ecx, [ebp - 0x828]
call fcn.6ce0da10
lea eax, [ebp - 0x854]
mov dword [ebp - 0x844], 0
push 0
push eax
call sym.QQLiveBase.dll_class_ATL::CStringT_wchar_t__class_ATL::StrTraitATL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_base::GetModuleDirectory_struct_HINSTANCE____
push str.QQLive.exe
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x844]
call fcn.6cddd660
add esp, 0xc
mov byte [ebp - 4], 9
mov eax, ebx
mov edx, dword [ebp - 0x854]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce016c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.6cdbff80
mov ecx, eax
test ecx, ecx
jne 0x6ce016db
push 0x80004005
call fcn.6cdc0090
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x818], eax
lea eax, [ebp - 0x834]
mov byte [ebp - 4], 0xa
push 0
push eax
mov dword [ebp - 0x834], 0
call sym.QQLiveBase.dll_class_ATL::CStringT_wchar_t__class_ATL::StrTraitATL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_base::GetModuleDirectory_struct_HINSTANCE____
add esp, 8
push edi
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 0xb
call fcn.6ce040d0
mov esi, eax
cmp esi, dword [ebp - 0x840]
je 0x6ce01730
lea eax, [esi + 0x10]
push eax
push edi
call fcn.6ce03eb0
test al, al
je 0x6ce01768
push ecx
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], edi
push eax
push ecx
lea ecx, [ebp - 0x840]
call fcn.6ce04460
push eax
add eax, 0x10
lea ecx, [ebp - 0x840]
push eax
push esi
lea eax, [ebp - 0x81c]
push eax
call fcn.6ce04290
mov esi, dword [ebp - 0x81c]
mov ecx, dword [esi + 0x14]
sub ecx, 0x10
call fcn.6cddbc30
add eax, 0x10
mov dword [ebp - 0x81c], eax
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x834]
cmp dword [eax - 0xc], 0
push str.SysDataicon_
jle 0x6ce0182f
lea ecx, [ebp - 0x85c]
call fcn.6cddd660
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0xd
push ecx
mov edx, eax
lea ecx, [ebp - 0x860]
call fcn.6ce03290
push str..ico
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x864]
call fcn.6cddd660
add esp, 0xc
push eax
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0xf
call fcn.6cddbbc0
mov byte [ebp - 4], 0xe
mov eax, ebx
mov edx, dword [ebp - 0x864]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01802
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, ebx
mov edx, dword [ebp - 0x860]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01823
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x85c]
jmp 0x6ce0188e
lea ecx, [ebp - 0x860]
call fcn.6cddd660
push str.DEFAULT.ico
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x85c]
call fcn.6cddd660
add esp, 8
push eax
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0x11
call fcn.6cddbbc0
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x85c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01884
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x860]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce018a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce018df
push str.DefaultIcon
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x864]
call fcn.6cddd660
push ecx
push 0x2001f
sub esp, 8
mov byte [ebp - 4], 0x12
mov ebx, 1
push dword [eax]
push 0x80000000
jmp 0x6ce0192d
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x860]
call fcn.6cdf3e30
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x85c]
push str.DefaultIcon
mov edx, eax
mov dword [ebp - 0x850], 2
call fcn.6cddd660
push 0x2001f
sub esp, 8
mov ebx, 6
push dword [eax]
push 0x80000001
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x850], ebx
call fcn.6cde45e0
or esi, 0xffffffff
test bl, 4
je 0x6ce0196c
mov edx, dword [ebp - 0x85c]
and ebx, 0xfffffffb
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0196c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x12
test bl, 2
je 0x6ce0199e
mov edx, dword [ebp - 0x860]
and ebx, 0xfffffffd
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0199e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
test bl, 1
je 0x6ce019d0
mov edx, dword [ebp - 0x864]
and ebx, 0xfffffffe
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce019d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x81c]
lea eax, [ebp - 0x818]
push edi
push str._s_0
push eax
mov dword [ebp - 0x85c], ebx
call fcn.6cde9660
add esp, 0xc
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce01a21
push str.DefaultIcon
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 4
mov byte [ebp - 4], 0x14
or ebx, 8
mov ecx, 0x80000000
jmp 0x6ce01a6b
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x864]
call fcn.6cdf3e30
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x860]
or ebx, 0x10
mov edx, eax
push str.DefaultIcon
mov dword [ebp - 0x850], ebx
call fcn.6cddd660
mov ebx, dword [ebp - 0x85c]
add esp, 8
or ebx, 0x30
mov ecx, 0x80000001
mov edx, dword [eax]
push 0
push dword [ebp - 0x818]
mov dword [ebp - 0x850], ebx
call fcn.6ce0d870
test bl, 0x20
je 0x6ce01aab
mov edx, dword [ebp - 0x860]
and ebx, 0xffffffdf
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01aab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x14
test bl, 0x10
je 0x6ce01add
mov edx, dword [ebp - 0x864]
and ebx, 0xffffffef
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01add
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
test bl, 8
je 0x6ce01b0f
mov edx, dword [ebp - 0x858]
and ebx, 0xfffffff7
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01b0f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x858], ebx
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce01b4d
push str.Shellopen
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x864]
call fcn.6cddd660
push ecx
push 0x2001f
or ebx, 0x40
mov byte [ebp - 4], 0x16
sub esp, 8
push dword [eax]
push 0x80000000
jmp 0x6ce01ba4
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x860]
call fcn.6cdf3e30
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x85c]
or ebx, 0x80
mov edx, eax
push str.Shellopen
mov dword [ebp - 0x850], ebx
call fcn.6cddd660
mov ebx, dword [ebp - 0x858]
push 0x2001f
or ebx, 0x180
sub esp, 8
push dword [eax]
push 0x80000001
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x850], ebx
call fcn.6cde45e0
test ebx, 0x100
je 0x6ce01be6
mov edx, dword [ebp - 0x85c]
and ebx, 0xfffffeff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01be6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x16
test bl, bl
jns 0x6ce01c1a
mov edx, dword [ebp - 0x860]
and ebx, 0xffffff7f
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01c1a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
test bl, 0x40
je 0x6ce01c4c
mov edx, dword [ebp - 0x864]
and ebx, 0xffffffbf
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01c4c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x858], ebx
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce01c8d
push str.ShellopenCommand
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x864]
call fcn.6cddd660
push ecx
push 0x2001f
or ebx, 0x200
mov byte [ebp - 4], 0x18
sub esp, 8
push dword [eax]
push 0x80000000
jmp 0x6ce01ce4
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x860]
call fcn.6cdf3e30
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x85c]
or ebx, 0x400
mov edx, eax
push str.ShellopenCommand
mov dword [ebp - 0x850], ebx
call fcn.6cddd660
mov ebx, dword [ebp - 0x858]
push 0x2001f
or ebx, 0xc00
sub esp, 8
push dword [eax]
push 0x80000001
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x850], ebx
call fcn.6cde45e0
test ebx, 0x800
je 0x6ce01d26
mov edx, dword [ebp - 0x85c]
and ebx, 0xfffff7ff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01d26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x18
test ebx, 0x400
je 0x6ce01d5e
mov edx, dword [ebp - 0x860]
and ebx, 0xfffffbff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01d5e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
test ebx, 0x200
je 0x6ce01d96
mov edx, dword [ebp - 0x864]
and ebx, 0xfffffdff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01d96
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x844]
lea eax, [ebp - 0x818]
mov esi, ebx
push str.__s_____1_
push eax
call fcn.6cde9660
add esp, 0xc
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce01e0d
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x860]
call fcn.6cdf3e30
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x85c]
or ebx, 0x1000
mov edx, eax
push str.ShellopenCommand
mov dword [ebp - 0x850], ebx
call fcn.6cddd660
add esp, 8
mov ebx, esi
mov dword [ebp - 4], 0x1b
or ebx, 0x3000
mov ecx, 0x80000001
jmp 0x6ce01e31
push str.ShellopenCommand
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000000
or ebx, 0x4000
mov esi, dword [ebp - 0x818]
mov edx, dword [eax]
push 0
push esi
call fcn.6ce0d870
test ebx, 0x4000
je 0x6ce01e73
mov edx, dword [ebp - 0x858]
and ebx, 0xffffbfff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01e73
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x1a
test ebx, 0x2000
je 0x6ce01eac
mov edx, dword [ebp - 0x85c]
and ebx, 0xffffdfff
mov dword [ebp - 0x850], ebx
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01eac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
test ebx, 0x1000
je 0x6ce01edd
mov edx, dword [ebp - 0x860]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01ee0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x6ce01ee0
or ebx, 0xffffffff
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce01f6d
push 0x6ce463fc
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000000
mov edx, dword [eax]
push 0
push 0x6ce448f8
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01f36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Shellopen
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000000
mov edx, dword [eax]
push 0
push 0x6ce4640c
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
jmp 0x6ce02058
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x85c]
call fcn.6cdf3e30
push 0x6ce463fc
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 8
mov ecx, 0x80000001
mov edx, dword [eax]
push 0
push 0x6ce448f8
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01fcd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov eax, ebx
mov edx, dword [ebp - 0x85c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce01fee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x85c]
call fcn.6cdf3e30
push str.Shellopen
mov edx, eax
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 8
mov ecx, 0x80000001
mov edx, dword [eax]
push 0
push 0x6ce4640c
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0204e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x85c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce0206f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x82c], 0
push 0
push eax
call sym.QQLiveBase.dll_class_ATL::CStringT_wchar_t__class_ATL::StrTraitATL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_base::GetModuleDirectory_struct_HINSTANCE____
add esp, 8
push 0xe
push str.QQLiveDisk.ico
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0x1e
call fcn.6cdddb50
call fcn.6cdfe3c0
test eax, eax
jne 0x6ce020e1
push str.Shellopen
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 4
mov ecx, 0x80000000
mov edx, dword [eax]
push str.icon
push dword [ebp - 0x82c]
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
jmp 0x6ce0214f
lea eax, [ebp - 0x814]
mov edx, str.SoftwareClasses_
push eax
lea ecx, [ebp - 0x85c]
call fcn.6cdf3e30
push str.Shellopen
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x858]
call fcn.6cddd660
add esp, 8
mov ecx, 0x80000001
mov edx, dword [eax]
push str.icon
push dword [ebp - 0x82c]
call fcn.6ce0d870
mov edx, dword [ebp - 0x858]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02145
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x85c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02166
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov byte [ebp - 4], 0xc
mov eax, ebx
mov edx, dword [ebp - 0x82c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02198
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x6ce021b3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, ebx
mov edx, dword [ebp - 0x834]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce021d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x6ce021ef
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, ebx
mov edx, dword [ebp - 0x844]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02210
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, ebx
mov edx, dword [ebp - 0x838]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02231
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x830]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x6ce02252
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x828]
test eax, eax
je 0x6ce02263
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x814]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x6ce02282
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x840]
lea ecx, [ebp - 0x840]
push eax
push dword [eax]
lea eax, [ebp - 0x858]
push eax
call fcn.6ce03410
push dword [ebp - 0x840]
call fcn.6ce118fc
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.6ce11901
mov esp, ebp
pop ebp
ret