int __stdcall Java_jaclib_ping_IcmpService_run(int a1, int a2)
{
  int v2; // edi@1
  int v3; // eax@1
  int (__stdcall *v4)(_DWORD, _DWORD, _DWORD, _DWORD); // edx@1
  HHOOK v5; // eax@1
  int (__stdcall *v6)(_DWORD, _DWORD, _DWORD, _DWORD); // edx@1
  int v7; // eax@1
  int result; // eax@3
  struct tagMSG Msg; // [sp+30h] [bp-1Ch]@1
  v2 = (*(int (__stdcall **)(int, int))(*(_DWORD *)a1 + 124))(a1, a2);
  v3 = (*(int (__stdcall **)(int, int))(*(_DWORD *)a1 + 84))(a1, a2);
  v4 = *(int (__stdcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)a1 + 132);
  dword_100241B4 = v3;
  dword_10024170 = v4(a1, v2, "notify", "(III)V");
  idThread = GetCurrentThreadId();
  v5 = SetWindowsHookExA(14, (HOOKPROC)fn, hmod, 0);
  v6 = *(int (__stdcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)a1 + 132);
  hhk = v5;
  v7 = v6(a1, v2, "notify", "(I)V");
  sub_10005DA0(a1, dword_100241B4, v7, 0);
  while ( GetMessageA(&Msg, 0, 0, 0) )
  {
    TranslateMessage(&Msg);
    DispatchMessageA(&Msg);
  }
  UnhookWindowsHookEx(hhk);
  (*(void (__stdcall **)(int, int))(*(_DWORD *)a1 + 88))(a1, dword_100241B4);
  result = 0;
  dword_10024170 = 0;
  hhk = 0;
  return
}
	a reference for the code https://msdn.microsoft.com/en-us/library/windows/desktop/ms644970(v=vs.85).aspx
 
	check out LLMHF_INJECTED
 
	 
 
	Just curious why runescape would have something like that