Function at 0x14002c600
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 0x14002c661
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 0x14002c69d
movzx edi, dx
mov ecx, edi
call fcn.140066098
test rax, rax
je 0x14002c6b9
mov r8d, edi
mov rdx, rax
mov rcx, rbx
call fcn.140001fd0
jmp 0x14002c6b9
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 r12d, 1
mov dword [rsp + 0x20], r12d
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 [0x140101468], 0
jne 0x14002c81e
cmp dword [0x14010145c], 0
jne 0x14002c81e
cmp dword [0x1401014d4], 0
je 0x14002c72d
lea rdx, str.Drivers_rtwaves30vsd.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
cmp dword [0x140101470], 0
jne 0x14002c80a
cmp dword [0x14010146c], 0
jne 0x14002c80a
cmp dword [0x14010147c], 0
jne 0x14002c80a
cmp dword [0x140101480], 0
jne 0x14002c80a
cmp dword [0x140101478], 0
jne 0x14002c7f6
cmp dword [0x140101474], 0
jne 0x14002c7f6
cmp dword [0x140101484], 0
je 0x14002c794
lea rdx, str.Drivers_rtwavesvolpro.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
cmp dword [0x14010148c], 0
jne 0x14002c7e2
cmp dword [0x140101494], 0
jne 0x14002c7e2
cmp dword [0x140101488], 0
jne 0x14002c7e2
cmp dword [0x140101490], 0
jne 0x14002c7e2
cmp dword [0x1401014a0], 0
jne 0x14002c7ce
cmp dword [0x1401014a4], 0
je 0x14002c8a1
lea rdx, str.Drivers_rtwaves60.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
lea rdx, str.Drivers_rtwavesmapro.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
lea rdx, str.Drivers_rtwavesvp.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
lea rdx, str.Drivers_rtwaves40.dat
mov rcx, rbx
call fcn.140010650
jmp 0x14002c8a1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rbp, str.Drivers_rtwaves30.dat
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rax, qword [rbx]
mov rsi, rbp
sub rsi, rax
sar rsi, 1
mov r13d, dword [rax - 0x10]
lea edi, [r13 + rcx - 1]
sub r12d, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, r12d
jge 0x14002c865
mov edx, edi
mov rcx, rbx
call fcn.140001970
mov rax, qword [rbx]
cmp rsi, r13
ja 0x14002c871
lea rbp, [rax + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rax + r13*2]
mov r9, rdx
mov r8, rbp
call fcn.140091de0
test edi, edi
js 0x14002c8a6
mov rcx, qword [rbx]
cmp edi, dword [rcx - 0xc]
jg 0x14002c8a6
mov dword [rcx - 0x10], edi
movsxd rdx, edi
mov rcx, qword [rbx]
mov word [rcx + rdx*2], 0
mov rax, rbx
jmp 0x14002c8b1
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