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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov esi, ecx
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
mov eax, dword [0x1018fc64]
xor eax, ebp
mov dword [esp + 0x138], eax
mov eax, edi
or eax, ebx
mov word [esp + 0x7c], 0xffff
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
je 0x1003eee0
cmp edi, 0xa
mov eax, ebx
sbb eax, 0
jl 0x1003f23f
mov dword [esp + 0x1c], edx
mov eax, edi
or eax, ebx
sete byte [esp + 3]
push 1
push 0
push 0
push esi
call fcn.1003b610
add esp, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
add edi, 0xfffffff6
adc ebx, 0xffffffff
push 1
push 0
push 0
mov dword [esp + 0x10], esi
push esi
call fcn.1003b610
add esp, 0x10
mov esi, edi
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x3c]
mov ecx, edx
sbb ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], edi
cmp eax, edi
mov dword [esp + 0x50], ebx
sbb ecx, ebx
mov bl, byte [esp + 3]
mov dword [esp + 8], edx
jl 0x1003f255
test bl, bl
jne 0x1003f255
mov esi, dword [esp + 4]
push 0
push dword [esp + 0xc]
push dword [esp + 0x1c]
push esi
call fcn.1003b610
add esp, 0x10
push 0x1014ed18
push 0
mov ebx, dword [esp + 0x24]
push ebx
call fcn.10048070
add esp, 0xc
push 0x1014f168
push 0
push ebx
call fcn.10048070
add esp, 0xc
push 0x1014edec
push 0
push ebx
call fcn.10048070
add esp, 0xc
pxor xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov byte [esp + 0x90], 0
push 1
push 0
push str.TYER
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003eff4
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003eff4
mov eax, edi
nop dword [eax]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003efe0
test cl, cl
je 0x1003f048
push 1
push 0
push 0x1014f432
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003f23f
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003f23f
mov eax, edi
nop word cs:[eax + eax]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003f030
test cl, cl
jne 0x1003f23f
lea esi, [esp + 0x80]
push 5
push edi
push esi
call fcn.10066ef0
add esp, 0xc
push 0
push 0
push str.TYER
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 0
push 0
push 0x1014f432
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 1
push 0
push str.TDAT
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003f0c4
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003f0c4
mov eax, edi
nop dword [eax]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003f0b0
test cl, cl
je 0x1003f118
push 1
push 0
push 0x1014f43b
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003f224
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003f224
mov eax, edi
nop word cs:[eax + eax]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003f100
test cl, cl
jne 0x1003f224
lea eax, [esp + 0x84]
push edi
add edi, 2
push edi
push str.__.2s__.2s
push 0xd
push eax
call fcn.10008170
add esp, 0x14
push 0
push 0
push str.TDAT
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 0
push 0
push 0x1014f43b
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 1
push 0
push str.TIME
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003f1a4
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003f1a4
mov eax, edi
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003f190
test cl, cl
je 0x1003f1e4
push 1
push 0
push 0x1014f44f
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
je 0x1003f224
mov edi, dword [eax + 4]
push edi
call fcn.10115450
add esp, 4
cmp eax, 4
jne 0x1003f224
mov eax, edi
nop
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xd0
add eax, 1
cmp dl, 0xa
jb 0x1003f1d0
test cl, cl
jne 0x1003f224
lea eax, [edi + 2]
lea ecx, [esp + 0x8a]
push eax
push edi
push str.__.2s:_.2s
push 7
push ecx
call fcn.10008170
add esp, 0x14
push 0
push 0
push str.TIME
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 0
push 0
push 0x1014f44f
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003f23f
push 0
push esi
push str.date
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov ecx, dword [esp + 0x138]
xor ecx, ebp
call fcn.10102288
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 4]
mov byte [esp + 3], bl
jmp 0x1003f2e5
mov eax, str.invalid_extended_header_length
mov esi, edi
mov edi, dword [ebp + 8]
nop dword [eax]
push eax
push ebx
push str.ID3v2._d_tag_skipped__cannot_handle__s_n
push 0x20
push edi
call fcn.1006fc50
add esp, 0x14
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
push 0
push ebx
push edi
push esi
call fcn.1003b610
add esp, 0x10
push dword [esp + 0x58]
call sym.ffmpeg.dll_av_free
add esp, 4
push 0
call sym.ffmpeg.dll_av_free
add esp, 4
push 1
push 0
push 0
push esi
call fcn.1003b610
add esp, 0x10
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x3c]
mov dword [esp + 8], edx
mov ecx, edx
sbb ecx, dword [esp + 0x38]
cmp eax, dword [esp + 0x4c]
sbb ecx, dword [esp + 0x50]
setl al
mov bl, byte [esp + 3]
or al, bl
je 0x1003ef53
push 0
push 0xa
push esi
call fcn.1003cea0
add esp, 0xc
test eax, eax
js 0x1003ef53
push 0xa
lea eax, [esp + 0x78]
push eax
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, 0xa
jne 0x1003ef4f
movzx eax, byte [esp + 0x74]
mov esi, dword [ebp + 0xc]
movsx ecx, byte [esi]
cmp eax, ecx
jne 0x1003ef4f
movzx eax, byte [esp + 0x75]
movsx ecx, byte [esi + 1]
cmp eax, ecx
jne 0x1003ef4f
movzx ecx, byte [esp + 0x7a]
movzx eax, byte [esp + 0x7b]
mov edx, ecx
or edx, eax
movzx ebx, byte [esp + 0x7c]
mov dword [esp + 0x10], ebx
or bl, dl
js 0x1003ef4f
movzx edx, byte [esp + 0x76]
movsx ebx, byte [esi + 2]
cmp edx, ebx
jne 0x1003ef4f
mov bl, byte [esp + 0x77]
cmp bl, 0xff
je 0x1003ef4f
cmp byte [esp + 0x78], 0xff
je 0x1003ef4f
movzx edx, byte [esp + 0x7d]
test dl, dl
mov esi, dword [esp + 4]
js 0x1003ef53
movzx ebx, bl
mov dword [esp + 0x18], ebx
and ecx, 0x7f
shl ecx, 0x15
and eax, 0x7f
shl eax, 0xe
or eax, ecx
mov edi, dword [esp + 0x10]
and edi, 0x7f
shl edi, 7
or edi, eax
or edi, edx
movzx ebx, byte [esp + 0x79]
mov dword [esp + 8], ebx
mov byte [esp + 0x70], 0xff
mov dword [esp + 0x6c], 0xffffffff
push 1
push 0
push 0
push esi
call fcn.1003b610
add esp, 0x10
add eax, edi
mov dword [esp + 0x44], eax
adc edx, 0
mov dword [esp + 0x40], edx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x134], 0xffffffff
mov dword [esp + 0x130], 0xffffffff
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x10], edi
push edi
push ebx
mov ebx, dword [esp + 0x20]
push ebx
push str.id3v2_ver:_d_flags:_02X_len:_d_n
push 0x30
mov edi, dword [ebp + 8]
push edi
call fcn.1006fc50
add esp, 0x18
mov eax, ebx
add al, 0xfd
cmp al, 2
mov eax, dword [esp + 8]
jae 0x1003f4d0
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x30], str.COMM
test al, 0x40
jne 0x1003f520
mov dword [esp + 0x34], 0
jmp 0x1003f5a9
mov eax, str.version
cmp bl, 2
jne 0x1003f270
mov eax, str.compression
test byte [esp + 8], 0x40
jne 0x1003f270
mov al, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], 6
mov dword [esp + 0x30], 0x1014f1e4
jmp 0x1003f5a9
push esi
call fcn.1003be00
add esp, 4
mov edi, esi
mov esi, eax
and esi, 0x7f
shl esi, 7
push edi
call fcn.1003be00
add esp, 4
mov ebx, eax
and ebx, 0x7f
or ebx, esi
push edi
call fcn.1003be00
add esp, 4
mov esi, eax
shl ebx, 0xe
and esi, 0x7f
shl esi, 7
or esi, ebx
push edi
call fcn.1003be00
add esp, 4
and eax, 0x7f
lea ecx, [esi + eax]
mov ebx, dword [esp + 0x18]
cmp bl, 4
lea esi, [eax + esi - 4]
cmovne esi, ecx
test esi, esi
js 0x1003f262
push 0
push esi
push edi
call fcn.1003bc70
add esp, 0xc
mov eax, dword [esp + 0x10]
sub eax, esi
add eax, 0xfffffffc
mov dword [esp + 0x10], eax
js 0x1003fd82
mov dword [esp + 0x34], 0
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
jge 0x1003f5e4
cmp byte [esp + 0x18], 4
setne al
test byte [esp + 8], 0x10
sete cl
or cl, al
mov edi, dword [esp + 0x44]
mov eax, edi
add eax, 0xa
mov ebx, dword [esp + 0x40]
mov edx, ebx
adc edx, 0
test cl, cl
cmove ebx, edx
cmove edi, eax
jmp 0x1003f28a
mov dword [esp + 0x28], 0
nop dword [eax]
cmp byte [esp + 0x34], 0
je 0x1003f640
push 3
lea eax, [esp + 0x70]
push eax
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, 3
jl 0x1003f5b3
mov byte [esp + 0x6f], 0
xor ebx, ebx
push esi
call fcn.1003c2c0
add esp, 4
mov edi, eax
mov dword [esp + 0xc], 0
cmp edi, sym.ffmpeg.dll_Ordinal_0
jbe 0x1003f8a7
jmp 0x1003f5b3
push 4
lea eax, [esp + 0x70]
push eax
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, 4
jl 0x1003f5b3
mov byte [esp + 0x70], 0
push esi
call fcn.1003c350
add esp, 4
mov edi, eax
cmp byte [esp + 0x18], 3
je 0x1003f889
cmp edi, 0x80
jb 0x1003f889
cmp edi, dword [esp + 0x10]
jae 0x1003f848
push 1
push 0
push 0
push esi
call fcn.1003b610
add esp, 0x10
mov ebx, eax
mov dword [esp + 0x20], edx
lea eax, [edi + 6]
push 0
push eax
push esi
call fcn.1003cea0
add esp, 0xc
test eax, eax
jne 0x1003f5b3
mov eax, edi
and eax, 0x7f
mov ecx, edi
shr ecx, 1
and ecx, 0x3f80
or ecx, eax
mov eax, edi
shr eax, 2
and eax, 0x1fc000
or eax, ecx
mov ecx, ebx
mov ebx, edi
shr ebx, 3
and ebx, 0xfe00000
or ebx, eax
mov dword [esp + 0x24], ecx
lea eax, [ecx + ebx]
add eax, 2
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 0x68], 0xffffffff
push 0
push ecx
push eax
push esi
call fcn.1003b610
add esp, 0x10
test edx, edx
js 0x1003f78f
push 4
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, 4
jl 0x1003f78f
push dword [esp + 0x68]
call fcn.1010d8c5
add esp, 4
test eax, eax
je 0x1003f872
mov al, byte [esp + 0x6b]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f74b
add al, 0xd0
cmp al, 9
ja 0x1003f78f
mov al, byte [esp + 0x6a]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f75f
add al, 0xd0
cmp al, 9
ja 0x1003f78f
mov al, byte [esp + 0x69]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f773
add al, 0xd0
cmp al, 9
ja 0x1003f78f
mov al, byte [esp + 0x68]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f872
add al, 0xd0
cmp al, 9
jbe 0x1003f872
mov ebx, dword [esp + 0x24]
lea eax, [ebx + 2]
add eax, edi
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 0x68], 0xffffffff
push 0
push ecx
push eax
push esi
call fcn.1003b610
add esp, 0x10
test edx, edx
js 0x1003f5b3
push 4
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, 4
jl 0x1003f5b3
push dword [esp + 0x68]
call fcn.1010d8c5
add esp, 4
test eax, eax
je 0x1003f878
mov al, byte [esp + 0x6b]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f7ff
add al, 0xd0
cmp al, 0xa
jae 0x1003f5b3
mov al, byte [esp + 0x6a]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f817
add al, 0xd0
cmp al, 9
ja 0x1003f5b3
mov al, byte [esp + 0x69]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f82f
add al, 0xd0
cmp al, 9
ja 0x1003f5b3
mov al, byte [esp + 0x68]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003f878
add al, 0xd0
cmp al, 9
jbe 0x1003f878
jmp 0x1003f5b3
mov eax, edi
and eax, 0x7f
mov ecx, edi
shr ecx, 1
and ecx, 0x3f80
or ecx, eax
mov eax, edi
shr eax, 2
and eax, 0x1fc000
or eax, ecx
shr edi, 3
and edi, 0xfe00000
or edi, eax
jmp 0x1003f889
mov edi, ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push 0
push eax
push ebx
push esi
call fcn.1003b610
add esp, 0x10
push esi
call fcn.1003c260
add esp, 4
mov ebx, eax
and eax, 2
mov dword [esp + 0xc], eax
cmp edi, sym.ffmpeg.dll_Ordinal_0
ja 0x1003f5b3
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x14]
sub eax, edi
mov dword [esp + 0x10], eax
js 0x1003f5b3
push 1
push 0
push 0
push esi
call fcn.1003b610
add esp, 0x10
add eax, edi
adc edx, 0
mov dword [esp + 0x24], edx
test edi, edi
je 0x1003f960
test bl, 1
mov dword [esp + 0x20], eax
je 0x1003f8f9
cmp edi, 4
jb 0x1003f5b3
push esi
call fcn.1003c350
add esp, 4
add edi, 0xfffffffc
mov eax, dword [esp + 8]
test bl, 0xc
je 0x1003f9a0
test bl, 4
mov eax, str.encrypted_and_compressed
mov ecx, str.compressed
cmove eax, ecx
test bl, 8
mov ecx, str.encrypted
cmove eax, ecx
lea ecx, [esp + 0x6c]
push ecx
push eax
push str.Skipping__s_ID3v2_frame__s._n
push 0x18
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0x14
push 0
push edi
push esi
call fcn.1003bc70
add esp, 0xc
push 0
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
call fcn.1003b610
jmp 0x1003f97b
cmp byte [esp + 0x6c], 0
je 0x1003f97e
lea eax, [esp + 0x6c]
push eax
push str.Invalid_empty_frame__s__skipping._n
push 0x30
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0x10
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
jge 0x1003f5f0
jmp 0x1003f5b3
mov bl, byte [esp + 0x6c]
cmp bl, 0x54
je 0x1003fa00
cmp dword [esp + 0x6c], 0x544c5355
je 0x1003fa00
push dword [esp + 0x30]
lea eax, [esp + 0x70]
push eax
call fcn.101151c0
add esp, 8
test eax, eax
je 0x1003f9fc
cmp dword [ebp + 0x10], 0
je 0x1003f9ef
lea ecx, [esp + 0x6c]
mov edx, dword [esp + 0x2c]
call fcn.1003fe80
mov dword [esp + 0x28], eax
test eax, eax
mov eax, dword [esp + 8]
jne 0x1003fa00
mov dword [esp + 0x28], 0
test bl, bl
jne 0x1003f945
jmp 0x1003fd97
mov eax, dword [esp + 8]
test al, al
js 0x1003fa2d
cmp dword [esp + 0xc], 0
jne 0x1003fa2d
mov edx, esi
cmp bl, 0x54
jne 0x1003fb1d
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x20]
push edi
call fcn.10040330
jmp 0x1003f942
push edi
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.10070e50
add esp, 0xc
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x1003fa9a
push edi
push ebx
push esi
call fcn.1003be30
add esp, 0xc
cmp eax, edi
jne 0x1003fab2
test edi, edi
je 0x1003fac6
add edi, ebx
lea ecx, [ebx + 1]
jmp 0x1003fa79
lea ecx, [esi + 1]
mov ebx, eax
cmp eax, edi
je 0x1003fac8
mov esi, ecx
lea eax, [ebx + 1]
movzx ecx, byte [ebx]
mov byte [esi - 1], cl
cmp eax, edi
je 0x1003fac8
cmp byte [ebx], 0xff
jne 0x1003fa70
cmp byte [ebx + 1], 0
jne 0x1003fa70
add ebx, 2
mov eax, ebx
jmp 0x1003fa70
push edi
push str.Failed_to_alloc__d_bytes_n
push 0x10
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0x10
jmp 0x1003f945
push str.Failed_to_read_tag_data_n
push 0x10
push dword [ebp + 8]
call fcn.1006fc50
jmp 0x1003f942
mov esi, ebx
mov eax, dword [esp + 0x58]
mov ecx, esi
sub ecx, eax
sub esp, 0x20
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x1c], 0
call fcn.1003adf0
add esp, 0x20
sub esi, dword [esp + 0x58]
mov bl, byte [esp + 0x6c]
mov edi, esi
lea edx, [esp + 0x80]
mov esi, dword [esp + 4]
cmp bl, 0x54
je 0x1003fa16
cmp dword [esp + 0x6c], 0x544c5355
je 0x1003fb63
mov dword [esp + 0xc], edx
push dword [esp + 0x30]
lea ebx, [esp + 0x70]
push ebx
call fcn.101151c0
add esp, 8
test eax, eax
je 0x1003fc49
push dword [esp + 0x2c]
push dword [ebp + 0x10]
push ebx
push edi
push dword [esp + 0x1c]
push dword [ebp + 8]
mov eax, dword [esp + 0x40]
call dword [eax + 8]
add esp, 0x18
jmp 0x1003f945
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0xffffffff
test edi, edi
jle 0x1003fd5f
push edx
mov ebx, edx
call fcn.1003be00
add esp, 4
mov dword [esp + 0xc], eax
push 3
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.1003be30
add esp, 0xc
cmp eax, 3
jl 0x1003fd5f
mov edx, ebx
mov byte [esp + 0x67], 0
add edi, 0xfffffffc
mov dword [esp + 0x68], edi
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x14]
call fcn.10040500
add esp, 0xc
test eax, eax
js 0x1003fd5f
mov ecx, dword [ebp + 8]
mov edx, ebx
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x14]
call fcn.10040500
add esp, 0xc
test eax, eax
js 0x1003fd5f
mov eax, dword [esp + 0x60]
cmp byte [eax], 0
mov ecx, 0x1014df40
mov edx, 0x1012ceb3
cmove ecx, edx
cmove eax, edx
lea edx, [esp + 0x64]
push edx
push ecx
push eax
push str.lyrics__s_s_s
call fcn.100670b0
add esp, 0x10
mov ecx, dword [esp + 0x5c]
test eax, eax
je 0x1003fd56
push 0xc
push ecx
push eax
push dword [esp + 0x28]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1003fd71
mov dword [esp + 0x64], str.comment
mov dword [esp + 0x60], 0xffffffff
cmp edi, 4
mov ebx, dword [esp + 0xc]
jl 0x1003f945
push ebx
call fcn.1003be00
add esp, 4
mov dword [esp + 0x48], eax
push ebx
call fcn.1003c0e0
add esp, 4
add edi, 0xfffffffc
mov dword [esp + 0x68], edi
mov edi, dword [ebp + 8]
mov ecx, edi
mov edx, ebx
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
push ebx
call fcn.10040500
add esp, 0xc
test eax, eax
js 0x1003fd1b
mov eax, dword [esp + 0x60]
mov edi, 0x18
test eax, eax
je 0x1003fcda
cmp byte [eax], 0
jne 0x1003fcd1
lea eax, [esp + 0x60]
push eax
call fcn.100709e0
mov edi, 0x18
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1003fcda
mov dword [esp + 0x64], eax
mov edi, 0x1c
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
push ebx
call fcn.10040500
add esp, 0xc
test eax, eax
js 0x1003fd28
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1003f945
push edi
push eax
push dword [esp + 0x6c]
push dword [esp + 0x28]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1003f945
push str.Error_reading_comment_frame__skipped_n
push 0x10
push edi
jmp 0x1003fabc
push str.Error_reading_comment_frame__skipped_n
push 0x10
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0xc
mov eax, edi
test al, 4
je 0x1003f945
lea eax, [esp + 0x64]
push eax
call fcn.100709e0
add esp, 4
jmp 0x1003f945
push ecx
call sym.ffmpeg.dll_av_free
add esp, 4
push str.Error_reading_lyrics__skipped_n
push 0x10
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0xc
push dword [esp + 0x60]
call sym.ffmpeg.dll_av_free
add esp, 4
jmp 0x1003f945
mov eax, str.extended_header_too_long.
mov esi, dword [esp + 4]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x18]
jmp 0x1003f270
cmp byte [esp + 0x6d], 0
je 0x1003fdb0
push str.invalid_frame_id__assuming_padding_n
push 0x18
push dword [ebp + 8]
call fcn.1006fc50
add esp, 0xc
push 0
push edi
push esi
call fcn.1003bc70
add esp, 0xc
jmp 0x1003f5b3