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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
cmp dword [ecx + 0x18], 0
mov dword [esp], ecx
je 0x10039d3e
mov dword [esp + 0x4c], 0
xor eax, eax
add eax, 0xffffffff
mov edx, 0x80000000
adc edx, 0xffffffff
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], edx
mov dword [esp + 8], edx
mov dword [esp + 0x28], 0x80000000
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0x80000000
xor edi, edi
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0x80000000
mov dword [esp + 0x50], 0
mov dword [esp + 0x2c], 0x80000000
jmp 0x100396db
mov esi, dword [esp + 0x50]
cmp eax, esi
mov ecx, edx
mov ebx, dword [esp + 0x2c]
sbb ecx, ebx
cmovge ebx, edx
mov dword [esp + 0x2c], ebx
cmovge esi, eax
mov dword [esp + 0x50], esi
mov ecx, dword [esp]
add edi, 1
cmp edi, dword [ecx + 0x18]
jae 0x100399f6
mov eax, dword [ecx + 0x1c]
mov esi, dword [eax + edi*4]
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
and eax, 0xfffffffe
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, ecx
mov ebx, 0x80000000
xor edx, ebx
or edx, eax
je 0x10039998
mov edx, dword [esi + 0x14]
test edx, edx
je 0x10039998
mov dword [esp + 0x10], edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x1c], edi
push 0xf4240
push 1
push edx
push edi
push ecx
push eax
mov dword [esp + 0x30], edx
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
mov edi, edx
mov ecx, eax
cmp eax, dword [esp + 0x14]
mov eax, edx
sbb eax, dword [esp + 8]
setl byte [esp + 0x38]
mov ebx, dword [esp + 0x34]
cmp ecx, ebx
mov eax, ecx
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, dword [esp + 0x30]
sbb ecx, edx
mov ecx, ebx
cmovl ecx, eax
mov eax, edx
cmovl eax, edi
cmp dword [esp + 0xc], 2
cmovne edx, eax
mov dword [esp + 0x30], edx
cmovne ebx, ecx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 4]
sete cl
test byte [esp + 0x38], cl
mov dword [esp + 0x38], edi
mov eax, dword [esp + 8]
cmovne eax, edi
mov dword [esp + 8], eax
mov edi, 0x80000000
mov eax, dword [esp + 0x14]
cmovne eax, ebx
mov dword [esp + 0x14], eax
push 0x2005
push 0xf4240
push 1
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esi + 0x24]
mov dword [esp + 0x60], esi
push dword [esi + 0x20]
call fcn.10070540
add esp, 0x1c
mov ecx, edx
xor ecx, edi
or ecx, eax
jne 0x100397df
xor edi, edi
mov esi, 0x80000000
mov edx, dword [esp]
jmp 0x10039890
cmp eax, 1
mov ecx, edx
sbb ecx, 0
jl 0x10039811
mov edi, edx
not edi
mov ecx, 0x80000000
add edi, ecx
mov ecx, eax
not ecx
cmp ecx, ebx
mov ecx, eax
mov eax, ebx
mov ebx, edx
mov esi, dword [esp + 0x38]
sbb edi, esi
mov edx, dword [esp]
jge 0x10039835
mov edi, ecx
mov esi, ebx
jmp 0x10039890
mov esi, eax
neg esi
mov ecx, 0x80000000
sbb ecx, edx
cmp ebx, esi
mov edi, eax
mov ebx, edx
mov esi, dword [esp + 0x38]
mov eax, esi
sbb eax, ecx
mov eax, dword [esp + 4]
mov ecx, edi
mov edx, dword [esp]
jl 0x1003980b
add ecx, eax
adc ebx, esi
mov eax, dword [esp + 0xc]
cmp eax, 2
jne 0x10039867
mov edx, dword [esp + 0x20]
cmp ecx, edx
mov eax, ebx
mov edi, dword [esp + 0x24]
sbb eax, edi
cmovge edi, ebx
mov dword [esp + 0x24], edi
cmovge edx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp]
mov esi, ebx
mov edi, ecx
jmp 0x10039890
mov edi, ecx
mov ecx, dword [esp + 0x4c]
cmp edi, ecx
mov eax, ebx
mov edx, dword [esp + 0x28]
sbb eax, edx
cmovge edx, ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp]
mov esi, ebx
cmovge ecx, edi
mov dword [esp + 0x4c], ecx
nop word [eax + eax]
mov ecx, edx
mov edx, dword [edx + 0x468]
test edx, edx
je 0x10039990
mov eax, edx
xor ebx, ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], esi
jmp 0x100398c0
mov ecx, edx
mov edx, dword [edx + 0x468]
test edx, edx
je 0x10039990
mov edi, dword [ecx + 0x46c]
test edx, edx
mov eax, 1
cmove edx, eax
xor esi, esi
mov ecx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
jmp 0x100398ed
xor ecx, ecx
add esi, 1
cmp esi, edx
je 0x10039990
mov ebx, dword [edi + esi*4]
cmp ebx, ecx
je 0x100398e0
test ecx, ecx
jne 0x100398e2
mov eax, dword [ebx + 0x10]
mov ecx, 0
test eax, eax
je 0x100398e2
mov ecx, dword [ebx + 0xc]
xor edx, edx
nop dword [eax]
mov edi, dword [esp + 0x10]
cmp dword [ecx + edx*4], edi
je 0x10039930
add edx, 1
cmp eax, edx
jne 0x10039910
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
jmp 0x100398e2
test ebx, ebx
je 0x10039990
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x2c]
mov edx, eax
mov esi, 0x80000000
xor edx, esi
or edx, ecx
mov edx, dword [esp]
mov esi, dword [esp + 0x38]
je 0x10039958
cmp dword [esp + 4], ecx
mov ecx, esi
sbb ecx, eax
jge 0x10039962
mov eax, dword [esp + 4]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], esi
mov eax, dword [ebx + 0x34]
mov edi, dword [esp + 0x68]
cmp dword [ebx + 0x30], edi
mov esi, dword [esp + 0x64]
sbb eax, esi
jge 0x100398b0
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x34], esi
jmp 0x100398b0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov edx, ecx
mov ebx, 0x80000000
xor edx, ebx
or edx, eax
je 0x100396cc
push 0xf4240
push 1
push dword [esi + 0x14]
push dword [esi + 0x10]
push ecx
push eax
call sym.ffmpeg.dll_av_rescale_q
add esp, 0x18
cmp dword [esp + 0xc], 2
jne 0x100396b0
mov esi, edi
mov edi, dword [esp + 0x40]
cmp eax, edi
mov ecx, edx
mov ebx, dword [esp + 0x44]
sbb ecx, ebx
cmovge ebx, edx
mov dword [esp + 0x44], ebx
cmovge edi, eax
mov dword [esp + 0x40], edi
mov edi, esi
jmp 0x100396cc
xor eax, eax
add eax, 0xffffffff
mov ecx, 0x80000000
adc ecx, 0xffffffff
mov esi, dword [esp + 0x34]
xor eax, esi
mov ebx, dword [esp + 0x30]
xor ecx, ebx
or ecx, eax
jne 0x10039a30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
jmp 0x10039b0d
mov edi, dword [esp + 0x14]
cmp edi, esi
mov eax, dword [esp + 8]
sbb eax, ebx
setl al
mov ecx, esi
sub ecx, edi
mov edx, ebx
sbb edx, dword [esp + 8]
cmp ecx, 0xf4240
sbb edx, 0
setb byte [esp + 0xc]
setb dl
test al, dl
mov eax, edi
mov ecx, dword [esp + 8]
mov edx, ebx
cmovne edx, ecx
mov edi, esi
cmovne edi, eax
mov dword [esp + 0x10], edi
cmp byte [esp + 0xc], 0
jne 0x10039a1f
cmp eax, esi
mov dword [esp + 0x34], esi
mov esi, ecx
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x30], ebx
sbb eax, ebx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
jge 0x10039b0d
movd xmm0, dword [esp + 0x14]
movd xmm1, esi
punpckldq xmm0, xmm1
movq qword [esp + 0xa8], xmm0
fild qword [esp + 0xa8]
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x74]
divss xmm0, dword [0x1014c288]
cvtss2sd xmm0, xmm0
sub esp, 0x14
mov eax, dword [esp + 0x14]
mov dword [esp], eax
movsd qword [esp + 0xc], xmm0
mov dword [esp + 8], str.Ignoring_outlier_non_primary_stream_starttime__f_n
mov dword [esp + 4], 0x28
call fcn.1006fc50
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add esp, 0x14
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov eax, edi
mov edx, 0x80000000
xor eax, edx
mov esi, dword [esp + 0x4c]
or eax, esi
jne 0x10039b2f
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ebx
jmp 0x10039bd9
cmp esi, ecx
mov eax, edi
sbb eax, ebx
setl byte [esp + 4]
mov eax, ebx
mov ebx, ecx
sub ecx, esi
mov edx, eax
sbb edx, edi
cmp ecx, 0xf4240
sbb edx, 0
setb cl
setb dl
test byte [esp + 4], dl
mov edx, eax
mov eax, edi
cmovne eax, edx
mov dword [esp + 0x18], eax
mov eax, esi
cmovne eax, ebx
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x10039bd9
cmp esi, ebx
mov eax, edi
sbb eax, edx
jge 0x10039bd9
movd xmm0, ebx
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0xa0], xmm0
fild qword [esp + 0xa0]
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x70]
divss xmm0, dword [0x1014c288]
cvtss2sd xmm0, xmm0
sub esp, 0x14
mov eax, dword [esp + 0x14]
mov dword [esp], eax
movsd qword [esp + 0xc], xmm0
mov dword [esp + 8], str.Ignoring_outlier_non_primary_stream_endtime__f_n
mov dword [esp + 4], 0x28
call fcn.1006fc50
add esp, 0x14
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x2c]
mov eax, edx
mov ecx, 0x80000000
xor eax, ecx
mov edi, dword [esp + 0x50]
or eax, edi
jne 0x10039c07
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov esi, dword [esp + 0xc]
jmp 0x10039cc5
mov ebx, dword [esp + 0x40]
cmp edi, ebx
mov eax, edx
mov esi, dword [esp + 0x44]
sbb eax, esi
setl byte [esp + 4]
mov eax, edx
mov ecx, ebx
sub ecx, edi
mov edx, esi
sbb edx, eax
cmp ecx, 0xf4240
sbb edx, 0
setl cl
setl dl
test byte [esp + 4], dl
mov dword [esp + 0x2c], eax
cmovne eax, esi
mov dword [esp + 4], eax
mov eax, edi
cmovne eax, ebx
mov dword [esp + 8], eax
test cl, cl
jne 0x10039bfe
cmp edi, ebx
mov ecx, esi
mov eax, dword [esp + 0x2c]
sbb eax, esi
mov esi, dword [esp + 0xc]
jge 0x10039cc5
movd xmm0, ebx
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0x98], xmm0
fild qword [esp + 0x98]
fstp dword [esp + 0x6c]
movss xmm0, dword [esp + 0x6c]
divss xmm0, dword [0x1014c288]
cvtss2sd xmm0, xmm0
sub esp, 0x14
mov eax, dword [esp + 0x14]
mov dword [esp], eax
movsd qword [esp + 0xc], xmm0
mov dword [esp + 8], str.Ignoring_outlier_non_primary_stream_duration__f_n
mov dword [esp + 4], 0x28
call fcn.1006fc50
add esp, 0x14
mov dword [esp + 8], edi
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
xor eax, eax
add eax, 0xffffffff
mov ecx, 0x80000000
adc ecx, 0xffffffff
mov edx, dword [esp + 0x10]
xor eax, edx
xor ecx, esi
or ecx, eax
jne 0x10039ce3
mov ecx, dword [esp]
jmp 0x10039d0d
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov ecx, 0x80000000
xor eax, ecx
mov edi, dword [esp + 0x1c]
or eax, edi
mov eax, dword [esp]
mov dword [eax + 0x428], edx
mov dword [eax + 0x42c], esi
jne 0x10039e3f
mov ecx, eax
mov esi, dword [esp + 8]
cmp esi, 1
mov edx, dword [esp + 4]
mov eax, edx
sbb eax, 0
jl 0x10039d3e
mov eax, 0x80000000
xor eax, dword [ecx + 0x434]
or eax, dword [ecx + 0x430]
jne 0x10039d3e
mov dword [ecx + 0x430], esi
mov dword [ecx + 0x434], edx
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x10039e37
push eax
call fcn.1003bc90
add esp, 4
cmp eax, 1
mov ecx, edx
sbb ecx, 0
jl 0x10039e37
mov esi, dword [esp]
mov ecx, dword [esi + 0x430]
mov esi, dword [esi + 0x434]
cmp ecx, 1
mov edi, esi
sbb edi, 0
jl 0x10039e37
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0x90], xmm0
fild qword [esp + 0x90]
fstp qword [esp + 0x88]
movsd xmm0, qword [esp + 0x88]
mulsd xmm0, qword [0x1014c290]
mulsd xmm0, qword [0x1014c298]
movd xmm1, ecx
movd xmm2, esi
punpckldq xmm1, xmm2
movq qword [esp + 0x80], xmm1
fild qword [esp + 0x80]
fstp qword [esp + 0x78]
divsd xmm0, qword [esp + 0x78]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10039e37
movsd xmm1, qword [0x1014c2a0]
ucomisd xmm1, xmm0
jb 0x10039e37
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fnstcw word [esp + 0x3e]
movzx eax, word [esp + 0x3e]
or eax, 0xc00
mov word [esp + 0x56], ax
fldcw word [esp + 0x56]
fistp qword [esp + 0x58]
fldcw word [esp + 0x3e]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp]
mov dword [edx + 0x43c], ecx
mov dword [edx + 0x438], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0x468]
cmp ecx, 2
jb 0x10039ebc
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x46c]
mov dword [esp + 0xc], eax
xor edi, edi
jmp 0x10039e70
mov ecx, dword [esp]
add edi, 1
cmp dword [esp + 0x10], edi
je 0x10039d0d
mov eax, dword [esp + 0xc]
mov esi, dword [eax + edi*4]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov ebx, edx
mov eax, 0x80000000
xor ebx, eax
or ebx, ecx
je 0x10039e60
mov ebx, dword [esi + 0x30]
mov esi, dword [esi + 0x34]
cmp ecx, ebx
mov eax, edx
sbb eax, esi
jge 0x10039e60
sub ebx, ecx
sbb esi, edx
js 0x10039e60
mov edx, dword [esp + 8]
cmp ebx, edx
mov eax, esi
mov ecx, dword [esp + 4]
sbb eax, ecx
cmovge ecx, esi
mov dword [esp + 4], ecx
cmovge edx, ebx
mov dword [esp + 8], edx
jmp 0x10039e60
cmp edi, edx
mov eax, ebx
sbb eax, esi
jl 0x10039cde
sub edi, edx
sbb ebx, esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
js 0x10039cde
cmp edi, edx
mov eax, ebx
sbb eax, ecx
cmovge ecx, ebx
mov dword [esp + 4], ecx
cmovge edx, edi
mov dword [esp + 8], edx
jmp 0x10039cde