joyce8/EMBER2024-capa huggingface dataset:
Function at 0x401510
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push esi
push 0x38
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0x3c
push 0
push eax
mov si, cx
call fcn.004035e0
mov eax, 0x69
mov dword [ebp - 0x30], str.runas
add esp, 0xc
mov dword [ebp - 0x2c], 0x41c6e8
cmp ax, si
jne 0x401552
mov dword [ebp - 0x28], str._i__r
jmp 0x40158c
mov eax, 0x75
cmp ax, si
jne 0x401565
mov dword [ebp - 0x28], str._u__r
jmp 0x40158c
mov eax, 0x74
cmp ax, si
jne 0x401578
mov dword [ebp - 0x28], str._t__r
jmp 0x40158c
mov ecx, 0x70
mov eax, str._p__r
cmp cx, si
cmovne eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
pop esi
test eax, eax
jne 0x4015a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esp, ebp
pop ebp
ret

Function at 0x401850
Capabilities:
Create service
Persist via windows service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x40188f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402668
mov esp, ebp
pop ebp
ret
push edi
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
test edi, edi
jne 0x4018ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402668
mov esp, ebp
pop ebp
ret
push esi
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x20c]
push eax
push 1
push 2
push 0x10
push 0xf01ff
push str.Wifi_AutoInstall_Service
push str.WifiAutoInstallSrv
push edi
call dword [sym.imp.ADVAPI32.dll_CreateServiceW]
test eax, eax
jne 0x40190d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, esi
pop esi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402668
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push eax
call esi
push edi
call esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
xor ecx, ebp
pop edi
call fcn.00402668
mov esp, ebp
pop ebp
ret
Function at 0x401930
Capabilities:
Delete service
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push 1
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov ebx, eax
test ebx, ebx
je 0x4019c9
push esi
push edi
push 0x10024
push str.WifiAutoInstallSrv
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edi, eax
test edi, edi
je 0x4019c4
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [ebp - 0x1c], 1
je 0x4019ba
lea eax, [ebp - 0x20]
push eax
push 1
push edi
call dword [sym.imp.ADVAPI32.dll_ControlService]
xor esi, esi
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [ebp - 0x1c], 1
je 0x4019b4
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x64
jl 0x401992
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
push edi
call esi
push ebx
call esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00402668
mov esp, ebp
pop ebp
ret

Function at 0x4021a0
Capabilities:
Access the windows event log

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.WifiAutoInstallSrv
push 0
mov edi, ecx
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x402224
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str._s_failed_with__d
lea eax, [ebp - 0xa4]
push 0x50
push eax
call fcn.00401070
add esp, 0x14
mov dword [ebp - 0xac], str.WifiAutoInstallSrv
lea eax, [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xac]
push 0
push eax
push 0
push 2
push 0
push 0xc0020001
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00402668
mov esp, ebp
pop ebp
ret
Function at 0x402240
Capabilities:
Check for time delay via gettickcount
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0xf003f
push 0
push 0
mov dword [ebp - 0x2c], 1
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
mov dword [ebp - 0x3c], esi
test esi, esi
jne 0x40227f
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402668
mov esp, ebp
pop ebp
ret
push ebx
push 0xf01ff
push str.WifiAutoInstallSrv
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebx, eax
mov dword [ebp - 0x34], ebx
test ebx, ebx
jne 0x4022b3
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402668
mov esp, ebp
pop ebp
ret
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
lea eax, [ebp - 0x30]
push eax
push 0x24
lea eax, [ebp - 0x28]
push eax
push 0
push ebx
call edi
test eax, eax
je 0x4023ab
mov eax, dword [ebp - 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 1
je 0x402355
cmp eax, 3
jne 0x4023ab
call esi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, 0xcccccccd
mul dword [ebp - 0x10]
shr edx, 3
cmp edx, 0x3e8
jae 0x40230a
mov edx, 0x3e8
jmp 0x402318
cmp edx, 0x2710
mov eax, 0x2710
cmova edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x30]
push eax
push 0x24
lea eax, [ebp - 0x28]
push eax
push 0
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x4023ab
cmp dword [ebp - 0x14], edi
jbe 0x40233f
call esi
jmp 0x402349
call esi
sub eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x10]
ja 0x40239e
cmp dword [ebp - 0x24], 3
je 0x4022e8
mov edi, dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
push 0
push 0
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
je 0x4023ab
lea eax, [ebp - 0x30]
push eax
push 0x24
lea eax, [ebp - 0x28]
push eax
push 0
push ebx
call edi
test eax, eax
je 0x4023ab
call esi
cmp dword [ebp - 0x24], 2
mov ebx, eax
mov edi, dword [ebp - 0x14]
jne 0x4023ff
mov eax, 0xcccccccd
mul dword [ebp - 0x10]
shr edx, 3
cmp edx, 0x3e8
jae 0x4023b4
mov edx, 0x3e8
jmp 0x4023c2
push str.Timeout_waiting_for_service_to_stop_n
call fcn.00401010
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x402402
cmp edx, 0x2710
mov eax, 0x2710
cmova edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x30]
push eax
push 0x24
lea eax, [ebp - 0x28]
push eax
push 0
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x4023ff
cmp dword [ebp - 0x14], edi
jbe 0x4023f0
call esi
mov edi, dword [ebp - 0x14]
mov ebx, eax
jmp 0x4023f9
call esi
sub eax, ebx
cmp eax, dword [ebp - 0x10]
ja 0x4023ff
cmp dword [ebp - 0x24], 2
je 0x402384
mov ebx, dword [ebp - 0x34]
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push ebx
call esi
push dword [ebp - 0x3c]
call esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
xor ecx, ebp
pop edi
pop ebx
pop esi
call fcn.00402668
mov esp, ebp
pop ebp
ret
Function at 0x402430
Capabilities:
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 1
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x4024cb
push edi
push 0x24
push str.WifiAutoInstallSrv
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov edi, eax
test edi, edi
je 0x4024c3
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [ebp - 0x1c], 1
je 0x4024bc
lea eax, [ebp - 0x20]
push eax
push 1
push edi
call dword [sym.imp.ADVAPI32.dll_ControlService]
xor esi, esi
nop dword [eax]
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [ebp - 0x1c], 1
je 0x4024b4
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x64
jl 0x402490
jmp 0x4024b9
mov ebx, 1
mov esi, dword [ebp - 0x24]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop edi
mov ecx, dword [ebp - 4]
mov eax, ebx
pop esi
xor ecx, ebp
pop ebx
call fcn.00402668
mov esp, ebp
pop ebp
ret

Function at 0x4082b6
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [esp + 8]
push esi
push edi
xor edi, edi
movzx eax, word [ecx + 0x14]
movzx esi, word [ecx + 6]
test esi, esi
lea eax, [eax + ecx + 0x18]
jbe 0x4082f1

Function at 0x40850b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov bh, 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.00408276
and ebp, edx
pop ebp
push cs
lea eax, [ebp - 0x58]
push eax
call fcn.00408286
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.0040823b
add esp, 0x10
invalid
lea edx, [eax - 1]

Function at 0x4085e2
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call 0xe99e0e37
mov byte [ebp - 0x16], 0x40
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 0xe9
mov byte [ebp - 0x13], 0xd6
mov byte [ebp - 0x12], 0xcd
mov byte [ebp - 0x11], 0xcb
mov byte [ebp - 0x10], 0xca
mov byte [ebp - 0xf], 0xde
mov byte [ebp - 0xe], 0xd3
mov byte [ebp - 0xd], 0xf9
Function at 0x40860e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0xc], 0xcd
mov byte [ebp - 0xb], 0xda
mov byte [ebp - 0xa], 0xda
mov byte [ebp - 9], 0xbf
call fcn.00408286
push eax
push esi
push dword [ebp + 8]
call fcn.0040823b
mov dword [ebp - 8], eax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.00408286
push eax
push esi
push dword [ebp + 8]
call fcn.0040823b
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.00408286
push eax
push esi
push dword [ebp + 8]
call fcn.0040823b
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.00408276
and eax, 0x9d88f652
jl 0x4086fb
invalid
invalid

Function at 0x408d89
Capabilities:
Contain obfuscated stackstrings

Disassembly:
add byte [eax - 0x6625b], al
inc dword [eax]
mov byte [ebp - 0x662], 7
and byte [ebp - 0x661], 0
mov byte [ebp - 0x660], 0xb0
mov byte [ebp - 0x65f], 0x9d
mov byte [ebp - 0x65e], 0x99
mov byte [ebp - 0x65d], 0x88
mov byte [ebp - 0x65c], 0xb9
mov byte [ebp - 0x65b], 0x94
mov byte [ebp - 0x65a], 0x94
mov byte [ebp - 0x659], 0x97
mov byte [ebp - 0x658], 0x9b
mov byte [ebp - 0x657], 0xf8
lea eax, [ebp - 0x664]
push eax
call fcn.00408286
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0040823b
add esp, 0xc
mov dword [ebp - 0x67c], eax
and byte [ebp - 0x524], 0
add byte [eax - 0x5225b], al
inc dword [eax]
mov byte [ebp - 0x522], 0x15
and byte [ebp - 0x521], 0
mov byte [ebp - 0x520], 0xa2
mov byte [ebp - 0x51f], 0x8f
mov byte [ebp - 0x51e], 0x8b
mov byte [ebp - 0x51d], 0x9a
mov byte [ebp - 0x51c], 0xac
mov byte [ebp - 0x51b], 0x98
mov byte [ebp - 0x51a], 0x8f
mov byte [ebp - 0x519], 0x8f
mov byte [ebp - 0x518], 0xea
lea eax, [ebp - 0x524]
push eax
call fcn.00408286
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
invalid

Function at 0x408e77
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sal bl, 0xff
inc dword [ebx - 0x7a76f33c]
cld
invalid
Function at 0x40a27c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call dword [ebp - 0x3c8]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0xffffffff
je 0x40a2c0
push 0
lea eax, [ebp - 0x6c4]
push eax
push dword [ebp - 0x38c]
push dword [ebp - 0x748]
push dword [ebp - 0x380]
call dword [ebp - 0x730]
push dword [ebp - 0x380]
call dword [ebp - 0x680]
jmp 0x40a2c5
jmp 0x409c18
and dword [ebp - 0x37c], 0
push dword [ebp - 0x3a0]
call dword [ebp - 0x704]
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
je 0x40a30c
lea eax, [ebp - 0x714]
push eax
call fcn.00408286
pop ecx
push eax
push dword [ebp - 0x3a4]
push dword [ebp + 0x14]
call fcn.0040823b
add esp, 0xc
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
je 0x40a317
jmp 0x40a31c
jmp 0x409c18
cmp dword [ebp - 0x37c], 0
jne 0x40a3c6
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x7e8], eax
and dword [ebp - 0x7e0], 0
push 0x1000
push 8
push dword [ebp - 0x674]
call dword [ebp - 0x67c]
mov dword [ebp - 0x7e4], eax
clc
invalid
invalid
push dword [ebp - 0x7e4]
lea eax, [ebp - 0x7ec]
push eax
push dword [ebp - 0x748]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00408452
add esp, 0x14
mov dword [ebp - 0x7e0], eax
cmp dword [ebp - 0x7e0], 0
je 0x40a3b2
lea eax, [ebp - 0x714]
push eax
call fcn.00408286
pop ecx
push eax
push dword [ebp - 0x7e0]
call fcn.0040831b
pop ecx
pop ecx
mov dword [ebp - 0x37c], eax
push dword [ebp - 0x7e4]
push 1
push dword [ebp - 0x674]
call dword [ebp - 0x39c]
push dword [ebp + 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x540]
push dword [ebp - 0x684]
push dword [ebp - 0x688]
push dword [ebp - 0x3ac]
push dword [ebp - 0x400]
push dword [ebp - 0x54c]
push dword [ebp - 0x678]
lea eax, [ebp - 0x334]
push eax
push dword [ebp - 4]
push dword [ebp + 8]
call dword [ebp - 0x37c]
pop edi
pop esi
pop ebx
leave
ret

Function at 0x40b8cc
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0040b57a

Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43000c
nop
nop
nop
pop eax
nop
nop
add eax, 0x403d6f
nop
sub eax, 0x403d15
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
add ebx, 4
nop
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x430030
nop
add eax, 0xc
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
nop
jne 0x43001e
nop
nop
nop
nop
nop
nop
popal
jmp loc.00401219
Function at 0x401fc0
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0xc4
push 0x9c
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00401940
add esp, 0xc
push 0x24
push 0
lea ecx, [ebp - 0x50]
push ecx
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x2c], 0x9c
cmp dword [0x407b90], 1
jne 0x402021
push str.GetNativeSystemInfo
push 0x40649c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 0x70], eax
lea edx, [ebp - 0x50]
push edx
call dword [ebp + 0x70]
jmp 0x40202b
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x28], 5
jne 0x402055
cmp dword [ebp - 0x24], 0
jne 0x402055
push str.Windows_2000
mov edx, dword [ebp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 5
jne 0x402075
cmp dword [ebp - 0x24], 1
jne 0x402075
push str.Windows_XP
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 5
jne 0x40210c
cmp dword [ebp - 0x24], 2
jne 0x40210c
movzx ecx, byte [ebp + 0x6e]
cmp ecx, 1
jne 0x4020af
movzx edx, word [ebp - 0x50]
cmp edx, 9
jne 0x4020af
push str.Windows_XP_Professional_x64
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4020cf
push str.Windows_Server_2003
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx edx, word [ebp + 0x6c]
and edx, 0x8000
jne 0x4020ef
push str.Windows_Home_Server
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x40210c
push str.Windows_Server_2003_R2
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 6
jne 0x40214c
cmp dword [ebp - 0x24], 0
jne 0x40214c
movzx edx, byte [ebp + 0x6e]
cmp edx, 1
jne 0x402132
push str.Windows_Vista
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx ecx, byte [ebp + 0x6e]
cmp ecx, 1
je 0x40214c
push str.Windows_Server_2008
mov edx, dword [ebp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 6
jne 0x40218a
cmp dword [ebp - 0x24], 1
jne 0x40218a
movzx eax, byte [ebp + 0x6e]
cmp eax, 1
je 0x402172
push str.Windows_Server_R2
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx edx, byte [ebp + 0x6e]
cmp edx, 1
jne 0x40218a
push str.Windows_7
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
add ebp, 0x74
mov esp, ebp
pop ebp
ret
Function at 0x402200
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x244
push 0x128
push 0
lea eax, [ebp - 0x140]
push eax
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x140], 0x128
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.KERNEL32.dll_Process32First
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0x1000
mov eax, dword [ebp - 0xc]
push eax
push 8
mov ecx, dword [0x407b2c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
push edx
push 0
mov eax, dword [ebp - 8]
push eax
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x18], 0
push 0x104
push 0
lea ecx, [ebp - 0x244]
push ecx
call fcn.00401940
add esp, 0xc
lea edx, [ebp - 0x11c]
push edx
push 0x40656c
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
jbe 0x402324
mov eax, dword [ebp - 4]
push eax
push 8
mov ecx, dword [0x407b2c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 4]
push edx
push 0
mov eax, dword [ebp - 0x10]
push eax
call fcn.00401940
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 8]
push eax
push 8
mov ecx, dword [0x407b2c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x244]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp - 0x18], 0
je 0x402345
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40227b
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
Function at 0x4024d0
Capabilities:
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x35c
push 0
push 0x84200000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x407b94]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x1c], eax
push 0x40
push 0
lea edx, [ebp - 0x5c]
push edx
call fcn.00401940
add esp, 0xc
push 0x3f
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call fcn.00401290
add esp, 0xc
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x15c]
push eax
call fcn.00402690
add esp, 8
test eax, eax
jne 0x40253b
xor eax, eax
jmp 0x402689
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x10], ecx
push str.response
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00402470
add esp, 8
mov edx, dword [ebp - 0x18]
push edx
push 0
mov eax, dword [0x407b2c]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 8], eax
push 4
push 0x3000
mov ecx, dword [ebp - 0x18]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
push 0x200
push 0
lea edx, [ebp - 0x35c]
push edx
call fcn.00401940
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push 0x200
lea ecx, [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x402626
cmp dword [ebp - 0xc], 0
je 0x402626
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00401980
add esp, 0xc
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 0
push 0x200
push 0
lea edx, [ebp - 0x35c]
push edx
call fcn.00401940
add esp, 0xc
jmp 0x4025ba
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004016f0
add esp, 0x10
mov dword [ebp - 4], eax
push 5
mov edx, dword [ebp - 4]
push edx
push 0x407420
mov eax, dword [ebp - 0x14]
push eax
call fcn.004014d0
add esp, 0x10
mov ecx, dword [ebp - 8]
push ecx
push 0
mov edx, dword [0x407b2c]
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret