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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff38
mov byte [esp], dl
mov esi, eax
mov eax, dword [esi + 0x8a0]
mov dword [esp + 0x2c], eax
fld dword [esi + 0x8a4]
fchs
fstp dword [esp + 0x30]
wait
cmp byte [esp], 0
jne 0x517607
fld dword [esi + 0x8a8]
fsub dword [esp + 0x2c]
fstp dword [esp + 4]
wait
fld dword [esi + 0x8a8]
fadd dword [esp + 0x2c]
fstp dword [esp + 8]
wait
fld dword [esi + 0x8ac]
fsub dword [esp + 0x30]
fstp dword [esp + 0xc]
wait
fld dword [esi + 0x8ac]
fadd dword [esp + 0x30]
fstp dword [esp + 0x10]
wait
xor ebx, ebx
mov eax, dword [esi + 0x8a8]
mov dword [esi + ebx*8 + 0x8b0], eax
mov eax, dword [esi + 0x8ac]
mov dword [esi + ebx*8 + 0x8b4], eax
cmp ebx, 4
jge 0x517355
mov eax, dword [esp + 0xc]
mov dword [esi + ebx*8 + 0x934], eax
mov eax, dword [esp + 0xc]
mov dword [esi + ebx*8 + 0x9b4], eax
mov eax, 4
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 4]
mov dword [esp + 0x74], ebx
fild dword [esp + 0x74]
fmul dword [esp + 8]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x930]
wait
mov eax, 3
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 4]
lea eax, [ebx + 1]
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 8]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x9b0]
wait
jmp 0x5174e8
cmp ebx, 8
jge 0x5173e1
mov eax, dword [esp + 8]
mov dword [esi + ebx*8 + 0x930], eax
mov eax, dword [esp + 8]
mov dword [esi + ebx*8 + 0x9b0], eax
mov eax, 8
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 0xc]
mov eax, ebx
sub eax, 4
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 0x10]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x934]
wait
mov eax, 7
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 0xc]
mov eax, ebx
sub eax, 3
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 0x10]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x9b4]
wait
jmp 0x5174e8
cmp ebx, 0xc
jge 0x51746a
mov eax, dword [esp + 0x10]
mov dword [esi + ebx*8 + 0x934], eax
mov eax, dword [esp + 0x10]
mov dword [esi + ebx*8 + 0x9b4], eax
mov eax, 0xc
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 8]
mov eax, ebx
sub eax, 8
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 4]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x930]
wait
mov eax, 0xb
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 8]
mov eax, ebx
sub eax, 7
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 4]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x9b0]
wait
jmp 0x5174e8
mov eax, dword [esp + 4]
mov dword [esi + ebx*8 + 0x930], eax
mov eax, dword [esp + 4]
mov dword [esi + ebx*8 + 0x9b0], eax
mov eax, 0x10
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 0x10]
mov eax, ebx
sub eax, 0xc
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 0xc]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x934]
wait
mov eax, 0xf
sub eax, ebx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esp + 0x10]
mov eax, ebx
sub eax, 0xb
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
fmul dword [esp + 0xc]
faddp st(1)
fdiv dword [0x51781c]
fstp dword [esi + ebx*8 + 0x9b4]
wait
fld dword [esi + ebx*8 + 0x8b0]
fadd dword [esi + ebx*8 + 0x930]
fadd dword [esi + ebx*8 + 0x9b0]
fdiv dword [0x517820]
fstp dword [esi + ebx*8 + 0xa30]
wait
fld dword [esi + ebx*8 + 0x8b4]
fadd dword [esi + ebx*8 + 0x934]
fadd dword [esi + ebx*8 + 0x9b4]
fdiv dword [0x517820]
fstp dword [esi + ebx*8 + 0xa34]
wait
inc ebx
cmp ebx, 0x10
jne 0x5172ba
mov eax, dword [esi + 0x8a8]
mov dword [esp + 0x14], eax
fld dword [esp + 0x2c]
fadd dword [esp + 0x30]
fmul dword [0x51781c]
fdiv dword [0x517824]
fadd dword [esi + 0x8ac]
fstp dword [esp + 0x18]
wait
xor ebx, ebx
mov dword [esp + 0x70], ebx
fild dword [esp + 0x70]
fld xword [0x517828]
fmulp st(1)
fld xword [0x517834]
fsubrp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [esp + 0x38]
lea eax, [esi + 0x8a8]
call fcn.00516750
lea ecx, [esp + 0x78]
lea edx, [esp + 0x34]
lea eax, [esp + 0x14]
call fcn.00516510
mov eax, dword [esp + 0x78]
mov dword [esi + ebx*8 + 0xab0], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + ebx*8 + 0xab4], eax
lea ecx, [esp + 0x1c]
lea edx, [esi + ebx*8 + 0xa30]
lea eax, [esi + ebx*8 + 0xab0]
call fcn.005164c4
push dword [esp + 0x1c]
push dword [esp + 0x24]
lea eax, [esp + 0x88]
call fcn.00516698
lea eax, [ebx + ebx*8]
push esi
lea edi, [esi + eax*4 + 0xb30]
lea esi, [esp + 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
inc ebx
cmp ebx, 0x10
jne 0x517563
cmp byte [esp], 1
je 0x517617
cmp byte [esp], 2
jne 0x51780f
mov eax, dword [esi + 0x89c]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
mov edx, dword [esi + 0x898]
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
fdivp st(1)
fstp dword [esp + 0x24]
wait
mov ecx, edx
shr ecx, 1
cmp eax, ecx
jge 0x51773c
add eax, eax
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fild dword [esi + 0x898]
fdivp st(1)
fsubr dword [0x517840]
fmul dword [esi + 0x6c]
fstp dword [esp + 0x28]
wait
xor ebx, ebx
push dword [esp + 0x28]
lea edx, [esp + 0x84]
lea eax, [esi + ebx*8 + 0xa30]
call fcn.00516750
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
push dword [esp + 0x2c]
lea edx, [esp + 0xb0]
lea eax, [esi + ebx*8 + 0xa30]
call fcn.005166c0
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x38]
pop edx
call fcn.00516538
lea ecx, [esp + 0x80]
lea eax, [ebx + ebx*8]
lea edx, [esi + eax*4 + 0xb30]
lea eax, [esp + 0x34]
call fcn.00516538
push esi
lea esi, [esp + 0x84]
lea edi, [esp + 0x38]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
xor edi, edi
lea ebp, [esp + 0x58]
lea ecx, [esp + 0x78]
lea edx, [esp + 0x34]
mov eax, edi
shl eax, 4
lea eax, [esi + eax*8]
lea eax, [eax + ebx*8 + 0x8b0]
call fcn.00516510
mov eax, dword [esp + 0x78]
mov dword [ebp], eax
mov eax, dword [esp + 0x7c]
mov dword [ebp + 4], eax
inc edi
add ebp, 8
cmp edi, 3
jne 0x5176e7
push 3
lea edx, [esp + 0x5c]
mov ecx, 2
mov eax, dword [esi + 0x68]
call fcn.00516828
inc ebx
cmp ebx, 0x10
jne 0x517668
jmp 0x51780f
add eax, eax
sub eax, edx
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fild dword [esi + 0x898]
fdivp st(1)
fstp dword [esp + 0x28]
wait
xor ebx, ebx
push dword [esp + 0x24]
push dword [esp + 0x28]
lea edx, [esp + 0x3c]
lea eax, [esi + ebx*8 + 0xa30]
call fcn.005166c0
push dword [esp + 0x28]
lea ecx, [esp + 0xa8]
lea eax, [ebx + ebx*8]
lea edx, [esi + eax*4 + 0xb30]
mov eax, 0x527c7c
call fcn.005165b8
lea edx, [esp + 0xa4]
lea ecx, [esp + 0x80]
lea eax, [esp + 0x34]
call fcn.00516538
push esi
lea esi, [esp + 0x84]
lea edi, [esp + 0x38]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
xor edi, edi
lea ebp, [esp + 0x58]
lea ecx, [esp + 0x78]
lea edx, [esp + 0x34]
mov eax, edi
shl eax, 4
lea eax, [esi + eax*8]
lea eax, [eax + ebx*8 + 0x8b0]
call fcn.00516510
mov eax, dword [esp + 0x78]
mov dword [ebp], eax
mov eax, dword [esp + 0x7c]
mov dword [ebp + 4], eax
inc edi
add ebp, 8
cmp edi, 3
jne 0x5177bf
push 3
lea edx, [esp + 0x5c]
mov ecx, 2
mov eax, dword [esi + 0x68]
call fcn.00516828
inc ebx
cmp ebx, 0x10
jne 0x517757
add esp, 0xc8
pop ebp
pop edi
pop esi
pop ebx
ret