Function at 0x14004bd40
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbp, qword [0x140285110]
lea r12, [rcx + 0x28]
mov rdi, rcx
mov rsi, rdx
mov rcx, r12
mov rax, qword [rbp]
mov qword [rsp + 0x58], rax
xor eax, eax
call sym.libvlccore.dll_vlc_mutex_lock
mov rbx, qword [rdi + 0x90]
test rbx, rbx
je 0x14004bea3
test rsi, rsi
je 0x14004c110
cmp byte [rsi], 1
mov eax, dword [rbx + 0x34]
je 0x14004be80
cmp dword [rbx + 0x38], eax
jle 0x14004bea3
mov r14, qword [rdi + 0x88]
cmp byte [rsi], 1
mov r13, qword [rsi + 0x18]
mov r15, qword [rsi + 0x28]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x20]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x20], rdx
mov r15, r13
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x40], r9
je 0x14004c060
mov esi, dword [rsi + 0x20]
movsxd rax, dword [rbx + 0x34]
mov r11, qword [rbx + 0x40]
mov rdx, qword [rsp + 0x20]
lea r14d, [rax + 1]
mov dword [rbx + 0x34], r14d
lea rbx, [rax + rax*2]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], r15
shl rbx, 4
add rbx, r11
mov qword [rbx], rdx
mov rcx, qword [rsp + 0x28]
mov qword [rbx + 8], rcx
mov r8, qword [rsp + 0x30]
mov qword [rbx + 0x10], r8
mov r13, qword [rsp + 0x38]
mov qword [rbx + 0x18], r13
mov r9, qword [rsp + 0x40]
mov qword [rbx + 0x20], r9
mov rsi, qword [rsp + 0x48]
mov qword [rbx + 0x28], rsi
lea rcx, [rdi + 0x58]
call sym.libvlccore.dll_vlc_cond_signal
mov rcx, r12
call sym.libvlccore.dll_vlc_mutex_unlock
mov rax, qword [rsp + 0x58]
xor rax, qword [rbp]
jne 0x14004c262
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
jle 0x14004bd99
mov rdx, qword [rsi + 0x18]
mov r8, qword [rbx + 0x18]
mov rcx, qword [rdx + 0x10]
lea r9, [rcx + r8 + 0x50]
cmp r9, qword [rbx + 0x10]
jb 0x14004bd99
mov ecx, 0x48
mov r14, qword [rdi + 0x18]
mov r13, qword [rdi + 0x20]
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x14004c00c
test r13, r13
je 0x14004bfd0
lea rcx, [rsp + 0x20]
lea rdx, str._s_vlc_timeshift.XXXXXX
mov r8, r13
call fcn.14004b0e0
test eax, eax
js 0x14004bfd0
mov edx, 0x1c0
mov rcx, r13
call sym.libvlccore.dll_vlc_mkdir
mov rcx, qword [rsp + 0x20]
call sym.libvlccore.dll_vlc_mkstemp
cmp eax, 0xffffffff
mov r15d, eax
je 0x14004bfc0
lea rdx, [0x140185195]
mov ecx, r15d
call sub.msvcrt.dll__fdopen_1
test rax, rax
mov qword [rbx + 0x20], rax
je 0x14004c1f5
mov rcx, qword [rsp + 0x20]
lea rdx, [0x140185192]
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov qword [rbx + 0x28], rax
je 0x14004c240
mov r10, qword [rsp + 0x20]
mov qword [rbx], 0
mov ecx, 0x15f900
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0
mov dword [rbx + 0x34], 0
mov dword [rbx + 0x30], 0
mov qword [rbx + 8], r10
mov dword [rbx + 0x38], 0x7530
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbx + 0x40], rax
je 0x14004c255
mov r14, qword [rdi + 0x90]
test r14, r14
je 0x14004c0f0
movsxd r11, dword [r14 + 0x34]
cmp r11d, dword [r14 + 0x38]
jl 0x14004c120
mov qword [r14], rbx
mov qword [rdi + 0x90], rbx
jmp 0x14004bda2
mov rcx, qword [rsp + 0x20]
call fcn.14016b6d8
nop word [rax + rax]
lea rcx, str._tmp_vlc_timeshift.XXXXXX
call sub.msvcrt.dll__strdup
test rax, rax
mov qword [rsp + 0x20], rax
je 0x14004c004
mov rcx, rax
call sym.libvlccore.dll_vlc_mkstemp
cmp eax, 0xffffffff
mov r15d, eax
jne 0x14004bf09
mov rcx, qword [rsp + 0x20]
call fcn.14016b6d8
mov rcx, rbx
call fcn.14016b6d8
movzx edi, byte [rsi]
cmp dil, 1
je 0x14004c220
jle 0x14004c170
cmp dil, 2
je case.0x14004c053.12
cmp dil, 3
jne 0x14004c240
mov r10d, dword [rsi + 0x10]
sub r10d, 0xb
cmp r10d, 9
ja case.0x14004c053.12
lea r15, [0x14018519c]
movsxd r11, dword [r15 + r10*4]
add r11, r15
jmp r11
mov rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_ftell
mov r9, qword [rbx + 0x20]
mov r8d, 1
mov edx, 0x50
mov rcx, r13
mov esi, eax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14004c160
mov r10, qword [rbx + 0x18]
mov rdx, qword [r13 + 0x10]
add r10, 0x50
test rdx, rdx
mov qword [rbx + 0x18], r10
je 0x14004c0c6
mov rcx, qword [r13 + 8]
mov r9, qword [rbx + 0x20]
mov r8d, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14004c160
mov r10, qword [rbx + 0x18]
mov rdx, qword [r13 + 0x10]
add r10, rdx
mov rcx, r13
xor r15d, r15d
mov qword [rbx + 0x18], r10
call qword [r13 + 0x48]
cmp r14, rbx
jne 0x14004bded
mov rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_fflush
jmp 0x14004bded
mov qword [rdi + 0x90], rbx
mov qword [rdi + 0x88], rbx
mov r14, rbx
jmp 0x14004bda9
mov eax, dword [rbx + 0x34]
jmp 0x14004bd99
test r11d, r11d
mov eax, 1
mov rcx, qword [r14 + 0x40]
cmovle r11, rax
lea rdx, [r11 + r11*2]
mov dword [r14 + 0x38], r11d
shl rdx, 4
call sub.msvcrt.dll_realloc
test rax, rax
je 0x14004c14a
mov qword [r14 + 0x40], rax
mov r14, qword [rdi + 0x90]
jmp 0x14004bfa9
mov rcx, r13
call qword [r13 + 0x48]
jmp 0x14004be46
test dil, dil
jne 0x14004c240
mov rcx, qword [rsi + 0x18]
call sym.libvlccore.dll_es_format_Clean
mov rcx, qword [rsi + 0x18]
call fcn.14016b6d8
jmp case.0x14004c053.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004c053.12
call sym.libvlccore.dll_vlc_epg_Delete
jmp case.0x14004c053.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004c053.12
call sym.libvlccore.dll_vlc_meta_Delete
jmp case.0x14004c053.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004c053.12
call sym.libvlccore.dll_vlc_epg_event_Delete
jmp case.0x14004c053.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004c053.12
call sym.libvlccore.dll_es_format_Clean
mov rcx, qword [rsi + 0x20]
call fcn.14016b6d8
jmp case.0x14004c053.12
mov ecx, r15d
call sym.libvlccore.dll_vlc_close
mov rcx, qword [rsp + 0x20]
call sym.libvlccore.dll_vlc_unlink
mov rcx, qword [rsp + 0x20]
call fcn.14016b6d8
mov rcx, rbx
call fcn.14016b6d8
jmp 0x14004c00c
mov rax, qword [rsi + 0x18]
test rax, rax
je case.0x14004c053.12
mov rcx, rax
call qword [rax + 0x48]
jmp case.0x14004c053.12
mov rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_fclose
mov rcx, qword [rsp + 0x20]
call sym.libvlccore.dll_vlc_unlink
jmp 0x14004c207
mov rcx, rbx
call fcn.14004b130
jmp 0x14004c00c
call fcn.1400c4ec0
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rdi, qword [0x140285110]
mov rbx, qword [rcx + 0x28]
mov r12, rcx
mov ecx, 8
mov r13, rdx
mov rax, qword [rdi]
mov qword [rsp + 0x88], rax
xor eax, eax
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x14004c361
lea rbp, [rbx + 0x20]
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_lock
mov r12, qword [r12 + 0x28]
cmp byte [r12 + 0x50], 0
jne 0x14004c3a0
movzx r12d, byte [rbx + 0x50]
mov byte [rsp + 0x50], 0
call sym.libvlccore.dll_mdate
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rax
test r12b, r12b
jne 0x14004c3d0
mov r10d, dword [rbx + 0x6c]
mov qword [rsp + 0x68], r13
test r10d, r10d
jle 0x14004c400
add r10d, 1
mov rcx, qword [rbx + 0x70]
movsxd rdx, r10d
shl rdx, 3
call sub.msvcrt.dll_realloc
mov qword [rbx + 0x70], rax
test rax, rax
je 0x14004c4ba
movsxd r11, dword [rbx + 0x6c]
mov r13, r11
mov qword [rax + r11*8], rsi
add r13d, 1
cmp byte [rbx + 0x50], 0
mov dword [rbx + 0x6c], r13d
jne 0x14004c390
mov r15, qword [rbx + 8]
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, r15
call qword [r15]
mov qword [rbx], rax
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_unlock
mov rax, rsi
mov rsi, qword [rsp + 0x88]
xor rsi, qword [rdi]
jne 0x14004c4bf
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rbx + 0x58]
lea rdx, [rsp + 0x50]
call fcn.14004bd40
jmp 0x14004c359
mov r14, qword [r12 + 0x58]
lea r15, [r14 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_lock
cmp byte [r14 + 0x5c], 0
jne 0x14004c3c2
mov eax, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], eax
je 0x14004c413
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c2d4
mov ecx, 0x108
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x68], rax
je 0x14004c492
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_es_format_Copy
mov r10d, dword [rbx + 0x6c]
test r10d, r10d
jg 0x14004c308
mov ecx, 8
call sub.msvcrt.dll_malloc
mov qword [rbx + 0x70], rax
jmp 0x14004c320
mov rdx, qword [r14 + 0x88]
test rdx, rdx
je 0x14004c4b0
mov ecx, dword [rdx + 0x30]
mov r14d, dword [rdx + 0x34]
mov dword [rsp + 0x4c], ecx
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
cmp dword [rsp + 0x4c], r14d
jl 0x14004c2d4
lea r8, str.es_out_timeshift:_auto_stop
lea r9, str.TsAutoStop
mov dword [rsp + 0x20], 0x33c
mov edx, 2
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov r8, qword [str.main]
mov rcx, qword [r12]
call sym.libvlccore.dll_vlc_Log
mov rcx, qword [r12 + 0x58]
call fcn.14004b2c0
mov byte [r12 + 0x50], 0
jmp 0x14004c2d4
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_unlock
mov rcx, rsi
xor esi, esi
call fcn.14016b6d8
jmp 0x14004c361
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c441
call sub.msvcrt.dll_abort
call fcn.1400c4ec0
nop
nop
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov r12, qword [0x140285110]
mov rbp, rcx
mov ebx, edx
mov r13, r8
mov rax, qword [r12]
mov qword [rsp + 0x88], rax
xor eax, eax
mov rax, qword [rcx + 0x28]
lea rdi, [rax + 0x20]
mov rcx, rdi
call sym.libvlccore.dll_vlc_mutex_lock
mov rsi, qword [rbp + 0x28]
cmp byte [rsi + 0x50], 0
jne 0x14004c5f4
cmp ebx, 0x10000
je 0x14004c8d0
jle 0x14004c5a3
cmp ebx, 0x1000d
je 0x14004c7b0
jg 0x14004c960
cmp ebx, 0x10008
je 0x14004ca40
jle 0x14004c780
cmp ebx, 0x1000b
je 0x14004c990
cmp ebx, 0x1000c
jne 0x14004ca74
mov r15d, dword [r13]
mov r14d, dword [r13 + 8]
movzx r8d, byte [rsi + 0x50]
cmp r15d, r14d
jne 0x14004c840
cmp r8b, 1
je 0x14004c840
mov rcx, qword [rsi + 8]
mov r9d, r14d
mov r8d, r15d
mov edx, 0x1000c
call fcn.14004ab80
mov ebx, eax
jmp 0x14004c8a7
cmp ebx, 0x12
jle 0x14004c7d3
cmp ebx, 0x15
je 0x14004ca74
jle 0x14004c6a0
cmp ebx, 0x16
jne 0x14004cb20
mov edx, dword [r13]
mov r9, qword [r13 + 8]
test edx, edx
setne r8b
je 0x14004c5de
cmp byte [rsi + 0x50], 0
jne 0x14004cbd7
mov rcx, qword [rsi + 8]
and r8d, 1
mov edx, 0x16
call fcn.14004ab80
mov ebx, eax
jmp 0x14004c670
mov r14, qword [rsi + 0x58]
lea r15, [r14 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_lock
cmp byte [r14 + 0x5c], 0
jne 0x14004c619
mov edx, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], edx
je 0x14004c700
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
mov rsi, qword [rbp + 0x28]
cmp ebx, 0x10000
je 0x14004c8d0
jg 0x14004c52c
cmp ebx, 0x12
jg 0x14004c5ac
cmp ebx, 6
jge 0x14004c8d0
test ebx, ebx
js 0x14004ca74
cmp ebx, 4
jle 0x14004c8d0
cmp byte [rsi + 0x50], 0
mov r9, qword [r13 + 8]
je 0x14004c7f1
mov byte [r9], 1
xor ebx, ebx
nop
mov rcx, rdi
call sym.libvlccore.dll_vlc_mutex_unlock
mov rdx, qword [rsp + 0x88]
xor rdx, qword [r12]
mov eax, ebx
jne 0x14004ce79
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 0x13
jne 0x14004c8c0
cmp byte [rsi + 0x50], 0
mov r15, qword [r13]
je 0x14004c818
mov r14, qword [rsi + 0x58]
lea rbp, [r14 + 0x28]
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_lock
mov r11, qword [r14 + 0x88]
test r11, r11
je 0x14004c810
mov eax, dword [r11 + 0x34]
cmp dword [r11 + 0x30], eax
jge 0x14004c810
mov rcx, rbp
xor ebx, ebx
call sym.libvlccore.dll_vlc_mutex_unlock
mov byte [r15], 0
jmp 0x14004c670
mov rcx, qword [r14 + 0x88]
test rcx, rcx
je 0x14004cc60
mov r8d, dword [rcx + 0x30]
mov r14d, dword [rcx + 0x34]
mov rcx, r15
mov dword [rsp + 0x4c], r8d
call sym.libvlccore.dll_vlc_mutex_unlock
cmp dword [rsp + 0x4c], r14d
jl 0x14004c774
lea r10, str.TsAutoStop
lea r9, str.es_out_timeshift:_auto_stop
mov dword [rsp + 0x20], 0x33c
mov r8, qword [str.main]
mov edx, 2
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r10
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov rcx, qword [rsi]
call sym.libvlccore.dll_vlc_Log
mov rcx, qword [rsi + 0x58]
call fcn.14004b2c0
mov byte [rsi + 0x50], 0
mov rsi, qword [rbp + 0x28]
jmp 0x14004c625
cmp ebx, 0x10001
jne 0x14004ca74
cmp byte [rsi + 0x50], 0
mov r13, qword [r13]
je 0x14004cb60
mov qword [r13], 0
xor ebx, ebx
jmp 0x14004c670
cmp byte [rsi + 0x50], 0
mov r8, qword [r13]
jne 0x14004cd7e
mov rcx, qword [rsi + 8]
mov edx, 0x1000d
call fcn.14004ab80
mov ebx, eax
jmp 0x14004c670
cmp ebx, 6
jge 0x14004c8d0
test ebx, ebx
js 0x14004ca74
cmp ebx, 4
jle 0x14004c8d0
mov r9, qword [r13 + 8]
mov rbx, qword [r13]
mov rcx, qword [rsi + 8]
mov edx, 5
mov r8, qword [rbx]
call fcn.14004ab80
mov ebx, eax
jmp 0x14004c670
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_unlock
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0x50]
mov edx, 0x13
xor ebx, ebx
call fcn.14004ab80
movzx esi, byte [rsp + 0x50]
mov byte [r15], sil
jmp 0x14004c670
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004ce15
test r8b, r8b
je 0x14004cbc5
mov rbp, qword [rsi + 0x58]
lea r13, [rbp + 0x28]
mov rcx, r13
call sym.libvlccore.dll_vlc_mutex_lock
mov r11, qword [rbp + 0x78]
add qword [rbp + 0x98], r11
mov r9d, r14d
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x70], 0xffffffffffffffff
mov r8d, r14d
mov qword [rbp + 0x78], 0
mov dword [rbp + 0x68], r14d
mov edx, 0x1000c
mov dword [rbp + 0x6c], r15d
call fcn.14004ab80
mov rcx, r13
mov ebx, eax
call sym.libvlccore.dll_vlc_mutex_unlock
test ebx, ebx
jne 0x14004c670
mov dword [rsi + 0x68], r15d
mov dword [rsi + 0x64], r14d
jmp 0x14004c670
cmp ebx, 0x14
jne 0x14004ca74
nop dword [rax]
movzx ebp, byte [rsi + 0x50]
mov byte [rsp + 0x50], 3
call sym.libvlccore.dll_mdate
cmp ebx, 0xc
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], ebx
je 0x14004cc50
jle 0x14004cad0
cmp ebx, 0x12
je 0x14004cc8d
jg 0x14004cc02
cmp ebx, 0xf
je 0x14004ccd5
jg 0x14004cca6
cmp ebx, 0xd
je 0x14004cd42
cmp ebx, 0xe
jne 0x14004cd0f
mov r10d, dword [r13]
test bpl, bpl
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x68], r10d
jne 0x14004cdfd
mov qword [rsp + 0x70], rcx
cmp byte [rsi + 0x50], 0
je 0x14004cbb0
mov rcx, qword [rsi + 0x58]
lea rdx, [rsp + 0x50]
xor ebx, ebx
call fcn.14004bd40
jmp 0x14004c670
cmp ebx, 0x10010
jg 0x14004ca60
cmp ebx, 0x1000f
jge 0x14004c8d0
mov rcx, qword [rsi + 8]
mov edx, 0x1000e
call fcn.14004ab80
mov ebx, eax
jmp 0x14004c670
mov eax, dword [r13]
mov ebx, dword [r13 + 8]
mov r13, qword [r13 + 0x10]
test eax, eax
setne byte [rsp + 0x4c]
test ebx, ebx
movzx edx, byte [rsp + 0x4c]
setne bpl
cmp byte [rsi + 0x50], 0
je 0x14004ca94
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004ce57
mov r14, qword [rsi + 0x58]
lea r15, [r14 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_lock
test ebx, ebx
je 0x14004cb25
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov qword [rsp + 0x20], r13
mov r8d, 1
mov edx, 0x1000b
call fcn.14004ab80
test eax, eax
mov ebx, eax
jne 0x14004ca15
lea rcx, [r14 + 0x58]
mov byte [r14 + 0x5c], bpl
mov qword [r14 + 0x60], r13
xor ebx, ebx
call sym.libvlccore.dll_vlc_cond_signal
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
test ebx, ebx
jne 0x14004c670
movzx r9d, byte [rsp + 0x4c]
mov byte [rsi + 0x60], bpl
mov byte [rsi + 0x61], r9b
jmp 0x14004c670
cmp byte [rsi + 0x50], 0
mov rbx, qword [r13]
je 0x14004cb83
mov byte [rbx], 1
xor ebx, ebx
jmp 0x14004c670
cmp ebx, 0x10011
je 0x14004ca7e
cmp ebx, 0x10012
je 0x14004c8d0
cmp byte [rsi + 0x50], 0
jne 0x14004cbd7
mov rax, qword [rsi + 8]
mov edx, ebx
mov r8, r13
mov rcx, rax
call qword [rax + 0x18]
mov ebx, eax
jmp 0x14004c670
test eax, eax
sete cl
cmp bpl, cl
je 0x14004cbe1
mov rcx, qword [rsi + 8]
mov r8d, edx
mov r9d, ebp
mov qword [rsp + 0x20], r13
and r9d, 1
and r8d, 1
mov edx, 0x1000b
call fcn.14004ab80
mov ebx, eax
jmp 0x14004ca1d
cmp ebx, 6
je 0x14004ccbe
jle 0x14004cc70
cmp ebx, 9
je 0x14004cd0f
jle 0x14004cc38
cmp ebx, 0xa
je 0x14004c941
cmp ebx, 0xb
jne 0x14004cd0f
mov rcx, qword [r13]
test bpl, bpl
mov r13, qword [r13 + 8]
mov qword [rsp + 0x68], rcx
jne 0x14004cdd5
mov qword [rsp + 0x70], r13
jmp 0x14004c941
jmp 0x14004ca7e
mov rcx, qword [r14 + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov edx, 0x1000b
call fcn.14004ab80
test eax, eax
mov ebx, eax
jne 0x14004ca15
mov r8, r13
sub r8, qword [r14 + 0x60]
add qword [r14 + 0x98], r8
jmp 0x14004ca02
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0x50]
mov edx, 0x10001
xor ebx, ebx
call fcn.14004ab80
mov rcx, qword [rsp + 0x50]
mov qword [r13], rcx
jmp 0x14004c670
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0x50]
mov edx, 0x10008
call fcn.14004ab80
movzx r10d, byte [rsp + 0x50]
mov byte [rbx], r10b
xor ebx, ebx
jmp 0x14004c670
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0x50]
call fcn.14004abd0
mov ebx, eax
jmp 0x14004c670
mov rcx, rsi
call fcn.14004af60
cmp byte [rsi + 0x50], 0
jne 0x14004c856
mov ebx, 0xffffffff
jmp 0x14004c670
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004ce57
mov rcx, rsi
call fcn.14004af60
cmp byte [rsi + 0x50], 0
jne 0x14004c9c5
jmp 0x14004cbd7
cmp ebx, 0x1000f
je 0x14004cd26
jle 0x14004cd02
cmp ebx, 0x10010
jne 0x14004cdd0
mov edx, dword [r13 + 0x10]
movdqu xmm0, xmmword [r13]
mov dword [rsp + 0x78], edx
movups xmmword [rsp + 0x68], xmm0
jmp 0x14004c941
cmp ebx, 7
je 0x14004ccb0
cmp ebx, 8
jne 0x14004cd0f
nop word cs:[rax + rax]
mov r13, qword [r13]
mov qword [rsp + 0x68], r13
jmp 0x14004c941
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c72c
cmp ebx, 2
je 0x14004c941
jle 0x14004cdc3
cmp ebx, 3
je 0x14004cc50
cmp ebx, 4
jne 0x14004cd0f
mov ecx, dword [r13 + 8]
mov rbp, qword [r13]
test ecx, ecx
mov qword [rsp + 0x68], rbp
setne byte [rsp + 0x70]
jmp 0x14004c941
cmp ebx, 0x10
je 0x14004cc50
cmp ebx, 0x11
jne 0x14004cd0f
mov r11d, dword [r13]
mov dword [rsp + 0x68], r11d
jmp 0x14004c941
mov r8d, dword [r13]
mov r9d, dword [r13 + 8]
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], r9d
jmp 0x14004c941
mov eax, dword [r13]
test bpl, bpl
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x68], eax
je 0x14004c93c
call sym.libvlccore.dll_vlc_epg_event_Duplicate
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x14004c941
jmp 0x14004cbd7
cmp ebx, 0x14
je 0x14004cd4e
cmp ebx, 0x10000
je 0x14004ccb0
mov r14d, dword [r13]
mov r15, qword [r13 + 8]
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x70], r15
jmp 0x14004c941
movdqu xmm2, xmmword [r13 + 8]
movsd xmm1, qword [r13]
movaps xmmword [rsp + 0x70], xmm2
movsd qword [rsp + 0x68], xmm1
jmp 0x14004c941
mov ebx, dword [r13]
add r13, 8
mov dword [rsp + 0x68], ebx
test bpl, bpl
mov r13, qword [r13]
je 0x14004cb16
call sym.libvlccore.dll_vlc_meta_New
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14004cbd7
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_vlc_meta_Merge
jmp 0x14004c941
lea r11, str.EsOutTimeshift_does_not_yet_support_time_change
lea rdx, str.ControlLockedSetTime
mov dword [rsp + 0x20], 0x267
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov ebx, 0xffffffff
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r11
mov edx, 1
mov rcx, qword [rsi]
call sym.libvlccore.dll_vlc_Log
jmp 0x14004c670
test ebx, ebx
jns 0x14004cc50
jmp 0x14004cd0f
jmp 0x14004c941
mov ecx, 0x108
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14004cbd7
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_es_format_Copy
jmp 0x14004c941
call sym.libvlccore.dll_vlc_epg_Duplicate
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x14004c941
jmp 0x14004cbd7
lea r9, str.EsOutTimeshift_does_not_work_with_streams_that_have_pace_control
lea r10, str.ControlLockedSetRate
mov dword [rsp + 0x20], 0x253
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r10
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov edx, 1
mov ebx, 0xffffffff
call sym.libvlccore.dll_vlc_Log
jmp 0x14004c670
lea rbx, str.EsOutTimeshift_does_not_work_with_streams_that_have_pace_control
lea rsi, str.ControlLockedSetPauseState
mov dword [rsp + 0x20], 0x230
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rsi
jmp 0x14004ce35
call fcn.1400c4ec0
nop
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rbx, qword [rcx + 0x28]
mov rbp, qword [0x140285110]
mov r12, rcx
mov r13, rdx
mov rsi, r8
lea rdi, [rbx + 0x20]
mov rax, qword [rbp]
mov qword [rsp + 0x88], rax
xor eax, eax
mov rcx, rdi
call sym.libvlccore.dll_vlc_mutex_lock
mov r12, qword [r12 + 0x28]
cmp byte [r12 + 0x50], 0
jne 0x14004cf64
mov byte [rsp + 0x50], 1
call sym.libvlccore.dll_mdate
cmp byte [rbx + 0x50], 0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], rsi
jne 0x14004cf51
test rsi, rsi
mov rbx, qword [rbx + 8]
mov qword [rsp + 0x68], 0
je 0x14004d01a
mov rdx, qword [r13]
test rdx, rdx
je 0x14004d025
mov r8, rsi
mov rcx, rbx
call qword [rbx + 8]
mov r13d, eax
mov rcx, rdi
call sym.libvlccore.dll_vlc_mutex_unlock
mov rdi, qword [rsp + 0x88]
xor rdi, qword [rbp]
mov eax, r13d
jne 0x14004d036
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rbx + 0x58]
lea rdx, [rsp + 0x50]
xor r13d, r13d
call fcn.14004bd40
jmp 0x14004cf20
mov r14, qword [r12 + 0x58]
lea r15, [r14 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_lock
cmp byte [r14 + 0x5c], 0
jne 0x14004cf86
mov eax, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], eax
je 0x14004cf93
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004ced2
mov rdx, qword [r14 + 0x88]
test rdx, rdx
je 0x14004d010
mov ecx, dword [rdx + 0x30]
mov r14d, dword [rdx + 0x34]
mov dword [rsp + 0x4c], ecx
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
cmp dword [rsp + 0x4c], r14d
jl 0x14004ced2
lea r8, str.es_out_timeshift:_auto_stop
lea r9, str.TsAutoStop
mov dword [rsp + 0x20], 0x33c
mov edx, 2
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov r8, qword [str.main]
mov rcx, qword [r12]
call sym.libvlccore.dll_vlc_Log
mov rcx, qword [r12 + 0x58]
call fcn.14004b2c0
mov byte [r12 + 0x50], 0
jmp 0x14004ced2
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004cfbd
mov r13d, 0xffffffff
jmp 0x14004cf20
mov rcx, rsi
mov r13d, 0xffffffff
call qword [rsi + 0x48]
jmp 0x14004cf20
call fcn.1400c4ec0
nop
nop dword [rax]