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

Disassembly:
sub esp, 0xd0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xe4]
mov eax, dword [edi + 0x4c8]
mov ebx, dword [eax]
lea ecx, [edi + 0x148]
mov edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea eax, [edi + 0x3e8]
mov edx, dword [eax]
mov dword [esp + 0x40], edx
fld dword [esp + 0x40]
fsub dword [esp + 0x34]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], edx
fld dword [esp + 0x44]
fsub dword [esp + 0x38]
mov dword [esp + 0x48], eax
fld dword [esp + 0x48]
fsub dword [esp + 0x3c]
fst dword [esp + 0x30]
fmul dword [esp + 0x30]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x4c]
fld dword [0x10e45008]
fdiv dword [esp + 0x4c]
fstp dword [esp + 0x10]
fxch st(1)
fmul dword [esp + 0x10]
fstp dword [esp + 0x28]
fmul dword [esp + 0x10]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [esp + 0x10]
fst dword [esp + 0x30]
fmul dword [esp + 0x30]
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
faddp st(1)
fsqrt
fld dword [0x10e4500c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10aad9e0
mov eax, dword [edi + 0x3a8]
mov edx, dword [edi + 0x3f4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
cmp eax, 2
mov dword [esp + 0x60], edx
mov edx, dword [edi + 0x42c]
mov dword [esp + 0x24], edx
jl 0x10aad9e0
mov esi, dword [edi + 0x4cc]
mov ebp, dword [esp + 0xe8]
push edx
mov edx, dword [esp + 0x24]
push edx
add esi, eax
xor edx, edx
mov dword [edi + 0x4cc], esi
mov dx, word [ebp + 4]
mov esi, dword [ecx]
mov eax, dword [ebp]
mov dword [esp + 0x74], eax
lea eax, [eax + eax*8]
shl eax, 3
mov dword [esp + 0x78], eax
push edx
sub esp, 0xc
mov edx, esp
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], esi
mov dword [edx + 8], ecx
add eax, ebx
mov dl, 1
call fcn.10aacaf0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
add esp, 0x18
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x4c]
push 0xffffffffffffffff
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 4]
mov dword [ecx + 8], edx
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
xor dl, dl
call fcn.10aacaf0
mov eax, dword [esp + 0x104]
mov esi, 2
add esp, 0x18
cmp eax, esi
jle 0x10aad9e0
mov ecx, dword [0x10f46d80]
mov edi, edi
mov edx, dword [esp + 0x70]
movsx edx, word [edx + ebx + 0x44]
cmp edx, 0xffffffff
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], edx
jle 0x10aad9d3
lea ebx, [ebx]
lea eax, [eax + eax*8]
imul ecx, ecx, 0xbb38435
lea eax, [ebx + eax*8]
mov dword [esp + 0x50], eax
add eax, 0x10
mov edx, dword [eax]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edx
lea edx, [eax + eax*8]
lea eax, [ebx + edx*8]
mov dword [esp + 0x68], eax
add eax, 0x10
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
add ecx, 0x3619636b
mov dword [0x10f46d80], ecx
shr ecx, 0x10
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
fild dword [esp + 0x64]
fmul dword [0x10e93d90]
fadd dword [0x10e90608]
fld dword [esp + 0x40]
fsub dword [esp + 0x34]
fld dword [esp + 0x44]
fsub dword [esp + 0x38]
fld dword [esp + 0x48]
fsub dword [esp + 0x3c]
fstp dword [esp + 0xb8]
fxch st(1)
fmul st(2)
fstp dword [esp + 0x80]
fmul st(1)
fld dword [esp + 0xb8]
fmul st(2)
fstp dword [esp + 0x88]
fld dword [esp + 0x80]
fadd dword [esp + 0x34]
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], edx
fadd dword [esp + 0x38]
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
fstp st(0)
lea eax, [esp + 0xc8]
fld dword [esp + 0x88]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
call fcn.10aac900
fld dword [edi + 0x3dc]
fmul dword [eax]
mov edx, dword [esp + 0x24]
fld dword [eax + 4]
push edx
fmul dword [edi + 0x3e0]
fld dword [eax + 8]
mov eax, dword [esp + 0x24]
fmul dword [edi + 0x3e4]
fstp dword [esp + 0xa4]
fld dword [esp + 0x18]
fadd st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0xa4]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp + esi*4]
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
xor dl, dl
call fcn.10aacaf0
mov dx, word [ebp + esi*4]
mov eax, dword [esp + 0x68]
add esp, 0x18
mov word [eax + 0x44], dx
mov edx, dword [esp + 0xec]
inc esi
cmp esi, edx
jge 0x10aad9e0
mov ecx, dword [0x10f46d80]
imul ecx, ecx, 0xbb38435
add ecx, 0x3619636b
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x50], eax
mov dword [0x10f46d80], ecx
fild dword [esp + 0x50]
fmul dword [0x10e93d00]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x10aad9b6
lea eax, [edx - 2]
cmp esi, eax
jge 0x10aad9b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
xor eax, eax
mov ax, word [ebp + esi*4 + 4]
push ecx
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov eax, dword [ebp + esi*4]
mov dword [ecx + 8], edx
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
mov dl, 1
call fcn.10aacaf0
add esp, 0x18
lea eax, [esp + 0xd4]
inc esi
call fcn.10aac900
fld dword [edi + 0x3d0]
fmul dword [eax]
mov ecx, dword [esp + 0x24]
fld dword [edi + 0x3d4]
mov edx, dword [esp + 0x20]
fmul dword [eax + 4]
push ecx
fld dword [edi + 0x3d8]
push edx
fmul dword [eax + 8]
push 0xffffffffffffffff
sub esp, 0xc
mov eax, esp
fstp dword [esp + 0xdc]
fxch st(1)
fmul dword [esp + 0x64]
fstp dword [esp + 0xbc]
fmul dword [esp + 0x64]
fld dword [esp + 0xdc]
fmul dword [esp + 0x64]
fld dword [esp + 0xbc]
fmul dword [0x10e60a34]
fstp dword [esp + 0x8c]
fxch st(1)
fmul dword [0x10e60a34]
fstp dword [esp + 0x90]
fmul dword [0x10e60a34]
fld dword [esp + 0x8c]
fadd dword [esp + 0x40]
fld dword [esp + 0x90]
fadd dword [esp + 0x44]
fstp dword [esp + 0xa8]
fxch st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0xac]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fld dword [esp + 0xa8]
mov dword [eax], ecx
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fld dword [esp + 0xac]
mov dword [eax + 4], edx
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov eax, dword [ebp + esi*4]
lea edx, [eax + eax*8]
lea eax, [ebx + edx*8]
xor dl, dl
call fcn.10aacaf0
mov ecx, dword [0x10f46d80]
add esp, 0x18
inc esi
mov edx, dword [esp + 0xec]
cmp esi, edx
jge 0x10aad9e0
mov edx, dword [esp + 0x68]
movsx edx, word [edx + 0x44]
cmp edx, 0xffffffff
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], edx
jg 0x10aad690
cmp esi, dword [esp + 0xec]
jl 0x10aad670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret