Function at 0x6450efc0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, ecx
push esi
mov esi, edx
push ebx
mov ebx, eax
sub esp, 0x3c
test eax, eax
je 0x6450f2c0
mov eax, dword [ebx + 8]
test eax, eax
je 0x6450f2f0
mov eax, dword [eax + 0x118]
test eax, eax
je 0x6450f320
cmp dword [ebx + 0x2c], esi
ja 0x6450f0a0
cmp dword [ebx + 0x30], esi
jbe 0x6450f0a0
cmp dword [ebx + 0x100], esi
jb 0x6450f0c9
mov eax, esi
mov ecx, dword [ebp + 8]
shl eax, 4
mov dword [ebp - 0x1c], eax
add eax, dword [ebx + 0x104]
mov edx, dword [eax + 0xc]
test ecx, ecx
je 0x6450f02d
cmp edx, dword [ebp + 8]
cmova edx, dword [ebp + 8]
test edi, edi
je 0x6450f0f0
mov dword [esp + 8], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], edx
add eax, 8
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x118]
mov dword [esp], eax
call sub.winmm.dll_mmioSeek
sub esp, 0xc
cmp eax, 0xffffffff
je 0x6450f398
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 8]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov eax, dword [eax + 0x118]
mov dword [esp], eax
call sub.winmm.dll_mmioRead
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
cmp edx, eax
jne 0x6450f398
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x7dd
mov dword [esp + 4], str..._dlls_avifil32_avifile.c
mov dword [esp], str.This__sInfo.dwStart___pos__pos___This__sInfo.dwLength
call dword [sym.imp.ucrtbase.dll__assert]
cmp dword [ebx + 0x100], esi
jae 0x6450f00e
mov dword [esp + 8], 0x7de
mov dword [esp + 4], str..._dlls_avifil32_avifile.c
mov dword [esp], str.pos___This__lLastFrame
call dword [sym.imp.ucrtbase.dll__assert]
jmp 0x6450f00e
lea edi, [edx + 8]
mov edx, dword [ebx + 0xf4]
test edx, edx
je 0x6450f348
cmp dword [ebx + 0xf8], edi
jb 0x6450f260
mov dword [esp + 8], 0
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x118]
mov dword [esp], eax
call sub.winmm.dll_mmioSeek
sub esp, 0xc
cmp eax, 0xffffffff
je 0x6450f398
mov eax, dword [ebx + 0xf4]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x118]
mov dword [esp], eax
call sub.winmm.dll_mmioRead
sub esp, 0xc
cmp edi, eax
jne 0x6450f398
mov edx, dword [ebx + 0xf4]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebx + 0x104]
mov ecx, dword [eax]
cmp dword [edx], ecx
jne 0x6450f184
mov edi, dword [eax + 0xc]
cmp dword [edx + 4], edi
je 0x6450f091
test byte [0x64524038], 2
je 0x6450f398
mov eax, dword [eax + 8]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.:_block__ld_not_found_at_0x_08lX_n
mov dword [esp + 0x14], eax
mov dword [esp + 8], str.AVIFILE_ReadBlock
mov dword [esp + 4], 0x64524038
mov dword [esp], 1
call fcn.6450b070
test byte [0x64524038], 2
je 0x6450f398
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebx + 0x104]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], str.:_Index_says:__4.4s_0x_08lX__size_0x_08lX_n
mov dword [esp + 8], str.AVIFILE_ReadBlock
mov dword [esp + 4], 0x64524038
mov dword [esp], 1
call fcn.6450b070
test byte [0x64524038], 2
je 0x6450f398
mov eax, dword [ebx + 0xf4]
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov edx, dword [eax]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], str.:_Data__says:__4.4s_0x_08lX__size_0x_08lX_n
mov dword [esp + 8], str.AVIFILE_ReadBlock
mov dword [esp + 4], 0x64524038
mov dword [esp], 1
call fcn.6450b070
mov eax, 0x8004406d
jmp 0x6450f093
cmp dword [ebx + 0x38], edi
mov ecx, edi
cmovae ecx, dword [ebx + 0x38]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapReAlloc]
mov ecx, dword [ebp - 0x20]
sub esp, 0x10
test eax, eax
je 0x6450f389
mov dword [ebx + 0xf4], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebx + 0x104]
mov dword [ebx + 0xf8], ecx
jmp 0x6450f10d
mov dword [esp + 8], 0x7da
mov dword [esp + 4], str..._dlls_avifil32_avifile.c
mov dword [esp], 0x64526cdb
call dword [sym.imp.ucrtbase.dll__assert]
mov eax, dword [ebx + 8]
test eax, eax
jne 0x6450efe2
lea esi, [esi]
nop
mov dword [esp + 8], 0x7db
mov dword [esp + 4], str..._dlls_avifil32_avifile.c
mov dword [esp], str.This__paf___NULL
call dword [sym.imp.ucrtbase.dll__assert]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x118]
test eax, eax
jne 0x6450eff0
nop
mov dword [esp + 8], 0x7dc
mov dword [esp + 4], str..._dlls_avifil32_avifile.c
mov dword [esp], str.This__paf__hmmio___NULL
call dword [sym.imp.ucrtbase.dll__assert]
jmp 0x6450eff0
cmp dword [ebx + 0x38], edi
mov ecx, edi
cmovae ecx, dword [ebx + 0x38]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x20]
sub esp, 0xc
test eax, eax
mov dword [ebx + 0xf4], eax
jne 0x6450f2a5
mov eax, 0x80044067
jmp 0x6450f093
mov eax, 0x8004406d
jmp 0x6450f093