Function at 0x1000a990
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0xec
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], ecx
emms
cmp dword [eax + 0x620], 1
jle 0x1000a9c0
mov eax, dword [eax + 0x3b38]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x1000b750
mov eax, ebp
call fcn.1000a790
test eax, eax
mov dword [esp + 0x4c], eax
js 0x1000baf8
mov edx, dword [ebp + 0x3b38]
mov edi, dword [esp + 0x104]
mov esi, dword [esp + 0x104]
mov eax, dword [edx + 0x10]
mov dword [edi], eax
mov eax, dword [edx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x3b3c]
mov edi, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
mov esi, dword [eax + 0x20]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x104]
cmp ebx, ecx
mov dword [edi + 0x18], esi
mov dword [edi + 0x1c], ecx
jle 0x1000ad58
mov ecx, dword [edx + 0x2efc]
mov edi, dword [esp + 0x104]
mov dword [edi + 0xbc], ecx
mov ecx, dword [eax + 0x94]
mov dword [edi + 0x24], ecx
mov ecx, dword [eax + 0x98]
test ecx, ecx
mov dword [edi + 0x28], ecx
jle 0x1000aa92
mov ebx, dword [eax + 0x9c]
cmp ecx, 1
mov dword [edi + 0x2c], ebx
mov ebx, dword [eax + 0xcc]
mov dword [edi + 0x3c], ebx
jle 0x1000aa92
mov ebx, dword [eax + 0xa0]
cmp ecx, 2
mov dword [edi + 0x30], ebx
mov ebx, dword [eax + 0xd0]
mov dword [edi + 0x40], ebx
jle 0x1000aa92
mov ecx, dword [eax + 0xa4]
mov eax, dword [eax + 0xd4]
mov dword [edi + 0x34], ecx
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.1002d990
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], ebp
mov dword [esp + 0x8c], 0
shl eax, 3
mov dword [esp + 4], eax
call fcn.1004c1b0
test eax, eax
js 0x1000baf8
mov eax, dword [ebp + 0x3b38]
mov edi, dword [esp + 0x104]
mov edx, dword [eax + 0x21c0]
mov dword [edi + 0x90], edx
mov edx, dword [eax + 0x21c4]
mov dword [edi + 0x94], edx
mov edx, dword [eax + 0x21c8]
mov dword [edi + 0x98], edx
mov edx, dword [eax + 0x21cc]
mov dword [edi + 0x9c], edx
mov edx, dword [eax + 0x21d0]
mov dword [edi + 0xa0], edx
mov edx, dword [eax + 0x21d4]
mov dword [edi + 0xa4], edx
mov edx, dword [eax + 0x21d8]
mov eax, dword [eax + 0x21dc]
mov dword [edi + 0xa8], edx
mov dword [edi + 0xac], eax
mov eax, dword [ebp + 0x3b3c]
fld dword [eax + 0x8c]
mov eax, dword [ebp + 0x88]
fstp qword [edi + 0x88]
test eax, eax
jne 0x1000ad90
mov eax, dword [esp + 0x8c]
lea edi, [ebp + 0x5f0]
mov dword [esp + 0x5c], edi
test eax, eax
jg 0x1000ad2e
jmp 0x1000bd81
cmp eax, ecx
jle 0x1000ad47
sub eax, ecx
mov ebx, ecx
sub ebx, edx
sub edx, eax
mov eax, 0
cmovs edx, eax
sub ebx, edx
mov ecx, dword [ebp + 0x5f4]
lea edi, [ebx + 0x20]
mov eax, dword [ebp + 0x5f8]
sub eax, ecx
cmp edi, eax
jle 0x1000b8c0
add edi, dword [ebp + 0x5e8]
mov dword [esp], edi
call fcn.10008780
test eax, eax
mov esi, eax
je 0x1000baf8
mov edx, dword [ebp + 0x5e8]
and edx, 0xfffffff0
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x5ec]
mov dword [esp + 0x40], edx
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 0x928c]
mov eax, dword [ebp + 0x5e8]
mov edx, dword [esp + 0x40]
lea ecx, [esi + edx]
sub eax, edx
add edx, dword [ebp + 0x5ec]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call fcn.102da6f0
mov edx, dword [ebp + 0x5ec]
mov eax, esi
lea ecx, [esi + edi]
mov dword [ebp + 0x5f8], ecx
mov dword [ebp + 0x3668], ecx
sub eax, edx
add dword [ebp + 0x5f0], eax
add dword [ebp + 0x5f4], eax
add dword [ebp + 0x3660], eax
add dword [ebp + 0x3664], eax
mov dword [esp], edx
call fcn.100087d0
mov ecx, dword [ebp + 0x5f4]
mov dword [ebp + 0x5ec], esi
mov dword [ebp + 0x5e8], edi
mov eax, dword [ebp + 0x5dc]
mov edx, 0x20
sub ecx, dword [ebp + 0x5f0]
sub edx, dword [ebp + 0x600]
shl eax, 5
lea edx, [edx + ecx*8]
add eax, dword [ebp + 0x5e4]
test edx, edx
lea ecx, [edx + 7]
cmovs edx, ecx
sar edx, 3
add esi, edx
mov dword [eax], 0
mov dword [eax + 4], 0xc
mov dword [eax + 8], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.10025260
mov eax, ebp
call fcn.1000a630
test eax, eax
jne 0x1000baf8
mov ebx, dword [ebp + 0x358]
mov edx, dword [ebp + 0x5dc]
mov eax, dword [ebp + 0x35c]
test ebx, ebx
mov dword [esp + 0x58], edx
lea edi, [edx - 1]
mov dword [esp + 0x50], eax
je 0x1000b8d0
mov eax, edi
shl eax, 5
add eax, dword [ebp + 0x5e4]
mov edi, dword [eax + 0x14]
test edi, edi
js 0x1000baf8
mov eax, dword [esp + 0x8c]
add dword [esp + 0x4c], edi
sub eax, edi
test eax, eax
mov dword [esp + 0x8c], eax
jle 0x1000bd81
mov ecx, dword [ebp + 0x340]
mov edx, 6
sub edx, dword [ebp + 0x300]
test ecx, ecx
jne 0x1000ab80
sub eax, edx
mov ebx, eax
mov eax, 0
cmovs ebx, eax
jmp 0x1000ab9a
jl 0x1000ad64
cmp dword [esp + 0x40], esi
jae 0x1000aa29
mov dword [esp + 8], str.invalid_DTS:_PTS_is_less_than_DTS_n
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.100083f0
mov edx, dword [ebp + 0x3b38]
mov eax, dword [ebp + 0x3b3c]
jmp 0x1000aa29
mov esi, dword [ebp + 0x35c]
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
mov ebx, dword [ebp + 0x5dc]
lea edx, [edi + eax]
cmp edx, dword [esi + 0x60c]
jg 0x1000bcff
mov edx, dword [ebp + 0x5e4]
add edi, dword [edx + 0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.102dad40
mov ebx, dword [ebp + 0x5dc]
mov ecx, dword [ebp + 0x5e4]
mov eax, dword [esp + 0x8c]
add dword [esp + 0x4c], eax
lea edx, [ebx + 0x7ffffff]
shl edx, 5
add edx, ecx
add dword [edx + 0x14], eax
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x100]
mov dword [eax], ebx
mov eax, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [ebp + 0x5dc], 0
mov dword [esp], ebp
call fcn.10054030
mov edx, dword [ebp + 0x35c]
cmp ebp, edx
je 0x1000ae72
lea edi, [ebp + 0x7a00]
mov eax, 0xa18
test edi, 1
lea esi, [edx + 0x7a00]
jne 0x1000bebc
test edi, 2
jne 0x1000bedf
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0x1000ae67
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0x1000ae72
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp + 0xcb8]
add dword [ebp + eax*4 + 0x7a00], 1
mov ebx, eax
lea edi, [ebp + eax*8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x4c]
fld qword [edi + 0x7a28]
cdq
add dword [edi + 0x7a10], eax
adc dword [edi + 0x7a14], edx
xor ecx, ecx
mov eax, dword [ebp + 0x3b3c]
imul ebx, ebx, 0x98
fadd dword [eax + 0x88]
add ebx, ebp
fstp qword [edi + 0x7a28]
lea esi, [esi]
mov eax, dword [ebp + ecx*4 + 0x7734]
cdq
add dword [ebx + ecx*8 + 0x7b30], eax
adc dword [ebx + ecx*8 + 0x7b34], edx
add ecx, 1
cmp ecx, 0x13
jne 0x1000aec0
mov ebx, dword [esp + 0x40]
mov esi, 4
mov eax, ebx
shl eax, 7
lea ecx, [eax + ebx*8]
mov eax, dword [ebp + 0x7894]
mov ebx, ebp
add ecx, ebp
cdq
add dword [ecx + 0x7cf8], eax
mov eax, dword [ebp + 0x7898]
adc dword [ecx + 0x7cfc], edx
cdq
add dword [ecx + 0x7d00], eax
mov eax, dword [ebp + 0x789c]
adc dword [ecx + 0x7d04], edx
cdq
add dword [ecx + 0x7d08], eax
mov eax, dword [ebp + 0x78a0]
adc dword [ecx + 0x7d0c], edx
cdq
add dword [ecx + 0x7d10], eax
mov eax, dword [ebp + 0x78a4]
adc dword [ecx + 0x7d14], edx
cdq
add dword [ecx + 0x7d18], eax
mov eax, dword [ebp + 0x78a8]
adc dword [ecx + 0x7d1c], edx
cdq
add dword [ecx + 0x7d20], eax
adc dword [ecx + 0x7d24], edx
mov eax, dword [ebp + 0x78ac]
cdq
add dword [ecx + 0x7d28], eax
mov eax, dword [ebp + 0x78b0]
adc dword [ecx + 0x7d2c], edx
cdq
add dword [ecx + 0x7d30], eax
mov eax, dword [ebp + 0x78b4]
adc dword [ecx + 0x7d34], edx
cdq
add dword [ecx + 0x7d38], eax
mov eax, dword [ebp + 0x78b8]
adc dword [ecx + 0x7d3c], edx
cdq
add dword [ecx + 0x7d40], eax
mov eax, dword [ebp + 0x78bc]
adc dword [ecx + 0x7d44], edx
cdq
add dword [ecx + 0x7d48], eax
mov eax, dword [ebp + 0x78c0]
adc dword [ecx + 0x7d4c], edx
cdq
add dword [ecx + 0x7d50], eax
adc dword [ecx + 0x7d54], edx
mov eax, dword [ebp + 0x78c4]
cdq
add dword [ecx + 0x7d58], eax
mov eax, dword [ebp + 0x78c8]
adc dword [ecx + 0x7d5c], edx
cdq
add dword [ecx + 0x7d60], eax
mov eax, dword [ebp + 0x78cc]
adc dword [ecx + 0x7d64], edx
cdq
add dword [ecx + 0x7d68], eax
mov eax, dword [ebp + 0x78d0]
adc dword [ecx + 0x7d6c], edx
cdq
add dword [ecx + 0x7d70], eax
mov eax, dword [ebp + 0x78d4]
adc dword [ecx + 0x7d74], edx
cdq
add dword [ecx + 0x7d78], eax
mov eax, dword [ebp + 0x778c]
adc dword [ecx + 0x7d7c], edx
mov ecx, ebp
cdq
add dword [ebp + 0x7e08], eax
adc dword [ebp + 0x7e0c], edx
mov eax, dword [ebp + 0x7790]
cdq
add dword [ebp + 0x7e10], eax
mov eax, dword [ebp + 0x78d8]
adc dword [ebp + 0x7e14], edx
cdq
add dword [ebp + 0x8218], eax
mov eax, dword [ebp + 0x78dc]
adc dword [ebp + 0x821c], edx
cdq
add dword [ebp + 0x8220], eax
mov eax, dword [ebp + 0x78e0]
adc dword [ebp + 0x8224], edx
cdq
add dword [ebp + 0x8228], eax
mov eax, dword [ebp + 0x78e4]
adc dword [ebp + 0x822c], edx
cdq
add dword [ebp + 0x8230], eax
mov eax, dword [ebp + 0x78e8]
adc dword [ebp + 0x8234], edx
cdq
add dword [ebp + 0x8238], eax
adc dword [ebp + 0x823c], edx
mov eax, dword [ebp + 0x78ec]
cdq
add dword [ebp + 0x8240], eax
adc dword [ebp + 0x8244], edx
mov eax, dword [ebx + 0x78f0]
cdq
add dword [ecx + 0x8248], eax
adc dword [ecx + 0x824c], edx
mov eax, dword [ebx + 0x78f4]
cdq
add dword [ecx + 0x8250], eax
adc dword [ecx + 0x8254], edx
mov eax, dword [ebx + 0x78f8]
cdq
add dword [ecx + 0x8258], eax
adc dword [ecx + 0x825c], edx
mov eax, dword [ebx + 0x78fc]
cdq
add dword [ecx + 0x8260], eax
adc dword [ecx + 0x8264], edx
mov eax, dword [ebx + 0x7900]
cdq
add dword [ecx + 0x8268], eax
adc dword [ecx + 0x826c], edx
mov eax, dword [ebx + 0x7904]
cdq
add dword [ecx + 0x8270], eax
adc dword [ecx + 0x8274], edx
mov eax, dword [ebx + 0x7908]
cdq
add dword [ecx + 0x8278], eax
adc dword [ecx + 0x827c], edx
mov eax, dword [ebx + 0x790c]
cdq
add dword [ecx + 0x8280], eax
adc dword [ecx + 0x8284], edx
mov eax, dword [ebx + 0x7910]
cdq
add dword [ecx + 0x8288], eax
adc dword [ecx + 0x828c], edx
mov eax, dword [ebx + 0x7914]
cdq
add dword [ecx + 0x8290], eax
adc dword [ecx + 0x8294], edx
mov eax, dword [ebx + 0x7918]
cdq
add dword [ecx + 0x8298], eax
adc dword [ecx + 0x829c], edx
mov eax, dword [ebx + 0x791c]
cdq
add dword [ecx + 0x82a0], eax
adc dword [ecx + 0x82a4], edx
mov eax, dword [ebx + 0x7920]
cdq
add dword [ecx + 0x82a8], eax
adc dword [ecx + 0x82ac], edx
add ecx, 0x68
add ebx, 0x34
sub esi, 1
jne 0x1000b0d0
mov eax, dword [esp + 0x40]
cmp eax, 2
je 0x1000b23e
mov ebx, eax
xor ecx, ecx
shl ebx, 9
lea esi, [eax + eax]
add ebx, ebp
nop
lea esi, [esi]
mov eax, dword [ebp + ecx*4 + 0x7794]
cdq
add dword [ebx + ecx*8 + 0x7e18], eax
adc dword [ebx + ecx*8 + 0x7e1c], edx
add ecx, 1
cmp ecx, 0x20
jne 0x1000b1f0
lea ebx, [esi + 1]
xor cl, cl
shl ebx, 8
add ebx, ebp
lea esi, [ebp + 0x80]
nop
mov eax, dword [esi + ecx*4 + 0x7794]
cdq
add dword [ebx + ecx*8 + 0x7e18], eax
adc dword [ebx + ecx*8 + 0x7e1c], edx
add ecx, 1
cmp ecx, 0x20
jne 0x1000b220
mov eax, dword [ebp + 0x79c0]
cdq
add dword [ebp + 0x83e8], eax
mov eax, dword [ebp + 0x79c4]
adc dword [ebp + 0x83ec], edx
cdq
add dword [ebp + 0x83f0], eax
mov eax, dword [ebp + 0x79c8]
adc dword [ebp + 0x83f4], edx
cdq
add dword [ebp + 0x83f8], eax
mov eax, dword [esp + 0x40]
adc dword [ebp + 0x83fc], edx
test eax, eax
jne 0x1000bb08
mov eax, dword [ebp + 0x210]
test eax, eax
jle 0x1000b2c1
mov ebx, dword [ebp + 0xe3c]
xor eax, eax
mov esi, dword [ebp + 0xe6c]
mov edx, dword [ebp + 0x8414]
test ebx, ebx
setne al
add dword [ebp + 0x8410], eax
test esi, esi
mov eax, 1
je 0x1000be13
add eax, edx
mov dword [ebp + 0x8414], eax
mov eax, dword [ebp + 0x3b38]
movzx edx, byte [eax + 0x82]
add dword [ebp + edx*4 + 0x7a40], 1
mov byte [esp + 0x90], 0
lea ebx, [esp + 0x90]
fld dword [eax + 0x38]
fld qword [edi + 0x7b18]
fadd st(1)
fstp qword [edi + 0x7b18]
mov eax, dword [ebp + 0x268]
test eax, eax
je 0x1000b4c1
mov ebx, dword [ebp + 0x79e0]
mov esi, dword [ebp + 0x79e4]
mov eax, dword [ebp + 0x79d8]
mov edx, dword [ebp + 0x79dc]
mov dword [esp + 0x40], ebx
mov ebx, dword [ebp + 0x79e8]
mov ecx, dword [ebp + 0x488c]
add ecx, dword [ebp + 0x4890]
mov dword [esp + 0x44], esi
mov esi, dword [ebp + 0x79ec]
mov dword [esp + 0x50], ebx
mov ebx, dword [ebp + 0x1c]
imul ebx, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
fild qword [esp + 0x78]
mov dword [esp + 0x74], ebx
fild dword [esp + 0x74]
fmul dword [0x1032ef04]
mov dword [esp + 0x54], esi
mov esi, ebx
sar esi, cl
mov ecx, esi
fdivp st(1)
fld dword [0x1032ef00]
fld qword [0x1032ef08]
fcompi st(2)
jb 0x1000bc30
fstp st(1)
mov esi, dword [esp + 0x104]
fst qword [esi + 0x70]
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fmul dword [0x1032ef04]
fild qword [esp + 0x40]
fdiv st(1)
fld dword [0x1032ef00]
fld qword [0x1032ef08]
fcompi st(2)
jb 0x1000bc16
fstp st(1)
fst qword [esi + 0x78]
fild qword [esp + 0x50]
fdivrp st(2)
fld dword [0x1032ef00]
fld qword [0x1032ef08]
fcompi st(3)
jb 0x1000bbfa
fstp st(2)
fxch st(1)
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
add eax, dword [esp + 0x50]
adc edx, dword [esp + 0x54]
fst qword [esi + 0x80]
mov dword [esp + 0x78], eax
lea eax, [ebx + ecx*2]
mov dword [esp + 0x7c], edx
fild qword [esp + 0x78]
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [0x1032ef04]
fdivr st(1)
fld dword [0x1032ef00]
fld qword [0x1032ef08]
fcompi st(2)
jb 0x1000bbe7
fstp st(1)
mov eax, dword [esp + 0x104]
lea ebx, [esp + 0x90]
fst qword [eax + 0x68]
fxch st(1)
fmul st(5)
fadd qword [edi + 0x7a88]
fstp qword [edi + 0x7a88]
fmul st(4)
fadd qword [edi + 0x7aa0]
fstp qword [edi + 0x7aa0]
fld st(2)
fmul st(4)
fadd qword [edi + 0x7ab8]
fstp qword [edi + 0x7ab8]
fld st(1)
fmul st(4)
fadd qword [edi + 0x7ad0]
fstp qword [edi + 0x7ad0]
fld st(0)
fmul st(4)
fxch st(4)
fstp qword [esp + 0x50]
fxch st(3)
fadd qword [edi + 0x7ae8]
fstp qword [edi + 0x7ae8]
fxch st(2)
fstp qword [esp + 0x1c]
fxch st(1)
fstp qword [esp + 0x14]
fstp qword [esp + 0xc]
mov dword [esp + 8], str._PSNR_Y:_5.2f_U:_5.2f_V:_5.2f
mov dword [esp + 4], 0x50
mov dword [esp], ebx
call dword [0x10413290]
mov eax, dword [ebp + 0xcb8]
mov dword [esp + 0x40], eax
fld qword [esp + 0x50]
mov eax, dword [ebp + 0x26c]
test eax, eax
jne 0x1000bc6e
fstp st(0)
mov edx, dword [ebp + 0x3b3c]
mov byte [esp + 0xdf], 0
mov edi, dword [ebp + 0x7788]
cmp dword [esp + 0x40], 2
mov esi, dword [ebp + 0x7784]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 0x7780]
mov dword [esp + 0x50], eax
mov eax, 0x49
je 0x1000b511
cmp dword [esp + 0x40], 1
sbb eax, eax
and eax, 0xe
add eax, 0x42
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x628]
mov dword [esp + 0x18], eax
fld dword [edx + 0x88]
fstp qword [esp + 0x10]
mov eax, dword [ebp + 0x618]
mov dword [esp + 8], str.frame_4d_QP_.2f_NAL_d_Slice:_c_Poc:__3d_I:__4d_P:__4d_SKIP:__4d_size_d_bytes_s_n
mov dword [esp + 4], 3
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call fcn.100083f0
mov edx, dword [ebp + 0x35c]
cmp ebp, edx
je 0x1000b5c1
lea edi, [edx + 0x7a00]
mov eax, 0xa18
test edi, 1
lea esi, [ebp + 0x7a00]
jne 0x1000be5d
test edi, 2
jne 0x1000be80
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0x1000b5b6
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0x1000b5c1
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [esp + 0x60]
cmp ebp, eax
je 0x1000b615
lea edi, [eax + 0x7a00]
mov eax, 0xa18
test edi, 1
lea esi, [ebp + 0x7a00]
jne 0x1000be95
test edi, 2
jne 0x1000be48
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0x1000b60a
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0x1000b615
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov edx, dword [ebp + 0x3b40]
xor ebx, ebx
test edx, edx
jg 0x1000b62a
jmp 0x1000b663
add ebx, 1
cmp ebx, edx
jge 0x1000b663
mov eax, dword [ebp + ebx*4 + 0x3b48]
test eax, eax
je 0x1000b623
mov edi, dword [eax + 0xad0]
test edi, edi
je 0x1000b623
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.1002dbc0
mov dword [ebp + ebx*4 + 0x3b48], 0
mov edx, dword [ebp + 0x3b40]
add ebx, 1
cmp ebx, edx
jl 0x1000b62a
mov eax, dword [ebp + 0x200]
test eax, eax
je 0x1000bae7
mov dword [esp + 4], 0x1032dc80
mov dword [esp], eax
call fcn.1001cdb0
test eax, eax
mov ebx, eax
je 0x1000bae7
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x1000bd92
mov eax, dword [ebp + 0x20]
imul eax, dword [ebp + 0x1c]
mov dword [esp + 8], 0
mov ecx, dword [ebp + 0x488c]
add ecx, dword [ebp + 0x4890]
mov edx, eax
shr edx, cl
lea eax, [eax + edx*2]
mov edx, dword [ebp + 0x3b3c]
imul eax, dword [edx + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.102d9f0e
mov edx, dword [ebp + 0x21c8]
mov dword [esp + 0x40], 0
lea esi, [esi]
mov edi, dword [esp + 0x40]
xor eax, eax
cmp edx, 3
sete al
lea eax, [eax + eax + 1]
cmp edi, eax
jge 0x1000ba1e
mov eax, dword [ebp + 0x20]
test eax, eax
jle 0x1000b748
xor esi, esi
lea edi, [edi*4]
mov edx, dword [ebp + 0x3b3c]
mov dword [esp + 0xc], ebx
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], 1
add edx, edi
mov dword [esp + 8], eax
mov eax, dword [edx + 0x9c]
imul eax, esi
add esi, 1
add eax, dword [edx + 0xcc]
mov dword [esp], eax
call fcn.102daf29
cmp esi, dword [ebp + 0x20]
jl 0x1000b708
mov edx, dword [ebp + 0x21c8]
add dword [esp + 0x40], 1
jmp 0x1000b6e0
mov eax, dword [ebp + 0x2168]
test eax, eax
je 0x1000a9c0
mov dword [esp], ebp
call fcn.1004d1f0
mov ecx, dword [ebp + 0x5f4]
mov edx, 0x20
mov eax, dword [ebp + 0x5dc]
sub ecx, dword [ebp + 0x5f0]
sub edx, dword [ebp + 0x600]
shl eax, 5
lea edx, [edx + ecx*8]
add eax, dword [ebp + 0x5e4]
test edx, edx
lea ecx, [edx + 7]
cmovs edx, ecx
sar edx, 3
add edx, dword [ebp + 0x5ec]
mov dword [eax], 0
mov dword [eax + 4], 6
mov dword [eax + 0x18], edx
mov dword [eax + 8], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x1c], 0
lea eax, [ebp + 0x5f0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.100244a0
mov eax, ebp
call fcn.1000a630
test eax, eax
jne 0x1000baf8
mov edi, dword [ebp + 0x5e4]
mov edx, edi
nop
mov ecx, edx
mov ebx, eax
mov esi, dword [ecx + 4]
shl ebx, 5
add edx, 0x20
sub esi, 7
cmp esi, 2
jbe 0x1000bc66
mov esi, dword [ebp + 0x5dc]
mov dword [esp + 0x40], ecx
lea edx, [esi + 0x7ffffff]
shl edx, 5
add edx, edi
mov ecx, dword [edx + 4]
mov esi, dword [edx]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x64], ecx
mov ecx, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0x5dc]
mov dword [esp + 4], ecx
sub edx, eax
add eax, 1
sub edx, 1
shl eax, 5
shl edx, 5
add eax, edi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.102d8f10
mov ecx, dword [esp + 0x4c]
add ebx, dword [ebp + 0x5e4]
mov edx, dword [esp + 0x70]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [ebx], esi
mov dword [ebx + 0x1c], edx
mov dword [ebx + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [ebx + 0x18], ecx
jmp 0x1000a9c0
mov esi, dword [ebp + 0x5ec]
jmp 0x1000ac5f
xor ebx, ebx
test edi, edi
mov esi, dword [ebp + 0x5e4]
jle 0x1000b8fb
lea ecx, [edx + 0x7ffffff]
xor eax, eax
shl ecx, 5
xor ebx, ebx
lea esi, [esi]
add ebx, dword [esi + eax + 0x14]
add eax, 0x20
cmp eax, ecx
jne 0x1000b8f0
mov eax, edi
shl eax, 5
add esi, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x14]
lea eax, [eax + eax*2]
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
sar eax, 1
add eax, ebx
lea eax, [eax + edx*4 + 0x44]
add eax, dword [esi + 0x1c]
mov esi, dword [esp + 0x50]
cmp eax, dword [esi + 0x60c]
jg 0x1000bb69
mov eax, dword [esi + 0x608]
mov dword [esp + 0x64], ebx
add eax, dword [esp + 0x64]
cmp edi, dword [esp + 0x58]
mov dword [esp + 0x40], eax
jge 0x1000ba03
mov edx, dword [ebp + 0x5e4]
mov ebx, dword [esp + 0x6c]
add edx, ebx
test edi, edi
mov esi, dword [edx + 0x14]
mov eax, 1
je 0x1000b97a
mov ecx, dword [edx + 4]
sub ecx, 7
cmp ecx, 1
jbe 0x1000b97a
mov ecx, dword [ebp + 0x88]
xor eax, eax
test ecx, ecx
setne al
mov dword [edx + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.100424c0
mov edx, dword [ebp + 0x5e4]
lea eax, [edx + ebx]
mov ecx, dword [eax + 0x14]
add dword [esp + 0x40], ecx
cmp dword [ebp + 0x88], 0
je 0x1000b9f1
add esi, 5
sub esi, ecx
add esi, dword [eax + 0x1c]
test esi, esi
mov dword [eax + 0x1c], esi
jle 0x1000b9e4
mov eax, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.102dad40
mov edx, dword [ebp + 0x5e4]
lea eax, [edx + ebx]
mov esi, dword [eax + 0x1c]
add dword [esp + 0x40], esi
add dword [eax + 0x14], esi
test esi, esi
mov ecx, 0
cmovs esi, ecx
mov dword [eax + 0x1c], esi
add edi, 1
add ebx, 0x20
cmp edi, dword [ebp + 0x5dc]
jl 0x1000b954
emms
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
add eax, dword [edi + 0x608]
mov edi, dword [esp + 0x40]
sub edi, eax
jmp 0x1000ad0a
cmp edx, 3
je 0x1000badf
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x4890]
mov edi, dword [ebp + 0x20]
sar esi, 1
sar edi, cl
mov ecx, esi
imul ecx, edi
lea edx, [ecx + 0x10]
lea eax, [edx + edx]
mov dword [esp], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x40], edx
call fcn.10008780
mov edx, dword [esp + 0x40]
mov ecx, eax
add edx, eax
mov eax, dword [ebp + 0x3b3c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], edx
mov edi, dword [eax + 0xa0]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0xd0]
mov edi, ecx
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 4], esi
call dword [ebp + 0x9270]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 0x40], ecx
call fcn.102daf29
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov dword [esp], edx
call fcn.102daf29
mov dword [esp], edi
call fcn.100087d0
mov dword [esp], ebx
call fcn.102da66a
emms
mov eax, dword [esp + 0x4c]
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0xec
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x40], 1
jne 0x1000b2c1
mov eax, dword [ebp + 0xcf0]
add dword [ebp + eax*4 + 0x8408], 1
mov eax, dword [ebp + 0x70ac]
test eax, eax
je 0x1000bb5e
mov ebx, dword [ebp + 0x8400]
mov esi, dword [ebp + 0x8404]
lea eax, [ebx + esi]
cmp eax, dword [ebp + 0x4888]
jg 0x1000bde6
add ebx, dword [ebp + 0x79cc]
add esi, dword [ebp + 0x79d0]
mov dword [ebp + 0x8400], ebx
mov dword [ebp + 0x8404], esi
mov eax, dword [ebp + 0x3b38]
jmp 0x1000b2d6
add eax, eax
mov dword [esp], eax
mov dword [esp + 0x40], eax
call fcn.10008780
test eax, eax
mov esi, eax
je 0x1000baf8
test ebx, ebx
mov dword [esp + 0x64], 0
jne 0x1000bc43
mov eax, dword [esp + 0x50]
mov ecx, esi
xor edx, edx
mov ebx, dword [eax + 0x608]
sub ecx, ebx
test edi, edi
jle 0x1000bbba
mov eax, edx
add edx, 1
shl eax, 5
add eax, dword [ebp + 0x5e4]
add dword [eax + 0x18], ecx
cmp edi, edx
jne 0x1000bba5
mov dword [esp], ebx
call fcn.100087d0
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x40]
mov dword [eax + 0x608], esi
mov dword [eax + 0x60c], ebx
mov eax, dword [ebp + 0x5dc]
mov dword [esp + 0x58], eax
mov eax, esi
jmp 0x1000b938
fstp st(0)
fldlg2
fxch st(1)
fyl2x
fmul dword [0x1032ef10]
jmp 0x1000b423
fstp st(0)
fldlg2
fxch st(1)
fxch st(2)
mov esi, dword [esp + 0x104]
fyl2x
fmul dword [0x1032ef10]
jmp 0x1000b3d8
fstp st(0)
fldlg2
fxch st(1)
mov esi, dword [esp + 0x104]
fyl2x
fmul dword [0x1032ef10]
jmp 0x1000b3b7
fstp st(0)
fldlg2
fxch st(1)
fyl2x
fmul dword [0x1032ef10]
jmp 0x1000b383
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x608]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.102da6f0
mov dword [esp + 0x64], ebx
jmp 0x1000bb91
add eax, 1
jmp 0x1000b7f0
fild dword [ebp + 0x79f8]
mov edx, ebx
fdivr qword [ebp + 0x79f0]
mov eax, dword [esp + 0x104]
fst qword [eax + 0x60]
mov eax, dword [esp + 0x40]
fmul st(1), st(0)
fxch st(1)
lea eax, [ebp + eax*8]
fadd qword [eax + 0x7b00]
fstp qword [eax + 0x7b00]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x1000bc9e
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
add al, al
sbb edx, 3
mov eax, 0x50
sub edx, ebx
sub eax, edx
add edx, ebx
fstp qword [esp + 0xc]
mov dword [esp + 8], str._SSIM_Y:_.5f
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x10413290]
mov eax, dword [ebp + 0xcb8]
mov dword [esp + 0x40], eax
jmp 0x1000b4d1
lea eax, [edx + edx]
mov dword [esp], eax
mov dword [esp + 0x50], eax
call fcn.10008780
test eax, eax
mov dword [esp + 0x40], eax
je 0x1000baf8
mov eax, dword [esp + 0x4c]
xor edi, edi
test eax, eax
jne 0x1000be25
mov eax, dword [esi + 0x608]
xor edx, edx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x58], eax
sub ecx, eax
test ebx, ebx
jle 0x1000bd59
nop
mov eax, edx
add edx, 1
shl eax, 5
add eax, dword [ebp + 0x5e4]
add dword [eax + 0x18], ecx
cmp edx, ebx
jne 0x1000bd40
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.100087d0
mov eax, dword [esp + 0x40]
mov dword [esi + 0x608], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x60c], eax
mov eax, dword [esp + 0x8c]
jmp 0x1000adb6
mov ecx, dword [ebp + 0x5e4]
mov ebx, dword [ebp + 0x5dc]
jmp 0x1000adfb
mov edx, dword [ebp + 4]
test edx, edx
jle 0x1000b696
xor esi, esi
jmp 0x1000bdac
add esi, 1
cmp esi, edx
jge 0x1000b696
mov eax, dword [ebp + esi*4 + 0x35c]
mov ecx, dword [eax + 0x5a0]
test ecx, ecx
je 0x1000bda1
mov dword [eax + 0x5a0], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x5b8]
mov dword [esp], eax
call fcn.100562a0
test eax, eax
js 0x1000b696
mov edx, dword [ebp + 4]
jmp 0x1000bda1
lea ecx, [ebx + ebx*8]
mov eax, 0x66666667
imul ecx
mov eax, 0x66666667
sar ecx, 0x1f
mov ebx, edx
sar ebx, 2
sub ebx, ecx
lea ecx, [esi + esi*8]
imul ecx
sar ecx, 0x1f
mov esi, edx
sar esi, 2
sub esi, ecx
jmp 0x1000bb46
mov ecx, dword [ebp + 0xe9c]
xor eax, eax
test ecx, ecx
setne al
jmp 0x1000b2b9
mov eax, dword [esi + 0x608]
mov edi, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.102da6f0
jmp 0x1000bd28
movzx edx, word [esi]
add edi, 2
add esi, 2
sub eax, 2
mov word [edi - 2], dx
jmp 0x1000b5f2
movzx eax, byte [ebp + 0x7a00]
lea edi, [edx + 0x7a01]
lea esi, [ebp + 0x7a01]
mov byte [edx + 0x7a00], al
mov eax, 0xa17
jmp 0x1000b592
movzx edx, word [esi]
add edi, 2
add esi, 2
sub eax, 2
mov word [edi - 2], dx
jmp 0x1000b59e
movzx eax, byte [ebp + 0x7a00]
lea esi, [ebp + 0x7a01]
mov edi, dword [esp + 0x60]
mov byte [edi + 0x7a00], al
add edi, 0x7a01
mov eax, 0xa17
jmp 0x1000b5e6
movzx eax, byte [edx + 0x7a00]
lea edi, [ebp + 0x7a01]
lea esi, [edx + 0x7a01]
mov byte [ebp + 0x7a00], al
mov eax, 0xa17
jmp 0x1000ae43
movzx edx, word [esi]
add edi, 2
add esi, 2
sub eax, 2
mov word [edi - 2], dx
jmp 0x1000ae4f