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.14004b890]
mov rcx, rdi
lea rdx, [rbp + 0x20]
call fcn.140029110
mov qword [rbp + 0x20], rax
call fcn.140021c20
mov rcx, qword [rbp + 0x20]
lea r9, [0x1401a5520]
mov rdx, rax
lea r8, [0x1401a5524]
call fcn.14002ca80
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
call fcn.14004b680
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.140029110
lea r8, [0x140025c10]
mov qword [rbp + 0x28], rax
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.140029110
lea r8, [0x140025c10]
mov rcx, rdi
lea rdx, [rbp + 0x30]
call fcn.140029110
mov rdx, qword [0x140278ec0]
mov qword [rbp + 0x30], rax
test rdx, rdx
jne 0x14002407e
mov rdx, qword [0x140278eb0]
mov rcx, rax
call fcn.14002a280
mov rcx, qword [rbp + 0x30]
call fcn.14002c640
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.14002a280
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.14002a330
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x140024219
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
call fcn.14002ca40
test eax, eax
jne 0x140024219
lea r8, [0x140025c10]
mov rcx, rdi
lea rdx, [rbp - 0x30]
call fcn.140029110
lea r8, [0x140025c10]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.140029110
lea r8, [0x140025c10]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140029110
call fcn.140021980
mov rcx, qword [rbp - 0x40]
mov rdx, rax
call fcn.14002a280
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.14002a470
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.140176984
mov rcx, rax
call fcn.140171260
mov rsi, rax
cmp eax, 0xffffffff
je 0x140024208
mov edx, esi
mov rcx, rbx
call fcn.14002a4b0
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbx]
movsxd r8, esi
call fcn.140176984
mov rcx, rax
call fcn.140171260
cmp rax, 0xffffffffffffffff
je 0x140024208
mov rcx, rbx
call fcn.14002ce10
mov rcx, qword [rbp - 0x40]
call fcn.14002ce20
mov rcx, rdi
mov rbx, rax
call fcn.140029530
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.14002a330
mov rax, qword [rbp - 0x30]
lea rcx, [0x140278ed8]
mov rdx, qword [rax]
mov qword [0x140278ed0], rdx
mov qword [rax], r15
call fcn.14002a280
jmp 0x14002422a
mov rdx, r15
lea rcx, [0x140278ed8]
call fcn.14002a280
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.1400294a0
mov rcx, qword [rax]
call fcn.14002d360
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