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

Disassembly:
push ebp
push edi
mov ebp, eax
push esi
push ebx
sub esp, 0x1dc
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x80]
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x422585
mov eax, dword [eax + 4]
xor esi, esi
xor edi, edi
mov edx, dword [eax + 0x5c]
test edx, edx
je 0x422540
mov ecx, dword [ebp + 0x14]
imul ecx, dword [ecx + 0xb4], 0xfff0bdc0
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
fild dword [eax + 0x60]
fnstcw word [esp + 0x76]
movzx edx, word [esp + 0x76]
mov dh, 0xc
mov word [esp + 0x74], dx
fdivp st(1)
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fdivp st(1)
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x3c]
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x48], 0
mov dword [ebp + 0x4c], 0
test ebx, ebx
je 0x42257b
mov ecx, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x40], ebx
add ebx, 0x80000000
or ebx, ecx
je 0x42257b
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x422b50
mov dword [ebp + 0x80], 1
mov eax, dword [ebp + 0x34]
add eax, 0x80000000
or eax, dword [ebp + 0x30]
je 0x422831
mov eax, dword [ebp + 0x44]
add eax, 0x80000000
or eax, dword [ebp + 0x40]
je 0x422820
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x422f60
lea edi, [esp + 0x140]
mov ecx, 0x12
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], edi
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x10]
lea eax, [ecx - 0x80000000]
or eax, ebx
je 0x422842
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00892710
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x48], edi
test ebx, ebx
je 0x422691
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], edx
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], edx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x423474
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov ebx, dword [ecx + 8]
xor ecx, ecx
mov esi, dword [ebp + 0x40]
mov edi, dword [ebp + 0x44]
cmp ebx, 1
mov dword [esp + 0x100], 0
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], edi
je 0x422801
cmp ebx, 3
je 0x4227f0
test ebx, ebx
je 0x4226a0
add esp, 0x1dc
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
jne 0x42264c
jmp 0x42262b
mov edi, dword [esp + 0x3c]
test edi, edi
sete al
test ecx, ecx
lea ecx, [esp + 0x100]
movzx eax, al
mov dword [esp], eax
je 0x422730
xor edx, edx
mov eax, ebp
call fcn.0041fc20
test edi, edi
mov esi, eax
je 0x4227c0
mov eax, dword [esp + 0x100]
test eax, eax
jne 0x422745
nop
lea esi, [esi]
cmp esi, 0xdfb9b0bb
je 0x422879
test esi, esi
js 0x4231c1
mov eax, dword [esp + 0x100]
test eax, eax
je 0x4227f4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4227f4
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x423240
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov ebx, dword [ecx + 8]
mov ecx, 1
jmp 0x42264e
mov edx, dword [esp + 0x40]
mov eax, ebp
call fcn.0041fc20
mov edi, dword [esp + 0x3c]
mov esi, eax
test edi, edi
je 0x4227c0
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edi, eax
or edi, edx
je 0x4227c0
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x28]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00892710
mov edi, dword [ebp + 0x3c]
lea edx, [edi - 0x80000000]
or edx, dword [ebp + 0x38]
je 0x4227db
test eax, eax
je 0x4227db
mov ebx, eax
sar ebx, 0x1f
add dword [ebp + 0x30], eax
adc dword [ebp + 0x34], ebx
mov edi, dword [esp + 0x100]
test edi, edi
je 0x4226e0
cdq
add dword [ebp + 0x40], eax
adc dword [ebp + 0x44], edx
jmp 0x4226e0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x370]
test eax, eax
je 0x4227db
mov eax, dword [ecx + 0x374]
test eax, eax
jne 0x423060
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0x80000000
jmp 0x42279f
test ecx, ecx
je 0x422851
mov dword [esp + 0x48], 0
jmp 0x422881
cmp ecx, 1
lea ecx, [esp + 0x100]
mov eax, ebp
sbb edx, edx
and edx, dword [esp + 0x40]
call fcn.0041a120
mov esi, eax
jmp 0x4226e0
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], edx
jmp 0x4225a7
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
jmp 0x422596
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x48], eax
jmp 0x422637
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x100]
mov eax, ebp
call fcn.004213b0
mov ebx, dword [esp + 0x3c]
mov esi, eax
test ebx, ebx
jne 0x4226e0
test eax, eax
js 0x4226e0
mov dword [esp + 0x48], 1
mov edi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x10]
test edi, edi
je 0x4232c5
test eax, eax
je 0x422fa3
mov esi, dword [0xeea0a8]
test esi, esi
jle 0x422b36
xor edi, edi
mov dword [esp + 0x40], esi
mov esi, edi
jmp 0x4228bd
add esi, 1
cmp esi, dword [esp + 0x40]
jge 0x422b36
mov eax, dword [0xeea0ac]
mov edx, dword [ebp]
mov ebx, dword [eax + esi*4]
mov eax, dword [0xeea0b4]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp + 4]
mov edx, dword [edi + 0xc]
add edx, dword [eax]
cmp edx, dword [ebx + 8]
jne 0x4228b0
mov eax, dword [ebx + 0x104]
test eax, eax
jne 0x4228b0
mov edx, dword [ebx]
mov eax, dword [0xeea0a4]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [eax + 0x18]
mov ecx, edx
mov edx, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
add edx, 0x80000000
or edx, eax
je 0x422ed0
mov edx, dword [esp + 0x54]
cmp edx, dword [ebp + 0x4c]
mov eax, dword [esp + 0x50]
jg 0x4228b0
jl 0x422929
cmp eax, dword [ebp + 0x48]
ja 0x4228b0
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x4228b0
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00892710
mov dword [esp + 0x40], eax
lea eax, [esp + 0x188]
mov dword [esp + 0x44], edx
mov dword [esp], eax
call fcn.005d0e60
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x422a70
mov eax, dword [esp + 0x3c]
test byte [eax + 0x24], 1
jne 0x42299f
mov eax, dword [ebx + 0x118]
test eax, eax
je 0x422b20
mov eax, dword [ebx + 0x11c]
test eax, eax
jne 0x422a70
mov eax, dword [0xeea050]
test eax, eax
je 0x4229f0
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
lea eax, [ecx - 0x80000000]
mov dword [esp + 0x58], edx
or eax, edx
je 0x4229f0
mov eax, edx
add eax, dword [edi + 0x30]
mov edx, ecx
adc edx, dword [edi + 0x34]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, edx
mov edx, dword [esp + 0x50]
cmp eax, ecx
jg 0x4229fe
jl 0x4229f0
cmp dword [esp + 0x60], edx
jae 0x4229fe
nop
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 8]
mov dword [esp + 0x58], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x64], edx
add edx, 0x80000000
or edx, dword [esp + 0x58]
je 0x423407
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], edx
mov dword [esp], ecx
call fcn.00892710
cmp dword [esp + 0x64], edx
jl 0x422b20
jg 0x422a70
cmp dword [esp + 0x58], eax
jb 0x422b20
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, eax
not ecx
mov dword [esp + 0x58], ecx
mov ecx, edx
xor ecx, 0x7fffffff
or ecx, dword [esp + 0x58]
je 0x422ba0
add eax, dword [esp + 0x50]
adc edx, dword [esp + 0x54]
cmp dword [ebp + 0x4c], edx
jl 0x422ba0
jle 0x422b93
mov eax, dword [0xeea0a4]
mov edx, dword [ebx]
mov edi, dword [eax + edx*4]
or dword [ebx + 0x104], 1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x422b20
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x24]
sbb edx, dword [ebx + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00892710
mov ecx, dword [edi + 0x14]
mov ebx, dword [edi + 0x10]
cmp ecx, edx
jl 0x422b10
jg 0x422b0c
cmp ebx, eax
jbe 0x422b10
mov ebx, eax
mov ecx, edx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ecx
lea esi, [esi]
lea edi, [edi]
mov eax, dword [0xeea0a8]
add esi, 1
mov dword [esp + 0x40], eax
cmp esi, dword [esp + 0x40]
jl 0x4228bd
mov eax, dword [esp + 0x48]
add esp, 0x1dc
pop ebx
pop esi
xor eax, 1
pop edi
pop ebp
ret
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
call fcn.00892710
add esi, eax
adc edi, edx
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x4c], edi
jmp 0x42257b
cmp dword [ebp + 0x48], eax
jae 0x422aab
lea esi, [esi]
mov edx, dword [edi + 0x54]
mov eax, dword [edi + 0x50]
mov ecx, edx
mov dword [esp + 0x50], eax
not eax
mov edx, ecx
mov dword [esp + 0x54], ecx
xor edx, 0x7fffffff
or edx, eax
je 0x422ca0
mov eax, dword [edi]
mov edx, dword [eax + 0x424]
mov eax, dword [eax + 0x420]
mov dword [esp + 0x5c], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x40]
mov edi, edx
add edi, 0x80000000
or edi, eax
je 0x422bfc
mov ecx, dword [0xeea050]
test ecx, ecx
je 0x422bfc
add dword [esp + 0x58], eax
adc dword [esp + 0x5c], edx
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
adc edx, dword [esp + 0x54]
cmp dword [ebp + 0x4c], edx
jl 0x422ca0
jle 0x422c90
mov eax, dword [0xeea0a4]
mov edx, dword [ebx]
mov edi, dword [eax + edx*4]
or dword [ebx + 0x104], 1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x422b20
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x24]
sbb edx, dword [ebx + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00892710
mov ebx, eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
cmp eax, edx
jl 0x422c82
jg 0x422c7e
cmp ecx, ebx
jbe 0x422c82
mov ecx, ebx
mov eax, edx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
jmp 0x422b20
cmp dword [ebp + 0x48], eax
jae 0x422c17
lea esi, [esi]
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x422cb2
add dword [ebx + 0x20], 1
adc dword [ebx + 0x24], 0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, ecx
lea ecx, [eax - 0x80000000]
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], edi
or ecx, edi
je 0x4231a0
mov edi, dword [ebx + 0xc]
mov edx, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
call fcn.00892710
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x58], eax
add eax, 0x80000000
mov dword [esp + 0x50], edx
or eax, edx
je 0x423140
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00892710
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x198], eax
mov eax, dword [edi + 0x2c4]
mov dword [esp + 0x19c], edx
cmp dword [eax], 1
mov dword [esp + 0x50], eax
je 0x423356
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00892710
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1bc], edx
mov edx, dword [edi + 0x24]
mov dword [esp + 0x3c], edi
mov eax, dword [eax + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x1ac], edx
cmp eax, 0x1c
setne cl
cmp eax, 0x47
mov edi, ecx
setne cl
mov edx, edi
test dl, cl
je 0x422ef0
sub eax, 1
cmp eax, 1
jbe 0x422ef0
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
and edx, 1
mov dword [esp + 0x18], edx
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1a0]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x12c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x128]
mov dword [esp], eax
call fcn.0063ee30
test eax, eax
js 0x4235ac
je 0x422f08
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x877b10
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
call fcn.00877c70
test eax, eax
mov dword [esp + 0x188], eax
jne 0x422f08
mov dword [esp], 1
call fcn.00401b80
mov esi, esi
lea edi, [edi]
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x4228b0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
jmp 0x422930
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1a0], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
lea eax, [esp + 0x188]
mov dword [esp], eax
call fcn.005d13f0
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x2c4]
mov edx, dword [eax]
test edx, edx
jne 0x422f38
cmp dword [eax + 4], 0xe
je 0x422ff0
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x188]
mov ecx, ebx
call fcn.0041e400
mov eax, dword [0xeea0a8]
mov dword [esp + 0x40], eax
jmp 0x4228b0
lea eax, [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 0x40], eax
call fcn.005d0e60
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x48], eax
jmp 0x422637
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jne 0x422b36
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 8]
mov esi, dword [ebp + 0x30]
mov edi, dword [ebp + 0x34]
test eax, eax
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edi
je 0x423250
cmp eax, 1
je 0x423100
mov eax, esi
mov edx, edi
mov dword [ebp + 0x44], edx
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x40], eax
test edx, edx
jne 0x422898
jmp 0x422b36
mov edi, dword [esp + 0x70]
mov edx, dword [edi]
mov edx, dword [edx + 8]
test byte [edx + 0x1c], 0x20
je 0x422f38
mov edx, dword [eax + 0x34]
lea edi, [esp + 0x80]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x14]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 4], eax
call fcn.005d2a70
test eax, eax
js 0x42355a
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], 0x40
or dword [esp + 0x1ac], 1
jmp 0x422f38
mov eax, dword [ebp + 4]
mov dword [esp], eax
call fcn.00587c10
test eax, eax
je 0x423485
mov eax, dword [ebp + 4]
mov dword [esp], eax
call fcn.00587c10
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
lea ebx, [eax + 1]
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x70], eax
mov eax, 0xf4240
imul dword [ecx + 0x374]
mov ecx, dword [ecx + 0x370]
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 0x48], eax
mov eax, ebx
mov dword [esp + 0x4c], edx
cdq
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
imul edi, ebx
imul eax, edx
add eax, edi
mov edi, eax
mov eax, dword [esp + 0x48]
mul ebx
add edx, edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00bd0e70
mov edi, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
sar edi, 0x1f
mov dword [esp + 0xc], edi
call fcn.00bd0e70
jmp 0x422782
mov eax, 0xf4240
imul dword [ecx + 0x1ac]
mov ecx, dword [ecx + 0x1a0]
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00bd0e70
add eax, esi
adc edx, edi
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
jmp 0x422fca
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 0x58], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00892710
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x198], eax
mov eax, dword [edi + 0x2c4]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x50], eax
jmp 0x422da8
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x80000000
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebp + 4]
jmp 0x422d28
lea edi, [esp + 0xc0]
xor eax, eax
mov ecx, 0x10
lea ebx, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0087c950
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [ebp]
mov dword [esp + 8], str.Error_while_decoding_stream__d:_d:__s_n
mov dword [esp + 4], 0x10
mov dword [esp], 0
mov dword [esp + 0xc], eax
call fcn.00891920
mov ecx, dword [0xeea044]
test ecx, ecx
jne 0x422ebb
mov edx, dword [esp + 0x3c]
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x48], eax
jmp 0x422881
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x48], 0
jmp 0x422fa6
mov ebx, dword [ebp + 0x88]
test ebx, ebx
je 0x423428
mov ecx, dword [ebp + 0x8c]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], ecx
call fcn.00892710
mov ecx, dword [esp + 0x40]
add eax, 1
mov dword [esp + 0x10], 1
adc edx, 0
mov dword [esp + 0x14], 0xf4240
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00892710
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
jmp 0x422fca
test eax, eax
je 0x422fa3
mov esi, dword [esp + 0x50]
test esi, esi
jne 0x422b36
test byte [esp + 0x48], 1
je 0x422b36
mov ebx, dword [ebp + 0x118]
test ebx, ebx
jle 0x422b36
xor ebx, ebx
jmp 0x42330f
add ebx, 1
cmp ebx, dword [ebp + 0x118]
jge 0x422f98
mov dword [esp + 4], 0
mov eax, dword [ebp + 0x114]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0042f380
test eax, eax
jns 0x423300
mov dword [esp + 8], str.Error_marking_filters_as_finished_n
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00891920
mov dword [esp], 1
call fcn.00401b80
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.006693c0
test eax, eax
mov edx, dword [ebp + 0x14]
jne 0x423379
mov eax, dword [edx + 0x1ac]
mov ecx, dword [ebx + 0xc]
mov edi, dword [edx + 0x1a0]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0x24], ecx
lea ecx, [ebp + 0x58]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.008929d0
sub eax, dword [esp + 0x40]
mov edi, dword [ebx + 0xc]
sbb edx, dword [esp + 0x44]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x190], eax
mov dword [esp + 0x198], eax
mov eax, dword [edi + 0x2c4]
mov dword [esp + 0x194], edx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x50], eax
jmp 0x422da8
cmp dword [ebp + 0x4c], eax
jl 0x422b20
jg 0x422a70
mov eax, dword [esp + 0x60]
cmp dword [ebp + 0x48], eax
jb 0x422b20
jmp 0x422a70
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ebx, eax
or ebx, edx
je 0x423494
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x28]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00892710
add eax, esi
adc edx, edi
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
jmp 0x422fca
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x423243
jmp 0x422fa6
mov ecx, dword [ebp + 0x14]
mov ebx, dword [ecx + 0x74]
mov dword [esp + 0x70], ebx
jmp 0x42308e
mov ecx, dword [ecx + 0x370]
mov eax, esi
mov edx, edi
test ecx, ecx
je 0x422fca
mov eax, dword [ebp + 4]
mov dword [esp], eax
call fcn.00587c10
test eax, eax
je 0x42354d
mov eax, dword [ebp + 4]
mov dword [esp], eax
call fcn.00587c10
mov ebx, dword [ebp + 0x14]
mov ecx, dword [eax + 0x24]
mov edi, dword [ebx + 0x74]
add ecx, 1
mov esi, 0xf4240
mov eax, esi
imul dword [ebx + 0x374]
mov dword [esp + 0x40], eax
mov eax, ecx
mov dword [esp + 0x44], edx
cdq
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
imul edx, dword [esp + 0x40]
imul esi, ecx
add esi, edx
mul ecx
mov ecx, edx
mov edx, eax
mov eax, dword [ebx + 0x370]
add ecx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
call fcn.00bd0e70
mov dword [esp + 8], edi
sar edi, 0x1f
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 4], edx
call fcn.00bd0e70
add eax, dword [ebp + 0x30]
mov esi, dword [ebp + 0x38]
adc edx, dword [ebp + 0x34]
mov edi, dword [ebp + 0x3c]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
jmp 0x422fca
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x74]
mov edi, ecx
jmp 0x4234d0
lea edi, [esp + 0x100]
mov edx, eax
mov ecx, 0x10
xor eax, eax
lea ebx, [esp + 0x100]
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0087c950
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.avpicture_fill_failed:__s_n
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00891920
jmp 0x422ebb
lea edi, [esp + 0x100]
mov edx, eax
mov ecx, 0x10
xor eax, eax
lea ebx, [esp + 0x100]
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0087c950
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.av_parser_change_failed:__s_n
jmp 0x423593