Function at 0x6f8a0e60
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
xor r8d, r8d
lea rbp, [0x6fa1ad30]
lea r13, [rsp + 0x40]
mov esi, ecx
mov qword [rsp + 0x40], rbp
mov rbx, r9
mov qword [rsp + 0xc8], rdx
mov rdx, qword [r9 + 0x10]
mov rcx, r13
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], 0
call fcn.6f8b6660
cmp qword [rsp + 0x48], 0
jne 0x6f8a0edb
xor edx, edx
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__getcwd]
mov r12, rax
test rax, rax
je 0x6f8a0edb
mov rcx, r13
xor r8d, r8d
mov rdx, rax
call fcn.6f8b6660
mov rcx, r12
call sub.msvcrt.dll_free
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x6f8a0f0d
mov r9d, 0x1ce
lea r8, str.src_.._.._distrho_extra_FileBrowserDialogImpl.cpp
xor r12d, r12d
lea rdx, str.startDir.isNotEmpty__
lea rcx, [0x6fa27ab1]
call fcn.6f899310
jmp 0x6f8a122d
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + rdx - 1], 0x5c
je 0x6f8a0f60
add rdx, 2
call sub.msvcrt.dll_realloc
test rax, rax
jne 0x6f8a0f49
mov r9d, 0x342
lea r8, str.src_.._.._distrho_extra_String.hpp
lea rdx, str.newBuf___nullptr
lea rcx, [0x6fa27ab1]
call fcn.6f899310
jmp 0x6f8a0f60
mov rdx, qword [rsp + 0x48]
add rdx, rax
mov word [rdx], 0x5c
inc qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov rdx, qword [rbx + 0x18]
lea r14, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x58], rbp
mov rcx, r14
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
call fcn.6f8b6660
cmp qword [rsp + 0x60], 0
jne 0x6f8a0fa1
xor r8d, r8d
lea rdx, str.FileBrowser
mov rcx, r14
call fcn.6f8b6660
mov ecx, 0x100
call fcn.6f8c65c0
mov qword [rax], 0
mov ecx, 0x10000
mov bpl, byte [rbx]
mov r12, rax
mov byte [rax + 0xa0], 0
mov qword [rax + 0xa8], 0
mov qword [rax + 0xb0], 0
mov qword [rax + 0xb8], 0
mov qword [rax + 0xc0], 0
call fcn.6f8c65c0
lea rcx, [rax + 0x10000]
mov qword [r12 + 0xb0], rax
mov rdx, rax
xor eax, eax
mov qword [r12 + 0xc0], rcx
mov word [rdx + rax], 0
add rax, 2
cmp rax, 0x10000
jne 0x6f8a1011
lea r8, [r12 + 8]
xor eax, eax
mov qword [r12 + 0xb8], rcx
mov ecx, 0x25
mov rdi, r8
cmp dword [rbx + 0x2c], 2
mov byte [r12 + 0xf8], bpl
mov qword [r12 + 0xc8], 0
mov rbp, qword [rsp + 0x58]
mov qword [r12 + 0xd0], 0
mov r15, qword [rsp + 0x40]
mov qword [r12 + 0xd8], 0
mov qword [r12 + 0xe0], 0
mov qword [r12 + 0xe8], 0
mov qword [r12 + 0xf0], 0
rep stosd dword [rdi], eax
mov byte [r12 + 0xf9], sil
mov rsi, qword [rsp + 0xc8]
mov dword [r12 + 8], 0x98
mov eax, dword [rbx + 0x30]
mov qword [r12 + 0x38], rdx
mov dword [r12 + 0x40], 0x8000
mov qword [r12 + 0x10], rsi
je 0x6f8a10d6
mov dword [r12 + 0x68], 0x81808
jmp 0x6f8a10df
mov dword [r12 + 0x68], 0x10081808
test eax, eax
mov rdi, r15
sete al
or rcx, 0xffffffffffffffff
movzx eax, al
mov dword [r12 + 0x9c], eax
xor eax, eax
repne scasb al, byte [rdi]
mov rdx, rcx
lea rcx, [r12 + 0xc8]
not rdx
call fcn.6f8c2970
mov rdx, qword [r12 + 0xc8]
or r9d, 0xffffffff
mov r8, r15
mov ecx, 0xfde9
mov rax, qword [r12 + 0xd0]
mov rbx, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rsp + 0x20], rdx
sub rax, rdx
xor edx, edx
sar rax, 1
mov dword [rsp + 0x28], eax
call rbx
test eax, eax
je 0x6f8a1154
mov rax, qword [r12 + 0xc8]
mov qword [r12 + 0x58], rax
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasb al, byte [rdi]
mov rdx, rcx
lea rcx, [r12 + 0xe0]
not rdx
call fcn.6f8c2970
mov rdx, qword [r12 + 0xe0]
or r9d, 0xffffffff
mov r8, rbp
mov ecx, 0xfde9
mov rax, qword [r12 + 0xe8]
mov qword [rsp + 0x20], rdx
sub rax, rdx
xor edx, edx
sar rax, 1
mov dword [rsp + 0x28], eax
call rbx
test eax, eax
je 0x6f8a11b2
mov rax, qword [r12 + 0xe0]
mov qword [r12 + 0x60], rax
lea rax, [rsp + 0x3c]
mov r9, r12
xor edx, edx
xor ecx, ecx
mov byte [r12 + 0xa0], 0
lea r8, [0x6f89e2d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call qword [sym.imp.msvcrt.dll__beginthreadex]
mov qword [r12 + 0xa8], rax
mov rcx, r14
call fcn.6f8b6850
jmp 0x6f8a122d
mov rcx, r13
call fcn.6f8b6850
mov rax, r12
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret