Function at 0x1009f040
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [0x100e1694]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xe8], edi
mov ecx, dword [edi + 0xb0]
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx + 4]
cmp eax, 0x1b
je 0x1009f099
mov dword [ebp - 0xf8], 1
cmp eax, 0xad
jne 0x1009f0a3
mov dword [ebp - 0xf8], 0
test byte [ebx + 0x448], 0x10
jne 0x1009fd12
cmp dword [ecx], 0
jne 0x1009f1ed
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test edx, edx
jne 0x1009f0ce
cmp eax, 0x80000000
je 0x1009f1e7
cmp edx, dword [esi + 8]
jne 0x1009f18e
cmp eax, dword [esi + 0xc]
jne 0x1009f18e
mov ecx, dword [edi + 0x1a4]
cmp dword [ecx + 0x1b8], 0
mov ebx, dword [ecx + 0x1bc]
jne 0x1009f101
cmp ebx, 0x80000000
je 0x1009f188
cmp ebx, eax
jg 0x1009f117
jl 0x1009f10f
cmp dword [ecx + 0x1b8], edx
ja 0x1009f117
inc byte [ecx + 0x1c0]
jmp 0x1009f154
cmp byte [ecx + 0x1c1], 0
push ebx
push dword [ecx + 0x1b8]
push eax
push edx
mov edx, 0x30
mov eax, 0x18
push str.DTS__lli____lli_out_of_order_n
cmovne eax, edx
push eax
push dword [ebp - 0xc8]
call sub.avutil_56.dll_av_log
mov eax, dword [edi + 0x1a4]
add esp, 0x1c
inc byte [eax + 0x1c1]
mov ebx, dword [edi + 0x1a4]
mov dl, byte [ebx + 0x1c0]
movzx ecx, byte [ebx + 0x1c1]
movzx eax, dl
add ecx, eax
cmp ecx, 0xfa
jbe 0x1009f188
shr dl, 1
mov byte [ebx + 0x1c0], dl
mov eax, dword [edi + 0x1a4]
shr byte [eax + 0x1c1], 1
mov ebx, dword [ebp - 0xc8]
mov eax, dword [edi + 0x1a4]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [eax + 0x1b8], ecx
mov dword [eax + 0x1bc], edx
mov eax, dword [edi + 0x1a4]
movzx ecx, byte [eax + 0x1c1]
movzx eax, byte [eax + 0x1c0]
shl ecx, 3
cmp eax, ecx
jae 0x1009f1e7
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 8]
jne 0x1009f1e7
mov eax, dword [esi + 0x14]
mov edx, dword [ebp - 0xcc]
cmp eax, dword [esi + 0xc]
jne 0x1009f1ed
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0x80000000
jmp 0x1009f1ed
mov edx, dword [ebp - 0xcc]
test byte [ebx + 0x448], 8
je 0x1009f213
cmp dword [esi + 8], 0
jne 0x1009f205
cmp dword [esi + 0xc], 0x80000000
je 0x1009f213
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0x80000000
test edx, edx
je 0x1009f239
cmp dword [edx + 0x20], 3
jne 0x1009f239
mov eax, dword [edi + 0x1a4]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x8c], 0
jne 0x1009f239
mov dword [eax + 0x8c], 1
mov eax, dword [edi + 0x1a4]
xor ecx, ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x1009f270
test edx, edx
je 0x1009f270
cmp dword [edx + 0x20], 3
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0xec], ecx
mov ebx, dword [esi + 8]
mov edx, ebx
mov eax, dword [esi + 0xc]
mov ecx, eax
test ebx, ebx
jne 0x1009f289
cmp eax, 0x80000000
je 0x1009f3da
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0xd0], ecx
mov ecx, eax
jne 0x1009f2b6
cmp dword [ebp - 0xd0], 0x80000000
je 0x1009f3da
mov eax, dword [edi + 0xb8]
cmp eax, 0x3f
jge 0x1009f3da
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov dword [ebp - 0xdc], ecx
mov eax, ecx
cmovae edx, ecx
mov ecx, dword [esi + 0xc]
add eax, 0
mov dword [ebp - 0xe0], edx
mov edx, ebx
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe0]
adc eax, 0x80000000
cmp dword [ebp - 0xd0], eax
jl 0x1009f3da
jg 0x1009f321
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0xd4], eax
jbe 0x1009f3da
mov eax, dword [edi + 0xb8]
xor ecx, ecx
dec eax
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [ebp - 0xd4]
cmovae edx, ecx
sub eax, ecx
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd0]
sbb eax, edx
mov edx, ebx
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0xc]
mov ecx, eax
cmp dword [ebp - 0xe4], eax
jl 0x1009f3da
jg 0x1009f372
cmp dword [ebp - 0xf0], ebx
jbe 0x1009f3da
mov ecx, dword [edi + 0xcc]
mov edx, dword [edi + 0xc8]
push ecx
push edx
call fcn.100a6980
add esp, 8
test eax, eax
jne 0x1009f3b7
cmp dword [ebp - 0xe4], ecx
jg 0x1009f3b7
jl 0x1009f39e
cmp dword [ebp - 0xf0], edx
ja 0x1009f3b7
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
add edx, ebx
mov dword [esi + 8], edx
adc ecx, dword [esi + 0xc]
mov dword [esi + 0xc], ecx
jmp 0x1009f3da
mov eax, dword [ebp - 0xd4]
mov edx, ebx
sub eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
sbb ecx, dword [ebp - 0xe0]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
cmp dword [ebp - 0xd8], 1
jne 0x1009f4a7
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
cmp ebx, edx
jne 0x1009f4a7
cmp eax, ecx
jne 0x1009f4a7
test ebx, ebx
jne 0x1009f40c
cmp eax, 0x80000000
je 0x1009f4a7
cmp dword [ebp - 0xec], 0
je 0x1009f4a7
push eax
push ebx
mov ebx, dword [ebp - 0xc8]
push str.invalid_dts_pts_combination__lli_n
push 0x30
push ebx
call sub.avutil_56.dll_av_log
mov eax, dword [ebx + 4]
add esp, 0x14
mov ecx, str.mov_mp4_m4a_3gp_3g2_mj2
mov edx, dword [eax]
mov eax, edx
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x1009f460
test bl, bl
je 0x1009f45c
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x1009f460
add eax, 2
add ecx, 2
test bl, bl
jne 0x1009f440
xor eax, eax
jmp 0x1009f465
sbb eax, eax
or eax, 1
test eax, eax
je 0x1009f4a7
mov eax, 0x100da3ec
nop
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x1009f490
test cl, cl
je 0x1009f48c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x1009f490
add edx, 2
add eax, 2
test cl, cl
jne 0x1009f470
xor eax, eax
jmp 0x1009f495
sbb eax, eax
or eax, 1
test eax, eax
je 0x1009f4a7
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0x80000000
push dword [edi + 0x14]
push dword [edi + 0x10]
push 1
push dword [esi + 0x30]
call sub.avutil_56.dll_av_mul_q
add esp, 0x10
mov dword [ebp - 0xf0], eax
cmp dword [esi + 0x34], 0
mov dword [ebp - 0xe4], edx
jg 0x1009f53b
jl 0x1009f4d4
cmp dword [esi + 0x30], 0
ja 0x1009f53b
mov ebx, dword [ebp - 0xcc]
lea eax, [ebp - 0x100]
push esi
push ebx
push edi
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0xc8]
call fcn.10001398
mov eax, dword [ebp - 0x100]
add esp, 0x18
test eax, eax
je 0x1009f541
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x1009f541
mov dword [ebp - 0xe4], eax
imul dword [edi + 0x10]
push 2
push edx
push eax
mov eax, ecx
mov dword [ebp - 0xf0], ecx
imul dword [edi + 0x14]
push edx
push eax
push 0
push 1
call sub.avutil_56.dll_av_rescale_rnd
add esp, 0x1c
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
jmp 0x1009f541
mov ebx, dword [ebp - 0xcc]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
test edx, edx
jl 0x1009f57d
jg 0x1009f551
test ecx, ecx
je 0x1009f57d
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x50c]
cmp dword [eax + 4], 0
jne 0x1009f569
cmp dword [eax + 0x24], 0
je 0x1009f57d
push edx
push ecx
push dword [esi + 0x20]
push edi
push dword [ebp - 0xc8]
call fcn.100a94a0
add esp, 0x14
test ebx, ebx
je 0x1009f5e7
cmp dword [edi + 0xe4], 3
jne 0x1009f5e7
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1009f5e7
cdq
push edx
push eax
push dword [esi + 0x34]
push dword [esi + 0x30]
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
call sub.avutil_56.dll_av_rescale
mov ecx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
add esp, 0x18
test eax, eax
jne 0x1009f5c2
cmp ecx, 0x80000000
je 0x1009f5cc
add eax, ebx
mov dword [esi + 8], eax
adc ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test ecx, ecx
jne 0x1009f5dd
cmp eax, 0x80000000
je 0x1009f5e7
add ecx, ebx
mov dword [esi + 0x10], ecx
adc eax, edx
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test edx, edx
jne 0x1009f5f8
cmp eax, 0x80000000
je 0x1009f61e
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
test ebx, ebx
jne 0x1009f60a
cmp ecx, 0x80000000
je 0x1009f61e
cmp ecx, eax
jl 0x1009f61e
jg 0x1009f614
cmp ebx, edx
jbe 0x1009f61e
mov dword [ebp - 0xec], 1
mov edi, dword [ebp - 0xc8]
mov ebx, edx
mov ecx, eax
test byte [edi + 0x4a8], 1
mov edi, dword [ebp - 0xe8]
je 0x1009f759
mov ecx, dword [edi + 0xc8]
xorps xmm0, xmm0
mov eax, dword [edi + 0xcc]
movups xmmword [ebp - 0x24], xmm0
movups xmmword [ebp - 0x14], xmm0
movups xmmword [ebp - 0x44], xmm0
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x64], xmm0
movups xmmword [ebp - 0x54], xmm0
test ecx, ecx
jne 0x1009f682
cmp eax, 0x80000000
jne 0x1009f682
push str.NOPTS
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009f697
push eax
push ecx
push str._lld
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test ecx, ecx
jne 0x1009f6bd
cmp eax, 0x80000000
jne 0x1009f6bd
push str.NOPTS
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009f6d2
push eax
push ecx
push str._lld
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
test ecx, ecx
jne 0x1009f6f8
cmp eax, 0x80000000
jne 0x1009f6f8
push str.NOPTS
lea eax, [ebp - 0x64]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009f70d
push eax
push ecx
push str._lld
lea eax, [ebp - 0x64]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
push dword [ebp - 0xf8]
lea eax, [ebp - 0x24]
push dword [ebp - 0xd8]
push dword [esi + 0x34]
push dword [esi + 0x30]
push dword [ebp - 0xcc]
push dword [esi + 0x20]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0xec]
push str.IN_delayed:_d_pts:_s__dts:_s_cur_dts:_s_st:_d_pc:_p_duration:_lld_delay:_d_onein_oneout:_d_n
push 0x30
push dword [ebp - 0xc8]
call sub.avutil_56.dll_av_log
mov edx, dword [esi + 0x10]
add esp, 0x34
mov eax, dword [esi + 0x14]
mov ebx, edx
mov ecx, eax
cmp dword [ebp - 0xd8], 0
je 0x1009f77c
cmp dword [ebp - 0xd8], 1
jne 0x1009fa4f
cmp dword [ebp - 0xcc], 0
je 0x1009fa4f
cmp dword [ebp - 0xf8], 0
je 0x1009fa4f
cmp dword [ebp - 0xec], 0
je 0x1009f984
test ebx, ebx
jne 0x1009f7b4
cmp ecx, 0x80000000
jne 0x1009f7b4
mov ebx, dword [edi + 0xd0]
mov ecx, dword [edi + 0xd4]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ecx
push esi
push dword [esi + 0xc]
push dword [esi + 8]
push ecx
push ebx
push dword [esi + 0x20]
push dword [ebp - 0xc8]
call fcn.100a99d0
mov ebx, dword [esi + 0x10]
add esp, 0x1c
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xd4], eax
test ebx, ebx
jne 0x1009f809
cmp eax, 0x80000000
jne 0x1009f809
mov ebx, dword [edi + 0xc8]
mov eax, dword [edi + 0xcc]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xd4], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], eax
mov edx, dword [edi + 0xd8]
mov dword [ebp - 0xdc], edx
test edx, edx
jne 0x1009f85d
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xdc], edx
cmp dword [esi + 0x34], edx
ja 0x1009f85d
jb 0x1009f83d
cmp ecx, 0x7fffffff
ja 0x1009f85d
mov dword [edi + 0xd8], ecx
mov edx, ecx
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xdc], ecx
test ebx, ebx
jne 0x1009f86c
cmp eax, 0x80000000
je 0x1009f955
mov esi, dword [ebp - 0xd4]
mov eax, edx
cdq
mov ecx, eax
add ebx, ecx
mov eax, ebx
adc esi, edx
not eax
xor dword [ebp - 0xd0], ecx
mov dword [ebp - 0xe0], eax
mov eax, esi
mov dword [ebp - 0xe8], esi
not eax
mov esi, dword [ebp - 0xe0]
xor eax, edx
xor esi, ecx
mov ecx, dword [ebp - 0xd4]
or esi, dword [ebp - 0xd0]
xor ecx, edx
or eax, ecx
mov dword [ebp - 0xe0], esi
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
jl 0x1009f8e1
jg 0x1009f8ce
cmp dword [ebp - 0xe0], 0
jb 0x1009f8e1
mov ebx, edx
sar edx, 0x1f
sar ebx, 0x1f
xor ebx, 0xffffffff
xor edx, 0x7fffffff
jmp 0x1009f8e7
mov edx, dword [ebp - 0xe8]
mov dword [edi + 0xc8], ebx
mov dword [edi + 0xcc], edx
cmp dword [esi + 0x10], 0
jne 0x1009f902
cmp dword [esi + 0x14], 0x80000000
je 0x1009f955
cmp dword [esi + 8], 0
jne 0x1009f955
cmp dword [esi + 0xc], 0x80000000
jne 0x1009f955
cmp dword [ebp - 0xdc], 0
jle 0x1009f955
mov eax, dword [ebp + 0x18]
sub ebx, eax
mov ecx, dword [ebp + 0x1c]
sbb edx, ecx
add ebx, 1
adc edx, 0
test edx, edx
ja 0x1009f955
jb 0x1009f935
cmp ebx, 2
ja 0x1009f955
mov ebx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
cmp eax, ebx
jne 0x1009f943
cmp ecx, edx
je 0x1009f955
test ebx, ebx
jne 0x1009f94f
cmp edx, 0x80000000
je 0x1009f955
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
cmp dword [esi + 0x34], 0
mov eax, dword [esi + 0x30]
ja 0x1009f96d
jb 0x1009f967
cmp eax, 0x7fffffff
ja 0x1009f96d
mov dword [edi + 0xd8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0xd0], eax
mov dword [edi + 0xd4], ecx
jmp 0x1009fa4f
cmp dword [esi + 8], 0
jne 0x1009f9b7
cmp dword [esi + 0xc], 0x80000000
jne 0x1009f9b7
mov edx, ebx
mov eax, ecx
test ebx, ebx
jne 0x1009f9b7
cmp ecx, 0x80000000
jne 0x1009f9b7
cmp dword [esi + 0x34], edx
jl 0x1009fa4f
jg 0x1009f9b7
cmp dword [esi + 0x30], edx
jbe 0x1009fa4f
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x1009f9d1
cmp dword [esi + 0xc], 0x80000000
jne 0x1009f9d1
mov dword [esi + 8], edx
mov ecx, edx
mov dword [esi + 0xc], eax
jmp 0x1009f9d4
mov eax, dword [esi + 0xc]
push esi
push eax
push ecx
push eax
push ecx
push dword [esi + 0x20]
push dword [ebp - 0xc8]
call fcn.100a99d0
mov ecx, dword [esi + 8]
add esp, 0x1c
mov eax, dword [esi + 0xc]
test ecx, ecx
jne 0x1009fa0d
cmp eax, 0x80000000
jne 0x1009fa0d
mov ecx, dword [edi + 0xc8]
mov eax, dword [edi + 0xcc]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
test ecx, ecx
jne 0x1009fa1e
cmp eax, 0x80000000
je 0x1009fa4f
mov edx, dword [ebp - 0xf0]
test edx, edx
js 0x1009fa4f
push 0
push 1
push dword [ebp - 0xe4]
push edx
push eax
push ecx
push dword [edi + 0x14]
push dword [edi + 0x10]
call sub.avutil_56.dll_av_add_stable
add esp, 0x20
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], edx
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
test edx, edx
jne 0x1009fa65
cmp ecx, 0x80000000
je 0x1009fb42
mov ebx, dword [ebp - 0xd8]
cmp ebx, 0x10
jg 0x1009fb42
mov eax, dword [edi + 0x1a4]
mov dword [eax + 0x130], edx
xor edx, edx
mov dword [eax + 0x134], ecx
test ebx, ebx
jle 0x1009fb14
mov ecx, 0x130
nop word [eax + eax]
mov eax, dword [edi + 0x1a4]
mov esi, dword [ecx + eax + 4]
mov ebx, dword [ecx + eax]
mov dword [ebp - 0xe8], esi
mov esi, dword [ecx + eax + 8]
mov dword [ebp - 0xf0], esi
mov esi, dword [ecx + eax + 0xc]
cmp dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], esi
mov esi, dword [ebp - 0xf0]
jl 0x1009fb0e
jg 0x1009fadb
cmp ebx, esi
jbe 0x1009fb0e
mov dword [ecx + eax + 8], ebx
inc edx
mov ebx, dword [ebp - 0xe8]
mov dword [ecx + eax + 0xc], ebx
mov eax, dword [edi + 0x1a4]
mov ebx, dword [ebp - 0xf0]
mov dword [ecx + eax], ebx
mov ebx, dword [ebp - 0xe4]
mov dword [ecx + eax + 4], ebx
add ecx, 8
cmp edx, dword [ebp - 0xd8]
jl 0x1009faa0
mov esi, dword [ebp - 0xfc]
push edi
call fcn.100a6720
add esp, 4
test eax, eax
je 0x1009fb42
push dword [esi + 0x14]
mov eax, dword [edi + 0x1a4]
push dword [esi + 0x10]
add eax, 0x130
push eax
push edi
call fcn.100a88a0
add esp, 0x10
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
cmp dword [ebp - 0xf8], 0
jne 0x1009fb69
push esi
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0x20]
push dword [ebp - 0xc8]
call fcn.100a99d0
add esp, 0x1c
mov ebx, dword [esi + 0x14]
mov ecx, dword [edi + 0xcc]
mov edx, dword [esi + 0x10]
mov eax, dword [edi + 0xc8]
cmp ebx, ecx
jl 0x1009fb95
jg 0x1009fb85
cmp edx, eax
jbe 0x1009fb95
mov dword [edi + 0xc8], edx
mov eax, edx
mov dword [edi + 0xcc], ebx
mov ecx, ebx
mov ebx, dword [ebp - 0xc8]
test byte [ebx + 0x4a8], 1
je 0x1009fcc6
xorps xmm0, xmm0
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0x74], xmm0
movups xmmword [ebp - 0xa4], xmm0
movups xmmword [ebp - 0x94], xmm0
movups xmmword [ebp - 0xc4], xmm0
movups xmmword [ebp - 0xb4], xmm0
test eax, eax
jne 0x1009fbf6
cmp ecx, 0x80000000
jne 0x1009fbf6
push str.NOPTS
lea eax, [ebp - 0x84]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009fc0e
push ecx
push eax
push str._lld
lea eax, [ebp - 0x84]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test ecx, ecx
jne 0x1009fc37
cmp eax, 0x80000000
jne 0x1009fc37
push str.NOPTS
lea eax, [ebp - 0xa4]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009fc4f
push eax
push ecx
push str._lld
lea eax, [ebp - 0xa4]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
test ecx, ecx
jne 0x1009fc78
cmp eax, 0x80000000
jne 0x1009fc78
push str.NOPTS
lea eax, [ebp - 0xc4]
push 0x20
push eax
call fcn.10001564
add esp, 0xc
jmp 0x1009fc90
push eax
push ecx
push str._lld
lea eax, [ebp - 0xc4]
push 0x20
push eax
call fcn.10001564
add esp, 0x14
push dword [edi + 4]
lea eax, [ebp - 0x84]
push dword [edi]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xd8]
push dword [ebp - 0xec]
push str.OUTdelayed:_d__d_pts:_s__dts:_s_cur_dts:_s_st:_d___d__n
push 0x30
push ebx
call sub.avutil_56.dll_av_log
add esp, 0x28
mov eax, dword [edi + 0xb0]
cmp dword [eax], 2
je 0x1009fcf2
push dword [eax + 4]
call sub.avcodec_58.dll_avcodec_descriptor_get
add esp, 4
test eax, eax
je 0x1009fcf6
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1009fcec
cmp ecx, 1
jne 0x1009fcf2
test byte [eax + 0x10], 1
je 0x1009fcf6
or dword [esi + 0x24], 1
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
je 0x1009fd12
mov eax, dword [ecx + 0xe8]
mov ecx, dword [ecx + 0xec]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10001348
mov esp, ebp
pop ebp
ret