__int64 __fastcall CScriptBindingPR_Game::ScreenXYToWorld(CScriptBindingPR_Game *this, unsigned int a2, unsigned int a3, float a4, double a5, __m128i a6, __m128i a7)
{
int v7; // er14
__int64 v8; // rbx
CDOTAInput *v9; // rax
__int64 v10; // rax
v8::Array *v11; // r14
int v12; // edx
__int64 v13; // rax
__int64 v14; // rax
__int64 v15; // rax
float v17; // [rsp+0h] [rbp-50h]
float v18; // [rsp+4h] [rbp-4Ch]
float v19; // [rsp+8h] [rbp-48h]
char v20; // [rsp+10h] [rbp-40h]
__m128i v21[3]; // [rsp+20h] [rbp-30h]
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;
}