Function at 0x4063fd
Capabilities:
Enumerate services

Disassembly:
push ebp
push ebx
mov edx, 0x11
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x406404
call fcn.0043fe00
push esp
push 0xc6
call fcn.00440ad0
add esp, 8
push 0x86
call fcn.00432f10
push 0x89
call fcn.00432f10
mov edx, 0x4ac1aa
lea ecx, [esp + 0x20]
call fcn.00434008
push 0x89
call fcn.00432f10
mov edx, 0x4ac1aa
lea ecx, [esp + 0x24]
call fcn.00434008
push 0x89
call fcn.00432f10
mov edx, 0x4ac1aa
lea ecx, [esp + 0x28]
call fcn.00434008
push 0x8a
call fcn.00432f10
lea edx, [esp + 0x34]
push edx
push 0
push 0x18
push 1
mov eax, 1
push 1
call fcn.00432fc6
call fcn.0043f24a
push 0x8b
call fcn.00432f10
push reloc.WS2_32.dll_connect
push 0
push 0
call sub.ADVAPI32.dll_OpenSCManagerW
push 0x8b
call fcn.00433063
mov dword [esp], eax
push 0x8c
call fcn.00432f10
cmp dword [esp], 0
je 0x406e0b
push 0x8d
call fcn.00432f10
mov dword [esp + 8], 0
push 0x8e
call fcn.00432f10
mov dword [esp + 0x10], 0
push 0x8f
call fcn.00432f10
mov dword [esp + 0x14], 0
push 0x90
call fcn.00432f10
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.00433063
mov dword [esp + 0x18], eax
push 0x91
call fcn.00432f10
mov ebx, dword [esp + 0x10]
and ebx, ebx
jle 0x406de5
push 0x92
call fcn.00432f10
push dword [esp + 0x10]
pop eax
mov dword [esp + 0xc], eax
push 0x93
call fcn.00432f10
mov eax, dword [esp + 0xc]
inc eax
lea edx, [esp + 0x34]
push edx
push eax
call fcn.00432fc6
call fcn.0043f398
push 0x94
call fcn.00432f10
push 0
push dword [esp + 0x10]
mov eax, 0
mov edx, dword [esp + 0x3c]
mov edx, dword [edx - 8]
call fcn.00432fd6
mov ebp, dword [esp + 0x3c]
lea eax, [ebp]
push eax
call fcn.0043f690
call fcn.0043f9a0
push 0x95
call fcn.00432f10
mov dword [esp + 8], 0
push 0x96
call fcn.00432f10
mov dword [esp + 0x10], 0
push 0x97
call fcn.00432f10
mov dword [esp + 0x14], 0
push 0x98
call fcn.00432f10
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.00432fd6
lea eax, [ebp]
push eax
push 3
push dword [esp + 0x68]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_EnumServicesStatusW
push 0x98
call fcn.00433063
mov dword [esp + 0x18], eax
push 0x99
call fcn.00432f10
cmp dword [esp + 0x18], 0
je 0x406ddb
push 0x9a
call fcn.00432f10
mov ebx, dword [esp + 0x14]
and ebx, ebx
jle 0x406dd1
push 0x9b
call fcn.00432f10
mov dword [esp + 0x1c], 0
push 0x9c
call fcn.00432f10
mov eax, 0
mov edx, dword [esp + 0x34]
mov edx, dword [edx - 8]
call fcn.00432fd6
mov ebp, dword [esp + 0x34]
lea eax, [ebp]
mov dword [esp + 4], eax
push 0x9d
call fcn.00432f10
push 0x9e
call fcn.00432f10
mov ebx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x1c], ebx
push 0x9f
call fcn.00432f10
mov ebp, dword [esp + 4]
call fcn.00432fb6
cmp dword [ebp], 0
je 0x406715
mov ebp, dword [esp + 4]
call fcn.00432fb6
cmp dword [ebp + 4], 0
je 0x406715
mov eax, 1
jmp 0x406717
xor eax, eax
and eax, eax
je 0x406d7f
push 0xa0
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x1c]
call fcn.00432fb6
push dword [ebp]
call fcn.0043f800
call fcn.0043fb10
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x24]
push eax
call fcn.0043fea0
push 0xa1
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x1c]
call fcn.00432fb6
push dword [ebp + 4]
call fcn.0043f800
call fcn.0043fb10
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x28]
push eax
call fcn.0043fea0
push 0xa2
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push 0x19
push 0xffffffff
mov ebp, dword [esp + 0x20]
call fcn.00432fb6
push dword [ebp]
call fcn.0043f800
call fcn.0043fb10
call fcn.004343e2
add dword [esp], edx
call fcn.00418afa
push 0xa2
call fcn.00433063
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x2c]
push eax
call fcn.0043fea0
push 0xa3
call fcn.00432f10
push dword [esp + 0x20]
mov edx, 0x4ac1aa
pop ecx
call fcn.00434410
jne 0x4068a3
push dword [esp + 0x24]
mov edx, 0x4ac1aa
pop ecx
call fcn.00434410
jne 0x4068a3
mov eax, 1
jmp 0x4068a5
xor eax, eax
and eax, eax
je 0x4068c1
push dword [esp + 0x28]
mov edx, 0x4ac1aa
pop ecx
call fcn.00434410
jne 0x4068c1
mov eax, 1
jmp 0x4068c3
xor eax, eax
and eax, eax
je 0x40691e
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push dword [esp + 0x2c]
call fcn.00435ba0
call fcn.0043fff0
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
mov eax, str.Shell_Hardware_Detection
push eax
call fcn.00435ba0
call fcn.00434450
mov edx, eax
pop ecx
push ecx
call fcn.00434450
mov ecx, eax
call fcn.00434410
jne 0x40691e
mov eax, 1
jmp 0x406920
xor eax, eax
and eax, eax
je 0x406d75
push 0xa4
call fcn.00432f10
mov eax, 0x4ac274
push eax
push dword [esp + 0x28]
call fcn.00435af0
mov ebx, eax
cmp ebx, 2
jl 0x406d6b
push 0xa5
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
mov eax, 0x4ac274
push eax
push 1
push dword [esp + 0x3c]
call fcn.00435760
call fcn.00435880
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x30]
push eax
call fcn.0043fea0
push 0xa6
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
mov eax, 0x4ac274
push eax
push 2
push dword [esp + 0x3c]
call fcn.00435760
call fcn.00435880
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x34]
push eax
call fcn.0043fea0
push 0xa7
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push dword [esp + 0x34]
call fcn.00435c10
mov ebx, eax
push dword [esp + 0x3c]
call fcn.00435c10
sub ebx, eax
push ebx
push dword [esp + 0x40]
call fcn.00435c10
mov ebx, eax
inc ebx
push ebx
push dword [esp + 0x3c]
call fcn.00435c40
call fcn.004343e2
add dword [esp], edx
call fcn.00435780
call fcn.00435860
lea eax, [esp + 0x28]
push eax
call fcn.0043fea0
push 0xa8
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push 1
push 1
push dword [esp + 0x48]
call fcn.00435c40
call fcn.004343e2
add dword [esp], edx
call fcn.00435ba0
lea eax, [esp + 0x30]
push eax
call fcn.0043fea0
push 0xab
call fcn.00432f10
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push dword [esp + 0x38]
call fcn.00435ba0
call fcn.0043fff0
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
mov eax, 0x4adc9a
push eax
call fcn.00435ba0
call fcn.00434450
mov edx, eax
pop ecx
push ecx
call fcn.00434450
mov ecx, eax
call fcn.00434410
jne 0x406b82
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push dword [esp + 0x38]
call fcn.00435ba0
call fcn.0043fff0
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
mov eax, 0x4acd10
push eax
call fcn.00435ba0
call fcn.00434450
mov edx, eax
pop ecx
push ecx
call fcn.00434450
mov ecx, eax
call fcn.00434410
jne 0x406b82
mov eax, 1
jmp 0x406b84
xor eax, eax
and eax, eax
je 0x406bed
push dword [esp + 0x2c]
call fcn.00435cd0
mov ebx, eax
mov eax, 0x4ac392
push eax
call fcn.00435cd0
cmp ebx, eax
jl 0x406bc3
push dword [esp + 0x2c]
call fcn.00435cd0
mov ebx, eax
mov eax, 0x4ac436
push eax
call fcn.00435cd0
cmp ebx, eax
jg 0x406bc3
mov eax, 1
jmp 0x406bc5
xor eax, eax
and eax, eax
je 0x406be0
push dword [esp + 0x24]
call fcn.00435c10
mov ebx, eax
cmp ebx, 4
jle 0x406be0
mov eax, 1
jmp 0x406be2
xor eax, eax
and eax, eax
je 0x406bed
mov eax, 1
jmp 0x406bef
xor eax, eax
and eax, eax
je 0x406d61
push 0xac
call fcn.00432f10
mov edx, dword [esp + 0x2c]
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043ff60
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043fe60
pop edx
push eax
push dword [esp + 0x30]
call fcn.00435c10
mov ebx, eax
dec ebx
push ebx
push 2
push dword [esp + 0x38]
call fcn.00435c40
pop eax
lea eax, [esp + 0x28]
push eax
call fcn.0043fea0
push 0xad
call fcn.00432f10
mov edx, dword [esp + 0x20]
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043ff60
mov ebx, dword [0x4c1e14]
mov eax, ebx
mov edx, dword [0x4ac0c0]
mov edx, dword [edx - 8]
call fcn.00432fd6
mov ebp, dword [0x4ac0c0]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00432fb6
lea eax, [ebp]
push eax
call fcn.0043fea0
push 0xae
call fcn.00432f10
mov edx, dword [esp + 0x24]
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043ff60
mov ebx, dword [0x4c1e14]
mov eax, ebx
mov edx, dword [0x4ac0c0]
mov edx, dword [edx - 8]
call fcn.00432fd6
mov ebp, dword [0x4ac0c0]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00432fb6
lea eax, [ebp + 4]
push eax
call fcn.0043fea0
push 0xaf
call fcn.00432f10
mov edx, dword [esp + 0x28]
push edx
call fcn.0043fe60
pop edx
push eax
push edx
call fcn.0043ff60
mov ebx, dword [0x4c1e14]
mov eax, ebx
mov edx, dword [0x4ac0c0]
mov edx, dword [edx - 8]
call fcn.00432fd6
mov ebp, dword [0x4ac0c0]
imul ebx, ebx, 0xc
add ebp, ebx
call fcn.00432fb6
lea eax, [ebp + 8]
push eax
call fcn.0043fea0
push 0xb0
call fcn.00432f10
mov ebx, dword [0x4c1e14]
inc ebx
mov dword [0x4c1e14], ebx
push 0xb1
call fcn.00432f10
mov eax, dword [0x4c1e14]
inc eax
push 0x4ac0c0
push eax
call fcn.00432fc6
call fcn.0043f398
push 0xb4
call fcn.00432f10
push 0xb5
call fcn.00432f10
push 0xb6
call fcn.00432f10
push 0xb7
call fcn.00432f10
push 0xb8
call fcn.00432f10
mov ebx, dword [esp + 4]
add ebx, 0x24
mov dword [esp + 4], ebx
push 0xb9
call fcn.00432f10
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x14]
jge 0x406dc0
mov ebx, dword [esp + 0x1c]
cmp ebx, 0x1f4
jg 0x406dc0
jmp 0x406dc7
mov eax, 1
jmp 0x406dc9
xor eax, eax
and eax, eax
je 0x4066c9
push 0xba
call fcn.00432f10
push 0xbb
call fcn.00432f10
push 0xbc
call fcn.00432f10
push 0xbd
call fcn.00432f10
push dword [esp]
call sub.ADVAPI32.dll_CloseServiceHandle
push 0xbd
call fcn.00433063
push 0xbe
call fcn.00432f10
push 0xbf
call fcn.00432f10
xor eax, eax
push edx
push eax
call fcn.00440ca0
pop eax
push dword [esp + 0x2c]
call fcn.0043ff30
push dword [esp + 0x30]
call fcn.0043ff30
push dword [esp + 0x34]
call fcn.0043ff30
push dword [esp + 0x24]
call fcn.0043ff30
push dword [esp + 0x28]
call fcn.0043ff30
push eax
push dword [esp + 0x3c]
call fcn.0043f469
pop eax
pop edx
add esp, 0x44
pop ebx
pop ebp
ret 4