Function at 0x14006d350
Capabilities:
Get common file path
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x950]
sub rsp, 0xa50
mov rax, qword [0x140178010]
xor rax, rsp
mov qword [rbp + 0x940], rax
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x48], r14
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rdx, str.DebugLogFilePath
lea rcx, [rsp + 0x40]
call fcn.140004490
mov rbx, rax
lea r8, str.General
lea rdx, [rsp + 0x30]
call fcn.140005560
nop
mov r9, rbx
mov r8, rax
mov rdx, qword [0x140178498]
lea rcx, [rsp + 0x48]
call fcn.140090f10
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x48]
lea rdi, [r14 - 1]
cmp dword [rax - 0x10], r14d
jne 0x14006d92f
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.1400e5b40
call fcn.140004e00
mov rcx, rax
test rax, rax
je 0x14006da53
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140050923.0]
add rax, 0x18
mov qword [rsp + 0x50], rax
xor edx, edx
mov r8d, 0x7ce
lea rcx, [rbp + 0x170]
call fcn.1400e5b40
mov r8d, 0x3e6
lea rdx, [rbp + 0x170]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x170]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006d460
mov r8d, eax
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x50]
call fcn.1400047f0
mov rbx, qword [rsp + 0x50]
mov esi, dword [rbx - 0x10]
mov edx, 0x5c
mov rcx, rbx
call fcn.1400e5484
test rax, rax
jne 0x14006d49c
mov eax, edi
jmp 0x14006d4a2
sub rax, rbx
sar rax, 1
sub esi, eax
lea r8d, [rsi - 1]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.14000c070
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006d51a
cmp dword [rbx + 0x10], 0
jl 0x14006d50b
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006d50b
call fcn.140006ca0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14006d500
lfence
mov rcx, qword [rbx]
mov rdx, qword [rcx]
mov rax, qword [rdx + 8]
mov rdx, rbx
call qword [case.0x140050923.0]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14006d51a
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.1400047f0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006d542
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140050923.0]
lea r8, str..log
lea rdx, str..exe
lea rcx, [rsp + 0x50]
call fcn.14000c1d0
xor r9d, r9d
lea rdx, [rsp + 0x60]
xor ecx, ecx
cmp dword [0x1401784a0], ecx
je 0x14006d635
lea r8d, [r9 + 0x24]
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetSpecialFolderPathW]
lea rcx, [rsp + 0x60]
mov rax, rdi
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x14006d582
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14006d5af
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14006da5e
mov word [rsp + rax + 0x60], r14w
mov edx, 0x103
mov ecx, edx
lea rax, [rsp + 0x60]
nop dword [rax + rax]
cmp word [rax], 0
je 0x14006d5d0
add rax, 2
sub rcx, 1
jne 0x14006d5c0
mov rax, rdx
sub rax, rcx
test rcx, rcx
cmove rax, r14
je 0x14006d6e3
sub rdx, rax
lea rcx, [rsp + 0x60]
lea rcx, [rcx + rax*2]
je 0x14006d621
mov eax, 0x7ffffffe
lea r9, str.Logs
sub r9, rcx
test rax, rax
je 0x14006d621
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006d621
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14006d600
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r14w
jmp 0x14006d6e3
cmp dword [0x1401784a4], 0
je 0x14006d681
mov r8d, SafeArrayCopy
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetSpecialFolderPathW]
lea rcx, [rsp + 0x60]
mov rax, rdi
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x14006d652
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14006d6e3
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14006da5e
mov word [rsp + rax + 0x60], r14w
jmp 0x14006d6e3
mov r8d, 0x10
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetSpecialFolderPathW]
lea rcx, [rsp + 0x60]
mov rax, rdi
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x14006d695
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14006d6c2
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14006da5e
mov word [rsp + rax + 0x60], r14w
cmp dword [0x1401784a8], 0
je 0x14006d6e3
lea r8, str.RtkAudUService64_COMServer
lea rdx, str.RtkAudUService64
lea rcx, [rsp + 0x50]
call fcn.14000c1d0
mov rbx, qword [rsp + 0x50]
mov r9, rbx
lea r8, [rsp + 0x60]
lea rdx, [0x140102b58]
lea rcx, [rsp + 0x48]
call fcn.140006d30
cmp dword [0x1401784ac], 0
je 0x14006d90c
lea rcx, [rbp + 0x170]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006d720
mov r8d, eax
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x48]
call fcn.1400047f0
mov edx, 0x5c
mov rcx, qword [rsp + 0x48]
call fcn.1400e5484
mov rcx, qword [rsp + 0x48]
test rax, rax
jne 0x14006d75b
mov eax, edi
jmp 0x14006d761
sub rax, rcx
sar rax, 1
mov ebx, r14d
test eax, eax
cmovns ebx, eax
cmp ebx, dword [rcx - 0x10]
jl 0x14006d785
add rcx, 0xffffffffffffffe8
call fcn.140006ca0
lea rdx, [rax + 0x18]
mov qword [rsp + 0x28], rdx
jmp 0x14006d818
mov rcx, qword [rcx - 0x18]
test rcx, rcx
je 0x14006d87c
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140050923.0]
mov rcx, rax
test rax, rax
je 0x14006d87c
mov rsi, qword [rsp + 0x48]
mov rax, rsi
test rax, rax
jne 0x14006d7c0
test ebx, ebx
jne 0x14006da3d
lfence
mov rax, qword [rcx]
mov r8d, 2
mov edx, ebx
mov rax, qword [rax]
call qword [case.0x140050923.0]
test rax, rax
je 0x14006da64
lea rcx, [rax + 0x18]
mov qword [rsp + 0x28], rcx
test ebx, ebx
js 0x14006da3d
cmp ebx, dword [rcx - 0xc]
jg 0x14006da3d
lfence
mov dword [rcx - 0x10], ebx
movsxd rdx, ebx
mov word [rcx + rdx*2], r14w
mov r9d, ebx
mov r8, rsi
call fcn.140004760
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x20], 5
lea rbx, [rdx - 0x18]
mov rsi, qword [rsp + 0x48]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x14006d8bc
cmp dword [rsi + 0x10], 0
jl 0x14006d8ad
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x14006d8ad
mov rcx, rbx
call fcn.140006ca0
mov r14, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x14006d871
lfence
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
mov rax, qword [r8 + 8]
call qword [case.0x140050923.0]
lea rax, [r14 + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x14006d8bc
call fcn.140004e00
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140050923.0]
mov rcx, rax
mov rsi, qword [rsp + 0x48]
mov rax, rsi
test rcx, rcx
je 0x14006da48
jmp 0x14006d7b3
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.1400047f0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14006d8de
lfence
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140050923.0]
lea rdx, str.RtkAudUServiceUnitTest64.log
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006d8f0
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140010760
mov rbx, qword [rsp + 0x50]
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006d92f
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140050923.0]
mov r8d, 0x20
lea rdx, str.atc
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfsopen]
mov qword [0x1401802a8], rax
test rax, rax
jne 0x14006d9cd
call fcn.140004e00
mov rcx, rax
test rax, rax
je 0x14006da6a
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140050923.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov r9d, eax
mov r8, qword [rsp + 0x48]
lea rdx, str.CDebugLog::OpenFile__s_Err_d
lea rcx, [rsp + 0x58]
call fcn.140006d30
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006d9eb
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140050923.0]
jmp 0x14006d9eb
mov rdx, rax
lea rcx, str._nStart_Loging_n
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputs]
mov rcx, qword [0x1401802a8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14006da11
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140050923.0]
mov rcx, qword [rbp + 0x940]
xor rcx, rsp
call fcn.1400df340
lea r11, [rsp + 0xa50]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov ecx, 0x80070057
call fcn.140004f30
int3
mov ecx, 0x80004005
call fcn.140004f30
nop
mov ecx, 0x80004005
call fcn.140004f30
nop
call fcn.1400df914
int3
call fcn.140004750
nop
mov ecx, 0x80004005
call fcn.140004f30
int3