Function at 0x14004bcb0
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 [0x1402840b0]
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 0x14004be13
test rsi, rsi
je 0x14004c080
cmp byte [rsi], 1
mov eax, dword [rbx + 0x34]
je 0x14004bdf0
cmp dword [rbx + 0x38], eax
jle 0x14004be13
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 0x14004bfd0
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 0x14004c1d2
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
jle 0x14004bd09
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 0x14004bd09
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 0x14004bf7c
test r13, r13
je 0x14004bf40
lea rcx, [rsp + 0x20]
lea rdx, str._s_vlc_timeshift.XXXXXX
mov r8, r13
call fcn.14004b050
test eax, eax
js 0x14004bf40
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 0x14004bf30
lea rdx, [0x1401841b5]
mov ecx, r15d
call sub.msvcrt.dll__fdopen_1
test rax, rax
mov qword [rbx + 0x20], rax
je 0x14004c165
mov rcx, qword [rsp + 0x20]
lea rdx, [0x1401841b2]
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov qword [rbx + 0x28], rax
je 0x14004c1b0
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 0x14004c1c5
mov r14, qword [rdi + 0x90]
test r14, r14
je 0x14004c060
movsxd r11, dword [r14 + 0x34]
cmp r11d, dword [r14 + 0x38]
jl 0x14004c090
mov qword [r14], rbx
mov qword [rdi + 0x90], rbx
jmp 0x14004bd12
mov rcx, qword [rsp + 0x20]
call fcn.14016b5d8
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 0x14004bf74
mov rcx, rax
call sym.libvlccore.dll_vlc_mkstemp
cmp eax, 0xffffffff
mov r15d, eax
jne 0x14004be79
mov rcx, qword [rsp + 0x20]
call fcn.14016b5d8
mov rcx, rbx
call fcn.14016b5d8
movzx edi, byte [rsi]
cmp dil, 1
je 0x14004c190
jle 0x14004c0e0
cmp dil, 2
je case.0x14004bfc3.12
cmp dil, 3
jne 0x14004c1b0
mov r10d, dword [rsi + 0x10]
sub r10d, 0xb
cmp r10d, 9
ja case.0x14004bfc3.12
lea r15, [0x1401841bc]
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 0x14004c0d0
mov r10, qword [rbx + 0x18]
mov rdx, qword [r13 + 0x10]
add r10, 0x50
test rdx, rdx
mov qword [rbx + 0x18], r10
je 0x14004c036
mov rcx, qword [r13 + 8]
mov r9, qword [rbx + 0x20]
mov r8d, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14004c0d0
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 0x14004bd5d
mov rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_fflush
jmp 0x14004bd5d
mov qword [rdi + 0x90], rbx
mov qword [rdi + 0x88], rbx
mov r14, rbx
jmp 0x14004bd19
mov eax, dword [rbx + 0x34]
jmp 0x14004bd09
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 0x14004c0ba
mov qword [r14 + 0x40], rax
mov r14, qword [rdi + 0x90]
jmp 0x14004bf19
mov rcx, r13
call qword [r13 + 0x48]
jmp 0x14004bdb6
test dil, dil
jne 0x14004c1b0
mov rcx, qword [rsi + 0x18]
call sym.libvlccore.dll_es_format_Clean
mov rcx, qword [rsi + 0x18]
call fcn.14016b5d8
jmp case.0x14004bfc3.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004bfc3.12
call sym.libvlccore.dll_vlc_epg_Delete
jmp case.0x14004bfc3.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004bfc3.12
call sym.libvlccore.dll_vlc_meta_Delete
jmp case.0x14004bfc3.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004bfc3.12
call sym.libvlccore.dll_vlc_epg_event_Delete
jmp case.0x14004bfc3.12
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je case.0x14004bfc3.12
call sym.libvlccore.dll_es_format_Clean
mov rcx, qword [rsi + 0x20]
call fcn.14016b5d8
jmp case.0x14004bfc3.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.14016b5d8
mov rcx, rbx
call fcn.14016b5d8
jmp 0x14004bf7c
mov rax, qword [rsi + 0x18]
test rax, rax
je case.0x14004bfc3.12
mov rcx, rax
call qword [rax + 0x48]
jmp case.0x14004bfc3.12
mov rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_fclose
mov rcx, qword [rsp + 0x20]
call sym.libvlccore.dll_vlc_unlink
jmp 0x14004c177
mov rcx, rbx
call fcn.14004b0a0
jmp 0x14004bf7c
call fcn.1400c4db0
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 [0x1402840b0]
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 0x14004c2d1
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 0x14004c310
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 0x14004c340
mov r10d, dword [rbx + 0x6c]
mov qword [rsp + 0x68], r13
test r10d, r10d
jle 0x14004c370
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 0x14004c42a
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 0x14004c300
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 0x14004c42f
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.14004bcb0
jmp 0x14004c2c9
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 0x14004c332
mov eax, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], eax
je 0x14004c383
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c244
mov ecx, 0x108
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x68], rax
je 0x14004c402
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_es_format_Copy
mov r10d, dword [rbx + 0x6c]
test r10d, r10d
jg 0x14004c278
mov ecx, 8
call sub.msvcrt.dll_malloc
mov qword [rbx + 0x70], rax
jmp 0x14004c290
mov rdx, qword [r14 + 0x88]
test rdx, rdx
je 0x14004c420
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 0x14004c244
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.14004b230
mov byte [r12 + 0x50], 0
jmp 0x14004c244
mov rcx, rbp
call sym.libvlccore.dll_vlc_mutex_unlock
mov rcx, rsi
xor esi, esi
call fcn.14016b5d8
jmp 0x14004c2d1
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c3b1
call sub.msvcrt.dll_abort
call fcn.1400c4db0
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 [0x1402840b0]
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 0x14004c564
cmp ebx, 0x10000
je 0x14004c840
jle 0x14004c513
cmp ebx, 0x1000d
je 0x14004c720
jg 0x14004c8d0
cmp ebx, 0x10008
je 0x14004c9b0
jle 0x14004c6f0
cmp ebx, 0x1000b
je 0x14004c900
cmp ebx, 0x1000c
jne 0x14004c9e4
mov r15d, dword [r13]
mov r14d, dword [r13 + 8]
movzx r8d, byte [rsi + 0x50]
cmp r15d, r14d
jne 0x14004c7b0
cmp r8b, 1
je 0x14004c7b0
mov rcx, qword [rsi + 8]
mov r9d, r14d
mov r8d, r15d
mov edx, 0x1000c
call fcn.14004aaf0
mov ebx, eax
jmp 0x14004c817
cmp ebx, 0x12
jle 0x14004c743
cmp ebx, 0x15
je 0x14004c9e4
jle 0x14004c610
cmp ebx, 0x16
jne 0x14004ca90
mov edx, dword [r13]
mov r9, qword [r13 + 8]
test edx, edx
setne r8b
je 0x14004c54e
cmp byte [rsi + 0x50], 0
jne 0x14004cb47
mov rcx, qword [rsi + 8]
and r8d, 1
mov edx, 0x16
call fcn.14004aaf0
mov ebx, eax
jmp 0x14004c5e0
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 0x14004c589
mov edx, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], edx
je 0x14004c670
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
mov rsi, qword [rbp + 0x28]
cmp ebx, 0x10000
je 0x14004c840
jg 0x14004c49c
cmp ebx, 0x12
jg 0x14004c51c
cmp ebx, 6
jge 0x14004c840
test ebx, ebx
js 0x14004c9e4
cmp ebx, 4
jle 0x14004c840
cmp byte [rsi + 0x50], 0
mov r9, qword [r13 + 8]
je 0x14004c761
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 0x14004cde9
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 0x13
jne 0x14004c830
cmp byte [rsi + 0x50], 0
mov r15, qword [r13]
je 0x14004c788
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 0x14004c780
mov eax, dword [r11 + 0x34]
cmp dword [r11 + 0x30], eax
jge 0x14004c780
mov rcx, rbp
xor ebx, ebx
call sym.libvlccore.dll_vlc_mutex_unlock
mov byte [r15], 0
jmp 0x14004c5e0
mov rcx, qword [r14 + 0x88]
test rcx, rcx
je 0x14004cbd0
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 0x14004c6e4
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.14004b230
mov byte [rsi + 0x50], 0
mov rsi, qword [rbp + 0x28]
jmp 0x14004c595
cmp ebx, 0x10001
jne 0x14004c9e4
cmp byte [rsi + 0x50], 0
mov r13, qword [r13]
je 0x14004cad0
mov qword [r13], 0
xor ebx, ebx
jmp 0x14004c5e0
cmp byte [rsi + 0x50], 0
mov r8, qword [r13]
jne 0x14004ccee
mov rcx, qword [rsi + 8]
mov edx, 0x1000d
call fcn.14004aaf0
mov ebx, eax
jmp 0x14004c5e0
cmp ebx, 6
jge 0x14004c840
test ebx, ebx
js 0x14004c9e4
cmp ebx, 4
jle 0x14004c840
mov r9, qword [r13 + 8]
mov rbx, qword [r13]
mov rcx, qword [rsi + 8]
mov edx, 5
mov r8, qword [rbx]
call fcn.14004aaf0
mov ebx, eax
jmp 0x14004c5e0
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.14004aaf0
movzx esi, byte [rsp + 0x50]
mov byte [r15], sil
jmp 0x14004c5e0
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004cd85
test r8b, r8b
je 0x14004cb35
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.14004aaf0
mov rcx, r13
mov ebx, eax
call sym.libvlccore.dll_vlc_mutex_unlock
test ebx, ebx
jne 0x14004c5e0
mov dword [rsi + 0x68], r15d
mov dword [rsi + 0x64], r14d
jmp 0x14004c5e0
cmp ebx, 0x14
jne 0x14004c9e4
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 0x14004cbc0
jle 0x14004ca40
cmp ebx, 0x12
je 0x14004cbfd
jg 0x14004cb72
cmp ebx, 0xf
je 0x14004cc45
jg 0x14004cc16
cmp ebx, 0xd
je 0x14004ccb2
cmp ebx, 0xe
jne 0x14004cc7f
mov r10d, dword [r13]
test bpl, bpl
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x68], r10d
jne 0x14004cd6d
mov qword [rsp + 0x70], rcx
cmp byte [rsi + 0x50], 0
je 0x14004cb20
mov rcx, qword [rsi + 0x58]
lea rdx, [rsp + 0x50]
xor ebx, ebx
call fcn.14004bcb0
jmp 0x14004c5e0
cmp ebx, 0x10010
jg 0x14004c9d0
cmp ebx, 0x1000f
jge 0x14004c840
mov rcx, qword [rsi + 8]
mov edx, 0x1000e
call fcn.14004aaf0
mov ebx, eax
jmp 0x14004c5e0
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 0x14004ca04
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004cdc7
mov r14, qword [rsi + 0x58]
lea r15, [r14 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_lock
test ebx, ebx
je 0x14004ca95
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov qword [rsp + 0x20], r13
mov r8d, 1
mov edx, 0x1000b
call fcn.14004aaf0
test eax, eax
mov ebx, eax
jne 0x14004c985
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 0x14004c5e0
movzx r9d, byte [rsp + 0x4c]
mov byte [rsi + 0x60], bpl
mov byte [rsi + 0x61], r9b
jmp 0x14004c5e0
cmp byte [rsi + 0x50], 0
mov rbx, qword [r13]
je 0x14004caf3
mov byte [rbx], 1
xor ebx, ebx
jmp 0x14004c5e0
cmp ebx, 0x10011
je 0x14004c9ee
cmp ebx, 0x10012
je 0x14004c840
cmp byte [rsi + 0x50], 0
jne 0x14004cb47
mov rax, qword [rsi + 8]
mov edx, ebx
mov r8, r13
mov rcx, rax
call qword [rax + 0x18]
mov ebx, eax
jmp 0x14004c5e0
test eax, eax
sete cl
cmp bpl, cl
je 0x14004cb51
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.14004aaf0
mov ebx, eax
jmp 0x14004c98d
cmp ebx, 6
je 0x14004cc2e
jle 0x14004cbe0
cmp ebx, 9
je 0x14004cc7f
jle 0x14004cba8
cmp ebx, 0xa
je 0x14004c8b1
cmp ebx, 0xb
jne 0x14004cc7f
mov rcx, qword [r13]
test bpl, bpl
mov r13, qword [r13 + 8]
mov qword [rsp + 0x68], rcx
jne 0x14004cd45
mov qword [rsp + 0x70], r13
jmp 0x14004c8b1
jmp 0x14004c9ee
mov rcx, qword [r14 + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov edx, 0x1000b
call fcn.14004aaf0
test eax, eax
mov ebx, eax
jne 0x14004c985
mov r8, r13
sub r8, qword [r14 + 0x60]
add qword [r14 + 0x98], r8
jmp 0x14004c972
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0x50]
mov edx, 0x10001
xor ebx, ebx
call fcn.14004aaf0
mov rcx, qword [rsp + 0x50]
mov qword [r13], rcx
jmp 0x14004c5e0
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0x50]
mov edx, 0x10008
call fcn.14004aaf0
movzx r10d, byte [rsp + 0x50]
mov byte [rbx], r10b
xor ebx, ebx
jmp 0x14004c5e0
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0x50]
call fcn.14004ab40
mov ebx, eax
jmp 0x14004c5e0
mov rcx, rsi
call fcn.14004aed0
cmp byte [rsi + 0x50], 0
jne 0x14004c7c6
mov ebx, 0xffffffff
jmp 0x14004c5e0
mov rcx, qword [rsi]
cmp byte [rcx + 0x2b], 0
jne 0x14004cdc7
mov rcx, rsi
call fcn.14004aed0
cmp byte [rsi + 0x50], 0
jne 0x14004c935
jmp 0x14004cb47
cmp ebx, 0x1000f
je 0x14004cc96
jle 0x14004cc72
cmp ebx, 0x10010
jne 0x14004cd40
mov edx, dword [r13 + 0x10]
movdqu xmm0, xmmword [r13]
mov dword [rsp + 0x78], edx
movups xmmword [rsp + 0x68], xmm0
jmp 0x14004c8b1
cmp ebx, 7
je 0x14004cc20
cmp ebx, 8
jne 0x14004cc7f
nop word cs:[rax + rax]
mov r13, qword [r13]
mov qword [rsp + 0x68], r13
jmp 0x14004c8b1
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004c69c
cmp ebx, 2
je 0x14004c8b1
jle 0x14004cd33
cmp ebx, 3
je 0x14004cbc0
cmp ebx, 4
jne 0x14004cc7f
mov ecx, dword [r13 + 8]
mov rbp, qword [r13]
test ecx, ecx
mov qword [rsp + 0x68], rbp
setne byte [rsp + 0x70]
jmp 0x14004c8b1
cmp ebx, 0x10
je 0x14004cbc0
cmp ebx, 0x11
jne 0x14004cc7f
mov r11d, dword [r13]
mov dword [rsp + 0x68], r11d
jmp 0x14004c8b1
mov r8d, dword [r13]
mov r9d, dword [r13 + 8]
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], r9d
jmp 0x14004c8b1
mov eax, dword [r13]
test bpl, bpl
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x68], eax
je 0x14004c8ac
call sym.libvlccore.dll_vlc_epg_event_Duplicate
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x14004c8b1
jmp 0x14004cb47
cmp ebx, 0x14
je 0x14004ccbe
cmp ebx, 0x10000
je 0x14004cc20
mov r14d, dword [r13]
mov r15, qword [r13 + 8]
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x70], r15
jmp 0x14004c8b1
movdqu xmm2, xmmword [r13 + 8]
movsd xmm1, qword [r13]
movaps xmmword [rsp + 0x70], xmm2
movsd qword [rsp + 0x68], xmm1
jmp 0x14004c8b1
mov ebx, dword [r13]
add r13, 8
mov dword [rsp + 0x68], ebx
test bpl, bpl
mov r13, qword [r13]
je 0x14004ca86
call sym.libvlccore.dll_vlc_meta_New
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14004cb47
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_vlc_meta_Merge
jmp 0x14004c8b1
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 0x14004c5e0
test ebx, ebx
jns 0x14004cbc0
jmp 0x14004cc7f
jmp 0x14004c8b1
mov ecx, 0x108
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14004cb47
mov rdx, r13
mov rcx, rax
call sym.libvlccore.dll_es_format_Copy
jmp 0x14004c8b1
call sym.libvlccore.dll_vlc_epg_Duplicate
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x14004c8b1
jmp 0x14004cb47
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 0x14004c5e0
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 0x14004cda5
call fcn.1400c4db0
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 [0x1402840b0]
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 0x14004ced4
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 0x14004cec1
test rsi, rsi
mov rbx, qword [rbx + 8]
mov qword [rsp + 0x68], 0
je 0x14004cf8a
mov rdx, qword [r13]
test rdx, rdx
je 0x14004cf95
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 0x14004cfa6
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.14004bcb0
jmp 0x14004ce90
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 0x14004cef6
mov eax, dword [r14 + 0x6c]
cmp dword [r14 + 0x68], eax
je 0x14004cf03
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004ce42
mov rdx, qword [r14 + 0x88]
test rdx, rdx
je 0x14004cf80
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 0x14004ce42
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.14004b230
mov byte [r12 + 0x50], 0
jmp 0x14004ce42
mov rcx, r15
call sym.libvlccore.dll_vlc_mutex_unlock
jmp 0x14004cf2d
mov r13d, 0xffffffff
jmp 0x14004ce90
mov rcx, rsi
mov r13d, 0xffffffff
call qword [rsi + 0x48]
jmp 0x14004ce90
call fcn.1400c4db0
nop
nop dword [rax]