Function at 0x140001650
Capabilities:
Accept command line arguments
Get common file path
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x298
lea rbp, [rsp + 0x80]
mov rax, qword [0x1400b5130]
lea rcx, str.GETTEXT_MUI1
mov rdi, qword [rax]
mov qword [rbp + 0x208], rdi
xor edi, edi
call sub.msvcrt.dll__putenv
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, 1
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
lea rcx, str.kernel32.dll
mov rbx, qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call rbx
test rax, rax
mov rsi, rax
je 0x1400016f9
lea rdx, str.SetProcessDEPPolicy
mov rcx, rax
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rdi
test rax, rax
je 0x1400016df
mov ecx, 1
call rax
lea rdx, str.SetDllDirectoryA
mov rcx, rsi
call rdi
test rax, rax
je 0x1400016f9
lea rcx, [0x1400af0a3]
call rax
lea rcx, str.kernel32.dll
call rbx
test rax, rax
je 0x140001723
lea rdx, str.SetDefaultDllDirectories
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140001723
mov ecx, 0x800
call rax
lea rcx, str.kernel32.dll
call rbx
test rax, rax
je 0x140001762
lea rdx, str.SetProcessMitigationPolicy
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140001762
mov dword [rbp - 0x18], 0
lea rdx, [rbp - 0x18]
mov byte [rbp - 0x18], 4
mov r8d, 4
mov ecx, 0xa
call rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rbp - 0x20]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rdi, rax
mov eax, 1
test rdi, rdi
je 0x140001ab9
mov eax, dword [rbp - 0x20]
add eax, 3
cdqe
lea rax, [rax*8 + 0x16]
and rax, 0xfffffffffffffff0
call fcn.140013fd0
mov r13, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor edx, edx
mov r9d, 0xffffffff
sub rsp, rax
lea r8, str.__media_library
mov ecx, 0xfde9
lea r15, [rsp + 0x47]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rbp - 0x38], r13
shr r15, 3
call r13
movsxd rcx, eax
lea r12, [r15*8]
mov rbx, rcx
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x14000183d
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
lea r8, str.__media_library
xor edx, edx
mov ecx, 0xfde9
call r13
mov qword [r15*8], rsi
xor edx, edx
mov r9d, 0xffffffff
lea r8, str.__no_ignore_config
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rbx, qword [rbp - 0x38]
call rbx
movsxd rcx, eax
mov r13, rcx
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x1400018c7
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
lea r8, str.__no_ignore_config
xor edx, edx
mov ecx, 0xfde9
call rbx
cmp dword [rbp - 0x20], 1
mov qword [r15*8 + 8], rsi
jle 0x140001b8a
mov r15d, 1
mov qword [rbp - 0x28], 0
mov dword [rbp - 0x2c], 2
mov r14d, 1
lea r13, str.__no_crashdump
jmp 0x140001910
mov r10d, dword [rbp - 0x20]
xor r14d, r14d
add r15d, 1
cmp r10d, r15d
jle 0x140001983
movsxd rbx, r15d
mov rdx, r13
shl rbx, 3
lea rsi, [rdi + rbx]
mov rcx, qword [rsi]
call sub.msvcrt.dll_wcscmp
test eax, eax
je 0x140001900
mov rcx, qword [rsi]
lea rdx, str.__language
mov r8d, 0xa
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x140001ae5
mov r10d, dword [rbp - 0x20]
lea edx, [r10 - 1]
cmp edx, r15d
jle 0x140001907
lea rsi, [rdi + rbx + 8]
lea rdx, [0x1400af152]
mov r8d, 2
mov rcx, qword [rsi]
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x140001c64
mov r10d, dword [rbp - 0x20]
add r15d, 1
cmp r10d, r15d
jg 0x140001910
movsxd r15, dword [rbp - 0x2c]
mov rcx, rdi
mov dword [rbp - 0x20], r15d
mov qword [r12 + r15*8], 0
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r14d, r14d
jne 0x140001bae
mov rdi, qword [sym.imp.msvcrt.dll___iob_func]
xor ebx, ebx
call rdi
mov rcx, rax
call qword [sym.imp.msvcrt.dll__fileno]
mov edx, 0x8000
mov ecx, eax
call qword [sym.imp.msvcrt.dll__setmode]
cmp qword [rbp - 0x28], 0
je 0x140001d13
mov rsi, qword [rbp - 0x28]
lea rdi, [0x1400af1b8]
mov ecx, 4
repe cmpsb byte [rsi], byte [rdi]
jne 0x140001c21
mov rcx, qword [rbp - 0x28]
call sub.msvcrt.dll_free
mov ecx, dword [rbp - 0x20]
mov rdx, r12
call fcn.140001e38
test rax, rax
mov r15, rax
je 0x140001cf2
lea r9, [0x1400af1bd]
lea r8, [0x1400af1c1]
lea rdx, str.org.VideoLAN.VLC
mov rcx, rax
call fcn.140001e20
lea r8, str.VLC_3.0.11
lea rdx, [0x1400af1e4]
mov rcx, r15
call fcn.140001e18
lea rdx, str.hotkeys_none
mov rcx, r15
call fcn.140001e40
lea rdx, str.globalhotkeys_none
mov rcx, r15
call fcn.140001e40
xor edx, edx
mov rcx, r15
call fcn.140001e40
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
mov rcx, r15
call fcn.140001e30
mov rcx, r15
call 0x140001e10
mov rcx, r15
call fcn.140001e28
mov rcx, rbx
mov ebx, 1
call fcn.140002000
mov r9d, dword [rbp - 0x20]
test r9d, r9d
jle 0x140001ab7
nop dword [rax]
mov rcx, qword [r12 + rbx*8 - 8]
call sub.msvcrt.dll_free
mov r10d, ebx
add rbx, 1
cmp dword [rbp - 0x20], r10d
jg 0x140001aa0
xor eax, eax
mov r12, qword [0x1400b5130]
mov rdx, qword [rbp + 0x208]
xor rdx, qword [r12]
jne 0x140001e00
lea rsp, [rbp + 0x218]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [rbp - 0x2c]
mov rbx, qword [rsi]
mov r9d, 0xffffffff
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
add edx, 1
mov r8, rbx
mov rax, qword [rbp - 0x38]
mov dword [rbp - 0x30], edx
xor edx, edx
call rax
movsxd rcx, eax
mov dword [rbp - 0x3c], ecx
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x140001b71
mov ecx, dword [rbp - 0x3c]
mov r8, rbx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov rbx, qword [rbp - 0x38]
mov dword [rsp + 0x28], ecx
mov ecx, 0xfde9
call rbx
movsxd r9, dword [rbp - 0x2c]
mov r11d, dword [rbp - 0x30]
mov r10d, dword [rbp - 0x20]
mov dword [rbp - 0x2c], r11d
mov qword [r12 + r9*8], rsi
jmp 0x140001907
mov dword [rbp - 0x20], 2
mov qword [r15*8 + 0x10], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rbp - 0x28], 0
lea r14, [0x1400db040]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, 0x801a
mov qword [rsp + 0x20], r14
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
mov rdi, qword [sym.imp.msvcrt.dll___iob_func]
jne 0x140001c4d
lea rcx, [0x1400db040]
call sub.msvcrt.dll_wcslen
lea r9, [0x1400af158]
lea r8, [0x1400af176]
mov edx, 0x104
lea rcx, [r14 + rax*2]
call qword [sym.imp.msvcrt.dll__snwprintf]
lea rcx, [0x1400db040]
call fcn.140003140
lea rcx, [0x1400db040]
call fcn.140001e80
mov rbx, rax
jmp 0x1400019ae
lea r13, [rbp + 0x1fd]
mov r9, qword [rbp - 0x28]
lea r8, str.LANG_s
mov edx, 0xb
mov rcx, r13
call fcn.1400015b0
mov rcx, r13
call sub.msvcrt.dll__putenv
jmp 0x1400019e9
call rdi
lea rdx, str.Cant_open_the_vlc_conf_PATH_n
lea rcx, [rax + 0x60]
call fcn.140001600
jmp 0x140001bd8
mov rbx, qword [rsi]
xor edx, edx
mov r9d, 0xffffffff
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
add r15d, 1
mov r8, rbx
mov rax, qword [rbp - 0x38]
call rax
movsxd rcx, eax
mov rsi, rcx
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbp - 0x28], rax
je 0x140001976
mov r8, rbx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov ecx, 0xfde9
mov rbx, qword [rbp - 0x38]
call rbx
jmp 0x140001976
mov r9d, 0x10
lea r8, [0x1400af218]
lea rdx, str.VLC_media_player_could_not_start._nEither_the_command_line_options_were_invalid_or_no_plugins_were_found._n
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x140001a87
lea r13, [rbp - 0x18]
xor r8d, r8d
mov r9d, 0x20019
lea rdx, str.SoftwareVideoLANVLC_
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], r13
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400019e9
lea r8, [rbp - 0x1c]
lea r15, [rbp - 0x10]
xor r9d, r9d
mov dword [rbp - 0x1c], 0x100
lea rdx, str.Lang
mov rcx, qword [rbp - 0x18]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r15
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400019e9
xor edx, edx
mov r9d, 0xffffffff
mov r8, r15
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rdi, qword [rbp - 0x38]
call rdi
movsxd rcx, eax
mov r14, rcx
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x1400019e9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
call rdi
mov qword [rbp - 0x28], rsi
jmp 0x1400019d1
call fcn.1400048e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp qword [0x1400de698]