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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x100e1694]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x54], eax
push ebx
push esi
mov eax, dword [eax + 0xc]
push edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x60], ecx
mov edx, dword [eax + 0x158]
mov dword [ebp - 0x64], edx
cmp dword [eax + 0x150], ecx
jle 0x1002efee
nop dword [eax]
imul edi, ecx, 0x5e0
xor eax, eax
mov ecx, dword [edi + edx + 0x14]
add edi, edx
xor ebx, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], eax
mov edx, dword [edi + 0x10]
mov esi, dword [edi + 0x1a4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0xffffffff
cmp edx, 1
jne 0x1002d751
test ecx, ecx
je 0x1002d774
cmp edx, 2
jne 0x1002d75a
test ecx, ecx
je 0x1002d774
cmp edx, 0x11
jne 0x1002d763
test ecx, ecx
je 0x1002d774
cmp edx, 0x21
jne 0x1002ef78
test ecx, ecx
jne 0x1002ef78
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x1002ef8f
cmp edx, 2
jne 0x1002d853
test ecx, ecx
jne 0x1002d853
cmp byte [eax], 0x41
jne 0x1002d8a1
movsd xmm1, qword [edi + 0x148]
xorps xmm2, xmm2
comisd xmm2, xmm1
ja 0x1002d7bf
comisd xmm1, xmmword [0x100c4d30]
ja 0x1002d7bf
ucomisd xmm1, xmm1
setp al
cmp al, 1
jne 0x1002d7f8
mov ecx, dword [ebp - 0x34]
sub esp, 8
movsd qword [esp], xmm1
push str.Invalid_sample_rate__f__defaulting_to_8000_instead._n
push 0x18
push dword [ecx + 4]
call sub.avutil_56.dll_av_log
movsd xmm0, qword [0x100c4d00]
add esp, 0x14
mov edx, dword [edi + 0x10]
movaps xmm1, xmm0
mov ecx, dword [edi + 0x14]
xorps xmm2, xmm2
movsd qword [edi + 0x148], xmm0
cmp edx, 1
jne 0x1002d943
test ecx, ecx
jne 0x1002d943
mov eax, dword [edi + 0x48]
or eax, dword [edi + 0x4c]
jne 0x1002d8d8
movsd xmm1, qword [edi + 0x98]
comisd xmm1, xmm2
jbe 0x1002d8d8
movsd xmm0, qword [0x100c4d20]
divsd xmm0, xmm1
comisd xmm0, xmmword [0x100c4d50]
ja 0x1002d8bb
comisd xmm2, xmm0
ja 0x1002d8bb
call fcn.10001780
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], edx
jmp 0x1002d8d8
cmp edx, 1
jne 0x1002d864
test ecx, ecx
jne 0x1002d864
cmp byte [eax], 0x56
jmp 0x1002d793
cmp edx, 0x11
jne 0x1002d87e
test ecx, ecx
jne 0x1002d87e
mov al, byte [eax]
cmp al, 0x44
je 0x1002d799
cmp al, 0x53
jmp 0x1002d793
cmp edx, 0x21
jne 0x1002d799
test ecx, ecx
jne 0x1002d799
mov al, byte [eax]
cmp al, 0x44
je 0x1002d799
cmp al, 0x53
je 0x1002d799
mov ecx, dword [ebp - 0x34]
push str.Inconsistent_track_type_n
push 0x20
push dword [ecx + 4]
call sub.avutil_56.dll_av_log
add esp, 0xc
jmp 0x1002ef8f
mov eax, dword [ebp - 0x34]
sub esp, 8
movsd qword [esp], xmm1
push str.Invalid_frame_rate__e._Cannot_calculate_default_duration._n
push 0x18
push dword [eax + 4]
call sub.avutil_56.dll_av_log
add esp, 0x14
mov eax, dword [edi + 0xa0]
and eax, dword [edi + 0xa4]
cmp eax, 0xffffffff
jne 0x1002d901
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0xb4]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
mov eax, dword [edi + 0xa8]
and eax, dword [edi + 0xac]
cmp eax, 0xffffffff
jne 0x1002d92a
mov eax, dword [edi + 0xb8]
mov ecx, dword [edi + 0xbc]
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], ecx
cmp dword [edi + 0xc0], 4
jne 0x1002d966
mov eax, dword [edi + 0xc8]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
jmp 0x1002d966
cmp edx, 2
jne 0x1002d966
test ecx, ecx
jne 0x1002d966
movsd xmm0, qword [edi + 0x150]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x1002d966
movsd qword [edi + 0x150], xmm1
cmp dword [edi + 0x19c], 1
jle 0x1002d976
push str.Multiple_combined_encodings_not_supported
jmp 0x1002d9d8
jne 0x1002da92
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
je 0x1002d9ed
mov ecx, dword [esi + 0x38]
test ecx, ecx
jle 0x1002d9ce
add ecx, 2
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [eax*4 + 1]
push ebx
call sub.avutil_56.dll_av_malloc
add esp, 4
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1002efb9
push dword [esi + 0x38]
push dword [esi + 0x40]
push ebx
mov ebx, eax
push ebx
call sub.avutil_56.dll_av_base64_encode
add esp, 0x10
jmp 0x1002da92
mov dword [esi], ebx
mov dword [esi + 4], ebx
push str.Unsupported_encoding_type
mov eax, dword [ebp - 0x34]
push 0x10
push dword [eax + 4]
call sub.avutil_56.dll_av_log
add esp, 0xc
jmp 0x1002da92
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
cmp ecx, 2
jne 0x1002d9fc
test eax, eax
je 0x1002da05
cmp ecx, 3
jne 0x1002d9ce
test eax, eax
jne 0x1002d9ce
cmp dword [edi + 0x20], ebx
lea ecx, [edi + 0x20]
je 0x1002da92
mov eax, dword [esi]
and eax, 2
or eax, 0
je 0x1002da92
mov eax, dword [edi + 0x28]
lea ebx, [edi + 0x28]
push edi
push ecx
push ebx
mov dword [ebp - 0x50], eax
call fcn.1002b640
add esp, 0xc
test eax, eax
jns 0x1002da55
mov eax, dword [ebp - 0x34]
push str.Failed_to_decode_codec_private_data_n
mov dword [ebx], 0
mov dword [edi + 0x20], 0
push 0x10
push dword [eax + 4]
call sub.avutil_56.dll_av_log
add esp, 0xc
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebx]
je 0x1002da8f
lea eax, [edi + 0x24]
push eax
call sub.avutil_56.dll_av_buffer_unref
mov ecx, dword [ebx]
add esp, 4
test ecx, ecx
je 0x1002da8f
mov eax, dword [edi + 0x20]
push 0
push 0
push 0
add eax, 0x40
push eax
push ecx
call sub.avutil_56.dll_av_buffer_create
add esp, 0x14
mov dword [edi + 0x24], eax
test eax, eax
je 0x1002efa9
mov ebx, dword [ebp - 0x28]
test esi, esi
je 0x1002dac1
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x1002dac1
mov eax, dword [esi]
and eax, 1
or eax, 0
je 0x1002dac1
cmp dword [esi + 0x10], 3
jne 0x1002daba
cmp dword [esi + 0x14], 0
jne 0x1002daba
cmp dword [esi + 0x18], 0
je 0x1002dac1
mov eax, 1
jmp 0x1002dac3
xor eax, eax
xor esi, esi
mov dword [edi + 0x1cc], eax
cmp dword [0x100c0fa8], esi
je 0x1002db1b
xor eax, eax
push 0
lea eax, [eax + str.A_AAC]
push eax
push dword [edi + 0x1c]
call sub.avutil_56.dll_av_strstart
add esp, 0xc
test eax, eax
jne 0x1002db05
inc esi
lea eax, [esi*8]
sub eax, esi
shl eax, 2
cmp dword [eax + 0x100c0fa8], 0
jne 0x1002dad5
jmp 0x1002db1b
lea eax, [esi*8]
sub eax, esi
mov eax, dword [eax*4 + 0x100c0fa8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
push 0
push dword [ebp - 0x54]
call sym.avformat_58.dll_avformat_new_stream
add esp, 8
mov dword [ebp - 0x28], eax
mov dword [edi + 0x1b8], eax
test eax, eax
je 0x1002efcf
test ebx, ebx
je 0x1002db51
push 8
push ebx
add eax, 0x40
push str.enc_key_id
push eax
call sub.avutil_56.dll_av_dict_set
add esp, 0x10
mov esi, dword [edi + 0x1c]
mov ecx, str.V_MS_VFW_FOURCC
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002db80
test dl, dl
je 0x1002db7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002db80
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002db60
xor eax, eax
jmp 0x1002db85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002dbe7
cmp dword [edi + 0x20], 0x28
jl 0x1002dbe7
mov eax, dword [edi + 0x28]
test eax, eax
je 0x1002dbe7
mov dword [edi + 0x1c8], 1
mov esi, dword [eax + 0x10]
movzx ecx, word [eax + 0xe]
push esi
push 0x100d72b0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], esi
call fcn.10001609
add esp, 8
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x1002dbd3
push esi
push 0x100c00f0
call fcn.10001609
add esp, 8
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
mov eax, 0x28
mov dword [ebp - 0x2c], 0x28
jmp 0x1002e084
mov ecx, str.A_MS_ACM
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002dc10
test dl, dl
je 0x1002dc0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002dc10
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002dbf0
xor eax, eax
jmp 0x1002dc15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002dc94
mov ecx, dword [edi + 0x20]
cmp ecx, 0xe
jl 0x1002dc94
mov eax, dword [edi + 0x28]
test eax, eax
je 0x1002dc94
push 0
push 0
push 0
push 0
push 0
push ecx
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10001929
mov ebx, dword [ebp - 0x28]
lea eax, [ebp - 0x124]
push 0
push dword [edi + 0x20]
push dword [ebx + 0xb0]
push eax
push dword [ebp - 0x54]
call fcn.1000141f
add esp, 0x34
test eax, eax
js 0x1002eff0
mov eax, dword [ebx + 0xb0]
mov ecx, 0x12
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [edi + 0x20]
cmp eax, 0x12
mov dword [ebp - 0x30], edx
cmovg eax, ecx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x2c], eax
jmp 0x1002e087
mov ecx, str.A_QUICKTIME
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002dcc0
test dl, dl
je 0x1002dcbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002dcc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002dca0
xor eax, eax
jmp 0x1002dcc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002dd79
cmp dword [edi + 0x20], 0x20
jl 0x1002dd79
cmp dword [edi + 0x28], eax
je 0x1002dd79
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
push edi
call fcn.1002ae00
add esp, 0xc
test eax, eax
js 0x1002eff0
mov eax, dword [edi + 0x28]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x48], esi
mov ax, word [eax + 0x1a]
ror ax, 8
movzx eax, ax
test esi, esi
jne 0x1002dd4c
cmp eax, 8
jne 0x1002dd39
mov dword [ebp - 0x48], 0x20776172
push 0x20776172
push 0x100c07b0
call fcn.10001609
mov edx, eax
add esp, 8
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp eax, 0x10
jne 0x1002dd6e
mov dword [ebp - 0x48], 0x736f7774
push 0x736f7774
jmp 0x1002dd22
cmp esi, 0x736f7774
je 0x1002dd5c
cmp esi, 0x74776f73
jne 0x1002dd6e
cmp eax, 8
jne 0x1002dd6e
mov edx, 0x10004
mov dword [ebp - 0x30], edx
jmp 0x1002e081
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x30], edx
jmp 0x1002e081
mov ecx, str.V_QUICKTIME
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002dda0
test dl, dl
je 0x1002dd9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002dda0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002dd80
xor eax, eax
jmp 0x1002dda5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002deba
cmp dword [edi + 0x20], 0x15
jl 0x1002deba
cmp dword [edi + 0x28], eax
je 0x1002deba
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
push edi
call fcn.1002ae00
add esp, 0xc
test eax, eax
js 0x1002eff0
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x30], edx
test edx, edx
jne 0x1002de43
mov eax, dword [edi + 0x28]
cmp dword [eax + 4], 0x20494d53
jne 0x1002de10
mov esi, 0x33515653
push esi
push 0x100c00f0
mov dword [ebp - 0x48], esi
call fcn.10001609
mov edx, eax
add esp, 8
mov dword [ebp - 0x30], edx
test edx, edx
jne 0x1002de49
jmp 0x1002de16
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x48], esi
xorps xmm0, xmm0
lea eax, [ebp - 0x24]
push esi
push eax
movups xmmword [ebp - 0x24], xmm0
movups xmmword [ebp - 0x14], xmm0
call sub.avutil_56.dll_av_fourcc_make_string
push eax
mov eax, dword [ebp - 0x34]
push str.mov_FourCC_not_found__s._n
push 0x10
push dword [eax + 4]
call sub.avutil_56.dll_av_log
add esp, 0x18
jmp 0x1002de49
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
mov edx, dword [edi + 0x20]
cmp edx, 0x56
jl 0x1002e07e
mov ecx, dword [edi + 0x28]
push 0
push 0
push 0
mov ax, word [ecx + 0x52]
push 0
push 0
ror ax, 8
push edx
movzx ebx, ax
lea eax, [ebp - 0x124]
push ecx
push eax
mov dword [ebp - 0x38], ebx
call fcn.10001929
lea eax, [edi + 0x1d8]
push eax
lea eax, [ebp - 0x124]
push eax
push dword [ebp - 0x30]
call fcn.10001979
mov edx, dword [ebp - 0x30]
add esp, 0x2c
test eax, eax
mov eax, dword [ebp - 0x2c]
je 0x1002e084
and ebx, 0x1f
mov dword [edi + 0x5d8], 1
mov dword [ebp - 0x38], ebx
jmp 0x1002e084
mov edx, dword [ebp - 0x30]
cmp edx, 0x10001
jne 0x1002df21
mov ecx, dword [edi + 0x158]
mov eax, dword [edi + 0x15c]
cmp ecx, 8
jne 0x1002dee7
test eax, eax
jne 0x1002dee7
mov edx, 0x10005
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp ecx, 0x18
jne 0x1002defd
test eax, eax
jne 0x1002defd
mov edx, 0x1000d
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp ecx, 0x20
jne 0x1002e081
mov ebx, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x2c]
jne 0x1002e087
mov edx, 0x10009
mov dword [ebp - 0x30], edx
jmp 0x1002e087
cmp edx, 0x10000
jne 0x1002df85
mov ecx, dword [edi + 0x158]
mov eax, dword [edi + 0x15c]
cmp ecx, 8
jne 0x1002df4b
test eax, eax
jne 0x1002df4b
mov edx, 0x10005
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp ecx, 0x18
jne 0x1002df61
test eax, eax
jne 0x1002df61
mov edx, 0x1000c
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp ecx, 0x20
jne 0x1002e081
mov ebx, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x2c]
jne 0x1002e087
mov edx, 0x10008
mov dword [ebp - 0x30], edx
jmp 0x1002e087
cmp edx, 0x10015
jne 0x1002dfb4
cmp dword [edi + 0x158], 0x40
jne 0x1002e71c
cmp dword [edi + 0x15c], 0
jne 0x1002e71c
mov edx, 0x10017
mov dword [ebp - 0x30], edx
jmp 0x1002e081
cmp edx, 0x15002
jne 0x1002e18d
cmp dword [edi + 0x20], 0
jne 0x1002e71c
xor ebx, ebx
nop dword [eax]
push dword [ebx*4 + 0x100c1cac]
push esi
call sub.VCRUNTIME140.dll_strstr
add esp, 8
test eax, eax
jne 0x1002dfea
inc ebx
cmp ebx, 3
jb 0x1002dfd0
cvttsd2si eax, qword [edi + 0x148]
push eax
call fcn.1002af40
push 0x45
mov dword [ebp - 0x50], eax
call sub.avutil_56.dll_av_mallocz
mov esi, eax
add esp, 8
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x1002efb9
mov edx, dword [ebp - 0x50]
inc bl
mov ecx, edx
shl bl, 3
sar ecx, 1
and cl, 7
shl dl, 7
or cl, bl
mov byte [esi], cl
mov ecx, dword [edi + 0x160]
mov eax, dword [edi + 0x164]
shld eax, ecx, 3
push 0x100c45a4
shl ecx, 3
or cl, dl
mov byte [esi + 1], cl
push dword [edi + 0x1c]
call sub.VCRUNTIME140.dll_strstr
add esp, 8
test eax, eax
je 0x1002e181
cvttsd2si eax, qword [edi + 0x150]
push eax
call fcn.1002af40
or al, 0xf0
mov word [esi + 2], 0xe556
add esp, 4
mov dword [ebp - 0x44], 5
shl al, 3
mov byte [esi + 4], al
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
sub dword [edi + 0x20], eax
mov esi, dword [ebp - 0x34]
test edx, edx
jne 0x1002e0a6
push dword [edi + 0x1c]
push str.Unknown_unsupported_AVCodecID__s._n
push 0x20
push dword [esi + 4]
call sub.avutil_56.dll_av_log
add esp, 0x10
movsd xmm0, qword [edi + 0x40]
movsd xmm1, qword [0x100c4ce0]
comisd xmm1, xmm0
movsd qword [ebp - 0x5c], xmm0
jbe 0x1002e0ea
sub esp, 8
movsd qword [esp], xmm0
push str.Track_TimestampScale_too_small__f__assuming_1.0._n
push 0x18
push dword [esi + 4]
call sub.avutil_56.dll_av_log
movsd xmm0, qword [0x100bc088]
add esp, 0x14
movsd qword [edi + 0x40], xmm0
movsd qword [ebp - 0x5c], xmm0
mov edx, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
push 0x3b9aca00
call fcn.10001230
mulsd xmm0, qword [ebp - 0x5c]
call fcn.10001852
push eax
push 0x40
push ebx
call sym.avformat_58.dll_avpriv_set_pts_info
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push 0x3b9aca00
push 1
push dword [edi + 0x1ac]
push dword [edi + 0x1a8]
call sub.avutil_56.dll_av_rescale_q
mov ecx, dword [ebp - 0x30]
add esp, 0x28
mov dword [edi + 0x1b0], eax
mov dword [edi + 0x1b4], edx
mov eax, dword [ebx + 0xb0]
mov dword [eax + 4], ecx
mov ecx, 0x100c000c
mov esi, dword [edi + 0x38]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e771
test dl, dl
je 0x1002e17a
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e771
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e156
xor eax, eax
jmp 0x1002e776
mov dword [ebp - 0x44], 2
jmp 0x1002e07e
cmp edx, 0x15010
jne 0x1002e1f3
mov eax, dword [edi + 0x20]
test eax, eax
je 0x1002e71c
cmp eax, 0x7fffffb3
jge 0x1002e71c
lea ebx, [eax + 0xc]
lea eax, [ebx + 0x40]
mov dword [ebp - 0x44], ebx
push eax
call sub.avutil_56.dll_av_mallocz
mov esi, eax
add esp, 4
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x1002efb9
bswap ebx
mov dword [esi], ebx
lea eax, [esi + 0xc]
mov dword [esi + 4], 0x63616c61
mov dword [esi + 8], 0
push dword [edi + 0x20]
push dword [edi + 0x28]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1002e07e
cmp edx, 0x15016
jne 0x1002e347
mov ecx, dword [edi + 0x164]
mov eax, dword [edi + 0x160]
test ecx, ecx
ja 0x1002e2fe
jb 0x1002e220
cmp eax, 0xffff
ja 0x1002e2fe
cmp dword [edi + 0x15c], 0
ja 0x1002e2fe
jb 0x1002e23f
cmp dword [edi + 0x158], 0xffff
ja 0x1002e2fe
movsd xmm0, qword [edi + 0x150]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x1002e331
comisd xmm0, xmmword [0x100c4d30]
ja 0x1002e331
push 0x56
mov dword [ebp - 0x44], 0x16
call sub.avutil_56.dll_av_mallocz
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x1002efb9
lea esi, [eax + 4]
mov dword [eax], 0x31415454
mov eax, 1
mov word [esi], ax
movzx eax, word [edi + 0x160]
mov word [esi + 2], ax
movzx eax, word [edi + 0x158]
mov word [esi + 4], ax
movsd xmm0, qword [edi + 0x150]
call fcn.10001852
push 0
mov dword [esi + 6], eax
movsd xmm0, qword [edi + 0x150]
push 0x3b9aca00
call fcn.10001370
mov ebx, dword [ebp - 0x34]
push edx
push eax
mov edx, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x120]
call fcn.10001230
mulsd xmm0, qword [ebx + 0x128]
call fcn.10001370
push edx
push eax
call sub.avutil_56.dll_av_rescale
add esp, 0x18
mov dword [esi + 0xa], eax
jmp 0x1002e07e
push dword [edi + 0x15c]
mov ebx, dword [ebp - 0x34]
push dword [edi + 0x158]
push ecx
push eax
push str.Too_large_audio_channel_number__llu_or_bitdepth__llu._Skipping_track._n
push 0x18
push dword [ebx + 4]
call sub.avutil_56.dll_av_log
mov eax, dword [ebx + 4]
add esp, 0x1c
test byte [eax + 0x49c], 8
je 0x1002ef8f
pop edi
pop esi
mov eax, 0xbebbb1b7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001348
mov esp, ebp
pop ebp
ret
cmp edx, 5
je 0x1002e765
cmp edx, 6
je 0x1002e765
cmp edx, 0x44
je 0x1002e765
cmp edx, 0x45
je 0x1002e765
cmp edx, 0x13000
jne 0x1002e39c
movsd xmm0, qword [0x100c4d00]
movsd qword [edi + 0x150], xmm0
mov dword [edi + 0x160], 1
mov dword [edi + 0x164], 0
jmp 0x1002e081
cmp edx, 0x13001
je 0x1002e3c0
cmp edx, 0x15014
je 0x1002e3c0
cmp edx, 0x1501f
je 0x1002e3c0
cmp edx, 0x15029
jne 0x1002e56a
mov eax, dword [edi + 0x28]
test eax, eax
je 0x1002e56a
push 0
push 0
push 0
push 0
push 0
push dword [edi + 0x20]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10001929
push 0
lea eax, [ebp - 0x124]
push 0x16
push eax
call sym.avformat_58.dll_avio_skip
lea eax, [ebp - 0x124]
push eax
call sym.avformat_58.dll_avio_rb16
mov esi, eax
lea eax, [ebp - 0x124]
push eax
call sym.avformat_58.dll_avio_rb32
push 0
mov dword [edi + 0x168], eax
lea eax, [ebp - 0x124]
push 0xc
push eax
call sym.avformat_58.dll_avio_skip
add esp, 0x40
lea eax, [ebp - 0x124]
push eax
call sym.avformat_58.dll_avio_rb16
mov dword [edi + 0x16c], eax
lea eax, [ebp - 0x124]
push eax
call sym.avformat_58.dll_avio_rb16
mov dword [edi + 0x170], eax
lea eax, [ebp - 0x124]
push eax
call sym.avformat_58.dll_avio_rb16
mov ecx, eax
add esp, 0xc
mov eax, dword [edi + 0x168]
mov dword [edi + 0x174], ecx
test eax, eax
jle 0x1002e331
mov ebx, dword [edi + 0x16c]
test ebx, ebx
jle 0x1002e331
mov eax, dword [edi + 0x170]
test eax, eax
jle 0x1002e331
mov edx, dword [ebp - 0x30]
cmp edx, 0x13001
jne 0x1002e4da
test bl, 1
jne 0x1002e331
add eax, eax
cdq
mov ecx, eax
mov esi, edx
mov eax, ebx
mov ebx, dword [edi + 0x168]
imul ebx
cmp ecx, eax
jne 0x1002e331
cmp esi, edx
jne 0x1002e331
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x70], ebx
mov ebx, dword [ebp - 0x28]
mov dword [edi + 0x20], 0
jmp 0x1002e53d
cmp edx, 0x15029
jne 0x1002e517
cmp esi, 3
jg 0x1002e331
movzx eax, byte [esi + 0x100d8b58]
mov ebx, dword [ebp - 0x28]
mov dword [edi + 0x174], eax
mov eax, dword [esi*4 + 0x100c3460]
cdq
mov ecx, dword [ebx + 0xb0]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov ecx, dword [edi + 0x174]
jmp 0x1002e52d
test ecx, ecx
jle 0x1002e331
cdq
idiv ecx
test edx, edx
jne 0x1002e331
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x2c], 0x4e
mov dword [eax + 0x70], ecx
push dword [edi + 0x170]
push dword [edi + 0x16c]
call sub.avutil_56.dll_av_malloc_array
add esp, 8
mov dword [edi + 0x188], eax
test eax, eax
je 0x1002efb9
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
jmp 0x1002e087
cmp edx, 0x1500c
jne 0x1002e6b0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x1002e71c
mov eax, dword [edi + 0x1b8]
mov dword [ebp - 0x50], eax
cmp ecx, 0x2a
jl 0x1002e692
mov ebx, dword [edi + 0x28]
test byte [ebx + 4], 0x7f
jne 0x1002e692
sub ecx, 0x2a
mov dword [edi + 0x20], 0x2a
mov eax, 8
add ebx, 0x2a
mov dword [ebp - 0x2c], eax
cmp ecx, 4
jl 0x1002e084
nop
movzx edx, byte [ebx]
sub ecx, 4
movzx esi, byte [ebx + 1]
add ebx, 4
shl esi, 8
and edx, 0x7f
mov dword [ebp - 0x58], ecx
movzx eax, byte [ebx - 2]
or esi, eax
movzx eax, byte [ebx - 1]
shl esi, 8
or esi, eax
cmp esi, ecx
jg 0x1002e07e
cmp edx, 4
jne 0x1002e680
push 0
push esi
push ebx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0
push eax
push dword [ebp - 0x54]
call fcn.1000174e
push 0
push 0
push str.WAVEFORMATEXTENSIBLE_CHANNEL_MASK
push dword [ebp - 0x40]
call sub.avutil_56.dll_av_dict_get
add esp, 0x24
test eax, eax
je 0x1002e671
push 0
push 0
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cdq
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0x3c], eax
or ecx, edx
je 0x1002e65f
mov ecx, eax
and ecx, 0xfffc0000
or ecx, edx
jne 0x1002e65f
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], edx
jmp 0x1002e671
push str.Invalid_value_of_WAVEFORMATEXTENSIBLE_CHANNEL_MASK_n
push 0x18
push dword [ebp - 0x54]
call sub.avutil_56.dll_av_log
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call sub.avutil_56.dll_av_dict_free
mov ecx, dword [ebp - 0x58]
add esp, 4
sub ecx, esi
add ebx, esi
cmp ecx, 4
jge 0x1002e5c0
jmp 0x1002e07e
push str.Invalid_FLAC_private_data_n
push 0x18
push dword [ebp - 0x54]
call sub.avutil_56.dll_av_log
add esp, 0xc
mov dword [edi + 0x20], 0
jmp 0x1002e07e
cmp edx, 0x15019
jne 0x1002e6fb
cmp dword [edi + 0x20], 2
jge 0x1002e71c
mov eax, dword [ebp - 0x34]
push str.Assuming_WavPack_version_4.10_in_absence_of_valid_CodecPrivate._n
push 0x20
push dword [eax + 4]
call sub.avutil_56.dll_av_log
push 0x42
mov dword [ebp - 0x44], 2
call sub.avutil_56.dll_av_mallocz
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x1002efb9
mov eax, 0x410
mov word [esi], ax
jmp 0x1002e07e
cmp edx, 0x93
jne 0x1002e71c
cmp dword [edi + 0x20], 4
mov ebx, dword [ebp - 0x28]
jne 0x1002e714
mov eax, dword [edi + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
jmp 0x1002e087
mov eax, dword [edi + 0x20]
cmp edx, 0xa7
jne 0x1002e741
mov ebx, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x2c]
je 0x1002e087
mov dword [edi + 0x20], 0
jmp 0x1002e087
cmp edx, 0x801d
jne 0x1002e081
mov ebx, dword [ebp - 0x28]
test eax, eax
je 0x1002e714
mov dword [ebp - 0x2c], 4
mov eax, 4
jmp 0x1002e087
mov dword [ebp - 0x2c], 0x1a
jmp 0x1002e081
sbb eax, eax
or eax, 1
add ebx, 0x40
mov dword [ebp - 0x40], ebx
test eax, eax
je 0x1002e791
push 0
push esi
push str.language
push ebx
call sub.avutil_56.dll_av_dict_set
add esp, 0x10
push 0
push dword [edi + 0x18]
push str.title
push ebx
call sub.avutil_56.dll_av_dict_set
mov eax, dword [edi + 0x50]
add esp, 0x10
or eax, dword [edi + 0x54]
mov esi, dword [ebp - 0x28]
je 0x1002e7b3
or dword [esi + 0x30], 1
mov eax, dword [edi + 0x58]
or eax, dword [edi + 0x5c]
je 0x1002e7bf
or dword [esi + 0x30], 0x40
mov eax, dword [edi + 0x60]
or eax, dword [edi + 0x64]
je 0x1002e7cb
or dword [esi + 0x30], 8
mov eax, dword [edi + 0x68]
or eax, dword [edi + 0x6c]
je 0x1002e7da
or dword [esi + 0x30], 0x80
mov eax, dword [edi + 0x70]
or eax, dword [edi + 0x74]
je 0x1002e7e9
or dword [esi + 0x30], 0x100
cmp dword [edi + 0x88], 0
jbe 0x1002e80d
mov eax, dword [edi + 0x80]
or eax, dword [edi + 0x84]
mov eax, 4
jne 0x1002e80a
mov eax, 2
or dword [esi + 0x30], eax
mov eax, dword [esi + 0xb0]
cmp dword [eax + 0xc], 0
jne 0x1002e86b
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x1002e831
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x10], ecx
jmp 0x1002e86b
cmp dword [edi + 0x28], 0
je 0x1002e86b
mov ecx, dword [edi + 0x20]
test ecx, ecx
jle 0x1002e86b
push ecx
push eax
call fcn.100013de
add esp, 8
test eax, eax
jne 0x1002efb9
push dword [edi + 0x20]
mov eax, dword [edi + 0x28]
add eax, dword [ebp - 0x2c]
push eax
mov eax, dword [esi + 0xb0]
push dword [eax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
cmp ecx, 1
jne 0x1002ed50
test eax, eax
jne 0x1002ed50
mov eax, dword [esi + 0xb0]
mov ebx, dword [edi + 0x198]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ebx
mov dword [eax], 0
mov eax, dword [esi + 0xb0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x38]
test ecx, ecx
js 0x1002e8b3
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0xb0]
mov dword [ecx + 0x30], eax
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0xb8]
mov dword [ecx + 0x34], eax
mov ecx, dword [edi + 0xe0]
mov eax, dword [edi + 0xe4]
cmp ecx, 1
jne 0x1002e9e5
test eax, eax
jne 0x1002e9e5
mov ecx, dword [edi + 0xec]
xor esi, esi
mov eax, dword [edi + 0xe8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov ecx, dword [ecx + 0x134]
test ecx, ecx
je 0x1002e947
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x68]
push eax
push str.Lavf57._d._d
push ecx
call fcn.1000187f
add esp, 0x10
cmp eax, 2
jne 0x1002e944
mov eax, dword [ebp - 0x68]
add eax, 0xffffffdc
cmp eax, 0xf
ja 0x1002e942
cmp dword [ebp - 0x6c], 0x64
jl 0x1002e942
mov esi, 1
jmp 0x1002e944
xor esi, esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jl 0x1002e9d2
jg 0x1002e9d2
test eax, eax
jb 0x1002e9d2
test ecx, ecx
jg 0x1002e9d2
jl 0x1002e96b
cmp eax, 0xe
ja 0x1002e9d2
movzx eax, byte [eax + 0x1002f020]
jmp dword [eax*4 + 0x1002f004]
mov eax, dword [ebp - 0x28]
xor esi, esi
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0x28]
jmp 0x1002e9fb
cmp ecx, 2
jne 0x1002e9fb
test eax, eax
jne 0x1002e9fb
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x40], 1
mov ecx, dword [edi + 0xf0]
mov eax, ecx
mov edx, dword [edi + 0xf4]
or eax, edx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
je case.0x1002ea5d.3
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
test edx, edx
ja case.0x1002ea5d.3
jb 0x1002ea34
cmp ecx, 0xf
jae case.0x1002ea5d.3
dec ecx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
cmp ecx, 0xa
ja case.0x1002ea5d.3
movzx eax, byte [ecx + 0x1002f03c]
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
jmp dword [eax*4 + 0x1002f030]
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 2
jmp case.0x1002ea5d.3
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x3c], 1
cmp dword [edi + 0xdc], 0
ja 0x1002eb04
jb 0x1002ea9a
cmp dword [edi + 0xd8], 4
jae 0x1002eb04
mov esi, dword [esi + 0xb0]
push 0
push 0x7fffffff
push dword [edi + 0xac]
mov eax, dword [esi + 0x30]
push dword [edi + 0xa8]
cdq
push edx
push eax
call fcn.1000122b
push 0
push dword [ebp - 0x44]
push edx
push eax
call fcn.1000122b
push edx
push eax
push dword [edi + 0xa4]
mov eax, dword [esi + 0x34]
push dword [edi + 0xa0]
cdq
push edx
push eax
call fcn.1000122b
push 0
push dword [ebp - 0x3c]
push edx
push eax
call fcn.1000122b
mov esi, dword [ebp - 0x28]
push edx
push eax
lea eax, [esi + 0x3c]
push eax
lea eax, [esi + 0x38]
push eax
call sub.avutil_56.dll_av_reduce
add esp, 0x20
mov eax, dword [esi + 0xb0]
cmp dword [eax + 4], 0xad
je 0x1002eb1d
mov dword [esi + 0xe4], 2
mov edx, dword [edi + 0x48]
mov eax, edx
mov ecx, dword [edi + 0x4c]
or eax, ecx
je 0x1002ebbe
cmp ecx, 0x7fffffff
ja 0x1002eb45
jb 0x1002eb3c
cmp edx, 0xffffffff
ja 0x1002eb45
mov dword [ebp - 0x38], 0x3b9aca00
jmp 0x1002eb52
shrd edx, ecx, 1
mov dword [ebp - 0x38], 0x1dcd6500
shr ecx, 1
mov eax, dword [ebp - 0x28]
add esi, 0x48
push 0
push 0x7530
push ecx
push edx
push 0
push dword [ebp - 0x38]
add eax, 0x44
push esi
push eax
call sub.avutil_56.dll_av_reduce
mov eax, dword [ebp - 0x28]
add esp, 0x20
mov esi, dword [esi]
mov eax, dword [eax + 0x44]
cdq
mov dword [ebp - 0x38], edx
mov ecx, eax
mov eax, esi
mov edx, 0x3e8
imul edx
cmp dword [ebp - 0x38], edx
jg 0x1002ebbe
jl 0x1002eb95
cmp ecx, eax
jae 0x1002ebbe
mov eax, esi
mov edx, 5
imul edx
cmp dword [ebp - 0x38], edx
jl 0x1002ebbe
jg 0x1002eba9
cmp ecx, eax
jbe 0x1002ebbe
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x44]
mov ecx, dword [edx + 0x48]
mov dword [edx + 0xa4], eax
mov dword [edx + 0xa8], ecx
mov ecx, dword [edi + 0xf0]
mov eax, ecx
mov edx, dword [edi + 0xf4]
or eax, edx
je 0x1002ebf7
test edx, edx
ja 0x1002ebf7
jb 0x1002ebdb
cmp ecx, 0xf
jae 0x1002ebf7
mov esi, dword [ebp - 0x40]
push 0
push dword [ecx*4 + 0x100c1868]
push str.stereo_mode
push esi
call sub.avutil_56.dll_av_dict_set
add esp, 0x10
jmp 0x1002ebfa
mov esi, dword [ebp - 0x40]
mov eax, dword [edi + 0xf8]
or eax, dword [edi + 0xfc]
je 0x1002ec1d
push 0
push 0x100c46c8
push str.alpha_mode
push esi
call sub.avutil_56.dll_av_dict_set
add esp, 0x10
cmp dword [edi + 0x190], 0
mov dword [ebp - 0x38], 0
jle 0x1002ece0
cmp dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
ja 0x1002ecc7
jb 0x1002ec49
cmp eax, 3
jae 0x1002ecc7
push dword [ebp - 0x60]
push dword [eax*4 + 0x100c18a4]
lea eax, [ebp - 0x24]
push str._s__d
push 0x20
push eax
call fcn.10001564
mov eax, dword [ebp - 0x34]
add esp, 0x14
xor ecx, ecx
mov esi, dword [eax + 0x150]
test esi, esi
jle 0x1002ecc7
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebx]
add eax, 0x1b8
mov edx, dword [edx + 4]
mov dword [ebp - 0x58], edx
cmp ebx, dword [eax - 0x1b0]
jne 0x1002eca1
cmp edx, dword [eax - 0x1ac]
jne 0x1002eca1
mov edx, dword [eax]
test edx, edx
jne 0x1002ecad
mov edx, dword [ebp - 0x58]
inc ecx
add eax, 0x5e0
cmp ecx, esi
jl 0x1002ec88
jmp 0x1002ecc4
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [edx + 0x40]
push str.stereo_mode
push eax
call sub.avutil_56.dll_av_dict_set
add esp, 0x10
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
add ebx, 0x10
inc eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x38], eax
cmp eax, dword [edi + 0x190]
jl 0x1002ec31
mov ecx, dword [edi + 0xf4]
mov eax, dword [edi + 0xf0]
test ecx, ecx
ja 0x1002ed1d
jb 0x1002ecf7
cmp eax, 0xf
jae 0x1002ed1d
cmp eax, 0xa
jne 0x1002ed00
test ecx, ecx
je 0x1002ed1d
cmp eax, 0xc
jne 0x1002ed09
test ecx, ecx
je 0x1002ed1d
push eax
push dword [ebp - 0x28]
call fcn.1000154b
add esp, 8
test eax, eax
js 0x1002eff0
push edi
push dword [ebp - 0x28]
call fcn.1002fef0
add esp, 8
test eax, eax
js 0x1002eff0
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
push edi
push dword [ebp - 0x28]
call fcn.100303a0
add esp, 0xc
test eax, eax
js 0x1002eff0
jmp 0x1002ef8f
cmp ecx, 2
jne 0x1002ee78
test eax, eax
jne 0x1002ee78
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 0x48]
mov dword [eax], 1
mov eax, dword [esi + 0xb0]
mov dword [eax + 8], ecx
cvttsd2si ecx, qword [edi + 0x150]
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x6c], ecx
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0x160]
mov dword [ecx + 0x68], eax
mov ecx, dword [esi + 0xb0]
cmp dword [ecx + 0x20], 0
jne 0x1002edb4
mov eax, dword [edi + 0x158]
mov dword [ecx + 0x20], eax
mov ecx, dword [esi + 0xb0]
mov eax, dword [ecx + 4]
cmp eax, 0x15001
je 0x1002eddf
cmp eax, 0x1501d
je 0x1002eddf
cmp eax, 0x1502c
je 0x1002eddf
cmp eax, 0x15002
je 0x1002ede9
mov dword [esi + 0xe4], 2
jmp 0x1002ede9
mov dword [esi + 0xe4], 1
mov esi, dword [edi + 0x1ac]
mov edx, dword [edi + 0x1a8]
test esi, esi
jne 0x1002edfd
test edx, edx
je 0x1002ee30
cmp dword [ecx + 4], 0x1503c
mov eax, 0xbb80
je 0x1002ee0e
mov eax, dword [ecx + 0x6c]
push eax
push 1
push 0x3b9aca00
push 1
push esi
push edx
call sub.avutil_56.dll_av_rescale_q
mov ebx, dword [ebp - 0x28]
add esp, 0x18
mov ecx, dword [ebx + 0xb0]
mov dword [ecx + 0x78], eax
jmp 0x1002ee33
mov ebx, dword [ebp - 0x28]
mov edx, dword [edi + 0x94]
mov ecx, dword [edi + 0x90]
test edx, edx
jne 0x1002ee4b
test ecx, ecx
je 0x1002ef8f
mov eax, dword [ebx + 0xb0]
push dword [eax + 0x6c]
push 1
push 0x3b9aca00
push 1
push edx
push ecx
call sub.avutil_56.dll_av_rescale_q
mov ecx, dword [ebx + 0xb0]
add esp, 0x18
mov dword [ecx + 0x80], eax
jmp 0x1002ef8f
cmp dword [ebp - 0x30], 0x17809
jne 0x1002ef52
mov eax, dword [esi + 0xb0]
mov ecx, str.D_WEBVTT_CAPTIONS
mov dword [eax], 3
mov edx, dword [edi + 0x1c]
mov eax, edx
nop dword [eax + eax]
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x1002eec0
test bl, bl
je 0x1002eebc
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x1002eec0
add eax, 2
add ecx, 2
test bl, bl
jne 0x1002eea0
xor eax, eax
jmp 0x1002eec5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002eed5
or dword [esi + 0x30], 0x10000
jmp 0x1002ef8f
mov ecx, str.D_WEBVTT_DESCRIPTIONS
mov eax, edx
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x1002ef00
test bl, bl
je 0x1002eefc
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x1002ef00
add eax, 2
add ecx, 2
test bl, bl
jne 0x1002eee0
xor eax, eax
jmp 0x1002ef05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002ef15
or dword [esi + 0x30], 0x20000
jmp 0x1002ef8f
mov eax, str.D_WEBVTT_METADATA
nop word [eax + eax]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x1002ef40
test cl, cl
je 0x1002ef3c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x1002ef40
add edx, 2
add eax, 2
test cl, cl
jne 0x1002ef20
xor eax, eax
jmp 0x1002ef45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002ef8f
or dword [esi + 0x30], 0x40000
jmp 0x1002ef8f
cmp ecx, 0x11
jne 0x1002ef8f
test eax, eax
jne 0x1002ef8f
mov eax, dword [esi + 0xb0]
mov dword [eax], 3
mov eax, dword [edi + 0x78]
or eax, dword [edi + 0x7c]
je 0x1002ef8f
or dword [esi + 0x30], 0x20000
jmp 0x1002ef8f
mov eax, dword [ebp - 0x34]
push ecx
push edx
push str.Unknown_or_unsupported_track_type__llu_n
push 0x20
push dword [eax + 4]
call sub.avutil_56.dll_av_log
add esp, 0x14
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x60], ecx
cmp ecx, dword [eax + 0x150]
jge 0x1002efee
mov edx, dword [ebp - 0x64]
jmp 0x1002d710
push ebx
call sub.avutil_56.dll_av_freep
add esp, 4
mov dword [edi + 0x20], 0
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001348
mov esp, ebp
pop ebp
ret
push ebx
call sub.avutil_56.dll_av_free
add esp, 4
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001348
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10001348
mov esp, ebp
pop ebp
ret