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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
mov ebx, eax
sub esp, 0x10c
mov eax, dword [eax + 0x52c]
mov dword [esp + 0x60], edx
mov esi, dword [esp + 0x124]
test eax, eax
jne 0x7fdd90
mov ebp, dword [ebx + 0x540]
test ebp, ebp
je 0x7fd8e0
emms
mov eax, dword [ebx + 0x3a68]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
je 0x7fd8ba
mov edx, dword [ebx + 0x2098]
test edx, edx
jne 0x7fd8f5
xor edx, edx
mov eax, ebx
call fcn.007fb920
test eax, eax
mov ebp, eax
jns 0x7fdaf7
mov ebp, 0xffffffff
add esp, 0x10c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
xor ebp, ebp
mov dword [esi], 0
mov eax, ebp
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
call fcn.008488c0
mov edx, dword [ebx + 0x558]
sub edx, dword [ebx + 0x554]
imul eax, dword [ebx + 0x540], 0x1c
add eax, dword [ebx + 0x548]
lea edx, [edx*8 + 0x20]
sub edx, dword [ebx + 0x564]
mov dword [eax], 0
mov dword [eax + 4], 6
test edx, edx
lea ecx, [edx + 7]
cmovs edx, ecx
sar edx, 3
add edx, dword [ebx + 0x550]
mov dword [eax + 8], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], edx
lea eax, [ebx + 0x554]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00812ca0
mov edx, dword [ebx + 0x558]
sub edx, dword [ebx + 0x554]
mov eax, dword [ebx + 0x540]
lea edx, [edx*8 + 0x20]
sub edx, dword [ebx + 0x564]
imul ecx, eax, 0x1c
add ecx, dword [ebx + 0x548]
lea ebp, [edx + 7]
test edx, edx
cmovs edx, ebp
sar edx, 3
add edx, dword [ebx + 0x550]
sub edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], edx
mov edx, dword [ebx + 0x324]
test edx, edx
je 0x7fd9bc
mov dword [esp + 4], ecx
mov dword [esp], ebx
call edx
mov eax, dword [ebx + 0x540]
mov edx, dword [ebx + 0x544]
add eax, 1
mov dword [ebx + 0x540], eax
cmp eax, edx
jge 0x7fed56
mov edx, dword [ebx + 0x548]
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x64], eax
lea eax, [edx + ebp]
mov dword [esp + 0x68], eax
mov eax, dword [edx + ebp + 4]
cmp eax, 7
je 0x7fd9f6
cmp eax, 9
jne 0x7fda00
add ecx, 1
add ebp, 0x1c
jmp 0x7fd9e1
cmp eax, 8
je 0x7fd9f6
mov eax, dword [esp + 0x64]
sub eax, 1
mov dword [esp + 0x64], eax
imul eax, eax, 0x1c
lea eax, [edx + eax]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x64]
sub eax, ecx
imul eax, eax, 0x1c
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
lea eax, [ecx + 1]
imul eax, eax, 0x1c
lea eax, [edx + eax]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x90]
add ebp, dword [ebx + 0x548]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov dword [ebp], edx
mov edx, dword [esp + 0x84]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [ebp + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edx
jmp 0x7fd8ba
mov edx, dword [ebx + 0x3a68]
mov eax, dword [edx + 0xc]
mov dword [esi], eax
mov eax, dword [edx + 0x7c]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x78]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x3a6c]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x64], ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x14], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x70], ecx
mov dword [esi + 0x18], ecx
mov ecx, dword [eax + 0x24]
cmp dword [eax + 0x1c], ecx
mov dword [esi + 0x1c], ecx
jg 0x7fdb69
jl 0x7fdb45
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x64], ecx
jae 0x7fdb69
mov dword [esp + 8], str.invalid_DTS:_PTS_is_less_than_DTS_n
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0080cd70
mov edx, dword [ebx + 0x3a68]
mov eax, dword [ebx + 0x3a6c]
mov ecx, dword [eax + 0x90]
mov dword [esi + 0x24], 3
mov dword [esi + 0x28], ecx
mov ecx, dword [eax + 0x94]
mov dword [esi + 0x2c], ecx
mov ecx, dword [eax + 0xc4]
mov dword [esi + 0x3c], ecx
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0xc8]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00827530
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
lea eax, [ebp*8]
mov dword [esp + 0xfc], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00847890
test eax, eax
js 0x7fd8cd
mov eax, dword [ebx + 0x3a68]
mov edx, dword [eax + 0x21a8]
mov dword [esi + 0x58], edx
mov edx, dword [eax + 0x21ac]
mov dword [esi + 0x5c], edx
mov edx, dword [eax + 0x21b0]
mov dword [esi + 0x60], edx
mov edx, dword [eax + 0x21b4]
mov dword [esi + 0x64], edx
mov edx, dword [eax + 0x21b8]
mov dword [esi + 0x68], edx
mov edx, dword [eax + 0x21bc]
mov dword [esi + 0x6c], edx
mov edx, dword [eax + 0x21c0]
mov eax, dword [eax + 0x21c4]
mov dword [esi + 0x70], edx
mov edx, dword [esp + 0xfc]
mov dword [esi + 0x74], eax
test edx, edx
jle 0x7fddc4
lea eax, [ebx + 0x554]
mov dword [esp + 0x64], edi
mov esi, eax
jmp 0x7fdd66
cmp edi, edx
jge 0x7fdd7f
sub edx, edi
mov ecx, edi
sub ecx, eax
sub eax, edx
mov edx, 0
cmovs eax, edx
sub ecx, eax
mov edx, dword [ebx + 0x558]
sub edx, dword [ebx + 0x554]
imul eax, dword [ebx + 0x540], 0x1c
add eax, dword [ebx + 0x548]
lea edx, [edx*8 + 0x20]
sub edx, dword [ebx + 0x564]
mov dword [eax], 0
mov dword [eax + 4], 0xc
test edx, edx
lea edi, [edx + 7]
cmovs edx, edi
sar edx, 3
add edx, dword [ebx + 0x550]
mov dword [eax + 8], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00813530
mov eax, dword [ebx + 0x558]
sub eax, dword [ebx + 0x554]
mov edx, dword [ebx + 0x540]
lea eax, [eax*8 + 0x20]
sub eax, dword [ebx + 0x564]
imul ecx, edx, 0x1c
add ecx, dword [ebx + 0x548]
lea edi, [eax + 7]
test eax, eax
cmovs eax, edi
sar eax, 3
add eax, dword [ebx + 0x550]
sub eax, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 0x324]
test eax, eax
je 0x7fdd27
mov dword [esp + 4], ecx
mov dword [esp], ebx
call eax
mov edx, dword [ebx + 0x540]
mov eax, dword [ebx + 0x544]
add edx, 1
mov dword [ebx + 0x540], edx
cmp edx, eax
jge 0x7febb5
sub edx, 1
mov eax, ebx
call fcn.007fb920
test eax, eax
js 0x7fd8cd
mov edx, dword [esp + 0xfc]
add ebp, eax
sub edx, eax
test edx, edx
mov dword [esp + 0xfc], edx
jle 0x7fddc0
mov edi, dword [ebx + 0x314]
mov eax, 6
sub eax, dword [ebx + 0x2e8]
test edi, edi
jne 0x7fdc50
mov ecx, edx
mov edi, 0
sub ecx, eax
cmovs ecx, edi
jmp 0x7fdc6a
mov dword [ebx + 0x52c], 0
mov ebp, 0xffffffff
mov dword [esp + 4], ebx
mov eax, dword [ebx + 0x53c]
mov dword [esp], eax
call fcn.00849730
test eax, eax
jne 0x7fd8d2
jmp 0x7fd897
mov edi, dword [esp + 0x64]
mov edx, dword [ebx + 0x540]
mov eax, dword [esp + 0x120]
mov dword [eax], edx
mov eax, dword [ebx + 0x548]
mov dword [edi], eax
mov dword [ebx + 0x540], 0
mov dword [esp], ebx
call fcn.00851af0
mov esi, dword [ebx + 0x328]
cmp ebx, esi
je 0x7fde0c
lea eax, [ebx + 0x78d0]
add esi, 0x78d0
mov ecx, 0x286
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0xbe8]
mov edx, ebp
mov esi, ebx
sar edx, 0x1f
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x64]
add dword [ebx + eax*4 + 0x78d0], 1
add dword [ebx + ecx*8 + 0x78e0], ebp
mov eax, ecx
adc dword [ebx + ecx*8 + 0x78e4], edx
add eax, 0xf1e
mov edx, dword [ebx + 0x3a6c]
fld dword [edx + 0x88]
fadd qword [ebx + eax*8 + 8]
fstp qword [ebx + eax*8 + 8]
imul eax, ecx, 0x98
lea edx, [ebx + eax + 0x7a00]
xor eax, eax
mov ecx, dword [esi + eax*4 + 0x7604]
mov ebx, ecx
sar ebx, 0x1f
add dword [edx], ecx
adc dword [edx + 4], ebx
add eax, 1
add edx, 8
cmp eax, 0x13
jne 0x7fde61
mov eax, dword [esp + 0x64]
mov ebx, esi
mov edi, dword [esp + 0x64]
mov edx, dword [esi + 0x7764]
shl eax, 7
lea eax, [eax + edi*8]
lea eax, [esi + eax]
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7bc8], edx
mov edx, dword [esi + 0x7768]
adc dword [eax + 0x7bcc], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7bd0], edx
mov edx, dword [esi + 0x776c]
adc dword [eax + 0x7bd4], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7bd8], edx
mov edx, dword [esi + 0x7770]
adc dword [eax + 0x7bdc], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7be0], edx
mov edx, dword [esi + 0x7774]
adc dword [eax + 0x7be4], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7be8], edx
mov edx, dword [esi + 0x7778]
adc dword [eax + 0x7bec], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7bf0], edx
mov edx, dword [esi + 0x777c]
adc dword [eax + 0x7bf4], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7bf8], edx
mov edx, dword [esi + 0x7780]
adc dword [eax + 0x7bfc], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c00], edx
mov edx, dword [esi + 0x7784]
adc dword [eax + 0x7c04], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c08], edx
mov edx, dword [esi + 0x7788]
adc dword [eax + 0x7c0c], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c10], edx
mov edx, dword [esi + 0x778c]
adc dword [eax + 0x7c14], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c18], edx
mov edx, dword [esi + 0x7790]
adc dword [eax + 0x7c1c], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c20], edx
mov edx, dword [esi + 0x7794]
adc dword [eax + 0x7c24], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c28], edx
mov edx, dword [esi + 0x7798]
adc dword [eax + 0x7c2c], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c30], edx
mov edx, dword [esi + 0x779c]
adc dword [eax + 0x7c34], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c38], edx
mov edx, dword [esi + 0x77a0]
adc dword [eax + 0x7c3c], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c40], edx
mov edx, dword [esi + 0x77a4]
adc dword [eax + 0x7c44], ecx
mov ecx, edx
sar ecx, 0x1f
add dword [eax + 0x7c48], edx
adc dword [eax + 0x7c4c], ecx
mov eax, dword [esi + 0x765c]
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x7cd8], eax
mov eax, dword [esi + 0x7660]
adc dword [esi + 0x7cdc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x7ce0], eax
mov eax, dword [esi + 0x77a8]
adc dword [esi + 0x7ce4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x80e8], eax
mov eax, dword [esi + 0x77ac]
adc dword [esi + 0x80ec], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x80f0], eax
mov eax, dword [esi + 0x77b0]
adc dword [esi + 0x80f4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x80f8], eax
mov eax, dword [esi + 0x77b4]
adc dword [esi + 0x80fc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8100], eax
mov eax, dword [esi + 0x77b8]
adc dword [esi + 0x8104], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8108], eax
mov eax, dword [esi + 0x77bc]
adc dword [esi + 0x810c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8110], eax
mov eax, dword [esi + 0x77c0]
adc dword [esi + 0x8114], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8118], eax
mov eax, dword [esi + 0x77c4]
adc dword [esi + 0x811c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8120], eax
mov eax, dword [esi + 0x77c8]
adc dword [esi + 0x8124], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8128], eax
mov eax, dword [esi + 0x77cc]
adc dword [esi + 0x812c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8130], eax
mov eax, dword [esi + 0x77d0]
adc dword [esi + 0x8134], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8138], eax
mov eax, dword [esi + 0x77d4]
adc dword [esi + 0x813c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8140], eax
mov eax, dword [esi + 0x77d8]
adc dword [esi + 0x8144], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8148], eax
mov eax, dword [esi + 0x77dc]
adc dword [esi + 0x814c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8150], eax
mov eax, dword [esi + 0x77e0]
adc dword [esi + 0x8154], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8158], eax
mov eax, dword [esi + 0x77e4]
adc dword [esi + 0x815c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8160], eax
mov eax, dword [esi + 0x77e8]
adc dword [esi + 0x8164], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8168], eax
mov eax, dword [esi + 0x77ec]
adc dword [esi + 0x816c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8170], eax
mov eax, dword [esi + 0x77f0]
adc dword [esi + 0x8174], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8178], eax
mov eax, dword [esi + 0x77f4]
adc dword [esi + 0x817c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8180], eax
mov eax, dword [esi + 0x77f8]
adc dword [esi + 0x8184], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8188], eax
mov eax, dword [esi + 0x77fc]
adc dword [esi + 0x818c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8190], eax
mov eax, dword [esi + 0x7800]
adc dword [esi + 0x8194], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8198], eax
mov eax, dword [esi + 0x7804]
adc dword [esi + 0x819c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81a0], eax
mov eax, dword [esi + 0x7808]
adc dword [esi + 0x81a4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81a8], eax
mov eax, dword [esi + 0x780c]
adc dword [esi + 0x81ac], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81b0], eax
mov eax, dword [esi + 0x7810]
adc dword [esi + 0x81b4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81b8], eax
mov eax, dword [esi + 0x7814]
adc dword [esi + 0x81bc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81c0], eax
mov eax, dword [esi + 0x7818]
adc dword [esi + 0x81c4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81c8], eax
mov eax, dword [esi + 0x781c]
adc dword [esi + 0x81cc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81d0], eax
mov eax, dword [esi + 0x7820]
adc dword [esi + 0x81d4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81d8], eax
mov eax, dword [esi + 0x7824]
adc dword [esi + 0x81dc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81e0], eax
mov eax, dword [esi + 0x7828]
adc dword [esi + 0x81e4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81e8], eax
mov eax, dword [esi + 0x782c]
adc dword [esi + 0x81ec], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81f0], eax
mov eax, dword [esi + 0x7830]
adc dword [esi + 0x81f4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x81f8], eax
mov eax, dword [esi + 0x7834]
adc dword [esi + 0x81fc], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8200], eax
mov eax, dword [esi + 0x7838]
adc dword [esi + 0x8204], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8208], eax
mov eax, dword [esi + 0x783c]
adc dword [esi + 0x820c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8210], eax
mov eax, dword [esi + 0x7840]
adc dword [esi + 0x8214], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8218], eax
mov eax, dword [esi + 0x7844]
adc dword [esi + 0x821c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8220], eax
mov eax, dword [esi + 0x7848]
adc dword [esi + 0x8224], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8228], eax
mov eax, dword [esi + 0x784c]
adc dword [esi + 0x822c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8230], eax
mov eax, dword [esi + 0x7850]
adc dword [esi + 0x8234], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8238], eax
mov eax, dword [esi + 0x7854]
adc dword [esi + 0x823c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8240], eax
mov eax, dword [esi + 0x7858]
adc dword [esi + 0x8244], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8248], eax
mov eax, dword [esi + 0x785c]
adc dword [esi + 0x824c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8250], eax
mov eax, dword [esi + 0x7860]
adc dword [esi + 0x8254], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8258], eax
mov eax, dword [esi + 0x7864]
adc dword [esi + 0x825c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8260], eax
mov eax, dword [esi + 0x7868]
adc dword [esi + 0x8264], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8268], eax
mov eax, dword [esi + 0x786c]
adc dword [esi + 0x826c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8270], eax
mov eax, dword [esi + 0x7870]
adc dword [esi + 0x8274], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8278], eax
mov eax, dword [esi + 0x7874]
adc dword [esi + 0x827c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8280], eax
mov eax, dword [esi + 0x7878]
adc dword [esi + 0x8284], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8288], eax
mov eax, dword [esi + 0x787c]
adc dword [esi + 0x828c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8290], eax
mov eax, dword [esi + 0x7880]
adc dword [esi + 0x8294], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x8298], eax
mov eax, dword [esi + 0x7884]
adc dword [esi + 0x829c], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x82a0], eax
mov eax, dword [esi + 0x7888]
adc dword [esi + 0x82a4], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x82a8], eax
mov eax, dword [esi + 0x788c]
adc dword [esi + 0x82ac], edx
mov edx, eax
sar edx, 0x1f
add dword [esi + 0x82b0], eax
adc dword [esi + 0x82b4], edx
xor eax, eax
cmp edi, 2
je 0x7fe5dc
mov edx, edi
add edx, edx
mov dword [esp + 0x70], ebp
mov ebp, eax
mov eax, edx
mov dword [esp + 0x68], edx
add eax, ebp
mov edx, ebp
shl edx, 7
shl eax, 8
lea ecx, [ebx + edx + 0x7664]
xor edx, edx
lea eax, [ebx + eax + 0x7ce8]
mov esi, dword [ecx]
mov edi, esi
sar edi, 0x1f
add dword [eax], esi
adc dword [eax + 4], edi
add edx, 1
add eax, 8
add ecx, 4
cmp edx, 0x20
jne 0x7fe5b0
add ebp, 1
cmp ebp, 2
je 0x7fe5d8
mov eax, dword [esp + 0x68]
jmp 0x7fe596
mov ebp, dword [esp + 0x70]
mov eax, dword [ebx + 0x7890]
mov edx, eax
sar edx, 0x1f
add dword [ebx + 0x82b8], eax
mov eax, dword [ebx + 0x7894]
adc dword [ebx + 0x82bc], edx
mov edx, eax
sar edx, 0x1f
add dword [ebx + 0x82c0], eax
mov eax, dword [ebx + 0x7898]
adc dword [ebx + 0x82c4], edx
mov edx, eax
sar edx, 0x1f
add dword [ebx + 0x82c8], eax
mov eax, dword [esp + 0x64]
adc dword [ebx + 0x82cc], edx
test eax, eax
jne 0x7fec0c
mov edi, dword [ebx + 0x204]
test edi, edi
jle 0x7fe66a
mov esi, dword [ebx + 0xd9c]
xor eax, eax
cmp dword [ebx + 0xd6c], 0
mov edx, dword [ebx + 0x82e4]
setne al
add dword [ebx + 0x82e0], eax
test esi, esi
mov eax, 1
je 0x7fedba
add eax, edx
mov dword [ebx + 0x82e4], eax
mov eax, dword [ebx + 0x3a68]
movzx edx, byte [eax + 0x82]
add dword [ebx + edx*4 + 0x7910], 1
mov byte [esp + 0xac], 0
mov edx, dword [ebx + 0x254]
lea esi, [esp + 0xac]
fld dword [eax + 0x38]
mov eax, dword [esp + 0x64]
add eax, 0xf3c
test edx, edx
fld qword [ebx + eax*8 + 8]
fadd st(1)
fstp qword [ebx + eax*8 + 8]
je 0x7fe8a0
mov eax, dword [ebx + 0x78a8]
mov edx, dword [ebx + 0x78ac]
mov ecx, dword [ebx + 0x78bc]
mov esi, dword [ebx + 0x78b0]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x18]
imul eax, dword [ebx + 0x14]
mov dword [esp + 0x6c], edx
mov edi, dword [ebx + 0x78b4]
mov edx, dword [ebx + 0x78b8]
fild qword [esp + 0x68]
mov dword [esp + 0x74], ecx
xor ecx, ecx
cmp dword [ebx + 0x20f8], 3
mov dword [esp + 0x94], eax
fild dword [esp + 0x94]
fld dword [0xbafe84]
setne cl
fmul st(1), st(0)
fxch st(2)
add ecx, ecx
mov dword [esp + 0x70], edx
mov edx, eax
sar edx, cl
fdivrp st(1)
fld qword [0xbafe88]
fcompi st(1)
jae 0x7fed49
fldlg2
fxch st(1)
fyl2x
fmul dword [0xbafe90]
mov dword [esp + 0x94], edx
fild dword [esp + 0x94]
fmul st(2)
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
fild qword [esp + 0x98]
fdiv st(1)
fld qword [0xbafe88]
fcompi st(1)
jae 0x7fed3c
fldlg2
fxch st(1)
fyl2x
fmul dword [0xbafe90]
fild qword [esp + 0x70]
fdivrp st(2)
fld qword [0xbafe88]
fcompi st(2)
jae 0x7fed2f
fldlg2
fxch st(1)
fxch st(2)
fyl2x
fmul dword [0xbafe90]
add esi, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
add esi, dword [esp + 0x70]
adc edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
lea eax, [eax + edx*2]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
fild qword [esp + 0x98]
fld st(0)
add ecx, 0xf2a
fmul st(6)
fadd qword [ebx + ecx*8 + 8]
fstp qword [ebx + ecx*8 + 8]
mov ecx, dword [esp + 0x64]
add ecx, 0xf2c
fld qword [ebx + ecx*8 + 0x10]
mov dword [esp + 0x94], eax
fild dword [esp + 0x94]
fmulp st(6)
fxch st(1)
fdivrp st(5)
fld qword [0xbafe88]
fcompi st(5)
jae 0x7fed12
fldlg2
fxch st(1)
fxch st(5)
fyl2x
fmul dword [0xbafe90]
fmul st(5)
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xac]
add eax, 0xf30
faddp st(4)
fxch st(3)
fstp qword [ebx + ecx*8 + 0x10]
fld st(1)
fmul st(4)
fadd qword [ebx + eax*8 + 8]
fstp qword [ebx + eax*8 + 8]
mov eax, dword [esp + 0x64]
fld st(0)
fmul st(4)
add eax, 0xf32
fadd qword [ebx + eax*8 + 0x10]
fstp qword [ebx + eax*8 + 0x10]
mov eax, dword [esp + 0x64]
fld st(2)
fmul st(4)
add eax, 0xf36
fadd qword [ebx + eax*8 + 8]
fstp qword [ebx + eax*8 + 8]
fxch st(2)
fstp qword [esp + 0x1c]
fxch st(1)
fstp qword [esp + 0x14]
fstp qword [esp + 0xc]
fstp qword [esp + 0x50]
mov dword [esp + 8], str._PSNR_Y:_5.2f_U:_5.2f_V:_5.2f
mov dword [esp + 4], 0x50
mov dword [esp], esi
call fcn.008e9fc0
mov ecx, dword [ebx + 0xbe8]
mov dword [esp + 0x64], ecx
fld qword [esp + 0x50]
mov eax, dword [ebx + 0x258]
test eax, eax
jne 0x7fec8e
fstp st(0)
mov byte [esp + 0xfb], 0
mov eax, dword [ebx + 0x7650]
mov edx, dword [ebx + 0x3a6c]
cmp dword [esp + 0x64], 2
mov ecx, dword [ebx + 0x7658]
mov dword [esp + 0x68], eax
mov edi, dword [ebx + 0x7654]
mov eax, dword [edx]
mov dword [esp + 0x70], eax
mov eax, 0x49
je 0x7fe8f3
cmp dword [esp + 0x64], 1
sbb eax, eax
and eax, 0xe
add eax, 0x42
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x584]
mov dword [esp + 0x18], eax
fld dword [edx + 0x88]
fstp qword [esp + 0x10]
mov eax, dword [ebx + 0x574]
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], ebx
mov dword [esp + 0xc], eax
call fcn.0080cd70
mov eax, dword [ebx + 0x328]
cmp ebx, eax
je 0x7fe96b
add eax, 0x78d0
mov ecx, 0x286
lea esi, [ebx + 0x78d0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp ebx, dword [esp + 0x60]
je 0x7fe989
mov eax, dword [esp + 0x60]
lea esi, [ebx + 0x78d0]
mov ecx, 0x286
add eax, 0x78d0
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x3a70]
test edx, edx
jle 0x7fe9d2
xor esi, esi
jmp 0x7fe99e
add esi, 1
cmp esi, edx
jge 0x7fe9d2
mov eax, dword [ebx + esi*4 + 0x3a78]
test eax, eax
je 0x7fe997
mov edi, dword [eax + 0xac0]
test edi, edi
je 0x7fe997
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00828090
mov edx, dword [ebx + 0x3a70]
mov dword [ebx + esi*4 + 0x3a78], 0
jmp 0x7fe997
mov eax, dword [ebx + 0x1f4]
test eax, eax
je 0x7febae
mov dword [esp + 4], 0xbaf46c
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov dword [esp + 0x60], eax
je 0x7febae
mov eax, dword [ebx + 0x14]
xor edx, edx
imul eax, dword [ebx + 0x18]
cmp dword [ebx + 0x20f8], 3
mov dword [esp + 0xc], 0
sete dl
lea edx, [edx + edx*2 + 3]
imul eax, edx
mov edx, eax
shr edx, 0x1f
lea eax, [edx + eax]
mov edx, dword [ebx + 0x3a6c]
sar eax, 1
imul dword [edx + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.008eb1c0
mov edx, dword [ebx + 0x20f8]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], ebp
xor eax, eax
cmp edx, 3
sete al
lea eax, [eax + eax + 1]
cmp dword [esp + 0x64], eax
jge 0x7fead5
mov ecx, dword [ebx + 0x18]
test ecx, ecx
jle 0x7feace
mov ebp, dword [esp + 0x64]
xor esi, esi
mov eax, dword [ebx + 0x3a6c]
mov edx, dword [esp + 0x64]
add ebp, 0x24
mov ecx, dword [eax + ebp*4 + 4]
lea edi, [edx + 0x30]
jmp 0x7fea9a
mov eax, dword [ebx + 0x3a6c]
mov ecx, dword [eax + ebp*4 + 4]
mov edx, dword [esp + 0x60]
imul ecx, esi
add esi, 1
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 4], 1
mov dword [esp + 8], edx
add ecx, dword [eax + edi*4 + 4]
mov dword [esp], ecx
call sub.msvcrt.dll_fwrite
cmp esi, dword [ebx + 0x18]
jl 0x7fea90
mov edx, dword [ebx + 0x20f8]
add dword [esp + 0x64], 1
jmp 0x7fea57
cmp edx, 3
mov ebp, dword [esp + 0x68]
je 0x7feba2
mov edx, dword [ebx + 0x18]
mov esi, dword [ebx + 0x14]
sar edx, 1
sar esi, 1
mov ecx, edx
imul ecx, esi
mov dword [esp + 0x50], edx
lea edi, [ecx + 0x10]
lea eax, [edi + edi]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x64], edi
mov dword [esp], eax
call fcn.0080d170
mov edx, dword [esp + 0x50]
mov edi, eax
mov eax, dword [esp + 0x64]
add eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x3a6c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov edx, dword [eax + 0x98]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
mov eax, dword [eax + 0xc8]
mov dword [esp + 0xc], esi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp], edi
call dword [ebx + 0x9084]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov dword [esp], ecx
call sub.msvcrt.dll_fwrite
mov dword [esp], edi
call fcn.0080d1d0
mov edi, dword [esp + 0x60]
mov dword [esp], edi
call sub.msvcrt.dll_fclose
emms
jmp 0x7fd8d2
imul eax, eax, 0x38
mov dword [esp], eax
call fcn.0080d170
test eax, eax
mov edi, eax
je 0x7fd8cd
imul edx, dword [ebx + 0x544], 0x1c
mov eax, dword [ebx + 0x548]
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 0x548]
mov dword [esp], eax
call fcn.0080d1d0
mov edx, dword [ebx + 0x540]
mov dword [ebx + 0x548], edi
shl dword [ebx + 0x544], 1
jmp 0x7fdd3e
cmp dword [esp + 0x64], 1
jne 0x7fe66a
mov eax, dword [ebx + 0xc20]
mov ecx, dword [ebx + 0x6f8c]
add dword [ebx + eax*4 + 0x82d8], 1
test ecx, ecx
je 0x7fec83
mov eax, dword [ebx + 0x82d0]
mov ecx, dword [ebx + 0x82d4]
lea edx, [ecx + eax]
cmp edx, dword [ebx + 0x47a8]
jle 0x7fec6b
lea eax, [eax + eax*8]
mov esi, 0xa
mov edx, eax
sar edx, 0x1f
idiv esi
mov dword [ebx + 0x82d0], eax
lea eax, [ecx + ecx*8]
mov edx, eax
sar edx, 0x1f
idiv esi
mov dword [ebx + 0x82d4], eax
mov eax, dword [ebx + 0x789c]
add dword [ebx + 0x82d0], eax
mov eax, dword [ebx + 0x78a0]
add dword [ebx + 0x82d4], eax
mov eax, dword [ebx + 0x3a68]
jmp 0x7fe67f
fild dword [ebx + 0x78c8]
mov edx, esi
fdivr qword [ebx + 0x78c0]
mov eax, dword [esp + 0x64]
add eax, 0xf38
fmul st(1), st(0)
fxch st(1)
fadd qword [ebx + eax*8 + 0x10]
fstp qword [ebx + eax*8 + 0x10]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x7fecb1
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, esi
sub eax, edx
lea edx, [esi + edx]
fstp qword [esp + 0xc]
mov dword [esp + 8], str._SSIM_Y:_.5f
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.008e9fc0
mov edi, dword [ebx + 0xbe8]
mov dword [esp + 0x64], edi
jmp 0x7fe8b0
fstp st(4)
fxch st(1)
fxch st(2)
fxch st(3)
fld dword [0xbafe80]
fxch st(1)
fxch st(4)
fxch st(3)
fxch st(2)
fxch st(1)
jmp 0x7fe816
fstp st(1)
fld dword [0xbafe80]
jmp 0x7fe79a
fstp st(0)
fld dword [0xbafe80]
jmp 0x7fe778
fstp st(0)
fld dword [0xbafe80]
jmp 0x7fe737
imul edx, edx, 0x38
mov ebp, 0xffffffff
mov dword [esp], edx
call fcn.0080d170
test eax, eax
mov edx, eax
je 0x7fd8d2
imul ecx, dword [ebx + 0x544], 0x1c
mov eax, dword [ebx + 0x548]
mov dword [esp], edx
mov dword [esp + 0x50], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 0x548]
mov dword [esp], eax
call fcn.0080d1d0
mov edx, dword [esp + 0x50]
mov eax, dword [ebx + 0x540]
shl dword [ebx + 0x544], 1
mov dword [ebx + 0x548], edx
jmp 0x7fd9d9
xor eax, eax
cmp dword [ebx + 0xdcc], 0
setne al
jmp 0x7fe662