Function at 0x140035980
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x1403ceac0]
xor rax, rsp
mov qword [rbp + 0x280], rax
xor r14d, r14d
mov qword [rsp + 0x30], r14
lea r9, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
lea rcx, [0x14030ba50]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r14w
mov esi, 1
mov r8d, esi
lea rdx, [0x14034c308]
lea rcx, [rbp - 0x80]
call fcn.14002b640
nop
mov rdx, qword [rsp + 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], 0
jne 0x140035a11
lea rcx, [rbp - 0x80]
call fcn.140030de0
mov r8d, 0x29
lea rdx, str.McAfeeModuleCoreModuleCoreService.exe_
lea rcx, [rbp - 0x80]
call fcn.140030de0
mov r8d, 6
lea rdx, str.__stop
lea rcx, [rbp - 0x80]
call fcn.140030de0
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.1402c9c88
mov edi, eax
lea r15, str.ManageMcServices::CMcService::StopModuleCoreService
lea r12, str.E:BT3304243d_d858_4efc_85b8_b3526d9f21d2PEFAppSrcPEFCommonCmcService.h
test eax, eax
je 0x140035ba7
mov qword [rbp - 8], r14
mov qword [rbp], 7
mov word [rbp - 0x18], r14w
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], 7
mov word [rbp + 8], r14w
mov edx, esi
lea rcx, [rbp + 0x30]
call fcn.140029460
nop
nop word [rax + rax]
xor eax, eax
lock cmpxchg dword [0x1403e3090], esi
test eax, eax
je 0x140035acd
cmp eax, 1
jne 0x140035aeb
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140035ab0
call fcn.14002b3e0
mov qword [0x1403e3098], rax
neg rax
sbb ecx, ecx
and ecx, 2
mov eax, esi
lock cmpxchg dword [0x1403e3090], ecx
mov rcx, qword [0x1403e3098]
mov qword [rbp + 0x128], rcx
add rcx, 0x28
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbp + 0x128]
mov dword [rax + 8], 4
mov rax, qword [rbp + 0x128]
mov dword [rax + 0x10], 0xf8
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r12
mov dword [rbp - 0x20], 0xf8
mov r8d, 0x4d
mov rdx, r12
lea rcx, [rbp - 0x18]
call fcn.14002b640
mov dword [rbp + 0x28], 4
mov r8d, getprotobynumber
mov rdx, r15
lea rcx, [rbp + 8]
call fcn.14002b640
nop
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rsp + 0x50], xmm1
lea r9, [rsp + 0x40]
mov r8d, edi
lea rdx, str.Manage_Service:_Failed_to_stop_ModuleCoreService__error__d___cmd:__s
lea rcx, [rbp - 0x60]
call fcn.1400270c0
nop
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14002be60
nop
lea rcx, [rbp - 0x60]
call fcn.14002ce60
nop
lea rcx, [rbp - 0x20]
call fcn.140028cd0
jmp 0x140035bd1
mov ecx, esi
call fcn.1400de610
test eax, eax
je 0x140035bd1
lea rax, str.Manage_Service:_ModuleCoreService_stopped_successfully
mov qword [rsp + 0x20], rax
mov r9d, 0xfc
mov r8, r15
mov rdx, r12
mov ecx, esi
call fcn.140028a20
mov r8, rsi
lea rdx, [0x14034c308]
lea rcx, [rbp - 0x80]
call fcn.14002b640
mov rdx, qword [rsp + 0x30]
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140035bf0
mov r8, rbx
lea rcx, [rbp - 0x80]
call fcn.140030de0
mov r8d, 0x29
lea rdx, str.McAfeeModuleCoreModuleCoreService.exe_
lea rcx, [rbp - 0x80]
call fcn.140030de0
mov r8d, 9
lea rdx, str.__install
lea rcx, [rbp - 0x80]
call fcn.140030de0
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.1402c9c88
mov ebx, eax
test eax, eax
je 0x140035d9b
mov qword [rbp + 0x148], r14
mov qword [rbp + 0x150], 7
mov word [rbp + 0x138], r14w
mov qword [rbp + 0x168], r14
mov qword [rbp + 0x170], 7
mov word [rbp + 0x158], r14w
mov edx, esi
lea rcx, [rbp + 0x180]
call fcn.140029460
nop
xor eax, eax
lock cmpxchg dword [0x1403e3090], esi
test eax, eax
je 0x140035caf
cmp eax, 1
jne 0x140035ccd
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140035c92
call fcn.14002b3e0
mov qword [0x1403e3098], rax
neg rax
sbb ecx, ecx
and ecx, 2
mov eax, esi
lock cmpxchg dword [0x1403e3090], ecx
mov rcx, qword [0x1403e3098]
mov qword [rbp + 0x278], rcx
add rcx, 0x28
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbp + 0x278]
mov dword [rax + 8], 4
mov rax, qword [rbp + 0x278]
mov dword [rax + 0x10], 0x107
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r12
mov dword [rbp + 0x130], 0x107
mov r8d, 0x4d
mov rdx, r12
lea rcx, [rbp + 0x138]
call fcn.14002b640
mov dword [rbp + 0x178], 4
mov r8d, getprotobynumber
mov rdx, r15
lea rcx, [rbp + 0x158]
call fcn.14002b640
nop
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rsp + 0x70], xmm1
lea r9, [rsp + 0x60]
mov r8d, ebx
lea rdx, str.Manage_Service:_Failed_to_install_ModuleCoreService__error__d___cmd:__s
lea rcx, [rbp - 0x40]
call fcn.1400270c0
nop
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.14002be60
nop
lea rcx, [rbp - 0x40]
call fcn.14002ce60
nop
lea rcx, [rbp + 0x130]
call fcn.140028cd0
jmp 0x140035dc6
mov ecx, esi
call fcn.1400de610
test eax, eax
je 0x140035dc6
lea rax, str.Manage_Service:_ModuleCoreService_installed_successfully
mov qword [rsp + 0x20], rax
mov r9d, 0x10b
mov r8, r15
mov rdx, r12
mov ecx, esi
call fcn.140028a20
nop
lea rcx, [rbp - 0x80]
call fcn.14002ce60
mov eax, ebx
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.140296f70
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret