Function at 0x140159180
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 [0x1402a6808]
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.0x140159205
movsxd rcx, ebx
lea rax, [0x140000000]
mov r8d, dword [rax + rcx*4 + 0x159b30]
add r8, rax
jmp r8
test r14, r14
je case.default.0x140159205
mov rdx, r14
lea rcx, [rdi + 0x90]
call fcn.140125ec0
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.0x140159205
test r12, r12
je case.default.0x140159205
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.0x140159205
mov rcx, qword [rbx]
add rcx, 0x58
mov rdx, r12
call fcn.140154510
test al, al
jne 0x140159294
inc rsi
add rbx, 8
cmp rsi, r15
jb 0x140159270
jmp case.default.0x140159205
mov rcx, qword [rdi + 0x128]
mov rcx, qword [rcx + rsi*8]
call fcn.14015b600
mov rax, qword [rdi + 0x128]
lea rcx, [rax + rsi*8]
lea rdx, [rcx + 8]
mov r8, qword [rdi + 0x130]
sub r8, rdx
call fcn.14019dbf0
add qword [rdi + 0x130], 0xfffffffffffffff8
mov rdx, r14
lea rcx, [rdi + 0x90]
call fcn.140126270
jmp case.default.0x140159205
test r14, r14
je case.default.0x140159205
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140157890
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 0x1401593c1
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call fcn.14019e060
mov rdx, r14
mov rcx, rdi
call fcn.140157c00
lea r8, [rsp + 0x60]
lea rcx, [rbp - 0x60]
cmp eax, 3
lea rdx, str.explorer__select___s_
je 0x140159351
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 [0x1401e3030]
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 0x140159390
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.140006d60
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140108ba0
nop
lea rcx, [rsp + 0x40]
call fcn.1400068c0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140159ab1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159afa
jmp 0x140159aac
test r14, r14
je case.default.0x140159205
mov rdx, r14
mov rcx, rdi
call fcn.140157c00
cmp eax, 3
jne 0x14015943f
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.140157890
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 0x1401595bd
call fcn.14000c980
lea rdx, [rax + 0x3b8]
cmp qword [rdx + 0x18], 8
jb 0x140159487
mov rdx, qword [rdx]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1401e3030]
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 0x1401594b0
lea rcx, [rbp - 0x80]
call fcn.140006d60
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 0x140159500
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x58], 7
jmp 0x140159543
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.140006990
mov qword [rsp + 0x40], rax
lea r8, [r14*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.14019dbf0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], r14
cmp r15, 8
jb 0x140159583
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14015957b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b18
mov rcx, rdi
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
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.140108bb0
nop
lea rcx, [rsp + 0x40]
call fcn.1400068c0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140159ab1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b00
jmp 0x140159aac
test r14, r14
je case.default.0x140159205
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140157890
nop
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002ae90
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140159672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015966d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b1e
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rsp + 0x50], xmm0
xor esi, esi
mov word [rsp + 0x40], si
jmp case.default.0x140159205
test r14, r14
je case.default.0x140159205
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1401576f0
nop
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002ae90
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140159672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015966d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b06
jmp 0x14015966d
test r14, r14
je case.default.0x140159205
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140157890
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 0x140159672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015966d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b0c
jmp 0x14015966d
mov rcx, rdi
call fcn.140159010
jmp case.default.0x140159205
mov rsi, qword [rdi + 0x130]
sub rsi, qword [rdi + 0x128]
sar rsi, 3
sub esi, 1
js case.default.0x140159205
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.140157c60
test rax, rax
je 0x140159812
lea rcx, [rdi + 0x90]
mov rdx, rax
call fcn.140126270
mov rcx, qword [rdi + 0x128]
add rcx, r15
lea rdx, [rcx + 8]
mov r8, qword [rdi + 0x130]
sub r8, rdx
call fcn.14019dbf0
add qword [rdi + 0x130], 0xfffffffffffffff8
sub r15, 8
sub r14, 8
sub esi, 1
jns 0x1401597b5
jmp case.default.0x140159205
call fcn.14000c980
lea rcx, [0x1401e3f28]
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 + 0x33368]
call fcn.140079ed0
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 [0x1401e3030]
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 0x1401598c0
lea rcx, [rsp + 0x40]
call fcn.140006d60
nop
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x80]
call fcn.140028e30
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140159932
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015992d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b24
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], si
cmp qword [rbp - 0x70], 0
je 0x140159971
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.140002f40
nop
mov rdx, rax
mov rcx, rdi
call fcn.1401557c0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1401599b1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401599ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b2a
call fcn.14017f5e4
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], si
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140159ab1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159b12
jmp 0x140159aac
test r14, r14
je case.default.0x140159205
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140157890
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 0x140159a73
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 0x140159ab1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159af4
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
mov word [rsp + 0x60], si
movdqu xmmword [rsp + 0x70], xmm0
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.14017f700
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.1401a10ac
int3
call fcn.1401a10ac
int3
call fcn.1401a10ac
int3
call fcn.1401a10ac
int3
call fcn.1401a10ac
int3
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
int3