Function at 0x140023f80
Capabilities:
Get common file path

Disassembly:
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
lea rdi, [rbp + 0x18]
add rdi, 0xfffffffffffffff8
lea r8, [fcn.14004b690]
mov rcx, rdi
lea rdx, [rbp + 0x20]
call fcn.140028f10
mov qword [rbp + 0x20], rax
call fcn.140021c20
mov rcx, qword [rbp + 0x20]
lea r9, [0x1401a5520]
mov rdx, rax
lea r8, str.perr_
call fcn.14002c880
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
call fcn.14004b480
mov rcx, qword [rbp + 0x20]
dec eax
mov rdx, qword [rcx]
movsxd rcx, eax
lea r14, [rdx + rcx*8]
cmp r14, rdx
jb 0x14002426b
mov qword [rsp + 0x48], r15
xor r15d, r15d
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
lea r8, [0x140025c10]
mov rcx, rdi
lea rdx, [rbp + 0x28]
call fcn.140028f10
lea r8, [0x140025c10]
mov qword [rbp + 0x28], rax
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.140028f10
lea r8, [0x140025c10]
mov rcx, rdi
lea rdx, [rbp + 0x30]
call fcn.140028f10
mov rdx, qword [0x140278ec0]
mov qword [rbp + 0x30], rax
test rdx, rdx
jne 0x14002407e
mov rdx, qword [0x140278eb0]
mov rcx, rax
call fcn.14002a080
mov rcx, qword [rbp + 0x30]
call fcn.14002c440
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov qword [0x140278ec0], rax
mov qword [rcx], r15
mov rdx, qword [0x140278ec0]
mov rcx, qword [rbp - 0x28]
call fcn.14002a080
cmp qword [0x140278ed8], r15
mov qword [rbp - 0x28], rax
jne 0x14002422a
mov r8, qword [rax]
lea rdx, str._s_luminati
mov rcx, qword [rbp + 0x28]
call fcn.14002a130
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x140024219
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
call fcn.14002c840
test eax, eax
jne 0x140024219
lea r8, [0x140025c10]
mov rcx, rdi
lea rdx, [rbp - 0x30]
call fcn.140028f10
lea r8, [0x140025c10]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.140028f10
lea r8, [0x140025c10]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140028f10
call fcn.140021980
mov rcx, qword [rbp - 0x40]
mov rdx, rax
call fcn.14002a080
mov rdx, qword [0x140278ed0]
mov qword [rbp - 0x40], rax
test rdx, rdx
jne 0x14002420b
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
mov qword [rbp + 0x38], r15
call fcn.14002a270
lea r9, [rbp + 0x38]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1401a4dd0]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x140024208
mov rdx, qword [rbp + 0x38]
xor r8d, r8d
xor ecx, ecx
call fcn.140176794
mov rcx, rax
call fcn.140171070
mov rsi, rax
cmp eax, 0xffffffff
je 0x140024208
mov edx, esi
mov rcx, rbx
call fcn.14002a2b0
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbx]
movsxd r8, esi
call fcn.140176794
mov rcx, rax
call fcn.140171070
cmp rax, 0xffffffffffffffff
je 0x140024208
mov rcx, rbx
call fcn.14002cc10
mov rcx, qword [rbp - 0x40]
call fcn.14002cc20
mov rcx, rdi
mov rbx, rax
call fcn.140029330
mov rdx, qword [rbx]
mov rcx, rax
call fcn.140025b90
mov r8, qword [rbp - 0x38]
lea rdx, str._s_BrightData__s
mov rcx, qword [rbp - 0x30]
mov r9, qword [rax]
mov r8, qword [r8]
call fcn.14002a130
mov rax, qword [rbp - 0x30]
lea rcx, [0x140278ed8]
mov rdx, qword [rax]
mov qword [0x140278ed0], rdx
mov qword [rax], r15
call fcn.14002a080
jmp 0x14002422a
mov rdx, r15
lea rcx, [0x140278ed8]
call fcn.14002a080
jmp 0x14002422a
mov rcx, qword [rbp + 0x28]
mov rax, qword [rcx]
mov qword [0x140278ed8], rax
mov qword [rcx], r15
mov r9, qword [r14]
lea rdx, [0x1401a4ea0]
mov r8, qword [0x140278ed8]
mov rcx, rdi
call fcn.1400292a0
mov rcx, qword [rax]
call fcn.14002d160
mov rax, qword [rbp + 0x20]
sub r14, 8
cmp r14, qword [rax]
jae 0x140024001
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
add rsp, 0x60
pop r14
pop rdi
pop rbp
ret