Function at 0x140002560
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x770]
sub rsp, 0x870
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x760], rax
lea rbx, [0x14001f940]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400025a0
test rax, rax
jne 0x1400025cd
mov edx, 0x104
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rdx, str._ntoskrnl.exe
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov rcx, rbx
call fcn.140002a20
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.1400051b0
mov rcx, rax
mov rdi, rax
call fcn.140007b20
mov rcx, qword [rdi + 0x80]
mov rbx, rax
test rcx, rcx
je 0x14000260c
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rdi + 0x80], 0
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
test rbx, rbx
je 0x140002915
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x830
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.PspCreateProcessNotifyRoutine
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x14000266f
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x140002671
xor eax, eax
xor edx, edx
mov qword [0x14001f6e0], rax
mov r8d, 0x830
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.PspCreateThreadNotifyRoutine
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x1400026c2
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x1400026c4
xor eax, eax
xor edx, edx
mov qword [0x14001f6e8], rax
mov r8d, 0x830
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.PspLoadImageNotifyRoutine
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x140002715
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x140002717
xor eax, eax
xor edx, edx
mov qword [0x14001f6f0], rax
mov r8d, 0x830
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.EtwThreatIntProvRegHandle
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x140002768
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x14000276a
xor eax, eax
lea r8, str.Protection
mov qword [0x14001f700], rax
lea rdx, str._EPROCESS
mov rcx, rbx
call fcn.140007ec0
mov eax, eax
lea r8, str.GuidEntry
lea rdx, str._ETW_REG_ENTRY
mov qword [0x14001f6f8], rax
mov rcx, rbx
call fcn.140007ec0
mov eax, eax
lea r8, str.ProviderEnableInfo
lea rdx, str._ETW_GUID_ENTRY
mov qword [0x14001f708], rax
mov rcx, rbx
call fcn.140007ec0
mov eax, eax
lea rcx, [rsp + 0x30]
xor edx, edx
mov qword [0x14001f710], rax
mov r8d, 0x830
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.PsProcessType
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x140002818
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x14000281a
xor eax, eax
xor edx, edx
mov qword [0x14001f718], rax
mov r8d, 0x830
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.PsThreadType
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x14000286b
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x14000286d
xor eax, eax
lea r8, str.CallbackList
mov qword [0x14001f720], rax
lea rdx, str._OBJECT_TYPE
mov rcx, rbx
call fcn.140007ec0
mov eax, eax
lea rcx, [rsp + 0x30]
xor edx, edx
mov qword [0x14001f728], rax
mov r8d, 0x830
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
lea r8, str.SeCiCallbacks
mov dword [rsp + 0x30], 0x58
mov dword [rbp - 0x80], 0x7d1
call qword [sym.imp.dbghelp.dll_SymGetTypeFromName]
test eax, eax
je 0x1400028dd
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx + 8]
jmp 0x1400028df
xor eax, eax
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov qword [0x14001f730], rax
call qword [sym.imp.dbghelp.dll_SymUnloadModule64]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.dbghelp.dll_SymCleanup]
mov rcx, qword [rbx]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, rbx
mov qword [rbx], 0
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, qword [rbp + 0x760]
xor rcx, rsp
call fcn.140009ae0
lea r11, [rsp + 0x870]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret