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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
mov bp, word [esp + 0xb8]
push esi
mov esi, dword [esp + 0xc8]
push edi
mov edi, dword [esp + 0xbc]
mov bl, dl
mov edx, dword [esp + 0xc8]
cmp di, 1
jne 0x552bb0
xor edx, edx
cmp bl, 1
jne 0x5529b1
cmp dx, bp
jae 0x553428
fld dword [0x5d20cc]
movzx edx, bp
fld dword [0x5d20d4]
lea esi, [edx + edx*2]
fld dword [0x5d20d8]
lea esi, [ecx + esi*8]
fld dword [0x5d20d0]
mov dword [esp + 0x48], esi
mov edi, edx
shl edi, 5
mov esi, edx
shl esi, 4
add edi, ecx
mov dword [esp + 0x1c], 1
add esi, ecx
lea ebp, [ecx + edx*8]
mov dword [esp + 0x54], edx
movzx edx, word [esp + 0x1c]
lea ebx, [eax + edx*8 - 8]
fld dword [eax + edx*8]
fadd dword [eax + edx*8 + 0x18]
fstp dword [esp + 0x28]
fld dword [eax + edx*8 + 0x1c]
fadd dword [eax + edx*8 + 4]
fstp dword [esp + 0x2c]
fld dword [eax + edx*8 + 0x10]
fadd dword [eax + edx*8 + 8]
fstp dword [esp + 0x20]
fld dword [eax + edx*8 + 0xc]
fadd dword [eax + edx*8 + 0x14]
fstp dword [esp + 0x24]
fld dword [eax + edx*8 + 8]
fsub dword [eax + edx*8 + 0x10]
fstp dword [esp + 0x30]
fld dword [eax + edx*8 + 0xc]
fsub dword [eax + edx*8 + 0x14]
fstp dword [esp + 0x34]
fld dword [eax + edx*8]
fsub dword [eax + edx*8 + 0x18]
fstp dword [esp + 0x60]
fld dword [eax + edx*8 + 4]
fsub dword [eax + edx*8 + 0x1c]
lea edx, [eax + edx*8 - 4]
fstp dword [esp + 0x64]
fld dword [ebx]
fld dword [esp + 0x28]
fld st(0)
faddp st(2)
fld dword [esp + 0x20]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [ecx]
fld dword [esp + 0x2c]
fadd dword [edx]
fadd dword [esp + 0x24]
fstp dword [ecx + 4]
fld st(5)
fmul st(1)
fadd dword [ebx]
fld st(5)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
fld st(4)
fmul dword [esp + 0x2c]
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x50]
fmul st(3)
fadd dword [ebx]
fld st(4)
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x38]
fld st(2)
fmul dword [esp + 0x2c]
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x3c]
fld st(0)
fld dword [esp + 0x60]
fld st(0)
fmulp st(2)
fld st(3)
fmul dword [esp + 0x30]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x58]
fmul st(2)
fld st(1)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], 5
fld st(0)
add edx, 8
fld dword [esp + 0x64]
add ecx, 8
fld st(0)
add ebp, 8
fmulp st(2)
add esi, 8
fld st(3)
add edi, 8
sub dword [esp + 0x54], 1
fmul dword [esp + 0x34]
mov dword [esp + 0x48], edx
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fmul st(2)
fld st(1)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x4c]
fld st(0)
fld dword [esp + 0x5c]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [ebp - 8]
fld dword [esp + 0x58]
fadd dword [esp + 0x50]
fstp dword [ebp - 4]
fld dword [esp + 0x38]
fsub dword [esp + 0x44]
fstp dword [esi - 8]
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
fstp dword [esi - 4]
fld dword [esp + 0x44]
fadd dword [esp + 0x38]
fstp dword [edx - 8]
fld dword [esp + 0x3c]
fsub dword [esp + 0x40]
fstp dword [edx - 4]
faddp st(1)
fstp dword [edi - 8]
fld dword [esp + 0x50]
fsub dword [esp + 0x58]
fstp dword [edi - 4]
jne 0x5527f9
fstp st(3)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
fstp st(0)
pop ebx
add esp, 0xa8
ret
cmp dx, bp
jae 0x553428
fld dword [0x5d20cc]
movzx edx, bp
fld dword [0x5d20d4]
lea esi, [edx + edx*2]
fld dword [0x5d20d8]
lea esi, [ecx + esi*8]
fld dword [0x5d20d0]
mov dword [esp + 0x48], esi
mov edi, edx
shl edi, 5
mov esi, edx
shl esi, 4
add edi, ecx
mov dword [esp + 0x1c], 1
add esi, ecx
lea ebp, [ecx + edx*8]
mov dword [esp + 0x54], edx
movzx edx, word [esp + 0x1c]
lea ebx, [eax + edx*8 - 8]
fld dword [eax + edx*8]
fadd dword [eax + edx*8 + 0x18]
fstp dword [esp + 0x28]
fld dword [eax + edx*8 + 0x1c]
fadd dword [eax + edx*8 + 4]
fstp dword [esp + 0x2c]
fld dword [eax + edx*8 + 0x10]
fadd dword [eax + edx*8 + 8]
fstp dword [esp + 0x20]
fld dword [eax + edx*8 + 0x14]
fadd dword [eax + edx*8 + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + edx*8 + 8]
fsub dword [eax + edx*8 + 0x10]
fstp dword [esp + 0x30]
fld dword [eax + edx*8 + 0xc]
fsub dword [eax + edx*8 + 0x14]
fstp dword [esp + 0x34]
fld dword [eax + edx*8]
fsub dword [eax + edx*8 + 0x18]
fstp dword [esp + 0x60]
fld dword [eax + edx*8 + 4]
fsub dword [eax + edx*8 + 0x1c]
lea edx, [eax + edx*8 - 4]
fstp dword [esp + 0x64]
fld dword [esp + 0x28]
fld st(0)
fadd dword [ebx]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [ecx]
fld dword [edx]
fadd dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [ecx + 4]
fld st(5)
fmul st(2)
fadd dword [ebx]
fld st(5)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld st(4)
fmul dword [esp + 0x2c]
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x50]
fmul st(3)
fadd dword [ebx]
fld st(4)
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x38]
fld st(2)
fmul dword [esp + 0x2c]
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x3c]
fld st(1)
fld dword [esp + 0x60]
fld st(0)
fmulp st(2)
fld st(2)
fmul dword [esp + 0x30]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fmul st(1)
fld st(2)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x58]
fld st(1)
fld dword [esp + 0x64]
mov edx, dword [esp + 0x48]
fld st(0)
add dword [esp + 0x1c], 5
fmulp st(2)
add edx, 8
add ecx, 8
add ebp, 8
fld st(2)
add esi, 8
fmul dword [esp + 0x34]
add edi, 8
sub dword [esp + 0x54], 1
mov dword [esp + 0x48], edx
faddp st(2)
fxch st(1)
fstp dword [esp + 0x44]
fmul st(1)
fld st(2)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fld st(0)
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [ebp - 8]
fld dword [esp + 0x50]
fsub dword [esp + 0x58]
fstp dword [ebp - 4]
fld dword [esp + 0x44]
fadd dword [esp + 0x38]
fstp dword [esi - 8]
fld dword [esp + 0x3c]
fsub dword [esp + 0x40]
fstp dword [esi - 4]
fld dword [esp + 0x38]
fsub dword [esp + 0x44]
fstp dword [edx - 8]
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
fstp dword [edx - 4]
fsubrp st(1)
fstp dword [edi - 8]
fld dword [esp + 0x58]
fadd dword [esp + 0x50]
fstp dword [edi - 4]
jne 0x5529fc
fstp st(3)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
fstp st(0)
pop ebx
add esp, 0xa8
ret
cmp bl, 1
jne 0x552ff4
xor ebx, ebx
cmp bx, bp
jae 0x553428
fld dword [0x5d20cc]
mov dword [esp + 0x68], ebx
fld dword [0x5d20d4]
lea ebx, [edi + edi*4]
fld dword [0x5d20d8]
mov dword [esp + 0x48], ebx
fld dword [0x5d20d0]
movzx ebx, di
mov dword [esp + 0x70], ebx
movzx ebx, bp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x14], ebx
jmp 0x552c05
mov ebx, dword [esp + 0xb0]
xor ebp, ebp
cmp bp, di
jae 0x552fca
movzx ebp, di
lea edi, [ebp + ebp*2]
mov dword [esp + 0xa0], edi
mov edi, ebp
imul edi, ebx
mov ebx, dword [esp + 0xc4]
sub ebx, edx
mov dword [esp + 0x1c], edi
lea edi, [edi + edi*2]
mov dword [esp + 0x9c], edi
movzx edi, word [esp + 0x68]
mov dword [esp + 0xac], ebx
mov dword [esp + 0x74], edi
movzx edi, word [esp + 0x70]
mov ebx, esi
sub ebx, edx
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xd0]
sub ebx, edx
mov dword [esp + 0x6c], edi
lea edi, [edx + 4]
mov edx, dword [esp + 0xc4]
sub edx, esi
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0xd0]
sub edx, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x78], ebp
movzx edx, word [esp + 0x6c]
mov esi, dword [esp + 0xa0]
add esi, edx
fld dword [eax + edx*8]
lea esi, [eax + esi*8]
lea ebx, [edx + ebp*2]
lea ebx, [eax + ebx*8]
fadd dword [esi]
add ebp, edx
lea ebp, [eax + ebp*8]
fstp dword [esp + 0x28]
fld dword [esi + 4]
fadd dword [eax + edx*8 + 4]
fstp dword [esp + 0x2c]
fld dword [ebx]
fadd dword [ebp]
fstp dword [esp + 0x20]
fld dword [ebx + 4]
fadd dword [ebp + 4]
fstp dword [esp + 0x24]
fld dword [ebp]
fsub dword [ebx]
fstp dword [esp + 0x30]
fld dword [ebp + 4]
movzx ebp, word [esp + 0xbc]
fsub dword [ebx + 4]
fstp dword [esp + 0x34]
fld dword [eax + edx*8]
fsub dword [esi]
fstp dword [esp + 0x60]
fld dword [eax + edx*8 + 4]
sub edx, ebp
fsub dword [esi + 4]
movzx esi, word [esp + 0x74]
lea edx, [eax + edx*8]
fstp dword [esp + 0x64]
fld dword [esp + 0x28]
fld st(0)
fadd dword [edx]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [ecx + esi*8]
fld dword [edx + 4]
fadd dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [ecx + esi*8 + 4]
fld st(5)
fmul st(2)
fadd dword [edx]
fld st(5)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld st(4)
fmul dword [esp + 0x2c]
fadd dword [edx + 4]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x50]
fmul st(3)
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x38]
fld st(2)
fmul dword [esp + 0x2c]
fadd dword [edx + 4]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x3c]
fld st(0)
fld dword [esp + 0x60]
fld st(0)
fmulp st(2)
fld st(3)
fmul dword [esp + 0x30]
faddp st(2)
mov edx, dword [esp + 0x10]
fxch st(1)
mov ebx, dword [esp + 0xa4]
fstp dword [esp + 0x58]
fmul st(2)
fld st(1)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x40]
fld st(0)
fld dword [esp + 0x64]
fld st(0)
fmulp st(2)
fld st(3)
fmul dword [esp + 0x34]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fmul st(2)
fld st(1)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x58]
fld st(0)
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x88]
fld dword [esp + 0x44]
fadd dword [esp + 0x38]
fstp dword [esp + 0x94]
fld dword [esp + 0x5c]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x4c]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x7c]
fsubrp st(1)
fstp dword [esp + 0x90]
fld dword [esp + 0x38]
fsub dword [esp + 0x44]
fstp dword [esp + 0x84]
fld dword [esp + 0x3c]
fsub dword [esp + 0x40]
fstp dword [esp + 0x98]
fld dword [ebx + edx]
mov ebx, dword [esp + 0xac]
fstp dword [esp + 0x10]
fld dword [ebx + edi]
mov ebx, dword [esp + 0x1c]
fstp dword [esp + 0x18]
add ebx, esi
fld dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
fld st(0)
fmul dword [esp + 0x7c]
fld dword [esp + 0x10]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [ebx + 4]
fld dword [esp + 0x10]
fmul dword [esp + 0x7c]
fld dword [esp + 0x80]
fmulp st(2)
fsubrp st(1)
fstp dword [ebx]
mov ebx, dword [esp + 0x1c]
fld dword [edi - 4]
lea ebx, [esi + ebx*2]
fstp dword [esp + 0x10]
lea ebx, [ecx + ebx*8]
fld dword [edi]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x84]
add edx, 8
fld dword [esp + 0x10]
add edi, 8
fmul dword [esp + 0x88]
faddp st(1)
fstp dword [ebx + 4]
fld dword [esp + 0x10]
fmul dword [esp + 0x84]
fld dword [esp + 0x88]
fmulp st(2)
fsubrp st(1)
fstp dword [ebx]
mov ebx, dword [esp + 0xb4]
fld dword [edx - 8]
fstp dword [esp + 0x18]
fld dword [ebx + edi - 8]
mov ebx, dword [esp + 0x9c]
fstp dword [esp + 0x10]
add ebx, esi
fld dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
fld st(0)
fmul dword [esp + 0x98]
fld dword [esp + 0x10]
fmul dword [esp + 0x94]
faddp st(1)
fstp dword [ebx + 4]
fmul dword [esp + 0x94]
fld dword [esp + 0x10]
fmul dword [esp + 0x98]
fsubp st(1)
fstp dword [ebx]
mov ebx, dword [esp + 0xa8]
fld dword [ebx + edx - 8]
mov ebx, dword [esp + 0x54]
fstp dword [esp + 0x18]
fld dword [ebx + edi - 8]
mov ebx, dword [esp + 0x1c]
fstp dword [esp + 0x10]
lea esi, [esi + ebx*4]
fld dword [esp + 0x18]
lea esi, [ecx + esi*8]
fld st(0)
fmul dword [esp + 0x90]
fld dword [esp + 0x10]
fmul dword [esp + 0x8c]
faddp st(1)
fstp dword [esi + 4]
fmul dword [esp + 0x8c]
fld dword [esp + 0x10]
mov dword [esp + 0x10], edx
fmul dword [esp + 0x90]
fsubp st(1)
fstp dword [esi]
mov esi, 1
add dword [esp + 0x6c], esi
add dword [esp + 0x74], esi
sub dword [esp + 0x78], esi
jne 0x552c96
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x48]
add dword [esp + 0x68], edi
add dword [esp + 0x70], ebx
sub dword [esp + 0x14], 1
jne 0x552bfe
fstp st(3)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
fstp st(0)
pop ebx
add esp, 0xa8
ret
xor ebx, ebx
cmp bx, bp
jae 0x553428
fld dword [0x5d20cc]
mov dword [esp + 0x74], ebx
fld dword [0x5d20d4]
lea ebx, [edi + edi*4]
fld dword [0x5d20d8]
mov dword [esp + 0x48], ebx
fld dword [0x5d20d0]
movzx ebx, di
mov dword [esp + 0x6c], ebx
movzx ebx, bp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x10], ebx
jmp 0x553040
mov ebx, dword [esp + 0xb0]
xor ebp, ebp
cmp bp, di
jae 0x553409
movzx ebp, di
lea edi, [ebp + ebp*2]
mov dword [esp + 0xa0], edi
mov edi, ebp
imul edi, ebx
mov ebx, dword [esp + 0xc4]
sub ebx, edx
mov dword [esp + 0x1c], edi
lea edi, [edi + edi*2]
mov dword [esp + 0x9c], edi
movzx edi, word [esp + 0x74]
mov dword [esp + 0xac], ebx
mov dword [esp + 0x68], edi
movzx edi, word [esp + 0x6c]
mov ebx, esi
sub ebx, edx
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xd0]
sub ebx, edx
mov dword [esp + 0x70], edi
lea edi, [edx + 4]
mov edx, dword [esp + 0xc4]
sub edx, esi
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0xd0]
sub edx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x78], ebp
movzx edx, word [esp + 0x70]
mov esi, dword [esp + 0xa0]
add esi, edx
fld dword [eax + edx*8]
lea esi, [eax + esi*8]
lea ebx, [edx + ebp*2]
lea ebx, [eax + ebx*8]
fadd dword [esi]
add ebp, edx
lea ebp, [eax + ebp*8]
fstp dword [esp + 0x28]
fld dword [esi + 4]
fadd dword [eax + edx*8 + 4]
fstp dword [esp + 0x2c]
fld dword [ebx]
fadd dword [ebp]
fstp dword [esp + 0x20]
fld dword [ebp + 4]
fadd dword [ebx + 4]
fstp dword [esp + 0x24]
fld dword [ebp]
fsub dword [ebx]
fstp dword [esp + 0x30]
fld dword [ebp + 4]
movzx ebp, word [esp + 0xbc]
fsub dword [ebx + 4]
fstp dword [esp + 0x34]
fld dword [eax + edx*8]
fsub dword [esi]
fstp dword [esp + 0x60]
fld dword [eax + edx*8 + 4]
sub edx, ebp
fsub dword [esi + 4]
movzx esi, word [esp + 0x68]
lea edx, [eax + edx*8]
fstp dword [esp + 0x64]
fld dword [edx]
fld dword [esp + 0x28]
fld st(0)
faddp st(2)
fld dword [esp + 0x20]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [ecx + esi*8]
fld dword [esp + 0x2c]
fadd dword [edx + 4]
fadd dword [esp + 0x24]
fstp dword [ecx + esi*8 + 4]
fld st(5)
fmul st(1)
fadd dword [edx]
fld st(5)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
fld st(4)
fmul dword [esp + 0x2c]
fadd dword [edx + 4]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x50]
fmul st(3)
fadd dword [edx]
fld st(4)
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x38]
fld st(2)
fmul dword [esp + 0x2c]
fadd dword [edx + 4]
fld st(4)
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x3c]
fld st(1)
fld dword [esp + 0x60]
fld st(0)
fmulp st(2)
fld st(2)
mov edx, dword [esp + 0x14]
fmul dword [esp + 0x30]
mov ebx, dword [esp + 0xa4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fmul st(1)
fld st(2)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x58]
fld st(1)
fld dword [esp + 0x64]
fld st(0)
fmulp st(2)
fld st(2)
fmul dword [esp + 0x34]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x44]
fmul st(1)
fld st(2)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x50]
fld st(0)
fld dword [esp + 0x58]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x3c]
fsub dword [esp + 0x40]
fstp dword [esp + 0x88]
fld dword [esp + 0x38]
fsub dword [esp + 0x44]
fstp dword [esp + 0x94]
fld dword [esp + 0x4c]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x5c]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x7c]
faddp st(1)
fstp dword [esp + 0x90]
fld dword [esp + 0x44]
fadd dword [esp + 0x38]
fstp dword [esp + 0x84]
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x98]
fld dword [edx + ebx]
mov ebx, dword [esp + 0xac]
fstp dword [esp + 0x18]
fld dword [edi + ebx]
mov ebx, dword [esp + 0x1c]
fstp dword [esp + 0x14]
add ebx, esi
fld dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
fld st(0)
fmul dword [esp + 0x7c]
fld dword [esp + 0x14]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [ebx]
fmul dword [esp + 0x80]
fld dword [esp + 0x14]
fmul dword [esp + 0x7c]
fsubp st(1)
fstp dword [ebx + 4]
mov ebx, dword [esp + 0x1c]
fld dword [edi - 4]
lea ebx, [esi + ebx*2]
fstp dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
fld dword [edi]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
add edx, 8
fmul dword [esp + 0x84]
add edi, 8
fld dword [esp + 0x14]
fmul dword [esp + 0x88]
faddp st(1)
fstp dword [ebx]
fmul dword [esp + 0x88]
fld dword [esp + 0x14]
fmul dword [esp + 0x84]
fsubp st(1)
fstp dword [ebx + 4]
mov ebx, dword [esp + 0xb4]
fld dword [edx - 8]
fstp dword [esp + 0x14]
fld dword [edi + ebx - 8]
mov ebx, dword [esp + 0x9c]
fstp dword [esp + 0x18]
add ebx, esi
fld dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
fld st(0)
fmul dword [esp + 0x98]
fld dword [esp + 0x14]
fmul dword [esp + 0x94]
faddp st(1)
fstp dword [ebx]
fld dword [esp + 0x14]
fmul dword [esp + 0x98]
fld dword [esp + 0x94]
fmulp st(2)
fsubrp st(1)
fstp dword [ebx + 4]
mov ebx, dword [esp + 0xa8]
fld dword [edx + ebx - 8]
mov ebx, dword [esp + 0x54]
fstp dword [esp + 0x14]
fld dword [edi + ebx - 8]
mov ebx, dword [esp + 0x1c]
fstp dword [esp + 0x18]
lea esi, [esi + ebx*4]
fld dword [esp + 0x18]
lea esi, [ecx + esi*8]
fld st(0)
fmul dword [esp + 0x90]
fld dword [esp + 0x14]
fmul dword [esp + 0x8c]
faddp st(1)
fstp dword [esi]
fld dword [esp + 0x14]
mov dword [esp + 0x14], edx
fmul dword [esp + 0x90]
fld dword [esp + 0x8c]
fmulp st(2)
fsubrp st(1)
fstp dword [esi + 4]
mov esi, 1
add dword [esp + 0x70], esi
add dword [esp + 0x68], esi
sub dword [esp + 0x78], esi
jne 0x5530d1
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x48]
add dword [esp + 0x74], edi
add dword [esp + 0x6c], ebx
sub dword [esp + 0x10], 1
jne 0x553039
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret