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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
dec eax
movsd xmm1, qword [0x103bfbc0]
push esi
mov ecx, dword [ecx + 0xc]
add eax, ecx
cdq
idiv ecx
push edi
mov edi, ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
imul edi, ecx
dec eax
add eax, ecx
mov dword [esp + 0x28], ecx
cdq
idiv ecx
movd xmm0, edi
lea esi, [edi*8]
cvtdq2pd xmm0, xmm0
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0
divsd xmm1, xmm0
movsd qword [esp + 0x74], xmm1
call sym.aom.dll_aom_malloc
push esi
mov dword [esp + 0x24], eax
call sym.aom.dll_aom_malloc
mov esi, eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x44], eax
lea ecx, [eax*8]
push ecx
call sym.aom.dll_aom_malloc
add esp, 0xc
mov ecx, eax
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x40], ecx
je 0x1008600b
test esi, esi
je 0x1008600b
test ecx, ecx
je 0x1008600b
cmp dword [esp + 0x18], 0
jle 0x10085f76
mov esi, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x28]
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edx
nop dword [eax + eax]
test esi, esi
jle 0x10085f54
mov eax, dword [esp + 0x34]
lea esi, [edi - 2]
imul esi, esi
lea ecx, [edi - 1]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], esi
mov dword [esp + 0x68], ecx
nop
push eax
push dword [esp + 0x20]
xorps xmm0, xmm0
push edx
push ecx
push dword [ebp + 0x18]
movsd qword [esp + 0x8c], xmm0
push dword [ebp + 0x14]
movsd qword [esp + 0xa8], xmm0
push dword [ebp + 0x10]
movsd qword [esp + 0x64], xmm0
push dword [ebp + 0xc]
movsd qword [esp + 0x40], xmm0
push dword [ebp + 8]
movsd qword [esp + 0xac], xmm0
call fcn.10085560
movsd xmm3, qword [esp + 0x6c]
lea eax, [edi - 1]
movsd xmm4, qword [esp + 0xb4]
add esp, 0x24
movsd xmm5, qword [esp + 0x78]
cmp eax, 1
jle 0x10085d89
mov edx, dword [esp + 0xc]
lea esi, [edi*8]
mov eax, dword [esp + 0x28]
shl eax, 4
add eax, 8
mov dword [esp + 0x80], esi
lea edi, [esi + edx]
add eax, edx
lea ecx, [edx + 8]
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x44]
dec edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edx
mov esi, dword [esp + 0x44]
mov edx, eax
mov eax, edi
dec esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x80]
movsd xmm2, qword [edi]
nop
movsd xmm1, qword [eax + 0x10]
add eax, 8
subsd xmm1, xmm2
movsd xmm2, qword [edx]
subsd xmm2, qword [ecx]
add ecx, 8
add edx, 8
sub dword [esp + 0x48], 1
mulsd xmm1, qword [0x103bfbe0]
mulsd xmm2, qword [0x103bfbe0]
movaps xmm0, xmm1
mulsd xmm0, xmm1
addsd xmm5, xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm1
mulsd xmm2, xmm2
addsd xmm4, xmm0
addsd xmm3, xmm2
movsd xmm2, qword [eax]
movaps xmm0, xmm2
movaps xmm1, xmm2
addsd xmm1, qword [esp + 0x88]
mulsd xmm0, xmm2
movsd qword [esp + 0x88], xmm1
addsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm0
jne 0x10085ce0
mov ecx, dword [esp + 0x54]
add edi, esi
mov eax, dword [esp + 0x58]
add ecx, esi
add eax, esi
mov dword [esp + 0x54], ecx
sub dword [esp + 0x60], 1
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
jne 0x10085cc2
mov esi, dword [esp + 0x84]
jmp 0x10085d98
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x88]
xorps xmm2, xmm2
cvtsi2sd xmm2, esi
divsd xmm1, xmm2
divsd xmm0, xmm2
divsd xmm3, xmm2
divsd xmm5, xmm2
divsd xmm4, xmm2
mulsd xmm1, xmm1
mulsd xmm4, xmm4
subsd xmm0, xmm1
movaps xmm1, xmm3
mulsd xmm3, xmm5
addsd xmm1, xmm5
movsd qword [esp + 0x20], xmm0
subsd xmm3, xmm4
movsd qword [esp + 0x78], xmm1
movaps xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmm1
mulsd xmm3, qword [0x103bfc20]
subsd xmm0, xmm3
ucomisd xmm1, xmm0
ja 0x10085dfc
sqrtsd xmm0, xmm0
jmp 0x10085e01
call fcn.103a58d0
movsd xmm3, qword [esp + 0x78]
movaps xmm2, xmm0
movsd xmm5, qword [esp + 0x20]
addsd xmm2, xmm3
movsd xmm6, qword [esp + 0x70]
movaps xmm1, xmm3
subsd xmm1, xmm0
movsd xmm0, qword [0x103bfbb8]
comisd xmm0, xmm3
mulsd xmm1, qword [0x103bfbe0]
mulsd xmm2, qword [0x103bfbe0]
maxsd xmm1, qword [0x103bfb90]
movaps xmm4, xmm2
divsd xmm4, xmm1
jbe 0x10085e77
movsd xmm0, qword [0x103bfbf8]
comisd xmm0, xmm4
jbe 0x10085e77
movsd xmm0, qword [0x103bfba0]
comisd xmm0, xmm2
jbe 0x10085e77
comisd xmm5, xmm6
jbe 0x10085e77
mov edi, 1
jmp 0x10085e79
xor edi, edi
mulsd xmm4, qword [0x103bfbd8]
movaps xmm0, xmm5
mulsd xmm0, qword [0x103bfc70]
mulsd xmm3, qword [0x103bfc50]
mulsd xmm2, qword [0x103bfc48]
movsd xmm1, qword [0x103bfc68]
subsd xmm0, xmm4
addsd xmm0, xmm3
subsd xmm0, xmm2
addsd xmm0, qword [0x103bfc10]
comisd xmm1, xmm0
ja 0x10085eca
movsd xmm1, qword [0x103bfc30]
minsd xmm1, xmm0
mov ecx, dword [esp + 0x2c]
mov eax, edi
mov edx, dword [ebp + 0x1c]
neg eax
sbb al, al
comisd xmm5, xmm6
mov byte [ecx + edx], al
jbe 0x10085f09
xorps xmm1, xmmword [0x103bfc90]
movaps xmm0, xmm1
call fcn.103a4aa0
addsd xmm0, qword [0x103bfbf0]
movsd xmm1, qword [0x103bfbf0]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
jmp 0x10085f0c
xorps xmm0, xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x10], edi
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [ecx], eax
inc eax
movss dword [ecx + 4], xmm0
add ecx, 8
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x68]
add ecx, edi
mov dword [esp + 0x2c], eax
sub dword [esp + 0x6c], 1
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
jne 0x10085c20
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
lea eax, [esi*8]
add edx, edi
add dword [esp + 0x38], eax
add ecx, esi
sub dword [esp + 0x18], 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
jne 0x10085be0
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
push 0x10087fd0
push 8
push esi
push edi
call fcn.103a43f0
imul ecx, esi, 0x5a
mov eax, 0x51eb851f
add esp, 0x10
xor esi, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movss xmm1, dword [edi + eax*8 + 4]
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x10085fe5
movss xmm0, dword [edi + esi*8 + 4]
comiss xmm0, xmm1
jb 0x10085fe0
mov edx, dword [edi + esi*8]
xor eax, eax
mov edi, dword [ebp + 0x1c]
mov cl, byte [edx + edi]
test cl, cl
sete al
add dword [esp + 0x10], eax
or cl, 1
mov eax, dword [esp + 0x3c]
mov byte [edx + edi], cl
mov edi, dword [esp + 0x40]
inc esi
cmp esi, eax
jl 0x10085fb3
mov esi, dword [esp + 0xc]
push esi
call sym.aom.dll_aom_free
push dword [esp + 0x20]
call sym.aom.dll_aom_free
push edi
call sym.aom.dll_aom_free
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
push str.Failed_to_allocate_memory_for_block_of_size__d_n
push 2
call fcn.103a4368
add esp, 4
push eax
call fcn.10083f40
push dword [esp + 0x28]
call sym.aom.dll_aom_free
push esi
call sym.aom.dll_aom_free
push dword [esp + 0x54]
call sym.aom.dll_aom_free
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret