__int64 __fastcall CScriptBindingPR_Game::ScreenXYToWorld(CScriptBindingPR_Game *this, unsigned int a2, unsigned int a3, float a4, double a5, __m128i a6, __m128i a7)
{
int v7;
__int64 v8;
CDOTAInput *v9;
__int64 v10;
v8::Array *v11;
int v12;
__int64 v13;
__int64 v14;
__int64 v15;
float v17;
float v18;
float v19;
char v20;
__m128i v21[3];
v7 = a3;
v8 = 0LL;
if ( DOTAInput() )
{
v9 = DOTAInput();
CDOTAInput::GetWorldRayFromMousePosition(v9, a2, v7, v21, (float *)&v20, a4, a5, a6, a7);
v10 = DOTAInput();
CDOTAInput::FindWorld(v10, (float *)v21, (float *)&v20, &v17);
v11 = (v8::Array *)(*(__int64 (__fastcall **)(__int64, __m128i *))(*(_QWORD *)panorama::g_pUIEngineSingleton + 952LL))(
panorama::g_pUIEngineSingleton,
v21);
v8 = v8::Array::New(v11, (v8::Isolate *)((char *)&dso_handle + 3), v12);
v13 = v8::Number::New(v11, (v8::Isolate *)((char *)&dso_handle + 3), v17);
v8::Object::Set(v8, 0LL, v13);
v14 = v8::Number::New(v11, 0LL, v18);
v8::Object::Set(v8, 1LL, v14);
v15 = v8::Number::New(v11, (v8::Isolate *)((char *)&dso_handle + 1), v19);
v8::Object::Set(v8, 2LL, v15);
}
return v8;
}