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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
test eax, eax
jle 0x1000f294
mov ebp, dword [edi + 0xc]
mov esi, dword [esp + 0x48]
nop
mov ecx, dword [edi + 0x10]
mov eax, ecx
sub eax, ebp
cmp eax, esi
cmovg eax, esi
mov ebx, eax
test eax, eax
je 0x1000f15d
mov eax, dword [edi + 0x38]
test eax, eax
je 0x1000f358
mov eax, dword [edi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x5c]
test eax, eax
jne 0x1000f176
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
cmp eax, esi
jge 0x1000f188
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x1000f2d0
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
mov ebx, dword [edi + 0x3c]
mov eax, 0x8000
test ebx, ebx
cmovne eax, ebx
mov ebx, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x1c], ebx
mov edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x10]
add eax, edx
cmp eax, ebx
jg 0x1000f1c0
sub dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp ebp, ecx
jb 0x1000f1d0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1000f430
mov ebx, dword [edi + 0x30]
test ebx, ebx
jne 0x1000f282
mov eax, dword [edi + 0x4c]
mov ebp, dword [esp + 0x18]
cmp dword [esp + 0x1c], ebp
jne 0x1000f1f0
test eax, eax
jne 0x1000f440
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1000f410
mov ebx, dword [edi + 0xc0]
test ebx, ebx
je 0x1000f220
cmp ebx, dword [edi + 8]
jge 0x1000f220
mov eax, dword [esp + 0x10]
cmp ebx, eax
jle 0x1000f480
lea esi, cs:[esi]
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
call eax
mov ecx, eax
cmp eax, 0xdfb9b0bb
je 0x1000f380
test eax, eax
js 0x1000f415
mov ebp, dword [esp + 0x18]
cdq
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], edx
add ecx, ebp
add eax, dword [edi + 0xa8]
adc edx, dword [edi + 0xac]
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ecx
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], edx
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], edx
cmp ecx, ebp
jne 0x1000f140
cmp dword [esp + 0x48], esi
jne 0x1000f345
mov ebx, dword [edi + 0x34]
test ebx, ebx
jne 0x1000f34b
mov edx, dword [edi + 0x30]
test edx, edx
je 0x1000f34b
mov dword [edi + 0x30], 0
mov eax, edi
call fcn.1000a8a0
mov eax, dword [edi + 0x30]
test eax, eax
mov eax, 0xdfb9b0bb
cmovne ebx, eax
jmp 0x1000f34b
mov edx, dword [esp + 0x14]
test edx, edx
je 0x1000f181
mov eax, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call edx
cmp eax, 0xdfb9b0bb
je 0x1000f497
test eax, eax
js 0x1000f4a3
mov ebp, dword [edi + 4]
mov ebx, eax
mov ecx, eax
sar ebx, 0x1f
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], ebx
add ecx, dword [edi + 0xa8]
adc ebx, dword [edi + 0xac]
add dword [esp + 0x44], eax
sub esi, eax
mov dword [edi + 0xa8], ecx
mov dword [edi + 0xac], ebx
mov dword [edi + 0x78], ecx
mov dword [edi + 0x7c], ebx
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ebp
test esi, esi
jg 0x1000f140
mov ebx, dword [esp + 0x48]
sub ebx, esi
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x44]
mov dword [esp + 4], ebp
sub esi, ebx
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebp, dword [edi + 0xc]
add dword [esp + 0x44], ebx
add ebp, ebx
mov dword [edi + 0xc], ebp
jmp 0x1000f33d
mov ecx, dword [edi + 0x10]
mov ebp, dword [edi + 0xc]
mov dword [edi + 0x30], 1
jmp 0x1000f282
mov eax, dword [esp + 0x18]
cmp eax, dword [edi + 0xc]
je 0x1000f48e
mov dword [esp], ebx
call sub.avutil_59.dll_av_malloc
mov dword [esp + 0x18], eax
mov ebp, eax
test eax, eax
je 0x1000f4c1
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.1006c9b0
mov eax, dword [edi + 0x38]
mov dword [edi + 4], ebp
mov edx, ebp
mov dword [edi + 8], ebx
mov dword [edi + 0xc0], ebx
mov dword [edi + 0x70], ebp
mov dword [edi + 0xc], ebp
test eax, eax
je 0x1000f3ea
lea edx, [ebp + ebx]
mov eax, 1
mov dword [edi + 0x10], edx
mov dword [edi + 0x38], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x18]
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1000f220
lea esi, [esi]
mov ecx, 0xffffffea
mov dword [edi + 0x34], ecx
mov ebp, dword [edi + 0xc]
mov dword [edi + 0x30], 1
mov ecx, dword [edi + 0x10]
jmp 0x1000f282
mov dword [edi + 0x30], 1
jmp 0x1000f282
mov ebx, dword [edi + 0x48]
cmp ebx, ecx
jae 0x1000f46a
sub ecx, ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x44]
mov dword [esp], ecx
call eax
mov dword [edi + 0x44], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x48], eax
jmp 0x1000f1f0
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x18], edx
je 0x1000f398
mov dword [esp + 0x10], ebx
jmp 0x1000f220
mov dword [edi + 0x30], 1
jmp 0x1000f28a
mov ebx, eax
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x30], 1
sub eax, esi
cmp dword [esp + 0x48], esi
cmovne ebx, eax
jmp 0x1000f34b
mov dword [esp + 8], str.Failed_to_decrease_buffer_size_n
mov dword [esp + 4], 0x18
mov dword [esp], edi
call sub.avutil_59.dll_av_log
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc0]
mov dword [esp + 0x10], eax
jmp 0x1000f3f4