joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4ee51c
Capabilities:
Continue service
Pause service
Query service status
Start service
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4ee5ad
Capabilities:
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4ee5ef
Capabilities:
Pause service
Query service status

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4ee631
Capabilities:
Continue service
Query service status

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4ee670
Capabilities:
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4ee6ac
Capabilities:
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004055e8
xor eax, eax
push ebp
push 0x4ee725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4ee738
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4ee705
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x4ee6fb
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.004055f8
push eax
push esi
call sub.advapi32.dll_OpenServiceA
mov ebx, eax
test ebx, ebx
je 0x4ee6fb
cmp edi, 5
ja case.0x4ee58e.0
jmp dword [edi*4 + 0x4ee595]
lea eax, [ebp - 0xc]
push eax
push 0
push ebx
call sub.advapi32.dll_StartServiceA
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee5da
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5bb
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 2
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 7
jne 0x4ee61c
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee5fd
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 3
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 4
jne 0x4ee65e
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee63f
jmp case.0x4ee58e.0
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee69a
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee67e
jmp case.0x4ee58e.0
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
push 1
push ebx
call sub.advapi32.dll_ControlService
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push ebx
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x24], 1
jne 0x4ee6dd
mov byte [ebp - 5], 1
push ebx
call sub.advapi32.dll_CloseServiceHandle
jmp case.0x4ee58e.0
push 0x3e8
call sub.kernel32.dll_Sleep_1
inc esi
cmp esi, 0x1e
jl 0x4ee6c1
mov byte [ebp - 5], 1
test ebx, ebx
je 0x4ee6fb
push ebx
call sub.advapi32.dll_CloseServiceHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee70f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ee72c
lea eax, [ebp - 4]
call fcn.00405138
ret
Function at 0x4f0344
Capabilities:
Hash data with md5

Disassembly:
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
xor edx, edx
mov dword [eax + 0x10], edx
xor edx, edx
mov dword [eax + 0x14], edx
add eax, 0x18
mov edx, 0x40
call fcn.004088a4
ret

Function at 0x4fa8d4
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4fa8dc
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4faace
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebx + 8]
lea ecx, [ebp - 0xc]
mov edx, 0x4faae4
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0xc]
lea eax, [ebx + 0xc]
call fcn.0040518c
lea ecx, [ebp - 0x10]
mov edx, 0x4faaf8
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0x10]
lea eax, [ebx + 0x28]
call fcn.0040518c
lea ecx, [ebp - 0x14]
mov edx, 0x4fab10
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0x14]
lea eax, [ebx + 0x10]
call fcn.0040518c
lea ecx, [ebp - 0x18]
mov edx, 0x4fab2c
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 0x14]
call fcn.0040518c
lea ecx, [ebp - 0x1c]
mov edx, 0x4fab48
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0x1c]
lea eax, [ebx + 0x24]
call fcn.0040518c
lea ecx, [ebp - 0x24]
mov edx, 0x4fab60
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.0040b5b0
mov eax, dword [ebp - 0x20]
or edx, 0xffffffff
call fcn.0040bd28
mov edi, eax
mov dword [ebx + 0x18], edi
test edi, edi
setge al
mov byte [ebx + 0x4c], al
lea ecx, [ebp - 0x28]
mov edx, 0x4fab78
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x28]
call fcn.004f777c
fstp qword [ebx + 0x30]
wait
lea ecx, [ebp - 0x2c]
mov edx, 0x4fab88
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x2c]
call fcn.004f777c
fstp qword [ebx + 0x40]
wait
lea ecx, [ebp - 0x30]
mov edx, 0x4faba0
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x30]
or edx, 0xffffffff
call fcn.0040bd28
inc eax
je 0x4faa71
lea ecx, [ebp - 0x34]
mov edx, 0x4faba0
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x34]
call fcn.0040bcec
mov edi, eax
mov eax, edi
mov ecx, 0xe10
cdq
idiv ecx
mov dword [ebp - 8], eax
mov eax, edi
mov ecx, 0xe10
cdq
idiv ecx
mov ecx, edx
mov eax, ecx
push ecx
mov ecx, 0x3c
cdq
idiv ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, ecx
mov ecx, 0x3c
cdq
idiv ecx
mov edi, edx
push 0
mov ecx, edi
mov dx, word [ebp - 4]
mov ax, word [ebp - 8]
call fcn.0040db08
fstp qword [ebp - 0x3c]
wait
call fcn.0040de78
fadd qword [ebp - 0x3c]
fstp qword [ebx + 0x38]
wait
jmp 0x4faa8c
lea ecx, [ebp - 0x40]
mov edx, 0x4faba0
mov eax, esi
call fcn.004f8664
mov eax, dword [ebp - 0x40]
call fcn.004f777c
fstp qword [ebx + 0x38]
wait
lea ecx, [ebp - 0x44]
mov edx, 0x4fabb0
mov eax, esi
call fcn.004f8664
mov edx, dword [ebp - 0x44]
lea eax, [ebx + 0x48]
call fcn.0040518c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4faad5
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.0040515c
lea eax, [ebp - 0x34]
mov edx, 0xb
call fcn.0040515c
ret