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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov qword [rbp + 0x88], 0xfffffffffffffffe
mov r14, rcx
lea rax, [0x1802c5734]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.18001a440
nop
lea rcx, [rbp + 0xd0]
call fcn.18017fba0
nop
xor r12d, r12d
mov qword [rbp + 0x58], r12
mov dword [rbp + 0x60], r12d
mov dword [rbp + 0x68], r12d
mov qword [rbp + 0x70], r12
mov dword [rbp + 0x78], r12d
mov dword [rbp + 0x80], r12d
mov r9, rax
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x58]
call fcn.1800f2a60
nop
mov rdx, rax
mov rcx, r14
call fcn.1800f5910
nop
lea rcx, [rbp + 0xb8]
call fcn.180024d30
mov rcx, qword [rbp + 0xb8]
call fcn.1800a09c8
lea rcx, [rbp + 0xa0]
call fcn.180024d30
mov rcx, qword [rbp + 0xa0]
call fcn.1800a09c8
nop
lea rcx, [rbp + 0x70]
call fcn.180024d30
xor ecx, ecx
call fcn.1800a09c8
lea rcx, [rbp + 0x58]
call fcn.180024d30
xor ecx, ecx
call fcn.1800a09c8
nop
mov rcx, qword [rbp + 0xd0]
call fcn.1800a09c8
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
lea r13, [0x1802bccb0]
or esi, 0xffffffff
cmp rcx, r13
je 0x1801e5a10
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jne 0x1801e5a10
call fcn.1800a0c6c
lea rax, vtable.Sylenth1AudioProcessor.0
mov qword [r14], rax
lea rcx, [r14 + 0x108]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [r14 + 0x134]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov dword [r14 + 0x16c], pe_nt_image_headers64
mov qword [r14 + 0x178], r12
mov qword [r14 + 0x160], r12
mov dword [r14 + 0x168], r12d
mov dword [r14 + 0x174], r12d
lea rbx, [r14 + 0x198]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov qword [rbx + 0x130], r12
mov dword [rbx + 0x138], r12d
mov dword [rbx + 0x140], r12d
mov qword [rbx + 0x148], r12
mov dword [rbx + 0x150], r12d
mov dword [rbx + 0x158], r12d
lea rcx, [rbx + 0x2c]
xor edx, edx
mov r8d, 0x100
call fcn.1800a7360
nop
mov qword [r14 + 0x2f8], r12
mov dword [r14 + 0x300], r12d
mov dword [r14 + 0x308], r12d
lea rcx, [r14 + 0x310]
call fcn.180200b70
nop
inc dword [0x180421c00]
mov dword [0x180421bf8], 0xbe1
mov qword [r14 + 0x460], r12
mov qword [r14 + 0x468], r12
mov qword [r14 + 0x470], r12
mov qword [r14 + 0x478], r12
lea rcx, [r14 + 0x480]
call fcn.1801ee630
nop
lea rcx, [r14 + 0x670]
call fcn.18020a0b0
nop
lea rcx, [r14 + 0xfcc38]
lea r8, [r14 + 0x310]
lea rdx, [r14 + 0x1090d8]
call fcn.1802060a0
nop
mov dword [r14 + 0x1090d4], esi
mov qword [r14 + 0x1090d8], r12
mov dword [r14 + 0x668], r12d
mov ecx, 0x170
call fcn.1800a103c
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1801e5b62
mov rdx, r14
mov rcx, rax
call fcn.1801fc940
jmp 0x1801e5b65
mov rax, r12
mov rbx, qword [r14 + 0x468]
cmp rbx, rax
je 0x1801e5b8d
mov qword [r14 + 0x468], rax
test rbx, rbx
je 0x1801e5b8d
mov rcx, rbx
call fcn.1801fc730
mov rcx, rbx
call fcn.1800a0ca0
lea rdx, [rbp + 0x160]
mov rcx, r14
call fcn.1801e61e0
nop
mov rax, qword [rbp + 0x160]
cmp byte [rax], 0
je 0x1801e6172
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x98]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1801e616b
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x48]
call fcn.1800e7320
mov rcx, qword [r14 + 0xfcab0]
mov rdx, qword [rax]
mov qword [r14 + 0xfcab0], rdx
mov qword [rax], rcx
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5c15
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5c15
call fcn.1800a0c6c
lea rax, [0x1802c569c]
mov qword [rbp + 0x20], rax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x160]
call fcn.1800e6340
nop
lea rax, str.License.dat
mov qword [rbp - 0x78], rax
lea r8, [rbp - 0x78]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x168]
call fcn.1800e6340
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
lea rdi, [rax - 0x10]
mov r15d, 1
cmp rdi, r13
je 0x1801e5c74
mov eax, r15d
lock xadd dword [rdi], eax
mov rcx, qword [rbp + 8]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5c93
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5c93
call fcn.1800a0c6c
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x28], rax
cmp rdi, r13
je 0x1801e5ca7
mov eax, r15d
lock xadd dword [rdi], eax
lea rdx, [rbp + 0x28]
mov rcx, qword [r14 + 0x468]
call fcn.1801fc600
lea rax, str.MidiLearn.dat
mov qword [rbp - 0x58], rax
lea r8, [rbp - 0x58]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x168]
call fcn.1800e6340
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
lea rbx, [rax - 0x10]
cmp rbx, r13
je 0x1801e5ced
mov eax, r15d
lock xadd dword [rbx], eax
mov rcx, qword [rbp + 0x18]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5d0c
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5d0c
call fcn.1800a0c6c
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x38], rax
cmp rbx, r13
je 0x1801e5d20
mov eax, r15d
lock xadd dword [rbx], eax
lea rdx, [rbp + 0x38]
mov rcx, qword [r14 + 0x468]
call fcn.1801fc570
lea rax, str.Presets
mov qword [rbp - 0x38], rax
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x160]
call fcn.1800e6340
nop
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.1800e7320
mov rcx, qword [r14 + 0xfcac0]
mov rdx, qword [rax]
mov qword [r14 + 0xfcac0], rdx
mov qword [rax], rcx
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5d90
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5d90
call fcn.1800a0c6c
nop
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5daf
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5daf
call fcn.1800a0c6c
lea rax, str.Settings.xml
mov qword [rbp + 0x30], rax
lea r8, [rbp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x168]
call fcn.1800e6340
nop
lea rax, [0x1802bccc0]
mov qword [rbp + 0x158], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
lea rcx, [rax - 0x10]
cmp rcx, r13
je 0x1801e5df8
mov eax, r15d
lock xadd dword [rcx], eax
lea r8, [rbp + 0x158]
lea rcx, [rsp + 0x70]
call fcn.1801e78d0
test al, al
jne 0x1801e5f9a
mov rax, qword [rbp + 0x158]
cmp byte [rax], 0
je 0x1801e5e7d
lea r8, [rbp + 0x158]
lea rdx, [0x1802c565c]
lea rcx, [rbp + 0x90]
call fcn.1800ec3a0
lea r8, [0x1802c5634]
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.1800eb4b0
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rax]
mov qword [rbp + 0x158], rdx
mov qword [rax], rcx
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5e7d
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5e7d
call fcn.1800a0c6c
lea r8, [rsp + 0x40]
lea rdx, [0x1802c567c]
lea rcx, [rbp - 8]
call fcn.1800ec3a0
nop
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.1800ebee0
nop
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5ec2
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5ec2
call fcn.1800a0c6c
mov rax, qword [rbp + 0x158]
mov qword [rsp + 0x78], rax
add rax, 0xfffffffffffffff0
cmp rax, r13
je 0x1801e5edc
lock xadd dword [rax], r15d
lea r9, [rsp + 0x78]
xor r8d, r8d
lea edx, [r8 + 6]
mov rcx, r14
call fcn.1801f3dd0
nop
mov rcx, qword [rbp + 0x158]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5f14
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5f14
call fcn.1800a0c6c
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e5f35
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5f35
call fcn.1800a0c6c
nop
cmp rbx, r13
je 0x1801e5f50
mov eax, esi
lock xadd dword [rbx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5f50
mov rcx, rbx
call fcn.1800a0c6c
nop
cmp rdi, r13
je 0x1801e5f6b
mov eax, esi
lock xadd dword [rdi], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e5f6b
mov rcx, rdi
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x168]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e619e
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1801e619e
call fcn.1800a0c6c
jmp 0x1801e619e
cmp byte [0x180421b83], 0
je 0x1801e615e
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [0x1802bcc7a]
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x50]
call fcn.18001a440
nop
lea rax, [0x1802c5644]
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x60]
call fcn.18001a440
cmp dword [r14 + 0x308], 0x2a
jbe 0x1801e5ffd
mov rax, qword [r14 + 0x2f8]
mov rcx, qword [rax + 0x150]
jmp 0x1801e6000
mov rcx, r12
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x28], 2
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x1803938c4]
movss xmm2, dword [0x180393340]
mov edx, 2
call fcn.1801fdec0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
lea rax, [0x1802bcc96]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x60]
call fcn.18001a440
nop
lea rax, [0x1802c56f4]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call fcn.18001a440
cmp dword [r14 + 0x308], 0x30
jbe 0x1801e6090
mov rax, qword [r14 + 0x2f8]
mov rcx, qword [rax + 0x180]
jmp 0x1801e6093
mov rcx, r12
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x28], 2
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x1803938c4]
movss xmm2, dword [0x180393340]
mov edx, 2
call fcn.1801fdec0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [0x1802bcc7b]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.18001a440
nop
lea rax, [0x1802c56a4]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp]
call fcn.18001a440
cmp dword [r14 + 0x308], 0x36
jbe 0x1801e6121
mov rax, qword [r14 + 0x2f8]
mov r12, qword [rax + 0x1b0]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x28], 2
lea rax, [rbp]
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x1803938c4]
movss xmm2, dword [0x180393340]
mov edx, 2
mov rcx, r12
call fcn.1801fdec0
mov rcx, r14
call fcn.1801e5190
jmp 0x1801e5ef1
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x10], rax
add rax, 0xfffffffffffffff0
cmp rax, r13
je 0x1801e618a
mov r15d, 1
lock xadd dword [rax], r15d
lea r9, [rbp + 0x10]
xor r8d, r8d
lea edx, [r8 + 5]
mov rcx, r14
call fcn.1801f3dd0
nop
mov rcx, qword [rbp + 0x160]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1801e61c0
lock xadd dword [rcx], esi
lea eax, [rsi - 1]
cmp eax, 0xffffffff
jne 0x1801e61c0
call fcn.1800a0c6c
nop
mov rax, r14
add rsp, 0x208
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret