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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor esi, esi
push edi
mov edi, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
call dword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x1009370], eax
cmp eax, 0xffffffff
jne 0x1005f2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
jmp 0x100752e
push ebx
push 2
pop ebx
cmp dword [ebp + 8], ebx
jae 0x1005f42
call fcn.01003002
jmp 0x100752a
push ebx
mov dword [ebp - 0x40], esi
push 0x10028b8
push dword [edi + 4]
xor esi, esi
inc esi
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x1005f6b
cmp dword [ebp + 8], ebx
je 0x1005f38
mov eax, dword [edi + 4]
mov dword [ebp - 0x40], eax
mov esi, ebx
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
mov eax, edi
lea edi, [eax + esi*4]
push 0x10028ac
push dword [edi]
call ebx
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov dword [ebp - 0x5c], eax
jne 0x1006d43
push 0x100289c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x1006d43
lea eax, [esi + 1]
mov dword [ebp - 0x58], eax
cmp dword [ebp + 8], eax
jae 0x1005fb8
push 0
push 0x6c
call fcn.01002c72
jmp 0x1005f38
push 0x100179c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10060a5
mov ebx, dword [ebp + 8]
lea eax, [esi + 2]
cmp ebx, eax
jae 0x1005fde
push 0
push 6
jmp 0x1006cf6
mov edi, dword [edi + 4]
push 1
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x68], edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x1006009
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1001d48
jmp 0x1007525
push 0x14
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov edi, eax
mov dword [ebp - 0x4c], edi
test edi, edi
jne 0x100602d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1002868
jmp 0x1007525
lea eax, [esi + 2]
xor ecx, ecx
cmp ebx, eax
jbe 0x100603c
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx + eax*4]
sub ebx, esi
push ecx
dec ebx
dec ebx
push ebx
push edi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x100605e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x100284c
jmp 0x1007525
lea eax, [ebp - 0x78]
push eax
push 0x24
lea eax, [ebp - 0x2c]
push eax
xor esi, esi
push esi
push edi
mov dword [ebp - 0x34], esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1006082
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x34], esi
jne 0x1006098
push esi
lea eax, [ebp - 0x3c]
push eax
push esi
jmp 0x10074fb
push dword [ebp - 0x34]
push 0x1002820
jmp 0x1007525
push 0x1002814
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10060f3
add esi, 2
cmp dword [ebp + 8], esi
jae 0x10060c4
push eax
push 7
jmp 0x1006cf6
push 1
xor esi, esi
push esi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, esi
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push esi
push 2
push dword [edi + 4]
push eax
call fcn.01003c16
jmp 0x100752a
push 0x10027fc
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006135
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006112
push eax
push 8
jmp 0x1006cf6
push 1
xor esi, esi
push esi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, esi
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push esi
push 4
jmp 0x10060e5
push 0x10027ec
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100620d
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x1006159
push 0
push 9
jmp 0x1006cf6
mov eax, dword [ebp - 0x3c]
lea esi, [eax + esi*4 + 8]
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x10061e6
push 0x10027d4
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006188
mov dword [ebp - 0x48], 6
jmp 0x10061e6
push 0x10027bc
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10061a0
mov dword [ebp - 0x48], 7
jmp 0x10061e6
push 0x10027a0
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10061b8
mov dword [ebp - 0x48], 8
jmp 0x10061e6
push 0x1002784
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10061d0
mov dword [ebp - 0x48], 9
jmp 0x10061e6
push 0x1002764
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10061e6
mov dword [ebp - 0x48], 0xa
push 1
xor esi, esi
push esi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, esi
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push esi
push dword [ebp - 0x48]
jmp 0x10060e5
push 0x1002750
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006252
add esi, 2
cmp dword [ebp + 8], esi
jae 0x100622c
push eax
push 0xa
jmp 0x1006cf6
push 1
xor esi, esi
push esi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, esi
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push esi
push 3
jmp 0x10060e5
push 0x1001790
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10062cd
lea eax, [esi + 2]
mov dword [ebp - 0x54], eax
cmp dword [ebp + 8], eax
jb 0x10062c4
lea ebx, [esi + 4]
cmp dword [ebp + 8], ebx
ja 0x10062c4
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
cmp dword [ebp + 8], ebx
jne 0x100629a
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + esi*4 + 0xc]
jmp 0x100629c
xor ecx, ecx
add esi, 3
cmp dword [ebp + 8], esi
jb 0x10062af
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + eax*4]
jmp 0x10062b1
xor eax, eax
lea edx, [ebp - 0x4c]
push edx
push ecx
push eax
push 1
push dword [edi + 4]
push dword [ebp - 0x38]
jmp 0x10060e9
push 0
push 0xb
jmp 0x1006cf6
push 0x1002740
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006327
mov ebx, dword [ebp + 8]
lea eax, [esi + 3]
cmp ebx, eax
jae 0x10062f0
call fcn.01003066
jmp 0x100752a
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
sub ebx, esi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x3c]
dec ebx
dec ebx
push ebx
lea ecx, [ecx + esi*4 + 8]
push ecx
push dword [edi + 4]
push eax
call fcn.01003d2b
jmp 0x100752a
push 0x1002728
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006378
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x1006347
push 0
push 0xc
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x3c]
push dword [ecx + esi*4 + 8]
push dword [edi + 4]
push eax
call fcn.0100436e
jmp 0x100752a
push 0x1002718
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10063d2
mov ebx, dword [ebp + 8]
lea eax, [esi + 3]
cmp ebx, eax
jae 0x100639b
call fcn.0100308e
jmp 0x100752a
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
sub ebx, esi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x3c]
dec ebx
dec ebx
push ebx
lea ecx, [ecx + esi*4 + 8]
push ecx
push dword [edi + 4]
push eax
call fcn.010043e6
jmp 0x100752a
push 0x100270c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006423
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x10063f2
push 0
push 0x7c
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x3c]
push dword [ecx + esi*4 + 8]
push dword [edi + 4]
push eax
call fcn.010032b3
jmp 0x100752a
push 0x10026f4
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100647e
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x1006443
push 0
push 0x71
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4 + 8]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
push dword [edi + 4]
push dword [ebp - 0x38]
call fcn.010031bf
jmp 0x100752a
push 0x10026dc
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10064df
mov ebx, dword [ebp + 8]
lea eax, [esi + 2]
mov dword [ebp - 0x54], eax
cmp ebx, eax
jae 0x10064a6
push 0
push 0x88
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov edx, dword [ebp - 0x54]
sub ebx, esi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x3c]
dec ebx
dec ebx
push ebx
lea ecx, [ecx + edx*4]
push ecx
push dword [edi + 4]
push eax
call fcn.01003472
jmp 0x100752a
push 0x10026cc
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100656a
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jb 0x1006561
mov eax, dword [ebp - 0x3c]
lea esi, [eax + esi*4 + 8]
push 0x10026b0
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006511
xor esi, esi
inc esi
jmp 0x1006536
push 0x1002698
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006525
push 3
pop esi
jmp 0x1006536
push 0x100268c
push dword [esi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006561
xor esi, esi
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push dword [edi + 4]
push eax
call fcn.01003239
jmp 0x100752a
push 0
push 0x75
jmp 0x1006c04
push 0x1002670
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10065c9
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x100658d
push 0
push 0x96
jmp 0x1006c04
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4 + 8]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
push 1
push 0
push dword [ebp - 0x40]
movzx esi, ax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push esi
push dword [edi + 4]
push eax
call fcn.01003b7c
jmp 0x100752a
push 0x1002668
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006631
add esi, 2
cmp dword [ebp + 8], esi
jae 0x10065e8
push eax
push 0xd
jmp 0x1006cf6
mov dword [ebp - 0x44], 0x1f4
cmp dword [ebp + 8], esi
jbe 0x1006604
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp - 0x44]
push dword [edi + 4]
push eax
call fcn.010053aa
jmp 0x100752a
push 0x100264c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100669d
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006650
push eax
push 0xe
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov dword [ebp - 0x44], 0x1000
cmp dword [ebp + 8], esi
jbe 0x1006684
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push 1
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x44]
push dword [edi + 4]
push dword [ebp - 0x38]
call fcn.01005733
jmp 0x100752a
push 0x1002638
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10066f4
add esi, 2
cmp dword [ebp + 8], esi
jae 0x10066bc
push eax
push 0xf
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov dword [ebp - 0x44], 0x1f4
cmp dword [ebp + 8], esi
jbe 0x10066f0
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push 2
jmp 0x1006686
push 0x1002628
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100674e
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006713
push eax
push 0x7b
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov dword [ebp - 0x44], 0x400
cmp dword [ebp + 8], esi
jbe 0x1006747
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push 6
jmp 0x1006686
push 0x100260c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006797
add esi, 2
cmp dword [ebp + 8], esi
jae 0x100676d
push eax
push 0x72
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push 4
pop ebx
push ebx
lea ecx, [ebp - 0x4c]
push ecx
push ebx
push dword [edi + 4]
push eax
jmp 0x1006693
push 0x10025f0
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10067f4
add esi, 2
cmp dword [ebp + 8], esi
jae 0x10067b9
push eax
push 0x8e
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov dword [ebp - 0x44], 0x1000
cmp dword [ebp + 8], esi
jbe 0x10067ed
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push 8
jmp 0x1006686
push 0x10025dc
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006838
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006813
push eax
push 0x76
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push 5
lea ecx, [ebp - 0x4c]
push ecx
push 4
jmp 0x100678e
push 0x10025cc
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100686e
cmp dword [ebp + 8], 3
jne 0x1006862
cmp esi, 1
jne 0x1006862
mov eax, dword [ebp - 0x3c]
push dword [eax + 8]
call fcn.010033a2
jmp 0x100752a
push 0
push 0x86
jmp 0x1006cf6
push 0x10025ac
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10068ac
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006890
push eax
push 0x97
jmp 0x1006c04
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push 9
jmp 0x100682d
push 0x1002598
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10068fe
push 0x10
push eax
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], 0x1f4
cmp dword [ebp + 8], eax
jbe 0x10068ee
push dword [edi + 4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push dword [ebp - 0x44]
push dword [ebp - 0x38]
call fcn.0100522a
jmp 0x100752a
push 0x100258c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x100692f
push 8
push eax
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push eax
call fcn.0100530b
jmp 0x100752a
push 0x10017a8
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10069b8
add esi, 2
cmp dword [ebp + 8], esi
jae 0x100694e
push eax
push 0x11
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push 0x10000
push dword [edi + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x100698d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1001530
jmp 0x1007525
push eax
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x10069a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1001c10
jmp 0x1007525
push 0x1001c10
call fcn.010030a2
jmp 0x100752d
push 0x100257c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006a0e
mov ebx, dword [ebp + 8]
lea eax, [esi + 3]
cmp ebx, eax
jae 0x10069db
call fcn.0100307a
jmp 0x100752a
push 2
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov ecx, dword [ebp - 0x3c]
sub ebx, esi
dec ebx
dec ebx
push ebx
lea ecx, [ecx + esi*4 + 8]
push ecx
push dword [edi + 4]
push eax
call fcn.01004715
jmp 0x100752a
push 0x1001a5c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006a72
add esi, 2
cmp dword [ebp + 8], esi
jb 0x1006a69
push 0x1002574
push dword [edi + 4]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006a56
push 1
call dword [sym.imp.ADVAPI32.dll_NotifyBootConfigStatus]
test eax, eax
jne 0x100752d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1002544
jmp 0x1007525
push 0x100253c
push dword [edi + 4]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006a69
push eax
jmp 0x1006a37
push 0
push 0x12
jmp 0x1006cf6
push 0x100251c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006b2d
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006a95
push eax
push 0x13
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov eax, 0x1f4
mov dword [ebp - 0x44], eax
cmp dword [ebp + 8], esi
jbe 0x1006ace
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1006af1
add eax, eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x1006af6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10024d8
jmp 0x1007525
xor eax, eax
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [edi + 4]
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_GetServiceDisplayNameW]
test eax, eax
jne 0x1006b1b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0x10024ac
jmp 0x1006bd1
push 0x10024ac
call fcn.010030a2
lea eax, [ebp - 0x50]
jmp 0x1006c01
push 0x1002494
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006c0e
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006b50
push eax
push 0x14
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov eax, 0x1f4
mov dword [ebp - 0x44], eax
cmp dword [ebp + 8], esi
jbe 0x1006b89
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1006bac
add eax, eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x1006bb1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1002458
jmp 0x1007525
xor eax, eax
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [edi + 4]
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_GetServiceKeyNameW]
test eax, eax
jne 0x1006bf4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0x1002434
push eax
push esi
mov dword [ebp - 0x34], eax
call fcn.010030bb
cmp dword [ebp - 0x34], 0x7a
jne 0x100752d
mov eax, dword [ebp - 0x44]
push 0
inc eax
push eax
push 0x66
push esi
jmp 0x1007463
push 0x1002434
call fcn.010030a2
lea eax, [ebp - 0x58]
push eax
push 0x24
call fcn.01002c72
jmp 0x100752d
push 0x100241c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006c74
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006c2d
push eax
push 0x15
jmp 0x1006cf6
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov dword [ebp - 0x44], 0x1f4
cmp dword [ebp + 8], esi
jbe 0x1006c61
mov eax, dword [ebp - 0x3c]
push dword [eax + esi*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
push dword [ebp - 0x44]
push dword [edi + 4]
push dword [ebp - 0x38]
call fcn.01004c79
jmp 0x100752a
push 0x100240c
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006cdb
and dword [ebp - 0x50], eax
add esi, 2
cmp dword [ebp + 8], esi
jae 0x1006c93
push eax
push 0x16
jmp 0x1006cf6
jbe 0x1006caf
mov eax, dword [ebp - 0x3c]
push 0x10023f4
push dword [eax + esi*4]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006caf
mov dword [ebp - 0x50], 1
push 1
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
push dword [ebp - 0x50]
push dword [edi + 4]
push dword [ebp - 0x40]
push eax
call fcn.01004d97
jmp 0x100752a
push 0x10023e8
push dword [edi]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x1006d3a
lea eax, [esi + 3]
cmp dword [ebp + 8], eax
jae 0x1006d07
push 0
push 0x17
call fcn.01002c72
mov dword [ebp - 0x34], 0x667
jmp 0x100752d
push 0x40000000
push 0
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005ff8
mov ecx, dword [ebp - 0x3c]
push dword [ecx + esi*4 + 8]
push dword [edi + 4]
push dword [ebp - 0x40]
push eax
call fcn.010050b3
jmp 0x100752a
push 0
push 0x6d
jmp 0x1005fb1
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x80], eax
lea eax, [esi + 1]
push 4
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 0x1000
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x34], eax
pop ebx
cmp dword [ebp + 8], eax
jbe 0x10072b1
jmp 0x1006d78
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ecx + eax*4]
mov ecx, 0x10023e0
mov eax, edi
xor esi, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006dab
cmp dx, si
je 0x1006da7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006dab
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006d87
xor eax, eax
jmp 0x1006db0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006ddb
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jbe 0x100729c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
push dword [eax + ecx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x64], eax
jmp 0x100729c
mov ecx, 0x1001ae0
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006e06
cmp dx, si
je 0x1006e02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006e06
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006de2
xor eax, eax
jmp 0x1006e0b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10070d9
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jbe 0x100729c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + ecx*4]
mov ecx, 0x10023d0
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006e56
cmp dx, si
je 0x1006e52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006e56
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006e32
xor eax, eax
jmp 0x1006e5b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006e68
or dword [ebp - 0x48], 0xb
jmp 0x100729c
mov ecx, 0x10023c0
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006e93
cmp dx, si
je 0x1006e8f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006e93
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006e6f
xor eax, eax
jmp 0x1006e98
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006ea5
or dword [ebp - 0x48], 0x30
jmp 0x100729c
mov ecx, 0x10023b8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006ed0
cmp dx, si
je 0x1006ecc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006ed0
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006eac
xor eax, eax
jmp 0x1006ed5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006ee5
or dword [ebp - 0x48], 0x13f
jmp 0x100729c
mov ecx, 0x1001ab8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006f10
cmp dx, si
je 0x1006f0c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006f10
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006eec
xor eax, eax
jmp 0x1006f15
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006f25
or dword [ebp - 0x48], 0x100
jmp 0x100729c
mov ecx, 0x1001a78
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006f50
cmp dx, si
je 0x1006f4c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006f50
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006f2c
xor eax, eax
jmp 0x1006f55
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006f62
or dword [ebp - 0x48], 0xffffffff
jmp 0x100729c
mov ecx, 0x100268c
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006f8d
cmp dx, si
je 0x1006f89
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006f8d
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006f69
xor eax, eax
jmp 0x1006f92
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006fa5
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x78], 1
jmp 0x100729c
mov ecx, 0x1001aa8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006fd0
cmp dx, si
je 0x1006fcc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006fd0
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006fac
xor eax, eax
jmp 0x1006fd5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1006fe2
or dword [ebp - 0x48], 1
jmp 0x100729c
mov ecx, 0x1001a98
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100700d
cmp dx, si
je 0x1007009
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100700d
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1006fe9
xor eax, eax
jmp 0x1007012
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x100701f
or dword [ebp - 0x48], 2
jmp 0x100729c
mov ecx, 0x10023a8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100704a
cmp dx, si
je 0x1007046
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100704a
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1007026
xor eax, eax
jmp 0x100704f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x100705b
or dword [ebp - 0x48], ebx
jmp 0x100729c
mov ecx, 0x1001ad8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007086
cmp dx, si
je 0x1007082
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007086
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1007062
xor eax, eax
jmp 0x100708b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1007098
or dword [ebp - 0x48], 0x10
jmp 0x100729c
mov ecx, 0x1001acc
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10070c3
cmp dx, si
je 0x10070bf
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10070c3
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x100709f
xor eax, eax
jmp 0x10070c8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10072d7
or dword [ebp - 0x48], 0x20
jmp 0x100729c
mov ecx, 0x1002398
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007104
cmp dx, si
je 0x1007100
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007104
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x10070e0
xor eax, eax
jmp 0x1007109
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10071ea
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jbe 0x100729c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + ecx*4]
mov ecx, 0x1002384
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007154
cmp dx, si
je 0x1007150
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007154
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1007130
xor eax, eax
jmp 0x1007159
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1007169
mov dword [ebp - 0x60], 2
jmp 0x100729c
mov ecx, 0x10023b8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007194
cmp dx, si
je 0x1007190
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007194
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x1007170
xor eax, eax
jmp 0x1007199
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10071a9
mov dword [ebp - 0x60], 3
jmp 0x100729c
mov ecx, 0x1001a78
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10071d4
cmp dx, si
je 0x10071d0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10071d4
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x10071b0
xor eax, eax
jmp 0x10071d9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10072de
or dword [ebp - 0x60], 0xffffffff
jmp 0x100729c
mov ecx, 0x1001988
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007215
cmp dx, si
je 0x1007211
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007215
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x10071f1
xor eax, eax
jmp 0x100721a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x1007237
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jbe 0x100729c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x70], eax
jmp 0x100729c
mov ecx, 0x1002370
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007262
cmp dx, si
je 0x100725e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007262
add eax, ebx
add ecx, ebx
cmp dx, si
jne 0x100723e
xor eax, eax
jmp 0x1007267
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x100728b
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jbe 0x100729c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
push dword [eax + ecx*4]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [ebp - 0x44], eax
jmp 0x100729c
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x58]
jne 0x10072ed
inc dword [ebp - 0x34]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x80], esi
inc dword [ebp - 0x34]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
ja 0x1006d75
cmp dword [ebp - 0x44], 0
je 0x10072f5
push dword [ebp - 0x44]
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
mov dword [ebp - 0x74], esi
cmp esi, edi
jne 0x10072fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1002328
jmp 0x1007525
push 0x1001ae0
jmp 0x10072e3
push 0x1002398
call fcn.010031a6
jmp 0x100747a
push esi
push 0x6a
jmp 0x1005fb1
xor esi, esi
mov dword [ebp - 0x74], esi
xor edi, edi
cmp dword [ebp - 0x80], edi
je 0x100746d
push ebx
push edi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, edi
je 0x1005ff8
cmp dword [ebp - 0x48], edi
jne 0x100732c
cmp dword [ebp - 0x78], edi
jne 0x100732c
mov dword [ebp - 0x48], 0x30
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1007337
mov esi, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x34], edi
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x5c], edi
je 0x100738b
mov dword [ebp - 0x54], esi
cmp dword [ebp - 0x70], edi
jne 0x100736a
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x60]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusW]
jmp 0x10073ae
push dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x60]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_EnumServiceGroupW]
jmp 0x10073ae
push dword [ebp - 0x70]
mov dword [ebp - 0x50], esi
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x60]
push dword [ebp - 0x48]
push edi
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
jne 0x10073ee
call ebx
mov dword [ebp - 0x34], eax
cmp eax, edi
je 0x10073ee
cmp eax, 0xea
je 0x10073ee
cmp dword [ebp - 0x5c], 0
push 0xa
pop ecx
mov esi, 0x10022f8
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x10073dd
xor eax, eax
mov word [ebp - 0xc], ax
push dword [ebp - 0x34]
lea eax, [ebp - 0x30]
push eax
call fcn.010030bb
mov dword [ebp - 0x34], eax
jmp 0x100743f
xor esi, esi
cmp dword [ebp - 0x6c], edi
jbe 0x100743f
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x5c], 0
je 0x100741d
mov eax, dword [ebp - 0x54]
lea ecx, [eax + 8]
push 1
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x3c]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.01002cb1
add dword [ebp - 0x54], 0x24
jmp 0x1007436
lea eax, [edi + 8]
push 0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push dword [edi + 4]
push dword [edi]
call fcn.01002cb1
add edi, 0x2c
inc esi
cmp esi, dword [ebp - 0x6c]
jb 0x10073f8
mov dword [ebp - 0x50], edi
cmp dword [ebp - 0x34], 0xea
jne 0x100752d
cmp dword [ebp - 0x6c], 0
jne 0x1007334
push dword [ebp - 0x64]
push dword [ebp - 0x7c]
push 0x67
push 0x10022d0
call fcn.01003137
jmp 0x100752d
cmp dword [ebp - 0x70], edi
je 0x1007486
push edi
push 0x6b
call fcn.01002c72
mov dword [ebp - 0x34], 0x57
jmp 0x100752d
push 1
push edi
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x38], eax
cmp eax, edi
je 0x1005ff8
push ebx
push dword [ebp - 0x68]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 0x4c], eax
cmp eax, edi
jne 0x10074bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1002288
jmp 0x1007525
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x5c], edi
je 0x10074d2
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x10074e2
lea ecx, [ebp - 0x78]
push ecx
push dword [ebp - 0x44]
push esi
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x10074f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
cmp eax, edi
jne 0x1007505
push dword [ebp - 0x5c]
lea eax, [ebp - 0x3c]
push eax
push edi
push dword [ebp - 0x68]
call fcn.01002cb1
jmp 0x100752d
cmp dword [ebp - 0x5c], 0
push 0xa
pop ecx
mov esi, 0x1002820
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x1007520
xor ecx, ecx
mov word [ebp - 0xc], cx
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.010030bb
mov dword [ebp - 0x34], eax
pop ebx
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x4c], 0
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
je 0x1007548
push dword [ebp - 0x4c]
call esi
cmp dword [ebp - 0x38], 0
je 0x1007553
push dword [ebp - 0x38]
call esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x34]
pop edi
xor ecx, ebp
pop esi
call fcn.010079a6
leave
ret