Function at 0x4f540f
Capabilities:
Enumerate services

Disassembly:
push ebp
push ebx
mov edx, 0x11
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4f5416
call fcn.00408600
push esp
push 0xc6
call fcn.00409350
add esp, 8
push 0x86
call fcn.00521f18
push 0x89
call fcn.00521f18
mov edx, 0x4c31a6
lea ecx, [esp + 0x20]
call fcn.004011b8
push 0x89
call fcn.00521f18
mov edx, 0x4c31a6
lea ecx, [esp + 0x24]
call fcn.004011b8
push 0x89
call fcn.00521f18
mov edx, 0x4c31a6
lea ecx, [esp + 0x28]
call fcn.004011b8
push 0x8a
call fcn.00521f18
lea edx, [esp + 0x34]
push edx
push 0
push 0x18
push 1
mov eax, 1
push 1
call fcn.00521fae
call fcn.00407c95
push 0x8b
call fcn.00521f18
push reloc.WS2_32.dll_connect
push 0
push 0
call sub.ADVAPI32.dll_OpenSCManagerW
push 0x8b
call fcn.00522048
mov dword [esp], eax
push 0x8c
call fcn.00521f18
cmp dword [esp], 0
je 0x4f5e1d
push 0x8d
call fcn.00521f18
mov dword [esp + 8], 0
push 0x8e
call fcn.00521f18
mov dword [esp + 0x10], 0
push 0x8f
call fcn.00521f18
mov dword [esp + 0x14], 0
push 0x90
call fcn.00521f18
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
push 0
push 0
push 3
push dword [esp + 0x68]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_EnumServicesStatusW
push 0x90
call fcn.00522048
mov dword [esp + 0x18], eax
push 0x91
call fcn.00521f18
mov ebx, dword [esp + 0x10]
and ebx, ebx
jle 0x4f5df7
push 0x92
call fcn.00521f18
push dword [esp + 0x10]
pop eax
mov dword [esp + 0xc], eax
push 0x93
call fcn.00521f18
mov eax, dword [esp + 0xc]
inc eax
lea edx, [esp + 0x34]
push edx
push eax
call fcn.00521fae
call fcn.00407e52
push 0x94
call fcn.00521f18
push 0
push dword [esp + 0x10]
mov eax, 0
mov edx, dword [esp + 0x3c]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [esp + 0x3c]
lea eax, [ebp]
push eax
call fcn.00408030
call fcn.004082f0
push 0x95
call fcn.00521f18
mov dword [esp + 8], 0
push 0x96
call fcn.00521f18
mov dword [esp + 0x10], 0
push 0x97
call fcn.00521f18
mov dword [esp + 0x14], 0
push 0x98
call fcn.00521f18
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x18]
mov eax, 0
mov edx, dword [esp + 0x44]
mov edx, dword [edx - 8]
call fcn.00521fbb
lea eax, [ebp]
push eax
push 3
push dword [esp + 0x68]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_EnumServicesStatusW
push 0x98
call fcn.00522048
mov dword [esp + 0x18], eax
push 0x99
call fcn.00521f18
cmp dword [esp + 0x18], 0
je 0x4f5ded
push 0x9a
call fcn.00521f18
mov ebx, dword [esp + 0x14]
and ebx, ebx
jle 0x4f5de3
push 0x9b
call fcn.00521f18
mov dword [esp + 0x1c], 0
push 0x9c
call fcn.00521f18
mov eax, 0
mov edx, dword [esp + 0x34]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [esp + 0x34]
lea eax, [ebp]
mov dword [esp + 4], eax
push 0x9d
call fcn.00521f18
push 0x9e
call fcn.00521f18
mov ebx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x1c], ebx
push 0x9f
call fcn.00521f18
mov ebp, dword [esp + 4]
call fcn.00521fa1
cmp dword [ebp], 0
je 0x4f5727
mov ebp, dword [esp + 4]
call fcn.00521fa1
cmp dword [ebp + 4], 0
je 0x4f5727
mov eax, 1
jmp 0x4f5729
xor eax, eax
and eax, eax
je 0x4f5d91
push 0xa0
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x1c]
call fcn.00521fa1
push dword [ebp]
call fcn.00408140
call fcn.004083b0
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x24]
push eax
call fcn.00408560
push 0xa1
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x1c]
call fcn.00521fa1
push dword [ebp + 4]
call fcn.00408140
call fcn.004083b0
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x28]
push eax
call fcn.00408560
push 0xa2
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x20]
call fcn.00521fa1
push dword [ebp]
call fcn.00408140
call fcn.004083b0
call fcn.004011f2
add dword [esp], edx
call fcn.00507afc
push 0xa2
call fcn.00522048
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x2c]
push eax
call fcn.00408560
push 0xa3
call fcn.00521f18
push dword [esp + 0x20]
mov edx, 0x4c31a6
pop ecx
call fcn.00401230
jne 0x4f58b5
push dword [esp + 0x24]
mov edx, 0x4c31a6
pop ecx
call fcn.00401230
jne 0x4f58b5
mov eax, 1
jmp 0x4f58b7
xor eax, eax
and eax, eax
je 0x4f58d3
push dword [esp + 0x28]
mov edx, 0x4c31a6
pop ecx
call fcn.00401230
jne 0x4f58d3
mov eax, 1
jmp 0x4f58d5
xor eax, eax
and eax, eax
je 0x4f5930
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push dword [esp + 0x2c]
call fcn.00402bd0
call fcn.00408760
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, str.Shell_Hardware_Detection
push eax
call fcn.00402bd0
call fcn.00401210
mov edx, eax
pop ecx
push ecx
call fcn.00401210
mov ecx, eax
call fcn.00401230
jne 0x4f5930
mov eax, 1
jmp 0x4f5932
xor eax, eax
and eax, eax
je 0x4f5d87
push 0xa4
call fcn.00521f18
mov eax, 0x4c3270
push eax
push dword [esp + 0x28]
call fcn.00401f30
mov ebx, eax
cmp ebx, 2
jl 0x4f5d7d
push 0xa5
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, 0x4c3270
push eax
push 1
push dword [esp + 0x3c]
call fcn.00401ed0
call fcn.004029d0
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0xa6
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, 0x4c3270
push eax
push 2
push dword [esp + 0x3c]
call fcn.00401ed0
call fcn.004029d0
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x34]
push eax
call fcn.00408560
push 0xa7
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push dword [esp + 0x34]
call fcn.004021c0
mov ebx, eax
push dword [esp + 0x3c]
call fcn.004021c0
sub ebx, eax
push ebx
push dword [esp + 0x40]
call fcn.004021c0
mov ebx, eax
inc ebx
push ebx
push dword [esp + 0x3c]
call fcn.004021f0
call fcn.004011f2
add dword [esp], edx
call fcn.00401e80
call fcn.00402b20
lea eax, [esp + 0x28]
push eax
call fcn.00408560
push 0xa8
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push 1
push 1
push dword [esp + 0x48]
call fcn.004021f0
call fcn.004011f2
add dword [esp], edx
call fcn.00402bd0
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0xab
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push dword [esp + 0x38]
call fcn.00402bd0
call fcn.00408760
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, 0x4c4c96
push eax
call fcn.00402bd0
call fcn.00401210
mov edx, eax
pop ecx
push ecx
call fcn.00401210
mov ecx, eax
call fcn.00401230
jne 0x4f5b94
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push dword [esp + 0x38]
call fcn.00402bd0
call fcn.00408760
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, 0x4c3d0c
push eax
call fcn.00402bd0
call fcn.00401210
mov edx, eax
pop ecx
push ecx
call fcn.00401210
mov ecx, eax
call fcn.00401230
jne 0x4f5b94
mov eax, 1
jmp 0x4f5b96
xor eax, eax
and eax, eax
je 0x4f5bff
push dword [esp + 0x2c]
call fcn.00401da0
mov ebx, eax
mov eax, 0x4c338e
push eax
call fcn.00401da0
cmp ebx, eax
jl 0x4f5bd5
push dword [esp + 0x2c]
call fcn.00401da0
mov ebx, eax
mov eax, 0x4c3432
push eax
call fcn.00401da0
cmp ebx, eax
jg 0x4f5bd5
mov eax, 1
jmp 0x4f5bd7
xor eax, eax
and eax, eax
je 0x4f5bf2
push dword [esp + 0x24]
call fcn.004021c0
mov ebx, eax
cmp ebx, 4
jle 0x4f5bf2
mov eax, 1
jmp 0x4f5bf4
xor eax, eax
and eax, eax
je 0x4f5bff
mov eax, 1
jmp 0x4f5c01
xor eax, eax
and eax, eax
je 0x4f5d73
push 0xac
call fcn.00521f18
mov edx, dword [esp + 0x2c]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push dword [esp + 0x30]
call fcn.004021c0
mov ebx, eax
dec ebx
push ebx
push 2
push dword [esp + 0x38]
call fcn.004021f0
pop eax
lea eax, [esp + 0x28]
push eax
call fcn.00408560
push 0xad
call fcn.00521f18
mov edx, dword [esp + 0x20]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
mov ebx, dword [0x4d7bf8]
mov eax, ebx
mov edx, dword [0x4c30bc]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [0x4c30bc]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00521fa1
lea eax, [ebp]
push eax
call fcn.00408560
push 0xae
call fcn.00521f18
mov edx, dword [esp + 0x24]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
mov ebx, dword [0x4d7bf8]
mov eax, ebx
mov edx, dword [0x4c30bc]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [0x4c30bc]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00521fa1
lea eax, [ebp + 4]
push eax
call fcn.00408560
push 0xaf
call fcn.00521f18
mov edx, dword [esp + 0x28]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
mov ebx, dword [0x4d7bf8]
mov eax, ebx
mov edx, dword [0x4c30bc]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [0x4c30bc]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00521fa1
lea eax, [ebp + 8]
push eax
call fcn.00408560
push 0xb0
call fcn.00521f18
mov ebx, dword [0x4d7bf8]
inc ebx
mov dword [0x4d7bf8], ebx
push 0xb1
call fcn.00521f18
mov eax, dword [0x4d7bf8]
inc eax
push 0x4c30bc
push eax
call fcn.00521fae
call fcn.00407e52
push 0xb4
call fcn.00521f18
push 0xb5
call fcn.00521f18
push 0xb6
call fcn.00521f18
push 0xb7
call fcn.00521f18
push 0xb8
call fcn.00521f18
mov ebx, dword [esp + 4]
add ebx, 0x24
mov dword [esp + 4], ebx
push 0xb9
call fcn.00521f18
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x14]
jge 0x4f5dd2
mov ebx, dword [esp + 0x1c]
cmp ebx, 0x1f4
jg 0x4f5dd2
jmp 0x4f5dd9
mov eax, 1
jmp 0x4f5ddb
xor eax, eax
and eax, eax
je 0x4f56db
push 0xba
call fcn.00521f18
push 0xbb
call fcn.00521f18
push 0xbc
call fcn.00521f18
push 0xbd
call fcn.00521f18
push dword [esp]
call sub.ADVAPI32.dll_CloseServiceHandle
push 0xbd
call fcn.00522048
push 0xbe
call fcn.00521f18
push 0xbf
call fcn.00521f18
xor eax, eax
push edx
push eax
call fcn.00409480
pop eax
push dword [esp + 0x2c]
call fcn.00408690
push dword [esp + 0x30]
call fcn.00408690
push dword [esp + 0x34]
call fcn.00408690
push dword [esp + 0x24]
call fcn.00408690
push dword [esp + 0x28]
call fcn.00408690
push eax
push dword [esp + 0x3c]
call fcn.00407e02
pop eax
pop edx
add esp, 0x44
pop ebx
pop ebp
ret 4