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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x4ec
cmp dword [esp + 0x50c], 0
mov dword [esp + 0x4b4], ecx
mov ebx, eax
mov dword [esp + 0x4b0], edx
jne 0x406265
call sub.avformat.dll_Ordinal_18
mov ecx, dword [section..data]
mov ebp, dword [0x426004]
lea edi, [ecx + 1]
lea esi, [ebp + 1]
or edi, esi
je 0x406c8e
mov esi, eax
sub esi, ecx
mov ecx, edx
sbb ecx, ebp
sub esi, 0x7a120
sbb ecx, 0
jl 0x4069c5
mov dword [section..data], eax
mov dword [0x426004], edx
mov ebx, dword [ebx]
add ebx, 0x10
push ebx
call sub.avformat.dll_url_fsize
add esp, 4
mov dword [esp + 0x480], eax
mov esi, edx
mov eax, esi
sub eax, 0
jl 0x406c77
cmp dword [esp + 0x4b4], 0
mov eax, dword [esp + 0x480]
fld qword [0x41e5d8]
fstp qword [esp + 0x488]
mov dword [0x9383f8], eax
mov byte [esp + 0x3c], 0
mov dword [0x9383fc], esi
jle 0x4066e5
movss xmm0, dword [0x41e6f4]
fldz
fst dword [esp + 0x484]
fld1
fdivrp st(1)
fstp qword [esp + 0x470]
mov dword [esp + 0x47c], esi
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esp + 0x4b0]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi + 0xc]
mov esi, dword [eax + 8]
test ebp, ebp
je 0x406379
cmp dword [esi + 0xe0], 0
jne 0x406672
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40632d
mov eax, edx
add edx, ecx
call fcn.00419690
mov ecx, dword [esi + 0x198]
cvtsi2ss xmm0, dword [ecx + 0x48]
divss xmm0, dword [0x41e6f4]
mov dword [esp + 8], str.q_2.1f
lea edx, [esp + eax + 0x3c]
mov dword [esp], edx
neg eax
add eax, 0x400
mov dword [esp + 4], eax
pxor xmm1, xmm1
movss xmm1, xmm0
cvtps2pd xmm2, xmm1
movsd qword [esp + 0xc], xmm2
call dword [sym.imp.MSVCR90.dll__snprintf]
mov eax, dword [edi + 0xc]
jmp 0x406672
cmp dword [esi + 0xe0], 0
jne 0x406672
call sub.avformat.dll_Ordinal_18
sub eax, dword [0x938418]
sbb edx, dword [0x93841c]
mov dword [esp + 0x490], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x494], edx
fild qword [esp + 0x490]
fdiv qword [0x41e5e0]
fstp dword [esp + 0x4a8]
movss xmm2, dword [esp + 0x4a8]
mov dword [esp + 0x478], eax
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4063f4
mov eax, edx
add edx, ecx
call fcn.00419690
movss xmm0, dword [0x41e6f8]
comiss xmm2, xmm0
jbe 0x406427
cvtsi2ss xmm0, dword [esp + 0x478]
divss xmm0, xmm2
pxor xmm1, xmm1
movss xmm1, xmm0
cvtps2pd xmm2, xmm1
addsd xmm2, qword [0x41e610]
cvttsd2si edx, xmm2
jmp 0x406429
xor edx, edx
mov ecx, dword [esi + 0x198]
test ecx, ecx
je 0x406442
cvtsi2ss xmm0, dword [ecx + 0x48]
divss xmm0, dword [0x41e6f4]
jmp 0x40644a
movss xmm0, dword [0x41e6f0]
mov dword [esp + 8], str.frame_5d_fps_3d_q_.1f
lea ecx, [esp + eax + 0x3c]
neg eax
add eax, 0x400
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
pxor xmm1, xmm1
movss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x14], xmm0
call dword [sym.imp.MSVCR90.dll__snprintf]
cmp dword [esp + 0x50c], 0
je 0x4064d7
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4064bc
mov eax, edx
add edx, ecx
call fcn.00419690
lea edx, [esp + eax + 0x3c]
push 0x41e784
neg eax
add eax, 0x400
push eax
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0xc
cmp dword [0x9384cc], 0
je 0x40665d
mov eax, dword [esi + 0x198]
test eax, eax
je 0x40665d
cvtsi2ss xmm0, dword [eax + 0x48]
divss xmm0, dword [0x41e6f4]
pxor xmm1, xmm1
movss xmm1, xmm0
cvtps2pd xmm2, xmm1
movsd qword [esp], xmm2
call sub.libmmd.dll_rint
fstp qword [esp + 0x4a8]
movsd xmm0, qword [esp + 0x4a8]
movsd qword [esp + 0x490], xmm0
fld qword [esp + 0x490]
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x498]
fldcw word [esp + 0x30]
mov eax, dword [esp + 0x498]
test eax, eax
jl 0x40656c
cmp eax, 0x34
jae 0x40656c
inc dword [eax*4 + 0x426f60]
movsd xmm0, qword [0x41e608]
xor ebp, ebp
call sub.libmmd.dll___libm_sse2_log
movsd qword [esp + 0x4a0], xmm0
mov dword [esp + 0x43c], edi
mov dword [esp + 0x468], ebx
lea edi, [esp + 0x3c]
mov edx, edi
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4065bc
mov eax, edx
add edx, ecx
call fcn.00419690
mov ebx, eax
mov eax, dword [ebp*4 + 0x426f60]
inc eax
cvtsi2sd xmm0, eax
call sub.libmmd.dll___libm_sse2_log
divsd xmm0, qword [esp + 0x4a0]
movsd qword [esp], xmm0
call sub.libmmd.dll_rint
fstp qword [esp + 0x4a8]
movsd xmm0, qword [esp + 0x4a8]
movsd qword [esp + 0x490], xmm0
lea edx, [edi + ebx]
neg ebx
add ebx, 0x400
fld qword [esp + 0x490]
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x498]
fldcw word [esp + 0x30]
push dword [esp + 0x498]
push 0x420e08
push ebx
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x10
inc ebp
cmp ebp, 0x20
jl 0x406596
mov edi, dword [esp + 0x43c]
mov ebx, dword [esp + 0x468]
test dword [esi + 0xc], 0x8000
jne 0x4069d0
mov eax, dword [edi + 0xc]
mov ebp, 1
cmp dword [0x938598], 0
je 0x406693
cmp dword [0x938590], 0
je 0x406693
fild qword [eax + 0x28]
fild dword [eax + 0x40]
fild dword [eax + 0x44]
fdivp st(1)
fmulp st(1)
jmp 0x4066a6
fild qword [eax + 0x28]
fild dword [eax + 0x40]
fild dword [eax + 0x44]
fdivp st(1)
fmulp st(1)
fadd qword [0x938428]
fld qword [esp + 0x488]
fcomp st(1)
fnstsw ax
sahf
jbe 0x4066ce
fcom dword [esp + 0x484]
fnstsw ax
fld qword [esp + 0x488]
sahf
fcmovnbe st(0), st(1)
fstp qword [esp + 0x488]
fstp st(0)
inc ebx
cmp ebx, dword [esp + 0x4b4]
jl 0x4062e0
mov esi, dword [esp + 0x47c]
fld qword [0x41e618]
fld qword [esp + 0x488]
fxch st(1)
fcom st(1)
fnstsw ax
sahf
fcmovbe st(0), st(1)
fstp st(1)
mov edi, dword [0x4264c0]
fstp qword [esp + 0x488]
test edi, edi
jne 0x40671c
cmp dword [esp + 0x50c], 0
je 0x4069c5
mov eax, dword [esp + 0x480]
lea edx, [esp + 0x3c]
mov ebp, eax
shr ebp, 0x1d
lea ebx, [eax*8]
lea ecx, [esi*8]
mov dword [esp + 0x490], ebx
or ebp, ecx
mov dword [esp + 0x494], ebp
fild qword [esp + 0x490]
fdiv qword [esp + 0x488]
fdiv qword [0x41e620]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x406782
mov eax, edx
add edx, ecx
call fcn.00419690
fld qword [esp + 0x488]
mov ecx, dword [esp + 0x480]
fstp qword [esp + 0x14]
fstp qword [esp + 0x1c]
mov dword [esp + 8], str.size_.0fkB_time_0.1f_bitrate_.1fkbits_s
lea edx, [esp + eax + 0x3c]
mov dword [esp + 0x490], ecx
mov dword [esp], edx
neg eax
add eax, 0x400
mov dword [esp + 4], eax
mov dword [esp + 0x494], esi
fild qword [esp + 0x490]
fmul qword [0x41e628]
fstp qword [esp + 0xc]
call dword [sym.imp.MSVCR90.dll__snprintf]
cmp edi, 1
jg 0x4067ed
test edi, edi
jge 0x40683c
call dword [sym.imp.MSVCR90.dll___iob_func]
mov ebx, eax
lea ebp, [ebx + 0x20]
jmp 0x40685b
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x406815
mov eax, edx
add edx, ecx
call fcn.00419690
lea edx, [esp + eax + 0x3c]
push dword [0x938694]
neg eax
add eax, 0x400
push dword [0x938698]
push str._dup_d_drop_d
push eax
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x14
call dword [sym.imp.MSVCR90.dll___iob_func]
mov ebx, eax
lea eax, [esp + 0x3c]
push eax
lea ebp, [ebx + 0x20]
push str._s_____r
push ebp
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
fld qword [esp + 0x488]
fstp qword [esp + 8]
mov dword [esp], ebp
mov dword [esp + 4], str.Time_____0.1f_r
call dword [sym.imp.MSVCR90.dll_fprintf]
push ebp
call dword [sym.imp.MSVCR90.dll_fflush]
add ebx, 0x40
push ebx
call dword [sym.imp.MSVCR90.dll_fflush]
add esp, 8
cmp dword [esp + 0x50c], 0
je 0x4069c5
test edi, edi
jl 0x4069c5
mov ebp, dword [0x938400]
mov edi, dword [0x938404]
mov ecx, dword [0x938408]
mov eax, dword [0x938410]
mov edx, dword [0x938414]
mov dword [esp + 0x34], ebp
add ebp, ecx
mov dword [esp + 0x440], edi
mov dword [esp + 0x30], ecx
mov ecx, dword [0x93840c]
adc edi, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x43c], edx
add ebp, eax
adc edi, edx
mov dword [esp + 0x444], ecx
push ebx
push 0x4235a0
call sub.MSVCR90.dll_fputs
add esp, 8
fld qword [0x41e628]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x444]
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], str.video:_1.0fkB_audio:_1.0fkB_global_headers:_1.0fkB_muxing_overhead__f___n
mov dword [esp], ebx
mov ebx, dword [esp + 0x440]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x494], edx
fild qword [esp + 0x490]
mov edx, dword [esp + 0x43c]
fmul st(1)
fstp qword [esp + 8]
mov dword [esp + 0x490], ecx
mov ecx, dword [esp + 0x480]
mov dword [esp + 0x494], ebx
fild qword [esp + 0x490]
fmul st(1)
fstp qword [esp + 0x10]
mov dword [esp + 0x490], eax
sub ecx, ebp
sbb esi, edi
mov dword [esp + 0x494], edx
fild qword [esp + 0x490]
fmulp st(1)
fstp qword [esp + 0x18]
mov dword [esp + 0x490], ecx
mov dword [esp + 0x494], esi
fild qword [esp + 0x490]
fmul qword [0x41e630]
mov dword [esp + 0x490], ebp
mov dword [esp + 0x494], edi
fild qword [esp + 0x490]
fdivp st(1)
fstp qword [esp + 0x20]
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x4ec
pop ebx
pop ebp
pop esi
pop edi
ret
mov byte [esp + 0x46c], 0x59
lea edx, [esp + 0x3c]
mov byte [esp + 0x46d], 0x55
mov byte [esp + 0x46e], 0x56
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x406a10
mov eax, edx
add edx, ecx
call fcn.00419690
lea edx, [esp + eax + 0x3c]
push str.PSNR
neg eax
add eax, 0x400
push eax
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0xc
fld dword [esp + 0x484]
mov eax, dword [esp + 0x478]
fld dword [esp + 0x484]
fstp qword [esp + 0x460]
fstp qword [esp + 0x458]
mov dword [esp + 0x490], eax
fild dword [esp + 0x490]
fmul qword [0x41e5e8]
fstp qword [esp + 0x448]
mov dword [esp + 0x43c], edi
mov edi, dword [esp + 0x50c]
xor ebp, ebp
mov dword [esp + 0x468], ebx
mov eax, dword [esi + 0x28]
imul eax, dword [esi + 0x2c]
mov dword [esp + 0x490], eax
fild dword [esp + 0x490]
test edi, edi
je 0x406aba
fmul qword [esp + 0x448]
fild qword [esi + ebp*8 + 0x1a8]
mov eax, dword [esi + ebp*8 + 0x1ac]
shr eax, 0x1f
fadd qword [eax*8 + 0x41e580]
jmp 0x406ada
fld qword [0x41e5e8]
fmulp st(1)
mov eax, dword [esi + 0x198]
fild qword [eax + ebp*8 + 0x78]
mov edx, dword [eax + ebp*8 + 0x7c]
shr edx, 0x1f
fadd qword [edx*8 + 0x41e580]
test ebp, ebp
je 0x406ae6
fld qword [0x41e600]
fmulp st(2)
fld qword [esp + 0x460]
fadd st(1)
fld qword [esp + 0x458]
fxch st(1)
fstp qword [esp + 0x460]
fadd st(2)
fstp qword [esp + 0x458]
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x406b30
mov eax, edx
add edx, ecx
call fcn.00419690
fdivrp st(1)
fld dword [esp + 0x484]
mov ebx, eax
fucomp st(1)
fnstsw ax
sahf
jp 0x406b44
je 0x406b76
fstp qword [esp]
call sub.libmmd.dll_log.J
fld qword [0x41e5f8]
fxch st(1)
fstp qword [esp + 0x450]
fstp qword [esp]
call sub.libmmd.dll_log.J
fld qword [esp + 0x450]
fld qword [0x41e5f0]
fmulp st(1)
fdivrp st(1)
jmp 0x406b7f
fstp st(0)
fld qword [esp + 0x470]
movsx edx, byte [esp + ebp + 0x46c]
fstp qword [esp + 0x10]
lea eax, [esp + ebx + 0x3c]
neg ebx
add ebx, 0x400
mov dword [esp + 8], str._c:_.2f
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
call dword [sym.imp.MSVCR90.dll__snprintf]
inc ebp
cmp ebp, 3
jl 0x406a80
fld qword [esp + 0x460]
fld qword [esp + 0x458]
mov edi, dword [esp + 0x43c]
mov ebx, dword [esp + 0x468]
lea edx, [esp + 0x3c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x406bfe
mov eax, edx
add edx, ecx
call fcn.00419690
fdivp st(1)
fld dword [esp + 0x484]
mov ebp, eax
fucomp st(1)
fnstsw ax
sahf
jp 0x406c12
je 0x406c44
fstp qword [esp]
call sub.libmmd.dll_log.J
fld qword [0x41e5f8]
fxch st(1)
fstp qword [esp + 0x440]
fstp qword [esp]
call sub.libmmd.dll_log.J
fld qword [esp + 0x440]
fld qword [0x41e5f0]
fmulp st(1)
fdivrp st(1)
jmp 0x406c4d
fstp st(0)
fld qword [esp + 0x470]
fstp qword [esp + 0xc]
mov dword [esp + 8], str.:_.2f
lea eax, [esp + ebp + 0x3c]
mov dword [esp], eax
neg ebp
add ebp, 0x400
mov dword [esp + 4], ebp
call dword [sym.imp.MSVCR90.dll__snprintf]
jmp 0x40666a
push ebx
call sub.avformat.dll_Ordinal_244
add esp, 4
mov dword [esp + 0x480], eax
mov esi, edx
jmp 0x406287
mov dword [section..data], eax
mov dword [0x426004], edx
add esp, 0x4ec
pop ebx
pop ebp
pop esi
pop edi
ret