Function at 0x406cb0
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x3ec
cmp dword [esp + 0x410], 0
mov dword [esp + 0x3e4], ecx
mov ebp, edx
mov edi, eax
mov dword [esp + 0x3e0], 0
je 0x408f67
mov edx, dword [esp + 0x410]
mov eax, dword [edx + 8]
mov ebx, dword [edx + 0xc]
lea ecx, [ebx - 0x80000000]
or ecx, eax
je 0x406d2f
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 8]
cmp dword [edx + 0xe4], 0x1700a
je 0x406d2f
push dword [0x4264bc]
push dword [0x4264b8]
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push ebx
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], edx
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
mov edx, dword [esp + 0x410]
mov eax, dword [edx + 0x14]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x3d4], ebp
xor edx, edx
mov dword [esp + 0x3d8], edx
xor ebx, ebx
mov dword [esp + 0x3dc], edx
mov ebp, eax
test ebp, ebp
jle 0x4078f3
cmp dword [edi + 0x10], 0
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov dword [edi + 0x38], edx
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], edx
mov dword [edi + 0x3c], ecx
mov dword [esp + 0x3c0], ecx
je 0x407444
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x390], ecx
mov ecx, dword [ecx + 0xe0]
cmp ecx, 1
je 0x407265
test ecx, ecx
jne 0x406f61
cmp dword [0x426468], 0
jl 0x406dd5
mov edx, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3c0]
mov dword [0x527180], edx
mov dword [0x527184], ecx
mov ecx, dword [esp + 0x390]
mov edx, dword [ecx + 0x2c]
lea eax, [edx + edx*2]
imul eax, dword [ecx + 0x28]
mov edx, eax
shr edx, 0x1f
add eax, edx
lea edx, [esp + 0x120]
sar eax, 1
mov dword [esp + 0x3b8], eax
push edx
call sub.avcodec.dll_avcodec_get_frame_defaults
lea edx, [esp + 0x378]
push ebp
push esi
mov ecx, dword [edi + 8]
push edx
lea ebp, [esp + 0x130]
push ebp
push dword [ecx + 8]
call sub.avcodec.dll_avcodec_decode_video
add esp, 0x18
cvtsi2ss xmm0, dword [esp + 0x168]
mov edx, dword [edi + 8]
movss dword [edx + 0x54], xmm0
test eax, eax
jl 0x40712b
cmp dword [esp + 0x374], 0
je 0x4078f3
cmp dword [edi + 0x58], 0
jne 0x406ea8
mov ebp, dword [edi + 0x30]
mov eax, dword [edi + 0x34]
lea edx, [eax - 0x80000000]
or edx, ebp
je 0x407fa5
mov edx, ebp
sub edx, dword [edi + 0x50]
mov ecx, eax
sbb ecx, dword [edi + 0x54]
jl 0x4078f3
mov edx, dword [edi]
xor ecx, ecx
sub ecx, ebp
mov ebp, 0
sbb ebp, eax
imul eax, dword [0x938514], 0x640
mov dword [eax + edx*8 + 0x8b0420], ecx
mov dword [eax + edx*8 + 0x8b0424], ebp
mov eax, 1
mov dword [edx*4 + 0x8fe620], eax
mov dword [edi + 0x58], eax
mov eax, dword [edi + 8]
mov edx, dword [eax + 8]
mov dword [esp + 0x3a0], eax
mov eax, dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x334], edx
je 0x406f1c
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x318], edx
lea ebp, [edx - 0x80000000]
or ebp, ecx
je 0x406f1c
cdq
push edx
push eax
push 0
push 0xf4240
call fcn.00418b10
mov ebp, eax
mov eax, dword [esp + 0x334]
mov eax, dword [eax + 0x24]
mov ecx, edx
cdq
push edx
push eax
push ecx
push ebp
call fcn.00418b50
add eax, dword [esp + 0x31c]
adc edx, dword [esp + 0x318]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
mov eax, dword [0x527188]
mov dword [esp + 0x338], eax
test eax, eax
je 0x406f42
mov edx, dword [eax + 8]
mov ecx, dword [edx + 8]
cmp dword [ecx + 0xe4], 0x1700a
je 0x407fac
mov eax, dword [esp + 0x3a0]
mov edx, dword [eax + 8]
mov dword [esp + 0x3ac], edx
xor ebp, ebp
mov dword [esp + 0x39c], ebp
jmp 0x407553
cmp ecx, 3
jne 0x40712b
mov dword [esp + 0x3e0], 0
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xe4]
cmp ecx, 0x17005
je 0x406f92
cmp ecx, 0x17002
jne 0x407022
cmp dword [esp + 0x410], 0
mov dword [0x527144], 0
mov dword [0x527148], 0
je 0x408056
mov ecx, dword [esp + 0x410]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add ecx, 0x80000000
or ecx, eax
je 0x408056
mov dword [esp + 0x3c4], ebx
mov ebx, dword [esp + 0x410]
mov ecx, dword [ebx + 0x38]
mov dword [0x527144], eax
mov dword [esp + 0x328], ecx
mov ecx, dword [ebx + 0x3c]
sub ecx, 0
mov ebx, dword [esp + 0x3c4]
jl 0x408027
or ecx, dword [esp + 0x328]
je 0x408027
add eax, dword [esp + 0x328]
mov dword [0x527148], eax
mov eax, dword [edx + 8]
test eax, eax
je 0x40712b
mov edx, dword [eax + 0xe4]
cmp edx, 0x1700a
jne 0x407103
cmp dword [esp + 0x410], 0
je 0x40712b
mov edx, dword [0x426468]
mov ecx, dword [esp + 0x410]
cmp edx, dword [ecx + 0x18]
jne 0x40712b
push dword [0x4264bc]
push dword [0x4264b8]
push dword [0x4264d0]
push dword [0x4264cc]
mov edx, dword [esp + 0x420]
push dword [edx + 4]
push dword [edx]
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x22c], edx
push 0
push 0x3e8
push dword [0x527184]
push dword [0x527180]
call fcn.00418bc0
mov dword [esp + 0x2b4], eax
push 0
push 0x3e8
push dword [esp + 0x234]
push dword [esp + 0x2bc]
call fcn.00418bc0
mov ecx, dword [esp + 0x2b4]
mov dword [0x527170], eax
or ecx, edx
mov dword [0x527174], ecx
mov ecx, dword [edi + 8]
lea edx, [esp + 0x3e0]
push ebp
push esi
push edx
push 0x527160
push dword [ecx + 8]
call sub.avcodec.dll_avcodec_decode_subtitle
add esp, 0x14
mov ebp, eax
jmp 0x4071ff
cmp edx, 0x17000
jne 0x4071ac
cmp dword [esp + 0x410], 0
je 0x40712b
mov edx, dword [0x426468]
mov ecx, dword [esp + 0x410]
cmp edx, dword [ecx + 0x18]
je 0x40713b
mov eax, 0xffffffff
add esp, 0x3ec
pop ebx
pop ebp
pop esi
pop edi
ret
lea edx, [esp + 0x3e0]
push ebp
push esi
push edx
push 0x527140
push eax
call sub.avcodec.dll_avcodec_decode_subtitle2
add esp, 0x14
mov ebp, eax
test ebp, ebp
jle 0x407205
cmp dword [esp + 0x3e0], 0
je 0x407205
push dword [0x4264c8]
push dword [0x4264c4]
mov eax, dword [edi + 8]
push dword [eax + 0x44]
push dword [eax + 0x40]
mov ecx, dword [esp + 0x420]
push dword [ecx + 4]
push dword [ecx]
call sub.avutil.dll_av_rescale_q
add dword [0x527144], eax
add dword [0x527148], eax
push 0x527140
call sub.avcodec.dll_ass_set_subtitle
add esp, 0x1c
jmp 0x407205
lea edx, [esp + 0x3e0]
push ebp
push esi
push edx
push 0x527140
push eax
call sub.avcodec.dll_avcodec_decode_subtitle2
add esp, 0x14
mov ebp, eax
cmp dword [esp + 0x410], 0
je 0x407205
mov eax, dword [0x426468]
mov edx, dword [esp + 0x410]
cmp eax, dword [edx + 0x18]
jne 0x407205
cmp dword [0x426478], 0
jne 0x4071ff
cmp dword [esp + 0x3e0], 0
je 0x4071ff
push 0x527140
call sub.avcodec.dll_ass_set_subtitle
pop ecx
mov dword [0x527188], edi
test ebp, ebp
jl 0x40712b
cmp dword [esp + 0x3e0], 0
je 0x4078f3
mov eax, dword [edi + 8]
mov edx, dword [eax + 8]
mov dword [esp + 0x3a0], eax
test edx, edx
mov dword [esp + 0x3ac], edx
je 0x407241
mov eax, edx
cmp dword [eax + 0xe4], 0x1700a
je 0x40724d
mov dword [0x527190], 0x527140
jmp 0x407257
mov dword [0x52718c], 0x527160
xor ebp, ebp
mov dword [esp + 0x39c], ebp
jmp 0x407553
cmp dword [esp + 0x410], 0
je 0x4072a7
mov edx, dword [esp + 0x410]
mov ecx, 0x2ee00
mov edx, dword [edx + 0x14]
add edx, edx
cmp edx, 0x2ee00
cmovbe edx, ecx
push edx
push 0x527194
push dword [0x938678]
call sub.avcodec.dll_av_fast_realloc
add esp, 0xc
mov edx, dword [edi + 8]
mov dword [0x938678], eax
jmp 0x4072ac
mov eax, dword [0x938678]
mov ecx, dword [0x527194]
mov dword [esp + 0x3b8], ecx
lea ecx, [esp + 0x3b8]
push ebp
push esi
push ecx
push eax
push dword [edx + 8]
call sub.avcodec.dll_avcodec_decode_audio2
add esp, 0x14
test eax, eax
jl 0x40712b
add esi, eax
sub ebp, eax
cmp dword [esp + 0x3b8], 0
jle 0x406d57
cmp dword [edi + 0x58], 0
jne 0x40734c
mov edx, dword [edi]
cmp dword [edx*4 + 0x887d60], 0
jne 0x407324
mov edx, dword [edi + 0x30]
mov eax, dword [edi + 0x34]
lea ecx, [eax - 0x80000000]
or ecx, edx
je 0x40731b
mov ecx, edx
sub ecx, dword [edi + 0x50]
mov ecx, eax
sbb ecx, dword [edi + 0x54]
jl 0x40805e
mov dword [edi + 0x58], 1
jmp 0x407352
cmp dword [edx*4 + 0x8fe620], 1
jne 0x40805e
mov edx, dword [edi + 0x30]
mov eax, dword [edi + 0x34]
mov dword [edi + 0x58], 1
mov dword [esp + 0x3dc], 1
jmp 0x407352
mov edx, dword [edi + 0x30]
mov eax, dword [edi + 0x34]
mov ecx, dword [0x938678]
mov dword [esp + 0x39c], ecx
add eax, 0x80000000
or edx, eax
je 0x40742b
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
push dword [ecx + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_fmt
pop ecx
mov dword [esp + 0x324], eax
mov edx, eax
mov eax, dword [esp + 0x3b8]
sar edx, 3
mov ecx, 2
test edx, edx
cmovle edx, ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x324], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x320], edx
cdq
push edx
push eax
push 0
push 0xf4240
call fcn.00418b10
mov dword [esp + 0x3c4], ebx
mov ebx, eax
mov eax, dword [esp + 0x324]
mov ecx, edx
cdq
push edx
push eax
push ecx
push ebx
mov ebx, dword [esp + 0x3d4]
call fcn.00418bc0
mov dword [esp + 0x3c4], ebx
mov ecx, eax
mov ebx, edx
mov edx, dword [esp + 0x320]
mov eax, dword [edx + 0x40]
imul eax, dword [edx + 0x44]
cdq
push edx
push eax
push ebx
push ecx
mov ebx, dword [esp + 0x3d4]
call fcn.00418b50
mov ecx, dword [esp + 0x3a0]
add dword [edi + 0x30], eax
adc dword [edi + 0x34], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x3ac], edx
jmp 0x407553
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3ac], ecx
jmp 0x407553
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3a0], edx
mov edx, dword [ecx + 0xe0]
cmp edx, 1
mov dword [esp + 0x394], ecx
jne 0x4074c2
mov edx, dword [esp + 0x3c0]
lea ecx, [edx - 0x80000000]
or ecx, dword [esp + 0x3bc]
je 0x407532
mov ecx, dword [esp + 0x394]
mov eax, dword [ecx + 0x4c]
cdq
push edx
push eax
push 0
push 0xf4240
call fcn.00418b10
mov dword [esp + 0x3c4], ebx
mov ecx, eax
mov ebx, edx
mov edx, dword [esp + 0x394]
mov eax, dword [edx + 0x40]
imul eax, dword [edx + 0x44]
cdq
push edx
push eax
push ebx
push ecx
mov ebx, dword [esp + 0x3d4]
call fcn.00418bc0
jmp 0x40751a
test edx, edx
jne 0x407532
mov edx, ecx
mov eax, dword [edx + 0x20]
test eax, eax
je 0x407532
mov edx, dword [esp + 0x3c0]
lea ecx, [edx - 0x80000000]
or ecx, dword [esp + 0x3bc]
je 0x407532
cdq
push edx
push eax
push 0
push 0xf4240
call fcn.00418b10
mov dword [esp + 0x3c4], ebx
mov ebx, eax
mov eax, dword [esp + 0x394]
mov eax, dword [eax + 0x24]
mov ecx, edx
cdq
push edx
push eax
push ecx
push ebx
mov ebx, dword [esp + 0x3d4]
call fcn.00418bc0
mov ecx, dword [esp + 0x3bc]
add ecx, eax
mov eax, dword [esp + 0x3c0]
adc eax, edx
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x39c], esi
mov dword [esp + 0x3b8], ebp
mov edx, dword [eax + 8]
mov dword [esp + 0x3ac], edx
xor ebp, ebp
mov edx, dword [esp + 0x3ac]
mov edx, dword [edx + 0xe0]
mov dword [esp + 0x398], 0
test edx, edx
jne 0x4075a8
mov edx, dword [0x52718c]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x120]
mov eax, edi
lea ecx, [esp + 0x398]
call fcn.0040a260
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3a0], edx
mov edx, dword [ecx + 0xe0]
mov dword [esp + 0x3ac], ecx
cmp edx, 1
je 0x408cc5
mov edx, dword [esp + 0x3ac]
cmp dword [edx + 0x38], 0
je 0x40768b
add esp, 0xffffffe8
mov ecx, edx
push 0
mov eax, dword [ecx + 0x20]
cdq
push dword [edi + 0x28]
push edx
push eax
call fcn.00418b10
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 8], 0xf4240
mov dword [esp], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 4], edx
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call sub.avutil.dll_av_rescale
add esp, 0x18
mov dword [esp + 0x380], eax
mov dword [esp + 0x378], edx
call sub.avformat.dll_Ordinal_18
mov ecx, dword [esp + 0x380]
sub eax, dword [edi + 0x20]
sbb edx, dword [edi + 0x24]
sub ecx, eax
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x378]
sbb ecx, edx
mov dword [esp + 0x37c], ecx
jl 0x40767e
mov ecx, dword [esp + 0x384]
or ecx, dword [esp + 0x37c]
je 0x40767e
push eax
mov ecx, dword [esp + 0x384]
sub ecx, eax
mov eax, dword [esp + 0x37c]
sbb eax, edx
push 0
push 0x3e8
push eax
push ecx
call fcn.00418bc0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [edi + 8]
inc dword [edi + 0x28]
mov dword [esp + 0x3a0], edx
mov ecx, dword [0x938514]
mov eax, dword [ecx*8 + 0x531e20]
mov edx, dword [ecx*8 + 0x531e24]
mov dword [esp + 0x3a4], ecx
mov ecx, eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a0]
sub ecx, dword [eax + 0x60]
mov dword [esp + 0x3b0], edx
sbb edx, dword [eax + 0x64]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3a8], edx
jl 0x4076fd
mov edx, ecx
or edx, dword [esp + 0x3a8]
je 0x4076fd
mov edx, dword [esp + 0x3a4]
mov dword [edx*8 + 0x531e20], 0
mov dword [edx*8 + 0x531e24], 0
jmp 0x407724
mov edx, eax
or edx, dword [esp + 0x3b0]
je 0x407724
mov edx, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x3c4], ebx
sub edx, eax
sbb ecx, dword [esp + 0x3b0]
jl 0x4077b5
cmp dword [esp + 0x40c], 0
jle 0x4077b5
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3cc], ebp
mov dword [esp + 0x3d0], edi
xor eax, eax
mov ebp, eax
mov ebx, dword [esp + 0x3e4]
mov ebx, dword [ebx + ebp*4]
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + 8]
mov edi, dword [edx + 0xe0]
test edi, edi
jne 0x40777f
fild dword [edx + 0x20]
fild qword [ebx + 0x20]
fmulp st(1)
fild dword [edx + 0x24]
fdivp st(1)
fstp qword [0x938448]
mov ecx, dword [esp + 0x3d4]
cmp ecx, dword [ebx + 8]
je 0x40806a
inc ebp
cmp ebp, dword [esp + 0x40c]
jl 0x407752
mov ebx, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3c8]
mov ebp, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov edx, dword [esp + 0x398]
test edx, edx
je 0x4077c8
push edx
call dword [sym.imp.avutil.dll_av_free]
pop ecx
cmp dword [0x52718c], 0
je 0x4078cf
push dword [0x4264d0]
push dword [0x4264cc]
push dword [0x4264bc]
push dword [0x4264b8]
push dword [0x527184]
push dword [0x527180]
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov ecx, dword [0x52718c]
mov dword [esp + 0x38c], ecx
mov ecx, dword [ecx + 8]
sub eax, ecx
sbb edx, 0
jl 0x4078cf
or eax, edx
je 0x4078cf
test ecx, ecx
jbe 0x4078cf
mov edx, dword [esp + 0x38c]
cmp dword [edx + 0x1c], 0
je 0x4078b0
cmp dword [edx + 0x18], 0
jbe 0x407899
mov dword [esp + 0x3cc], ebp
mov dword [esp + 0x3d0], edi
xor eax, eax
mov ebp, eax
mov edx, dword [edx + 0x1c]
lea edi, [ebp + ebp*2]
push dword [edx + edi*8 + 0x14]
call dword [sym.imp.avutil.dll_av_free]
mov edx, dword [0x52718c]
mov ecx, dword [edx + 0x1c]
push dword [ecx + edi*8 + 0x10]
call dword [sym.imp.avutil.dll_av_free]
add esp, 8
mov edx, dword [0x52718c]
inc ebp
cmp ebp, dword [edx + 0x18]
jb 0x407851
mov ebp, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x38c], edx
add edx, 0x1c
push edx
call sub.avutil.dll_av_freep
pop ecx
mov edx, dword [0x52718c]
mov dword [esp + 0x38c], edx
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx + 0x18], 0
mov dword [0x52718c], 0
mov edx, dword [0x527190]
test edx, edx
je 0x406d57
push edx
call sub.avcodec.dll_avsubtitle_free
pop ecx
mov dword [0x527190], 0
jmp 0x406d57
mov ebp, dword [esp + 0x3d4]
cmp dword [esp + 0x410], 0
jne 0x407f98
cmp dword [esp + 0x40c], 0
jle 0x407f98
mov ebx, dword [esp + 0x3e4]
xor ecx, ecx
mov esi, dword [ebx + ecx*4]
cmp ebp, dword [esi + 8]
jne 0x407f8a
mov edx, dword [esi + 0xc]
mov edx, dword [edx + 8]
mov eax, dword [esi]
mov eax, dword [eax*4 + 0x567fc0]
mov edi, dword [edx + 0xe0]
cmp edi, 1
je 0x408f58
test edi, edi
jne 0x40795a
mov edi, dword [eax + 8]
test byte [edi + 0x28], 0x20
jne 0x407f8a
cmp dword [esi + 0x10], 0
je 0x407f8a
lea edi, [esp + 0x2b0]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x210], edx
mov dword [esp + 0x214], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3d4], ebp
lea eax, [esp + 0x2b0]
push eax
call sub.avcodec.dll_av_init_packet
pop ecx
mov edx, dword [esp + 0x214]
mov eax, dword [edx + 4]
mov dword [esp + 0x2c8], eax
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + 8]
mov eax, dword [ebx + 0xe0]
cmp eax, 1
jne 0x407b1d
mov eax, edx
push dword [eax + 0x188]
call sub.avutil.dll_av_fifo_size
pop ecx
mov ebp, eax
test ebp, ebp
jle 0x407ae5
mov eax, dword [esp + 0x210]
push dword [eax + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_fmt
mov ebx, eax
mov esi, dword [esp + 0x214]
push 0
push ebp
mov esi, dword [esi + 0x4c]
push dword [0x938678]
mov eax, dword [esp + 0x224]
sar ebx, 3
push dword [eax + 0x188]
call sub.avutil.dll_av_fifo_generic_read
add esp, 0x14
test eax, eax
jne 0x407adb
mov eax, dword [esp + 0x210]
mov edx, dword [eax + 0x84]
test byte [edx + 0x20], 0x40
je 0x407a3b
mov ecx, eax
imul ebx, dword [ecx + 0x44]
mov eax, ebp
cdq
idiv ebx
mov dword [ecx + 0x4c], eax
jmp 0x407a64
imul ebx, dword [eax + 0x4c]
imul ebx, dword [eax + 0x44]
cmp ebx, dword [0x938688]
ja 0x408f4f
mov eax, dword [0x93867c]
add eax, ebp
sub ebx, ebp
push ebx
push 0
push eax
call fcn.004195e0
add esp, 0xc
push dword [0x938678]
push dword [0x426470]
push dword [0x93859c]
push dword [esp + 0x21c]
call sub.avcodec.dll_avcodec_encode_audio
mov ebx, eax
mov ebp, dword [esp + 0x220]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x224]
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x44]
imul dword [ebp + 0x4c]
mov ecx, dword [ecx + 0x40]
mov esi, eax
mov dword [esp + 0x34], ebx
mov edi, edx
mov eax, ecx
cdq
mov eax, dword [ebp + 0x40]
mov ebx, edx
cdq
push edx
push eax
push ebx
push ecx
push edi
push esi
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
call sub.avutil.dll_av_rescale
add esp, 0x28
mov dword [esp + 0x2d0], eax
mov eax, ebp
mov dword [eax + 0x4c], esi
test ebx, ebx
jle 0x407ae5
jmp 0x407b04
mov eax, dword [esp + 0x210]
mov dword [eax + 0x4c], esi
push 0
push dword [0x426470]
push dword [0x93859c]
push dword [esp + 0x21c]
call sub.avcodec.dll_avcodec_encode_audio
add esp, 0x10
mov ebx, eax
add dword [0x938400], ebx
mov eax, ebx
cdq
adc dword [0x938404], edx
or dword [esp + 0x2cc], 1
jmp 0x407b99
test eax, eax
jne 0x407f78
push 0
push dword [0x426470]
push dword [0x93859c]
push dword [esp + 0x21c]
call sub.avcodec.dll_avcodec_encode_video
add esp, 0x10
mov ebx, eax
mov ecx, dword [esp + 0x210]
add dword [0x938408], ebx
mov eax, ebx
cdq
mov eax, dword [ecx + 0x198]
adc dword [0x93840c], edx
test eax, eax
je 0x407b72
cmp dword [eax + 0x30], 0
je 0x407b72
or dword [esp + 0x2cc], 1
mov eax, dword [esp + 0x214]
mov edx, dword [eax + 0x18c]
test edx, edx
je 0x407b99
mov eax, ecx
mov eax, dword [eax + 0x11c]
test eax, eax
je 0x407b99
push edx
push eax
call sub.MSVCR90.dll_fputs
add esp, 8
test ebx, ebx
jle 0x407f78
mov eax, dword [0x93859c]
mov edx, dword [esp + 0x210]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], ebx
mov eax, dword [edx + 0x198]
test eax, eax
je 0x407c0a
mov ebp, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
lea eax, [ebx - 0x80000000]
or eax, ebp
je 0x407c0a
mov eax, dword [esp + 0x214]
mov edx, dword [eax + 0xc]
push dword [edx + 0x44]
push dword [edx + 0x40]
mov ecx, dword [esp + 0x218]
push dword [ecx + 0x24]
push dword [ecx + 0x20]
push ebx
push ebp
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], edx
mov ecx, dword [esp + 0x214]
mov esi, dword [esp + 0x2c8]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 8]
mov ebx, dword [ecx]
mov ebp, ebx
mov dword [esp + 0x340], edx
mov dword [esp + 0x34c], esi
shl ebp, 4
sub ebp, ebx
shl ebp, 4
mov edi, dword [ebp + esi*4 + 0x8fe940]
mov dword [esp + 0x348], edi
test edi, edi
je 0x407f5f
mov esi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2b4]
mov ebp, dword [esp + 0x2b8]
mov eax, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov edi, dword [esp + 0x2cc]
mov dword [esp + 0x218], ebx
mov ebx, dword [esp + 0x2d4]
mov dword [esp + 0x228], ebp
mov ebp, dword [esp + 0x2d0]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x21c], edx
mov edx, dword [esp + 0x2dc]
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x344], edi
mov dword [esp + 0x220], edi
mov edi, dword [esp + 0x2ec]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x330], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x338], edi
mov edi, dword [esp + 0x228]
mov dword [esp + 0x2f0], esi
mov esi, dword [esp + 0x218]
mov dword [esp + 0x2f4], esi
mov esi, dword [esp + 0x224]
mov dword [esp + 0x2f8], edi
mov edi, dword [esp + 0x21c]
mov dword [esp + 0x2fc], esi
mov esi, dword [esp + 0x334]
mov dword [esp + 0x300], edi
mov edi, dword [esp + 0x34c]
mov dword [esp + 0x304], esi
mov esi, dword [esp + 0x344]
mov dword [esp + 0x308], edi
mov dword [esp + 0x30c], esi
mov dword [esp + 0x310], ebp
mov ebp, dword [esp + 0x330]
mov dword [esp + 0x314], ebx
mov ebx, dword [esp + 0x22c]
mov dword [esp + 0x318], ebx
mov dword [esp + 0x31c], ebp
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], edx
mov edx, dword [esp + 0x220]
mov dword [esp + 0x328], eax
and edx, 1
mov eax, dword [esp + 0x338]
mov dword [esp + 0x32c], eax
push edx
push dword [esp + 0x2c8]
push dword [esp + 0x2c8]
lea ecx, [esp + 0x310]
push ecx
lea eax, [esp + 0x310]
push eax
push 0
push dword [esp + 0x358]
push dword [esp + 0x364]
call sub.avcodec.dll_av_bitstream_filter_filter
add esp, 0x20
test eax, eax
je 0x407e11
lea eax, [esp + 0x2b0]
push eax
call sub.avcodec.dll_av_free_packet
pop ecx
mov dword [esp + 0x314], 0x41630e
mov esi, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x2f8]
mov eax, dword [esp + 0x2fc]
mov edx, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
mov edi, dword [esp + 0x308]
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x218], ebx
mov dword [esp + 0x2b4], ebx
mov ebx, dword [esp + 0x30c]
mov dword [esp + 0x228], ebp
mov dword [esp + 0x2b8], ebp
mov ebp, dword [esp + 0x310]
mov dword [esp + 0x224], eax
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x21c], edx
mov dword [esp + 0x2c0], edx
mov edx, dword [esp + 0x31c]
mov dword [esp + 0x334], ecx
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x320]
mov dword [esp + 0x34c], edi
mov dword [esp + 0x2c8], edi
mov edi, dword [esp + 0x32c]
mov dword [esp + 0x344], ebx
mov dword [esp + 0x2cc], ebx
mov ebx, dword [esp + 0x314]
mov dword [esp + 0x2d0], ebp
mov dword [esp + 0x2d4], ebx
mov dword [esp + 0x22c], eax
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x330], edx
mov dword [esp + 0x2dc], edx
mov edx, dword [esp + 0x324]
mov dword [esp + 0x2e0], ecx
mov dword [esp + 0x2e4], edx
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x338], edi
mov dword [esp + 0x2ec], edi
mov edi, dword [esp + 0x348]
mov edi, dword [edi + 0xc]
test edi, edi
mov dword [esp + 0x348], edi
je 0x407f5f
mov edi, dword [esp + 0x2cc]
mov dword [esp + 0x220], edi
jmp 0x407cfd
lea eax, [esp + 0x2b0]
push eax
push dword [esp + 0x30]
call sub.avformat.dll_Ordinal_21
add esp, 8
jmp 0x407988
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x3d4]
mov ebx, dword [esp + 0x3e4]
inc ecx
cmp ecx, dword [esp + 0x40c]
jl 0x40791f
xor eax, eax
add esp, 0x3ec
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [edi]
jmp 0x406e99
push 0
push 0x3e8
push dword [0x527184]
push dword [0x527180]
call fcn.00418bc0
mov ecx, dword [esp + 0x338]
mov dword [0x527174], eax
lea ebp, [esp + 0x3e0]
xor edx, edx
mov dword [0x527170], edx
push edx
push edx
mov eax, dword [ecx + 8]
push ebp
push 0x527160
push dword [eax + 8]
call sub.avcodec.dll_avcodec_decode_subtitle
add esp, 0x14
cmp dword [esp + 0x3e0], 0
je 0x408018
mov eax, dword [edi + 8]
mov dword [0x52718c], 0x527160
mov dword [esp + 0x3a0], eax
jmp 0x406f42
mov eax, dword [edi + 8]
mov dword [esp + 0x3a0], eax
jmp 0x406f42
mov ecx, dword [esp + 0x410]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jle 0x408044
add eax, ecx
mov dword [0x527148], eax
mov eax, dword [edx + 8]
jmp 0x40701a
add eax, 0x3e8
mov dword [0x527148], eax
mov eax, dword [edx + 8]
jmp 0x40701a
mov eax, dword [edx + 8]
jmp 0x40701a
mov ebp, dword [esp + 0x3d4]
jmp 0x4078fa
cmp dword [ebx + 0x10], 0
mov ecx, dword [ebx]
mov esi, dword [ecx*4 + 0x567fc0]
mov dword [esp + 0x388], esi
je 0x4084d3
cmp edi, 1
je 0x408120
test edi, edi
jne 0x4080df
mov eax, esi
mov ecx, dword [esp + 0x3d0]
lea esi, [esp + 0x120]
mov dword [esp + 0xc], esi
mov edx, ebx
lea edi, [esp + 0x33c]
mov dword [esp + 0x10], edi
call fcn.0040b7c0
mov ecx, dword [esp + 0x33c]
add dword [0x938408], ecx
mov eax, ecx
cdq
adc dword [0x93840c], edx
cmp dword [0x93855c], 0
jne 0x408380
jmp 0x40778f
cmp edi, 3
je 0x4080ea
call dword [sym.imp.MSVCR90.dll_abort]
mov esi, dword [esp + 0x410]
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x3d0]
mov edi, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0xc], 0x527140
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov edx, ebx
call fcn.0040ac00
jmp 0x40778f
mov esi, dword [0x938520]
cmp esi, 1
je 0x40839b
mov edx, dword [0x938440]
mov ecx, dword [0x938444]
mov dword [esp + 0x330], edx
mov dword [esp + 0x32c], ecx
sub ecx, 0
jl 0x408317
or ecx, dword [esp + 0x330]
je 0x408317
cmp dword [0x4264d4], 0
jne 0x408317
cmp dword [esp + 0x3dc], 1
mov edx, dword [esp + 0x3d0]
mov ecx, dword [edx + 8]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x40]
je 0x40834f
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3c4]
sub edi, 0x186a0
sbb ecx, 0
jl 0x4081a7
or edi, ecx
jne 0x4081b0
cmp esi, 1
jne 0x408309
mov dword [esp + 0x2c4], 1
mov dword [esp + 0x2c8], edx
push dword [eax + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_fmt
pop ecx
mov esi, eax
mov ecx, dword [esp + 0x330]
sar esi, 3
mov edx, 2
test esi, esi
cmovle esi, edx
mov edx, dword [esp + 0x32c]
sub ecx, 0x100000
sbb edx, 0
jl 0x40826b
or ecx, edx
je 0x40826b
mov edi, dword [esp + 0x32c]
mov dword [esp + 0x2dc], esi
mov esi, dword [esp + 0x330]
mov dword [esp + 0x2d8], ebp
mov ebp, dword [esp + 0x388]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0xc], 0x427040
mov eax, ebp
mov edx, ebx
mov dword [esp + 0x10], 0x100000
call fcn.00408f90
add esi, 0xfff00000
adc edi, 0xffffffff
mov edx, esi
mov eax, edi
sub edx, 0x100000
sbb eax, 0
jl 0x408256
or edx, eax
jne 0x40821a
mov ebp, dword [esp + 0x2d8]
mov dword [esp + 0x330], esi
mov esi, dword [esp + 0x2dc]
mov edi, dword [esp + 0x330]
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x10], edi
mov edx, ebx
mov dword [esp + 0xc], 0x427040
call fcn.00408f90
add esp, 0xffffffe8
mov ecx, dword [esp + 0x3e8]
mov edi, dword [ecx + 8]
mov edx, dword [edi + 8]
imul esi, dword [edx + 0x44]
mov eax, esi
cdq
push edx
push esi
push dword [0x938444]
push dword [0x938440]
call fcn.00418bc0
mov ecx, dword [esp + 0x2dc]
mov esi, dword [esp + 0x2e0]
mov edi, dword [0x4264b8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, dword [0x4264bc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov ecx, dword [esp + 0x3d0]
mov esi, dword [0x938520]
add dword [ecx + 0x40], eax
adc dword [ecx + 0x44], edx
xor edx, edx
mov dword [0x938440], edx
mov dword [0x938444], edx
test esi, esi
jne 0x40778f
mov esi, dword [esp + 0x39c]
mov edi, dword [esp + 0x3b8]
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x3d0]
mov edx, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00408f90
jmp 0x40778f
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3c4]
sub edi, 0x4c4b40
sbb ecx, 0
jl 0x4081b0
or edi, ecx
je 0x4081b0
mov dword [0x4264d4], 1
jmp 0x408309
test ecx, ecx
je 0x40778f
mov eax, dword [esp + 0x388]
mov edx, ebx
call fcn.0040a860
jmp 0x40778f
fld qword [0x9383f0]
fld qword [0x938448]
fcom st(1)
fnstsw ax
fxch st(1)
fstp qword [esp + 0x2b8]
sahf
jbe 0x40848f
fsub qword [esp + 0x2b8]
fild dword [edx + 0x40]
fmul st(1), st(0)
fstp qword [esp + 0x220]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x210]
fldcw word [esp + 0x20]
mov edi, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov eax, dword [edx + 0x44]
cdq
mov dword [esp + 0x2c0], ecx
push ecx
push edi
push edx
push eax
call fcn.00418b10
fld qword [esp + 0x2b8]
mov dword [esp + 0x218], edi
mov ecx, eax
shr ecx, 0x1f
add eax, eax
mov dword [esp + 0x330], eax
mov dword [0x938440], eax
add edx, edx
or ecx, edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x32c], ecx
mov dword [0x938444], ecx
sub ecx, 0
mov dword [esp + 0x21c], edx
fild qword [esp + 0x218]
fdiv qword [esp + 0x220]
faddp st(1)
fstp qword [0x9383f0]
jl 0x40778f
or ecx, dword [esp + 0x330]
je 0x40778f
cmp dword [0x4264d4], 0
je 0x40816c
jmp 0x40778f
fstp st(0)
mov edx, dword [0x938440]
mov ecx, dword [0x938444]
mov dword [esp + 0x330], edx
mov dword [esp + 0x32c], ecx
sub ecx, 0
jl 0x40778f
or ecx, dword [esp + 0x330]
je 0x40778f
cmp dword [0x4264d4], 0
je 0x40816c
jmp 0x40778f
lea edx, [esp + 0x230]
push edx
call sub.avcodec.dll_av_init_packet
lea esi, [esp + 0x34]
push esi
call sub.avcodec.dll_avcodec_get_frame_defaults
add esp, 8
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
mov dword [ecx + 0x198], esi
mov esi, dword [esp + 0x410]
mov edi, dword [esi + 0x1c]
and edi, 1
mov dword [esp + 0x60], edi
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0xe0]
cmp edx, 1
jne 0x408531
mov eax, dword [esp + 0x3b8]
cdq
add dword [0x938400], eax
adc dword [0x938404], edx
jmp 0x408551
test edx, edx
jne 0x408551
mov eax, dword [esp + 0x3b8]
cdq
add dword [0x938408], eax
adc dword [0x93840c], edx
add dword [ebx + 0x20], 1
adc dword [ebx + 0x24], 0
mov ecx, dword [esp + 0x410]
mov edx, dword [ebx + 4]
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
lea esi, [edi - 0x80000000]
or esi, eax
mov dword [esp + 0x248], edx
je 0x4085e4
mov edx, dword [esp + 0x3d0]
push dword [0x4264bc]
mov ecx, dword [edx + 8]
push dword [0x4264b8]
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push edi
push eax
call sub.avutil.dll_av_rescale_q
imul esi, dword [0x938514], 0x640
mov ecx, dword [esp + 0x3e8]
mov edi, dword [ecx]
add eax, dword [esi + edi*8 + 0x8b0420]
adc edx, dword [esi + edi*8 + 0x8b0424]
mov ecx, dword [ebx + 0xc]
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push dword [0x4264bc]
push dword [0x4264b8]
push edx
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x30
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edx
jmp 0x4085fa
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], Ordinal_9
mov edx, dword [esp + 0x410]
mov eax, dword [edx + 8]
mov esi, dword [edx + 0xc]
lea ecx, [esi - 0x80000000]
or ecx, eax
jne 0x408627
mov ecx, dword [esp + 0x3d0]
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x2f8], edx
mov edx, dword [ecx + 0x34]
jmp 0x408654
mov edx, dword [esp + 0x3d0]
push dword [0x4264bc]
mov ecx, dword [edx + 8]
push dword [0x4264b8]
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push esi
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x2f8], eax
imul esi, dword [0x938514], 0x640
mov ecx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x2f8]
mov edi, dword [ecx]
add eax, dword [esi + edi*8 + 0x8b0420]
adc edx, dword [esi + edi*8 + 0x8b0424]
mov ecx, dword [ebx + 0xc]
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push dword [0x4264bc]
push dword [0x4264b8]
push edx
push eax
call sub.avutil.dll_av_rescale_q
mov ecx, dword [esp + 0x428]
mov esi, dword [esp + 0x3e8]
mov esi, dword [esi + 8]
mov dword [esp + 0x250], eax
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x254], edx
cdq
mov edi, dword [ebx + 0xc]
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi + 0x44]
push dword [esi + 0x40]
push edx
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x30
mov edx, dword [esp + 0x410]
mov ecx, dword [esp + 0x3d0]
mov esi, dword [ecx + 8]
mov dword [esp + 0x250], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x24c], eax
mov edi, dword [esi + 8]
mov edx, dword [edi + 0xe4]
mov dword [esp + 0x2f4], esi
cmp edx, 0x17005
je 0x408716
cmp edx, 0x17002
jne 0x408731
mov edx, dword [esp + 0x410]
mov ecx, dword [edx + 0x38]
mov esi, dword [edx + 0x3c]
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], esi
mov edx, dword [ebx + 0xc]
mov esi, dword [edx + 8]
mov edx, dword [esi + 0xe4]
cmp edx, 0x1c
je 0x408792
cmp edx, 1
je 0x408792
cmp edx, 2
je 0x408792
lea ecx, [esp + 0x240]
lea edx, [esp + 0x244]
and eax, 1
push eax
push dword [esp + 0x3bc]
push dword [esp + 0x3a4]
push edx
push ecx
push esi
mov esi, dword [esp + 0x30c]
push dword [esi + 0x70]
call sub.avcodec.dll_av_parser_change
add esp, 0x1c
test eax, eax
je 0x4087ae
mov dword [esp + 0x254], 0x41630e
jmp 0x4087ae
mov edx, dword [esp + 0x39c]
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x240], edx
mov dword [esp + 0x244], ecx
mov edx, dword [esp + 0x388]
mov ecx, dword [edx + 8]
mov ecx, dword [ecx + 0xc]
mov edi, ecx
mov esi, str.mpg_mpeg
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4087e2
test dl, dl
je 0x4087de
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4087e2
add edi, 2
add esi, 2
test dl, dl
jne 0x4087c2
xor eax, eax
jmp 0x4087e7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x408bde
mov esi, dword [esp + 0x410]
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
mov edi, dword [ebx]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esi + 0x18]
mov edx, edi
shl edx, 4
sub edx, edi
shl edx, 4
mov esi, dword [edx + ecx*4 + 0x8fe940]
test esi, esi
je 0x408ba9
mov ecx, dword [esp + 0x230]
mov eax, dword [esp + 0x234]
mov edx, dword [esp + 0x23c]
mov edi, dword [esp + 0x240]
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x370], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x36c], edi
mov edi, dword [esp + 0x248]
mov dword [esp + 0x368], edx
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x364], edi
mov edi, dword [esp + 0x250]
mov dword [esp + 0x360], edx
mov dword [esp + 0x35c], edi
mov edi, dword [esp + 0x254]
mov dword [esp + 0x358], edi
mov edi, dword [esp + 0x258]
mov dword [esp + 0x2ec], edi
mov edi, dword [esp + 0x25c]
mov dword [esp + 0x2e8], edi
mov edi, dword [esp + 0x260]
mov dword [esp + 0x354], edi
mov edi, dword [esp + 0x264]
mov dword [esp + 0x2e4], edi
mov edi, dword [esp + 0x268]
mov dword [esp + 0x2e0], edi
mov edi, dword [esp + 0x26c]
mov dword [esp + 0x350], edi
mov dword [esp + 0x344], edx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x348], esi
mov esi, dword [esp + 0x2ec]
mov dword [esp + 0x2d4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 0x2d8], ebp
mov ebp, dword [esp + 0x2e8]
mov edi, dword [esp + 0x36c]
mov dword [esp + 0x270], edx
mov edx, dword [esp + 0x370]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x27c], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0x344]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x288], edx
mov edx, dword [esp + 0x358]
mov dword [esp + 0x28c], edi
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], edx
mov dword [esp + 0x298], esi
mov dword [esp + 0x29c], ebp
mov ebp, dword [esp + 0x354]
mov dword [esp + 0x2a0], ebp
mov dword [esp + 0x2a4], ebx
mov ebx, dword [esp + 0x360]
mov dword [esp + 0x2a8], ecx
and ebx, 1
mov ecx, dword [esp + 0x350]
mov dword [esp + 0x2ac], ecx
push ebx
push dword [esp + 0x248]
push dword [esp + 0x248]
lea esi, [esp + 0x290]
push esi
lea eax, [esp + 0x290]
push eax
push 0
push dword [esp + 0x364]
push dword [esp + 0x364]
call sub.avcodec.dll_av_bitstream_filter_filter
add esp, 0x20
test eax, eax
je 0x408a4d
lea eax, [esp + 0x230]
push eax
call sub.avcodec.dll_av_free_packet
pop ecx
mov dword [esp + 0x294], 0x41630e
mov edx, dword [esp + 0x270]
mov eax, dword [esp + 0x274]
mov ebp, dword [esp + 0x278]
mov esi, dword [esp + 0x27c]
mov ecx, dword [esp + 0x280]
mov ebx, dword [esp + 0x284]
mov edi, dword [esp + 0x288]
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], eax
mov dword [esp + 0x340], ebp
mov dword [esp + 0x238], ebp
mov ebp, dword [esp + 0x28c]
mov dword [esp + 0x370], esi
mov dword [esp + 0x23c], esi
mov esi, dword [esp + 0x290]
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0x294]
mov dword [esp + 0x368], ebx
mov dword [esp + 0x244], ebx
mov ebx, dword [esp + 0x2a0]
mov dword [esp + 0x364], edi
mov dword [esp + 0x248], edi
mov edi, dword [esp + 0x2ac]
mov dword [esp + 0x344], ebp
mov dword [esp + 0x24c], ebp
mov ebp, dword [esp + 0x29c]
mov dword [esp + 0x35c], esi
mov dword [esp + 0x250], esi
mov esi, dword [esp + 0x298]
mov dword [esp + 0x358], ecx
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x258], esi
mov dword [esp + 0x25c], ebp
mov dword [esp + 0x354], ebx
mov dword [esp + 0x260], ebx
mov ebx, dword [esp + 0x2a4]
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], ecx
mov dword [esp + 0x350], edi
mov dword [esp + 0x26c], edi
mov edi, dword [esp + 0x348]
mov edi, dword [edi + 0xc]
test edi, edi
mov dword [esp + 0x348], edi
je 0x408b9b
mov edi, dword [esp + 0x24c]
mov dword [esp + 0x360], edi
jmp 0x408939
mov ebx, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x2d8]
lea edx, [esp + 0x230]
push edx
push dword [esp + 0x38c]
call sub.avformat.dll_Ordinal_21
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
inc dword [ecx + 0x50]
inc dword [ebx + 0x14]
lea ebx, [esp + 0x238]
push ebx
call sub.avcodec.dll_av_free_packet
add esp, 0xc
jmp 0x40778f
mov edi, ecx
mov esi, 0x420eec
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x408c05
test dl, dl
je 0x408c01
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x408c05
add edi, 2
add esi, 2
test dl, dl
jne 0x408be5
xor eax, eax
jmp 0x408c0a
sbb eax, eax
or eax, 1
test eax, eax
je 0x4087ef
cmp dword [0x93850c], 0
jle 0x408c7a
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x408c4e
mov edx, dword [0x9386a4]
test edx, edx
jne 0x408c74
mov edx, dword [esp + 0x388]
mov ecx, dword [ebx + 4]
mov esi, dword [edx + ecx*4 + 0x6c]
mov edx, dword [esi + 0x78]
mov dword [0x9386a4], edx
jmp 0x408c74
cmp edx, 1
jne 0x408c7a
mov edx, dword [0x93869c]
test edx, edx
jne 0x408c74
mov edx, dword [esp + 0x388]
mov ecx, dword [ebx + 4]
mov esi, dword [edx + ecx*4 + 0x6c]
mov edx, dword [esi + 0x78]
mov dword [0x93869c], edx
mov dword [0x9386a0], edx
cmp dword [0x938514], 0
jle 0x4087ef
mov ecx, dword [0x9386a0]
mov esi, dword [esp + 0x388]
mov edi, dword [ebx + 4]
mov esi, dword [esi + edi*4 + 0x6c]
mov eax, ecx
cdq
add ecx, dword [esi + 0x78]
adc edx, dword [esi + 0x7c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x238], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x23c], edx
jmp 0x4087ef
mov edx, dword [esp + 0x3e4]
mov ecx, dword [edx]
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x4c], 0
jne 0x4075b1
mov ecx, dword [esp + 0x3ac]
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x2cc], 1
mov dword [esp + 0x2d0], edx
push dword [ecx + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_fmt
mov dword [esp + 0x310], eax
mov edx, eax
mov eax, dword [esp + 0x3bc]
sar edx, 3
mov ecx, 2
test edx, edx
cmovle edx, ecx
mov ecx, dword [esp + 0x3a4]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x44]
imul ecx, edx
mov dword [esp + 0x310], edx
cdq
idiv ecx
cdq
push dword [0x4264bc]
push dword [0x4264b8]
push dword [esp + 0x2dc]
push dword [esp + 0x2dc]
push edx
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x1c
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], edx
add eax, dword [edi + 0x40]
adc edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x3cc], ebp
mov dword [edi + 0x40], eax
mov dword [esp + 0x3c8], esi
imul esi, dword [0x938514], 0x640
mov dword [esp + 0x3c4], ebx
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x310], eax
mov dword [edi + 0x44], edx
mov edi, dword [edi]
mov ebp, dword [esi + edi*8 + 0x8b0420]
mov edi, dword [esi + edi*8 + 0x8b0424]
mov esi, dword [esp + 0x3c8]
mov dword [esp + 0x314], edx
mov dword [esp + 0x308], ebx
add ebx, ebp
mov dword [esp + 0x2fc], ecx
adc ecx, edi
mov dword [esp + 0x304], ebp
mov ebp, dword [esp + 0x3cc]
mov dword [esp + 0x300], edi
mov edi, dword [esp + 0x3d0]
sub eax, ebx
sbb edx, ecx
mov ebx, dword [esp + 0x3c4]
jge 0x408e9c
mov ebx, dword [esp + 0x308]
sub ebx, dword [esp + 0x310]
mov edx, dword [esp + 0x2fc]
sbb edx, dword [esp + 0x314]
mov ecx, dword [esp + 0x304]
add ecx, ebx
mov ebx, dword [esp + 0x300]
adc ebx, edx
mov dword [esp + 0x3d8], ecx
push dword [esp + 0x2d0]
push dword [esp + 0x2d0]
push dword [0x4264bc]
push dword [0x4264b8]
push ebx
push ecx
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x228], eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x3a0]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x44]
imul eax, dword [esp + 0x30c]
push dword [esp + 0x2c]
cdq
push dword [esp + 0x22c]
push edx
push eax
call fcn.00418b10
mov dword [0x938440], eax
mov dword [0x938444], edx
mov edx, dword [0x426458]
cmp edx, 0x100
je 0x408f36
mov ecx, dword [0x938678]
mov eax, dword [esp + 0x3b8]
shr eax, 1
test eax, eax
jbe 0x408f36
mov dword [esp + 0x3cc], ebp
mov dword [esp + 0x3d0], edi
xor eax, eax
mov ebp, 0x7fff
movsx edi, word [ecx]
imul edi, edx
inc eax
add edi, 0x80
sar edi, 8
cmp edi, 0xffff8000
jge 0x408ef3
mov edi, 0xffff8000
cmp edi, 0x7fff
cmovge edi, ebp
mov word [ecx], di
add ecx, 2
mov edi, dword [esp + 0x3b8]
shr edi, 1
cmp eax, edi
jb 0x408ed6
mov ebp, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3ac], ecx
jmp 0x4075b1
mov edx, dword [edi + 8]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3ac], ecx
jmp 0x4075b1
push 1
call dword [sym.imp.MSVCR90.dll_exit]
pop ecx
cmp dword [edx + 0x4c], 1
jle 0x407f8a
jmp 0x40795a
mov dword [esp + 0x3d4], ebp
xor edx, edx
mov dword [esp + 0x3d8], edx
xor ebx, ebx
mov dword [esp + 0x3dc], edx
xor esi, esi
mov ebp, edx
jmp 0x406d5f