Function at 0x140023f30
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.14004b630]
mov rcx, rdi
lea rdx, [rbp + 0x20]
call fcn.140028eb0
mov qword [rbp + 0x20], rax
call fcn.140021c10
mov rcx, qword [rbp + 0x20]
lea r9, [0x1401a5520]
mov rdx, rax
lea r8, [0x1401a5524]
call fcn.14002c820
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
call fcn.14004b420
mov rcx, qword [rbp + 0x20]
dec eax
mov rdx, qword [rcx]
movsxd rcx, eax
lea r14, [rdx + rcx*8]
cmp r14, rdx
jb 0x14002421b
mov qword [rsp + 0x48], r15
xor r15d, r15d
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
lea r8, [0x140025bc0]
mov rcx, rdi
lea rdx, [rbp + 0x28]
call fcn.140028eb0
lea r8, [0x140025bc0]
mov qword [rbp + 0x28], rax
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.140028eb0
lea r8, [0x140025bc0]
mov rcx, rdi
lea rdx, [rbp + 0x30]
call fcn.140028eb0
mov rdx, qword [0x140278eb8]
mov qword [rbp + 0x30], rax
test rdx, rdx
jne 0x14002402e
mov rdx, qword [0x140278ea8]
mov rcx, rax
call fcn.14002a020
mov rcx, qword [rbp + 0x30]
call fcn.14002c3e0
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov qword [0x140278eb8], rax
mov qword [rcx], r15
mov rdx, qword [0x140278eb8]
mov rcx, qword [rbp - 0x28]
call fcn.14002a020
cmp qword [0x140278ed0], r15
mov qword [rbp - 0x28], rax
jne 0x1400241da
mov r8, qword [rax]
lea rdx, str._s_luminati
mov rcx, qword [rbp + 0x28]
call fcn.14002a0d0
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x1400241c9
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
call fcn.14002c7e0
test eax, eax
jne 0x1400241c9
lea r8, [0x140025bc0]
mov rcx, rdi
lea rdx, [rbp - 0x30]
call fcn.140028eb0
lea r8, [0x140025bc0]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.140028eb0
lea r8, [0x140025bc0]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140028eb0
call fcn.140021970
mov rcx, qword [rbp - 0x40]
mov rdx, rax
call fcn.14002a020
mov rdx, qword [0x140278ec8]
mov qword [rbp - 0x40], rax
test rdx, rdx
jne 0x1400241bb
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
mov qword [rbp + 0x38], r15
call fcn.14002a210
lea r9, [rbp + 0x38]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1401a4dd0]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x1400241b8
mov rdx, qword [rbp + 0x38]
xor r8d, r8d
xor ecx, ecx
call fcn.140176734
mov rcx, rax
call fcn.140171010
mov rsi, rax
cmp eax, 0xffffffff
je 0x1400241b8
mov edx, esi
mov rcx, rbx
call fcn.14002a250
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbx]
movsxd r8, esi
call fcn.140176734
mov rcx, rax
call fcn.140171010
cmp rax, 0xffffffffffffffff
je 0x1400241b8
mov rcx, rbx
call fcn.14002cbb0
mov rcx, qword [rbp - 0x40]
call fcn.14002cbc0
mov rcx, rdi
mov rbx, rax
call fcn.1400292d0
mov rdx, qword [rbx]
mov rcx, rax
call fcn.140025b40
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.14002a0d0
mov rax, qword [rbp - 0x30]
lea rcx, [0x140278ed0]
mov rdx, qword [rax]
mov qword [0x140278ec8], rdx
mov qword [rax], r15
call fcn.14002a020
jmp 0x1400241da
mov rdx, r15
lea rcx, [0x140278ed0]
call fcn.14002a020
jmp 0x1400241da
mov rcx, qword [rbp + 0x28]
mov rax, qword [rcx]
mov qword [0x140278ed0], rax
mov qword [rcx], r15
mov r9, qword [r14]
lea rdx, [0x1401a4ea0]
mov r8, qword [0x140278ed0]
mov rcx, rdi
call fcn.140029240
mov rcx, qword [rax]
call fcn.14002d100
mov rax, qword [rbp + 0x20]
sub r14, 8
cmp r14, qword [rax]
jae 0x140023fb1
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