Function at 0x10046150
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x164
mov edi, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x194]
mov dword [ebp - 0x128], eax
xor eax, eax
inc eax
xor ecx, ecx
push eax
push ecx
push ecx
push dword [edi + 0x10]
call fcn.100433e0
add esp, 0x10
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x14c], eax
mov ebx, dword [edi + 0x5c]
mov esi, dword [edi + 0x58]
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x154], eax
mov eax, dword [edi + 4]
push str.missing_streams
push dword [edi + 0xc]
push dword [eax + 0x14]
call fcn.100619d0
add esp, 0xc
mov dword [ebp - 0x144], eax
xor eax, eax
inc eax
push eax
xor ecx, ecx
push ecx
push eax
push str.skip_clear
push edi
call fcn.10061560
add esp, 0x14
mov eax, esi
mov dword [ebp - 0x148], ebx
or eax, ebx
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x15c], esi
je 0x100470f0
cmp dword [edi + 0x18], 0
je 0x10046416
xor ecx, ecx
mov dword [ebp - 0x114], 0
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x11c], ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xb4]
mov ecx, dword [ebx + 0xcc]
mov dword [ebp - 0x118], ecx
mov eax, dword [eax]
test eax, eax
jne 0x100463c9
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x4c], 0
jne 0x10046263
movsd xmm0, qword [ebx + 0xc]
mov eax, dword [ebp - 0x118]
movsd qword [eax + 0x4c], xmm0
cmp dword [ebx + 0x2c4], 0
jne 0x100462b1
mov eax, dword [ebp + 8]
test byte [eax + 0x48], 0x20
jne 0x100462b1
cmp dword [ebx + 0x108], 0
jg 0x100462b1
mov eax, dword [ebx + 0xb4]
push dword [eax + 4]
call fcn.10040120
add esp, 4
mov dword [ebx + 0x2c4], eax
test eax, eax
je 0x100462b1
mov edx, dword [ebx + 0x2c0]
xor ecx, ecx
inc ecx
cmp edx, 2
jne 0x10046403
or dword [eax + 0xb0], ecx
push dword [ebx + 0xb4]
push dword [ebp - 0x118]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
test eax, eax
js 0x10046ade
cmp dword [ebx + 0x108], 0
jg 0x100462e0
mov dword [ebx + 0xd0], 1
mov eax, dword [ebx + 0xb4]
mov eax, dword [eax + 4]
cmp eax, 0x1b
jne 0x100463d7
push str.h264
call fcn.1003a320
add esp, 4
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x11c]
lea edi, [eax + ecx*4]
lea eax, [ebp - 0x114]
cmove edi, eax
xor esi, esi
push esi
push 0x102c652e
push str.threads
push edi
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push esi
push 0x102b56ab
push str.lowres
push edi
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x104]
test eax, eax
jne 0x10046ae6
mov ecx, ebx
xor edx, edx
call fcn.100486a0
test eax, eax
jne 0x10046ab4
cmp dword [ebx + 0x108], 0
jg 0x10046ab4
cmp dword [ebp - 0x124], 0
je 0x1004639f
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xc], 0
jne 0x1004639f
push edi
push dword [ebp - 0x124]
push dword [ebp - 0x118]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
cmp dword [ebp + 0xc], 0
jne 0x100463b4
lea eax, [ebp - 0x114]
push eax
call sym.ffmpeg.dll_av_dict_free
add esp, 4
mov ecx, dword [ebp - 0x11c]
inc ecx
mov edi, dword [ebp + 8]
cmp ecx, dword [edi + 0x18]
jb 0x10046215
jmp 0x10046416
cmp eax, 3
jne 0x10046263
jmp 0x10046247
push eax
push ebx
push dword [ebp + 8]
call fcn.10172d40
add esp, 0xc
test eax, eax
je 0x10047ace
mov esi, eax
test byte [eax + 0x12], 2
jne 0x10047add
mov dword [ebp - 0x124], esi
jmp 0x10046305
cmp edx, 5
jne 0x100462b1
mov ecx, 0x1000
jmp 0x100462ab
lea eax, [edi + 0xa0]
mov dword [ebp - 0x138], eax
lea eax, [edi + 0x16c]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x12c], 0
push dword [ebp - 0x138]
call fcn.100432c0
add esp, 4
test eax, eax
jne 0x10047174
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
je 0x100465ca
mov dword [ebp - 0x118], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x118]
mov edi, dword [eax + ecx*4]
mov ecx, edi
xor edx, edx
call fcn.100486a0
test eax, eax
je 0x100465d4
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [edi + 0xc]
cvtsi2sd xmm1, dword [edi + 0x10]
divsd xmm0, xmm1
ucomisd xmm0, qword [0x102c64e0]
mov ecx, 0x14
mov eax, 0x28
cmova ecx, eax
mov dword [ebp - 0x120], ecx
mov esi, dword [edi + 0xcc]
mov ecx, dword [esi + 0x4c]
mov eax, ecx
mov edx, 0x65
imul edx
mov dword [ebp - 0x130], edx
mov ebx, eax
mov eax, ecx
mov ecx, 5
imul ecx
mov dword [ebp - 0x11c], esi
mov esi, dword [esi + 0x50]
mov ecx, esi
sar ecx, 0x1f
cmp esi, ebx
mov ebx, ecx
sbb ebx, dword [ebp - 0x130]
jge 0x1004651f
cmp esi, eax
sbb ecx, edx
jl 0x1004651f
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x14], 0x7634706d
je 0x1004651f
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x10]
cmp ecx, 0x1b
jne 0x10047938
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x98]
test ecx, ecx
cmovns eax, ecx
test byte [edi + 0x31], 4
mov ecx, 0
cmovne eax, ecx
mov ecx, dword [edx + 4]
test byte [ecx + 8], 0x80
mov ecx, dword [edi + 0xe8]
jne 0x10046b7b
mov edx, dword [ecx + 0x10]
cmp dword [edi + 0xac], 0
je 0x100465b9
cmp dword [edi + 0x44], 0
je 0x100465b9
cmp dword [ecx + 0x38], 0
je 0x10046573
cmp edx, 1
jle 0x1004795d
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x44], 0
je 0x10046b92
mov eax, dword [edi + 0x2d4]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edi + 0x2d0]
je 0x10046bf4
mov edx, dword [ebp - 0x118]
inc edx
mov eax, dword [ebp + 8]
mov ecx, edx
mov dword [ebp - 0x118], edx
cmp edx, dword [eax + 0x18]
jb 0x1004646f
jmp 0x100465d4
mov esi, dword [edi + 0xb4]
cmp dword [esi], 0
jne 0x10046564
cmp edx, eax
jge 0x10046564
jmp 0x100465d4
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x144], 0
jne 0x10046ac8
mov bl, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [eax + 0x18]
je 0x100467b0
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x124]
sbb eax, dword [ebp - 0x134]
jge 0x10047174
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x128]
call fcn.10045320
cmp eax, 0xfffffff5
je 0x10046442
test eax, eax
js 0x100477a2
mov eax, dword [ebp + 8]
test byte [eax + 0x48], 0x40
mov edx, dword [ebp - 0x128]
jne 0x1004666d
xor eax, eax
push eax
push eax
push dword [ebp - 0x128]
push dword [ebp - 0x150]
call fcn.1003b4d0
add esp, 0x10
test eax, eax
js 0x10047797
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x170]
add edx, 8
mov eax, dword [eax + 0x1c]
mov ecx, dword [edx + 0x20]
mov esi, dword [eax + ecx*4]
test byte [esi + 0x31], 4
mov dword [ebp - 0x11c], edx
jne 0x10046696
mov eax, dword [edx + 0x1c]
mov ecx, eax
sar ecx, 0x1f
add dword [ebp - 0x12c], eax
adc dword [ebp - 0x124], ecx
mov eax, dword [esi + 0xcc]
mov dword [ebp - 0x130], eax
cmp dword [esi + 0xd0], 0
je 0x10046c99
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov edx, eax
mov edi, 0x80000000
xor edx, edi
or edx, ecx
je 0x100466d5
cmp dword [esi + 0x2c8], 2
jge 0x10046f80
mov edi, dword [esi + 0x2c8]
cmp edi, 2
jge 0x10046cce
mov eax, dword [esi + 0xb4]
cmp dword [eax], 0
jne 0x10046756
mov edi, dword [ebp - 0x11c]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
sub esp, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call fcn.10126fc0
add esp, 0x10
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov edx, eax
mov edi, 0x80000000
xor edx, edi
or edx, ecx
je 0x10046756
mov edx, dword [ebp - 0x11c]
mov ebx, dword [edx + 0x14]
mov edi, dword [edx + 0x10]
mov edx, ebx
mov dword [ebp - 0x120], esi
mov esi, 0x80000000
xor edx, esi
mov esi, dword [ebp - 0x120]
or edx, edi
je 0x10046756
xor edi, ecx
xor ebx, eax
or ebx, edi
jne 0x100480b7
mov eax, dword [esi + 0xcc]
cmp dword [eax + 0x44], 0
je 0x10046e50
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x14c]
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + edx*4]
mov edx, 0
cmovae eax, edx
test ecx, ecx
cmove eax, ecx
mov edi, dword [ebp + 8]
mov ecx, edi
mov edx, esi
push eax
push dword [ebp - 0x11c]
call fcn.10048820
add esp, 8
test byte [edi + 0x48], 0x40
jne 0x10046f6d
inc dword [esi + 0x2c8]
jmp 0x10046442
mov esi, dword [ebp + 8]
test byte [esi + 0x14], 1
jne 0x10047780
push esi
call fcn.10045a40
add esp, 4
cmp dword [esi + 0x18], 0
je 0x10046864
xor ebx, ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ebx*4]
mov ecx, dword [edx + 0xcc]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x10046834
mov dword [ebp - 0x118], ecx
cmp dword [ecx + 0x10], 0xd
je 0x10047192
mov eax, dword [edx + 0xe8]
mov edi, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
mov ecx, edi
or ecx, esi
jne 0x100471f6
cmp dword [edx + 0xac], 0
je 0x100474ba
mov eax, dword [edx + 0x290]
test eax, eax
jne 0x1004753f
inc ebx
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x18]
jb 0x100467d2
jmp 0x10046864
cmp eax, 1
jne case.0x10046854.4
mov edi, ecx
cmp dword [ecx + 0x228], 0
je 0x10047b38
mov eax, dword [edi + 0x160]
dec eax
cmp eax, 7
ja case.0x10046854.4
jmp dword [eax*4 + 0x102c6768]
mov dword [edx + 0x30], 0x200
jmp case.0x10046854.4
mov eax, dword [ebp - 0x154]
or eax, dword [ebp - 0x134]
mov edi, dword [ebp + 8]
je 0x10046936
mov eax, dword [edi + 4]
test byte [eax + 8], 1
jne 0x10047570
push dword [edi + 0x10]
call fcn.10043990
add esp, 4
mov esi, edx
xor ecx, ecx
test edx, edx
cmovle esi, ecx
cmovs eax, ecx
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 4]
mov ebx, dword [eax]
push 0x102b5ec7
push ebx
call fcn.101460c0
add esp, 8
test eax, eax
je 0x100468cc
push str.mpegts
push ebx
call fcn.101460c0
add esp, 8
test eax, eax
jne 0x100468d8
or dword [ebp - 0x118], esi
jne 0x10047b52
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10047610
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov ebx, 0x80000000
mov esi, dword [ecx + edx*4]
mov edi, dword [esi + 0x24]
xor edi, ebx
or edi, dword [esi + 0x20]
je 0x10047604
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.1004a150
mov eax, dword [edi + 4]
push 0x102c6735
push dword [eax]
call fcn.101460c0
add esp, 8
test eax, eax
je 0x10047d1b
mov dword [edi + 0xe0], 1
mov ecx, edi
call fcn.1004a200
xor esi, esi
push 1
push esi
push esi
push str.skip_clear
push edi
call fcn.10061560
add esp, 0x14
cmp dword [edi + 0x18], esi
je 0x1004698e
xor ebx, ebx
mov eax, dword [edi + 0x1c]
mov esi, dword [eax + ebx*4]
mov dword [ebp - 0x114], 0xffffffff
cmp dword [esi + 0xd0], 0
je 0x10046afc
mov ecx, esi
lea edx, [ebp - 0x114]
call fcn.100486a0
test eax, eax
je 0x10046b44
inc ebx
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x18]
cmp ebx, esi
jb 0x10046951
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x10047581
test esi, esi
je 0x10046a9f
xor esi, esi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
mov ebx, dword [eax + esi*4]
cmp dword [ebx + 0xd0], 0
je 0x100469e7
push dword [ebx + 0xcc]
push dword [ebx + 0xb4]
call fcn.1003c050
add esp, 8
test eax, eax
js 0x10046ade
mov edi, dword [ebx + 0xcc]
cmp dword [edi + 0x2d0], 0
jg 0x10046c1c
mov dword [ebx + 0xd0], 0
inc esi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x18]
cmp esi, eax
jb 0x100469a9
mov dword [ebp - 0x120], 0
test eax, eax
je 0x10046a84
xor esi, esi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + esi*4]
mov eax, dword [ebx + 0xe8]
test eax, eax
je 0x10046a3a
lea edi, [ebx + 0xe8]
add eax, 0x20
push eax
call fcn.10127460
add esp, 4
push edi
call fcn.10127460
add esp, 4
push dword [ebx + 0xcc]
call fcn.1015d2f2
add esp, 4
mov eax, dword [ebx + 0xb4]
mov ecx, 0x88
add eax, ecx
mov ecx, dword [ebx + 0xcc]
mov edx, 0x310
add ecx, edx
push eax
push ecx
call sym.ffmpeg.dll_av_channel_layout_copy
add esp, 8
add ebx, 0xd4
push ebx
call fcn.1003b870
add esp, 4
inc esi
mov eax, dword [ebp + 8]
cmp esi, dword [eax + 0x18]
jb 0x10046a0c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
mov eax, dword [ebp - 0x120]
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x120], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
jmp 0x10046a06
mov eax, dword [ebx + 0xb4]
cmp dword [eax], 3
je 0x10046375
jmp 0x1004639f
mov bl, 1
mov eax, dword [ebp - 0x144]
cmp dword [eax], 0
jne 0x100465f5
jmp 0x100465e1
mov dword [ebp - 0x120], eax
jmp 0x10046aa9
push 0
push eax
push str.codec_whitelist
push edi
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x10046357
mov eax, dword [esi + 0xb4]
cmp dword [eax], 1
jne 0x10046b22
cmp dword [eax + 0x14], 0xffffffff
jne 0x10046b22
mov ecx, dword [esi + 0xcc]
mov ecx, dword [ecx + 0x138]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + 0xb4]
push eax
push dword [esi + 0xcc]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
jns 0x1004696e
jmp 0x10046aa9
mov edi, 0x100
lea eax, [ebp - 0x110]
push edi
push 0xff
push eax
call fcn.10132b90
add esp, 0xc
push 0
push dword [esi + 0xcc]
push edi
lea eax, [ebp - 0x110]
push eax
call fcn.1015d6b0
add esp, 0x10
jmp 0x10046983
mov edx, dword [ecx + 0x34]
mov esi, edx
shr esi, 0x1f
add esi, dword [ecx + 0x30]
adc edx, 0
shld edx, esi, 0x1f
jmp 0x10046555
cmp dword [edi + 0xd8], 0
je 0x10046ba8
cmp dword [edi + 0xd4], 0
je 0x10046583
push str.extract_extradata
call fcn.1003b7f0
add esp, 4
test eax, eax
je 0x10046583
mov eax, dword [eax + 4]
test eax, eax
je 0x10046583
mov ecx, dword [eax]
test ecx, ecx
je 0x10046583
mov edx, dword [edi + 0xb4]
mov edx, dword [edx + 4]
add eax, 4
cmp ecx, edx
je 0x100465d4
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
jne 0x10046bde
jmp 0x10046583
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
test byte [eax + 8], 0x80
jne 0x1004659c
test byte [edi + 0x31], 4
jne 0x10047d6d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
jmp 0x10047d70
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 8
mov ecx, dword [edi + 0x2cc]
mov eax, dword [ebp - 0x118]
push dword [ecx + eax - 4]
mov dword [ebp - 0x128], ecx
push dword [ecx + eax]
push ebx
call fcn.10172c10
add esp, 0xc
test eax, eax
je 0x10047f4a
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x128]
push dword [ecx + edx - 4]
push dword [ecx + edx - 8]
push eax
call fcn.10132610
add esp, 0xc
mov eax, dword [ebp - 0x11c]
inc eax
add dword [ebp - 0x118], 0xc
mov dword [ebp - 0x11c], eax
cmp eax, dword [edi + 0x2d0]
jge 0x100469e7
jmp 0x10046c30
mov edi, esi
push dword [esi + 0xb4]
push dword [ebp - 0x130]
call sym.ffmpeg.dll_avcodec_parameters_to_context
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
js 0x1004865f
mov esi, edi
mov dword [edi + 0xd0], 1
jmp 0x100466af
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x120], esi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x13c], eax
test eax, eax
jle 0x100479a5
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 0xe8]
push 0xf4240
push 1
push dword [ebp - 0x13c]
push dword [ecx + 0xc]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov esi, eax
mov ebx, edx
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 0x44]
test eax, eax
jle 0x10046d56
push 0xf4240
push 1
push eax
mov eax, dword [ebp - 0x120]
push dword [eax + 0x48]
push 0
push edi
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
cmp esi, eax
mov ecx, eax
cmova ecx, esi
cmp ebx, edx
cmovg eax, esi
cmove eax, ecx
cmovle ebx, edx
mov esi, eax
mov eax, esi
or eax, ebx
je 0x100479ae
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x148]
cmp byte [ebp - 0x140], 0
je 0x10046d97
mov eax, dword [ebp - 0x130]
cmp dword [eax + 8], 3
mov ecx, dword [ebp - 0x148]
mov eax, ecx
cmove eax, ecx
mov ecx, dword [ebp - 0x160]
cmove ecx, dword [ebp - 0x164]
cmp esi, ecx
sbb ebx, eax
jge 0x1004715d
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
cmp eax, 1
mov edx, ecx
sbb edx, 0
mov esi, dword [ebp - 0x120]
jl 0x100466e4
mov edx, dword [ebp - 0x130]
cmp dword [edx + 8], 3
jne 0x10046dee
mov edx, dword [ebp - 0x11c]
mov edi, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x140], edx
mov esi, 0x80000000
xor edx, esi
or edx, edi
jne 0x100480d5
mov edx, dword [ebp - 0x120]
mov edx, dword [edx + 0xe8]
add dword [edx + 0x28], eax
adc dword [edx + 0x2c], ecx
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x2c4]
mov eax, 2
test ecx, ecx
je 0x10046e34
mov edx, dword [ebp - 0x120]
cmp dword [edx + 0x2c0], 0
je 0x10046e34
mov edx, dword [ebp - 0x130]
cmp dword [edx + 0x54], 2
jne 0x10046e34
mov eax, dword [ecx + 0x24]
inc eax
mov ecx, eax
sar ecx, 0x1f
mov esi, dword [ebp - 0x120]
mov edx, dword [esi + 0xe8]
add dword [edx + 0x30], eax
adc dword [edx + 0x34], ecx
jmp 0x100466e4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x190]
mov dword [ebp - 0x130], eax
lea eax, [esi + 0xd4]
mov dword [ebp - 0x140], eax
mov ebx, esi
cmp dword [esi + 0xd8], 0
je 0x10047a71
mov eax, dword [ebp - 0x140]
cmp dword [eax], 0
mov esi, ebx
je 0x10046766
push dword [ebp - 0x11c]
push dword [ebp - 0x130]
call sym.ffmpeg.dll_av_packet_ref
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
js 0x1004865f
push dword [ebp - 0x130]
mov eax, dword [ebp - 0x140]
push dword [eax]
call fcn.1003ba30
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
mov esi, ebx
js 0x10047787
mov eax, dword [esi + 0xcc]
cmp dword [eax + 0x44], 0
jne 0x10046766
push dword [ebp - 0x130]
mov eax, dword [ebp - 0x140]
push dword [eax]
call fcn.1003baa0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
js 0x10048060
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jle 0x10046f4b
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 0x28]
cmp dword [eax + 8], 1
je 0x10046f2b
add eax, 0xc
dec ecx
jne 0x10046f1d
jmp 0x10046f4b
mov ecx, dword [eax]
mov esi, ebx
mov edx, dword [ebx + 0xcc]
mov dword [edx + 0x44], ecx
mov ecx, dword [eax + 4]
mov edx, dword [ebx + 0xcc]
mov dword [edx + 0x48], ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
push dword [ebp - 0x130]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
cmp dword [ebp - 0x120], 0
mov esi, ebx
jns 0x10046ed3
jmp 0x10046766
push dword [ebp - 0x128]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
jmp 0x100467a5
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x120], esi
mov edi, dword [esi + 0xe8]
mov esi, dword [edi + 0x58]
mov edx, dword [edi + 0x5c]
mov dword [ebp - 0x13c], edx
mov ebx, 0x80000000
xor edx, ebx
or edx, esi
je 0x10046fe6
cmp esi, ecx
mov ecx, dword [ebp - 0x13c]
sbb ecx, eax
jl 0x10046fe6
xor eax, eax
mov dword [edi + 0x58], eax
mov edx, 0x80000000
mov dword [edi + 0x5c], edx
mov esi, dword [ebp - 0x120]
mov ecx, dword [esi + 0xe8]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
mov edi, dword [esi + 0xe8]
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x13c], eax
mov esi, dword [edi + 0x58]
mov eax, dword [ebp - 0x13c]
mov ecx, 0x80000000
xor eax, ecx
or eax, esi
je 0x10047086
mov eax, dword [edi + 0x60]
sub eax, dword [edi + 0x50]
mov dword [ebp - 0x158], eax
jle 0x10047086
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub eax, esi
mov ebx, dword [ebp - 0x13c]
sbb ecx, ebx
push 0
push 0x3e8
push ecx
push eax
call fcn.1014b940
sub esi, dword [edi + 0x48]
sbb ebx, dword [edi + 0x4c]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x158]
mov eax, ecx
sar eax, 0x1f
push eax
push ecx
push ebx
push esi
call fcn.1014b940
cmp eax, dword [ebp - 0x168]
sbb edx, dword [ebp - 0x13c]
jae 0x10047086
xor eax, eax
mov dword [edi + 0x58], eax
mov edx, 0x80000000
mov dword [edi + 0x5c], edx
mov esi, dword [ebp - 0x120]
mov ecx, dword [esi + 0xe8]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
mov edi, dword [esi + 0xe8]
mov eax, dword [edi + 0x4c]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edi + 0x48]
jne 0x100470c0
mov eax, dword [ebp - 0x11c]
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + 0x48], xmm0
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0xe8]
mov ecx, dword [edx + 0x2c8]
mov dword [eax + 0x50], ecx
mov edi, dword [edx + 0xe8]
mov eax, dword [ebp - 0x11c]
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + 0x58], xmm0
mov esi, dword [ebp - 0x120]
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0x2c8]
mov dword [eax + 0x60], ecx
mov ebx, dword [ebp - 0x140]
jmp 0x100466d5
mov eax, dword [edi + 4]
mov esi, dword [eax]
push 0x102b5ec7
push esi
call fcn.101460c0
add esp, 8
test eax, eax
je 0x10047975
push 0x102c652a
push esi
call fcn.101460c0
add esp, 8
test eax, eax
mov eax, 0x55d4a80
mov ecx, 0x4c4b40
mov dword [ebp - 0x15c], 0x4c4b40
cmovne eax, ecx
mov dword [ebp - 0x160], eax
push str.mpegts
push esi
call fcn.101460c0
add esp, 8
test eax, eax
je 0x10047975
mov dword [ebp - 0x148], 0
jmp 0x10047993
mov eax, dword [ebp + 8]
test byte [eax + 0x48], 0x40
je 0x10047174
push dword [ebp - 0x128]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0x154]
neg ecx
sbb eax, dword [ebp - 0x134]
mov esi, dword [ebp + 8]
jge 0x100467bd
jmp 0x100478c4
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x14], 0
jne 0x100467f8
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x228], 0
jne 0x100467f8
mov esi, dword [ebp - 0x118]
push dword [esi + 0x70]
mov dword [ebp - 0x11c], edx
call fcn.1016a340
add esp, 4
mov edi, eax
push eax
push 0
call fcn.1016a370
mov edx, dword [ebp - 0x11c]
add esp, 8
cmp eax, dword [esi + 0x70]
jne 0x100467f8
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x14], edi
jmp 0x100467f8
cmp dword [edx + 0x44], 0
jne 0x1004680e
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x128], ecx
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x124], ecx
or eax, ecx
je 0x1004680e
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x270]
mov dword [ebp - 0x138], ecx
mov eax, dword [eax + 0x274]
mov dword [ebp - 0x120], eax
mov ecx, dword [edx + 0xc]
mov eax, ecx
sar eax, 0x1f
mov dword [ebp - 0x12c], eax
push eax
mov dword [ebp - 0x144], ecx
push ecx
push 0x7fffffff
push 0xffffffffffffffff
mov dword [ebp - 0x11c], edx
call fcn.1014f930
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
adc edx, 0
shrd ecx, edx, 1
sar edx, 1
cmp dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x124]
sbb eax, edx
mov eax, dword [ebp - 0x11c]
jge case.0x10046854.4
mov ecx, dword [eax + 0x10]
mov eax, ecx
sar eax, 0x1f
mov dword [ebp - 0x14c], eax
push eax
mov dword [ebp - 0x130], ecx
push ecx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.1014f930
cmp edi, eax
mov eax, esi
sbb eax, edx
jge case.0x10046854.4
cmp dword [ebp - 0x124], 0
js case.0x10046854.4
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
imul ecx, eax
mul dword [ebp - 0x144]
mov dword [ebp - 0x128], eax
add ecx, edx
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebp - 0x124]
imul ecx, dword [ebp - 0x144]
mov eax, edi
mul dword [ebp - 0x130]
mov dword [ebp - 0x144], eax
add ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x14c]
imul eax, edi
add eax, edx
imul esi, dword [ebp - 0x130]
mov edx, dword [ebp - 0x11c]
lea edi, [edx + 0x44]
mov dword [ebp - 0x124], edi
mov edi, dword [ebp - 0x128]
shld ecx, edi, 1
add edi, edi
mov dword [ebp - 0x128], edi
add esi, eax
lea edi, [edx + 0x48]
push 0
push 0xea60
push ecx
push dword [ebp - 0x128]
push esi
push dword [ebp - 0x144]
mov dword [ebp - 0x12c], edi
push edi
push dword [ebp - 0x124]
call fcn.10061b20
add esp, 0x20
mov eax, dword [ebp - 0x11c]
cvtsi2sd xmm0, dword [eax + 0x44]
cvtsi2sd xmm1, dword [eax + 0x48]
divsd xmm0, xmm1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1bc], 0
setne al
mov edx, dword [ebp - 0x138]
test edx, edx
setg cl
and cl, al
mov eax, dword [ebp - 0x120]
test eax, eax
setg ch
xorps xmm1, xmm1
cvtsi2sd xmm1, edx
and ch, cl
mov byte [ebp - 0x128], ch
cvtsi2sd xmm2, eax
divsd xmm1, xmm2
movsd xmm2, qword [0x102c64a0]
xor edx, edx
mov edi, 0xffc3b2b4
xor ecx, ecx
cmp edx, 0x167
ja 0x10047466
imul eax, edx, 0x3e9
mov esi, 0x3e9
add esi, eax
xorps xmm4, xmm4
cvtsi2sd xmm4, esi
divsd xmm4, qword [0x102c6490]
movapd xmm3, xmm0
divsd xmm3, xmm4
addsd xmm3, qword [0x102c64e8]
andpd xmm3, xmmword [0x102b23d0]
ucomisd xmm2, xmm3
cmova ecx, esi
minsd xmm3, xmm2
cmp byte [ebp - 0x128], 0
je 0x1004744a
movapd xmm2, xmm1
divsd xmm2, xmm4
addsd xmm2, qword [0x102c64e8]
andpd xmm2, xmmword [0x102b23d0]
ucomisd xmm3, xmm2
jbe 0x1004744a
mov ecx, esi
movapd xmm3, xmm2
inc edx
add edi, 0x2eec
movapd xmm2, xmm3
cmp edx, 0x18f
jne 0x100473d2
jmp 0x10048599
mov esi, edi
cmp edx, 0x186
jb 0x100473eb
cmp edx, 0x188
ja 0x100474aa
mov dword [ebp - 0x110], 0x50
mov dword [ebp - 0x10c], pe_nt_image_headers32
mov dword [ebp - 0x108], 0xf0
imul esi, dword [ebp + edx*4 - 0x728], 0x2eec
jmp 0x100473eb
imul esi, dword [edx*4 + 0x102c6010], 0x2ee0
jmp 0x100473eb
mov ecx, dword [ebp - 0x118]
mov edi, dword [ecx + 0x50]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x120], eax
mov esi, edx
mov dword [ebp - 0x12c], edi
imul edi
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], edx
mov eax, dword [ecx + 0x54]
imul dword [ecx + 0x4c]
mov ecx, edx
mov dword [ebp - 0x11c], esi
mov edi, dword [esi + 0x10]
mov esi, edi
sar esi, 0x1f
imul esi, eax
mov dword [ebp - 0x138], eax
mul edi
add edx, esi
mov dword [ebp - 0x144], ecx
imul ecx, edi
add ecx, edx
cmp eax, dword [ebp - 0x124]
sbb ecx, dword [ebp - 0x128]
jae 0x10047d2a
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0xac], edi
mov eax, dword [ebp - 0x120]
mov dword [edx + 0xb0], eax
jmp 0x1004681b
mov ecx, dword [edx + 0x294]
test ecx, ecx
je case.0x10046854.4
mov esi, dword [ebp - 0x118]
push dword [esi + 0x5c]
push dword [esi + 0x60]
push ecx
push eax
mov esi, edx
call fcn.10061e00
add esp, 0x10
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], eax
jmp case.0x10046854.4
mov dword [ebp - 0x118], 0
xor esi, esi
jmp 0x100468a6
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
mov esi, dword [edx + 0x34]
cmp ecx, 1
mov dword [ebp - 0x118], esi
sbb esi, 0
jl 0x10047d90
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x28]
mov edi, dword [edx + 0x2c]
mov ebx, dword [ebp - 0x118]
not ebx
mov edx, 0x80000000
add ebx, edx
mov edx, ecx
not edx
mov dword [ebp - 0x12c], 0
cmp esi, edx
mov edx, edi
sbb edx, ebx
mov dword [ebp - 0x134], 0
jge 0x10047da4
mov edx, edi
mov ebx, 0x80000000
xor edx, ebx
xor ebx, ebx
or edx, esi
cmove edi, ebx
cmove esi, ebx
add esi, ecx
adc edi, dword [ebp - 0x118]
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x134], edi
jmp 0x10047da4
inc edx
cmp eax, edx
mov esi, dword [ebp + 8]
jne 0x100468f0
mov ecx, dword [esi + 0x34]
mov edx, 0x80000000
xor ecx, edx
or ecx, dword [esi + 0x30]
jne 0x10046901
xor esi, esi
mov edx, dword [ebp + 8]
mov dword [ebp - 0x12c], 0
cmp esi, dword [edx + 0x38]
mov ecx, 0
sbb ecx, dword [edx + 0x3c]
jge 0x10047f59
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10048084
push eax
call fcn.10043990
add esp, 4
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x178]
mov eax, dword [eax + 0x17c]
cmp ecx, dword [ebp - 0x134]
mov edx, eax
sbb edx, dword [ebp - 0x12c]
jge 0x1004776e
sub dword [ebp - 0x134], ecx
sbb dword [ebp - 0x12c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x1004776e
xor edi, edi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x118], eax
mov esi, dword [eax + 0xc]
mov ebx, esi
sar ebx, 0x1f
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x128], eax
push eax
mov dword [ebp - 0x124], edx
push edx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.1014f930
cmp eax, esi
sbb edx, ebx
jl 0x10047761
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x24]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edx + 0x20]
jne 0x10047761
mov ecx, dword [ebp - 0x124]
mov eax, ecx
mul esi
mov dword [ebp - 0x11c], eax
imul ebx, ecx
add ebx, edx
mov eax, dword [ebp - 0x128]
imul eax, esi
add eax, ebx
mov esi, dword [ebp - 0x118]
mov ecx, dword [esi + 0x10]
mov edx, ecx
sar edx, 0x1f
shld edx, ecx, 3
shl ecx, 3
push eax
push dword [ebp - 0x11c]
push edx
push ecx
push dword [ebp - 0x12c]
push dword [ebp - 0x134]
call fcn.1005f540
add esp, 0x18
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x11c], eax
inc edi
cmp edi, dword [ebp - 0x11c]
jb 0x100476ab
mov edi, dword [ebp + 8]
mov dword [edi + 0xe0], 2
jmp 0x1004692f
xor ebx, ebx
jmp 0x100465f5
push dword [ebp - 0x130]
call sym.ffmpeg.dll_av_packet_unref
jmp 0x1004865c
mov dword [ebp - 0x120], eax
jmp 0x1004865f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
je 0x100478ab
xor edi, edi
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + edi*4]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x118], eax
mov ecx, ebx
xor edx, edx
call fcn.100486a0
test eax, eax
je 0x10047810
mov eax, dword [ebp - 0x150]
cmp dword [eax], 0
je 0x100477ff
mov ecx, ebx
call fcn.101758c0
test eax, eax
jne 0x100477ff
mov ecx, dword [ebp + 8]
mov edx, edi
push dword [ecx + 0x16c]
call fcn.10175940
add esp, 4
inc edi
add esi, 4
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x18]
jb 0x100477b4
jmp 0x100478ab
mov eax, dword [ebx + 0xb4]
mov ecx, dword [ebp + 8]
mov edx, ebx
push dword [eax + 4]
call fcn.10175820
add esp, 4
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x100477d6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xc], 0
jne 0x100477d6
mov dword [ebp - 0x110], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x104]
test eax, eax
je 0x1004786a
push 0
push eax
push str.codec_whitelist
lea eax, [ebp - 0x110]
push eax
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
cmp edi, dword [ebp - 0x14c]
lea ecx, [ebp - 0x110]
mov eax, ecx
cmovb eax, esi
cmp dword [ebp + 0xc], 0
cmove eax, ecx
push eax
push dword [ebp - 0x11c]
push dword [ebp - 0x118]
call sym.ffmpeg.dll_avcodec_open2
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call sym.ffmpeg.dll_av_dict_free
add esp, 4
jmp 0x100477d6
cmp dword [ebp - 0x154], 1
mov eax, dword [ebp - 0x134]
sbb eax, 0
mov esi, dword [ebp + 8]
jl 0x100467bd
mov eax, dword [esi + 0x194]
mov dword [ebp - 0x118], eax
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov eax, dword [esi + 0x18]
test eax, eax
je 0x100467bd
xor edi, edi
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + edi*4]
mov ecx, dword [edx + 0xe8]
cmp dword [ecx + 0x3c], 1
jne 0x10047928
cmp edi, dword [ebp - 0x14c]
mov eax, 0
cmovb eax, ebx
mov ecx, dword [ebp + 0xc]
test ecx, ecx
cmove eax, ecx
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push dword [ebp - 0x118]
call fcn.10048820
add esp, 8
mov eax, dword [esi + 0x18]
inc edi
add ebx, 4
cmp edi, eax
mov esi, dword [ebp + 8]
jb 0x100478e9
jmp 0x100467bd
cmp ecx, 2
je 0x1004651f
cmp ecx, 0xad
je 0x1004651f
xor eax, eax
cmp ecx, 0x61
je 0x1004651f
jmp 0x10046525
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x88], 0
jne 0x10046573
jmp 0x100465d4
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x15c], 0x4c4b40
mov dword [ebp - 0x160], 0x6acfc0
mov dword [ebp - 0x164], 0x1c9c380
mov edi, dword [ebp + 8]
jmp 0x10046209
xor esi, esi
xor ebx, ebx
jmp 0x10046d19
xor esi, esi
mov ebx, 0
cmp edi, 0x1f
jb 0x10046d60
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 0xe8]
mov edx, dword [eax + 0x48]
mov ecx, dword [eax + 0x4c]
mov edi, ecx
mov esi, 0x80000000
xor edi, esi
xor esi, esi
or edi, edx
mov ebx, 0
je 0x10046d60
mov ebx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov edi, eax
mov esi, 0x80000000
xor edi, esi
xor esi, esi
mov dword [ebp - 0x158], ebx
or edi, ebx
mov ebx, 0
je 0x10046d60
xor edi, edi
add edi, 0xffffffff
mov edi, 0x80000000
adc edi, 0xffffffff
mov esi, dword [ebp - 0x158]
sub esi, edx
sbb eax, ecx
mov ecx, 0x80000000
cmovns edi, ecx
seto cl
test cl, cl
cmove edi, eax
sar eax, 0x1f
test cl, cl
cmove eax, esi
push 0xf4240
push 1
push dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x120]
push dword [ecx + 0xc]
push edi
push eax
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov esi, eax
mov ebx, edx
test edx, edx
mov eax, 0
cmovle ebx, eax
cmovs esi, eax
jmp 0x10046d60
push str.extract_extradata
call fcn.1003b7f0
add esp, 4
test eax, eax
je 0x10047abf
mov edi, eax
push str.extract_extradata
call fcn.1003b7f0
add esp, 4
test eax, eax
je 0x10047abf
mov eax, dword [eax + 4]
test eax, eax
je 0x10047abf
mov ecx, dword [eax]
test ecx, ecx
je 0x10047abf
mov edx, dword [ebx + 0xb4]
mov edx, dword [edx + 4]
add eax, 4
cmp ecx, edx
je 0x100485eb
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
jne 0x10047aae
mov dword [ebx + 0xd8], 1
jmp 0x10046e7a
mov dword [ebp - 0x124], 0
jmp 0x10046305
mov dword [ebp - 0x110], 0
lea eax, [ebp - 0x110]
push eax
call fcn.1015c550
add esp, 4
mov dword [ebp - 0x124], eax
test eax, eax
je 0x100463f8
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 0xc]
cmp eax, dword [esi + 0xc]
jne 0x10047ae7
push dword [ebp - 0x124]
call fcn.10040da0
add esp, 4
test eax, eax
je 0x10047ae7
mov eax, dword [ebp - 0x124]
test dword [eax + 0x10], 0x20200
jne 0x10047ae7
jmp 0x10046305
push dword [edi + 0x10]
mov esi, edx
call fcn.1016aa90
mov edx, esi
add esp, 4
mov dword [edi + 0x228], eax
jmp 0x10046848
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test byte [eax + 0x58], 1
je 0x100468d8
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x194]
mov dword [ebp - 0x118], eax
xor eax, eax
dec eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], eax
push esi
call fcn.10172b20
add esp, 4
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10047bc3
xor edi, edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov ebx, dword [ecx + edi*4]
mov ecx, dword [ebx + 0x2c4]
test ecx, ecx
je 0x10047bbe
push ecx
call fcn.10040870
add esp, 4
mov dword [ebx + 0x2c4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
inc edi
cmp edi, eax
jb 0x10047b92
mov eax, dword [ebp + 8]
cmp dword [eax + 0x154], 0
je 0x10048172
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.1004a150
push 0
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [esi + 0x10]
call fcn.100433e0
add esp, 0x10
cmp dword [esi + 0x18], 0
je 0x10047d18
xor eax, eax
xor ecx, ecx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x1c]
mov edx, dword [edx + ecx*4]
mov esi, dword [edx + 0x2d0]
mov edi, dword [edx + 0x2d4]
mov dword [edx + 0x2dc], edi
mov dword [edx + 0x2d8], esi
mov esi, 0x80000000
mov dword [edx + 0x2b4], esi
mov dword [edx + 0x2b0], eax
mov dword [edx + 0x284], esi
mov dword [edx + 0x280], eax
mov dword [edx + 0x1fc], esi
mov dword [edx + 0x1f8], eax
mov dword [edx + 0x204], esi
mov dword [edx + 0x200], eax
mov dword [edx + 0x20c], esi
mov dword [edx + 0x208], eax
mov dword [edx + 0x214], esi
mov dword [edx + 0x210], eax
mov dword [edx + 0x21c], esi
mov dword [edx + 0x218], eax
mov dword [edx + 0x224], esi
mov dword [edx + 0x220], eax
mov dword [edx + 0x22c], esi
mov dword [edx + 0x228], eax
mov dword [edx + 0x234], esi
mov dword [edx + 0x230], eax
mov dword [edx + 0x23c], esi
mov dword [edx + 0x238], eax
mov dword [edx + 0x244], esi
mov dword [edx + 0x240], eax
mov dword [edx + 0x24c], esi
mov dword [edx + 0x248], eax
mov dword [edx + 0x254], esi
mov dword [edx + 0x250], eax
mov dword [edx + 0x25c], esi
mov dword [edx + 0x258], eax
mov dword [edx + 0x264], esi
mov dword [edx + 0x260], eax
mov dword [edx + 0x26c], esi
mov dword [edx + 0x268], eax
mov dword [edx + 0x274], esi
mov dword [edx + 0x270], eax
mov dword [edx + 0x27c], esi
mov dword [edx + 0x278], eax
inc ecx
cmp ecx, dword [ebx + 0x18]
jb 0x10047c04
mov edi, dword [ebp + 8]
mov dword [edi + 0xe0], 0
jmp 0x1004692f
mov edi, dword [ebp - 0x11c]
lea ecx, [edi + 0xac]
mov eax, dword [ebp - 0x12c]
mov edx, eax
sar edx, 0x1f
lea esi, [edi + 0xb0]
push 0
push 0x7fffffff
push dword [ebp - 0x144]
push dword [ebp - 0x138]
push edx
push eax
push esi
push ecx
call fcn.10061b20
mov edx, edi
add esp, 0x20
jmp 0x1004681b
xor eax, eax
inc eax
cmp dword [edi + 0x2c8], eax
jge 0x1004659c
mov eax, dword [edi + 0xb4]
cmp dword [eax], 2
jae 0x1004659c
jmp 0x100465d4
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x134], 0
shl eax, 2
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x88]
call fcn.100604d0
add esp, 8
mov dword [ebp - 0x124], eax
test eax, eax
je 0x10047f4a
push 0x10175ea0
push 4
mov esi, dword [ebp + 8]
push dword [esi + 0x84]
push dword [ebp - 0x124]
call fcn.101458c0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x128], eax
test eax, eax
je 0x10047f31
xor ebx, ebx
mov eax, dword [ebp - 0x124]
mov esi, dword [eax + ebx*4]
mov eax, dword [esi + 0x1c]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [esi + 0x18]
jne 0x10047f18
xor eax, eax
add eax, 0xffffffff
mov dword [ebp - 0x11c], eax
mov edi, 0x80000000
adc edi, 0xffffffff
mov eax, dword [ebp - 0x12c]
or eax, dword [ebp - 0x134]
je 0x10047e61
push dword [esi + 0xc]
push dword [esi + 8]
push 0xf4240
push 1
push dword [ebp - 0x134]
push dword [ebp - 0x12c]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov dword [ebp - 0x11c], eax
mov edi, edx
lea eax, [ebx + 1]
mov dword [ebp - 0x118], eax
cmp eax, dword [ebp - 0x128]
jae 0x10047ec2
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + ebx*4 + 4]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 0x14]
push dword [eax + 0x10]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov ecx, dword [esi + 0x14]
cmp dword [esi + 0x10], eax
sbb ecx, edx
setl cl
cmp eax, dword [ebp - 0x11c]
mov ebx, edx
sbb ebx, edi
setl ch
test cl, ch
jne 0x10047eba
mov edx, edi
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], eax
mov edi, edx
xor eax, eax
add eax, 0xffffffff
mov eax, 0x80000000
adc eax, 0xffffffff
xor eax, edi
mov ebx, dword [ebp - 0x11c]
mov ecx, ebx
not ecx
or ecx, eax
sete dl
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp ebx, eax
mov ebx, edi
sbb ebx, ecx
setl dh
or dh, dl
jne 0x10047efb
mov eax, dword [ebp - 0x11c]
mov ecx, edi
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x128], eax
mov ebx, dword [ebp - 0x118]
jmp 0x10047f1f
inc ebx
mov dword [ebp - 0x118], ebx
mov eax, dword [ebp - 0x128]
cmp dword [ebp - 0x118], eax
jb 0x10047dfb
push dword [ebp - 0x124]
call sym.ffmpeg.dll_av_free
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x18]
jmp 0x1004699c
mov dword [ebp - 0x120], 0xfffffff4
jmp 0x10046aa9
test eax, eax
je 0x10048162
xor edx, edx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + edx*4]
mov edi, dword [esi + 0xb4]
mov ecx, dword [edi + 0x18]
mov ebx, dword [edi + 0x1c]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, ebx
jge 0x10047fcd
mov eax, ebx
not eax
mov esi, 0x80000000
add eax, esi
mov esi, ecx
not esi
cmp esi, dword [ebp - 0x118]
sbb eax, dword [ebp - 0x11c]
jl 0x1004800d
add dword [ebp - 0x118], ecx
adc dword [ebp - 0x11c], ebx
inc edx
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x18]
jb 0x10047f77
jmp 0x10048021
mov ecx, dword [esi + 0xcc]
mov eax, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
cmp eax, 1
mov ecx, ebx
sbb ecx, 0
jl 0x10047fff
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ebx
mov edi, dword [esi + 0xb4]
mov ebx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
cmp ecx, 1
mov eax, ebx
sbb eax, 0
jge 0x10047f99
cmp dword [edi], 0
jne 0x10047fc2
cmp dword [esi + 0x2c8], 1
jle 0x10047fc2
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x11c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ecx + 0x34]
mov edx, 0x80000000
xor eax, edx
or eax, dword [ecx + 0x30]
jne 0x1004776e
mov eax, dword [ebp - 0x11c]
or dword [ebp - 0x118], eax
jne 0x10047643
jmp 0x1004776e
cmp dword [ebp - 0x120], 0xdfb9b0bb
mov esi, ebx
je 0x10046766
cmp dword [ebp - 0x120], 0xfffffff5
je 0x10046766
jmp 0x1004865f
mov dword [ebp - 0x134], 0
jmp 0x10047666
mov dword [edx + 0x30], 0x80
jmp case.0x10046854.4
mov dword [edx + 0x30], 8
jmp case.0x10046854.4
mov dword [edx + 0x30], 0x20
jmp case.0x10046854.4
mov eax, dword [esi + 0xe8]
mov dword [eax + 0x38], 1
jmp 0x10046756
mov dword [edx + 0x30], 0x100
jmp case.0x10046854.4
mov edx, dword [ebp - 0x120]
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [ebp - 0x13c], edx
mov esi, 0x80000000
xor edx, esi
or edx, ebx
je 0x10046dee
mov esi, ebx
cmp edi, ebx
mov edx, dword [ebp - 0x140]
sbb edx, dword [ebp - 0x13c]
jl 0x10046dee
sub edi, esi
mov edx, dword [ebp - 0x140]
sbb edx, dword [ebp - 0x13c]
xor esi, esi
add esi, 0xffffffff
mov ebx, 0x80000000
adc ebx, 0xffffffff
cmp edi, esi
mov esi, edx
sbb edx, ebx
jae 0x10046dee
mov edx, dword [ebp - 0x120]
mov ebx, dword [edx + 0xe8]
add eax, dword [ebx + 0x28]
adc ecx, dword [ebx + 0x2c]
cmp edi, eax
mov edx, eax
cmovb edx, edi
cmp esi, ecx
cmovl eax, edi
cmove eax, edx
cmovl ecx, esi
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x28], eax
jmp 0x10046e00
xor eax, eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x38], eax
jmp 0x1004776e
xor eax, eax
inc eax
push eax
push 0
push eax
push str.skip_changes
mov esi, dword [ebp + 8]
push esi
call fcn.10061560
add esp, 0x14
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10048672
push eax
call fcn.10043990
add esp, 4
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
xor edx, edx
dec edx
mov ebx, dword [ebp - 0x128]
mov ecx, ebx
mov eax, 0xfffc2f70
shld edx, eax, cl
mov esi, 0xfffc2f70
shl esi, cl
xor edi, edi
test bl, 0x20
cmovne edx, esi
cmovne esi, edi
add esi, dword [ebp - 0x130]
adc edx, dword [ebp - 0x14c]
test edx, edx
mov eax, 0
mov dword [ebp - 0x154], edx
cmovg eax, edx
mov ecx, 0
mov dword [ebp - 0x144], esi
cmovns ecx, esi
push edi
push eax
push ecx
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
call fcn.100433e0
add esp, 0x10
cmp ebx, 2
mov ecx, 1
cmovge ecx, ebx
dec cl
xor edx, edx
mov eax, 0x3d090
shld edx, eax, cl
mov eax, 0x3d090
shl eax, cl
test cl, 0x20
cmovne edx, eax
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x11c], 0
cmovne eax, edi
mov dword [ebp - 0x134], eax
push dword [ebp - 0x118]
push dword [ebp + 8]
call fcn.100448a0
add esp, 8
cmp eax, 0xfffffff5
je 0x10048265
test eax, eax
jne 0x100483e8
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0xc]
mov ecx, 0x80000000
xor eax, ecx
mov ecx, dword [ebp - 0x11c]
add ecx, dword [edx + 0x1c]
mov dword [ebp - 0x11c], ecx
or eax, dword [edx + 8]
jne 0x100482d3
push dword [ebp - 0x118]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov ecx, dword [ebp - 0x11c]
mov eax, ecx
sar eax, 0x1f
cmp ecx, dword [ebp - 0x134]
sbb eax, dword [ebp - 0x12c]
jl 0x10048265
jmp 0x100483e8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx + 0x20]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0x1c]
mov ecx, 0x80000000
xor eax, ecx
mov dword [ebp - 0x138], edx
or eax, dword [edx + 0x18]
jne 0x10048315
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 0x2d4]
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [edx + 0x2d0]
je 0x100482a7
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov edi, ecx
mov eax, ecx
mov ebx, edx
or eax, edx
je 0x10048502
mov eax, dword [ebp - 0x118]
add edi, dword [eax + 8]
adc ebx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov edx, ecx
mov esi, 0x80000000
xor edx, esi
or edx, eax
jne 0x10048366
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + 0x2d0]
mov ecx, dword [ecx + 0x2d4]
sub edi, eax
sbb ebx, ecx
mov dword [ebp - 0x150], edi
cmp edi, 1
mov dword [ebp - 0x148], ebx
sbb ebx, 0
mov eax, 1
mov dword [ebp - 0x120], eax
jl 0x100482a7
mov edi, dword [ebp - 0x138]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov edx, eax
mov esi, 0x80000000
xor edx, esi
or edx, ecx
mov ebx, dword [edi + 0xe8]
jne 0x10048487
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x148]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x150]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x148]
mov dword [ebx + 0x44], eax
xor eax, eax
inc eax
mov dword [ebp - 0x120], eax
jmp 0x100482a7
cmp dword [ebp - 0x124], 0
jne 0x1004857e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1004857e
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x11c], ecx
xor edx, edx
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x11c]
mov edi, dword [ecx + edx*4]
mov esi, dword [edi + 0xb4]
cmp dword [esi], 1
ja 0x1004843d
mov esi, dword [edi + 0x24]
mov ecx, 0x80000000
xor esi, ecx
or esi, dword [edi + 0x20]
mov ecx, 0
cmove ebx, ecx
inc edx
cmp eax, edx
jne 0x10048414
test ebx, ebx
jne 0x1004857e
cmp dword [ebp - 0x144], 1
sbb dword [ebp - 0x154], 0
jl 0x1004857e
mov ecx, dword [ebp - 0x128]
lea eax, [ecx + 1]
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
cmp ecx, 6
mov dword [ebp - 0x128], eax
jb 0x100481c8
jmp 0x1004857e
mov esi, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
cmp esi, 1
mov edi, edx
sbb edi, 0
jl 0x100483b0
cmp ecx, dword [ebp - 0x150]
sbb eax, dword [ebp - 0x148]
jge 0x100483c8
mov ecx, dword [ebp - 0x150]
sub ecx, esi
mov esi, dword [ebp - 0x148]
sbb esi, edx
mov eax, esi
sar eax, 0x1f
xor esi, eax
xor ecx, eax
sub ecx, eax
mov dword [ebp - 0x120], ecx
sbb esi, eax
mov eax, 0x3c
mov ecx, dword [ebp - 0x138]
imul dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov edi, ecx
sar edi, 0x1f
push edi
push ecx
push edx
push eax
call fcn.1014f930
cmp dword [ebp - 0x120], eax
sbb esi, edx
jl 0x100483b0
jmp 0x100483c8
lea ecx, [ebp - 0x110]
lea edx, [ebp - 0x114]
push dword [ebp - 0x118]
mov eax, dword [ebp - 0x138]
push dword [eax + 0x2c4]
push eax
call fcn.10175ac0
add esp, 0xc
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x1004868b
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x1004868b
mov esi, dword [ebp - 0x138]
imul dword [esi + 0xc]
mov ebx, edx
mov edi, eax
mov eax, ecx
imul dword [esi + 0x10]
push 2
push ebx
push edi
push edx
push eax
push 0
push 1
call fcn.1005f220
add esp, 0x1c
mov ecx, dword [ebp - 0x118]
mov ebx, edx
mov dword [ecx + 0x34], edx
mov edi, eax
mov dword [ecx + 0x30], eax
jmp 0x1004832f
xor eax, eax
push 1
push eax
push eax
push str.skip_changes
push dword [ebp + 8]
call fcn.10061560
add esp, 0x14
jmp 0x10047bd3
test ecx, ecx
mov edx, dword [ebp - 0x11c]
je 0x1004680e
mov eax, ecx
sar eax, 0x1f
sub esp, 0x20
movapd xmm0, xmmword [0x102c64d0]
movupd xmmword [esp + 0x10], xmm0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x124]
mov dword [esp], eax
call fcn.10061b20
mov edx, dword [ebp - 0x11c]
add esp, 0x20
jmp 0x1004680e
push dword [ebp - 0x140]
push edi
call fcn.1003b8f0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
js 0x1004865f
mov eax, dword [ebx + 0xd4]
push dword [ebx + 0xb4]
push dword [eax + 0xc]
call sym.ffmpeg.dll_avcodec_parameters_copy
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
js 0x10048651
mov eax, dword [ebx + 0xd4]
movsd xmm0, qword [ebx + 0xc]
movsd qword [eax + 0x14], xmm0
push dword [ebx + 0xd4]
call fcn.1003b9b0
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jns 0x10047abf
push dword [ebp - 0x140]
call fcn.1003b870
add esp, 4
push dword [ebp - 0x128]
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
jmp 0x10046aa9
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x14c], 0
jmp 0x100481aa
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x30]
mov ebx, dword [eax + 0x34]
jmp 0x1004832f