Function at 0x1401574a0
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 [0x1402a98a8]
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 0x1401574fe
mov rcx, qword [rdx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140157d3f
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140157519
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x140157d3f
mov r8, qword [rdi + 0x10]
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x140157538
mov rax, qword [rdi]
cmp word [rax + r8*2 - 2], 0x5c
jne 0x1401575f1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401e5030]
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 0x140157577
mov rdx, qword [rdi]
lea rcx, [rbp - 0x50]
call fcn.140006d70
mov dword [rsp + 0x40], 1
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.140011760
mov eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x40], eax
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x1401575e0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401575db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d77
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
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 0x140157692
nop word [rax + rax]
mov r14, qword [rsi]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140157620
mov rcx, qword [rdi]
lea r8, [r14 + 0x58]
cmp qword [r14 + 0x70], 8
jb 0x14015762f
mov r8, qword [r14 + 0x58]
mov rdx, qword [r14 + 0x68]
cmp rdx, qword [rdi + 0x10]
jne 0x14015765f
test rdx, rdx
je 0x140157d3f
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14015765f
add rcx, 2
sub rdx, 1
je 0x140157d3f
jmp 0x140157645
mov rdx, rdi
lea rcx, [r14 + 0x58]
call fcn.14015a500
test al, al
jne 0x140157768
lea rdx, [r14 + 0x58]
mov rcx, rdi
call fcn.14015a500
test al, al
jne 0x140157714
add rsi, 8
cmp rsi, r15
jne 0x140157610
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 [0x1401e5030]
movdqu xmmword [rbp - 0x40], xmm1
mov word [rbp - 0x50], bx
mov r8d, 3
lea rdx, [0x1401e62d0]
lea rcx, [rbp - 0x50]
call fcn.140006d70
nop
mov rdx, qword [rsp + 0x58]
cmp qword [rsp + 0x60], rdx
je 0x140157975
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 [0x1401e5030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
add qword [rsp + 0x58], 0x20
jmp 0x140157984
mov rbx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140157721
mov rbx, qword [rdi]
call fcn.14000c990
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 + 0x33390]
call fcn.14007c160
jmp 0x140157d3f
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 0x140157785
mov rsi, qword [rsi]
cmp r14, 8
jae 0x14015779c
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x38], 7
jmp 0x1401577dc
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.1400069a0
mov qword [rbp - 0x50], rax
lea r8, [r14*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14019f8d0
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.1400147d0
nop
mov r8d, 0x5c
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.14015d0f0
nop
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.14004d500
nop
mov r9, rax
xor r8d, r8d
lea rdx, [rbp - 0x50]
mov rcx, r12
call fcn.140158560
test rax, rax
je 0x14015785c
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 0x1401578cd
mov rsi, qword [rsp + 0x70]
cmp rbx, rsi
je 0x140157886
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rsi
jne 0x140157870
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401578b7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d7d
mov rcx, rbx
call fcn.1401812c4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14015790d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140157908
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d83
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r15w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14015795f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015795a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d89
call fcn.1401812c4
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r15w
jmp 0x140157d3f
lea r8, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.140001d70
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x1401579c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401579bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d8f
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1401579e2
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov r8, rax
mov edx, 0x104
lea rcx, [rbp + 0x70]
call fcn.1401a83c0
lea rcx, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
cmp word [rbp + rax*2 + 0x6e], 0x5c
jne 0x140157a26
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x140157d95
mov word [rbp + rax + 0x70], bx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401e5030]
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 0x140157a50
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.140006d70
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 0x140157abb
movups xmm0, xmmword [r12]
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x20], 7
jmp 0x140157afd
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.1400069a0
mov qword [rbp + 8], rax
lea r8, [r15*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.14019f8d0
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 0x140157b54
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140157b4c
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d9b
mov rcx, rsi
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140157b72
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.140158720
lea r8, [rbp - 0x30]
xor edx, edx
mov rcx, rsi
call fcn.140157f00
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.140181288
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140157c2c
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140156990
nop
lea rcx, [rbx + 0x18]
lea rdx, [rbp - 0x18]
call fcn.1401568e0
nop
mov rax, qword [rbp]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 8]
call fcn.140002f50
nop
lea rcx, [rbx + 0x58]
lea rdx, [rbp + 0x28]
call fcn.140002f50
nop
mov qword [rbx + 0x78], rsi
xor r15d, r15d
mov qword [rbx + 0x80], r15
mov qword [rbx + 0x88], r15
jmp 0x140157c32
xor r15d, r15d
mov ebx, r15d
mov qword [rsp + 0x48], rbx
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x140157c4b
mov qword [rdx], rbx
add qword [r13 + 8], 8
jmp 0x140157c58
lea r8, [rsp + 0x48]
mov rcx, r13
call fcn.14001c1e0
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, [0x14015d320]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x80], rax
lea rcx, [rbp + 0x28]
call fcn.1400068d0
nop
lea rcx, [rbp + 8]
call fcn.1400068d0
nop
lea rcx, [rbp - 0x18]
call fcn.1400a3690
nop
lea rcx, [rbp - 0x30]
call fcn.140156f90
nop
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x140157d3f
mov rsi, qword [rsp + 0x58]
cmp rbx, rsi
je 0x140157cfc
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rsi
jne 0x140157ce6
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140157d29
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140157d71
mov rcx, rbx
call fcn.1401812c4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov rcx, rdi
call fcn.1400068d0
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1401813e0
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.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3
call fcn.140181b34
nop
call fcn.1401a2d8c
int3