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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
push 0x12
push edi
mov eax, dword [ebx + 0xe4]
shr eax, 4
not eax
mov dword [ebp - 0x10], ebx
and eax, 1
mov dword [ebp - 0x18], eax
call sym.libavformat_58.dll_avio_w8
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
push 0
push edi
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], edx
call sym.libavformat_58.dll_avio_wb24
push dword [ebp + 0xc]
push edi
call sym.libavformat_58.dll_avio_wb24
push 0
push edi
call sym.libavformat_58.dll_avio_wb32
push 2
push edi
call sym.libavformat_58.dll_avio_w8
push 0xa
push edi
call sym.libavformat_58.dll_avio_wb16
add esp, 0x40
push 0xa
push str.onMetaData
push edi
call sym.libavformat_58.dll_avio_write
push 8
push edi
call sym.libavformat_58.dll_avio_w8
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
mov esi, dword [ebx + 0xd0]
add esp, 0x24
mov ecx, dword [ebx + 0xd4]
neg esi
mov dword [ebp - 0x20], edx
sbb esi, esi
mov dword [ebp - 0x24], eax
and esi, 5
neg ecx
sbb ecx, ecx
xor edx, edx
and ecx, 4
lea eax, [esi + ecx]
mov ecx, dword [ebx + 0xe0]
mov esi, dword [ebp - 0x18]
test ecx, ecx
setne dl
add edx, eax
mov dword [ebp - 4], edx
test esi, esi
je 0x100280eb
xor edx, edx
test ecx, ecx
setne dl
add edx, 2
add edx, eax
mov dword [ebp - 4], edx
push edx
push edi
call sym.libavformat_58.dll_avio_wb32
add esp, 8
test esi, esi
je 0x1002816b
push 8
push edi
call sym.libavformat_58.dll_avio_wb16
push 8
push str.duration
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
add esp, 0x24
mov dword [ebx + 8], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc], edx
push 0
push 0xf4240
push dword [eax + 0x434]
push dword [eax + 0x430]
call fcn.10001640
mov ecx, eax
call fcn.100038a5
push 0
push edi
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x14
cmp dword [ebx + 0xd4], 0
je 0x10028314
push 5
push edi
call sym.libavformat_58.dll_avio_wb16
push 5
push str.width
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd4]
push 0
push edi
movd xmm0, dword [eax + 0x30]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
push 6
push edi
call sym.libavformat_58.dll_avio_wb16
push 6
push str.height
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd4]
push 0
push edi
movd xmm0, dword [eax + 0x34]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
add esp, 0x44
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0xd
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xd
push str.videodatarate
push edi
call sym.libavformat_58.dll_avio_write
mov ecx, dword [ebx + 0xd4]
add esp, 0x20
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
call fcn.100038a5
mulsd xmm0, qword [0x101341e8]
push 0
push edi
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
movsd xmm0, qword [ebx + 0xd8]
add esp, 0x14
ucomisd xmm0, qword [0x101309d8]
lahf
test ah, 0x44
jnp 0x100282bc
push 9
push edi
call sym.libavformat_58.dll_avio_wb16
push 9
push str.framerate
push edi
call sym.libavformat_58.dll_avio_write
movsd xmm0, qword [ebx + 0xd8]
push 0
push edi
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x28
inc dword [ebp - 4]
push 0xc
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xc
push str.videocodecid
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd4]
push 0
push edi
mov eax, dword [eax + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10131310]
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x28
cmp dword [ebx + 0xd0], 0
je 0x100284a1
push 0xd
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xd
push str.audiodatarate
push edi
call sym.libavformat_58.dll_avio_write
mov ecx, dword [ebx + 0xd0]
add esp, 0x14
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
call fcn.100038a5
mulsd xmm0, qword [0x101341e8]
push 0
push edi
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0xf
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xf
push str.audiosamplerate
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd0]
push 0
push edi
movd xmm0, dword [eax + 0x6c]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0xf
push edi
call sym.libavformat_58.dll_avio_wb16
add esp, 0x44
push 0xf
push str.audiosamplesize
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd0]
xor ebx, ebx
push 0
push edi
cmp dword [eax + 4], 0x10005
setne bl
lea ebx, [ebx*8 + 8]
call sym.libavformat_58.dll_avio_w8
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
push 6
push edi
call sym.libavformat_58.dll_avio_wb16
push 6
push str.stereo
push edi
call sym.libavformat_58.dll_avio_write
mov ebx, dword [ebp - 0x10]
push 1
push edi
mov eax, dword [ebx + 0xd0]
mov esi, dword [eax + 0x68]
call sym.libavformat_58.dll_avio_w8
xor eax, eax
cmp esi, 2
sete al
push eax
push edi
call sym.libavformat_58.dll_avio_w8
add esp, 0x44
push 0xc
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xc
push str.audiocodecid
push edi
call sym.libavformat_58.dll_avio_write
mov eax, dword [ebx + 0xd0]
push 0
push edi
mov eax, dword [eax + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10131310]
movsd qword [ebp - 0xc], xmm0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x28
cmp dword [ebx + 0xe0], 0
je 0x100284de
push 0xa
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xa
push str.datastream
push edi
call sym.libavformat_58.dll_avio_write
push 0
push edi
call sym.libavformat_58.dll_avio_w8
xorps xmm0, xmm0
movsd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x28
mov esi, dword [ebp + 8]
push esi
call fcn.1000334b
push 2
push 0
push 0x1012aba7
push dword [esi + 0x48c]
call sub.libavutil_56.dll_av_dict_get
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
je 0x1002899a
mov ebx, dword [ebp - 4]
nop dword [eax]
mov esi, dword [eax]
mov edx, str.width
mov ecx, esi
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10028540
test al, al
je 0x1002853c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10028540
add ecx, 2
add edx, 2
test al, al
jne 0x10028520
xor eax, eax
jmp 0x10028545
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.height
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028574
test dl, dl
je 0x10028570
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028574
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028554
xor eax, eax
jmp 0x10028579
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.videodatarate
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100285a8
test dl, dl
je 0x100285a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100285a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028588
xor eax, eax
jmp 0x100285ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.framerate
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100285e0
test dl, dl
je 0x100285dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100285e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100285c0
xor eax, eax
jmp 0x100285e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.videocodecid
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028614
test dl, dl
je 0x10028610
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028614
add eax, 2
add ecx, 2
test dl, dl
jne 0x100285f4
xor eax, eax
jmp 0x10028619
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.audiodatarate
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028648
test dl, dl
je 0x10028644
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028648
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028628
xor eax, eax
jmp 0x1002864d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.audiosamplerate
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028680
test dl, dl
je 0x1002867c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028680
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028660
xor eax, eax
jmp 0x10028685
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.audiosamplesize
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100286b4
test dl, dl
je 0x100286b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100286b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028694
xor eax, eax
jmp 0x100286b9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.stereo
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100286e8
test dl, dl
je 0x100286e4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100286e8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100286c8
xor eax, eax
jmp 0x100286ed
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.audiocodecid
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028720
test dl, dl
je 0x1002871c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028720
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028700
xor eax, eax
jmp 0x10028725
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.duration
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028754
test dl, dl
je 0x10028750
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028754
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028734
xor eax, eax
jmp 0x10028759
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.onMetaData
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028788
test dl, dl
je 0x10028784
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028788
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028768
xor eax, eax
jmp 0x1002878d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.datasize
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100287c0
test dl, dl
je 0x100287bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100287c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100287a0
xor eax, eax
jmp 0x100287c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.lasttimestamp
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100287f4
test dl, dl
je 0x100287f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100287f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x100287d4
xor eax, eax
jmp 0x100287f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.totalframes
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028828
test dl, dl
je 0x10028824
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028828
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028808
xor eax, eax
jmp 0x1002882d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.hasAudio
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028860
test dl, dl
je 0x1002885c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028860
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028840
xor eax, eax
jmp 0x10028865
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.hasVideo
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028894
test dl, dl
je 0x10028890
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028894
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028874
xor eax, eax
jmp 0x10028899
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.hasCuePoints
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100288c8
test dl, dl
je 0x100288c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100288c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100288a8
xor eax, eax
jmp 0x100288cd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.hasMetadata
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028900
test dl, dl
je 0x100288fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028900
add eax, 2
add ecx, 2
test dl, dl
jne 0x100288e0
xor eax, eax
jmp 0x10028905
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
mov ecx, str.hasKeyframes
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028930
test dl, dl
je 0x1002892c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028930
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028910
xor eax, eax
jmp 0x10028935
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002895a
push esi
push edi
call fcn.10027b70
push 2
push edi
call sym.libavformat_58.dll_avio_w8
mov esi, dword [ebp - 8]
push dword [esi + 4]
push edi
call fcn.10027b70
add esp, 0x18
inc ebx
jmp 0x10028970
push esi
push str.Ignoring_metadata_for__s_n
push 0x30
push dword [ebp + 8]
call sub.libavutil_56.dll_av_log
mov esi, dword [ebp - 8]
add esp, 0x10
mov eax, dword [ebp + 8]
push 2
push esi
push 0x1012aba7
push dword [eax + 0x48c]
call sub.libavutil_56.dll_av_dict_get
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x10028510
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x18], 0
je 0x100289e6
push 8
push edi
call sym.libavformat_58.dll_avio_wb16
push 8
push str.filesize
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
push 0
push edi
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
call sym.libavformat_58.dll_avio_w8
xorps xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x38
test byte [ebx + 0xe4], 4
je 0x10028d32
push 8
push edi
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
call sym.libavformat_58.dll_avio_wb16
push 8
push str.hasVideo
push edi
call sym.libavformat_58.dll_avio_write
mov esi, dword [ebx + 0xd4]
push 1
push edi
call sym.libavformat_58.dll_avio_w8
xor eax, eax
test esi, esi
setne al
push eax
push edi
call sym.libavformat_58.dll_avio_w8
push 0xc
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xc
push str.hasKeyframes
push edi
call sym.libavformat_58.dll_avio_write
push 1
push edi
call sym.libavformat_58.dll_avio_w8
add esp, 0x40
push 1
push edi
call sym.libavformat_58.dll_avio_w8
push 8
push edi
call sym.libavformat_58.dll_avio_wb16
push 8
push str.hasAudio
push edi
call sym.libavformat_58.dll_avio_write
mov esi, dword [ebx + 0xd0]
push 1
push edi
call sym.libavformat_58.dll_avio_w8
xor eax, eax
test esi, esi
setne al
push eax
push edi
call sym.libavformat_58.dll_avio_w8
push 0xb
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xb
push str.hasMetadata
push edi
call sym.libavformat_58.dll_avio_write
add esp, 0x40
push 1
push edi
call sym.libavformat_58.dll_avio_w8
push 1
push edi
call sym.libavformat_58.dll_avio_w8
push 0xc
push edi
call sym.libavformat_58.dll_avio_wb16
push 0xc
push str.canSeekToEnd
push edi
call sym.libavformat_58.dll_avio_write
push 1
push edi
call sym.libavformat_58.dll_avio_w8
push 1
push edi
call sym.libavformat_58.dll_avio_w8
push 8
push edi
call sym.libavformat_58.dll_avio_wb16
push 8
push str.datasize
push edi
call sym.libavformat_58.dll_avio_write
add esp, 0x48
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
push 0
push edi
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
call sym.libavformat_58.dll_avio_w8
add esp, 0x18
xor edx, edx
xor ecx, ecx
call fcn.100038a5
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
push 9
push edi
call sym.libavformat_58.dll_avio_wb16
push 9
push str.videosize
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
push 0
push edi
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0x1c]
movsd qword [ebp - 0x14], xmm0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edi
call sym.libavformat_58.dll_avio_wb64
add esp, 0x44
push 9
push edi
call sym.libavformat_58.dll_avio_wb16
push 9
push str.audiosize
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
push 0
push edi
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
call sym.libavformat_58.dll_avio_w8
movsd xmm0, qword [ebp - 0x1c]
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0xd
push edi
call sym.libavformat_58.dll_avio_wb16
add esp, 0x40
push 0xd
push str.lasttimestamp
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
xorps xmm0, xmm0
mov dword [ebx + 0x80], eax
push 0
push edi
mov dword [ebx + 0x84], edx
movsd qword [ebx + 0x88], xmm0
call sym.libavformat_58.dll_avio_w8
xorps xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0x15
push edi
call sym.libavformat_58.dll_avio_wb16
push 0x15
push str.lastkeyframetimestamp
push edi
call sym.libavformat_58.dll_avio_write
add esp, 0x44
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
xorps xmm0, xmm0
mov dword [ebx + 0x90], eax
push 0
push edi
mov dword [ebx + 0x94], edx
movsd qword [ebx + 0x98], xmm0
call sym.libavformat_58.dll_avio_w8
xorps xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
push 0x14
push edi
call sym.libavformat_58.dll_avio_wb16
push 0x14
push str.lastkeyframelocation
push edi
call sym.libavformat_58.dll_avio_write
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
add esp, 0x48
mov dword [ebx + 0xa0], eax
mov dword [ebx + 0xa4], edx
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xac], 0
push 0
push edi
call sym.libavformat_58.dll_avio_w8
xorps xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call sym.libavformat_58.dll_avio_wb64
push 9
push edi
call sym.libavformat_58.dll_avio_wb16
push 9
push str.keyframes
push edi
call sym.libavformat_58.dll_avio_write
push 3
push edi
call sym.libavformat_58.dll_avio_w8
add dword [ebp - 4], 0xc
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
add esp, 0x40
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xbc], edx
push 0
push edi
call sym.libavformat_58.dll_avio_wb16
push 0
push 0x1012aba7
push edi
call sym.libavformat_58.dll_avio_write
push 9
push edi
call sym.libavformat_58.dll_avio_w8
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
sub eax, dword [ebx + 0x60]
push 0
sbb edx, dword [ebx + 0x64]
sub eax, 0xa
push dword [ebp - 0x20]
sbb edx, 0
mov dword [ebx + 0x70], eax
push dword [ebp - 0x24]
mov dword [ebx + 0x74], edx
push edi
call sym.libavformat_58.dll_avio_seek
push dword [ebp - 4]
push edi
call sym.libavformat_58.dll_avio_wb32
add esp, 0x44
push 0
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push edi
call sym.libavformat_58.dll_avio_seek
push dword [ebx + 0x70]
push edi
call sym.libavformat_58.dll_avio_wb24
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
add ecx, 7
adc eax, 0
push eax
push ecx
push edi
call sym.libavformat_58.dll_avio_skip
push 1
push 0
push 0
push edi
call sym.libavformat_58.dll_avio_seek
mov dword [ebx + 0x68], eax
mov eax, dword [ebx + 0x70]
add eax, 0xb
mov dword [ebx + 0x6c], edx
push eax
push edi
call sym.libavformat_58.dll_avio_wb32
add esp, 0x3c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret