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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x958]
sub rsp, 0xa40
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1403b88b0]
xor rax, rsp
mov qword [rbp + 0x930], rax
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140052e6c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
xor edx, edx
mov r8d, 0x7ce
lea rcx, [rbp + 0x160]
call fcn.1402841a0
mov r8d, 0x3e6
lea rdx, [rbp + 0x160]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x160]
mov rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140052ba6
mov r8d, eax
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x20]
call fcn.140010390
mov rbx, qword [rsp + 0x20]
mov esi, dword [rbx - 0x10]
mov edx, 0x5c
mov rcx, rbx
call fcn.14028376c
test rax, rax
jne 0x140052be2
mov eax, edi
jmp 0x140052be8
sub rax, rbx
sar rax, 1
sub esi, eax
lea eax, [rsi - 1]
xor r15d, r15d
mov esi, r15d
test eax, eax
cmovns esi, eax
movsxd r14, dword [rbx - 0x10]
cmp esi, r14d
jl 0x140052c15
lea rcx, [rbx - 0x18]
call fcn.140014810
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x140052c59
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x140052c29
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x140052c37
call fcn.1400f5f94
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
movsxd rcx, esi
mov rdx, r14
sub rdx, rcx
lea rdx, [rbx + rdx*2]
mov r9, rax
mov r8d, esi
lea rcx, [rsp + 0x30]
call fcn.1400142d0
mov rbx, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.140014890
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140052c82
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, str..log
lea rdx, str..exe
lea rcx, [rsp + 0x20]
call fcn.14001b9a0
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.1402841a0
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea rcx, [rsp + 0x50]
mov rax, rdi
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140052cd0
cmp word [rsp + rax*2 + 0x4e], 0x5c
jne 0x140052cfd
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x140052e82
mov word [rsp + rax + 0x50], r15w
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140052e77
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.140014ab0
test al, al
jne 0x140052d5d
lea rcx, [rsp + 0x50]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140052d40
mov r8d, eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.140010390
nop
mov r9, qword [rsp + 0x20]
lea r8, [rsp + 0x50]
lea rdx, [0x14032f5c8]
lea rcx, [rsp + 0x28]
call fcn.14000dd70
mov r8d, 0x20
lea rdx, str.atc
mov rcx, qword [rsp + 0x28]
call fcn.14028ba84
mov qword [0x1403dba40], rax
test rax, rax
jne 0x140052dfa
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140052e61
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x50]
lea rdx, str.CDebugLog::OpenFile__s_failed
lea rcx, [rsp + 0x38]
call fcn.14000dd70
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140052dfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140052e19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140052e35
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x930]
xor rcx, rsp
call fcn.140281bf0
lea r11, [rsp + 0xa40]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000dc70
nop
mov ecx, 0x80004005
call fcn.14000dc70
nop
mov ecx, 0x80004005
call fcn.14000dc70
int3
call fcn.140281ffc
int3