Function at 0x14005afe0
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 [0x14013c010]
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.140003d80
mov rbx, rax
lea r8, str.General
lea rdx, [rsp + 0x30]
call fcn.140004e50
nop
mov r9, rbx
mov r8, rax
mov rdx, qword [0x14013c488]
lea rcx, [rsp + 0x48]
call fcn.14007fa60
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x48]
lea rdi, [r14 - 1]
cmp dword [rax - 0x10], r14d
jne 0x14005b5bf
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.1400c7980
call fcn.1400046f0
mov rcx, rax
test rax, rax
je 0x14005b6e3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140048c62.0]
add rax, 0x18
mov qword [rsp + 0x50], rax
xor edx, edx
mov r8d, 0x7ce
lea rcx, [rbp + 0x170]
call fcn.1400c7980
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 0x14005b0f0
mov r8d, eax
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x50]
call fcn.1400040e0
mov rbx, qword [rsp + 0x50]
mov esi, dword [rbx - 0x10]
mov edx, 0x5c
mov rcx, rbx
call fcn.1400c72c4
test rax, rax
jne 0x14005b12c
mov eax, edi
jmp 0x14005b132
sub rax, rbx
sar rax, 1
sub esi, eax
lea r8d, [rsi - 1]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.14000b920
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005b1aa
cmp dword [rbx + 0x10], 0
jl 0x14005b19b
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005b19b
call fcn.140006460
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005b190
lfence
mov rcx, qword [rbx]
mov rdx, qword [rcx]
mov rax, qword [rdx + 8]
mov rdx, rbx
call qword [case.0x140048c62.0]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14005b1aa
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.1400040e0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005b1d2
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
lea r8, str..log
lea rdx, str..exe
lea rcx, [rsp + 0x50]
call fcn.14000ba80
xor r9d, r9d
lea rdx, [rsp + 0x60]
xor ecx, ecx
cmp dword [0x14013c490], ecx
je 0x14005b2c5
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 0x14005b212
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14005b23f
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14005b6ee
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 0x14005b260
add rax, 2
sub rcx, 1
jne 0x14005b250
mov rax, rdx
sub rax, rcx
test rcx, rcx
cmove rax, r14
je 0x14005b373
sub rdx, rax
lea rcx, [rsp + 0x60]
lea rcx, [rcx + rax*2]
je 0x14005b2b1
mov eax, 0x7ffffffe
lea r9, str.Logs
sub r9, rcx
test rax, rax
je 0x14005b2b1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14005b2b1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14005b290
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r14w
jmp 0x14005b373
cmp dword [0x14013c494], 0
je 0x14005b311
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 0x14005b2e2
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14005b373
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14005b6ee
mov word [rsp + rax + 0x60], r14w
jmp 0x14005b373
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 0x14005b325
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14005b352
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x14005b6ee
mov word [rsp + rax + 0x60], r14w
cmp dword [0x14013c498], 0
je 0x14005b373
lea r8, str.RtkAudUService64_COMServer
lea rdx, str.RtkAudUService64
lea rcx, [rsp + 0x50]
call fcn.14000ba80
mov rbx, qword [rsp + 0x50]
mov r9, rbx
lea r8, [rsp + 0x60]
lea rdx, [0x1400e3308]
lea rcx, [rsp + 0x48]
call fcn.1400064f0
cmp dword [0x14013c49c], 0
je 0x14005b59c
lea rcx, [rbp + 0x170]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005b3b0
mov r8d, eax
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x48]
call fcn.1400040e0
mov edx, 0x5c
mov rcx, qword [rsp + 0x48]
call fcn.1400c72c4
mov rcx, qword [rsp + 0x48]
test rax, rax
jne 0x14005b3eb
mov eax, edi
jmp 0x14005b3f1
sub rax, rcx
sar rax, 1
mov ebx, r14d
test eax, eax
cmovns ebx, eax
cmp ebx, dword [rcx - 0x10]
jl 0x14005b415
add rcx, 0xffffffffffffffe8
call fcn.140006460
lea rdx, [rax + 0x18]
mov qword [rsp + 0x28], rdx
jmp 0x14005b4a8
mov rcx, qword [rcx - 0x18]
test rcx, rcx
je 0x14005b50c
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140048c62.0]
mov rcx, rax
test rax, rax
je 0x14005b50c
mov rsi, qword [rsp + 0x48]
mov rax, rsi
test rax, rax
jne 0x14005b450
test ebx, ebx
jne 0x14005b6cd
lfence
mov rax, qword [rcx]
mov r8d, 2
mov edx, ebx
mov rax, qword [rax]
call qword [case.0x140048c62.0]
test rax, rax
je 0x14005b6f4
lea rcx, [rax + 0x18]
mov qword [rsp + 0x28], rcx
test ebx, ebx
js 0x14005b6cd
cmp ebx, dword [rcx - 0xc]
jg 0x14005b6cd
lfence
mov dword [rcx - 0x10], ebx
movsxd rdx, ebx
mov word [rcx + rdx*2], r14w
mov r9d, ebx
mov r8, rsi
call fcn.140004050
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 0x14005b54c
cmp dword [rsi + 0x10], 0
jl 0x14005b53d
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x14005b53d
mov rcx, rbx
call fcn.140006460
mov r14, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x14005b501
lfence
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
mov rax, qword [r8 + 8]
call qword [case.0x140048c62.0]
lea rax, [r14 + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x14005b54c
call fcn.1400046f0
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140048c62.0]
mov rcx, rax
mov rsi, qword [rsp + 0x48]
mov rax, rsi
test rcx, rcx
je 0x14005b6d8
jmp 0x14005b443
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.1400040e0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14005b56e
lfence
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
lea rdx, str.RtkAudUServiceUnitTest64.log
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14005b580
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140010240
mov rbx, qword [rsp + 0x50]
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005b5bf
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.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 [0x140143c48], rax
test rax, rax
jne 0x14005b65d
call fcn.1400046f0
mov rcx, rax
test rax, rax
je 0x14005b6fa
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140048c62.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.1400064f0
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 0x14005b67b
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
jmp 0x14005b67b
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 [0x140143c48]
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 0x14005b6a1
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
mov rcx, qword [rbp + 0x940]
xor rcx, rsp
call fcn.1400c17f0
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.140004820
int3
mov ecx, 0x80004005
call fcn.140004820
nop
mov ecx, 0x80004005
call fcn.140004820
nop
call fcn.1400c1dc4
int3
call fcn.140004040
nop
mov ecx, 0x80004005
call fcn.140004820
int3