Function at 0x1400afc20
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbx, qword [0x140285110]
mov rbp, rcx
lea rcx, [0x1402a31c0]
mov rax, qword [rbx]
mov qword [rsp + 0x58], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rax, [0x1400b01e0]
cmp qword [0x14016e2c0], rax
je 0x1400afc90
lea rcx, [0x1402a31c0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rsp + 0x58]
xor rax, qword [rbx]
jne 0x1400b01c5
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rbp, rbp
je 0x1400aff70
lea r13, [rsp + 0x50]
lea rdx, str.clock_source
mov r8d, 0x40
mov rcx, rbp
mov r14, rbp
mov r9, r13
call sym.libvlccore.dll_var_Inherit
test eax, eax
jne 0x1400afe48
mov r12, qword [rsp + 0x50]
test r12, r12
je 0x1400afe48
cmp byte [r12], 0
je 0x1400afe40
lea rdi, str.interrupt
mov ecx, 0xa
mov rsi, r12
repe cmpsb byte [rsi], byte [rdi]
je 0x1400afee2
lea rdi, str.tick
mov ecx, 5
mov rsi, r12
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400b01ca
lea r8, str.SelectClockSource
lea rdx, str.using_Windows_time_as_clock_source
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov rcx, rbp
mov dword [rsp + 0x20], 0x36f
mov qword [rsp + 0x28], r8
mov r8, qword [str.main]
mov qword [rsp + 0x30], rdx
mov edx, 3
call sym.libvlccore.dll_vlc_Log
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400b01c0
lea rdx, str.GetTickCount64
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x1402a31f0], rax
je 0x1400b01c0
lea r9, [0x1400ae980]
mov qword [0x14016e2c0], r9
nop word [rax + rax]
mov rcx, r12
call fcn.14016b6d8
lea rdx, str.high_priority
mov r9, r13
mov r8d, 0x20
mov rcx, rbp
call sym.libvlccore.dll_var_Inherit
test eax, eax
jne 0x1400afc61
cmp byte [rsp + 0x50], 0
je 0x1400afc61
mov r12, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call r12
mov edx, 0x8000
mov rcx, rax
mov rsi, qword [sym.imp.KERNEL32.dll_SetPriorityClass]
call rsi
test eax, eax
jne 0x1400afdf7
call r12
mov edx, pe_nt_image_headers64
mov rcx, rax
call rsi
test eax, eax
je 0x1400b0152
lea r13, str.raised_process_priority
lea r11, str.vlc_threads_setup
mov dword [rsp + 0x20], 0x406
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r11
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov edx, 3
mov rcx, rbp
call sym.libvlccore.dll_vlc_Log
jmp 0x1400afc61
mov rcx, r12
call fcn.14016b6d8
lea rdi, str.multimedia
xor r12d, r12d
mov rax, rdi
mov ecx, 0xb
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
je 0x1400aff76
mov edx, 5
lea rdi, str.perf
mov rsi, rax
mov rcx, rdx
repe cmpsb byte [rsi], byte [rdi]
je 0x1400aff90
lea rdi, str.wall
mov rsi, rax
mov rcx, rdx
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400b0177
lea r8, str.using_system_time_as_clock_source
lea r9, str.SelectClockSource
mov dword [rsp + 0x20], 0x3a3
mov edx, 3
mov rcx, rbp
mov qword [rsp + 0x30], r8
mov r8, qword [str.main]
mov qword [rsp + 0x28], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
call sym.libvlccore.dll_vlc_Log
lea r10, [0x1400aeb30]
mov qword [0x14016e2c0], r10
jmp 0x1400afd90
lea r10, str.using_interrupt_time_as_clock_source
lea r11, str.SelectClockSource
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov edx, 3
mov rcx, rbp
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x360
call sym.libvlccore.dll_vlc_Log
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400b01c0
lea rdx, str.QueryUnbiasedInterruptTime
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x1402a31f0], rax
je 0x1400b01c0
lea r15, [0x1400aea00]
mov qword [0x14016e2c0], r15
jmp 0x1400afd90
xor r12d, r12d
xor r14d, r14d
lea rcx, str.winmm.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov rsi, rax
jne 0x1400b0040
nop
lea rdi, str.SelectClockSource
lea rcx, str.using_performance_counters_as_clock_source
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov edx, 3
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x39a
mov qword [rsp + 0x30], rcx
mov rcx, r14
call sym.libvlccore.dll_vlc_Log
lea rcx, [0x1402a31f0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400b01c0
mov r8, qword [0x1402a31f0]
lea r9, str._frequency:__llu_Hz
mov rcx, r14
lea r14, [0x1400aea60]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x39d
mov qword [rsp + 0x30], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov edx, 3
mov qword [rsp + 0x38], r8
mov r8, qword [str.main]
lea r13, [rsp + 0x50]
call sym.libvlccore.dll_vlc_Log
mov qword [0x14016e2c0], r14
jmp 0x1400afd90
lea rdx, str.timeGetDevCaps
mov rcx, rax
mov r15, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call r15
lea rdx, str.timeGetTime
mov qword [0x1402a31f0], rax
mov rcx, rsi
call r15
cmp qword [0x1402a31f0], 0
mov qword [0x1402a31f8], rax
je 0x1400aff90
test rax, rax
je 0x1400aff90
lea r13, str.using_multimedia_timers_as_clock_source
mov r8, qword [str.main]
lea rdi, str.SelectClockSource
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov edx, 3
mov rcx, r14
mov qword [rsp + 0x30], r13
lea r13, [rsp + 0x50]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x38a
call sym.libvlccore.dll_vlc_Log
mov edx, 8
mov rcx, r13
call qword [0x1402a31f0]
test eax, eax
jne 0x1400aff97
mov r11d, dword [rsp + 0x54]
mov eax, dword [rsp + 0x50]
lea rdx, str._min_period:__u_ms__max_period:__u_ms
mov r8, qword [str.main]
mov qword [rsp + 0x28], rdi
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
lea rdi, [0x1400ae9a0]
mov qword [rsp + 0x30], rdx
mov rcx, r14
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov edx, 3
mov dword [rsp + 0x20], 0x38e
call sym.libvlccore.dll_vlc_Log
mov qword [0x14016e2c0], rdi
lea rdx, str.timeBeginPeriod
mov rcx, rsi
call r15
test rax, rax
je 0x1400afd90
mov ecx, 5
call rax
jmp 0x1400afd90
lea r10, str.could_not_raise_process_priority
lea r15, str.vlc_threads_setup
mov dword [rsp + 0x20], 0x408
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r15
jmp 0x1400afe17
lea rbx, str.invalid_clock_source___s_
lea r14, str.SelectClockSource
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_win32_thread.c
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x3a8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r14
mov edx, 1
mov rcx, rbp
call sym.libvlccore.dll_vlc_Log
nop word [rax + rax]
call sub.msvcrt.dll_abort
call fcn.1400c4ec0
mov rax, r12
lea rdi, str.multimedia
jmp 0x1400afe55