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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca8ea
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.0048daf0
mov dword [ebp - 4], 0
lea edi, [ebp - 0x34]
call fcn.0048c000
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x58]
call fcn.00409680
mov byte [ebp - 4], 1
push str.QuarantineQMQuarantine.exe
lea ebx, [ebp - 0x58]
call fcn.0048c250
lea ecx, [ebp - 0x58]
call fcn.0048bea0
mov esi, esp
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp esi, esp
call fcn.004c3b36
test eax, eax
je 0x4398f2
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x58]
call fcn.0048bea0
xor ecx, ecx
mov edi, str._UnInstall
mov ebx, eax
call fcn.0048e620
add esp, 8
push str.SeBackupPrivilege
call fcn.00439570
add esp, 4
push str.SeRestorePrivilege
call fcn.00439570
add esp, 4
mov esi, esp
push 0x4de1ac
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c3b36
mov esi, esp
push str.NetflowCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c3b36
mov esi, esp
push str.Startup
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c3b36
mov esi, esp
push str.WifiSafeCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c3b36
mov esi, esp
push str.SpeedupCfg
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
cmp esi, esp
call fcn.004c3b36
lea ecx, [ebp - 0x70]
call fcn.004082d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0048bea0
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00439130
lea esi, [ebp - 0x94]
call fcn.0048d9c0
mov byte [ebp - 4], 3
lea edi, [ebp - 0x94]
call fcn.0048c000
lea edx, [ebp - 0x70]
push edx
lea ecx, [ebp - 0x94]
call fcn.0048bea0
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00439130
call fcn.004396e0
test eax, eax
je 0x439ac6
lea esi, [ebp - 0xfc]
call fcn.0048b8c0
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.0048bea0
push eax
lea ecx, [ebp - 0xa0]
call fcn.00402f90
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xfc]
call fcn.00406930
push 3
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.004181a0
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.0042cd20
push eax
lea ecx, [ebp - 0xc4]
call fcn.004093c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x100]
call fcn.00418010
push str.ProgramDataApplication_DataTencentQQPCMgr_
lea ecx, [ebp - 0xc4]
call fcn.00432480
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0048bea0
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00439130
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc4]
call fcn.00406930
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa0]
call fcn.00418010
mov dword [ebp - 0xcc], 0
jmp 0x439ae1
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0x70]
call fcn.0043dfd0
cmp dword [ebp - 0xcc], eax
jge 0x439bee
mov edx, dword [ebp - 0xcc]
push edx
lea ecx, [ebp - 0x70]
call fcn.0043cfd0
push eax
lea ecx, [ebp - 0xd4]
call fcn.00418140
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
jmp 0x439b39
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 5
jae 0x439b6f
push 0
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx*4 + 0x4f4914]
push edx
lea ecx, [ebp - 0xd4]
call fcn.0043b010
test eax, eax
jl 0x439b6d
mov dword [ebp - 0xdc], 1
jmp 0x439b6f
jmp 0x439b2a
cmp dword [ebp - 0xdc], 0
je 0x439b8c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
call fcn.00418010
jmp 0x439ad2
lea ecx, [ebp - 0xd4]
call fcn.0042cd20
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp esi, esp
call fcn.004c3b36
and eax, 0x10
je 0x439bc4
push 1
lea ecx, [ebp - 0xd4]
call fcn.0042cd20
push eax
call fcn.0048d5c0
add esp, 8
jmp 0x439bda
push 1
lea ecx, [ebp - 0xd4]
call fcn.0042cd20
push eax
call fcn.0048cd60
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
call fcn.00418010
jmp 0x439ad2
push 0x4de274
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00432820
add esp, 8
push 0x4de2a8
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00432820
add esp, 8
push str.SOFTWAREMicrosoftWindowsCurrentVersionRunQQDisabled
push SysReAllocString
call fcn.00432820
add esp, 8
push str.SOFTWARETencentQQMgrArp
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00432820
add esp, 8
mov dword [ebp - 0x104], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x94]
call fcn.00406930
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.0043cc00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00406930
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00406930
mov eax, dword [ebp - 0x104]
push edx
mov ecx, ebp
push eax
lea edx, [0x439cb8]
call fcn.004c3b59
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.004a1873
add esp, 0x114
cmp ebp, esp
call fcn.004c3b36
mov esp, ebp
pop ebp
ret