Function at 0x1400283d0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x140077040]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, r8
xor r14d, r14d
mov dword [rsp + 0x28], r14d
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14002869b
call fcn.140002ed0
mov rcx, rax
test rax, rax
je 0x1400286d1
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
call fcn.140002ed0
mov rcx, rax
test rax, rax
je 0x1400286dc
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rsi, [r14 - 1]
test rdi, rdi
jne 0x14002845c
mov r8d, r14d
jmp 0x14002846b
mov r8, rsi
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x140028460
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140002210
mov rbx, qword [rsp + 0x30]
movsxd rbp, dword [rbx - 0x10]
test ebp, ebp
js 0x1400286c6
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ebp
or eax, ecx
jge 0x1400284ab
mov edx, ebp
lea rcx, [rsp + 0x30]
call fcn.140002b40
mov rbx, qword [rsp + 0x30]
lea eax, [rbp + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140041228
cmp ebp, dword [rbx - 0xc]
jg 0x1400286c6
mov dword [rbx - 0x10], ebp
mov word [rbx + rbp*2], r14w
cmp dword [rbx - 0x10], 0
jl 0x14002862a
lea rdx, str.prolasso.ini
mov rcx, rbx
call fcn.14003b83c
test rax, rax
je 0x14002862a
sub rax, rbx
sar rax, 1
cmp eax, esi
je 0x14002862a
mov qword [rsp + 0x20], r14
call fcn.140002ed0
mov rcx, rax
test rax, rax
je 0x1400286bb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
test rdi, rdi
je 0x14002854d
cmp rdi, 0x10000
jae 0x14002853c
movzx edx, di
lea rcx, [rsp + 0x20]
call fcn.140001fa0
jmp 0x14002855e
mov r8, rsi
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x140028540
jmp 0x140028550
mov r8d, r14d
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140002210
nop
mov dword [rsp + 0x28], 1
mov rdx, rsi
nop dword [rax]
inc rdx
cmp word [rdi + rdx*2], 0
jne 0x140028570
test rdx, rdx
je 0x1400285b2
nop
movzx eax, word [rdi + rdx*2]
cmp ax, 0x5c
je 0x140028598
cmp ax, 0x2f
je 0x140028598
sub rdx, 1
jne 0x140028580
jmp 0x1400285b2
test edx, edx
jle 0x1400285b2
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax - 0x10]
sub r8d, edx
lea rcx, [rsp + 0x20]
call fcn.14000f940
mov rdx, qword [rsp + 0x20]
lea rdi, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rdi, rbx
je 0x140028610
cmp dword [rbx + 0x10], 0
jl 0x140028601
mov rax, qword [rbx]
cmp qword [rdi], rax
jne 0x140028601
mov rcx, rdi
call fcn.140002120
mov rbp, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400285f6
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rVariantCopy + 8]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x140028610
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140002210
nop
mov eax, esi
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x14002864f
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + VariantCopy]
jmp 0x14002864f
test rdi, rdi
je 0x14002863f
mov rax, rsi
inc rax
cmp word [rdi + rax*2], 0
jne 0x140028632
mov r14d, eax
mov r8d, r14d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140002210
xor r8d, r8d
mov rdx, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002867f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14002869b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400398f0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
mov ecx, 0x80004005
call fcn.140002c40
nop
mov ecx, 0x80070057
call fcn.140002c40
nop
mov ecx, 0x80004005
call fcn.140002c40
nop
mov ecx, 0x80004005
call fcn.140002c40
int3