Function at 0x4391e0
Capabilities:
Check if file exists
Get file attributes
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca87a
mov eax, dword fs:[0]
push eax
sub esp, 0x108
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x114]
mov ecx, 0x42
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x4f3280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
lea esi, [ebp - 0x34]
call fcn.0048d920
mov dword [ebp - 4], 0
lea edi, [ebp - 0x34]
call fcn.0048be70
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x58]
call fcn.004096c0
mov byte [ebp - 4], 1
push str.QuarantineQMQuarantine.exe
lea ebx, [ebp - 0x58]
call fcn.0048c140
lea ecx, [ebp - 0x58]
call fcn.0048bd10
mov esi, esp
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp esi, esp
call fcn.004c39d6
test eax, eax
je 0x439292
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x58]
call fcn.0048bd10
xor ecx, ecx
mov edi, str._UnInstall
mov ebx, eax
call fcn.0048e450
add esp, 8
push str.SeBackupPrivilege
call fcn.00438f10
add esp, 4
push str.SeRestorePrivilege
call fcn.00438f10
add esp, 4
mov esi, esp
push 0x4de1ac
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c39d6
mov esi, esp
push str.NetflowCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c39d6
mov esi, esp
push str.Startup
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c39d6
mov esi, esp
push str.WifiSafeCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c39d6
mov esi, esp
push str.SpeedupCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c39d6
lea ecx, [ebp - 0x70]
call fcn.0043c500
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0048bd10
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00438ad0
lea esi, [ebp - 0x94]
call fcn.0048d7f0
mov byte [ebp - 4], 3
lea edi, [ebp - 0x94]
call fcn.0048be70
lea edx, [ebp - 0x70]
push edx
lea ecx, [ebp - 0x94]
call fcn.0048bd10
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00438ad0
call fcn.00439080
test eax, eax
je 0x439466
lea esi, [ebp - 0xfc]
call fcn.0048b730
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x10c]
call fcn.0048bd10
push eax
lea ecx, [ebp - 0xa0]
call fcn.00402fc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xfc]
call fcn.004069c0
push 3
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00418100
mov dword [ebp - 0x110], eax
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x114]
call fcn.004636c0
push eax
lea ecx, [ebp - 0xc4]
call fcn.00431e70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x100]
call fcn.00403050
push str.ProgramDataApplication_DataTencentQQPCMgr_
lea ecx, [ebp - 0xc4]
call fcn.00431f00
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0048bd10
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00438ad0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc4]
call fcn.004069c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa0]
call fcn.00403050
mov dword [ebp - 0xcc], 0
jmp 0x439481
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0x70]
call fcn.004084c0
cmp dword [ebp - 0xcc], eax
jge 0x43958e
mov edx, dword [ebp - 0xcc]
push edx
lea ecx, [ebp - 0x70]
call fcn.0043c9d0
push eax
lea ecx, [ebp - 0xd4]
call fcn.004180a0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
jmp 0x4394d9
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 5
jae 0x43950f
push 0
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx*4 + 0x4f4914]
push edx
lea ecx, [ebp - 0xd4]
call fcn.0043a9b0
test eax, eax
jl 0x43950d
mov dword [ebp - 0xdc], 1
jmp 0x43950f
jmp 0x4394ca
cmp dword [ebp - 0xdc], 0
je 0x43952c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
call fcn.00403050
jmp 0x439472
lea ecx, [ebp - 0xd4]
call fcn.004636c0
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp esi, esp
call fcn.004c39d6
and eax, 0x10
je 0x439564
push 1
lea ecx, [ebp - 0xd4]
call fcn.004636c0
push eax
call fcn.0048d3f0
add esp, 8
jmp 0x43957a
push 1
lea ecx, [ebp - 0xd4]
call fcn.004636c0
push eax
call fcn.0048cb90
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
call fcn.00403050
jmp 0x439472
push 0x4de274
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004321f0
add esp, 8
push 0x4de2a8
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004321f0
add esp, 8
push str.SOFTWAREMicrosoftWindowsCurrentVersionRunQQDisabled
push SysReAllocString
call fcn.004321f0
add esp, 8
push str.SOFTWARETencentQQMgrArp
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004321f0
add esp, 8
mov dword [ebp - 0x104], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x94]
call fcn.004069c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.0043c550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.004069c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004069c0
mov eax, dword [ebp - 0x104]
push edx
mov ecx, ebp
push eax
lea edx, [0x439658]
call fcn.004c39f9
pop eax
pop edx
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.004a1723
add esp, 0x114
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret