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

Disassembly:
push ebp
push edi
push esi
mov esi, ecx
push ebx
mov ebx, edx
sub esp, 0x6c
mov ebp, dword [edx + 0xd0]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], 1
call sub.avutil_59.dll_av_frame_alloc
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x1001594e
mov dword [esp], ebp
call sub.avcodec_61.dll_avcodec_is_open
mov esi, eax
mov eax, dword [ebx + 0x100]
test esi, esi
je 0x10015400
mov edx, dword [eax + 0x3c]
test edx, edx
jne 0x10015848
mov dword [eax + 0x3c], 1
xor esi, esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.avcodec_61.dll_avpriv_codec_get_cap_skip_frame_fill_param
mov dword [esp + 0x28], eax
test eax, eax
je 0x10015320
mov eax, dword [ebp + 0x270]
mov dword [esp + 0x28], 1
mov dword [ebp + 0x270], 0x30
mov dword [esp + 0x2c], eax
xor eax, eax
test edi, edi
setg al
mov edi, eax
test edi, edi
jne 0x1001534a
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x1001551c
mov ecx, dword [esp + 0x38]
xor edi, edi
test ecx, ecx
je 0x1001551c
test esi, esi
js 0x1001551c
mov eax, dword [ebx + 0xd0]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 8]
test ecx, ecx
jne 0x10015528
cmp edx, 2
jne 0x100153aa
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + 4]
cmp edx, 0x1b
jne 0x100154fd
mov edx, dword [ebx + 0x100]
test edx, edx
je 0x100154fd
mov ecx, dword [eax + 0x9c]
test ecx, ecx
jne 0x100157d8
xor edx, edx
cmp dword [ebx + 0x148], 6
setg dl
test edx, edx
jne 0x100154fd
mov edx, dword [ebp + 8]
mov dword [esp + 0x38], 0
cmp edx, 1
jbe 0x100155b0
cmp edx, 3
je 0x100156d0
test edi, edi
jne 0x10015870
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100153e1
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x270], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
call sub.avutil_59.dll_av_frame_free
add esp, 0x6c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [eax + 0x3c]
test edx, edx
jg 0x100152f1
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx + 4]
mov esi, ecx
add esi, edx
jne 0x1001541f
test ecx, ecx
jne 0x10015858
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov dword [esp + 0x40], 0
call fcn.10014be0
mov esi, eax
test eax, eax
je 0x1001592c
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x10015880
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10084e71
mov dword [esp + 4], str.threads
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10084e7b
mov dword [esp + 4], str.lowres
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x114]
test eax, eax
je 0x100154ca
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x10084e84
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
mov eax, dword [esp + 0x80]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call sub.avcodec_61.dll_avcodec_open2
mov esi, eax
mov eax, dword [ebx + 0x100]
test esi, esi
js 0x1001591d
mov dword [eax + 0x3c], 1
jmp 0x100152f1
mov ecx, dword [ebx + 0x2e0]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x1001551c
mov edx, dword [ebp + 0xc]
test byte [edx + 0x11], 4
jne 0x100153aa
mov edi, esi
jmp 0x100153cf
cmp edx, 1
je 0x10015640
cmp edx, 3
je 0x10015620
test edx, edx
jne 0x1001536b
mov edx, dword [eax + 0x60]
test edx, edx
je 0x100153aa
mov edx, dword [ebx + 0x100]
mov ecx, dword [edx + 0x3c]
test ecx, ecx
js 0x10015564
cmp dword [eax + 0x78], 0xffffffff
je 0x100153aa
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x24], edx
mov edx, dword [edx + 4]
lea ecx, [edx - 0x44]
cmp ecx, 1
ja 0x10015371
mov ecx, dword [ebx + 0x2e0]
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x1c], ecx
test edx, edx
jne 0x10015507
mov edx, dword [esp + 0x24]
or ecx, dword [edx + 0x40]
jne 0x10015507
mov edx, dword [ebp + 8]
mov dword [esp + 0x38], 0
cmp edx, 1
ja 0x100153be
mov eax, dword [esp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.avcodec_61.dll_avcodec_send_packet
test eax, eax
jns 0x10015760
cmp eax, 0xfffffff5
je 0x10015758
cmp eax, 0xdfb9b0bb
jne 0x10015947
mov eax, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.avcodec_61.dll_avcodec_receive_frame
mov esi, eax
test eax, eax
js 0x1001572a
add dword [ebx + 0x148], 1
mov dword [esp + 0x38], 1
test edi, edi
je 0x10015785
mov eax, dword [ebx + 0xd0]
mov esi, edi
mov edi, 1
jmp 0x10015358
cmp ecx, 0x17006
jne 0x1001536b
mov ecx, dword [eax + 0x60]
test ecx, ecx
jne 0x1001536b
jmp 0x100153aa
mov edx, dword [eax + 0x150]
test edx, edx
jne 0x10015670
cmp ecx, 0x1502a
je 0x100153aa
ja 0x10015830
lea edx, [ecx - 0x15000]
cmp edx, 1
jbe 0x100153aa
lea esi, cs:[esi]
mov edx, dword [ebx + 0x100]
mov edx, dword [edx + 0x3c]
test edx, edx
js 0x100157a0
cmp dword [eax + 0x134], 0xffffffff
je 0x100153aa
mov edx, dword [eax + 0x130]
test edx, edx
je 0x100153aa
mov edx, dword [eax + 0x13c]
test edx, edx
je 0x100153aa
mov edx, dword [ebx + 0x148]
test edx, edx
jne 0x1001536b
cmp ecx, 0x15004
jne 0x1001536b
jmp 0x100153aa
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x40]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
call sub.avcodec_61.dll_avcodec_decode_subtitle2
lea edx, [esp + 0x40]
mov esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x100157c8
test esi, esi
js 0x10015790
mov esi, dword [esp + 0x38]
test esi, esi
je 0x1001532d
add dword [ebx + 0x148], 1
jmp 0x1001532d
xor edi, edi
cmp esi, 0xfffffff5
je 0x1001573b
cmp esi, 0xdfb9b0bb
jne 0x10015329
mov esi, dword [esp + 0x38]
test esi, esi
je 0x10015862
add dword [ebx + 0x148], 1
jmp 0x10015329
test eax, eax
js 0x100155dc
mov eax, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.avcodec_61.dll_avcodec_receive_frame
mov esi, eax
test eax, eax
js 0x10015728
add dword [ebx + 0x148], 1
mov dword [esp + 0x38], 1
mov esi, 1
jmp 0x1001532d
test edi, edi
je 0x1001532d
mov edi, esi
jmp 0x100153cf
mov edx, dword [eax + 0x130]
test edx, edx
je 0x100153aa
mov ecx, dword [eax + 0x13c]
test ecx, ecx
jne 0x1001536b
jmp 0x100153aa
mov dword [esp], edx
call sub.avcodec_61.dll_avsubtitle_free
jmp 0x10015702
mov dword [esp], eax
call sub.avcodec_61.dll_avpriv_h264_has_num_reorder_frames
mov edx, eax
mov eax, dword [ebx + 0xd0]
mov ecx, dword [eax + 0x9c]
cmp edx, ecx
je 0x100154fd
mov edx, dword [ebx + 0x148]
mov dword [esp + 0x1c], edx
cmp ecx, 2
jle 0x10015396
cmp edx, 0x13
setg dl
movzx edx, dl
cmp ecx, 3
jne 0x100153a2
xor edx, edx
cmp dword [esp + 0x1c], 0x11
setg dl
jmp 0x100153a2
cmp ecx, 0x15043
jne 0x10015670
jmp 0x100153aa
jns 0x10015958
mov edi, 0xffffffff
jmp 0x100153e1
test edx, edx
je 0x100152e8
jmp 0x1001584e
test edi, edi
je 0x1001532d
mov eax, dword [ebx + 0xd0]
xor esi, esi
jmp 0x10015615
lea eax, [esp + 0x40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10084e71
mov dword [esp + 4], str.threads
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
lea eax, [esp + 0x40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10084e7b
mov dword [esp + 4], str.lowres
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x114]
test eax, eax
je 0x100158f6
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x10084e84
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_set
lea eax, [esp + 0x40]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ebp
call sub.avcodec_61.dll_avcodec_open2
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call sub.avutil_59.dll_av_dict_free
jmp 0x100154e3
mov edx, dword [ebp + 0x10]
mov edi, esi
neg edx
mov dword [eax + 0x3c], edx
jmp 0x100153e1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x100]
mov edi, 0xffffffff
mov eax, dword [eax + 4]
neg eax
mov dword [edx + 0x3c], eax
jmp 0x100153e1
mov edi, eax
jmp 0x100153cf
mov edi, 0xfffffff4
jmp 0x100153ed
xor esi, esi
jmp 0x100152f1