joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41bb40
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], edx
mov edi, eax
xor eax, eax
push ebp
push 0x41bbf8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00405bfc
lea edx, [ebp - 0x28]
mov eax, edi
call fcn.0041b734
test al, al
je 0x41bbda
mov ecx, dword [ebp - 0x24]
inc ecx
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00402500
mov ebx, dword [ebp - 0x28]
dec ebx
test ebx, ebx
jl 0x41bbda
inc ebx
xor esi, esi
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
call fcn.004027b0
push eax
push esi
mov eax, dword [edi + 4]
push eax
call sub.advapi32.dll_RegEnumKeyExA
mov eax, dword [ebp - 0xc]
call fcn.004027b0
mov edx, eax
lea eax, [ebp - 0x2c]
call fcn.00402540
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00405bec
inc esi
dec ebx
jne 0x41bb93
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41bbff
lea eax, [ebp - 0x2c]
call fcn.00402414
lea eax, [ebp - 0xc]
call fcn.00402414
ret

Function at 0x41bc08
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], edx
mov edi, eax
xor eax, eax
push ebp
push 0x41bcc0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00405bfc
lea edx, [ebp - 0x28]
mov eax, edi
call fcn.0041b734
test al, al
je 0x41bca2
mov ecx, dword [ebp - 0x1c]
inc ecx
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00402500
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x41bca2
inc ebx
xor esi, esi
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
call fcn.004027b0
push eax
push esi
mov eax, dword [edi + 4]
push eax
call sub.advapi32.dll_RegEnumValueA
mov eax, dword [ebp - 0xc]
call fcn.004027b0
mov edx, eax
lea eax, [ebp - 0x2c]
call fcn.00402540
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00405bec
inc esi
dec ebx
jne 0x41bc5b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41bcc7
lea eax, [ebp - 0x2c]
call fcn.00402414
lea eax, [ebp - 0xc]
call fcn.00402414
ret
Function at 0x41bdc4
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x41bf2d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
mov edx, ebx
call fcn.004024ac
mov eax, dword [ebp - 0x10]
call fcn.0041b3e8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
jne 0x41be16
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, 1
call fcn.0040284c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041b8d0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x41beeb
xor eax, eax
push ebp
push 0x41bee4
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0041b558
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.0041b734
test al, al
je 0x41bec2
mov ecx, dword [ebp - 0x34]
inc ecx
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.00402500
mov ebx, dword [ebp - 0x38]
dec ebx
cmp ebx, 0
jl 0x41bec2
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
call fcn.004027b0
push eax
push ebx
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegEnumKeyExA
test eax, eax
jne 0x41bebc
mov eax, dword [ebp - 0x14]
call fcn.004027b0
mov edx, eax
lea eax, [ebp - 0x3c]
call fcn.00402540
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.0041bdc4
dec ebx
cmp ebx, 0xffffffff
jne 0x41be75
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41beeb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0041b558
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey
ret
mov eax, dword [ebp - 0x10]
call fcn.004027b0
push eax
mov dl, byte [ebp - 9]
mov eax, dword [ebp - 4]
call fcn.0041b544
push eax
call sub.advapi32.dll_RegDeleteKeyA
test eax, eax
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41bf34
lea eax, [ebp - 0x3c]
call fcn.00402414
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00402438
ret
Function at 0x41beeb
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x41bf2d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
mov edx, ebx
call fcn.004024ac
mov eax, dword [ebp - 0x10]
call fcn.0041b3e8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
jne 0x41be16
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, 1
call fcn.0040284c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0041b8d0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x41beeb
xor eax, eax
push ebp
push 0x41bee4
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0041b558
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.0041b734
test al, al
je 0x41bec2
mov ecx, dword [ebp - 0x34]
inc ecx
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.00402500
mov ebx, dword [ebp - 0x38]
dec ebx
cmp ebx, 0
jl 0x41bec2
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
call fcn.004027b0
push eax
push ebx
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegEnumKeyExA
test eax, eax
jne 0x41bebc
mov eax, dword [ebp - 0x14]
call fcn.004027b0
mov edx, eax
lea eax, [ebp - 0x3c]
call fcn.00402540
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.0041bdc4
dec ebx
cmp ebx, 0xffffffff
jne 0x41be75
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41beeb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0041b558
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey
ret
mov eax, dword [ebp - 0x10]
call fcn.004027b0
push eax
mov dl, byte [ebp - 9]
mov eax, dword [ebp - 4]
call fcn.0041b544
push eax
call sub.advapi32.dll_RegDeleteKeyA
test eax, eax
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41bf34
lea eax, [ebp - 0x3c]
call fcn.00402414
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00402438
ret

Function at 0x41c6d8
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebx
push esi
push edi
mov edi, eax
or ebx, 0xffffffff
mov eax, edi
call fcn.004025b8
dec eax
test eax, eax
jl 0x41c70c
inc eax
xor esi, esi
mov dl, byte [edi + esi]
xor dl, bl
and edx, 0xff
mov edx, dword [edx*4 + 0x4345a4]
shr ebx, 8
xor edx, ebx
mov ebx, edx
inc esi
dec eax
jne 0x41c6ef
xor ebx, 0xffffffff
mov eax, ebx
pop edi
pop esi
pop ebx
ret
Function at 0x41c7a8
Capabilities:
Shutdown system

Disassembly:
push ebx
add esp, 0xffffffd8
mov ebx, eax
call fcn.0041c780
cmp dword [0x4349a4], 2
jne 0x41c826
push esp
push 0x28
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x41c826
lea eax, [esp + 0xc]
push eax
push 0x41c83c
push 0
call sub.advapi32.dll_LookupPrivilegeValueA
cmp eax, 1
sbb eax, eax
inc eax
mov dword [esp + 8], 1
mov dword [esp + 0x14], 2
mov edx, 0x10
xor ecx, ecx
mov dword [esp + 4], ecx
test al, al
je 0x41c826
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x1c]
push eax
push edx
lea eax, [esp + 0x14]
push eax
push 0
mov eax, dword [esp + 0x14]
push eax
call sub.advapi32.dll_AdjustTokenPrivileges
push 0
push ebx
call sub.user32.dll_ExitWindowsEx_1
cmp eax, 1
sbb eax, eax
inc eax
add esp, 0x28
pop ebx
ret
Function at 0x41e6a8
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004027a0
lea edi, [ebp - 0x12c]
xor eax, eax
push ebp
push 0x41e816
push dword fs:[eax]
mov dword fs:[eax], esp
xor esi, esi
xor edx, edx
mov eax, 2
call fcn.00420d80
mov ebx, eax
mov dword [edi], 0x128
mov edx, edi
mov eax, ebx
call fcn.00420da0
jmp 0x41e7e2
lea eax, [ebp - 0x138]
lea edx, [edi + 0x24]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x138]
lea edx, [ebp - 0x134]
call fcn.004059a4
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0x130]
call fcn.0040585c
mov eax, dword [ebp - 0x130]
push eax
lea edx, [ebp - 0x13c]
mov eax, dword [ebp - 4]
call fcn.0040585c
mov edx, dword [ebp - 0x13c]
pop eax
call fcn.004026fc
je 0x41e7c2
lea eax, [ebp - 0x144]
lea edx, [edi + 0x24]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x144]
lea edx, [ebp - 0x140]
call fcn.0040585c
mov eax, dword [ebp - 0x140]
push eax
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 4]
call fcn.0040585c
mov edx, dword [ebp - 0x148]
pop eax
call fcn.004026fc
jne 0x41e7d9
push 0
mov eax, dword [edi + 8]
push eax
push 0
push 1
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov esi, eax
mov edx, edi
mov eax, ebx
call fcn.00420dc0
test eax, eax
jne 0x41e723
push ebx
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41e81d
lea eax, [ebp - 0x148]
mov edx, 7
call fcn.00402438
lea eax, [ebp - 4]
call fcn.00402414
ret

Function at 0x41e968
Capabilities:
Acquire debug privileges

Disassembly:
push ebx
add esp, 0xffffffd0
lea eax, [esp + 4]
push eax
push 0x20
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
lea eax, [esp + 8]
push eax
push 0x41ea04
push 0
call sub.advapi32.dll_LookupPrivilegeValueA
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 1
xor ebx, ebx
mov dword [esp + 0x2c], ebx
push esp
lea eax, [esp + 0x14]
push eax
push 0x10
lea eax, [esp + 0x2c]
push eax
push 0
mov eax, dword [esp + 0x18]
push eax
call sub.advapi32.dll_AdjustTokenPrivileges
mov eax, dword [esp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 1
or ebx, 2
mov dword [esp + 0x1c], ebx
push esp
push 0
mov eax, dword [esp + 8]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
mov eax, dword [esp + 0x18]
push eax
call sub.advapi32.dll_AdjustTokenPrivileges
add esp, 0x30
pop ebx
ret
Function at 0x41eae8
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
mov esi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004027a0
xor eax, eax
push ebp
push 0x41eb89
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x10], 4
xor eax, eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
push ebx
call sub.advapi32.dll_RegOpenKeyExA
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
mov eax, esi
call fcn.004027b0
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x41eb5c
cmp dword [ebp - 0xc], 4
je 0x41eb60
xor ebx, ebx
jmp 0x41eb6a
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [eax], edx
mov bl, 1
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegCloseKey
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41eb90
lea eax, [ebp - 4]
call fcn.00402414
ret

Function at 0x41f730
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 8], ecx
mov edi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x41f7c1
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, ebx
call fcn.004027b0
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
mov esi, eax
lea eax, [ebp - 8]
mov edx, esi
call fcn.004028dc
push 0
lea eax, [ebp - 4]
push eax
push esi
lea eax, [ebp - 8]
call fcn.00402804
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
push ebx
call sub.kernel32.dll_CloseHandle_1
mov eax, edi
mov edx, dword [ebp - 8]
call fcn.00402468
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41f7c8
lea eax, [ebp - 8]
call fcn.00402414
ret

Function at 0x420140
Capabilities:
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00402414
call fcn.0041b23c
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4201d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dx, 1
mov eax, dword [ebp - 0xc]
call fcn.0041b218
test al, al
je 0x4201c2
push 1
call sub.user32.dll_GetClipboardData
mov ebx, eax
push ebx
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 8], eax
push ebx
call sub.kernel32.dll_GlobalSize
mov edi, eax
lea eax, [edi + 1]
call fcn.00419cf8
mov esi, eax
mov ecx, edi
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.00404310
push ebx
call sub.kernel32.dll_GlobalUnlock
mov eax, dword [ebp - 4]
mov edx, esi
call fcn.00402540
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4201df
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 8]
ret
Function at 0x420214
Capabilities:
Hide graphical window

Disassembly:
push 0
mov eax, dword [0x435c14]
push eax
call sub.user32.dll_ShowWindow
push 0xffffffffffffffec
mov eax, dword [0x435c14]
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80
push eax
push 0xffffffffffffffec
mov eax, dword [0x435c14]
push eax
call sub.user32.dll_SetWindowLongA
ret

Function at 0x420840
Capabilities:
Get hostname

Disassembly:
push ebx
add esp, 0xffffffe8
mov ebx, eax
mov dword [esp], 0x10
push esp
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_GetComputerNameA
mov eax, ebx
lea edx, [esp + 4]
mov ecx, 0x11
call fcn.0040257c
add esp, 0x18
pop ebx
ret

Function at 0x420b1c
Capabilities:
Check os version

Disassembly:
push ebx
add esp, 0xffffff6c
mov ebx, eax
mov eax, ebx
mov edx, 0x420c30
call fcn.00402468
mov dword [esp], 0x94
push esp
call sub.kernel32.dll_GetVersionExA_1
test eax, eax
je 0x420c1d
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10]
dec ecx
je 0x420bb5
dec ecx
jne 0x420c1d
cmp eax, 4
jg 0x420b72
mov eax, ebx
mov edx, 0x420c40
call fcn.00402468
jmp 0x420c1d
cmp eax, 5
jne 0x420b8c
test edx, edx
jne 0x420b8c
mov eax, ebx
mov edx, 0x420c50
call fcn.00402468
jmp 0x420c1d
cmp eax, 5
jne 0x420ba2
dec edx
jne 0x420ba2
mov eax, ebx
mov edx, 0x420c60
call fcn.00402468
jmp 0x420c1d
cmp eax, 6
jne 0x420c1d
mov eax, ebx
mov edx, 0x420c70
call fcn.00402468
jmp 0x420c1d
cmp eax, 4
jne 0x420bcc
test edx, edx
jne 0x420bcc
mov eax, ebx
mov edx, 0x420c84
call fcn.00402468
jmp 0x420c1d
cmp eax, 4
jne 0x420bf9
cmp edx, 0xa
jne 0x420bf9
cmp byte [esp + 0x15], 0x41
jne 0x420beb
mov eax, ebx
mov edx, 0x420c94
call fcn.00402468
jmp 0x420c1d
mov eax, ebx
mov edx, 0x420ca4
call fcn.00402468
jmp 0x420c1d
cmp eax, 4
jne 0x420c11
cmp edx, 0x5a
jne 0x420c11
mov eax, ebx
mov edx, 0x420cb4
call fcn.00402468
jmp 0x420c1d
mov eax, ebx
mov edx, 0x420c30
call fcn.00402468
add esp, 0x94
pop ebx
ret

Function at 0x420de0
Capabilities:
Hide graphical window

Disassembly:
push ebx
mov ebx, eax
push 0
push 0x420e0c
push 0
push 0
call sub.user32.dll_FindWindowExA
test bl, bl
je 0x420e01
push 5
push eax
call sub.user32.dll_ShowWindow
pop ebx
ret
push 0
push eax
call sub.user32.dll_ShowWindow
pop ebx
ret

Function at 0x420fe0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x42104e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea edx, [ebp - 4]
mov eax, 0x421064
call fcn.0041e5c0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
call sub.user32.dll_FindWindowA
push 0
push 0x421074
push 0
push eax
call sub.user32.dll_FindWindowExA
test bl, bl
je 0x421030
push 5
push eax
call sub.user32.dll_ShowWindow
jmp 0x421038
push 0
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421055
lea eax, [ebp - 4]
call fcn.00402414
ret
Function at 0x42107c
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x421105
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea edx, [ebp - 4]
mov eax, 0x42111c
call fcn.0041e5c0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
call sub.user32.dll_FindWindowA
mov esi, eax
push 0
lea edx, [ebp - 8]
mov eax, 0x421134
call fcn.0041e5c0
mov eax, dword [ebp - 8]
call fcn.004027b0
push eax
push 0
push esi
call sub.user32.dll_FindWindowExA
test bl, bl
je 0x4210e2
push 5
push eax
call sub.user32.dll_ShowWindow
jmp 0x4210ea
push 0
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42110c
lea eax, [ebp - 8]
mov edx, 2
call fcn.00402438
ret

Function at 0x421144
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
mov byte [ebp - 1], al
xor eax, eax
push ebp
push 0x4211f3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea edx, [ebp - 8]
mov eax, 0x421208
call fcn.0041e5c0
mov eax, dword [ebp - 8]
call fcn.004027b0
push eax
call sub.user32.dll_FindWindowA
mov ebx, eax
push 0
lea edx, [ebp - 0xc]
mov eax, 0x421220
call fcn.0041e5c0
mov eax, dword [ebp - 0xc]
call fcn.004027b0
push eax
push 0
push ebx
call sub.user32.dll_FindWindowExA
mov ebx, eax
push 0
lea edx, [ebp - 0x10]
mov eax, 0x421238
call fcn.0041e5c0
mov eax, dword [ebp - 0x10]
call fcn.004027b0
push eax
push 0
push ebx
call sub.user32.dll_FindWindowExA
cmp byte [ebp - 1], 0
je 0x4211d0
push 5
push eax
call sub.user32.dll_ShowWindow
jmp 0x4211d8
push 0
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4211fa
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00402438
ret

Function at 0x421a3c
Capabilities:
Hide graphical window

Disassembly:
test dl, dl
je 0x421a49
push 5
push eax
call sub.user32.dll_ShowWindow
ret
push 0
push eax
call sub.user32.dll_ShowWindow
ret
Function at 0x421bac
Capabilities:
Enumerate services

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x421bb5
mov eax, dword [ebp - 4]
add esp, 0xfffff7e0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x4820], ecx
mov dword [ebp - 0x4824], ecx
mov dword [ebp - 0x4818], ecx
mov dword [ebp - 0x481c], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004027a0
xor eax, eax
push ebp
push 0x421d5c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf003f
push 0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x421d36
xor eax, eax
mov dword [ebp - 0x14], eax
xor edx, edx
push ebp
push 0x421d2f
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x4800
lea eax, [ebp - 0x4814]
push eax
push 3
push 0x30
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_EnumServicesStatusA
mov esi, dword [ebp - 0x10]
dec esi
test esi, esi
jl 0x421d08
inc esi
lea ebx, [ebp - 0x4808]
cmp dword [ebx], 4
jne 0x421cb9
push dword [edi]
lea eax, [ebp - 0x4818]
mov edx, dword [ebx - 0xc]
call fcn.00402540
push dword [ebp - 0x4818]
push 0x421d74
lea eax, [ebp - 0x481c]
mov edx, dword [ebx - 8]
call fcn.00402540
push dword [ebp - 0x481c]
push 0x421d80
push 0x421d94
mov eax, edi
mov edx, 6
call fcn.00402678
jmp 0x421cfe
push dword [edi]
lea eax, [ebp - 0x4820]
mov edx, dword [ebx - 0xc]
call fcn.00402540
push dword [ebp - 0x4820]
push 0x421d74
lea eax, [ebp - 0x4824]
mov edx, dword [ebx - 8]
call fcn.00402540
push dword [ebp - 0x4824]
push 0x421da0
push 0x421d94
mov eax, edi
mov edx, 6
call fcn.00402678
add ebx, 0x24
dec esi
jne 0x421c6d
cmp dword [ebp - 0xc], 0
jne 0x421c35
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421d36
cmp dword [ebp - 8], 0
jbe 0x421d2e
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421d63
lea eax, [ebp - 0x4824]
mov edx, 4
call fcn.00402438
lea eax, [ebp - 4]
call fcn.00402414
ret
Function at 0x421dac
Capabilities:
Delete service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004027a0
mov eax, dword [ebp - 8]
call fcn.004027a0
xor eax, eax
push ebp
push 0x421e61
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf003f
push 0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x421e46
xor eax, eax
push ebp
push 0x421e3f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf01ff
mov eax, dword [ebp - 8]
call fcn.004027b0
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
push ebx
call sub.advapi32.dll_DeleteService
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421e46
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421e68
lea eax, [ebp - 8]
mov edx, 2
call fcn.00402438
ret

Function at 0x421e70
Capabilities:
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004027a0
mov eax, dword [ebp - 8]
call fcn.004027a0
xor eax, eax
push ebp
push 0x421f2b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf003f
push 0
mov eax, dword [ebp - 4]
call fcn.004027b0
push eax
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x421f10
xor eax, eax
push ebp
push 0x421f09
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf01ff
mov eax, dword [ebp - 8]
call fcn.004027b0
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421f10
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421f32
lea eax, [ebp - 8]
mov edx, 2
call fcn.00402438
ret