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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x480
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov eax, dword [0x1018fc64]
xor eax, ebp
mov dword [esp + 0x478], eax
cmp dword [edx + 0x18], 0
je 0x1000fa11
mov eax, dword [ecx + 0xc]
mov esi, 0xffffffea
test eax, eax
je 0x1000fa42
cmp dword [eax + 8], 3
jne 0x1000fa32
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [esi], 0
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movaps xmm0, xmmword [0x10134b50]
movups xmmword [eax + 0x10], xmm0
mov eax, dword [ecx + 0xc]
test byte [eax + 0x10], 0x20
jne 0x1000f9b7
cmp dword [edx + 0x1c], 0
je 0x1000fe36
movsd xmm0, qword [edx + 0x40]
movsd qword [esp + 0x60], xmm0
movups xmm0, xmmword [edx + 0x30]
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [edx + 0x20]
movaps xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
movaps xmmword [esp + 0x30], xmm1
movaps xmmword [esp + 0x20], xmm0
cmp dword [ecx + 0x334], 1
jne 0x1000fa5a
cmp dword [edx + 0x1c], 0
je 0x1000fa5a
push str.requesting_subtitles_recoding_without_iconv
push 0x10
push ecx
call fcn.1006fc50
add esp, 0xc
mov dword [esi], 0
mov esi, 0xffffffea
jmp 0x1000fa42
cmp dword [edx + 0x1c], 0
je 0x1000f96d
push str.invalid_packet:_NULL_data__size___0_n
push 0x10
push ecx
call fcn.1006fc50
add esp, 0xc
mov esi, 0xffffffea
jmp 0x1000fa42
push str.Invalid_media_type_for_subtitles_n
push 0x10
push ecx
call fcn.1006fc50
add esp, 0xc
mov ecx, dword [esp + 0x478]
xor ecx, ebp
call fcn.10102288
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [ecx + 0x1c]
lea esi, [ebx + 0x24]
lea edi, [ebx + 0x20]
lea eax, [esp + 0x20]
push 0
push sym.ffmpeg.dll_av_packet_copy_props
push eax
push esi
push edi
call fcn.1000ac00
add esp, 0x14
test eax, eax
js 0x1000fe2a
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x24]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x24]
mov dword [eax + 0x18], 1
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x18], 0
mov ebx, dword [ebp + 8]
jne 0x1000fabb
push eax
push esi
push edi
call fcn.1000ad30
add esp, 0xc
cmp eax, 0xfffffff5
je 0x10010047
mov esi, eax
test eax, eax
js 0x1000fa42
mov eax, dword [ebx + 0x304]
test eax, eax
je 0x1000fafa
mov esi, 0x80000000
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
xor esi, edx
or esi, ecx
je 0x1000fafa
push 0xf4240
push 1
push dword [ebx + 0x308]
push eax
push edx
push ecx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x18], eax
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x20]
push ecx
mov esi, dword [ebp + 0x10]
push esi
push dword [ebp + 0xc]
push ebx
call dword [eax + 0x58]
add esp, 0x10
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x360], 1
jne 0x1000fe31
cmp dword [esi], 0
je 0x1000fe31
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0xc], 0
je 0x1000fe4f
cmp dword [ebx + 0x304], 0
mov eax, 0x50
mov ecx, 0x308
cmove ecx, eax
mov eax, 0x4c
mov edx, 0x304
cmove edx, eax
mov eax, dword [ebx + edx]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + ecx]
mov dword [esp + 0x18], eax
lea edi, [esp + 0x78]
push 0x400
push 0xff
push edi
call fcn.10105ec0
add esp, 0xc
push 0xffffffffffffffff
push 0
push edi
call fcn.10067960
add esp, 0xc
cmp dword [esi + 0xc], 0
je 0x1000fe3d
xor ebx, ebx
jmp 0x1000fbac
add ebx, 1
cmp ebx, dword [esi + 0xc]
jae 0x1000fe3d
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [esi + 0x10]
mov edi, dword [eax + ebx*4]
cmp dword [edi + 0x74], 3
jne 0x1000fba0
push 0xa
push str.Dialogue:
push dword [edi + 0x7c]
call fcn.101154e0
add esp, 0xc
test eax, eax
je 0x1000fba0
add edi, 0x7c
lea eax, [esp + 0x78]
push eax
call fcn.10067f70
add esp, 4
push 0x2c
push dword [edi]
call fcn.10106020
add esp, 8
test eax, eax
je 0x1000fba0
add eax, 1
mov dword [esp + 0x70], eax
push 0xa
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.10111fb3
add esp, 0xc
mov ecx, dword [esp + 0x70]
cmp byte [ecx], 0x2c
jne 0x1000fba0
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
push 0x64
push 1
push dword [esp + 0x20]
push dword [esp + 0x28]
mov esi, dword [ebp + 0x14]
push dword [esi + 0xc]
push dword [esi + 8]
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x1000fc66
push 0x64
push 1
push dword [esp + 0x20]
push dword [esp + 0x28]
push ecx
push eax
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
jmp 0x1000fc6b
mov eax, 0xffffffff
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov dword [esp], eax
lea ecx, [eax + eax]
lea ecx, [ecx + ecx*4]
cmp edx, ecx
cmova ecx, edx
mov dword [esi + 8], ecx
push dword [esp + 0x10]
push str.Dialogue:__ld_
lea eax, [esp + 0x80]
push eax
call fcn.10067a20
add esp, 0xc
mov eax, dword [esp + 4]
cmp eax, 0xffffffff
je 0x1000fd1e
mov ecx, 0x5d34edef
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0x11
add edx, eax
mov dword [esp + 0x10], edx
imul eax, edx, 0xfffa81c0
add eax, dword [esp + 4]
mov dword [esp + 0xc], eax
mov ecx, 0x57619f1
imul ecx
mov ecx, edx
mov eax, edx
shr eax, 0x1f
sar ecx, 7
add ecx, eax
imul eax, ecx, 0xffffe890
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov edx, 0x51eb851f
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 5
add edx, eax
imul eax, edx, 0xffffff9c
add eax, dword [esp + 0xc]
push eax
push edx
push ecx
push dword [esp + 0x1c]
push str._d:_02d:_02d._02d_
lea eax, [esp + 0x8c]
push eax
call fcn.10067a20
add esp, 0x18
jmp 0x1000fd30
push str.9:59:59.99_
lea eax, [esp + 0x7c]
push eax
call fcn.10067a20
add esp, 8
add dword [esp + 8], 1
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x1000fdc2
add eax, dword [esp + 4]
cmp eax, 0xffffffff
je 0x1000fdc2
mov dword [esp], eax
mov ecx, 0x5d34edef
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0x11
add edx, eax
mov dword [esp + 4], edx
imul eax, edx, 0xfffa81c0
add eax, dword [esp]
mov dword [esp], eax
mov ecx, 0x57619f1
imul ecx
mov ecx, edx
mov eax, edx
shr eax, 0x1f
sar ecx, 7
add ecx, eax
imul eax, ecx, 0xffffe890
add eax, dword [esp]
mov dword [esp], eax
mov edx, 0x51eb851f
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 5
add edx, eax
imul eax, edx, 0xffffff9c
add eax, dword [esp]
push eax
push edx
push ecx
push dword [esp + 0x10]
push str._d:_02d:_02d._02d_
lea eax, [esp + 0x8c]
push eax
call fcn.10067a20
add esp, 0x18
jmp 0x1000fdd4
push str.9:59:59.99_
lea eax, [esp + 0x7c]
push eax
call fcn.10067a20
add esp, 8
push dword [esp + 8]
push str._s_r_n
lea eax, [esp + 0x80]
push eax
call fcn.10067a20
add esp, 0xc
push dword [esp + 0x78]
call fcn.10070c20
add esp, 4
mov dword [esp + 0x74], eax
test eax, eax
je 0x1001001e
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x7c], eax
jae 0x1001001e
push edi
call fcn.100709e0
add esp, 4
mov eax, dword [esp + 0x74]
mov dword [edi], eax
jmp 0x1000fba0
mov esi, eax
jmp 0x1000fa42
mov esi, dword [ebp + 0xc]
jmp 0x1000fe4f
xor esi, esi
jmp 0x1000fa42
push 0
lea eax, [esp + 0x7c]
push eax
call fcn.10067f90
add esp, 8
mov ebx, dword [ebp + 8]
mov edi, dword [esi + 0xc]
test edi, edi
je 0x1000fe60
cmp dword [esi + 8], 0
je 0x1000ff95
mov eax, dword [ebx + 0x30c]
mov ecx, dword [eax + 0x10]
test ecx, 0x10000
jne 0x1000fe7f
mov ax, 1
test ecx, 0x20000
jne 0x1000fe81
jmp 0x1000fe84
xor eax, eax
mov word [esi], ax
test edi, edi
je 0x1000ffd9
mov eax, dword [ebx + 0x334]
mov dword [esp + 4], eax
xor ecx, ecx
jmp 0x1000fea5
add ecx, 1
cmp ecx, edi
je 0x1000ffd6
cmp dword [esp + 4], 2
je 0x1000fe9a
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*4]
mov ebx, dword [eax + 0x7c]
test ebx, ebx
je 0x1000fe9a
mov dword [esp + 8], ecx
mov dword [esp], edi
movzx edx, byte [ebx]
test edx, edx
mov esi, dword [ebp + 0xc]
mov edi, dword [esp]
mov ecx, dword [esp + 8]
je 0x1000fe9a
cmp dl, 0xfd
ja 0x1000ff70
mov eax, edx
and eax, 0xffffffc0
cmp eax, 0x80
je 0x1000ff70
mov esi, edx
shr esi, 1
and esi, 0xffffffc0
mov ecx, 1
mov eax, 1
nop dword [eax + eax]
test esi, edx
je 0x1000ff23
movzx edi, byte [ebx + eax]
shl edx, 6
add edx, edi
add edx, 0xffffff80
add edi, 0xffffff80
shl esi, 5
add eax, 1
add ecx, 5
cmp edi, 0x40
jb 0x1000ff00
jmp 0x1000ff70
add esi, esi
add esi, 0xffffffff
and esi, edx
cmp eax, 1
je 0x1000ff3b
cmp eax, 2
jne 0x1000ff3f
mov edx, 0x80
jmp 0x1000ff46
xor edx, edx
jmp 0x1000ff46
mov edx, 1
shl edx, cl
mov ecx, esi
and ecx, 0xfffff800
cmp ecx, 0xd800
je 0x1000ff70
cmp esi, 0xfffe
je 0x1000ff70
cmp esi, 0x10ffff
ja 0x1000ff70
add ebx, eax
cmp esi, edx
jae 0x1000fec0
push str.Invalid_UTF_8_in_decoded_subtitles_text__maybe_missing__sub_charenc_option_n
push 0x10
mov ebx, dword [ebp + 8]
push ebx
call fcn.1006fc50
add esp, 0xc
push dword [ebp + 0xc]
call fcn.10008320
add esp, 4
mov esi, 0xbebbb1b7
jmp 0x1000ffdd
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov edx, eax
or edx, ecx
je 0x1000fe60
mov edx, dword [ebx + 0x304]
test edx, edx
je 0x1000fe60
push 0x3e8
push 1
push dword [ebx + 0x308]
push edx
push ecx
push eax
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov dword [esi + 8], eax
jmp 0x1000fe60
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
cmp eax, dword [esp + 0x38]
je 0x10010006
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x20]
push eax
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x1000fa42
add dword [ebx + 0x168], 1
jmp 0x1000fa42
lea eax, [esp + 0x74]
push eax
call fcn.100709e0
add esp, 4
push 0
lea eax, [esp + 0x7c]
push eax
call fcn.10067f90
add esp, 8
mov dword [esp + 0x14], 0xfffffff4
jmp 0x1000fe4c
push 0xa3
push str..._.._third_party_ffmpeg_libavcodec_decode.c
push str.ret______11__
push str.Assertion__s_failed_at__s:_d_n
push 0
push 0
call fcn.1006fc50
add esp, 0x18
call fcn.10112c55
int3