Function at 0x140099690
Capabilities:
Enumerate services

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
sub rsp, 0x1b0
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1402930e8]
xor rax, rsp
mov qword [rbp + 0x140], rax
xor esi, esi
lea rax, [rbp + 0x84]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rbx, rcx
lea rax, [rbp + 0x80]
mov dword [rbp + 0x80], esi
mov qword [rsp + 0x28], rax
lea edx, [rsi + 0xb]
lea r8d, [rsi + 3]
mov dword [rsp + 0x20], esi
mov dword [rbp + 0x84], esi
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusA]
test eax, eax
jne 0x14009972d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x14009972d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cant_enum_service_list_error_code:__d___n
call fcn.14009b020
jmp 0x140099e9c
mov eax, dword [rbp + 0x80]
add eax, 0x30
mov ecx, eax
mov dword [rbp + 0x80], eax
call fcn.140106748
mov r9d, dword [rbp + 0x80]
mov rdi, rax
mov qword [rsp + 0x38], rsi
lea rax, [rbp + 0x84]
mov qword [rsp + 0x30], rax
mov edx, listen
lea rax, [rbp + 0x80]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, rdi
lea r8d, [rdx - 8]
call qword [sym.imp.ADVAPI32.dll_EnumServicesStatusA]
test eax, eax
je 0x140099bb8
mov ebx, esi
cmp dword [rbp + 0x84], ebx
jbe 0x1400997e7
nop word [rax + rax]
mov eax, ebx
lea rdx, [0x1401169d8]
lea rcx, [rax + rax*2]
add rcx, rcx
movups xmm0, xmmword [rdi + rcx*8 + 0x10]
movups xmm1, xmmword [rdi + rcx*8 + 0x20]
mov rcx, qword [rdi + rcx*8]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm1
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400997dd
mov eax, dword [rbp + 0x54]
add eax, 0xfffffffe
test eax, 0xfffffffd
je 0x1400997f6
inc ebx
cmp ebx, dword [rbp + 0x84]
jb 0x1400997a0
mov rcx, rdi
call fcn.140106740
xor al, al
jmp 0x140099e9e
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x10]
xorps xmm0, xmm0
mov qword [rbp + 0xb0], rsi
movups xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xa0], sil
movabs rax, 0x78678d2590de1acf
mov qword [rbp + 0xb8], reloc.WS2_32.dll_ntohs
movabs rbx, 0x8a3dd340ec1c6c16
mov qword [rbp], rax
movabs rdi, 0x7867d605b0fe3ac5
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0xc8], rax
pxor xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x10], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 9
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x20]
xorps xmm0, xmm0
mov qword [rbp + 0xb0], rsi
movups xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xa0], sil
movabs rax, 0x7867d605b0fe3ae8
mov qword [rbp + 0xb8], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x20]
mov qword [rbp + 0xd8], rax
pxor xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x20], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0x7867d605b0fe3a98
mov qword [rbp + 0xb0], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xa0], sil
mov qword [rbp + 0xb8], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], rbx
lea rdx, [rbp + 0x30]
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x30]
mov qword [rbp + 0xe8], rax
pxor xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x30], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0x1606a46adc9f6ce5
mov qword [rbp + 0xb0], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xa0], sil
mov qword [rbp + 0xb8], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xe954a532896f4c62
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xdd6787b672ad612
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xc3a269724cb7b376
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x16858fa1ae6c0a9c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0xc323271c56a69d1b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xf4247eb563b9c139
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0xd56b3343ccbf3cac
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
movabs rax, 0x63a30a5b1443f677
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
movabs rax, 0xafd2495e2bd9da18
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
movabs rax, 0x65eceb81cb1f6bf9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x120], rax
movabs rax, 0xe3574e3c33caff7a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x128], rax
movabs rax, 0x87041bc70cdfa45b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x130], rax
movabs rax, 0xd50c5d2aaad053dc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x138], rax
vmovdqu ymm0, ymmword [rbp + 0x100]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqu ymm0, ymmword [rbp + 0x60]
vmovdqa ymmword [rbp + 0x40], ymm1
vpxor ymm1, ymm0, ymmword [rbp + 0x120]
vmovdqa ymmword [rbp + 0x60], ymm1
lea rdx, [rbp + 0x40]
jmp 0x140099e94
mov rcx, rdi
call fcn.140106740
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x30]
xorps xmm0, xmm0
mov qword [rbp + 0x50], rsi
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x40], sil
movabs rax, 0x78678d2590de1acf
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
movabs rbx, 0x8a3dd340ec1c6c16
mov qword [rbp], rax
movabs rdi, 0x7867d605b0fe3ac5
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x30]
mov qword [rbp + 0xe8], rax
pxor xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x30], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 9
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x20]
xorps xmm0, xmm0
mov qword [rbp + 0x50], rsi
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x40], sil
movabs rax, 0x7867d605b0fe3ae8
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x20]
mov qword [rbp + 0xd8], rax
pxor xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x20], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0x7867d605b0fe3a98
mov qword [rbp + 0x50], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x40], sil
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
mov qword [rbp + 0xc0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0xc8], rax
pxor xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x10], xmm0
call fcn.140001c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x100]
mov qword [rbp + 0x50], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x40], sil
movabs rax, 0x5803b369d99f7ce5
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0xaa50a62e893c0362
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
movabs rax, 0x43c6693262319304
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
movabs rax, 0xafd2495e5faab374
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x63a30a5b1443f677
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0xafd2495e2bd9da18
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
vmovdqu ymm0, ymmword [rbp + 0xa0]
vpxor ymm1, ymm0, ymmword [rbp + 0x100]
vmovdqa ymmword [rbp + 0x100], ymm1
vzeroupper
call fcn.140001c20
mov al, 1
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.140106b10
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret