Function at 0x1002d780
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov eax, dword [0x1026f864]
mov esi, dword [ebp + 8]
xor eax, ebp
xor ecx, ecx
inc ecx
mov dword [esp + 0x1c8], eax
xor eax, eax
push ecx
push eax
push eax
push dword [esi + 0x10]
call fcn.10034770
add esp, 0x10
mov dword [esp + 0x64], eax
lea eax, [esi + 0x18]
mov ebx, dword [esi + 0x45c]
mov edi, dword [esi + 0x458]
mov dword [esp + 0x60], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x454]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x450]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 4]
push str.missing_streams
push dword [esi + 0xc]
push dword [eax + 0x14]
call fcn.100645b0
add esp, 0xc
mov dword [esp + 0x34], eax
xor eax, eax
inc eax
push eax
push 0x102266e0
push str.skip_clear
push esi
call fcn.10062a80
add esp, 0x10
mov eax, edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x4c], edi
or eax, ebx
je 0x1002ef30
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x1002daa2
mov eax, dword [ebp + 0xc]
xor esi, esi
lea edi, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc0], 0
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + esi*4]
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebx + 0xb0]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1002da03
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x4c], 0
jne 0x1002d8a0
movsd xmm0, qword [ebx + 0x10]
mov eax, dword [esp + 0xc]
movsd qword [eax + 0x4c], xmm0
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x10]
cmp ecx, dword [eax + 0x14]
jne 0x1002ec1f
cmp dword [ebx + 0xe8], 0
jne 0x1002d900
mov eax, dword [ebp + 8]
test byte [eax + 0x448], 0x20
jne 0x1002d900
cmp dword [ebx + 0x1b8], 0
jg 0x1002d900
mov eax, dword [ebx + 0xb0]
push dword [eax + 4]
call fcn.1001d5d0
add esp, 4
test eax, eax
mov dword [ebx + 0xe8], eax
je 0x1002d900
mov ecx, dword [ebx + 0xe4]
cmp ecx, 5
je 0x1002ec6e
cmp ecx, 2
je 0x1002ec7a
mov eax, dword [ebx + 0xb0]
mov edx, dword [ebx + 0x2b8]
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 0x14]
jne 0x1002ec4a
push eax
push dword [esp + 0x10]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
js 0x1002eaa7
cmp dword [ebx + 0x1b8], 0
mov dword [esp + 0x1c], esi
jg 0x1002d947
mov eax, dword [ebx + 0x2b8]
mov dword [eax + 0x10], 1
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp + 8]
mov edx, ebx
push dword [eax + 4]
call fcn.1002ffb0
add esp, 4
cmp dword [ebp + 0xc], 0
mov esi, eax
cmovne edi, dword [esp + 0x10]
push 0
push 0x102266e0
push str.threads
push edi
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x504]
test eax, eax
jne 0x1002ec58
test esi, esi
je 0x1002d9a1
mov eax, dword [ebx + 0xb0]
cmp dword [eax], 3
je 0x1002f769
mov ecx, ebx
xor edx, edx
call fcn.10030060
test eax, eax
jne 0x1002d9d3
test esi, esi
je 0x1002d9d3
cmp dword [ebx + 0x1b8], 0
jg 0x1002d9d3
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc], 0
jne 0x1002d9d3
push edi
push esi
push dword [esp + 0x14]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
cmp dword [ebp + 0xc], 0
lea edi, [esp + 0xc0]
jne 0x1002d9e9
push edi
call sym.ffmpeg.dll_av_dict_free
add esp, 4
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
add dword [esp + 0x10], 4
mov eax, dword [eax]
inc esi
cmp esi, eax
jb 0x1002d851
jmp 0x1002da11
cmp ecx, 3
jne 0x1002d8a0
jmp 0x1002d882
test eax, eax
je 0x1002daa2
mov edx, dword [ebp + 8]
mov esi, 0x80000000
mov eax, dword [edx + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb4]
xor eax, eax
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x4c], esi
mov dword [ecx + 0x48], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], esi
cmp dword [edx + 0x18], 2
jb 0x1002daa2
mov edx, dword [ebp + 8]
mov esi, 0x80000000
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x4c], esi
mov dword [ecx + 0x48], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], esi
cmp dword [edx + 0x18], 3
jae 0x1002e5f3
mov eax, dword [ebp + 8]
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
add eax, 0x4a0
mov dword [esp + 0x3c], eax
push dword [esp + 0x3c]
call fcn.10033fb0
add esp, 4
test eax, eax
jne 0x1002e6d0
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x1002dc53
mov dword [esp + 0x1c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.10030060
test eax, eax
je 0x1002dc5b
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi + 0x10]
cvtsi2sd xmm1, dword [esi + 0x14]
mov ecx, 0x14
mov eax, 0x28
mov dword [esp + 0xc], esi
mov edx, 0x65
divsd xmm0, xmm1
ucomisd xmm0, qword [0x10226690]
cmova ecx, eax
mov eax, dword [esi + 0x2b8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x4c]
mov esi, dword [eax + 0x50]
mov dword [esp + 0x10], eax
mov eax, ecx
mov edi, esi
imul edx
sar edi, 0x1f
mov dword [esp + 0x14], edx
mov ebx, eax
mov eax, ecx
mov edx, 5
imul edx
cmp esi, ebx
mov ebx, edi
sbb ebx, dword [esp + 0x14]
jge 0x1002db9c
cmp esi, eax
sbb edi, edx
jl 0x1002db9c
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0x7634706d
je 0x1002db9c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
cmp ecx, 0x1b
jne 0x1002ea82
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov ecx, dword [edx + 0x498]
test ecx, ecx
cmovns eax, ecx
test byte [esi + 0x31], 4
mov ecx, 0
cmovne eax, ecx
mov ecx, dword [edx + 4]
cmp byte [ecx + 8], 0
mov ecx, dword [esi + 0xb4]
js 0x1002e7a5
mov edx, dword [ecx + 0x10]
mov esi, dword [esp + 0xc]
cmp dword [esi + 0xa4], 0
jne 0x1002dbf6
cmp edx, eax
jge 0x1002dc00
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xb0]
cmp dword [eax], 0
je 0x1002dc5b
jmp 0x1002dc00
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x44], 0
je 0x1002dbe1
cmp edx, 1
jg 0x1002dc0f
cmp dword [ecx + 0x38], 0
jne 0x1002f78a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
je 0x1002ecf5
mov edx, dword [esp + 0xc]
mov ecx, 0x80000000
mov eax, dword [edx + 0xc4]
xor eax, ecx
or eax, dword [edx + 0xc0]
je 0x1002ed5d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
inc edx
cmp edx, dword [eax]
mov ecx, edx
mov dword [esp + 0x1c], edx
jb 0x1002daef
jmp 0x1002dc5b
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x34], 0
jne 0x1002e6be
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax]
je 0x1002dff5
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp eax, dword [esp + 0x30]
sbb ecx, dword [esp + 0x28]
jge 0x1002e90f
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x70]
call fcn.10029e30
cmp eax, 0xfffffff5
je 0x1002dac6
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002e941
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x70]
test byte [ecx + 0x448], 0x40
jne 0x1002dd25
mov edi, dword [ecx + 0x50c]
push 0x50
call fcn.10062340
add esp, 4
test eax, eax
je 0x1002f5bc
mov esi, eax
lea ebx, [esp + 0x70]
push ebx
call fcn.10009780
add esp, 4
test eax, eax
js 0x1002e91c
push ebx
push esi
call fcn.10009730
add esp, 8
cmp dword [edi + 4], 0
je 0x1002e003
mov eax, dword [edi + 8]
mov dword [eax + 0x48], esi
mov ecx, dword [ebp + 8]
mov dword [edi + 8], esi
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x50c]
mov edx, dword [eax + 8]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x10], edx
mov eax, dword [eax + ecx*4]
test byte [eax + 0x31], 4
mov dword [esp + 0xc], eax
jne 0x1002dd4c
mov eax, dword [edx + 0x1c]
mov ecx, eax
sar ecx, 0x1f
add dword [esp + 0x24], eax
adc dword [esp + 0x20], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2b8]
mov ecx, dword [eax + 0xc]
cmp dword [eax + 0x10], 0
mov dword [esp + 0x40], ecx
je 0x1002e7bc
mov eax, dword [esp + 0x10]
mov esi, 0x80000000
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov edx, eax
xor edx, esi
or edx, ecx
je 0x1002de65
mov edx, dword [esp + 0xc]
cmp dword [edx + 0xe0], 2
jl 0x1002de65
mov edx, dword [esp + 0xc]
mov ebx, 0x80000000
mov edx, dword [edx + 0xb4]
mov esi, dword [edx + 0x5c]
mov edi, dword [edx + 0x58]
mov dword [esp + 0x14], edx
mov edx, esi
xor edx, ebx
or edx, edi
je 0x1002ddc0
cmp edi, ecx
mov edx, esi
sbb edx, eax
jge 0x1002f733
mov eax, esi
mov ecx, 0x80000000
xor eax, ecx
or eax, edi
je 0x1002de29
mov ebx, edi
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x60]
sub eax, dword [edi + 0x50]
jle 0x1002de29
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub eax, ebx
sbb ecx, esi
push 0
push 0x3e8
push ecx
push eax
call fcn.101e0940
sub ebx, dword [edi + 0x48]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
sbb esi, dword [edi + 0x4c]
mov eax, ecx
sar eax, 0x1f
push eax
push ecx
push esi
push ebx
call fcn.101e0940
cmp eax, dword [esp + 0x68]
sbb edx, dword [esp + 0x6c]
jb 0x1002ebef
mov edx, dword [esp + 0x14]
mov ecx, 0x80000000
mov eax, dword [edx + 0x4c]
xor eax, ecx
or eax, dword [edx + 0x48]
je 0x1002e68a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [eax + 0x10]
mov eax, dword [esp + 0x14]
movsd qword [eax + 0x58], xmm0
mov eax, dword [ecx + 0xb4]
mov ecx, dword [ecx + 0xe0]
mov dword [eax + 0x60], ecx
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0xe0]
cmp eax, 2
mov dword [esp + 0x14], eax
jl 0x1002df2d
mov ecx, dword [ebx + 0x14]
test ecx, ecx
mov dword [esp + 0x5c], ecx
jle 0x1002eadb
mov eax, dword [ebx + 0xb4]
push 0xf4240
push 1
push ecx
push dword [ebx + 0x10]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov esi, eax
mov edi, edx
mov eax, dword [ebx + 0x44]
test eax, eax
jle 0x1002deda
push 0xf4240
push 1
push eax
push dword [ebx + 0x48]
push 0
push dword [esp + 0x28]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
cmp esi, eax
mov ecx, edi
sbb ecx, edx
cmovl edi, edx
cmovl esi, eax
mov eax, esi
or eax, edi
je 0x1002eae4
mov edx, dword [esp + 0x58]
cmp byte [esp + 0x38], 0
mov ecx, dword [esp + 0x4c]
mov eax, edx
jne 0x1002df0b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
cmp dword [eax + 8], 3
mov eax, edx
cmove ecx, dword [esp + 0x54]
cmove eax, edx
cmp esi, ecx
sbb edi, eax
jge 0x1002eab0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
jne 0x1002eb72
mov eax, dword [ebx + 0xb0]
cmp dword [eax], 0
jne 0x1002df93
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
sub esp, 0x10
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
call fcn.1002cb30
add esp, 0x10
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov esi, 0x80000000
mov edx, eax
xor edx, esi
or edx, ecx
je 0x1002df93
mov esi, dword [esp + 0x10]
mov ebx, 0x80000000
mov edx, dword [esi + 0x14]
mov esi, dword [esi + 0x10]
mov edi, edx
xor edi, ebx
or edi, esi
je 0x1002df93
xor esi, ecx
xor edx, eax
or edx, esi
jne 0x1002f7bb
mov ebx, dword [esp + 0xc]
mov edi, dword [ebx + 0x2b8]
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x44], 0
je 0x1002e7f4
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp edx, dword [esp + 0x48]
lea eax, [ecx + edx*4]
mov edx, 0
cmovge eax, edx
test ecx, ecx
mov edx, ebx
cmove eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x14]
call fcn.10030230
add esp, 8
test byte [esi + 0x448], 0x40
jne 0x1002e8fd
inc dword [ebx + 0xe0]
inc dword [esp + 0x44]
jmp 0x1002dac6
mov eax, dword [ebp + 8]
test byte [eax + 0x14], 1
je 0x1002e00b
jmp 0x1002f728
mov dword [edi + 4], esi
jmp 0x1002dd0e
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov esi, dword [ebp + 8]
push esi
call fcn.1002cfe0
add esp, 4
cmp dword [esi + 0x18], 0
je 0x1002e0c6
xor edi, edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + edi*4]
mov eax, dword [edx + 0x2b8]
mov dword [esp + 0xc], edx
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x1002e092
cmp dword [ecx + 0x10], 0xd
mov dword [esp + 0x10], ecx
je 0x1002ef9a
mov eax, dword [edx + 0xb4]
mov esi, dword [eax + 0x30]
mov ebx, dword [eax + 0x34]
mov ecx, esi
or ecx, ebx
jne 0x1002eff2
cmp dword [edx + 0xa4], 0
je 0x1002f25a
mov eax, dword [edx + 0x2b0]
test eax, eax
jne 0x1002f2b1
mov eax, dword [esp + 0x2c]
inc edi
cmp edi, dword [eax]
jb 0x1002e02b
jmp 0x1002e0c6
cmp eax, 1
jne case.0x1002e0b2.4
cmp dword [ecx + 0x2a0], 0
mov esi, ecx
je 0x1002f803
mov eax, dword [esi + 0x188]
dec eax
cmp eax, 7
ja case.0x1002e0b2.4
jmp dword [eax*4 + 0x10226b80]
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x200
jmp case.0x1002e0b2.4
mov eax, dword [esp + 0x30]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x28]
je 0x1002e193
mov eax, dword [ebx + 4]
test byte [eax + 8], 1
jne 0x1002f2eb
push dword [ebx + 0x10]
call fcn.10034e60
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 0x1021666f
push ebx
call fcn.101f2780
add esp, 8
test eax, eax
je 0x1002f2f4
push str.mpegts
push ebx
call fcn.101f2780
add esp, 8
or esi, edi
je 0x1002e132
test eax, eax
je 0x1002f2fc
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1002f5d2
mov ecx, dword [ebp + 8]
xor edx, edx
mov ebx, 0x80000000
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + edx*4]
mov edi, dword [esi + 0x24]
xor edi, ebx
or edi, dword [esi + 0x20]
je 0x1002f5c9
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.100329e0
mov eax, dword [ebx + 4]
push 0x10226b3d
push dword [eax]
call fcn.101f2780
add esp, 8
test eax, eax
je 0x1002f42c
mov dword [ebx + 0x4e0], 1
mov ecx, ebx
call fcn.10032c30
push 1
push 0x10215d61
push str.skip_clear
push ebx
call fcn.10062a80
add esp, 0x10
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x18]
mov edi, 0
cmp eax, 1
sbb edi, edi
not edi
or edi, ecx
test ecx, ecx
cmovs edi, ecx
test eax, eax
je 0x1002e4e0
xor esi, esi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + esi*4]
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x10], 0
je 0x1002ec86
mov ecx, ebx
lea edx, [esp + 0xbc]
call fcn.10030060
xor ecx, ecx
test eax, eax
je 0x1002ecce
mov eax, dword [esp + 0x2c]
inc esi
mov edi, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [eax]
cmp esi, eax
jb 0x1002e1cc
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x430]
mov esi, dword [ebx + 0x434]
cmp edx, 1
mov dword [esp + 0xc], esi
sbb esi, 0
jl 0x1002ead2
mov esi, dword [esp + 0xc]
mov ecx, dword [ebx + 0x428]
mov edi, dword [ebx + 0x42c]
mov ebx, 0x80000000
not esi
add esi, ebx
mov ebx, edx
not ebx
cmp ecx, ebx
mov ebx, edi
sbb ebx, esi
jge 0x1002ead2
mov esi, edi
mov ebx, 0x80000000
xor esi, ebx
xor ebx, ebx
or esi, ecx
cmove ecx, ebx
cmove edi, ebx
add ecx, edx
adc edi, dword [esp + 0xc]
mov edx, ecx
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x484]
test ebx, ebx
jne 0x1002f43b
test eax, eax
je 0x1002e936
xor esi, esi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
mov eax, dword [edi + 0x2b8]
cmp dword [eax + 0x10], 0
je 0x1002e2ec
mov ecx, dword [edi + 0xb0]
mov ebx, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0xc], edx
push dword [eax + 0xc]
push ecx
call fcn.10008860
add esp, 8
test eax, eax
js 0x1002eaa7
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x358], 0
jg 0x1002eda7
test ebx, ebx
je 0x1002e2ec
cmp dword [eax + 0x2a8], 0
jne 0x1002f7a0
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 0x1002e936
mov eax, dword [edi + 0x2b8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x2a8]
test eax, eax
jne 0x1002ee26
mov eax, dword [edi + 8]
cmp dword [eax + 0x14], 0x64636d74
je 0x1002e354
mov ecx, dword [edi + 0x2b8]
mov ecx, dword [ecx + 0xc]
movsd xmm0, qword [ecx + 0x4c]
movsd qword [eax + 0x4c], xmm0
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0xc]
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 + 0xc]
cmp dword [eax + 0x2e0], 0
jne 0x1002ee62
mov eax, dword [eax + 0x64]
mov ecx, dword [edi + 8]
inc esi
mov dword [ecx + 0x64], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x68]
mov dword [ecx + 0x68], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x350]
mov dword [ecx + 0x350], eax
mov eax, dword [edi + 0x2b8]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
cmp esi, eax
jb 0x1002e28c
mov ebx, dword [ebp + 8]
test eax, eax
je 0x1002e4c6
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x1002e3f1
add ecx, 0x20
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x2b8]
push dword [eax + 0xc]
call fcn.10006ec1
add esp, 4
mov eax, dword [ebx + 0x1c]
mov ecx, 0xb4
add ecx, dword [eax]
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x2b8]
add eax, 0x18
push eax
call fcn.1000a520
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x2b8]
add eax, 0x1c
push eax
call fcn.10008cf0
add esp, 4
cmp dword [ebx + 0x18], 2
jb 0x1002e4c6
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x1002e46b
add ecx, 0x20
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2b8]
push dword [eax + 0xc]
call fcn.10006ec1
add esp, 4
mov eax, dword [ebx + 0x1c]
mov ecx, 0xb4
add ecx, dword [eax + 4]
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2b8]
add eax, 0x18
push eax
call fcn.1000a520
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2b8]
add eax, 0x1c
push eax
call fcn.10008cf0
add esp, 4
cmp dword [ebx + 0x18], 3
jae 0x1002e4eb
mov ecx, dword [esp + 0x1c8]
xor ecx, ebp
call fcn.101e05ab
mov eax, dword [esp + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov dword [esp + 0x18], edi
jmp 0x1002e20e
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x1002e50d
add ecx, 0x20
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x2b8]
push dword [eax + 0xc]
call fcn.10006ec1
add esp, 4
mov eax, dword [ebx + 0x1c]
mov esi, 0xb4
mov eax, dword [eax + 8]
add eax, esi
push eax
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x2b8]
add eax, 0x18
push eax
call fcn.1000a520
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x2b8]
add eax, 0x1c
push eax
call fcn.10008cf0
add esp, 4
cmp dword [ebx + 0x18], 4
jb 0x1002e4c6
mov edi, 3
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x1002e595
add ecx, 0x20
push ecx
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x2b8]
push dword [eax + 0xc]
call fcn.10006ec1
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edi*4]
add eax, esi
push eax
call fcn.10062220
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x2b8]
add eax, 0x18
push eax
call fcn.1000a520
add esp, 4
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x2b8]
add eax, 0x1c
push eax
call fcn.10008cf0
add esp, 4
inc edi
cmp edi, dword [ebx + 0x18]
jae 0x1002e4c6
jmp 0x1002e573
mov edx, dword [ebp + 8]
mov esi, 0x80000000
mov eax, dword [edx + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0xb4]
xor eax, eax
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x4c], esi
mov dword [ecx + 0x48], eax
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], esi
cmp dword [edx + 0x18], 4
jb 0x1002daa2
mov ecx, 3
mov edi, 0x80000000
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x1c]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx + 0xb4]
mov dword [edx + 4], edi
mov dword [edx], eax
mov edx, dword [esi + 0x1c]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx + 0xb4]
mov dword [edx + 0x4c], edi
mov dword [edx + 0x48], eax
mov edx, dword [esi + 0x1c]
mov edx, dword [edx + ecx*4]
inc ecx
mov edx, dword [edx + 0xb4]
mov dword [edx + 0x58], eax
mov dword [edx + 0x5c], edi
cmp ecx, dword [esi + 0x18]
jae 0x1002daa2
jmp 0x1002e646
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
movsd xmm0, qword [eax + 0x10]
mov eax, dword [esp + 0x14]
movsd qword [eax + 0x48], xmm0
mov eax, dword [edx + 0xb4]
mov ecx, dword [edx + 0xe0]
mov dword [eax + 0x50], ecx
mov eax, dword [edx + 0xb4]
mov dword [esp + 0x14], eax
jmp 0x1002de40
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
jne 0x1002dc76
jmp 0x1002dc66
mov dword [esp + 0x18], 0xabb6a7bb
cmp dword [esp + 0x30], 1
mov eax, dword [esp + 0x28]
sbb eax, 0
jl 0x1002e013
xor eax, eax
xorpd xmm0, xmm0
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
lea eax, [esp + 0xc0]
movapd xmmword [esp + 0xf0], xmm0
movapd xmmword [esp + 0xe0], xmm0
movapd xmmword [esp + 0xd0], xmm0
movapd xmmword [esp + 0xc0], xmm0
push eax
call sym.ffmpeg.dll_av_init_packet
add esp, 4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1002e013
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + ebx*4]
mov ecx, dword [esi + 0xb4]
cmp dword [ecx + 0x3c], 1
jne 0x1002e79b
mov eax, dword [ebp + 0xc]
cmp ebx, dword [esp + 0x48]
mov ecx, 0
lea edi, [eax + ebx*4]
cmovge edi, ecx
test eax, eax
cmove edi, eax
mov ecx, dword [ebp + 8]
mov edx, esi
push edi
lea eax, [esp + 0xc4]
push eax
call fcn.10030230
add esp, 8
test eax, eax
jle 0x1002e795
mov ecx, esi
xor edx, edx
call fcn.10030060
test eax, eax
je 0x1002e76e
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
inc ebx
cmp ebx, eax
jb 0x1002e742
jmp 0x1002e013
mov edx, dword [ecx + 0x34]
mov esi, edx
shr esi, 0x1f
add esi, dword [ecx + 0x30]
adc edx, 0
shld edx, esi, 0x1f
jmp 0x1002dbd4
mov eax, dword [esp + 0xc]
push dword [eax + 0xb0]
push dword [esp + 0x44]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002e929
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2b8]
mov dword [eax + 0x10], 1
jmp 0x1002dd67
cmp dword [edi + 0x20], 0
je 0x1002eed2
cmp dword [edi + 0x18], 0
mov ebx, dword [esp + 0xc]
je 0x1002dfaa
mov eax, dword [edi + 0x1c]
push dword [esp + 0x10]
mov dword [esp + 0x18], eax
push eax
call fcn.10009590
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002e929
push dword [esp + 0x14]
push dword [edi + 0x18]
call fcn.1000a770
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002f5a2
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
jne 0x1002dfaa
push dword [esp + 0x14]
push dword [edi + 0x18]
call fcn.1000a7e0
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002fa0e
lea eax, [esp + 0xc0]
push eax
push 1
push dword [esp + 0x1c]
call sym.ffmpeg.dll_av_packet_get_side_data
add esp, 0xc
test eax, eax
je 0x1002e8ec
mov ecx, dword [edi + 0xc]
mov esi, eax
cmp dword [ecx + 0x44], 0
jne 0x1002f2e6
mov eax, dword [esp + 0xc0]
cmp eax, 0xfffffbf
ja 0x1002f5b0
add eax, 0x40
push eax
call fcn.10062340
add esp, 4
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x1002f5b0
push dword [esp + 0xc0]
push esi
push eax
call fcn.101e35e0
add esp, 0xc
mov eax, dword [esp + 0xc0]
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x48], eax
push dword [esp + 0x14]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
jmp 0x1002e847
lea eax, [esp + 0x70]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
jmp 0x1002dfe6
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
jmp 0x1002e6d8
mov dword [esp + 0x18], eax
push esi
call sym.ffmpeg.dll_av_free
add esp, 4
lea eax, [esp + 0x70]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
jmp 0x1002e3c6
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x1002e6d8
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ebx*4]
mov eax, dword [esi + 0x2b8]
mov ecx, esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
call fcn.10030060
test eax, eax
je 0x1002e9af
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x50c]
cmp dword [eax + 4], 0
je 0x1002e99e
mov eax, dword [esi + 0xb0]
cmp dword [eax + 4], 0x1b
jne 0x1002e99e
cmp dword [esi + 0xb4], 0
jne 0x1002ea44
mov eax, dword [esp + 0x2c]
inc ebx
add edi, 4
cmp ebx, dword [eax]
jb 0x1002e953
jmp 0x1002e6d8
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp + 8]
mov edx, esi
push dword [eax + 4]
call fcn.1002ffb0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x1002e976
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc], 0
jne 0x1002e976
mov eax, dword [ebp + 8]
mov dword [esp + 0xc0], 0
mov eax, dword [eax + 0x504]
test eax, eax
je 0x1002ea07
push 0
push eax
push str.codec_whitelist
lea eax, [esp + 0xcc]
push eax
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
cmp ebx, dword [esp + 0x48]
lea ecx, [esp + 0xc0]
mov eax, ecx
cmovl eax, edi
cmp dword [ebp + 0xc], 0
cmove eax, ecx
push eax
push dword [esp + 0x14]
push dword [esp + 0x14]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
lea eax, [esp + 0xc0]
push eax
call sym.ffmpeg.dll_av_dict_free
add esp, 4
jmp 0x1002e976
mov eax, dword [esi + 0x2b8]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x8c], 0
jne 0x1002ff56
cmp dword [esi + 0x1e0], 6
jg 0x1002e99e
mov ecx, dword [ebp + 8]
mov edx, ebx
mov eax, dword [ecx + 0x50c]
push dword [eax + 4]
call fcn.10030650
add esp, 4
jmp 0x1002e99e
cmp ecx, 2
je 0x1002db9c
cmp ecx, 0xad
je 0x1002db9c
xor eax, eax
cmp ecx, 0x61
je 0x1002db9c
jmp 0x1002dba0
mov dword [esp + 0x18], eax
jmp 0x1002e936
mov eax, dword [ebp + 8]
test byte [eax + 0x448], 0x40
je 0x1002e6d8
lea eax, [esp + 0x70]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
jmp 0x1002e6d8
xor edx, edx
xor edi, edi
jmp 0x1002e271
xor esi, esi
xor edi, edi
jmp 0x1002deae
xor esi, esi
cmp dword [esp + 0x14], 0x1f
mov edi, 0
jl 0x1002dee4
mov eax, dword [esp + 0xc]
mov esi, 0x80000000
mov edi, 0
mov ebx, dword [eax + 0xb4]
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
mov edx, eax
xor edx, esi
xor esi, esi
or edx, ecx
je 0x1002dee4
mov edx, dword [ebx + 0x58]
mov ebx, dword [ebx + 0x5c]
mov esi, 0x80000000
mov edi, ebx
xor edi, esi
xor esi, esi
or edi, edx
mov edi, 0
je 0x1002dee4
sub edx, ecx
sbb ebx, eax
push 0xf4240
push 1
push dword [esp + 0x64]
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
push ebx
push edx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov esi, eax
mov edi, edx
test edx, edx
mov ecx, 0
cmovs edi, ecx
cmovs esi, ecx
jmp 0x1002dee4
mov edx, dword [esp + 0x40]
cmp dword [edx + 8], 3
jne 0x1002eb97
mov esi, dword [esp + 0x10]
mov ebx, 0x80000000
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov edi, esi
xor edi, ebx
or edi, edx
jne 0x1002f867
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0xb4]
add dword [edx + 0x28], ecx
adc dword [edx + 0x2c], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xe8]
mov eax, 2
test ecx, ecx
je 0x1002ebd5
mov edx, dword [esp + 0xc]
cmp dword [edx + 0xe4], 0
je 0x1002ebd5
mov edx, dword [esp + 0x40]
cmp dword [edx + 0x54], 2
jne 0x1002ebd5
mov eax, dword [ecx + 0x24]
inc eax
mov ebx, dword [esp + 0xc]
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [ebx + 0xb4]
add dword [edx + 0x30], eax
adc dword [edx + 0x34], ecx
jmp 0x1002df2d
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
xor edx, edx
mov ecx, 0x80000000
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0xb4]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0xb4]
mov dword [esp + 0x14], eax
jmp 0x1002de29
mov eax, dword [ebx + 0xb0]
mov dword [eax + 4], ecx
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xb0]
mov eax, dword [eax + 8]
mov dword [ecx], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x2b8]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x14], eax
jmp 0x1002d8af
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + 0xb0]
jmp 0x1002d918
push 0
push eax
push str.codec_whitelist
push edi
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1002d98e
or byte [eax + 0xb1], 0x10
jmp 0x1002d900
or byte [eax + 0xb0], 1
jmp 0x1002d900
mov ecx, dword [ebx + 0xb0]
cmp dword [ecx], 1
jne 0x1002ecaf
cmp dword [ecx + 0x14], 0xffffffff
jne 0x1002ecaf
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x160]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ebx + 0x2b8]
push ecx
push dword [eax + 0xc]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
mov edi, eax
test eax, eax
jns 0x1002e1e5
mov dword [esp + 0x18], edi
jmp 0x1002e936
mov eax, dword [ebx + 0x2b8]
push 0
push dword [eax + 0xc]
push 0x100
lea eax, [esp + 0xcc]
push eax
call fcn.10007130
add esp, 0x10
mov ecx, edi
jmp 0x1002e1fd
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x20], 0
je 0x1002ed0d
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x18], 0
je 0x1002dc1d
push str.extract_extradata
call fcn.1000a480
add esp, 4
test eax, eax
je 0x1002dc1d
mov eax, dword [eax + 4]
test eax, eax
je 0x1002dc1d
mov ecx, dword [eax]
test ecx, ecx
je 0x1002dc1d
mov edx, dword [esp + 0xc]
add eax, 4
mov edx, dword [edx + 0xb0]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x1002dc5b
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
jne 0x1002ed47
jmp 0x1002dc1d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp byte [eax + 8], 0
js 0x1002dc3a
mov eax, dword [edx + 0xe0]
test byte [edx + 0x31], 4
mov ecx, 1
jne 0x1002ed87
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x4c0]
cmp eax, ecx
mov eax, dword [esp + 0xc]
jge 0x1002dc3a
mov eax, dword [eax + 0xb0]
cmp dword [eax], 2
jae 0x1002dc3a
jmp 0x1002dc5b
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 8
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x354]
mov eax, dword [esp + 0x10]
push dword [ecx + eax - 4]
mov dword [esp + 0x24], ecx
push dword [ecx + eax]
push edi
call fcn.10031260
add esp, 0xc
test eax, eax
je 0x1002f7f6
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
push dword [ecx + edx - 4]
push dword [ecx + edx - 8]
push eax
call fcn.101e35e0
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x10], 0xc
inc ecx
cmp ecx, dword [eax + 0x358]
mov dword [esp + 0x18], ecx
jl 0x1002edbb
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0xc]
jmp 0x1002e2db
cmp dword [ecx + 0x5c], 0
je 0x1002e320
mov ecx, dword [edi + 8]
mov dword [ecx + 0x2a8], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x5c]
mov dword [ecx + 0x5c], eax
mov eax, dword [edi + 0x2b8]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x60]
mov dword [ecx + 0x60], eax
jmp 0x1002e320
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 0x1002e936
mov ecx, dword [edi + 0x2b8]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x2e4]
mov dword [eax + 0x2e4], ecx
mov ecx, dword [edi + 0x2b8]
mov eax, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
push dword [eax + 0x2e4]
push dword [ecx + 0x2e0]
push dword [eax + 0x2e0]
call fcn.101e35e0
add esp, 0xc
mov eax, dword [edi + 0x2b8]
mov eax, dword [eax + 0xc]
jmp 0x1002e377
push str.extract_extradata
call fcn.1000a480
add esp, 4
test eax, eax
je 0x1002ef24
mov esi, eax
push str.extract_extradata
call fcn.1000a480
add esp, 4
test eax, eax
je 0x1002ef24
mov eax, dword [eax + 4]
test eax, eax
je 0x1002ef24
mov ecx, dword [eax]
test ecx, ecx
je 0x1002ef24
mov edx, dword [esp + 0xc]
add eax, 4
mov edx, dword [edx + 0xb0]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x1002fe86
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
jne 0x1002ef13
mov dword [edi + 0x20], 1
jmp 0x1002e7fe
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
push 0x1021666f
push esi
call fcn.101f2780
add esp, 8
test eax, eax
je 0x1002f7d1
push 0x102266ed
push esi
call fcn.101f2780
add esp, 8
test eax, eax
mov eax, 0x55d4a80
mov ecx, 0x4c4b40
mov dword [esp + 0x4c], 0x4c4b40
cmovne eax, ecx
mov dword [esp + 0x50], eax
push str.mpegts
push esi
call fcn.101f2780
add esp, 8
test eax, eax
je 0x1002f7d1
mov dword [esp + 0x58], 0
jmp 0x1002f7e9
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
jne 0x1002e056
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x2a0], 0
jne 0x1002e056
mov ebx, dword [esp + 0x10]
push dword [ebx + 0x70]
call fcn.100206c0
add esp, 4
mov esi, eax
call fcn.100206b0
push esi
push eax
call fcn.10005e10
mov edx, dword [esp + 0x14]
add esp, 8
cmp eax, dword [ebx + 0x70]
jne 0x1002e056
mov eax, dword [esp + 0x10]
mov dword [eax + 0x14], esi
jmp 0x1002e056
cmp dword [edx + 0x44], 0
jne 0x1002e06c
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
or eax, ecx
je 0x1002e06c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2f8]
mov eax, dword [eax + 0x2fc]
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x34], eax
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x3c], eax
push eax
mov dword [esp + 0x28], ecx
push ecx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.101e07d0
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [esp + 0x20]
adc edx, 0
shrd ecx, edx, 1
sar edx, 1
cmp dword [esp + 0x1c], ecx
sbb eax, edx
jge case.0x1002e0b2.4
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x14]
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x44], eax
push eax
mov dword [esp + 0x3c], ecx
push ecx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.101e07d0
cmp dword [esp + 0x20], 0
js case.0x1002e0b2.4
cmp esi, eax
mov ecx, ebx
sbb ecx, edx
jge case.0x1002e0b2.4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
imul ecx, eax
mul dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add ecx, edx
imul eax, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, esi
imul ecx, esi
mov esi, dword [esp + 0x38]
mul esi
imul ebx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
add ecx, edx
mov edx, dword [esp + 0x20]
add ebx, ecx
lea eax, [esi + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
shld edx, eax, 1
add eax, eax
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x48]
push 0
push 0xea60
push edx
push dword [esp + 0x28]
push ebx
push dword [esp + 0x50]
mov dword [esp + 0x34], eax
push eax
push dword [esp + 0x40]
call fcn.10065d50
add esp, 0x20
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x34]
cvtsi2sd xmm0, dword [esi + 0x44]
cvtsi2sd xmm1, dword [esi + 0x48]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0x50c]
divsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
cvtsi2sd xmm2, ebx
divsd xmm1, xmm2
movsd xmm2, qword [0x10226650]
cmp dword [eax + 0x64], 0
setne cl
test esi, esi
mov esi, 0xffc3b2b4
setg dl
test ebx, ebx
setg al
and al, cl
xor ecx, ecx
and al, dl
xor edx, edx
cmp edx, 0x167
ja 0x1002f207
imul ebx, edx, 0x3e9
add ebx, 0x3e9
xorps xmm4, xmm4
cvtsi2sd xmm4, ebx
movapd xmm3, xmm0
divsd xmm4, qword [0x10226638]
divsd xmm3, xmm4
addsd xmm3, qword [0x10226698]
andpd xmm3, xmmword [0x102122e0]
ucomisd xmm2, xmm3
minsd xmm3, xmm2
cmova ecx, ebx
test al, al
je 0x1002f1eb
movapd xmm2, xmm1
divsd xmm2, xmm4
addsd xmm2, qword [0x10226698]
andpd xmm2, xmmword [0x102122e0]
ucomisd xmm3, xmm2
jbe 0x1002f1eb
mov ecx, ebx
movapd xmm3, xmm2
inc edx
add esi, 0x2eec
movapd xmm2, xmm3
cmp edx, 0x18f
jne 0x1002f179
jmp 0x1002ff1c
cmp edx, 0x186
mov ebx, esi
jb 0x1002f191
cmp edx, 0x188
ja 0x1002f24a
mov dword [esp + 0xc0], 0x50
mov dword [esp + 0xc4], pe_nt_image_headers32
mov dword [esp + 0xc8], 0xf0
imul ebx, dword [esp + edx*4 - 0x558], 0x2eec
jmp 0x1002f191
imul ebx, dword [edx*4 + 0x10226418], 0x2ee0
jmp 0x1002f191
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [esi + 0x50]
mov ebx, dword [esi + 0x4c]
mov dword [esp + 0x14], eax
mov esi, dword [esi + 0x54]
imul ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xc]
mov ecx, eax
mov eax, esi
imul eax, ebx
mov ebx, dword [edx + 0x14]
imul ebx
cmp eax, ecx
sbb edx, dword [esp + 0x20]
jae 0x1002f819
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [edx + 0xa4], ebx
mov dword [edx + 0xa8], eax
jmp 0x1002e079
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x2b4]
test ecx, ecx
je case.0x1002e0b2.4
mov edx, dword [esp + 0x10]
push dword [edx + 0x5c]
push dword [edx + 0x60]
push ecx
push eax
call fcn.10066040
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x38], eax
jmp case.0x1002e0b2.4
call fcn.101f01af
xor esi, esi
xor edi, edi
jmp 0x1002e100
or esi, edi
je 0x1002e132
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test byte [eax + 0x54], 1
je 0x1002e132
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.1002abe0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1002f350
xor esi, esi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov edi, dword [ecx + esi*4]
mov ecx, dword [edi + 0xe8]
test ecx, ecx
je 0x1002f34b
push ecx
call fcn.1001dcd0
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [edi + 0xe8], 0
mov eax, dword [eax]
inc esi
cmp esi, eax
jb 0x1002f31f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x558], 0
je 0x1002fa2c
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.100329e0
push 0
push dword [esp + 0x64]
push dword [esp + 0x6c]
push dword [esi + 0x10]
call fcn.10034770
add esp, 0x10
cmp dword [esi + 0x18], 0
je 0x1002f429
movapd xmm0, xmmword [0x102092f0]
xor eax, eax
xor ecx, ecx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x1c]
mov edx, dword [edx + ecx*4]
inc ecx
mov edi, dword [edx + 0xc4]
mov esi, dword [edx + 0xc0]
mov dword [edx + 0xcc], edi
mov edi, 0x80000000
mov dword [edx + 0xc8], esi
mov dword [edx + 0xd0], eax
mov dword [edx + 0xd4], edi
mov dword [edx + 0x2a0], eax
mov dword [edx + 0x2a4], edi
movupd xmmword [edx + 0x100], xmm0
movupd xmmword [edx + 0x110], xmm0
movupd xmmword [edx + 0x120], xmm0
movupd xmmword [edx + 0x130], xmm0
movupd xmmword [edx + 0x140], xmm0
movupd xmmword [edx + 0x150], xmm0
movupd xmmword [edx + 0x160], xmm0
movupd xmmword [edx + 0x170], xmm0
mov dword [edx + 0x180], eax
mov dword [edx + 0x184], edi
cmp ecx, dword [ebx + 0x18]
jb 0x1002f395
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x4e0], 0
jmp 0x1002e18c
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x10], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x488]
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x1c], ecx
mov ecx, 0x80000000
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x30], edx
xor eax, ecx
or eax, dword [edx + 0x18]
jne 0x1002f584
mov ecx, dword [esp + 0x34]
xor eax, eax
mov edx, 0x80000000
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edx
or ecx, dword [esp + 0x3c]
je 0x1002f4be
mov eax, dword [esp + 0x30]
push dword [eax + 8]
push dword [eax + 4]
push 0xf4240
push 1
push dword [esp + 0x4c]
push dword [esp + 0x48]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x30]
xor esi, esi
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi*4]
push dword [esp + 0x24]
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], esi
mov dword [esp + 0xc], eax
je 0x1002f531
mov eax, edx
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0xc]
mov ecx, dword [edx + 0x14]
cmp dword [edx + 0x10], edi
mov edx, eax
sbb ecx, eax
setl cl
cmp edi, dword [esp + 0x14]
sbb edx, dword [esp + 0x28]
setl dl
test dl, cl
je 0x1002f531
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
inc esi
cmp ebx, esi
jne 0x1002f4d2
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
xor eax, eax
mov ebx, dword [esp + 0x30]
mov ecx, 0x80000000
add eax, 0xffffffff
adc ecx, 0xffffffff
xor eax, edx
xor ecx, edi
mov esi, edi
or ecx, eax
mov ecx, dword [ebx + 0x10]
sete al
mov dword [esp + 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebx + 0x14]
sbb esi, ecx
setl ah
or ah, al
mov eax, dword [ebp + 8]
cmovne edx, dword [esp + 0xc]
cmovne edi, ecx
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edx
mov ebx, dword [eax + 0x484]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov ecx, eax
mov dword [esp + 0x10], eax
jb 0x1002f44b
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
jmp 0x1002e282
push dword [esp + 0x14]
call sym.ffmpeg.dll_av_packet_unref
jmp 0x1002e926
push dword [esp + 0x14]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov dword [esp + 0x18], 0xfffffff4
jmp 0x1002e929
inc edx
cmp edx, eax
jb 0x1002e14d
mov edx, dword [ebp + 8]
mov esi, 0x80000000
mov ecx, dword [edx + 0x434]
xor ecx, esi
or ecx, dword [edx + 0x430]
jne 0x1002e15e
mov edx, dword [ebp + 8]
xor esi, esi
mov ecx, 0
mov dword [esp + 0x24], 0
cmp esi, dword [edx + 0x438]
sbb ecx, dword [edx + 0x43c]
jge 0x1002f8c9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1002f9c7
push eax
call fcn.10034e60
add esp, 4
mov esi, eax
mov dword [esp + 0x24], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x50c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
cmp ecx, esi
mov edx, eax
sbb edx, dword [esp + 0x24]
jge 0x1002f716
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x10], edx
je 0x1002f716
mov edx, dword [esp + 0x24]
sub esi, ecx
sbb edx, eax
xor edi, edi
shld edx, esi, 3
shl esi, 3
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x438]
mov eax, dword [eax + edi*4]
mov esi, dword [eax + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x43c]
mov ebx, esi
mov dword [esp + 0x1c], eax
sar ebx, 0x1f
push eax
mov dword [esp + 0x24], edx
push edx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.101e07d0
cmp eax, esi
sbb edx, ebx
jl 0x1002f70b
mov edx, dword [esp + 0xc]
mov ecx, 0x80000000
mov eax, dword [edx + 0x24]
xor eax, ecx
or eax, dword [edx + 0x20]
jne 0x1002f70b
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
imul ebx, eax
mul esi
imul ecx, esi
mov esi, dword [esp + 0xc]
add ebx, edx
add ecx, ebx
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 + 0x28]
call fcn.10061d20
add esp, 0x18
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x24], edx
mov eax, dword [eax]
mov dword [esp + 0x10], eax
inc edi
cmp edi, dword [esp + 0x10]
jb 0x1002f677
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x4e0], 2
jmp 0x1002e18c
mov al, 1
mov dword [esp + 0x38], eax
jmp 0x1002dc7e
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
xor edx, edx
mov ecx, 0x80000000
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0xb4]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0xb4]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x58]
mov dword [esp + 0x14], eax
jmp 0x1002ddc0
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc], 0
jne 0x1002d9a1
push edi
push esi
push dword [esp + 0x14]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
jmp 0x1002d9a1
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x8c], 0
jne 0x1002dc0f
jmp 0x1002dc5b
mov eax, dword [edi + 0xb0]
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x30], ebx
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x34], ecx
jmp 0x1002e2ec
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xb4]
mov dword [eax + 0x38], 1
jmp 0x1002df93
mov dword [esp + 0x58], 0
mov dword [esp + 0x4c], 0x4c4b40
mov dword [esp + 0x50], 0x6acfc0
mov dword [esp + 0x54], 0x1c9c380
jmp 0x1002d834
mov dword [esp + 0x18], 0xfffffff4
jmp 0x1002e936
push dword [esi + 0x10]
call fcn.10007cf0
add esp, 4
mov dword [esi + 0x2a0], eax
jmp 0x1002e0a6
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 0xa4]
sar ebx, 0x1f
mov dword [esp + 0x20], ecx
mov ecx, eax
mov eax, esi
imul dword [esp + 0x24]
mov esi, ecx
add ecx, 0xa8
mov dword [esp + 0x24], ecx
push 0
push 0x7fffffff
push edx
push eax
push ebx
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.10065d50
mov edx, esi
add esp, 0x20
jmp 0x1002e079
mov edi, dword [esp + 0xc]
mov ebx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
mov dword [esp + 0x18], ebx
mov ebx, 0x80000000
mov dword [esp + 0x14], edi
xor edi, ebx
or edi, dword [esp + 0x18]
je 0x1002eb97
cmp edx, dword [esp + 0x18]
mov edi, esi
sbb edi, dword [esp + 0x14]
jl 0x1002eb97
mov edi, dword [esp + 0xc]
sub edx, dword [esp + 0x18]
mov edi, dword [edi + 0xb4]
sbb esi, dword [esp + 0x14]
add ecx, dword [edi + 0x28]
adc eax, dword [edi + 0x2c]
cmp ecx, edx
mov ebx, eax
sbb ebx, esi
cmovge eax, esi
cmovge ecx, edx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], eax
jmp 0x1002eba7
test eax, eax
je 0x1002fe70
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + edx*4]
mov edi, dword [esi + 0xb0]
mov ecx, dword [edi + 0x18]
mov ebx, dword [edi + 0x1c]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, ebx
jge 0x1002f931
mov eax, ebx
mov edi, ecx
mov esi, 0x80000000
not eax
not edi
add eax, esi
cmp edi, dword [esp + 0xc]
sbb eax, dword [esp + 0x10]
jl 0x1002f974
add dword [esp + 0xc], ecx
adc dword [esp + 0x10], ebx
mov eax, dword [esp + 0x2c]
inc edx
cmp edx, dword [eax]
jb 0x1002f8e3
jmp 0x1002f984
mov eax, dword [esi + 0x2b8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
cmp eax, 1
mov ecx, ebx
sbb ecx, 0
jl 0x1002f966
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ebx
mov edi, dword [esi + 0xb0]
mov ebx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
cmp ecx, 1
mov eax, ebx
sbb eax, 0
jge 0x1002f905
cmp dword [edi], 0
jne 0x1002f926
cmp dword [esi + 0xe0], 1
jle 0x1002f926
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xc]
mov edx, 0x80000000
mov dword [ecx + 0x438], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x43c], eax
mov eax, dword [ecx + 0x434]
xor eax, edx
or eax, dword [ecx + 0x430]
jne 0x1002f716
mov eax, dword [esp + 0x10]
or dword [esp + 0xc], eax
jne 0x1002f612
jmp 0x1002f716
xor esi, esi
jmp 0x1002f62f
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x20
jmp case.0x1002e0b2.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x100
jmp case.0x1002e0b2.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0x80
jmp case.0x1002e0b2.4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 8
jmp case.0x1002e0b2.4
cmp dword [esp + 0x18], 0xdfb9b0bb
je 0x1002fa23
cmp dword [esp + 0x18], 0xfffffff5
jne 0x1002e929
mov ebx, dword [esp + 0xc]
jmp 0x1002dfaa
push 1
push 0x102266e0
push str.skip_changes
mov esi, dword [ebp + 8]
push esi
call fcn.10062a80
add esp, 0x10
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1002ff07
push eax
call fcn.10034e60
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0xc]
xor edx, edx
mov eax, 0xfffc2f70
mov esi, 0xfffc2f70
mov edi, 0
dec edx
mov ecx, ebx
shld edx, eax, cl
shl esi, cl
test bl, 0x20
mov eax, 0
mov ecx, 0
cmovne edx, esi
cmovne esi, edi
add esi, dword [esp + 0x3c]
adc edx, dword [esp + 0x44]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edx
cmovns eax, edx
cmovns ecx, esi
push edi
push eax
push ecx
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
call fcn.10034770
add esp, 0x10
cmp ebx, 1
mov ecx, 1
mov eax, 0x3d090
mov esi, 0x3d090
cmova ecx, ebx
xor ebx, ebx
dec cl
shld ebx, eax, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edi
cmp esi, 1
mov eax, ebx
sbb eax, 0
jl 0x1002fc99
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
push eax
push dword [ebp + 8]
call fcn.100288a0
add esp, 8
cmp eax, 0xfffffff5
je 0x1002fb14
test eax, eax
jne 0x1002fc99
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x1c]
mov ecx, 0x80000000
xor edx, ecx
add eax, dword [esp + 0xdc]
or edx, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
jne 0x1002fb7e
lea eax, [esp + 0xc0]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sar eax, 0x1f
cmp ecx, esi
sbb eax, ebx
jl 0x1002fb14
jmp 0x1002fc99
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xe0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ecx*4]
mov ecx, 0x80000000
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x34], edx
xor eax, ecx
or eax, dword [edx + 0x18]
jne 0x1002fbba
mov edx, dword [esp + 0x34]
mov ecx, 0x80000000
mov eax, dword [edx + 0xc4]
xor eax, ecx
or eax, dword [edx + 0xc0]
je 0x1002fb5a
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x28], eax
or eax, ecx
mov dword [esp + 0x30], ecx
je 0x1002fd1a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov edi, 0x80000000
add eax, dword [esp + 0xc8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
adc eax, dword [esp + 0xcc]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov edx, ecx
xor edx, edi
or edx, eax
jne 0x1002fc1d
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc0]
mov ecx, dword [ecx + 0xc4]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
sub edx, eax
sbb edi, ecx
cmp edx, 1
mov ecx, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edi
sbb edi, 0
mov dword [esp + 0x20], ecx
jl 0x1002fb5a
mov ecx, dword [esp + 0x34]
mov edi, 0x80000000
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x38], edx
xor edx, edi
mov edi, dword [ecx + 0xb4]
mov dword [esp + 0x20], eax
or edx, eax
jne 0x1002fdad
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [edi + 0x44], ecx
xor ecx, ecx
mov dword [edi + 0x40], eax
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x1002fb5a
cmp dword [esp + 0x10], 0
jne 0x1002fe54
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1002fe54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
xor ecx, ecx
inc ecx
mov esi, dword [edx]
mov edi, dword [esi + 0xb0]
cmp dword [edi], 1
ja 0x1002fcdd
mov edi, dword [esi + 0x24]
mov ebx, 0x80000000
xor edi, ebx
or edi, dword [esi + 0x20]
mov esi, 0
cmove ecx, esi
add edx, 4
dec eax
jne 0x1002fcbb
cmp dword [esp + 0x14], 1
sbb dword [esp + 0x24], 0
jl 0x1002fe54
test ecx, ecx
jne 0x1002fe54
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], ecx
cmp eax, 7
mov dword [esp + 0xc], eax
jne 0x1002fa78
jmp 0x1002fe54
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x38]
push dword [eax + 0xe8]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xcc]
push eax
push dword [ebp + 8]
call fcn.10029660
add esp, 0x18
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x1002fe39
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x1002fe39
mov edi, dword [esp + 0x34]
imul dword [edi + 0x10]
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp + 0x28], edx
imul dword [edi + 0x14]
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push edx
push eax
push 0
push 1
call fcn.10061a20
add esp, 0x1c
mov dword [esp + 0x30], edx
mov dword [esp + 0xf4], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0xf0], eax
jmp 0x1002fbd8
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
cmp eax, 1
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], eax
sbb edx, 0
jl 0x1002fc6d
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
cmp ecx, dword [esp + 0x28]
sbb eax, dword [esp + 0x30]
jge 0x1002fc7f
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
sub edx, dword [esp + 0x48]
sbb ecx, dword [esp + 0x40]
mov eax, ecx
sar eax, 0x1f
add edx, eax
adc ecx, eax
xor edx, eax
xor ecx, eax
mov eax, 0x3c
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x34]
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.101e07d0
cmp dword [esp + 0x38], eax
sbb dword [esp + 0x20], edx
jl 0x1002fc6d
jmp 0x1002fc7f
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
jmp 0x1002fbd8
push 1
push 0x10215d61
push str.skip_changes
push dword [ebp + 8]
call fcn.10062a80
add esp, 0x10
jmp 0x1002f360
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x43c], eax
mov dword [ecx + 0x438], eax
jmp 0x1002f716
call fcn.10008cb0
test eax, eax
mov dword [edi + 0x1c], eax
je 0x1002f5bc
lea ebx, [edi + 0x18]
push ebx
push esi
call fcn.1000a5b0
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002fef0
mov ecx, dword [esp + 0xc]
mov eax, dword [ebx]
push dword [ecx + 0xb0]
push dword [eax + 0x10]
call fcn.100087b0
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
js 0x1002fef0
mov ecx, dword [esp + 0xc]
mov eax, dword [ebx]
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x18], xmm0
push dword [ebx]
call fcn.1000a690
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jns 0x1002ef24
add edi, 0x1c
push ebx
call fcn.1000a520
add esp, 4
push edi
call fcn.10008cf0
jmp 0x1002e926
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
jmp 0x1002fa60
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x1002e06c
mov eax, ecx
xor edx, edx
sar eax, 0x1f
push edx
push 0x7fffffff
push edx
push 0x2eec
push eax
push ecx
push dword [esp + 0x34]
push dword [esp + 0x40]
call fcn.10065d50
mov edx, dword [esp + 0x2c]
add esp, 0x20
jmp 0x1002e06c
push eax
call fcn.100fbd00
add esp, 4
mov ecx, dword [esi + 0x2b8]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x8c]
cmp eax, ecx
je 0x1002e99e
cmp ecx, 2
jle 0x1002ea5a
mov eax, dword [esi + 0x1e0]
cmp ecx, 3
jne 0x1002ff98
cmp eax, 0x11
jg 0x1002e99e
jmp 0x1002ea67
cmp eax, 0x13
jg 0x1002e99e
jmp 0x1002ea67