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

Disassembly:
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 0x1006216
call fcn.01006152
xor eax, eax
inc eax
jmp 0x100748f
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x10046d0
push dword [esi + 4]
xor ebx, ebx
mov dword [ebp - 0x10], eax
inc ebx
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x1006251
cmp dword [ebp + 8], edi
jne 0x1006249
call fcn.01006152
xor eax, eax
inc eax
jmp 0x100748d
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], eax
mov ebx, edi
mov eax, dword [ebp + 0xc]
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
lea esi, [eax + ebx*4]
push 0x10046c4
push dword [esi]
call edi
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov dword [ebp - 0x1c], eax
jne 0x1006f64
push 0x10046b4
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
je 0x1006f64
lea eax, [ebx + 1]
cmp dword [ebp + 8], eax
mov dword [ebp - 0x38], eax
jae 0x100629e
push 0x100468c
jmp 0x1006f53
push 0x1004680
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x10063bf
mov edi, dword [ebp + 8]
lea eax, [ebx + 2]
cmp edi, eax
jae 0x10062e6
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1004664
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x100462c
jmp 0x100721d
mov esi, dword [esi + 4]
push 0x80000000
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x2c], esi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
push 0x14
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
test esi, esi
mov dword [ebp - 0x14], esi
jne 0x1006334
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x10045fc
jmp 0x1006baf
lea eax, [ebx + 2]
xor ecx, ecx
cmp edi, eax
jbe 0x1006343
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + eax*4]
sub edi, ebx
push ecx
dec edi
dec edi
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x100636e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x10045d8
jmp 0x1006baf
lea eax, [ebp - 0x48]
push eax
push 0x24
lea eax, [ebp - 0x6c]
push eax
xor ebx, ebx
push ebx
push esi
xor edi, edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1006390
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, ebx
lea eax, [ebp - 0x6c]
mov dword [ebp + 8], eax
jne 0x10063ad
push ebx
lea eax, [ebp + 8]
push eax
push ebx
push dword [ebp - 0x2c]
call fcn.01004722
jmp 0x1007464
push edi
call fcn.010046fc
push eax
push edi
push 0x100459c
jmp 0x1006baf
push 0x1004590
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006430
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006401
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1004560
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x100453c
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push 2
push dword [esi + 4]
push eax
call fcn.01004e40
jmp 0x1007464
push 0x1004524
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006495
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006472
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x10044ec
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x10044c0
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push 4
jmp 0x1006422
push 0x10044b0
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x100658f
lea eax, [ebx + 3]
cmp dword [ebp + 8], eax
jae 0x10064db
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1004488
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1004398
jmp 0x100721d
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 0x1006568
push 0x100437c
push dword [ebx]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x100650a
mov dword [ebp + 8], 6
jmp 0x1006568
push 0x1004364
push dword [ebx]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006522
mov dword [ebp + 8], 7
jmp 0x1006568
push 0x1004348
push dword [ebx]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x100653a
mov dword [ebp + 8], 8
jmp 0x1006568
push 0x100432c
push dword [ebx]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006552
mov dword [ebp + 8], 9
jmp 0x1006568
push 0x100430c
push dword [ebx]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006568
mov dword [ebp + 8], 0xa
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp + 8]
jmp 0x1006422
push 0x10042f8
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x10065f7
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10065d1
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x10042c4
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x100429c
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push 3
jmp 0x1006422
push 0x1004290
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x100665f
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006639
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1004260
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x100423c
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push 1
jmp 0x1006422
push 0x100422c
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x10066bc
mov edi, dword [ebp + 8]
lea eax, [ebx + 3]
cmp edi, eax
jae 0x1006682
call fcn.01004d8f
jmp 0x1007464
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
sub edi, ebx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
dec edi
dec edi
push edi
lea ecx, [ecx + ebx*4 + 8]
push ecx
push dword [esi + 4]
push eax
call fcn.01004f14
jmp 0x1007464
push 0x1004214
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006731
lea edi, [ebx + 2]
cmp dword [ebp + 8], edi
jae 0x10066fe
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x10041e4
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x10041ac
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push dword [ecx + edi*4]
push dword [esi + 4]
push eax
call fcn.0100541a
jmp 0x1007464
push 0x100419c
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006793
mov edi, dword [ebp + 8]
lea eax, [ebx + 2]
cmp edi, eax
mov dword [ebp - 0x48], eax
jae 0x1006757
call fcn.01004de7
jmp 0x1007464
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
mov edx, dword [ebp - 0x48]
sub edi, ebx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
dec edi
dec edi
push edi
lea ecx, [ecx + edx*4]
push ecx
push dword [esi + 4]
push eax
call fcn.0100549a
jmp 0x1007464
push 0x1004194
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006821
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10067d5
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x100415c
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x100412c
jmp 0x100721d
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x10067f1
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 - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 8]
push dword [esi + 4]
push eax
call fcn.010048e2
jmp 0x1007464
push 0x1004110
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x10068b7
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006867
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x10040dc
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x10040a4
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x100689e
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 [esi + 4]
push dword [ebp - 4]
call fcn.01004b41
jmp 0x1007464
push 0x1004090
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006937
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x10068f9
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1004058
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1004024
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x1006930
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 0x10068a0
push 0x1004010
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006989
push 0x10
push eax
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
mov dword [ebp - 8], 0x1f4
jbe 0x1006979
push dword [esi + 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.01006002
jmp 0x1007464
push 0x1004004
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x10069ba
push 8
push eax
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
push eax
call fcn.010060c5
jmp 0x1007464
push 0x1003ff8
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006a39
push 0x80000000
push eax
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
push 0x14
push dword [esi + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x1006a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1001674
jmp 0x1006baf
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test eax, eax
jne 0x1007464
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003fcc
jmp 0x1006baf
push 0x1003fbc
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006b09
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006a7f
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003f10
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003ee8
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
push 0x10000
push dword [esi + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x1006ad3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1001674
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
jmp 0x100748b
push eax
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x1006af8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003ec4
jmp 0x1006baf
push 0x1003ea8
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x1007464
push 0x1003e98
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006b5f
mov edi, dword [ebp + 8]
lea eax, [ebx + 3]
cmp edi, eax
jae 0x1006b2c
call fcn.01004dbb
jmp 0x1007464
push 2
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
mov ecx, dword [ebp + 0xc]
sub edi, ebx
dec edi
dec edi
push edi
lea ecx, [ecx + ebx*4 + 8]
push ecx
push dword [esi + 4]
push eax
call fcn.010057c2
jmp 0x1007464
push 0x1002860
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006bfb
add ebx, 2
cmp dword [ebp + 8], ebx
jb 0x1006bd0
push 0x1003e90
push dword [esi + 4]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006bbd
push 1
call dword [sym.imp.ADVAPI32.dll_NotifyBootConfigStatus]
test eax, eax
jne 0x1007464
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003e68
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
jmp 0x1007464
push 0x1003e60
push dword [esi + 4]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006bd0
push eax
jmp 0x1006b8c
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003e00
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003de4
jmp 0x100721d
push 0x1003dc4
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006ce2
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006c41
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003d84
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003d48
jmp 0x100721d
push 0x80000000
xor edi, edi
push edi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, edi
mov dword [ebp - 4], eax
je 0x1007251
cmp dword [ebp + 8], ebx
mov eax, 0x1f4
mov dword [ebp - 8], eax
jbe 0x1006c7e
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, edi
pop ecx
mov dword [ebp - 8], eax
je 0x1006ca8
add eax, eax
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
jne 0x1006ca8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003d10
jmp 0x1006baf
lea eax, [ebp - 8]
push eax
push edi
push dword [esi + 4]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_GetServiceDisplayNameW]
test eax, eax
jne 0x1006cd7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003ce4
jmp 0x1006db9
push edi
push 0x1003cb4
jmp 0x1006dd9
push 0x1003c9c
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006de5
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006d28
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003c40
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003c04
jmp 0x100721d
push 0x80000000
xor edi, edi
push edi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, edi
mov dword [ebp - 4], eax
je 0x1007251
cmp dword [ebp + 8], ebx
mov eax, 0x1f4
mov dword [ebp - 8], eax
jbe 0x1006d65
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, edi
pop ecx
mov dword [ebp - 8], eax
je 0x1006d8f
add eax, eax
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
jne 0x1006d8f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003bd0
jmp 0x1006baf
lea eax, [ebp - 8]
push eax
push edi
push dword [esi + 4]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_GetServiceKeyNameW]
test eax, eax
jne 0x1006dd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003ba8
mov esi, dword [sym.imp.msvcrt.dll_printf]
call esi
push dword [ebp - 8]
push 0x1003b90
call esi
add esp, 0x14
jmp 0x1007464
push edi
push 0x1003b64
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x1006b03
push 0x1003b4c
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006e71
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006e27
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003b10
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003adc
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
cmp dword [ebp + 8], ebx
mov dword [ebp - 8], 0x1f4
jbe 0x1006e5e
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 [esi + 4]
push dword [ebp - 4]
call fcn.01005ca8
jmp 0x1007464
push 0x1003acc
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006edc
add ebx, 2
cmp dword [ebp + 8], ebx
jae 0x1006eb3
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003a90
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003a6c
jmp 0x100721d
push 0x80000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
push dword [esi + 4]
push eax
call fcn.01005dde
jmp 0x1007464
push 0x1003a60
push dword [esi]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1006f4e
lea eax, [ebx + 3]
cmp dword [ebp + 8], eax
jae 0x1006f1e
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x1002620
call esi
mov dword [esp], 0x1003a38
call esi
mov dword [esp], 0x10025f4
call esi
mov dword [esp], 0x1003a00
jmp 0x100721d
push 0x40000000
push 0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1007251
mov ecx, dword [ebp + 0xc]
push dword [ecx + ebx*4 + 8]
push dword [esi + 4]
push eax
call fcn.01005f51
jmp 0x1007464
push 0x10039e0
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
call fcn.01006152
jmp 0x1007464
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 - 0xc], ecx
mov dword [ebp - 8], 0x1000
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], edi
jbe 0x10071d0
mov esi, dword [sym.imp.msvcrt.dll_wcscmp]
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x10039d8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1006fc8
inc edi
cmp dword [ebp + 8], edi
jbe 0x10071c0
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 0x10071c0
push 0x10028e4
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10070ff
inc edi
cmp dword [ebp + 8], edi
jbe 0x10071c0
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x10039c8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007003
or dword [ebp - 0xc], 0xb
jmp 0x10071c0
push 0x10039b8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100701b
or dword [ebp - 0xc], 0x30
jmp 0x10071c0
push 0x10039b0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007035
or word [ebp - 0xc], 0x13f
jmp 0x10071c0
push 0x10028bc
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100704d
or byte [ebp - 0xb], 1
jmp 0x10071c0
push 0x100287c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007065
or dword [ebp - 0xc], 0xffffffff
jmp 0x10071c0
push 0x10039a4
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007083
and dword [ebp - 0xc], eax
mov dword [ebp - 0x48], 1
jmp 0x10071c0
push 0x10028ac
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100709b
or dword [ebp - 0xc], 1
jmp 0x10071c0
push 0x100289c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10070b3
or dword [ebp - 0xc], 2
jmp 0x10071c0
push 0x1003994
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10070cb
or dword [ebp - 0xc], 4
jmp 0x10071c0
push 0x10028dc
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10070e3
or dword [ebp - 0xc], 0x10
jmp 0x10071c0
push 0x10028d0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071ff
or dword [ebp - 0xc], 0x20
jmp 0x10071c0
push 0x1003984
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100716a
inc edi
cmp dword [ebp + 8], edi
jbe 0x10071c0
mov eax, dword [ebp + 0xc]
lea ebx, [eax + edi*4]
push 0x1003970
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007139
mov dword [ebp - 0x18], 2
jmp 0x10071c0
push 0x10039b0
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007151
mov dword [ebp - 0x18], 3
jmp 0x10071c0
push 0x100287c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1007209
or dword [ebp - 0x18], 0xffffffff
jmp 0x10071c0
push 0x10027a8
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100718a
inc edi
cmp dword [ebp + 8], edi
jbe 0x10071c0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x28], eax
jmp 0x10071c0
push 0x100395c
push dword [ebx]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10071b1
inc edi
cmp dword [ebp + 8], edi
jbe 0x10071c0
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 0x10071c0
cmp edi, dword [ebp - 0x38]
jne 0x1007224
mov eax, dword [ebx]
and dword [ebp - 0x44], 0
mov dword [ebp - 0x2c], eax
inc edi
inc edi
cmp dword [ebp + 8], edi
ja 0x1006f94
cmp dword [ebp - 8], 0
je 0x100722e
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 0x1007235
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003920
jmp 0x1006baf
push 0x10038e4
jmp 0x1006afd
mov esi, dword [sym.imp.msvcrt.dll_printf]
push 0x10038c8
call esi
mov dword [esp], 0x1003890
call esi
jmp 0x1006b03
push 0x1003878
jmp 0x1006f53
xor edi, edi
mov dword [ebp - 0x40], edi
xor esi, esi
cmp dword [ebp - 0x44], esi
je 0x10073a9
push 4
push esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
jne 0x100726b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x1003854
jmp 0x1006baf
cmp dword [ebp - 0xc], esi
jne 0x1007280
cmp dword [ebp - 0x48], esi
jne 0x1007280
mov dword [ebp - 0xc], 0x30
jmp 0x1007280
xor esi, esi
xor ebx, ebx
cmp dword [ebp - 0x1c], esi
lea eax, [ebp - 0x24]
je 0x10072d1
cmp dword [ebp - 0x28], esi
mov dword [ebp - 0x30], edi
jne 0x10072b0
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 - 0xc]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusW]
jmp 0x10072f4
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 - 0xc]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServiceGroupW]
jmp 0x10072f4
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 - 0xc]
push esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
jne 0x1007334
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, esi
je 0x1007334
cmp ebx, 0xea
je 0x1007334
cmp dword [ebp - 0x1c], esi
mov esi, 0x1003853
jne 0x100731b
mov esi, 0x1003850
push ebx
call fcn.010046fc
push eax
push ebx
push esi
push 0x1003824
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
jmp 0x1007383
xor esi, esi
cmp dword [ebp - 0x20], esi
jbe 0x1007383
cmp dword [ebp - 0x1c], 0
je 0x1007360
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.01004722
add dword [ebp - 0x30], 0x24
jmp 0x100737d
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.01004722
add dword [ebp - 0x34], 0x2c
inc esi
cmp esi, dword [ebp - 0x20]
jb 0x100733b
cmp ebx, 0xea
jne 0x1007464
cmp dword [ebp - 0x20], 0
jne 0x100727e
push dword [ebp - 0x24]
push dword [ebp - 0x3c]
push 0x10037e8
jmp 0x1006baf
cmp dword [ebp - 0x28], esi
je 0x10073b8
push 0x10037a8
jmp 0x1006afd
push 0x80000000
push esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
cmp eax, esi
mov dword [ebp - 4], eax
je 0x1007251
push 4
push dword [ebp - 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
cmp eax, esi
mov dword [ebp - 0x14], eax
jne 0x10073ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
call fcn.010046fc
push eax
push esi
push 0x100376c
jmp 0x1006baf
cmp dword [ebp - 0x1c], esi
mov dword [ebp + 8], edi
je 0x1007411
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x1007421
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 0x1007431
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, esi
jne 0x100743e
push dword [ebp - 0x1c]
lea eax, [ebp + 8]
push eax
push esi
jmp 0x10063a0
cmp dword [ebp - 0x1c], esi
mov esi, 0x1003853
jne 0x100744d
mov esi, 0x1003850
push edi
call fcn.010046fc
push eax
push edi
push esi
push 0x1003740
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 0x100747c
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [ebp - 4], 0
je 0x100748b
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
pop esi
pop ebx
pop edi
leave
ret