Function at 0x5056c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x100
mov ebx, ecx
mov rbp, rdx
call fcn.0040be30
mov edx, 1
lea rcx, [0x0045a6e0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
movzx eax, byte [0x005073c0]
test al, al
je 0x505b7c
cmp qword [0x0050a0f8], 0
je 0x505a1e
cmp ebx, 2
jne 0x505727
mov rcx, qword [rbp + 8]
lea rdx, str.selftest
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x505cd5
mov ecx, 0xffffffff
xor edi, edi
call qword [sym.imp.KERNEL32.dll_AttachConsole]
test eax, eax
jne 0x505bcd
lea r8, [rsp + 0x2c]
mov edx, 1
lea rcx, str.3_Band_Splitter
mov dword [rsp + 0x2c], 0
call fcn.00419950
mov r12, rax
test rax, rax
je 0x505854
mov rcx, rax
xor r13d, r13d
call fcn.0041ab30
mov rcx, r12
mov dword [0x005090a0], eax
call fcn.0041acb0
pxor xmm0, xmm0
mov byte [0x00509110], 1
mov r9d, eax
cvtsi2sd xmm0, r9
movsd qword [0x005090c0], xmm0
cmp ebx, 3
je 0x505dbe
lea r14, [rsp + 0x60]
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.00450ee0
test dil, dil
je 0x505838
mov rbp, qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call rbp
mov rbx, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rbx, rax
je 0x5057e2
call rbp
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
test rax, rax
je 0x505838
lea rdi, [rsp + 0x30]
mov rsi, qword [sym.imp.USER32.dll_SendInput]
mov dword [rsp + 0x30], 1
mov r8d, 0x28
mov dword [rsp + 0x40], 0
mov rdx, rdi
mov ecx, 1
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x38], 0xd
call rsi
mov dword [rsp + 0x3c], 2
mov r8d, 0x28
mov rdx, rdi
mov ecx, 1
call rsi
mov rcx, r14
call fcn.00452750
xor eax, eax
add rsp, 0x100
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov eax, dword [rsp + 0x2c]
mov byte [rsp + 0x40], 0
lea r12, [rsp + 0x30]
lea r14, [0x0050a4a0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0
test al, 1
jne 0x505e60
test al, 2
jne 0x505e48
test al, 4
jne 0x505e30
test al, 8
jne 0x505e18
test al, 0x10
jne 0x505e00
test al, 0x20
jne 0x505de8
test al, 0x40
jne 0x505f5c
test al, 0x80
jne 0x505f44
test ah, 1
jne 0x505f2c
test ah, 2
jne 0x505f14
test ah, 4
jne 0x505efc
test ah, 8
jne 0x505ee4
test ah, 0x10
jne 0x505ecc
test eax, 0x10000
jne 0x505eb8
mov r10, qword [rsp + 0x38]
test r10, r10
je 0x505ea7
add r10, 0xfffffffffffffffe
jb 0x506005
mov r9d, 0x317
lea r8, str..._.._dpf_distrho_src_.._extra_String.hpp
lea rdx, str.pos___fBufferLen
lea rcx, [0x0050b350]
call fcn.0041db50
mov byte [0x0050a4b0], 0
lea r10, [0x0050a4b0]
mov byte [r10], 0x2e
mov rdx, qword [rsp + 0x30]
lea rcx, str.Failed_to_create_the_JACK_client__reason_was:_n_s
call fcn.0041d730
lea rcx, [0x0050de7b]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r13, rax
test rax, rax
je 0x50597f
lea rdx, [0x0050de86]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x505976
call rax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x505e78
lea rcx, [rbp + 0x2b]
call sub.msvcrt.dll_malloc
mov rbx, rax
test rax, rax
je 0x505f8b
mov rdi, rax
lea rsi, str.Failed_to_create_JACK_client__reason_was:_n
mov ecx, 0x2a
mov rdx, qword [rsp + 0x30]
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 1]
lea r13, [rsp + 0x60]
mov rcx, rdi
mov rdi, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x60], rbx
or rcx, 0xffffffffffffffff
xor eax, eax
repne scasb al, byte [rdi]
mov byte [rsp + 0x70], 1
not rcx
sub rcx, 1
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x60]
mov r9d, 0x10
lea r8, [0x0050b2c0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rcx, r13
call fcn.00459b90
mov rcx, r12
call fcn.00459b90
mov eax, 1
jmp 0x505842
call fcn.00454990
lea r13, [rsp + 0x30]
xor r8d, r8d
lea rsi, [0x0050a4a0]
mov rdx, rax
mov rcx, r13
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 0
mov byte [rsp + 0x40], 0
call fcn.00459a70
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x505c7c
mov rcx, r12
mov rdi, qword [rsp + 0x30]
mov r10, r12
lea r8, [r12 - 1]
and ecx, 7
je 0x505d0f
cmp rcx, 1
je 0x505aea
cmp rcx, 2
je 0x505adb
cmp rcx, 3
je 0x505acc
cmp rcx, 4
je 0x505abd
cmp rcx, 5
je 0x505aae
cmp rcx, 6
jne 0x505f74
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
jne 0x505db0
cmp r12, r10
jbe 0x505b17
mov byte [r11], 0
mov qword [rsp + 0x38], r10
test r10, r10
je 0x505c7c
mov r12, r10
lea rcx, [r12 + 0xb]
call sub.msvcrt.dll_malloc
mov r14, rax
test rax, rax
je 0x505fc8
mov rdx, qword [rsp + 0x30]
mov r8, r12
mov rcx, rax
add r12, r14
lea rsi, str._resources
mov rdi, r12
call sub.msvcrt.dll_memcpy
mov ecx, 0xb
mov qword [rsp + 0x60], r14
xor eax, eax
rep movsb byte [rdi], byte [rsi]
mov rdi, r14
or rcx, 0xffffffffffffffff
lea r14, [rsp + 0x60]
repne scasb al, byte [rdi]
mov byte [rsp + 0x70], 1
not rcx
sub rcx, 1
mov qword [rsp + 0x68], rcx
jmp 0x505ca6
lea rcx, [0x005073c0]
call fcn.00504df0
test eax, eax
je 0x5056fc
lea rdx, [0x0050a4a0]
lea rcx, [0x005073c0]
mov qword [0x0050a0f8], 0
mov qword [0x0050a0f0], rdx
mov byte [0x0050a100], 0
call fcn.00504f00
lea rcx, [0x00505340]
call fcn.00401520
jmp 0x5056fc
mov r13, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff5
call r13
add rax, 1
je 0x505c22
mov r14, qword [fcn.00418ea0]
mov ecx, 1
call r14
lea rdx, [0x0050dba3]
lea rcx, str.CONOUT_
mov r8, rax
call sub.msvcrt.dll_freopen
mov ecx, 1
call r14
xor r9d, r9d
mov r8d, 4
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_setvbuf
mov ecx, 0xfffffff4
mov edi, 1
call r13
add rax, 1
je 0x50573c
mov rsi, qword [fcn.00418ea0]
mov ecx, 2
call rsi
lea rdx, [0x0050dba3]
lea rcx, str.CONOUT_
mov r8, rax
call sub.msvcrt.dll_freopen
mov ecx, 2
call rsi
xor r9d, r9d
mov r8d, 4
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_setvbuf
jmp 0x50573c
lea r14, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x60], rsi
lea rdx, str._resources
mov rcx, r14
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
call fcn.00459a70
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r12d, eax
mov rcx, r14
call fcn.00459b90
cmp r12d, 0xffffffff
je 0x505cc8
and r12b, 0x10
jne 0x505ceb
mov rcx, r13
call fcn.00459b90
jmp 0x50570a
lea rcx, str.Code_was_built_without_DPF_RUNTIME_TESTING_macro_enabled__selftest_option_is_not_available
call fcn.0041d880
mov eax, 1
jmp 0x505842
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
lea rcx, [0x0050a0f0]
call fcn.00459a70
mov r8, qword [0x0050a0f0]
mov qword [0x005090b0], r8
jmp 0x505cc8
lea r9, [r10 - 1]
cmp byte [rdi + r9], 0x5c
mov r10, r9
lea r11, [rdi + r9]
je 0x505afd
sub r10, 1
cmp byte [rdi + r10], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 2]
cmp byte [rdi + r9 - 2], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 3]
cmp byte [rdi + r9 - 3], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 4]
cmp byte [rdi + r9 - 4], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 5]
cmp byte [rdi + r9 - 5], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 6]
cmp byte [rdi + r9 - 6], 0x5c
lea r11, [rdi + r10]
je 0x505afd
lea r10, [r9 - 7]
cmp byte [rdi + r9 - 7], 0x5c
lea r11, [rdi + r10]
je 0x505afd
test r10, r10
jne 0x505d0f
jmp 0x505b17
mov rcx, qword [rbp + 8]
lea rdx, str.embed
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5057a3
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.msvcrt.dll__atoi64]
mov r13, rax
jmp 0x5057a3
lea rdx, str.Communication_error_with_the_JACK_server__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058a7
lea rdx, str.Unable_to_connect_to_the_JACK_server__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x50589f
lea rdx, str.The_JACK_server_was_started_as_a_result_of_this_operation__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x505897
lea rdx, str.The_desired_client_name_was_not_unique__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x50588f
lea rdx, str.The_operation_contained_an_invalid_or_unsupported_option__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x505887
lea rdx, str.Overall_operation_failed__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x50587f
lea r13, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x60], r14
lea rdx, str.Failed_to_create_JACK_client__reason_was:_n
mov rcx, r13
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
call fcn.00459a70
jmp 0x5059ea
lea rcx, str.Failed_to_create_the_JACK_client__cannot_continue_
call fcn.0041d730
jmp 0x50594a
lea rdx, str.Native_audio_driver_was_unable_to_start__n
mov rcx, r12
call fcn.00459bd0
jmp 0x5058ef
lea rdx, str.Client_is_being_shutdown_against_its_will__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058e4
lea rdx, str.Backend_Error__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058db
lea rdx, str.Clients_protocol_version_does_not_match__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058d2
lea rdx, str.Unable_to_access_shared_memory__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058c9
lea rdx, str.Unable_to_initialize_client__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058c0
lea rdx, str.Unable_to_load_internal_client__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058b7
lea rdx, str.Requested_client_does_not_exist__n
mov rcx, r12
call fcn.00459bd0
mov eax, dword [rsp + 0x2c]
jmp 0x5058af
cmp byte [rdi + r8], 0x5c
mov r10, r8
lea r11, [rdi + r8]
jne 0x505a9f
jmp 0x505afd
mov r9d, 0x3e6
lea r8, str..._.._dpf_distrho_src_.._extra_String.hpp
lea rdx, str.newBuf___nullptr
lea rcx, [0x0050b350]
lea r13, [rsp + 0x60]
call fcn.0041db50
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x70], 0
jmp 0x5059ea
mov r9d, 0x369
lea r8, str..._.._dpf_distrho_src_.._extra_String.hpp
lea rdx, str.newBuf___nullptr
lea rcx, [0x0050b350]
lea r14, [rsp + 0x60]
call fcn.0041db50
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x70], 0
jmp 0x505ca6
add r10, qword [rsp + 0x30]
jmp 0x505935