Function at 0x1400141c0
Capabilities:
Create directory
Delete directory
Get file attributes
Move file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14007f080]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, rdx
call fcn.140001a70
mov rcx, rax
test rax, rax
je 0x14001465b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x18], rax
call fcn.140001a70
mov rcx, rax
test rax, rax
je 0x140014666
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
call fcn.140001a70
mov rcx, rax
test rax, rax
je 0x140014671
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
call fcn.140001a70
mov rcx, rax
test rax, rax
je 0x14001467c
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
call fcn.140001a70
mov rcx, rax
test rax, rax
je 0x140014645
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x10], rax
mov r12, 0xffffffffffffffff
xor r15d, r15d
test rsi, rsi
jne 0x140014299
mov r8d, r15d
jmp 0x1400142aa
mov r8, r12
nop dword [rax]
inc r8
cmp word [rsi + r8*2], r15w
jne 0x1400142a0
mov rdx, rsi
lea rcx, [rbp - 0x18]
call fcn.140002da0
mov rdi, qword [rbp - 0x18]
movsxd r14, dword [rdi - 0x10]
test r14d, r14d
js 0x140014650
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r14d
or eax, ecx
jge 0x1400142e9
mov edx, r14d
lea rcx, [rbp - 0x18]
call fcn.140002b00
mov rdi, qword [rbp - 0x18]
lea eax, [r14 + 1]
movsxd rdx, eax
mov rcx, rdi
call fcn.14004b7b4
cmp r14d, dword [rdi - 0xc]
jg 0x140014650
mov dword [rdi - 0x10], r14d
mov word [rdi + r14*2], r15w
cmp dword [rdi - 0x10], r15d
jl 0x140014416
lea rdx, [0x14006ed20]
mov rcx, rdi
call fcn.1400407c8
test rax, rax
je 0x140014416
sub rax, rdi
sar rax, 1
cmp eax, r12d
je 0x140014416
test rsi, rsi
jne 0x140014346
mov r8d, r15d
jmp 0x14001435a
mov r8, r12
nop dword [rax]
inc r8
cmp word [rsi + r8*2], r15w
jne 0x140014350
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.140002da0
mov r14, r12
nop dword [rax]
inc r14
cmp word [rsi + r14*2], r15w
jne 0x140014370
test r14, r14
je 0x140014468
movzx eax, word [rsi + r14*2]
cmp ax, 0x2f
je 0x140014394
cmp ax, 0x5c
jne 0x14001440a
test rsi, rsi
jne 0x14001439e
mov r8d, r15d
jmp 0x1400143ab
mov r8, r12
inc r8
cmp word [rsi + r8*2], r15w
jne 0x1400143a1
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.140002da0
test r14d, r14d
js 0x140014650
mov rbx, qword [rbp - 0x30]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x1400143e6
mov edx, r14d
lea rcx, [rbp - 0x30]
call fcn.140002b00
mov rbx, qword [rbp - 0x30]
cmp r14d, dword [rbx - 0xc]
jg 0x140014650
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
mov word [rbx + rax*2], r15w
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
sub r14, 1
jne 0x140014383
jmp 0x140014468
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test rsi, rsi
je 0x14001443b
mov r15, r12
nop dword [rax]
inc r15
cmp word [rsi + r15*2], 0
jne 0x140014430
mov r8d, r15d
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.140002da0
lea r9, [0x14006ed20]
mov r8, rsi
lea rdx, str._s_s
lea rcx, [rbp - 0x10]
call fcn.140002f70
mov rbx, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x14001458b
cmp eax, 0xffffffff
je 0x14001458b
cmp dword [rdi - 0x10], 0
jl 0x1400144af
lea rdx, str.prosuper.ini
mov rcx, rdi
call fcn.1400407c8
test rax, rax
je 0x1400144af
sub rax, rdi
sar rax, 1
cmp eax, r12d
jne 0x14001458b
cmp dword [rbx - 0x10], 0
je 0x14001458b
lea r9, [0x14006ed20]
mov r8, rdi
lea rdx, str._s_s
lea rcx, [rbp - 0x20]
call fcn.140002f70
lea r9, str.prolasso.ini2
mov r8, rbx
lea rdx, str._s_s
lea rcx, [rbp - 0x28]
call fcn.140002f70
mov r14, qword [rbp - 0x28]
mov rdx, r14
mov r15, qword [rbp - 0x20]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_MoveFileW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x140014548
mov rdx, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_MoveFileW]
cmp byte [0x140085aca], 0
jne 0x14001458b
mov byte [0x140085aca], 1
mov r9d, 0x1010
lea r8, [0x14006d5e8]
lea rdx, str.ERROR:_There_was_an_error_cleaning_up_the_global_path_of_Process_Lassos_configuration_file.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x14001458b
lea r9, str.prolasso.ini2
mov r8, rbx
lea rdx, str._s_s
lea rcx, [rbp - 0x20]
call fcn.140002f70
lea r9, [0x14006ed20]
mov r8, rbx
lea rdx, str._s_s
lea rcx, [rbp - 0x28]
call fcn.140002f70
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
nop
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400145a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400145c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400145e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014603
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x140014620
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14003f1d0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400018b0
nop
mov ecx, 0x80070057
call fcn.1400018b0
nop
mov ecx, 0x80004005
call fcn.1400018b0
nop
mov ecx, 0x80004005
call fcn.1400018b0
nop
mov ecx, 0x80004005
call fcn.1400018b0
nop
mov ecx, 0x80004005
call fcn.1400018b0
int3