Function at 0x14002c930
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x260
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x1400f6bd8]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rbx, rcx
mov qword [rsp + 0x30], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
call fcn.14006628c
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x14002c991
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbx], rax
lea rdx, [0x1400c4b18]
test rdx, 0xffffffffffff0000
jne 0x14002c9cd
movzx edi, dx
mov ecx, edi
call fcn.140066098
test rax, rax
je 0x14002c9e9
mov r8d, edi
mov rdx, rax
mov rcx, rbx
call fcn.140001fd0
jmp 0x14002c9e9
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rcx, rbx
call fcn.140001bc0
nop
mov ebp, 1
mov dword [rsp + 0x20], ebp
mov edx, 0x104
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140001bc0
cmp dword [0x140101494], 0
je 0x14002cac2
xor eax, eax
or rcx, 0xffffffffffffffff
lea r12, str.Drivers_rtwavesmaprocap.dat
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rax, qword [rbx]
mov rsi, r12
sub rsi, rax
sar rsi, 1
mov r13d, dword [rax - 0x10]
lea edi, [r13 + rcx - 1]
sub ebp, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ebp
jge 0x14002ca76
mov edx, edi
mov rcx, rbx
call fcn.140001970
mov rax, qword [rbx]
cmp rsi, r13
ja 0x14002ca82
lea r12, [rax + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rax + r13*2]
mov r9, rdx
mov r8, r12
call fcn.140091de0
test edi, edi
js 0x14002cab7
mov rax, qword [rbx]
cmp edi, dword [rax - 0xc]
jg 0x14002cab7
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbx]
mov word [rax + rcx*2], 0
jmp 0x14002cbe1
mov ecx, 0x80070057
call fcn.140001950
int3
cmp dword [0x1401014a0], 0
je 0x14002cb60
xor eax, eax
or rcx, 0xffffffffffffffff
lea r12, str.Drivers_rtwavesvp3cap.dat
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rax, qword [rbx]
mov rsi, r12
sub rsi, rax
sar rsi, 1
mov r13d, dword [rax - 0x10]
lea edi, [r13 + rcx - 1]
sub ebp, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ebp
jge 0x14002cb14
mov edx, edi
mov rcx, rbx
call fcn.140001970
mov rax, qword [rbx]
cmp rsi, r13
ja 0x14002cb20
lea r12, [rax + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rax + r13*2]
mov r9, rdx
mov r8, r12
call fcn.140091de0
test edi, edi
js 0x14002cb55
mov rax, qword [rbx]
cmp edi, dword [rax - 0xc]
jg 0x14002cb55
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbx]
mov word [rax + rcx*2], 0
jmp 0x14002cbe1
mov ecx, 0x80070057
call fcn.140001950
int3
xor eax, eax
or rcx, 0xffffffffffffffff
lea r12, str.Drivers_rtwavesvpcap.dat
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rax, qword [rbx]
mov rsi, r12
sub rsi, rax
sar rsi, 1
mov r13d, dword [rax - 0x10]
lea edi, [r13 + rcx - 1]
sub ebp, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ebp
jge 0x14002cba5
mov edx, edi
mov rcx, rbx
call fcn.140001970
mov rax, qword [rbx]
cmp rsi, r13
ja 0x14002cbb1
lea r12, [rax + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rax + r13*2]
mov r9, rdx
mov r8, r12
call fcn.140091de0
test edi, edi
js 0x14002cbe6
mov rcx, qword [rbx]
cmp edi, dword [rcx - 0xc]
jg 0x14002cbe6
mov dword [rcx - 0x10], edi
movsxd rdx, edi
mov rcx, qword [rbx]
mov word [rcx + rdx*2], 0
mov rax, rbx
jmp 0x14002cbf1
mov ecx, 0x80070057
call fcn.140001950
nop
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140091dc0
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret