Simulating an USB device

So I got a program that sends a URB request to a usb device that I have. The device has a driver that ships with it and I'm trying to make a more portable device with an arduino. The only thing that I really request is that when I plug in the arduino into the computer it will show up as the device in the device manager and when the program looks for it and requests the information it will respond with the correct code.

Here is the request code that I got via USBlyzer

This is what the device responds with.

Once it sends that the device sends the following every so often to signify it's alive and connected.

Does anyone have any ideas on how to accomplish this? I've been looking all day and so far I'm not looking very successful.

Well, for a start you're going to need an Arduino with a native USB port. Due, Micro or Teensy will do it.

Then you're going to have to look into how the USB device announces what it is when it connects. I don't know if it's even possible to totally spoof the manufacturer ID and stuff like that. The main Arduino framework will run most of that stuff before it calls your setup() function, so you are going to be doing some low-level hacking in the core code.