Function at 0x14015ae60
Capabilities:
Check if file exists
Create process on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x7d8]
sub rsp, 0x8b0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
mov ebx, edx
mov rdi, rcx
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
mov rcx, qword [rcx + 0xa8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r14, rax
add ebx, 0xfffff249
cmp ebx, 9
ja case.default.0x14015aee5
movsxd rcx, ebx
lea rax, [0x140000000]
mov r8d, dword [rax + rcx*4 + 0x15b810]
add r8, rax
jmp r8
test r14, r14
je case.default.0x14015aee5
mov rdx, r14
lea rcx, [rdi + 0x90]
call fcn.140127930
mov r12, rax
mov r9, r14
mov edx, 0x110a
mov r8d, 3
mov rcx, qword [rdi + 0xa8]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
jne case.default.0x14015aee5
test r12, r12
je case.default.0x14015aee5
mov rbx, qword [rdi + 0x128]
mov r15, qword [rdi + 0x130]
sub r15, rbx
sar r15, 3
xor esi, esi
test r15, r15
je case.default.0x14015aee5
mov rcx, qword [rbx]
add rcx, 0x58
mov rdx, r12
call fcn.1401561f0
test al, al
jne 0x14015af74
inc rsi
add rbx, 8
cmp rsi, r15
jb 0x14015af50
jmp case.default.0x14015aee5
mov rcx, qword [rdi + 0x128]
mov rcx, qword [rcx + rsi*8]
call fcn.14015d2e0
mov rax, qword [rdi + 0x128]
lea rcx, [rax + rsi*8]
lea rdx, [rcx + 8]
mov r8, qword [rdi + 0x130]
sub r8, rdx
call fcn.14019f8d0
add qword [rdi + 0x130], 0xfffffffffffffff8
mov rdx, r14
lea rcx, [rdi + 0x90]
call fcn.140127ce0
jmp case.default.0x14015aee5
test r14, r14
je case.default.0x14015aee5
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140159570
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor esi, esi
test eax, eax
je 0x14015b0a1
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call fcn.14019fd40
mov rdx, r14
mov rcx, rdi
call fcn.1401598e0
lea r8, [rsp + 0x60]
lea rcx, [rbp - 0x60]
cmp eax, 3
lea rdx, str.explorer__select___s_
je 0x14015b031
lea rdx, str.explorer___s_
cmp qword [rsp + 0x78], 8
cmovae r8, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_wsprintfW]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x40], si
lea rax, [rbp - 0x60]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], si
jne 0x14015b070
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.140006d70
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.14010a620
nop
lea rcx, [rsp + 0x40]
call fcn.1400068d0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14015b791
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b78c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7da
jmp 0x14015b78c
test r14, r14
je case.default.0x14015aee5
mov rdx, r14
mov rcx, rdi
call fcn.1401598e0
cmp eax, 3
jne 0x14015b11f
mov r9, r14
mov edx, 0x110a
mov r8d, eax
mov rcx, qword [rdi + 0xa8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r14, rax
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140159570
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor esi, esi
test eax, eax
je 0x14015b29d
call fcn.14000c990
lea rdx, [rax + 0x3b8]
cmp qword [rdx + 0x18], 8
jb 0x14015b167
mov rdx, qword [rdx]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x70], xmm1
mov word [rbp - 0x80], si
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], si
jne 0x14015b190
lea rcx, [rbp - 0x80]
call fcn.140006d70
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
lea r12, [rbp - 0x80]
mov rdi, qword [rbp - 0x80]
mov r15, qword [rbp - 0x68]
cmp r15, 8
cmovae r12, rdi
mov r14, qword [rbp - 0x70]
cmp r14, 8
jae 0x14015b1e0
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x58], 7
jmp 0x14015b223
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x40]
call fcn.1400069a0
mov qword [rsp + 0x40], rax
lea r8, [r14*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.14019f8d0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], r14
cmp r15, 8
jb 0x14015b263
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14015b25b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7f8
mov rcx, rdi
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], si
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r8, qword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.14010a630
nop
lea rcx, [rsp + 0x40]
call fcn.1400068d0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14015b791
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b78c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7e0
jmp 0x14015b78c
test r14, r14
je case.default.0x14015aee5
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140159570
nop
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002aef0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14015b352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b34d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7fe
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm0
xor esi, esi
mov word [rsp + 0x40], si
jmp case.default.0x14015aee5
test r14, r14
je case.default.0x14015aee5
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1401593d0
nop
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002aef0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14015b352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b34d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7e6
jmp 0x14015b34d
test r14, r14
je case.default.0x14015aee5
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140159570
nop
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r8, qword [rsp + 0x40]
xor r9d, r9d
mov edx, 0x805
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14015b352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b34d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7ec
jmp 0x14015b34d
mov rcx, rdi
call fcn.14015acf0
jmp case.default.0x14015aee5
mov rsi, qword [rdi + 0x130]
sub rsi, qword [rdi + 0x128]
sar rsi, 3
sub esi, 1
js case.default.0x14015aee5
movsxd rax, esi
lea r14, [rax*8]
mov r15, r14
mov rax, qword [rdi + 0x128]
mov rbx, qword [r14 + rax]
mov rcx, qword [rbx + 0x88]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx + 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rdi + 0x128]
mov rdx, qword [r14 + rax]
add rdx, 0x58
mov rcx, rdi
call fcn.140159940
test rax, rax
je 0x14015b4f2
lea rcx, [rdi + 0x90]
mov rdx, rax
call fcn.140127ce0
mov rcx, qword [rdi + 0x128]
add rcx, r15
lea rdx, [rcx + 8]
mov r8, qword [rdi + 0x130]
sub r8, rdx
call fcn.14019f8d0
add qword [rdi + 0x130], 0xfffffffffffffff8
sub r15, 8
sub r14, 8
sub esi, 1
jns 0x14015b495
jmp case.default.0x14015aee5
call fcn.14000c990
lea rcx, [0x1401e5f28]
mov qword [rsp + 0x28], rcx
lea rcx, str.SelectFolderFromBrowserString
mov qword [rsp + 0x20], rcx
lea r9, str.FolderAsWorkspace
lea r8, str.Select_a_folder_to_add_in_Folder_as_Workspace_panel
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x33390]
call fcn.14007b040
nop
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rdx, qword [rsp + 0x60]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm1
xor esi, esi
mov word [rsp + 0x40], si
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], si
jne 0x14015b5a0
lea rcx, [rsp + 0x40]
call fcn.140006d70
nop
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x80]
call fcn.140028e90
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14015b612
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b60d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b804
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], si
cmp qword [rbp - 0x70], 0
je 0x14015b651
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.140002f50
nop
mov rdx, rax
mov rcx, rdi
call fcn.1401574a0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x14015b691
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b68c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b80a
call fcn.1401812c4
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], si
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14015b791
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b78c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7f2
jmp 0x14015b78c
test r14, r14
je case.default.0x14015aee5
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140159570
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor esi, esi
test eax, eax
je 0x14015b753
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r8, qword [rsp + 0x60]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14015b791
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015b78c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015b7d4
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
mov word [rsp + 0x60], si
movdqu xmmword [rsp + 0x70], xmm0
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.1401813e0
lea r11, [rsp + 0x8b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3