Function at 0x140077380
Capabilities:
Query service status

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov r15, rdx
mov ebx, ecx
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077c5c
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rsi, [0x14026cae4]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140006ea0
mov rdi, 0xffffffffffffffff
test al, al
jne 0x1400773fd
mov rax, rdi
inc rax
cmp byte [rsi + rax], 0
jne 0x1400773e3
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140007ea0
nop
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077c67
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp + 0x68], rax
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.140006ea0
test al, al
jne 0x140077449
mov rax, rdi
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x140077430
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.140007ea0
nop
mov ecx, ebx
test ebx, ebx
je 0x1400777f9
sub ecx, 1
je 0x140077636
cmp ecx, 1
je 0x14007746f
cmp ebx, 1
je 0x1400779fc
jmp 0x1400779b3
xor ebx, ebx
mov ecx, dword [0x14070a508]
test ecx, ecx
jne 0x14007748f
call fcn.14002e1d0
mov ecx, ebx
test al, al
setne cl
inc ecx
mov dword [0x14070a508], ecx
cmp ecx, 1
lea rcx, [rsp + 0x48]
mov edx, 0x14d
je 0x1400774a3
mov edx, 0x14e
call fcn.1400177a0
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140077ed0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140077507
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140077502
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077c72
call fcn.140133e68
mov edx, 0xa1
lea rcx, [rbp - 0x78]
call fcn.1400175a0
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140077522
mov rsi, qword [rax]
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077c78
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140006ea0
test al, al
jne 0x14007757a
test rsi, rsi
je 0x140077569
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140077560
mov r8d, ebx
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140007ea0
nop
mov rdx, qword [rsp + 0x30]
lea rbx, [rdx - 0x18]
mov rsi, qword [rbp + 0x68]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x1400775da
cmp dword [rsi + 0x10], 0
jl 0x1400775cc
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x1400775cc
mov rcx, rbx
call fcn.140007d1c
mov r14, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400775c2
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x68], rax
jmp 0x1400775da
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x68]
call fcn.140007ea0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400775f3
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400779b3
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400779ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077c56
jmp 0x1400779ae
xor ebx, ebx
mov ecx, dword [0x14070a508]
test ecx, ecx
jne 0x140077656
call fcn.14002e1d0
mov ecx, ebx
test al, al
setne cl
inc ecx
mov dword [0x14070a508], ecx
cmp ecx, 1
lea rcx, [rsp + 0x48]
mov edx, 0x151
je 0x14007766a
mov edx, 0x152
call fcn.1400177a0
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140077ed0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400776ce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400776c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077c83
call fcn.140133e68
mov edx, 0xa3
lea rcx, [rbp - 0x58]
call fcn.1400175a0
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400776e9
mov rsi, qword [rax]
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077c89
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140006ea0
test al, al
jne 0x14007773c
test rsi, rsi
je 0x14007772b
mov rbx, rdi
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140077722
mov r8d, ebx
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140007ea0
nop
mov rdx, qword [rsp + 0x30]
lea rbx, [rdx - 0x18]
mov rsi, qword [rbp + 0x68]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x14007779c
cmp dword [rsi + 0x10], 0
jl 0x14007778e
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x14007778e
mov rcx, rbx
call fcn.140007d1c
mov r14, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140077784
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x68], rax
jmp 0x14007779c
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x68]
call fcn.140007ea0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400777b5
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1400779fc
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400777ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077c94
call fcn.140133e68
jmp 0x1400779fc
xor ebx, ebx
mov ecx, dword [0x14070a508]
test ecx, ecx
jne 0x140077819
call fcn.14002e1d0
mov ecx, ebx
test al, al
setne cl
inc ecx
mov dword [0x14070a508], ecx
cmp ecx, 1
lea rcx, [rsp + 0x48]
mov edx, 0x14b
je 0x14007782d
mov edx, 0x14c
call fcn.1400177a0
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140077ed0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140077891
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007788c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077c9a
call fcn.140133e68
mov edx, 0xa2
lea rcx, [rbp - 0x38]
call fcn.1400175a0
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400778ac
mov rsi, qword [rax]
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077ca0
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140006ea0
test al, al
jne 0x1400778ff
test rsi, rsi
je 0x1400778ee
mov rbx, rdi
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1400778e5
mov r8d, ebx
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140007ea0
nop
mov rdx, qword [rsp + 0x30]
lea rbx, [rdx - 0x18]
mov rsi, qword [rbp + 0x68]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x14007795f
cmp dword [rsi + 0x10], 0
jl 0x140077951
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140077951
mov rcx, rbx
call fcn.140007d1c
mov r14, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140077947
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x68], rax
jmp 0x14007795f
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x68]
call fcn.140007ea0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140077978
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1400779b3
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400779ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140077cab
call fcn.140133e68
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov rcx, qword [rbp + 0x68]
add rcx, 0xffffffffffffffe8
call fcn.140007d1c
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.140007d1c
add rax, 0x18
mov qword [rsp + 0x70], rax
mov r8, r15
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x70]
call fcn.140075460
call fcn.14000bfcc
mov rcx, rax
test rax, rax
je 0x140077c4b
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea r13, [0x1404166a4]
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.140006ea0
test al, al
jne 0x140077a5b
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [rax + r13], 0
jne 0x140077a40
mov r8d, eax
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.140007ea0
nop
mov r12, qword [rsp + 0x40]
lea rcx, [r12 - 0x18]
call fcn.140007d1c
lea rbx, [rax + 0x18]
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 4]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov r14, rax
lea rsi, [rbx - 0x18]
test rax, rax
jne 0x140077aa9
mov eax, edi
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x140077b3c
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140077b3c
mov r8d, 4
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov r15, rax
test rax, rax
jne 0x140077ace
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140077a88
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, Ordinal_41
lea r8, [rbp - 0x18]
xor edx, edx
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
mov ebx, eax
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, edi
test ebx, ebx
je 0x140077a8a
mov ebx, dword [rbp - 0x14]
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x140077b1f
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
sub ebx, 1
je 0x140077bb0
sub ebx, 1
je 0x140077b9b
sub ebx, 1
je 0x140077b80
sub ebx, 1
je 0x140077b6b
cmp ebx, 3
je 0x140077b4f
mov rax, rdi
nop
inc rax
cmp byte [rax + r13], 0
jne 0x140077b40
mov rdx, r13
jmp 0x140077bc9
lea rdx, [0x1404166a8]
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140077b60
jmp 0x140077bc9
lea rdx, [0x140416624]
mov rax, rdi
inc rax
cmp byte [rdx + rax], 0
jne 0x140077b75
jmp 0x140077bc9
lea rdx, [0x1404166ac]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140077b90
jmp 0x140077bc9
lea rdx, [0x1404166b0]
mov rax, rdi
inc rax
cmp byte [rdx + rax], 0
jne 0x140077ba5
jmp 0x140077bc9
lea rdx, [0x140416628]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140077bc0
mov r8d, eax
lea rcx, [rsp + 0x38]
call fcn.140007ea0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140077bf6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140077c14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lock xadd dword [r12 - 8], edi
sub edi, 1
jg 0x140077c30
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
lea rdx, [r12 - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000c3ac
int3
call fcn.1401462a8
nop
mov ecx, 0x80004005
call fcn.14000c3ac
nop
mov ecx, 0x80004005
call fcn.14000c3ac
nop
call fcn.1401462a8
nop
mov ecx, 0x80004005
call fcn.14000c3ac
nop
call fcn.1401462a8
nop
mov ecx, 0x80004005
call fcn.14000c3ac
nop
call fcn.1401462a8
int3
call fcn.1401462a8
nop
mov ecx, 0x80004005
call fcn.14000c3ac
nop
call fcn.1401462a8
int3