joyce8/EMBER2024-capa huggingface dataset:
Function at 0x42ac40
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c48a8
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push esi
push edi
push ecx
lea edi, [ebp - 0x50]
mov ecx, 0x11
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x4f3280]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x18]
call fcn.0042bb40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0042cf10
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x50
call fcn.0042f200
lea ecx, [ebp - 0x18]
call fcn.004636c0
test eax, eax
je 0x42ae14
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x18]
call fcn.004636c0
mov dword [ebp - 0x50], eax
mov esi, esp
lea eax, [ebp - 0x24]
push eax
push 0x4cd85c
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov ecx, dword [eax]
call ecx
cmp esi, esp
call fcn.004c39d6
test eax, eax
jl 0x42ae14
mov dword [ebp - 0x30], 0
mov esi, esp
lea edx, [ebp - 0x30]
push edx
push 0x4cd84c
push 0x4cd80c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ecx + 0xc]
call eax
cmp esi, esp
call fcn.004c39d6
test eax, eax
jl 0x42adfd
mov dword [ebp - 0x3c], 0
mov esi, esp
lea ecx, [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [eax + 0xc]
call edx
cmp esi, esp
call fcn.004c39d6
test eax, eax
jl 0x42ade6
mov esi, esp
push 0x4e0578
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x44], 0
mov esi, esp
push 0
push str.Shell_DocObject_View
push 0
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x42ade6
mov esi, esp
push 0
push str.Internet_Explorer_Server
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x48], eax
movsx edx, word [ebp + 0xc]
test edx, edx
jge 0x42adca
mov esi, esp
push 0
push 1
push 0x115
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.004c39d6
jmp 0x42ade6
mov esi, esp
push 0
push 0
push 0x115
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.004c39d6
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [eax + 8]
call edx
cmp esi, esp
call fcn.004c39d6
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov esi, esp
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ecx + 8]
call eax
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00428820
mov eax, dword [ebp - 0x4c]
push edx
mov ecx, ebp
push eax
lea edx, [0x42ae5c]
call fcn.004c39f9
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x50
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret 0x10
Function at 0x42ff60
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
mov eax, 0xcccccccc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 4], ecx
xor eax, eax
jne 0x42ff87
mov dword [ebp - 0x10], 4
mov esi, esp
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42ffc7
mov eax, dword [ebp - 8]
jmp 0x42ffd6
cmp dword [ebp - 0x1c], 4
je 0x42ffd4
mov eax, 0xd
jmp 0x42ffd6
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x42fff8]
call fcn.004c39f9
pop eax
pop edx
pop esi
add esp, 0x20
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret 8

Function at 0x432020
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
push edi
push ecx
lea edi, [ebp - 0x28]
mov ecx, 0xa
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 4]
cmp dword [eax], 0
jne 0x43205c
jmp 0x4320fd
mov esi, esp
lea ecx, [ebp - 0x20]
push ecx
push 0
lea edx, [ebp - 0x14]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x14], 1
je 0x43208e
jmp 0x4320fd
mov ecx, dword [ebp + 0xc]
call fcn.00403130
mov eax, dword [ebp - 0x20]
shr eax, 1
add eax, 1
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00403220
mov dword [ebp - 0x28], eax
mov esi, esp
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x28]
push edx
lea eax, [ebp - 0x14]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4320de
jmp 0x4320fd
mov ecx, dword [ebp - 0x20]
shr ecx, 1
mov edx, dword [ebp - 0x28]
mov word [edx + ecx*2], 0
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
call fcn.00403250
mov dword [ebp - 8], 1
mov eax, dword [ebp - 8]
push edx
mov ecx, ebp
push eax
lea edx, [0x432124]
call fcn.004c39f9
pop eax
pop edx
pop edi
pop esi
add esp, 0x28
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret 8
Function at 0x432160
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov dword [ebp - 0xc], 0xcccccccc
mov dword [ebp - 8], 0xcccccccc
mov dword [ebp - 4], 0xcccccccc
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
cmp dword [eax], 0
jne 0x432192
jmp 0x4321d8
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004a1c5b
add esp, 4
lea edx, [eax + eax + 2]
mov esi, esp
push edx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4321d1
jmp 0x4321d8
mov dword [ebp - 8], 1
mov eax, dword [ebp - 8]
pop esi
add esp, 0xc
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret 8

Function at 0x4321f0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, esp
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
cmp esi, esp
call fcn.004c39d6
neg eax
sbb eax, eax
add eax, 1
pop esi
cmp ebp, esp
call fcn.004c39d6
pop ebp
ret

Function at 0x432730
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push esi
push edi
lea edi, [ebp - 0x2c]
mov ecx, 0xb
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp esi, esp
call fcn.004c39d6
mov eax, dword [ebp - 0x14]
push edx
mov ecx, ebp
push eax
lea edx, [0x432780]
call fcn.004c39f9
pop eax
pop edx
pop edi
pop esi
add esp, 0x2c
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x4333b0
Capabilities:
Create http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8ff8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push esi
push edi
push ecx
lea edi, [ebp - 0x5c]
mov ecx, 0x14
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
mov eax, dword [0x4f76b0]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x433403
xor eax, eax
jmp 0x4334e2
mov ecx, dword [0x4f76b8]
mov edx, dword [ecx + 4]
push edx
lea ecx, [ebp - 0x20]
call fcn.00402fc0
mov dword [ebp - 4], 0
push 0x4dc95c
lea eax, [ebp - 0x20]
push eax
call fcn.0043aff0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4334c9
mov edx, dword [0x4f76b8]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0x44]
call fcn.00408320
mov esi, esp
push 0
push 0
push 0
push 0
push str.QQPCMgr
call dword [sym.imp.WININET.dll_InternetOpenW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4334a6
mov esi, esp
push 0
push SysReAllocString
push 0
push 0
lea ecx, [ebp - 0x44]
call fcn.004035c0
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x4334a6
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 1
lea ecx, [ebp - 0x44]
call fcn.004034c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403050
mov eax, dword [ebp - 0x58]
jmp 0x4334e2
mov dword [ebp - 0x5c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403050
mov eax, dword [ebp - 0x5c]
push edx
mov ecx, ebp
push eax
lea edx, [0x433518]
call fcn.004c39f9
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a1723
add esp, 0x5c
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x435070
Capabilities:
Find taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push esi
push edi
push ecx
lea edi, [ebp - 0x30]
mov ecx, 0xc
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 4], ecx
mov esi, esp
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
mov esi, esp
push 0
push str.TrayNotifyWnd
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov esi, esp
push 0
push str.SysPager
push 0
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x435110
mov esi, esp
push 0
push 0x4dcf50
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
jmp 0x43512f
mov esi, esp
push 0
push str.ToolbarWindow32
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.USER32.dll_FindWindowExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
mov esi, esp
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x2c], 1
jmp 0x435158
mov ecx, dword [ebp - 0x2c]
add ecx, 2
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 1
cmp dword [ebp - 0x2c], edx
jge 0x4351b9
mov dword [ebp - 0x30], 1
jmp 0x435175
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x18]
jge 0x4351b7
mov edx, dword [ebp - 0x2c]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
movzx edx, cx
shl edx, 0x10
or eax, edx
mov esi, esp
push eax
push 0
push 0x200
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.004c39d6
jmp 0x43516c
jmp 0x43514f
mov esi, esp
push 1
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp esi, esp
call fcn.004c39d6
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x4351f8]
call fcn.004c39f9
pop eax
pop edx
pop edi
pop esi
add esp, 0x30
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x435d80
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov dword [ebp - 4], 0xcccccccc
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
call fcn.00435ae0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x214], 0
je 0x435dc6
mov esi, esp
push 0x4dd09c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x160]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x214]
call ecx
cmp esi, esp
call fcn.004c39d6
mov ecx, dword [ebp - 4]
call fcn.004354a0
mov ecx, dword [ebp - 4]
call fcn.0043a030
mov ecx, dword [ebp - 4]
call fcn.00435f20
mov ecx, dword [ebp - 4]
call fcn.00437930
mov ecx, dword [ebp - 4]
call fcn.00436010
mov ecx, dword [ebp - 4]
call fcn.0043a520
mov ecx, dword [ebp - 4]
call fcn.00436770
mov ecx, dword [ebp - 4]
call fcn.00436ec0
cmp dword [0x4f4934], 0x67
jne 0x435e1a
jmp 0x435e7e
mov ecx, dword [ebp - 4]
call fcn.00437020
mov ecx, dword [ebp - 4]
call fcn.004377f0
mov ecx, dword [ebp - 4]
call fcn.00435970
mov ecx, dword [ebp - 4]
call fcn.00437ab0
mov ecx, dword [ebp - 4]
call fcn.00437750
mov ecx, dword [ebp - 4]
call fcn.00437a70
mov ecx, dword [ebp - 4]
call fcn.00435070
mov ecx, dword [ebp - 4]
call fcn.00435220
mov edx, dword [ebp - 4]
cmp dword [edx + 0x160], 0
je 0x435e74
mov eax, dword [ebp - 4]
add eax, 0x118
push eax
call fcn.0048f730
push 1
mov ecx, dword [ebp - 4]
call fcn.00434200
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x218], 0
je 0x435e9e
mov edx, dword [ebp - 4]
mov esi, esp
mov eax, dword [edx + 0x218]
call eax
cmp esi, esp
call fcn.004c39d6
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x21c], 0
je 0x435ed0
mov esi, esp
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, esp
call fcn.004c39d6
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x21c], 0
mov ecx, dword [ebp - 4]
add ecx, 0x220
call fcn.004636c0
test eax, eax
je 0x435f00
mov ecx, dword [ebp - 4]
add ecx, 0x220
call fcn.004636c0
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp esi, esp
call fcn.004c39d6
mov eax, 1
pop esi
add esp, 4
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x436ec0
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push esi
mov eax, 0xcccccccc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 4], ecx
push 0x32
mov ecx, dword [ebp - 4]
add ecx, 0x14
call fcn.00432e40
push 0x4dd8a4
mov ecx, dword [ebp - 4]
add ecx, 0x14
call fcn.00432ef0
push str.Begin_UnRegKey..
mov esi, 0x4f8948
call fcn.0048a930
add esp, 4
mov ecx, dword [ebp - 4]
add ecx, 0x170
call fcn.004486f0
movzx eax, al
test eax, eax
jne 0x436f59
mov ecx, dword [ebp - 4]
call fcn.00436850
test eax, eax
jne 0x436f57
mov dword [0x4f4934], 0x67
push 0x4dd8dc
mov esi, 0x4f8948
call fcn.0048a930
add esp, 4
xor eax, eax
jmp 0x437010
jmp 0x436f82
push 0x4dd904
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0044e1c0
add esp, 8
push str._QQPCTray
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0044e2d0
add esp, 0xc
push 0x448520
lea ecx, [ebp - 8]
push ecx
call fcn.00442130
add esp, 8
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.004036b0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.0044b4b0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.00442150
add esp, 0x18
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x168], 0
jne 0x436fec
push 0x4dd94c
push SysReAllocString
call fcn.0044e1c0
add esp, 8
push str.End_UnRegKey...
mov esi, 0x4f8948
call fcn.0048a930
add esp, 4
push 0x32
mov ecx, dword [ebp - 4]
add ecx, 0x14
call fcn.00432e60
mov eax, 1
pop esi
add esp, 0x1c
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x438ad0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8ef1
mov eax, dword fs:[0]
push eax
sub esp, 0x4b0
push esi
push edi
push ecx
lea edi, [ebp - 0x4bc]
mov ecx, 0x12c
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
cmp dword [ebp + 8], 0
jne 0x438b21
xor eax, eax
jmp 0x438d14
mov word [ebp - 0x224], 0
push 0x208
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.004a1d00
add esp, 0xc
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x224]
push edx
call fcn.004a4e04
add esp, 0xc
test eax, eax
jne 0x438b63
xor eax, eax
jmp 0x438d14
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x230]
call fcn.00402fc0
mov dword [ebp - 4], 0
push 1
lea ecx, [ebp - 0x4b4]
push ecx
lea ecx, [ebp - 0x230]
call fcn.0043ac40
mov dword [ebp - 0x4bc], eax
push 0x5c
mov edx, dword [ebp - 0x4bc]
push edx
call fcn.0043b060
add esp, 8
mov byte [ebp - 0x4ad], al
lea ecx, [ebp - 0x4b4]
call fcn.00403050
movzx eax, byte [ebp - 0x4ad]
test eax, eax
je 0x438bd0
push 0x5c
lea ecx, [ebp - 0x230]
call fcn.0043a980
push 0x4de05c
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp - 0x23c]
push edx
call fcn.0043adf0
add esp, 0xc
mov byte [ebp - 4], 1
mov esi, esp
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x23c]
call fcn.004636c0
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x49c], 0xffffffff
je 0x438ce3
mov dword [ebp - 0x4a0], 0
push 0x4de060
lea ecx, [ebp - 0x468]
push ecx
call fcn.004a27fe
add esp, 8
test eax, eax
je 0x438c9d
push 0x4de064
lea edx, [ebp - 0x468]
push edx
call fcn.004a27fe
add esp, 8
test eax, eax
je 0x438c9d
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp - 0x4a8]
push edx
call fcn.0043adf0
add esp, 0xc
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4a8]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0043c580
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4a8]
call fcn.00403050
mov esi, esp
lea ecx, [ebp - 0x494]
push ecx
mov edx, dword [ebp - 0x49c]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
jne 0x438c2e
mov esi, esp
mov eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x4b8], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x23c]
call fcn.00403050
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00403050
mov eax, dword [ebp - 0x4b8]
push edx
mov ecx, ebp
push eax
lea edx, [0x438d50]
call fcn.004c39f9
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a1723
add esp, 0x4bc
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret 8
Function at 0x439080
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
push esi
push edi
lea edi, [ebp - 0x130]
mov ecx, 0x4c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4f3280]
xor eax, ebp
mov dword [ebp - 4], eax
mov esi, esp
push 0x4de0ec
mov edi, esp
push 0x4de0fc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp edi, esp
call fcn.004c39d6
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
mov dword [ebp - 0x128], 0
push 0x118
push 0
lea eax, [ebp - 0x124]
push eax
call fcn.004a1d00
add esp, 0xc
mov dword [ebp - 0x128], 0x11c
mov dword [ebp - 0x130], 0
cmp dword [ebp - 8], 0
je 0x439130
mov esi, esp
lea ecx, [ebp - 0x128]
push ecx
call dword [ebp - 8]
cmp esi, esp
call fcn.004c39d6
test eax, eax
jne 0x439130
mov dword [ebp - 0x130], 1
jmp 0x43917b
mov esi, esp
lea edx, [ebp - 0x128]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
jne 0x43917b
mov dword [ebp - 0x128], 0x114
mov esi, esp
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x439194
cmp dword [ebp - 0x124], 0xa
jb 0x439194
mov eax, 1
jmp 0x439196
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x4391c4]
call fcn.004c39f9
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a1723
add esp, 0x130
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x43a100
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8e6c
mov eax, dword fs:[0]
push eax
sub esp, 0x288
push esi
push edi
push ecx
lea edi, [ebp - 0x294]
mov ecx, 0xa2
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
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x43a15d
xor eax, eax
jmp 0x43a324
mov dword [ebp - 0x248], 0x22c
lea eax, [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call sub.KERNEL32.dll_Process32FirstW
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
jne 0x43a1a0
mov esi, esp
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.004c39d6
xor eax, eax
jmp 0x43a324
call fcn.00409d80
mov dword [ebp - 0x258], eax
push 0x4de3e4
lea ecx, [ebp - 0x268]
call fcn.00402fc0
mov dword [ebp - 4], 0
push str.QQPCMgr.exe
lea ecx, [ebp - 0x274]
call fcn.00402fc0
mov byte [ebp - 4], 1
push str.QQPCRtp.exe
lea ecx, [ebp - 0x280]
call fcn.00402fc0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x240], 0
je 0x43a2b9
cmp dword [ebp - 0x240], 4
je 0x43a2b9
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x28c]
call fcn.00402fc0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x268]
call fcn.004636c0
push eax
lea ecx, [ebp - 0x28c]
call fcn.0041ec00
test eax, eax
jne 0x43a24a
mov ecx, dword [ebp - 0x240]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1b0
call fcn.00432490
lea ecx, [ebp - 0x274]
call fcn.004636c0
push eax
lea ecx, [ebp - 0x28c]
call fcn.0041ec00
test eax, eax
jne 0x43a27a
mov edx, dword [ebp - 0x240]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1f0
call fcn.00432490
lea ecx, [ebp - 0x280]
call fcn.004636c0
push eax
lea ecx, [ebp - 0x28c]
call fcn.0041ec00
test eax, eax
jne 0x43a2aa
mov eax, dword [ebp - 0x240]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1d0
call fcn.00432490
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28c]
call fcn.00403050
lea ecx, [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x43a1ea
mov esi, esp
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 0x294], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x280]
call fcn.00403050
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x274]
call fcn.00403050
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.00403050
mov eax, dword [ebp - 0x294]
push edx
mov ecx, ebp
push eax
lea edx, [0x43a360]
call fcn.004c39f9
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a1723
add esp, 0x294
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret
Function at 0x448ae0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov dword [ebp - 8], 0xcccccccc
mov dword [ebp - 4], 0xcccccccc
mov dword [ebp - 4], ecx
mov esi, esp
push 0x4dbe5c
push 0x4dbe64
call dword [sym.imp.USER32.dll_FindWindowW]
cmp esi, esp
call fcn.004c39d6
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x448b45
push 0x4dbe84
mov esi, 0x4f8948
call fcn.0048a930
add esp, 4
mov esi, esp
push 0
push 0
push 0x10
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.004c39d6
mov esi, esp
push str.SystemCurrentControlSetServicesQmEmDrv
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
cmp esi, esp
call fcn.004c39d6
xor eax, eax
pop esi
add esp, 8
cmp ebp, esp
call fcn.004c39d6
mov esp, ebp
pop ebp
ret