Function at 0x6d3516d0
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, [0x6d4bd950]
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.6d365970
cmp qword [rsp + 0x48], 0
jne 0x6d35174b
xor edx, edx
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__getcwd]
mov r12, rax
test rax, rax
je 0x6d35174b
mov rcx, r13
xor r8d, r8d
mov rdx, rax
call fcn.6d365970
mov rcx, r12
call sub.msvcrt.dll_free
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x6d35177d
mov r9d, 0x1d2
lea r8, str.src_.._.._distrho_extra_FileBrowserDialogImpl.cpp
xor r12d, r12d
lea rdx, str.startDir.isNotEmpty__
lea rcx, [0x6d4e5151]
call fcn.6d348960
jmp 0x6d351a9d
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + rdx - 1], 0x5c
je 0x6d3517d0
add rdx, 2
call sub.msvcrt.dll_realloc
test rax, rax
jne 0x6d3517b9
mov r9d, 0x342
lea r8, str.src_.._.._distrho_extra_String.hpp
lea rdx, str.newBuf___nullptr
lea rcx, [0x6d4e5151]
call fcn.6d348960
jmp 0x6d3517d0
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.6d365970
cmp qword [rsp + 0x60], 0
jne 0x6d351811
xor r8d, r8d
lea rdx, str.FileBrowser
mov rcx, r14
call fcn.6d365970
mov ecx, 0x100
call fcn.6d375000
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.6d375000
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 0x6d351881
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 0x6d351946
mov dword [r12 + 0x68], 0x81808
jmp 0x6d35194f
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.6d3713a0
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 0x6d3519c4
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.6d3713a0
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 0x6d351a22
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, [0x6d34e480]
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.6d365b70
jmp 0x6d351a9d
mov rcx, r13
call fcn.6d365b70
mov rax, r12
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret