Function at 0x14007f8c0
Capabilities:
Create directory
Delete file
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x740]
sub rsp, 0x840
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rbp + 0x730], rax
mov r9d, 1
lea r8d, [r9 + 0x19]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor edi, edi
lea rbx, [rdi - 1]
test eax, eax
je 0x14007f944
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov r8d, 0x400
lea rdx, str.ProcessLasso
lea rcx, [rsp + 0x30]
call fcn.140116740
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x14007f99d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r8d, 0x3ff
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14007f99d
lea rcx, [rsp + 0x30]
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x14007f970
dec eax
movsxd rcx, eax
test eax, eax
jle 0x14007f99d
cmp word [rsp + rcx*2 + 0x30], 0x5c
je 0x14007f996
dec eax
dec rcx
test rcx, rcx
jg 0x14007f982
jmp 0x14007f99d
cdqe
mov word [rsp + rax*2 + 0x30], di
mov qword [rsp + 0x28], rdi
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.14003f460
nop
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.14003f4f0
nop
lea rdx, str.pl4sfx.exe
mov r8, rbx
inc r8
cmp word [rdx + r8*2], 0
jne 0x14007f9d1
lea rcx, [rsp + 0x20]
call fcn.140005c50
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rsp + 0x28]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x20]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14007fa50
cmp dword [rdi + 0x10], 0
jl 0x14007fa42
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14007fa42
call fcn.140041570
mov rsi, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14007fa37
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x14007fa50
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140005a90
lea rdx, str.pl4sfx_server.exe
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14007fa60
lea rcx, [rsp + 0x20]
call fcn.140005c50
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rsp + 0x28]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x20]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14007fadf
cmp dword [rdi + 0x10], 0
jl 0x14007fad1
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14007fad1
call fcn.140041570
mov rsi, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14007fac6
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x14007fadf
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140005a90
lea rdx, str.pl_rsrc_temp.dll
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14007faf0
lea rcx, [rsp + 0x20]
call fcn.140005c50
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rsp + 0x28]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x20]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14007fb6f
cmp dword [rdi + 0x10], 0
jl 0x14007fb61
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14007fb61
call fcn.140041570
mov rsi, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14007fb56
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x14007fb6f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140005a90
lea rdx, str.pl_debug.log
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14007fb80
lea rcx, [rsp + 0x20]
call fcn.140005c50
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14007fbc0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14007fbdc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x730]
xor rcx, rsp
call fcn.1400ff350
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret