Function at 0x140003370
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rbx, rcx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x80], rax
call fcn.140014ad4
mov rcx, rax
xor ebp, ebp
mov edx, ebp
test rax, rax
setne dl
test edx, edx
jne 0x1400033bb
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea r13, str.PCFILTERService
mov r12, r13
shr r12, 0x10
jne 0x1400033fc
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x14000341d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140004cb0
jmp 0x14000341d
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x78]
call fcn.1400049e0
nop
mov esi, ebp
xor edx, edx
xor ecx, ecx
mov r8d, 0x80000000
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
je 0x140003478
mov r8d, 1
mov rdx, qword [rsp + 0x78]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x140003460
mov esi, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14000346d
lea rcx, str.OpenService
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140003485
lea rcx, str.OpenSCManager
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400034a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test esi, esi
je 0x1400037b3
lea rax, [rsp + 0x80]
mov qword [rsp + 0x78], rax
call fcn.140014ad4
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400034da
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
test r12, r12
jne 0x140003519
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x14000353d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140004cb0
jmp 0x14000353d
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x80]
call fcn.1400049e0
nop
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.1400038a0
cmp eax, 2
je 0x14000368c
lea rax, [rsp + 0x88]
mov qword [rsp + 0x78], rax
call fcn.140014ad4
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x140003582
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
test r12, r12
jne 0x1400035c1
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x1400035e5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140004cb0
jmp 0x1400035e5
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x88]
call fcn.1400049e0
nop
mov r8d, 2
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.140003b70
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x78], rdx
call fcn.140014ad4
mov rcx, rax
test rax, rax
setne bpl
test ebp, ebp
jne 0x140003623
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
test r12, r12
jne 0x140003659
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x14000367a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140004cb0
jmp 0x14000367a
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1400049e0
nop
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140004130
jmp 0x1400037bb
lea rax, [rsp + 0x28]
mov qword [rsp + 0x78], rax
call fcn.140014ad4
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400036b5
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
test r12, r12
jne 0x1400036ee
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x14000370f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.140004cb0
jmp 0x14000370f
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x28]
call fcn.1400049e0
nop
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.140003ff0
cmp eax, 1
je 0x1400037bb
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
call fcn.140014ad4
mov rcx, rax
test rax, rax
setne bpl
test ebp, ebp
jne 0x14000374d
mov ecx, 0x80004005
call fcn.1400047b0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test r12, r12
jne 0x140003783
movzx edi, r13w
mov ecx, edi
call fcn.140016678
test rax, rax
je 0x1400037a4
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140004cb0
jmp 0x1400037a4
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.1400049e0
nop
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140004130
jmp 0x1400037bb
mov rcx, rbx
call fcn.140003e70
mov rax, qword [rbx]
mov rcx, rbx
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp qword [rax + 0x2a0]