Function at 0x10027e91
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1e0
mov eax, dword [0x101db764]
mov edi, dword [ebp + 8]
xor eax, ebp
xor ecx, ecx
mov dword [esp + 0x1d8], eax
inc ecx
xor eax, eax
push ecx
push eax
push eax
push dword [edi + 0x10]
call fcn.1002daa0
add esp, 0x10
mov dword [esp + 0x7c], eax
lea eax, [edi + 0x18]
mov ebx, dword [edi + 0x45c]
mov esi, dword [edi + 0x458]
mov dword [esp + 0x78], edx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x454]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x450]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 4]
push str.missing_streams
push dword [edi + 0xc]
push dword [eax + 0x14]
call fcn.100554d2
add esp, 0xc
mov dword [esp + 0x24], eax
xor eax, eax
inc eax
push eax
push 0x1019ca7c
push str.skip_clear
push edi
call fcn.10053d64
add esp, 0x10
mov eax, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], esi
or eax, ebx
mov eax, dword [esp + 0x1c]
jne 0x10027fc9
mov eax, dword [edi + 4]
mov esi, dword [eax]
push 0x1018cd73
push esi
call fcn.1016bef0
add esp, 8
test eax, eax
je 0x10027fa5
push 0x1019ca89
push esi
call fcn.1016bef0
add esp, 8
test eax, eax
mov eax, 0x55d4a80
mov ecx, 0x4c4b40
mov dword [esp + 0x38], 0x4c4b40
cmovne eax, ecx
mov dword [esp + 0x6c], eax
push str.mpegts
push esi
call fcn.1016bef0
add esp, 8
test eax, eax
je 0x10027fa5
mov dword [esp + 0x54], 0
jmp 0x10027fbd
mov dword [esp + 0x54], 0
mov dword [esp + 0x38], 0x4c4b40
mov dword [esp + 0x6c], 0x6acfc0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], 0x1c9c380
cmp dword [eax], 0
je 0x10028247
mov eax, dword [ebp + 0xc]
xor esi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xd0], 0
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + esi*4]
mov ecx, dword [edi + 0xb0]
mov eax, dword [edi + 0x2b8]
mov ecx, dword [ecx]
mov ebx, dword [eax + 0x10]
cmp ecx, 3
je 0x10028006
test ecx, ecx
jne 0x1002801c
cmp dword [ebx + 0x4c], 0
jne 0x1002801c
movsd xmm0, qword [edi + 0x10]
movsd qword [ebx + 0x4c], xmm0
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 0x10]
cmp ecx, dword [eax + 0x18]
je 0x1002804d
mov eax, dword [edi + 0xb0]
mov dword [eax + 4], ecx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xb0]
mov eax, dword [eax + 8]
mov dword [ecx], eax
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x2b8]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
cmp dword [edi + 0xe8], 0
jne 0x1002806f
mov eax, dword [ebp + 8]
test byte [eax + 0x448], 0x20
jne 0x1002806f
cmp dword [edi + 0x1b8], 0
jle 0x100281b4
mov eax, dword [edi + 0xb0]
mov edx, dword [edi + 0x2b8]
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 0x18]
je 0x1002808c
mov dword [edx + 0x18], ecx
mov eax, dword [edi + 0xb0]
push eax
push ebx
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
js 0x10029e79
cmp dword [edi + 0x1b8], 0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], esi
jg 0x100280bc
mov eax, dword [edi + 0x2b8]
mov dword [eax + 0x14], 1
mov eax, dword [edi + 0xb0]
mov esi, dword [ebp + 8]
mov edx, edi
mov ecx, esi
push dword [eax + 4]
call fcn.10029f5f
add esp, 4
cmp dword [ebp + 0xc], 0
lea ebx, [esp + 0xd0]
mov dword [esp + 0xc], eax
cmovne ebx, dword [esp + 0x10]
xor eax, eax
push eax
push 0x1019ca7c
push str.threads
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov eax, dword [esi + 0x504]
test eax, eax
je 0x10028119
push 0
push eax
push str.codec_whitelist
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
cmp dword [esp + 0xc], 0
mov esi, dword [esp + 0x20]
je 0x1002814a
mov eax, dword [edi + 0xb0]
cmp dword [eax], 3
jne 0x1002814a
mov eax, dword [esp + 0x30]
cmp dword [eax + 0xc], 0
jne 0x1002814a
push ebx
push dword [esp + 0x10]
push dword [esp + 0x38]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
xor edx, edx
mov ecx, edi
call fcn.10029fda
test eax, eax
je 0x10028186
cmp dword [ebp + 0xc], 0
jne 0x1002816d
lea eax, [esp + 0xd0]
push eax
call sym.ffmpeg.dll_av_dict_free
add esp, 4
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 8]
add dword [esp + 0x10], 4
inc esi
mov eax, dword [eax]
cmp esi, eax
jb 0x10027fdb
jmp 0x100281ff
cmp dword [esp + 0xc], 0
je 0x10028157
mov eax, dword [edi + 0x1b8]
test eax, eax
jg 0x10028157
mov eax, dword [esp + 0x30]
cmp dword [eax + 0xc], 0
jne 0x10028157
push ebx
push dword [esp + 0x10]
push dword [esp + 0x38]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
jmp 0x10028157
mov eax, dword [edi + 0xb0]
push dword [eax + 4]
call fcn.1001a890
add esp, 4
test eax, eax
mov dword [edi + 0xe8], eax
je 0x1002806f
mov ecx, dword [edi + 0xe4]
cmp ecx, 5
je 0x100281f3
cmp ecx, 2
jne 0x1002806f
or byte [eax + 0xb0], 1
jmp 0x1002806f
or byte [eax + 0xb1], 0x10
jmp 0x1002806f
test eax, eax
je 0x10028247
mov eax, 0x80000000
xor ecx, ecx
xor edx, edx
mov esi, dword [edi + 0x1c]
mov esi, dword [esi + edx*4]
mov esi, dword [esi + 0xb4]
mov dword [esi + 4], eax
mov dword [esi], ecx
mov esi, dword [edi + 0x1c]
mov esi, dword [esi + edx*4]
mov esi, dword [esi + 0xb4]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], ecx
mov esi, dword [edi + 0x1c]
mov esi, dword [esi + edx*4]
inc edx
mov esi, dword [esi + 0xb4]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
cmp edx, dword [edi + 0x18]
jb 0x1002820c
lea esi, [edi + 0x4a0]
push esi
call fcn.1002d72b
add esp, 4
test eax, eax
je 0x100287f1
mov ecx, 0xabb6a7bb
cmp dword [esp + 0x2c], 1
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
sbb eax, 0
jl 0x1002831a
xor eax, eax
lea ecx, [esp + 0xd0]
xorpd xmm0, xmm0
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x40], eax
movapd xmmword [ecx + 0x30], xmm0
movapd xmmword [ecx + 0x20], xmm0
movapd xmmword [ecx + 0x10], xmm0
movapd xmmword [ecx], xmm0
sub esp, 4
mov dword [esp], ecx
call sym.ffmpeg.dll_av_init_packet
add esp, 4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x10028317
xor edi, edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + edi*4]
mov ecx, dword [esi + 0xb4]
cmp dword [ecx + 0x3c], 1
jne 0x10028312
mov eax, dword [ebp + 0xc]
cmp edi, dword [esp + 0x48]
mov ecx, 0
lea ebx, [eax + edi*4]
cmovge ebx, ecx
test eax, eax
cmove ebx, eax
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
lea eax, [esp + 0xd4]
push eax
call fcn.1002a1df
add esp, 8
test eax, eax
jle 0x1002830c
xor edx, edx
mov ecx, esi
call fcn.10029fda
test eax, eax
je 0x100282e5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
inc edi
cmp edi, eax
jb 0x100282b9
mov edi, dword [ebp + 8]
push edi
call fcn.1002798d
add esp, 4
cmp dword [edi + 0x18], 0
je 0x10028774
xor ebx, ebx
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x2b8]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 8]
cmp eax, 1
je 0x10028417
test eax, eax
jne case.0x10028441.4
cmp dword [edi + 0x10], 0xd
jne 0x1002838f
cmp dword [edi + 0x14], 0
jne 0x1002838f
cmp dword [edi + 0x2a0], 0
jne 0x1002838f
push dword [edi + 0x70]
call fcn.1001cfd2
add esp, 4
mov esi, eax
call fcn.1001cfcc
push esi
push eax
call fcn.10006156
add esp, 8
cmp eax, dword [edi + 0x70]
jne 0x1002838f
mov dword [edi + 0x14], esi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xb4]
mov ecx, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
mov dword [esp + 0x20], ecx
or ecx, esi
mov dword [esp + 0x10], esi
je 0x100283b5
cmp dword [edx + 0x44], 0
je 0x10028458
cmp dword [edx + 0xa4], 0
jne 0x100286fe
mov ecx, dword [edi + 0x50]
mov eax, dword [edx + 0x10]
mov esi, dword [edi + 0x4c]
mov dword [esp + 0x24], eax
imul ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], eax
imul eax, esi
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
imul ecx
cmp eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x10]
jge 0x100286b4
mov eax, dword [esp + 0x24]
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa8], eax
jmp 0x100286fc
cmp dword [edi + 0x2a0], 0
jne 0x10028431
push dword [edi + 0x10]
call fcn.10007ad8
add esp, 4
mov dword [edi + 0x2a0], eax
mov eax, dword [edi + 0x188]
dec eax
cmp eax, 7
ja case.0x10028441.4
jmp dword [eax*4 + 0x1019ca20]
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x200
jmp case.0x10028441.4
mov ecx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov eax, ecx
or eax, esi
je 0x100283b5
mov eax, dword [edi + 0x2f8]
mov dword [esp + 0x30], ecx
mov ecx, 0x80000000
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x10]
mov edx, esi
xor esi, esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x2fc]
mov dword [esp + 0x48], eax
sar eax, 0x1f
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x54], edx
mov dword [esp + 0x38], eax
push eax
push dword [esp + 0x4c]
push ecx
push esi
call fcn.1015e670
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x1f
add ecx, eax
adc edx, 0
shrd ecx, edx, 1
sar edx, 1
mov eax, esi
cmp dword [esp + 0x30], ecx
sbb eax, edx
jge case.0x10028441.4
mov eax, dword [esp + 0xc]
mov ecx, 0x80000000
mov edx, dword [eax + 0x14]
xor eax, eax
mov dword [esp + 0x28], edx
sar edx, 0x1f
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x40], edx
push edx
push dword [esp + 0x2c]
push ecx
push eax
call fcn.1015e670
test esi, esi
js case.0x10028441.4
cmp dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
sbb ecx, edx
jge case.0x10028441.4
mov ecx, esi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
imul esi, eax
mul edi
imul ecx, edi
mov edi, dword [esp + 0x28]
add esi, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
add ecx, esi
mov esi, dword [esp + 0x40]
imul esi, eax
mul edi
add esi, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], eax
imul edx, edi
mov edi, dword [esp + 0xc]
add edx, esi
xor esi, esi
lea eax, [edi + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
shld ecx, eax, 1
add eax, eax
mov dword [esp + 0x30], eax
lea eax, [edi + 0x48]
push esi
push 0xea60
push ecx
push dword [esp + 0x3c]
push edx
push dword [esp + 0x34]
mov dword [esp + 0x50], eax
push eax
push dword [esp + 0x40]
call fcn.1005683c
add esp, 0x20
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
cvtsi2sd xmm2, dword [edi + 0x44]
cvtsi2sd xmm0, dword [edi + 0x48]
mov eax, dword [eax + 0x50c]
divsd xmm2, xmm0
cvtsi2sd xmm1, ecx
cmp dword [eax + 0x64], esi
mov eax, dword [esp + 0x54]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
setne dh
test ecx, ecx
divsd xmm1, xmm0
setg cl
test eax, eax
movsd xmm0, qword [0x1019c9d0]
setg dl
movsd qword [esp + 0x30], xmm2
and dl, dh
and dl, cl
xor ecx, ecx
mov byte [esp + 0x20], dl
movsd qword [esp + 0x48], xmm1
mov edi, ecx
mov ecx, esi
movsd qword [esp + 0x10], xmm0
call fcn.10027909
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x30]
movsd xmm3, qword [0x1019ca18]
movapd xmm4, xmmword [0x10188af0]
movsd xmm2, qword [esp + 0x10]
mov ecx, edi
divsd xmm1, qword [0x1019c9b0]
divsd xmm0, xmm1
addsd xmm0, xmm3
andpd xmm0, xmm4
ucomisd xmm2, xmm0
minsd xmm0, xmm2
cmova ecx, eax
cmp byte [esp + 0x20], 0
je 0x10028667
movsd xmm2, qword [esp + 0x48]
divsd xmm2, xmm1
addsd xmm2, xmm3
andpd xmm2, xmm4
ucomisd xmm0, xmm2
jbe 0x10028667
mov ecx, eax
movapd xmm0, xmm2
inc esi
cmp esi, 0x18f
jne 0x100285ef
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x50]
test ecx, ecx
je 0x100283b5
mov eax, ecx
mov edx, ecx
xor ecx, ecx
sar eax, 0x1f
push ecx
push 0x7fffffff
push ecx
push 0x2eec
push eax
push edx
push dword [esp + 0x50]
push dword [esp + 0x40]
call fcn.1005683c
mov edx, dword [esp + 0x2c]
add esp, 0x20
jmp 0x100283b5
lea eax, [esi + 0xa4]
lea ecx, [esi + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
sar eax, 0x1f
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
imul dword [esp + 0x48]
push 0
push 0x7fffffff
push edx
push eax
push dword [esp + 0x34]
push dword [esp + 0x44]
push dword [esp + 0x38]
push dword [esp + 0x2c]
call fcn.1005683c
add esp, 0x20
mov edx, esi
mov eax, dword [edx + 0x2b0]
test eax, eax
je case.0x10028441.4
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x2b4]
test ecx, ecx
je case.0x10028441.4
push dword [edi + 0x5c]
push dword [edi + 0x60]
push ecx
push eax
call fcn.10056b46
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x38], eax
jmp case.0x10028441.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x100
jmp case.0x10028441.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x80
jmp case.0x10028441.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 8
jmp case.0x10028441.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x20
mov eax, dword [esp + 0x1c]
inc ebx
mov edi, dword [ebp + 8]
cmp ebx, dword [eax]
jb 0x1002832f
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x44]
je 0x100299f4
mov eax, dword [edi + 4]
xor esi, esi
mov edi, 0
test byte [eax + 8], 1
jne 0x100287b3
mov eax, dword [ebp + 8]
mov ebx, eax
push dword [eax + 0x10]
call fcn.1002df64
add esp, 4
mov esi, eax
xor eax, eax
test edx, edx
mov edi, edx
cmovs edi, eax
cmovs esi, eax
mov eax, dword [ebx + 4]
mov ebx, dword [eax]
push 0x1018cd73
push ebx
call fcn.1016bef0
add esp, 8
test eax, eax
je 0x100290d7
push str.mpegts
push ebx
call fcn.1016bef0
add esp, 8
or esi, edi
mov edi, dword [ebp + 8]
je 0x100290e7
test eax, eax
je 0x100290de
jmp 0x100290e7
mov dword [esp + 0x3c], esi
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x1c]
mov ebx, 0
cmp dword [eax], 0
je 0x10028986
xor ebx, ebx
mov eax, dword [edi + 0x1c]
xor edx, edx
mov esi, dword [eax + ebx*4]
mov ecx, esi
call fcn.10029fda
test eax, eax
je 0x10028982
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi + 0x10]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esi + 0x14]
mov dword [esp + 0xc], ebx
mov ebx, 0x28
divsd xmm0, xmm1
ucomisd xmm0, qword [0x1019ca10]
ja 0x10028864
mov ebx, 0x14
mov eax, dword [esi + 0x2b8]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x10], eax
mov ecx, edi
call fcn.10027e20
test eax, eax
mov edx, 0
cmove ebx, eax
mov eax, dword [ebp + 8]
mov ecx, eax
mov eax, dword [eax + 0x498]
test eax, eax
cmovns ebx, eax
test byte [esi + 0x31], 4
mov eax, dword [ecx + 4]
cmovne ebx, edx
cmp byte [eax + 8], dl
mov eax, dword [esi + 0xb4]
js 0x100288ac
mov ecx, dword [eax + 0x10]
jmp 0x100288be
mov ecx, dword [eax + 0x34]
mov edx, ecx
shr edx, 0x1f
add edx, dword [eax + 0x30]
adc ecx, 0
shld ecx, edx, 0x1f
cmp dword [esi + 0xa4], 0
je 0x100288cd
cmp dword [esi + 0x44], 0
jne 0x100288e1
cmp ecx, ebx
jge 0x100288e1
mov edx, dword [esi + 0xb0]
mov edx, dword [edx]
test edx, edx
je 0x10028975
cmp ecx, 1
jg 0x100288f6
mov eax, dword [eax + 0x38]
test eax, eax
je 0x100288f6
cmp dword [edi + 0x8c], 0
je 0x10028975
cmp dword [edi + 0x44], 0
jne 0x1002891b
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
je 0x10028910
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x1c], 0
je 0x1002891b
mov ecx, esi
call fcn.1002a192
test eax, eax
jne 0x10028975
mov eax, dword [esi + 0xc4]
mov ecx, 0x80000000
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0xc]
xor eax, ecx
or eax, dword [esi + 0xc0]
jne 0x10028966
mov eax, dword [edi + 4]
cmp byte [eax + 8], 0
js 0x10028966
mov eax, dword [esi + 0xe0]
test byte [esi + 0x31], 4
mov ecx, 1
jne 0x10028957
mov ecx, dword [edi + 0x4c0]
cmp eax, ecx
jge 0x10028966
mov eax, dword [esi + 0xb0]
cmp dword [eax], 2
jb 0x10028982
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, dword [eax]
jb 0x10028821
jmp 0x10028986
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
jmp 0x10028986
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], 0
je 0x10028998
mov ecx, dword [esp + 0x24]
xor esi, esi
cmp dword [ecx], 0
jne 0x100289af
xor esi, esi
cmp ebx, dword [eax]
jne 0x100289af
test byte [edi + 0x14], 1
mov eax, 1
mov esi, eax
je 0x100293d7
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
sbb ecx, dword [esp + 0x44]
jge 0x100291e1
mov ecx, edi
lea edx, [esp + 0x80]
call fcn.10025530
cmp eax, 0xfffffff5
je 0x10028ef9
mov ecx, eax
test eax, eax
js 0x100292ba
test byte [edi + 0x448], 0x40
mov dword [esp + 0xc], ebx
jne 0x10028a38
mov ebx, dword [edi + 0x50c]
push 0x50
call fcn.100539f3
add esp, 4
test eax, eax
je 0x100293fa
mov edx, esi
mov ecx, 0x12
mov edi, eax
lea esi, [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 4], 0
je 0x10028a2b
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x48], eax
jmp 0x10028a2e
mov dword [ebx + 4], eax
mov edi, dword [ebp + 8]
mov esi, edx
xor ecx, ecx
mov dword [ebx + 8], eax
mov edx, ecx
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x64], esi
mov esi, dword [eax + ecx*4]
xor eax, eax
test byte [esi + 0x31], 4
jne 0x10028a5a
mov eax, dword [esp + 0x9c]
mov ecx, eax
mov dword [esp + 0x10], esi
sar ecx, 0x1f
add dword [esp + 0x20], eax
mov eax, dword [esi + 0x2b8]
adc dword [esp + 0x30], ecx
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], 0
mov eax, edx
mov dword [esp + 0x50], esi
jne 0x10028aab
mov esi, dword [esp + 0x10]
push dword [esi + 0xb0]
push dword [esp + 0x54]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
js 0x10029854
mov ecx, dword [esi + 0x2b8]
mov dword [ecx + 0x14], 1
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x10]
mov esi, 0x80000000
mov dword [esp + 0x40], ecx
xor ecx, esi
mov dword [esp + 0x28], ebx
or ecx, ebx
je 0x10028c27
cmp dword [edi + 0xe0], 2
jl 0x10028e18
mov edi, dword [edi + 0xb4]
mov dword [esp + 0x18], eax
mov ecx, 0x80000000
mov esi, dword [edi + 0x5c]
mov ebx, dword [edi + 0x58]
lea edx, [edi + 0x58]
mov eax, esi
xor eax, ecx
or eax, ebx
je 0x10028b3c
cmp ebx, dword [esp + 0x28]
mov eax, esi
sbb eax, dword [esp + 0x40]
jl 0x10028b3c
mov esi, dword [esp + 0x10]
mov eax, edx
xor edx, edx
mov ecx, 0x80000000
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esi + 0xb4]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], edx
mov edi, dword [esi + 0xb4]
mov ebx, dword [edi + 0x58]
mov esi, dword [edi + 0x5c]
lea edx, [edi + 0x58]
jmp 0x10028b41
mov ecx, 0x80000000
mov eax, esi
xor eax, ecx
or eax, ebx
je 0x10028bc3
mov eax, dword [edi + 0x60]
sub eax, dword [edi + 0x50]
jle 0x10028bc3
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x70], edx
sub eax, ebx
sbb ecx, esi
push 0
push 0x3e8
push ecx
push eax
call fcn.1015e670
sub ebx, dword [edi + 0x48]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
sbb esi, dword [edi + 0x4c]
mov eax, ecx
sar eax, 0x1f
push eax
push ecx
push esi
push ebx
call fcn.1015e7e0
cmp eax, dword [esp + 0x5c]
sbb edx, dword [esp + 0x58]
jae 0x10028bc3
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x10]
xor edx, edx
mov ecx, 0x80000000
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esi + 0xb4]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], edx
mov edi, dword [esi + 0xb4]
mov eax, dword [edi + 0x4c]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edi + 0x48]
jne 0x10028bfb
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov dword [edi + 0x48], ebx
mov dword [edi + 0x4c], esi
mov eax, dword [edx + 0xb4]
mov ecx, dword [edx + 0xe0]
mov dword [eax + 0x50], ecx
mov edi, dword [edx + 0xb4]
jmp 0x10028c07
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
mov dword [edi + 0x5c], esi
mov dword [edi + 0x58], ebx
mov esi, 0x80000000
mov edi, edx
mov eax, dword [edx + 0xb4]
mov ecx, dword [edx + 0xe0]
mov dword [eax + 0x60], ecx
mov eax, dword [esp + 0x18]
mov ebx, dword [edi + 0xe0]
cmp ebx, 2
jl 0x10028e18
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x18], eax
test ecx, ecx
mov dword [esp + 0x5c], ecx
jle 0x10028c6c
mov eax, dword [edi + 0xb4]
push 0xf4240
push 1
push ecx
push dword [edi + 0x10]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov esi, edx
mov dword [esp + 0x58], eax
jmp 0x10028c76
mov dword [esp + 0x58], 0
xor esi, esi
mov eax, dword [edi + 0x44]
test eax, eax
jle 0x10028ca9
mov ecx, ebx
sar ecx, 0x1f
push 0xf4240
push 1
push eax
push dword [edi + 0x48]
push ecx
push ebx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov edi, dword [esp + 0x58]
mov ecx, esi
cmp edi, eax
sbb ecx, edx
cmovl esi, edx
cmovl edi, eax
jmp 0x10028cad
mov edi, dword [esp + 0x58]
mov eax, edi
or eax, esi
jne 0x10028d30
xor edi, edi
cmp ebx, 0x1f
mov esi, 0
jl 0x10028d30
mov eax, dword [esp + 0x10]
mov esi, 0x80000000
xor edi, edi
mov ebx, dword [eax + 0xb4]
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
mov edx, eax
xor edx, esi
mov esi, 0
or edx, ecx
je 0x10028d30
mov edi, dword [ebx + 0x58]
mov ebx, dword [ebx + 0x5c]
mov edx, 0x80000000
mov esi, ebx
xor esi, edx
mov edx, edi
xor edi, edi
or esi, edx
mov esi, 0
je 0x10028d30
sub edx, ecx
sbb ebx, eax
push 0xf4240
push 1
push dword [esp + 0x64]
mov eax, dword [esp + 0x1c]
push dword [eax + 0x10]
push ebx
push edx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov edi, eax
mov esi, edx
test edx, edx
mov ecx, 0
cmovs esi, ecx
cmovs edi, ecx
cmp dword [esp + 0x64], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
jne 0x10028d59
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp dword [eax + 8], 3
mov eax, ecx
cmove eax, ecx
mov ecx, dword [esp + 0x6c]
cmove ecx, dword [esp + 0x68]
cmp edi, ecx
mov edi, dword [ebp + 8]
sbb esi, eax
jge 0x1002985d
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edi, dword [esp + 0x10]
mov esi, 0x80000000
mov edx, eax
or edx, ecx
je 0x10028e18
mov esi, dword [esp + 0x50]
mov edx, 0x80000000
cmp dword [esi + 8], 3
jne 0x10028dcc
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov edi, ebx
xor edi, edx
or edi, esi
je 0x10028dcc
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x64], edi
cmp esi, edi
mov edi, ebx
sbb edi, dword [esp + 0x18]
jge 0x100290a4
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0xb4]
add dword [edx + 0x28], eax
adc dword [edx + 0x2c], ecx
mov ecx, dword [edi + 0xe8]
mov esi, 0x80000000
mov eax, 2
test ecx, ecx
je 0x10028e07
cmp dword [edi + 0xe4], 0
je 0x10028e07
mov edx, dword [esp + 0x50]
cmp dword [edx + 0x54], 2
jne 0x10028e07
mov eax, dword [ecx + 0x24]
inc eax
mov edx, dword [edi + 0xb4]
mov ecx, eax
sar ecx, 0x1f
add dword [edx + 0x30], eax
adc dword [edx + 0x34], ecx
mov eax, dword [edi + 0xb0]
cmp dword [eax], 0
jne 0x10028e8c
sub esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.1002755a
add esp, 0x10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, eax
xor edx, esi
or edx, ecx
je 0x10028e8c
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov ebx, 0x80000000
mov edi, edx
xor edi, ebx
or edi, esi
mov edi, dword [esp + 0x10]
je 0x10028e8c
xor esi, ecx
xor edx, eax
or edx, esi
je 0x10028e8c
mov eax, dword [edi + 0xb4]
mov dword [eax + 0x38], 1
mov esi, dword [edi + 0x2b8]
mov ebx, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x44], 0
je 0x10028f13
mov eax, dword [ebp + 0xc]
cmp ebx, dword [esp + 0x48]
mov edx, 0
mov edi, dword [ebp + 8]
mov ecx, eax
lea eax, [eax + ebx*4]
cmovge eax, edx
mov edx, dword [esp + 0x10]
test ecx, ecx
cmove eax, ecx
mov ecx, edi
push eax
lea eax, [esp + 0x84]
push eax
call fcn.1002a1df
add esp, 8
test byte [edi + 0x448], 0x40
je 0x10028eeb
lea eax, [esp + 0x80]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov eax, dword [esp + 0x10]
inc dword [eax + 0xe0]
inc dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
push eax
call fcn.1002d72b
add esp, 4
test eax, eax
je 0x1002880d
jmp 0x1002825e
cmp dword [esi + 0x24], 0
jne 0x10028fb7
mov dword [esp + 0x28], esi
push str.extract_extradata
call fcn.10009e00
add esp, 4
test eax, eax
je 0x10028fac
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.1002a192
test eax, eax
je 0x10028fac
call fcn.100089d1
mov ecx, dword [esp + 0x28]
test eax, eax
mov dword [ecx + 0x20], eax
je 0x100293ed
lea edi, [ecx + 0x1c]
push edi
push esi
call fcn.10009f0d
add esp, 8
test eax, eax
js 0x10029f3d
mov eax, dword [edi]
mov esi, dword [esp + 0x10]
push dword [esi + 0xb0]
push dword [eax + 0x10]
call fcn.10008534
add esp, 8
test eax, eax
js 0x10029f3d
mov eax, dword [edi]
movsd xmm0, qword [esi + 0x10]
movsd qword [eax + 0x18], xmm0
push dword [edi]
call fcn.10009fea
add esp, 4
test eax, eax
jns 0x10028fac
push edi
call fcn.10009e80
add esp, 4
mov esi, dword [esp + 0x28]
mov dword [esi + 0x24], 1
cmp dword [esi + 0x1c], 0
je 0x10028e9f
mov edi, dword [esi + 0x20]
lea eax, [esp + 0x80]
push eax
push edi
call fcn.10009126
add esp, 8
test eax, eax
js 0x10029e79
push edi
push dword [esi + 0x1c]
call fcn.1000a093
add esp, 8
test eax, eax
js 0x10029f31
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x44], 0
jne 0x10028e9f
push edi
push dword [esi + 0x1c]
call fcn.1000a0fc
add esp, 8
test eax, eax
js 0x1002908b
lea eax, [esp + 0xd0]
push eax
push 1
push edi
call sym.ffmpeg.dll_av_packet_get_side_data
add esp, 0xc
test eax, eax
je 0x1002906c
mov ebx, eax
mov eax, dword [esp + 0xd0]
add eax, 0x40
push eax
call fcn.100539f3
add esp, 4
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x100293e4
push dword [esp + 0xd0]
push ebx
push eax
call fcn.101613e0
add esp, 0xc
mov eax, dword [esp + 0xd0]
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0x48], eax
push edi
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
je 0x10028ffe
jmp 0x10028e9f
cmp eax, 0xdfb9b0bb
je 0x10028e9f
cmp eax, 0xfffffff5
je 0x10028e9f
jmp 0x10029e79
mov edx, dword [esp + 0x10]
sub esi, dword [esp + 0x64]
mov edx, dword [edx + 0xb4]
sbb ebx, dword [esp + 0x18]
add eax, dword [edx + 0x28]
adc ecx, dword [edx + 0x2c]
cmp eax, esi
mov edi, ecx
sbb edi, ebx
mov edi, dword [esp + 0x10]
cmovge eax, esi
cmovge ecx, ebx
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x28], eax
jmp 0x10028ddc
or esi, edi
mov edi, dword [ebp + 8]
je 0x100290e7
mov eax, dword [edi + 0x10]
test byte [eax + 0x54], 1
jne 0x1002915d
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
test esi, esi
je 0x10029110
mov eax, dword [edi + 0x1c]
xor ecx, ecx
mov edx, dword [eax + ecx*4]
mov ebx, 0x80000000
mov edi, dword [edx + 0x24]
xor edi, ebx
or edi, dword [edx + 0x20]
mov edi, dword [ebp + 8]
jne 0x1002914e
inc ecx
cmp ecx, esi
jb 0x100290f6
mov eax, dword [edi + 0x434]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edi + 0x430]
jne 0x1002914e
mov ebx, dword [edi + 0x438]
mov edi, dword [edi + 0x43c]
xor edx, edx
mov ecx, ebx
neg ecx
mov ecx, 0
sbb ecx, edi
jge 0x100291ea
mov ecx, 0x80000000
jmp 0x100298a0
mov ecx, edi
call fcn.1002c473
xor esi, esi
inc esi
jmp 0x100299e7
mov ecx, edi
call fcn.10025e48
mov eax, dword [edi + 0x18]
test eax, eax
je 0x1002919e
xor esi, esi
mov ecx, dword [edi + 0x1c]
mov edi, dword [ecx + esi*4]
mov ecx, dword [edi + 0xe8]
test ecx, ecx
je 0x10029196
push ecx
call fcn.1001ac86
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xe8], 0
mov eax, dword [eax]
mov edi, dword [ebp + 8]
inc esi
cmp esi, eax
jb 0x1002916d
cmp dword [edi + 0x558], 0
jne 0x100297b5
push 1
push 0x1019ca7c
push str.skip_changes
push edi
call fcn.10053d64
add esp, 0x10
mov eax, dword [edi + 0x10]
test eax, eax
je 0x10029407
push eax
call fcn.1002df64
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x54], edx
jmp 0x10029417
mov ecx, dword [esp + 0x60]
jmp 0x10028263
test esi, esi
je 0x10029846
mov eax, dword [ebp + 8]
xor ebx, ebx
xor esi, esi
xor edx, edx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov esi, dword [ecx + edx*4]
mov edi, dword [esi + 0xb0]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov ebx, eax
neg ebx
mov ebx, 0
sbb ebx, ecx
jge 0x1002925a
mov ebx, dword [esp + 0xc]
xor esi, esi
mov edi, 0x80000000
add esi, 0xffffffff
adc edi, 0xffffffff
sub esi, eax
sbb edi, ecx
cmp esi, ebx
mov esi, dword [esp + 0x10]
sbb edi, esi
jl 0x1002987f
add ebx, eax
mov eax, dword [ebp + 8]
adc esi, ecx
mov ecx, dword [esp + 0x1c]
inc edx
cmp edx, dword [ecx]
jb 0x100291fb
jmp 0x10029886
mov eax, dword [esi + 0x2b8]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
cmp ecx, 1
mov eax, ebx
sbb eax, 0
jl 0x1002928f
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], ebx
mov edi, dword [esi + 0xb0]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
cmp eax, 1
mov ebx, ecx
sbb ebx, 0
jge 0x10029222
cmp dword [edi], 0
je 0x100292a1
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
jmp 0x1002924c
cmp dword [esi + 0xe0], 1
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
jle 0x1002924c
jmp 0x10029882
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
je 0x10028263
mov ebx, dword [ebp + 0xc]
xor esi, esi
mov dword [esp + 0x18], ecx
jmp 0x1002936e
mov edx, dword [esp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
push dword [eax + 4]
call fcn.10029f5f
mov edi, dword [ebp + 8]
add esp, 4
test eax, eax
je 0x10029394
mov ecx, dword [esp + 0x10]
mov edx, eax
cmp dword [ecx + 0xc], 0
jne 0x10029394
mov dword [esp + 0xd0], 0
lea ecx, [esp + 0xd0]
mov eax, dword [edi + 0x504]
test eax, eax
je 0x10029340
push 0
push eax
push str.codec_whitelist
push ecx
mov edi, edx
call sym.ffmpeg.dll_av_dict_set
mov edx, edi
lea ecx, [esp + 0xe0]
add esp, 0x10
cmp esi, dword [esp + 0x48]
mov eax, ecx
cmovl eax, ebx
cmp dword [ebp + 0xc], 0
cmove eax, ecx
push eax
push edx
push dword [esp + 0x18]
mov edi, ecx
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
push edi
call sym.ffmpeg.dll_av_dict_free
add esp, 4
mov edi, dword [ebp + 8]
jmp 0x10029394
mov eax, dword [edi + 0x1c]
xor edx, edx
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0x2b8]
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
call fcn.10029fda
test eax, eax
je 0x100292d5
mov eax, dword [edi + 0x50c]
cmp dword [eax + 4], 0
je 0x100293c3
mov ecx, dword [esp + 0xc]
call fcn.1002a4da
test eax, eax
jne 0x100293c3
mov ecx, dword [ebp + 8]
mov edx, esi
mov eax, dword [ecx + 0x50c]
push dword [eax + 4]
call fcn.1002a551
add esp, 4
mov eax, dword [esp + 0x1c]
inc esi
add ebx, 4
mov edi, dword [ebp + 8]
cmp esi, dword [eax]
jb 0x1002936e
jmp 0x10029876
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
jmp 0x1002831a
push edi
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov dword [esp + 0x18], 0xfffffff4
jmp 0x10029e83
mov dword [esp + 0x18], 0xfffffff4
jmp 0x10029e86
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0
xor eax, eax
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x30], eax
xor eax, eax
mov edx, 0x3d090
mov esi, edi
xor edi, edi
mov ecx, ebx
shld eax, edx, cl
mov edx, 0x3d090
shl edx, cl
mov cl, 0x20
test bl, cl
mov ecx, dword [esp + 0x54]
cmovne eax, edx
cmovne edx, edi
mov edi, dword [esp + 0x3c]
sub edi, edx
sbb ecx, eax
mov eax, 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x48], ecx
cmovns eax, ecx
mov ecx, 0
cmovns ecx, edi
xor edi, edi
push edi
push eax
push ecx
push dword [esi + 0x10]
call fcn.1002daa0
add esp, 0x10
mov ecx, ebx
dec ecx
jns 0x10029485
xor ecx, ecx
xor edx, edx
mov eax, 0x3d090
mov ebx, 0x3d090
mov esi, dword [esp + 0x30]
shld edx, eax, cl
mov al, 0x20
shl ebx, cl
test cl, al
cmovne edx, ebx
cmovne ebx, edi
cmp ebx, 1
mov eax, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], esi
sbb eax, edi
mov edi, dword [ebp + 8]
jl 0x1002973b
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], esi
lea eax, [esp + 0xd0]
push eax
push edi
call fcn.10024632
add esp, 8
cmp eax, 0xfffffff5
je 0x100294c8
test eax, eax
jne 0x1002973b
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0x20]
mov edx, 0x80000000
xor ecx, edx
add eax, dword [esp + 0xec]
or ecx, dword [esp + 0xd8]
mov dword [esp + 0x20], eax
je 0x10029716
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0xf0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x2c], ecx
xor eax, edx
or eax, dword [ecx + 0x18]
jne 0x10029548
mov edx, dword [esp + 0x2c]
mov ecx, 0x80000000
mov eax, dword [edx + 0xc4]
xor eax, ecx
or eax, dword [edx + 0xc0]
je 0x10029716
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov ecx, eax
or ecx, edx
jne 0x100295ec
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0xe8]
push eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0xdc]
push eax
push edi
call fcn.10024ee3
add esp, 0x18
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x100295de
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x100295de
mov esi, dword [esp + 0x2c]
imul dword [esi + 0x10]
mov dword [esp + 0x10], eax
mov eax, ecx
mov dword [esp + 0x38], edx
imul dword [esi + 0x14]
push 2
push dword [esp + 0x3c]
push dword [esp + 0x18]
push edx
push eax
push 0
push 1
call fcn.100531f7
add esp, 0x1c
mov dword [esp + 0x104], edx
mov dword [esp + 0x100], eax
jmp 0x100295ec
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x2c]
add eax, dword [esp + 0xd8]
mov esi, dword [ecx + 0x18]
adc edx, dword [esp + 0xdc]
mov dword [esp + 0x38], esi
mov esi, dword [ecx + 0x1c]
mov ecx, edx
mov dword [esp + 0x10], esi
mov edx, esi
mov esi, 0x80000000
xor edx, esi
mov esi, dword [esp + 0x38]
or edx, esi
mov edx, dword [esp + 0x10]
jne 0x10029633
mov edx, dword [esp + 0x2c]
mov esi, dword [edx + 0xc0]
mov edx, dword [edx + 0xc4]
sub eax, esi
mov esi, dword [esp + 0x30]
sbb ecx, edx
mov dword [esp + 0x38], eax
cmp eax, 1
mov eax, ecx
sbb eax, 0
mov eax, 1
mov dword [esp + 0x10], eax
jl 0x10029716
mov edi, dword [esp + 0x2c]
mov esi, 0x80000000
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x40], edx
xor edx, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], eax
or edx, eax
mov edx, dword [edi + 0xb4]
je 0x100296f8
mov edi, dword [edx + 0x40]
mov eax, dword [edx + 0x44]
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x10]
cmp edi, 1
mov edx, eax
sbb edx, 0
mov edx, dword [esp + 0x50]
jl 0x100296f8
cmp dword [esp + 0x28], esi
sbb dword [esp + 0x40], ecx
jge 0x10029702
mov edx, esi
sub edx, edi
mov edi, ecx
mov ecx, dword [esp + 0x2c]
sbb edi, eax
mov eax, edi
sar eax, 0x1f
add edx, eax
adc edi, eax
xor edx, eax
xor edi, eax
mov eax, 0x3c
mov dword [esp + 0x28], edx
imul dword [ecx + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x10]
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push edx
push dword [esp + 0x4c]
call fcn.1015e670
cmp dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
sbb edi, edx
mov edx, dword [esp + 0x50]
jge 0x10029702
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ecx
mov dword [edx + 0x40], esi
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x30]
xor eax, eax
mov dword [edx + 0x44], ecx
inc eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0xd0]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, ecx
sar eax, 0x1f
cmp ecx, ebx
sbb eax, dword [esp + 0x44]
jl 0x100294c8
test esi, esi
jne 0x100297a0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x100297a0
mov edx, dword [edi + 0x1c]
xor ecx, ecx
inc ecx
mov edi, dword [edx]
mov ebx, dword [edi + 0xb0]
cmp dword [ebx], 1
ja 0x10029771
mov ebx, dword [edi + 0x24]
mov esi, 0x80000000
xor ebx, esi
mov esi, 0
or ebx, dword [edi + 0x20]
cmove ecx, esi
add edx, 4
dec eax
jne 0x1002974f
cmp dword [esp + 0x24], 1
mov edi, dword [ebp + 8]
sbb dword [esp + 0x48], 0
jl 0x100297a0
test ecx, ecx
jne 0x100297a0
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, 7
mov eax, dword [esp + 0x10]
jb 0x10029421
push 1
push 0x1018bfb9
push str.skip_changes
push edi
call fcn.10053d64
add esp, 0x10
mov ecx, edi
call fcn.1002c473
xor esi, esi
push esi
push dword [esp + 0x7c]
push dword [esp + 0x84]
push dword [edi + 0x10]
call fcn.1002daa0
add esp, 0x10
cmp dword [edi + 0x18], esi
je 0x1002983f
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ecx + 0xc0]
mov edi, dword [ecx + 0xc4]
mov dword [ecx + 0xcc], edi
mov dword [ecx + 0xc8], edx
mov edi, 0x80000000
mov edx, 0xffffff78
mov dword [ecx + 0xd0], esi
mov dword [ecx + 0xd4], edi
mov dword [ecx + 0x2a4], edi
mov dword [ecx + 0x2a0], esi
mov dword [ecx + edx + 0x18c], edi
mov dword [ecx + edx + 0x188], 0
add edx, 8
jne 0x1002981c
mov ecx, dword [esp + 0x1c]
inc eax
mov edi, dword [ebp + 8]
cmp eax, dword [ecx]
jb 0x100297dc
xor esi, esi
jmp 0x100299e7
mov eax, dword [ebp + 8]
mov ecx, 0x80000000
xor ebx, ebx
xor esi, esi
jmp 0x10029892
mov dword [esp + 0x18], eax
jmp 0x10029e86
test byte [edi + 0x448], 0x40
je 0x10029876
lea eax, [esp + 0x80]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov ecx, dword [esp + 0x18]
jmp 0x10028263
mov eax, dword [ebp + 8]
xor ebx, ebx
xor esi, esi
mov edx, dword [eax + 0x430]
mov ecx, dword [eax + 0x434]
mov edi, esi
mov dword [eax + 0x438], ebx
mov dword [eax + 0x43c], esi
mov eax, 0x80000000
mov esi, 2
xor ecx, eax
or ecx, edx
jne 0x100298cd
or ebx, edi
je 0x100298cd
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x100298d5
push eax
call fcn.1002df64
add esp, 4
mov dword [esp + 0x24], edx
jmp 0x100298df
mov edi, dword [ebp + 8]
jmp 0x100299e7
xor eax, eax
mov dword [esp + 0x24], 0
mov edx, dword [edi + 0x50c]
mov ecx, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
cmp ecx, eax
mov edx, ebx
sbb edx, dword [esp + 0x24]
jge 0x100299e7
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x20], edx
je 0x100299e7
mov edx, dword [esp + 0x24]
sub eax, ecx
sbb edx, ebx
xor edi, edi
shld edx, eax, 3
shl eax, 3
mov dword [esp + 0x24], edx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], edi
mov ecx, eax
mov eax, dword [eax + 0x1c]
mov edx, ecx
mov ecx, 0x80000000
mov eax, dword [eax + edi*4]
mov edi, edx
mov edx, dword [edx + 0x438]
mov edi, dword [edi + 0x43c]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x30], edi
mov esi, ebx
sar esi, 0x1f
add eax, 0xffffffff
adc ecx, 0xffffffff
push edi
mov dword [esp + 0x4c], edx
push edx
push ecx
push eax
call fcn.1015e670
cmp eax, ebx
sbb edx, esi
jge 0x10029979
mov edi, dword [esp + 0xc]
jmp 0x100299d4
mov edx, dword [esp + 0x10]
mov ecx, 0x80000000
mov edi, dword [esp + 0xc]
mov eax, dword [edx + 0x24]
xor eax, ecx
or eax, dword [edx + 0x20]
jne 0x100299d4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
imul esi, eax
mul ebx
imul ecx, ebx
add esi, edx
add ecx, esi
mov esi, dword [esp + 0x10]
mov ebx, dword [esi + 0x14]
mov edx, ebx
sar edx, 0x1f
push ecx
push eax
push edx
push ebx
push dword [esp + 0x34]
push dword [esp + 0x58]
call fcn.1005350b
add esp, 0x18
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x24], edx
mov eax, dword [eax]
mov dword [esp + 0x20], eax
inc edi
cmp edi, dword [esp + 0x20]
jb 0x10029924
mov edi, dword [ebp + 8]
mov esi, 2
mov ecx, edi
mov dword [edi + 0x4e0], esi
call fcn.1002c530
xor esi, esi
inc esi
push esi
push 0x1018bfb9
push str.skip_clear
push edi
call fcn.10053d64
add esp, 0x10
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
cmp eax, esi
sbb edi, edi
not edi
or edi, ecx
test ecx, ecx
cmovs edi, ecx
test eax, eax
je 0x10029ace
xor ebx, ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ebx*4]
mov eax, dword [esi + 0x2b8]
cmp dword [eax + 0x14], 0
jne 0x10029a85
mov ecx, dword [esi + 0xb0]
cmp dword [ecx], 1
jne 0x10029a6f
cmp dword [ecx + 0x14], 0xffffffff
jne 0x10029a6f
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x160]
mov dword [ecx + 0x14], eax
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0x2b8]
push ecx
push dword [eax + 0x10]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
mov edi, eax
test eax, eax
js 0x10029e7f
mov ecx, esi
lea edx, [esp + 0xcc]
call fcn.10029fda
xor ecx, ecx
test eax, eax
jne 0x10029abb
mov eax, dword [esi + 0x2b8]
push 0
push dword [eax + 0x10]
push 0x100
lea eax, [esp + 0xdc]
push eax
call fcn.100070e0
add esp, 0x10
mov ecx, edi
mov eax, dword [esp + 0x1c]
inc ebx
mov edi, ecx
mov eax, dword [eax]
cmp ebx, eax
jb 0x10029a31
jmp 0x10029ad2
xor eax, eax
mov ecx, edi
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x430]
mov esi, dword [ecx + 0x434]
cmp edx, 1
mov dword [esp + 0xc], esi
sbb esi, 0
jl 0x10029b4b
xor ebx, ebx
mov esi, dword [ecx + 0x428]
mov edi, dword [ecx + 0x42c]
mov ecx, 0x80000000
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], 0
add ebx, 0xffffffff
adc ecx, 0xffffffff
sub ebx, edx
sbb ecx, dword [esp + 0xc]
cmp esi, ebx
mov ebx, edi
sbb ebx, ecx
jge 0x10029b53
mov ecx, edi
mov ebx, 0x80000000
xor ecx, ebx
xor ebx, ebx
or ecx, esi
cmove esi, ebx
cmove edi, ebx
add esi, edx
adc edi, dword [esp + 0xc]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x2c], edi
jmp 0x10029b53
mov dword [esp + 0x3c], 0
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x484]
test ebx, ebx
je 0x10029c97
xor edx, edx
mov eax, dword [edi + 0x488]
mov ecx, 0x80000000
mov esi, dword [eax + edx*4]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1c]
xor eax, ecx
or eax, dword [esi + 0x18]
jne 0x10029c88
xor eax, eax
mov dword [esp + 0x10], edx
mov edx, 0x80000000
mov ecx, esi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x3c]
mov edi, edx
or edi, ecx
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
je 0x10029bcc
push esi
push edi
push 0xf4240
push 1
push ecx
push edx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x48], edx
mov dword [esp + 0x20], edi
xor edi, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov esi, ebx
mov eax, dword [eax + edi*4]
push dword [esp + 0x30]
push dword [esp + 0x24]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax + 0x14]
push dword [eax + 0x10]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
cmp dword [esp + 0x10], edi
je 0x10029c2f
mov ebx, edx
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + 0x14]
cmp dword [edx + 0x10], eax
mov edx, ebx
sbb ecx, ebx
setl cl
cmp eax, dword [esp + 0x24]
sbb edx, dword [esp + 0x48]
setl dl
test dl, cl
je 0x10029c2f
mov dword [esp + 0x48], ebx
mov dword [esp + 0x24], eax
inc edi
mov ebx, esi
cmp esi, edi
jne 0x10029bda
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
xor eax, eax
mov edi, dword [esp + 0x44]
mov ecx, 0x80000000
add eax, 0xffffffff
adc ecx, 0xffffffff
xor eax, ebx
xor ecx, edx
mov esi, edx
or ecx, eax
mov ecx, dword [edi + 0x10]
sete al
mov dword [esp + 0xc], ecx
cmp ebx, ecx
mov ecx, dword [edi + 0x14]
sbb esi, ecx
setl ah
or ah, al
cmovne ebx, dword [esp + 0xc]
cmovne edx, ecx
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x10]
mov dword [edi + 0x18], ebx
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x484]
inc edx
cmp edx, ebx
jb 0x10029b66
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x10029e86
xor ecx, ecx
mov eax, dword [edi + 0x1c]
mov dword [esp + 0xc], ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2b8]
cmp dword [eax + 0x14], 0
je 0x10029d00
mov ecx, dword [edi + 0xb0]
mov esi, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x34]
push dword [eax + 0x10]
push ecx
call fcn.100085e2
add esp, 8
test eax, eax
js 0x10029e79
test esi, esi
je 0x10029d00
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x2a8]
test eax, eax
je 0x10029d00
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x30], esi
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x34], ebx
push dword [edi + 0xb0]
push dword [edi + 8]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x10029e83
mov eax, dword [edi + 0x2b8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 0x2a8]
test eax, eax
je 0x10029d63
cmp dword [ecx + 0x5c], 0
je 0x10029d63
mov ecx, dword [edi + 8]
mov dword [ecx + 0x2a8], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x5c]
mov dword [ecx + 0x5c], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x60]
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 8]
cmp dword [eax + 0x14], 0x64636d74
je 0x10029d97
mov ecx, dword [edi + 0x2b8]
mov ecx, dword [ecx + 0x10]
movsd xmm0, qword [ecx + 0x4c]
movsd qword [eax + 0x4c], xmm0
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [edi + 8]
movsd xmm0, qword [edi + 0x44]
movsd qword [eax + 0x2f8], xmm0
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x2e0], 0
je 0x10029e21
push dword [eax + 0x2e4]
call sym.ffmpeg.dll_av_malloc
add esp, 4
mov ecx, dword [edi + 8]
mov dword [ecx + 0x2e0], eax
mov eax, dword [edi + 8]
cmp dword [eax + 0x2e0], 0
je 0x10029e83
mov ecx, dword [edi + 0x2b8]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x2e4]
mov dword [eax + 0x2e4], ecx
mov ecx, dword [edi + 0x2b8]
mov eax, dword [edi + 8]
mov ecx, dword [ecx + 0x10]
push dword [eax + 0x2e4]
push dword [ecx + 0x2e0]
push dword [eax + 0x2e0]
call fcn.101613e0
add esp, 0xc
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x64]
mov ecx, dword [edi + 8]
mov dword [ecx + 0x64], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x68]
mov dword [ecx + 0x68], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x350]
mov dword [ecx + 0x350], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [edi + 0x2b8]
mov edi, dword [ebp + 8]
inc ecx
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp ecx, eax
jb 0x10029ca1
jmp 0x10029e8c
mov dword [esp + 0x18], eax
jmp 0x10029e83
mov dword [esp + 0x18], edi
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x10029f17
mov ebx, edi
xor esi, esi
mov edi, 0xb4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x10029ebf
add ecx, 0x20
push ecx
call fcn.10053962
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x2b8]
push dword [eax + 0x10]
call fcn.10006eb8
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + esi*4]
add eax, edi
push eax
call fcn.10053962
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x2b8]
add eax, 0x1c
push eax
call fcn.10009e80
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x2b8]
add eax, 0x20
push eax
call fcn.10008a7c
add esp, 4
inc esi
cmp esi, dword [ebx + 0x18]
jb 0x10029e9d
mov ecx, dword [esp + 0x1d8]
xor ecx, ebp
call fcn.1015e65c
mov eax, dword [esp + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], eax
push edi
call sym.ffmpeg.dll_av_packet_unref
jmp 0x10029f57
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], eax
add esi, 0x20
push edi
call fcn.10009e80
add esp, 4
push esi
call fcn.10008a7c
add esp, 4
jmp 0x10029e83