Function at 0x64507e10
Capabilities:
Get number of processors
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x278
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [ebp - 0x200], 0
mov edi, dword [ecx + 0x14]
mov dword [ebp - 0x214], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x22c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x20c], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x21c], eax
test byte [0x64524028], 8
jne 0x64508288
mov ebx, dword [ebp - 0x21c]
test ebx, ebx
sete dl
test edi, edi
sete al
or dl, al
jne 0x645090bf
test esi, esi
je 0x645090bf
cmp dword [ebp - 0x20c], 7
jg 0x64509350
mov edx, dword [ebp - 0x22c]
mov eax, 0x64503cf0
test edx, edx
cmovne eax, edx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x20c]
test eax, eax
jle 0x64508428
lea ecx, [eax*4]
lea eax, [ebp - 0x1b0]
xor ebx, ebx
lea edx, [ecx - 1]
mov dword [ebp - 0x218], eax
mov dword [ebp + ecx - 0x1b4], 0
cmp edx, 4
jb 0x64507f0d
mov eax, edx
mov dword [ebp - 0x220], edx
and eax, 0xfffffffc
mov dword [ebp - 0x210], eax
xor eax, eax
mov edx, dword [ebp - 0x218]
mov dword [edx + eax], ebx
add eax, 4
cmp eax, dword [ebp - 0x210]
jb 0x64507ef3
mov edx, dword [ebp - 0x220]
lea ebx, [ebp - 0x1d0]
xor eax, eax
mov dword [ebp - 0x228], ebx
mov dword [ebp + ecx - 0x1d4], 0
cmp edx, 4
jb 0x64507f3a
and edx, 0xfffffffc
xor ecx, ecx
mov dword [ebx + ecx], eax
add ecx, 4
cmp ecx, edx
jb 0x64507f30
mov eax, dword [ebp - 0x214]
mov dword [esp + 8], 0x1011
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x200]
mov dword [esp], eax
call sym.avifil32.dll_AVIFileOpenW
sub esp, 0x10
mov ecx, eax
test eax, eax
js 0x64508212
lea eax, [ebp - 0x190]
mov dword [esp + 8], 0xac
xor ebx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
call sym.avifil32.dll_AVIFileInfoW
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x220], 0
mov esi, dword [ebp - 0x218]
mov dword [ebp - 0x224], 0xffffffff
sub esp, 0xc
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x214], edi
jmp 0x645080cd
mov ecx, dword [ebp - 0x220]
test ecx, ecx
jne 0x64508130
test byte [0x64524028], 4
jne 0x64508228
test eax, eax
je 0x64508277
mov ecx, dword [eax + 0x14]
and ecx, 1
mov dword [ebp - 0x220], ecx
je 0x64508002
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x220], ecx
mov dword [esi], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x6450801a
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x6450813e
mov ecx, dword [eax + 8]
test byte [ebp - 0x188], 0x10
je 0x64508036
mov dword [eax + 8], 1
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [ebp - 0x218], ecx
call sym.avifil32.dll_AVIMakeCompressedStream
mov ecx, dword [ebp - 0x218]
mov edi, eax
mov eax, dword [ebp - 0x214]
sub esp, 0x10
mov eax, dword [eax + ebx*4]
mov dword [eax + 8], ecx
test edi, edi
js 0x645082f0
mov eax, dword [esi]
test eax, eax
je 0x645082f0
mov edx, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.avifil32.dll_AVIStreamInfoW
sub esp, 0xc
mov edi, eax
test eax, eax
js 0x64508160
mov ecx, dword [esi]
test ecx, ecx
je 0x6450813e
mov eax, dword [ebp - 0xc8]
add esi, 4
mov dword [ebp + ebx*4 - 0x1f0], eax
add ebx, 1
cmp dword [ebp - 0x20c], ebx
je 0x64508308
mov eax, dword [ebp - 0x21c]
mov edx, dword [eax + ebx*4]
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x218], edx
call sym.avifil32.dll_AVIStreamInfoW
sub esp, 0xc
mov edi, eax
test eax, eax
js 0x64508160
mov eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x218]
cmp dword [ebp - 0xe4], 0x73646976
mov eax, dword [eax + ebx*4]
jne 0x64507fc8
mov ecx, dword [ebp - 0x224]
cmp ecx, 0xffffffff
cmove ecx, ebx
mov dword [ebp - 0x224], ecx
mov dword [esi], 0
test eax, eax
jne 0x64508008
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax + ebx*4]
mov dword [esi], eax
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamAddRef
sub esp, 4
jmp 0x645080ae
mov ecx, edi
xor edi, edi
mov dword [ebp - 0x210], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x210]
sub esp, 0xc
test eax, eax
je 0x64508212
mov dword [ebp - 0x210], ecx
xor ebx, ebx
lea eax, [ebp - 0x1b0]
mov edi, dword [ebp - 0x228]
mov esi, ebx
mov ebx, eax
lea esi, [esi]
lea esi, [esi]
mov eax, dword [edi + esi*4]
test eax, eax
je 0x645081d2
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRelease
sub esp, 4
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x645081e4
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRelease
sub esp, 4
add esi, 1
cmp dword [ebp - 0x20c], esi
jg 0x645081c0
mov ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
mov dword [ebp - 0x20c], ecx
call sym.avifil32.dll_AVIFileRelease
mov ecx, dword [ebp - 0x20c]
sub esp, 4
lea esp, [ebp - 0x10]
mov eax, ecx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x18
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x218], edx
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc], str.options.flags0x_lX_options.dwInterleave_lu_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.AVISaveVW
mov dword [esp + 4], 0x64524028
mov dword [esp], 2
call fcn.64503a10
mov eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x218]
mov eax, dword [eax + ebx*4]
test eax, eax
jne 0x64507feb
mov dword [esi], 0
jmp 0x6450813e
mov eax, esi
call fcn.64503590
mov ebx, dword [ebp - 0x21c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp - 0x20c]
mov dword [esp + 0xc], str.__s__p__p__d__p__p__n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0x22c]
mov dword [esp + 8], str.AVISaveVW
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp - 0x214]
mov dword [esp + 4], 0x64524028
mov dword [esp + 0x14], ebx
mov dword [esp], 3
call fcn.64503a10
jmp 0x64507e67
mov dword [ebp + ebx*4 - 0x1b0], 0
mov ecx, edi
xor edi, edi
jmp 0x64508164
mov ecx, edi
mov edi, dword [ebp - 0x224]
test edi, edi
jle 0x6450849c
mov edx, dword [ebp + edi*4 - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
mov dword [esp + 8], 0x10000
mov eax, dword [ebp + edi*4 - 0x1f0]
mov dword [esp + 4], 0
mov dword [ebp + edi*4 - 0x1b0], ecx
mov dword [ebp - 0x1b0], edx
mov edx, dword [ebp - 0x1f0]
mov dword [ebp + edi*4 - 0x1f0], edx
mov dword [ebp - 0x1f0], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x6450841a
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
mov eax, dword [ebp - 0xc4]
sub esp, 0xc
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x1fc], 0x10000
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamStart
lea edx, [ebp - 0x1fc]
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadFormat
sub esp, 0x10
cmp dword [ebp - 0x1fc], 0x27
mov ecx, eax
jle 0x645089d8
test eax, eax
js 0x645089dd
mov dword [ebp - 0x250], 1
jmp 0x64508548
mov edi, ebx
mov ecx, 0x80044067
jmp 0x64508164
mov eax, dword [ebp - 0x214]
mov dword [esp + 8], 0x1011
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x200]
mov dword [esp], eax
call sym.avifil32.dll_AVIFileOpenW
sub esp, 0x10
mov ecx, eax
test eax, eax
js 0x64508212
lea eax, [ebp - 0x190]
mov dword [esp + 8], 0xac
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x210], ecx
mov dword [esp], eax
call sym.avifil32.dll_AVIFileInfoW
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x220], 0
sub esp, 0xc
mov dword [esp + 8], 0x10000
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x214], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x645094c1
lea eax, [ebp - 0xe4]
mov dword [esp + 8], 0xcc
mov dword [ebp - 0x210], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0xc4]
sub esp, 0xc
mov ecx, dword [ebp - 0x214]
test edx, edx
mov dword [ebp - 0x238], eax
je 0x645083ad
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], 0xf4240
mov dword [ebp - 0x214], ecx
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamTimeToSample
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x250], eax
sub esp, 8
mov eax, dword [ebp - 0x20c]
test eax, eax
jle 0x64508a40
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
xor esi, esi
lea ebx, [ebp - 0x1fc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x23c], 0
sub esp, 0xc
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x214], edi
lea esi, [esi]
nop
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x228]
lea eax, [eax + esi*4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
call sym.avifil32.dll_AVIFileCreateStreamW
mov edi, eax
mov eax, dword [ebp + esi*4 - 0x1d0]
sub esp, 0xc
test eax, eax
je 0x645085ed
test edi, edi
jns 0x645086b0
test byte [0x64524028], 4
jne 0x645087d8
mov eax, dword [ebp + esi*4 - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRelease
lea eax, [esi + 1]
sub esp, 4
cmp eax, dword [ebp - 0x20c]
jge 0x64508808
sub dword [ebp - 0x20c], 1
cmp esi, dword [ebp - 0x20c]
jge 0x64508868
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], eax
mov eax, dword [ebp + esi*4 - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0xc0], 0
sub esp, 0xc
test eax, eax
je 0x645085b0
test esi, esi
jle 0x645085b0
cmp dword [ebp - 0xe4], 0x73646976
je 0x645085b0
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], 0x2ee
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamTimeToSample
mov dword [ebp - 0xc0], eax
sub esp, 8
jmp 0x645085b0
mov eax, dword [ebp - 0x214]
mov dword [esp + 0xc], ebx
mov dword [ebp - 0x1fc], 0x10000
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
mov eax, dword [ebp + esi*4 - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadFormat
sub esp, 0x10
mov edi, eax
test eax, eax
js 0x64508852
mov eax, dword [ebp - 0x1fc]
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 8], eax
mov eax, dword [ebp + esi*4 - 0x1d0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSetFormat
sub esp, 0x10
mov edi, eax
test eax, eax
js 0x64508852
mov eax, dword [ebp - 0x214]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x64727473
mov dword [esp + 8], eax
mov eax, dword [ebp + esi*4 - 0x1b0]
mov dword [ebp - 0x1fc], 0x10000
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadData
sub esp, 0x10
mov edi, eax
test eax, eax
js 0x6450876c
mov eax, dword [ebp - 0x1fc]
test eax, eax
jg 0x64508820
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0xc0]
cmp ecx, eax
cmovae eax, ecx
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp + esi*4 - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSampleToTime
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1d0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamTimeToSample
mov edx, dword [ebp - 0x238]
sub esp, 8
mov dword [ebp - 0x1f8], eax
cmp edx, eax
cmovge eax, edx
add esi, 1
mov dword [ebp - 0x238], eax
jmp 0x64508622
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.creation_of__de__compression_stream_failed_for_stream__d_n
mov dword [esp + 8], str.AVISaveVW
mov dword [esp + 4], 0x64524028
mov dword [esp], 2
call fcn.64503a10
jmp 0x645085fa
mov eax, dword [ebp + eax*4 - 0x1b0]
mov dword [ebp + esi*4 - 0x1b0], eax
jmp 0x6450861b
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], 0x64727473
mov dword [esp + 8], eax
mov eax, dword [ebp + esi*4 - 0x1d0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamWriteData
sub esp, 0x10
mov edi, eax
test eax, eax
jns 0x6450876c
mov dword [ebp - 0x210], edi
mov edi, dword [ebp - 0x214]
jmp 0x6450816a
mov eax, dword [ebp - 0x20c]
mov ecx, edi
mov edi, dword [ebp - 0x214]
test eax, eax
je 0x64508a40
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x64508d69
mov ebx, dword [ebp - 0x23c]
neg ebx
mov dword [ebp - 0x24c], ebx
cmp eax, 1
je 0x64509455
mov ebx, dword [ebp - 0x24c]
cmp dword [ebp - 0x238], ebx
jle 0x64508164
lea eax, [ebp - 0x1b0]
mov ebx, 0x10000
mov dword [ebp - 0x218], eax
mov esi, ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x240], 0
mov ebx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x240]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
sub esp, 0xc
mov ecx, eax
test eax, eax
js 0x64508164
mov edx, dword [ebp - 0xc0]
mov eax, edx
neg eax
cmp eax, dword [ebp - 0x24c]
jle 0x64508a83
add dword [ebp - 0x240], 1
add ebx, 4
mov eax, dword [ebp - 0x240]
cmp dword [ebp - 0x20c], eax
jne 0x645088e4
cmp dword [ebp - 0x220], 1
je 0x645094a3
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x23c]
mov ebx, dword [ebp - 0x24c]
mov dword [esp + 4], 0x64
add eax, ecx
mov dword [esp + 8], eax
mov eax, ebx
add eax, ecx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
mov ecx, dword [ebp - 0x22c]
sub esp, 0xc
mov dword [esp], eax
call ecx
sub esp, 4
test eax, eax
jne 0x645094cb
mov ecx, dword [ebp - 0x250]
add ebx, ecx
cmp dword [ebp - 0x238], ebx
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x24c], ebx
jg 0x645088d4
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x20c], eax
jmp 0x64508164
mov ecx, 0x80044068
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x210], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x210]
sub esp, 0xc
test eax, eax
je 0x64508212
mov edx, dword [ebp - 0x20c]
test edx, edx
jle 0x645081fb
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x228], eax
jmp 0x6450819e
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x20c]
sub esp, 0xc
test eax, eax
jne 0x645081fb
jmp 0x64508212
mov eax, dword [ebp - 0x238]
sub eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x24c]
jle 0x645093a9
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x64509439
cmp dword [ebp - 0xe4], 0x73646976
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x214], ecx
cmove eax, dword [ebp - 0x220]
add edx, dword [ebp - 0x24c]
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSampleToTime
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamTimeToSample
mov ecx, dword [ebp - 0x214]
sub esp, 8
mov edx, eax
mov eax, dword [ebx]
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x21c], edx
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamStart
mov dword [ebp - 0x214], eax
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamLength
mov edx, dword [ebp - 0x21c]
add eax, dword [ebp - 0x214]
sub esp, 4
mov ecx, dword [ebp - 0x224]
cmp eax, edx
cmovle edx, eax
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x240]
mov eax, dword [ebp + eax*4 - 0x1f0]
mov dword [ebp - 0x214], eax
test byte [0x64524028], 4
jne 0x645093e6
lea eax, [ebp - 0x1fc]
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x244], edx
jle 0x64508d51
lea esi, [esi]
nop
mov eax, dword [ebp - 0x248]
mov dword [esp + 8], edi
mov dword [ebp - 0x1fc], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadFormat
sub esp, 0x10
test eax, eax
js 0x645090b8
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x228]
mov dword [esp + 8], edi
mov edx, dword [ebp - 0x240]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], eax
mov eax, dword [ecx + edx*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSetFormat
lea eax, [ebp - 0x1f4]
mov ecx, dword [ebp - 0x244]
sub ecx, dword [ebp - 0x214]
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x1f8]
sub esp, 0x10
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x224], eax
jmp 0x64508c54
mov eax, dword [ebp - 0x234]
add esi, esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapReAlloc]
sub esp, 0x10
mov edi, eax
test eax, eax
je 0x6450841a
mov eax, dword [ebp - 0x230]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x224]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x21c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRead
sub esp, 0x1c
cmp eax, 0x80044074
je 0x64508c20
test eax, eax
js 0x645090b8
mov eax, dword [ebp - 0xc8]
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamFindSample
mov ecx, dword [ebp - 0x240]
sub esp, 0xc
cmp eax, dword [ebp - 0xc8]
sete al
mov dword [esp + 0x1c], 0
movzx eax, al
mov dword [esp + 0x18], 0
shl eax, 4
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1f8]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1f4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamWrite
sub esp, 0x20
test eax, eax
js 0x645090b8
mov ecx, dword [ebp - 0x1f4]
add dword [ebp - 0x214], ecx
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x214]
mov dword [ebp + ecx*4 - 0x1f0], edx
cmp edx, dword [ebp - 0x244]
jl 0x64508b88
mov ecx, eax
mov eax, dword [ebp - 0x240]
mov edx, dword [ebp - 0x244]
mov dword [ebp + eax*4 - 0x1f0], edx
jmp 0x64508930
mov esi, 0x10000
mov dword [ebp - 0x214], ecx
lea ebx, [ebp - 0x1b0]
mov dword [ebp - 0x224], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x220], eax
mov eax, esi
mov esi, edi
mov edi, ebx
mov ebx, eax
mov eax, dword [ebp - 0x20c]
mov dword [esp + 4], 0x64
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x224]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
sub esp, 0xc
mov dword [esp], eax
mov eax, dword [ebp - 0x22c]
call eax
sub esp, 4
test eax, eax
jne 0x64509497
mov eax, dword [ebp - 0x210]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], eax
mov eax, dword [edi]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamInfoW
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
sub esp, 0xc
test ecx, ecx
jne 0x645090c9
cmp dword [ebp - 0xc4], eax
jbe 0x64509089
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x230], ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x21c], ecx
mov ecx, esi
mov esi, edi
mov edi, ecx
mov ecx, dword [ebp - 0x230]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esi]
mov dword [ebp - 0x1fc], ebx
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadFormat
sub esp, 0x10
mov ecx, eax
test eax, eax
js 0x64508164
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x224]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSetFormat
lea eax, [ebp - 0x1f4]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x1f8]
sub esp, 0x10
mov dword [ebp - 0x214], eax
mov eax, ebx
mov ebx, edi
mov edi, eax
jmp 0x64508eec
mov eax, dword [ebp - 0x21c]
add edi, edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapReAlloc]
sub esp, 0x10
mov ebx, eax
test eax, eax
je 0x64508418
mov eax, dword [ebp - 0x218]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 8], 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x1f4], 0
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [ebp - 0x1f8], edi
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRead
sub esp, 0x1c
cmp eax, 0x80044074
je 0x64508eb8
mov edx, edi
mov ecx, eax
mov edi, ebx
mov ebx, edx
test eax, eax
js 0x64508164
cmp dword [ebp - 0x1f4], 1
jne 0x64509477
mov eax, dword [ebp - 0xc8]
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamFindSample
mov edx, dword [ebp - 0x228]
sub esp, 0xc
cmp eax, dword [ebp - 0xc8]
sete al
mov dword [esp + 0x1c], 0
movzx eax, al
mov dword [esp + 0x18], 0
shl eax, 4
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1f8]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1f4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x224]
mov eax, dword [edx + eax*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamWrite
sub esp, 0x20
mov ecx, eax
test eax, eax
js 0x64508164
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x20c]
imul eax, dword [ebp - 0xc4]
mov dword [esp + 4], 0x64
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
mov edx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x224]
sub esp, 0xc
mov dword [ebp - 0x214], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 4], 0x64
call dword [sym.imp.kernel32.dll_MulDiv]
add eax, dword [ebp - 0x214]
sub esp, 0xc
mov dword [esp], eax
mov eax, dword [ebp - 0x22c]
call eax
sub esp, 4
test eax, eax
jne 0x6450948d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x218]
add eax, 1
cmp eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
jb 0x64508e30
mov dword [ebp - 0x214], ecx
mov eax, edi
mov edi, esi
mov esi, eax
add dword [ebp - 0x224], 1
add edi, 4
mov eax, dword [ebp - 0x224]
cmp dword [ebp - 0x20c], eax
jne 0x64508d98
mov ecx, dword [ebp - 0x214]
mov edi, esi
jmp 0x64508164
mov ecx, eax
jmp 0x64508164
mov ecx, 0x8004406a
jmp 0x64508212
cmp dword [ebp - 0xc4], eax
jbe 0x64509089
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x230], ecx
lea esi, [esi]
nop
mov edx, dword [ebp - 0x230]
mov ebx, dword [ebp - 0x214]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov eax, dword [edi]
mov dword [ebp - 0x1fc], ebx
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamReadFormat
sub esp, 0x10
mov ecx, eax
test eax, eax
js 0x6450944e
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x224]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamSetFormat
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x218], ecx
sub esp, 0x10
sub edx, eax
mov dword [ebp - 0x214], edx
lea edx, [ebp - 0x1f4]
mov dword [ebp - 0x21c], edx
mov edx, ebx
mov ebx, esi
mov esi, edx
jmp 0x645091c2
mov eax, dword [ebp - 0x220]
add esi, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapReAlloc]
sub esp, 0x10
mov ebx, eax
test eax, eax
je 0x64508418
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x21c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x218]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x1f8], esi
mov dword [esp + 8], edx
mov eax, dword [edi]
mov dword [ebp - 0x1f4], 0
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamRead
sub esp, 0x1c
cmp eax, 0x80044074
je 0x64509188
mov edx, esi
mov ecx, eax
mov esi, ebx
mov dword [ebp - 0x214], edx
test eax, eax
js 0x6450944e
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0xc8]
test edx, edx
jne 0x64509268
mov edx, dword [ebp - 0xc4]
mov ebx, edx
sub ebx, eax
cmp ebx, 1
jne 0x64509481
cmp edx, eax
ja 0x645090e8
mov ebx, dword [ebp - 0x214]
mov dword [ebp - 0x214], ecx
jmp 0x64509089
add eax, edx
mov ecx, dword [ebp - 0x228]
mov dword [esp + 0x1c], 0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1f8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x224]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], 0xffffffff
mov eax, dword [ecx + eax*4]
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamWrite
sub esp, 0x20
mov ecx, eax
test eax, eax
js 0x6450944e
mov ebx, dword [ebp - 0x20c]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], 0x64
imul eax, ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
sub esp, 0xc
mov dword [ebp - 0x218], eax
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x224]
mov dword [esp + 4], 0x64
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_MulDiv]
add eax, dword [ebp - 0x218]
sub esp, 0xc
mov dword [esp], eax
mov eax, dword [ebp - 0x22c]
call eax
sub esp, 4
test eax, eax
jne 0x64509497
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x21c]
jmp 0x6450924b
mov ecx, 0x80044068
test byte [0x64524028], 4
je 0x64508212
mov eax, dword [ebp - 0x20c]
mov dword [esp + 0x14], 8
mov dword [esp + 0xc], str.Cant_write_AVI_with__d_streams_only_supports__d____change_MAX_AVISTREAMS__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.AVISaveVW
mov dword [esp + 4], 0x64524028
mov dword [esp], 2
mov dword [ebp - 0x210], ecx
call fcn.64503a10
mov ecx, dword [ebp - 0x210]
jmp 0x64508212
mov eax, dword [ebx]
mov dword [ebp - 0x21c], ecx
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamLength
mov dword [ebp - 0x214], eax
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call sym.avifil32.dll_AVIStreamStart
add eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x244], eax
sub esp, 4
jmp 0x64508b45
mov eax, dword [ebp - 0x244]
mov dword [esp + 0xc], str.copy_from_stream__d_samples__ld_to__ld..._n
mov dword [esp + 8], str.AVISaveVW
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], 0x64524028
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x240]
mov dword [esp], 2
mov dword [esp + 0x10], eax
mov dword [ebp - 0x21c], ecx
call fcn.64503a10
mov ecx, dword [ebp - 0x21c]
jmp 0x64508b65
mov eax, dword [ebp - 0x250]
add eax, edx
mov edx, dword [ebp - 0x24c]
add edx, eax
jmp 0x64508afc
mov edi, esi
jmp 0x64508164
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x214], ecx
mov dword [esp], eax
call sym.avifil32.dll_AVIFileEndRecord
mov ecx, dword [ebp - 0x214]
sub esp, 4
jmp 0x645088a3
mov ecx, 0x8004406d
jmp 0x64508164
mov edi, esi
mov ecx, 0x8004406d
jmp 0x64508164
mov ecx, 0x800440c6
jmp 0x64508164
mov edi, esi
mov ecx, 0x800440c6
jmp 0x64508164
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
call sym.avifil32.dll_AVIFileEndRecord
mov ecx, eax
push ebx
test eax, eax
jns 0x64508955
jmp 0x64508164
mov ecx, 0x80044067
jmp 0x645089dd
mov eax, dword [ebp - 0x240]
mov ecx, 0x800440c6
mov dword [ebp - 0x20c], eax
jmp 0x64508164