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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov ecx, ebp
mov eax, ecx
and ecx, 0xfffdffff
and eax, 0x20000
test edi, edi
mov dword [esp + 0x40], eax
je 0x457db8
mov eax, dword [edi + 4]
mov ebp, dword [edi + 0x10]
mov edx, dword [edi + 0x2c]
sub ebp, eax
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x28]
mov esi, edx
mov dword [esp + 0x4c], edx
mov ebx, eax
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x38]
cmp eax, 1
mov dword [esp + 0x3c], eax
sbb eax, eax
and eax, ebp
cdq
sub ebx, eax
sbb esi, edx
cmp ecx, 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
ja 0x457db8
je 0x457d84
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
test edx, edx
js 0x457db8
mov ebx, dword [edi + 0x30]
sub eax, dword [esp + 0x28]
sbb edx, dword [esp + 0x2c]
test ebx, ebx
jne 0x457b37
mov ecx, dword [edi + 0x68]
test ecx, ecx
je 0x457d50
mov esi, dword [edi + 0x20]
test esi, esi
je 0x457d50
mov ebx, dword [edi + 0x58]
test ebx, ebx
je 0x457b92
mov esi, dword [edi + 0x84]
add esi, ebp
mov ebx, esi
sar ebx, 0x1f
cmp edx, ebx
jg 0x457b55
jl 0x457b92
cmp eax, esi
jbe 0x457b92
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x457b9e
test edx, edx
jns 0x457b75
sar ebp, 1
mov esi, ebp
mov ebx, ebp
sar esi, 0x1f
neg eax
adc edx, 0
neg edx
cmp edx, esi
jle 0x457bb0
mov ebp, dword [edi + 0x20]
test ebp, ebp
jne 0x457cee
mov eax, 0xffffffe0
mov edx, 0xffffffff
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x457cd0
mov eax, edi
call fcn.00456b50
mov dword [edi + 0x30], 1
jmp 0x457b75
jl 0x457bb6
cmp eax, ebp
jae 0x457b75
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x457b80
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
or edx, eax
je 0x457eb0
cmp dword [esp + 0x2c], esi
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jl 0x457be7
jg 0x457be3
cmp dword [esp + 0x28], ebp
jbe 0x457be7
mov eax, ebx
mov edx, esi
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], 0
sub ebx, eax
sbb esi, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call ecx
test edx, edx
js 0x457b8a
mov eax, dword [edi + 0x18]
mov ebp, dword [edi + 4]
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], esi
mov dword [edi + 0x34], 0
mov ebx, dword [edi + 8]
test eax, eax
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ebp
je 0x457cc0
mov edx, dword [edi + 0x48]
mov ecx, ebp
test edx, edx
je 0x457c54
mov esi, dword [edi + 0x44]
mov ecx, ebp
cmp ebp, esi
ja 0x457e70
test eax, eax
mov dword [edi + 0x44], ecx
je 0x457cc0
mov esi, dword [edi + 0x80]
test esi, esi
je 0x457c7c
cmp esi, dword [edi + 8]
jge 0x457c7c
cmp ebp, ecx
je 0x457ec6
cmp ebx, esi
jl 0x457f3a
mov eax, dword [edi + 0x18]
mov ebx, esi
test eax, eax
je 0x457cc0
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov edx, dword [edi + 0x14]
mov dword [esp], edx
call eax
cmp eax, 0
jle 0x457e92
mov ebx, eax
mov ecx, eax
mov dword [edi + 0xc], ebp
sar ebx, 0x1f
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], ebx
add eax, ebp
add dword [edi + 0x70], ecx
mov dword [edi + 0x10], eax
adc dword [edi + 0x74], ebx
mov ecx, dword [esp + 0x40]
jmp 0x457aa1
mov dword [edi + 0x34], 1
jmp 0x457cb0
test edx, edx
js 0x457b61
mov ebp, dword [edi + 0x68]
test ebp, ebp
je 0x457dd0
mov ebp, dword [edi + 0x20]
test ebp, ebp
je 0x457dd0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call ebp
test edx, edx
js 0x457b8a
mov eax, dword [edi + 0x38]
add dword [edi + 0x78], 1
test eax, eax
mov eax, dword [edi + 4]
jne 0x457d27
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [edi + 0x2c], edx
mov dword [edi + 0x28], eax
mov dword [edi + 0x34], 0
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
test edx, edx
js 0x457b37
mov ecx, ebp
sub ecx, dword [esp + 0x3c]
mov esi, ecx
sar esi, 0x1f
cmp edx, esi
jg 0x457b37
jge 0x457e50
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
add eax, esi
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x30]
jmp 0x457d38
mov eax, dword [edi + 0xc]
sub eax, dword [esp + 0x44]
cdq
add eax, ebx
mov ebx, dword [esp + 0x30]
adc edx, esi
mov esi, dword [esp + 0x34]
or esi, ebx
je 0x457b8a
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
test edx, edx
jns 0x457b12
add esp, 0x5c
mov eax, 0xffffffea
mov edx, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
cmp edx, ebx
jl 0x457e20
jle 0x457e60
mov esi, dword [edi + 0x34]
test esi, esi
jne 0x457eb7
mov eax, edi
call fcn.00456fb0
mov edx, dword [edi + 0x2c]
mov ebx, dword [esp + 0x34]
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x30]
cmp ebx, edx
jl 0x457e10
jg 0x457de6
cmp ecx, eax
ja 0x457de6
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
nop
lea esi, [esi]
mov ebx, dword [edi + 0x34]
test ebx, ebx
jne 0x457eb7
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, edx
sub eax, dword [esp + 0x48]
add eax, dword [edi + 0x10]
mov dword [edi + 0xc], eax
mov eax, edx
mov edx, ecx
jmp 0x457d38
cmp eax, ecx
ja 0x457b37
jmp 0x457d71
cmp eax, ecx
jbe 0x457e20
jmp 0x457de6
mov eax, ebp
mov dword [esp + 4], esi
sub eax, esi
mov dword [esp + 8], eax
mov eax, dword [edi + 0x40]
mov dword [esp], eax
call edx
mov ecx, dword [edi + 4]
mov dword [edi + 0x40], eax
mov eax, dword [edi + 0x18]
jmp 0x457c4d
mov dword [edi + 0x34], 1
je 0x457cb0
mov dword [edi + 0x4c], eax
jmp 0x457cb0
mov ebp, ecx
jmp 0x457cee
mov eax, 0xdfb9b0bb
mov edx, 0xffffffff
jmp 0x457b8a
mov dword [esp], esi
call fcn.00893ca0
test eax, eax
mov ebp, eax
je 0x457f17
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.008940b0
mov edx, dword [edi + 0x38]
mov dword [edi + 4], ebp
mov dword [edi + 8], esi
mov dword [edi + 0x80], esi
mov dword [edi + 0xc], ebp
test edx, edx
je 0x457f0b
lea eax, [ebp + esi]
mov dword [edi + 0x38], 1
mov dword [edi + 0x10], eax
mov dword [edi + 0x44], ebp
jmp 0x457c6b
mov dword [edi + 0x10], ebp
mov dword [edi + 0x38], 0
jmp 0x457f03
mov dword [esp + 8], str.Failed_to_decrease_buffer_size_n
mov dword [esp + 4], 0x18
mov dword [esp], edi
call fcn.00891920
mov ebp, dword [edi + 4]
mov esi, dword [edi + 0x80]
jmp 0x457f03
mov dword [esp + 0x14], 0x217
mov dword [esp + 0x10], str.libavformat_aviobuf.c
mov dword [esp + 0xc], str.len___s__orig_buffer_size
mov dword [esp + 8], 0xc33031
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00891920
call sub.msvcrt.dll_abort
lea esi, [esi]
lea edi, [edi]