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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x101638b0]
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 - 0x38], eax
mov dword [ebp - 0x60], ecx
mov edx, dword [eax + 0x158]
mov dword [ebp - 0x64], edx
cmp dword [eax + 0x150], ecx
jle 0x10039656
nop dword [eax]
imul edi, ecx, 0x5b0
xor eax, eax
mov ecx, dword [edi + edx + 0x10]
add edi, edx
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], eax
mov esi, dword [edi + 0x174]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x50], 0xffffffff
cmp ecx, 1
jne 0x10037dd1
test eax, eax
je 0x10037df4
cmp ecx, 2
jne 0x10037dda
test eax, eax
je 0x10037df4
cmp ecx, 0x11
jne 0x10037de3
test eax, eax
je 0x10037df4
cmp ecx, 0x21
jne 0x100395e0
test eax, eax
jne 0x100395e0
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x100395f7
cmp ecx, 2
jne 0x10037e7d
test eax, eax
jne 0x10037e7d
cmp byte [edx], 0x41
jne 0x10037ec8
movsd xmm0, qword [edi + 0x118]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x10037e46
comisd xmm0, xmmword [0x1013cc68]
ja 0x10037e46
sub esp, 8
movsd qword [esp], xmm0
call fcn.100017fd
add esp, 8
cmp ax, 2
jne 0x10037ee2
movsd xmm0, qword [edi + 0x118]
sub esp, 8
mov ebx, dword [ebp - 0x38]
movsd qword [esp], xmm0
push str.Invalid_sample_rate__f__defaulting_to_8000_instead._n
push 0x18
push dword [ebx + 4]
call sub.libavutil_56.dll_av_log
movsd xmm0, qword [0x1013cc38]
add esp, 0x14
movsd qword [edi + 0x118], xmm0
jmp 0x10037ee5
cmp ecx, 1
jne 0x10037e8b
test eax, eax
jne 0x10037e8b
cmp byte [edx], 0x56
jmp 0x10037e0b
cmp ecx, 0x11
jne 0x10037ea5
test eax, eax
jne 0x10037ea5
mov al, byte [edx]
cmp al, 0x44
je 0x10037e11
cmp al, 0x53
jmp 0x10037e0b
cmp ecx, 0x21
jne 0x10037e11
test eax, eax
jne 0x10037e11
mov al, byte [edx]
cmp al, 0x44
je 0x10037e11
cmp al, 0x53
je 0x10037e11
mov ecx, dword [ebp - 0x38]
push str.Inconsistent_track_type_n
push 0x20
push dword [ecx + 4]
call sub.libavutil_56.dll_av_log
add esp, 0xc
jmp 0x100395f7
mov ebx, dword [ebp - 0x38]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
cmp ecx, 1
jne 0x10037fa8
test eax, eax
jne 0x10037fa8
mov eax, dword [edi + 0x48]
or eax, dword [edi + 0x4c]
jne 0x10037f55
movsd xmm1, qword [edi + 0x68]
xorps xmm2, xmm2
comisd xmm1, xmm2
jbe 0x10037f55
movsd xmm0, qword [0x1013cc58]
divsd xmm0, xmm1
comisd xmm0, xmmword [0x1013cc88]
ja 0x10037f3b
comisd xmm2, xmm0
ja 0x10037f3b
call fcn.10003cec
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], edx
jmp 0x10037f55
sub esp, 8
movsd qword [esp], xmm1
push str.Invalid_frame_rate__e._Cannot_calculate_default_duration._n
push 0x18
push dword [ebx + 4]
call sub.libavutil_56.dll_av_log
add esp, 0x14
mov eax, dword [edi + 0x70]
and eax, dword [edi + 0x74]
cmp eax, 0xffffffff
jne 0x10037f72
mov eax, dword [edi + 0x80]
mov dword [edi + 0x70], eax
mov eax, dword [edi + 0x84]
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x78]
and eax, dword [edi + 0x7c]
cmp eax, 0xffffffff
jne 0x10037f8f
mov eax, dword [edi + 0x88]
mov dword [edi + 0x78], eax
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x7c], eax
cmp dword [edi + 0x90], 4
jne 0x10037fd7
mov eax, dword [edi + 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
jmp 0x10037fd7
cmp ecx, 2
jne 0x10037fd7
test eax, eax
jne 0x10037fd7
movsd xmm0, qword [edi + 0x120]
ucomisd xmm0, qword [0x101309d8]
lahf
test ah, 0x44
jp 0x10037fd7
movsd xmm0, qword [edi + 0x118]
movsd qword [edi + 0x120], xmm0
cmp dword [edi + 0x16c], 1
jle 0x10037ff7
push str.Multiple_combined_encodings_not_supported
push 0x10
push dword [ebx + 4]
call sub.libavutil_56.dll_av_log
add esp, 0xc
jmp 0x10038120
jne 0x10038120
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
je 0x10038057
mov ecx, dword [esi + 0x38]
test ecx, ecx
jle 0x10038075
add ecx, 2
mov eax, 0x55555556
imul ecx
push 0x944
mov eax, edx
shr eax, 0x1f
add eax, edx
push str.libavformat_matroskadec.c
lea ebx, [eax*4 + 1]
push ebx
call sub.libavutil_56.dll_av_malloc_tracked
add esp, 0xc
mov dword [ebp - 0x34], eax
test eax, eax
je 0x10039621
push dword [esi + 0x38]
push dword [esi + 0x40]
push ebx
push eax
call sub.libavutil_56.dll_av_base64_encode
add esp, 0x10
jmp 0x10038120
mov ecx, dword [esi + 0x10]
mov eax, ecx
mov edx, dword [esi + 0x14]
or eax, edx
je 0x10038099
cmp ecx, 2
jne 0x1003806c
test edx, edx
je 0x10038099
cmp ecx, 3
jne 0x10038075
test edx, edx
je 0x10038099
push str.Unsupported_encoding_type
mov dword [esi], 0
mov dword [esi + 4], 0
push 0x10
push dword [ebx + 4]
call sub.libavutil_56.dll_av_log
add esp, 0xc
jmp 0x10038120
cmp dword [edi + 0x20], 0
lea ecx, [edi + 0x20]
je 0x10038120
mov eax, dword [esi]
and eax, 2
or eax, 0
je 0x10038120
mov eax, dword [edi + 0x28]
lea ebx, [edi + 0x28]
push edi
push ecx
push ebx
mov dword [ebp - 0x28], eax
call fcn.10035bf0
add esp, 0xc
test eax, eax
jns 0x100380e6
mov ecx, dword [ebp - 0x38]
push str.Failed_to_decode_codec_private_data_n
mov dword [ebx], 0
mov dword [edi + 0x20], 0
push 0x10
push dword [ecx + 4]
call sub.libavutil_56.dll_av_log
add esp, 0xc
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebx]
je 0x10038120
lea eax, [edi + 0x24]
push eax
call sub.libavutil_56.dll_av_buffer_unref
mov ecx, dword [ebx]
add esp, 4
test ecx, ecx
je 0x10038120
mov eax, dword [edi + 0x20]
push 0
push 0
push 0
add eax, 0x40
push eax
push ecx
call sub.libavutil_56.dll_av_buffer_create
add esp, 0x14
mov dword [edi + 0x24], eax
test eax, eax
je 0x10039611
test esi, esi
je 0x1003814f
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x1003814f
mov eax, dword [esi]
and eax, 1
or eax, 0
je 0x1003814f
cmp dword [esi + 0x10], 3
jne 0x10038148
cmp dword [esi + 0x14], 0
jne 0x10038148
cmp dword [esi + 0x18], 0
je 0x1003814f
mov eax, 1
jmp 0x10038151
xor eax, eax
xor esi, esi
mov dword [edi + 0x19c], eax
cmp dword [0x10138c38], esi
je 0x100381a4
xor eax, eax
lea edx, [eax + str.A_AAC]
mov ecx, edx
lea ebx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038170
sub ecx, ebx
push ecx
push dword [edi + 0x1c]
push edx
call fcn.10002923
add esp, 0xc
test eax, eax
je 0x10038210
inc esi
lea eax, [esi*8]
sub eax, esi
shl eax, 2
cmp dword [eax + 0x10138c38], 0
jne 0x10038163
mov ebx, dword [ebp - 0x2c]
push 0
push dword [ebp - 0x54]
call sym.libavformat_58.dll_avformat_new_stream
mov ecx, dword [ebp - 0x34]
add esp, 8
mov dword [ebp - 0x28], eax
mov dword [edi + 0x188], eax
test eax, eax
je 0x10039637
test ecx, ecx
je 0x100381e0
push 8
push ecx
add eax, 0x40
push str.enc_key_id
push eax
call sub.libavutil_56.dll_av_dict_set
add esp, 0x10
mov esi, dword [edi + 0x1c]
mov ecx, str.V_MS_VFW_FOURCC
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1003822b
test dl, dl
je 0x1003820c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1003822b
add eax, 2
add ecx, 2
test dl, dl
jne 0x100381f0
xor eax, eax
jmp 0x10038230
lea eax, [esi*8]
sub eax, esi
mov ebx, dword [eax*4 + 0x10138c38]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x40], ebx
jmp 0x100381a7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003828f
cmp dword [edi + 0x20], 0x28
jl 0x1003828f
mov eax, dword [edi + 0x28]
test eax, eax
je 0x1003828f
mov dword [edi + 0x198], 1
mov esi, dword [eax + 0x10]
movzx ecx, word [eax + 0xe]
push esi
push 0x1014b068
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x48], esi
call fcn.100019d3
add esp, 8
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x1003827e
push esi
push 0x10137ad8
call fcn.100019d3
add esp, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0x28
mov eax, 0x28
jmp 0x1003874b
mov ecx, str.A_MS_ACM
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100382b6
test dl, dl
je 0x100382b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100382b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038296
xor eax, eax
jmp 0x100382bb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10038336
mov ecx, dword [edi + 0x20]
cmp ecx, 0xe
jl 0x10038336
mov eax, dword [edi + 0x28]
test eax, eax
je 0x10038336
push 0
push 0
push 0
push 0
push 0
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.100041bf
mov ebx, dword [ebp - 0x28]
lea eax, [ebp - 0x128]
push 0
push dword [edi + 0x20]
push dword [ebx + 0xb0]
push eax
push dword [ebp - 0x54]
call fcn.100025f9
add esp, 0x34
test eax, eax
js 0x10039658
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 - 0x2c], edx
cmovg eax, ecx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x30], eax
jmp 0x10038751
mov ecx, str.A_QUICKTIME
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038360
test dl, dl
je 0x1003835c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038360
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038340
xor eax, eax
jmp 0x10038365
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10038422
cmp dword [edi + 0x20], 0x20
jl 0x10038422
cmp dword [edi + 0x28], eax
je 0x10038422
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
push edi
call fcn.100353a0
add esp, 0xc
test eax, eax
js 0x10039658
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 0x100383ef
cmp eax, 8
jne 0x100383dc
mov dword [ebp - 0x48], 0x20776172
push 0x20776172
push 0x10138180
call fcn.100019d3
mov edx, eax
add esp, 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp eax, 0x10
jne 0x10038414
mov dword [ebp - 0x48], 0x736f7774
push 0x736f7774
jmp 0x100383c2
cmp esi, 0x736f7774
je 0x100383ff
cmp esi, 0x74776f73
jne 0x10038414
cmp eax, 8
jne 0x10038414
mov eax, dword [ebp - 0x30]
mov edx, 0x10004
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
mov ecx, str.V_QUICKTIME
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038450
test dl, dl
je 0x1003844c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038450
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038430
xor eax, eax
jmp 0x10038455
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003856a
cmp dword [edi + 0x20], 0x15
jl 0x1003856a
cmp dword [edi + 0x28], eax
je 0x1003856a
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
push edi
call fcn.100353a0
add esp, 0xc
test eax, eax
js 0x10039658
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], edx
test edx, edx
jne 0x100384f3
mov eax, dword [edi + 0x28]
cmp dword [eax + 4], 0x20494d53
jne 0x100384c0
mov esi, 0x33515653
push esi
push 0x10137ad8
mov dword [ebp - 0x48], esi
call fcn.100019d3
mov edx, eax
add esp, 8
mov dword [ebp - 0x2c], edx
test edx, edx
jne 0x100384f9
jmp 0x100384c6
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.libavutil_56.dll_av_fourcc_make_string
push eax
mov eax, dword [ebp - 0x38]
push str.mov_FourCC_not_found__s._n
push 0x10
push dword [eax + 4]
call sub.libavutil_56.dll_av_log
add esp, 0x18
jmp 0x100384f9
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
mov edx, dword [edi + 0x20]
cmp edx, 0x56
jl 0x10038748
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 - 0x128]
push ecx
push eax
mov dword [ebp - 0x50], ebx
call fcn.100041bf
lea eax, [edi + 0x1a8]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x2c]
call fcn.100031fc
mov edx, dword [ebp - 0x2c]
add esp, 0x2c
test eax, eax
mov eax, dword [ebp - 0x30]
je 0x1003874e
and ebx, 0x1f
mov dword [edi + 0x5a8], 1
mov dword [ebp - 0x50], ebx
jmp 0x1003874e
cmp ebx, 0x10001
jne 0x100385d4
mov ecx, dword [edi + 0x128]
mov eax, dword [edi + 0x12c]
cmp ecx, 8
jne 0x10038597
test eax, eax
jne 0x10038597
mov eax, dword [ebp - 0x30]
mov edx, 0x10005
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp ecx, 0x18
jne 0x100385b0
test eax, eax
jne 0x100385b0
mov eax, dword [ebp - 0x30]
mov edx, 0x1000d
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp ecx, 0x20
jne 0x10038748
mov ebx, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x30]
jne 0x10038e4e
mov edx, 0x10009
mov dword [ebp - 0x2c], edx
jmp 0x10038751
cmp ebx, 0x10000
jne 0x1003863e
mov ecx, dword [edi + 0x128]
mov eax, dword [edi + 0x12c]
cmp ecx, 8
jne 0x10038601
test eax, eax
jne 0x10038601
mov eax, dword [ebp - 0x30]
mov edx, 0x10005
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp ecx, 0x18
jne 0x1003861a
test eax, eax
jne 0x1003861a
mov eax, dword [ebp - 0x30]
mov edx, 0x1000c
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp ecx, 0x20
jne 0x10038748
mov ebx, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x30]
jne 0x10038e4e
mov edx, 0x10008
mov dword [ebp - 0x2c], edx
jmp 0x10038751
cmp ebx, 0x10015
jne 0x10038670
cmp dword [edi + 0x128], 0x40
jne 0x10038de9
cmp dword [edi + 0x12c], 0
jne 0x10038de9
mov eax, dword [ebp - 0x30]
mov edx, 0x10017
mov dword [ebp - 0x2c], edx
jmp 0x1003874e
cmp ebx, 0x15002
jne 0x1003883d
cmp dword [edi + 0x20], 0
jne 0x10038de9
xor ebx, ebx
nop dword [eax + eax]
push dword [ebx*4 + 0x1013b2f0]
push esi
call fcn.100050f6
add esp, 8
test eax, eax
jne 0x100386aa
inc ebx
cmp ebx, 3
jb 0x10038690
cvttsd2si eax, qword [edi + 0x118]
push eax
call fcn.100354e0
push 0x9f7
push str.libavformat_matroskadec.c
push 0x45
mov dword [ebp - 0x34], eax
call sub.libavutil_56.dll_av_mallocz_tracked
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x10039621
mov edx, dword [ebp - 0x34]
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 + 0x130]
mov eax, dword [edi + 0x134]
shld eax, ecx, 3
push 0x1013c5a4
shl ecx, 3
or cl, dl
mov byte [esi + 1], cl
push dword [edi + 0x1c]
call fcn.100050f6
add esp, 8
test eax, eax
je 0x10038831
cvttsd2si eax, qword [edi + 0x120]
push eax
call fcn.100354e0
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 eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
sub dword [edi + 0x20], eax
mov esi, dword [ebp - 0x38]
test edx, edx
jne 0x10038770
push dword [edi + 0x1c]
push str.Unknown_unsupported_AVCodecID__s._n
push 0x20
push dword [esi + 4]
call sub.libavutil_56.dll_av_log
add esp, 0x10
movsd xmm0, qword [edi + 0x40]
movsd xmm1, qword [0x1013cc18]
comisd xmm1, xmm0
movsd qword [ebp - 0x5c], xmm0
jbe 0x1003879a
movsd xmm0, qword [0x101312e0]
movsd qword [edi + 0x40], xmm0
movsd qword [ebp - 0x5c], xmm0
mov edx, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
push 0x3b9aca00
call fcn.100041e7
mulsd xmm0, qword [ebp - 0x5c]
call fcn.100046d8
push eax
push 0x40
push ebx
call sym.libavformat_58.dll_avpriv_set_pts_info
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push 0x3b9aca00
push 1
push dword [edi + 0x17c]
push dword [edi + 0x178]
call sub.libavutil_56.dll_av_rescale_q
mov ecx, dword [ebp - 0x2c]
add esp, 0x28
mov dword [edi + 0x180], eax
mov dword [edi + 0x184], edx
mov eax, dword [ebx + 0xb0]
mov dword [eax + 4], ecx
mov ecx, 0x10138a04
mov esi, dword [edi + 0x38]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038e56
test dl, dl
je 0x1003882a
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038e56
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038806
xor eax, eax
jmp 0x10038e5b
mov dword [ebp - 0x44], 2
jmp 0x10038748
cmp ebx, 0x15010
jne 0x100388ad
mov eax, dword [edi + 0x20]
test eax, eax
je 0x10038de9
cmp eax, 0x7fffffb3
jge 0x10038de9
lea ebx, [eax + 0xc]
push 0xa0a
lea eax, [ebx + 0x40]
mov dword [ebp - 0x44], ebx
push str.libavformat_matroskadec.c
push eax
call sub.libavutil_56.dll_av_mallocz_tracked
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x10039621
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 fcn.100040c0
add esp, 0xc
jmp 0x10038748
cmp ebx, 0x15016
jne 0x10038a0b
mov ecx, dword [edi + 0x134]
mov eax, dword [edi + 0x130]
test ecx, ecx
ja 0x100389c2
jb 0x100388da
cmp eax, 0xffff
ja 0x100389c2
cmp dword [edi + 0x12c], 0
ja 0x100389c2
jb 0x100388f9
cmp dword [edi + 0x128], 0xffff
ja 0x100389c2
movsd xmm0, qword [edi + 0x120]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x100389f5
comisd xmm0, xmmword [0x1013cc68]
ja 0x100389f5
push 0xa22
push str.libavformat_matroskadec.c
push 0x56
mov dword [ebp - 0x44], 0x16
call sub.libavutil_56.dll_av_mallocz_tracked
add esp, 0xc
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x10039621
mov dword [eax], 0x31415454
lea esi, [eax + 4]
mov eax, 1
mov word [esi], ax
movzx eax, word [edi + 0x130]
mov word [esi + 2], ax
movzx eax, word [edi + 0x128]
mov word [esi + 4], ax
movsd xmm0, qword [edi + 0x120]
call fcn.100046d8
push 0
mov dword [esi + 6], eax
movsd xmm0, qword [edi + 0x120]
push 0x3b9aca00
call fcn.10003a58
mov ebx, dword [ebp - 0x38]
push edx
push eax
mov edx, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x120]
call fcn.100041e7
mulsd xmm0, qword [ebx + 0x128]
call fcn.10003a58
push edx
push eax
call sub.libavutil_56.dll_av_rescale
add esp, 0x18
mov dword [esi + 0xa], eax
jmp 0x10038748
push dword [edi + 0x12c]
mov ebx, dword [ebp - 0x38]
push dword [edi + 0x128]
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.libavutil_56.dll_av_log
mov eax, dword [ebx + 4]
add esp, 0x1c
test byte [eax + 0x49c], 8
je 0x100395f7
pop edi
pop esi
mov eax, 0xbebbb1b7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10003652
mov esp, ebp
pop ebp
ret
cmp ebx, 5
je 0x10038e38
cmp ebx, 6
je 0x10038e38
cmp ebx, 0x44
je 0x10038e38
cmp ebx, 0x45
je 0x10038e38
cmp ebx, 0x13000
jne 0x10038a60
movsd xmm0, qword [0x1013cc38]
movsd qword [edi + 0x120], xmm0
mov dword [edi + 0x130], 1
mov dword [edi + 0x134], 0
jmp 0x10038748
cmp ebx, 0x13001
je 0x10038a84
cmp ebx, 0x15014
je 0x10038a84
cmp ebx, 0x1501f
je 0x10038a84
cmp ebx, 0x15029
jne 0x10038c2e
mov eax, dword [edi + 0x28]
test eax, eax
je 0x10038c2e
push 0
push 0
push 0
push 0
push 0
push dword [edi + 0x20]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.100041bf
push 0
lea eax, [ebp - 0x128]
push 0x16
push eax
call sym.libavformat_58.dll_avio_skip
lea eax, [ebp - 0x128]
push eax
call sym.libavformat_58.dll_avio_rb16
mov esi, eax
lea eax, [ebp - 0x128]
push eax
call sym.libavformat_58.dll_avio_rb32
push 0
mov dword [edi + 0x138], eax
lea eax, [ebp - 0x128]
push 0xc
push eax
call sym.libavformat_58.dll_avio_skip
add esp, 0x40
lea eax, [ebp - 0x128]
push eax
call sym.libavformat_58.dll_avio_rb16
mov dword [edi + 0x13c], eax
lea eax, [ebp - 0x128]
push eax
call sym.libavformat_58.dll_avio_rb16
mov dword [edi + 0x140], eax
lea eax, [ebp - 0x128]
push eax
call sym.libavformat_58.dll_avio_rb16
mov ecx, eax
add esp, 0xc
mov eax, dword [edi + 0x138]
mov dword [edi + 0x144], ecx
test eax, eax
jle 0x100389f5
mov ebx, dword [edi + 0x13c]
test ebx, ebx
jle 0x100389f5
mov eax, dword [edi + 0x140]
test eax, eax
jle 0x100389f5
mov edx, dword [ebp - 0x2c]
cmp edx, 0x13001
jne 0x10038b9e
test bl, 1
jne 0x100389f5
add eax, eax
cdq
mov ecx, eax
mov esi, edx
mov eax, ebx
mov ebx, dword [edi + 0x138]
imul ebx
cmp ecx, eax
jne 0x100389f5
cmp esi, edx
jne 0x100389f5
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 0x10038c01
cmp edx, 0x15029
jne 0x10038bdb
cmp esi, 3
jg 0x100389f5
movzx eax, byte [esi + 0x1014c868]
mov ebx, dword [ebp - 0x28]
mov dword [edi + 0x144], eax
mov eax, dword [esi*4 + 0x1013b2fc]
cdq
mov ecx, dword [ebx + 0xb0]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov ecx, dword [edi + 0x144]
jmp 0x10038bf1
test ecx, ecx
jle 0x100389f5
cdq
idiv ecx
test edx, edx
jne 0x100389f5
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x30], 0x4e
mov dword [eax + 0x70], ecx
push dword [edi + 0x140]
push dword [edi + 0x13c]
call sub.libavutil_56.dll_av_malloc_array
add esp, 8
mov dword [edi + 0x158], eax
test eax, eax
je 0x10039621
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
jmp 0x10038751
cmp ebx, 0x1500c
jne 0x10038d70
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x10038de9
mov eax, dword [edi + 0x188]
mov dword [ebp - 0x34], eax
cmp ecx, 0x2a
jl 0x10038d52
mov ebx, dword [edi + 0x28]
test byte [ebx + 4], 0x7f
jne 0x10038d52
sub ecx, 0x2a
mov dword [ebp - 0x30], 8
add ebx, 0x2a
mov dword [edi + 0x20], 0x2a
cmp ecx, 4
jl 0x10038e44
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 0x10038748
cmp edx, 4
jne 0x10038d40
push 0
push esi
push ebx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0
push eax
push dword [ebp - 0x54]
call fcn.1000331e
push 0
push 0
push str.WAVEFORMATEXTENSIBLE_CHANNEL_MASK
push dword [ebp - 0x40]
call sub.libavutil_56.dll_av_dict_get
add esp, 0x24
test eax, eax
je 0x10038d31
push 0
push 0
push dword [eax + 4]
call fcn.10004ceb
cdq
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0x3c], eax
or ecx, edx
je 0x10038d1f
mov ecx, eax
and ecx, 0xfffc0000
or ecx, edx
jne 0x10038d1f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], edx
jmp 0x10038d31
push str.Invalid_value_of_WAVEFORMATEXTENSIBLE_CHANNEL_MASK_n
push 0x18
push dword [ebp - 0x54]
call sub.libavutil_56.dll_av_log
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call sub.libavutil_56.dll_av_dict_free
mov ecx, dword [ebp - 0x58]
add esp, 4
sub ecx, esi
add ebx, esi
cmp ecx, 4
jge 0x10038c81
jmp 0x10038748
push str.Invalid_FLAC_private_data_n
push 0x18
push dword [ebp - 0x54]
call sub.libavutil_56.dll_av_log
add esp, 0xc
mov dword [edi + 0x20], 0
jmp 0x10038748
cmp ebx, 0x15019
jne 0x10038dc5
cmp dword [edi + 0x20], 2
jge 0x10038de9
mov eax, dword [ebp - 0x38]
push str.Assuming_WavPack_version_4.10_in_absence_of_valid_CodecPrivate._n
push 0x20
push dword [eax + 4]
call sub.libavutil_56.dll_av_log
push 0xa6b
push str.libavformat_matroskadec.c
push 0x42
mov dword [ebp - 0x44], 2
call sub.libavutil_56.dll_av_mallocz_tracked
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x10039621
mov eax, 0x410
mov word [esi], ax
jmp 0x10038748
cmp ebx, 0x93
jne 0x10038de9
cmp dword [edi + 0x20], 4
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
jne 0x10038de1
mov eax, dword [edi + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
jmp 0x10038751
mov eax, dword [edi + 0x20]
cmp ebx, 0xa7
jne 0x10038e11
mov edx, dword [ebp - 0x2c]
test eax, eax
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
je 0x10038751
mov dword [edi + 0x20], 0
jmp 0x10038751
cmp ebx, 0x801d
jne 0x10038748
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
test eax, eax
je 0x10038de1
mov dword [ebp - 0x30], 4
mov eax, 4
jmp 0x10038751
mov dword [ebp - 0x30], 0x1a
jmp 0x10038748
mov eax, 8
jmp 0x1003874b
mov edx, dword [ebp - 0x2c]
jmp 0x10038751
sbb eax, eax
or eax, 1
add ebx, 0x40
mov dword [ebp - 0x40], ebx
test eax, eax
je 0x10038e76
push 0
push esi
push str.language
push ebx
call sub.libavutil_56.dll_av_dict_set
add esp, 0x10
push 0
push dword [edi + 0x18]
push str.title
push ebx
call sub.libavutil_56.dll_av_dict_set
mov eax, dword [edi + 0x50]
add esp, 0x10
or eax, dword [edi + 0x54]
mov esi, dword [ebp - 0x28]
je 0x10038e98
or dword [esi + 0x30], 1
mov eax, dword [edi + 0x58]
or eax, dword [edi + 0x5c]
je 0x10038ea4
or dword [esi + 0x30], 0x40
mov eax, dword [esi + 0xb0]
cmp dword [eax + 0xc], 0
jne 0x10038f02
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x10038ec8
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x10], ecx
jmp 0x10038f02
cmp dword [edi + 0x28], 0
je 0x10038f02
mov ecx, dword [edi + 0x20]
test ecx, ecx
jle 0x10038f02
push ecx
push eax
call fcn.1000495d
add esp, 8
test eax, eax
jne 0x10039621
push dword [edi + 0x20]
mov eax, dword [edi + 0x28]
add eax, dword [ebp - 0x30]
push eax
mov eax, dword [esi + 0xb0]
push dword [eax + 0xc]
call fcn.100040c0
add esp, 0xc
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
cmp ecx, 1
jne 0x100393df
test eax, eax
jne 0x100393df
mov eax, dword [esi + 0xb0]
mov ebx, dword [edi + 0x168]
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 - 0x50]
test ecx, ecx
js 0x10038f4a
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0x80]
mov dword [ecx + 0x30], eax
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x34], eax
mov ecx, dword [edi + 0xb0]
mov eax, dword [edi + 0xb4]
cmp ecx, 1
jne 0x1003907a
test eax, eax
jne 0x1003907a
mov ecx, dword [edi + 0xbc]
xor esi, esi
mov eax, dword [edi + 0xb8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 0x134]
test ecx, ecx
je 0x10038fe8
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x68]
push eax
push str.Lavf_d._d._d
push ecx
call fcn.10001c08
add esp, 0x14
cmp eax, 3
jne 0x10038fe5
cmp dword [ebp - 0x68], 0x39
jne 0x10038fe3
mov eax, dword [ebp - 0x6c]
add eax, 0xffffffdc
cmp eax, 0xf
ja 0x10038fe3
cmp dword [ebp - 0x70], 0x64
jl 0x10038fe3
mov esi, 1
jmp 0x10038fe5
xor esi, esi
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jl 0x10039067
jg 0x10039067
test eax, eax
jb 0x10039067
test ecx, ecx
jg 0x10039067
jl 0x10039000
cmp eax, 0xe
ja 0x10039067
movzx eax, byte [eax + 0x10039688]
jmp dword [eax*4 + 0x1003966c]
mov eax, dword [ebp - 0x28]
xor esi, esi
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0x28]
jmp 0x10039090
cmp ecx, 2
jne 0x10039090
test eax, eax
jne 0x10039090
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x40], 1
mov ecx, dword [edi + 0xc0]
mov eax, ecx
mov edx, dword [edi + 0xc4]
or eax, edx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
je case.0x100390f2.3
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
test edx, edx
ja case.0x100390f2.3
jb 0x100390c9
cmp ecx, 0xf
jae case.0x100390f2.3
dec ecx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
cmp ecx, 0xa
ja case.0x100390f2.3
movzx eax, byte [ecx + 0x100396a4]
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 1
jmp dword [eax*4 + 0x10039698]
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], 2
jmp case.0x100390f2.3
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x3c], 1
cmp dword [edi + 0xac], 0
ja 0x10039189
jb 0x1003912b
cmp dword [edi + 0xa8], 4
jae 0x10039189
mov esi, dword [esi + 0xb0]
push 0
push 0xff
push dword [edi + 0x7c]
mov eax, dword [esi + 0x30]
push dword [edi + 0x78]
cdq
push edx
push eax
call fcn.10003404
push 0
push dword [ebp - 0x44]
push edx
push eax
call fcn.10003404
push edx
push eax
push dword [edi + 0x74]
mov eax, dword [esi + 0x34]
push dword [edi + 0x70]
cdq
push edx
push eax
call fcn.10003404
push 0
push dword [ebp - 0x3c]
push edx
push eax
call fcn.10003404
mov esi, dword [ebp - 0x28]
push edx
push eax
lea eax, [esi + 0x3c]
push eax
lea eax, [esi + 0x38]
push eax
call sub.libavutil_56.dll_av_reduce
add esp, 0x20
mov eax, dword [esi + 0xb0]
cmp dword [eax + 4], 0xad
je 0x100391a2
mov dword [esi + 0xe4], 2
mov edx, dword [edi + 0x48]
mov eax, edx
mov ecx, dword [edi + 0x4c]
or eax, ecx
je 0x10039243
cmp ecx, 0x7fffffff
ja 0x100391ca
jb 0x100391c1
cmp edx, 0xffffffff
ja 0x100391ca
mov dword [ebp - 0x34], 0x3b9aca00
jmp 0x100391d7
shrd edx, ecx, 1
mov dword [ebp - 0x34], 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 - 0x34]
add eax, 0x44
push esi
push eax
call sub.libavutil_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 - 0x34], edx
mov ecx, eax
mov eax, esi
mov edx, 0x3e8
imul edx
cmp dword [ebp - 0x34], edx
jg 0x10039243
jl 0x1003921a
cmp ecx, eax
jae 0x10039243
mov eax, esi
mov edx, 5
imul edx
cmp dword [ebp - 0x34], edx
jl 0x10039243
jg 0x1003922e
cmp ecx, eax
jbe 0x10039243
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xa4], eax
mov eax, dword [ecx + 0x48]
mov dword [ecx + 0xa8], eax
mov ecx, dword [edi + 0xc0]
mov eax, ecx
mov edx, dword [edi + 0xc4]
or eax, edx
je 0x1003927c
test edx, edx
ja 0x1003927c
jb 0x10039260
cmp ecx, 0xf
jae 0x1003927c
mov esi, dword [ebp - 0x40]
push 0
push dword [ecx*4 + 0x101394f8]
push str.stereo_mode
push esi
call sub.libavutil_56.dll_av_dict_set
add esp, 0x10
jmp 0x1003927f
mov esi, dword [ebp - 0x40]
mov eax, dword [edi + 0xc8]
or eax, dword [edi + 0xcc]
je 0x100392a2
push 0
push 0x1013c68c
push str.alpha_mode
push esi
call sub.libavutil_56.dll_av_dict_set
add esp, 0x10
cmp dword [edi + 0x160], 0
mov dword [ebp - 0x34], 0
jle 0x1003936f
nop word [eax + eax]
cmp dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
ja 0x10039356
jb 0x100392d8
cmp eax, 3
jae 0x10039356
push dword [ebp - 0x60]
push dword [eax*4 + 0x10139534]
lea eax, [ebp - 0x24]
push str._s__d
push 0x20
push eax
call fcn.1000438b
mov eax, dword [ebp - 0x38]
add esp, 0x14
xor ecx, ecx
mov esi, dword [eax + 0x150]
test esi, esi
jle 0x10039356
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebx]
add eax, 0x188
mov edx, dword [edx + 4]
mov dword [ebp - 0x58], edx
cmp ebx, dword [eax - 0x180]
jne 0x10039330
cmp edx, dword [eax - 0x17c]
jne 0x10039330
mov edx, dword [eax]
test edx, edx
jne 0x1003933c
mov edx, dword [ebp - 0x58]
inc ecx
add eax, 0x5b0
cmp ecx, esi
jl 0x10039317
jmp 0x10039353
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [edx + 0x40]
push str.stereo_mode
push eax
call sub.libavutil_56.dll_av_dict_set
add esp, 0x10
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
add ebx, 0x10
inc eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], eax
cmp eax, dword [edi + 0x160]
jl 0x100392c0
mov ecx, dword [edi + 0xc4]
mov eax, dword [edi + 0xc0]
test ecx, ecx
ja 0x100393ac
jb 0x10039386
cmp eax, 0xf
jae 0x100393ac
cmp eax, 0xa
jne 0x1003938f
test ecx, ecx
je 0x100393ac
cmp eax, 0xc
jne 0x10039398
test ecx, ecx
je 0x100393ac
push eax
push dword [ebp - 0x28]
call fcn.100013c0
add esp, 8
test eax, eax
js 0x10039658
push edi
push dword [ebp - 0x28]
call fcn.1003a5a0
add esp, 8
test eax, eax
js 0x10039658
mov eax, dword [ebp - 0x38]
push dword [eax + 4]
push edi
push dword [ebp - 0x28]
call fcn.1003aa20
add esp, 0xc
test eax, eax
js 0x10039658
jmp 0x100395f7
cmp ecx, 2
jne 0x10039501
test eax, eax
jne 0x10039501
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 + 0x120]
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x6c], ecx
mov ecx, dword [esi + 0xb0]
mov eax, dword [edi + 0x130]
mov dword [ecx + 0x68], eax
mov ecx, dword [esi + 0xb0]
cmp dword [ecx + 0x20], 0
jne 0x10039443
mov eax, dword [edi + 0x128]
mov dword [ecx + 0x20], eax
mov ecx, dword [esi + 0xb0]
mov eax, dword [ecx + 4]
cmp eax, 0x15001
je 0x1003946e
cmp eax, 0x1501d
je 0x1003946e
cmp eax, 0x1502c
je 0x1003946e
cmp eax, 0x15002
je 0x10039478
mov dword [esi + 0xe4], 2
jmp 0x10039478
mov dword [esi + 0xe4], 1
mov esi, dword [edi + 0x17c]
mov edx, dword [edi + 0x178]
test esi, esi
jne 0x1003948c
test edx, edx
je 0x100394bf
cmp dword [ecx + 4], 0x1503c
mov eax, 0xbb80
je 0x1003949d
mov eax, dword [ecx + 0x6c]
push eax
push 1
push 0x3b9aca00
push 1
push esi
push edx
call sub.libavutil_56.dll_av_rescale_q
mov ebx, dword [ebp - 0x28]
add esp, 0x18
mov ecx, dword [ebx + 0xb0]
mov dword [ecx + 0x78], eax
jmp 0x100394c2
mov ebx, dword [ebp - 0x28]
mov edx, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
test edx, edx
jne 0x100394d4
test ecx, ecx
je 0x100395f7
mov eax, dword [ebx + 0xb0]
push dword [eax + 0x6c]
push 1
push 0x3b9aca00
push 1
push edx
push ecx
call sub.libavutil_56.dll_av_rescale_q
mov ecx, dword [ebx + 0xb0]
add esp, 0x18
mov dword [ecx + 0x80], eax
jmp 0x100395f7
cmp dword [ebp - 0x2c], 0x17809
jne 0x100395c9
mov eax, dword [esi + 0xb0]
mov ecx, str.D_WEBVTT_CAPTIONS
mov dword [eax], 3
mov edx, dword [edi + 0x1c]
mov eax, edx
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x10039544
test bl, bl
je 0x10039540
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x10039544
add eax, 2
add ecx, 2
test bl, bl
jne 0x10039524
xor eax, eax
jmp 0x10039549
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10039559
or dword [esi + 0x30], 0x10000
jmp 0x100395f7
mov ecx, str.D_WEBVTT_DESCRIPTIONS
mov eax, edx
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x10039580
test bl, bl
je 0x1003957c
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x10039580
add eax, 2
add ecx, 2
test bl, bl
jne 0x10039560
xor eax, eax
jmp 0x10039585
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10039592
or dword [esi + 0x30], 0x20000
jmp 0x100395f7
mov eax, str.D_WEBVTT_METADATA
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x100395b7
test cl, cl
je 0x100395b3
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x100395b7
add edx, 2
add eax, 2
test cl, cl
jne 0x10039597
xor eax, eax
jmp 0x100395bc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100395f7
or dword [esi + 0x30], 0x40000
jmp 0x100395f7
cmp ecx, 0x11
jne 0x100395f7
test eax, eax
jne 0x100395f7
mov eax, dword [esi + 0xb0]
mov dword [eax], 3
jmp 0x100395f7
push eax
mov eax, dword [ebp - 0x38]
push ecx
push str.Unknown_or_unsupported_track_type__llu_n
push 0x20
push dword [eax + 4]
call sub.libavutil_56.dll_av_log
add esp, 0x14
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
inc ecx
mov dword [ebp - 0x60], ecx
cmp ecx, dword [eax + 0x150]
jge 0x10039656
mov edx, dword [ebp - 0x64]
jmp 0x10037d90
push ebx
call fcn.100afb72
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.10003652
mov esp, ebp
pop ebp
ret
push ecx
call sub.libavutil_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.10003652
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.10003652
mov esp, ebp
pop ebp
ret