Function at 0x140001cc0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8f8]
sub rsp, 0x9f8
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x14003d080]
xor rax, rsp
mov qword [rbp + 0x8e0], rax
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
lea r15, [rbp + 0x948]
call fcn.140001090
mov rdi, rax
mov rcx, qword [rax]
or rcx, 2
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r12
mov r9, rbx
xor r8d, r8d
xor edx, edx
call fcn.14000db4c
mov rsi, 0xffffffffffffffff
test eax, eax
cmovs eax, esi
inc eax
movsxd rdx, eax
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
lea rcx, [rbp - 0x80]
call fcn.140002f60
nop
mov rbx, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
sub rbx, r14
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.1400099e0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
mov rax, qword [rbp + 0x940]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, rbx
mov rdx, r14
mov rcx, qword [rdi]
call fcn.14000da00
xor edx, edx
mov r8d, 0x822
lea rcx, [rbp + 0xb0]
call fcn.1400099e0
xor r9d, r9d
lea r8d, [r12 + 0x1c]
lea rdx, [rbp + 0xb0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x140002117
movdqa xmm0, xmmword [0x140037a80]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
lea rax, [rbp + 0xb0]
nop word [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140001e00
mov r8, rsi
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.1400042b0
nop
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, rdx
sub rax, rcx
cmp rax, 0x1b
jb 0x140001e6a
lea rdi, [rcx + 0x1b]
mov qword [rsp + 0x70], rdi
lea rbx, [rsp + 0x60]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x60]
lea rcx, [rbx + rcx*2]
mov r8d, 0x36
lea rdx, str.overwolflogdeep_link.log
call fcn.140009570
mov word [rbx + rdi*2], r12w
jmp 0x140001e89
mov qword [rsp + 0x20], 0x1b
lea r9, str.overwolflogdeep_link.log
mov edx, 0x1b
lea rcx, [rsp + 0x60]
call fcn.1400053e0
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x60]
call fcn.1400099e0
lea rax, [0x140037560]
mov qword [rbp - 0x60], rax
mov dword [rsp + 0x40], 1
lea r13, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x48], r13
mov dword [rbp + 0x44], 0x98
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x48]
call fcn.140004a10
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call fcn.140004960
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x58], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1400047c0
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
mov edi, 6
lea esi, [rdi - 4]
cmp qword [rbp + 0x28], 0
jne 0x140001fc8
lea edx, [rdi + 4]
lea r8d, [rdi + 0x3a]
call fcn.140006b88
test rax, rax
je 0x140001fc8
lea r8d, [rdi - 5]
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400047c0
nop
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x48]
call fcn.140004f50
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.140004650
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001fa9
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140001fa9
mov r8, qword [rax]
lea edx, [rdi - 5]
mov rcx, rax
call qword [r8]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
mov edx, 4
cmp qword [rcx + 0x48], 0
cmovne edx, r12d
jmp 0x140001fe4
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
mov edx, edi
cmp qword [rcx + 0x48], 0
cmovne edx, esi
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001aa0
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140004d00
mov rcx, rax
lea rdx, [0x1400372d8]
call fcn.140004d00
lea rbx, [rbp - 0x58]
cmp qword [rbp + 0x28], 0
jne 0x140002017
mov rbx, r12
jmp 0x140002035
lea rcx, [rbp - 0x58]
call fcn.1400046f0
test al, al
cmove rbx, r12
mov rcx, qword [rbp + 0x28]
call fcn.14000bf14
test eax, eax
cmovne rbx, r12
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1400047c0
test rbx, rbx
jne 0x14000206c
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
cmp qword [rcx + 0x48], rbx
cmovne edi, esi
or edi, dword [rcx + 0x10]
xor r8d, r8d
mov edx, edi
call fcn.140001aa0
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call fcn.140003d90
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], r13
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x64], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
call fcn.140006980
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140002103
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400020fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002175
call fcn.140007ac4
movdqa xmm0, xmmword [0x140037a80]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
test r14, r14
je 0x14000214c
mov rdx, qword [rbp - 0x70]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140002144
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000216f
mov rcx, r14
call fcn.140007ac4
mov rcx, qword [rbp + 0x8e0]
xor rcx, rsp
call fcn.140007aa0
add rsp, 0x9f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14000eb84
nop
call fcn.14000eb84
nop
int3