Function at 0x1006e42
Capabilities:
Delete service
Enumerate services
Query service status
Start service

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6c
xor eax, eax
push edi
push 2
pop edi
cmp dword [ebp + 8], edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
jae 0x1006e77
call fcn.01006daa
xor eax, eax
inc eax
jmp 0x10082b7
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x1004f48
push dword [esi + 4]
xor ebx, ebx
mov dword [ebp - 0xc], eax
inc ebx
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x1006eb2
cmp dword [ebp + 8], edi
jne 0x1006eaa
call fcn.01006daa
xor eax, eax
inc eax
jmp 0x10082b5
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], eax
mov ebx, edi
call fcn.01005913
mov eax, dword [ebp + 0xc]
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
lea edi, [eax + ebx*4]
push 0x1004f3c
push dword [edi]
call esi
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov dword [ebp - 0x1c], eax
jne 0x1007d8c
push 0x1004f2c
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
je 0x1007d8c
lea eax, [ebx + 1]
cmp dword [ebp + 8], eax
mov dword [ebp - 0x38], eax
jae 0x1006f04
push 0x1004f04
jmp 0x1007d7b
push 0x1004ef8
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007025
mov esi, dword [ebp + 8]
lea eax, [ebx + 2]
cmp esi, eax
jae 0x1006f4c
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004edc
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004ea4
jmp 0x1008045
mov edi, dword [edi + 4]
push 0x80000000
push 0
push dword [ebp - 0xc]
mov dword [ebp - 0x2c], edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
push 0x14
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov edi, eax
test edi, edi
mov dword [ebp - 0x14], edi
jne 0x1006f9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1004e74
jmp 0x10079d7
lea eax, [ebx + 2]
xor ecx, ecx
cmp esi, eax
jbe 0x1006fa9
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + eax*4]
sub esi, ebx
push ecx
dec esi
dec esi
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x1006fd4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1004e50
jmp 0x10079d7
lea eax, [ebp - 0x48]
push eax
push 0x24
lea eax, [ebp - 0x6c]
push eax
xor ebx, ebx
push ebx
push edi
xor esi, esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1006ff6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
lea eax, [ebp - 0x6c]
mov dword [ebp + 8], eax
jne 0x1007013
push ebx
lea eax, [ebp + 8]
push eax
push ebx
push dword [ebp - 0x2c]
call fcn.01005009
jmp 0x100828c
push esi
call fcn.01004fd9
push eax
push esi
push 0x1004e14
jmp 0x10079d7
push 0x1004e08
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007096
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007067
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004dd8
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004db4
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push 2
push dword [edi + 4]
push eax
call fcn.01005a0b
jmp 0x100828c
push 0x1004d9c
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10070fb
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10070d8
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004d64
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004d38
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push 4
jmp 0x1007088
push 0x1004d28
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071f5
lea eax, [ebx + 3]
cmp dword [ebp + 8], eax
jae 0x1007141
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004d00
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004c10
jmp 0x1008045
mov eax, dword [ebp + 0xc]
lea ebx, [eax + ebx*4 + 8]
push dword [ebx]
call dword [sym.imp.msvcrt.dll__wtol]
test eax, eax
pop ecx
mov dword [ebp + 8], eax
jne 0x10071ce
push 0x1004bf8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007170
mov dword [ebp + 8], 6
jmp 0x10071ce
push 0x1004be0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007188
mov dword [ebp + 8], 7
jmp 0x10071ce
push 0x1004bc4
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071a0
mov dword [ebp + 8], 8
jmp 0x10071ce
push 0x1004ba8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071b8
mov dword [ebp + 8], 9
jmp 0x10071ce
push 0x1004b88
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071ce
mov dword [ebp + 8], 0xa
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp + 8]
jmp 0x1007088
push 0x1004b74
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100725d
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007237
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004b40
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004b18
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push 3
jmp 0x1007088
push 0x1004b0c
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10072c5
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x100729f
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004adc
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004ab8
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push 1
jmp 0x1007088
push 0x1004aa8
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007322
mov esi, dword [ebp + 8]
lea eax, [ebx + 3]
cmp esi, eax
jae 0x10072e8
call fcn.010056c6
jmp 0x100828c
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
sub esi, ebx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
dec esi
dec esi
push esi
lea ecx, [ecx + ebx*4 + 8]
push ecx
push dword [edi + 4]
push eax
call fcn.01005ae6
jmp 0x100828c
push 0x1004a90
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007397
lea esi, [ebx + 2]
cmp dword [ebp + 8], esi
jae 0x1007364
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004a60
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004a28
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push dword [ecx + esi*4]
push dword [edi + 4]
push eax
call fcn.01005ff3
jmp 0x100828c
push 0x1004a18
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10073f9
mov esi, dword [ebp + 8]
lea eax, [ebx + 2]
cmp esi, eax
mov dword [ebp - 0x48], eax
jae 0x10073bd
call fcn.0100572c
jmp 0x100828c
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
mov edx, dword [ebp - 0x48]
sub esi, ebx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
dec esi
dec esi
push esi
lea ecx, [ecx + edx*4]
push ecx
push dword [edi + 4]
push eax
call fcn.0100607a
jmp 0x100828c
push 0x1004a08
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10074ca
cmp dword [0x1009840], eax
je 0x10074c0
cmp dword [0x1009030], eax
je 0x10074c0
lea eax, [ebx + 3]
cmp dword [ebp + 8], eax
jb 0x1007483
mov eax, dword [ebp + 0xc]
lea ebx, [eax + ebx*4 + 8]
push 0x10049ec
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007447
xor esi, esi
inc esi
jmp 0x1007458
push 0x10049e0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007483
xor esi, esi
push 1
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push esi
push dword [edi + 4]
push eax
call fcn.0100578c
jmp 0x100828c
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x10047e0
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10047b0
call esi
mov dword [esp], 0x1002640
call esi
mov dword [esp], 0x1004790
jmp 0x1008045
push 0x100476c
jmp 0x1007925
push 0x1004764
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007558
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x100750c
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x100472c
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10046fc
jmp 0x1008045
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x1007528
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 8]
push dword [edi + 4]
push eax
call fcn.010051d7
jmp 0x100828c
push 0x10046e0
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10075ee
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x100759e
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x10046ac
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004674
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x10075d5
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
push 1
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 8]
push dword [edi + 4]
push dword [ebp - 4]
call fcn.0100543d
jmp 0x100828c
push 0x1004660
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100766e
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007630
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004628
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10045f4
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x1007667
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
push 2
jmp 0x10075d7
push 0x10045e0
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10076f2
xor esi, esi
cmp dword [0x1009840], esi
je 0x10074c0
cmp dword [0x1009030], esi
je 0x10074c0
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10076ca
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x10043e0
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10043b4
jmp 0x1008045
push 1
push esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
je 0x1008079
push 5
lea ecx, [ebp - 0x14]
push ecx
push 4
push dword [edi + 4]
push eax
jmp 0x10075e4
push 0x10043a4
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100775f
cmp dword [0x1009840], eax
je 0x10074c0
cmp dword [0x1009030], eax
je 0x10074c0
cmp dword [ebp + 8], 3
jne 0x1007734
cmp ebx, 1
jne 0x1007734
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
call fcn.01005820
jmp 0x100828c
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1004320
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x100430c
jmp 0x1008045
push 0x10042f8
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10077b1
push 0x10
push eax
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
mov dword [ebp - 8], 0x1f4
jbe 0x10077a1
push dword [edi + 4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.01006c4a
jmp 0x100828c
push 0x10042ec
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10077e2
push 8
push eax
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
push eax
call fcn.01006d14
jmp 0x100828c
push 0x10042e0
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007861
push 0x80000000
push eax
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
push 0x14
push dword [edi + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x1007838
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x10016b4
jmp 0x10079d7
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test eax, eax
jne 0x100828c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x10042b4
jmp 0x10079d7
push 0x10042a4
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007931
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10078a7
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x10041f8
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10041d0
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
push 0x10000
push dword [edi + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x10078fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x10016b4
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
jmp 0x10082b3
push eax
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x1007920
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x10041ac
jmp 0x10079d7
push 0x1004190
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x100828c
push 0x1004180
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007987
mov esi, dword [ebp + 8]
lea eax, [ebx + 3]
cmp esi, eax
jae 0x1007954
call fcn.010056f9
jmp 0x100828c
push 2
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
mov ecx, dword [ebp + 0xc]
sub esi, ebx
dec esi
dec esi
push esi
lea ecx, [ecx + ebx*4 + 8]
push ecx
push dword [edi + 4]
push eax
call fcn.010063a9
jmp 0x100828c
push 0x1002acc
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007a23
add ebx, 2
cmp dword [ebp + 8], ebx
jb 0x10079f8
push 0x1004178
push dword [edi + 4]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10079e5
push 1
call dword [sym.imp.ADVAPI32.dll_NotifyBootConfigStatus]
test eax, eax
jne 0x100828c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1004150
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
jmp 0x100828c
push 0x1004148
push dword [edi + 4]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10079f8
push eax
jmp 0x10079b4
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x10040e8
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x10040cc
jmp 0x1008045
push 0x10040ac
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007b0a
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007a69
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x100406c
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1004030
jmp 0x1008045
push 0x80000000
xor esi, esi
push esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
je 0x1008079
cmp dword [ebp + 8], ebx
mov eax, 0x1f4
mov dword [ebp - 8], eax
jbe 0x1007aa6
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, esi
pop ecx
mov dword [ebp - 8], eax
je 0x1007ad0
add eax, eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
jne 0x1007ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003ff8
jmp 0x10079d7
lea eax, [ebp - 8]
push eax
push esi
push dword [edi + 4]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_GetServiceDisplayNameW]
test eax, eax
jne 0x1007aff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003fcc
jmp 0x1007be1
push esi
push 0x1003f9c
jmp 0x1007c01
push 0x1003f84
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007c0d
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007b50
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1003f28
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1003ee8
jmp 0x1008045
push 0x80000000
xor esi, esi
push esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
je 0x1008079
cmp dword [ebp + 8], ebx
mov eax, 0x1f4
mov dword [ebp - 8], eax
jbe 0x1007b8d
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, esi
pop ecx
mov dword [ebp - 8], eax
je 0x1007bb7
add eax, eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
jne 0x1007bb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003eb4
jmp 0x10079d7
lea eax, [ebp - 8]
push eax
push esi
push dword [edi + 4]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_GetServiceKeyNameW]
test eax, eax
jne 0x1007bfb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003e8c
mov esi, dword [sym.imp.msvcrt.dll_printf]
call esi
push dword [ebp - 8]
push 0x1003e74
call esi
add esp, 0x14
jmp 0x100828c
push esi
push 0x1003e48
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x100792b
push 0x1003e30
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007c99
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007c4f
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1003df4
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1003dc0
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x1007c86
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
push dword [ebp - 8]
push dword [edi + 4]
push dword [ebp - 4]
call fcn.01006896
jmp 0x100828c
push 0x1003db0
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007d04
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1007cdb
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1003d74
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1003d50
jmp 0x1008045
push 0x80000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
push dword [edi + 4]
push eax
call fcn.010069d3
jmp 0x100828c
push 0x1003d44
push dword [edi]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007d76
lea eax, [ebx + 3]
cmp dword [ebp + 8], eax
jae 0x1007d46
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10026b8
call esi
mov dword [esp], 0x1003d1c
call esi
mov dword [esp], 0x100268c
call esi
mov dword [esp], 0x1003ce4
jmp 0x1008045
push 0x40000000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1008079
mov ecx, dword [ebp + 0xc]
push dword [ecx + ebx*4 + 8]
push dword [edi + 4]
push eax
call fcn.01006b92
jmp 0x100828c
push 0x1003cc4
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
call fcn.01006daa
jmp 0x100828c
xor ecx, ecx
xor eax, eax
inc eax
lea edi, [ebx + 1]
cmp dword [ebp + 8], edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], 0x1000
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], edi
jbe 0x1007ff8
mov esi, dword [sym.imp.msvcrt.dll_wcscmp]
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x1003cbc
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007df0
inc edi
cmp dword [ebp + 8], edi
jbe 0x1007fe8
mov eax, dword [ebp + 0xc]
push dword [eax + edi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x24], eax
jmp 0x1007fe8
push 0x1002b50
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007f27
inc edi
cmp dword [ebp + 8], edi
jbe 0x1007fe8
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x1003cac
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007e2b
or dword [ebp - 0x10], 0xb
jmp 0x1007fe8
push 0x1003c9c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007e43
or dword [ebp - 0x10], 0x30
jmp 0x1007fe8
push 0x1003c94
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007e5d
or word [ebp - 0x10], 0x13f
jmp 0x1007fe8
push 0x1002b28
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007e75
or byte [ebp - 0xf], 1
jmp 0x1007fe8
push 0x1002ae8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007e8d
or dword [ebp - 0x10], 0xffffffff
jmp 0x1007fe8
push 0x10049e0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007eab
and dword [ebp - 0x10], eax
mov dword [ebp - 0x48], 1
jmp 0x1007fe8
push 0x1002b18
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007ec3
or dword [ebp - 0x10], 1
jmp 0x1007fe8
push 0x1002b08
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007edb
or dword [ebp - 0x10], 2
jmp 0x1007fe8
push 0x1003c84
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007ef3
or dword [ebp - 0x10], 4
jmp 0x1007fe8
push 0x1002b48
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007f0b
or dword [ebp - 0x10], 0x10
jmp 0x1007fe8
push 0x1002b3c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1008027
or dword [ebp - 0x10], 0x20
jmp 0x1007fe8
push 0x1003c74
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007f92
inc edi
cmp dword [ebp + 8], edi
jbe 0x1007fe8
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x1003c60
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007f61
mov dword [ebp - 0x18], 2
jmp 0x1007fe8
push 0x1003c94
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007f79
mov dword [ebp - 0x18], 3
jmp 0x1007fe8
push 0x1002ae8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1008031
or dword [ebp - 0x18], 0xffffffff
jmp 0x1007fe8
push 0x1002a14
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007fb2
inc edi
cmp dword [ebp + 8], edi
jbe 0x1007fe8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x28], eax
jmp 0x1007fe8
push 0x1003c4c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007fd9
inc edi
cmp dword [ebp + 8], edi
jbe 0x1007fe8
mov eax, dword [ebp + 0xc]
push dword [eax + edi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 8], eax
jmp 0x1007fe8
cmp edi, dword [ebp - 0x38]
jne 0x100804c
mov eax, dword [ebx]
and dword [ebp - 0x44], 0
mov dword [ebp - 0x2c], eax
inc edi
inc edi
cmp dword [ebp + 8], edi
ja 0x1007dbc
cmp dword [ebp - 8], 0
je 0x1008056
push dword [ebp - 8]
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x40], edi
jne 0x100805d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003c10
jmp 0x10079d7
push 0x1003bd4
jmp 0x1007925
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1003bb8
call esi
mov dword [esp], 0x1003b80
call esi
jmp 0x100792b
push 0x1003b68
jmp 0x1007d7b
xor edi, edi
mov dword [ebp - 0x40], edi
xor esi, esi
cmp dword [ebp - 0x44], esi
je 0x10081d1
push 4
push esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
jne 0x1008093
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003b44
jmp 0x10079d7
cmp dword [ebp - 0x10], esi
jne 0x10080a8
cmp dword [ebp - 0x48], esi
jne 0x10080a8
mov dword [ebp - 0x10], 0x30
jmp 0x10080a8
xor esi, esi
xor ebx, ebx
cmp dword [ebp - 0x1c], esi
lea eax, [ebp - 0x24]
je 0x10080f9
cmp dword [ebp - 0x28], esi
mov dword [ebp - 0x30], edi
jne 0x10080d8
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 8]
push edi
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusW]
jmp 0x100811c
push dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 8]
push edi
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServiceGroupW]
jmp 0x100811c
push dword [ebp - 0x28]
mov dword [ebp - 0x34], edi
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 8]
push edi
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
jne 0x100815c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, esi
je 0x100815c
cmp ebx, 0xea
je 0x100815c
cmp dword [ebp - 0x1c], esi
mov esi, 0x1003b43
jne 0x1008143
mov esi, 0x1003b40
push ebx
call fcn.01004fd9
push eax
push ebx
push esi
push 0x1003b14
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
jmp 0x10081ab
xor esi, esi
cmp dword [ebp - 0x20], esi
jbe 0x10081ab
cmp dword [ebp - 0x1c], 0
je 0x1008188
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
push 1
mov dword [ebp + 8], ecx
lea ecx, [ebp + 8]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.01005009
add dword [ebp - 0x30], 0x24
jmp 0x10081a5
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 8]
push 0
mov dword [ebp + 8], ecx
lea ecx, [ebp + 8]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.01005009
add dword [ebp - 0x34], 0x2c
inc esi
cmp esi, dword [ebp - 0x20]
jb 0x1008163
cmp ebx, 0xea
jne 0x100828c
cmp dword [ebp - 0x20], 0
jne 0x10080a6
push dword [ebp - 0x24]
push dword [ebp - 0x3c]
push 0x1003ad8
jmp 0x10079d7
cmp dword [ebp - 0x28], esi
je 0x10081e0
push 0x1003a98
jmp 0x1007925
push 0x80000000
push esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
je 0x1008079
push 4
push dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
cmp eax, esi
mov dword [ebp - 0x14], eax
jne 0x1008227
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.01004fd9
push eax
push esi
push 0x1003a5c
jmp 0x10079d7
cmp dword [ebp - 0x1c], esi
mov dword [ebp + 8], edi
je 0x1008239
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x1008249
lea ecx, [ebp - 0x48]
push ecx
push dword [ebp - 8]
push edi
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1008259
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, esi
jne 0x1008266
push dword [ebp - 0x1c]
lea eax, [ebp + 8]
push eax
push esi
jmp 0x1007006
cmp dword [ebp - 0x1c], esi
mov esi, 0x1003b43
jne 0x1008275
mov esi, 0x1003b40
push edi
call fcn.01004fd9
push eax
push edi
push esi
push 0x1003a30
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x14], 0
je 0x10082a4
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [ebp - 4], 0
je 0x10082b3
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
pop esi
pop ebx
pop edi
leave
ret