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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x1070dd84]
xor eax, esp
mov dword [esp + 0x8c], eax
mov ecx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 4]
cmp eax, 3
jle 0x100861d1
push eax
push str.params.lag___d___3_n
push 2
call fcn.103a4368
add esp, 4
push eax
call fcn.10083f40
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.10398bef
mov esp, ebp
pop ebp
ret
movzx esi, word [ecx + 0x284]
push 0x288
push 0
push ecx
call fcn.1039a3e0
mov edx, dword [esp + 0x34]
mov word [edx + 0x284], si
mov esi, edx
mov dword [esi], 1
mov dword [esi + 4], 1
mov eax, dword [edi + 4]
mov dword [esi + 0x128], eax
lea eax, [esp + 0x88]
push eax
lea eax, [edi + 0x20]
push 0xe
push eax
call fcn.10087050
add esp, 0x18
test eax, eax
je 0x100861bb
lea eax, [esp + 0x84]
push eax
lea eax, [edi + 0x70]
push 0xa
push eax
call fcn.10087050
add esp, 0xc
test eax, eax
jne 0x1008625e
push dword [esp + 0x7c]
call sym.aom.dll_aom_free
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.10398bef
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x8c]
push eax
lea eax, [edi + 0xc0]
push 0xa
push eax
call fcn.10087050
add esp, 0xc
test eax, eax
jne 0x100862b5
push dword [esp + 0x7c]
call sym.aom.dll_aom_free
push dword [esp + 0x88]
xorps xmm0, xmm0
movq qword [esp + 0x84], xmm0
call sym.aom.dll_aom_free
add esp, 8
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.10398bef
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
mov eax, 1
movsd xmm0, qword [0x103bfba8]
sub ecx, 8
movsd xmm4, qword [0x103bfc38]
movaps xmm2, xmm0
shl eax, cl
xor edx, edx
movsd qword [esp + 0x30], xmm0
movd xmm3, eax
cvtdq2pd xmm3, xmm3
mov ecx, dword [esp + edx*8 + 0x80]
test ecx, ecx
jle 0x1008632d
mov eax, dword [esp + edx*8 + 0x7c]
movsd xmm1, qword [eax]
movaps xmm0, xmm4
divsd xmm1, xmm3
minsd xmm0, xmm1
movaps xmm1, xmm4
movsd qword [eax], xmm0
movsd xmm0, qword [eax + 8]
divsd xmm0, xmm3
minsd xmm1, xmm0
comisd xmm1, xmm2
movsd qword [eax + 8], xmm1
jbe 0x10086325
movaps xmm2, xmm1
add eax, 0x10
sub ecx, 1
jne 0x100862f4
inc edx
cmp edx, 3
jl 0x100862e5
sub esp, 8
movsd qword [esp], xmm2
call fcn.103a4235
fadd qword [0x103bfbf0]
fstp qword [esp]
call fcn.103a5af0
fstp qword [esp + 0x60]
cvttsd2si edx, qword [esp + 0x60]
add esp, 8
cmp edx, 2
jge 0x10086367
mov edx, 2
jmp 0x10086371
mov eax, 5
cmp edx, eax
cmovg edx, eax
movsd xmm1, qword [0x103bfbe0]
mov eax, 0xd
sub eax, edx
mov dword [esp + 0x14], 0xff
mov dword [esi + 0x124], eax
mov ecx, 8
sub ecx, edx
mov eax, 1
shl eax, cl
xor edi, edi
movd xmm2, eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0x78], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0xcc], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x120], eax
lea eax, [esi + 8]
mov dword [esp + 0x58], eax
lea eax, [esi + 0x7c]
mov dword [esp + 0x5c], eax
lea eax, [esi + 0xd0]
cvtdq2pd xmm2, xmm2
mov dword [esp + 0x60], eax
xor ecx, ecx
cmp dword [esp + edi*8 + 0x80], ecx
jle 0x10086442
mov edx, dword [esp + edi*8 + 0x7c]
mov esi, dword [esp + edi*4 + 0x58]
nop word [eax + eax]
movsd xmm0, qword [edx]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movaps xmm0, xmm2
mov dword [esi + ecx*8], eax
mulsd xmm0, qword [edx + 8]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
test eax, eax
jns 0x10086427
xor eax, eax
jmp 0x10086431
cmp eax, 0xff
cmovg eax, dword [esp + 0x14]
mov dword [esi + ecx*8 + 4], eax
add edx, 0x10
inc ecx
cmp ecx, dword [esp + edi*8 + 0x80]
jl 0x10086400
inc edi
cmp edi, 3
jl 0x100863e2
push dword [esp + 0x7c]
call sym.aom.dll_aom_free
push dword [esp + 0x88]
xorps xmm0, xmm0
movq qword [esp + 0x84], xmm0
call sym.aom.dll_aom_free
push dword [esp + 0x94]
xorps xmm0, xmm0
movq qword [esp + 0x90], xmm0
call sym.aom.dll_aom_free
mov ecx, dword [esp + 0x24]
add esp, 0xc
movsd xmm4, qword [0x103bfc60]
xorps xmm0, xmm0
xorps xmm6, xmm6
movsd qword [esp + 0x20], xmm4
xor edx, edx
movsd qword [esp + 0x58], xmm6
mov edi, dword [ecx + 0x1c]
mov dword [esp + 0x1c], edi
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x14], edx
lea esi, [edx + edx*4]
xor eax, eax
shl esi, 4
mov dword [esp + 0xc], esi
cmp edi, 4
jl 0x10086522
mov esi, dword [esi + ecx + 0x18]
lea edx, [edi - 4]
movsd xmm5, qword [esp + 0x30]
shr edx, 2
inc edx
lea ecx, [esi + 0x10]
lea eax, [edx*4]
lea ecx, [ecx + 0x20]
maxsd xmm5, qword [ecx - 0x30]
minsd xmm4, qword [ecx - 0x30]
maxsd xmm5, qword [ecx - 0x28]
minsd xmm4, qword [ecx - 0x28]
maxsd xmm5, qword [ecx - 0x20]
minsd xmm4, qword [ecx - 0x20]
maxsd xmm5, qword [ecx - 0x18]
minsd xmm4, qword [ecx - 0x18]
sub edx, 1
jne 0x100864e0
movsd qword [esp + 0x30], xmm5
movsd qword [esp + 0x20], xmm4
cmp eax, edi
jl 0x10086530
jmp 0x1008654b
test edi, edi
jle 0x1008654f
mov esi, dword [esi + ecx + 0x18]
movsd xmm5, qword [esp + 0x30]
maxsd xmm5, qword [esi + eax*8]
minsd xmm4, qword [esi + eax*8]
inc eax
cmp eax, edi
jl 0x10086530
movsd qword [esp + 0x30], xmm5
movsd qword [esp + 0x20], xmm4
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
movsd qword [esp + 0x40], xmm6
movsd qword [esp + 0x68], xmm6
mov edi, dword [esi + eax + 0x2c]
test edi, edi
jle 0x10086668
mov edx, dword [esi + eax + 0x28]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x3c], edi
mov esi, dword [esi + eax + 0x20]
xor edx, edx
movaps xmm0, xmm6
cmp edi, 4
jl 0x100865d3
mov eax, dword [esp + 0x10]
lea ecx, [edi - 4]
shr ecx, 2
add eax, esi
inc ecx
lea edx, [ecx*4]
nop word [eax + eax]
addsd xmm0, qword [eax - 0x10]
addsd xmm0, qword [eax - 8]
addsd xmm0, qword [eax]
addsd xmm0, qword [eax + 8]
add eax, 0x20
sub ecx, 1
jne 0x100865b0
cmp edx, edi
jge 0x100865ec
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + edx]
mov ecx, edi
lea eax, [esi + eax*8]
sub ecx, edx
nop dword [eax]
addsd xmm0, qword [eax]
add eax, 8
sub ecx, 1
jne 0x100865e0
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100865fb
sqrtsd xmm0, xmm0
jmp 0x10086600
call fcn.103a58d0
mov eax, dword [esp + 0x38]
lea edx, [edi*8]
mov ecx, dword [esp + 0x2c]
movaps xmm1, xmm0
addsd xmm0, qword [esp + 0x68]
add dword [esp + 0x10], edx
add ecx, edi
mulsd xmm1, qword [eax]
xorps xmm6, xmm6
mov esi, dword [esp + 0xc]
add eax, 8
sub dword [esp + 0x3c], 1
movaps xmm2, xmm0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
addsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x68], xmm2
mov dword [esp + 0x2c], ecx
movsd qword [esp + 0x40], xmm1
jne 0x10086585
ucomisd xmm2, xmm6
lahf
test ah, 0x44
jnp 0x10086668
divsd xmm1, xmm2
jmp 0x10086670
movsd xmm1, qword [0x103bfbf0]
mov edx, dword [esp + 0x14]
movsd xmm4, qword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test edx, edx
jne 0x10086694
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esp + 0x30]
jmp 0x100866cb
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x58]
mov eax, dword [eax + ecx + 0x18]
mulsd xmm0, qword [eax + edi*8]
divsd xmm0, xmm1
movsd xmm1, qword [esp + 0x30]
maxsd xmm1, xmm0
movsd qword [esp + edx*8 + 0x40], xmm0
minsd xmm4, xmm0
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x20], xmm4
inc edx
mov dword [esp + 0x14], edx
cmp edx, 3
jl 0x100864b4
sub esp, 8
movsd qword [esp], xmm1
call fcn.103a4235
fstp qword [esp]
call fcn.103a5af0
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
addsd xmm0, qword [0x103bfbf0]
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [esp + 0x28]
xorps xmm0, xmmword [0x103bfc90]
movsd qword [esp], xmm0
call fcn.103a4235
fstp qword [esp]
call fcn.103a59d0
movsd xmm0, qword [esp + 0x60]
mov ecx, 7
fstp qword [esp + 0x70]
maxsd xmm0, qword [esp + 0x70]
add esp, 8
cvttsd2si eax, xmm0
sub ecx, eax
cmp ecx, 6
jge 0x1008674f
mov ecx, 6
jmp 0x10086759
mov eax, 9
cmp ecx, eax
cmovg ecx, eax
mov edx, dword [esp + 0x28]
mov eax, 1
shl eax, cl
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [edx + 0x254], ecx
lea ecx, [esp + 0x48]
movd xmm0, eax
sub ecx, 8
lea eax, [edx + 0x12c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x68], eax
lea eax, [edx + 0x18c]
mov dword [esp + 0x6c], eax
lea eax, [edx + 0x1f0]
mov edx, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
add eax, 0x18
mov dword [esp + 0xc], eax
movsd qword [esp + 0x20], xmm0
xor esi, esi
test edx, edx
jle 0x1008681a
mov edi, dword [esp + edi*4 + 0x68]
mov eax, dword [eax]
sub esp, 8
mulsd xmm0, qword [eax + esi*8]
movsd qword [esp], xmm0
call fcn.103a424e
fstp qword [esp + 0x60]
cvttsd2si eax, qword [esp + 0x60]
add esp, 8
cmp eax, 0xffffff80
jge 0x100867ed
mov eax, 0xffffff80
jmp 0x100867f8
cmp eax, 0x7f
mov ecx, 0x7f
cmovg eax, ecx
movsd xmm0, qword [esp + 0x20]
inc esi
mov dword [edi], eax
add edi, 4
mov eax, dword [esp + 0xc]
cmp esi, dword [esp + 0x1c]
jl 0x100867c0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x10086866
mulsd xmm0, qword [ecx]
sub esp, 8
movsd qword [esp], xmm0
call fcn.103a424e
fstp qword [esp + 0x60]
cvttsd2si ecx, qword [esp + 0x60]
add esp, 8
cmp ecx, 0xffffff80
jge 0x10086848
mov ecx, 0xffffff80
jmp 0x10086853
cmp ecx, 0x7f
mov eax, 0x7f
cmovg ecx, eax
mov eax, dword [esp + edi*4 + 0x68]
mov edx, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x20]
inc edi
add eax, 0x50
mov dword [esp + 0x14], edi
add ecx, 8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
cmp edi, 3
jl 0x100867b6
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x94]
pop edi
pop esi
mov dword [eax + 0x258], 0x80
xor ecx, esp
mov dword [eax + 0x25c], 0xc0
mov dword [eax + 0x260], 0x100
mov dword [eax + 0x264], 0x80
mov dword [eax + 0x268], 0xc0
mov dword [eax + 0x26c], 0x100
mov dword [eax + 0x27c], 0
mov dword [eax + 0x280], 0
mov dword [eax + 0x270], 1
mov eax, 1
call fcn.10398bef
mov esp, ebp
pop ebp
ret