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

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x527d60
test dword [0x87ed4c], 0xffffffff
jne 0x528130
call fcn.007663a0
jmp fcn.00527d30
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x84
mov edx, dword [eax + 0x14]
test edx, edx
jle 0x528110
mov ecx, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
movsd xmm3, qword [ecx]
mov dword [esp + 0x14], ecx
movsd qword [esp + 0x18], xmm3
movsd qword [eax + 0x48], xmm3
movsd qword [eax + 0x28], xmm3
movsd xmm5, qword [ebx]
movaps xmm1, xmm5
mov dword [esp + 0x10], ebx
movsd qword [eax + 0x50], xmm5
movsd qword [eax + 0x30], xmm5
movsd xmm6, qword [esi]
movaps xmm2, xmm6
mov dword [esp + 0xc], esi
mov esi, dword [eax + 0x24]
mov edi, esi
and edi, 0xf
movsd qword [eax + 0x58], xmm6
movsd qword [eax + 0x38], xmm6
movsd xmm0, qword [esi]
movaps xmm4, xmm0
movsd qword [eax + 0x60], xmm0
movsd qword [eax + 0x40], xmm0
je 0x527df1
test edi, 7
jne 0x52811d
mov edi, 1
lea ecx, [edi + 2]
cmp edx, ecx
jl 0x52811d
mov ecx, edx
sub ecx, edi
and ecx, 1
neg ecx
add ecx, edx
test edi, edi
jbe 0x527ea8
xor ebx, ebx
mov dword [esp], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
movsd xmm7, qword [ecx + ebx*8]
minsd xmm3, xmm7
movsd qword [esp + 0x60], xmm3
movsd xmm3, qword [edx + ebx*8]
minsd xmm5, xmm3
movsd qword [esp + 0x68], xmm5
movsd xmm5, qword [eax + ebx*8]
minsd xmm6, xmm5
movsd qword [esp + 0x70], xmm6
movsd xmm6, qword [esi + ebx*8]
minsd xmm0, xmm6
movsd qword [esp + 0x78], xmm0
inc ebx
movsd xmm0, qword [esp + 0x18]
maxsd xmm0, xmm7
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0x78]
maxsd xmm1, xmm3
movsd xmm3, qword [esp + 0x60]
maxsd xmm2, xmm5
movsd xmm5, qword [esp + 0x68]
maxsd xmm4, xmm6
movsd xmm6, qword [esp + 0x70]
cmp ebx, edi
jb 0x527e28
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
movddup xmm7, xmm3
movddup xmm3, qword [esp + 0x18]
movaps xmmword [esp + 0x20], xmm7
lea ebx, [ebx + edi*8]
movddup xmm5, xmm5
movddup xmm6, xmm6
movddup xmm0, xmm0
movddup xmm1, xmm1
movddup xmm2, xmm2
movddup xmm4, xmm4
test bl, 0xf
je 0x527f65
mov ebx, dword [esp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
movsd xmm7, qword [ebx + edi*8]
movhpd xmm7, qword [ebx + edi*8 + 8]
movaps xmmword [esp + 0x30], xmm4
maxpd xmm3, xmm7
movaps xmm4, xmmword [esp + 0x20]
minpd xmm4, xmm7
movaps xmmword [esp + 0x20], xmm4
movsd xmm4, qword [edx + edi*8]
movhpd xmm4, qword [edx + edi*8 + 8]
minpd xmm5, xmm4
movaps xmmword [esp + 0x40], xmm5
movups xmm5, xmmword [eax + edi*8]
maxpd xmm1, xmm4
movaps xmm4, xmmword [esp + 0x30]
minpd xmm6, xmm5
movaps xmmword [esp + 0x50], xmm6
movaps xmm6, xmmword [esi + edi*8]
add edi, 2
minpd xmm0, xmm6
maxpd xmm2, xmm5
movaps xmm5, xmmword [esp + 0x40]
maxpd xmm4, xmm6
movaps xmm6, xmmword [esp + 0x50]
cmp edi, ecx
jb 0x527ef3
jmp 0x527fe6
mov ebx, dword [esp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
movsd xmm7, qword [ebx + edi*8]
movhpd xmm7, qword [ebx + edi*8 + 8]
movaps xmmword [esp + 0x30], xmm4
maxpd xmm3, xmm7
movaps xmm4, xmmword [esp + 0x20]
minpd xmm4, xmm7
movaps xmmword [esp + 0x20], xmm4
movsd xmm4, qword [edx + edi*8]
movhpd xmm4, qword [edx + edi*8 + 8]
minpd xmm5, xmm4
movaps xmmword [esp + 0x40], xmm5
movaps xmm5, xmmword [eax + edi*8]
minpd xmm6, xmm5
movaps xmmword [esp + 0x50], xmm6
movaps xmm6, xmmword [esi + edi*8]
minpd xmm0, xmm6
add edi, 2
maxpd xmm1, xmm4
movaps xmm4, xmmword [esp + 0x30]
maxpd xmm2, xmm5
movaps xmm5, xmmword [esp + 0x40]
maxpd xmm4, xmm6
movaps xmm6, xmmword [esp + 0x50]
cmp edi, ecx
jb 0x527f79
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
movaps xmm7, xmm4
unpckhpd xmm7, xmm4
maxsd xmm4, xmm7
movaps xmm7, xmm2
unpckhpd xmm7, xmm2
maxsd xmm2, xmm7
movaps xmm7, xmm1
unpckhpd xmm7, xmm1
maxsd xmm1, xmm7
movaps xmm7, xmm3
unpckhpd xmm7, xmm3
maxsd xmm3, xmm7
movsd qword [esp + 0x18], xmm3
movaps xmm7, xmm0
movaps xmm3, xmm6
unpckhpd xmm7, xmm0
minsd xmm0, xmm7
movaps xmm7, xmm5
unpckhpd xmm3, xmm6
minsd xmm6, xmm3
movaps xmm3, xmmword [esp + 0x20]
unpckhpd xmm7, xmm5
minsd xmm5, xmm7
movaps xmm7, xmm3
unpckhpd xmm7, xmm3
minsd xmm3, xmm7
cmp ecx, edx
jae 0x5280e2
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
movsd xmm7, qword [edi + ecx*8]
minsd xmm3, xmm7
movsd qword [esp + 0x60], xmm3
movsd xmm3, qword [ebx + ecx*8]
minsd xmm5, xmm3
movsd qword [esp + 0x68], xmm5
movsd xmm5, qword [eax + ecx*8]
minsd xmm6, xmm5
movsd qword [esp + 0x70], xmm6
movsd xmm6, qword [esi + ecx*8]
minsd xmm0, xmm6
movsd qword [esp + 0x78], xmm0
inc ecx
movsd xmm0, qword [esp + 0x18]
maxsd xmm0, xmm7
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0x78]
maxsd xmm1, xmm3
movsd xmm3, qword [esp + 0x60]
maxsd xmm2, xmm5
movsd xmm5, qword [esp + 0x68]
maxsd xmm4, xmm6
movsd xmm6, qword [esp + 0x70]
cmp ecx, edx
jb 0x528069
mov eax, dword [esp + 8]
movsd qword [eax + 0x28], xmm3
movsd qword [eax + 0x30], xmm5
movsd qword [eax + 0x38], xmm6
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [eax + 0x48], xmm0
movsd qword [eax + 0x50], xmm1
movsd qword [eax + 0x58], xmm2
movsd qword [eax + 0x60], xmm4
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
jmp 0x528051
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x44
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x5282d0
mov ecx, dword [eax + 0x18]
mov dword [esp + 4], ecx
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [eax + 0x48], edx
mov dword [eax + 0x4c], edi
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], edi
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [eax + 0x50], edx
mov dword [eax + 0x54], ebx
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ebx
mov edx, dword [eax + 0x20]
mov edi, dword [edx]
mov ebx, dword [edx + 4]
mov dword [eax + 0x58], edi
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x38], edi
mov dword [eax + 0x3c], ebx
mov edi, dword [eax + 0x24]
mov dword [esp + 8], edi
mov ebx, dword [edi]
mov edi, dword [edi + 4]
mov dword [eax + 0x60], ebx
mov dword [eax + 0x64], edi
mov dword [eax + 0x40], ebx
mov dword [eax + 0x44], edi
fld qword [eax + 0x28]
fld qword [eax + 0x30]
fld qword [eax + 0x38]
fld qword [eax + 0x40]
fld qword [eax + 0x48]
fld qword [eax + 0x50]
fld qword [eax + 0x58]
fld qword [eax + 0x60]
xor ebx, ebx
mov dword [esp + 0xc], esi
mov dword [esp], eax
fstp qword [esp + 0x30]
fstp qword [esp + 0x20]
fxch st(2)
fstp qword [esp + 0x28]
fxch st(2)
fstp qword [esp + 0x18]
fxch st(2)
fstp qword [esp + 0x10]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
fld qword [edi + ebx*8]
fcom st(3)
fnstsw ax
sahf
ja 0x5281ee
fst st(3)
fld qword [ecx + ebx*8]
fld qword [esp + 0x10]
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jp 0x528200
jb 0x528202
fst st(1)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [edx + ebx*8]
fld qword [esp + 0x18]
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jp 0x52821a
jb 0x52821c
fst st(1)
fxch st(1)
fstp qword [esp + 0x18]
fld qword [esi + ebx*8]
fld qword [esp + 0x28]
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jp 0x528234
jb 0x528236
fst st(1)
fxch st(1)
fstp qword [esp + 0x28]
fxch st(4)
fcom st(3)
fnstsw ax
sahf
fxch st(3)
ja 0x528249
fst st(3)
fstp st(0)
fxch st(4)
fcom st(1)
fnstsw ax
sahf
fxch st(1)
ja 0x528258
fst st(1)
fstp st(0)
fld qword [esp + 0x20]
fcom st(4)
fnstsw ax
sahf
fxch st(4)
ja 0x528269
fst st(4)
fstp st(0)
fxch st(3)
fstp qword [esp + 0x20]
fld qword [esp + 0x30]
fcom st(2)
fnstsw ax
sahf
fxch st(2)
ja 0x528280
fst st(2)
fstp st(0)
fxch st(1)
fstp qword [esp + 0x30]
inc ebx
cmp ebx, dword [esp + 0xc]
jb 0x5281e2
mov eax, dword [esp]
fld qword [esp + 0x30]
fld qword [esp + 0x20]
fld qword [esp + 0x28]
fld qword [esp + 0x18]
fld qword [esp + 0x10]
fxch st(7)
fstp qword [eax + 0x28]
fxch st(6)
fstp qword [eax + 0x30]
fxch st(5)
fstp qword [eax + 0x38]
fxch st(4)
fstp qword [eax + 0x40]
fxch st(1)
fstp qword [eax + 0x48]
fxch st(1)
fstp qword [eax + 0x50]
fxch st(1)
fstp qword [eax + 0x58]
fstp qword [eax + 0x60]
add esp, 0x44
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret