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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xffffffe0
sub esp, 0x160
emms
mov eax, dword [ebp + 8]
imul eax, dword [eax + 4], 0x2a8
mov dword [esp], eax
call fcn.00a2dc90
mov edi, dword [ebp + 8]
test eax, eax
mov dword [edi + 0x7720], eax
je 0xad6c56
imul edx, dword [edi + 4], 0x2a8
mov edi, eax
cmp edx, 8
jae 0xad7a9f
test dl, 4
jne 0xad6ca0
test dl, 2
jne 0xad6cb2
test dl, 1
jne 0xad6c90
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7720]
mov dword [esp + 0x108], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x270]
test eax, eax
jne 0xad6c63
mov eax, dword [esp + 0x108]
mov dword [eax], 0
mov edi, dword [esp + 0x108]
xor edx, edx
mov eax, dword [ebp + 8]
mov dword [edi + 4], edx
mov eax, dword [eax + 0x310]
test eax, eax
je 0xad6d63
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x314]
test edx, edx
je 0xad6d63
movzx ecx, ax
pxor xmm0, xmm0
pxor xmm1, xmm1
shr eax, 0x10
pxor xmm2, xmm2
pxor xmm6, xmm6
cvtsi2ss xmm0, eax
movzx eax, dx
shr edx, 0x10
cvtsi2ss xmm1, ecx
mulss xmm0, dword [0xdfe1f8]
cvtsi2ss xmm2, eax
mov eax, esi
mov ecx, dword [eax + 0x2b4]
addss xmm0, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, edx
test ecx, ecx
mulss xmm1, dword [0xdfe1f8]
addss xmm1, xmm2
divss xmm0, xmm1
cvtss2sd xmm6, xmm0
movsd qword [edi + 0x10], xmm6
je 0xad6d89
mov dword [eax + 0x2a4], 0x3f800000
mov eax, dword [esp + 0x108]
movsd xmm5, qword [0xdfe160]
movsd qword [esp + 0xd8], xmm5
movsd qword [eax + 0x28], xmm5
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [eax + 0x284]
test edx, edx
je 0xad6dc0
mov esi, eax
movsd xmm0, qword [0xdfe270]
mov edi, dword [esp + 0x108]
pxor xmm6, xmm6
cvtss2sd xmm6, dword [esi + 0x290]
mov eax, dword [esi + 0x4888]
mulsd xmm0, xmm1
cmp dword [esi + 0x270], 1
movsd qword [edi + 0x20], xmm6
movsd qword [edi + 0x18], xmm0
movsd xmm6, qword [esp + 0xd8]
mov dword [edi + 0x30], eax
mov eax, 0xffffffff
movsd qword [edi + 0xc8], xmm6
mov dword [edi + 0x140], eax
mov eax, esi
jne 0xad601f
mov esi, dword [esi + 0x2c4]
test esi, esi
jne 0xad91ef
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00ad57d0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
test edx, edx
jne 0xad83c7
mov eax, dword [esp + 0x108]
movsd xmm6, qword [0xdfe2c0]
comisd xmm6, xmmword [eax + 0x20]
ja 0xad8390
mov edi, dword [esp + 0x108]
mov al, 1
mov esi, dword [edi + 8]
test esi, esi
jne 0xad6079
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x2ac]
test ebx, ebx
setne al
mov edi, dword [ebp + 8]
movzx eax, al
mov dword [edi + 0x70a0], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
test ecx, ecx
je 0xad615c
cmp dword [edi + 0x270], 1
mov esi, 0x47ae147b
mov edx, 0x3f847ae1
mov dword [eax + 0x150], esi
mov dword [eax + 0x154], edx
mov eax, edi
je 0xad8d19
movsd xmm0, qword [0xdfe2a0]
mov edi, dword [esp + 0x108]
mov ecx, 0x41255cc0
mov ebx, 2
movsd xmm6, qword [edi + 0x28]
movsd qword [edi + 0x148], xmm0
mov dword [esp], 0
mov dword [esp + 4], ecx
movsd qword [esp + 0x100], xmm6
movsd qword [esp + 8], xmm6
call sub.msvcrt.dll_pow
mov eax, dword [ebp + 8]
pxor xmm1, xmm1
movsd xmm6, qword [edi + 0x18]
cvtsi2sd xmm1, dword [eax + 0x4888]
mov dword [edi + 0x140], ebx
sqrtsd xmm1, xmm1
fstp qword [esp + 0x100]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x100], xmm6
mulsd xmm0, xmm1
mulsd xmm0, qword [0xdfe2c0]
movsd qword [edi + 0xa8], xmm0
movapd xmm0, xmm6
divsd xmm0, qword [edi + 0x10]
movsd qword [edi + 0xc0], xmm0
mov eax, dword [ebp + 8]
mov ebx, 0x45
movss xmm5, dword [eax + 0x2a0]
movss dword [esp], xmm5
movss dword [esp + 0x100], xmm5
call fcn.00bd2200
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x108]
movss xmm5, dword [eax + 0x2a4]
fstp dword [esp + 0x100]
movss xmm1, dword [esp + 0x100]
movss dword [esp + 0x100], xmm5
cvtss2sd xmm1, xmm1
mulsd xmm1, qword [0xdfe2c8]
movsd qword [edi + 0xe8], xmm1
movss dword [esp], xmm5
movsd qword [esp + 0xf8], xmm1
call fcn.00bd2200
mov eax, dword [ebp + 8]
movsd xmm1, qword [esp + 0xf8]
pxor xmm3, xmm3
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0x274]
fstp dword [esp + 0x100]
movss xmm0, dword [esp + 0x100]
cvtsi2sd xmm3, eax
addsd xmm3, qword [0xdfe198]
movapd xmm2, xmm3
subsd xmm2, xmm1
cvttsd2si edx, xmm2
cmp edx, 0x45
addsd xmm1, qword [0xdfe198]
cmovg edx, ebx
xor ecx, ecx
cvtss2sd xmm0, xmm0
test edx, edx
mulsd xmm0, qword [0xdfe2c8]
movsd qword [edi + 0xf0], xmm0
mov dword [edi + 0x34], eax
cmovs edx, ecx
addsd xmm0, xmm3
cvttsd2si eax, xmm0
cmp eax, 0x45
pxor xmm0, xmm0
cmovg eax, ebx
cvtsi2sd xmm0, dword [esi + 0x280]
mulsd xmm0, qword [0xdfe2d0]
test eax, eax
mov ebx, edi
cmovs eax, ecx
mov ecx, 0x40000000
mov dword [edi + 0x3c], edx
mov dword [edi + 0x38], eax
cvttsd2si eax, xmm1
mov dword [esi + 0x4bbc], eax
movsd qword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov dword [esp], 0
call sub.msvcrt.dll_pow
mov eax, 0xc0000000
mov edx, dword [esi + 4]
mov dword [edi + 0x120], eax
mov eax, 0x4011228a
mov dword [edi + 0x124], eax
mov eax, dword [esi + 0xc]
imul eax, edx
fstp qword [edi + 0x190]
inc eax
mov dword [esp + 0x100], eax
lea eax, [eax + eax*4]
lea esi, [eax + eax*4]
shl esi, 2
mov dword [esp], esi
call fcn.00a2dc90
test eax, eax
mov dword [edi + 0x90], eax
je 0xad6c56
mov dword [esp], 0x14
call fcn.00a2dc90
mov edi, eax
test edi, edi
mov dword [ebx + 0x26c], edi
je 0xad6c56
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov eax, dword [eax + 0x270]
mov dword [esp + 0xf8], eax
mov eax, dword [ebp + 8]
cvtsi2ss xmm0, dword [eax + 0x27c]
mov dword [esp], 0x40000000
subss xmm0, dword [0xdfe134]
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x278]
mov dword [esp], 0x40000000
subss xmm0, dword [0xdfe134]
fstp dword [esp + 0xf0]
movss xmm3, dword [esp + 0xf0]
mulss xmm0, dword [0xdfe138]
movss dword [esp + 0xe0], xmm3
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov ecx, ebx
mov eax, esi
movss xmm3, dword [esp + 0xe0]
xor esi, esi
movss xmm2, dword [0xdfe1fc]
mulss xmm3, dword [0xdfe140]
lea ebx, [ebx + 0x1f4]
fstp dword [esp + 0xf0]
cvtss2sd xmm3, xmm3
movss xmm4, dword [esp + 0xf0]
mov dword [esp + 0xf0], edi
mov edi, ecx
mulss xmm4, dword [0xdfe140]
cvtss2sd xmm4, xmm4
cmp dword [esp + 0xf8], 1
movsd xmm0, qword [0xdfe2a8]
je 0xad6cc5
mov edx, dword [esp + 0x100]
movsd qword [edi + esi*2 + 0x128], xmm0
movsd qword [edi + esi*2 + 0x160], xmm4
movsd qword [edi + esi*2 + 0x178], xmm3
test edx, edx
jle 0xad6455
movss xmm0, dword [esi + 0xdfe120]
movss xmm1, dword [0xdfe14c]
mov ecx, dword [edi + 0x90]
lea edx, [esi + esi*4]
mulss xmm1, xmm0
add edx, ecx
add ecx, eax
movss dword [edx], xmm1
add edx, 0x64
movss dword [edx - 0x60], xmm0
mov dword [edx - 0x5c], 0x3f800000
mov dword [edx - 0x58], 0x3f000000
mov dword [edx - 0x54], 0
cmp ecx, edx
jne 0xad6430
add esi, 4
add ebx, 0x28
mov dword [ebx - 0x28], 0x3d800000
add eax, 0x14
movss dword [ebx - 0x24], xmm2
mov dword [ebx - 0x20], 0x3f800000
mov dword [ebx - 0x1c], 0x3f000000
mov dword [ebx - 0x18], 0
mov dword [ebx - 0x14], 0x3d800000
movss dword [ebx - 0x10], xmm2
mov dword [ebx - 0xc], 0x3f800000
mov dword [ebx - 8], 0x3f000000
mov dword [ebx - 4], 0
cmp esi, 0xc
jne 0xad63d3
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0xf0]
mov eax, dword [eax + 0x7720]
movss dword [edi], xmm2
mov dword [edi + 4], 0x3f000000
mov dword [edi + 8], 0x3f800000
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], 0x3f000000
mov dword [edi + 0x10], 0
mov eax, dword [eax + 0x2e0]
test eax, eax
je 0xad852f
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0x2dc]
test edi, edi
mov dword [esp + 0x100], edi
je 0xad8566
test edi, edi
jle 0xad66aa
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [eax + 0x2d8]
jmp 0xad6522
mov ebx, edx
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov ecx, edx
shr ecx, 0x1f
test cl, cl
jne 0xad6c1a
cmp edx, esi
jg 0xad6c1a
mov edx, dword [eax + 8]
movss xmm0, dword [eax + 0x10]
test edx, edx
jne 0xad6555
pxor xmm6, xmm6
comiss xmm6, xmm0
jae 0xad8e68
lea edx, [ebx + 1]
add eax, 0x18
cmp edx, edi
jne 0xad6520
mov edi, dword [esp + 0xc0]
add ebx, 2
lea eax, [ebx + ebx*2]
shl eax, 3
mov dword [edi + 0x278], ebx
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov dword [edi + 0x27c], eax
je 0xad6c3c
mov edx, dword [edi + 0x278]
lea edi, [eax + 0x18]
mov esi, dword [ebp + 8]
lea ecx, [edx + edx*2 - 3]
shl ecx, 3
mov esi, dword [esi + 0x2d8]
cmp ecx, 8
jae 0xad8b92
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0xc0]
mov ebx, dword [edi + 0x27c]
mov dword [ebx], 0
mov dword [ebx + 4], 0x7fffffff
mov dword [ebx + 8], 0
mov dword [ebx + 0x10], 0x3f800000
mov dword [esp], 0x35c
call fcn.00a2dc90
mov dword [ebx + 0x14], eax
mov eax, dword [edi + 0x27c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0xad6c3c
test al, 1
mov ecx, dword [ebp + 8]
mov ebx, 0x35c
jne 0xad9080
test al, 2
jne 0xad90c0
mov edi, ebx
xor edx, edx
and edi, 0xfffffff8
mov dword [esp + 0x100], ebx
mov esi, dword [ecx + edx + 4]
mov ebx, dword [ecx + edx]
mov dword [eax + edx + 4], esi
mov dword [eax + edx], ebx
add edx, 8
cmp edx, edi
jb 0xad661d
mov ebx, dword [esp + 0x100]
add eax, edx
add ecx, edx
xor edx, edx
test bl, 4
je 0xad664d
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, 4
test bl, 2
je 0xad665d
movzx esi, word [ecx + edx]
mov word [eax + edx], si
add edx, 2
test bl, 1
je 0xad6669
movzx ecx, byte [ecx + edx]
mov byte [eax + edx], cl
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x278]
cmp edx, 1
jle 0xad66aa
mov ecx, dword [eax + 0x27c]
lea edx, [edx + edx*2]
lea eax, [ecx + 0x2c]
lea edx, [ecx + edx*8 + 0x14]
jmp 0xad6697
add eax, 0x18
cmp edx, eax
je 0xad66aa
mov edi, dword [eax]
test edi, edi
jne 0xad6690
mov ebx, dword [ecx + 0x14]
add eax, 0x18
mov dword [eax - 0x18], ebx
cmp edx, eax
jne 0xad6697
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x2c4]
test ebx, ebx
je 0xad7420
mov eax, dword [eax + 0x2c8]
test eax, eax
je 0xada176
mov dword [esp], eax
call fcn.00a2de60
test eax, eax
mov dword [esp + 0x100], eax
je 0xad92ee
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2b4]
test edx, edx
jne 0xad8d32
mov esi, dword [esp + 0x100]
mov edi, str.options:
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
movsx eax, dl
test eax, eax
mov dword [esp + 0x90], eax
jne 0xad91e1
mov edi, dword [esp + 0x100]
mov ecx, 0xa
mov dword [esp + 4], ecx
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
mov esi, eax
je 0xad6c56
mov byte [eax], 0
lea eax, [esp + 0x138]
mov edx, str.options:__dx_d
mov dword [esp + 0xc], eax
lea eax, [esp + 0x134]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0xad90a1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2b4]
test eax, eax
mov eax, dword [esp + 0x134]
jne 0xad8898
mov edx, dword [esp + 0x138]
mov edi, dword [ebp + 8]
imul eax, edx
pxor xmm1, xmm1
pxor xmm0, xmm0
cvtsi2ss xmm1, dword [edi + 0x1c]
cvtsi2ss xmm0, dword [edi + 0x20]
mov dword [esp + 4], 0x3f333333
mulss xmm1, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm1, xmm0
movss dword [esp], xmm1
movss dword [esp + 0xb8], xmm1
call fcn.00bd2220
mov eax, str.timebase
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
fstp dword [esp + 0xb0]
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad8efe
lea edi, [esp + 0x148]
mov dword [esp + 0xc], edi
lea edi, [esp + 0x140]
mov dword [esp + 8], edi
mov edi, str.timebase_u__u
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0xad8efe
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x140]
mov eax, dword [eax + 0x318]
cmp eax, edx
jne 0xad8ebf
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x148]
mov ecx, dword [edi + 0x31c]
cmp ecx, ebx
jne 0xad8ecf
mov eax, dword [esp + 0x100]
mov ecx, str.bitdepth
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad689c
mov edx, str.bitdepth_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad896e
mov eax, dword [esp + 0x100]
mov ecx, str.weightp
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad68dc
mov edx, str.weightp_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad89f0
mov eax, str.bframes
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad691c
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov edi, str.bframes_d
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad89b0
mov eax, dword [esp + 0x100]
mov ecx, str.b_pyramid
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad695c
mov edx, str.b_pyramid_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad8a40
mov eax, str.intra_refresh
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad699c
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov edi, str.intra_refresh_d
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad8ac0
mov eax, dword [esp + 0x100]
mov ecx, str.open_gop
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad69dc
mov edx, str.open_gop_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad8a80
mov eax, str.bluray_compat
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad6a1c
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov edi, str.bluray_compat_d
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0xad8b00
mov eax, dword [esp + 0x100]
mov ecx, str.interlaced
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad6a95
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0xa0]
test edx, edx
jne 0xad8954
mov ecx, dword [edi + 0x328]
mov edx, str.fake
mov ebx, 0xdfd4ea
test ecx, ecx
cmovne ebx, edx
lea edi, [esp + 0x150]
mov edx, str.interlaced_4s
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0xe0], edi
call sub.msvcrt.dll_sscanf
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0xad8f1d
mov eax, str.keyint
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad6b6d
lea ebx, [eax + 7]
mov eax, 0x69666e69
mov dword [esp + 0x150], eax
xor eax, eax
mov edx, 0x6574696e
mov byte [esp + 0x15c], al
mov eax, dword [ebp + 8]
mov ecx, 0x20
lea edi, [esp + 0x150]
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov eax, dword [eax + 0x60]
mov dword [esp + 0xe0], edi
cmp eax, 0x40000000
je 0xad6b1c
mov dword [esp + 8], eax
mov eax, 0xdfd3c0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00ad3ad0
mov edi, dword [esp + 0xe0]
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0xad6b1c
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
mov cl, al
lea edx, [edi + 2]
cmove edi, edx
add cl, al
mov eax, dword [esp + 0xe0]
sbb edi, 3
mov dword [esp], ebx
sub edi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0xad927a
mov eax, str.qp0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad6b99
mov eax, dword [ebp + 8]
cmp dword [eax + 0x270], 2
je 0xad8fb3
mov eax, dword [esp + 0x100]
mov ecx, str.direct3
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad8f4b
mov eax, dword [esp + 0x100]
mov ecx, str.b_adapt
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad7ad0
mov edx, str.b_adapt_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
je 0xad7ad0
mov eax, dword [esp + 0x134]
cmp eax, 2
ja 0xad7ad0
mov edi, dword [ebp + 8]
mov dword [edi + 0x74], eax
mov eax, edi
jmp 0xad7ade
mov eax, dword [ebp + 8]
mov ecx, str.invalid_zone:_start_d_end_d_n
xor ebx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00a2d890
mov esi, str.failed_to_parse_zones_n
mov dword [esp + 8], esi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00a2d890
mov eax, 0xffffffff
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x2c4]
test ebx, ebx
jne 0xad8546
mov eax, dword [esp + 0x108]
mov dword [eax], 1
jmp 0xad5edf
mov byte [edi], 0
jmp 0xad5eb1
mov dword [edi], 0
add edi, 4
test dl, 2
je 0xad5ea8
mov word [edi], 0
add edi, 2
test dl, 1
je 0xad5eb1
jmp 0xad6c90
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 8]
movsd qword [esp + 0xb8], xmm3
movsd qword [esp + 0xc0], xmm4
movss dword [esp + 0xd0], xmm2
movss xmm5, dword [eax + 0x288]
mov dword [esp], 0x40000000
movaps xmm0, xmm5
subss xmm0, dword [0xdfe134]
movss dword [esp + 0xe0], xmm5
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
movsd xmm3, qword [esp + 0xb8]
movsd xmm4, qword [esp + 0xc0]
mov eax, dword [esp + 0xc8]
movss xmm2, dword [esp + 0xd0]
fstp dword [esp + 0xe0]
movss xmm0, dword [esp + 0xe0]
mulss xmm0, dword [0xdfe140]
cvtss2sd xmm0, xmm0
jmp 0xad63e9
mov eax, dword [esp + 0x108]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0x40390000
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2b4]
test ecx, ecx
jne 0xad5f72
mov edi, eax
mov eax, dword [esp + 0x108]
pxor xmm6, xmm6
movsd xmm5, qword [0xdfe160]
cvtss2sd xmm6, dword [edi + 0x2cc]
movsd qword [esp + 0xd8], xmm5
movsd qword [eax + 0x28], xmm6
mov eax, edi
jmp 0xad5f9c
movsd xmm0, qword [0xdfe278]
mov esi, eax
jmp 0xad5fc0
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.00a2dcf0
cmp dword [esp + 0x80], 1
jle 0xad6df7
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00a2dcf0
mov eax, dword [esp + 0x118]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0xad721c
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x278]
mov edi, dword [eax + 0x7720]
subss xmm0, dword [0xdfe134]
mov dword [esp], 0x40000000
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x27c]
mov dword [esp], 0x40000000
subss xmm0, dword [0xdfe134]
fstp dword [esp + 0x100]
movss xmm3, dword [esp + 0x100]
mulss xmm0, dword [0xdfe138]
mulss xmm3, dword [0xdfe140]
movss dword [esp + 4], xmm0
cvtss2sd xmm3, xmm3
movsd qword [esp + 0xa8], xmm3
call fcn.00bd2220
mov eax, dword [edi + 0x110]
lea eax, [eax*8 + 8]
mov dword [esp], eax
fstp dword [esp + 0x100]
movss xmm4, dword [esp + 0x100]
mulss xmm4, dword [0xdfe140]
cvtss2sd xmm4, xmm4
movsd qword [esp + 0xf0], xmm4
call fcn.00a2dc90
test eax, eax
mov dword [esp + 0x100], eax
je 0xad6c56
mov dword [esp + 0xd0], edi
mov edi, dword [ebp + 8]
add eax, 8
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x150]
movsd xmm5, qword [esp + 0x78]
mov dword [esp + 0xe0], eax
movsd xmm4, qword [str.p_n]
movsd xmm6, qword [esp + 0xd8]
mulsd xmm4, xmm5
divsd xmm6, xmm5
movsd qword [esp + 0xb0], xmm4
movsd qword [esp + 0xb8], xmm6
movsd xmm3, qword [esp + 0xa8]
movsd xmm6, qword [esp + 0xf8]
movsd xmm4, qword [esp + 0xf0]
movsd qword [esp + 0xc0], xmm6
mov eax, dword [esp + 0xd0]
pxor xmm0, xmm0
movsd xmm5, qword [esp + 0xd8]
cvtss2sd xmm0, dword [edi + 0x29c]
subsd xmm5, xmm0
movapd xmm0, xmm5
mulsd xmm0, qword [eax + 0x60]
mov eax, dword [esp + 0x100]
movsd qword [eax], xmm0
xor eax, eax
mov dword [esp + 0x148], eax
xor eax, eax
mov edx, dword [esp + 0xc8]
movsd qword [esp + 0xa8], xmm4
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x148]
movsd qword [esp + 0xf0], xmm3
mov dword [esp], eax
mov eax, edi
call fcn.00c06930
movsd xmm3, qword [esp + 0xf0]
movsd xmm4, qword [esp + 0xa8]
test eax, eax
je 0xada790
mov eax, dword [esp + 0x148]
xor edx, edx
mov ebx, dword [esp + 0x150]
mov esi, dword [edi + 0x7720]
test eax, eax
setg dl
add eax, edx
cmp ebx, eax
jl 0xad70b1
mov edx, dword [esi + 0x118]
mov dword [esp + 0xf0], esi
lea ebx, [edx + ebx*4 + 4]
lea ecx, [edx + eax*4]
mov esi, ebx
xor edx, edx
jmp 0xad7030
mov eax, dword [ecx]
movapd xmm0, xmm3
movsd xmm1, qword [0xdfe330]
movapd xmm5, xmm3
cmplesd xmm0, qword [eax + 0x38]
movsd xmm2, qword [eax + 0x38]
minsd xmm2, xmm4
andpd xmm2, xmm0
andnpd xmm0, xmm3
orpd xmm2, xmm0
movapd xmm0, xmm4
mulsd xmm1, xmm2
minsd xmm0, xmm1
cmplesd xmm5, xmm1
movapd xmm1, xmm5
movapd xmm5, xmm0
andpd xmm5, xmm1
andnpd xmm1, xmm3
movapd xmm0, xmm1
orpd xmm0, xmm5
movsd qword [eax + 0x38], xmm0
mov al, dl
comisd xmm2, xmm0
setne bl
and al, 1
add ecx, 4
or al, bl
cmp esi, ecx
movzx edx, al
jne 0xad7030
test al, al
mov esi, dword [esp + 0xf0]
jne 0xad6f93
xor eax, eax
mov dword [esp + 0xf0], eax
mov eax, esi
movsd qword [esp + 0x98], xmm4
movsd qword [esp + 0xa0], xmm3
call fcn.00c06ae3
movsd xmm4, qword [esp + 0xb0]
comisd xmm4, xmm0
jbe 0xad71a4
fnstcw word [esp + 0x11e]
movsd xmm4, qword [0xdfe198]
addsd xmm4, xmm0
movsd qword [esp + 0xa8], xmm4
fld qword [esp + 0xa8]
movsd xmm4, qword [0xdfe198]
addsd xmm4, qword [esp + 0xc0]
movsd qword [esp + 0xc0], xmm4
movsd xmm3, qword [esp + 0xa0]
movsd xmm4, qword [esp + 0x98]
movzx eax, word [esp + 0x11e]
or ax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp qword [esp + 0x110]
fldcw word [esp + 0x11e]
fld qword [esp + 0xc0]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
fldcw word [esp + 0x11c]
fistp qword [esp + 0x110]
fldcw word [esp + 0x11e]
mov ebx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
cmp edx, ebx
jg 0xada5e8
jge 0xada5e0
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0xd0]
test eax, eax
jne 0xad71d3
mov eax, 1
mov esi, str.vbv_maxrate_issue__qpmax_or_vbv_maxrate_too_low_n
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.00a2d890
mov eax, dword [edi + 0x110]
test eax, eax
jle 0xad720d
mov edx, dword [edi + 0x118]
movsd xmm0, qword [edi + 0x60]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x100]
mov ebx, dword [edx + ecx*4]
movapd xmm1, xmm0
subsd xmm1, qword [edi + ecx*8 + 8]
inc ecx
cmp ecx, eax
movsd qword [ebx + 0x30], xmm1
jne 0xad71f6
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.00a2dcf0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7720]
call fcn.00c06ae3
movsd qword [esp + 0x100], xmm0
divsd xmm0, qword [esp + 0x78]
subsd xmm0, qword [esp + 0xd8]
andpd xmm0, xmmword [0xdfe340]
comisd xmm0, xmmword [0xdfe2c0]
jbe 0xad7420
mov edi, dword [esp + 0x118]
pxor xmm0, xmm0
mov eax, dword [edi + 0x110]
test eax, eax
jle 0xad7292
mov ecx, dword [edi + 0x114]
lea ebx, [eax + eax*4]
pxor xmm0, xmm0
lea ebx, [ebx + ebx*4]
lea edx, [ecx + 0x38]
lea ecx, [ecx + ebx*8 + 0x38]
addsd xmm0, qword [edx]
add edx, 0xc8
cmp ecx, edx
jne 0xad7284
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0xdfe148]
movsd qword [esp + 0xf0], xmm1
movss dword [esp], xmm0
call fcn.00bd2200
pxor xmm6, xmm6
movsd xmm5, qword [esp + 0x100]
comisd xmm5, xmmword [esp + 0x78]
fstp dword [esp + 0xf8]
movss xmm0, dword [esp + 0xf8]
mulss xmm0, dword [0xdfe218]
addss xmm0, dword [0xdfe134]
cvtss2sd xmm6, xmm0
movsd qword [esp + 0xf8], xmm6
ja 0xad731a
mov eax, dword [esp + 0x118]
movsd xmm1, qword [esp + 0xf0]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0xada7c1
mov eax, str.Error:_2pass_curve_failed_to_converge_n
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
mov eax, dword [esp + 0x118]
movsd xmm6, qword [esp + 0xf8]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x1c], xmm6
pxor xmm1, xmm1
mov edx, str.target:__.2f_kbit_s__expected:__.2f_kbit_s__avg_QP:__.4f_n
mov ecx, 1
pxor xmm5, xmm5
mulsd xmm0, qword [eax + 0x10]
cvtsi2sd xmm1, dword [eax + 0x110]
mov eax, dword [ebp + 8]
mulsd xmm1, qword [0xdfe278]
divsd xmm0, xmm1
movsd qword [esp + 0x14], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x284]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
cvtss2sd xmm5, xmm0
movsd qword [esp + 0xc], xmm5
call fcn.00a2d890
movsd xmm4, qword [esp + 0x78]
comisd xmm4, xmmword [esp + 0x100]
jbe 0xada8b2
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov eax, dword [eax + 0x278]
lea edx, [eax + 2]
cvtsi2sd xmm0, edx
comisd xmm0, xmmword [esp + 0xf8]
jbe 0xada8b2
test eax, eax
jle 0xada890
mov dword [esp + 0xc], eax
mov eax, str.try_reducing_target_bitrate_or_reducing_qp_min__currently__d__n
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad7420
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x2bc]
test edi, edi
jne 0xad8c2e
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x2b4]
test ebx, ebx
je 0xad79b5
mov ecx, dword [eax + 0x2c4]
test ecx, ecx
jne 0xad8cfb
mov edx, dword [eax + 0x2bc]
test edx, edx
je 0xad79b5
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x108]
mov ebx, edx
mov eax, dword [eax + 0x20]
mov dword [esi + 0x1cc], edx
mov dword [esi + 0x1d0], eax
mov ecx, eax
pxor xmm0, xmm0
cvtsi2ss xmm0, ebx
pxor xmm1, xmm1
movsd xmm2, qword [0xdfe340]
movsd xmm3, qword [0xdfe350]
pxor xmm4, xmm4
cvtsi2ss xmm1, ecx
movapd xmm6, xmm2
mulss xmm0, dword [0xdfe2d8]
mulss xmm1, dword [0xdfe2d8]
movaps xmm5, xmm0
movss dword [esp + 0xf8], xmm0
cvtss2sd xmm4, xmm5
movapd xmm5, xmm4
movss dword [esp + 0x138], xmm0
pxor xmm0, xmm0
andpd xmm5, xmm2
cvtsi2ss xmm0, edx
comisd xmm3, xmm5
movss dword [esp + 0x13c], xmm1
mulss xmm0, dword [0xdfe2d8]
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x140], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [0xdfe2d8]
movss dword [esp + 0x144], xmm0
jbe 0xad754a
andnpd xmm6, xmm4
addsd xmm5, xmm3
subsd xmm5, xmm3
orpd xmm5, xmm6
movsd xmm6, qword [0xdfe168]
cmpnlesd xmm4, xmm5
andpd xmm4, xmm6
subsd xmm5, xmm4
movapd xmm4, xmm5
cvttsd2si eax, xmm4
cvtss2sd xmm1, xmm1
mov dword [esp + 0xc8], eax
movapd xmm4, xmm1
mov dword [esp + 0x148], eax
andpd xmm4, xmm2
movapd xmm5, xmm2
comisd xmm3, xmm4
jbe 0xad759b
andnpd xmm5, xmm1
addsd xmm4, xmm3
subsd xmm4, xmm3
orpd xmm4, xmm5
movsd xmm5, qword [0xdfe168]
cmpnlesd xmm1, xmm4
andpd xmm1, xmm5
subsd xmm4, xmm1
movapd xmm1, xmm4
cvttsd2si eax, xmm1
movapd xmm5, xmm2
pxor xmm1, xmm1
mov dword [esp + 0xd0], eax
cvtss2sd xmm1, dword [esp + 0x100]
movapd xmm4, xmm1
mov dword [esp + 0x14c], eax
andpd xmm4, xmm2
comisd xmm3, xmm4
jbe 0xad75f5
andnpd xmm5, xmm1
addsd xmm4, xmm3
movsd xmm6, qword [0xdfe168]
subsd xmm4, xmm3
orpd xmm4, xmm5
cmpnlesd xmm1, xmm4
andpd xmm1, xmm6
subsd xmm4, xmm1
movapd xmm1, xmm4
cvttsd2si esi, xmm1
cvtss2sd xmm0, xmm0
mov dword [esp + 0x150], esi
movapd xmm1, xmm0
andpd xmm1, xmm2
comisd xmm3, xmm1
jbe 0xad763b
andnpd xmm2, xmm0
addsd xmm1, xmm3
movsd xmm4, qword [0xdfe168]
subsd xmm1, xmm3
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm4
subsd xmm1, xmm0
movapd xmm0, xmm1
mov eax, dword [ebp + 8]
cvttsd2si ebx, xmm0
mov dword [esp + 0x154], ebx
mov edi, dword [eax + 0xa0]
test edi, edi
je 0xad7677
mov eax, dword [esp + 0xd0]
inc ebx
and ebx, 0xfffffffe
mov dword [esp + 0x154], ebx
inc eax
and eax, 0xfffffffe
mov dword [esp + 0xd0], eax
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + 0x108]
imul edi, ecx
mov dword [eax + 0x1a4], edi
lea eax, [edi + edi]
mov dword [esp], eax
call fcn.00a2dc90
mov ecx, dword [esp + 0x108]
test eax, eax
mov dword [ecx + 0x198], eax
je 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0xad76cd
mov eax, dword [eax + 0x2c4]
test eax, eax
jne 0xad9049
mov eax, dword [esp + 0x108]
mov edx, 0xffffffff
cmp dword [esp + 0xc8], esi
mov dword [eax + 0x1a0], edx
jne 0xad76f5
cmp dword [esp + 0xd0], ebx
je 0xad79b5
mov ebx, dword [esp + 0x108]
mov edx, 1
lea eax, [edi*4]
mov dword [ebx + 0x1a8], edx
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov dword [ebx + 0x1ac], eax
je 0xad6c56
mov eax, dword [esp + 0xd0]
imul eax, esi
shl eax, 2
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov dword [ebx + 0x1b0], eax
je 0xad6c56
movss xmm4, dword [0xdfe240]
xor ecx, ecx
movss xmm6, dword [esp + 0xf8]
mov dword [esp + 0xf0], ecx
comiss xmm6, dword [esp + 0x100]
jbe 0xad8c0a
mov edi, dword [esp + 0xf0]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + edi*4 + 0x148]
lea eax, [esi + eax*2 - 1]
cdq
idiv esi
inc eax
mov dword [ecx + edi*4 + 0x1b4], eax
imul eax, esi
movaps xmmword [esp + 0xe0], xmm4
shl eax, 2
mov dword [esp], eax
call fcn.00a2dc90
mov edi, dword [esp + 0x108]
mov ecx, dword [esp + 0xf0]
test eax, eax
mov dword [edi + ecx*4 + 0x1bc], eax
je 0xad6c56
lea ebx, [esi*4]
mov dword [esp], ebx
call fcn.00a2dc90
mov ecx, dword [esp + 0xf0]
test eax, eax
mov dword [edi + ecx*4 + 0x1c4], eax
je 0xad6c56
movss xmm5, dword [esp + 0xf8]
movss xmm3, dword [esp + 0x100]
movaps xmm4, xmmword [esp + 0xe0]
movaps xmm6, xmm5
divss xmm6, xmm3
comiss xmm6, dword [0xdfe144]
jbe 0xad8ea7
divss xmm3, xmm5
mov edi, dword [esp + 0x108]
test esi, esi
movaps xmm2, xmm6
subss xmm2, dword [0xdfe144]
mov edi, dword [edi + ecx*4 + 0x1b4]
mulss xmm2, dword [0xdfe14c]
jle 0xad797d
pxor xmm0, xmm0
cvtsi2ss xmm0, edi
lea esi, [edi*4]
mov dword [esp + 0xd8], esi
lea ecx, [eax + ebx]
movss xmm5, dword [0xdfe13c]
mov dword [esp + 0xf8], esi
xor esi, esi
mov dword [esp + 0xe0], ecx
subss xmm5, xmm0
mov dword [esp + 0x100], esi
mulss xmm5, dword [0xdfe14c]
lea esi, [esi]
movaps xmm0, xmm2
test edi, edi
addss xmm0, xmm5
cvttss2si edx, xmm0
mov dword [eax], edx
jle 0xad7954
mov esi, dword [esp + 0x108]
pxor xmm1, xmm1
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x100]
mov ecx, dword [esi + ecx*4 + 0x1bc]
lea esi, [edi + edx]
sub ebx, edx
lea ebx, [ecx + ebx*4]
jmp 0xad78e2
pxor xmm0, xmm0
movss dword [ebx + edx*4], xmm0
inc edx
cmp esi, edx
addss xmm1, xmm0
je 0xad7917
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
movss xmm7, dword [0xdfe144]
subss xmm0, xmm2
andps xmm0, xmm4
mulss xmm0, xmm3
comiss xmm7, xmm0
jbe 0xad78d0
subss xmm7, xmm0
movaps xmm0, xmm7
movss dword [ebx + edx*4], xmm0
inc edx
cmp esi, edx
addss xmm1, xmm0
jne 0xad78e2
movss xmm7, dword [0xdfe144]
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0xf8]
divss xmm7, xmm1
lea edx, [ecx + esi*4]
add ecx, ebx
movaps xmm1, xmm7
lea esi, [esi]
movss xmm0, dword [edx]
add edx, 4
mulss xmm0, xmm1
movss dword [edx - 4], xmm0
cmp ecx, edx
jne 0xad7940
add eax, 4
mov ecx, dword [esp + 0xd8]
addss xmm2, xmm6
add dword [esp + 0xf8], ecx
add dword [esp + 0x100], edi
cmp dword [esp + 0xe0], eax
jne 0xad7890
inc dword [esp + 0xf0]
mov eax, dword [esp + 0xf0]
cmp eax, 2
jne 0xad8db1
mov eax, dword [esp + 0x108]
mov edi, dword [esp + 0xc8]
mov dword [eax + 0x1cc], edi
mov edi, dword [esp + 0xd0]
mov dword [eax + 0x1d0], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
jle 0xad7a95
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x35c]
mov edi, dword [esp + 0x108]
mov dword [edx + 0x7720], edi
lea ecx, [edi + 0x2a8]
xor edx, edx
mov esi, edi
inc edx
cmp edx, eax
jge 0xad7a95
mov eax, dword [ebp + 8]
mov dword [esp + 0x108], edx
mov ebx, dword [eax + edx*4 + 0x35c]
xor eax, eax
mov dword [ebx + 0x7720], ecx
mov edi, dword [esi + eax + 4]
mov edx, dword [esi + eax]
mov dword [ecx + eax + 4], edi
mov dword [ecx + eax], edx
add eax, 8
cmp eax, 0x2a8
jb 0xad7a05
mov edx, dword [esp + 0x108]
xor eax, eax
mov dword [esp + 0x108], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x100], edx
mov edi, dword [esi + eax + 4]
mov edx, dword [esi + eax]
mov dword [ebx + eax + 4], edi
mov dword [ebx + eax], edx
add eax, 8
cmp eax, 0x358
jb 0xad7a37
mov edi, dword [ebp + 8]
add ecx, 0x2a8
mov esi, dword [esp + 0x108]
mov edx, dword [esp + 0x100]
mov edi, dword [edi + eax]
mov dword [ebx + eax], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x70a0]
mov dword [ebx + 0x70a0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4bbc]
mov dword [ebx + 0x4bbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
jmp 0xad79e3
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
test al, 1
jne 0xad8fa9
test edi, 2
jne 0xad8f88
test edi, 4
jne 0xad8f98
mov ecx, edx
xor eax, eax
shr ecx, 2
and edx, 3
rep stosd dword es:[edi], eax
jmp 0xad5e96
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x70]
test edi, edi
jne 0xad92c4
mov edx, dword [eax + 0x2b4]
test edx, edx
je 0xad8910
mov eax, dword [esp + 0x100]
mov ebx, str.rc_lookahead
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad7b38
mov ecx, str.rc_lookahead_d
lea edi, [esp + 0x134]
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
je 0xad7b38
mov eax, dword [esp + 0x134]
mov edi, dword [ebp + 8]
mov dword [edi + 0x2b8], eax
inc esi
mov ebx, 0xffffffff
test esi, esi
mov eax, esi
je 0xad7b6f
lea esi, [esi]
lea edi, [edi]
inc eax
mov edx, 0x3b
mov dword [esp + 4], edx
inc ebx
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0xad7b50
test ebx, ebx
je 0xad92e0
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x108]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x110], ebx
cmp eax, ebx
jge 0xad7bbb
test eax, eax
jle 0xad7bbb
mov dword [esp + 0xc], eax
mov eax, str.2nd_pass_has_fewer_frames_than_1st_pass___d_vs__d__n
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp], eax
call fcn.00a2d890
mov eax, dword [ebp + 8]
mov ebx, dword [edi + 0x110]
mov eax, dword [eax + 0x2c]
cmp eax, ebx
jg 0xad9210
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp], eax
call fcn.00a2dc90
mov edi, dword [esp + 0x108]
test eax, eax
mov dword [edi + 0x114], eax
je 0xad6c56
mov edx, dword [edi + 0x110]
mov edi, eax
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
shl edx, 3
cmp edx, 8
jae 0xad8b40
test dl, 4
jne 0xad8940
test dl, 2
jne 0xad892d
test dl, 1
jne 0xad8925
mov edi, dword [esp + 0x108]
mov eax, dword [edi + 0x110]
mov dword [esp + 0xf8], eax
shl eax, 2
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov dword [edi + 0x118], eax
je 0xad6c56
mov edx, dword [edi + 0x110]
test edx, edx
jle 0xad902e
mov ecx, dword [edi + 0x30]
movsd xmm0, qword [0xdfe2e0]
mov dword [esp + 0x108], edi
lea edi, [eax + edx*4]
mov dword [esp + 0xf8], esi
mov esi, dword [esp + 0x108]
lea ebx, [ecx + 0xa]
xor ecx, ecx
jmp 0xad7c90
mov edx, dword [esi + 0x114]
add eax, 4
add edx, ecx
add ecx, 0xc8
mov dword [edx], 0
movsd qword [edx + 0x38], xmm0
movsd qword [edx + 0x10], xmm0
mov dword [edx + 0x20], ebx
mov dword [edx + 0x40], 0
mov dword [eax - 4], edx
cmp edi, eax
jne 0xad7c90
xor ecx, ecx
pxor xmm6, xmm6
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xf0], ecx
movsd qword [esp + 0xf8], xmm6
movsd qword [esp + 0xd0], xmm6
xor eax, eax
mov edx, 0x3b
mov dword [esp + 0x138], eax
xor eax, eax
mov dword [esp + 0x140], eax
xor eax, eax
mov dword [esp + 4], edx
mov dword [esp], esi
mov byte [esp + 0x134], al
call sub.msvcrt.dll_strchr
test eax, eax
je 0xad8de1
lea edi, [eax + 1]
mov dword [esp + 0xc8], edi
mov byte [eax], 0
lea eax, [esp + 0x140]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x138]
mov dword [esp + 8], eax
mov eax, str._in:_d_out:_d
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_sscanf
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x138]
test eax, eax
js 0xad9000
mov edi, dword [esp + 0x108]
mov edi, dword [edi + 0x110]
cmp eax, edi
jge 0xad9000
mov edx, dword [esp + 0x140]
mov ecx, edx
shr ecx, 0x1f
test cl, cl
jne 0xad8fd2
cmp edi, edx
jle 0xad8fd2
mov edi, dword [esp + 0x108]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x114]
lea ebx, [eax + ecx*8]
mov eax, dword [edi + 0x118]
mov dword [eax + edx*4], ebx
lea eax, [ebx + 0x54]
mov byte [ebx + 0x54], 0
mov dword [esp + 0x34], eax
lea eax, [ebx + 0x4c]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0x48]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x44]
mov dword [esp + 0x28], eax
lea eax, [ebx + 0x20]
mov dword [esp + 0x24], eax
lea eax, [ebx + 0x18]
mov dword [esp + 0x20], eax
lea eax, [ebx + 0x1c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x150]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x14], eax
lea eax, [ebx + 0xb8]
mov dword [esp + 0x10], eax
lea eax, [ebx + 0xb0]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x134]
mov dword [esp + 8], eax
mov eax, str._in:_d_out:_d_type:_c_dur:_I64d_cpbdur:_I64d_q:_f_aq:_f_tex:_d_mv:_d_misc:_d_imb:_d_pmb:_d_smb:_d_d:_c
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_sscanf
pxor xmm0, xmm0
mov edx, dword [esp + 0xe0]
cvtsi2ss xmm0, dword [ebx + 0x1c]
mov ecx, str.ref:
movss xmm5, dword [esp + 0xb0]
movss xmm6, dword [esp + 0xb8]
mulss xmm0, xmm5
add eax, edx
mov dword [esp + 0xe0], eax
cvttss2si eax, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
mulss xmm0, xmm5
cvttss2si eax, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x20]
mov dword [ebx + 0x18], eax
mulss xmm0, xmm5
cvttss2si eax, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x44]
mov dword [ebx + 0x20], eax
mulss xmm0, xmm6
cvttss2si eax, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x48]
mov dword [ebx + 0x44], eax
mulss xmm0, xmm6
cvttss2si eax, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x4c]
mov dword [ebx + 0x48], eax
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [ebx + 0x4c], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.msvcrt.dll_strstr
test eax, eax
je 0xad8bd5
lea edx, [eax + 4]
xor esi, esi
lea edi, [ebx + 0x68]
mov dword [esp + 0xc0], ebx
mov ebx, edx
lea esi, [esi]
lea edi, [edi]
mov eax, 0xdfdca2
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_sscanf
dec eax
jne 0xad7f3f
lea edx, [ebx + 1]
mov ebx, 0x20
mov dword [esp + 4], ebx
mov dword [esp], edx
call sub.msvcrt.dll_strchr
test eax, eax
mov ebx, eax
je 0xad8bd5
inc esi
add edi, 4
cmp esi, 0x10
jne 0xad7f00
mov edx, ebx
mov ebx, dword [esp + 0xc0]
mov ecx, 0x77
mov dword [ebx + 0xa8], esi
mov word [ebx + 0x64], 0xffff
mov word [ebx + 0x62], 0xffff
mov dword [esp + 4], ecx
mov dword [esp], edx
call sub.msvcrt.dll_strchr
test eax, eax
je 0xad7fd2
lea edx, [ebx + 0x60]
mov dword [esp + 0x24], edx
lea edx, [ebx + 0x5e]
mov dword [esp + 0x20], edx
lea edx, [ebx + 0x5c]
mov dword [esp + 0x1c], edx
lea edx, [ebx + 0x5a]
mov dword [esp + 0x18], edx
lea edx, [ebx + 0x64]
mov dword [esp + 0x14], edx
lea edx, [ebx + 0x58]
mov dword [esp + 0x10], edx
lea edx, [ebx + 0x56]
mov dword [esp + 0xc], edx
lea edx, [ebx + 0x62]
mov dword [esp + 8], edx
mov edx, str.w:_hd__hd__hd__hd__hd__hd__hd__hd
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 3
je 0xad8def
cmp eax, 8
je 0xad7fd2
mov word [ebx + 0x64], 0xffff
mov word [ebx + 0x62], 0xffff
movzx eax, byte [esp + 0x134]
cmp al, 0x62
je 0xad8e05
cmp al, 0x49
mov dword [ebx + 8], 1
je 0xad8e95
jle 0xad8b7c
cmp al, 0x50
jne 0xad8e4e
mov dword [ebx + 4], 3
mov dword [ebx], 0
cmp dword [esp + 0xe0], 0xd
jle 0xad8bd5
movss xmm0, dword [esp + 0x148]
mov dword [esp], 0x40000000
subss xmm0, dword [0xdfe134]
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov edi, dword [esp + 0x108]
pxor xmm5, xmm5
inc dword [esp + 0xf0]
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xf0]
mov edx, dword [edi + 0x110]
fstp dword [esp + 0xe0]
movss xmm0, dword [esp + 0xe0]
cmp edx, eax
mulss xmm0, dword [0xdfe140]
cvtss2sd xmm5, xmm0
pxor xmm0, xmm0
movsd qword [ebx + 0x10], xmm5
cvtss2sd xmm0, dword [esp + 0x150]
addsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0xd0], xmm0
jg 0xad7ce8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32c]
test ecx, ecx
jne 0xad80f8
mov esi, eax
pxor xmm0, xmm0
movsd xmm6, qword [esp + 0xd0]
cvtsi2sd xmm0, edx
mov edx, 0x33
divsd xmm6, xmm0
movsd xmm0, qword [0xdfe198]
addsd xmm0, xmm6
cvttsd2si eax, xmm0
cmp eax, 0x33
cmovg eax, edx
mov dword [esi + 0x21f0], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.00a2dcf0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x270], 2
jne 0xad7420
mov eax, dword [eax + 0x7720]
pxor xmm1, xmm1
pxor xmm0, xmm0
mov edi, eax
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x215c]
add eax, 0x80000000
cvtsi2sd xmm1, eax
mov eax, dword [ebp + 8]
addsd xmm1, qword [0xdfe180]
mov eax, dword [eax + 0x2160]
mov dword [esp + 0x100], eax
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, edi
mov edi, dword [edi + 0x110]
addsd xmm0, qword [0xdfe180]
divsd xmm1, xmm0
movsd qword [esp + 0xc8], xmm1
pxor xmm1, xmm1
test edi, edi
jle 0xad81be
mov edx, dword [eax + 0x114]
lea ecx, [edi + edi*4]
pxor xmm1, xmm1
lea ecx, [ecx + ecx*4]
lea eax, [edx + 0xb0]
lea edx, [edx + ecx*8 + 0xb0]
fild qword [eax]
add eax, 0xc8
cmp edx, eax
fstp qword [esp + 0x100]
addsd xmm1, qword [esp + 0x100]
jne 0xad81a3
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [eax + 0x284]
mulsd xmm0, qword [0xdfe278]
mulsd xmm0, qword [esp + 0xc8]
mulsd xmm0, xmm1
comisd xmm0, xmmword [0xdfe2e8]
jae 0xada0f2
fnstcw word [esp + 0x11e]
movsd qword [esp + 0x100], xmm0
fld qword [esp + 0x100]
movzx eax, word [esp + 0x11e]
or ax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp qword [esp + 0x88]
fldcw word [esp + 0x11e]
mov eax, dword [ebp + 8]
pxor xmm5, xmm5
pxor xmm0, xmm0
mov esi, dword [ebp + 8]
movss xmm4, dword [eax + 0x2d0]
cvtss2sd xmm0, dword [eax + 0x2d4]
mov edx, dword [esi + 0x4888]
cvtss2sd xmm5, xmm4
movsd qword [esp + 0x58], xmm5
mulsd xmm5, qword [0xdfe1b0]
cvttsd2si eax, xmm5
or eax, 1
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 8]
movss dword [esp + 0x84], xmm4
pxor xmm4, xmm4
cmp dword [eax + 0x70], 1
sbb eax, eax
and eax, 0xffffffd8
add eax, 0x78
imul eax, edx
test edi, edi
cvtsi2sd xmm4, eax
movsd qword [esp + 0x50], xmm4
jle 0xad98f7
mov eax, dword [esp + 0x118]
xor ebx, ebx
mov dword [esp + 0x98], edi
mov eax, dword [eax + 0x114]
mov ecx, eax
mov dword [esp + 0xf0], eax
lea esi, [eax + 0x20]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8 + 0x20]
xor ecx, ecx
mov dword [esp + 0x100], eax
mov eax, dword [esi]
cdq
add ecx, eax
adc ebx, edx
add esi, 0xc8
cmp dword [esp + 0x100], esi
jne 0xad82da
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
cmp edx, ebx
jb 0xad8310
ja 0xad92fc
cmp eax, ecx
jae 0xad92fc
mov dword [esp + 0x108], ecx
test ebx, ebx
mov dword [esp + 0x10c], ebx
fild qword [esp + 0x108]
jns 0xad832f
fadd dword [0xdfe2b0]
mov eax, dword [esp + 0x118]
pxor xmm1, xmm1
cvtsi2sd xmm1, edi
mulsd xmm1, qword [0xdfe278]
fstp qword [esp + 0x108]
movsd xmm0, qword [esp + 0x108]
mulsd xmm0, qword [eax + 0x10]
divsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xc], eax
mov eax, str.requested_bitrate_is_too_low._estimated_minimum_is__d_kbps_n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
mov eax, 0xffffffff
jmp 0xad6c5b
mov eax, 1
mov edi, str.bitrate_tolerance_too_small__using_.01_n
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00a2d890
mov eax, dword [esp + 0x108]
mov dword [eax + 0x20], 0x47ae147b
mov dword [eax + 0x24], 0x3f847ae1
jmp 0xad605b
mov esi, dword [eax + 0x2184]
mov eax, dword [eax + 0x2160]
mov ebx, esi
sar ebx, 0x1f
mov ecx, ebx
imul ecx, eax
mul esi
mov dword [esp + 0x148], eax
mov eax, 0x15f90
add edx, ecx
mov dword [esp + 0x150], eax
xor eax, eax
mov dword [esp + 0x154], eax
lea eax, [esp + 0x148]
mov dword [esp + 4], eax
lea eax, [esp + 0x150]
mov dword [esp], eax
mov dword [esp + 0x14c], edx
call fcn.00a2dd80
mov edi, dword [esp + 0x154]
xor eax, eax
mov esi, dword [esp + 0x150]
mov dword [esp], 0x15f90
mov dword [esp + 4], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
call fcn.00bd1160
mov ecx, dword [esp + 0x108]
test edi, edi
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], edi
fild qword [esp + 0x100]
mov dword [ecx + 0x2a0], eax
mov dword [ecx + 0x2a4], edx
js 0xad8eb4
fstp qword [esp]
call fcn.00bd21f0
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov eax, dword [eax + 0x2160]
fstp qword [esp + 0x100]
mov dword [esp + 0xf8], eax
add eax, 0x80000000
cvtsi2sd xmm0, eax
addsd xmm0, qword [0xdfe180]
movsd qword [esp], xmm0
call fcn.00bd21f0
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [eax + 0x2188]
movsd qword [esp], xmm0
fstp qword [esp + 0xf8]
call fcn.00bd21f0
movsd xmm1, qword [esp + 0x100]
addsd xmm1, qword [esp + 0xf8]
fstp qword [esp + 0x100]
movsd xmm0, qword [esp + 0x100]
addsd xmm0, xmm1
comisd xmm0, xmmword [0xdfe2b8]
jb 0xad6041
mov eax, str.HRD_with_very_large_timescale_and_bufsize_not_supported_n
mov dword [esp + 8], eax
jmp 0xad6c45
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.00a2dcf0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2dc]
mov dword [esp + 0x100], eax
mov edi, eax
jmp 0xad6509
mov edi, dword [esp + 0x108]
cmp eax, 2
mov edx, 1
mov dword [edi], 0
je 0xad5ee8
jmp 0xad5edf
mov dword [esp], eax
call sub.msvcrt.dll_strlen
inc eax
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov edi, eax
mov dword [esp + 0xb8], eax
je 0xad6c3c
mov eax, dword [ebp + 8]
mov ebx, 1
mov eax, dword [eax + 0x2e0]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp + 8]
mov dword [eax + 0x2dc], ebx
movzx eax, byte [edi]
test al, al
je 0xad9097
mov ebx, dword [ebp + 8]
mov ecx, edi
mov edx, 1
cmp al, 0x2f
sete al
inc ecx
movzx eax, al
add edx, eax
mov dword [ebx + 0x2dc], edx
movzx eax, byte [ecx]
test al, al
jne 0xad85c0
lea eax, [edx + edx*2]
shl eax, 3
mov dword [esp], eax
call fcn.00a2dc90
mov edi, dword [ebp + 8]
test eax, eax
mov dword [edi + 0x2d8], eax
je 0xad6c3c
mov ecx, dword [edi + 0x2dc]
test ecx, ecx
jle 0xad8520
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x150]
mov dword [esp + 0xe0], eax
jmp 0xad8659
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
inc dword [esp + 0x100]
lea eax, [eax + edi + 1]
mov edi, dword [ebp + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x100]
cmp eax, dword [edi + 0x2dc]
jge 0xad8520
mov edi, dword [esp + 0xf8]
mov eax, 0xdfd590
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strcspn
mov esi, dword [ebp + 8]
mov byte [edi + eax], 0
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x100]
mov edx, dword [esi + 0x2d8]
lea eax, [eax + eax*2]
lea ebx, [edx + eax*8]
xor eax, eax
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0xe0]
mov edx, str._d__d_q_d_n
mov dword [ebx + 0x14], 0
lea esi, [ebx + 4]
mov dword [ebx + 0x10], 0x3f800000
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], eax
lea eax, [ebx + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
cmp eax, 2
jle 0xad8855
mov dword [ebx + 8], 1
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x150]
add esi, edi
cmp byte [esi], 0
je 0xad8623
mov dword [esp], 0x35c
call fcn.00a2dc90
test eax, eax
mov dword [ebx + 0x14], eax
je 0xad8841
mov ecx, 0x35c
test al, 1
mov edx, dword [ebp + 8]
mov edi, eax
mov dword [esp + 0xd0], ecx
jne 0xad8e31
test edi, 2
jne 0xad8e17
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xb0], ebx
and eax, 0xfffffff8
mov dword [esp + 0xc8], eax
xor eax, eax
mov ebx, dword [edx + eax + 4]
mov ecx, dword [edx + eax]
mov dword [edi + eax + 4], ebx
mov dword [edi + eax], ecx
add eax, 8
cmp eax, dword [esp + 0xc8]
jb 0xad8756
add edi, eax
add edx, eax
mov ebx, dword [esp + 0xb0]
xor eax, eax
test byte [esp + 0xd0], 4
je 0xad8790
mov eax, dword [edx]
mov dword [edi], eax
mov eax, 4
test byte [esp + 0xd0], 2
je 0xad87a5
movzx ecx, word [edx + eax]
mov word [edi + eax], cx
add eax, 2
test byte [esp + 0xd0], 1
je 0xad87b6
movzx edx, byte [edx + eax]
mov byte [edi + eax], dl
mov eax, dword [ebx + 0x14]
mov edx, fcn.00a2dcf0
mov dword [eax + 0x354], edx
mov edx, esi
mov esi, ebx
nop
lea esi, [esi]
mov edi, 0xdfd5e5
mov dword [esp + 4], edi
mov dword [esp], edx
call sub.msvcrt.dll_strtok
test eax, eax
mov edi, eax
je 0xad8623
mov eax, 0x3d
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
mov ebx, eax
je 0xad8806
mov byte [eax], 0
inc ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00a29e30
xor edx, edx
test eax, eax
je 0xad87d0
mov eax, str.invalid_zone_param:__s___s_n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], eax
call fcn.00a2d890
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.00a2dcf0
jmp 0xad6c3c
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x14], eax
lea eax, [ebx + 0x10]
mov dword [esp + 0x10], eax
mov eax, str._d__d_b_f_n
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
jle 0xad88b7
mov dword [ebx + 8], 0
jmp 0xad86e7
mov edi, dword [esp + 0x108]
mov dword [edi + 0x1cc], eax
mov edx, dword [esp + 0x138]
mov dword [edi + 0x1d0], edx
jmp 0xad6792
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov eax, str._d__d_n
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
dec eax
jg 0xad888c
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xc], eax
mov eax, str.invalid_zone:___s__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad8841
mov edi, dword [eax + 0x298]
test edi, edi
je 0xad7b38
nop
jmp 0xad7aec
mov byte [edi], 0
jmp 0xad7c1e
mov word [edi], 0
add edi, 2
test dl, 1
je 0xad7c1e
jmp 0xad8925
mov dword [edi], 0
add edi, 4
test dl, 2
je 0xad7c15
jmp 0xad892d
mov ebx, dword [edi + 0x320]
mov edx, 0xdfd4f1
test ebx, ebx
mov ebx, 0xdfd4e6
cmovne ebx, edx
jmp 0xad6a5e
mov eax, dword [esp + 0x134]
cmp eax, 8
je 0xad689c
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, 8
mov esi, str.different_bitdepth_setting_than_first_pass___d_vs__d__n
xor edi, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x70]
cmp eax, edx
je 0xad691c
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov ebx, str.different_bframes_setting_than_first_pass___d_vs__d__n
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x210]
test eax, eax
mov eax, 0
cmovns eax, dword [edi + 0x210]
cmp eax, edx
je 0xad68dc
mov dword [esp + 0xc], eax
mov eax, str.different_weightp_setting_than_first_pass___d_vs__d__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x7c]
cmp eax, edx
je 0xad695c
mov dword [esp + 0xc], eax
mov eax, str.different_b_pyramid_setting_than_first_pass___d_vs__d__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x80]
cmp eax, edx
je 0xad69dc
mov dword [esp + 0xc], eax
mov eax, str.different_open_gop_setting_than_first_pass___d_vs__d__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x6c]
cmp eax, edx
je 0xad699c
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov ebx, str.different_intra_refresh_setting_than_first_pass___d_vs__d__n
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [eax + 0x84]
cmp eax, edx
je 0xad6a1c
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov ebx, str.different_bluray_compat_setting_than_first_pass___d_vs__d__n
xor esi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
test al, 1
jne 0xad9237
test edi, 2
nop
jne 0xad91d1
test edi, 4
jne 0xad91c0
mov ecx, edx
and edx, 3
shr ecx, 2
xor eax, eax
test dl, 4
rep stosd dword es:[edi], eax
je 0xad7c0c
jmp 0xad8940
cmp al, 0x42
jne 0xad8bc9
mov dword [ebx + 4], 4
mov dword [ebx], 1
jmp 0xad800c
test edi, 1
jne 0xad9256
test edi, 2
jne 0xad9241
test edi, 4
je 0xad65ad
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0xad65ad
mov edi, 0xffffffff
mov dword [esp + 0xe0], edi
mov eax, dword [esp + 0xe0]
mov ebx, str.statistics_are_damaged_at_line__d__parser_out_d_n
xor esi, esi
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [esp + 0x108]
mov edx, 3
mov edi, dword [esp + 0xf0]
mov dword [eax + edi*4 + 0x1b4], edx
mov eax, 3
jmp 0xad7793
mov esi, dword [eax + 0x2c0]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, 6
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov ebx, eax
je 0xad9266
mov dword [esp + 4], esi
mov esi, 0xdfdec7
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x108]
add eax, ebx
mov dword [eax], 0x6d65742e
mov word [eax + 4], 0x70
mov dword [edi + 0xfc], ebx
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00a2ec20
test eax, eax
mov dword [edi + 0xf8], eax
je 0xad92ee
mov eax, dword [ebp + 8]
mov ebx, 1
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00a2e050
test eax, eax
mov ebx, eax
je 0xad8cd4
mov ecx, str.options:__s_n
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [edi + 0xf8]
mov dword [esp], eax
call fcn.00ad3210
mov dword [esp], ebx
call fcn.00a2dcf0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2b4]
test edx, edx
je 0xad79b5
mov edi, dword [eax + 0x2c4]
test edi, edi
je 0xad90d5
mov edi, dword [esp + 0x108]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov ebx, dword [edi + 0x1cc]
mov ecx, dword [edi + 0x1d0]
jmp 0xad747e
pxor xmm0, xmm0
cvtss2sd xmm0, dword [eax + 0x288]
mulsd xmm0, qword [0xdfe2c0]
jmp 0xad60c3
mov esi, dword [eax + 0x2c8]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, 8
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov ebx, eax
je 0xad6c56
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x74626d2e
mov dword [eax + 4], 0x656572
mov eax, 0xdfd681
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00a2ec20
mov edi, dword [esp + 0x108]
mov dword [edi + 0x10c], eax
mov dword [esp], ebx
call fcn.00a2dcf0
mov eax, dword [edi + 0x10c]
test eax, eax
jne 0xad66f1
jmp 0xad91ab
movss xmm6, dword [esp + 0x13c]
movss xmm5, dword [esp + 0x144]
mov esi, dword [esp + 0x154]
movss dword [esp + 0xf8], xmm6
movss dword [esp + 0x100], xmm5
jmp 0xad7761
xor eax, eax
mov dword [esp + 0xc8], eax
jmp 0xad7d29
mov word [ebx + 0x64], 0xffff
movzx eax, byte [esp + 0x134]
cmp al, 0x62
jne 0xad7fe2
mov dword [ebx + 4], 5
mov dword [ebx], 1
jmp 0xad800c
movzx eax, word [edx]
add edi, 2
add edx, 2
mov word [edi - 2], ax
sub dword [esp + 0xd0], 2
jmp 0xad873c
movzx edx, byte [edx]
mov ecx, 0x35b
inc edi
mov byte [eax], dl
mov eax, dword [ebp + 8]
mov dword [esp + 0xd0], ecx
lea edx, [eax + 1]
jmp 0xad8730
cmp al, 0x69
jne 0xad8bc9
mov dword [ebx + 4], 2
mov dword [ebx], 2
jmp 0xad800c
mov eax, str.invalid_zone:_bitrate_factor_f_n
pxor xmm6, xmm6
cvtss2sd xmm6, xmm0
mov dword [esp + 8], eax
xor eax, eax
movsd qword [esp + 0xc], xmm6
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c3c
mov dword [ebx + 4], 1
mov dword [ebx], 2
jmp 0xad800c
movss xmm3, dword [0xdfe144]
jmp 0xad781d
fadd dword [0xdfe2b0]
jmp 0xad8476
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x148]
mov ecx, dword [esi + 0x31c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x18], ebx
mov ebx, str.timebase_mismatch_with_1st_pass___u__u_vs__u__u__n
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, str.timebase_specified_in_stats_file_not_valid_n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, str.different_interlaced_setting_than_first_pass___s_vs__s__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, dword [ebp + 8]
cmp dword [eax + 0x218], 3
jne 0xad6bb9
mov ebx, str.directauto_not_used_on_the_first_pass_n
mov edi, 1
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
call fcn.00a2d890
mov eax, dword [ebp + 8]
mov edx, 1
mov dword [eax + 0x70ac], edx
jmp 0xad6bb9
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0xad7ab3
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0xad7abf
mov byte [eax], 0
inc edi
dec edx
jmp 0xad7aa7
mov ebx, str.1st_pass_was_lossless__bitrate_prediction_will_be_inaccurate_n
mov edi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6b99
mov eax, dword [esp + 0xf0]
mov ebx, str.bad_frame_output_number___d__at_stats_line__d_n
xor esi, esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov dword [esp + 0xc], eax
xor eax, eax
mov esi, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov edi, str.bad_frame_number___d__at_stats_line__d_n
mov dword [esp + 8], edi
mov dword [esp + 0x10], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
pxor xmm5, xmm5
movsd qword [esp + 0xf8], xmm5
movsd qword [esp + 0xd0], xmm5
jmp 0xad80b3
mov edx, dword [ecx + 0x1a4]
lea eax, [edx + edx]
mov dword [esp], eax
mov dword [esp + 0xf0], edx
call fcn.00a2dc90
mov ecx, dword [esp + 0x108]
test eax, eax
mov dword [ecx + 0x19c], eax
jne 0xad76cd
jmp 0xad6c56
movzx edx, byte [ecx]
inc eax
mov ebx, 0x35b
mov byte [eax - 1], dl
mov edi, dword [ebp + 8]
lea ecx, [edi + 1]
jmp 0xad6607
mov eax, 0x18
jmp 0xad85de
mov eax, str.resolution_specified_in_stats_file_not_valid_n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
movzx edx, word [ecx]
add eax, 2
add ecx, 2
sub ebx, 2
mov word [eax - 2], dx
jmp 0xad660f
mov esi, dword [eax + 0x2c0]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, 0xd
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov ebx, eax
je 0xad9122
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x74626d2e
mov dword [eax + 4], 0x2e656572
mov dword [eax + 8], 0x706d6574
mov byte [eax + 0xc], 0
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x108]
mov esi, dword [eax + 0x2c0]
mov dword [edi + 0x104], ebx
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, 8
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov ebx, eax
je 0xada162
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x74626d2e
mov dword [eax + 4], 0x656572
mov eax, dword [edi + 0x104]
mov dword [edi + 0x108], ebx
test eax, eax
je 0xad6c56
mov esi, 0xdfdec7
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2ec20
test eax, eax
mov dword [edi + 0x100], eax
jne 0xad7431
mov edi, str.ratecontrol_init:_cant_open_mbtree_stats_file_n
mov dword [esp + 8], edi
jmp 0xad6c45
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0xad8b62
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0xad8b56
mov esi, str.options_list_in_stats_file_not_valid_n
mov dword [esp + 8], esi
jmp 0xad6c45
mov ecx, str.constant_rate_factor_is_incompatible_with_2pass._n
xor ebx, ebx
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call fcn.00a2d890
mov eax, 0xffffffff
jmp 0xad6c5b
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x10], ebx
mov ebx, str.2nd_pass_has_more_frames_than_1st_pass___d_vs__d__n
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov byte [eax], 0
inc edi
dec edx
jmp 0xad8b48
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0xad8baa
movzx edx, byte [esi]
lea edi, [eax + 0x19]
inc esi
dec ecx
mov byte [eax + 0x18], dl
jmp 0xad8b9e
mov eax, dword [esp + 0x108]
xor ecx, ecx
mov dword [eax + 0xfc], ecx
jmp 0xad6c56
mov eax, 0xdfda39
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
lea eax, [edi - 1]
mov dword [esp + 0xc], eax
mov eax, str.different_keyint_setting_than_first_pass___.s_vs__.s__n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov ecx, str.b_adapt_method_specified_in_stats_file_not_valid_n
xor ebx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad6c56
mov eax, str.empty_stats_file_n
mov dword [esp + 8], eax
jmp 0xad6c45
mov ecx, str.ratecontrol_init:_cant_open_stats_file_n
mov dword [esp + 8], ecx
jmp 0xad6c45
mov eax, dword [esp + 0xf0]
addsd xmm0, xmm0
movsd qword [esp + 0xd0], xmm0
mov dword [esp + 0x64], edi
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0xa8], eax
movsd xmm5, qword [esp + 0xd0]
movsd xmm6, qword [esp + 0xd8]
comisd xmm5, xmm6
jbe 0xada04d
cmp dword [esp + 0x98], 1
jle 0xad95e3
mov eax, dword [ebp + 8]
movsd qword [esp + 0x70], xmm6
mov ebx, dword [eax + 0x2f4]
cmp ebx, 5
je 0xada039
mov eax, dword [esp + 0x118]
pxor xmm0, xmm0
mov esi, 1
movss xmm5, dword [0xdfe144]
movsd xmm4, qword [esp + 0xf8]
movsd qword [esp + 0xe0], xmm6
movsd qword [esp + 0xf0], xmm4
movsd qword [esp + 0x100], xmm4
movsd xmm4, qword [0xdfe2f0]
movsd qword [esp + 0xc0], xmm4
cvtsi2ss xmm0, dword [eax + 0x30]
mov eax, dword [esp + 0x94]
divss xmm5, xmm0
add eax, 0xc8
mov edi, eax
mov dword [esp + 0x68], eax
mov eax, ebx
mov ebx, edi
mov edi, esi
mov esi, eax
movss dword [esp + 0x78], xmm5
jmp 0xad9551
fild qword [ebx + 0xb0]
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [esp + 0xc8]
comisd xmm0, xmmword [0xdfe190]
jb 0xad95b5
minsd xmm0, qword [esp + 0x70]
movsd xmm4, qword [0xdfe188]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0xb8], xmm4
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x44]
movsd xmm4, qword [esp + 0xd8]
movsd xmm5, qword [esp + 0xc0]
mulss xmm0, dword [esp + 0x78]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm0
subsd xmm4, xmm0
movsd xmm0, qword [esp + 0xe0]
mulsd xmm0, xmm4
movsd qword [esp + 0xe0], xmm0
comisd xmm5, xmm0
ja 0xada078
mov eax, edi
pxor xmm0, xmm0
neg eax
imul eax, edi
inc edi
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0xdfe2f8]
movsd qword [esp], xmm0
call sub.msvcrt.dll_exp
mov eax, ebx
movsd xmm4, qword [esp + 0x100]
movsd xmm0, qword [esp + 0xd8]
fstp qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa0]
mulsd xmm1, qword [esp + 0xe0]
addsd xmm4, xmm1
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x100], xmm4
call fcn.00ad2580
pxor xmm2, xmm2
movsd xmm1, qword [esp + 0xa0]
cvtsi2sd xmm2, dword [ebx + 0x20]
movsd xmm6, qword [esp + 0xd0]
subsd xmm0, xmm2
mulsd xmm0, xmm1
divsd xmm0, qword [esp + 0xb0]
mulsd xmm0, qword [esp + 0xb8]
addsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, edi
comisd xmm6, xmm0
jbe 0xad9612
add ebx, 0xc8
cmp dword [esp + 0x98], edi
je 0xad9612
cmp esi, 5
jne 0xad93e1
fild qword [ebx + 0xb0]
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [esp + 0xc8]
comisd xmm0, xmmword [0xdfe1a8]
jae 0xada0c6
mov eax, 0x40000000
mov edx, 0x3f747ae1
movsd xmm4, qword [0xdfe1a0]
mov dword [esp + 0xb0], eax
movsd qword [esp + 0xb8], xmm4
mov dword [esp + 0xb4], edx
jmp 0xad942e
mov ecx, 0x40000000
mov eax, 0x3f847ae1
movsd xmm4, qword [0xdfe188]
mov dword [esp + 0xb0], ecx
movsd qword [esp + 0xb8], xmm4
mov dword [esp + 0xb4], eax
jmp 0xad942e
mov eax, dword [esp + 0x94]
movsd xmm6, qword [esp + 0xf8]
movsd qword [esp + 0xf0], xmm6
movsd qword [esp + 0x100], xmm6
movapd xmm6, xmm5
add eax, 0xc8
mov dword [esp + 0x68], eax
comisd xmm6, xmmword [esp + 0xf8]
jb 0xad98a3
mov eax, dword [ebp + 8]
movsd xmm4, qword [esp + 0xd8]
movsd qword [esp + 0x70], xmm4
mov ebx, dword [eax + 0x2f4]
cmp ebx, 5
je 0xada086
mov eax, dword [esp + 0x118]
pxor xmm0, xmm0
movsd xmm5, qword [esp + 0xd8]
movss xmm4, dword [0xdfe144]
movsd qword [esp + 0xe0], xmm5
movsd xmm6, qword [0xdfe2f0]
mov esi, dword [esp + 0x94]
xor edi, edi
movsd qword [esp + 0xc0], xmm6
fld qword [esp + 0xe0]
cvtsi2ss xmm0, dword [eax + 0x30]
mov eax, ebx
mov ebx, esi
mov esi, eax
divss xmm4, xmm0
movss dword [esp + 0x78], xmm4
jmp 0xad9811
fild qword [ebx + 0xb0]
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [esp + 0xc8]
comisd xmm0, xmmword [0xdfe190]
jb 0xad9875
minsd xmm0, qword [esp + 0x70]
movsd xmm4, qword [0xdfe188]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xb0], xmm4
fstp qword [esp + 0xa0]
mov eax, ebx
movsd xmm5, qword [esp + 0x100]
movsd xmm1, qword [esp + 0xa0]
movsd xmm0, qword [0xdfe160]
mulsd xmm1, qword [esp + 0xe0]
addsd xmm5, xmm1
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x100], xmm5
call fcn.00ad2580
pxor xmm2, xmm2
movsd xmm1, qword [esp + 0xa0]
cvtsi2sd xmm2, dword [ebx + 0x20]
movsd xmm4, qword [esp + 0xd8]
movsd xmm6, qword [esp + 0xc0]
subsd xmm0, xmm2
mulsd xmm0, xmm1
divsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [esp + 0xb0]
addsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x44]
mulss xmm0, dword [esp + 0x78]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm0
subsd xmm4, xmm0
movsd xmm0, qword [esp + 0xe0]
mulsd xmm0, xmm4
movsd qword [esp + 0xe0], xmm0
comisd xmm6, xmm0
ja 0xad98a3
inc edi
sub ebx, 0xc8
pxor xmm0, xmm0
movsd xmm6, qword [esp + 0xd0]
cvtsi2sd xmm0, edi
comisd xmm6, xmm0
jb 0xad98a3
cmp edi, dword [esp + 0xa8]
jg 0xad98a3
mov eax, edi
pxor xmm0, xmm0
neg eax
imul eax, edi
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0xdfe2f8]
movsd qword [esp], xmm0
call sub.msvcrt.dll_exp
cmp esi, 5
jne 0xad96a2
fild qword [ebx + 0xb0]
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [esp + 0xc8]
comisd xmm0, xmmword [0xdfe1a8]
jae 0xada09a
mov eax, 0x40000000
movsd xmm4, qword [0xdfe1a0]
movsd qword [esp + 0xb0], xmm4
mov dword [esp + 0xb8], eax
mov eax, 0x3f747ae1
mov dword [esp + 0xbc], eax
jmp 0xad96ef
mov eax, 0x40000000
movsd xmm6, qword [0xdfe188]
movsd qword [esp + 0xb0], xmm6
mov dword [esp + 0xb8], eax
mov eax, 0x3f847ae1
mov dword [esp + 0xbc], eax
jmp 0xad96ef
mov eax, dword [esp + 0x94]
movsd xmm0, qword [esp + 0xf0]
pxor xmm4, xmm4
inc dword [esp + 0xa8]
divsd xmm0, qword [esp + 0x100]
cvtsd2ss xmm4, xmm0
mov edi, dword [esp + 0x68]
dec dword [esp + 0x98]
movss dword [eax + 0x50], xmm4
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x94], edi
jne 0xad9324
mov edi, dword [esp + 0x64]
shl edi, 3
mov dword [esp], edi
call fcn.00a2dc90
test eax, eax
mov dword [esp + 0x100], eax
je 0xad6c56
cmp dword [esp + 0x80], 1
jle 0xada7b5
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x110]
mov dword [esp + 0xf0], eax
shl eax, 3
mov dword [esp], eax
call fcn.00a2dc90
test eax, eax
mov dword [esp + 0x94], eax
je 0xad6c56
mov eax, dword [esp + 0x118]
mov esi, dword [eax + 0x110]
test esi, esi
mov dword [esp + 0xc8], esi
jle 0xada7a7
mov edi, dword [eax + 0x114]
xor esi, esi
movsd xmm3, qword [esp + 0xd8]
movapd xmm1, xmm3
mov edx, edi
mov edi, eax
lea eax, [esi + esi*4]
mov ecx, esi
movsd qword [esp + 0xc8], xmm1
lea ebx, [eax + eax*4]
mov eax, dword [ebp + 8]
movapd xmm0, xmm3
shl ebx, 3
movsd qword [esp + 0xd0], xmm3
inc esi
add edx, ebx
call fcn.00ad2630
mov edx, dword [edi + 0x114]
add ebx, edx
mov eax, ebx
mov dword [esp + 0xe0], edx
movsd qword [esp + 0xf0], xmm0
call fcn.00ad2580
mov eax, dword [ebx]
movsd xmm2, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xc8]
mov edx, dword [esp + 0xe0]
movsd xmm3, qword [esp + 0xd0]
movsd qword [edi + eax*8 + 0x128], xmm2
mov eax, dword [edi + 0x110]
addsd xmm1, xmm0
cmp esi, eax
mov dword [esp + 0xc8], eax
jl 0xad9982
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov dword [esp + 0xf4], edx
test edx, edx
mov dword [esp + 0xf0], eax
fild qword [esp + 0xf0]
jns 0xad9a40
fadd dword [0xdfe2b0]
movsd xmm4, qword [0xdfe300]
fstp qword [esp + 0x78]
movsd xmm0, qword [esp + 0x78]
divsd xmm0, xmm1
mulsd xmm4, xmm0
mulsd xmm0, qword [0xdfe308]
movsd qword [esp + 0x68], xmm4
movsd qword [esp + 0x48], xmm0
comisd xmm4, xmm0
jbe 0xad6dcf
mov edi, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
movsd xmm6, qword [esp + 0xd8]
mulsd xmm0, xmm0
divsd xmm6, xmm0
movsd qword [esp + 0xd0], xmm6
movsd xmm6, qword [esp + 0xf8]
movsd qword [esp + 0x70], xmm6
movapd xmm4, xmm6
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
neg eax
mov dword [esp + 0x58], eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x118]
mov edx, 0xffffffff
addsd xmm6, qword [esp + 0x68]
movsd xmm5, qword [esp + 0xd8]
movsd qword [esp + 0x98], xmm6
mov dword [edi + 0x140], edx
movsd qword [edi + 0x158], xmm5
movsd qword [edi + 0x150], xmm4
subsd xmm5, qword [edi + 0x28]
movsd qword [esp + 8], xmm5
movsd xmm5, qword [esp + 0x50]
movsd qword [esp], xmm5
call sub.msvcrt.dll_pow
mov ecx, dword [esp + 0xc8]
test ecx, ecx
fstp qword [esp + 0xf0]
movsd xmm0, qword [esp + 0xf0]
divsd xmm0, qword [esp + 0x98]
movsd qword [edi + 0x138], xmm0
movsd qword [edi + 0x130], xmm0
movsd qword [edi + 0x128], xmm0
jle 0xad9bc2
mov eax, dword [edi + 0x114]
xor ebx, ebx
mov esi, esi
lea edi, [edi]
lea edx, [ebx + ebx*4]
mov ecx, 0xffffffff
movsd xmm0, qword [esp + 0x98]
lea esi, [edx + edx*4]
shl esi, 3
lea edx, [eax + esi]
mov eax, dword [ebp + 8]
call fcn.00ad2630
mov eax, dword [esp + 0x100]
movsd qword [eax + ebx*8], xmm0
mov eax, dword [edi + 0x114]
inc ebx
mov edx, dword [eax + esi]
movsd qword [edi + edx*8 + 0x128], xmm0
mov edx, dword [edi + 0x110]
cmp ebx, edx
jl 0xad9b70
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0xc8]
dec ebx
js 0xad9e0d
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x7720]
mov ecx, dword [edi + 0x278]
lea eax, [ecx - 1]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xc8]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x114]
lea eax, [eax + edx*8 - 0xc8]
mov dword [esp + 0xf0], eax
lea eax, [ecx + ecx*2]
lea eax, [eax*8 - 0x18]
mov dword [esp + 0xc0], eax
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0xe0]
movsd xmm2, qword [eax + ebx*8]
mov eax, dword [esp + 0xf0]
test edx, edx
mov ecx, dword [eax]
js 0xad9c74
mov eax, dword [esp + 0xc0]
mov esi, dword [edi + 0x27c]
add eax, esi
nop
cmp dword [eax], ebx
mov esi, eax
jg 0xad9c6b
cmp dword [eax + 4], ebx
jge 0xad9c76
dec edx
sub eax, 0x18
cmp edx, 0xffffffff
jne 0xad9c60
xor esi, esi
mov eax, dword [edi + 0x140]
cmp ecx, 2
movsd xmm3, qword [edi + eax*8 + 0x128]
je 0xada1f0
cmp ecx, 1
je 0xada373
test ecx, ecx
jne 0xad9cc0
test eax, eax
lea esi, [esi]
jne 0xad9cc0
mov edx, dword [esp + 0xf0]
movsd xmm0, qword [edi + 0x128]
mov edx, dword [edx + 0x1c]
test edx, edx
jne 0xad9cc0
movapd xmm2, xmm0
lea esi, [esi]
cmp ecx, eax
je 0xada32e
cmp ecx, 1
movsd qword [edi + ecx*8 + 0x128], xmm2
movapd xmm1, xmm2
je 0xad9dbd
mov dword [edi + 0x140], ecx
movapd xmm1, xmm2
test ecx, ecx
jne 0xad9dbd
mov eax, dword [esp + 0xf0]
pxor xmm0, xmm0
pxor xmm2, xmm2
cvtsi2ss xmm2, dword [edi + 0x30]
movsd qword [esp + 0xb0], xmm1
cvtsi2ss xmm0, dword [eax + 0x44]
divss xmm0, xmm2
movsd xmm2, qword [esp + 0xd8]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm0
subsd xmm2, xmm0
pxor xmm0, xmm0
cvtsd2ss xmm0, xmm1
mulss xmm0, dword [0xdfe148]
cvtsd2ss xmm2, xmm2
cvtss2sd xmm2, xmm2
movsd qword [esp + 0xa8], xmm2
movss dword [esp], xmm0
call fcn.00bd2200
movsd xmm2, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
fstp dword [esp + 0xb8]
movss xmm0, dword [esp + 0xb8]
mulss xmm0, dword [0xdfe218]
addss xmm0, dword [0xdfe134]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [edi + 0x148]
mulsd xmm0, xmm2
movsd qword [edi + 0x148], xmm0
movsd xmm0, qword [esp + 0xd8]
addsd xmm0, qword [edi + 0x150]
mulsd xmm2, xmm0
movsd qword [edi + 0x150], xmm2
test esi, esi
je 0xad9dd9
mov eax, dword [esi + 8]
test eax, eax
jne 0xada194
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esi + 0x10]
divsd xmm1, xmm0
mov eax, dword [esp + 0x100]
movsd xmm6, qword [esp + 0xf8]
comisd xmm6, xmm1
movsd qword [eax + ebx*8], xmm1
ja 0xada5ba
dec ebx
sub dword [esp + 0xf0], 0xc8
cmp ebx, 0xffffffff
jne 0xad9c30
cmp dword [esp + 0x80], 1
jle 0xada542
mov ecx, dword [esp + 0xc8]
test ecx, ecx
jle 0xada574
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0x114]
mov dword [esp + 0xa0], ebx
add esi, ebx
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov edi, eax
mov dword [esp + 0x64], eax
add eax, edx
mov dword [esp + 0xa8], eax
mov eax, esi
mov esi, ecx
mov dword [esp + 0xc0], edi
movss xmm5, dword [esp + 0x84]
pxor xmm6, xmm6
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa0]
comiss xmm5, xmm6
jne 0xada3b1
movsd xmm4, qword [esp + 0xf8]
mov ecx, dword [esp + 0xc0]
movapd xmm1, xmm4
movapd xmm0, xmm4
jmp 0xad9ebb
inc ebx
add edi, 0xc8
cmp eax, ebx
je 0xad9eee
cmp esi, ebx
jle 0xad9eb0
mov edx, ebx
shr edx, 0x1f
test dl, dl
jne 0xad9eb0
mov edx, dword [edi]
cmp dword [ecx], edx
jne 0xad9eb0
mov edx, dword [esp + 0x100]
add edi, 0xc8
addsd xmm1, qword [esp + 0xd8]
addsd xmm0, qword [edx + ebx*8]
inc ebx
cmp eax, ebx
jne 0xad9ebb
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xb0], xmm1
mov edi, dword [esp + 0xf0]
divsd xmm0, qword [esp + 0xb0]
inc eax
mov ecx, dword [esp + 0x94]
inc dword [esp + 0xa0]
add dword [esp + 0xa8], 0xc8
add dword [esp + 0xc0], 0xc8
movsd qword [ecx + edi*8], xmm0
inc edi
cmp edi, esi
mov dword [esp + 0xf0], edi
jne 0xad9e72
mov ebx, dword [esp + 0x64]
xor esi, esi
movsd xmm4, qword [esp + 0xf8]
mov edi, dword [esp + 0x94]
movsd qword [esp + 0xf0], xmm4
lea esi, [esi]
mov edx, dword [ebx]
movsd xmm0, qword [edi + esi*8]
mov eax, dword [ebp + 8]
call fcn.00ad2860
movsd xmm5, qword [esp + 0xf8]
movsd qword [ebx + 0x38], xmm0
comisd xmm5, xmm0
ja 0xada588
mov eax, ebx
inc esi
call fcn.00ad2580
add ebx, 0xc8
cmp esi, dword [esp + 0xc8]
addsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm0
jl 0xad9f70
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x78]
movsd xmm5, qword [esp + 0x98]
cmpltsd xmm0, qword [esp + 0xf0]
andpd xmm1, xmm0
andnpd xmm0, xmm5
orpd xmm0, xmm1
movsd qword [esp + 0x70], xmm0
movsd xmm6, qword [0xdfe198]
mulsd xmm6, qword [esp + 0x68]
movsd qword [esp + 0x68], xmm6
comisd xmm6, xmmword [esp + 0x48]
jbe 0xad6dcf
mov eax, dword [esp + 0x118]
movsd xmm6, qword [esp + 0x70]
movsd xmm4, qword [esp + 0xf8]
mov eax, dword [eax + 0x110]
mov dword [esp + 0xc8], eax
jmp 0xad9ace
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, 0x3fe00000
mov dword [esp + 0x74], eax
jmp 0xad9366
mov eax, dword [esp + 0x94]
movsd xmm5, qword [esp + 0xf8]
movsd qword [esp + 0xf0], xmm5
movsd qword [esp + 0x100], xmm5
add eax, 0xc8
mov dword [esp + 0x68], eax
movsd xmm6, qword [esp + 0xd0]
jmp 0xad9612
xor esi, esi
mov edi, 0x3fe00000
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
jmp 0xad9642
mov edx, 0x40000000
mov ecx, 0x3f947ae1
minsd xmm0, qword [esp + 0x70]
mov dword [esp + 0xb0], edx
movsd qword [esp + 0xb8], xmm0
mov dword [esp + 0xb4], ecx
jmp 0xad96ef
mov eax, 0x40000000
minsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], eax
mov eax, 0x3f947ae1
mov dword [esp + 0xbc], eax
jmp 0xad942e
fnstcw word [esp + 0x11e]
subsd xmm0, qword [0xdfe2e8]
movsd qword [esp + 0x100], xmm0
fld qword [esp + 0x100]
movzx eax, word [esp + 0x11e]
or ax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp qword [esp + 0x110]
fldcw word [esp + 0x11e]
mov ebx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov eax, ebx
add eax, 0x80000000
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
jmp 0xad8230
mov eax, dword [esp + 0x108]
xor edx, edx
mov dword [eax + 0x108], edx
jmp 0xad6c56
mov ebx, 0x368
mov esi, str.encoder_ratecontrol.c
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], str.h__param.rc.psz_stat_in
call sub.msvcrt.dll__assert
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0xc]
mov dword [esp], 0x40000000
subss xmm0, dword [0xdfe134]
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [esp + 0x100]
pxor xmm6, xmm6
fstp dword [esp + 0xb8]
movss xmm0, dword [esp + 0xb8]
mulss xmm0, dword [0xdfe140]
cvtss2sd xmm6, xmm0
movsd qword [eax + ebx*8], xmm6
jmp 0xad9df8
movsd xmm4, qword [edi + 0x150]
movsd xmm0, qword [edi + 0x148]
divsd xmm0, xmm4
cvtsd2ss xmm0, xmm0
subss xmm0, dword [0xdfe134]
movsd qword [esp + 0x88], xmm3
mov dword [esp], 0x40000000
movsd qword [esp + 0xb0], xmm2
movsd qword [esp + 0xb8], xmm4
mulss xmm0, dword [0xdfe138]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], ecx
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [ebp + 8]
movsd xmm6, qword [esp + 0xf8]
movsd xmm4, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
comisd xmm6, xmm4
mov ecx, dword [esp + 0xa8]
movsd xmm3, qword [esp + 0x88]
movss xmm1, dword [eax + 0x2a0]
mov eax, dword [esp + 0xa0]
jae 0xada4e7
movaps xmm0, xmm1
pxor xmm5, xmm5
andps xmm0, xmmword [0xdfe240]
comiss xmm5, xmm1
cvtss2sd xmm0, xmm0
ja 0xada4f2
fstp dword [esp + 0xb8]
comisd xmm4, xmmword [esp + 0xd8]
movss xmm1, dword [esp + 0xb8]
mulss xmm1, dword [0xdfe140]
cvtss2sd xmm1, xmm1
jb 0xada501
divsd xmm1, xmm0
cmp eax, 2
je 0xada4bc
movsd qword [edi + 0x138], xmm1
mov eax, 2
mov dword [edi + 0x140], eax
movsd xmm5, qword [edi + 0x150]
movsd xmm4, qword [esp + 0xf8]
movsd qword [edi + 0x158], xmm5
movsd qword [edi + 0x150], xmm4
movsd qword [edi + 0x148], xmm4
jmp 0xad9dbd
movsd xmm0, qword [edi + 0x190]
movapd xmm1, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
ja 0xada350
divsd xmm3, xmm0
movapd xmm1, xmm3
maxsd xmm1, xmm2
cmp ecx, 1
movsd qword [edi + ecx*8 + 0x128], xmm1
je 0xad9dbd
cmp ecx, 2
mov dword [edi + 0x140], ecx
jne 0xad9ce8
jmp 0xada300
mov edx, dword [ebp + 8]
pxor xmm4, xmm4
movss xmm0, dword [edx + 0x2a4]
comiss xmm0, xmm4
jbe 0xada38b
movapd xmm2, xmm3
mov edx, dword [esp + 0xf0]
mov edx, dword [edx + 8]
test edx, edx
jne 0xad9cc0
andps xmm0, xmmword [0xdfe240]
cvtss2sd xmm0, xmm0
mulsd xmm2, xmm0
jmp 0xad9cc0
movsd xmm5, qword [esp + 0xf8]
mov dword [esp + 0xe0], eax
movsd qword [esp + 0xb0], xmm5
movsd qword [esp + 0xb8], xmm5
jmp 0xada3fa
fstp st(0)
jmp 0xada3e6
fstp st(0)
jmp 0xada3e6
fstp st(0)
inc ebx
add edi, 0xc8
cmp dword [esp + 0xe0], ebx
je 0xada4a7
mov edx, dword [esp + 0xf0]
mov eax, ebx
pxor xmm0, xmm0
movsd xmm1, qword [esp + 0xd0]
sub eax, edx
cvtsi2sd xmm0, eax
mulsd xmm1, xmm0
xorpd xmm0, xmmword [0xdfe310]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
call sub.msvcrt.dll_exp
cmp esi, ebx
jle 0xada3d5
mov eax, ebx
shr eax, 0x1f
test al, al
jne 0xada3e0
mov eax, dword [esp + 0xc0]
mov ecx, dword [edi]
cmp dword [eax], ecx
jne 0xada3e4
mov eax, dword [esp + 0x100]
fstp qword [esp + 0x88]
add edi, 0xc8
movsd xmm0, qword [esp + 0x88]
movsd xmm4, qword [esp + 0x88]
addsd xmm4, qword [esp + 0xb0]
movsd qword [esp + 0xb0], xmm4
mulsd xmm0, qword [eax + ebx*8]
inc ebx
addsd xmm0, qword [esp + 0xb8]
cmp dword [esp + 0xe0], ebx
movsd qword [esp + 0xb8], xmm0
jne 0xada3fa
mov eax, dword [esp + 0xe0]
movsd xmm0, qword [esp + 0xb8]
jmp 0xad9f00
movsd xmm6, qword [esp + 0xd8]
comisd xmm6, xmmword [edi + 0x158]
ja 0xada523
mov eax, 2
movsd qword [edi + 0x138], xmm1
mov dword [edi + 0x140], eax
jmp 0xada300
fstp st(0)
movapd xmm1, xmm2
jmp 0xada2e4
fstp st(0)
divsd xmm2, xmm0
movapd xmm1, xmm2
jmp 0xada2e4
mulsd xmm1, xmm4
divsd xmm1, xmm0
movsd xmm0, qword [esp + 0xd8]
subsd xmm0, xmm4
mulsd xmm2, xmm0
addsd xmm1, xmm2
jmp 0xada2e4
movsd xmm0, qword [edi + 0x190]
movapd xmm2, xmm3
mulsd xmm2, xmm0
comisd xmm1, xmm2
ja 0xada563
movapd xmm2, xmm1
jmp 0xada344
mov esi, dword [esp + 0xc8]
test esi, esi
jle 0xada5a6
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x114]
mov dword [esp + 0x64], eax
jmp 0xad9f4a
movsd qword [edi + 0x138], xmm2
movapd xmm1, xmm2
jmp 0xada2f5
movsd xmm6, qword [esp + 0x98]
movsd qword [esp + 0x70], xmm6
jmp 0xad9ff1
mov esi, 0xbed
mov edi, str.encoder_ratecontrol.c
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str.rce__new_qscale___0
call sub.msvcrt.dll__assert
movsd xmm4, qword [esp + 0x98]
movsd qword [esp + 0x70], xmm4
jmp 0xad9ff1
mov edi, 0xbcc
mov eax, str.encoder_ratecontrol.c
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], str.qscale_i____0
call sub.msvcrt.dll__assert
nop
lea esi, [esi]
cmp eax, ecx
jbe 0xad71a4
comisd xmm0, xmmword [esp + 0xf8]
je 0xada779
mov eax, dword [esp + 0xd0]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [edi + 0x29c]
xor ecx, ecx
movsd xmm7, qword [esp + 0xb8]
mulsd xmm7, xmm0
minsd xmm7, qword [0xdfe328]
maxsd xmm7, qword [0xdfe178]
mulsd xmm1, qword [eax + 0x60]
mov eax, dword [esp + 0x100]
movsd qword [eax], xmm1
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0xe0]
mov edx, 1
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x148]
movsd qword [esp + 0xa8], xmm7
movsd qword [esp + 0xc0], xmm4
movsd qword [esp + 0xf0], xmm3
mov dword [esp], eax
mov eax, edi
call fcn.00c06930
movsd xmm3, qword [esp + 0xf0]
movsd xmm4, qword [esp + 0xc0]
movsd xmm7, qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
test eax, eax
je 0xada779
mov eax, dword [esp + 0x148]
xor edx, edx
mov esi, dword [esp + 0x150]
mov ecx, dword [edi + 0x7720]
test eax, eax
setg dl
add eax, edx
cmp eax, esi
jg 0xada787
mov edx, dword [ecx + 0x118]
mov dword [esp + 0xf0], esi
lea ebx, [edx + esi*4 + 4]
lea ecx, [edx + eax*4]
mov esi, ebx
xor edx, edx
mov eax, dword [ecx]
movapd xmm1, xmm3
movapd xmm2, xmm7
movapd xmm6, xmm3
cmplesd xmm1, qword [eax + 0x38]
movsd xmm5, qword [eax + 0x38]
minsd xmm5, xmm4
andpd xmm5, xmm1
andnpd xmm1, xmm3
orpd xmm5, xmm1
movapd xmm1, xmm4
mulsd xmm2, xmm5
minsd xmm1, xmm2
cmplesd xmm6, xmm2
movapd xmm2, xmm6
movapd xmm6, xmm1
andpd xmm6, xmm2
andnpd xmm2, xmm3
movapd xmm1, xmm2
orpd xmm1, xmm6
movsd qword [eax + 0x38], xmm1
mov al, dl
comisd xmm5, xmm1
setne bl
and al, 1
add ecx, 4
or al, bl
cmp esi, ecx
movzx edx, al
jne 0xada6f5
mov esi, dword [esp + 0xf0]
test al, al
mov dword [esp + 0x148], esi
jne 0xada640
movsd qword [esp + 0xc0], xmm0
jmp 0xad6f56
mov dword [esp + 0x148], esi
jmp 0xada779
mov eax, 1
mov esi, dword [edi + 0x7720]
mov dword [esp + 0xf0], eax
jmp 0xad70ba
movsd xmm1, qword [esp + 0xd8]
jmp 0xad9a13
mov dword [esp + 0x94], eax
jmp 0xad994d
movsd qword [esp + 0x1c], xmm6
movapd xmm2, xmm5
mulsd xmm2, qword [eax + 0x10]
mov eax, dword [ebp + 8]
movsd xmm0, qword [0xdfe278]
movapd xmm5, xmm2
mulsd xmm0, xmm1
divsd xmm5, xmm0
pxor xmm0, xmm0
movsd qword [esp + 0x14], xmm5
mov edx, str.target:__.2f_kbit_s__expected:__.2f_kbit_s__avg_QP:__.4f_n
mov ecx, 1
pxor xmm5, xmm5
cvtsi2ss xmm0, dword [eax + 0x284]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
cvtss2sd xmm5, xmm0
movsd qword [esp + 0xc], xmm5
call fcn.00a2d890
movsd xmm4, qword [esp + 0x78]
comisd xmm4, xmmword [esp + 0x100]
jbe 0xada855
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov eax, dword [eax + 0x278]
lea edx, [eax + 2]
cvtsi2sd xmm0, edx
comisd xmm0, xmmword [esp + 0xf8]
ja 0xad73e8
mov eax, dword [esp + 0x118]
mov edx, dword [eax + 4]
test edx, edx
je 0xada86e
mov eax, dword [eax + 8]
test eax, eax
jne 0xad7420
mov eax, str.internal_error_n
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad7420
mov eax, str.try_reducing_target_bitrate_n
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad7420
movsd xmm6, qword [esp + 0x100]
comisd xmm6, xmmword [esp + 0x78]
jbe 0xada855
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
movsd xmm6, qword [esp + 0xf8]
mov eax, dword [eax + 0x27c]
lea edx, [eax - 2]
cvtsi2sd xmm0, edx
comisd xmm6, xmm0
jbe 0xada855
cmp eax, 0x44
jg 0xada915
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov esi, str.try_increasing_target_bitrate_or_increasing_qp_max__currently__d__n
mov edi, 1
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad7420
mov eax, dword [ebp + 8]
mov ecx, str.try_increasing_target_bitrate_n
mov ebx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00a2d890
jmp 0xad7420