Function at 0x1401557c0
Capabilities:
Check if file exists
Create thread

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x3e0], rbx
mov rax, qword [0x1402a6808]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x58], rdx
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov rcx, rdx
cmp qword [rdx + 0x18], 8
jb 0x14015581e
mov rcx, qword [rdx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14015605f
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155839
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x14015605f
mov r8, qword [rdi + 0x10]
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155858
mov rax, qword [rdi]
cmp word [rax + r8*2 - 2], 0x5c
jne 0x140155911
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm1
mov word [rbp - 0x50], bx
dec r8
cmp qword [rdi + 0x10], r8
cmovb r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155897
mov rdx, qword [rdi]
lea rcx, [rbp - 0x50]
call fcn.140006d60
mov dword [rsp + 0x40], 1
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.140011750
mov eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x40], eax
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140155900
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401558fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140156097
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
lea r13, [r12 + 0x128]
mov rsi, qword [r13]
mov r15, qword [r13 + 8]
cmp rsi, r15
je 0x1401559b2
nop word [rax + rax]
mov r14, qword [rsi]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155940
mov rcx, qword [rdi]
lea r8, [r14 + 0x58]
cmp qword [r14 + 0x70], 8
jb 0x14015594f
mov r8, qword [r14 + 0x58]
mov rdx, qword [r14 + 0x68]
cmp rdx, qword [rdi + 0x10]
jne 0x14015597f
test rdx, rdx
je 0x14015605f
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14015597f
add rcx, 2
sub rdx, 1
je 0x14015605f
jmp 0x140155965
mov rdx, rdi
lea rcx, [r14 + 0x58]
call fcn.140158820
test al, al
jne 0x140155a88
lea rdx, [r14 + 0x58]
mov rcx, rdi
call fcn.140158820
test al, al
jne 0x140155a34
add rsi, 8
cmp rsi, r15
jne 0x140155930
xor ebx, ebx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm1
mov word [rbp - 0x50], bx
mov r8d, 3
lea rdx, [0x1401e42d0]
lea rcx, [rbp - 0x50]
call fcn.140006d60
nop
mov rdx, qword [rsp + 0x58]
cmp qword [rsp + 0x60], rdx
je 0x140155c95
mov qword [rdx + 0x10], rbx
mov qword [rdx + 0x18], rbx
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rdx + 0x10], xmm1
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
add qword [rsp + 0x58], 0x20
jmp 0x140155ca4
mov rbx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155a41
mov rbx, qword [rdi]
call fcn.14000c980
mov qword [rsp + 0x38], rbx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
lea rcx, str.Folder_as_Workspace_adding_folder_problem
mov qword [rsp + 0x20], rcx
lea r9, str.A_sub_folder_of_the_folder_you_want_to_add_exists._rPlease_remove_its_root_from_the_panel_before_you_add_folder___STR_REPLACE__.
mov r8, qword [r12 + 0x10]
lea rdx, str.FolderAsWorspaceSubfolderExists
mov rcx, qword [rax + 0x33368]
call fcn.14007aff0
jmp 0x14015605f
xor r15d, r15d
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r15
lea rsi, [r14 + 0x58]
mov r14, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
jb 0x140155aa5
mov rsi, qword [rsi]
cmp r14, 8
jae 0x140155abc
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x38], 7
jmp 0x140155afc
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x50]
call fcn.140006990
mov qword [rbp - 0x50], rax
lea r8, [r14*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14019dbf0
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], r14
mov r9, qword [rdi + 0x10]
mov r8, qword [rbp - 0x40]
sub r9, r8
inc r8
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400147c0
nop
mov r8d, 0x5c
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.14015b410
nop
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.1400663c0
nop
mov r9, rax
xor r8d, r8d
lea rdx, [rbp - 0x50]
mov rcx, r12
call fcn.140156880
test rax, rax
je 0x140155b7c
mov r9, rax
mov edx, 0x110b
mov r8d, 9
mov rcx, qword [r12 + 0xa8]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140155bed
mov rsi, qword [rsp + 0x70]
cmp rbx, rsi
je 0x140155ba6
mov rcx, rbx
call fcn.1400068c0
add rbx, 0x20
cmp rbx, rsi
jne 0x140155b90
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140155bd7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015609d
mov rcx, rbx
call fcn.14017f5e4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x140155c2d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155c28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401560a3
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r15w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140155c7f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155c7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401560a9
call fcn.14017f5e4
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r15w
jmp 0x14015605f
lea r8, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.140001d60
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140155ce4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155cdf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401560af
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155d02
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov r8, rax
mov edx, 0x104
lea rcx, [rbp + 0x70]
call fcn.1401a66e0
lea rcx, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
cmp word [rbp + rax*2 + 0x6e], 0x5c
jne 0x140155d46
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x1401560b5
mov word [rbp + rax + 0x70], bx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm1
mov word [rbp - 0x50], bx
lea rax, [rbp + 0x70]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140155d70
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.140006d60
nop
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], rbx
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
lea r12, [rbp - 0x50]
mov rsi, qword [rbp - 0x50]
mov r14, qword [rbp - 0x38]
cmp r14, 8
cmovae r12, rsi
mov r15, qword [rbp - 0x40]
cmp r15, 8
jae 0x140155ddb
movups xmm0, xmmword [r12]
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x20], 7
jmp 0x140155e1d
mov rbx, r15
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 8]
call fcn.140006990
mov qword [rbp + 8], rax
lea r8, [r15*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.14019dbf0
mov qword [rbp + 0x20], rbx
xor ebx, ebx
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], bx
cmp r14, 8
jb 0x140155e74
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140155e6c
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401560bb
mov rcx, rsi
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140155e92
mov rdx, qword [rdi]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x30]
lea r8, [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140156a40
lea r8, [rbp - 0x30]
xor edx, edx
mov rcx, rsi
call fcn.140156220
mov r9, rax
mov edx, 0x1102
mov r8d, 2
mov rcx, qword [rsi + 0xa8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ecx, 0x90
call fcn.14017f5a8
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140155f4c
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140154cb0
nop
lea rcx, [rbx + 0x18]
lea rdx, [rbp - 0x18]
call fcn.140154c00
nop
mov rax, qword [rbp]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 8]
call fcn.140002f40
nop
lea rcx, [rbx + 0x58]
lea rdx, [rbp + 0x28]
call fcn.140002f40
nop
mov qword [rbx + 0x78], rsi
xor r15d, r15d
mov qword [rbx + 0x80], r15
mov qword [rbx + 0x88], r15
jmp 0x140155f52
xor r15d, r15d
mov ebx, r15d
mov qword [rsp + 0x48], rbx
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x140155f6b
mov qword [rdx], rbx
add qword [r13 + 8], 8
jmp 0x140155f78
lea r8, [rsp + 0x48]
mov rcx, r13
call fcn.14001c1a0
mov rbx, qword [r13 + 8]
mov rax, qword [r13]
sub rbx, rax
sar rbx, 3
mov rbx, qword [rax + rbx*8 - 8]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x88], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [0x14015b640]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x80], rax
lea rcx, [rbp + 0x28]
call fcn.1400068c0
nop
lea rcx, [rbp + 8]
call fcn.1400068c0
nop
lea rcx, [rbp - 0x18]
call fcn.1400a22a0
nop
lea rcx, [rbp - 0x30]
call fcn.1401552b0
nop
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14015605f
mov rsi, qword [rsp + 0x58]
cmp rbx, rsi
je 0x14015601c
mov rcx, rbx
call fcn.1400068c0
add rbx, 0x20
cmp rbx, rsi
jne 0x140156006
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140156049
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140156091
mov rcx, rbx
call fcn.14017f5e4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov rcx, rdi
call fcn.1400068c0
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.14017f700
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x390
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
int3
call fcn.14017fe54
nop
call fcn.1401a10ac
int3