Function at 0x445220
Capabilities:
Persist via default file association registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac0
mov eax, dword [0x481288]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x288]
push eax
push 0x20006
push 0
push str.QQPet
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
je 0x445279
lea ecx, [ebp - 0x288]
push ecx
push str.QQPet
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov word [ebp - 0xac0], 0
push 0x206
push 0
lea edx, [ebp - 0xabe]
push edx
call fcn.00415680
add esp, 0xc
push str.Plugincom.tencent.qqpet_binQQPetQQPetURLLink.exe
push 0x4880d0
push 0x475054
push 0x208
push 0x104
lea eax, [ebp - 0xac0]
push eax
call fcn.004157ac
add esp, 0x18
lea ecx, [ebp - 0xac0]
push ecx
call fcn.00414d31
add esp, 4
shl eax, 1
push eax
lea edx, [ebp - 0xac0]
push edx
push 1
push 0
push str.URL_Protocol
mov eax, dword [ebp - 0x288]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
je 0x445312
mov ecx, dword [ebp - 0x288]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov edx, dword [ebp - 0x288]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x2c]
push eax
push 0x20006
push 0
push str.QQPet_shellopencommand
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x44535d
lea ecx, [ebp - 0x2c]
push ecx
push str.QQPet_shellopencommand
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov word [ebp - 0x498], 0
push 0x206
push 0
lea edx, [ebp - 0x496]
push edx
call fcn.00415680
add esp, 0xc
push 0x474f90
push str.Plugincom.tencent.qqpet_binQQPetQQPetURLLink.exe
push 0x4880d0
push str.__s_s___s
push 0x208
push 0x104
lea eax, [ebp - 0x498]
push eax
call fcn.004157ac
add esp, 0x1c
lea ecx, [ebp - 0x498]
push ecx
call fcn.00414d31
add esp, 4
shl eax, 1
push eax
lea edx, [ebp - 0x498]
push edx
push 1
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4453f2
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x1d
mov esi, str.SOFTWAREMicrosoftInternet_ExplorerProtocolExecuteqqpet
lea edi, [ebp - 0x8b8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x192
push 0
lea eax, [ebp - 0x842]
push eax
call fcn.00415680
add esp, 0xc
lea ecx, [ebp - 0x6b0]
push ecx
push 0x20006
push 0
lea edx, [ebp - 0x8b8]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
je 0x44546e
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x8b8]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov dword [ebp - 0x49c], 0
push 4
lea edx, [ebp - 0x49c]
push edx
push 4
push 0
push str.WarnOnOpen
mov eax, dword [ebp - 0x6b0]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4454ba
mov ecx, dword [ebp - 0x6b0]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov edx, dword [ebp - 0x6b0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x33
mov esi, str.SoftwareMicrosoftInternet_ExplorerLow_RightsElevationPolicy1FA39976_7194_44E8_8DD9_A9781D289934
lea edi, [ebp - 0x280]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x13a
push 0
lea eax, [ebp - 0x1b2]
push eax
call fcn.00415680
add esp, 0xc
lea ecx, [ebp - 0x6ac]
push ecx
push 0x20006
push 0
lea edx, [ebp - 0x280]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
je 0x445539
lea eax, [ebp - 0x6ac]
push eax
lea ecx, [ebp - 0x280]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov word [ebp - 0x6a8], 0
push 0x206
push 0
lea edx, [ebp - 0x6a6]
push edx
call fcn.00415680
add esp, 0xc
mov ecx, 0x11
mov esi, str.PluginCom.Tencent.QQPet_binQQPet
lea edi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x78]
push eax
push 0x4880d0
push 0x475220
push 0x208
push 0x104
lea ecx, [ebp - 0x6a8]
push ecx
call fcn.004157ac
add esp, 0x18
lea edx, [ebp - 0x6a8]
push edx
call fcn.00414d31
add esp, 4
shl eax, 1
push eax
lea eax, [ebp - 0x6a8]
push eax
push 1
push 0
push 0x47522c
mov ecx, dword [ebp - 0x6ac]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4455e2
mov edx, dword [ebp - 0x6ac]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov ecx, 8
mov esi, str.QQPetURLLink.exe
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x28]
push eax
call fcn.00414d31
add esp, 4
shl eax, 1
push eax
lea ecx, [ebp - 0x28]
push ecx
push 1
push 0
push 0x475260
mov edx, dword [ebp - 0x6ac]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x44563c
mov eax, dword [ebp - 0x6ac]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov dword [ebp - 0x28c], 3
push 4
lea ecx, [ebp - 0x28c]
push ecx
push 4
push 0
push 0x475270
mov edx, dword [ebp - 0x6ac]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x445685
mov eax, dword [ebp - 0x6ac]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x445697
mov ecx, dword [ebp - 0x6ac]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004151d0
mov esp, ebp
pop ebp
ret