Function at 0x45e376
Capabilities:
Enumerate services

Disassembly:
mov eax, 0x6c5e62
call fcn.006b9c3c
sub esp, 0x318
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x24], esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 1
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
mov byte [ebp - 4], 3
push 0x1d650
lea ecx, [ebp - 0x4c]
call fcn.0041b40a
push 4
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x45ea54
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push 0x24
pop ecx
push ecx
lea ecx, [ebp - 0x27c]
push ecx
push 3
push 0x30
push eax
mov edi, dword [sym.imp.ADVAPI32.dll_EnumServicesStatusW]
call edi
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test esi, esi
je 0x45e423
cmp eax, 0xea
jne 0x45e45a
mov esi, dword [ebp - 0x2c]
add esi, 0x24
xor ecx, ecx
mov eax, esi
push 0x24
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0068a1e7
pop ecx
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push esi
push eax
push 3
push 0x30
push dword [ebp - 0x34]
call edi
mov edi, ebx
push 0x7f
pop esi
mov dword [ebp - 0x20], edi
cmp edi, dword [ebp - 0x30]
jae 0x45e8a2
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
movaps xmm0, xmmword [0x745200]
movups xmmword [ebp - 0xc0], xmm0
mov dword [ebp - 0xb0], 0x2c
mov dword [ebp - 0xac], 0x68
mov dword [ebp - 0xa8], 0x54
mov ecx, ebx
mov dword [ebp - 0x50], ecx
cmp ecx, 7
jae 0x45e4c8
imul eax, dword [ebp + ecx*4 - 0xc0], 0x22
cdq
idiv esi
lea eax, [esi + edx]
cdq
idiv esi
mov byte [ebp + ecx - 0xc8], dl
inc ecx
jmp 0x45e4a5
mov byte [ebp - 0xc1], bl
lea eax, [ebp - 0xc8]
push eax
call fcn.0040f475
pop ecx
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00411f4c
imul eax, edi, 0x24
mov ecx, dword [ebp - 0x18]
push dword [eax + ecx]
lea ecx, [ebp - 0x1f8]
call fcn.004a63fc
mov byte [ebp - 4], 4
mov edx, eax
lea ecx, [ebp - 0x1e0]
call fcn.00461197
mov byte [ebp - 4], 5
mov edx, eax
lea ecx, [ebp - 0x1c8]
call fcn.00460888
mov esi, eax
mov byte [ebp - 4], 6
xor eax, eax
lea edi, [ebp - 0x11c]
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
movaps xmm0, xmmword [0x746c60]
movups xmmword [ebp - 0x114], xmm0
mov dword [ebp - 0x104], 0x1e
mov dword [ebp - 0x100], 0x54
mov ecx, ebx
push 0x7f
pop edi
mov dword [ebp - 0x54], ecx
cmp ecx, 6
jae 0x45e582
push 0x79
pop eax
sub eax, dword [ebp + ecx*4 - 0x114]
imul eax, eax, 0x24
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0x11c], dl
inc ecx
jmp 0x45e55a
mov byte [ebp - 0x116], bl
push esi
lea edx, [ebp - 0x11c]
lea ecx, [ebp - 0x258]
call fcn.004b09c3
pop ecx
mov esi, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
movaps xmm0, xmmword [0x748e50]
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd4], 0x7a
mov dword [ebp - 0xd0], 0x4f
mov dword [ebp - 0xcc], 0x2c
mov ecx, ebx
mov dword [ebp - 0x58], ecx
cmp ecx, 7
jae 0x45e603
mov eax, dword [ebp + ecx*4 - 0xe4]
sub eax, 0x3c
imul eax, eax, 0xc
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0xec], dl
inc ecx
jmp 0x45e5db
mov byte [ebp - 0xe5], bl
lea eax, [ebp - 0xec]
push eax
mov edx, esi
lea ecx, [ebp - 0x240]
call fcn.0041cdde
pop ecx
mov byte [ebp - 4], 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00411fef
mov byte [ebp - 4], 7
push ebx
push 1
lea ecx, [ebp - 0x240]
call fcn.00411bc8
mov byte [ebp - 4], 6
push ebx
push 1
lea ecx, [ebp - 0x258]
call fcn.00411bc8
mov byte [ebp - 4], 5
push ebx
push 1
lea ecx, [ebp - 0x1c8]
call fcn.00411bc8
mov byte [ebp - 4], 4
push ebx
push 1
lea ecx, [ebp - 0x1e0]
call fcn.00411bc8
mov byte [ebp - 4], 3
push ebx
push 1
lea ecx, [ebp - 0x1f8]
call fcn.004ab703
imul eax, dword [ebp - 0x20], 0x24
mov ecx, dword [ebp - 0x18]
push dword [eax + ecx + 4]
lea ecx, [ebp - 0x180]
call fcn.004a63fc
mov byte [ebp - 4], 9
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.00461197
mov byte [ebp - 4], 0xa
mov edx, eax
lea ecx, [ebp - 0x9c]
call fcn.00460888
mov esi, eax
mov byte [ebp - 4], 0xb
xor eax, eax
lea edi, [ebp - 0x13c]
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
movaps xmm0, xmmword [0x7486f0]
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x124], 0x49
mov dword [ebp - 0x120], 0x1f
mov ecx, ebx
push 0x7f
pop edi
mov dword [ebp - 0x5c], ecx
cmp ecx, 6
jae 0x45e71e
push 0x6f
pop eax
sub eax, dword [ebp + ecx*4 - 0x134]
imul eax, eax, 0x17
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0x13c], dl
inc ecx
jmp 0x45e6f6
mov byte [ebp - 0x136], bl
push esi
lea edx, [ebp - 0x13c]
lea ecx, [ebp - 0x228]
call fcn.004b09c3
pop ecx
mov esi, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
movaps xmm0, xmmword [0x748560]
movups xmmword [ebp - 0x158], xmm0
mov dword [ebp - 0x148], 5
mov dword [ebp - 0x144], 0x16
mov dword [ebp - 0x140], 9
mov ecx, ebx
mov dword [ebp - 0x60], ecx
cmp ecx, 7
jae 0x45e79f
push 0x40
pop eax
sub eax, dword [ebp + ecx*4 - 0x158]
imul eax, eax, 0x2d
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0x160], dl
inc ecx
jmp 0x45e777
mov byte [ebp - 0x159], bl
lea eax, [ebp - 0x160]
push eax
mov edx, esi
lea ecx, [ebp - 0x210]
call fcn.0041cdde
pop ecx
mov byte [ebp - 4], 0xd
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00411fef
mov byte [ebp - 4], 0xc
push ebx
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x210]
call fcn.00411bc8
mov byte [ebp - 4], 0xb
push ebx
push esi
lea ecx, [ebp - 0x228]
call fcn.00411bc8
mov byte [ebp - 4], 0xa
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.00411bc8
mov byte [ebp - 4], 9
push ebx
push esi
lea ecx, [ebp - 0x80]
call fcn.00411bc8
mov byte [ebp - 4], 3
push ebx
push esi
lea ecx, [ebp - 0x180]
call fcn.004ab703
mov edi, dword [ebp - 0x20]
imul eax, edi, 0x24
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf0], esp
mov edx, dword [ebp - 0x18]
push dword [eax + edx]
call fcn.004a63fc
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x198]
call fcn.0045c4f4
add esp, 0x18
mov byte [ebp - 4], 0xf
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00411fef
mov byte [ebp - 4], 3
push ebx
push esi
lea ecx, [ebp - 0x198]
call fcn.00411bc8
push str.__block_
lea ecx, [ebp - 0x168]
call fcn.00499608
mov ecx, eax
call fcn.004995d6
mov esi, eax
push esi
call fcn.0040f475
pop ecx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.00411f4c
inc edi
jmp 0x45e45c
push dword [ebp - 0x18]
call fcn.0068a1e2
pop ecx
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x84], ebx
mov word [ebp - 0x80], bx
movaps xmm0, xmmword [0x748c30]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x6c], 4
mov ecx, ebx
mov dword [ebp - 0x64], ecx
cmp ecx, 5
jae 0x45e8f7
push 0x60
pop eax
sub eax, dword [ebp + ecx*4 - 0x7c]
imul eax, eax, 0x14
cdq
idiv esi
lea eax, [esi + edx]
cdq
idiv esi
mov byte [ebp + ecx - 0x84], dl
inc ecx
jmp 0x45e8d2
mov byte [ebp - 0x7f], bl
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0x180]
call fcn.004b0946
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x10
xor eax, eax
lea edi, [ebp - 0xa4]
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
movaps xmm0, xmmword [0x7478c0]
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0x41
mov dword [ebp - 0x88], 0x2d
mov ecx, ebx
push 0x7f
pop edi
mov dword [ebp - 0x68], ecx
cmp ecx, 6
jae 0x45e971
mov eax, dword [ebp + ecx*4 - 0x9c]
sub eax, 7
imul eax, eax, 0xf
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0xa4], dl
inc ecx
jmp 0x45e949
mov byte [ebp - 0x9e], bl
lea eax, [ebp - 0xa4]
push eax
mov edx, esi
lea ecx, [ebp - 0x198]
call fcn.0041cdde
pop ecx
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041b490
mov byte [ebp - 4], 0x10
push ebx
push 1
lea ecx, [ebp - 0x198]
call fcn.00411bc8
mov byte [ebp - 4], 3
push ebx
push 1
lea ecx, [ebp - 0x180]
call fcn.00411bc8
push ecx
push ecx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x324]
call fcn.004a844d
mov byte [ebp - 4], 0x12
mov edx, eax
lea ecx, [ebp - 0x1b0]
call fcn.00444af6
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x324]
call fcn.004525e5
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], 0x10
jb 0x45ea0b
mov eax, dword [esi]
jmp 0x45ea0d
mov eax, esi
mov byte [eax], bl
lea eax, [ebp - 0x1b0]
push eax
mov ecx, esi
call fcn.0041208e
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 3
push ebx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00411bc8
mov byte [ebp - 4], 2
push ebx
push 1
lea ecx, [ebp - 0x4c]
call fcn.00411bc8
mov byte [ebp - 4], 1
test ebx, ebx
je 0x45ea78
mov ecx, ebx
call fcn.0040f5b8
jmp 0x45ea78
push 0x73a9e8
mov ecx, esi
call fcn.00411aae
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
push ebx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00411bc8
mov byte [ebp - 4], 1
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret