Full Code of DxWnd/DxWnd.reloaded for AI

master 7235efb7388b cached
1038 files
7.0 MB
1.9M tokens
3753 symbols
1 requests
Download .txt
Showing preview only (7,526K chars total). Download the full file or copy to clipboard to get everything.
Repository: DxWnd/DxWnd.reloaded
Branch: master
Commit: 7235efb7388b
Files: 1038
Total size: 7.0 MB

Directory structure:
gitextract_mry0xxmd/

├── .gitattributes
├── Disasm201/
│   ├── Disasm.bpr
│   ├── Disasm.c
│   ├── cmdlist.c
│   ├── disasm.def
│   ├── disasm.h
│   ├── disasm.vs2008.sln
│   ├── disasm.vs2008.vcproj
│   └── main.c
├── Include/
│   ├── ---dsound.h
│   ├── 3DFX.H
│   ├── D3D10.h
│   ├── D3D10_1.h
│   ├── D3D10_1shader.h
│   ├── D3D10effect.h
│   ├── D3D10shader.h
│   ├── D3D11.h
│   ├── D3D11SDKLayers.h
│   ├── D3D11Shader.h
│   ├── D3Dcommon.h
│   ├── DShow.h
│   ├── FXDLL.H
│   ├── FXGLOB.H
│   ├── FXOS.H
│   ├── MinHook.h
│   ├── SST1VID.H
│   ├── TlHelp32.h
│   ├── Vfw.h
│   ├── amstream.h
│   ├── d3d.h
│   ├── d3d10misc.h
│   ├── d3d10sdklayers.h
│   ├── d3d8.h
│   ├── d3d8caps.h
│   ├── d3d8types.h
│   ├── d3d9.h
│   ├── d3d9.wine.h
│   ├── d3d9caps.h
│   ├── d3d9types.h
│   ├── d3dcaps.h
│   ├── d3dtypes.h
│   ├── ddraw.h
│   ├── ddrawex.h
│   ├── ddrawi.h
│   ├── dds.h
│   ├── dinput.h
│   ├── disasm.h
│   ├── dsound.h
│   ├── dxdiag.h
│   ├── dxwnd.h
│   ├── gl/
│   │   ├── gl.h
│   │   ├── glext.h
│   │   ├── glxext.h
│   │   └── wglext.h
│   ├── gl.h
│   ├── glext.h
│   ├── glide.h
│   ├── glidesys.h
│   ├── glideutl.h
│   ├── glu.h
│   ├── qmixer.h
│   └── sst1init.h
├── README.md
├── build/
│   ├── README.FIRST.txt
│   ├── exports/
│   │   ├── 007 NightFire.dxw
│   │   ├── 101 The Airborne Invasion of Normandy.dxw
│   │   ├── 11th Hour, the.dxw
│   │   ├── 25 to Life.dxw
│   │   ├── 3D Cube Hopper.dxw
│   │   ├── 3D Frog Man.dxw
│   │   ├── 4x4 Evolution.dxw
│   │   ├── 688(I) Hunter Killer.dxw
│   │   ├── 7th Guest (window port).dxw
│   │   ├── 8th Wonder.dxw
│   │   ├── A10 Cuba.dxw
│   │   ├── Abomination.dxw
│   │   ├── Abuse.dxw
│   │   ├── Abyss Incident at Europa.dxw
│   │   ├── Actua Ice Hockey.dxw
│   │   ├── Actua Soccer 3.dxw
│   │   ├── Adrenix 3D.dxw
│   │   ├── Adrenix.dxw
│   │   ├── AeroStyle.dxw
│   │   ├── Affari Tuoi.dxw
│   │   ├── Agassi Tennis Generation.dxw
│   │   ├── Age of Empires Expansion Trial.dxw
│   │   ├── Age of Empires II.dxw
│   │   ├── Age of Empires III.dxw
│   │   ├── Age of Empires.dxw
│   │   ├── Age of Wanderer.dxw
│   │   ├── Age of Wonders II.dxw
│   │   ├── Age of Wonders.dxw
│   │   ├── Agile Warrior F111X.dxw
│   │   ├── AirXonix.dxw
│   │   ├── Airfix Dogfighter.dxw
│   │   ├── Akuma Demon Spawn  - Lamentation Sword.dxw
│   │   ├── Al Unser Arcade Racing (original EXE).dxw
│   │   ├── Al Unser Arcade Racing.dxw
│   │   ├── Alien Ambush.dxw
│   │   ├── Alien Nations (GOG).dxw
│   │   ├── Alien Nations.dxw
│   │   ├── Alien Swarm (Steam).dxw
│   │   ├── Alien vs. Predator Gold.dxw
│   │   ├── Alone in the Dark the New Nightmare.dxw
│   │   ├── Alphanatix.dxw
│   │   ├── American McGee's Alice.dxw
│   │   ├── Amerzone.dxw
│   │   ├── Ancient Evil demo.dxw
│   │   ├── Apache for Win95.dxw
│   │   ├── Arcade Pool 2.dxw
│   │   ├── Area 51.dxw
│   │   ├── Armor Command.dxw
│   │   ├── Armored Fist 3.dxw
│   │   ├── Army Men RTS.dxw
│   │   ├── Art is Dead.dxw
│   │   ├── Arthur's Quest.dxw
│   │   ├── Arx Fatalis.dxw
│   │   ├── Ashes to Ashes.dxw
│   │   ├── Atlantis - The Lost Tales.dxw
│   │   ├── Attack of the Saucerman.dxw
│   │   ├── Aura 2 The Sacred Rings.dxw
│   │   ├── Avadon 2 The Corruption (Steam).dxw
│   │   ├── Avadon the Black Fortress (Steam).dxw
│   │   ├── Avernum 2 Crystal Souls (Steam).dxw
│   │   ├── Avernum 4 (Steam).dxw
│   │   ├── Avernum 5 (Steam).dxw
│   │   ├── Avernum 6 (Steam).dxw
│   │   ├── Avernum Escape From the Pit (Steam).dxw
│   │   ├── Avernum demo.dxw
│   │   ├── Axis & Allies Iron Blitz Edition.dxw
│   │   ├── Aztec Wars.dxw
│   │   ├── Baldur's Gate.dxw
│   │   ├── Banzai Bug.dxw
│   │   ├── Barbie Riding Club.dxw
│   │   ├── Bard's Tale, the.dxw
│   │   ├── Batman Vengeance.dxw
│   │   ├── Battery Check.dxw
│   │   ├── Battle Isle - the Andosia War.dxw
│   │   ├── Battle Realms.dxw
│   │   ├── Battlezone (1998).dxw
│   │   ├── Beavis & Butthead Do U..dxw
│   │   ├── Beetle Crazy Cup.dxw
│   │   ├── Betrayal in Antara.dxw
│   │   ├── Beyond Divinity.dxw
│   │   ├── Big BumpZ.dxw
│   │   ├── Black & White.dxw
│   │   ├── Black Moon Chronicles.dxw
│   │   ├── Black Thorn.dxw
│   │   ├── Blade Runner (4CD version).dxw
│   │   ├── Blade Runner (Win7).dxw
│   │   ├── Blade Runner.dxw
│   │   ├── Blair Witch Volume One - Rustin Parr.dxw
│   │   ├── Blair Witch Volume Three - Elly Kedward.dxw
│   │   ├── Blair Witch Volume Two.dxw
│   │   ├── Blaze and Blade.dxw
│   │   ├── Blood 2 the Chosen.dxw
│   │   ├── Bomberbabe.dxw
│   │   ├── Breath of Fire IV.dxw
│   │   ├── Bugdom.dxw
│   │   ├── Bugriders the Race of Kings.dxw
│   │   ├── Bugs Bunny Lost In Time.dxw
│   │   ├── Bunnies must die.dxw
│   │   ├── Bust A Move 3DX.dxw
│   │   ├── C&C Generals.dxw
│   │   ├── C&C Red Alert 2 Yuri's Revenge.dxw
│   │   ├── Call Of Cthulhu DCotE.dxw
│   │   ├── Call To Power 2.dxw
│   │   ├── Carmageddon (gore).dxw
│   │   ├── Carmageddon (no gore).dxw
│   │   ├── Carmageddon 2 (GLIDE).dxw
│   │   ├── Carmageddon 2 (SW).dxw
│   │   ├── Carnivores 3DFX.dxw
│   │   ├── Carnivores.dxw
│   │   ├── Catechumen (3DFX).dxw
│   │   ├── Cave Story.dxw
│   │   ├── Celtic Kings Rage of War.dxw
│   │   ├── Championship Manager 03 04.dxw
│   │   ├── Chaos Island (rip).dxw
│   │   ├── Chaos Island.dxw
│   │   ├── Chaos Overlords.dxw
│   │   ├── Chariots of War.dxw
│   │   ├── Chicago 1930.dxw
│   │   ├── Chicken Invaders 2.dxw
│   │   ├── Circus Fighters.dxw
│   │   ├── Close Combat 2 a bridge too far.dxw
│   │   ├── Close Combat 5 Invasion Normandy.dxw
│   │   ├── Codename Tenka.dxw
│   │   ├── Colin McRae Rally 2.0.dxw
│   │   ├── Command & Conquer - Red Alert The Aftermath.dxw
│   │   ├── Command & Conquer Red Alert 2.dxw
│   │   ├── Conflict Zone.dxw
│   │   ├── Contrast.dxw
│   │   ├── Cool Pool Eightball Demo.dxw
│   │   ├── Corsairs Gold (GOG).dxw
│   │   ├── Corsairs.dxw
│   │   ├── Cossacks II.dxw
│   │   ├── Crimson Skies (DEMO).dxw
│   │   ├── Crimson Skies.dxw
│   │   ├── Croc - Legend of the Gobbos.dxw
│   │   ├── Croc 2.dxw
│   │   ├── Crusaders of Might and Magic (GOG).dxw
│   │   ├── Crusaders of Might and Magic Demo.dxw
│   │   ├── Cyber Gladiators (3dfx).dxw
│   │   ├── Cydonia.dxw
│   │   ├── D.O.G. - Fight for Your Life.dxw
│   │   ├── DOSBox-0.74.dxw
│   │   ├── DX-Ball2.dxw
│   │   ├── Daemonstar.dxw
│   │   ├── Daikatana.dxw
│   │   ├── Damage Incorporated.dxw
│   │   ├── Dangerous Waters.dxw
│   │   ├── Darius Gaiden.dxw
│   │   ├── Dark Angael.dxw
│   │   ├── Dark Colony (16 bit).dxw
│   │   ├── Dark Colony.dxw
│   │   ├── Dark Disciples 1.dxw
│   │   ├── Dark Disciples 2.dxw
│   │   ├── Dark Earth.dxw
│   │   ├── Dark Fall - The Journal (GOG 2.0.0.6).dxw
│   │   ├── Dark Planet Battle for Natrolis.dxw
│   │   ├── Dark Reign.dxw
│   │   ├── Dark Vengeance.dxw
│   │   ├── Darkened Skye.dxw
│   │   ├── Daytona USA Deluxe Edition.dxw
│   │   ├── Daytona USA Deluxe.dxw
│   │   ├── Dead Rising 2 Off The Record.dxw
│   │   ├── Deadlock II.dxw
│   │   ├── DeathSpank The Baconing.dxw
│   │   ├── Deathtrap Dungeon.dxw
│   │   ├── Deer Hunter.dxw
│   │   ├── Defiance (D3D).dxw
│   │   ├── Defiance.dxw
│   │   ├── Deo Gratias.dxw
│   │   ├── Dethkarz.dxw
│   │   ├── Devastation.dxw
│   │   ├── Devil Inside, the.dxw
│   │   ├── Diablo MP demo.dxw
│   │   ├── Diablo.dxw
│   │   ├── Die Hard Nakatomi Plaza.dxw
│   │   ├── Die Hard Trilogy (Game 1).dxw
│   │   ├── Die Hard Trilogy (Game 2).dxw
│   │   ├── Die Hard Trilogy (Game 3).dxw
│   │   ├── Die Hard Trilogy (launcher).dxw
│   │   ├── Digger XP.dxw
│   │   ├── Dink Smallwood.dxw
│   │   ├── Dinosaur Resurrection.dxw
│   │   ├── Dirt Track Racing 2 Demo.dxw
│   │   ├── Dirt Track Racing 2.dxw
│   │   ├── Dirt Track Racing.dxw
│   │   ├── Disciples II - Dark Prophecy.dxw
│   │   ├── Disney Groove It.dxw
│   │   ├── Divide, the.dxw
│   │   ├── Divine Divinity (GOG).dxw
│   │   ├── Divine Divinity.dxw
│   │   ├── Dominant Species.dxw
│   │   ├── Doom 3.dxw
│   │   ├── Doom Shareware for Windows 95.dxw
│   │   ├── Doom95.dxw
│   │   ├── Dracula - The Resurrection (GOG).dxw
│   │   ├── Dracula Twins.dxw
│   │   ├── Dragon Dice.dxw
│   │   ├── Dragon Heart.dxw
│   │   ├── Drakan Order of the Flame (10th anniversary).dxw
│   │   ├── Drome Racers.dxw
│   │   ├── Duckman.dxw
│   │   ├── Duke Nukem - Manhattan Project (D3D8).dxw
│   │   ├── Duke Nukem Forever.dxw
│   │   ├── Dune 2000.dxw
│   │   ├── Dungeon Keeper II.dxw
│   │   ├── Dungeon Lords MMXII.dxw
│   │   ├── Dungeon Odyssey (Demo).dxw
│   │   ├── Dweep Gold.dxw
│   │   ├── Dylan Dog Horror at Luna Park.dxw
│   │   ├── Earth 2150.dxw
│   │   ├── Earthworm Jim 3D.dxw
│   │   ├── Eat my Dust.dxw
│   │   ├── Echelon.dxw
│   │   ├── Ed Hunter.dxw
│   │   ├── Empire Earth.dxw
│   │   ├── Empire of the Ants (ITA).dxw
│   │   ├── Empire of the Ants.dxw
│   │   ├── End of Twilight.dxw
│   │   ├── Enemy Zero.dxw
│   │   ├── Esoteria.dxw
│   │   ├── European Air War.dxw
│   │   ├── Evil Dead Hail to the King.dxw
│   │   ├── Evil Islands.dxw
│   │   ├── Evolva.dxw
│   │   ├── Excalibur.dxw
│   │   ├── Extreme-G_2.dxw
│   │   ├── F-16 Agressor.dxw
│   │   ├── F-16 Fighting Falcon.dxw
│   │   ├── F-16 Multirole Fighter.dxw
│   │   ├── F1 Manager 2000.dxw
│   │   ├── FIFA 2000.dxw
│   │   ├── Fallout.dxw
│   │   ├── Fatal Abyss.dxw
│   │   ├── Fate.dxw
│   │   ├── Faust the seven games of the soul.dxw
│   │   ├── Fifa 99 (Direct3D).dxw
│   │   ├── Fifa 99 (sw renderer).dxw
│   │   ├── Fighting Force.dxw
│   │   ├── Fin-Fin.dxw
│   │   ├── Final Odyssey.dxw
│   │   ├── FireCrow.dxw
│   │   ├── Flying Heroes.dxw
│   │   ├── Flying Saucer.dxw
│   │   ├── Force 21.dxw
│   │   ├── Forsaken (HW).dxw
│   │   ├── Future Cop L.A.P.D..dxw
│   │   ├── G-Darius.dxw
│   │   ├── G-Nome.dxw
│   │   ├── GP 500 (win2k obfuscated).dxw
│   │   ├── GP 500.dxw
│   │   ├── GTA 3.dxw
│   │   ├── GTA window.dxw
│   │   ├── GTA2.dxw
│   │   ├── Galapagos demo.dxw
│   │   ├── Galapagos.dxw
│   │   ├── Garfield - Caught in the Act.dxw
│   │   ├── Geneforge (Steam).dxw
│   │   ├── Geneforge 2 (Steam).dxw
│   │   ├── Geneforge 3 (Steam).dxw
│   │   ├── Geneforge 4 (Steam).dxw
│   │   ├── Geneforge.dxw
│   │   ├── Genocide (ORIGINAL).dxw
│   │   ├── Genocide (REMIXED VERSION).dxw
│   │   ├── Gooka The Mystery of Janatris.dxw
│   │   ├── Gorky 17.dxw
│   │   ├── Grand Prix Legends.dxw
│   │   ├── Grand Prix World.dxw
│   │   ├── Grand Theft Auto 3 Vice City.dxw
│   │   ├── Ground Control (sw renderer).dxw
│   │   ├── Ground Control.dxw
│   │   ├── Gruntz.dxw
│   │   ├── Gunbound (fullscreen).dxw
│   │   ├── Gunbound.dxw
│   │   ├── H.E.D.Z..dxw
│   │   ├── Hamsterball.dxw
│   │   ├── Heart of Darkness.dxw
│   │   ├── Hearts of Iron III.dxw
│   │   ├── Heavy Gear.dxw
│   │   ├── Hercules.dxw
│   │   ├── Heroes of Might and Magic 4 Complete.dxw
│   │   ├── Heroes of Might and Magic IV.dxw
│   │   ├── Hesperian Wars.dxw
│   │   ├── Hexen II (GDI).dxw
│   │   ├── Hexen II (OpenGl).dxw
│   │   ├── Hexen95.dxw
│   │   ├── Hexplore.dxw
│   │   ├── Hitchcock the Final Cut.dxw
│   │   ├── Hitman - Codename 47.dxw
│   │   ├── Hitman 2 Silent Assassin.dxw
│   │   ├── Hollywood Monsters.dxw
│   │   ├── Homeworld 2.dxw
│   │   ├── Homeworld.dxw
│   │   ├── Hoppop'n.dxw
│   │   ├── Horde 2 the Citadel.dxw
│   │   ├── Horde.dxw
│   │   ├── Hot Chix 'n' Gear Stix (demo).dxw
│   │   ├── House of the Dead 2.dxw
│   │   ├── Hoyle Casino 2001.dxw
│   │   ├── Hoyle Casino Empire (GDI emulation).dxw
│   │   ├── Hoyle Casino Empire (fullscreen).dxw
│   │   ├── Hoyle Casino Empire.dxw
│   │   ├── Hundred Swords.dxw
│   │   ├── Hydro Thunder.dxw
│   │   ├── Hyper Crazy Climber.dxw
│   │   ├── HyperBlade.dxw
│   │   ├── I-War.dxw
│   │   ├── Icewind Dale 2.dxw
│   │   ├── Icewind Dale II.dxw
│   │   ├── Icewind Dale.dxw
│   │   ├── Imperialism II.dxw
│   │   ├── Imperialism.dxw
│   │   ├── In the Hunt.dxw
│   │   ├── Incoming (GOG).dxw
│   │   ├── Incoming Forces (GOG).dxw
│   │   ├── Indiana Jones and the Infernal Machine.dxw
│   │   ├── IndyCar Series.dxw
│   │   ├── Inquisition.dxw
│   │   ├── Insane.dxw
│   │   ├── Intensity XS.dxw
│   │   ├── International Football 2000.dxw
│   │   ├── Interstate 76 Nitro Pack.dxw
│   │   ├── Interstate 76.dxw
│   │   ├── Jagged Alliance 2 Gold.dxw
│   │   ├── Janes FA18.dxw
│   │   ├── Jazz Jackrabbit 2.dxw
│   │   ├── Jeff Gordon XS Racing demo.dxw
│   │   ├── Jeff Wayne's - The War of the Worlds.dxw
│   │   ├── Jet Moto.dxw
│   │   ├── JetMoto.dxw
│   │   ├── Jolly Rover.dxw
│   │   ├── Jumpgate Classic.dxw
│   │   ├── KA52 Team Alligator.dxw
│   │   ├── KKND Xtreme.dxw
│   │   ├── Kasbrik 3D.dxw
│   │   ├── Killing Time.dxw
│   │   ├── Kingpin Life Of Crime (intro).dxw
│   │   ├── Kingpin Life Of Crime.dxw
│   │   ├── Kiss Psycho Circus.dxw
│   │   ├── Knight Moves.dxw
│   │   ├── KnightShift.dxw
│   │   ├── Knights Of Honor.dxw
│   │   ├── Knights_And_Merchants (1024).dxw
│   │   ├── Knights_And_Merchants (800).dxw
│   │   ├── Kohan II Kings of War.dxw
│   │   ├── L'Elefante a Strisce.dxw
│   │   ├── LEGO Pirates.dxw
│   │   ├── LEGO Star Wars - The Complete Saga.dxw
│   │   ├── LEGO Star Wars.dxw
│   │   ├── LEGO Stunt Rally.dxw
│   │   ├── Land of the Dead.dxw
│   │   ├── Lander.dxw
│   │   ├── Largo Winch.dxw
│   │   ├── Last Bronx.dxw
│   │   ├── Last Half od Darkness.dxw
│   │   ├── Layer Section.dxw
│   │   ├── Legacy of Kain Soul Reaver (GOG).dxw
│   │   ├── Legacy of Kain Soul Reaver 2.dxw
│   │   ├── Legend of the Prophet & Assassin, the.dxw
│   │   ├── Les adventures de Robby le Robot - Mission Code de la route.dxw
│   │   ├── Little Big Adventure 2 (Windows patch).dxw
│   │   ├── Lode Runner 2.dxw
│   │   ├── Loonyland 2 CE.dxw
│   │   ├── Lords of Magic Special Edition.dxw
│   │   ├── Lose Your Marbles.dxw
│   │   ├── Lost Valley.dxw
│   │   ├── LuXiaoFeng.dxw
│   │   ├── M1 Tank Platoon 2.dxw
│   │   ├── MDK2.dxw
│   │   ├── Machine Hunter.dxw
│   │   ├── Madden NFL 08.dxw
│   │   ├── Mageslayer.dxw
│   │   ├── Magic & Mayhem.dxw
│   │   ├── Mall Tycoon 3.dxw
│   │   ├── Mall Tycoon.dxw
│   │   ├── Man TT Super Bike (fake fullscreen).dxw
│   │   ├── Man TT Super Bike.dxw
│   │   ├── Marbles.dxw
│   │   ├── Martian Gothic Unification.dxw
│   │   ├── Mechcommander Gold.dxw
│   │   ├── Mechwarrior 3 (high res).dxw
│   │   ├── Mechwarrior 3.dxw
│   │   ├── Medford Asylum.dxw
│   │   ├── Men in Black.dxw
│   │   ├── Mephisto Chess.dxw
│   │   ├── Metal Gear Solid VR.dxw
│   │   ├── Metal Gear Solid.dxw
│   │   ├── Metal Knight.dxw
│   │   ├── Microsoft Golf '98 trial (win).dxw
│   │   ├── Microsoft Golf '98 trial.dxw
│   │   ├── Microsoft Golf 1998 Edition.dxw
│   │   ├── Microsoft Golf 1999 Edition.dxw
│   │   ├── Microsoft Golf 2001.dxw
│   │   ├── Microsoft Midtown Madness.dxw
│   │   ├── Microsoft Motocross Madness 2 (emu).dxw
│   │   ├── Microsoft Motocross Madness 2 trial.dxw
│   │   ├── Microsoft Motocross Madness.dxw
│   │   ├── Microsoft Pandora's Box.dxw
│   │   ├── Microsotf Motocross Madness 2.dxw
│   │   ├── Midnight GT Primary Racer.dxw
│   │   ├── Mig 29 Fulcrum.dxw
│   │   ├── Millennium Racer Y2K fighters.dxw
│   │   ├── Minigolf Master Miniverse (demo).dxw
│   │   ├── Mirror's Edge.dxw
│   │   ├── Moon Tycoon.dxw
│   │   ├── MoonBase Commander (640x480).dxw
│   │   ├── More Aggressive.dxw
│   │   ├── Moto Racer 2 (GOG sw mode).dxw
│   │   ├── Moto Racer demo.dxw
│   │   ├── Motocross Madness (RIP).dxw
│   │   ├── Motocross Madness Trial.dxw
│   │   ├── Motocross Madness.dxw
│   │   ├── Mr. Driller.dxw
│   │   ├── Myth III - The Wolf Age.dxw
│   │   ├── Myth the Fallen Lords.dxw
│   │   ├── NASCAR 2000.dxw
│   │   ├── NHL 2002.dxw
│   │   ├── NHL 99.dxw
│   │   ├── Nascar Pinball.dxw
│   │   ├── Nascar Racing 3 (3DFX).dxw
│   │   ├── Nascar Racing 3.dxw
│   │   ├── Nebula Fighter.dxw
│   │   ├── Need 4 Speed IV High Stakes.dxw
│   │   ├── Need For Speed 3.dxw
│   │   ├── Need For Speed SE.dxw
│   │   ├── Need for Speed 5 Porsche Unleashed.dxw
│   │   ├── Need for Speed Underground 2.dxw
│   │   ├── Neophyte Koplio's Story.dxw
│   │   ├── NetStorm - Islands at War.dxw
│   │   ├── New York Race.dxw
│   │   ├── Nightmare Creatures demo (sw mode).dxw
│   │   ├── Nightmare Creatures demo.dxw
│   │   ├── No Respect (1.1).dxw
│   │   ├── No Respect.dxw
│   │   ├── Nocturne.dxw
│   │   ├── Nox (GOG).dxw
│   │   ├── Nox (RIP).dxw
│   │   ├── Nuclear Strike (3dfx).dxw
│   │   ├── O.D.T. Escape Or Die Trying  (SW 640X480).dxw
│   │   ├── O.D.T. Escape Or Die Trying (HW 640X480).dxw
│   │   ├── O.D.T. Escape Or Die Trying.dxw
│   │   ├── O.R.B. Offword Rescue Base.dxw
│   │   ├── Of Light and Darkness.dxw
│   │   ├── Ominous Horizons.dxw
│   │   ├── One Must Fall - Battlegrounds.dxw
│   │   ├── Open Ice 2 on 2 Challenge.dxw
│   │   ├── Outcast 1999 CD Retail release.dxw
│   │   ├── Outcast.dxw
│   │   ├── Outlaws.dxw
│   │   ├── Outwars.dxw
│   │   ├── PBA Bowling 2 Demo.dxw
│   │   ├── PC Ciclismo 2001 (HAL).dxw
│   │   ├── PC Ciclismo 2001 (through RGB sw emulation).dxw
│   │   ├── POD Gold (D3D).dxw
│   │   ├── Paladin 3 RIP.dxw
│   │   ├── Pandemonium 2 (GLIDE).dxw
│   │   ├── Panzer Commander.dxw
│   │   ├── Panzer Dragoon.dxw
│   │   ├── Panzer General 3 Scorched Earth.dxw
│   │   ├── Panzer General 3D Assault (GOG).dxw
│   │   ├── Panzer General 3D Assault.dxw
│   │   ├── Paradise Cracked.dxw
│   │   ├── Patrician III.dxw
│   │   ├── Pax Corpus.dxw
│   │   ├── Phantasmagoria 2.dxw
│   │   ├── Planet of the Apes.dxw
│   │   ├── Populous 3 (GOG - D3D).dxw
│   │   ├── Populous 3 (GOG).dxw
│   │   ├── Port Royale 2.dxw
│   │   ├── Portugal 1111.dxw
│   │   ├── Post Mortem (CD version).dxw
│   │   ├── Postal.dxw
│   │   ├── Powerslide.dxw
│   │   ├── Praetorians.dxw
│   │   ├── Premier Manager 98.dxw
│   │   ├── Prey.dxw
│   │   ├── Primitive Wars.dxw
│   │   ├── Prince of Persia - Warrior Within (GOG).dxw
│   │   ├── Prince of Persia 3D Demo.dxw
│   │   ├── Prince of Persia 3D.dxw
│   │   ├── Prince of Persia The Two Thrones (GOG).dxw
│   │   ├── Prison Tycoon.dxw
│   │   ├── Prisoner of War.dxw
│   │   ├── Project Eden.dxw
│   │   ├── Project IGI.dxw
│   │   ├── Psychoballs.dxw
│   │   ├── Puma World Football.dxw
│   │   ├── Puyo Puyo Sun.dxw
│   │   ├── Puzzle Agent Nelson Tethers.dxw
│   │   ├── Quake (OpenGL 3DFX).dxw
│   │   ├── Quake (win).dxw
│   │   ├── Queen of Heart 98.dxw
│   │   ├── RHEM.dxw
│   │   ├── Railroad Tycoon II.dxw
│   │   ├── Rapanui.dxw
│   │   ├── Rayman 2 (GOG).dxw
│   │   ├── Rayman 2 Demo.dxw
│   │   ├── Re-Volt.dxw
│   │   ├── Reah.dxw
│   │   ├── Real War Air Land Sea.dxw
│   │   ├── Reap, the.dxw
│   │   ├── Recoil.dxw
│   │   ├── Requiem Avenging Angel (D3D).dxw
│   │   ├── Requiem Avenging Angel (software).dxw
│   │   ├── Resident Evil (sw mode).dxw
│   │   ├── Restricted Area.dxw
│   │   ├── Return Fire 2 (OpenGL).dxw
│   │   ├── Return Fire 2 (SW).dxw
│   │   ├── Return to Castle Wolfenstein.dxw
│   │   ├── Rift Space.dxw
│   │   ├── Risk II (Hasbro).dxw
│   │   ├── Rites of War Demo.dxw
│   │   ├── Road Rash.dxw
│   │   ├── Robin Hood - The Legend of Sherwood (GOG).dxw
│   │   ├── RoboRumble (dx5).dxw
│   │   ├── RoboRumble (sw).dxw
│   │   ├── Robocop 2D 2.dxw
│   │   ├── Robocop 2D.dxw
│   │   ├── Robocop.dxw
│   │   ├── Rollcage (3DFX).dxw
│   │   ├── Rollcage (D3D).dxw
│   │   ├── Rollcage 2 (D3D).dxw
│   │   ├── RollerCoaster Tycoon 2 demo.dxw
│   │   ├── RollerCoaster Tycoon 2.dxw
│   │   ├── RollerCoaster Tycoon 3.dxw
│   │   ├── RollerCoaster Tycoon Deluxe.dxw
│   │   ├── RollerCoaster Tycoon.dxw
│   │   ├── Runaway.dxw
│   │   ├── Rune War.dxw
│   │   ├── Rune.dxw
│   │   ├── SPWaW 2016.dxw
│   │   ├── STCC Swedish TouringCar Championship.dxw
│   │   ├── Scrapland.dxw
│   │   ├── Settlers 3, the.dxw
│   │   ├── Settlers 4, the, with NVIDIA or VirtualBox.dxw
│   │   ├── Shadow Watch.dxw
│   │   ├── Sheep Dog'n Wolf.dxw
│   │   ├── Sherlock Holmes - Mistery of the Mummy (steam).dxw
│   │   ├── Sherlock Holmes The Mystery of The Mummy demo.dxw
│   │   ├── ShipWreckers demo.dxw
│   │   ├── Shogo Mobile Armor Division.dxw
│   │   ├── Sid Meier's Alpha Centauri (GOG).dxw
│   │   ├── Sid Meier's Civilization III Complete.dxw
│   │   ├── Sid Meiers SimGolf CLASS.dxw
│   │   ├── Sid Meyer's Gettysburg Demo.dxw
│   │   ├── Silent Hill 2 Director's Cut.dxw
│   │   ├── Silent Hunter III.dxw
│   │   ├── Silver.dxw
│   │   ├── SimCity 3000.dxw
│   │   ├── Slam Tilt.dxw
│   │   ├── Slave Zero.dxw
│   │   ├── Snowboard Racer.dxw
│   │   ├── Snowmobile Racing.dxw
│   │   ├── Space Hulk.dxw
│   │   ├── Space Rangers.dxw
│   │   ├── Spearhead.dxw
│   │   ├── SpellForce GOLD Edition.dxw
│   │   ├── Spike the Hedgehog.dxw
│   │   ├── Spirit Warrior.dxw
│   │   ├── Sports Car GT Demo.dxw
│   │   ├── Sports Car GT.dxw
│   │   ├── St. Row the Third (DX11).dxw
│   │   ├── St. Row the Third (DX9).dxw
│   │   ├── Stahlfabrik.dxw
│   │   ├── Star Defender 1.dxw
│   │   ├── Star Defender 2.dxw
│   │   ├── Star Trek Armada.dxw
│   │   ├── Star Trek Birth of the Federation.dxw
│   │   ├── Star Trek Generations.dxw
│   │   ├── Star Trek Hidden Evil.dxw
│   │   ├── Star Trek Klingon Academy.dxw
│   │   ├── Star Trek Starfleet Command.dxw
│   │   ├── Star Wars Episode I Racer (emulated).dxw
│   │   ├── Star Wars Episode I Racer.dxw
│   │   ├── Star Wars Jedi Knight II (multiplayer).dxw
│   │   ├── Star Wars Jedi Knight II (singleplayer).dxw
│   │   ├── Star Wars Phantom Menace.dxw
│   │   ├── Star Wars Rogue Squadron 3D.dxw
│   │   ├── Star Wars Shadow of the Empire (DEMO).dxw
│   │   ├── Star Wars Shadow of the Empire.dxw
│   │   ├── Star Wars Tie Fighter (virtual joystick).dxw
│   │   ├── Star Wars Tie Fighter.dxw
│   │   ├── Star Wars X-Wing Alliance (GOG).dxw
│   │   ├── Star Wars X-Wing Alliance.dxw
│   │   ├── Star Wars X-Wing vs. Tie-Fighter (GOG).dxw
│   │   ├── StarCraft.dxw
│   │   ├── Starfleet Academy (d3d).dxw
│   │   ├── Starfleet Academy (sw).dxw
│   │   ├── Starsiege - Tribes.dxw
│   │   ├── State of Emergency.dxw
│   │   ├── State of War Warmonger.dxw
│   │   ├── Steel Saviour demo (T-Zwei).dxw
│   │   ├── Steel Saviour.dxw
│   │   ├── Still Life (GOG).dxw
│   │   ├── Stratego.dxw
│   │   ├── Street Fighters Zero.dxw
│   │   ├── Street Wars.dxw
│   │   ├── Streets of Sim City (2000 re-release, 3DFX).dxw
│   │   ├── Strength & Honour.dxw
│   │   ├── Stronghold Crusader HD.dxw
│   │   ├── Stronghold Crusader.dxw
│   │   ├── Sub Command.dxw
│   │   ├── SubCulture (3DFX).dxw
│   │   ├── SubCulture (D3D).dxw
│   │   ├── SubCulture (sw).dxw
│   │   ├── Subspace the Captain's Chair.dxw
│   │   ├── Summoner, the.dxw
│   │   ├── Super Puzzle Fighter 2 Turbo.dxw
│   │   ├── Super Real Mahjong P7.dxw
│   │   ├── SuperBike 2000.dxw
│   │   ├── SuperChix'76 (demo).dxw
│   │   ├── Swat 3 (GOG).dxw
│   │   ├── Swat 3.dxw
│   │   ├── Syberia 2.dxw
│   │   ├── Syberia.dxw
│   │   ├── TOCA Touring Car Championship.dxw
│   │   ├── Tails Gear.dxw
│   │   ├── Taito Legends 2.dxw
│   │   ├── Take no Prisoners.dxw
│   │   ├── Talis Gear.dxw
│   │   ├── Tanktics.dxw
│   │   ├── Tarzan Action Game.dxw
│   │   ├── Taz Wanted.dxw
│   │   ├── Tenka.dxw
│   │   ├── Tetris Worlds.dxw
│   │   ├── The Creed (SW DEMO).dxw
│   │   ├── The Creed.dxw
│   │   ├── The Hobbit(TM) Demo.dxw
│   │   ├── The Hobbit(TM).dxw
│   │   ├── The Hulk Demo.dxw
│   │   ├── The Mummy.dxw
│   │   ├── The Sting!.dxw
│   │   ├── The Thing.dxw
│   │   ├── The Watchmaker.dxw
│   │   ├── The Westerner.dxw
│   │   ├── The Wonderful End of the World (Steam demo).dxw
│   │   ├── The Wonderful End of the World.dxw
│   │   ├── Theme Hospital.dxw
│   │   ├── Theme Park World.dxw
│   │   ├── Theocracy.dxw
│   │   ├── Theseus.dxw
│   │   ├── Thief the Dark Project GOLD (GOG).dxw
│   │   ├── Thief the Dark Project GOLD.dxw
│   │   ├── Thorgal.dxw
│   │   ├── TieFighter 95.dxw
│   │   ├── Tiger Woods PGA TOUR 08 Demo.dxw
│   │   ├── Titanic.dxw
│   │   ├── Tlon - a misty story.dxw
│   │   ├── Tomb Raider - Anniversary Demo.dxw
│   │   ├── Tomb Raider - Underworld.dxw
│   │   ├── Tomb Raider III (HW acceleration).dxw
│   │   ├── Tomb Raider III (SW emulation).dxw
│   │   ├── Tomb Raider III.dxw
│   │   ├── Tomb Raider Underworld.dxw
│   │   ├── Tone Rebellion Leviathan.dxw
│   │   ├── Tonic Trouble.dxw
│   │   ├── Tony Hawk's Pro Skater 3.dxw
│   │   ├── Total Annihilation Kingdoms.dxw
│   │   ├── Total Annihilation.dxw
│   │   ├── Total Immersion Racing.dxw
│   │   ├── Total Soccer 2000 (3DFX).dxw
│   │   ├── Total Soccer 2000 (DirectX).dxw
│   │   ├── Totò Sapore e il magico sapore della pizza.dxw
│   │   ├── Toy Factory.dxw
│   │   ├── Trials2 - Second Edition.dxw
│   │   ├── TrickStyle (D3D).dxw
│   │   ├── Tropico Paradise Island.dxw
│   │   ├── Tungusskiy Meteorit.dxw
│   │   ├── Typing of the Dead, the.dxw
│   │   ├── Ultim@te Race Pro.dxw
│   │   ├── Ultimate Soccer Manager 98.dxw
│   │   ├── Ultimate Spiderman.dxw
│   │   ├── Unreal Tournament.dxw
│   │   ├── Unreal.dxw
│   │   ├── Urban Chaos.dxw
│   │   ├── V-Rally 2 Expert Edition.dxw
│   │   ├── V-Rally 3.dxw
│   │   ├── V2000.dxw
│   │   ├── Vangers.dxw
│   │   ├── Viper Racing.dxw
│   │   ├── Virtua Cop 2.dxw
│   │   ├── Virtua Cop.dxw
│   │   ├── Virtua Fighter 2.dxw
│   │   ├── Virtua Fighter PC.dxw
│   │   ├── Virtua Fighter.dxw
│   │   ├── Vital Device.dxw
│   │   ├── Wacky Races.dxw
│   │   ├── WarWind.dxw
│   │   ├── Warcraft 2 Battlenet Ed.dxw
│   │   ├── Warcraft Adventures - Lord Of The Clans.dxw
│   │   ├── Wargames.dxw
│   │   ├── Wargasm.dxw
│   │   ├── Warhammer - Shadow of the Horned Rat (x2).dxw
│   │   ├── Warhammer - Shadow of the Horned Rat.dxw
│   │   ├── Warhammer 40K Chaos Gate.dxw
│   │   ├── Warhammer 40K Final Liberation.dxw
│   │   ├── Warhammer 40K Rites of War.dxw
│   │   ├── Warhammer Dark Omen.dxw
│   │   ├── Warlords 3.dxw
│   │   ├── Warlords Battlecry 2.dxw
│   │   ├── Warlords Battlecry 3 (GOG).dxw
│   │   ├── Warlords Battlecry III.dxw
│   │   ├── Warpath.dxw
│   │   ├── Warrior Kings.dxw
│   │   ├── Wars & Warriors Joan of Arc.dxw
│   │   ├── Warwind 2.dxw
│   │   ├── Weird War.dxw
│   │   ├── Wetrix.dxw
│   │   ├── Whiteout.dxw
│   │   ├── Wildfire.dxw
│   │   ├── Wind Fantasy SP.dxw
│   │   ├── Wizardry 8 (3DfX).dxw
│   │   ├── Wizardry Chronicles V0984b - English.exe.dxw
│   │   ├── Wizardry Chronicles.dxw
│   │   ├── World Racing (Demo) MX.dxw
│   │   ├── World Racing (Demo).dxw
│   │   ├── Worms 2 (GOG).dxw
│   │   ├── Worms 2.dxw
│   │   ├── Worms Pinball.dxw
│   │   ├── Wrestling MPire Remix.dxw
│   │   ├── X - Beyond the Frontier (dx6).dxw
│   │   ├── X - Beyond the Frontier.dxw
│   │   ├── X-COM Interceptor.dxw
│   │   ├── X-Files, the.dxw
│   │   ├── XENIC.dxw
│   │   ├── XIII.dxw
│   │   ├── Xwing vs. Tie-Fighter demo.dxw
│   │   ├── Yu No (english patch).dxw
│   │   ├── ZPC Zero Population Count.dxw
│   │   ├── Zanzarah The Hidden Portal.dxw
│   │   ├── Zenfar.dxw
│   │   ├── Zero Critical.dxw
│   │   ├── Zero Divide.dxw
│   │   ├── Zero Zone.dxw
│   │   ├── Zoo Tycoon.dxw
│   │   ├── ZugyA.dxw
│   │   ├── Zulu Assault.dxw
│   │   ├── eXpendable.dxw
│   │   └── mdk 95.dxw
│   ├── help/
│   │   └── placeholder.txt
│   └── readme-relnotes.txt
├── dll/
│   ├── Inject.cpp
│   ├── advapi.cpp
│   ├── avifile.cpp
│   ├── comctl32.cpp
│   ├── comdlg32.cpp
│   ├── cpulimit.cpp
│   ├── d3d10.cpp
│   ├── d3dtexture.cpp
│   ├── ddblit.cpp
│   ├── ddcreates.cpp
│   ├── ddraw.cpp
│   ├── ddrawex.cpp
│   ├── ddshot.cpp
│   ├── ddtexture.cpp
│   ├── dibdump.cpp
│   ├── dinput.cpp
│   ├── dsound.cpp
│   ├── dwhide.cpp
│   ├── dxdds.h
│   ├── dxdiaghook.cpp
│   ├── dxemublt.cpp
│   ├── dxhelper.cpp
│   ├── dxhelper.h
│   ├── dxhook.cpp
│   ├── dxhook.h
│   ├── dxmapping.cpp
│   ├── dxwcapsdb.cpp
│   ├── dxwcore.cpp
│   ├── dxwcore.hpp
│   ├── dxwnd.aps
│   ├── dxwnd.cpp
│   ├── dxwnd.def
│   ├── dxwnd.dll.manifest
│   ├── dxwnd.rc
│   ├── dxwnd.suo
│   ├── dxwnd.vs2008.sln
│   ├── dxwnd.vs2008.suo
│   ├── dxwnd.vs2008.vcproj
│   ├── dxwsstack.cpp
│   ├── dxwwstack.cpp
│   ├── emulateddc.cpp
│   ├── fontstack.cpp
│   ├── gdi32.cpp
│   ├── gdiblt.cpp
│   ├── glhook.h
│   ├── glide.cpp
│   ├── glidehook.h
│   ├── hd3d.cpp
│   ├── hd3d.doc.hpp
│   ├── hd3d.h
│   ├── hd3d7.cpp
│   ├── hd3d8.cpp
│   ├── hd3d9.cpp
│   ├── hddraw.h
│   ├── hdinput.cpp
│   ├── hdinput.h
│   ├── hexdump.cpp
│   ├── hint.cpp
│   ├── hotpatch.cpp
│   ├── iatpatch.cpp
│   ├── imagehlp.cpp
│   ├── imelib.cpp
│   ├── kernel32.cpp
│   ├── libMinHook.x86.lib
│   ├── logall.h
│   ├── mincaps.cpp
│   ├── msghook.cpp
│   ├── msims32.cpp
│   ├── msvfw.cpp
│   ├── msvfwhook.h
│   ├── ole32.cpp
│   ├── opengl.cpp
│   ├── queryint.cpp
│   ├── rad.h
│   ├── resource.h
│   ├── shareddc.cpp
│   ├── shareddc.hpp
│   ├── smack.cpp
│   ├── smack.h
│   ├── stb_dxt.h
│   ├── supmodes.cpp
│   ├── syslibs.h
│   ├── toggle_fs.cpp
│   ├── user32.cpp
│   ├── virtualdc.cpp
│   ├── walkmod.cpp
│   ├── wing32.cpp
│   ├── winmm.cpp
│   ├── winproc.cpp
│   └── wintrust.cpp
├── filter/
│   ├── bilinear16_555.cpp
│   ├── bilinear16_565.cpp
│   ├── bilinear32.cpp
│   ├── filter.def
│   ├── filter.sln
│   └── filter.vcproj
├── host/
│   ├── CDragEdit.cpp
│   ├── CDragEdit.h
│   ├── CGlobalSettings.cpp
│   ├── CGlobalSettings.h
│   ├── CoolUtils.cpp
│   ├── CoolUtils.h
│   ├── CppUACSelfElevation.cpp
│   ├── DesktopDialog.cpp
│   ├── DesktopDialog.h
│   ├── KillProc.cpp
│   ├── KillProcTree.cpp
│   ├── MainFrm.cpp
│   ├── MainFrm.h
│   ├── MessageBox.cpp
│   ├── OutTrace.cpp
│   ├── PaletteDialog.cpp
│   ├── PaletteDialog.h
│   ├── Resource.h
│   ├── ShimsDialog.cpp
│   ├── ShimsDialog.h
│   ├── SpecialEdit.cpp
│   ├── SpecialEdit.h
│   ├── StatusDialog.cpp
│   ├── StatusDialog.h
│   ├── StdAfx.cpp
│   ├── StdAfx.h
│   ├── SystemTray.cpp
│   ├── SystemTray.h
│   ├── TabColor.cpp
│   ├── TabColor.h
│   ├── TabCompat.cpp
│   ├── TabCompat.h
│   ├── TabDebug.cpp
│   ├── TabDebug.h
│   ├── TabDirect3D.cpp
│   ├── TabDirect3D.h
│   ├── TabDirectX.cpp
│   ├── TabDirectX.h
│   ├── TabDirectX2.cpp
│   ├── TabDirectX2.h
│   ├── TabHook.cpp
│   ├── TabHook.h
│   ├── TabInput.cpp
│   ├── TabInput.h
│   ├── TabLogs.cpp
│   ├── TabLogs.h
│   ├── TabNotes.cpp
│   ├── TabNotes.h
│   ├── TabOpenGL.cpp
│   ├── TabOpenGL.h
│   ├── TabProgram.cpp
│   ├── TabProgram.h
│   ├── TabRegistry.cpp
│   ├── TabRegistry.h
│   ├── TabSysLibs.cpp
│   ├── TabSysLibs.h
│   ├── TabTiming.cpp
│   ├── TabTiming.h
│   ├── TabWindow.cpp
│   ├── TabWindow.h
│   ├── TargetDlg.cpp
│   ├── TargetDlg.h
│   ├── TimeSliderDialog.h
│   ├── TimeSliderDlg.cpp
│   ├── TlHelp32.h
│   ├── VJoyDialog.cpp
│   ├── VJoyDialog.h
│   ├── ViewFlagsDialog.cpp
│   ├── ViewFlagsDialog.h
│   ├── bmpext.h
│   ├── cdib.cpp
│   ├── cdib.h
│   ├── dib.cpp
│   ├── dxTabCtrl.cpp
│   ├── dxTabCtrl.h
│   ├── dxelevate.cpp
│   ├── dxwnd.manifest
│   ├── dxwndhost.aps
│   ├── dxwndhost.cpp
│   ├── dxwndhost.h
│   ├── dxwndhost.rc
│   ├── dxwndhost.vs2008.sln
│   ├── dxwndhost.vs2008.suo
│   ├── dxwndhost.vs2008.vcproj
│   ├── dxwndhostDoc.cpp
│   ├── dxwndhostDoc.h
│   ├── dxwndhostView.cpp
│   ├── dxwndhostView.h
│   ├── findwindow.cpp
│   ├── getfname.cpp
│   ├── host.aps
│   ├── host.rc
│   ├── res/
│   │   └── dxwndhost.rc2
│   ├── resource
│   └── resource1.h
├── locale/
│   ├── cn/
│   │   ├── Resources_CN.rc
│   │   ├── Resources_Cn.sln
│   │   ├── Resources_Cn.suo
│   │   └── Resources_Cn.vcproj
│   ├── en/
│   │   ├── Resources_EN.rc
│   │   ├── Resources_En.sln
│   │   ├── Resources_En.suo
│   │   └── Resources_En.vcproj
│   ├── it/
│   │   ├── Resources_IT.rc
│   │   ├── Resources_It.sln
│   │   ├── Resources_It.suo
│   │   └── Resources_It.vcproj
│   └── ru/
│       ├── Resources_RU.rc
│       ├── Resources_Ru.sln
│       ├── Resources_Ru.suo
│       └── Resources_Ru.vcproj
├── proxy/
│   ├── d3d8.cpp
│   ├── d3d8.def
│   ├── d3d8.sln
│   ├── d3d8.suo
│   ├── d3d8.vcproj
│   ├── d3d9.cpp
│   ├── d3d9.def
│   ├── d3d9.sln
│   ├── d3d9.suo
│   ├── d3d9.txt
│   ├── d3d9.vcproj
│   ├── ddraw.cpp
│   ├── ddraw.def
│   ├── ddraw.sln
│   ├── ddraw.suo
│   ├── ddraw.vcproj
│   ├── init.cpp
│   ├── wing32.cpp
│   ├── wing32.def
│   ├── wing32.sln
│   ├── wing32.suo
│   └── wing32.vcproj
└── wing/
    ├── wing32.cpp
    ├── wing32.def
    ├── wing32.sln
    ├── wing32.suo
    └── wing32.vcproj

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
*.dll filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text


================================================
FILE: Disasm201/Disasm.bpr
================================================
<?xml version='1.0' encoding='utf-8' ?>
<!-- C++Builder XML Project -->
<PROJECT>
  <MACROS>
    <VERSION value="BCB.05.03"/>
    <PROJECT value="Disasm.exe"/>
    <OBJFILES value="Disasm.obj main.obj cmdlist.obj"/>
    <RESFILES value=""/>
    <DEFFILE value=""/>
    <RESDEPEN value="$(RESFILES)"/>
    <LIBFILES value=""/>
    <LIBRARIES value="Vcl50.lib"/>
    <SPARELIBS value="Vcl50.lib"/>
    <PACKAGES value=""/>
    <PATHCPP value=".;"/>
    <PATHPAS value=".;"/>
    <PATHRC value=".;"/>
    <PATHASM value=".;"/>
    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
    <RELEASELIBPATH value="$(BCB)\lib\release"/>
    <LINKER value="tlink32"/>
    <USERDEFINES value="_DEBUG"/>
    <SYSDEFINES value="NO_STRICT;_NO_VCL;USEPACKAGES"/>
    <MAINSOURCE value="Disasm.bpf"/>
    <INCLUDEPATH value="$(BCB)\include;$(BCB)\include\vcl"/>
    <LIBPATH value="$(BCB)\lib\obj;$(BCB)\lib"/>
    <WARNINGS value="-w-par"/>
  </MACROS>
  <OPTIONS>
    <CFLAG1 value="-O2 -Oc -Ov -OS -H=$(BCB)\lib\vcl50.csm -Hc -w -Vx -Ve -X- -a1 -b -d -k -y 
      -v -vi -tWC -tWM- -c"/>
    <PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
    <RFLAGS value=""/>
    <AFLAGS value="/mx /w2 /zd"/>
    <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn -v"/>
  </OPTIONS>
  <LINKER>
    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
    <ALLRES value="$(RESFILES)"/>
    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32.lib"/>
  </LINKER>
  <IDEOPTIONS>
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252

[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

[HistoryLists\hlIncludePath]
Count=1
Item0=$(BCB)\include;$(BCB)\include\vcl

[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl

[HistoryLists\hlConditionals]
Count=1
Item0=_DEBUG

[Debugging]
DebugSourceDirs=$(BCB)\source\vcl

[Parameters]
RunParams=
HostApplication=
RemoteHost=
RemotePath=
RemoteDebug=0

[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0
  </IDEOPTIONS>
</PROJECT>

================================================
FILE: Disasm201/Disasm.c
================================================
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// OllyDbg Disassembling Engine v2.01                                         //
//                                                                            //
// Copyright (c) 2007-2013 Oleh Yuschuk, ollydbg@t-online.de                  //
//                                                                            //
// This code is part of the OllyDbg Disassembler v2.01                        //
//                                                                            //
// Disassembling engine is free software; you can redistribute it and/or      //
// modify it under the terms of the GNU General Public License as published   //
// by the Free Software Foundation; either version 3 of the License, or (at   //
// your option) any later version.                                            //
//                                                                            //
// This code is distributed in the hope that it will be useful, but WITHOUT   //
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or      //
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for   //
// more details.                                                              //
//                                                                            //
// You should have received a copy of the GNU General Public License along    //
// with this program. If not, see <http://www.gnu.org/licenses/>.             //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// This is a fast disassembler that can be used to determine the length of    //
// the binary 80x86 32-bit command and its attributes, to convert it to the   //
// human-readable text form, highlight its operands, and create hexadecimal   //
// dump of the binary command.                                                //
//                                                                            //
// It is a stripped down version of the disassembler used by OllyDbg 2.01.    //
// It can't analyse and comment the contents of the operands, or predict the  //
// results of the command execution. Analysis-dependent features are not      //
// included, too. Most other features are kept.                               //
//                                                                            //
// Disassembler supports integer, FPU, MMX, 3DNow, SSE1-SSE4.1 and AVX        //
// instructions. 64-bit mode, AVX2, FMA and XOP are not (yet) supported.      //
//                                                                            //
// This code can be compiled either in ASCII or UNICODE mode. It is reentrant //
// (thread-safe, feature not available in the original OllyDbg code).         //
//                                                                            //
// Typical operation speed on 3-GHz Phenom II in MASM mode is:                //
//                                                                            //
//   Command length and info:          130 ns/command (7,700,000 commands/s)  //
//   Disassembly:                      290 ns/command (3,400,000 commands/s)  //
//   Disassembly, dump, highlighting:  350 ns/command (2,800,000 commands/s)  //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#pragma hdrstop

#include "disasm.h"


////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// SYMBOLIC NAMES ////////////////////////////////

// 8-bit register names, sorted by 'natural' index (as understood by CPU, not
// in the alphabetical order as some 'programmers' prefer).
const tchar *regname8[NREG] = {
  T("AL"),       T("CL"),       T("DL"),       T("BL"),
  T("AH"),       T("CH"),       T("DH"),       T("BH")  };

// 16-bit register names.
const tchar *regname16[NREG] = {
  T("AX"),       T("CX"),       T("DX"),       T("BX"),
  T("SP"),       T("BP"),       T("SI"),       T("DI")  };

// 32-bit register names.
const tchar *regname32[NREG] = {
  T("EAX"),      T("ECX"),      T("EDX"),      T("EBX"),
  T("ESP"),      T("EBP"),      T("ESI"),      T("EDI") };

// Names of segment registers.
const tchar *segname[NREG] = {
  T("ES"),       T("CS"),       T("SS"),       T("DS"),
  T("FS"),       T("GS"),       T("SEG6:"),    T("SEG7:") };

// Names of FPU registers, classical form.
const tchar *fpulong[NREG] = {
  T("ST(0)"),    T("ST(1)"),    T("ST(2)"),    T("ST(3)"),
  T("ST(4)"),    T("ST(5)"),    T("ST(6)"),    T("ST(7)") };

// Names of FPU registers, short form.
const tchar *fpushort[NREG] = {
  T("ST0"),      T("ST1"),      T("ST2"),      T("ST3"),
  T("ST4"),      T("ST5"),      T("ST6"),      T("ST7") };

// Names of MMX/3DNow! registers.
const tchar *mmxname[NREG] = {
  T("MM0"),      T("MM1"),      T("MM2"),      T("MM3"),
  T("MM4"),      T("MM5"),      T("MM6"),      T("MM7") };

// Names of 128-bit SSE registers.
const tchar *sse128[NREG] = {
  T("XMM0"),     T("XMM1"),     T("XMM2"),     T("XMM3"),
  T("XMM4"),     T("XMM5"),     T("XMM6"),     T("XMM7") };

// Names of 256-bit SSE registers.
const tchar *sse256[NREG] = {
  T("YMM0"),     T("YMM1"),     T("YMM2"),     T("YMM3"),
  T("YMM4"),     T("YMM5"),     T("YMM6"),     T("YMM7") };

// Names of control registers.
const tchar *crname[NREG] = {
  T("CR0"),      T("CR1"),      T("CR2"),      T("CR3"),
  T("CR4"),      T("CR5"),      T("CR6"),      T("CR7") };

// Names of debug registers.
const tchar *drname[NREG] = {
  T("DR0"),      T("DR1"),      T("DR2"),      T("DR3"),
  T("DR4"),      T("DR5"),      T("DR6"),      T("DR7") };

// Declarations for data types. Depending on ssesizemode, name of 16-byte data
// type (DQWORD) may be changed to XMMWORD and that of 32-bit type (QQWORD) to
// YMMWORD.
const tchar *sizename[33] = {
  NULL,          T("BYTE"),     T("WORD"),     NULL,
  T("DWORD"),    NULL,          T("FWORD"),    NULL,
  T("QWORD"),    NULL,          T("TBYTE"),    NULL,
  NULL,          NULL,          NULL,          NULL,
  T("DQWORD"),   NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  T("QQWORD") };

// Keywords for immediate data. HLA uses sizename[] instead of sizekey[].
const tchar *sizekey[33] = {
  NULL,          T("DB"),       T("DW"),       NULL,
  T("DD"),       NULL,          T("DF"),       NULL,
  T("DQ"),       NULL,          T("DT"),       NULL,
  NULL,          NULL,          NULL,          NULL,
  T("DDQ"),      NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  T("DQQ") };

// Keywords for immediate data in AT&T format.
const tchar *sizeatt[33] = {
  NULL,          T(".BYTE"),    T(".WORD"),    NULL,
  T(".LONG"),    NULL,          T(".FWORD"),   NULL,
  T(".QUAD"),    NULL,          T(".TBYTE"),   NULL,
  NULL,          NULL,          NULL,          NULL,
  T(".DQUAD"),   NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  NULL,          NULL,          NULL,          NULL,
  T(".QQUAD") };

// Comparison predicates in SSE [0..7] and VEX commands [0..31].
const tchar *ssepredicate[32] = {
  T("EQ"),       T("LT"),       T("LE"),       T("UNORD"),
  T("NEQ"),      T("NLT"),      T("NLE"),      T("ORD"),
  T("EQ_UQ"),    T("NGE"),      T("NGT"),      T("FALSE"),
  T("NEQ_OQ"),   T("GE"),       T("GT"),       T("TRUE"),
  T("EQ_OS"),    T("LT_OQ"),    T("LE_OQ"),    T("UNORD_S"),
  T("NEQ_US"),   T("NLT_UQ"),   T("NLE_UQ"),   T("ORD_S"),
  T("EQ_US"),    T("NGE_UQ"),   T("NGT_UQ"),   T("FALSE_OS"),
  T("NEQ_OS"),   T("GE_OQ"),    T("GT_OQ"),    T("TRUE_US") };


////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// DISASSEMBLER /////////////////////////////////

typedef struct t_imdata {              // Intermediate disassembler data
  t_disasm       *da;                  // Result of disassembly
  ulong          damode;               // Disassembling mode, set of DA_xxx
  t_config       *config;              // Disassembler configuration
  int            (*decodeaddress)(tchar *s,ulong addr);
  ulong          prefixlist;           // List of command's prefixes, PF_xxx
  int            ssesize;              // Size of SSE operands (16/32 bytes)
  ulong          immsize1;             // Size of first immediate constant
  ulong          immsize2;             // Size of second immediate constant
  ulong          mainsize;             // Size of command with prefixes
  ulong          modsize;              // Size of ModRegRM/SIB bytes
  ulong          dispsize;             // Size of address offset
  int            usesdatasize;         // May have data size prefix
  int            usesaddrsize;         // May have address size prefix
  int            usessegment;          // May have segment override prefix
} t_imdata;

static t_config  defconfig = {         // Default disassembler configuration
  DAMODE_MASM,                         // Main style, one of DAMODE_xxx
  NUM_STD|NUM_DECIMAL,                 // Constant part of address, NUM_xxx
  NUM_STD|NUM_LONG,                    // Jump/call destination, NUM_xxx
  NUM_STD|NUM_LONG,                    // Binary constants, NUM_xxx
  NUM_STD|NUM_DECIMAL,                 // Numeric constants, NUM_xxx
  0,                                   // Force lowercase display
  0,                                   // Tab between mnemonic and arguments
  0,                                   // Extra space between arguments
  0,                                   // Use RET instead of RETN
  1,                                   // Use short form of string commands
  0,                                   // Display default segments in listing
  1,                                   // Always show memory size
  0,                                   // Show NEAR modifiers
  1,                                   // How to decode size of SSE operands
  0,                                   // How to decode jump hints
  0,                                   // How to decode size-sensitive mnemonics
  0,                                   // How to decode top of FPU stack
  0                                    // Highlight operands
};

static t_config  attconfig = {         // AT&T disassembler configuration
  DAMODE_ATT,                          // Main style, one of DAMODE_xxx
  NUM_X|NUM_DECIMAL,                   // Constant part of address, NUM_xxx
  NUM_X|NUM_LONG,                      // Jump/call destination, NUM_xxx
  NUM_X|NUM_LONG,                      // Binary constants, NUM_xxx
  NUM_X|NUM_DECIMAL,                   // Numeric constants, NUM_xxx
  1,                                   // Force lowercase display
  1,                                   // Tab between mnemonic and arguments
  1,                                   // Extra space between arguments
  0,                                   // Use RET instead of RETN
  1,                                   // Use short form of string commands
  0,                                   // Display default segments in listing
  0,                                   // Always show memory size
  0,                                   // Show NEAR modifiers
  1,                                   // How to decode size of SSE operands
  0,                                   // How to decode jump hints
  0,                                   // How to decode size-sensitive mnemonics
  0,                                   // How to decode top of FPU stack
  0                                    // Highlight operands
};

////////////////////////////////////////////////////////////////////////////////
////////////////////////////// SERVICE FUNCTIONS ///////////////////////////////

static tchar hexcharu[16] = {          // Nibble-to-hexdigit table, uppercase
  T('0'), T('1'), T('2'), T('3'), T('4'), T('5'), T('6'), T('7'),
  T('8'), T('9'), T('A'), T('B'), T('C'), T('D'), T('E'), T('F') };

static tchar hexcharl[16] = {          // Nibble-to-hexdigit table, lowercase
  T('0'), T('1'), T('2'), T('3'), T('4'), T('5'), T('6'), T('7'),
  T('8'), T('9'), T('a'), T('b'), T('c'), T('d'), T('e'), T('f') };

static tchar cvtlower[256];

// Copies at most n-1 wide characters from src to dest and assures that dest is
// null-terminated. Slow but reliable. Returns number of copied characters, not
// including the terminal null. Attention, does not check that input parameters
// are correct!
static int Tstrcopy(tchar *dest,int n,const tchar *src) {
  int i;
  if (n<=0)
    return 0;
  for (i=0; i<n-1; i++) {
    if (*src==T('\0')) break;
    *dest++=*src++; };
  *dest=T('\0');
  return i;
};

// Copies at most n-1 wide characters from src to dest and assures that dest is
// null-terminated. If lowercase is 1, simultaneously converts it to lower
// case. Slow but reliable. Returns number of copied characters, not including
// the terminal null. Attention, does not check that input parameters are
// correct!
static int Tcopycase(tchar *dest,int n,const tchar *src,int lowercase) {
  int i;
  if (n<=0)
    return 0;
  for (i=0; i<n-1; i++) {
    if (*src==T('\0')) break;
    if (lowercase)
      *dest++=cvtlower[*src++];        // Much faster than call to tolower()
    else
      *dest++=*src++;
    ;
  };
  *dest=T('\0');
  return i;
};

// Dumps ncode bytes of code to the string s. Returns length of resulting text,
// characters, not including terminal zero. Attention, does not check that
// input parameters are correct or that s has sufficient length!
static int Thexdump(tchar *s,uchar *code,int ncode,int lowercase) {
  int d,n;
  static tchar *hexchar;
  hexchar=(lowercase?hexcharl:hexcharu);
  n=0;
  while (ncode>0) {
    d=*code++;
    s[n++]=hexchar[(d>>4) & 0x0F];
    s[n++]=hexchar[d & 0x0F];
    ncode--;
  };
  s[n]=T('\0');
  return n;
};

// Converts unsigned 1-, 2- or 4-byte number to hexadecimal text, according to
// the specified mode and type of argument. String s must be at least SHORTNAME
// characters long. Returns length of resulting text in characters, not
// including the terminal zero.
static int Hexprint(int size,tchar *s,ulong u,const t_imdata *im,ulong arg) {
  int i,k,ndigit,lastdigit;
  ulong nummode,mod;
  tchar buf[SHORTNAME];
  static tchar *hexchar;
  if (size==1)
    u&=0x000000FF;                     // 8-bit number
  else if (size==2)
    u&=0x0000FFFF;                     // 16-bit number
  else
    size=4;                            // Correct possible errors
  mod=arg & B_MODMASK;
  if (mod==B_ADDR)
    nummode=im->config->memmode;
  else if (mod==B_JMPCALL || mod==B_JMPCALLFAR)
    nummode=im->config->jmpmode;
  else if (mod==B_BINARY)
    nummode=im->config->binconstmode;
  else
    nummode=im->config->constmode;
  hexchar=(im->config->lowercase?hexcharl:hexcharu);
  buf[SHORTNAME-1]=T('\0');
  k=SHORTNAME-1;
  if ((nummode & NUM_DECIMAL)!=0 && (mod==B_SIGNED || mod==B_UNSIGNED ||
    (u<DECLIMIT && mod!=B_BINARY && mod!=B_JMPCALL && mod!=B_JMPCALLFAR))
  ) {
    // Decode as decimal unsigned number.
    if ((nummode & NUM_STYLE)==NUM_OLLY && u>=10)
      buf[--k]=T('.');                 // Period marks decimals in OllyDbg
    do {
      buf[--k]=hexchar[u%10];
      u/=10;
    } while (u!=0); }
  else {
    // Decode as hexadecimal number.
    if (nummode & NUM_LONG)            // 2, 4 or 8 significant digits
      ndigit=size*2;
    else
      ndigit=1;
    if ((nummode & NUM_STYLE)==NUM_STD)
      buf[--k]=T('h');
    for (i=0; i<ndigit || u!=0; i++) {
      lastdigit=u & 0x0F;
      buf[--k]=hexchar[lastdigit];
      u=(u>>4) & 0x0FFFFFFF; };
    if ((nummode & NUM_STYLE)==NUM_X) {
      buf[--k]=T('x');
      buf[--k]=T('0'); }
    else if (lastdigit>=10 &&
      ((nummode & NUM_STYLE)!=NUM_OLLY || i<(mod==B_BINARY?size*2:8)))
      buf[--k]=T('0');
    ;
  };
  return Tstrcopy(s,SHORTNAME,buf+k);
};


////////////////////////////////////////////////////////////////////////////////
///////////////////////// INTERNAL DISASSEMBLER TABLES /////////////////////////

t_chain          *cmdchain;            // Commands sorted by first CMDMASK bits
t_modrm          modrm16[256];         // 16-bit ModRM decodings
t_modrm          modrm32[256];         // 32-bit ModRM decodings without SIB
t_modrm          sib0[256];            // ModRM-SIB decodings with Mod=00
t_modrm          sib1[256];            // ModRM-SIB decodings with Mod=01
t_modrm          sib2[256];            // ModRM-SIB decodings with Mod=10

// Initializes disassembler tables. Call this function once during startup.
// Returns 0 on success and -1 if initialization was unsuccessful. In the last
// case, continuation is not possible and program must terminate.
int Preparedisasm(void) {
  int n,c,reg,sreg,scale,nchain;
  ulong u,code,mask;
  const t_bincmd *pcmd;
  t_chain *pchain;
  t_modrm *pmrm,*psib;
  if (cmdchain!=NULL)
    return 0;                          // Already initialized
  // Sort command descriptors into command chains by first CMDMASK bits.
  cmdchain=(t_chain *)malloc(NCHAIN*sizeof(t_chain));
  if (cmdchain==NULL)                  // Low memory
    return -1;
  memset(cmdchain,0,NCHAIN*sizeof(t_chain));
  nchain=CMDMASK+1;                    // Number of command chains
  for (pcmd=bincmd; pcmd->length!=0; pcmd++) {
    if ((pcmd->cmdtype & D_CMDTYPE)==D_PSEUDO)
      continue;                        // Pseudocommand, for search models only
    code=pcmd->code;
    mask=pcmd->mask & CMDMASK;
    for (u=0; u<CMDMASK+1; u++) {
      if (((u ^ code) & mask)!=0)
        continue;                      // Command has different first bytes
      pchain=cmdchain+u;
      while (pchain->pcmd!=NULL && pchain->pnext!=NULL)
        pchain=pchain->pnext;          // Walk chain to the end
      if (pchain->pcmd==NULL)
        pchain->pcmd=pcmd;
      else if (nchain>=NCHAIN)
        return -1;                     // Too many commands
      else {
        pchain->pnext=cmdchain+nchain; // Prolongate chain
        pchain=pchain->pnext;
        pchain->pcmd=pcmd;
        nchain++;
      };
    };
  };
  // Prepare 16-bit ModRM decodings.
  memset(modrm16,0,sizeof(modrm16));
  for (c=0x00,pmrm=modrm16; c<=0xFF; c++,pmrm++) {
    reg=c & 0x07;
    if ((c & 0xC0)==0xC0) {
      // Register in ModRM.
      pmrm->size=1;
      pmrm->features=0;                // Register, its type as yet unknown
      pmrm->reg=reg;
      pmrm->defseg=SEG_UNDEF;
      pmrm->basereg=REG_UNDEF; }
    else if ((c & 0xC7)==0x06) {
      // Special case of immediate address.
      pmrm->size=3;
      pmrm->dispsize=2;
      pmrm->features=OP_MEMORY|OP_OPCONST|OP_ADDR16;
      pmrm->reg=REG_UNDEF;
      pmrm->defseg=SEG_DS;
      pmrm->basereg=REG_UNDEF; }
    else {
      pmrm->features=OP_MEMORY|OP_INDEXED|OP_ADDR16;
      if ((c & 0xC0)==0x40) {
        pmrm->dispsize=1; pmrm->features|=OP_OPCONST; }
      else if ((c & 0xC0)==0x80) {
        pmrm->dispsize=2; pmrm->features|=OP_OPCONST; };
      pmrm->size=pmrm->dispsize+1;
      pmrm->reg=REG_UNDEF;
      switch (reg) {
        case 0:
          pmrm->scale[REG_EBX]=1; pmrm->scale[REG_ESI]=1;
          pmrm->defseg=SEG_DS;
          tstrcpy(pmrm->ardec,T("BX+SI"));
          tstrcpy(pmrm->aratt,T("%BX,%SI"));
          pmrm->aregs=(1<<REG_EBX)|(1<<REG_ESI);
          pmrm->basereg=REG_ESI; break;
        case 1:
          pmrm->scale[REG_EBX]=1; pmrm->scale[REG_EDI]=1;
          pmrm->defseg=SEG_DS;
          tstrcpy(pmrm->ardec,T("BX+DI"));
          tstrcpy(pmrm->aratt,T("%BX,%DI"));
          pmrm->aregs=(1<<REG_EBX)|(1<<REG_EDI);
          pmrm->basereg=REG_EDI; break;
        case 2:
          pmrm->scale[REG_EBP]=1; pmrm->scale[REG_ESI]=1;
          pmrm->defseg=SEG_SS;
          tstrcpy(pmrm->ardec,T("BP+SI"));
          tstrcpy(pmrm->aratt,T("%BP,%SI"));
          pmrm->aregs=(1<<REG_EBP)|(1<<REG_ESI);
          pmrm->basereg=REG_ESI; break;
        case 3:
          pmrm->scale[REG_EBP]=1; pmrm->scale[REG_EDI]=1;
          pmrm->defseg=SEG_SS;
          tstrcpy(pmrm->ardec,T("BP+DI"));
          tstrcpy(pmrm->aratt,T("%BP,%DI"));
          pmrm->aregs=(1<<REG_EBP)|(1<<REG_EDI);
          pmrm->basereg=REG_EDI; break;
        case 4:
          pmrm->scale[REG_ESI]=1;
          pmrm->defseg=SEG_DS;
          tstrcpy(pmrm->ardec,T("SI"));
          tstrcpy(pmrm->aratt,T("%SI"));
          pmrm->aregs=(1<<REG_ESI);
          pmrm->basereg=REG_ESI; break;
        case 5:
          pmrm->scale[REG_EDI]=1;
          pmrm->defseg=SEG_DS;
          tstrcpy(pmrm->ardec,T("DI"));
          tstrcpy(pmrm->aratt,T("%DI"));
          pmrm->aregs=(1<<REG_EDI);
          pmrm->basereg=REG_EDI; break;
        case 6:
          pmrm->scale[REG_EBP]=1;
          pmrm->defseg=SEG_SS;
          tstrcpy(pmrm->ardec,T("BP"));
          tstrcpy(pmrm->aratt,T("%BP"));
          pmrm->aregs=(1<<REG_EBP);
          pmrm->basereg=REG_EBP; break;
        case 7:
          pmrm->scale[REG_EBX]=1;
          pmrm->defseg=SEG_DS;
          tstrcpy(pmrm->ardec,T("BX"));
          tstrcpy(pmrm->aratt,T("%BX"));
          pmrm->aregs=(1<<REG_EBX);
          pmrm->basereg=REG_EBX;
        break;
      };
    };
  };
  // Prepare 32-bit ModRM decodings without SIB.
  memset(modrm32,0,sizeof(modrm32));
  for (c=0x00,pmrm=modrm32; c<=0xFF; c++,pmrm++) {
    reg=c & 0x07;
    if ((c & 0xC0)==0xC0) {
      // Register in ModRM.
      pmrm->size=1;
      pmrm->features=0;                // Register, its type as yet unknown
      pmrm->reg=reg;
      pmrm->defseg=SEG_UNDEF;
      pmrm->basereg=REG_UNDEF; }
    else if ((c & 0xC7)==0x05) {
      // Special case of 32-bit immediate address.
      pmrm->size=5;
      pmrm->dispsize=4;
      pmrm->features=OP_MEMORY|OP_OPCONST;
      pmrm->reg=REG_UNDEF;
      pmrm->defseg=SEG_DS;
      pmrm->basereg=REG_UNDEF; }
    else {
      // Regular memory address.
      pmrm->features=OP_MEMORY;
      pmrm->reg=REG_UNDEF;
      if ((c & 0xC0)==0x40) {
        pmrm->dispsize=1;              // 8-bit sign-extended displacement
        pmrm->features|=OP_OPCONST; }
      else if ((c & 0xC0)==0x80) {
        pmrm->dispsize=4;              // 32-bit displacement
        pmrm->features|=OP_OPCONST; };
      if (reg==REG_ESP) {
        // SIB byte follows, decode with sib32.
        if ((c & 0xC0)==0x00) pmrm->psib=sib0;
        else if ((c & 0xC0)==0x40) pmrm->psib=sib1;
        else pmrm->psib=sib2;
        pmrm->basereg=REG_UNDEF; }
      else {
        pmrm->size=1+pmrm->dispsize;
        pmrm->features|=OP_INDEXED;
        pmrm->defseg=(reg==REG_EBP?SEG_SS:SEG_DS);
        pmrm->scale[reg]=1;
        tstrcpy(pmrm->ardec,regname32[reg]);
        pmrm->aratt[0]=T('%');
        Tstrcopy(pmrm->aratt+1,SHORTNAME-1,regname32[reg]);
        pmrm->aregs=(1<<reg);
        pmrm->basereg=reg;
      };
    };
  };
  // Prepare 32-bit ModRM decodings with SIB, case Mod=00: usually no disp.
  memset(sib0,0,sizeof(sib0));
  for (c=0x00,psib=sib0; c<=0xFF; c++,psib++) {
    psib->features=OP_MEMORY;
    psib->reg=REG_UNDEF;
    reg=c & 0x07;
    sreg=(c>>3) & 0x07;
    if ((c & 0xC0)==0) scale=1;
    else if ((c & 0xC0)==0x40) scale=2;
    else if ((c & 0xC0)==0x80) scale=4;
    else scale=8;
    if (sreg!=REG_ESP) {
      psib->scale[sreg]=(uchar)scale;
      n=Tstrcopy(psib->ardec,SHORTNAME,regname32[sreg]);
      psib->aregs=(1<<sreg);
      psib->features|=OP_INDEXED;
      if (scale>1) {
        psib->ardec[n++]=T('*');
        psib->ardec[n++]=(tchar)(T('0')+scale);
        psib->ardec[n]=T('\0');
      }; }
    else
      n=0;
    if (reg==REG_EBP) {
      psib->size=6;
      psib->dispsize=4;
      psib->features|=OP_OPCONST;
      psib->defseg=SEG_DS;
      psib->basereg=REG_UNDEF; }
    else {
      psib->size=2;
      psib->defseg=((reg==REG_ESP || reg==REG_EBP)?SEG_SS:SEG_DS);
      psib->scale[reg]++;
      psib->features|=OP_INDEXED;
      if (n!=0) psib->ardec[n++]=T('+');
      Tstrcopy(psib->ardec+n,SHORTNAME-n,regname32[reg]);
      psib->aregs|=(1<<reg);
      psib->basereg=reg; };
    if (reg!=REG_EBP) {
      psib->aratt[0]=T('%'); n=1;
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[reg]); }
    else
      n=0;
    if (sreg!=REG_ESP) {
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,T(",%"));
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[sreg]);
      if (scale>1) {
        psib->aratt[n++]=T(',');
        psib->aratt[n++]=(tchar)(T('0')+scale);
        psib->aratt[n]=T('\0');
      };
    };
  };
  // Prepare 32-bit ModRM decodings with SIB, case Mod=01: 8-bit displacement.
  memset(sib1,0,sizeof(sib1));
  for (c=0x00,psib=sib1; c<=0xFF; c++,psib++) {
    psib->features=OP_MEMORY|OP_INDEXED|OP_OPCONST;
    psib->reg=REG_UNDEF;
    reg=c & 0x07;
    sreg=(c>>3) & 0x07;
    if ((c & 0xC0)==0) scale=1;
    else if ((c & 0xC0)==0x40) scale=2;
    else if ((c & 0xC0)==0x80) scale=4;
    else scale=8;
    psib->size=3;
    psib->dispsize=1;
    psib->defseg=((reg==REG_ESP || reg==REG_EBP)?SEG_SS:SEG_DS);
    psib->scale[reg]=1;
    psib->basereg=reg;
    psib->aregs=(1<<reg);
    if (sreg!=REG_ESP) {
      psib->scale[sreg]+=(uchar)scale;
      n=Tstrcopy(psib->ardec,SHORTNAME,regname32[sreg]);
      psib->aregs|=(1<<sreg);
      if (scale>1) {
        psib->ardec[n++]=T('*');
        psib->ardec[n++]=(tchar)(T('0')+scale);
      }; }
    else
      n=0;
    if (n!=0) psib->ardec[n++]=T('+');
    Tstrcopy(psib->ardec+n,SHORTNAME-n,regname32[reg]);
    psib->aratt[0]=T('%'); n=1;
    n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[reg]);
    if (sreg!=REG_ESP) {
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,T(",%"));
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[sreg]);
      if (scale>1) {
        psib->aratt[n++]=T(',');
        psib->aratt[n++]=(tchar)(T('0')+scale);
        psib->aratt[n]=T('\0');
      };
    };
  };
  // Prepare 32-bit ModRM decodings with SIB, case Mod=10: 32-bit displacement.
  memset(sib2,0,sizeof(sib2));
  for (c=0x00,psib=sib2; c<=0xFF; c++,psib++) {
    psib->features=OP_MEMORY|OP_INDEXED|OP_OPCONST;
    psib->reg=REG_UNDEF;
    reg=c & 0x07;
    sreg=(c>>3) & 0x07;
    if ((c & 0xC0)==0) scale=1;
    else if ((c & 0xC0)==0x40) scale=2;
    else if ((c & 0xC0)==0x80) scale=4;
    else scale=8;
    psib->size=6;
    psib->dispsize=4;
    psib->defseg=((reg==REG_ESP || reg==REG_EBP)?SEG_SS:SEG_DS);
    psib->scale[reg]=1;
    psib->basereg=reg;
    psib->aregs=(1<<reg);
    if (sreg!=REG_ESP) {
      psib->scale[sreg]+=(uchar)scale;
      n=Tstrcopy(psib->ardec,SHORTNAME,regname32[sreg]);
      psib->aregs|=(1<<sreg);
      if (scale>1) {
        psib->ardec[n++]=T('*');
        psib->ardec[n++]=(tchar)(T('0')+scale);
      }; }
    else
      n=0;
    if (n!=0) psib->ardec[n++]=T('+');
    Tstrcopy(psib->ardec+n,SHORTNAME-n,regname32[reg]);
    psib->aratt[0]=T('%'); n=1;
    n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[reg]);
    if (sreg!=REG_ESP) {
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,T(",%"));
      n+=Tstrcopy(psib->aratt+n,SHORTNAME-n,regname32[sreg]);
      if (scale>1) {
        psib->aratt[n++]=T(',');
        psib->aratt[n++]=(tchar)(T('0')+scale);
        psib->aratt[n]=T('\0');
      };
    };
  };
  // Fill lowercase conversion table. This table replaces tolower(). When
  // compiled with Borland C++ Builder, spares significant time.
  for (c=0; c<256; c++)
    cvtlower[c]=(tchar)ttolower(c);
  // Report success.
  return 0;
};

// Frees resources allocated by Preparedisasm(). Call this function once
// during shutdown after disassembling service is no longer necessary.
void Finishdisasm(void) {
  if (cmdchain!=NULL) {
    free(cmdchain);
    cmdchain=NULL;
  };
};


////////////////////////////////////////////////////////////////////////////////
////////////////////////////// AUXILIARY ROUTINES //////////////////////////////

// Given index of byte register, returns index of 32-bit container.
static int Byteregtodwordreg(int bytereg) {
  if (bytereg<0 || bytereg>=NREG)
    return REG_UNDEF;
  if (bytereg>=4)
    return bytereg-4;
  return bytereg;
};

// Checks prefix override flags and generates warnings if prefix is superfluous.
// Returns index of segment register. Note that Disasm() assures that two
// segment override bits in im->prefixlist can't be set simultaneously.
static int Getsegment(t_imdata *im,int arg,int defseg) {
  if ((im->prefixlist & PF_SEGMASK)==0)
    return defseg;                     // Optimization for most frequent case
  switch (im->prefixlist & PF_SEGMASK) {
    case PF_ES:
      if (defseg==SEG_ES) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_ES;
    case PF_CS:
      if (defseg==SEG_CS) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_CS;
    case PF_SS:
      if (defseg==SEG_SS) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_SS;
    case PF_DS:
      if (defseg==SEG_DS) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_DS;
    case PF_FS:
      if (defseg==SEG_FS) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_FS;
    case PF_GS:
      if (defseg==SEG_GS) im->da->warnings|=DAW_DEFSEG;
      if (arg & B_NOSEG) im->da->warnings|=DAW_SEGPREFIX;
      return SEG_GS;
    default: return defseg;            // Most frequent case of default segment
  };
};

// Decodes generalized memory address to text.
static void Memaddrtotext(t_imdata *im,int arg,int datasize,int seg,
  const tchar *regpart,long constpart,tchar *s) {
  int n;
  tchar label[TEXTLEN];
  if (im->config->disasmmode==DAMODE_ATT) {
    // AT&T memory address syntax is so different from Intel that I process it
    // separately from the rest.
    n=0;
    if ((arg & B_MODMASK)==B_JMPCALL)
      s[n++]=T('*');
    // On request, I show only explicit segments.
    if ((im->config->putdefseg && (arg & B_NOSEG)==0) ||
      (im->prefixlist & PF_SEGMASK)!=0
    ) {
      s[n++]=T('%');
      n+=Tcopycase(s+n,TEXTLEN-n,segname[seg],im->config->lowercase);
      s[n++]=T(':'); };
    // Add constant part (offset).
    if (constpart<0 && constpart>NEGLIMIT) {
      s[n++]=T('-');
      n+=Hexprint((im->prefixlist & PF_ASIZE?2:4),s+n,-constpart,im,B_ADDR); }
    else if (constpart!=0) {
      if (seg!=SEG_FS && seg!=SEG_GS &&
        im->decodeaddress!=NULL &&
        im->decodeaddress(label,constpart)!=0)
        n+=Tstrcopy(s+n,TEXTLEN-n,label);
      else
        n+=Hexprint((im->prefixlist & PF_ASIZE?2:4),s+n,constpart,im,B_ADDR);
      ;
    };
    // Add register part of address, may be absent.
    if (regpart[0]!=T('\0')) {
      n+=Tstrcopy(s+n,TEXTLEN-n,T("("));
      n+=Tcopycase(s+n,TEXTLEN-n,regpart,im->config->lowercase);
      n+=Tstrcopy(s+n,TEXTLEN-n,T(")"));
    }; }
  else {
    // Mark far and near jump/call addresses.
    if ((arg & B_MODMASK)==B_JMPCALLFAR)
      n=Tcopycase(s,TEXTLEN,T("FAR "),im->config->lowercase);
    else if (im->config->shownear && (arg & B_MODMASK)==B_JMPCALL)
      n=Tcopycase(s,TEXTLEN,T("NEAR "),im->config->lowercase);
    else
      n=0;
    if (im->config->disasmmode!=DAMODE_MASM) {
      s[n++]=T('[');
      if ((im->prefixlist & PF_ASIZE)!=0 && regpart[0]==T('\0'))
        n+=Tcopycase(s+n,TEXTLEN-n,T("SMALL "),im->config->lowercase);
      ;
    };
    // If operand is longer than 32 bytes or of type B_ANYMEM (memory contents
    // unimportant), its size is not displayed. Otherwise, bit B_SHOWSIZE
    // indicates that explicit operand's size can't be omitted.
    if (datasize<=32 && (arg & B_ARGMASK)!=B_ANYMEM &&
      (im->config->showmemsize!=0 || (arg & B_SHOWSIZE)!=0)
    ) {
      if (im->config->disasmmode==DAMODE_HLA)
        n+=Tcopycase(s+n,TEXTLEN-n,T("TYPE "),im->config->lowercase);
      if ((arg & B_ARGMASK)==B_INTPAIR && im->config->disasmmode==DAMODE_IDEAL){
        // If operand is a pair of integers (BOUND), Borland in IDEAL mode
        // expects size of single integer, whereas MASM requires size of the
        // whole pair.
        n+=Tcopycase(s+n,TEXTLEN-n,sizename[datasize/2],im->config->lowercase);
        s[n++]=T(' '); }
      else if (datasize==16 && im->config->ssesizemode==1)
        n+=Tcopycase(s+n,TEXTLEN-n,T("XMMWORD "),im->config->lowercase);
      else if (datasize==32 && im->config->ssesizemode==1)
        n+=Tcopycase(s+n,TEXTLEN-n,T("YMMWORD "),im->config->lowercase);
      else {
        n+=Tcopycase(s+n,TEXTLEN-n,sizename[datasize],im->config->lowercase);
        s[n++]=T(' '); };
      if (im->config->disasmmode==DAMODE_MASM)
        n+=Tcopycase(s+n,TEXTLEN-n,T("PTR "),im->config->lowercase);
      ;
    };
    // On request, I show only explicit segments.
    if ((im->config->putdefseg && (arg & B_NOSEG)==0) ||
      (im->prefixlist & PF_SEGMASK)!=0
    ) {
      n+=Tcopycase(s+n,TEXTLEN-n,segname[seg],im->config->lowercase);
      s[n++]=T(':'); };
    if (im->config->disasmmode==DAMODE_MASM) {
      s[n++]=T('[');
      if ((im->prefixlist & PF_ASIZE)!=0 && regpart[0]==T('\0'))
        n+=Tcopycase(s+n,TEXTLEN-n,T("SMALL "),im->config->lowercase);
      ;
    };
    // Add register part of address, may be absent.
    if (regpart[0]!=T('\0'))
      n+=Tcopycase(s+n,TEXTLEN-n,regpart,im->config->lowercase);
    if (regpart[0]!=T('\0') && constpart<0 && constpart>NEGLIMIT) {
      s[n++]=T('-');
      n+=Hexprint((im->prefixlist & PF_ASIZE?2:4),s+n,-constpart,im,B_ADDR); }
    else if (constpart!=0 || regpart[0]==T('\0')) {
      if (regpart[0]!=T('\0')) s[n++]=T('+');
      if (seg!=SEG_FS && seg!=SEG_GS &&
        im->decodeaddress!=NULL &&
        im->decodeaddress(label,constpart)!=0)
        n+=Tstrcopy(s+n,TEXTLEN-n,label);
      else
        n+=Hexprint((im->prefixlist & PF_ASIZE?2:4),s+n,constpart,im,B_ADDR);
      ;
    };
    n+=Tstrcopy(s+n,TEXTLEN-n,T("]"));
  };
  s[n]=T('\0');
};

// Service function, returns granularity of MMX, 3DNow! and SSE operands.
static int Getgranularity(ulong arg) {
  int granularity;
  switch (arg & B_ARGMASK) {
    case B_MREG8x8:                    // MMX register as 8 8-bit integers
    case B_MMX8x8:                     // MMX reg/memory as 8 8-bit integers
    case B_MMX8x8DI:                   // MMX 8 8-bit integers at [DS:(E)DI]
    case B_XMM0I8x16:                  // XMM0 as 16 8-bit integers
    case B_SREGI8x16:                  // SSE register as 16 8-bit sigints
    case B_SVEXI8x16:                  // SSE reg in VEX as 16 8-bit sigints
    case B_SIMMI8x16:                  // SSE reg in immediate 8-bit constant
    case B_SSEI8x16:                   // SSE reg/memory as 16 8-bit sigints
    case B_SSEI8x16DI:                 // SSE 16 8-bit sigints at [DS:(E)DI]
    case B_SSEI8x8L:                   // Low 8 8-bit ints in SSE reg/memory
    case B_SSEI8x4L:                   // Low 4 8-bit ints in SSE reg/memory
    case B_SSEI8x2L:                   // Low 2 8-bit ints in SSE reg/memory
      granularity=1; break;
    case B_MREG16x4:                   // MMX register as 4 16-bit integers
    case B_MMX16x4:                    // MMX reg/memory as 4 16-bit integers
    case B_SREGI16x8:                  // SSE register as 8 16-bit sigints
    case B_SVEXI16x8:                  // SSE reg in VEX as 8 16-bit sigints
    case B_SSEI16x8:                   // SSE reg/memory as 8 16-bit sigints
    case B_SSEI16x4L:                  // Low 4 16-bit ints in SSE reg/memory
    case B_SSEI16x2L:                  // Low 2 16-bit ints in SSE reg/memory
      granularity=2; break;
    case B_MREG32x2:                   // MMX register as 2 32-bit integers
    case B_MMX32x2:                    // MMX reg/memory as 2 32-bit integers
    case B_3DREG:                      // 3DNow! register as 2 32-bit floats
    case B_3DNOW:                      // 3DNow! reg/memory as 2 32-bit floats
    case B_SREGF32x4:                  // SSE register as 4 32-bit floats
    case B_SVEXF32x4:                  // SSE reg in VEX as 4 32-bit floats
    case B_SREGF32L:                   // Low 32-bit float in SSE register
    case B_SVEXF32L:                   // Low 32-bit float in SSE in VEX
    case B_SREGF32x2L:                 // Low 2 32-bit floats in SSE register
    case B_SSEF32x4:                   // SSE reg/memory as 4 32-bit floats
    case B_SSEF32L:                    // Low 32-bit float in SSE reg/memory
    case B_SSEF32x2L:                  // Low 2 32-bit floats in SSE reg/memory
      granularity=4; break;
    case B_XMM0I32x4:                  // XMM0 as 4 32-bit integers
    case B_SREGI32x4:                  // SSE register as 4 32-bit sigints
    case B_SVEXI32x4:                  // SSE reg in VEX as 4 32-bit sigints
    case B_SREGI32L:                   // Low 32-bit sigint in SSE register
    case B_SREGI32x2L:                 // Low 2 32-bit sigints in SSE register
    case B_SSEI32x4:                   // SSE reg/memory as 4 32-bit sigints
    case B_SSEI32x2L:                  // Low 2 32-bit sigints in SSE reg/memory
      granularity=4; break;
    case B_MREG64:                     // MMX register as 1 64-bit integer
    case B_MMX64:                      // MMX reg/memory as 1 64-bit integer
    case B_XMM0I64x2:                  // XMM0 as 2 64-bit integers
    case B_SREGF64x2:                  // SSE register as 2 64-bit floats
    case B_SVEXF64x2:                  // SSE reg in VEX as 2 64-bit floats
    case B_SREGF64L:                   // Low 64-bit float in SSE register
    case B_SVEXF64L:                   // Low 64-bit float in SSE in VEX
    case B_SSEF64x2:                   // SSE reg/memory as 2 64-bit floats
    case B_SSEF64L:                    // Low 64-bit float in SSE reg/memory
      granularity=8; break;
    case B_SREGI64x2:                  // SSE register as 2 64-bit sigints
    case B_SVEXI64x2:                  // SSE reg in VEX as 2 64-bit sigints
    case B_SSEI64x2:                   // SSE reg/memory as 2 64-bit sigints
    case B_SREGI64L:                   // Low 64-bit sigint in SSE register
      granularity=8; break;
    default:
      granularity=1;                   // Treat unknown ops as string of bytes
    break; };
  return granularity;
};


////////////////////////////////////////////////////////////////////////////////
////////////////////////// OPERAND DECODING ROUTINES ///////////////////////////

// Decodes 8/16/32-bit integer register operand. ATTENTION, calling routine
// must set usesdatasize and usesaddrsize by itself!
static void Operandintreg(t_imdata *im,ulong datasize,int index,t_operand *op) {
  int n,reg32;
  op->features=OP_REGISTER;
  op->opsize=op->granularity=datasize;
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Add container register to lists of used and modified registers.
  if (datasize==1)
    reg32=Byteregtodwordreg(index);
  else
    reg32=index;
  if ((op->arg & B_CHG)==0) {
    op->uses=(1<<reg32);
    im->da->uses|=(1<<reg32); };
  if (op->arg & (B_CHG|B_UPD)) {
    op->modifies=(1<<reg32);
    im->da->modifies|=(1<<reg32); };
  // Warn if ESP is misused.
  if ((op->arg & B_NOESP)!=0 && reg32==REG_ESP)
    im->da->warnings|=DAW_NOESP;
  // Decode name of integer register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) {
      if ((op->arg & B_MODMASK)==B_JMPCALL) op->text[n++]=T('*');
      op->text[n++]=T('%'); };
    if (datasize==4)                   // Most frequent case first
      Tcopycase(op->text+n,TEXTLEN-n,regname32[index],im->config->lowercase);
    else if (datasize==1)
      Tcopycase(op->text+n,TEXTLEN-n,regname8[index],im->config->lowercase);
    else                               // 16-bit registers are seldom
      Tcopycase(op->text+n,TEXTLEN-n,regname16[index],im->config->lowercase);
    ;
  };
};

// Decodes 16/32-bit memory address in ModRM/SIB bytes. Returns full length of
// address (ModRM+SIB+displacement) in bytes, 0 if ModRM indicates register
// operand and -1 on error. ATTENTION, calling routine must set usesdatasize,
// granularity (preset to datasize) and reg together with OP_MODREG by itself!
static int Operandmodrm(t_imdata *im,ulong datasize,uchar *cmd,ulong cmdsize,
  t_operand *op) {
  tchar *ardec;
  t_modrm *pmrm;
  if (cmdsize==0) {
    im->da->errors|=DAE_CROSS;         // Command crosses end of memory block
    return -1; };
  // Decode ModRM/SIB. Most of the work is already done in Preparedisasm(), we
  // only need to find corresponding t_modrm.
  if (im->prefixlist & PF_ASIZE) {
    pmrm=modrm16+cmd[0];               // 16-bit address
    im->modsize=1; }
  else {
    pmrm=modrm32+cmd[0];
    if (pmrm->psib==NULL)
      im->modsize=1;                   // No SIB byte
    else {
      if (cmdsize<2) {
        im->da->errors|=DAE_CROSS;     // Command crosses end of memory block
        return -1; };
      pmrm=pmrm->psib+cmd[1];
      im->modsize=2;                   // Both ModRM and SIB
    };
  };
  // Check whether ModRM indicates register operand and immediately return if
  // true. As a side effect, modsize is already set.
  if ((cmd[0] & 0xC0)==0xC0)
    return 0;
  // Operand in memory.
  op->opsize=datasize;
  op->granularity=datasize;            // Default, may be overriden later
  op->reg=REG_UNDEF;
  im->usesaddrsize=1;                  // Address size prefix is meaningful
  im->usessegment=1;                   // Segment override prefix is meaningful
  // Fetch precalculated t_modrm fields.
  op->features=pmrm->features;
  memcpy(op->scale,pmrm->scale,8);
  op->aregs=pmrm->aregs;
  im->da->uses|=pmrm->aregs;           // Mark registers used to form address
  // Get displacement, if any.
  im->dispsize=pmrm->dispsize;
  if (pmrm->dispsize!=0) {
    if (cmdsize<pmrm->size) {
      im->da->errors|=DAE_CROSS;       // Command crosses end of memory block
      return -1; };
    if (pmrm->dispsize==1)             // 8-bit displacement is sign-extended
      op->opconst=im->da->memconst=(signed char)cmd[im->modsize];
    else if (pmrm->dispsize==4) {      // 32-bit full displacement
      im->da->memfixup=
        im->mainsize+im->modsize;      // Possible 32-bit fixup
      op->opconst=im->da->memconst=*(ulong *)(cmd+im->modsize); }
    else                               // 16-bit displacement, very rare
      op->opconst=im->da->memconst=*(ushort *)(cmd+im->modsize);
    ;
  };
  // Get segment.
  op->seg=Getsegment(im,op->arg,pmrm->defseg);
  // Warn if memory contents is 16-bit jump/call destination.
  if (datasize==2 && (op->arg & B_MODMASK)==B_JMPCALL)
    im->da->warnings|=DAW_JMP16;
  // Decode memory operand to text, if requested.
  if (im->damode & DA_TEXT) {
    ardec=(im->config->disasmmode==DAMODE_ATT?pmrm->aratt:pmrm->ardec);
    Memaddrtotext(im,op->arg,datasize,op->seg,ardec,op->opconst,op->text);
  };
  return pmrm->size;
};

// Decodes 16/32-bit immediate address (used only for 8/16/32-bit memory-
// accumulator moves). ATTENTION, calling routine must set usesdatasize by
// itself!
static void Operandimmaddr(t_imdata *im,ulong datasize,uchar *cmd,
  ulong cmdsize,t_operand *op) {
  if (im->prefixlist & PF_ASIZE)
    im->dispsize=2;
  else
    im->dispsize=4;
  if (cmdsize<im->dispsize) {
    im->da->errors|=DAE_CROSS;         // Command crosses end of memory block
    return; };
  op->features=OP_MEMORY|OP_OPCONST;
  op->opsize=op->granularity=datasize;
  op->reg=REG_UNDEF;
  im->usesaddrsize=1;                  // Address size prefix is meaningful
  im->usessegment=1;                   // Segment override prefix is meaningful
  if (im->dispsize==4) {               // 32-bit immediate address
    // 32-bit address means possible fixup, calculate offset.
    im->da->memfixup=im->mainsize;
    op->opconst=im->da->memconst=*(ulong *)cmd; }
  else {                               // 16-bit immediate address, very rare
    op->opconst=im->da->memconst=*(ushort *)cmd;
    op->features|=OP_ADDR16; };
  // Get segment.
  op->seg=Getsegment(im,op->arg,SEG_DS);
  // Decode memory operand to text, if requested.
  if (im->damode & DA_TEXT)
    Memaddrtotext(im,op->arg,datasize,op->seg,T(""),op->opconst,op->text);
  ;
};

// Decodes simple register address ([reg16] or [reg32]). Flag changesreg must
// be 0 if register remains unchanged and 1 if it changes. If fixseg is set to
// SEG_UNDEF, assumes overridable DS:, otherwise assumes fixsegment that cannot
// be overriden with segment prefix. If fixaddrsize is 2 or 4, assumes 16- or
// 32-bit addressing only, otherwise uses default. ATTENTION, calling routine
// must set usesdatasize by itself!
static void Operandindirect(t_imdata *im,int index,int changesreg,int fixseg,
  int fixaddrsize,ulong datasize,t_operand *op) {
  int n;
  ulong originallist;
  tchar ardec[SHORTNAME];
  op->features=OP_MEMORY|OP_INDEXED;
  if (changesreg) {
    op->features|=OP_MODREG;
    op->reg=index;
    im->da->modifies|=(1<<index); }
  else
    op->reg=REG_UNDEF;
  if (fixaddrsize==2)
    op->features|=OP_ADDR16;
  else if (fixaddrsize==0) {
    im->usesaddrsize=1;                // Address size prefix is meaningful
    if (im->prefixlist & PF_ASIZE) {
      op->features|=OP_ADDR16;
      fixaddrsize=2;
    };
  };
  // Get segment.
  if (fixseg==SEG_UNDEF) {
    op->seg=Getsegment(im,op->arg,SEG_DS);
    im->usessegment=1; }               // Segment override prefix is meaningful
  else
    op->seg=fixseg;
  op->opsize=datasize;
  op->granularity=datasize;            // Default, may be overriden later
  op->scale[index]=1;
  op->aregs=(1<<index);
  im->da->uses|=(1<<index);
  // Warn if memory contents is 16-bit jump/call destination.
  if (datasize==2 && (op->arg & B_MODMASK)==B_JMPCALL)
    im->da->warnings|=DAW_JMP16;
  // Decode source operand to text, if requested.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT) {
      ardec[0]=T('%'); n=1; }
    else
      n=0;
    if (fixaddrsize==2)
      Tstrcopy(ardec+n,SHORTNAME-n,regname16[index]);
    else
      Tstrcopy(ardec+n,SHORTNAME-n,regname32[index]);
    if (fixseg==SEG_UNDEF)
      Memaddrtotext(im,op->arg,datasize,op->seg,ardec,0,op->text);
    else {
      originallist=im->prefixlist;
      im->prefixlist&=~PF_SEGMASK;
      Memaddrtotext(im,op->arg,datasize,op->seg,ardec,0,op->text);
      im->prefixlist=originallist;
    };
  };
};

// Decodes XLAT source address ([(E)BX+AL]). Note that I set scale of EAX to 1,
// which is not exactly true. ATTENTION, calling routine must set usesdatasize
// by itself!
static void Operandxlat(t_imdata *im,t_operand *op) {
  tchar *ardec;
  op->features=OP_MEMORY|OP_INDEXED;
  if (im->prefixlist & PF_ASIZE)
    op->features|=OP_ADDR16;
  im->usesaddrsize=1;                  // Address size prefix is meaningful
  im->usessegment=1;                   // Segment override prefix is meaningful
  op->opsize=1;
  op->granularity=1;
  op->reg=REG_UNDEF;
  // Get segment.
  op->seg=Getsegment(im,op->arg,SEG_DS);
  op->scale[REG_EAX]=1;                // This is not correct!
  op->scale[REG_EBX]=1;
  op->aregs=(1<<REG_EAX)|(1<<REG_EBX);
  im->da->uses|=op->aregs;
  // Decode address to text, if requested.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      ardec=(im->prefixlist & PF_ASIZE?T("%BX,%AL"):T("%EBX,%AL"));
    else
      ardec=(im->prefixlist & PF_ASIZE?T("BX+AL"):T("EBX+AL"));
    Memaddrtotext(im,op->arg,1,op->seg,ardec,0,op->text);
  };
};

// Decodes stack pushes of any size, including implicit return address in
// CALLs. ATTENTION, calling routine must set usesdatasize by itself!
static void Operandpush(t_imdata *im,ulong datasize,t_operand *op) {
  int n,addrsize;
  ulong originallist;
  tchar ardec[SHORTNAME];
  op->features=OP_MEMORY|OP_INDEXED|OP_MODREG;
  op->reg=REG_ESP;
  op->aregs=(1<<REG_ESP);
  im->da->modifies|=op->aregs;
  im->usesaddrsize=1;                  // Address size prefix is meaningful
  if (im->prefixlist & PF_ASIZE) {
    op->features|=OP_ADDR16;
    addrsize=2; }
  else
    addrsize=4;                        // Flat model!
  op->seg=SEG_SS;
  if ((op->arg & B_ARGMASK)==B_PUSHA) {
    im->da->uses=0xFF;                 // Uses all general registers
    op->opsize=datasize*8; }
  else if ((op->arg & B_ARGMASK)==B_PUSHRETF) {
    im->da->uses|=op->aregs;
    op->opsize=datasize*2; }
  else {
    im->da->uses|=op->aregs;
    // Warn if memory contents is 16-bit jump/call destination.
    if (datasize==2 && (op->arg & B_MODMASK)==B_JMPCALL)
      im->da->warnings|=DAW_JMP16;
    op->opsize=datasize;
  };
  op->opconst=-(long)op->opsize;       // ESP is predecremented
  op->granularity=datasize;            // Default, may be overriden later
  op->scale[REG_ESP]=1;
  // Decode source operand to text, if requested.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT) {
      ardec[0]=T('%'); n=1; }
    else
      n=0;
    if (addrsize==2)
      Tstrcopy(ardec+n,SHORTNAME-n,regname16[REG_ESP]);
    else
      Tstrcopy(ardec+n,SHORTNAME-n,regname32[REG_ESP]);
    originallist=im->prefixlist;
    im->prefixlist&=~PF_SEGMASK;
    Memaddrtotext(im,op->arg,datasize,op->seg,ardec,0,op->text);
    im->prefixlist=originallist;
  };
};

// Decodes segment register.
static void Operandsegreg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_SEGREG;
  if (index>=NSEG) {
    op->features|=OP_INVALID;          // Invalid segment register
    im->da->errors|=DAE_BADSEG; };
  op->opsize=op->granularity=2;
  op->reg=index;
  op->seg=SEG_UNDEF;                   // Because this is not a memory address
  if (op->arg & (B_CHG|B_UPD))
    im->da->warnings|=DAW_SEGMOD;      // Modifies segment register
  // Decode name of segment register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    Tcopycase(op->text+n,TEXTLEN-n,segname[index],im->config->lowercase);
  };
};

// Decodes FPU register operand.
static void Operandfpureg(t_imdata *im,int index,t_operand *op) {
  op->features=OP_FPUREG;
  op->opsize=op->granularity=10;
  op->reg=index;
  op->seg=SEG_UNDEF;                   // Because this is not a memory address
  // Decode name of FPU register.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT) {
      if (im->config->simplifiedst && index==0)
        Tcopycase(op->text,TEXTLEN,T("%ST"),im->config->lowercase);
      else {
        op->text[0]=T('%');
        Tcopycase(op->text+1,TEXTLEN-1,fpushort[index],im->config->lowercase);
      }; }
    else if (im->config->simplifiedst && index==0)
      Tcopycase(op->text,TEXTLEN,T("ST"),im->config->lowercase);
    else if (im->config->disasmmode!=DAMODE_HLA)
      Tcopycase(op->text,TEXTLEN,fpulong[index],im->config->lowercase);
    else
      Tcopycase(op->text,TEXTLEN,fpushort[index],im->config->lowercase);
    ;
  };
};

// Decodes MMX register operands. ATTENTION, does not set correct granularity!
static void Operandmmxreg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_MMXREG;
  op->opsize=8;
  op->granularity=4;                   // Default, correct it later!
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Decode name of MMX/3DNow! register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    Tcopycase(op->text+n,TEXTLEN-n,mmxname[index],im->config->lowercase);
  };
};

// Decodes 3DNow! register operands. ATTENTION, does not set correct
// granularity!
static void Operandnowreg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_3DNOWREG;
  op->opsize=8;
  op->granularity=4;                   // Default, correct it later!
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Decode name of MMX/3DNow! register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    Tcopycase(op->text+n,TEXTLEN-n,mmxname[index],im->config->lowercase);
  };
};

// Decodes SSE register operands. ATTENTION, does not set correct granularity!
static void Operandssereg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_SSEREG;
  if (op->arg & B_NOVEXSIZE)
    op->opsize=16;
  else
    op->opsize=im->ssesize;
  op->granularity=4;                   // Default, correct it later!
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Note that some rare SSE commands may use Reg without ModRM.
  if (im->modsize==0)
    im->modsize=1;
  // Decode name of SSE register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    if (op->opsize==32)
      Tcopycase(op->text+n,TEXTLEN-n,sse256[index],im->config->lowercase);
    else
      Tcopycase(op->text+n,TEXTLEN-n,sse128[index],im->config->lowercase);
    ;
  };
};

// Decodes flag register EFL.
static void Operandefl(t_imdata *im,ulong datasize,t_operand *op) {
  op->features=OP_OTHERREG;
  op->opsize=op->granularity=datasize;
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  // Decode name of register.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      Tcopycase(op->text,TEXTLEN,T("%EFL"),im->config->lowercase);
    else
      Tcopycase(op->text,TEXTLEN,T("EFL"),im->config->lowercase);
    ;
  };
};

// Decodes 8/16/32-bit immediate jump/call offset relative to EIP of next
// command.
static void Operandoffset(t_imdata *im,ulong offsetsize,ulong datasize,
  uchar *cmd,ulong cmdsize,ulong offsaddr,t_operand *op) {
  int n;
  tchar label[TEXTLEN];
  if (cmdsize<offsetsize) {
    im->da->errors|=DAE_CROSS;         // Command crosses end of memory block
    return; };
  op->features=OP_CONST;
  op->opsize=op->granularity=datasize; // NOT offsetsize!
  im->immsize1=offsetsize;
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  offsaddr+=offsetsize;
  if (offsetsize==1)                   // Sign-extandable constant
    op->opconst=*(signed char *)cmd+offsaddr;
  else if (offsetsize==2)              // 16-bit immediate offset, rare
    op->opconst=*(ushort *)cmd+offsaddr;
  else                                 // 32-bit immediate offset
    op->opconst=*(ulong *)cmd+offsaddr;
  if (datasize==2) {
    op->opconst&=0x0000FFFF;
    im->da->warnings|=DAW_JMP16; };    // Practically unused in Win32 code
  im->usesdatasize=1;
  // Decode address of destination to text, if requested.
  if (im->damode & DA_TEXT) {
    if (offsetsize==1 && im->config->disasmmode!=DAMODE_HLA &&
      im->config->disasmmode!=DAMODE_ATT)
      n=Tcopycase(op->text,TEXTLEN,T("SHORT "),im->config->lowercase);
    else
      n=0;
    if (datasize==4) {
      if (im->decodeaddress!=NULL &&
        im->decodeaddress(label,op->opconst)!=0)
        Tstrcopy(op->text+n,TEXTLEN-n,label);
      else {
        if (im->config->disasmmode==DAMODE_ATT)
          op->text[n++]=T('$');
        Hexprint(4,op->text+n,op->opconst,im,op->arg);
      }; }
    else {
      if (im->config->disasmmode==DAMODE_ATT)
        op->text[n++]=T('$');
      Hexprint(2,op->text+n,op->opconst,im,op->arg);
    };
  };
};

// Decodes 16:16/16:32-bit immediate absolute far jump/call address.
static void Operandimmfaraddr(t_imdata *im,ulong datasize,uchar *cmd,
  ulong cmdsize,t_operand *op) {
  int n;
  if (cmdsize<datasize+2) {
    im->da->errors|=DAE_CROSS;         // Command crosses end of memory block
    return; };
  op->features=OP_CONST|OP_SELECTOR;
  op->opsize=datasize+2;
  op->granularity=datasize;            // Attention, non-standard case!
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  im->immsize1=datasize;
  im->immsize2=2;
  if (datasize==2) {
    op->opconst=*(ushort *)cmd;
    im->da->warnings|=DAW_JMP16; }     // Practically unused in Win32 code
  else {
    op->opconst=*(ulong *)cmd;
    im->da->immfixup=im->mainsize; };
  op->selector=*(ushort *)(cmd+datasize);
  im->usesdatasize=1;
  // Decode address of destination to text, if requested.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT) {
      op->text[0]=T('$'); n=1; }
    else
      n=Tcopycase(op->text,TEXTLEN,T("FAR "),im->config->lowercase);
    n+=Hexprint(2,op->text+n,op->selector,im,op->arg);
    op->text[n++]=T(':');
    if (im->config->disasmmode==DAMODE_ATT)
      op->text[n++]=T('$');
    Hexprint(4,op->text+n,op->opconst,im,op->arg);
  };
};

// Decodes immediate constant 1 used in shift operations.
static void Operandone(t_imdata *im,t_operand *op) {
  op->features=OP_CONST;
  op->opsize=op->granularity=1;        // Just to make it defined
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  op->opconst=1;
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      Tstrcopy(op->text,TEXTLEN,T("$1"));
    else
      Tstrcopy(op->text,TEXTLEN,T("1"));
    ;
  };
};

// Decodes 8/16/32-bit immediate constant (possibly placed after ModRegRM-SIB-
// Disp combination). Constant is nbytes long in the command and extends to
// constsize bytes. If constant is a count, it deals with data of size datasize.
// ATTENTION, calling routine must set usesdatasize by itself!
static void Operandimmconst(t_imdata *im,ulong nbytes,ulong constsize,
  ulong datasize,uchar *cmd,ulong cmdsize,int issecond,t_operand *op) {
  int n;
  ulong u,mod;
  tchar label[TEXTLEN];
  if (cmdsize<im->modsize+im->dispsize+nbytes+(issecond?im->immsize1:0)) {
    im->da->errors|=DAE_CROSS;         // Command crosses end of memory block
    return; };
  op->features=OP_CONST;
  op->opsize=op->granularity=constsize;
  cmd+=im->modsize+im->dispsize;
  if (issecond==0)
    im->immsize1=nbytes;               // First constant
  else {
    im->immsize2=nbytes;               // Second constant (ENTER only)
    cmd+=im->immsize1; };
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  if (nbytes==4) {                     // 32-bit immediate constant
    op->opconst=*(ulong *)cmd;
    im->da->immfixup=im->mainsize+im->modsize+im->dispsize+
      (issecond?im->immsize1:0);
    ; }
  else if (nbytes==1)                  // 8-byte constant, maybe sign-extendable
    op->opconst=*(signed char *)cmd;
  else                                 // 16-bite immediate constant, rare
    op->opconst=*(ushort *)cmd;
  if (constsize==1)
    op->opconst&=0x000000FF;
  else if (constsize==2)
    op->opconst&=0x0000FFFF;
  switch (op->arg & B_MODMASK) {
    case B_BITCNT:                     // Constant is a bit count
      if ((datasize==4 && op->opconst>31) ||
        (datasize==1 && op->opconst>7) ||
        (datasize==2 && op->opconst>15)) im->da->warnings|=DAW_SHIFT;
      break;
    case B_SHIFTCNT:                   // Constant is a shift count
      if (op->opconst==0 ||
        (datasize==4 && op->opconst>31) || (datasize==1 && op->opconst>7) ||
        (datasize==2 && op->opconst>15)) im->da->warnings|=DAW_SHIFT;
      break;
    case B_STACKINC:                   // Stack increment must be DWORD-aligned
      if ((op->opconst & 0x3)!=0)
        im->da->warnings|=DAW_STACK;
      im->da->stackinc=op->opconst;
      break;
    default: break; };
  if (im->damode & DA_TEXT) {
    mod=op->arg & B_MODMASK;
    n=0;
    if (constsize==1) {                // 8-bit constant
      if (im->config->disasmmode==DAMODE_ATT)
        op->text[n++]=T('$');
      Hexprint(1,op->text+n,op->opconst,im,op->arg); }
    else if (constsize==4) {           // 32-bit constant
      if (im->decodeaddress!=NULL &&
        (mod==B_NONSPEC || mod==B_JMPCALL || mod==B_JMPCALLFAR) &&
        im->decodeaddress(label,op->opconst)!=0)
        Tstrcopy(op->text+n,TEXTLEN-n,label);
      else {
        if (im->config->disasmmode==DAMODE_ATT)
          op->text[n++]=T('$');
        if (mod!=B_UNSIGNED && mod!=B_BINARY && mod!=B_PORT &&
          (long)op->opconst<0 &&
          (mod==B_SIGNED || (long)op->opconst>NEGLIMIT)
        ) {
          op->text[n++]=T('-'); u=-(long)op->opconst; }
        else
          u=op->opconst;
        Hexprint(4,op->text+n,u,im,op->arg);
      }; }
    else {                             // 16-bit constant
      if (im->config->disasmmode==DAMODE_ATT)
        op->text[n++]=T('$');
      else if ((op->arg & B_SHOWSIZE)!=0) {
        n+=Tcopycase(op->text+n,TEXTLEN-n,sizename[constsize],
          im->config->lowercase);
        n+=Tstrcopy(op->text+n,TEXTLEN-n,T(" ")); };
      Hexprint(2,op->text+n,op->opconst,im,op->arg);
    };
  };
  return;
};

// Decodes contrtol register operands.
static void Operandcreg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_CREG;
  op->opsize=op->granularity=4;
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Decode name of control register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    Tcopycase(op->text+n,TEXTLEN-n,crname[index],im->config->lowercase); };
  // Some control registers are physically absent.
  if (index!=0 && index!=2 && index!=3 && index!=4)
    im->da->errors|=DAE_BADCR;
  ;
};

// Decodes debug register operands.
static void Operanddreg(t_imdata *im,int index,t_operand *op) {
  int n;
  op->features=OP_DREG;
  op->opsize=op->granularity=4;
  op->reg=index;
  op->seg=SEG_UNDEF;
  // Decode name of debug register.
  if (im->damode & DA_TEXT) {
    n=0;
    if (im->config->disasmmode==DAMODE_ATT) op->text[n++]=T('%');
    Tcopycase(op->text+n,TEXTLEN-n,drname[index],im->config->lowercase);
  };
};

// Decodes FPU status register FST.
static void Operandfst(t_imdata *im,t_operand *op) {
  op->features=OP_OTHERREG;
  op->opsize=op->granularity=2;
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  // Decode name of register.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      Tcopycase(op->text,TEXTLEN,T("%FST"),im->config->lowercase);
    else
      Tcopycase(op->text,TEXTLEN,T("FST"),im->config->lowercase);
    ;
  };
};

// Decodes FPU control register FCW.
static void Operandfcw(t_imdata *im,t_operand *op) {
  op->features=OP_OTHERREG;
  op->opsize=op->granularity=2;
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  // Decode name of register.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      Tcopycase(op->text,TEXTLEN,T("%FCW"),im->config->lowercase);
    else
      Tcopycase(op->text,TEXTLEN,T("FCW"),im->config->lowercase);
    ;
  };
};

// Decodes SSE control register MXCSR.
static void Operandmxcsr(t_imdata *im,t_operand *op) {
  op->features=OP_OTHERREG;
  op->opsize=op->granularity=4;
  op->reg=REG_UNDEF;
  op->seg=SEG_UNDEF;
  // Decode name of register.
  if (im->damode & DA_TEXT) {
    if (im->config->disasmmode==DAMODE_ATT)
      Tcopycase(op->text,TEXTLEN,T("%MXCSR"),im->config->lowercase);
    else
      Tcopycase(op->text,TEXTLEN,T("MXCSR"),im->config->lowercase);
    ;
  };
};


////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// DISASSEMBLER /////////////////////////////////

// Disassembles first command in the binary code of given length at given
// address. Assumes that address and data size attributes of all participating
// segments are 32 bit (flat model). Returns length of the command or 0 in case
// of severe error.
ulong Disasm(uchar const *cmd,ulong cmdsize,ulong ip,t_disasm *da,
  int damode,t_config *config,int (*decodeaddress)(tchar *s,ulong addr)) {
  int i,j,k,q,noperand,nout,enclose,vexreg,success,cfill,ofill;
  ulong m,n,u,prefix,prefixmask,code,arg,cmdtype,datasize;
  ulong type,vex,vexlead;
  t_imdata im;
  const t_chain *pchain;
  const t_bincmd *pcmd;
  const t_modrm *pmrm;
  t_operand *op,pseudoop;
  // Verify input parameters.
  if (cmd==NULL || cmdsize==0 || da==NULL || cmdchain==NULL)
    return 0;                          // Error in parameters or uninitialized
  // Initialize t_disasm structure that receives results of disassembly. This
  // structure is very large, memset() or several memset()'s would take much,
  // much longer.
  da->ip=ip;
  da->memfixup=da->immfixup=-1;
  da->errors=DAE_NOERR;
  da->warnings=DAW_NOWARN;
  da->uses=0;
  da->modifies=0;
  da->memconst=0;
  da->stackinc=0;
  for (i=0,op=da->op; i<NOPERAND; i++,op++) {
    op->features=0;
    op->arg=0;
    op->opsize=op->granularity=0;
    op->reg=REG_UNDEF;
    op->uses=0;
    op->modifies=0;
    op->seg=SEG_UNDEF;
    ((ulong *)op->scale)[0]=0;
    ((ulong *)op->scale)[1]=0;
    op->aregs=0;
    op->opconst=0;
    op->selector=0;
    op->text[0]=T('\0'); };
  da->dump[0]=T('\0');
  da->result[0]=T('\0');
  da->masksize=0;
  // Prepare intermediate data. This data allows to keep Disasm() reentrant
  // (thread-safe).
  im.da=da;
  im.damode=damode;
  if (config==NULL)
    im.config=config=&defconfig;       // Use default configuration
  else
    im.config=config;
  im.decodeaddress=decodeaddress;
  im.prefixlist=0;
  im.ssesize=16;                       // Default
  im.immsize1=im.immsize2=0;
  // Correct 80x86 command may contain up to 4 prefixes belonging to different
  // prefix groups. If Disasm() detects second prefix from the same group, it
  // flushes first prefix in the sequence as a pseudocommand. (This is not
  // quite true; all CPUs that I have tested accept repeating prefixes. Still,
  // who will place superfluous and possibly nonportable prefixes into the
  // code?)
  for (n=0; ; n++) {
    if (n>=cmdsize) {                  // Command crosses end of memory block
      n=0; im.prefixlist=0;            // Decode as standalone prefix
      break; };
    // Note that some CPUs treat REPx and LOCK as belonging to the same group.
    switch (cmd[n]) {
      case 0x26: prefix=PF_ES; prefixmask=PF_SEGMASK; break;
      case 0x2E: prefix=PF_CS; prefixmask=PF_SEGMASK; break;
      case 0x36: prefix=PF_SS; prefixmask=PF_SEGMASK; break;
      case 0x3E: prefix=PF_DS; prefixmask=PF_SEGMASK; break;
      case 0x64: prefix=PF_FS; prefixmask=PF_SEGMASK; break;
      case 0x65: prefix=PF_GS; prefixmask=PF_SEGMASK; break;
      case 0x66: prefix=prefixmask=PF_DSIZE; break;
      case 0x67: prefix=prefixmask=PF_ASIZE; break;
      case 0xF0: prefix=prefixmask=PF_LOCK; break;
      case 0xF2: prefix=PF_REPNE; prefixmask=PF_REPMASK; break;
      case 0xF3: prefix=PF_REP; prefixmask=PF_REPMASK; break;
      default: prefix=0; break; };
    if (prefix==0)
      break;
    if (im.prefixlist & prefixmask) {
      da->errors|=DAE_SAMEPREF;        // Two prefixes from the same group
      break; };
    im.prefixlist|=prefix;
  };
  // There may be VEX prefix preceding command body. Yes, VEX is supported in
  // the 32-bit mode! And even in the 16-bit, but who cares?
  vex=0; vexlead=0;
  if (cmdsize>=n+3 && (*(ushort *)(cmd+n) & 0xC0FE)==0xC0C4) {
    // VEX is not compatible with LOCK, 66, F2 and F3 prefixes. VEX is not
    // compatible with REX, too, but REX prefixes are missing in 32-bit mode.
    if (im.prefixlist & (PF_LOCK|PF_66|PF_F2|PF_F3))
      da->errors|=DAE_SAMEPREF;        // Incompatible prefixes
    else {
      if (cmd[n]==0xC5) {
        // 2-byte VEX prefix.
        im.prefixlist|=PF_VEX2;
        vex=cmd[n+1];
        vexlead=DX_VEX|DX_LEAD0F; n+=2; }
      else {
        // 3-byte VEX prefix.
        im.prefixlist|=PF_VEX3;
        vex=cmd[n+2]+(cmd[n+1]<<8);    // Note the order of the bytes!
        switch (vex & 0x1F00) {
          case 0x0100: vexlead=DX_VEX|DX_LEAD0F; n+=3; break;
          case 0x0200: vexlead=DX_VEX|DX_LEAD38; n+=3; break;
          case 0x0300: vexlead=DX_VEX|DX_LEAD3A; n+=3; break;
          default: vex=0; break;       // Unsupported VEX, decode as LES
        };
      };
      if (vex!=0) {
        // Get size of operands.
        if (vex & 0x0004)
          im.ssesize=32;               // 256-bit SSE operands
        // Get register encoded in VEX prefix.
        vexreg=(~vex>>3) & 0x07;
        // Check for SIMD prefix.
        switch (vex & 0x3) {
          case 0x0001: im.prefixlist|=PF_66; break;
          case 0x0002: im.prefixlist|=PF_F3; break;
          case 0x0003: im.prefixlist|=PF_F2; break;
        };
      };
    };
    if (n>=cmdsize) {                  // Command crosses end of memory block
      n=0; vex=0; im.prefixlist=0;     // Decode as LES
    };
  };
  // We have gathered all prefixes, including those that are integral part of
  // the SSE command.
  if (n>4 || (da->errors & DAE_SAMEPREF)!=0) {
    if (n>4) da->errors|=DAE_MANYPREF;
    n=0; im.prefixlist=0; };           // Decode as standalone prefix
  da->prefixes=im.prefixlist;
  da->nprefix=n;
  // Fetch first 4 bytes of the command and find start of command chain in the
  // command table.
  if (cmdsize>=n+sizeof(ulong))
    code=*(ulong *)(cmd+n);            // Optimization for most frequent case
  else {
    code=cmd[n];
    if (cmdsize>n+1) ((uchar *)&code)[1]=cmd[n+1];
    if (cmdsize>n+2) ((uchar *)&code)[2]=cmd[n+2];
    if (cmdsize>n+3) ((uchar *)&code)[3]=cmd[n+3]; };
  // Walk chain and search for matching command. Command is matched if:
  // (1) code bits allowed in mask coincide in command and descriptor;
  // (2) when command type contains D_MEMORY, ModRegRM byte must indicate
  //     memory, and when type contains D_REGISTER, Mod must indicate register;
  // (3) when bits D_DATAxx or D_ADDRxx are set, size of data and/or code must
  //     match these bits;
  // (4) field D_MUSTMASK must match gathered prefixes;
  // (5) presence or absence of VEX prefix must be matched by DX_VEX. If VEX
  //     is present, implied leading bytes must match vexlead and bit L must
  //     match DX_VLMASK;
  // (6) if short form of string commands is requested, bit D_LONGFORM must be
  //     cleared, or segment override prefix other that DS:, or address size
  //     prefix must be present;
  // (7) when bit D_POSTBYTE is set, byte after ModRegRM/SIB/offset must match
  //     postbyte. Note that all postbyted commands include memory address in
  //     ModRegRM form and do not include immediate constants;
  // (8) if alternative forms of conditional commands are requested, command
  //     is conditional, and it is marked as DX_ZEROMASK or DX_CARRYMASK,
  //     check whether these bits match damode. (Conditional branch on flag
  //     Z!=0 can be disassembled either as JZ or JE. First form is preferrable
  //     after SUB or DEC; second form is more natural after CMP);
  // (9) if command has mnemonics RETN but alternative form RET is expected,
  //     skip it - RET will follow.
  success=0;
  for (pchain=cmdchain+(code & CMDMASK); ; pchain=pchain->pnext) {
    if (pchain==NULL || pchain->pcmd==NULL)
      break;                           // End of chain, no match
    pcmd=pchain->pcmd;
    if (((code ^ pcmd->code) & pcmd->mask)!=0)
      continue;                        // (1) Different code bits
    cmdtype=pcmd->cmdtype;
    if ((damode & DA_TEXT)!=0) {
      if ((pcmd->exttype & DX_RETN)!=0 && config->useretform!=0)
        continue;                      // (9) RET form of near return expected
      if ((cmdtype & D_COND)!=0 &&
        (pcmd->exttype & (DX_ZEROMASK|DX_CARRYMASK))!=0
      ) {
        if ((damode & DA_JZ)!=0 && (pcmd->exttype & DX_ZEROMASK)==DX_JE)
          continue;                    // (8) Wait for DX_JZ
        if ((damode & DA_JC)!=0 && (pcmd->exttype & DX_CARRYMASK)==DX_JB)
          continue;                    // (8) Wait for DX_JC
        ;
      };
    };
    if ((pcmd->exttype & (DX_VEX|DX_LEADMASK))!=vexlead)
      continue;                        // (5) Unmatched VEX prefix
    if (pcmd->exttype & DX_VEX) {
      if (((pcmd->exttype & DX_VLMASK)==DX_LSHORT && (vex & 0x04)!=0) ||
        ((pcmd->exttype & DX_VLMASK)==DX_LLONG && (vex & 0x04)==0))
        continue;                      // (5) Unmatched VEX.L
      ;
    };
    if ((cmdtype &
      (D_MEMORY|D_REGISTER|D_LONGFORM|D_SIZEMASK|D_MUSTMASK|D_POSTBYTE))==0
    ) {
      success=1; break; };             // Optimization for most frequent case
    switch (cmdtype & D_MUSTMASK) {
      case D_MUST66:                   // (4) (SSE) Requires 66, no F2 or F3
        if ((im.prefixlist & (PF_66|PF_F2|PF_F3))!=PF_66) continue;
        break;
      case D_MUSTF2:                   // (4) (SSE) Requires F2, no 66 or F3
        if ((im.prefixlist & (PF_66|PF_F2|PF_F3))!=PF_F2) continue;
        break;
      case D_MUSTF3:                   // (4) (SSE) Requires F3, no 66 or F2
        if ((im.prefixlist & (PF_66|PF_F2|PF_F3))!=PF_F3) continue;
        break;
      case D_MUSTNONE:                 // (4) (MMX,SSE) Requires no 66, F2, F3
        if ((im.prefixlist & (PF_66|PF_F2|PF_F3))!=0) continue;
        break;
      case D_NEEDF2:                   // (4) (SSE) Requires F2, no F3
        if ((im.prefixlist & (PF_F2|PF_F3))!=PF_F2) continue;
        break;
      case D_NEEDF3:                   // (4) (SSE) Requires F3, no F2
        if ((im.prefixlist & (PF_F2|PF_F3))!=PF_F3) continue;
        break;
      case D_NOREP:                    // (4) Must not include F2 or F3
        if ((im.prefixlist & (PF_REP|PF_REPNE))!=0) continue;
        break;
      case D_MUSTREP:                  // (4) Must include F3 (REP)
      case D_MUSTREPE:                 // (4) Must include F3 (REPE)
        if ((im.prefixlist & PF_REP)==0) continue;
        break;
      case D_MUSTREPNE:                // (4) Must include F2 (REPNE)
        if ((im.prefixlist & PF_REPNE)==0) continue;
        break;
      default: break; };
    if ((cmdtype & D_DATA16)!=0 && (im.prefixlist & PF_DSIZE)==0)
      continue;                        // (3) 16-bit data expected
    if ((cmdtype & D_DATA32)!=0 && (im.prefixlist & PF_DSIZE)!=0)
      continue;                        // (3) 32-bit data expected
    if ((cmdtype & D_ADDR16)!=0 && (im.prefixlist & PF_ASIZE)==0)
      continue;                        // (3) 16-bit address expected
    if ((cmdtype & D_ADDR32)!=0 && (im.prefixlist & PF_ASIZE)!=0)
      continue;                        // (3) 32-bit address expected
    if ((cmdtype & D_LONGFORM)!=0 && config->shortstringcmds!=0 &&
      (im.prefixlist & (PF_ES|PF_CS|PF_SS|PF_FS|PF_GS|PF_ASIZE))==0)
      continue;                        // (6) Short form of string cmd expected
    if (cmdtype & D_MEMORY) {
      // (2) Command expects operand in memory (Mod in ModRegRM is not 11b).
      if (n+pcmd->length>=cmdsize)
        break;                         // Command longer than available code
      if ((cmd[n+pcmd->length] & 0xC0)==0xC0) continue; }
    else if (cmdtype & D_REGISTER) {
      // (2) Command expects operand in register (Mod in ModRegRM is 11b).
      if (n+pcmd->length>=cmdsize)
        break;                         // Command longer than available code
      if ((cmd[n+pcmd->length] & 0xC0)!=0xC0) continue; }
    if (cmdtype & D_POSTBYTE) {
      // Command expects postbyte after ModRegRM/SIB/offset as part of the
      // code. If command is longer than available code, immediately report
      // match - error will be reported elsewhere.
      m=n+pcmd->length;                // Offset to ModRegRM byte
      if (m>=cmdsize)
        break;                         // Command longer than available code
      if (im.prefixlist & PF_ASIZE)
        m+=modrm16[cmd[m]].size;       // 16-bit address
      else {
        pmrm=modrm32+cmd[m];
        if (pmrm->psib==NULL)          // 32-bit address without SIB
          m+=pmrm->size;
        else if (m+1>=cmdsize)         // Command longer than available code
          break;
        else                           // 32-bit address with SIB
          m+=pmrm->psib[cmd[m+1]].size;
        ;
      };
      if (m>=cmdsize)
        break;                         // Command longer than available code
      // Asterisk in SSE and AVX commands means comparison predicate. Check
      // for predefined range.
      if (cmd[m]==(uchar)pcmd->postbyte ||
        ((cmdtype & D_WILDCARD)!=0 && cmd[m]<(pcmd->exttype & DX_VEX?32:8)))
        im.immsize1=1;                 // (7) Interprete postbyte as imm const
      else
        continue;                      // (7)
      ;
    };
    success=1;
    break;                             // Perfect match, command found
  };
  // If command is bad but preceded with prefixes, decode first prefix as
  // standalone. In this case, list of command's prefixes is empty.
  if (success==0) {
    pcmd=NULL;
    if (im.prefixlist!=0) {
      n=0; da->nprefix=0; da->prefixes=im.prefixlist=0;
      code=cmd[n] & CMDMASK;
      for (pchain=cmdchain+code; ; pchain=pchain->pnext) {
        if (pchain==NULL || pchain->pcmd==NULL) {
          pcmd=NULL; break; };         // End of chain, no match
        pcmd=pchain->pcmd;
        if ((pcmd->cmdtype & D_CMDTYPE)!=D_PREFIX)
          continue;
        if (((code ^ pcmd->code) & pcmd->mask)==0) {
          cmdtype=pcmd->cmdtype;
          da->errors|=DAE_BADCMD;
          break;
        };
      };
    };
    // If matching command is still not found, report error and return one byte
    // as a command length.
    if (pcmd==NULL) {
      if (damode & DA_DUMP)
        Thexdump(da->dump,cmd,1,config->lowercase);
      if (damode & DA_TEXT) {
        if (config->disasmmode==DAMODE_HLA)
          j=Tcopycase(da->result,TEXTLEN,sizename[1],config->lowercase);
        else if (config->disasmmode==DAMODE_ATT)
          j=Tcopycase(da->result,TEXTLEN,sizeatt[1],config->lowercase);
        else
          j=Tcopycase(da->result,TEXTLEN,sizekey[1],config->lowercase);
        j+=Tstrcopy(da->result+j,TEXTLEN-j,T(" "));
        Thexdump(da->result+j,cmd,1,config->lowercase); };
      da->size=1;
      da->nprefix=0;
      da->prefixes=0;
      da->cmdtype=D_BAD;
      da->exttype=0;
      da->errors|=DAE_BADCMD;          // Unrecognized command
      if (damode & DA_HILITE) {
        da->masksize=tstrlen(da->result);
        memset(da->mask,DRAW_SUSPECT,da->masksize); };
      return 1;
    };
  };
  // Exclude prefixes that are integral part of the command from the list of
  // prefixes. First comparison optimizes for the most frequent case of no
  // obligatory prefixes.
  if (cmdtype & (D_SIZEMASK|D_MUSTMASK)) {
    switch (cmdtype & D_MUSTMASK) {
      case D_MUST66:                   // (SSE) Requires 66, no F2 or F3
      case D_MUSTF2:                   // (SSE) Requires F2, no 66 or F3
      case D_MUSTF3:                   // (SSE) Requires F3, no 66 or F2
        im.prefixlist&=~(PF_66|PF_F2|PF_F3); break;
      case D_NEEDF2:                   // (SSE) Requires F2, no F3
      case D_NEEDF3:                   // (SSE) Requires F3, no F2
        im.prefixlist&=~(PF_F2|PF_F3); break;
      default: break; };
    if (cmdtype & D_DATA16)            // Must include data size prefix
      im.prefixlist&=~PF_DSIZE;
    if (cmdtype & D_ADDR16)            // Must include address size prefix
      im.prefixlist&=~PF_ASIZE;
    ;
  };
  // Prepare for disassembling.
  im.modsize=0;                        // Size of ModRegRM/SIB bytes
  im.dispsize=0;                       // Size of address offset
  im.usesdatasize=0;
  im.usesaddrsize=0;
  im.usessegment=0;
  da->cmdtype=cmdtype;
  da->exttype=pcmd->exttype;
  n+=pcmd->length;                     // Offset of ModRegRM or imm constant
  if (n>cmdsize) {
    da->errors|=DAE_CROSS;             // Command crosses end of memory block
    goto error; };
  im.mainsize=n;                       // Size of command with prefixes
  // Set default data size (note that many commands and operands override it).
  if ((cmdtype & D_SIZE01)!=0 && (cmd[n-1] & 0x01)==0) {
    if (im.prefixlist & PF_DSIZE)
      da->warnings|=DAW_DATASIZE;      // Superfluous data size prefix
    datasize=1; }
  else if (im.prefixlist & PF_DSIZE)
    datasize=2;
  else
    datasize=4;
  // Process operands.
  noperand=0;
  for (i=0; i<NOPERAND; i++) {
    arg=pcmd->arg[i];
    if ((arg & B_ARGMASK)==B_NONE)
      break;                           // Optimization for most frequent case
    // If pseudooperands to be skipped, I process them nevertheless. Such
    // operands may contain important information.
    if ((arg & B_PSEUDO)!=0 && (damode & DA_PSEUDO)==0)
      op=&pseudoop;                    // Request to skip pseudooperands
    else
      op=da->op+noperand++;
    op->arg=arg;
    switch (arg & B_ARGMASK) {
      case B_AL:                       // Register AL
        Operandintreg(&im,1,REG_AL,op);
        break;
      case B_AH:                       // Register AH
        Operandintreg(&im,1,REG_AH,op);
        break;
      case B_AX:                       // Register AX
        Operandintreg(&im,2,REG_EAX,op);
        break;
      case B_CL:                       // Register CL
        Operandintreg(&im,1,REG_CL,op);
        break;
      case B_CX:                       // Register CX
        Operandintreg(&im,2,REG_ECX,op);
        break;
      case B_DX:                       // Register DX
        Operandintreg(&im,2,REG_EDX,op);
        break;
      case B_DXPORT:                   // Register DX as I/O port address
        Operandintreg(&im,2,REG_EDX,op);
        op->features|=OP_PORT;
        break;
      case B_EAX:                      // Register EAX
        Operandintreg(&im,4,REG_EAX,op);
        break;
      case B_EBX:                      // Register EBX
        Operandintreg(&im,4,REG_EBX,op);
        break;
      case B_ECX:                      // Register ECX
        Operandintreg(&im,4,REG_ECX,op);
        break;
      case B_EDX:                      // Register EDX
        Operandintreg(&im,4,REG_EDX,op);
        break;
      case B_ACC:                      // Accumulator (AL/AX/EAX)
        Operandintreg(&im,datasize,REG_EAX,op);
        im.usesdatasize=1;
        break;
      case B_STRCNT:                   // Register CX or ECX as REPxx counter
        Operandintreg(&im,(im.prefixlist & PF_ASIZE?2:4),REG_ECX,op);
        im.usesaddrsize=1;
        break;
      case B_DXEDX:                    // Register DX or EDX in DIV/MUL
        Operandintreg(&im,datasize,REG_EDX,op);
        im.usesdatasize=1;
        break;
      case B_BPEBP:                    // Register BP or EBP in ENTER/LEAVE
        Operandintreg(&im,datasize,REG_EBP,op);
        im.usesdatasize=1;
        break;
      case B_REG:                      // 8/16/32-bit register in Reg
        // Note that all commands that use B_REG have also another operand
        // that requires ModRM, so we don't need to set modsize here.
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          Operandintreg(&im,datasize,(cmd[n]>>3) & 0x07,op);
          im.usesdatasize=1; };
        break;
      case B_REG16:                    // 16-bit register in Reg
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else
          Operandintreg(&im,2,(cmd[n]>>3) & 0x07,op);
        break;
      case B_REG32:                    // 32-bit register in Reg
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else
          Operandintreg(&im,4,(cmd[n]>>3) & 0x07,op);
        break;
      case B_REGCMD:                   // 16/32-bit register in last cmd byte
        Operandintreg(&im,datasize,cmd[n-1] & 0x07,op);
        im.usesdatasize=1;
        break;
      case B_REGCMD8:                  // 8-bit register in last cmd byte
        Operandintreg(&im,1,cmd[n-1] & 0x07,op);
        break;
      case B_ANYREG:                   // Reg field is unused, any allowed
        break;
      case B_INT:                      // 8/16/32-bit register/memory in ModRM
      case B_INT1632:                  // 16/32-bit register/memory in ModRM
        k=Operandmodrm(&im,datasize,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandintreg(&im,datasize,cmd[n] & 0x07,op);
        im.usesdatasize=1;
        break;
      case B_INT8:                     // 8-bit register/memory in ModRM
        k=Operandmodrm(&im,1,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandintreg(&im,1,cmd[n] & 0x07,op);
        break;
      case B_INT16:                    // 16-bit register/memory in ModRM
        k=Operandmodrm(&im,2,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandintreg(&im,2,cmd[n] & 0x07,op);
        break;
      case B_INT32:                    // 32-bit register/memory in ModRM
        k=Operandmodrm(&im,4,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandintreg(&im,4,cmd[n] & 0x07,op);
        break;
      case B_INT64:                    // 64-bit integer in ModRM, memory only
        k=Operandmodrm(&im,8,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as 32-bit register and set error.
          Operandintreg(&im,4,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; break; };
        break;
      case B_INT128:                   // 128-bit integer in ModRM, memory only
        k=Operandmodrm(&im,16,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as 32-bit register and set error.
          Operandintreg(&im,4,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; break; };
        break;
      case B_IMMINT:                   // 8/16/32-bit int at immediate addr
        Operandimmaddr(&im,datasize,cmd+n,cmdsize-n,op);
        im.usesdatasize=1;
        break;
      case B_INTPAIR:                  // Two signed 16/32 in ModRM, memory only
        k=Operandmodrm(&im,2*datasize,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        op->granularity=datasize;
        if (k==0) {
          // Register is not allowed, decode as register and set error.
          Operandintreg(&im,datasize,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; break; };
        im.usesdatasize=1;
        break;
      case B_SEGOFFS:                  // 16:16/16:32 absolute address in memory
        k=Operandmodrm(&im,datasize+2,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode and set error.
          Operandintreg(&im,datasize,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; break; };
        im.usesdatasize=1;
        break;
      case B_STRDEST:                  // 8/16/32-bit string dest, [ES:(E)DI]
        Operandindirect(&im,REG_EDI,1,SEG_ES,0,datasize,op);
        im.usesdatasize=1;
        break;
      case B_STRDEST8:                 // 8-bit string destination, [ES:(E)DI]
        Operandindirect(&im,REG_EDI,1,SEG_ES,0,1,op);
        break;
      case B_STRSRC:                   // 8/16/32-bit string source, [(E)SI]
        Operandindirect(&im,REG_ESI,1,SEG_UNDEF,0,datasize,op);
        im.usesdatasize=1;
        break;
      case B_STRSRC8:                  // 8-bit string source, [(E)SI]
        Operandindirect(&im,REG_ESI,1,SEG_UNDEF,0,1,op);
        break;
      case B_XLATMEM:                  // 8-bit memory in XLAT, [(E)BX+AL]
        Operandxlat(&im,op);
        break;
      case B_EAXMEM:                   // Reference to memory addressed by [EAX]
        Operandindirect(&im,REG_EAX,0,SEG_UNDEF,4,1,op);
        break;
      case B_LONGDATA:                 // Long data in ModRM, mem only
        k=Operandmodrm(&im,256,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        op->granularity=1;             // Just a trick
        if (k==0) {
          // Register is not allowed, decode and set error.
          Operandintreg(&im,4,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; break; };
        im.usesdatasize=1;             // Caveat user
        break;
      case B_ANYMEM:                   // Reference to memory, data unimportant
        k=Operandmodrm(&im,1,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode and set error.
          Operandintreg(&im,4,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_STKTOP:                   // 16/32-bit int top of stack
        Operandindirect(&im,REG_ESP,1,SEG_SS,0,datasize,op);
        im.usesdatasize=1;
        break;
      case B_STKTOPFAR:                // Top of stack (16:16/16:32 far addr)
        Operandindirect(&im,REG_ESP,1,SEG_SS,0,datasize*2,op);
        op->granularity=datasize;
        im.usesdatasize=1;
        break;
      case B_STKTOPEFL:                // 16/32-bit flags on top of stack
        Operandindirect(&im,REG_ESP,1,SEG_SS,0,datasize,op);
        im.usesdatasize=1;
        break;
      case B_STKTOPA:                  // 16/32-bit top of stack all registers
        Operandindirect(&im,REG_ESP,1,SEG_SS,0,datasize*8,op);
        op->granularity=datasize;
        op->modifies=da->modifies=0xFF;
        im.usesdatasize=1;
        break;
      case B_PUSH:                     // 16/32-bit int push to stack
      case B_PUSHRET:                  // 16/32-bit push of return address
      case B_PUSHRETF:                 // 16:16/16:32-bit push of far retaddr
      case B_PUSHA:                    // 16/32-bit push all registers
        Operandpush(&im,datasize,op);
        im.usesdatasize=1;
        break;
      case B_EBPMEM:                   // 16/32-bit int at [EBP]
        Operandindirect(&im,REG_EBP,1,SEG_SS,0,datasize,op);
        im.usesdatasize=1;
        break;
      case B_SEG:                      // Segment register in Reg
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else
          Operandsegreg(&im,(cmd[n]>>3) & 0x07,op);
        break;
      case B_SEGNOCS:                  // Segment register in Reg, but not CS
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          k=(cmd[n]>>3) & 0x07;
          Operandsegreg(&im,k,op);
          if (k==SEG_SS)
            da->exttype|=DX_WONKYTRAP;
          if (k==SEG_CS) {
            op->features|=OP_INVALID;
            da->errors|=DAE_BADSEG;
          };
        };
        break;
      case B_SEGCS:                    // Segment register CS
        Operandsegreg(&im,SEG_CS,op);
        break;
      case B_SEGDS:                    // Segment register DS
        Operandsegreg(&im,SEG_DS,op);
        break;
      case B_SEGES:                    // Segment register ES
        Operandsegreg(&im,SEG_ES,op);
        break;
      case B_SEGFS:                    // Segment register FS
        Operandsegreg(&im,SEG_FS,op);
        break;
      case B_SEGGS:                    // Segment register GS
        Operandsegreg(&im,SEG_GS,op);
        break;
      case B_SEGSS:                    // Segment register SS
        Operandsegreg(&im,SEG_SS,op);
        break;
      case B_ST:                       // 80-bit FPU register in last cmd byte
        Operandfpureg(&im,cmd[n-1] & 0x07,op);
        break;
      case B_ST0:                      // 80-bit FPU register ST0
        Operandfpureg(&im,0,op);
        break;
      case B_ST1:                      // 80-bit FPU register ST1
        Operandfpureg(&im,1,op);
        break;
      case B_FLOAT32:                  // 32-bit float in ModRM, memory only
        k=Operandmodrm(&im,4,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as FPU register and set error.
          Operandfpureg(&im,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_FLOAT64:                  // 64-bit float in ModRM, memory only
        k=Operandmodrm(&im,8,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as FPU register and set error.
          Operandfpureg(&im,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_FLOAT80:                  // 80-bit float in ModRM, memory only
        k=Operandmodrm(&im,10,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as FPU register and set error.
          Operandfpureg(&im,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_BCD:                      // 80-bit BCD in ModRM, memory only
        k=Operandmodrm(&im,10,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as FPU register and set error.
          Operandfpureg(&im,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_MREG8x8:                  // MMX register as 8 8-bit integers
      case B_MREG16x4:                 // MMX register as 4 16-bit integers
      case B_MREG32x2:                 // MMX register as 2 32-bit integers
      case B_MREG64:                   // MMX register as 1 64-bit integer
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          Operandmmxreg(&im,(cmd[n]>>3) & 0x07,op);
          op->granularity=Getgranularity(arg); };
        break;
      case B_MMX8x8:                   // MMX reg/memory as 8 8-bit integers
      case B_MMX16x4:                  // MMX reg/memory as 4 16-bit integers
      case B_MMX32x2:                  // MMX reg/memory as 2 32-bit integers
      case B_MMX64:                    // MMX reg/memory as 1 64-bit integer
        k=Operandmodrm(&im,8,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandmmxreg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_MMX8x8DI:                 // MMX 8 8-bit integers at [DS:(E)DI]
        Operandindirect(&im,REG_EDI,0,SEG_UNDEF,0,8,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_3DREG:                    // 3DNow! register as 2 32-bit floats
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          Operandnowreg(&im,(cmd[n]>>3) & 0x07,op);
          op->granularity=4; };
        break;
      case B_3DNOW:                    // 3DNow! reg/memory as 2 32-bit floats
        k=Operandmodrm(&im,8,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandnowreg(&im,cmd[n] & 0x07,op);
        op->granularity=4;
        break;
      case B_SREGF32x4:                // SSE register as 4 32-bit floats
      case B_SREGF32L:                 // Low 32-bit float in SSE register
      case B_SREGF32x2L:               // Low 2 32-bit floats in SSE register
      case B_SREGF64x2:                // SSE register as 2 64-bit floats
      case B_SREGF64L:                 // Low 64-bit float in SSE register
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          Operandssereg(&im,(cmd[n]>>3) & 0x07,op);
          op->granularity=Getgranularity(arg); };
        break;
      case B_SVEXF32x4:                // SSE reg in VEX as 4 32-bit floats
      case B_SVEXF32L:                 // Low 32-bit float in SSE in VEX
      case B_SVEXF64x2:                // SSE reg in VEX as 2 64-bit floats
      case B_SVEXF64L:                 // Low 64-bit float in SSE in VEX
        Operandssereg(&im,vexreg,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEF32x4:                 // SSE reg/memory as 4 32-bit floats
      case B_SSEF64x2:                 // SSE reg/memory as 2 64-bit floats
        k=Operandmodrm(&im,
          (arg & B_NOVEXSIZE?16:im.ssesize),cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEF32L:                  // Low 32-bit float in SSE reg/memory
        k=Operandmodrm(&im,4,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)                      // Operand in SSE register
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=4;
        break;
      case B_SSEF32x2L:                // Low 2 32-bit floats in SSE reg/memory
        k=Operandmodrm(&im,
          (arg & B_NOVEXSIZE?16:im.ssesize)/2,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)                      // Operand in SSE register
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=4;
        break;
      case B_SSEF64L:                  // Low 64-bit float in SSE reg/memory
        k=Operandmodrm(&im,8,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)                      // Operand in SSE register
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=8;
        break;
      case B_XMM0I32x4:                // XMM0 as 4 32-bit integers
      case B_XMM0I64x2:                // XMM0 as 2 64-bit integers
      case B_XMM0I8x16:                // XMM0 as 16 8-bit integers
        Operandssereg(&im,0,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SREGI8x16:                // SSE register as 16 8-bit sigints
      case B_SREGI16x8:                // SSE register as 8 16-bit sigints
      case B_SREGI32x4:                // SSE register as 4 32-bit sigints
      case B_SREGI64x2:                // SSE register as 2 64-bit sigints
      case B_SREGI32L:                 // Low 32-bit sigint in SSE register
      case B_SREGI32x2L:               // Low 2 32-bit sigints in SSE register
      case B_SREGI64L:                 // Low 64-bit sigint in SSE register
        if (n>=cmdsize)
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
        else {
          Operandssereg(&im,(cmd[n]>>3) & 0x07,op);
          op->granularity=Getgranularity(arg); };
        break;
      case B_SVEXI8x16:                // SSE reg in VEX as 16 8-bit sigints
      case B_SVEXI16x8:                // SSE reg in VEX as 8 16-bit sigints
      case B_SVEXI32x4:                // SSE reg in VEX as 4 32-bit sigints
      case B_SVEXI64x2:                // SSE reg in VEX as 2 64-bit sigints
        Operandssereg(&im,vexreg,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEI8x16:                 // SSE reg/memory as 16 8-bit sigints
      case B_SSEI16x8:                 // SSE reg/memory as 8 16-bit sigints
      case B_SSEI32x4:                 // SSE reg/memory as 4 32-bit sigints
      case B_SSEI64x2:                 // SSE reg/memory as 2 64-bit sigints
        k=Operandmodrm(&im,
          (arg & B_NOVEXSIZE?16:im.ssesize),cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEI8x8L:                 // Low 8 8-bit ints in SSE reg/memory
      case B_SSEI16x4L:                // Low 4 16-bit ints in SSE reg/memory
      case B_SSEI32x2L:                // Low 2 32-bit sigints in SSE reg/memory
        k=Operandmodrm(&im,
          (arg & B_NOVEXSIZE?16:im.ssesize)/2,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEI8x4L:                 // Low 4 8-bit ints in SSE reg/memory
      case B_SSEI16x2L:                // Low 2 16-bit ints in SSE reg/memory
        k=Operandmodrm(&im,4,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEI8x2L:                 // Low 2 8-bit ints in SSE reg/memory
        k=Operandmodrm(&im,2,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0)
          Operandssereg(&im,cmd[n] & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_SSEI8x16DI:               // SSE 16 8-bit sigints at [DS:(E)DI]
        Operandindirect(&im,REG_EDI,0,SEG_UNDEF,0,
          (arg & B_NOVEXSIZE?16:im.ssesize),op);
        op->granularity=1;
        break;
      case B_EFL:                      // Flags register EFL
        Operandefl(&im,4,op);
        break;
      case B_FLAGS8:                   // Flags (low byte)
        Operandefl(&im,1,op);
        break;
      case B_OFFSET:                   // 16/32 const offset from next command
        Operandoffset(&im,datasize,datasize,cmd+n,cmdsize-n,da->ip+n,op);
        break;
      case B_BYTEOFFS:                 // 8-bit sxt const offset from next cmd
        Operandoffset(&im,1,datasize,cmd+n,cmdsize-n,da->ip+n,op);
        break;
      case B_FARCONST:                 // 16:16/16:32 absolute address constant
        Operandimmfaraddr(&im,datasize,cmd+n,cmdsize-n,op);
        break;
      case B_DESCR:                    // 16:32 descriptor in ModRM
        k=Operandmodrm(&im,6,cmd+n,cmdsize-n,op);
        if (k<0) break;                // Error in address
        if (k==0) {
          // Register is not allowed, decode as 32-bit register and set error.
          Operandintreg(&im,4,cmd[n] & 0x07,op);
          op->features|=OP_INVALID;
          da->errors|=DAE_MEMORY; };
        break;
      case B_1:                        // Immediate constant 1
        Operandone(&im,op);
        break;
      case B_CONST8:                   // Immediate 8-bit constant
        Operandimmconst(&im,1,1,datasize,cmd+n,cmdsize-n,0,op);
        if (arg & B_PORT) op->features|=OP_PORT;
        break;
      case B_SIMMI8x16:                // SSE reg in immediate 8-bit constant
        if (cmdsize-n<im.modsize+im.dispsize+1) {
          da->errors|=DAE_CROSS;       // Command crosses end of memory block
          break; };
        im.immsize1=1;
        Operandssereg(&im,(cmd[n+im.modsize+im.dispsize]>>4) & 0x07,op);
        op->granularity=Getgranularity(arg);
        break;
      case B_CONST8_2:                 // Immediate 8-bit const, second in cmd
        Operandimmconst(&im,1,1,datasize,cmd+n,cmdsize-n,1,op);
        break;
      case B_CONST16:                  // Immediate 16-bit constant
        Operandimmconst(&im,2,2,datasize,cmd+n,cmdsize-n,0,op);
        break;
      case B_CONST:                    // Immediate 8/16/32-bit constant
      case B_CONSTL:                   // Immediate 16/32-bit constant
        Operandimmconst(&im,datasize,datasize,datasize,cmd+n,cmdsize-n,0,op);
        im.usesdatasize=1;
        break;
      case B_SXTCONST:                 // Immediate 8-bit sign-extended to size
        Operandimmconst(&im,1,datasize,datasize,cmd+n,cmdsize-n,0,op);
        im.usesdatasize=1;
        break;
      case B_CR:                       // Control register in Reg
        Operandcreg(&im,(cmd[n]>>3) & 0x07,op);
        break;
      case B_CR0:                      // Control register CR0
        Operandcreg(&im,0,op);
        break;
      case B_DR:                       // Debug register in Reg
        Operanddreg(&im,(cmd[n]>>3) & 0x07,op);
        break;
      case B_FST:                      // FPU status register
        Operandfst(&im,op);
        break;
      case B_FCW:                      // FPU control register
        Operandfcw(&im,op);
        break;
      case B_MXCSR:                    // SSE media control and status register
        Operandmxcsr(&im,op);
        break;
      default:                         // Internal error
        da->errors|=DAE_INTERN;
      break; };
    if ((arg & B_32BITONLY)!=0 && op->opsize!=4)
      da->warnings|=DAW_NONCLASS;
    if ((arg & B_MODMASK)==B_JMPCALLFAR)
      da->warnings|=DAW_FARADDR;
    if (arg & B_PSEUDO) op->features|=OP_PSEUDO;
    if (arg & (B_CHG|B_UPD)) op->features|=OP_MOD;
  };
  if (im.prefixlist!=0) {                 // Optimization for most frequent case
    // If LOCK prefix is present, report error if prefix is not allowed by
    // command and warning otherwise. Application code usually doesn't need
    // atomic bus access.
    if ((im.prefixlist & PF_LOCK)!=0) {
      if ((cmdtype & D_LOCKABLE)==0) da->errors|=DAE_LOCK;
      else da->warnings|=DAW_LOCK; };
    // Warn if data size prefix is present but not used by command.
    if ((im.prefixlist & PF_DSIZE)!=0 && im.usesdatasize==0 &&
      (pcmd->exttype & DX_TYPEMASK)!=DX_NOP)
      da->warnings|=DAW_DATASIZE;
    // Warn if address size prefix is present but not used by command.
    if ((im.prefixlist & PF_ASIZE)!=0 && im.usesaddrsize==0)
      da->warnings|=DAW_ADDRSIZE;
    // Warn if segment override prefix is present but command doesn't access
    // memory. Prefixes CS: and DS: are also used as branch hints in
    // conditional branches.
    if ((im.prefixlist & PF_SEGMASK)!=0 && im.usessegment==0) {
      if ((cmdtype & D_BHINT)==0 || (im.prefixlist & PF_HINT)==0)
      da->warnings|=DAW_SEGPREFIX; };
    // Warn if REPxx prefix is present but not used by command. Attention,
    // Intel frequently uses these prefixes for different means!
    if (im.prefixlist & PF_REPMASK) {
      if (((im.prefixlist & PF_REP)!=0 && (cmdtype & D_MUSTMASK)!=D_MUSTREP &&
      (cmdtype & D_MUSTMASK)!=D_MUSTREPE) ||
      ((im.prefixlist & PF_REPNE)!=0 && (cmdtype & D_MUSTMASK)!=D_MUSTREPNE))
      da->warnings|=DAW_REPPREFIX;
    };
  };
  // Warn on unaligned stack, I/O and privileged commands.
  switch (cmdtype & D_CMDTYPE) {
    case D_PUSH:
      if (datasize==2) da->warnings|=DAW_STACK; break;
    case D_INT:
      da->warnings|=DAW_INTERRUPT; break;
    case D_IO:
      da->warnings|=DAW_IO; break;
    case D_PRIVILEGED:
      da->warnings|=DAW_PRIV;
    break; };
  // Warn on system, privileged  and undocumented commands.
  if ((cmdtype & D_USEMASK)!=0) {
    if ((cmdtype & D_USEMASK)==D_RARE || (cmdtype & D_USEMASK)==D_SUSPICIOUS)
      da->warnings|=DAW_RARE;
    if ((cmdtype & D_USEMASK)==D_UNDOC) da->warnings|=DAW_NONCLASS; };
  // If command implicitly changes ESP, it uses and modifies this register.
  if (cmdtype & D_CHGESP) {
    da->uses|=(1<<REG_ESP);
    da->modifies|=(1<<REG_ESP);
  };
error:
  // Prepare hex dump, if requested. As maximal size of command is limited to
  // MAXCMDSIZE=16 bytes, string can't overflow.
  if (damode & DA_DUMP) {
    if (da->errors & DAE_CROSS)        // Incomplete command
      Thexdump(da->dump,cmd,cmdsize,config->lowercase);
    else {
      j=0;
      // Dump prefixes. REPxx is treated as prefix and separated from command
      // with semicolon; prefixes 66, F2 and F3 that are part of SSE command
      // are glued with command's body - well, at least if there are no other
      // prefixes inbetween.
      for (u=0; u<da->nprefix; u++) {
        j+=Thexdump(da->dump+j,cmd+u,1,config->lowercase);
        if (cmd[u]==0x66 && (cmdtype & D_MUSTMASK)==D_MUST66) continue;
        if (cmd[u]==0xF2 && ((cmdtype & D_MUSTMASK)==D_MUSTF2 ||
          (cmdtype & D_MUSTMASK)==D_NEEDF2)) continue;
        if (cmd[u]==0xF3 && ((cmdtype & D_MUSTMASK)==D_MUSTF3 ||
          (cmdtype & D_MUSTMASK)==D_NEEDF3)) continue;
        if ((im.prefixlist & (PF_VEX2|PF_VEX3))!=0 && u==da->nprefix-2)
          continue;
        if ((im.prefixlist & PF_VEX3)!=0 && u==da->nprefix-3)
          continue;
        da->dump[j++]=T(':'); };
      // Dump body of the command, including ModRegRM and SIB bytes.
      j+=Thexdump(da->dump+j,cmd+u,im.mainsize+im.modsize-u,
        config->lowercase);
      // Dump displacement, if any, separated with space from command's body.
      if (im.dispsize>0) {
        da->dump[j++]=T(' ');
        j+=Thexdump(da->dump+j,cmd+im.mainsize+im.modsize,im.dispsize,
          config->lowercase);
        ;
      };
      // Dump immediate constants, if any.
      if (im.immsize1>0) {
        da->dump[j++]=T(' ');
        j+=Thexdump(da->dump+j,cmd+im.mainsize+im.modsize+im.dispsize,
          im.immsize1,config->lowercase)
        ;
      };
      if (im.immsize2>0) {
        da->dump[j++]=T(' ');
        Thexdump(da->dump+j,cmd+im.mainsize+im.modsize+im.dispsize+im.immsize1,
          im.immsize2,config->lowercase);
        ;
      };
    };
  };
  // Prepare disassembled command. There are many options that control look
  // and feel of disassembly, so the procedure is a bit, errr, boring.
  if (damode & DA_TEXT) {
    if (da->errors & DAE_CROSS) {      // Incomplete command
      q=Tstrcopy(da->result,TEXTLEN,T("???"));
      if (damode & DA_HILITE) {
        memset(da->mask,DRAW_SUSPECT,q);
        da->masksize=q;
      }; }
    else {
      j=0;
      // If LOCK and/or REPxx prefix is present, prepend it to the command.
      // Such cases are rare, first comparison makes small optimization.
      if (im.prefixlist & (PF_LOCK|PF_REPMASK)) {
        if (im.prefixlist & PF_LOCK)
          j=Tcopycase(da->result,TEXTLEN,T("LOCK "),config->lowercase);
        if (im.prefixlist & PF_REPNE)
          j+=Tcopycase(da->result+j,TEXTLEN-j,T("REPNE "),config->lowercase);
        else if (im.prefixlist & PF_REP) {
          if ((cmdtype & D_MUSTMASK)==D_MUSTREPE)
            j+=Tcopycase(da->result+j,TEXTLEN-j,T("REPE "),config->lowercase);
          else
            j+=Tcopycase(da->result+j,TEXTLEN-j,T("REP "),config->lowercase);
          ;
        };
      };
      // If there is a branch hint, prefix jump mnemonics with '+' (taken) or
      // '-' (not taken), or use pseudoprefixes BHT/BHNT. I don't know how MASM
      // indicates hints.
      if (cmdtype & D_BHINT) {
        if (config->jumphintmode==0) {
          if (im.prefixlist & PF_TAKEN)
            da->result[j++]=T('+');
          else if (im.prefixlist & PF_NOTTAKEN)
            da->result[j++]=T('-');
          ; }
        else {
          if (im.prefixlist & PF_TAKEN)
            j+=Tcopycase(da->result+j,TEXTLEN-j,T("BHT "),config->lowercase);
          else if (im.prefixlist & PF_NOTTAKEN)
            j+=Tcopycase(da->result+j,TEXTLEN-j,T("BHNT "),config->lowercase);
          ;
        };
      };
      // Get command mnemonics. If mnemonics contains asterisk, it must be
      // replaced by W, D or none according to sizesens. Asterisk in SSE and
      // AVX commands means comparison predicate.
      if (cmdtype & D_WILDCARD) {
        for (i=0; ; i++) {
          if (pcmd->name[i]==T('\0'))
            break;
          else if (pcmd->name[i]!=T('*'))
            da->result[j++]=pcmd->name[i];
          else if (cmdtype & D_POSTBYTE)
            j+=Tstrcopy(da->result+j,TEXTLEN-j,
            ssepredicate[cmd[im.mainsize+im.modsize+im.dispsize]]);
          else if (datasize==4 &&
            (config->sizesens==0 || config->sizesens==1))
            da->result[j++]=T('D');
          else if (datasize==2 &&
            (config->sizesens==1 || config->sizesens==2))
            da->result[j++]=T('W');
          ; };
        da->result[j]=T('\0');
        if (config->lowercase) tstrlwr(da->result); }
      else {
        j+=Tcopycase(da->result+j,TEXTLEN-j,pcmd->name,config->lowercase);
        if (config->disasmmode==DAMODE_ATT && im.usesdatasize!=0) {
          // AT&T mnemonics are suffixed with the operand's size.
          if ((cmdtype & D_CMDTYPE)!=D_CMD &&
            (cmdtype & D_CMDTYPE)!=D_MOV &&
            (cmdtype & D_CMDTYPE)!=D_MOVC &&
            (cmdtype & D_CMDTYPE)!=D_TEST &&
            (cmdtype & D_CMDTYPE)!=D_STRING &&
            (cmdtype & D_CMDTYPE)!=D_PUSH &&
            (cmdtype & D_CMDTYPE)!=D_POP) ;
          else if (datasize==1) j+=Tcopycase(da->result+j,TEXTLEN-j,
            T("B"),config->lowercase);
          else if (datasize==2) j+=Tcopycase(da->result+j,TEXTLEN-j,
            T("W"),config->lowercase);
          else if (datasize==4) j+=Tcopycase(da->result+j,TEXTLEN-j,
            T("L"),config->lowercase);
          else if (datasize==8) j+=Tcopycase(da->result+j,TEXTLEN-j,
            T("Q"),config->lowercase);
          ;
        };
      };
      if (damode & DA_HILITE) {
        type=cmdtype & D_CMDTYPE;
        if (da->errors!=0)
          cfill=DRAW_SUSPECT;
        else switch (cmdtype & D_CMDTYPE) {
          case D_JMP:                  // Unconditional near jump
          case D_JMPFAR:               // Unconditional far jump
            cfill=DRAW_JUMP; break;
          case D_JMC:                  // Conditional jump on flags
          case D_JMCX:                 // Conditional jump on (E)CX (and flags)
            cfill=DRAW_CJMP; break;
          case D_PUSH:                 // PUSH exactly 1 (d)word of data
          case D_POP:                  // POP exactly 1 (d)word of data
            cfill=DRAW_PUSHPOP; break;
          case D_CALL:                 // Plain near call
          case D_CALLFAR:              // Far call
          case D_INT:                  // Interrupt
            cfill=DRAW_CALL; break;
          case D_RET:                  // Plain near return from call
          case D_RETFAR:               // Far return or IRET
            cfill=DRAW_RET; break;
          case D_FPU:                  // FPU command
          case D_MMX:                  // MMX instruction, incl. SSE extensions
          case D_3DNOW:                // 3DNow! instruction
          case D_SSE:                  // SSE instruction
          case D_AVX:                  // AVX instruction
            cfill=DRAW_FPU; break;
          case D_IO:                   // Accesses I/O ports
          case D_SYS:                  // Legal but useful in system code only
          case D_PRIVILEGED:           // Privileged (non-Ring3) command
            cfill=DRAW_SUSPECT; break;
          default:
            cfill=DRAW_PLAIN;
          break; };
        memset(da->mask,cfill,j);
        da->masksize=j;
      };
      // Add decoded operands. In HLA mode, order of operands is inverted
      // except for comparison commands (marked with bit D_HLADIR) and
      // arguments are enclosed in parenthesis (except for immediate jumps).
      // In AT&T mode, order of operands is always inverted. Operands of type
      // B_PSEUDO are implicit and don't appear in text.
      if (config->disasmmode==DAMODE_HLA &&
        (pcmd->arg[0] & B_ARGMASK)!=B_OFFSET &&
        (pcmd->arg[0] & B_ARGMASK)!=B_BYTEOFFS &&
        (pcmd->arg[0] & B_ARGMASK)!=B_FARCONST)
        enclose=1;                     // Enclose operand list in parenthesis
      else
        enclose=0;
      if ((damode & DA_HILITE)!=0 && config->hiliteoperands!=0)
        cfill=DRAW_PLAIN;
      nout=0;
      for (i=0; i<noperand; i++) {
        if ((config->disasmmode==DAMODE_HLA && (cmdtype & D_HLADIR)==0) ||
          config->disasmmode==DAMODE_ATT)
          k=noperand-1-i;              // Inverted (HLA/AT&T) order of operands
        else
          k=i;                         // Direct (Intel's) order of operands
        arg=da->op[k].arg;
        if ((arg & B_ARGMASK)==B_NONE || (arg & B_PSEUDO)!=0)
          continue;                    // Empty or implicit operand
        q=j;
        if (nout==0) {
          // Spaces between mnemonic and first operand.
          da->result[j++]=T(' ');
          if (config->tabarguments) {
            for ( ; j<8; j++) da->result[j]=T(' '); };
          if (enclose) {
            da->result[j++]=T('(');
            if (config->extraspace) da->result[j++]=(' ');
          }; }
        else {
          // Comma and optional space between operands.
          da->result[j++]=T(',');
          if (config->extraspace) da->result[j++]=T(' ');
        };
        if (damode & DA_HILITE) {
          memset(da->mask+q,cfill,j-q);
          da->masksize=j; };
        // Operand itself.
        q=j;
        op=da->op+k;
        j+=Tstrcopy(da->result+j,TEXTLEN-j-10,op->text);
        if (damode & DA_HILITE) {
          if (config->hiliteoperands==0)
            ofill=cfill;
          else if (op->features & OP_REGISTER)
            ofill=DRAW_IREG;
          else if (op->features & (OP_FPUREG|OP_MMXREG|OP_3DNOWREG|OP_SSEREG))
            ofill=DRAW_FREG;
          else if (op->features & (OP_SEGREG|OP_CREG|OP_DREG))
            ofill=DRAW_SYSREG;
          else if (op->features & OP_MEMORY) {
            if (op->scale[REG_ESP]!=0 || op->scale[REG_EBP]!=0)
              ofill=DRAW_STKMEM;
            else
              ofill=DRAW_MEM;
            ; }
          else if (op->features & OP_CONST)
            ofill=DRAW_CONST;
          else
            ofill=cfill;
          memset(da->mask+q,ofill,j-q);
          da->masksize=j;
        };
        nout++;
      };
      // All arguments added, close list.
      if (enclose && nout!=0) {
        q=j;
        if (config->extraspace) da->result[j++]=T(' ');
        da->result[j++]=T(')');
        if (damode & DA_HILITE) {
          memset(da->mask+q,cfill,j-q);
          da->masksize=j;
        };
      };
      da->result[j]=T('\0');
    };
  };
  // Calculate total size of command.
  if (da->errors & DAE_CROSS)          // Incomplete command
    n=cmdsize;
  else
    n+=im.modsize+im.dispsize+im.immsize1+im.immsize2;
  da->size=n;
  return n;
};

// Given error and warning lists, returns pointer to the string describing
// relatively most severe error or warning, or NULL if there are no errors or
// warnings.
tchar *Geterrwarnmessage(ulong errors,ulong warnings) {
  tchar *ps;
  if (errors==0 && warnings==0)
    ps=NULL;
  else if (errors & DAE_BADCMD)
    ps=T("Unknown command");
  else if (errors & DAE_CROSS)
    ps=T("Command crosses end of memory block");
  else if (errors & DAE_MEMORY)
    ps=T("Illegal use of register");
  else if (errors & DAE_REGISTER)
    ps=T("Memory address is not allowed");
  else if (errors & DAE_LOCK)
    ps=T("LOCK prefix is not allowed");
  else if (errors & DAE_BADSEG)
    ps=T("Invalid segment register");
  else if (errors & DAE_SAMEPREF)
    ps=T("Two prefixes from the same group");
  else if (errors & DAE_MANYPREF)
    ps=T("More than 4 prefixes");
  else if (errors & DAE_BADCR)
    ps=T("Invalid CR register");
  else if (errors & DAE_INTERN)
    ps=T("Internal OllyDbg error");
  else if (warnings & DAW_DATASIZE)
    ps=T("Superfluous operand size prefix");
  else if (warnings & DAW_ADDRSIZE)
    ps=T("Superfluous address size prefix");
  else if (warnings & DAW_SEGPREFIX)
    ps=T("Superfluous segment override prefix");
  else if (warnings & DAW_REPPREFIX)
    ps=T("Superfluous REPxx prefix");
  else if (warnings & DAW_DEFSEG)
    ps=T("Explicit default segment register");
  else if (warnings & DAW_JMP16)
    ps=T("16-bit jump, call or return");
  else if (warnings & DAW_FARADDR)
    ps=T("Far jump or call");
  else if (warnings & DAW_SEGMOD)
    ps=T("Modification of segment register");
  else if (warnings & DAW_PRIV)
    ps=T("Privileged instruction");
  else if (warnings & DAW_IO)
    ps=T("I/O command");
  else if (warnings & DAW_SHIFT)
    ps=T("Shift out of range");
  else if (warnings & DAW_LOCK)
    ps=T("Command uses (valid) LOCK prefix");
  else if (warnings & DAW_STACK)
    ps=T("Unaligned stack operation");
  else if (warnings & DAW_NOESP)
    ps=T("Suspicious use of stack pointer");
  else if (warnings & DAW_NONCLASS)
    ps=T("Undocumented instruction or encoding");
  else
    ps=NULL;
  return ps;
};



================================================
FILE: Disasm201/cmdlist.c
================================================
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// OllyDbg Disassembling Engine v2.01                                         //
//                                                                            //
// Copyright (c) 2007-2013 Oleh Yuschuk, ollydbg@t-online.de                  //
//                                                                            //
// This code is part of the OllyDbg Disassembler v2.01                        //
//                                                                            //
// Disassembling engine is free software; you can redistribute it and/or      //
// modify it under the terms of the GNU General Public License as published   //
// by the Free Software Foundation; either version 3 of the License, or (at   //
// your option) any later version.                                            //
//                                                                            //
// This code is distributed in the hope that it will be useful, but WITHOUT   //
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or      //
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for   //
// more details.                                                              //
//                                                                            //
// You should have received a copy of the GNU General Public License along    //
// with this program. If not, see <http://www.gnu.org/licenses/>.             //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// This is a fast disassembler that can be used to determine the length of    //
// the binary 80x86 32-bit command and its attributes, to convert it to the   //
// human-readable text form, highlight its operands, and create hexadecimal   //
// dump of the binary command.                                                //
//                                                                            //
// It is a stripped down version of the disassembler used by OllyDbg 2.01.    //
// It can't analyse and comment the contents of the operands, or predict the  //
// results of the command execution. Analysis-dependent features are not      //
// included, too. Most other features are kept.                               //
//                                                                            //
// Disassembler supports integer, FPU, MMX, 3DNow, SSE1-SSE4.1 and AVX        //
// instructions. 64-bit mode, AVX2, FMA and XOP are not (yet) supported.      //
//                                                                            //
// This code can be compiled either in ASCII or UNICODE mode. It is reentrant //
// (thread-safe, feature not available in the original OllyDbg code).         //
//                                                                            //
// Typical operation speed on 3-GHz Phenom II in MASM mode is:                //
//                                                                            //
//   Command length and info:          130 ns/command (7,700,000 commands/s)  //
//   Disassembly:                      290 ns/command (3,400,000 commands/s)  //
//   Disassembly, dump, highlighting:  350 ns/command (2,800,000 commands/s)  //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


#include <stddef.h>
#pragma hdrstop

#include "disasm.h"

const t_bincmd bincmd[] = {

  { T("PAUSE"),
        D_SSE|D_MUSTF3, 0,
        1, 0x000000FF, 0x00000090, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD, DX_NOP,
        1, 0x000000FF, 0x00000090, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x0000190F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x00001A0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x00001B0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x00001C0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x00001D0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD|D_UNDOC, DX_NOP,
        2, 0x0000FFFF, 0x00001E0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOP"),
        D_CMD, DX_NOP,
        2, 0x0000FFFF, 0x00001F0F, 0x00,
        B_INT,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("MONITOR"),
        D_SYS|D_RARE, 0,
        3, 0x00FFFFFF, 0x00C8010F, 0x00,
        B_EAXMEM|B_PSEUDO,
        B_ECX|B_BINARY|B_PSEUDO,
        B_EDX|B_BINARY|B_PSEUDO,
        B_NONE },

  { T("MWAIT"),
        D_SYS|D_RARE, 0,
        3, 0x00FFFFFF, 0x00C9010F, 0x00,
        B_EAX|B_BINARY|B_PSEUDO,
        B_ECX|B_BINARY|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CLAC"),
        D_SYS|D_RARE, 0,
        3, 0x00FFFFFF, 0x00CA010F, 0x00,
        B_EAX|B_BINARY|B_PSEUDO,
        B_ECX|B_BINARY|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("STAC"),
        D_SYS|D_RARE, 0,
        3, 0x00FFFFFF, 0x00CB010F, 0x00,
        B_EAX|B_BINARY|B_PSEUDO,
        B_ECX|B_BINARY|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("AAA"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        1, 0x000000FF, 0x00000037, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("AAD"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        2, 0x0000FFFF, 0x00000AD5, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("AAD"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        1, 0x000000FF, 0x000000D5, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_CONST8|B_UNSIGNED,
        B_NONE,
        B_NONE },

  { T("AAM"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        2, 0x0000FFFF, 0x00000AD4, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("AAM"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        1, 0x000000FF, 0x000000D4, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_CONST8|B_UNSIGNED,
        B_NONE,
        B_NONE },

  { T("AAS"),
        D_CMD|D_ALLFLAGS|D_RARE, 0,
        1, 0x000000FF, 0x0000003F, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("ADC"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x00000014, 0x00,
        B_ACC|B_UPD,
        B_CONST|B_NOADDR,
        B_NONE,
        B_NONE },

  { T("ADC"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00001080, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_CONST|B_NOADDR,
        B_NONE,
        B_NONE },

  { T("ADC"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00001082, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_SXTCONST,
        B_NONE,
        B_NONE },

  { T("ADC"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x00000010, 0x00,
        B_INT|B_UPD,
        B_REG,
        B_NONE,
        B_NONE },

  { T("ADC"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x00000012, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("ADD"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB|DX_ADD,
        1, 0x000000FE, 0x00000004, 0x00,
        B_ACC|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("ADD"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_ADD,
        1, 0x000038FE, 0x00000080, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("ADD"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_ADD,
        1, 0x000038FE, 0x00000082, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_SXTCONST,
        B_NONE,
        B_NONE },

  { T("ADD"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_ADD,
        1, 0x000000FE, 0x00000000, 0x00,
        B_INT|B_UPD,
        B_REG,
        B_NONE,
        B_NONE },

  { T("ADD"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB|DX_ADD,
        1, 0x000000FE, 0x00000002, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("AND"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000024, 0x00,
        B_ACC|B_BINARY|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("AND"),
        D_TEST|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000038FE, 0x00002080, 0x00,
        B_INT|B_BINARY|B_SHOWSIZE|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("AND"),
        D_TEST|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000038FE, 0x00002082, 0x00,
        B_INT|B_BINARY|B_SHOWSIZE|B_UPD,
        B_SXTCONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("AND"),
        D_TEST|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000020, 0x00,
        B_INT|B_BINARY|B_UPD,
        B_REG|B_BINARY,
        B_NONE,
        B_NONE },

  { T("AND"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000022, 0x00,
        B_REG|B_BINARY|B_UPD,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("ARPL"),
        D_SYS|D_FLAGZ|D_RARE, 0,
        1, 0x000000FF, 0x00000063, 0x00,
        B_INT16|B_UPD,
        B_REG16,
        B_NONE,
        B_NONE },

  { T("BOUND"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x00000062, 0x00,
        B_REG|B_SIGNED,
        B_INTPAIR|B_MEMONLY,
        B_NONE,
        B_NONE },

  { T("BSF"),
        D_CMD|D_ALLFLAGS, DX_JZ,
        2, 0x0000FFFF, 0x0000BC0F, 0x00,
        B_REG|B_CHG,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("BSR"),
        D_CMD|D_NOREP|D_ALLFLAGS, DX_JZ,
        2, 0x0000FFFF, 0x0000BD0F, 0x00,
        B_REG|B_CHG,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("BSWAP"),
        D_CMD, 0,
        2, 0x0000F8FF, 0x0000C80F, 0x00,
        B_REGCMD|B_32BITONLY|B_NOESP|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("BT"),
        D_TEST|D_ALLFLAGS, DX_JC,
        2, 0x0000FFFF, 0x0000A30F, 0x00,
        B_INT|B_BINARY,
        B_REG|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BT"),
        D_TEST|D_ALLFLAGS, DX_JC,
        2, 0x0038FFFF, 0x0020BA0F, 0x00,
        B_INT|B_BINARY|B_SHOWSIZE,
        B_CONST8|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTC"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0000FFFF, 0x0000BB0F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_UPD,
        B_REG|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTC"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0038FFFF, 0x0038BA0F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTR"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0000FFFF, 0x0000B30F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_UPD,
        B_REG|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTR"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0038FFFF, 0x0030BA0F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTS"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0000FFFF, 0x0000AB0F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_UPD,
        B_REG|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("BTS"),
        D_CMD|D_LOCKABLE|D_ALLFLAGS, DX_JC,
        2, 0x0038FFFF, 0x0028BA0F, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_BITCNT,
        B_NONE,
        B_NONE },

  { T("CALL"),
        D_CALL|D_CHGESP, 0,
        1, 0x000000FF, 0x000000E8, 0x00,
        B_OFFSET|B_JMPCALL,
        B_PUSHRET|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CALL"),
        D_CALL|D_CHGESP, 0,
        1, 0x000038FF, 0x000010FF, 0x00,
        B_INT|B_JMPCALL,
        B_PUSHRET|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CALL"),
        D_CALLFAR|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x0000009A, 0x00,
        B_FARCONST|B_JMPCALLFAR,
        B_PUSHRETF|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CALL"),
        D_CALLFAR|D_CHGESP|D_RARE, 0,
        1, 0x000038FF, 0x000018FF, 0x00,
        B_SEGOFFS|B_JMPCALLFAR|B_MEMONLY,
        B_PUSHRETF|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CBW"),
        D_CMD|D_DATA16, 0,
        1, 0x000000FF, 0x00000098, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_AL|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CBW"),
        D_CMD|D_DATA16, 0,
        1, 0x000000FF, 0x00000098, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_AL,
        B_NONE,
        B_NONE },

  { T("CDQ"),
        D_CMD|D_DATA32, 0,
        1, 0x000000FF, 0x00000099, 0x00,
        B_EDX|B_CHG|B_PSEUDO,
        B_EAX|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CDQ"),
        D_CMD|D_DATA32, 0,
        1, 0x000000FF, 0x00000099, 0x00,
        B_EDX|B_CHG|B_PSEUDO,
        B_EAX,
        B_NONE,
        B_NONE },

  { T("CLC"),
        D_CMD|D_FLAGC, 0,
        1, 0x000000FF, 0x000000F8, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CLD"),
        D_CMD|D_FLAGD, 0,
        1, 0x000000FF, 0x000000FC, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CLFLUSH"),
        D_CMD|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0038AE0F, 0x00,
        B_ANYMEM|B_MEMONLY,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CLI"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x000000FA, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CLTS"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000060F, 0x00,
        B_CR0|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CMC"),
        D_CMD|D_FLAGC, 0,
        1, 0x000000FF, 0x000000F5, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("CMOVO"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x0000400F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNO"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x0000410F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVB"),
        D_MOVC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000420F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVC"),
        D_MOVC|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000420F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNAE"),
        D_MOVC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000420F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVAE"),
        D_MOVC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000430F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNB"),
        D_MOVC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000430F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNC"),
        D_MOVC|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000430F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVE"),
        D_MOVC|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000440F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVZ"),
        D_MOVC|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000440F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNE"),
        D_MOVC|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000450F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNZ"),
        D_MOVC|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000450F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVBE"),
        D_MOVC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000460F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNA"),
        D_MOVC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000460F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVA"),
        D_MOVC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000470F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNBE"),
        D_MOVC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000470F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVS"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x0000480F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNS"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x0000490F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVPE"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004A0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVP"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004A0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVPO"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004B0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNP"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004B0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVL"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004C0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNGE"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004C0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVGE"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004D0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNL"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004D0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVLE"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004E0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNG"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004E0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVG"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004F0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMOVNLE"),
        D_MOVC|D_COND, 0,
        2, 0x0000FFFF, 0x00004F0F, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMP"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000000FE, 0x0000003C, 0x00,
        B_ACC,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("CMP"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000038FE, 0x00003880, 0x00,
        B_INT|B_SHOWSIZE,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("CMP"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000038FE, 0x00003882, 0x00,
        B_INT|B_SHOWSIZE,
        B_SXTCONST,
        B_NONE,
        B_NONE },

  { T("CMP"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000000FE, 0x00000038, 0x00,
        B_INT,
        B_REG,
        B_NONE,
        B_NONE },

  { T("CMP"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000000FE, 0x0000003A, 0x00,
        B_REG,
        B_INT,
        B_NONE,
        B_NONE },

  { T("CMPXCHG"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        2, 0x0000FEFF, 0x0000B00F, 0x00,
        B_INT|B_UPD,
        B_REG,
        B_ACC|B_UPD|B_PSEUDO,
        B_NONE },

  { T("CMPXCHG8B"),
        D_CMD|D_LOCKABLE|D_MEMORY|D_ALLFLAGS, DX_JE|DX_JB,
        2, 0x0038FFFF, 0x0008C70F, 0x00,
        B_INT64|B_MEMONLY|B_UPD,
        B_EAX|B_UPD|B_PSEUDO,
        B_EDX|B_UPD|B_PSEUDO,
        B_EBX|B_PSEUDO },

  { T("CPUID"),
        D_CMD, 0,
        2, 0x0000FFFF, 0x0000A20F, 0x00,
        B_EAX|B_CHG|B_PSEUDO,
        B_EBX|B_CHG|B_PSEUDO,
        B_ECX|B_CHG|B_PSEUDO,
        B_EDX|B_CHG|B_PSEUDO },

  { T("CWD"),
        D_CMD|D_DATA16, 0,
        1, 0x000000FF, 0x00000099, 0x00,
        B_DX|B_CHG|B_PSEUDO,
        B_AX|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CWD"),
        D_CMD|D_DATA16, 0,
        1, 0x000000FF, 0x00000099, 0x00,
        B_DX|B_CHG|B_PSEUDO,
        B_AX,
        B_NONE,
        B_NONE },

  { T("CWDE"),
        D_CMD|D_DATA32, 0,
        1, 0x000000FF, 0x00000098, 0x00,
        B_EAX|B_UPD|B_PSEUDO,
        B_AX|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CWDE"),
        D_CMD|D_DATA32, 0,
        1, 0x000000FF, 0x00000098, 0x00,
        B_EAX|B_UPD|B_PSEUDO,
        B_AX,
        B_NONE,
        B_NONE },

  { T("DAA"),
        D_CMD|D_ALLFLAGS|D_USESCARRY|D_RARE, DX_JC,
        1, 0x000000FF, 0x00000027, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("DAS"),
        D_CMD|D_ALLFLAGS|D_USESCARRY|D_RARE, DX_JC,
        1, 0x000000FF, 0x0000002F, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("DEC"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_NOCFLAG, DX_JZ,
        1, 0x000038FE, 0x000008FE, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("DEC"),
        D_CMD|D_NOCFLAG, DX_JZ,
        1, 0x000000F8, 0x00000048, 0x00,
        B_REGCMD|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("DIV"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000030F6, 0x00,
        B_INT8|B_SHOWSIZE,
        B_AX|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("DIV"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000030F7, 0x00,
        B_INT1632|B_UNSIGNED|B_NOESP|B_SHOWSIZE,
        B_DXEDX|B_UPD|B_PSEUDO,
        B_ACC|B_UPD|B_PSEUDO,
        B_NONE },

  { T("EMMS"),
        D_CMD, 0,
        2, 0x0000FFFF, 0x0000770F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("ENTER"),
        D_CMD|D_CHGESP, 0,
        1, 0x000000FF, 0x000000C8, 0x00,
        B_CONST16|B_STACKINC,
        B_CONST8_2|B_UNSIGNED,
        B_PUSH|B_CHG|B_PSEUDO,
        B_BPEBP|B_CHG|B_PSEUDO },

  { T("WAIT"),
        D_CMD, 0,
        1, 0x000000FF, 0x0000009B, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("FWAIT"),
        D_CMD, 0,
        1, 0x000000FF, 0x0000009B, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("HLT"),
        D_PRIVILEGED|D_RARE, 0,
        1, 0x000000FF, 0x000000F4, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("IDIV"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000038F6, 0x00,
        B_INT8|B_SIGNED|B_SHOWSIZE,
        B_AX|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("IDIV"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000038F7, 0x00,
        B_INT1632|B_SIGNED|B_NOESP|B_SHOWSIZE,
        B_DXEDX|B_UPD|B_PSEUDO,
        B_ACC|B_UPD|B_PSEUDO,
        B_NONE },

  { T("IMUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000028F6, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_INT8|B_SIGNED|B_SHOWSIZE,
        B_AL|B_SIGNED|B_PSEUDO,
        B_NONE },

  { T("IMUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000028F7, 0x00,
        B_DXEDX|B_CHG|B_PSEUDO,
        B_ACC|B_UPD|B_PSEUDO,
        B_INT1632|B_SIGNED|B_NOESP|B_SHOWSIZE,
        B_NONE },

  { T("IMUL"),
        D_CMD|D_ALLFLAGS, 0,
        2, 0x0000FFFF, 0x0000AF0F, 0x00,
        B_REG|B_UPD,
        B_INT|B_NOESP,
        B_NONE,
        B_NONE },

  { T("IMUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000000FF, 0x0000006B, 0x00,
        B_REG|B_CHG,
        B_INT|B_NOESP,
        B_SXTCONST,
        B_NONE },

  { T("IMUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000000FF, 0x00000069, 0x00,
        B_REG|B_CHG,
        B_INT|B_NOESP,
        B_CONST|B_SIGNED,
        B_NONE },

  { T("IN"),
        D_IO|D_SIZE01|D_RARE, 0,
        1, 0x000000FE, 0x000000E4, 0x00,
        B_ACC|B_CHG,
        B_CONST8|B_PORT,
        B_NONE,
        B_NONE },

  { T("IN"),
        D_IO|D_SIZE01|D_RARE, 0,
        1, 0x000000FE, 0x000000EC, 0x00,
        B_ACC|B_CHG,
        B_DXPORT|B_PORT,
        B_NONE,
        B_NONE },

  { T("INC"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_NOCFLAG, DX_JZ,
        1, 0x000038FE, 0x000000FE, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INC"),
        D_CMD|D_NOCFLAG, DX_JZ,
        1, 0x000000F8, 0x00000040, 0x00,
        B_REGCMD|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INT"),
        D_INT, 0,
        1, 0x000000FF, 0x000000CD, 0x00,
        B_CONST8,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INT3"),
        D_INT|D_RARE, 0,
        1, 0x000000FF, 0x000000CC, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INTO"),
        D_INT|D_RARE, 0,
        1, 0x000000FF, 0x000000CE, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INT1"),
        D_INT|D_UNDOC, 0,
        1, 0x000000FF, 0x000000F1, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("ICEBP"),
        D_INT|D_UNDOC, 0,
        1, 0x000000FF, 0x000000F1, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INVD"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000080F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("INVLPG"),
        D_PRIVILEGED|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0038010F, 0x00,
        B_ANYMEM|B_MEMONLY,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("IRET*"),
        D_RETFAR|D_ALLFLAGS|D_CHGESP|D_WILDCARD|D_RARE, 0,
        1, 0x000000FF, 0x000000CF, 0x00,
        B_STKTOPFAR|B_JMPCALLFAR|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JO"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x00000070, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JO"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x0000800F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNO"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x00000071, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNO"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x0000810F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JB"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        1, 0x000000FF, 0x00000072, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JC"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JC,
        1, 0x000000FF, 0x00000072, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNAE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        1, 0x000000FF, 0x00000072, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JB"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000820F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JC"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000820F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNAE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000820F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JAE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        1, 0x000000FF, 0x00000073, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNB"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        1, 0x000000FF, 0x00000073, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNC"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JC,
        1, 0x000000FF, 0x00000073, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JAE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000830F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNB"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000830F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNC"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000830F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JE"),
        D_JMC|D_BHINT|D_COND, DX_JE,
        1, 0x000000FF, 0x00000074, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JZ"),
        D_JMC|D_BHINT|D_COND, DX_JZ,
        1, 0x000000FF, 0x00000074, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JE"),
        D_JMC|D_BHINT|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000840F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JZ"),
        D_JMC|D_BHINT|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000840F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNE"),
        D_JMC|D_BHINT|D_COND, DX_JE,
        1, 0x000000FF, 0x00000075, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNZ"),
        D_JMC|D_BHINT|D_COND, DX_JZ,
        1, 0x000000FF, 0x00000075, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNE"),
        D_JMC|D_BHINT|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000850F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNZ"),
        D_JMC|D_BHINT|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000850F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JBE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        1, 0x000000FF, 0x00000076, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNA"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        1, 0x000000FF, 0x00000076, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JBE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000860F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNA"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000860F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JA"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        1, 0x000000FF, 0x00000077, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNBE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        1, 0x000000FF, 0x00000077, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JA"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000870F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNBE"),
        D_JMC|D_BHINT|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000870F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JS"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x00000078, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JS"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x0000880F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNS"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x00000079, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNS"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x0000890F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JPE"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        1, 0x000000FF, 0x0000007A, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JP"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        1, 0x000000FF, 0x0000007A, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JPE"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00008A0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JP"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00008A0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JPO"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        1, 0x000000FF, 0x0000007B, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNP"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        1, 0x000000FF, 0x0000007B, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JPO"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00008B0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNP"),
        D_JMC|D_BHINT|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00008B0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JL"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007C, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNGE"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007C, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JL"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008C0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNGE"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008C0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JGE"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007D, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNL"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007D, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JGE"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008D0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNL"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008D0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JLE"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007E, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNG"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007E, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JLE"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008E0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNG"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008E0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JG"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007F, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNLE"),
        D_JMC|D_BHINT|D_COND, 0,
        1, 0x000000FF, 0x0000007F, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JG"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008F0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JNLE"),
        D_JMC|D_BHINT|D_COND, 0,
        2, 0x0000FFFF, 0x00008F0F, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JCXZ"),
        D_JMCX|D_ADDR16|D_BHINT, 0,
        1, 0x000000FF, 0x000000E3, 0x00,
        B_CX|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("JECXZ"),
        D_JMCX|D_ADDR32|D_BHINT, 0,
        1, 0x000000FF, 0x000000E3, 0x00,
        B_ECX|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("JMP"),
        D_JMP, 0,
        1, 0x000000FF, 0x000000EB, 0x00,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JMP"),
        D_JMP, 0,
        1, 0x000000FF, 0x000000E9, 0x00,
        B_OFFSET|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JMP"),
        D_JMP, 0,
        1, 0x000038FF, 0x000020FF, 0x00,
        B_INT|B_JMPCALL,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JMP"),
        D_JMPFAR|D_SUSPICIOUS, 0,
        1, 0x000000FF, 0x000000EA, 0x00,
        B_FARCONST|B_JMPCALLFAR,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("JMP"),
        D_JMPFAR|D_RARE, 0,
        1, 0x000038FF, 0x000028FF, 0x00,
        B_SEGOFFS|B_JMPCALLFAR|B_MEMONLY|B_SHOWSIZE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("LAHF"),
        D_CMD, 0,
        1, 0x000000FF, 0x0000009F, 0x00,
        B_AH|B_CHG|B_PSEUDO,
        B_FLAGS8|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("LAR"),
        D_CMD|D_FLAGZ|D_RARE, DX_JZ,
        2, 0x0000FFFF, 0x0000020F, 0x00,
        B_REG|B_BINARY|B_NOESP|B_CHG,
        B_INT|B_BINARY|B_NOESP,
        B_NONE,
        B_NONE },

  { T("LDS"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x000000C5, 0x00,
        B_SEGDS|B_CHG|B_PSEUDO,
        B_REG|B_BINARY|B_CHG,
        B_SEGOFFS|B_MEMONLY,
        B_NONE },

  { T("LES"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x000000C4, 0x00,
        B_SEGES|B_CHG|B_PSEUDO,
        B_REG|B_BINARY|B_CHG,
        B_SEGOFFS|B_MEMONLY,
        B_NONE },

  { T("LFS"),
        D_CMD|D_RARE, 0,
        2, 0x0000FFFF, 0x0000B40F, 0x00,
        B_SEGFS|B_CHG|B_PSEUDO,
        B_REG|B_BINARY|B_CHG,
        B_SEGOFFS|B_MEMONLY,
        B_NONE },

  { T("LGS"),
        D_CMD|D_RARE, 0,
        2, 0x0000FFFF, 0x0000B50F, 0x00,
        B_SEGGS|B_CHG|B_PSEUDO,
        B_REG|B_BINARY|B_CHG,
        B_SEGOFFS|B_MEMONLY,
        B_NONE },

  { T("LSS"),
        D_CMD|D_RARE, 0,
        2, 0x0000FFFF, 0x0000B20F, 0x00,
        B_SEGSS|B_CHG|B_PSEUDO,
        B_REG|B_BINARY|B_CHG,
        B_SEGOFFS|B_MEMONLY,
        B_NONE },

  { T("LEA"),
        D_CMD|D_HLADIR, DX_LEA,
        1, 0x000000FF, 0x0000008D, 0x00,
        B_REG|B_BINARY|B_CHG,
        B_ANYMEM|B_MEMONLY|B_NOSEG,
        B_NONE,
        B_NONE },

  { T("LEAVE"),
        D_CMD|D_CHGESP, 0,
        1, 0x000000FF, 0x000000C9, 0x00,
        B_BPEBP|B_CHG|B_PSEUDO,
        B_EBPMEM|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("LGDT"),
        D_PRIVILEGED|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0010010F, 0x00,
        B_DESCR|B_MEMONLY,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("LIDT"),
        D_PRIVILEGED|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0018010F, 0x00,
        B_DESCR|B_MEMONLY,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("LLDT"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0038FFFF, 0x0010000F, 0x00,
        B_INT16|B_NOESP,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("LMSW"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0038FFFF, 0x0030010F, 0x00,
        B_CR0|B_UPD|B_PSEUDO,
        B_INT16|B_NOESP,
        B_NONE,
        B_NONE },

  { T("LOOP"),
        D_JMCX|D_ADDR32, 0,
        1, 0x000000FF, 0x000000E2, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPD"),
        D_JMCX|D_ADDR32, 0,
        1, 0x000000FF, 0x000000E2, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPW"),
        D_JMCX|D_ADDR16, 0,
        1, 0x000000FF, 0x000000E2, 0x00,
        B_CX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPZ"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPDZ"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPWZ"),
        D_JMCX|D_ADDR16|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_CX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPE"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPDE"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPWE"),
        D_JMCX|D_ADDR16|D_COND, 0,
        1, 0x000000FF, 0x000000E1, 0x00,
        B_CX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPNZ"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPDNZ"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPWNZ"),
        D_JMCX|D_ADDR16|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_CX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPNE"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPDNE"),
        D_JMCX|D_ADDR32|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_ECX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LOOPWNE"),
        D_JMCX|D_ADDR16|D_COND, 0,
        1, 0x000000FF, 0x000000E0, 0x00,
        B_CX|B_UPD|B_PSEUDO,
        B_BYTEOFFS|B_JMPCALL,
        B_NONE,
        B_NONE },

  { T("LSL"),
        D_SYS|D_FLAGZ|D_RARE, 0,
        2, 0x0000FFFF, 0x0000030F, 0x00,
        B_REG|B_NOESP|B_CHG,
        B_INT|B_BINARY|B_NOESP,
        B_NONE,
        B_NONE },

  { T("LTR"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0038FFFF, 0x0018000F, 0x00,
        B_INT16|B_NOESP,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV|D_SIZE01, 0,
        1, 0x000000FE, 0x00000088, 0x00,
        B_INT|B_CHG,
        B_REG,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV|D_SIZE01, 0,
        1, 0x000000FE, 0x0000008A, 0x00,
        B_REG|B_CHG,
        B_INT,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_CMD|D_REGISTER|D_RARE, 0,
        1, 0x0000C0FF, 0x0000C08C, 0x00,
        B_INT|B_REGISTER|B_NOESP|B_CHG,
        B_SEG,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_CMD|D_MEMORY|D_RARE, 0,
        1, 0x000000FF, 0x0000008C, 0x00,
        B_INT16|B_MEMORY|B_CHG,
        B_SEG,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x0000008E, 0x00,
        B_SEGNOCS|B_CHG,
        B_INT|B_REGISTER|B_NOESP,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x0000008E, 0x00,
        B_SEGNOCS|B_CHG,
        B_INT16|B_MEMORY|B_NOESP,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV|D_SIZE01, 0,
        1, 0x000000FE, 0x000000A0, 0x00,
        B_ACC|B_CHG,
        B_IMMINT,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV|D_SIZE01, 0,
        1, 0x000000FE, 0x000000A2, 0x00,
        B_IMMINT|B_CHG,
        B_ACC,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV, 0,
        1, 0x000000F8, 0x000000B0, 0x00,
        B_REGCMD8|B_CHG,
        B_CONST8,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV, 0,
        1, 0x000000F8, 0x000000B8, 0x00,
        B_REGCMD|B_NOESP|B_CHG,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_MOV|D_SIZE01, 0,
        1, 0x000038FE, 0x000000C6, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_CHG,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000220F, 0x00,
        B_CR|B_CHG,
        B_INT32|B_BINARY|B_REGONLY|B_NOESP,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000200F, 0x00,
        B_INT32|B_BINARY|B_REGONLY|B_NOESP|B_CHG,
        B_CR,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000230F, 0x00,
        B_DR|B_CHG,
        B_INT32|B_BINARY|B_REGONLY|B_NOESP,
        B_NONE,
        B_NONE },

  { T("MOV"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000210F, 0x00,
        B_INT32|B_BINARY|B_REGONLY|B_NOESP|B_CHG,
        B_DR,
        B_NONE,
        B_NONE },

  { T("MOVSX"),
        D_MOV, 0,
        2, 0x0000FFFF, 0x0000BE0F, 0x00,
        B_REG|B_NOESP|B_CHG,
        B_INT8|B_SIGNED|B_SHOWSIZE,
        B_NONE,
        B_NONE },

  { T("MOVSX"),
        D_MOV, 0,
        2, 0x0000FFFF, 0x0000BF0F, 0x00,
        B_REG32|B_NOESP|B_CHG,
        B_INT16|B_SIGNED|B_SHOWSIZE,
        B_NONE,
        B_NONE },

  { T("MOVZX"),
        D_MOV, 0,
        2, 0x0000FFFF, 0x0000B60F, 0x00,
        B_REG|B_NOESP|B_CHG,
        B_INT8|B_SHOWSIZE,
        B_NONE,
        B_NONE },

  { T("MOVZX"),
        D_MOV, 0,
        2, 0x0000FFFF, 0x0000B70F, 0x00,
        B_REG32|B_NOESP|B_CHG,
        B_INT16|B_SHOWSIZE,
        B_NONE,
        B_NONE },

  { T("MUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000020F6, 0x00,
        B_AX|B_UPD|B_PSEUDO,
        B_AL|B_PSEUDO,
        B_INT8|B_UNSIGNED|B_SHOWSIZE,
        B_NONE },

  { T("MUL"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000038FF, 0x000020F7, 0x00,
        B_DXEDX|B_CHG|B_PSEUDO,
        B_ACC|B_UPD|B_PSEUDO,
        B_INT1632|B_UNSIGNED|B_NOESP|B_SHOWSIZE,
        B_NONE },

  { T("NEG"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000018F6, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("NOT"),
        D_CMD|D_SIZE01|D_LOCKABLE, 0,
        1, 0x000038FE, 0x000010F6, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("OR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB,
        1, 0x000000FE, 0x0000000C, 0x00,
        B_ACC|B_BINARY|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("OR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00000880, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("OR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00000882, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_SXTCONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("OR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB,
        1, 0x000000FE, 0x00000008, 0x00,
        B_INT|B_BINARY|B_NOESP|B_UPD,
        B_REG|B_BINARY,
        B_NONE,
        B_NONE },

  { T("OR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB,
        1, 0x000000FE, 0x0000000A, 0x00,
        B_REG|B_BINARY|B_NOESP|B_UPD,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("OUT"),
        D_IO|D_SIZE01|D_RARE, 0,
        1, 0x000000FE, 0x000000E6, 0x00,
        B_CONST8|B_PORT,
        B_ACC,
        B_NONE,
        B_NONE },

  { T("OUT"),
        D_IO|D_SIZE01|D_RARE, 0,
        1, 0x000000FE, 0x000000EE, 0x00,
        B_DXPORT|B_PORT,
        B_ACC,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP, 0,
        1, 0x000038FF, 0x0000008F, 0x00,
        B_INT|B_SHOWSIZE|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP, 0,
        1, 0x000000F8, 0x00000058, 0x00,
        B_REGCMD|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x0000001F, 0x00,
        B_SEGDS|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x00000007, 0x00,
        B_SEGES|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP|D_RARE, DX_JB,
        1, 0x000000FF, 0x00000017, 0x00,
        B_SEGSS|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP|D_RARE, 0,
        2, 0x0000FFFF, 0x0000A10F, 0x00,
        B_SEGFS|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POP"),
        D_POP|D_CHGESP|D_RARE, 0,
        2, 0x0000FFFF, 0x0000A90F, 0x00,
        B_SEGGS|B_CHG,
        B_STKTOP|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("POPA*"),
        D_CMD|D_CHGESP|D_WILDCARD, 0,
        1, 0x000000FF, 0x00000061, 0x00,
        B_STKTOPA|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("POPF*"),
        D_POP|D_ALLFLAGS|D_CHGESP|D_WILDCARD, 0,
        1, 0x000000FF, 0x0000009D, 0x00,
        B_EFL|B_CHG|B_PSEUDO,
        B_STKTOPEFL|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP, 0,
        1, 0x000038FF, 0x000030FF, 0x00,
        B_INT|B_SHOWSIZE,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP, 0,
        1, 0x000000F8, 0x00000050, 0x00,
        B_REGCMD,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP, 0,
        1, 0x000000FF, 0x0000006A, 0x00,
        B_SXTCONST|B_SHOWSIZE,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP, 0,
        1, 0x000000FF, 0x00000068, 0x00,
        B_CONSTL|B_SHOWSIZE,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x0000000E, 0x00,
        B_SEGCS,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x00000016, 0x00,
        B_SEGSS,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x0000001E, 0x00,
        B_SEGDS,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x00000006, 0x00,
        B_SEGES,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        2, 0x0000FFFF, 0x0000A00F, 0x00,
        B_SEGFS,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSH"),
        D_PUSH|D_CHGESP|D_RARE, 0,
        2, 0x0000FFFF, 0x0000A80F, 0x00,
        B_SEGGS,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("PUSHA*"),
        D_CMD|D_CHGESP|D_WILDCARD, 0,
        1, 0x000000FF, 0x00000060, 0x00,
        B_PUSHA|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("PUSHF*"),
        D_PUSH|D_CHGESP|D_WILDCARD, DX_JB,
        1, 0x000000FF, 0x0000009C, 0x00,
        B_EFL|B_PSEUDO,
        B_PUSH|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("RCL"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000010D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RCL"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000010D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RCL"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000010C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RCR"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000018D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RCR"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000018D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RCR"),
        D_CMD|D_SIZE01|D_FLAGSCO|D_USESCARRY, DX_JC,
        1, 0x000038FE, 0x000018C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROL"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000000D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROL"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000000D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROL"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000000C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROR"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000008D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROR"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000008D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("ROR"),
        D_CMD|D_SIZE01|D_FLAGSCO, DX_JC,
        1, 0x000038FE, 0x000008C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("RDMSR"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000320F, 0x00,
        B_EDX|B_BINARY|B_CHG|B_PSEUDO,
        B_EAX|B_BINARY|B_CHG|B_PSEUDO,
        B_ECX|B_PSEUDO,
        B_NONE },

  { T("RDPMC"),
        D_SYS|D_RARE, 0,
        2, 0x0000FFFF, 0x0000330F, 0x00,
        B_EDX|B_BINARY|B_CHG|B_PSEUDO,
        B_EAX|B_BINARY|B_CHG|B_PSEUDO,
        B_ECX|B_PSEUDO,
        B_NONE },

  { T("RDTSC"),
        D_SYS|D_RARE, 0,
        2, 0x0000FFFF, 0x0000310F, 0x00,
        B_EDX|B_BINARY|B_CHG|B_PSEUDO,
        B_EAX|B_BINARY|B_CHG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("RDTSCP"),
        D_SYS|D_RARE, 0,
        3, 0x00FFFFFF, 0x00F9010F, 0x00,
        B_EDX|B_BINARY|B_CHG|B_PSEUDO,
        B_EAX|B_BINARY|B_CHG|B_PSEUDO,
        B_ECX|B_BINARY|B_CHG|B_PSEUDO,
        B_NONE },

  { T("RETN"),
        D_RET|D_NOREP|D_CHGESP, DX_RETN,
        1, 0x000000FF, 0x000000C3, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("RET"),
        D_RET|D_NOREP|D_CHGESP, 0,
        1, 0x000000FF, 0x000000C3, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("RETN"),
        D_RET|D_MUSTREP|D_CHGESP, DX_RETN,
        1, 0x000000FF, 0x000000C3, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("RET"),
        D_RET|D_MUSTREP|D_CHGESP, 0,
        1, 0x000000FF, 0x000000C3, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("RETN"),
        D_RET|D_CHGESP, DX_RETN,
        1, 0x000000FF, 0x000000C2, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_CONST16|B_STACKINC,
        B_NONE,
        B_NONE },

  { T("RET"),
        D_RET|D_CHGESP, 0,
        1, 0x000000FF, 0x000000C2, 0x00,
        B_STKTOP|B_JMPCALL|B_PSEUDO,
        B_CONST16|B_STACKINC,
        B_NONE,
        B_NONE },

  { T("RETF"),
        D_RETFAR|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x000000CB, 0x00,
        B_STKTOPFAR|B_JMPCALLFAR|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("RETF"),
        D_RETFAR|D_CHGESP|D_RARE, 0,
        1, 0x000000FF, 0x000000CA, 0x00,
        B_STKTOPFAR|B_JMPCALLFAR|B_PSEUDO,
        B_CONST16|B_STACKINC,
        B_NONE,
        B_NONE },

  { T("RSM"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000AA0F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SAHF"),
        D_CMD|D_ALLFLAGS, 0,
        1, 0x000000FF, 0x0000009E, 0x00,
        B_AH|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SHL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SHL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SHL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000020C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_UNDOC, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000030D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_UNDOC, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000030D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAL"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_UNDOC, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000030C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SALC"),
        D_CMD|D_ALLFLAGS|D_UNDOC, DX_JZ|DX_JC,
        1, 0x000000FF, 0x000000D6, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SHR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000028D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SHR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000028D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SHR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000028C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000038D0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_1|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000038D2, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CL|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SAR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JC,
        1, 0x000038FE, 0x000038C0, 0x00,
        B_INT|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST8|B_SHIFTCNT,
        B_NONE,
        B_NONE },

  { T("SBB"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x0000001C, 0x00,
        B_ACC|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("SBB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00001880, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("SBB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000038FE, 0x00001882, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_SXTCONST,
        B_NONE,
        B_NONE },

  { T("SBB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x00000018, 0x00,
        B_INT|B_UPD,
        B_REG,
        B_NONE,
        B_NONE },

  { T("SBB"),
        D_CMD|D_SIZE01|D_ALLFLAGS|D_USESCARRY, DX_JZ|DX_JB,
        1, 0x000000FE, 0x0000001A, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("SETO"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x0000900F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNO"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x0000910F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETB"),
        D_SETC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000920F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETC"),
        D_SETC|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000920F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNAE"),
        D_SETC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000920F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETAE"),
        D_SETC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000930F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNB"),
        D_SETC|D_COND|D_USESCARRY, DX_JB,
        2, 0x0000FFFF, 0x0000930F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNC"),
        D_SETC|D_COND|D_USESCARRY, DX_JC,
        2, 0x0000FFFF, 0x0000930F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETE"),
        D_SETC|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000940F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETZ"),
        D_SETC|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000940F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNE"),
        D_SETC|D_COND, DX_JE,
        2, 0x0000FFFF, 0x0000950F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNZ"),
        D_SETC|D_COND, DX_JZ,
        2, 0x0000FFFF, 0x0000950F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETBE"),
        D_SETC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000960F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNA"),
        D_SETC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000960F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETA"),
        D_SETC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000970F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNBE"),
        D_SETC|D_COND|D_USESCARRY, 0,
        2, 0x0000FFFF, 0x0000970F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETS"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x0000980F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNS"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x0000990F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETPE"),
        D_SETC|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00009A0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETP"),
        D_SETC|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00009A0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETPO"),
        D_SETC|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00009B0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNP"),
        D_SETC|D_COND|D_RARE, 0,
        2, 0x0000FFFF, 0x00009B0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETL"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009C0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNGE"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009C0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETGE"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009D0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNL"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009D0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETLE"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009E0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNG"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009E0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETG"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009F0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SETNLE"),
        D_SETC|D_COND, 0,
        2, 0x0000FFFF, 0x00009F0F, 0x00,
        B_INT8|B_CHG,
        B_ANYREG|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SGDT"),
        D_SYS|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0000010F, 0x00,
        B_DESCR|B_MEMONLY|B_CHG,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SIDT"),
        D_SYS|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0008010F, 0x00,
        B_DESCR|B_MEMONLY|B_CHG,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SHLD"),
        D_CMD|D_ALLFLAGS, DX_JZ|DX_JC,
        2, 0x0000FFFF, 0x0000A40F, 0x00,
        B_INT|B_NOESP|B_UPD,
        B_REG,
        B_CONST8|B_SHIFTCNT,
        B_NONE },

  { T("SHLD"),
        D_CMD|D_ALLFLAGS, DX_JZ|DX_JC,
        2, 0x0000FFFF, 0x0000A50F, 0x00,
        B_INT|B_NOESP|B_UPD,
        B_REG,
        B_CL|B_SHIFTCNT,
        B_NONE },

  { T("SHRD"),
        D_CMD|D_ALLFLAGS, DX_JZ|DX_JC,
        2, 0x0000FFFF, 0x0000AC0F, 0x00,
        B_INT|B_NOESP|B_UPD,
        B_REG,
        B_CONST8|B_SHIFTCNT,
        B_NONE },

  { T("SHRD"),
        D_CMD|D_ALLFLAGS, DX_JZ|DX_JC,
        2, 0x0000FFFF, 0x0000AD0F, 0x00,
        B_INT|B_NOESP|B_UPD,
        B_REG,
        B_CL|B_SHIFTCNT,
        B_NONE },

  { T("SLDT"),
        D_SYS|D_RARE, 0,
        2, 0x0038FFFF, 0x0000000F, 0x00,
        B_INT|B_NOESP|B_CHG,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SMSW"),
        D_SYS|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0020010F, 0x00,
        B_INT16|B_MEMONLY|B_CHG,
        B_CR0|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("SMSW"),
        D_SYS|D_REGISTER|D_RARE, 0,
        2, 0x0038FFFF, 0x0020010F, 0x00,
        B_INT|B_REGONLY|B_NOESP|B_CHG,
        B_CR0|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("STC"),
        D_CMD|D_FLAGC, 0,
        1, 0x000000FF, 0x000000F9, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("STD"),
        D_CMD|D_FLAGD, 0,
        1, 0x000000FF, 0x000000FD, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("STI"),
        D_CMD|D_RARE, 0,
        1, 0x000000FF, 0x000000FB, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("STMXCSR"),
        D_CMD|D_MEMORY, 0,
        2, 0x0038FFFF, 0x0018AE0F, 0x00,
        B_INT32|B_BINARY|B_MEMONLY|B_NOESP|B_SHOWSIZE|B_CHG,
        B_MXCSR|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("STR"),
        D_SYS|D_MEMORY|D_RARE, 0,
        2, 0x0038FFFF, 0x0008000F, 0x00,
        B_INT16|B_MEMONLY|B_CHG,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("STR"),
        D_SYS|D_REGISTER|D_RARE, 0,
        2, 0x0038FFFF, 0x0008000F, 0x00,
        B_INT|B_REGONLY|B_NOESP|B_CHG,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SUB"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB|DX_SUB,
        1, 0x000000FE, 0x0000002C, 0x00,
        B_ACC|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("SUB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_SUB,
        1, 0x000038FE, 0x00002880, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_CONST,
        B_NONE,
        B_NONE },

  { T("SUB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_SUB,
        1, 0x000038FE, 0x00002882, 0x00,
        B_INT|B_SHOWSIZE|B_UPD,
        B_SXTCONST,
        B_NONE,
        B_NONE },

  { T("SUB"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ|DX_JB|DX_SUB,
        1, 0x000000FE, 0x00000028, 0x00,
        B_INT|B_UPD,
        B_REG,
        B_NONE,
        B_NONE },

  { T("SUB"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ|DX_JB|DX_SUB,
        1, 0x000000FE, 0x0000002A, 0x00,
        B_REG|B_UPD,
        B_INT,
        B_NONE,
        B_NONE },

  { T("SYSENTER"),
        D_SYS|D_RARE, 0,
        2, 0x0000FFFF, 0x0000340F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("SYSEXIT"),
        D_SYS|D_ALLFLAGS|D_SUSPICIOUS, 0,
        2, 0x0000FFFF, 0x0000350F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("TEST"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x000000A8, 0x00,
        B_ACC|B_BINARY,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("TEST"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000038FE, 0x000000F6, 0x00,
        B_INT|B_BINARY|B_SHOWSIZE,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("TEST"),
        D_TEST|D_SIZE01|D_ALLFLAGS|D_UNDOC, DX_JZ,
        1, 0x000038FE, 0x000008F6, 0x00,
        B_INT|B_BINARY|B_SHOWSIZE,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("TEST"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000084, 0x00,
        B_INT|B_BINARY,
        B_REG|B_BINARY,
        B_NONE,
        B_NONE },

  { T("TEST"),
        D_TEST|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000084, 0x00,
        B_REG|B_BINARY,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("UD1"),
        D_CMD|D_UNDOC, 0,
        2, 0x0000FFFF, 0x0000B90F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("UD2"),
        D_CMD, 0,
        2, 0x0000FFFF, 0x00000B0F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("VERR"),
        D_CMD|D_FLAGZ|D_RARE, 0,
        2, 0x0038FFFF, 0x0020000F, 0x00,
        B_INT16|B_NOESP,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("VERW"),
        D_CMD|D_FLAGZ|D_RARE, 0,
        2, 0x0038FFFF, 0x0028000F, 0x00,
        B_INT16|B_NOESP,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("WBINVD"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000090F, 0x00,
        B_NONE,
        B_NONE,
        B_NONE,
        B_NONE },

  { T("WRMSR"),
        D_PRIVILEGED|D_RARE, 0,
        2, 0x0000FFFF, 0x0000300F, 0x00,
        B_EDX|B_BINARY|B_PSEUDO,
        B_EAX|B_BINARY|B_PSEUDO,
        B_ECX|B_PSEUDO,
        B_NONE },

  { T("XADD"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JE|DX_JB,
        2, 0x0000FEFF, 0x0000C00F, 0x00,
        B_INT|B_UPD,
        B_REG|B_CHG,
        B_NONE,
        B_NONE },

  { T("XCHG"),
        D_MOV|D_LOCKABLE, 0,
        1, 0x000000F8, 0x00000090, 0x00,
        B_ACC|B_CHG,
        B_REGCMD|B_CHG,
        B_NONE,
        B_NONE },

  { T("XCHG"),
        D_MOV, 0,
        1, 0x000000F8, 0x00000090, 0x00,
        B_REGCMD|B_CHG,
        B_ACC|B_CHG,
        B_NONE,
        B_NONE },

  { T("XCHG"),
        D_MOV|D_SIZE01|D_LOCKABLE, 0,
        1, 0x000000FE, 0x00000086, 0x00,
        B_INT|B_CHG,
        B_REG|B_CHG,
        B_NONE,
        B_NONE },

  { T("XCHG"),
        D_MOV|D_SIZE01|D_LOCKABLE, 0,
        1, 0x000000FE, 0x00000086, 0x00,
        B_REG|B_CHG,
        B_INT|B_CHG,
        B_NONE,
        B_NONE },

  { T("XLAT"),
        D_CMD, 0,
        1, 0x000000FF, 0x000000D7, 0x00,
        B_AL|B_CHG|B_PSEUDO,
        B_XLATMEM,
        B_NONE,
        B_NONE },

  { T("XLATB"),
        D_CMD, 0,
        1, 0x000000FF, 0x000000D7, 0x00,
        B_AL|B_UPD|B_PSEUDO,
        B_XLATMEM|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("XOR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000034, 0x00,
        B_ACC|B_BINARY|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("XOR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000038FE, 0x00003080, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_CONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("XOR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000038FE, 0x00003082, 0x00,
        B_INT|B_BINARY|B_NOESP|B_SHOWSIZE|B_UPD,
        B_SXTCONST|B_BINARY,
        B_NONE,
        B_NONE },

  { T("XOR"),
        D_CMD|D_SIZE01|D_LOCKABLE|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000030, 0x00,
        B_INT|B_BINARY|B_UPD,
        B_REG|B_BINARY,
        B_NONE,
        B_NONE },

  { T("XOR"),
        D_CMD|D_SIZE01|D_ALLFLAGS, DX_JZ,
        1, 0x000000FE, 0x00000032, 0x00,
        B_REG|B_BINARY|B_UPD,
        B_INT|B_BINARY,
        B_NONE,
        B_NONE },

  { T("CMPS"),
        D_CMD|D_SIZE01|D_LONGFORM|D_NOREP|D_ALLFLAGS|D_HLADIR, DX_JE|DX_JB,
        1, 0x000000FE, 0x000000A6, 0x00,
        B_STRSRC|B_SHOWSIZE,
        B_STRDEST|B_SHOWSIZE,
        B_NONE,
        B_NONE },

  { T("CMPSB"),
        D_CMD|D_NOREP|D_ALLFLAGS, DX_JE|DX_JB,
        1, 0x000000FF, 0x000000A6, 0x00,
        B_STRSRC8|B_PSEUDO,
        B_STRDEST8|B_PSEUDO,
        B_NONE,
        B_NONE },

  { T("CMPS*"),
        D_CMD|D_NOREP|D_ALLFLAGS|D_WILDCARD, DX_JE|DX_JB,
        1, 0x000000FF, 0x000000A7, 0x00,
        B_STRSRC|B_PSEUDO,
        B_STRDEST|B
Download .txt
gitextract_mry0xxmd/

├── .gitattributes
├── Disasm201/
│   ├── Disasm.bpr
│   ├── Disasm.c
│   ├── cmdlist.c
│   ├── disasm.def
│   ├── disasm.h
│   ├── disasm.vs2008.sln
│   ├── disasm.vs2008.vcproj
│   └── main.c
├── Include/
│   ├── ---dsound.h
│   ├── 3DFX.H
│   ├── D3D10.h
│   ├── D3D10_1.h
│   ├── D3D10_1shader.h
│   ├── D3D10effect.h
│   ├── D3D10shader.h
│   ├── D3D11.h
│   ├── D3D11SDKLayers.h
│   ├── D3D11Shader.h
│   ├── D3Dcommon.h
│   ├── DShow.h
│   ├── FXDLL.H
│   ├── FXGLOB.H
│   ├── FXOS.H
│   ├── MinHook.h
│   ├── SST1VID.H
│   ├── TlHelp32.h
│   ├── Vfw.h
│   ├── amstream.h
│   ├── d3d.h
│   ├── d3d10misc.h
│   ├── d3d10sdklayers.h
│   ├── d3d8.h
│   ├── d3d8caps.h
│   ├── d3d8types.h
│   ├── d3d9.h
│   ├── d3d9.wine.h
│   ├── d3d9caps.h
│   ├── d3d9types.h
│   ├── d3dcaps.h
│   ├── d3dtypes.h
│   ├── ddraw.h
│   ├── ddrawex.h
│   ├── ddrawi.h
│   ├── dds.h
│   ├── dinput.h
│   ├── disasm.h
│   ├── dsound.h
│   ├── dxdiag.h
│   ├── dxwnd.h
│   ├── gl/
│   │   ├── gl.h
│   │   ├── glext.h
│   │   ├── glxext.h
│   │   └── wglext.h
│   ├── gl.h
│   ├── glext.h
│   ├── glide.h
│   ├── glidesys.h
│   ├── glideutl.h
│   ├── glu.h
│   ├── qmixer.h
│   └── sst1init.h
├── README.md
├── build/
│   ├── README.FIRST.txt
│   ├── exports/
│   │   ├── 007 NightFire.dxw
│   │   ├── 101 The Airborne Invasion of Normandy.dxw
│   │   ├── 11th Hour, the.dxw
│   │   ├── 25 to Life.dxw
│   │   ├── 3D Cube Hopper.dxw
│   │   ├── 3D Frog Man.dxw
│   │   ├── 4x4 Evolution.dxw
│   │   ├── 688(I) Hunter Killer.dxw
│   │   ├── 7th Guest (window port).dxw
│   │   ├── 8th Wonder.dxw
│   │   ├── A10 Cuba.dxw
│   │   ├── Abomination.dxw
│   │   ├── Abuse.dxw
│   │   ├── Abyss Incident at Europa.dxw
│   │   ├── Actua Ice Hockey.dxw
│   │   ├── Actua Soccer 3.dxw
│   │   ├── Adrenix 3D.dxw
│   │   ├── Adrenix.dxw
│   │   ├── AeroStyle.dxw
│   │   ├── Affari Tuoi.dxw
│   │   ├── Agassi Tennis Generation.dxw
│   │   ├── Age of Empires Expansion Trial.dxw
│   │   ├── Age of Empires II.dxw
│   │   ├── Age of Empires III.dxw
│   │   ├── Age of Empires.dxw
│   │   ├── Age of Wanderer.dxw
│   │   ├── Age of Wonders II.dxw
│   │   ├── Age of Wonders.dxw
│   │   ├── Agile Warrior F111X.dxw
│   │   ├── AirXonix.dxw
│   │   ├── Airfix Dogfighter.dxw
│   │   ├── Akuma Demon Spawn  - Lamentation Sword.dxw
│   │   ├── Al Unser Arcade Racing (original EXE).dxw
│   │   ├── Al Unser Arcade Racing.dxw
│   │   ├── Alien Ambush.dxw
│   │   ├── Alien Nations (GOG).dxw
│   │   ├── Alien Nations.dxw
│   │   ├── Alien Swarm (Steam).dxw
│   │   ├── Alien vs. Predator Gold.dxw
│   │   ├── Alone in the Dark the New Nightmare.dxw
│   │   ├── Alphanatix.dxw
│   │   ├── American McGee's Alice.dxw
│   │   ├── Amerzone.dxw
│   │   ├── Ancient Evil demo.dxw
│   │   ├── Apache for Win95.dxw
│   │   ├── Arcade Pool 2.dxw
│   │   ├── Area 51.dxw
│   │   ├── Armor Command.dxw
│   │   ├── Armored Fist 3.dxw
│   │   ├── Army Men RTS.dxw
│   │   ├── Art is Dead.dxw
│   │   ├── Arthur's Quest.dxw
│   │   ├── Arx Fatalis.dxw
│   │   ├── Ashes to Ashes.dxw
│   │   ├── Atlantis - The Lost Tales.dxw
│   │   ├── Attack of the Saucerman.dxw
│   │   ├── Aura 2 The Sacred Rings.dxw
│   │   ├── Avadon 2 The Corruption (Steam).dxw
│   │   ├── Avadon the Black Fortress (Steam).dxw
│   │   ├── Avernum 2 Crystal Souls (Steam).dxw
│   │   ├── Avernum 4 (Steam).dxw
│   │   ├── Avernum 5 (Steam).dxw
│   │   ├── Avernum 6 (Steam).dxw
│   │   ├── Avernum Escape From the Pit (Steam).dxw
│   │   ├── Avernum demo.dxw
│   │   ├── Axis & Allies Iron Blitz Edition.dxw
│   │   ├── Aztec Wars.dxw
│   │   ├── Baldur's Gate.dxw
│   │   ├── Banzai Bug.dxw
│   │   ├── Barbie Riding Club.dxw
│   │   ├── Bard's Tale, the.dxw
│   │   ├── Batman Vengeance.dxw
│   │   ├── Battery Check.dxw
│   │   ├── Battle Isle - the Andosia War.dxw
│   │   ├── Battle Realms.dxw
│   │   ├── Battlezone (1998).dxw
│   │   ├── Beavis & Butthead Do U..dxw
│   │   ├── Beetle Crazy Cup.dxw
│   │   ├── Betrayal in Antara.dxw
│   │   ├── Beyond Divinity.dxw
│   │   ├── Big BumpZ.dxw
│   │   ├── Black & White.dxw
│   │   ├── Black Moon Chronicles.dxw
│   │   ├── Black Thorn.dxw
│   │   ├── Blade Runner (4CD version).dxw
│   │   ├── Blade Runner (Win7).dxw
│   │   ├── Blade Runner.dxw
│   │   ├── Blair Witch Volume One - Rustin Parr.dxw
│   │   ├── Blair Witch Volume Three - Elly Kedward.dxw
│   │   ├── Blair Witch Volume Two.dxw
│   │   ├── Blaze and Blade.dxw
│   │   ├── Blood 2 the Chosen.dxw
│   │   ├── Bomberbabe.dxw
│   │   ├── Breath of Fire IV.dxw
│   │   ├── Bugdom.dxw
│   │   ├── Bugriders the Race of Kings.dxw
│   │   ├── Bugs Bunny Lost In Time.dxw
│   │   ├── Bunnies must die.dxw
│   │   ├── Bust A Move 3DX.dxw
│   │   ├── C&C Generals.dxw
│   │   ├── C&C Red Alert 2 Yuri's Revenge.dxw
│   │   ├── Call Of Cthulhu DCotE.dxw
│   │   ├── Call To Power 2.dxw
│   │   ├── Carmageddon (gore).dxw
│   │   ├── Carmageddon (no gore).dxw
│   │   ├── Carmageddon 2 (GLIDE).dxw
│   │   ├── Carmageddon 2 (SW).dxw
│   │   ├── Carnivores 3DFX.dxw
│   │   ├── Carnivores.dxw
│   │   ├── Catechumen (3DFX).dxw
│   │   ├── Cave Story.dxw
│   │   ├── Celtic Kings Rage of War.dxw
│   │   ├── Championship Manager 03 04.dxw
│   │   ├── Chaos Island (rip).dxw
│   │   ├── Chaos Island.dxw
│   │   ├── Chaos Overlords.dxw
│   │   ├── Chariots of War.dxw
│   │   ├── Chicago 1930.dxw
│   │   ├── Chicken Invaders 2.dxw
│   │   ├── Circus Fighters.dxw
│   │   ├── Close Combat 2 a bridge too far.dxw
│   │   ├── Close Combat 5 Invasion Normandy.dxw
│   │   ├── Codename Tenka.dxw
│   │   ├── Colin McRae Rally 2.0.dxw
│   │   ├── Command & Conquer - Red Alert The Aftermath.dxw
│   │   ├── Command & Conquer Red Alert 2.dxw
│   │   ├── Conflict Zone.dxw
│   │   ├── Contrast.dxw
│   │   ├── Cool Pool Eightball Demo.dxw
│   │   ├── Corsairs Gold (GOG).dxw
│   │   ├── Corsairs.dxw
│   │   ├── Cossacks II.dxw
│   │   ├── Crimson Skies (DEMO).dxw
│   │   ├── Crimson Skies.dxw
│   │   ├── Croc - Legend of the Gobbos.dxw
│   │   ├── Croc 2.dxw
│   │   ├── Crusaders of Might and Magic (GOG).dxw
│   │   ├── Crusaders of Might and Magic Demo.dxw
│   │   ├── Cyber Gladiators (3dfx).dxw
│   │   ├── Cydonia.dxw
│   │   ├── D.O.G. - Fight for Your Life.dxw
│   │   ├── DOSBox-0.74.dxw
│   │   ├── DX-Ball2.dxw
│   │   ├── Daemonstar.dxw
│   │   ├── Daikatana.dxw
│   │   ├── Damage Incorporated.dxw
│   │   ├── Dangerous Waters.dxw
│   │   ├── Darius Gaiden.dxw
│   │   ├── Dark Angael.dxw
│   │   ├── Dark Colony (16 bit).dxw
│   │   ├── Dark Colony.dxw
│   │   ├── Dark Disciples 1.dxw
│   │   ├── Dark Disciples 2.dxw
│   │   ├── Dark Earth.dxw
│   │   ├── Dark Fall - The Journal (GOG 2.0.0.6).dxw
│   │   ├── Dark Planet Battle for Natrolis.dxw
│   │   ├── Dark Reign.dxw
│   │   ├── Dark Vengeance.dxw
│   │   ├── Darkened Skye.dxw
│   │   ├── Daytona USA Deluxe Edition.dxw
│   │   ├── Daytona USA Deluxe.dxw
│   │   ├── Dead Rising 2 Off The Record.dxw
│   │   ├── Deadlock II.dxw
│   │   ├── DeathSpank The Baconing.dxw
│   │   ├── Deathtrap Dungeon.dxw
│   │   ├── Deer Hunter.dxw
│   │   ├── Defiance (D3D).dxw
│   │   ├── Defiance.dxw
│   │   ├── Deo Gratias.dxw
│   │   ├── Dethkarz.dxw
│   │   ├── Devastation.dxw
│   │   ├── Devil Inside, the.dxw
│   │   ├── Diablo MP demo.dxw
│   │   ├── Diablo.dxw
│   │   ├── Die Hard Nakatomi Plaza.dxw
│   │   ├── Die Hard Trilogy (Game 1).dxw
│   │   ├── Die Hard Trilogy (Game 2).dxw
│   │   ├── Die Hard Trilogy (Game 3).dxw
│   │   ├── Die Hard Trilogy (launcher).dxw
│   │   ├── Digger XP.dxw
│   │   ├── Dink Smallwood.dxw
│   │   ├── Dinosaur Resurrection.dxw
│   │   ├── Dirt Track Racing 2 Demo.dxw
│   │   ├── Dirt Track Racing 2.dxw
│   │   ├── Dirt Track Racing.dxw
│   │   ├── Disciples II - Dark Prophecy.dxw
│   │   ├── Disney Groove It.dxw
│   │   ├── Divide, the.dxw
│   │   ├── Divine Divinity (GOG).dxw
│   │   ├── Divine Divinity.dxw
│   │   ├── Dominant Species.dxw
│   │   ├── Doom 3.dxw
│   │   ├── Doom Shareware for Windows 95.dxw
│   │   ├── Doom95.dxw
│   │   ├── Dracula - The Resurrection (GOG).dxw
│   │   ├── Dracula Twins.dxw
│   │   ├── Dragon Dice.dxw
│   │   ├── Dragon Heart.dxw
│   │   ├── Drakan Order of the Flame (10th anniversary).dxw
│   │   ├── Drome Racers.dxw
│   │   ├── Duckman.dxw
│   │   ├── Duke Nukem - Manhattan Project (D3D8).dxw
│   │   ├── Duke Nukem Forever.dxw
│   │   ├── Dune 2000.dxw
│   │   ├── Dungeon Keeper II.dxw
│   │   ├── Dungeon Lords MMXII.dxw
│   │   ├── Dungeon Odyssey (Demo).dxw
│   │   ├── Dweep Gold.dxw
│   │   ├── Dylan Dog Horror at Luna Park.dxw
│   │   ├── Earth 2150.dxw
│   │   ├── Earthworm Jim 3D.dxw
│   │   ├── Eat my Dust.dxw
│   │   ├── Echelon.dxw
│   │   ├── Ed Hunter.dxw
│   │   ├── Empire Earth.dxw
│   │   ├── Empire of the Ants (ITA).dxw
│   │   ├── Empire of the Ants.dxw
│   │   ├── End of Twilight.dxw
│   │   ├── Enemy Zero.dxw
│   │   ├── Esoteria.dxw
│   │   ├── European Air War.dxw
│   │   ├── Evil Dead Hail to the King.dxw
│   │   ├── Evil Islands.dxw
│   │   ├── Evolva.dxw
│   │   ├── Excalibur.dxw
│   │   ├── Extreme-G_2.dxw
│   │   ├── F-16 Agressor.dxw
│   │   ├── F-16 Fighting Falcon.dxw
│   │   ├── F-16 Multirole Fighter.dxw
│   │   ├── F1 Manager 2000.dxw
│   │   ├── FIFA 2000.dxw
│   │   ├── Fallout.dxw
│   │   ├── Fatal Abyss.dxw
│   │   ├── Fate.dxw
│   │   ├── Faust the seven games of the soul.dxw
│   │   ├── Fifa 99 (Direct3D).dxw
│   │   ├── Fifa 99 (sw renderer).dxw
│   │   ├── Fighting Force.dxw
│   │   ├── Fin-Fin.dxw
│   │   ├── Final Odyssey.dxw
│   │   ├── FireCrow.dxw
│   │   ├── Flying Heroes.dxw
│   │   ├── Flying Saucer.dxw
│   │   ├── Force 21.dxw
│   │   ├── Forsaken (HW).dxw
│   │   ├── Future Cop L.A.P.D..dxw
│   │   ├── G-Darius.dxw
│   │   ├── G-Nome.dxw
│   │   ├── GP 500 (win2k obfuscated).dxw
│   │   ├── GP 500.dxw
│   │   ├── GTA 3.dxw
│   │   ├── GTA window.dxw
│   │   ├── GTA2.dxw
│   │   ├── Galapagos demo.dxw
│   │   ├── Galapagos.dxw
│   │   ├── Garfield - Caught in the Act.dxw
│   │   ├── Geneforge (Steam).dxw
│   │   ├── Geneforge 2 (Steam).dxw
│   │   ├── Geneforge 3 (Steam).dxw
│   │   ├── Geneforge 4 (Steam).dxw
│   │   ├── Geneforge.dxw
│   │   ├── Genocide (ORIGINAL).dxw
│   │   ├── Genocide (REMIXED VERSION).dxw
│   │   ├── Gooka The Mystery of Janatris.dxw
│   │   ├── Gorky 17.dxw
│   │   ├── Grand Prix Legends.dxw
│   │   ├── Grand Prix World.dxw
│   │   ├── Grand Theft Auto 3 Vice City.dxw
│   │   ├── Ground Control (sw renderer).dxw
│   │   ├── Ground Control.dxw
│   │   ├── Gruntz.dxw
│   │   ├── Gunbound (fullscreen).dxw
│   │   ├── Gunbound.dxw
│   │   ├── H.E.D.Z..dxw
│   │   ├── Hamsterball.dxw
│   │   ├── Heart of Darkness.dxw
│   │   ├── Hearts of Iron III.dxw
│   │   ├── Heavy Gear.dxw
│   │   ├── Hercules.dxw
│   │   ├── Heroes of Might and Magic 4 Complete.dxw
│   │   ├── Heroes of Might and Magic IV.dxw
│   │   ├── Hesperian Wars.dxw
│   │   ├── Hexen II (GDI).dxw
│   │   ├── Hexen II (OpenGl).dxw
│   │   ├── Hexen95.dxw
│   │   ├── Hexplore.dxw
│   │   ├── Hitchcock the Final Cut.dxw
│   │   ├── Hitman - Codename 47.dxw
│   │   ├── Hitman 2 Silent Assassin.dxw
│   │   ├── Hollywood Monsters.dxw
│   │   ├── Homeworld 2.dxw
│   │   ├── Homeworld.dxw
│   │   ├── Hoppop'n.dxw
│   │   ├── Horde 2 the Citadel.dxw
│   │   ├── Horde.dxw
│   │   ├── Hot Chix 'n' Gear Stix (demo).dxw
│   │   ├── House of the Dead 2.dxw
│   │   ├── Hoyle Casino 2001.dxw
│   │   ├── Hoyle Casino Empire (GDI emulation).dxw
│   │   ├── Hoyle Casino Empire (fullscreen).dxw
│   │   ├── Hoyle Casino Empire.dxw
│   │   ├── Hundred Swords.dxw
│   │   ├── Hydro Thunder.dxw
│   │   ├── Hyper Crazy Climber.dxw
│   │   ├── HyperBlade.dxw
│   │   ├── I-War.dxw
│   │   ├── Icewind Dale 2.dxw
│   │   ├── Icewind Dale II.dxw
│   │   ├── Icewind Dale.dxw
│   │   ├── Imperialism II.dxw
│   │   ├── Imperialism.dxw
│   │   ├── In the Hunt.dxw
│   │   ├── Incoming (GOG).dxw
│   │   ├── Incoming Forces (GOG).dxw
│   │   ├── Indiana Jones and the Infernal Machine.dxw
│   │   ├── IndyCar Series.dxw
│   │   ├── Inquisition.dxw
│   │   ├── Insane.dxw
│   │   ├── Intensity XS.dxw
│   │   ├── International Football 2000.dxw
│   │   ├── Interstate 76 Nitro Pack.dxw
│   │   ├── Interstate 76.dxw
│   │   ├── Jagged Alliance 2 Gold.dxw
│   │   ├── Janes FA18.dxw
│   │   ├── Jazz Jackrabbit 2.dxw
│   │   ├── Jeff Gordon XS Racing demo.dxw
│   │   ├── Jeff Wayne's - The War of the Worlds.dxw
│   │   ├── Jet Moto.dxw
│   │   ├── JetMoto.dxw
│   │   ├── Jolly Rover.dxw
│   │   ├── Jumpgate Classic.dxw
│   │   ├── KA52 Team Alligator.dxw
│   │   ├── KKND Xtreme.dxw
│   │   ├── Kasbrik 3D.dxw
│   │   ├── Killing Time.dxw
│   │   ├── Kingpin Life Of Crime (intro).dxw
│   │   ├── Kingpin Life Of Crime.dxw
│   │   ├── Kiss Psycho Circus.dxw
│   │   ├── Knight Moves.dxw
│   │   ├── KnightShift.dxw
│   │   ├── Knights Of Honor.dxw
│   │   ├── Knights_And_Merchants (1024).dxw
│   │   ├── Knights_And_Merchants (800).dxw
│   │   ├── Kohan II Kings of War.dxw
│   │   ├── L'Elefante a Strisce.dxw
│   │   ├── LEGO Pirates.dxw
│   │   ├── LEGO Star Wars - The Complete Saga.dxw
│   │   ├── LEGO Star Wars.dxw
│   │   ├── LEGO Stunt Rally.dxw
│   │   ├── Land of the Dead.dxw
│   │   ├── Lander.dxw
│   │   ├── Largo Winch.dxw
│   │   ├── Last Bronx.dxw
│   │   ├── Last Half od Darkness.dxw
│   │   ├── Layer Section.dxw
│   │   ├── Legacy of Kain Soul Reaver (GOG).dxw
│   │   ├── Legacy of Kain Soul Reaver 2.dxw
│   │   ├── Legend of the Prophet & Assassin, the.dxw
│   │   ├── Les adventures de Robby le Robot - Mission Code de la route.dxw
│   │   ├── Little Big Adventure 2 (Windows patch).dxw
│   │   ├── Lode Runner 2.dxw
│   │   ├── Loonyland 2 CE.dxw
│   │   ├── Lords of Magic Special Edition.dxw
│   │   ├── Lose Your Marbles.dxw
│   │   ├── Lost Valley.dxw
│   │   ├── LuXiaoFeng.dxw
│   │   ├── M1 Tank Platoon 2.dxw
│   │   ├── MDK2.dxw
│   │   ├── Machine Hunter.dxw
│   │   ├── Madden NFL 08.dxw
│   │   ├── Mageslayer.dxw
│   │   ├── Magic & Mayhem.dxw
│   │   ├── Mall Tycoon 3.dxw
│   │   ├── Mall Tycoon.dxw
│   │   ├── Man TT Super Bike (fake fullscreen).dxw
│   │   ├── Man TT Super Bike.dxw
│   │   ├── Marbles.dxw
│   │   ├── Martian Gothic Unification.dxw
│   │   ├── Mechcommander Gold.dxw
│   │   ├── Mechwarrior 3 (high res).dxw
│   │   ├── Mechwarrior 3.dxw
│   │   ├── Medford Asylum.dxw
│   │   ├── Men in Black.dxw
│   │   ├── Mephisto Chess.dxw
│   │   ├── Metal Gear Solid VR.dxw
│   │   ├── Metal Gear Solid.dxw
│   │   ├── Metal Knight.dxw
│   │   ├── Microsoft Golf '98 trial (win).dxw
│   │   ├── Microsoft Golf '98 trial.dxw
│   │   ├── Microsoft Golf 1998 Edition.dxw
│   │   ├── Microsoft Golf 1999 Edition.dxw
│   │   ├── Microsoft Golf 2001.dxw
│   │   ├── Microsoft Midtown Madness.dxw
│   │   ├── Microsoft Motocross Madness 2 (emu).dxw
│   │   ├── Microsoft Motocross Madness 2 trial.dxw
│   │   ├── Microsoft Motocross Madness.dxw
│   │   ├── Microsoft Pandora's Box.dxw
│   │   ├── Microsotf Motocross Madness 2.dxw
│   │   ├── Midnight GT Primary Racer.dxw
│   │   ├── Mig 29 Fulcrum.dxw
│   │   ├── Millennium Racer Y2K fighters.dxw
│   │   ├── Minigolf Master Miniverse (demo).dxw
│   │   ├── Mirror's Edge.dxw
│   │   ├── Moon Tycoon.dxw
│   │   ├── MoonBase Commander (640x480).dxw
│   │   ├── More Aggressive.dxw
│   │   ├── Moto Racer 2 (GOG sw mode).dxw
│   │   ├── Moto Racer demo.dxw
│   │   ├── Motocross Madness (RIP).dxw
│   │   ├── Motocross Madness Trial.dxw
│   │   ├── Motocross Madness.dxw
│   │   ├── Mr. Driller.dxw
│   │   ├── Myth III - The Wolf Age.dxw
│   │   ├── Myth the Fallen Lords.dxw
│   │   ├── NASCAR 2000.dxw
│   │   ├── NHL 2002.dxw
│   │   ├── NHL 99.dxw
│   │   ├── Nascar Pinball.dxw
│   │   ├── Nascar Racing 3 (3DFX).dxw
│   │   ├── Nascar Racing 3.dxw
│   │   ├── Nebula Fighter.dxw
│   │   ├── Need 4 Speed IV High Stakes.dxw
│   │   ├── Need For Speed 3.dxw
│   │   ├── Need For Speed SE.dxw
│   │   ├── Need for Speed 5 Porsche Unleashed.dxw
│   │   ├── Need for Speed Underground 2.dxw
│   │   ├── Neophyte Koplio's Story.dxw
│   │   ├── NetStorm - Islands at War.dxw
│   │   ├── New York Race.dxw
│   │   ├── Nightmare Creatures demo (sw mode).dxw
│   │   ├── Nightmare Creatures demo.dxw
│   │   ├── No Respect (1.1).dxw
│   │   ├── No Respect.dxw
│   │   ├── Nocturne.dxw
│   │   ├── Nox (GOG).dxw
│   │   ├── Nox (RIP).dxw
│   │   ├── Nuclear Strike (3dfx).dxw
│   │   ├── O.D.T. Escape Or Die Trying  (SW 640X480).dxw
│   │   ├── O.D.T. Escape Or Die Trying (HW 640X480).dxw
│   │   ├── O.D.T. Escape Or Die Trying.dxw
│   │   ├── O.R.B. Offword Rescue Base.dxw
│   │   ├── Of Light and Darkness.dxw
│   │   ├── Ominous Horizons.dxw
│   │   ├── One Must Fall - Battlegrounds.dxw
│   │   ├── Open Ice 2 on 2 Challenge.dxw
│   │   ├── Outcast 1999 CD Retail release.dxw
│   │   ├── Outcast.dxw
│   │   ├── Outlaws.dxw
│   │   ├── Outwars.dxw
│   │   ├── PBA Bowling 2 Demo.dxw
│   │   ├── PC Ciclismo 2001 (HAL).dxw
│   │   ├── PC Ciclismo 2001 (through RGB sw emulation).dxw
│   │   ├── POD Gold (D3D).dxw
│   │   ├── Paladin 3 RIP.dxw
│   │   ├── Pandemonium 2 (GLIDE).dxw
│   │   ├── Panzer Commander.dxw
│   │   ├── Panzer Dragoon.dxw
│   │   ├── Panzer General 3 Scorched Earth.dxw
│   │   ├── Panzer General 3D Assault (GOG).dxw
│   │   ├── Panzer General 3D Assault.dxw
│   │   ├── Paradise Cracked.dxw
│   │   ├── Patrician III.dxw
│   │   ├── Pax Corpus.dxw
│   │   ├── Phantasmagoria 2.dxw
│   │   ├── Planet of the Apes.dxw
│   │   ├── Populous 3 (GOG - D3D).dxw
│   │   ├── Populous 3 (GOG).dxw
│   │   ├── Port Royale 2.dxw
│   │   ├── Portugal 1111.dxw
│   │   ├── Post Mortem (CD version).dxw
│   │   ├── Postal.dxw
│   │   ├── Powerslide.dxw
│   │   ├── Praetorians.dxw
│   │   ├── Premier Manager 98.dxw
│   │   ├── Prey.dxw
│   │   ├── Primitive Wars.dxw
│   │   ├── Prince of Persia - Warrior Within (GOG).dxw
│   │   ├── Prince of Persia 3D Demo.dxw
│   │   ├── Prince of Persia 3D.dxw
│   │   ├── Prince of Persia The Two Thrones (GOG).dxw
│   │   ├── Prison Tycoon.dxw
│   │   ├── Prisoner of War.dxw
│   │   ├── Project Eden.dxw
│   │   ├── Project IGI.dxw
│   │   ├── Psychoballs.dxw
│   │   ├── Puma World Football.dxw
│   │   ├── Puyo Puyo Sun.dxw
│   │   ├── Puzzle Agent Nelson Tethers.dxw
│   │   ├── Quake (OpenGL 3DFX).dxw
│   │   ├── Quake (win).dxw
│   │   ├── Queen of Heart 98.dxw
│   │   ├── RHEM.dxw
│   │   ├── Railroad Tycoon II.dxw
│   │   ├── Rapanui.dxw
│   │   ├── Rayman 2 (GOG).dxw
│   │   ├── Rayman 2 Demo.dxw
│   │   ├── Re-Volt.dxw
│   │   ├── Reah.dxw
│   │   ├── Real War Air Land Sea.dxw
│   │   ├── Reap, the.dxw
│   │   ├── Recoil.dxw
│   │   ├── Requiem Avenging Angel (D3D).dxw
│   │   ├── Requiem Avenging Angel (software).dxw
│   │   ├── Resident Evil (sw mode).dxw
│   │   ├── Restricted Area.dxw
│   │   ├── Return Fire 2 (OpenGL).dxw
│   │   ├── Return Fire 2 (SW).dxw
│   │   ├── Return to Castle Wolfenstein.dxw
│   │   ├── Rift Space.dxw
│   │   ├── Risk II (Hasbro).dxw
│   │   ├── Rites of War Demo.dxw
│   │   ├── Road Rash.dxw
│   │   ├── Robin Hood - The Legend of Sherwood (GOG).dxw
│   │   ├── RoboRumble (dx5).dxw
│   │   ├── RoboRumble (sw).dxw
│   │   ├── Robocop 2D 2.dxw
│   │   ├── Robocop 2D.dxw
│   │   ├── Robocop.dxw
│   │   ├── Rollcage (3DFX).dxw
│   │   ├── Rollcage (D3D).dxw
│   │   ├── Rollcage 2 (D3D).dxw
│   │   ├── RollerCoaster Tycoon 2 demo.dxw
│   │   ├── RollerCoaster Tycoon 2.dxw
│   │   ├── RollerCoaster Tycoon 3.dxw
│   │   ├── RollerCoaster Tycoon Deluxe.dxw
│   │   ├── RollerCoaster Tycoon.dxw
│   │   ├── Runaway.dxw
│   │   ├── Rune War.dxw
│   │   ├── Rune.dxw
│   │   ├── SPWaW 2016.dxw
│   │   ├── STCC Swedish TouringCar Championship.dxw
│   │   ├── Scrapland.dxw
│   │   ├── Settlers 3, the.dxw
│   │   ├── Settlers 4, the, with NVIDIA or VirtualBox.dxw
│   │   ├── Shadow Watch.dxw
│   │   ├── Sheep Dog'n Wolf.dxw
│   │   ├── Sherlock Holmes - Mistery of the Mummy (steam).dxw
│   │   ├── Sherlock Holmes The Mystery of The Mummy demo.dxw
│   │   ├── ShipWreckers demo.dxw
│   │   ├── Shogo Mobile Armor Division.dxw
│   │   ├── Sid Meier's Alpha Centauri (GOG).dxw
│   │   ├── Sid Meier's Civilization III Complete.dxw
│   │   ├── Sid Meiers SimGolf CLASS.dxw
│   │   ├── Sid Meyer's Gettysburg Demo.dxw
│   │   ├── Silent Hill 2 Director's Cut.dxw
│   │   ├── Silent Hunter III.dxw
│   │   ├── Silver.dxw
│   │   ├── SimCity 3000.dxw
│   │   ├── Slam Tilt.dxw
│   │   ├── Slave Zero.dxw
│   │   ├── Snowboard Racer.dxw
│   │   ├── Snowmobile Racing.dxw
│   │   ├── Space Hulk.dxw
│   │   ├── Space Rangers.dxw
│   │   ├── Spearhead.dxw
│   │   ├── SpellForce GOLD Edition.dxw
│   │   ├── Spike the Hedgehog.dxw
│   │   ├── Spirit Warrior.dxw
│   │   ├── Sports Car GT Demo.dxw
│   │   ├── Sports Car GT.dxw
│   │   ├── St. Row the Third (DX11).dxw
│   │   ├── St. Row the Third (DX9).dxw
│   │   ├── Stahlfabrik.dxw
│   │   ├── Star Defender 1.dxw
│   │   ├── Star Defender 2.dxw
│   │   ├── Star Trek Armada.dxw
│   │   ├── Star Trek Birth of the Federation.dxw
│   │   ├── Star Trek Generations.dxw
│   │   ├── Star Trek Hidden Evil.dxw
│   │   ├── Star Trek Klingon Academy.dxw
│   │   ├── Star Trek Starfleet Command.dxw
│   │   ├── Star Wars Episode I Racer (emulated).dxw
│   │   ├── Star Wars Episode I Racer.dxw
│   │   ├── Star Wars Jedi Knight II (multiplayer).dxw
│   │   ├── Star Wars Jedi Knight II (singleplayer).dxw
│   │   ├── Star Wars Phantom Menace.dxw
│   │   ├── Star Wars Rogue Squadron 3D.dxw
│   │   ├── Star Wars Shadow of the Empire (DEMO).dxw
│   │   ├── Star Wars Shadow of the Empire.dxw
│   │   ├── Star Wars Tie Fighter (virtual joystick).dxw
│   │   ├── Star Wars Tie Fighter.dxw
│   │   ├── Star Wars X-Wing Alliance (GOG).dxw
│   │   ├── Star Wars X-Wing Alliance.dxw
│   │   ├── Star Wars X-Wing vs. Tie-Fighter (GOG).dxw
│   │   ├── StarCraft.dxw
│   │   ├── Starfleet Academy (d3d).dxw
│   │   ├── Starfleet Academy (sw).dxw
│   │   ├── Starsiege - Tribes.dxw
│   │   ├── State of Emergency.dxw
│   │   ├── State of War Warmonger.dxw
│   │   ├── Steel Saviour demo (T-Zwei).dxw
│   │   ├── Steel Saviour.dxw
│   │   ├── Still Life (GOG).dxw
│   │   ├── Stratego.dxw
│   │   ├── Street Fighters Zero.dxw
│   │   ├── Street Wars.dxw
│   │   ├── Streets of Sim City (2000 re-release, 3DFX).dxw
│   │   ├── Strength & Honour.dxw
│   │   ├── Stronghold Crusader HD.dxw
│   │   ├── Stronghold Crusader.dxw
│   │   ├── Sub Command.dxw
│   │   ├── SubCulture (3DFX).dxw
│   │   ├── SubCulture (D3D).dxw
│   │   ├── SubCulture (sw).dxw
│   │   ├── Subspace the Captain's Chair.dxw
│   │   ├── Summoner, the.dxw
│   │   ├── Super Puzzle Fighter 2 Turbo.dxw
│   │   ├── Super Real Mahjong P7.dxw
│   │   ├── SuperBike 2000.dxw
│   │   ├── SuperChix'76 (demo).dxw
│   │   ├── Swat 3 (GOG).dxw
│   │   ├── Swat 3.dxw
│   │   ├── Syberia 2.dxw
│   │   ├── Syberia.dxw
│   │   ├── TOCA Touring Car Championship.dxw
│   │   ├── Tails Gear.dxw
│   │   ├── Taito Legends 2.dxw
│   │   ├── Take no Prisoners.dxw
│   │   ├── Talis Gear.dxw
│   │   ├── Tanktics.dxw
│   │   ├── Tarzan Action Game.dxw
│   │   ├── Taz Wanted.dxw
│   │   ├── Tenka.dxw
│   │   ├── Tetris Worlds.dxw
│   │   ├── The Creed (SW DEMO).dxw
│   │   ├── The Creed.dxw
│   │   ├── The Hobbit(TM) Demo.dxw
│   │   ├── The Hobbit(TM).dxw
│   │   ├── The Hulk Demo.dxw
│   │   ├── The Mummy.dxw
│   │   ├── The Sting!.dxw
│   │   ├── The Thing.dxw
│   │   ├── The Watchmaker.dxw
│   │   ├── The Westerner.dxw
│   │   ├── The Wonderful End of the World (Steam demo).dxw
│   │   ├── The Wonderful End of the World.dxw
│   │   ├── Theme Hospital.dxw
│   │   ├── Theme Park World.dxw
│   │   ├── Theocracy.dxw
│   │   ├── Theseus.dxw
│   │   ├── Thief the Dark Project GOLD (GOG).dxw
│   │   ├── Thief the Dark Project GOLD.dxw
│   │   ├── Thorgal.dxw
│   │   ├── TieFighter 95.dxw
│   │   ├── Tiger Woods PGA TOUR 08 Demo.dxw
│   │   ├── Titanic.dxw
│   │   ├── Tlon - a misty story.dxw
│   │   ├── Tomb Raider - Anniversary Demo.dxw
│   │   ├── Tomb Raider - Underworld.dxw
│   │   ├── Tomb Raider III (HW acceleration).dxw
│   │   ├── Tomb Raider III (SW emulation).dxw
│   │   ├── Tomb Raider III.dxw
│   │   ├── Tomb Raider Underworld.dxw
│   │   ├── Tone Rebellion Leviathan.dxw
│   │   ├── Tonic Trouble.dxw
│   │   ├── Tony Hawk's Pro Skater 3.dxw
│   │   ├── Total Annihilation Kingdoms.dxw
│   │   ├── Total Annihilation.dxw
│   │   ├── Total Immersion Racing.dxw
│   │   ├── Total Soccer 2000 (3DFX).dxw
│   │   ├── Total Soccer 2000 (DirectX).dxw
│   │   ├── Totò Sapore e il magico sapore della pizza.dxw
│   │   ├── Toy Factory.dxw
│   │   ├── Trials2 - Second Edition.dxw
│   │   ├── TrickStyle (D3D).dxw
│   │   ├── Tropico Paradise Island.dxw
│   │   ├── Tungusskiy Meteorit.dxw
│   │   ├── Typing of the Dead, the.dxw
│   │   ├── Ultim@te Race Pro.dxw
│   │   ├── Ultimate Soccer Manager 98.dxw
│   │   ├── Ultimate Spiderman.dxw
│   │   ├── Unreal Tournament.dxw
│   │   ├── Unreal.dxw
│   │   ├── Urban Chaos.dxw
│   │   ├── V-Rally 2 Expert Edition.dxw
│   │   ├── V-Rally 3.dxw
│   │   ├── V2000.dxw
│   │   ├── Vangers.dxw
│   │   ├── Viper Racing.dxw
│   │   ├── Virtua Cop 2.dxw
│   │   ├── Virtua Cop.dxw
│   │   ├── Virtua Fighter 2.dxw
│   │   ├── Virtua Fighter PC.dxw
│   │   ├── Virtua Fighter.dxw
│   │   ├── Vital Device.dxw
│   │   ├── Wacky Races.dxw
│   │   ├── WarWind.dxw
│   │   ├── Warcraft 2 Battlenet Ed.dxw
│   │   ├── Warcraft Adventures - Lord Of The Clans.dxw
│   │   ├── Wargames.dxw
│   │   ├── Wargasm.dxw
│   │   ├── Warhammer - Shadow of the Horned Rat (x2).dxw
│   │   ├── Warhammer - Shadow of the Horned Rat.dxw
│   │   ├── Warhammer 40K Chaos Gate.dxw
│   │   ├── Warhammer 40K Final Liberation.dxw
│   │   ├── Warhammer 40K Rites of War.dxw
│   │   ├── Warhammer Dark Omen.dxw
│   │   ├── Warlords 3.dxw
│   │   ├── Warlords Battlecry 2.dxw
│   │   ├── Warlords Battlecry 3 (GOG).dxw
│   │   ├── Warlords Battlecry III.dxw
│   │   ├── Warpath.dxw
│   │   ├── Warrior Kings.dxw
│   │   ├── Wars & Warriors Joan of Arc.dxw
│   │   ├── Warwind 2.dxw
│   │   ├── Weird War.dxw
│   │   ├── Wetrix.dxw
│   │   ├── Whiteout.dxw
│   │   ├── Wildfire.dxw
│   │   ├── Wind Fantasy SP.dxw
│   │   ├── Wizardry 8 (3DfX).dxw
│   │   ├── Wizardry Chronicles V0984b - English.exe.dxw
│   │   ├── Wizardry Chronicles.dxw
│   │   ├── World Racing (Demo) MX.dxw
│   │   ├── World Racing (Demo).dxw
│   │   ├── Worms 2 (GOG).dxw
│   │   ├── Worms 2.dxw
│   │   ├── Worms Pinball.dxw
│   │   ├── Wrestling MPire Remix.dxw
│   │   ├── X - Beyond the Frontier (dx6).dxw
│   │   ├── X - Beyond the Frontier.dxw
│   │   ├── X-COM Interceptor.dxw
│   │   ├── X-Files, the.dxw
│   │   ├── XENIC.dxw
│   │   ├── XIII.dxw
│   │   ├── Xwing vs. Tie-Fighter demo.dxw
│   │   ├── Yu No (english patch).dxw
│   │   ├── ZPC Zero Population Count.dxw
│   │   ├── Zanzarah The Hidden Portal.dxw
│   │   ├── Zenfar.dxw
│   │   ├── Zero Critical.dxw
│   │   ├── Zero Divide.dxw
│   │   ├── Zero Zone.dxw
│   │   ├── Zoo Tycoon.dxw
│   │   ├── ZugyA.dxw
│   │   ├── Zulu Assault.dxw
│   │   ├── eXpendable.dxw
│   │   └── mdk 95.dxw
│   ├── help/
│   │   └── placeholder.txt
│   └── readme-relnotes.txt
├── dll/
│   ├── Inject.cpp
│   ├── advapi.cpp
│   ├── avifile.cpp
│   ├── comctl32.cpp
│   ├── comdlg32.cpp
│   ├── cpulimit.cpp
│   ├── d3d10.cpp
│   ├── d3dtexture.cpp
│   ├── ddblit.cpp
│   ├── ddcreates.cpp
│   ├── ddraw.cpp
│   ├── ddrawex.cpp
│   ├── ddshot.cpp
│   ├── ddtexture.cpp
│   ├── dibdump.cpp
│   ├── dinput.cpp
│   ├── dsound.cpp
│   ├── dwhide.cpp
│   ├── dxdds.h
│   ├── dxdiaghook.cpp
│   ├── dxemublt.cpp
│   ├── dxhelper.cpp
│   ├── dxhelper.h
│   ├── dxhook.cpp
│   ├── dxhook.h
│   ├── dxmapping.cpp
│   ├── dxwcapsdb.cpp
│   ├── dxwcore.cpp
│   ├── dxwcore.hpp
│   ├── dxwnd.aps
│   ├── dxwnd.cpp
│   ├── dxwnd.def
│   ├── dxwnd.dll.manifest
│   ├── dxwnd.rc
│   ├── dxwnd.suo
│   ├── dxwnd.vs2008.sln
│   ├── dxwnd.vs2008.suo
│   ├── dxwnd.vs2008.vcproj
│   ├── dxwsstack.cpp
│   ├── dxwwstack.cpp
│   ├── emulateddc.cpp
│   ├── fontstack.cpp
│   ├── gdi32.cpp
│   ├── gdiblt.cpp
│   ├── glhook.h
│   ├── glide.cpp
│   ├── glidehook.h
│   ├── hd3d.cpp
│   ├── hd3d.doc.hpp
│   ├── hd3d.h
│   ├── hd3d7.cpp
│   ├── hd3d8.cpp
│   ├── hd3d9.cpp
│   ├── hddraw.h
│   ├── hdinput.cpp
│   ├── hdinput.h
│   ├── hexdump.cpp
│   ├── hint.cpp
│   ├── hotpatch.cpp
│   ├── iatpatch.cpp
│   ├── imagehlp.cpp
│   ├── imelib.cpp
│   ├── kernel32.cpp
│   ├── libMinHook.x86.lib
│   ├── logall.h
│   ├── mincaps.cpp
│   ├── msghook.cpp
│   ├── msims32.cpp
│   ├── msvfw.cpp
│   ├── msvfwhook.h
│   ├── ole32.cpp
│   ├── opengl.cpp
│   ├── queryint.cpp
│   ├── rad.h
│   ├── resource.h
│   ├── shareddc.cpp
│   ├── shareddc.hpp
│   ├── smack.cpp
│   ├── smack.h
│   ├── stb_dxt.h
│   ├── supmodes.cpp
│   ├── syslibs.h
│   ├── toggle_fs.cpp
│   ├── user32.cpp
│   ├── virtualdc.cpp
│   ├── walkmod.cpp
│   ├── wing32.cpp
│   ├── winmm.cpp
│   ├── winproc.cpp
│   └── wintrust.cpp
├── filter/
│   ├── bilinear16_555.cpp
│   ├── bilinear16_565.cpp
│   ├── bilinear32.cpp
│   ├── filter.def
│   ├── filter.sln
│   └── filter.vcproj
├── host/
│   ├── CDragEdit.cpp
│   ├── CDragEdit.h
│   ├── CGlobalSettings.cpp
│   ├── CGlobalSettings.h
│   ├── CoolUtils.cpp
│   ├── CoolUtils.h
│   ├── CppUACSelfElevation.cpp
│   ├── DesktopDialog.cpp
│   ├── DesktopDialog.h
│   ├── KillProc.cpp
│   ├── KillProcTree.cpp
│   ├── MainFrm.cpp
│   ├── MainFrm.h
│   ├── MessageBox.cpp
│   ├── OutTrace.cpp
│   ├── PaletteDialog.cpp
│   ├── PaletteDialog.h
│   ├── Resource.h
│   ├── ShimsDialog.cpp
│   ├── ShimsDialog.h
│   ├── SpecialEdit.cpp
│   ├── SpecialEdit.h
│   ├── StatusDialog.cpp
│   ├── StatusDialog.h
│   ├── StdAfx.cpp
│   ├── StdAfx.h
│   ├── SystemTray.cpp
│   ├── SystemTray.h
│   ├── TabColor.cpp
│   ├── TabColor.h
│   ├── TabCompat.cpp
│   ├── TabCompat.h
│   ├── TabDebug.cpp
│   ├── TabDebug.h
│   ├── TabDirect3D.cpp
│   ├── TabDirect3D.h
│   ├── TabDirectX.cpp
│   ├── TabDirectX.h
│   ├── TabDirectX2.cpp
│   ├── TabDirectX2.h
│   ├── TabHook.cpp
│   ├── TabHook.h
│   ├── TabInput.cpp
│   ├── TabInput.h
│   ├── TabLogs.cpp
│   ├── TabLogs.h
│   ├── TabNotes.cpp
│   ├── TabNotes.h
│   ├── TabOpenGL.cpp
│   ├── TabOpenGL.h
│   ├── TabProgram.cpp
│   ├── TabProgram.h
│   ├── TabRegistry.cpp
│   ├── TabRegistry.h
│   ├── TabSysLibs.cpp
│   ├── TabSysLibs.h
│   ├── TabTiming.cpp
│   ├── TabTiming.h
│   ├── TabWindow.cpp
│   ├── TabWindow.h
│   ├── TargetDlg.cpp
│   ├── TargetDlg.h
│   ├── TimeSliderDialog.h
│   ├── TimeSliderDlg.cpp
│   ├── TlHelp32.h
│   ├── VJoyDialog.cpp
│   ├── VJoyDialog.h
│   ├── ViewFlagsDialog.cpp
│   ├── ViewFlagsDialog.h
│   ├── bmpext.h
│   ├── cdib.cpp
│   ├── cdib.h
│   ├── dib.cpp
│   ├── dxTabCtrl.cpp
│   ├── dxTabCtrl.h
│   ├── dxelevate.cpp
│   ├── dxwnd.manifest
│   ├── dxwndhost.aps
│   ├── dxwndhost.cpp
│   ├── dxwndhost.h
│   ├── dxwndhost.rc
│   ├── dxwndhost.vs2008.sln
│   ├── dxwndhost.vs2008.suo
│   ├── dxwndhost.vs2008.vcproj
│   ├── dxwndhostDoc.cpp
│   ├── dxwndhostDoc.h
│   ├── dxwndhostView.cpp
│   ├── dxwndhostView.h
│   ├── findwindow.cpp
│   ├── getfname.cpp
│   ├── host.aps
│   ├── host.rc
│   ├── res/
│   │   └── dxwndhost.rc2
│   ├── resource
│   └── resource1.h
├── locale/
│   ├── cn/
│   │   ├── Resources_CN.rc
│   │   ├── Resources_Cn.sln
│   │   ├── Resources_Cn.suo
│   │   └── Resources_Cn.vcproj
│   ├── en/
│   │   ├── Resources_EN.rc
│   │   ├── Resources_En.sln
│   │   ├── Resources_En.suo
│   │   └── Resources_En.vcproj
│   ├── it/
│   │   ├── Resources_IT.rc
│   │   ├── Resources_It.sln
│   │   ├── Resources_It.suo
│   │   └── Resources_It.vcproj
│   └── ru/
│       ├── Resources_RU.rc
│       ├── Resources_Ru.sln
│       ├── Resources_Ru.suo
│       └── Resources_Ru.vcproj
├── proxy/
│   ├── d3d8.cpp
│   ├── d3d8.def
│   ├── d3d8.sln
│   ├── d3d8.suo
│   ├── d3d8.vcproj
│   ├── d3d9.cpp
│   ├── d3d9.def
│   ├── d3d9.sln
│   ├── d3d9.suo
│   ├── d3d9.txt
│   ├── d3d9.vcproj
│   ├── ddraw.cpp
│   ├── ddraw.def
│   ├── ddraw.sln
│   ├── ddraw.suo
│   ├── ddraw.vcproj
│   ├── init.cpp
│   ├── wing32.cpp
│   ├── wing32.def
│   ├── wing32.sln
│   ├── wing32.suo
│   └── wing32.vcproj
└── wing/
    ├── wing32.cpp
    ├── wing32.def
    ├── wing32.sln
    ├── wing32.suo
    └── wing32.vcproj
Download .txt
Showing preview only (321K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3753 symbols across 197 files)

FILE: Disasm201/Disasm.c
  type t_imdata (line 174) | typedef struct t_imdata {              // Intermediate disassembler data
  function Tstrcopy (line 250) | static int Tstrcopy(tchar *dest,int n,const tchar *src) {
  function Tcopycase (line 266) | static int Tcopycase(tchar *dest,int n,const tchar *src,int lowercase) {
  function Thexdump (line 285) | static int Thexdump(tchar *s,uchar *code,int ncode,int lowercase) {
  function Hexprint (line 304) | static int Hexprint(int size,tchar *s,ulong u,const t_imdata *im,ulong a...
  function Preparedisasm (line 374) | int Preparedisasm(void) {
  function Finishdisasm (line 692) | void Finishdisasm(void) {
  function Byteregtodwordreg (line 704) | static int Byteregtodwordreg(int bytereg) {
  function Getsegment (line 715) | static int Getsegment(t_imdata *im,int arg,int defseg) {
  function Memaddrtotext (line 748) | static void Memaddrtotext(t_imdata *im,int arg,int datasize,int seg,
  function Getgranularity (line 857) | static int Getgranularity(ulong arg) {
  function Operandintreg (line 929) | static void Operandintreg(t_imdata *im,ulong datasize,int index,t_operan...
  function Operandmodrm (line 969) | static int Operandmodrm(t_imdata *im,ulong datasize,uchar *cmd,ulong cmd...
  function Operandimmaddr (line 1040) | static void Operandimmaddr(t_imdata *im,ulong datasize,uchar *cmd,
  function Operandindirect (line 1075) | static void Operandindirect(t_imdata *im,int index,int changesreg,int fi...
  function Operandxlat (line 1134) | static void Operandxlat(t_imdata *im,t_operand *op) {
  function Operandpush (line 1162) | static void Operandpush(t_imdata *im,ulong datasize,t_operand *op) {
  function Operandsegreg (line 1211) | static void Operandsegreg(t_imdata *im,int index,t_operand *op) {
  function Operandfpureg (line 1231) | static void Operandfpureg(t_imdata *im,int index,t_operand *op) {
  function Operandmmxreg (line 1256) | static void Operandmmxreg(t_imdata *im,int index,t_operand *op) {
  function Operandnowreg (line 1273) | static void Operandnowreg(t_imdata *im,int index,t_operand *op) {
  function Operandssereg (line 1289) | static void Operandssereg(t_imdata *im,int index,t_operand *op) {
  function Operandefl (line 1315) | static void Operandefl(t_imdata *im,ulong datasize,t_operand *op) {
  function Operandoffset (line 1332) | static void Operandoffset(t_imdata *im,ulong offsetsize,ulong datasize,
  function Operandimmfaraddr (line 1380) | static void Operandimmfaraddr(t_imdata *im,ulong datasize,uchar *cmd,
  function Operandone (line 1416) | static void Operandone(t_imdata *im,t_operand *op) {
  function Operandimmconst (line 1435) | static void Operandimmconst(t_imdata *im,ulong nbytes,ulong constsize,
  function Operandcreg (line 1521) | static void Operandcreg(t_imdata *im,int index,t_operand *op) {
  function Operanddreg (line 1539) | static void Operanddreg(t_imdata *im,int index,t_operand *op) {
  function Operandfst (line 1554) | static void Operandfst(t_imdata *im,t_operand *op) {
  function Operandfcw (line 1570) | static void Operandfcw(t_imdata *im,t_operand *op) {
  function Operandmxcsr (line 1586) | static void Operandmxcsr(t_imdata *im,t_operand *op) {
  function ulong (line 1609) | ulong Disasm(uchar const *cmd,ulong cmdsize,ulong ip,t_disasm *da,
  function tchar (line 2842) | tchar *Geterrwarnmessage(ulong errors,ulong warnings) {

FILE: Disasm201/disasm.h
  type uchar (line 107) | typedef unsigned char  uchar;
  type ushort (line 108) | typedef unsigned short ushort;
  type uint (line 109) | typedef unsigned int   uint;
  type ulong (line 110) | typedef unsigned long  ulong;
  type t_modrm (line 558) | typedef struct t_modrm {               // ModRM byte decoding
  type t_bincmd (line 572) | typedef struct t_bincmd {              // Description of 80x86 command
  type t_chain (line 583) | typedef struct t_chain {               // Element of command chain
  type t_config (line 588) | typedef struct t_config {              // Disassembler configuration
  type t_operand (line 609) | typedef struct t_operand {             // Description of disassembled op...
  type t_disasm (line 633) | typedef struct t_disasm {              // Disassembled command

FILE: Disasm201/main.c
  function Decodeaddress (line 8) | int Decodeaddress(tchar *s,ulong addr) {
  function main (line 13) | int main(int argc,tchar* argv[]) {

FILE: Include/---dsound.h
  type IDirectSound (line 37) | struct IDirectSound
  type IDirectSoundBuffer (line 38) | struct IDirectSoundBuffer
  type IDirectSound3DListener (line 39) | struct IDirectSound3DListener
  type IDirectSound3DBuffer (line 40) | struct IDirectSound3DBuffer
  type IDirectSoundCapture (line 41) | struct IDirectSoundCapture
  type IDirectSoundCaptureBuffer (line 42) | struct IDirectSoundCaptureBuffer
  type IDirectSoundNotify (line 43) | struct IDirectSoundNotify
  type IDirectSound (line 46) | struct IDirectSound
  type IDirectSoundBuffer (line 47) | struct IDirectSoundBuffer
  type IDirectSound3DListener (line 48) | struct IDirectSound3DListener
  type IDirectSound3DBuffer (line 49) | struct IDirectSound3DBuffer
  type IDirectSoundCapture (line 50) | struct IDirectSoundCapture
  type IDirectSoundCaptureBuffer (line 51) | struct IDirectSoundCaptureBuffer
  type IDirectSoundNotify (line 52) | struct IDirectSoundNotify
  type DSCAPS (line 54) | typedef struct _DSCAPS
  type DSCAPS (line 82) | typedef const DSCAPS *LPCDSCAPS;
  type DSBCAPS (line 84) | typedef struct _DSBCAPS
  type DSBCAPS (line 93) | typedef const DSBCAPS *LPCDSBCAPS;
  type DSBUFFERDESC (line 95) | typedef struct _DSBUFFERDESC
  type DSBUFFERDESC (line 104) | typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
  type DS3DBUFFER (line 106) | typedef struct _DS3DBUFFER
  type DS3DBUFFER (line 120) | typedef const DS3DBUFFER *LPCDS3DBUFFER;
  type DS3DLISTENER (line 122) | typedef struct _DS3DLISTENER
  type DS3DLISTENER (line 134) | typedef const DS3DLISTENER *LPCDS3DLISTENER;
  type DSCCAPS (line 136) | typedef struct _DSCCAPS
  type DSCCAPS (line 144) | typedef const DSCCAPS *LPCDSCCAPS;
  type DSCBUFFERDESC (line 146) | typedef struct _DSCBUFFERDESC
  type DSCBUFFERDESC (line 155) | typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
  type DSCBCAPS (line 157) | typedef struct _DSCBCAPS
  type DSCBCAPS (line 165) | typedef const DSCBCAPS *LPCDSCBCAPS;
  type DSBPOSITIONNOTIFY (line 167) | typedef struct _DSBPOSITIONNOTIFY
  type DSBPOSITIONNOTIFY (line 173) | typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
  type LPDIRECTSOUND (line 179) | typedef LPDIRECTSOUND *LPLPDIRECTSOUND;
  type LPDIRECTSOUNDBUFFER (line 180) | typedef LPDIRECTSOUNDBUFFER *LPLPDIRECTSOUNDBUFFER;
  type LPDIRECTSOUND3DLISTENER (line 181) | typedef LPDIRECTSOUND3DLISTENER *LPLPDIRECTSOUND3DLISTENER;
  type LPDIRECTSOUND3DBUFFER (line 182) | typedef LPDIRECTSOUND3DBUFFER *LPLPDIRECTSOUND3DBUFFER;
  type LPDIRECTSOUNDCAPTURE (line 183) | typedef LPDIRECTSOUNDCAPTURE *LPLPDIRECTSOUNDCAPTURE;
  type LPDIRECTSOUNDCAPTUREBUFFER (line 184) | typedef LPDIRECTSOUNDCAPTUREBUFFER *LPLPDIRECTSOUNDCAPTUREBUFFER;
  type LPDIRECTSOUNDNOTIFY (line 185) | typedef LPDIRECTSOUNDNOTIFY *LPLPDIRECTSOUNDNOTIFY;
  type LPVOID (line 186) | typedef LPVOID *LPLPVOID;
  type WAVEFORMATEX (line 187) | typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
  type LPCWSTR (line 193) | typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPV...
  type LPCSTR (line 194) | typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID);

FILE: Include/3DFX.H
  type FxU8 (line 26) | typedef unsigned char   FxU8;
  type FxI8 (line 27) | typedef signed   char   FxI8;
  type FxU16 (line 28) | typedef unsigned short  FxU16;
  type FxI16 (line 29) | typedef signed   short  FxI16;
  type FxI32 (line 30) | typedef signed   long   FxI32;
  type FxU32 (line 31) | typedef unsigned long   FxU32;
  type FxBool (line 32) | typedef int             FxBool;
  type FxFloat (line 33) | typedef float           FxFloat;
  type FxDouble (line 34) | typedef double          FxDouble;
  type FxColor_t (line 39) | typedef unsigned long                FxColor_t;
  type FxColor4 (line 40) | typedef struct { float r, g, b, a; } FxColor4;

FILE: Include/D3D10.h
  type interface (line 50) | typedef interface ID3D10DeviceChild
  type interface (line 56) | typedef interface ID3D10DepthStencilState
  type interface (line 62) | typedef interface ID3D10BlendState
  type interface (line 68) | typedef interface ID3D10RasterizerState
  type interface (line 74) | typedef interface ID3D10Resource
  type interface (line 80) | typedef interface ID3D10Buffer
  type interface (line 86) | typedef interface ID3D10Texture1D
  type interface (line 92) | typedef interface ID3D10Texture2D
  type interface (line 98) | typedef interface ID3D10Texture3D
  type interface (line 104) | typedef interface ID3D10View
  type interface (line 110) | typedef interface ID3D10ShaderResourceView
  type interface (line 116) | typedef interface ID3D10RenderTargetView
  type interface (line 122) | typedef interface ID3D10DepthStencilView
  type interface (line 128) | typedef interface ID3D10VertexShader
  type interface (line 134) | typedef interface ID3D10GeometryShader
  type interface (line 140) | typedef interface ID3D10PixelShader
  type interface (line 146) | typedef interface ID3D10InputLayout
  type interface (line 152) | typedef interface ID3D10SamplerState
  type interface (line 158) | typedef interface ID3D10Asynchronous
  type interface (line 164) | typedef interface ID3D10Query
  type interface (line 170) | typedef interface ID3D10Predicate
  type interface (line 176) | typedef interface ID3D10Counter
  type interface (line 182) | typedef interface ID3D10Device
  type interface (line 188) | typedef interface ID3D10Multithread
  type D3D10_INPUT_CLASSIFICATION (line 616) | typedef
  type D3D10_INPUT_ELEMENT_DESC (line 624) | typedef struct D3D10_INPUT_ELEMENT_DESC
  type D3D10_FILL_MODE (line 635) | typedef
  type D3D_PRIMITIVE_TOPOLOGY (line 641) | typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
  type D3D_PRIMITIVE (line 643) | typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
  type D3D10_CULL_MODE (line 645) | typedef
  type D3D10_SO_DECLARATION_ENTRY (line 652) | typedef struct D3D10_SO_DECLARATION_ENTRY
  type D3D10_VIEWPORT (line 661) | typedef struct D3D10_VIEWPORT
  type D3D10_RESOURCE_DIMENSION (line 671) | typedef
  type D3D_SRV_DIMENSION (line 680) | typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
  type D3D10_DSV_DIMENSION (line 682) | typedef
  type D3D10_RTV_DIMENSION (line 693) | typedef
  type D3D10_USAGE (line 706) | typedef
  type D3D10_BIND_FLAG (line 714) | typedef
  type D3D10_CPU_ACCESS_FLAG (line 725) | typedef
  type D3D10_RESOURCE_MISC_FLAG (line 731) | typedef
  type D3D10_MAP (line 740) | typedef
  type D3D10_MAP_FLAG (line 749) | typedef
  type D3D10_RAISE_FLAG (line 754) | typedef
  type D3D10_CLEAR_FLAG (line 759) | typedef
  type RECT (line 765) | typedef RECT D3D10_RECT;
  type D3D10_BOX (line 767) | typedef struct D3D10_BOX
  type ID3D10DeviceChildVtbl (line 828) | typedef struct ID3D10DeviceChildVtbl
  function interface (line 877) | interface ID3D10DeviceChild
  type D3D10_COMPARISON_FUNC (line 923) | typedef
  type D3D10_DEPTH_WRITE_MASK (line 935) | typedef
  type D3D10_STENCIL_OP (line 941) | typedef
  type D3D10_DEPTH_STENCILOP_DESC (line 953) | typedef struct D3D10_DEPTH_STENCILOP_DESC
  type D3D10_DEPTH_STENCIL_DESC (line 961) | typedef struct D3D10_DEPTH_STENCIL_DESC
  type ID3D10DepthStencilStateVtbl (line 1001) | typedef struct ID3D10DepthStencilStateVtbl
  function interface (line 1055) | interface ID3D10DepthStencilState
  type D3D10_BLEND (line 1105) | typedef
  type D3D10_BLEND_OP (line 1126) | typedef
  type D3D10_COLOR_WRITE_ENABLE (line 1135) | typedef
  type D3D10_BLEND_DESC (line 1144) | typedef struct D3D10_BLEND_DESC
  type ID3D10BlendStateVtbl (line 1185) | typedef struct ID3D10BlendStateVtbl
  function interface (line 1239) | interface ID3D10BlendState
  type D3D10_RASTERIZER_DESC (line 1289) | typedef struct D3D10_RASTERIZER_DESC
  type ID3D10RasterizerStateVtbl (line 1331) | typedef struct ID3D10RasterizerStateVtbl
  function interface (line 1385) | interface ID3D10RasterizerState
  function UINT (line 1436) | inline UINT D3D10CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT M...
  type D3D10_SUBRESOURCE_DATA (line 1439) | typedef struct D3D10_SUBRESOURCE_DATA
  type ID3D10ResourceVtbl (line 1480) | typedef struct ID3D10ResourceVtbl
  function interface (line 1542) | interface ID3D10Resource
  type D3D10_BUFFER_DESC (line 1598) | typedef struct D3D10_BUFFER_DESC
  function D3D10_BUFFER_DESC (line 1608) | struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC
  type ID3D10BufferVtbl (line 1670) | typedef struct ID3D10BufferVtbl
  function interface (line 1749) | interface ID3D10Buffer
  type D3D10_TEXTURE1D_DESC (line 1815) | typedef struct D3D10_TEXTURE1D_DESC
  function D3D10_TEXTURE1D_DESC (line 1828) | struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC
  type ID3D10Texture1DVtbl (line 1900) | typedef struct ID3D10Texture1DVtbl
  function interface (line 1983) | interface ID3D10Texture1D
  type D3D10_TEXTURE2D_DESC (line 2049) | typedef struct D3D10_TEXTURE2D_DESC
  function D3D10_TEXTURE2D_DESC (line 2064) | struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC
  type D3D10_MAPPED_TEXTURE2D (line 2100) | typedef struct D3D10_MAPPED_TEXTURE2D
  type ID3D10Texture2DVtbl (line 2148) | typedef struct ID3D10Texture2DVtbl
  function interface (line 2231) | interface ID3D10Texture2D
  type D3D10_TEXTURE3D_DESC (line 2297) | typedef struct D3D10_TEXTURE3D_DESC
  function D3D10_TEXTURE3D_DESC (line 2311) | struct CD3D10_TEXTURE3D_DESC : public D3D10_TEXTURE3D_DESC
  type D3D10_MAPPED_TEXTURE3D (line 2343) | typedef struct D3D10_MAPPED_TEXTURE3D
  type ID3D10Texture3DVtbl (line 2392) | typedef struct ID3D10Texture3DVtbl
  function interface (line 2475) | interface ID3D10Texture3D
  type D3D10_TEXTURECUBE_FACE (line 2541) | typedef
  type ID3D10ViewVtbl (line 2579) | typedef struct ID3D10ViewVtbl
  function interface (line 2633) | interface ID3D10View
  type D3D10_BUFFER_SRV (line 2683) | typedef struct D3D10_BUFFER_SRV
  type D3D10_TEX1D_SRV (line 2697) | typedef struct D3D10_TEX1D_SRV
  type D3D10_TEX1D_ARRAY_SRV (line 2703) | typedef struct D3D10_TEX1D_ARRAY_SRV
  type D3D10_TEX2D_SRV (line 2711) | typedef struct D3D10_TEX2D_SRV
  type D3D10_TEX2D_ARRAY_SRV (line 2717) | typedef struct D3D10_TEX2D_ARRAY_SRV
  type D3D10_TEX3D_SRV (line 2725) | typedef struct D3D10_TEX3D_SRV
  type D3D10_TEXCUBE_SRV (line 2731) | typedef struct D3D10_TEXCUBE_SRV
  type D3D10_TEX2DMS_SRV (line 2737) | typedef struct D3D10_TEX2DMS_SRV
  type D3D10_TEX2DMS_ARRAY_SRV (line 2742) | typedef struct D3D10_TEX2DMS_ARRAY_SRV
  type D3D10_SHADER_RESOURCE_VIEW_DESC (line 2748) | typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC
  type ID3D10ShaderResourceViewVtbl (line 2794) | typedef struct ID3D10ShaderResourceViewVtbl
  function interface (line 2853) | interface ID3D10ShaderResourceView
  type D3D10_BUFFER_RTV (line 2907) | typedef struct D3D10_BUFFER_RTV
  type D3D10_TEX1D_RTV (line 2921) | typedef struct D3D10_TEX1D_RTV
  type D3D10_TEX1D_ARRAY_RTV (line 2926) | typedef struct D3D10_TEX1D_ARRAY_RTV
  type D3D10_TEX2D_RTV (line 2933) | typedef struct D3D10_TEX2D_RTV
  type D3D10_TEX2DMS_RTV (line 2938) | typedef struct D3D10_TEX2DMS_RTV
  type D3D10_TEX2D_ARRAY_RTV (line 2943) | typedef struct D3D10_TEX2D_ARRAY_RTV
  type D3D10_TEX2DMS_ARRAY_RTV (line 2950) | typedef struct D3D10_TEX2DMS_ARRAY_RTV
  type D3D10_TEX3D_RTV (line 2956) | typedef struct D3D10_TEX3D_RTV
  type D3D10_RENDER_TARGET_VIEW_DESC (line 2963) | typedef struct D3D10_RENDER_TARGET_VIEW_DESC
  type ID3D10RenderTargetViewVtbl (line 3008) | typedef struct ID3D10RenderTargetViewVtbl
  function interface (line 3067) | interface ID3D10RenderTargetView
  type D3D10_TEX1D_DSV (line 3121) | typedef struct D3D10_TEX1D_DSV
  type D3D10_TEX1D_ARRAY_DSV (line 3126) | typedef struct D3D10_TEX1D_ARRAY_DSV
  type D3D10_TEX2D_DSV (line 3133) | typedef struct D3D10_TEX2D_DSV
  type D3D10_TEX2D_ARRAY_DSV (line 3138) | typedef struct D3D10_TEX2D_ARRAY_DSV
  type D3D10_TEX2DMS_DSV (line 3145) | typedef struct D3D10_TEX2DMS_DSV
  type D3D10_TEX2DMS_ARRAY_DSV (line 3150) | typedef struct D3D10_TEX2DMS_ARRAY_DSV
  type D3D10_DEPTH_STENCIL_VIEW_DESC (line 3156) | typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC
  type ID3D10DepthStencilViewVtbl (line 3199) | typedef struct ID3D10DepthStencilViewVtbl
  function interface (line 3258) | interface ID3D10DepthStencilView
  type ID3D10VertexShaderVtbl (line 3328) | typedef struct ID3D10VertexShaderVtbl
  function interface (line 3377) | interface ID3D10VertexShader
  type ID3D10GeometryShaderVtbl (line 3440) | typedef struct ID3D10GeometryShaderVtbl
  function interface (line 3489) | interface ID3D10GeometryShader
  type ID3D10PixelShaderVtbl (line 3552) | typedef struct ID3D10PixelShaderVtbl
  function interface (line 3601) | interface ID3D10PixelShader
  type ID3D10InputLayoutVtbl (line 3664) | typedef struct ID3D10InputLayoutVtbl
  function interface (line 3713) | interface ID3D10InputLayout
  type D3D10_FILTER (line 3760) | typedef
  type D3D10_FILTER_TYPE (line 3783) | typedef
  type D3D10_TEXTURE_ADDRESS_MODE (line 3834) | typedef
  type D3D10_SAMPLER_DESC (line 3843) | typedef struct D3D10_SAMPLER_DESC
  type ID3D10SamplerStateVtbl (line 3885) | typedef struct ID3D10SamplerStateVtbl
  function interface (line 3939) | interface ID3D10SamplerState
  type D3D10_FORMAT_SUPPORT (line 3989) | typedef
  type ID3D10AsynchronousVtbl (line 4056) | typedef struct ID3D10AsynchronousVtbl
  function interface (line 4123) | interface ID3D10Asynchronous
  type D3D10_ASYNC_GETDATA_FLAG (line 4182) | typedef
  type D3D10_QUERY (line 4187) | typedef
  type D3D10_QUERY_MISC_FLAG (line 4199) | typedef
  type D3D10_QUERY_DESC (line 4204) | typedef struct D3D10_QUERY_DESC
  type ID3D10QueryVtbl (line 4238) | typedef struct ID3D10QueryVtbl
  function interface (line 4310) | interface ID3D10Query
  type ID3D10PredicateVtbl (line 4389) | typedef struct ID3D10PredicateVtbl
  function interface (line 4461) | interface ID3D10Predicate
  type D3D10_QUERY_DATA_TIMESTAMP_DISJOINT (line 4525) | typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
  type D3D10_QUERY_DATA_PIPELINE_STATISTICS (line 4531) | typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS
  type D3D10_QUERY_DATA_SO_STATISTICS (line 4543) | typedef struct D3D10_QUERY_DATA_SO_STATISTICS
  type D3D10_COUNTER (line 4549) | typedef
  type D3D10_COUNTER_TYPE (line 4572) | typedef
  type D3D10_COUNTER_DESC (line 4580) | typedef struct D3D10_COUNTER_DESC
  type D3D10_COUNTER_INFO (line 4586) | typedef struct D3D10_COUNTER_INFO
  type ID3D10CounterVtbl (line 4621) | typedef struct ID3D10CounterVtbl
  function interface (line 4693) | interface ID3D10Counter
  type ID3D10DeviceVtbl (line 5449) | struct ID3D10DeviceVtbl
  type ID3D10MultithreadVtbl (line 6585) | typedef struct ID3D10MultithreadVtbl
  function interface (line 6618) | interface ID3D10Multithread
  type D3D10_CREATE_DEVICE_FLAG (line 6664) | typedef

FILE: Include/D3D10_1.h
  type interface (line 45) | typedef interface ID3D10BlendState1
  type interface (line 51) | typedef interface ID3D10ShaderResourceView1
  type interface (line 57) | typedef interface ID3D10Device1
  type D3D10_FEATURE_LEVEL1 (line 122) | typedef
  type D3D10_RENDER_TARGET_BLEND_DESC1 (line 131) | typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
  type D3D10_BLEND_DESC1 (line 143) | typedef struct D3D10_BLEND_DESC1
  type ID3D10BlendState1Vtbl (line 178) | typedef struct ID3D10BlendState1Vtbl
  function interface (line 237) | interface ID3D10BlendState1
  type D3D10_TEXCUBE_ARRAY_SRV1 (line 291) | typedef struct D3D10_TEXCUBE_ARRAY_SRV1
  type D3D_SRV_DIMENSION (line 299) | typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION1;
  type D3D10_SHADER_RESOURCE_VIEW_DESC1 (line 301) | typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
  type ID3D10ShaderResourceView1Vtbl (line 348) | typedef struct ID3D10ShaderResourceView1Vtbl
  function interface (line 412) | interface ID3D10ShaderResourceView1
  type D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS (line 470) | typedef
  type ID3D10Device1Vtbl (line 516) | typedef struct ID3D10Device1Vtbl
  function interface (line 1326) | interface ID3D10Device1
  type HMODULE (line 1692) | typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE1)(IDXGIAdapter *,
  type HMODULE (line 1744) | typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE_AND_SWAP_CHAIN1)(IDXGIA...

FILE: Include/D3D10_1shader.h
  type D3D10_SHADER_DEBUG_REGTYPE (line 19) | typedef enum _D3D10_SHADER_DEBUG_REGTYPE
  type D3D10_SHADER_DEBUG_SCOPETYPE (line 37) | typedef enum _D3D10_SHADER_DEBUG_SCOPETYPE
  type D3D10_SHADER_DEBUG_VARTYPE (line 50) | typedef enum _D3D10_SHADER_DEBUG_VARTYPE
  type D3D10_SHADER_DEBUG_TOKEN_INFO (line 61) | typedef struct _D3D10_SHADER_DEBUG_TOKEN_INFO
  type D3D10_SHADER_DEBUG_VAR_INFO (line 72) | typedef struct _D3D10_SHADER_DEBUG_VAR_INFO
  type D3D10_SHADER_DEBUG_INPUT_INFO (line 86) | typedef struct _D3D10_SHADER_DEBUG_INPUT_INFO
  type D3D10_SHADER_DEBUG_SCOPEVAR_INFO (line 103) | typedef struct _D3D10_SHADER_DEBUG_SCOPEVAR_INFO
  type D3D10_SHADER_DEBUG_SCOPE_INFO (line 136) | typedef struct _D3D10_SHADER_DEBUG_SCOPE_INFO
  type D3D10_SHADER_DEBUG_OUTPUTVAR (line 146) | typedef struct _D3D10_SHADER_DEBUG_OUTPUTVAR
  type D3D10_SHADER_DEBUG_OUTPUTREG_INFO (line 158) | typedef struct _D3D10_SHADER_DEBUG_OUTPUTREG_INFO
  type D3D10_SHADER_DEBUG_INST_INFO (line 179) | typedef struct _D3D10_SHADER_DEBUG_INST_INFO
  type D3D10_SHADER_DEBUG_FILE_INFO (line 207) | typedef struct _D3D10_SHADER_DEBUG_FILE_INFO
  type D3D10_SHADER_DEBUG_INFO (line 215) | typedef struct _D3D10_SHADER_DEBUG_INFO
  type interface (line 248) | typedef interface ID3D10ShaderReflection1
  type interface (line 249) | typedef interface ID3D10ShaderReflection1

FILE: Include/D3D10effect.h
  type D3D10_DEVICE_STATE_TYPES (line 30) | typedef enum _D3D10_DEVICE_STATE_TYPES
  type D3D10_STATE_BLOCK_MASK (line 76) | typedef struct _D3D10_STATE_BLOCK_MASK
  type interface (line 115) | typedef interface ID3D10StateBlock
  type interface (line 116) | typedef interface ID3D10StateBlock
  type D3D10_EFFECT_TYPE_DESC (line 266) | typedef struct _D3D10_EFFECT_TYPE_DESC
  type interface (line 291) | typedef interface ID3D10EffectType
  type interface (line 292) | typedef interface ID3D10EffectType
  function DECLARE_INTERFACE (line 301) | DECLARE_INTERFACE(ID3D10EffectType)
  type D3D10_EFFECT_VARIABLE_DESC (line 322) | typedef struct _D3D10_EFFECT_VARIABLE_DESC
  type interface (line 343) | typedef interface ID3D10EffectVariable
  type interface (line 344) | typedef interface ID3D10EffectVariable
  type interface (line 354) | typedef interface ID3D10EffectScalarVariable
  type interface (line 355) | typedef interface ID3D10EffectVectorVariable
  type interface (line 356) | typedef interface ID3D10EffectMatrixVariable
  type interface (line 357) | typedef interface ID3D10EffectStringVariable
  type interface (line 358) | typedef interface ID3D10EffectShaderResourceVariable
  type interface (line 359) | typedef interface ID3D10EffectRenderTargetViewVariable
  type interface (line 360) | typedef interface ID3D10EffectDepthStencilViewVariable
  type interface (line 361) | typedef interface ID3D10EffectConstantBuffer
  type interface (line 362) | typedef interface ID3D10EffectShaderVariable
  type interface (line 363) | typedef interface ID3D10EffectBlendVariable
  type interface (line 364) | typedef interface ID3D10EffectDepthStencilVariable
  type interface (line 365) | typedef interface ID3D10EffectRasterizerVariable
  type interface (line 366) | typedef interface ID3D10EffectSamplerVariable
  function STDMETHOD (line 372) | STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
  type interface (line 1202) | typedef interface ID3D10EffectPass
  type interface (line 1203) | typedef interface ID3D10EffectPass
  function DECLARE_INTERFACE (line 1212) | DECLARE_INTERFACE(ID3D10EffectPass)
  type D3D10_TECHNIQUE_DESC (line 1239) | typedef struct _D3D10_TECHNIQUE_DESC
  type interface (line 1246) | typedef interface ID3D10EffectTechnique
  type interface (line 1247) | typedef interface ID3D10EffectTechnique
  function DECLARE_INTERFACE (line 1256) | DECLARE_INTERFACE(ID3D10EffectTechnique)
  type D3D10_EFFECT_DESC (line 1280) | typedef struct _D3D10_EFFECT_DESC
  type interface (line 1300) | typedef interface ID3D10Effect
  type interface (line 1301) | typedef interface ID3D10Effect

FILE: Include/D3D10shader.h
  type D3D_SHADER_MACRO (line 113) | typedef D3D_SHADER_MACRO D3D10_SHADER_MACRO;
  type D3D10_SHADER_MACRO (line 114) | typedef D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO;
  type D3D_SHADER_VARIABLE_CLASS (line 117) | typedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS;
  type D3D10_SHADER_VARIABLE_CLASS (line 118) | typedef D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS;
  type D3D_SHADER_VARIABLE_FLAGS (line 120) | typedef D3D_SHADER_VARIABLE_FLAGS D3D10_SHADER_VARIABLE_FLAGS;
  type D3D10_SHADER_VARIABLE_FLAGS (line 121) | typedef D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS;
  type D3D_SHADER_VARIABLE_TYPE (line 123) | typedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE;
  type D3D10_SHADER_VARIABLE_TYPE (line 124) | typedef D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE;
  type D3D_SHADER_INPUT_FLAGS (line 126) | typedef D3D_SHADER_INPUT_FLAGS D3D10_SHADER_INPUT_FLAGS;
  type D3D10_SHADER_INPUT_FLAGS (line 127) | typedef D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS;
  type D3D_SHADER_INPUT_TYPE (line 129) | typedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE;
  type D3D10_SHADER_INPUT_TYPE (line 130) | typedef D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE;
  type D3D_SHADER_CBUFFER_FLAGS (line 132) | typedef D3D_SHADER_CBUFFER_FLAGS D3D10_SHADER_CBUFFER_FLAGS;
  type D3D10_SHADER_CBUFFER_FLAGS (line 133) | typedef D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS;
  type D3D_CBUFFER_TYPE (line 135) | typedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE;
  type D3D10_CBUFFER_TYPE (line 136) | typedef D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE;
  type D3D_NAME (line 138) | typedef D3D_NAME D3D10_NAME;
  type D3D_RESOURCE_RETURN_TYPE (line 140) | typedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE;
  type D3D_REGISTER_COMPONENT_TYPE (line 142) | typedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE;
  type D3D_INCLUDE_TYPE (line 144) | typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE;
  type interface (line 147) | typedef interface ID3DInclude
  type interface (line 148) | typedef interface ID3DInclude
  type D3D10_SHADER_DESC (line 160) | typedef struct _D3D10_SHADER_DESC
  type D3D10_SHADER_BUFFER_DESC (line 194) | typedef struct _D3D10_SHADER_BUFFER_DESC
  type D3D10_SHADER_VARIABLE_DESC (line 203) | typedef struct _D3D10_SHADER_VARIABLE_DESC
  type D3D10_SHADER_TYPE_DESC (line 212) | typedef struct _D3D10_SHADER_TYPE_DESC
  type D3D10_SHADER_INPUT_BIND_DESC (line 223) | typedef struct _D3D10_SHADER_INPUT_BIND_DESC
  type D3D10_SIGNATURE_PARAMETER_DESC (line 236) | typedef struct _D3D10_SIGNATURE_PARAMETER_DESC
  type interface (line 257) | typedef interface ID3D10ShaderReflectionType
  type interface (line 258) | typedef interface ID3D10ShaderReflectionType
  function DECLARE_INTERFACE (line 267) | DECLARE_INTERFACE(ID3D10ShaderReflectionType)
  type interface (line 276) | typedef interface ID3D10ShaderReflectionVariable
  type interface (line 277) | typedef interface ID3D10ShaderReflectionVariable
  function DECLARE_INTERFACE (line 286) | DECLARE_INTERFACE(ID3D10ShaderReflectionVariable)
  type interface (line 293) | typedef interface ID3D10ShaderReflectionConstantBuffer
  type interface (line 294) | typedef interface ID3D10ShaderReflectionConstantBuffer
  function DECLARE_INTERFACE (line 303) | DECLARE_INTERFACE(ID3D10ShaderReflectionConstantBuffer)
  type interface (line 311) | typedef interface ID3D10ShaderReflection
  type interface (line 312) | typedef interface ID3D10ShaderReflection

FILE: Include/D3D11.h
  type interface (line 50) | typedef interface ID3D11DeviceChild
  type interface (line 56) | typedef interface ID3D11DepthStencilState
  type interface (line 62) | typedef interface ID3D11BlendState
  type interface (line 68) | typedef interface ID3D11RasterizerState
  type interface (line 74) | typedef interface ID3D11Resource
  type interface (line 80) | typedef interface ID3D11Buffer
  type interface (line 86) | typedef interface ID3D11Texture1D
  type interface (line 92) | typedef interface ID3D11Texture2D
  type interface (line 98) | typedef interface ID3D11Texture3D
  type interface (line 104) | typedef interface ID3D11View
  type interface (line 110) | typedef interface ID3D11ShaderResourceView
  type interface (line 116) | typedef interface ID3D11RenderTargetView
  type interface (line 122) | typedef interface ID3D11DepthStencilView
  type interface (line 128) | typedef interface ID3D11UnorderedAccessView
  type interface (line 134) | typedef interface ID3D11VertexShader
  type interface (line 140) | typedef interface ID3D11HullShader
  type interface (line 146) | typedef interface ID3D11DomainShader
  type interface (line 152) | typedef interface ID3D11GeometryShader
  type interface (line 158) | typedef interface ID3D11PixelShader
  type interface (line 164) | typedef interface ID3D11ComputeShader
  type interface (line 170) | typedef interface ID3D11InputLayout
  type interface (line 176) | typedef interface ID3D11SamplerState
  type interface (line 182) | typedef interface ID3D11Asynchronous
  type interface (line 188) | typedef interface ID3D11Query
  type interface (line 194) | typedef interface ID3D11Predicate
  type interface (line 200) | typedef interface ID3D11Counter
  type interface (line 206) | typedef interface ID3D11ClassInstance
  type interface (line 212) | typedef interface ID3D11ClassLinkage
  type interface (line 218) | typedef interface ID3D11CommandList
  type interface (line 224) | typedef interface ID3D11DeviceContext
  type interface (line 230) | typedef interface ID3D11Device
  type CD3D11_DEFAULT (line 929) | struct CD3D11_DEFAULT {}
  type D3D11_INPUT_CLASSIFICATION (line 933) | typedef
  type D3D11_INPUT_ELEMENT_DESC (line 941) | typedef struct D3D11_INPUT_ELEMENT_DESC
  type D3D11_FILL_MODE (line 952) | typedef
  type D3D_PRIMITIVE_TOPOLOGY (line 958) | typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
  type D3D_PRIMITIVE (line 960) | typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
  type D3D11_CULL_MODE (line 962) | typedef
  type D3D11_SO_DECLARATION_ENTRY (line 969) | typedef struct D3D11_SO_DECLARATION_ENTRY
  type D3D11_VIEWPORT (line 979) | typedef struct D3D11_VIEWPORT
  type D3D11_RESOURCE_DIMENSION (line 1000) | typedef
  type D3D_SRV_DIMENSION (line 1009) | typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
  type D3D11_DSV_DIMENSION (line 1011) | typedef
  type D3D11_RTV_DIMENSION (line 1022) | typedef
  type D3D11_UAV_DIMENSION (line 1035) | typedef
  type D3D11_USAGE (line 1046) | typedef
  type D3D11_BIND_FLAG (line 1054) | typedef
  type D3D11_CPU_ACCESS_FLAG (line 1066) | typedef
  type D3D11_RESOURCE_MISC_FLAG (line 1072) | typedef
  type D3D11_MAP (line 1085) | typedef
  type D3D11_MAP_FLAG (line 1094) | typedef
  type D3D11_RAISE_FLAG (line 1099) | typedef
  type D3D11_CLEAR_FLAG (line 1104) | typedef
  type RECT (line 1110) | typedef RECT D3D11_RECT;
  function D3D11_RECT (line 1114) | struct CD3D11_RECT : public D3D11_RECT
  type D3D11_BOX (line 1144) | typedef struct D3D11_BOX
  function D3D11_BOX (line 1156) | struct CD3D11_BOX : public D3D11_BOX
  type ID3D11DeviceChildVtbl (line 1242) | typedef struct ID3D11DeviceChildVtbl
  function interface (line 1291) | interface ID3D11DeviceChild
  type D3D11_COMPARISON_FUNC (line 1337) | typedef
  type D3D11_DEPTH_WRITE_MASK (line 1349) | typedef
  type D3D11_STENCIL_OP (line 1355) | typedef
  type D3D11_DEPTH_STENCILOP_DESC (line 1367) | typedef struct D3D11_DEPTH_STENCILOP_DESC
  type D3D11_DEPTH_STENCIL_DESC (line 1375) | typedef struct D3D11_DEPTH_STENCIL_DESC
  function D3D11_DEPTH_STENCIL_DESC (line 1389) | struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC
  type ID3D11DepthStencilStateVtbl (line 1473) | typedef struct ID3D11DepthStencilStateVtbl
  function interface (line 1527) | interface ID3D11DepthStencilState
  type D3D11_BLEND (line 1577) | typedef
  type D3D11_BLEND_OP (line 1598) | typedef
  type D3D11_COLOR_WRITE_ENABLE (line 1607) | typedef
  type D3D11_RENDER_TARGET_BLEND_DESC (line 1616) | typedef struct D3D11_RENDER_TARGET_BLEND_DESC
  type D3D11_BLEND_DESC (line 1628) | typedef struct D3D11_BLEND_DESC
  function D3D11_BLEND_DESC (line 1639) | struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC
  type ID3D11BlendStateVtbl (line 1693) | typedef struct ID3D11BlendStateVtbl
  function interface (line 1747) | interface ID3D11BlendState
  type D3D11_RASTERIZER_DESC (line 1797) | typedef struct D3D11_RASTERIZER_DESC
  function D3D11_RASTERIZER_DESC (line 1813) | struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC
  type ID3D11RasterizerStateVtbl (line 1889) | typedef struct ID3D11RasterizerStateVtbl
  function interface (line 1943) | interface ID3D11RasterizerState
  function UINT (line 1995) | inline UINT D3D11CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT M...
  type D3D11_SUBRESOURCE_DATA (line 1999) | typedef struct D3D11_SUBRESOURCE_DATA
  type D3D11_MAPPED_SUBRESOURCE (line 2006) | typedef struct D3D11_MAPPED_SUBRESOURCE
  type ID3D11ResourceVtbl (line 2047) | typedef struct ID3D11ResourceVtbl
  function interface (line 2109) | interface ID3D11Resource
  type D3D11_BUFFER_DESC (line 2165) | typedef struct D3D11_BUFFER_DESC
  function D3D11_BUFFER_DESC (line 2177) | struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC
  type ID3D11BufferVtbl (line 2232) | typedef struct ID3D11BufferVtbl
  function interface (line 2299) | interface ID3D11Buffer
  type D3D11_TEXTURE1D_DESC (line 2359) | typedef struct D3D11_TEXTURE1D_DESC
  function D3D11_TEXTURE1D_DESC (line 2373) | struct CD3D11_TEXTURE1D_DESC : public D3D11_TEXTURE1D_DESC
  type ID3D11Texture1DVtbl (line 2432) | typedef struct ID3D11Texture1DVtbl
  function interface (line 2499) | interface ID3D11Texture1D
  type D3D11_TEXTURE2D_DESC (line 2559) | typedef struct D3D11_TEXTURE2D_DESC
  function D3D11_TEXTURE2D_DESC (line 2575) | struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC
  type ID3D11Texture2DVtbl (line 2640) | typedef struct ID3D11Texture2DVtbl
  function interface (line 2707) | interface ID3D11Texture2D
  type D3D11_TEXTURE3D_DESC (line 2767) | typedef struct D3D11_TEXTURE3D_DESC
  function D3D11_TEXTURE3D_DESC (line 2782) | struct CD3D11_TEXTURE3D_DESC : public D3D11_TEXTURE3D_DESC
  type ID3D11Texture3DVtbl (line 2843) | typedef struct ID3D11Texture3DVtbl
  function interface (line 2910) | interface ID3D11Texture3D
  type D3D11_TEXTURECUBE_FACE (line 2970) | typedef
  type ID3D11ViewVtbl (line 3008) | typedef struct ID3D11ViewVtbl
  function interface (line 3062) | interface ID3D11View
  type D3D11_BUFFER_SRV (line 3112) | typedef struct D3D11_BUFFER_SRV
  type D3D11_BUFFEREX_SRV_FLAG (line 3126) | typedef
  type D3D11_BUFFEREX_SRV (line 3131) | typedef struct D3D11_BUFFEREX_SRV
  type D3D11_TEX1D_SRV (line 3138) | typedef struct D3D11_TEX1D_SRV
  type D3D11_TEX1D_ARRAY_SRV (line 3144) | typedef struct D3D11_TEX1D_ARRAY_SRV
  type D3D11_TEX2D_SRV (line 3152) | typedef struct D3D11_TEX2D_SRV
  type D3D11_TEX2D_ARRAY_SRV (line 3158) | typedef struct D3D11_TEX2D_ARRAY_SRV
  type D3D11_TEX3D_SRV (line 3166) | typedef struct D3D11_TEX3D_SRV
  type D3D11_TEXCUBE_SRV (line 3172) | typedef struct D3D11_TEXCUBE_SRV
  type D3D11_TEXCUBE_ARRAY_SRV (line 3178) | typedef struct D3D11_TEXCUBE_ARRAY_SRV
  type D3D11_TEX2DMS_SRV (line 3186) | typedef struct D3D11_TEX2DMS_SRV
  type D3D11_TEX2DMS_ARRAY_SRV (line 3191) | typedef struct D3D11_TEX2DMS_ARRAY_SRV
  type D3D11_SHADER_RESOURCE_VIEW_DESC (line 3197) | typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
  function D3D11_SHADER_RESOURCE_VIEW_DESC (line 3219) | struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_V...
  type ID3D11ShaderResourceViewVtbl (line 3451) | typedef struct ID3D11ShaderResourceViewVtbl
  function interface (line 3510) | interface ID3D11ShaderResourceView
  type D3D11_BUFFER_RTV (line 3564) | typedef struct D3D11_BUFFER_RTV
  type D3D11_TEX1D_RTV (line 3578) | typedef struct D3D11_TEX1D_RTV
  type D3D11_TEX1D_ARRAY_RTV (line 3583) | typedef struct D3D11_TEX1D_ARRAY_RTV
  type D3D11_TEX2D_RTV (line 3590) | typedef struct D3D11_TEX2D_RTV
  type D3D11_TEX2DMS_RTV (line 3595) | typedef struct D3D11_TEX2DMS_RTV
  type D3D11_TEX2D_ARRAY_RTV (line 3600) | typedef struct D3D11_TEX2D_ARRAY_RTV
  type D3D11_TEX2DMS_ARRAY_RTV (line 3607) | typedef struct D3D11_TEX2DMS_ARRAY_RTV
  type D3D11_TEX3D_RTV (line 3613) | typedef struct D3D11_TEX3D_RTV
  type D3D11_RENDER_TARGET_VIEW_DESC (line 3620) | typedef struct D3D11_RENDER_TARGET_VIEW_DESC
  function D3D11_RENDER_TARGET_VIEW_DESC (line 3639) | struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_...
  function explicit (line 3691) | explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  type ID3D11RenderTargetViewVtbl (line 3825) | typedef struct ID3D11RenderTargetViewVtbl
  function interface (line 3884) | interface ID3D11RenderTargetView
  function D3D11_VIEWPORT (line 3940) | struct CD3D11_VIEWPORT : public D3D11_VIEWPORT
  type D3D11_TEX1D_DSV (line 4085) | typedef struct D3D11_TEX1D_DSV
  type D3D11_TEX1D_ARRAY_DSV (line 4090) | typedef struct D3D11_TEX1D_ARRAY_DSV
  type D3D11_TEX2D_DSV (line 4097) | typedef struct D3D11_TEX2D_DSV
  type D3D11_TEX2D_ARRAY_DSV (line 4102) | typedef struct D3D11_TEX2D_ARRAY_DSV
  type D3D11_TEX2DMS_DSV (line 4109) | typedef struct D3D11_TEX2DMS_DSV
  type D3D11_TEX2DMS_ARRAY_DSV (line 4114) | typedef struct D3D11_TEX2DMS_ARRAY_DSV
  type D3D11_DSV_FLAG (line 4120) | typedef
  type D3D11_DEPTH_STENCIL_VIEW_DESC (line 4126) | typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
  function D3D11_DEPTH_STENCIL_VIEW_DESC (line 4144) | struct CD3D11_DEPTH_STENCIL_VIEW_DESC : public D3D11_DEPTH_STENCIL_VIEW_...
  type ID3D11DepthStencilViewVtbl (line 4296) | typedef struct ID3D11DepthStencilViewVtbl
  function interface (line 4355) | interface ID3D11DepthStencilView
  type D3D11_BUFFER_UAV_FLAG (line 4409) | typedef
  type D3D11_BUFFER_UAV (line 4416) | typedef struct D3D11_BUFFER_UAV
  type D3D11_TEX1D_UAV (line 4423) | typedef struct D3D11_TEX1D_UAV
  type D3D11_TEX1D_ARRAY_UAV (line 4428) | typedef struct D3D11_TEX1D_ARRAY_UAV
  type D3D11_TEX2D_UAV (line 4435) | typedef struct D3D11_TEX2D_UAV
  type D3D11_TEX2D_ARRAY_UAV (line 4440) | typedef struct D3D11_TEX2D_ARRAY_UAV
  type D3D11_TEX3D_UAV (line 4447) | typedef struct D3D11_TEX3D_UAV
  type D3D11_UNORDERED_ACCESS_VIEW_DESC (line 4454) | typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
  function D3D11_UNORDERED_ACCESS_VIEW_DESC (line 4471) | struct CD3D11_UNORDERED_ACCESS_VIEW_DESC : public D3D11_UNORDERED_ACCESS...
  type ID3D11UnorderedAccessViewVtbl (line 4647) | typedef struct ID3D11UnorderedAccessViewVtbl
  function interface (line 4706) | interface ID3D11UnorderedAccessView
  type ID3D11VertexShaderVtbl (line 4776) | typedef struct ID3D11VertexShaderVtbl
  function interface (line 4825) | interface ID3D11VertexShader
  type ID3D11HullShaderVtbl (line 4888) | typedef struct ID3D11HullShaderVtbl
  function interface (line 4937) | interface ID3D11HullShader
  type ID3D11DomainShaderVtbl (line 5000) | typedef struct ID3D11DomainShaderVtbl
  function interface (line 5049) | interface ID3D11DomainShader
  type ID3D11GeometryShaderVtbl (line 5112) | typedef struct ID3D11GeometryShaderVtbl
  function interface (line 5161) | interface ID3D11GeometryShader
  type ID3D11PixelShaderVtbl (line 5224) | typedef struct ID3D11PixelShaderVtbl
  function interface (line 5273) | interface ID3D11PixelShader
  type ID3D11ComputeShaderVtbl (line 5336) | typedef struct ID3D11ComputeShaderVtbl
  function interface (line 5385) | interface ID3D11ComputeShader
  type ID3D11InputLayoutVtbl (line 5448) | typedef struct ID3D11InputLayoutVtbl
  function interface (line 5497) | interface ID3D11InputLayout
  type D3D11_FILTER (line 5544) | typedef
  type D3D11_FILTER_TYPE (line 5566) | typedef
  type D3D11_TEXTURE_ADDRESS_MODE (line 5613) | typedef
  type D3D11_SAMPLER_DESC (line 5622) | typedef struct D3D11_SAMPLER_DESC
  function D3D11_SAMPLER_DESC (line 5638) | struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC
  type ID3D11SamplerStateVtbl (line 5722) | typedef struct ID3D11SamplerStateVtbl
  function interface (line 5776) | interface ID3D11SamplerState
  type D3D11_FORMAT_SUPPORT (line 5826) | typedef
  type D3D11_FORMAT_SUPPORT2 (line 5857) | typedef
  type ID3D11AsynchronousVtbl (line 5895) | typedef struct ID3D11AsynchronousVtbl
  function interface (line 5947) | interface ID3D11Asynchronous
  type D3D11_ASYNC_GETDATA_FLAG (line 5997) | typedef
  type D3D11_QUERY (line 6002) | typedef
  type D3D11_QUERY_MISC_FLAG (line 6022) | typedef
  type D3D11_QUERY_DESC (line 6027) | typedef struct D3D11_QUERY_DESC
  function D3D11_QUERY_DESC (line 6035) | struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC
  type ID3D11QueryVtbl (line 6082) | typedef struct ID3D11QueryVtbl
  function interface (line 6139) | interface ID3D11Query
  type ID3D11PredicateVtbl (line 6209) | typedef struct ID3D11PredicateVtbl
  function interface (line 6266) | interface ID3D11Predicate
  type D3D11_QUERY_DATA_TIMESTAMP_DISJOINT (line 6321) | typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
  type D3D11_QUERY_DATA_PIPELINE_STATISTICS (line 6327) | typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS
  type D3D11_QUERY_DATA_SO_STATISTICS (line 6342) | typedef struct D3D11_QUERY_DATA_SO_STATISTICS
  type D3D11_COUNTER (line 6348) | typedef
  type D3D11_COUNTER_TYPE (line 6353) | typedef
  type D3D11_COUNTER_DESC (line 6361) | typedef struct D3D11_COUNTER_DESC
  function D3D11_COUNTER_DESC (line 6369) | struct CD3D11_COUNTER_DESC : public D3D11_COUNTER_DESC
  type D3D11_COUNTER_INFO (line 6388) | typedef struct D3D11_COUNTER_INFO
  type ID3D11CounterVtbl (line 6423) | typedef struct ID3D11CounterVtbl
  function interface (line 6480) | interface ID3D11Counter
  type D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS (line 6534) | typedef
  type D3D11_DEVICE_CONTEXT_TYPE (line 6540) | typedef
  type D3D11_CLASS_INSTANCE_DESC (line 6546) | typedef struct D3D11_CLASS_INSTANCE_DESC
  type ID3D11ClassInstanceVtbl (line 6602) | typedef struct ID3D11ClassInstanceVtbl
  function interface (line 6675) | interface ID3D11ClassInstance
  type ID3D11ClassLinkageVtbl (line 6772) | typedef struct ID3D11ClassLinkageVtbl
  function interface (line 6845) | interface ID3D11ClassLinkage
  type ID3D11CommandListVtbl (line 6916) | typedef struct ID3D11CommandListVtbl
  function interface (line 6968) | interface ID3D11CommandList
  type D3D11_FEATURE (line 7018) | typedef
  type D3D11_FEATURE_DATA_THREADING (line 7027) | typedef struct D3D11_FEATURE_DATA_THREADING
  type D3D11_FEATURE_DATA_DOUBLES (line 7033) | typedef struct D3D11_FEATURE_DATA_DOUBLES
  type D3D11_FEATURE_DATA_FORMAT_SUPPORT (line 7038) | typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT
  type D3D11_FEATURE_DATA_FORMAT_SUPPORT2 (line 7044) | typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2
  type D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS (line 7050) | typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
  type ID3D11DeviceContextVtbl (line 7880) | struct ID3D11DeviceContextVtbl
  type ID3D11DeviceVtbl (line 9521) | struct ID3D11DeviceVtbl
  type HMODULE (line 10089) | typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)( __in_opt IDXGIAdapter*,
  type HMODULE (line 10160) | typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)( __in_o...

FILE: Include/D3D11SDKLayers.h
  type interface (line 53) | typedef interface ID3D11Debug
  type interface (line 59) | typedef interface ID3D11SwitchToRef
  type interface (line 65) | typedef interface ID3D11InfoQueue
  type D3D11_RLDO_FLAGS (line 90) | typedef
  type ID3D11DebugVtbl (line 167) | typedef struct ID3D11DebugVtbl
  function interface (line 224) | interface ID3D11Debug
  type ID3D11SwitchToRefVtbl (line 306) | typedef struct ID3D11SwitchToRefVtbl
  function interface (line 332) | interface ID3D11SwitchToRef
  type D3D11_MESSAGE_CATEGORY (line 372) | typedef
  type D3D11_MESSAGE_SEVERITY (line 386) | typedef
  type D3D11_MESSAGE_ID (line 394) | typedef
  type D3D11_MESSAGE (line 1141) | typedef struct D3D11_MESSAGE
  type D3D11_INFO_QUEUE_FILTER_DESC (line 1150) | typedef struct D3D11_INFO_QUEUE_FILTER_DESC
  type D3D11_INFO_QUEUE_FILTER (line 1160) | typedef struct D3D11_INFO_QUEUE_FILTER
  type ID3D11InfoQueueVtbl (line 1317) | typedef struct ID3D11InfoQueueVtbl
  function interface (line 1497) | interface ID3D11InfoQueue

FILE: Include/D3D11Shader.h
  type D3D11_SHADER_VERSION_TYPE (line 16) | typedef enum D3D11_SHADER_VERSION_TYPE
  type D3D_RESOURCE_RETURN_TYPE (line 35) | typedef D3D_RESOURCE_RETURN_TYPE D3D11_RESOURCE_RETURN_TYPE;
  type D3D_CBUFFER_TYPE (line 37) | typedef D3D_CBUFFER_TYPE D3D11_CBUFFER_TYPE;
  type D3D11_SIGNATURE_PARAMETER_DESC (line 40) | typedef struct _D3D11_SIGNATURE_PARAMETER_DESC
  type D3D11_SHADER_BUFFER_DESC (line 56) | typedef struct _D3D11_SHADER_BUFFER_DESC
  type D3D11_SHADER_VARIABLE_DESC (line 65) | typedef struct _D3D11_SHADER_VARIABLE_DESC
  type D3D11_SHADER_TYPE_DESC (line 78) | typedef struct _D3D11_SHADER_TYPE_DESC
  type D3D_TESSELLATOR_DOMAIN (line 90) | typedef D3D_TESSELLATOR_DOMAIN D3D11_TESSELLATOR_DOMAIN;
  type D3D_TESSELLATOR_PARTITIONING (line 92) | typedef D3D_TESSELLATOR_PARTITIONING D3D11_TESSELLATOR_PARTITIONING;
  type D3D_TESSELLATOR_OUTPUT_PRIMITIVE (line 94) | typedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D11_TESSELLATOR_OUTPUT_PRIMIT...
  type D3D11_SHADER_DESC (line 96) | typedef struct _D3D11_SHADER_DESC
  type D3D11_SHADER_INPUT_BIND_DESC (line 141) | typedef struct _D3D11_SHADER_INPUT_BIND_DESC
  type interface (line 159) | typedef interface ID3D11ShaderReflectionType
  type interface (line 160) | typedef interface ID3D11ShaderReflectionType
  type interface (line 162) | typedef interface ID3D11ShaderReflectionVariable
  type interface (line 163) | typedef interface ID3D11ShaderReflectionVariable
  type interface (line 165) | typedef interface ID3D11ShaderReflectionConstantBuffer
  type interface (line 166) | typedef interface ID3D11ShaderReflectionConstantBuffer
  type interface (line 168) | typedef interface ID3D11ShaderReflection
  type interface (line 169) | typedef interface ID3D11ShaderReflection

FILE: Include/D3Dcommon.h
  type interface (line 45) | typedef interface ID3D10Blob
  type D3D_DRIVER_TYPE (line 61) | typedef
  type D3D_FEATURE_LEVEL (line 71) | typedef
  type D3D_PRIMITIVE_TOPOLOGY (line 81) | typedef
  type D3D_PRIMITIVE (line 179) | typedef
  type D3D_SRV_DIMENSION (line 265) | typedef
  type D3D_SHADER_MACRO (line 314) | typedef struct _D3D_SHADER_MACRO
  type _D3D_SHADER_MACRO (line 320) | struct _D3D_SHADER_MACRO
  type ID3D10BlobVtbl (line 351) | typedef struct ID3D10BlobVtbl
  function interface (line 376) | interface ID3D10Blob
  type interface (line 416) | typedef interface ID3D10Blob* LPD3D10BLOB;
  type ID3D10Blob (line 417) | typedef ID3D10Blob ID3DBlob;
  type ID3DBlob (line 418) | typedef ID3DBlob* LPD3DBLOB;
  type D3D_INCLUDE_TYPE (line 420) | typedef
  type interface (line 429) | typedef interface ID3DInclude
  function DECLARE_INTERFACE (line 432) | DECLARE_INTERFACE(ID3DInclude)
  type ID3DInclude (line 437) | typedef ID3DInclude* LPD3DINCLUDE;
  type D3D_SHADER_VARIABLE_CLASS (line 438) | typedef
  type D3D_SHADER_VARIABLE_FLAGS (line 459) | typedef
  type D3D_SHADER_VARIABLE_TYPE (line 472) | typedef
  type D3D_SHADER_INPUT_FLAGS (line 581) | typedef
  type D3D_SHADER_INPUT_TYPE (line 596) | typedef
  type D3D_SHADER_CBUFFER_FLAGS (line 624) | typedef
  type D3D_CBUFFER_TYPE (line 631) | typedef
  type D3D_NAME (line 645) | typedef
  type D3D_RESOURCE_RETURN_TYPE (line 693) | typedef
  type D3D_REGISTER_COMPONENT_TYPE (line 719) | typedef
  type D3D_TESSELLATOR_DOMAIN (line 731) | typedef
  type D3D_TESSELLATOR_PARTITIONING (line 743) | typedef
  type D3D_TESSELLATOR_OUTPUT_PRIMITIVE (line 757) | typedef

FILE: Include/MinHook.h
  type MH_STATUS (line 38) | typedef enum MH_STATUS

FILE: Include/SST1VID.H
  type FxI32 (line 67) | typedef FxI32 GrScreenRefresh_t;
  type FxI32 (line 79) | typedef FxI32 GrScreenResolution_t;

FILE: Include/TlHelp32.h
  type HEAPLIST32 (line 62) | typedef struct tagHEAPLIST32
  type HEAPLIST32 (line 69) | typedef HEAPLIST32 *  PHEAPLIST32;
  type HEAPLIST32 (line 70) | typedef HEAPLIST32 *  LPHEAPLIST32;
  type HEAPENTRY32 (line 91) | typedef struct tagHEAPENTRY32
  type HEAPENTRY32 (line 103) | typedef HEAPENTRY32 *  PHEAPENTRY32;
  type HEAPENTRY32 (line 104) | typedef HEAPENTRY32 *  LPHEAPENTRY32;
  type PROCESSENTRY32W (line 138) | typedef struct tagPROCESSENTRY32W
  type PROCESSENTRY32W (line 151) | typedef PROCESSENTRY32W *  PPROCESSENTRY32W;
  type PROCESSENTRY32W (line 152) | typedef PROCESSENTRY32W *  LPPROCESSENTRY32W;
  type PROCESSENTRY32 (line 168) | typedef struct tagPROCESSENTRY32
  type PROCESSENTRY32 (line 181) | typedef PROCESSENTRY32 *  PPROCESSENTRY32;
  type PROCESSENTRY32 (line 182) | typedef PROCESSENTRY32 *  LPPROCESSENTRY32;
  type THREADENTRY32 (line 208) | typedef struct tagTHREADENTRY32
  type THREADENTRY32 (line 218) | typedef THREADENTRY32 *  PTHREADENTRY32;
  type THREADENTRY32 (line 219) | typedef THREADENTRY32 *  LPTHREADENTRY32;
  type MODULEENTRY32W (line 237) | typedef struct tagMODULEENTRY32W
  type MODULEENTRY32W (line 250) | typedef MODULEENTRY32W *  PMODULEENTRY32W;
  type MODULEENTRY32W (line 251) | typedef MODULEENTRY32W *  LPMODULEENTRY32W;
  type MODULEENTRY32 (line 268) | typedef struct tagMODULEENTRY32
  type MODULEENTRY32 (line 281) | typedef MODULEENTRY32 *  PMODULEENTRY32;
  type MODULEENTRY32 (line 282) | typedef MODULEENTRY32 *  LPMODULEENTRY32;

FILE: Include/Vfw.h
  type WORD (line 370) | typedef WORD TWOCC;
  type ICOPEN (line 372) | typedef struct {
  type ICCOMPRESS (line 383) | typedef struct {
  type ICCOMPRESSFRAMES (line 397) | typedef struct {
  type ICSETSTATUSPROC (line 415) | typedef struct {
  type ICINFO (line 420) | typedef struct {
  type ICDECOMPRESS (line 431) | typedef struct {
  type ICDECOMPRESSEX (line 439) | typedef struct {
  type ICDRAWSUGGEST (line 454) | typedef struct {
  type ICPALETTE (line 464) | typedef struct {
  type ICDRAWBEGIN (line 470) | typedef struct {
  type ICDRAW (line 487) | typedef struct {
  type COMPVARS (line 494) | typedef struct {
  type MainAVIHeader (line 512) | typedef struct _MainAVIHeader
  type AVIStreamHeader (line 526) | typedef struct {
  type AVIINDEXENTRY (line 542) | typedef struct _AVIINDEXENTRY {
  type AVIPALCHANGE (line 548) | typedef struct _AVIPALCHANGE {
  type AVISTREAMINFOA (line 554) | typedef struct _AVISTREAMINFOA {
  type AVISTREAMINFOW (line 574) | typedef struct _AVISTREAMINFOW {
  type AVIFILEINFOW (line 594) | typedef struct _AVIFILEINFOW {
  type AVIFILEINFOA (line 608) | typedef struct _AVIFILEINFOA {
  type AVICOMPRESSOPTIONS (line 622) | typedef struct _AVICOMPRESSOPTIONS {
  function DWORD (line 966) | static __inline DWORD
  function DWORD (line 973) | static __inline DWORD
  function LRESULT (line 980) | static __inline LRESULT
  function LRESULT (line 993) | static __inline LRESULT
  function LRESULT (line 1002) | static __inline LRESULT
  function LRESULT (line 1021) | static __inline LRESULT
  function LRESULT (line 1040) | static __inline LRESULT

FILE: Include/amstream.h
  type interface (line 48) | typedef interface IDirectShowStream
  type interface (line 54) | typedef interface IAMMultiMediaStream
  type interface (line 60) | typedef interface IAMMediaStream
  type interface (line 66) | typedef interface IMediaStreamFilter
  type interface (line 72) | typedef interface IDirectDrawMediaSampleAllocator
  type interface (line 78) | typedef interface IDirectDrawMediaSample
  type interface (line 84) | typedef interface IAMMediaTypeStream
  type interface (line 90) | typedef interface IAMMediaTypeSample
  type class (line 98) | typedef class AMMultiMediaStream
  type AMMultiMediaStream (line 100) | typedef struct AMMultiMediaStream AMMultiMediaStream;
  type __MIDL___MIDL_itf_amstream_0000_0001 (line 134) | enum __MIDL___MIDL_itf_amstream_0000_0001
  type __MIDL___MIDL_itf_amstream_0000_0002 (line 138) | enum __MIDL___MIDL_itf_amstream_0000_0002
  type __MIDL___MIDL_itf_amstream_0000_0003 (line 145) | enum __MIDL___MIDL_itf_amstream_0000_0003
  type OUTPUT_STATE (line 153) | typedef /* [public][public][public][public][public][v1_enum] */
  type IDirectShowStreamVtbl (line 202) | typedef struct IDirectShowStreamVtbl
  function interface (line 273) | interface IDirectShowStream
  type IAMMultiMediaStreamVtbl (line 455) | typedef struct IAMMultiMediaStreamVtbl
  function interface (line 548) | interface IAMMultiMediaStream
  type IAMMediaStreamVtbl (line 757) | typedef struct IAMMediaStreamVtbl
  function interface (line 827) | interface IAMMediaStream
  type IMediaStreamFilterVtbl (line 1002) | typedef struct IMediaStreamFilterVtbl
  function interface (line 1106) | interface IMediaStreamFilter
  type IDirectDrawMediaSampleAllocatorVtbl (line 1334) | typedef struct IDirectDrawMediaSampleAllocatorVtbl
  function interface (line 1356) | interface IDirectDrawMediaSampleAllocator
  type IDirectDrawMediaSampleVtbl (line 1427) | typedef struct IDirectDrawMediaSampleVtbl
  function interface (line 1453) | interface IDirectDrawMediaSample
  type IAMMediaTypeStreamVtbl (line 1554) | typedef struct IAMMediaTypeStreamVtbl
  function interface (line 1627) | interface IAMMediaTypeStream
  type IAMMediaTypeSampleVtbl (line 1828) | typedef struct IAMMediaTypeSampleVtbl
  function interface (line 1941) | interface IAMMediaTypeSample

FILE: Include/d3d.h
  type IDirect3D (line 105) | struct IDirect3D
  type IDirect3DDevice (line 106) | struct IDirect3DDevice
  type IDirect3DLight (line 107) | struct IDirect3DLight
  type IDirect3DMaterial (line 108) | struct IDirect3DMaterial
  type IDirect3DExecuteBuffer (line 109) | struct IDirect3DExecuteBuffer
  type IDirect3DTexture (line 110) | struct IDirect3DTexture
  type IDirect3DViewport (line 111) | struct IDirect3DViewport
  type IDirect3D (line 112) | struct IDirect3D
  type IDirect3DDevice (line 113) | struct IDirect3DDevice
  type IDirect3DExecuteBuffer (line 114) | struct IDirect3DExecuteBuffer
  type IDirect3DLight (line 115) | struct IDirect3DLight
  type IDirect3DMaterial (line 116) | struct IDirect3DMaterial
  type IDirect3DTexture (line 117) | struct IDirect3DTexture
  type IDirect3DViewport (line 118) | struct IDirect3DViewport
  type IDirect3D2 (line 121) | struct IDirect3D2
  type IDirect3DDevice2 (line 122) | struct IDirect3DDevice2
  type IDirect3DMaterial2 (line 123) | struct IDirect3DMaterial2
  type IDirect3DTexture2 (line 124) | struct IDirect3DTexture2
  type IDirect3DViewport2 (line 125) | struct IDirect3DViewport2
  type IDirect3D2 (line 126) | struct IDirect3D2
  type IDirect3DDevice2 (line 127) | struct IDirect3DDevice2
  type IDirect3DMaterial2 (line 128) | struct IDirect3DMaterial2
  type IDirect3DTexture2 (line 129) | struct IDirect3DTexture2
  type IDirect3DViewport2 (line 130) | struct IDirect3DViewport2
  type IDirect3D3 (line 134) | struct IDirect3D3
  type IDirect3DDevice3 (line 135) | struct IDirect3DDevice3
  type IDirect3DMaterial3 (line 136) | struct IDirect3DMaterial3
  type IDirect3DViewport3 (line 137) | struct IDirect3DViewport3
  type IDirect3DVertexBuffer (line 138) | struct IDirect3DVertexBuffer
  type IDirect3D3 (line 139) | struct IDirect3D3
  type IDirect3DDevice3 (line 140) | struct IDirect3DDevice3
  type IDirect3DMaterial3 (line 141) | struct IDirect3DMaterial3
  type IDirect3DViewport3 (line 142) | struct IDirect3DViewport3
  type IDirect3DVertexBuffer (line 143) | struct IDirect3DVertexBuffer
  type IDirect3D7 (line 147) | struct IDirect3D7
  type IDirect3DDevice7 (line 148) | struct IDirect3DDevice7
  type IDirect3DVertexBuffer7 (line 149) | struct IDirect3DVertexBuffer7
  type IDirect3D7 (line 150) | struct IDirect3D7
  type IDirect3DDevice7 (line 151) | struct IDirect3DDevice7
  type IDirect3DVertexBuffer7 (line 152) | struct IDirect3DVertexBuffer7
  type IDirect3D (line 157) | struct IDirect3D
  type IDirect3DDevice (line 158) | struct IDirect3DDevice
  type IDirect3DExecuteBuffer (line 159) | struct IDirect3DExecuteBuffer
  type IDirect3DLight (line 160) | struct IDirect3DLight
  type IDirect3DMaterial (line 161) | struct IDirect3DMaterial
  type IDirect3DTexture (line 162) | struct IDirect3DTexture
  type IDirect3DViewport (line 163) | struct IDirect3DViewport
  type IDirect3D2 (line 166) | struct IDirect3D2
  type IDirect3DDevice2 (line 167) | struct IDirect3DDevice2
  type IDirect3DMaterial2 (line 168) | struct IDirect3DMaterial2
  type IDirect3DTexture2 (line 169) | struct IDirect3DTexture2
  type IDirect3DViewport2 (line 170) | struct IDirect3DViewport2
  type IDirect3D3 (line 174) | struct IDirect3D3
  type IDirect3DDevice3 (line 175) | struct IDirect3DDevice3
  type IDirect3DMaterial3 (line 176) | struct IDirect3DMaterial3
  type IDirect3DViewport3 (line 177) | struct IDirect3DViewport3
  type IDirect3DVertexBuffer (line 178) | struct IDirect3DVertexBuffer
  type IDirect3D7 (line 182) | struct IDirect3D7
  type IDirect3DDevice7 (line 183) | struct IDirect3DDevice7
  type IDirect3DVertexBuffer7 (line 184) | struct IDirect3DVertexBuffer7
  type IDirect3D2 (line 263) | struct IDirect3D2
  type IDirect3DDevice (line 418) | struct IDirect3DDevice
  type IDirect3DDevice3 (line 638) | struct IDirect3DDevice3

FILE: Include/d3d10misc.h
  type D3D10_DRIVER_TYPE (line 31) | typedef enum D3D10_DRIVER_TYPE

FILE: Include/d3d10sdklayers.h
  type interface (line 53) | typedef interface ID3D10Debug
  type interface (line 59) | typedef interface ID3D10SwitchToRef
  type interface (line 65) | typedef interface ID3D10InfoQueue
  type ID3D10DebugVtbl (line 134) | typedef struct ID3D10DebugVtbl
  function interface (line 180) | interface ID3D10Debug
  type ID3D10SwitchToRefVtbl (line 256) | typedef struct ID3D10SwitchToRefVtbl
  function interface (line 282) | interface ID3D10SwitchToRef
  type D3D10_MESSAGE_CATEGORY (line 322) | typedef
  type D3D10_MESSAGE_SEVERITY (line 336) | typedef
  type D3D10_MESSAGE_ID (line 344) | typedef
  type D3D10_MESSAGE (line 833) | typedef struct D3D10_MESSAGE
  type D3D10_INFO_QUEUE_FILTER_DESC (line 842) | typedef struct D3D10_INFO_QUEUE_FILTER_DESC
  type D3D10_INFO_QUEUE_FILTER (line 852) | typedef struct D3D10_INFO_QUEUE_FILTER
  type ID3D10InfoQueueVtbl (line 1009) | typedef struct ID3D10InfoQueueVtbl
  function interface (line 1189) | interface ID3D10InfoQueue

FILE: Include/d3d8.h
  type interface (line 121) | typedef interface IDirect3D8
  type interface (line 122) | typedef interface IDirect3DDevice8
  type interface (line 123) | typedef interface IDirect3DResource8
  type interface (line 124) | typedef interface IDirect3DBaseTexture8
  type interface (line 125) | typedef interface IDirect3DTexture8
  type interface (line 126) | typedef interface IDirect3DVolumeTexture8
  type interface (line 127) | typedef interface IDirect3DCubeTexture8
  type interface (line 128) | typedef interface IDirect3DVertexBuffer8
  type interface (line 129) | typedef interface IDirect3DIndexBuffer8
  type interface (line 130) | typedef interface IDirect3DSurface8
  type interface (line 131) | typedef interface IDirect3DVolume8
  type interface (line 132) | typedef interface IDirect3DSwapChain8
  type IDirect3DDevice8 (line 351) | struct IDirect3DDevice8
  type IDirect3DVolumeTexture8 (line 806) | struct IDirect3DVolumeTexture8

FILE: Include/d3d8caps.h
  type D3DCAPS8 (line 24) | typedef struct _D3DCAPS8

FILE: Include/d3d8types.h
  type DWORD (line 32) | typedef DWORD D3DCOLOR;
  type D3DVECTOR (line 48) | typedef struct _D3DVECTOR {
  type D3DCOLORVALUE (line 57) | typedef struct _D3DCOLORVALUE {
  type D3DRECT (line 67) | typedef struct _D3DRECT {
  type D3DMATRIX (line 77) | typedef struct _D3DMATRIX {
  type D3DVIEWPORT8 (line 92) | typedef struct _D3DVIEWPORT8 {
  type D3DCLIPSTATUS8 (line 147) | typedef struct _D3DCLIPSTATUS8 {
  type D3DMATERIAL8 (line 152) | typedef struct _D3DMATERIAL8 {
  type D3DLIGHTTYPE (line 160) | typedef enum _D3DLIGHTTYPE {
  type D3DLIGHT8 (line 167) | typedef struct _D3DLIGHT8 {
  type D3DSHADEMODE (line 194) | typedef enum _D3DSHADEMODE {
  type D3DFILLMODE (line 201) | typedef enum _D3DFILLMODE {
  type D3DLINEPATTERN (line 208) | typedef struct _D3DLINEPATTERN {
  type D3DBLEND (line 213) | typedef enum _D3DBLEND {
  type D3DBLENDOP (line 230) | typedef enum _D3DBLENDOP {
  type D3DTEXTUREADDRESS (line 239) | typedef enum _D3DTEXTUREADDRESS {
  type D3DCULL (line 248) | typedef enum _D3DCULL {
  type D3DCMPFUNC (line 255) | typedef enum _D3DCMPFUNC {
  type D3DSTENCILOP (line 267) | typedef enum _D3DSTENCILOP {
  type D3DFOGMODE (line 279) | typedef enum _D3DFOGMODE {
  type D3DZBUFFERTYPE (line 287) | typedef enum _D3DZBUFFERTYPE {
  type D3DPRIMITIVETYPE (line 295) | typedef enum _D3DPRIMITIVETYPE {
  type D3DTRANSFORMSTATETYPE (line 305) | typedef enum _D3DTRANSFORMSTATETYPE {
  type D3DRENDERSTATETYPE (line 325) | typedef enum _D3DRENDERSTATETYPE {
  type D3DMATERIALCOLORSOURCE (line 407) | typedef enum _D3DMATERIALCOLORSOURCE
  type D3DTEXTURESTAGESTATETYPE (line 438) | typedef enum _D3DTEXTURESTAGESTATETYPE
  type D3DTEXTUREOP (line 483) | typedef enum _D3DTEXTUREOP
  type D3DTEXTUREFILTERTYPE (line 559) | typedef enum _D3DTEXTUREFILTERTYPE
  type D3DVSD_TOKENTYPE (line 722) | typedef enum _D3DVSD_TOKENTYPE
  type D3DSHADER_INSTRUCTION_OPCODE_TYPE (line 878) | typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
  type D3DSHADER_PARAM_DSTMOD_TYPE (line 963) | typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE
  type D3DSHADER_PARAM_REGISTER_TYPE (line 978) | typedef enum _D3DSHADER_PARAM_REGISTER_TYPE
  type D3DVS_RASTOUT_OFFSETS (line 993) | typedef enum _D3DVS_RASTOUT_OFFSETS
  type D3DVS_ADDRESSMODE_TYPE (line 1006) | typedef enum _D3DVS_ADDRESSMODE_TYPE
  type D3DSHADER_PARAM_SRCMOD_TYPE (line 1090) | typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE
  type D3DBASISTYPE (line 1130) | typedef enum _D3DBASISTYPE
  type D3DORDERTYPE (line 1138) | typedef enum _D3DORDERTYPE
  type D3DPATCHEDGESTYLE (line 1147) | typedef enum _D3DPATCHEDGESTYLE
  type D3DSTATEBLOCKTYPE (line 1154) | typedef enum _D3DSTATEBLOCKTYPE
  type D3DVERTEXBLENDFLAGS (line 1164) | typedef enum _D3DVERTEXBLENDFLAGS
  type D3DTEXTURETRANSFORMFLAGS (line 1175) | typedef enum _D3DTEXTURETRANSFORMFLAGS {
  type D3DDEVTYPE (line 1201) | typedef enum _D3DDEVTYPE
  type D3DMULTISAMPLE_TYPE (line 1211) | typedef enum _D3DMULTISAMPLE_TYPE
  type D3DFORMAT (line 1268) | typedef enum _D3DFORMAT
  type D3DDISPLAYMODE (line 1326) | typedef struct _D3DDISPLAYMODE
  type D3DDEVICE_CREATION_PARAMETERS (line 1335) | typedef struct _D3DDEVICE_CREATION_PARAMETERS
  type D3DSWAPEFFECT (line 1345) | typedef enum _D3DSWAPEFFECT
  type D3DPOOL (line 1356) | typedef enum _D3DPOOL {
  type D3DPRESENT_PARAMETERS (line 1372) | typedef struct _D3DPRESENT_PARAMETERS_
  type D3DGAMMARAMP (line 1401) | typedef struct _D3DGAMMARAMP
  type D3DBACKBUFFER_TYPE (line 1409) | typedef enum _D3DBACKBUFFER_TYPE
  type D3DRESOURCETYPE (line 1420) | typedef enum _D3DRESOURCETYPE {
  type D3DCUBEMAP_FACES (line 1455) | typedef enum _D3DCUBEMAP_FACES
  type D3DVERTEXBUFFER_DESC (line 1483) | typedef struct _D3DVERTEXBUFFER_DESC
  type D3DINDEXBUFFER_DESC (line 1496) | typedef struct _D3DINDEXBUFFER_DESC
  type D3DSURFACE_DESC (line 1507) | typedef struct _D3DSURFACE_DESC
  type D3DVOLUME_DESC (line 1520) | typedef struct _D3DVOLUME_DESC
  type D3DLOCKED_RECT (line 1534) | typedef struct _D3DLOCKED_RECT
  type D3DBOX (line 1541) | typedef struct _D3DBOX
  type D3DLOCKED_BOX (line 1551) | typedef struct _D3DLOCKED_BOX
  type D3DRANGE (line 1559) | typedef struct _D3DRANGE
  type D3DRECTPATCH_INFO (line 1566) | typedef struct _D3DRECTPATCH_INFO
  type D3DTRIPATCH_INFO (line 1577) | typedef struct _D3DTRIPATCH_INFO
  type D3DADAPTER_IDENTIFIER8 (line 1588) | typedef struct _D3DADAPTER_IDENTIFIER8
  type D3DRASTER_STATUS (line 1613) | typedef struct _D3DRASTER_STATUS
  type D3DDEBUGMONITORTOKENS (line 1633) | typedef enum _D3DDEBUGMONITORTOKENS {
  type D3DRESOURCESTATS (line 1644) | typedef struct _D3DRESOURCESTATS
  type D3DDEVINFO_RESOURCEMANAGER (line 1663) | typedef struct _D3DDEVINFO_RESOURCEMANAGER
  type D3DDEVINFO_D3DVERTEXSTATS (line 1668) | typedef struct _D3DDEVINFO_D3DVERTEXSTATS

FILE: Include/d3d9.h
  type interface (line 256) | typedef interface IDirect3D9
  type interface (line 257) | typedef interface IDirect3DDevice9
  type interface (line 258) | typedef interface IDirect3DStateBlock9
  type interface (line 259) | typedef interface IDirect3DVertexDeclaration9
  type interface (line 260) | typedef interface IDirect3DVertexShader9
  type interface (line 261) | typedef interface IDirect3DPixelShader9
  type interface (line 262) | typedef interface IDirect3DResource9
  type interface (line 263) | typedef interface IDirect3DBaseTexture9
  type interface (line 264) | typedef interface IDirect3DTexture9
  type interface (line 265) | typedef interface IDirect3DVolumeTexture9
  type interface (line 266) | typedef interface IDirect3DCubeTexture9
  type interface (line 267) | typedef interface IDirect3DVertexBuffer9
  type interface (line 268) | typedef interface IDirect3DIndexBuffer9
  type interface (line 269) | typedef interface IDirect3DSurface9
  type interface (line 270) | typedef interface IDirect3DVolume9
  type interface (line 271) | typedef interface IDirect3DSwapChain9
  type interface (line 272) | typedef interface IDirect3DQuery9
  type interface (line 279) | typedef interface IDirect3D9Ex
  type interface (line 280) | typedef interface IDirect3DDevice9Ex
  type interface (line 281) | typedef interface IDirect3DSwapChain9Ex
  type interface (line 282) | typedef interface IDirect3D9ExOverlayExtension
  type interface (line 283) | typedef interface IDirect3DDevice9Video
  type interface (line 284) | typedef interface IDirect3DAuthenticatedChannel9
  type interface (line 285) | typedef interface IDirect3DCryptoSession9
  type IDirect3D9 (line 361) | struct IDirect3D9
  type IDirect3DDevice9 (line 587) | struct IDirect3DDevice9
  type IDirect3DStateBlock9 (line 855) | struct IDirect3DStateBlock9
  type IDirect3DSwapChain9 (line 902) | struct IDirect3DSwapChain9
  type IDirect3DVertexShader9 (line 1040) | struct IDirect3DVertexShader9
  type IDirect3DPixelShader9 (line 1079) | struct IDirect3DPixelShader9
  type IDirect3DTexture9 (line 1216) | struct IDirect3DTexture9
  type IDirect3DDevice9Ex (line 2279) | struct IDirect3DDevice9Ex
  type IDirect3DCryptoSession9 (line 2751) | struct IDirect3DCryptoSession9

FILE: Include/d3d9.wine.h
  type IDirect3D9 (line 118) | struct IDirect3D9
  type IDirect3D9Ex (line 121) | struct IDirect3D9Ex
  type IDirect3DDevice9 (line 124) | struct IDirect3DDevice9
  type IDirect3DDevice9Ex (line 127) | struct IDirect3DDevice9Ex
  type IDirect3DResource9 (line 130) | struct IDirect3DResource9
  type IDirect3DVertexBuffer9 (line 133) | struct IDirect3DVertexBuffer9
  type IDirect3DVolume9 (line 136) | struct IDirect3DVolume9
  type IDirect3DSwapChain9 (line 139) | struct IDirect3DSwapChain9
  type IDirect3DSwapChain9Ex (line 142) | struct IDirect3DSwapChain9Ex
  type IDirect3DSurface9 (line 145) | struct IDirect3DSurface9
  type IDirect3DIndexBuffer9 (line 148) | struct IDirect3DIndexBuffer9
  type IDirect3DBaseTexture9 (line 151) | struct IDirect3DBaseTexture9
  type IDirect3DTexture9 (line 154) | struct IDirect3DTexture9
  type IDirect3DCubeTexture9 (line 157) | struct IDirect3DCubeTexture9
  type IDirect3DVolumeTexture9 (line 160) | struct IDirect3DVolumeTexture9
  type IDirect3DVertexDeclaration9 (line 163) | struct IDirect3DVertexDeclaration9
  type IDirect3DVertexShader9 (line 166) | struct IDirect3DVertexShader9
  type IDirect3DPixelShader9 (line 169) | struct IDirect3DPixelShader9
  type IDirect3DStateBlock9 (line 172) | struct IDirect3DStateBlock9
  type IDirect3DQuery9 (line 175) | struct IDirect3DQuery9
  type IDirect3DDevice9 (line 202) | struct IDirect3DDevice9

FILE: Include/d3d9caps.h
  type D3DVSHADERCAPS2_0 (line 24) | typedef struct _D3DVSHADERCAPS2_0
  type D3DPSHADERCAPS2_0 (line 41) | typedef struct _D3DPSHADERCAPS2_0
  type D3DOVERLAYCAPS (line 71) | typedef struct _D3DOVERLAYCAPS
  type D3DCONTENTPROTECTIONCAPS (line 88) | typedef struct _D3DCONTENTPROTECTIONCAPS
  type D3DCAPS9 (line 121) | typedef struct _D3DCAPS9

FILE: Include/d3d9types.h
  type DWORD (line 32) | typedef DWORD D3DCOLOR;
  type D3DVECTOR (line 51) | typedef struct _D3DVECTOR {
  type D3DCOLORVALUE (line 60) | typedef struct _D3DCOLORVALUE {
  type D3DRECT (line 70) | typedef struct _D3DRECT {
  type D3DMATRIX (line 80) | typedef struct _D3DMATRIX {
  type D3DVIEWPORT9 (line 95) | typedef struct _D3DVIEWPORT9 {
  type D3DCLIPSTATUS9 (line 150) | typedef struct _D3DCLIPSTATUS9 {
  type D3DMATERIAL9 (line 155) | typedef struct _D3DMATERIAL9 {
  type D3DLIGHTTYPE (line 163) | typedef enum _D3DLIGHTTYPE {
  type D3DLIGHT9 (line 170) | typedef struct _D3DLIGHT9 {
  type D3DSHADEMODE (line 197) | typedef enum _D3DSHADEMODE {
  type D3DFILLMODE (line 204) | typedef enum _D3DFILLMODE {
  type D3DBLEND (line 211) | typedef enum _D3DBLEND {
  type D3DBLENDOP (line 238) | typedef enum _D3DBLENDOP {
  type D3DTEXTUREADDRESS (line 247) | typedef enum _D3DTEXTUREADDRESS {
  type D3DCULL (line 256) | typedef enum _D3DCULL {
  type D3DCMPFUNC (line 263) | typedef enum _D3DCMPFUNC {
  type D3DSTENCILOP (line 275) | typedef enum _D3DSTENCILOP {
  type D3DFOGMODE (line 287) | typedef enum _D3DFOGMODE {
  type D3DZBUFFERTYPE (line 295) | typedef enum _D3DZBUFFERTYPE {
  type D3DPRIMITIVETYPE (line 303) | typedef enum _D3DPRIMITIVETYPE {
  type D3DTRANSFORMSTATETYPE (line 313) | typedef enum _D3DTRANSFORMSTATETYPE {
  type D3DRENDERSTATETYPE (line 333) | typedef enum _D3DRENDERSTATETYPE {
  type D3DMATERIALCOLORSOURCE (line 446) | typedef enum _D3DMATERIALCOLORSOURCE
  type D3DTEXTURESTAGESTATETYPE (line 478) | typedef enum _D3DTEXTURESTAGESTATETYPE
  type D3DSAMPLERSTATETYPE (line 506) | typedef enum _D3DSAMPLERSTATETYPE
  type D3DTEXTUREOP (line 551) | typedef enum _D3DTEXTUREOP
  type D3DTEXTUREFILTERTYPE (line 628) | typedef enum _D3DTEXTUREFILTERTYPE
  type D3DDECLUSAGE (line 695) | typedef enum _D3DDECLUSAGE
  type D3DDECLMETHOD (line 717) | typedef enum _D3DDECLMETHOD
  type D3DDECLTYPE (line 732) | typedef enum _D3DDECLTYPE
  type D3DVERTEXELEMENT9 (line 761) | typedef struct _D3DVERTEXELEMENT9
  type D3DSHADER_INSTRUCTION_OPCODE_TYPE (line 802) | typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
  type D3DSHADER_COMPARISON (line 919) | typedef enum _D3DSHADER_COMPARISON
  type D3DSAMPLER_TEXTURE_TYPE (line 954) | typedef enum _D3DSAMPLER_TEXTURE_TYPE
  type D3DSHADER_PARAM_REGISTER_TYPE (line 1000) | typedef enum _D3DSHADER_PARAM_REGISTER_TYPE
  type D3DSHADER_MISCTYPE_OFFSETS (line 1033) | typedef enum _D3DSHADER_MISCTYPE_OFFSETS
  type D3DVS_RASTOUT_OFFSETS (line 1041) | typedef enum _D3DVS_RASTOUT_OFFSETS
  type D3DVS_ADDRESSMODE_TYPE (line 1054) | typedef enum _D3DVS_ADDRESSMODE_TYPE
  type D3DSHADER_ADDRESSMODE_TYPE (line 1064) | typedef enum _D3DSHADER_ADDRESSMODE_TYPE
  type D3DSHADER_PARAM_SRCMOD_TYPE (line 1148) | typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE
  type D3DBASISTYPE (line 1192) | typedef enum _D3DBASISTYPE
  type D3DDEGREETYPE (line 1200) | typedef enum _D3DDEGREETYPE
  type D3DPATCHEDGESTYLE (line 1209) | typedef enum _D3DPATCHEDGESTYLE
  type D3DSTATEBLOCKTYPE (line 1216) | typedef enum _D3DSTATEBLOCKTYPE
  type D3DVERTEXBLENDFLAGS (line 1226) | typedef enum _D3DVERTEXBLENDFLAGS
  type D3DTEXTURETRANSFORMFLAGS (line 1237) | typedef enum _D3DTEXTURETRANSFORMFLAGS {
  type D3DDEVTYPE (line 1263) | typedef enum _D3DDEVTYPE
  type D3DMULTISAMPLE_TYPE (line 1275) | typedef enum _D3DMULTISAMPLE_TYPE
  type D3DFORMAT (line 1338) | typedef enum _D3DFORMAT
  type D3DDISPLAYMODE (line 1451) | typedef struct _D3DDISPLAYMODE
  type D3DDEVICE_CREATION_PARAMETERS (line 1460) | typedef struct _D3DDEVICE_CREATION_PARAMETERS
  type D3DSWAPEFFECT (line 1470) | typedef enum _D3DSWAPEFFECT
  type D3DPOOL (line 1487) | typedef enum _D3DPOOL {
  type D3DPRESENT_PARAMETERS (line 1502) | typedef struct _D3DPRESENT_PARAMETERS_
  type D3DGAMMARAMP (line 1547) | typedef struct _D3DGAMMARAMP
  type D3DBACKBUFFER_TYPE (line 1555) | typedef enum _D3DBACKBUFFER_TYPE
  type D3DRESOURCETYPE (line 1566) | typedef enum _D3DRESOURCETYPE {
  type D3DCUBEMAP_FACES (line 1643) | typedef enum _D3DCUBEMAP_FACES
  type D3DVERTEXBUFFER_DESC (line 1673) | typedef struct _D3DVERTEXBUFFER_DESC
  type D3DINDEXBUFFER_DESC (line 1686) | typedef struct _D3DINDEXBUFFER_DESC
  type D3DSURFACE_DESC (line 1697) | typedef struct _D3DSURFACE_DESC
  type D3DVOLUME_DESC (line 1710) | typedef struct _D3DVOLUME_DESC
  type D3DLOCKED_RECT (line 1723) | typedef struct _D3DLOCKED_RECT
  type D3DBOX (line 1730) | typedef struct _D3DBOX
  type D3DLOCKED_BOX (line 1740) | typedef struct _D3DLOCKED_BOX
  type D3DRANGE (line 1748) | typedef struct _D3DRANGE
  type D3DRECTPATCH_INFO (line 1755) | typedef struct _D3DRECTPATCH_INFO
  type D3DTRIPATCH_INFO (line 1766) | typedef struct _D3DTRIPATCH_INFO
  type D3DADAPTER_IDENTIFIER9 (line 1777) | typedef struct _D3DADAPTER_IDENTIFIER9
  type D3DRASTER_STATUS (line 1803) | typedef struct _D3DRASTER_STATUS
  type D3DDEBUGMONITORTOKENS (line 1823) | typedef enum _D3DDEBUGMONITORTOKENS {
  type D3DQUERYTYPE (line 1831) | typedef enum _D3DQUERYTYPE {
  type D3DRESOURCESTATS (line 1861) | typedef struct _D3DRESOURCESTATS
  type D3DDEVINFO_RESOURCEMANAGER (line 1880) | typedef struct _D3DDEVINFO_RESOURCEMANAGER
  type D3DDEVINFO_D3DVERTEXSTATS (line 1889) | typedef struct _D3DDEVINFO_D3DVERTEXSTATS
  type D3DDEVINFO_VCACHE (line 1896) | typedef struct _D3DDEVINFO_VCACHE {
  type D3DDEVINFO_D3D9PIPELINETIMINGS (line 1903) | typedef struct _D3DDEVINFO_D3D9PIPELINETIMINGS
  type D3DDEVINFO_D3D9INTERFACETIMINGS (line 1911) | typedef struct _D3DDEVINFO_D3D9INTERFACETIMINGS
  type D3DDEVINFO_D3D9STAGETIMINGS (line 1920) | typedef struct _D3DDEVINFO_D3D9STAGETIMINGS
  type D3DDEVINFO_D3D9BANDWIDTHTIMINGS (line 1926) | typedef struct _D3DDEVINFO_D3D9BANDWIDTHTIMINGS
  type D3DDEVINFO_D3D9CACHEUTILIZATION (line 1935) | typedef struct _D3DDEVINFO_D3D9CACHEUTILIZATION
  type D3DMEMORYPRESSURE (line 1944) | typedef struct _D3DMEMORYPRESSURE
  type D3DCOMPOSERECTSOP (line 1951) | typedef enum _D3DCOMPOSERECTSOP{
  type D3DCOMPOSERECTDESC (line 1959) | typedef struct _D3DCOMPOSERECTDESC
  type D3DCOMPOSERECTDESTINATION (line 1965) | typedef struct _D3DCOMPOSERECTDESTINATION
  type D3DPRESENTSTATS (line 1979) | typedef struct _D3DPRESENTSTATS {
  type D3DSCANLINEORDERING (line 1987) | typedef enum D3DSCANLINEORDERING
  type D3DDISPLAYMODEEX (line 1995) | typedef struct D3DDISPLAYMODEEX
  type D3DDISPLAYMODEFILTER (line 2005) | typedef struct D3DDISPLAYMODEFILTER
  type D3DDISPLAYROTATION (line 2013) | typedef enum D3DDISPLAYROTATION
  type D3D_OMAC (line 2030) | typedef struct _D3D_OMAC
  type D3DAUTHENTICATEDCHANNELTYPE (line 2035) | typedef enum _D3DAUTHENTICATEDCHANNELTYPE
  type D3DAUTHENTICATEDCHANNEL_QUERY_INPUT (line 2042) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERY_INPUT
  type D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT (line 2049) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS (line 2061) | typedef struct _D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS
  type D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT (line 2076) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT (line 2088) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT (line 2100) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT (line 2112) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT (line 2120) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESSCOUNT_OUTPUT (line 2134) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPRO...
  type D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_INPUT (line 2146) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPRO...
  type D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE (line 2154) | typedef enum _D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE
  type D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_OUTPUT (line 2161) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPRO...
  type D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT_OUTPUT (line 2175) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHARED...
  type D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT (line 2187) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT (line 2196) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT (line 2210) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT (line 2220) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT
  type D3DBUSTYPE (line 2235) | typedef enum _D3DBUSTYPE
  type D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT (line 2250) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT_OUTPUT (line 2264) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT...
  type D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT (line 2276) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT (line 2284) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL_OUTPUT (line 2297) | typedef struct _D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL...
  type D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT (line 2306) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT
  type D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT (line 2315) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT
  type D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE (line 2328) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE
  type D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION (line 2341) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION
  type D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION (line 2353) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION
  type D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE (line 2367) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE
  type D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION (line 2381) | typedef struct _D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION
  type D3DENCRYPTED_BLOCK_INFO (line 2389) | typedef struct _D3DENCRYPTED_BLOCK_INFO
  type D3DAES_CTR_IV (line 2396) | typedef struct _D3DAES_CTR_IV

FILE: Include/d3dcaps.h
  type D3DTRANSFORMCAPS (line 28) | typedef struct _D3DTRANSFORMCAPS {
  type D3DLIGHTINGCAPS (line 37) | typedef struct _D3DLIGHTINGCAPS {
  type D3DPRIMCAPS (line 59) | typedef struct _D3DPrimCaps {
  type D3DDEVICEDESC (line 341) | typedef struct _D3DDeviceDesc {
  type D3DDEVICEDESC7 (line 390) | typedef struct _D3DDeviceDesc7 {
  type LPD3DDEVICEDESC (line 436) | typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK)(GUID FAR *lpGuid, ...
  type LPD3DDEVICEDESC7 (line 439) | typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDes...
  type D3DFINDDEVICESEARCH (line 524) | typedef struct _D3DFINDDEVICESEARCH {
  type D3DFINDDEVICERESULT (line 534) | typedef struct _D3DFINDDEVICERESULT {
  type D3DEXECUTEBUFFERDESC (line 544) | typedef struct _D3DExecuteBufferDesc {
  type D3DDEVINFO_TEXTUREMANAGER (line 567) | typedef struct _D3DDEVINFO_TEXTUREMANAGER {
  type D3DDEVINFO_TEXTURING (line 581) | typedef struct _D3DDEVINFO_TEXTURING {

FILE: Include/d3dtypes.h
  type D3DVALUE (line 47) | typedef float D3DVALUE, *LPD3DVALUE;
  type LONG (line 54) | typedef LONG D3DFIXED;
  type DWORD (line 137) | typedef DWORD D3DCOLOR;
  type DWORD (line 140) | typedef DWORD *LPD3DCOLOR;
  type DWORD (line 144) | typedef DWORD D3DMATERIALHANDLE, *LPD3DMATERIALHANDLE;
  type DWORD (line 145) | typedef DWORD D3DTEXTUREHANDLE, *LPD3DTEXTUREHANDLE;
  type DWORD (line 146) | typedef DWORD D3DMATRIXHANDLE, *LPD3DMATRIXHANDLE;
  type D3DCOLORVALUE (line 149) | typedef struct _D3DCOLORVALUE {
  type _D3DCOLORVALUE (line 169) | struct _D3DCOLORVALUE
  type D3DRECT (line 172) | typedef struct _D3DRECT {
  type _D3DRECT (line 192) | struct _D3DRECT
  type D3DVECTOR (line 204) | typedef struct _D3DVECTOR {
  type _D3DVECTOR (line 303) | struct _D3DVECTOR
  type D3DHVERTEX (line 322) | typedef struct _D3DHVERTEX {
  type D3DTLVERTEX (line 341) | typedef struct _D3DTLVERTEX {
  type D3DLVERTEX (line 391) | typedef struct _D3DLVERTEX {
  type D3DVERTEX (line 439) | typedef struct _D3DVERTEX {

FILE: Include/ddraw.h
  type IDirectDraw (line 113) | struct IDirectDraw
  type IDirectDrawSurface (line 114) | struct IDirectDrawSurface
  type IDirectDrawPalette (line 115) | struct IDirectDrawPalette
  type IDirectDrawClipper (line 116) | struct IDirectDrawClipper
  type IDirectDraw (line 118) | struct IDirectDraw
  type IDirectDraw2 (line 119) | struct IDirectDraw2
  type IDirectDraw4 (line 120) | struct IDirectDraw4
  type IDirectDraw7 (line 121) | struct IDirectDraw7
  type IDirectDrawSurface (line 122) | struct IDirectDrawSurface
  type IDirectDrawSurface2 (line 123) | struct IDirectDrawSurface2
  type IDirectDrawSurface3 (line 124) | struct IDirectDrawSurface3
  type IDirectDrawSurface4 (line 125) | struct IDirectDrawSurface4
  type IDirectDrawSurface7 (line 126) | struct IDirectDrawSurface7
  type IDirectDrawPalette (line 127) | struct IDirectDrawPalette
  type IDirectDrawClipper (line 128) | struct IDirectDrawClipper
  type IDirectDrawColorControl (line 129) | struct IDirectDrawColorControl
  type IDirectDrawGammaControl (line 130) | struct IDirectDrawGammaControl
  type _DDFXROP (line 132) | struct _DDFXROP
  type _DDSURFACEDESC (line 133) | struct _DDSURFACEDESC
  type _DDSURFACEDESC2 (line 134) | struct _DDSURFACEDESC2
  type _DDCOLORCONTROL (line 135) | struct _DDCOLORCONTROL
  type LPSTR (line 142) | typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, ...
  type LPWSTR (line 143) | typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR...
  type LPSTR (line 153) | typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXA)(GUID FAR *, LPSTR, LPSTR...
  type LPWSTR (line 154) | typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXW)(GUID FAR *, LPWSTR, LPWS...
  type LPDDENUMCALLBACKW (line 161) | typedef LPDDENUMCALLBACKW           LPDDENUMCALLBACK;
  type LPDDENUMCALLBACKEXW (line 163) | typedef LPDDENUMCALLBACKEXW         LPDDENUMCALLBACKEX;
  type LPDIRECTDRAWENUMERATEEXW (line 164) | typedef LPDIRECTDRAWENUMERATEEXW        LPDIRECTDRAWENUMERATEEX;
  type LPDDENUMCALLBACKA (line 167) | typedef LPDDENUMCALLBACKA           LPDDENUMCALLBACK;
  type LPDDENUMCALLBACKEXA (line 169) | typedef LPDDENUMCALLBACKEXA         LPDDENUMCALLBACKEX;
  type LPDIRECTDRAWENUMERATEEXA (line 170) | typedef LPDIRECTDRAWENUMERATEEXA        LPDIRECTDRAWENUMERATEEX;
  type HRESULT (line 211) | typedef long HRESULT;
  type LPDDSURFACEDESC (line 217) | typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURF...
  type LPDDSURFACEDESC2 (line 218) | typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSUR...
  type LPDDSURFACEDESC2 (line 219) | typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK7)(LPDIRECTDRAWSUR...
  type DDARGB (line 225) | typedef struct _DDARGB
  type DDARGB (line 233) | typedef DDARGB FAR *LPDDARGB;
  type DDRGBA (line 239) | typedef struct _DDRGBA
  type DDRGBA (line 247) | typedef DDRGBA FAR *LPDDRGBA;
  type DDCOLORKEY (line 253) | typedef struct _DDCOLORKEY
  type DDCOLORKEY (line 261) | typedef DDCOLORKEY FAR* LPDDCOLORKEY;
  type DDBLTFX (line 267) | typedef struct _DDBLTFX
  type DDBLTFX (line 316) | typedef DDBLTFX FAR* LPDDBLTFX;
  type DDSCAPS (line 323) | typedef struct _DDSCAPS
  type DDSCAPS (line 328) | typedef DDSCAPS FAR* LPDDSCAPS;
  type DDOSCAPS (line 334) | typedef struct _DDOSCAPS
  type DDOSCAPS (line 339) | typedef DDOSCAPS FAR* LPDDOSCAPS;
  type DDSCAPSEX (line 344) | typedef struct _DDSCAPSEX
  type DDSCAPS2 (line 358) | typedef struct _DDSCAPS2
  type DDSCAPS2 (line 370) | typedef DDSCAPS2 FAR* LPDDSCAPS2;
  type DDCAPS_DX1 (line 387) | typedef struct _DDCAPS_DX1
  type DDCAPS_DX1 (line 427) | typedef DDCAPS_DX1 FAR* LPDDCAPS_DX1;
  type DDCAPS_DX3 (line 433) | typedef struct _DDCAPS_DX3
  type DDCAPS_DX3 (line 487) | typedef DDCAPS_DX3 FAR* LPDDCAPS_DX3;
  type DDCAPS_DX5 (line 493) | typedef struct _DDCAPS_DX5
  type DDCAPS_DX5 (line 553) | typedef DDCAPS_DX5 FAR* LPDDCAPS_DX5;
  type DDCAPS_DX6 (line 555) | typedef struct _DDCAPS_DX6
  type DDCAPS_DX6 (line 616) | typedef DDCAPS_DX6 FAR* LPDDCAPS_DX6;
  type DDCAPS_DX7 (line 618) | typedef struct _DDCAPS_DX7
  type DDCAPS_DX7 (line 679) | typedef DDCAPS_DX7 FAR* LPDDCAPS_DX7;
  type DDCAPS_DX3 (line 683) | typedef DDCAPS_DX3 DDCAPS;
  type DDCAPS_DX5 (line 685) | typedef DDCAPS_DX5 DDCAPS;
  type DDCAPS_DX6 (line 687) | typedef DDCAPS_DX6 DDCAPS;
  type DDCAPS_DX7 (line 689) | typedef DDCAPS_DX7 DDCAPS;
  type DDCAPS (line 692) | typedef DDCAPS FAR* LPDDCAPS;
  type DDPIXELFORMAT (line 699) | typedef struct _DDPIXELFORMAT
  type DDPIXELFORMAT (line 754) | typedef DDPIXELFORMAT FAR* LPDDPIXELFORMAT;
  type DDOVERLAYFX (line 759) | typedef struct _DDOVERLAYFX
  type DDOVERLAYFX (line 783) | typedef DDOVERLAYFX FAR *LPDDOVERLAYFX;
  type DDBLTBATCH (line 789) | typedef struct _DDBLTBATCH
  type DDBLTBATCH (line 798) | typedef DDBLTBATCH FAR * LPDDBLTBATCH;
  type DDGAMMARAMP (line 804) | typedef struct _DDGAMMARAMP
  type DDGAMMARAMP (line 810) | typedef DDGAMMARAMP FAR * LPDDGAMMARAMP;
  type DDDEVICEIDENTIFIER (line 818) | typedef struct tagDDDEVICEIDENTIFIER
  type DDDEVICEIDENTIFIER2 (line 868) | typedef struct tagDDDEVICEIDENTIFIER2
  type DDSURFACEDESC (line 2221) | typedef struct _DDSURFACEDESC
  type DDSURFACEDESC2 (line 2253) | typedef struct _DDSURFACEDESC2
  type DDOPTSURFACEDESC (line 2403) | typedef struct _DDOPTSURFACEDESC
  type DDCOLORCONTROL (line 2471) | typedef struct _DDCOLORCONTROL

FILE: Include/ddrawex.h
  type IDirectDrawSurface3 (line 34) | struct IDirectDrawSurface3

FILE: Include/ddrawi.h
  type _DDVIDEOPORTCAPS (line 32) | struct _DDVIDEOPORTCAPS
  type _DDKERNELCAPS (line 33) | struct _DDKERNELCAPS
  type _VMEMHEAP (line 34) | struct _VMEMHEAP
  type DD32BITDRIVERDATA (line 56) | typedef struct {
  type DDVERSIONDATA (line 62) | typedef struct {
  type ULONG_PTR (line 71) | typedef ULONG_PTR FLATPTR;
  type _DDHALINFO (line 74) | struct _DDHALINFO
  type _DDRAWI_DIRECTDRAW_INT (line 75) | struct _DDRAWI_DIRECTDRAW_INT
  type _DDRAWI_DIRECTDRAW_LCL (line 76) | struct _DDRAWI_DIRECTDRAW_LCL
  type _DDRAWI_DIRECTDRAW_GBL (line 77) | struct _DDRAWI_DIRECTDRAW_GBL
  type _DDRAWI_DDRAWSURFACE_INT (line 78) | struct _DDRAWI_DDRAWSURFACE_INT
  type _DDRAWI_DDRAWSURFACE_LCL (line 79) | struct _DDRAWI_DDRAWSURFACE_LCL
  type _DDRAWI_DDRAWSURFACE_GBL (line 80) | struct _DDRAWI_DDRAWSURFACE_GBL
  type _DDRAWI_DDRAWSURFACE_MORE (line 81) | struct _DDRAWI_DDRAWSURFACE_MORE
  type _DDRAWI_DDRAWSURFACE_GBL_MORE (line 82) | struct _DDRAWI_DDRAWSURFACE_GBL_MORE
  type _DDRAWI_DDRAWPALETTE_INT (line 83) | struct _DDRAWI_DDRAWPALETTE_INT
  type _DDRAWI_DDRAWPALETTE_LCL (line 84) | struct _DDRAWI_DDRAWPALETTE_LCL
  type _DDRAWI_DDRAWPALETTE_GBL (line 85) | struct _DDRAWI_DDRAWPALETTE_GBL
  type _DDRAWI_DDRAWCLIPPER_INT (line 86) | struct _DDRAWI_DDRAWCLIPPER_INT
  type _DDRAWI_DDRAWCLIPPER_LCL (line 87) | struct _DDRAWI_DDRAWCLIPPER_LCL
  type _DDRAWI_DDRAWCLIPPER_GBL (line 88) | struct _DDRAWI_DDRAWCLIPPER_GBL
  type _DDRAWI_DDVIDEOPORT_INT (line 89) | struct _DDRAWI_DDVIDEOPORT_INT
  type _DDRAWI_DDVIDEOPORT_LCL (line 90) | struct _DDRAWI_DDVIDEOPORT_LCL
  type _DDRAWI_DDMOTIONCOMP_INT (line 91) | struct _DDRAWI_DDMOTIONCOMP_INT
  type _DDRAWI_DDMOTIONCOMP_LCL (line 92) | struct _DDRAWI_DDMOTIONCOMP_LCL
  type DDHALDDRAWFNS (line 117) | typedef struct {
  type DDHALMODEINFO (line 127) | typedef struct _DDHALMODEINFO {
  type VIDMEM (line 150) | typedef struct _VIDMEM {
  type VIDMEMINFO (line 172) | typedef struct _VIDMEMINFO {
  type HEAPALIAS (line 188) | typedef struct _HEAPALIAS {
  type HEAPALIASINFO (line 194) | typedef struct _HEAPALIASINFO {
  type DDCORECAPS (line 207) | typedef struct _DDCORECAPS {
  type DDNONLOCALVIDMEMCAPS (line 261) | typedef struct _DDNONLOCALVIDMEMCAPS {
  type _DDHAL_DESTROYDRIVERDATA (line 287) | struct _DDHAL_DESTROYDRIVERDATA
  type _DDHAL_CREATESURFACEDATA (line 288) | struct _DDHAL_CREATESURFACEDATA
  type _DDHAL_DRVSETCOLORKEYDATA (line 289) | struct _DDHAL_DRVSETCOLORKEYDATA
  type _DDHAL_SETMODEDATA (line 290) | struct _DDHAL_SETMODEDATA
  type _DDHAL_WAITFORVERTICALBLANKDATA (line 291) | struct _DDHAL_WAITFORVERTICALBLANKDATA
  type _DDHAL_CANCREATESURFACEDATA (line 292) | struct _DDHAL_CANCREATESURFACEDATA
  type _DDHAL_CREATEPALETTEDATA (line 293) | struct _DDHAL_CREATEPALETTEDATA
  type _DDHAL_GETSCANLINEDATA (line 294) | struct _DDHAL_GETSCANLINEDATA
  type _DDHAL_SETEXCLUSIVEMODEDATA (line 295) | struct _DDHAL_SETEXCLUSIVEMODEDATA
  type _DDHAL_FLIPTOGDISURFACEDATA (line 296) | struct _DDHAL_FLIPTOGDISURFACEDATA
  type DDHAL_DDCALLBACKS (line 309) | typedef struct _DDHAL_DDCALLBACKS {
  type _DDHAL_DESTROYSURFACEDATA (line 325) | struct _DDHAL_DESTROYSURFACEDATA
  type _DDHAL_FLIPDATA (line 326) | struct _DDHAL_FLIPDATA
  type _DDHAL_SETCLIPLISTDATA (line 327) | struct _DDHAL_SETCLIPLISTDATA
  type _DDHAL_LOCKDATA (line 328) | struct _DDHAL_LOCKDATA
  type _DDHAL_UNLOCKDATA (line 329) | struct _DDHAL_UNLOCKDATA
  type _DDHAL_BLTDATA (line 330) | struct _DDHAL_BLTDATA
  type _DDHAL_SETCOLORKEYDATA (line 331) | struct _DDHAL_SETCOLORKEYDATA
  type _DDHAL_ADDATTACHEDSURFACEDATA (line 332) | struct _DDHAL_ADDATTACHEDSURFACEDATA
  type _DDHAL_GETBLTSTATUSDATA (line 333) | struct _DDHAL_GETBLTSTATUSDATA
  type _DDHAL_GETFLIPSTATUSDATA (line 334) | struct _DDHAL_GETFLIPSTATUSDATA
  type _DDHAL_UPDATEOVERLAYDATA (line 335) | struct _DDHAL_UPDATEOVERLAYDATA
  type _DDHAL_SETOVERLAYPOSITIONDATA (line 336) | struct _DDHAL_SETOVERLAYPOSITIONDATA
  type _DDHAL_SETPALETTEDATA (line 337) | struct _DDHAL_SETPALETTEDATA
  type DDHAL_DDSURFACECALLBACKS (line 353) | typedef struct _DDHAL_DDSURFACECALLBACKS {
  type _DDHAL_DESTROYPALETTEDATA (line 372) | struct _DDHAL_DESTROYPALETTEDATA
  type _DDHAL_SETENTRIESDATA (line 373) | struct _DDHAL_SETENTRIESDATA
  type DDHAL_DDPALETTECALLBACKS (line 378) | typedef struct _DDHAL_DDPALETTECALLBACKS {
  type DDHAL_DDEXEBUFCALLBACKS (line 391) | typedef struct _DDHAL_DDEXEBUFCALLBACKS {
  type _DDHAL_GETAVAILDRIVERMEMORYDATA (line 401) | struct _DDHAL_GETAVAILDRIVERMEMORYDATA
  type _DDHAL_UPDATENONLOCALHEAPDATA (line 402) | struct _DDHAL_UPDATENONLOCALHEAPDATA
  type _DDHAL_GETHEAPALIGNMENTDATA (line 403) | struct _DDHAL_GETHEAPALIGNMENTDATA
  type DDHAL_DDMISCELLANEOUSCALLBACKS (line 409) | typedef struct _DDHAL_DDMISCELLANEOUSCALLBACKS {
  type _DDHAL_CREATESURFACEEXDATA (line 418) | struct _DDHAL_CREATESURFACEEXDATA
  type _DDHAL_GETDRIVERSTATEDATA (line 419) | struct _DDHAL_GETDRIVERSTATEDATA
  type _DDHAL_DESTROYDDLOCALDATA (line 420) | struct _DDHAL_DESTROYDDLOCALDATA
  type DDHAL_DDMISCELLANEOUS2CALLBACKS (line 426) | typedef struct _DDHAL_DDMISCELLANEOUS2CALLBACKS {
  type _DDHAL_GETDRIVERINFODATA (line 442) | struct _DDHAL_GETDRIVERINFODATA
  type DDHALINFO (line 445) | typedef struct _DDHALINFO {
  type DDHAL_CALLBACKS (line 472) | typedef struct _DDHAL_CALLBACKS {
  type DDHAL_DESTROYDRIVERDATA (line 491) | typedef struct _DDHAL_DESTROYDRIVERDATA {
  type DDHAL_SETMODEDATA (line 497) | typedef struct _DDHAL_SETMODEDATA {
  type DDHAL_CREATESURFACEDATA (line 506) | typedef struct _DDHAL_CREATESURFACEDATA {
  type DDHAL_CANCREATESURFACEDATA (line 515) | typedef struct _DDHAL_CANCREATESURFACEDATA {
  type DDHAL_CREATEPALETTEDATA (line 523) | typedef struct _DDHAL_CREATEPALETTEDATA {
  type DDHAL_SETEXCLUSIVEMODEDATA (line 532) | typedef struct _DDHAL_SETEXCLUSIVEMODEDATA {
  type DDHAL_DESTROYSURFACEDATA (line 541) | typedef struct _DDHAL_DESTROYSURFACEDATA {
  type DDHAL_FLIPDATA (line 548) | typedef struct _DDHAL_FLIPDATA {
  type DDHAL_LOCKDATA (line 559) | typedef struct _DDHAL_LOCKDATA {
  type DDHAL_UNLOCKDATA (line 570) | typedef struct _DDHAL_UNLOCKDATA {
  type DDHAL_BLTDATA (line 577) | typedef struct _DDHAL_BLTDATA {
  type DDHAL_UPDATEOVERLAYDATA (line 595) | typedef struct _DDHAL_UPDATEOVERLAYDATA {
  type DDHAL_SETPALETTEDATA (line 607) | typedef struct _DDHAL_SETPALETTEDATA {
  type DDHAL_DESTROYPALETTEDATA (line 617) | typedef struct _DDHAL_DESTROYPALETTEDATA {
  type DDHAL_SETENTRIESDATA (line 624) | typedef struct _DDHAL_SETENTRIESDATA {
  type DDHAL_GETDRIVERINFODATA (line 634) | typedef struct _DDHAL_GETDRIVERINFODATA {
  type IUNKNOWN_LIST (line 648) | typedef struct _IUNKNOWN_LIST {
  type PROCESS_LIST (line 654) | typedef struct _PROCESS_LIST {
  type ATTACHLIST (line 662) | typedef struct _ATTACHLIST {
  type ACCESSRECTLIST (line 671) | typedef struct _ACCESSRECTLIST {
  type DBLNODE (line 684) | typedef struct _DBLNODE {
  type DDRAWI_DIRECTDRAW_INT (line 691) | typedef struct _DDRAWI_DIRECTDRAW_INT {
  type DDRAWI_DIRECTDRAW_LCL (line 698) | typedef struct _DDRAWI_DIRECTDRAW_LCL {
  type DDRAWI_DIRECTDRAW_GBL (line 752) | typedef struct _DDRAWI_DIRECTDRAW_GBL {
  type DDRAWI_DDRAWSURFACE_INT (line 840) | typedef struct _DDRAWI_DDRAWSURFACE_INT {
  type DDRAWI_DDRAWSURFACE_GBL (line 847) | typedef struct _DDRAWI_DDRAWSURFACE_GBL {
  type DDRAWI_DDRAWSURFACE_GBL_MORE (line 894) | typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE {
  type DDRAWI_DDRAWSURFACE_MORE (line 925) | typedef struct _DDRAWI_DDRAWSURFACE_MORE {
  type DDRAWI_DDRAWSURFACE_LCL (line 960) | typedef struct _DDRAWI_DDRAWSURFACE_LCL {
  type DDRAWI_DDRAWPALETTE_INT (line 1011) | typedef struct _DDRAWI_DDRAWPALETTE_INT {
  type DDRAWI_DDRAWPALETTE_GBL (line 1018) | typedef struct _DDRAWI_DDRAWPALETTE_GBL {
  type DDRAWI_DDRAWPALETTE_LCL (line 1052) | typedef struct _DDRAWI_DDRAWPALETTE_LCL {

FILE: Include/dds.h
  function namespace (line 35) | namespace DirectX

FILE: Include/dinput.h
  type DICONSTANTFORCE (line 175) | typedef struct DICONSTANTFORCE {
  type DICONSTANTFORCE (line 178) | typedef const DICONSTANTFORCE *LPCDICONSTANTFORCE;
  type DIRAMPFORCE (line 180) | typedef struct DIRAMPFORCE {
  type DIRAMPFORCE (line 184) | typedef const DIRAMPFORCE *LPCDIRAMPFORCE;
  type DIPERIODIC (line 186) | typedef struct DIPERIODIC {
  type DIPERIODIC (line 192) | typedef const DIPERIODIC *LPCDIPERIODIC;
  type DICONDITION (line 194) | typedef struct DICONDITION {
  type DICONDITION (line 202) | typedef const DICONDITION *LPCDICONDITION;
  type DICUSTOMFORCE (line 204) | typedef struct DICUSTOMFORCE {
  type DICUSTOMFORCE (line 210) | typedef const DICUSTOMFORCE *LPCDICUSTOMFORCE;
  type DIENVELOPE (line 213) | typedef struct DIENVELOPE {
  type DIENVELOPE (line 220) | typedef const DIENVELOPE *LPCDIENVELOPE;
  type DIEFFECT_DX5 (line 224) | typedef struct DIEFFECT_DX5 {
  type DIEFFECT_DX5 (line 239) | typedef const DIEFFECT_DX5 *LPCDIEFFECT_DX5;
  type DIEFFECT (line 241) | typedef struct DIEFFECT {
  type DIEFFECT (line 259) | typedef DIEFFECT DIEFFECT_DX6;
  type LPDIEFFECT (line 260) | typedef LPDIEFFECT LPDIEFFECT_DX6;
  type DIEFFECT (line 261) | typedef const DIEFFECT *LPCDIEFFECT;
  type DIFILEEFFECT (line 266) | typedef struct DIFILEEFFECT{
  type DIFILEEFFECT (line 272) | typedef const DIFILEEFFECT *LPCDIFILEEFFECT;
  type DIEFFESCAPE (line 310) | typedef struct DIEFFESCAPE {
  function STDMETHOD (line 327) | STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  type DIDEVCAPS (line 531) | typedef struct DIDEVCAPS {
  type DIOBJECTDATAFORMAT (line 604) | typedef struct _DIOBJECTDATAFORMAT {
  type DIOBJECTDATAFORMAT (line 610) | typedef const DIOBJECTDATAFORMAT *LPCDIOBJECTDATAFORMAT;
  type DIDATAFORMAT (line 612) | typedef struct _DIDATAFORMAT {
  type DIDATAFORMAT (line 620) | typedef const DIDATAFORMAT *LPCDIDATAFORMAT;
  type _DIACTIONA (line 648) | struct _DIACTIONA {
  type _DIACTIONW (line 660) | struct _DIACTIONW {
  type DIACTIONW (line 673) | typedef DIACTIONW DIACTION;
  type LPDIACTIONW (line 674) | typedef LPDIACTIONW LPDIACTION;
  type DIACTIONA (line 676) | typedef DIACTIONA DIACTION;
  type LPDIACTIONA (line 677) | typedef LPDIACTIONA LPDIACTION;
  type DIACTIONA (line 680) | typedef const DIACTIONA *LPCDIACTIONA;
  type DIACTIONW (line 681) | typedef const DIACTIONW *LPCDIACTIONW;
  type DIACTIONW (line 683) | typedef DIACTIONW DIACTION;
  type LPCDIACTIONW (line 684) | typedef LPCDIACTIONW LPCDIACTION;
  type DIACTIONA (line 686) | typedef DIACTIONA DIACTION;
  type LPCDIACTIONA (line 687) | typedef LPCDIACTIONA LPCDIACTION;
  type DIACTION (line 689) | typedef const DIACTION *LPCDIACTION;
  type DIACTIONFORMATA (line 706) | typedef struct _DIACTIONFORMATA {
  type DIACTIONFORMATW (line 722) | typedef struct _DIACTIONFORMATW {
  type DIACTIONFORMATW (line 739) | typedef DIACTIONFORMATW DIACTIONFORMAT;
  type LPDIACTIONFORMATW (line 740) | typedef LPDIACTIONFORMATW LPDIACTIONFORMAT;
  type DIACTIONFORMATA (line 742) | typedef DIACTIONFORMATA DIACTIONFORMAT;
  type LPDIACTIONFORMATA (line 743) | typedef LPDIACTIONFORMATA LPDIACTIONFORMAT;
  type DIACTIONFORMATA (line 745) | typedef const DIACTIONFORMATA *LPCDIACTIONFORMATA;
  type DIACTIONFORMATW (line 746) | typedef const DIACTIONFORMATW *LPCDIACTIONFORMATW;
  type DIACTIONFORMATW (line 748) | typedef DIACTIONFORMATW DIACTIONFORMAT;
  type LPCDIACTIONFORMATW (line 749) | typedef LPCDIACTIONFORMATW LPCDIACTIONFORMAT;
  type DIACTIONFORMATA (line 751) | typedef DIACTIONFORMATA DIACTIONFORMAT;
  type LPCDIACTIONFORMATA (line 752) | typedef LPCDIACTIONFORMATA LPCDIACTIONFORMAT;
  type DIACTIONFORMAT (line 754) | typedef const DIACTIONFORMAT *LPCDIACTIONFORMAT;
  type DWORD (line 777) | typedef DWORD D3DCOLOR;
  type DICOLORSET (line 781) | typedef struct _DICOLORSET{
  type DICOLORSET (line 792) | typedef const DICOLORSET *LPCDICOLORSET;
  type DICONFIGUREDEVICESPARAMSA (line 795) | typedef struct _DICONFIGUREDEVICESPARAMSA{
  type DICONFIGUREDEVICESPARAMSW (line 805) | typedef struct _DICONFIGUREDEVICESPARAMSW{
  type DICONFIGUREDEVICESPARAMSW (line 816) | typedef DICONFIGUREDEVICESPARAMSW DICONFIGUREDEVICESPARAMS;
  type LPDICONFIGUREDEVICESPARAMSW (line 817) | typedef LPDICONFIGUREDEVICESPARAMSW LPDICONFIGUREDEVICESPARAMS;
  type DICONFIGUREDEVICESPARAMSA (line 819) | typedef DICONFIGUREDEVICESPARAMSA DICONFIGUREDEVICESPARAMS;
  type LPDICONFIGUREDEVICESPARAMSA (line 820) | typedef LPDICONFIGUREDEVICESPARAMSA LPDICONFIGUREDEVICESPARAMS;
  type DICONFIGUREDEVICESPARAMSA (line 822) | typedef const DICONFIGUREDEVICESPARAMSA *LPCDICONFIGUREDEVICESPARAMSA;
  type DICONFIGUREDEVICESPARAMSW (line 823) | typedef const DICONFIGUREDEVICESPARAMSW *LPCDICONFIGUREDEVICESPARAMSW;
  type DCIONFIGUREDEVICESPARAMSW (line 825) | typedef DCIONFIGUREDEVICESPARAMSW DICONFIGUREDEVICESPARAMS;
  type LPCDICONFIGUREDEVICESPARAMSW (line 826) | typedef LPCDICONFIGUREDEVICESPARAMSW LPCDICONFIGUREDEVICESPARAMS;
  type DICONFIGUREDEVICESPARAMSA (line 828) | typedef DICONFIGUREDEVICESPARAMSA DICONFIGUREDEVICESPARAMS;
  type LPCDICONFIGUREDEVICESPARAMSA (line 829) | typedef LPCDICONFIGUREDEVICESPARAMSA LPCDICONFIGUREDEVICESPARAMS;
  type DICONFIGUREDEVICESPARAMS (line 831) | typedef const DICONFIGUREDEVICESPARAMS *LPCDICONFIGUREDEVICESPARAMS;
  type DIDEVICEIMAGEINFOA (line 844) | typedef struct _DIDEVICEIMAGEINFOA {
  type DIDEVICEIMAGEINFOW (line 856) | typedef struct _DIDEVICEIMAGEINFOW {
  type DIDEVICEIMAGEINFOW (line 869) | typedef DIDEVICEIMAGEINFOW DIDEVICEIMAGEINFO;
  type LPDIDEVICEIMAGEINFOW (line 870) | typedef LPDIDEVICEIMAGEINFOW LPDIDEVICEIMAGEINFO;
  type DIDEVICEIMAGEINFOA (line 872) | typedef DIDEVICEIMAGEINFOA DIDEVICEIMAGEINFO;
  type LPDIDEVICEIMAGEINFOA (line 873) | typedef LPDIDEVICEIMAGEINFOA LPDIDEVICEIMAGEINFO;
  type DIDEVICEIMAGEINFOA (line 875) | typedef const DIDEVICEIMAGEINFOA *LPCDIDEVICEIMAGEINFOA;
  type DIDEVICEIMAGEINFOW (line 876) | typedef const DIDEVICEIMAGEINFOW *LPCDIDEVICEIMAGEINFOW;
  type DIDEVICEIMAGEINFOW (line 878) | typedef DIDEVICEIMAGEINFOW DIDEVICEIMAGEINFO;
  type LPCDIDEVICEIMAGEINFOW (line 879) | typedef LPCDIDEVICEIMAGEINFOW LPCDIDEVICEIMAGEINFO;
  type DIDEVICEIMAGEINFOA (line 881) | typedef DIDEVICEIMAGEINFOA DIDEVICEIMAGEINFO;
  type LPCDIDEVICEIMAGEINFOA (line 882) | typedef LPCDIDEVICEIMAGEINFOA LPCDIDEVICEIMAGEINFO;
  type DIDEVICEIMAGEINFO (line 884) | typedef const DIDEVICEIMAGEINFO *LPCDIDEVICEIMAGEINFO;
  type DIDEVICEIMAGEINFOHEADERA (line 886) | typedef struct _DIDEVICEIMAGEINFOHEADERA {
  type DIDEVICEIMAGEINFOHEADERW (line 897) | typedef struct _DIDEVICEIMAGEINFOHEADERW {
  type DIDEVICEIMAGEINFOHEADERW (line 909) | typedef DIDEVICEIMAGEINFOHEADERW DIDEVICEIMAGEINFOHEADER;
  type LPDIDEVICEIMAGEINFOHEADERW (line 910) | typedef LPDIDEVICEIMAGEINFOHEADERW LPDIDEVICEIMAGEINFOHEADER;
  type DIDEVICEIMAGEINFOHEADERA (line 912) | typedef DIDEVICEIMAGEINFOHEADERA DIDEVICEIMAGEINFOHEADER;
  type LPDIDEVICEIMAGEINFOHEADERA (line 913) | typedef LPDIDEVICEIMAGEINFOHEADERA LPDIDEVICEIMAGEINFOHEADER;
  type DIDEVICEIMAGEINFOHEADERA (line 915) | typedef const DIDEVICEIMAGEINFOHEADERA *LPCDIDEVICEIMAGEINFOHEADERA;
  type DIDEVICEIMAGEINFOHEADERW (line 916) | typedef const DIDEVICEIMAGEINFOHEADERW *LPCDIDEVICEIMAGEINFOHEADERW;
  type DIDEVICEIMAGEINFOHEADERW (line 918) | typedef DIDEVICEIMAGEINFOHEADERW DIDEVICEIMAGEINFOHEADER;
  type LPCDIDEVICEIMAGEINFOHEADERW (line 919) | typedef LPCDIDEVICEIMAGEINFOHEADERW LPCDIDEVICEIMAGEINFOHEADER;
  type DIDEVICEIMAGEINFOHEADERA (line 921) | typedef DIDEVICEIMAGEINFOHEADERA DIDEVICEIMAGEINFOHEADER;
  type LPCDIDEVICEIMAGEINFOHEADERA (line 922) | typedef LPCDIDEVICEIMAGEINFOHEADERA LPCDIDEVICEIMAGEINFOHEADER;
  type DIDEVICEIMAGEINFOHEADER (line 924) | typedef const DIDEVICEIMAGEINFOHEADER *LPCDIDEVICEIMAGEINFOHEADER;
  type DIDEVICEOBJECTINSTANCE_DX3A (line 931) | typedef struct DIDEVICEOBJECTINSTANCE_DX3A {
  type DIDEVICEOBJECTINSTANCE_DX3W (line 939) | typedef struct DIDEVICEOBJECTINSTANCE_DX3W {
  type DIDEVICEOBJECTINSTANCE_DX3W (line 948) | typedef DIDEVICEOBJECTINSTANCE_DX3W DIDEVICEOBJECTINSTANCE_DX3;
  type LPDIDEVICEOBJECTINSTANCE_DX3W (line 949) | typedef LPDIDEVICEOBJECTINSTANCE_DX3W LPDIDEVICEOBJECTINSTANCE_DX3;
  type DIDEVICEOBJECTINSTANCE_DX3A (line 951) | typedef DIDEVICEOBJECTINSTANCE_DX3A DIDEVICEOBJECTINSTANCE_DX3;
  type LPDIDEVICEOBJECTINSTANCE_DX3A (line 952) | typedef LPDIDEVICEOBJECTINSTANCE_DX3A LPDIDEVICEOBJECTINSTANCE_DX3;
  type DIDEVICEOBJECTINSTANCE_DX3A (line 954) | typedef const DIDEVICEOBJECTINSTANCE_DX3A *LPCDIDEVICEOBJECTINSTANCE_DX3A;
  type DIDEVICEOBJECTINSTANCE_DX3W (line 955) | typedef const DIDEVICEOBJECTINSTANCE_DX3W *LPCDIDEVICEOBJECTINSTANCE_DX3W;
  type DIDEVICEOBJECTINSTANCE_DX3 (line 956) | typedef const DIDEVICEOBJECTINSTANCE_DX3  *LPCDIDEVICEOBJECTINSTANCE_DX3;
  type DIDEVICEOBJECTINSTANCEA (line 959) | typedef struct DIDEVICEOBJECTINSTANCEA {
  type DIDEVICEOBJECTINSTANCEW (line 978) | typedef struct DIDEVICEOBJECTINSTANCEW {
  type DIDEVICEOBJECTINSTANCEW (line 998) | typedef DIDEVICEOBJECTINSTANCEW DIDEVICEOBJECTINSTANCE;
  type LPDIDEVICEOBJECTINSTANCEW (line 999) | typedef LPDIDEVICEOBJECTINSTANCEW LPDIDEVICEOBJECTINSTANCE;
  type DIDEVICEOBJECTINSTANCEA (line 1001) | typedef DIDEVICEOBJECTINSTANCEA DIDEVICEOBJECTINSTANCE;
  type LPDIDEVICEOBJECTINSTANCEA (line 1002) | typedef LPDIDEVICEOBJECTINSTANCEA LPDIDEVICEOBJECTINSTANCE;
  type DIDEVICEOBJECTINSTANCEA (line 1004) | typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
  type DIDEVICEOBJECTINSTANCEW (line 1005) | typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
  type DIDEVICEOBJECTINSTANCE (line 1006) | typedef const DIDEVICEOBJECTINSTANCE  *LPCDIDEVICEOBJECTINSTANCE;
  type DIPROPHEADER (line 1030) | typedef struct DIPROPHEADER {
  type DIPROPHEADER (line 1036) | typedef const DIPROPHEADER *LPCDIPROPHEADER;
  type DIPROPDWORD (line 1050) | typedef struct DIPROPDWORD {
  type DIPROPDWORD (line 1054) | typedef const DIPROPDWORD *LPCDIPROPDWORD;
  type DIPROPPOINTER (line 1057) | typedef struct DIPROPPOINTER {
  type DIPROPPOINTER (line 1061) | typedef const DIPROPPOINTER *LPCDIPROPPOINTER;
  type DIPROPRANGE (line 1064) | typedef struct DIPROPRANGE {
  type DIPROPRANGE (line 1069) | typedef const DIPROPRANGE *LPCDIPROPRANGE;
  type DIPROPCAL (line 1075) | typedef struct DIPROPCAL {
  type DIPROPCAL (line 1081) | typedef const DIPROPCAL *LPCDIPROPCAL;
  type DIPROPCALPOV (line 1083) | typedef struct DIPROPCALPOV {
  type DIPROPCALPOV (line 1088) | typedef const DIPROPCALPOV *LPCDIPROPCALPOV;
  type DIPROPGUIDANDPATH (line 1090) | typedef struct DIPROPGUIDANDPATH {
  type DIPROPGUIDANDPATH (line 1095) | typedef const DIPROPGUIDANDPATH *LPCDIPROPGUIDANDPATH;
  type DIPROPSTRING (line 1097) | typedef struct DIPROPSTRING {
  type DIPROPSTRING (line 1101) | typedef const DIPROPSTRING *LPCDIPROPSTRING;
  type CPOINT (line 1108) | typedef struct _CPOINT
  type DIPROPCPOINTS (line 1114) | typedef struct DIPROPCPOINTS {
  type DIPROPCPOINTS (line 1119) | typedef const DIPROPCPOINTS *LPCDIPROPCPOINTS;
  type DIDEVICEOBJECTDATA_DX3 (line 1198) | typedef struct DIDEVICEOBJECTDATA_DX3 {
  type DIDEVICEOBJECTDATA_DX3 (line 1204) | typedef const DIDEVICEOBJECTDATA_DX3 *LPCDIDEVICEOBJECTDATA_DX;
  type DIDEVICEOBJECTDATA (line 1206) | typedef struct DIDEVICEOBJECTDATA {
  type DIDEVICEOBJECTDATA (line 1215) | typedef const DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA;
  type DIDEVICEINSTANCE_DX3A (line 1230) | typedef struct DIDEVICEINSTANCE_DX3A {
  type DIDEVICEINSTANCE_DX3W (line 1238) | typedef struct DIDEVICEINSTANCE_DX3W {
  type DIDEVICEINSTANCE_DX3W (line 1247) | typedef DIDEVICEINSTANCE_DX3W DIDEVICEINSTANCE_DX3;
  type LPDIDEVICEINSTANCE_DX3W (line 1248) | typedef LPDIDEVICEINSTANCE_DX3W LPDIDEVICEINSTANCE_DX3;
  type DIDEVICEINSTANCE_DX3A (line 1250) | typedef DIDEVICEINSTANCE_DX3A DIDEVICEINSTANCE_DX3;
  type LPDIDEVICEINSTANCE_DX3A (line 1251) | typedef LPDIDEVICEINSTANCE_DX3A LPDIDEVICEINSTANCE_DX3;
  type DIDEVICEINSTANCE_DX3A (line 1253) | typedef const DIDEVICEINSTANCE_DX3A *LPCDIDEVICEINSTANCE_DX3A;
  type DIDEVICEINSTANCE_DX3W (line 1254) | typedef const DIDEVICEINSTANCE_DX3W *LPCDIDEVICEINSTANCE_DX3W;
  type DIDEVICEINSTANCE_DX3 (line 1255) | typedef const DIDEVICEINSTANCE_DX3  *LPCDIDEVICEINSTANCE_DX3;
  type DIDEVICEINSTANCEA (line 1258) | typedef struct DIDEVICEINSTANCEA {
  type DIDEVICEINSTANCEW (line 1271) | typedef struct DIDEVICEINSTANCEW {
  type DIDEVICEINSTANCEW (line 1285) | typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
  type LPDIDEVICEINSTANCEW (line 1286) | typedef LPDIDEVICEINSTANCEW LPDIDEVICEINSTANCE;
  type DIDEVICEINSTANCEA (line 1288) | typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
  type LPDIDEVICEINSTANCEA (line 1289) | typedef LPDIDEVICEINSTANCEA LPDIDEVICEINSTANCE;
  type DIDEVICEINSTANCEA (line 1292) | typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA;
  type DIDEVICEINSTANCEW (line 1293) | typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW;
  type DIDEVICEINSTANCEW (line 1295) | typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
  type LPCDIDEVICEINSTANCEW (line 1296) | typedef LPCDIDEVICEINSTANCEW LPCDIDEVICEINSTANCE;
  type DIDEVICEINSTANCEA (line 1298) | typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
  type LPCDIDEVICEINSTANCEA (line 1299) | typedef LPCDIDEVICEINSTANCEA LPCDIDEVICEINSTANCE;
  type DIDEVICEINSTANCE (line 1301) | typedef const DIDEVICEINSTANCE  *LPCDIDEVICEINSTANCE;
  function STDMETHOD (line 1339) | STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  type DIEFFECTINFOW (line 1458) | typedef DIEFFECTINFOW DIEFFECTINFO;
  type LPDIEFFECTINFOW (line 1459) | typedef LPDIEFFECTINFOW LPDIEFFECTINFO;
  type DIEFFECTINFOA (line 1461) | typedef DIEFFECTINFOA DIEFFECTINFO;
  type LPDIEFFECTINFOA (line 1462) | typedef LPDIEFFECTINFOA LPDIEFFECTINFO;
  type DIEFFECTINFOA (line 1464) | typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA;
  type DIEFFECTINFOW (line 1465) | typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW;
  type DIEFFECTINFO (line 1466) | typedef const DIEFFECTINFO  *LPCDIEFFECTINFO;
  function STDMETHOD (line 1485) | STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  type IDirectInputDevice7A (line 1725) | struct IDirectInputDevice7A
  type IDirectInputDevice7 (line 1736) | struct IDirectInputDevice7
  function STDMETHOD (line 1858) | STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  type LPDIRECTINPUTDEVICE8A (line 2338) | typedef BOOL (FAR PASCAL * LPDIENUMDEVICESBYSEMANTICSCBA)(LPCDIDEVICEINS...
  type LPDIRECTINPUTDEVICE8W (line 2339) | typedef BOOL (FAR PASCAL * LPDIENUMDEVICESBYSEMANTICSCBW)(LPCDIDEVICEINS...
  function STDMETHOD (line 2464) | STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  type IDirectInput8A (line 2643) | struct IDirectInput8A
  type IDirectInput8 (line 2654) | struct IDirectInput8

FILE: Include/disasm.h
  type uchar (line 107) | typedef unsigned char  uchar;
  type ushort (line 108) | typedef unsigned short ushort;
  type uint (line 109) | typedef unsigned int   uint;
  type ulong (line 110) | typedef unsigned long  ulong;
  type t_modrm (line 558) | typedef struct t_modrm {               // ModRM byte decoding
  type t_bincmd (line 572) | typedef struct t_bincmd {              // Description of 80x86 command
  type t_chain (line 583) | typedef struct t_chain {               // Element of command chain
  type t_config (line 588) | typedef struct t_config {              // Disassembler configuration
  type t_operand (line 609) | typedef struct t_operand {             // Description of disassembled op...
  type t_disasm (line 633) | typedef struct t_disasm {              // Disassembled command

FILE: Include/dsound.h
  type D3DVALUE (line 29) | typedef float D3DVALUE, *LPD3DVALUE;
  type DWORD (line 32) | typedef DWORD D3DCOLOR;
  type DWORD (line 37) | typedef DWORD *LPD3DCOLOR;
  type D3DVECTOR (line 42) | typedef struct _D3DVECTOR {
  type D3DVECTOR (line 51) | typedef D3DVECTOR *LPD3DVECTOR;
  type IDirectSound (line 96) | struct IDirectSound
  type IDirectSoundBuffer (line 97) | struct IDirectSoundBuffer
  type IDirectSound3DListener (line 98) | struct IDirectSound3DListener
  type IDirectSound3DBuffer (line 99) | struct IDirectSound3DBuffer
  type IDirectSoundCapture (line 100) | struct IDirectSoundCapture
  type IDirectSoundCaptureBuffer (line 101) | struct IDirectSoundCaptureBuffer
  type IDirectSoundNotify (line 102) | struct IDirectSoundNotify
  type IDirectSound8 (line 113) | struct IDirectSound8
  type IDirectSoundBuffer8 (line 114) | struct IDirectSoundBuffer8
  type IDirectSoundCaptureBuffer8 (line 115) | struct IDirectSoundCaptureBuffer8
  type IDirectSoundFXGargle (line 116) | struct IDirectSoundFXGargle
  type IDirectSoundFXChorus (line 117) | struct IDirectSoundFXChorus
  type IDirectSoundFXFlanger (line 118) | struct IDirectSoundFXFlanger
  type IDirectSoundFXEcho (line 119) | struct IDirectSoundFXEcho
  type IDirectSoundFXDistortion (line 120) | struct IDirectSoundFXDistortion
  type IDirectSoundFXCompressor (line 121) | struct IDirectSoundFXCompressor
  type IDirectSoundFXParamEq (line 122) | struct IDirectSoundFXParamEq
  type IDirectSoundFXWavesReverb (line 123) | struct IDirectSoundFXWavesReverb
  type IDirectSoundFXI3DL2Reverb (line 124) | struct IDirectSoundFXI3DL2Reverb
  type IDirectSoundCaptureFXAec (line 125) | struct IDirectSoundCaptureFXAec
  type IDirectSoundCaptureFXNoiseSuppress (line 126) | struct IDirectSoundCaptureFXNoiseSuppress
  type IDirectSoundFullDuplex (line 127) | struct IDirectSoundFullDuplex
  type IDirectSound (line 153) | struct IDirectSound
  type IDirectSoundBuffer (line 154) | struct IDirectSoundBuffer
  type IDirectSound3DListener (line 155) | struct IDirectSound3DListener
  type IDirectSound3DBuffer (line 156) | struct IDirectSound3DBuffer
  type IDirectSoundCapture (line 157) | struct IDirectSoundCapture
  type IDirectSoundCaptureBuffer (line 158) | struct IDirectSoundCaptureBuffer
  type IDirectSoundNotify (line 159) | struct IDirectSoundNotify
  type IDirectSoundFXGargle (line 164) | struct IDirectSoundFXGargle
  type IDirectSoundFXChorus (line 165) | struct IDirectSoundFXChorus
  type IDirectSoundFXFlanger (line 166) | struct IDirectSoundFXFlanger
  type IDirectSoundFXEcho (line 167) | struct IDirectSoundFXEcho
  type IDirectSoundFXDistortion (line 168) | struct IDirectSoundFXDistortion
  type IDirectSoundFXCompressor (line 169) | struct IDirectSoundFXCompressor
  type IDirectSoundFXParamEq (line 170) | struct IDirectSoundFXParamEq
  type IDirectSoundFXWavesReverb (line 171) | struct IDirectSoundFXWavesReverb
  type IDirectSoundFXI3DL2Reverb (line 172) | struct IDirectSoundFXI3DL2Reverb
  type IDirectSoundCaptureFXAec (line 173) | struct IDirectSoundCaptureFXAec
  type IDirectSoundCaptureFXNoiseSuppress (line 174) | struct IDirectSoundCaptureFXNoiseSuppress
  type IDirectSoundFullDuplex (line 175) | struct IDirectSoundFullDuplex
  type IDirectSound8 (line 177) | struct IDirectSound8
  type IDirectSoundBuffer8 (line 178) | struct IDirectSoundBuffer8
  type IDirectSound3DListener8 (line 179) | struct IDirectSound3DListener8
  type IDirectSound3DBuffer8 (line 180) | struct IDirectSound3DBuffer8
  type IDirectSoundCapture8 (line 181) | struct IDirectSoundCapture8
  type IDirectSoundCaptureBuffer8 (line 182) | struct IDirectSoundCaptureBuffer8
  type IDirectSoundNotify8 (line 183) | struct IDirectSoundNotify8
  type IDirectSoundFXGargle8 (line 184) | struct IDirectSoundFXGargle8
  type IDirectSoundFXChorus8 (line 185) | struct IDirectSoundFXChorus8
  type IDirectSoundFXFlanger8 (line 186) | struct IDirectSoundFXFlanger8
  type IDirectSoundFXEcho8 (line 187) | struct IDirectSoundFXEcho8
  type IDirectSoundFXDistortion8 (line 188) | struct IDirectSoundFXDistortion8
  type IDirectSoundFXCompressor8 (line 189) | struct IDirectSoundFXCompressor8
  type IDirectSoundFXParamEq8 (line 190) | struct IDirectSoundFXParamEq8
  type IDirectSoundFXWavesReverb8 (line 191) | struct IDirectSoundFXWavesReverb8
  type IDirectSoundFXI3DL2Reverb8 (line 192) | struct IDirectSoundFXI3DL2Reverb8
  type IDirectSoundCaptureFXAec8 (line 193) | struct IDirectSoundCaptureFXAec8
  type IDirectSoundCaptureFXNoiseSuppress8 (line 194) | struct IDirectSoundCaptureFXNoiseSuppress8
  type IDirectSoundFullDuplex8 (line 195) | struct IDirectSoundFullDuplex8
  type WAVEFORMATEX (line 230) | typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
  type GUID (line 235) | typedef const GUID *LPCGUID;
  type LPDIRECTSOUND (line 238) | typedef LPDIRECTSOUND *LPLPDIRECTSOUND;
  type LPDIRECTSOUNDBUFFER (line 239) | typedef LPDIRECTSOUNDBUFFER *LPLPDIRECTSOUNDBUFFER;
  type LPDIRECTSOUND3DLISTENER (line 240) | typedef LPDIRECTSOUND3DLISTENER *LPLPDIRECTSOUND3DLISTENER;
  type LPDIRECTSOUND3DBUFFER (line 241) | typedef LPDIRECTSOUND3DBUFFER *LPLPDIRECTSOUND3DBUFFER;
  type LPDIRECTSOUNDCAPTURE (line 242) | typedef LPDIRECTSOUNDCAPTURE *LPLPDIRECTSOUNDCAPTURE;
  type LPDIRECTSOUNDCAPTUREBUFFER (line 243) | typedef LPDIRECTSOUNDCAPTUREBUFFER *LPLPDIRECTSOUNDCAPTUREBUFFER;
  type LPDIRECTSOUNDNOTIFY (line 244) | typedef LPDIRECTSOUNDNOTIFY *LPLPDIRECTSOUNDNOTIFY;
  type LPDIRECTSOUND8 (line 247) | typedef LPDIRECTSOUND8 *LPLPDIRECTSOUND8;
  type LPDIRECTSOUNDBUFFER8 (line 248) | typedef LPDIRECTSOUNDBUFFER8 *LPLPDIRECTSOUNDBUFFER8;
  type LPDIRECTSOUNDCAPTURE8 (line 249) | typedef LPDIRECTSOUNDCAPTURE8 *LPLPDIRECTSOUNDCAPTURE8;
  type LPDIRECTSOUNDCAPTUREBUFFER8 (line 250) | typedef LPDIRECTSOUNDCAPTUREBUFFER8 *LPLPDIRECTSOUNDCAPTUREBUFFER8;
  type DSCAPS (line 257) | typedef struct _DSCAPS
  type DSCAPS (line 285) | typedef const DSCAPS *LPCDSCAPS;
  type DSBCAPS (line 287) | typedef struct _DSBCAPS
  type DSBCAPS (line 296) | typedef const DSBCAPS *LPCDSBCAPS;
  type DSEFFECTDESC (line 300) | typedef struct _DSEFFECTDESC
  type DSEFFECTDESC (line 308) | typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
  type DSCEFFECTDESC (line 324) | typedef struct _DSCEFFECTDESC
  type DSCEFFECTDESC (line 333) | typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
  type DSBUFFERDESC (line 343) | typedef struct _DSBUFFERDESC
  type DSBUFFERDESC (line 355) | typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
  type DSBUFFERDESC1 (line 359) | typedef struct _DSBUFFERDESC1
  type DSBUFFERDESC1 (line 368) | typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
  type DS3DBUFFER (line 370) | typedef struct _DS3DBUFFER
  type DS3DBUFFER (line 384) | typedef const DS3DBUFFER *LPCDS3DBUFFER;
  type DS3DLISTENER (line 386) | typedef struct _DS3DLISTENER
  type DS3DLISTENER (line 398) | typedef const DS3DLISTENER *LPCDS3DLISTENER;
  type DSCCAPS (line 400) | typedef struct _DSCCAPS
  type DSCCAPS (line 408) | typedef const DSCCAPS *LPCDSCCAPS;
  type DSCBUFFERDESC1 (line 410) | typedef struct _DSCBUFFERDESC1
  type DSCBUFFERDESC (line 419) | typedef struct _DSCBUFFERDESC
  type DSCBUFFERDESC (line 432) | typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
  type DSCBCAPS (line 434) | typedef struct _DSCBCAPS
  type DSCBCAPS (line 442) | typedef const DSCBCAPS *LPCDSCBCAPS;
  type DSBPOSITIONNOTIFY (line 444) | typedef struct _DSBPOSITIONNOTIFY
  type DSBPOSITIONNOTIFY (line 450) | typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
  type LPCSTR (line 456) | typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID);
  type LPCWSTR (line 457) | typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPV...
  type LONGLONG (line 518) | typedef LONGLONG REFERENCE_TIME;
  type REFERENCE_TIME (line 519) | typedef REFERENCE_TIME *LPREFERENCE_TIME;

FILE: Include/dxdiag.h
  type IDxDiagProvider (line 67) | struct IDxDiagProvider
  type IDxDiagContainer (line 69) | struct IDxDiagContainer
  type DXDIAG_INIT_PARAMS (line 78) | typedef struct _DXDIAG_INIT_PARAMS

FILE: Include/dxwnd.h
  type TARGETMAP (line 318) | typedef struct TARGETMAP
  type DXWNDSTATUS (line 369) | typedef struct
  type Coordinates_Types (line 454) | typedef enum {
  type ResolutionLimits_Types (line 461) | typedef enum {
  type Timer_Types (line 472) | typedef enum {
  type SupportedRes_Type (line 478) | typedef struct {

FILE: Include/gl.h
  type GLenum (line 112) | typedef unsigned int    GLenum;
  type GLboolean (line 113) | typedef unsigned char   GLboolean;
  type GLbitfield (line 114) | typedef unsigned int    GLbitfield;
  type GLvoid (line 115) | typedef void            GLvoid;
  type GLbyte (line 116) | typedef signed char     GLbyte;
  type GLshort (line 117) | typedef short           GLshort;
  type GLint (line 118) | typedef int             GLint;
  type GLubyte (line 119) | typedef unsigned char   GLubyte;
  type GLushort (line 120) | typedef unsigned short  GLushort;
  type GLuint (line 121) | typedef unsigned int    GLuint;
  type GLsizei (line 122) | typedef int             GLsizei;
  type GLfloat (line 123) | typedef float           GLfloat;
  type GLclampf (line 124) | typedef float           GLclampf;
  type GLdouble (line 125) | typedef double          GLdouble;
  type GLclampd (line 126) | typedef double          GLclampd;

FILE: Include/gl/gl.h
  type GLenum (line 112) | typedef unsigned int    GLenum;
  type GLboolean (line 113) | typedef unsigned char   GLboolean;
  type GLbitfield (line 114) | typedef unsigned int    GLbitfield;
  type GLvoid (line 115) | typedef void            GLvoid;
  type GLbyte (line 116) | typedef signed char     GLbyte;
  type GLshort (line 117) | typedef short           GLshort;
  type GLint (line 118) | typedef int             GLint;
  type GLubyte (line 119) | typedef unsigned char   GLubyte;
  type GLushort (line 120) | typedef unsigned short  GLushort;
  type GLuint (line 121) | typedef unsigned int    GLuint;
  type GLsizei (line 122) | typedef int             GLsizei;
  type GLfloat (line 123) | typedef float           GLfloat;
  type GLclampf (line 124) | typedef float           GLclampf;
  type GLdouble (line 125) | typedef double          GLdouble;
  type GLclampd (line 126) | typedef double          GLclampd;

FILE: Include/gl/glext.h
  type GLchar (line 6187) | typedef char GLchar;
  type GLintptr (line 6192) | typedef ptrdiff_t GLintptr;
  type GLsizeiptr (line 6193) | typedef ptrdiff_t GLsizeiptr;
  type GLintptrARB (line 6198) | typedef ptrdiff_t GLintptrARB;
  type GLsizeiptrARB (line 6199) | typedef ptrdiff_t GLsizeiptrARB;
  type GLcharARB (line 6204) | typedef char GLcharARB;
  type GLhandleARB (line 6205) | typedef unsigned int GLhandleARB;
  type GLhalfARB (line 6210) | typedef unsigned short GLhalfARB;
  type GLhalfNV (line 6214) | typedef unsigned short GLhalfNV;
  type __int32 (line 6246) | typedef __int32 int32_t;
  type __int64 (line 6247) | typedef __int64 int64_t;
  type GLint64EXT (line 6256) | typedef int64_t GLint64EXT;
  type GLuint64EXT (line 6257) | typedef uint64_t GLuint64EXT;
  type GLint64 (line 6261) | typedef int64_t GLint64;
  type GLuint64 (line 6262) | typedef uint64_t GLuint64;
  type __GLsync (line 6263) | struct __GLsync
  type _cl_context (line 6268) | struct _cl_context
  type _cl_event (line 6269) | struct _cl_event
  type GLintptr (line 6285) | typedef GLintptr GLvdpauSurfaceNV;
  type GLint (line 6290) | typedef GLint GLfixed;
  type GLvoid (line 6607) | typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum ac...
  type GLubyte (line 6946) | typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GL...
  type GLvoid (line 7486) | typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum...
  type GLvoid (line 7758) | typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLin...
  type GLchar (line 7947) | typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, ...
  type const (line 8182) | typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint ...
  type const (line 8183) | typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, ...
  type _cl_context (line 8449) | struct _cl_context
  type _cl_event (line 8449) | struct _cl_event
  type struct (line 8451) | typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl...
  type const (line 8785) | typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint prog...
  type const (line 8788) | typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint pr...
  type const (line 8789) | typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLui...
  type GLuint (line 9046) | typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n...
  type GLuint (line 10353) | typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n,...
  type GLvoid (line 10517) | typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, co...
  type GLvoid (line 11057) | typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
  type GLvoid (line 12267) | typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, G...
  type GLvoid (line 12269) | typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buff...
  type const (line 12843) | typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC...
  type const (line 12844) | typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPRO...
  type GLvoid (line 13130) | typedef GLvoid* (APIENTRYP PFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, ...

FILE: Include/gl/glxext.h
  type XID (line 52) | typedef XID GLXContextID;
  type __GLXFBConfigRec (line 53) | struct __GLXFBConfigRec
  type XID (line 54) | typedef XID GLXWindow;
  type XID (line 55) | typedef XID GLXPbuffer;
  type GLXFBConfig (line 112) | typedef GLXFBConfig *( *PFNGLXGETFBCONFIGSPROC) (Display *dpy, int scree...
  type GLXFBConfig (line 113) | typedef GLXFBConfig *( *PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int scr...
  type XVisualInfo (line 115) | typedef XVisualInfo *( *PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, ...
  type GLXWindow (line 116) | typedef GLXWindow ( *PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig ...
  type GLXPixmap (line 118) | typedef GLXPixmap ( *PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig ...
  type GLXPbuffer (line 120) | typedef GLXPbuffer ( *PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfi...
  type GLXContext (line 123) | typedef GLXContext ( *PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBCo...
  type Bool (line 124) | typedef Bool ( *PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable...
  type GLXDrawable (line 125) | typedef GLXDrawable ( *PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
  type __GLXextFuncPtr (line 155) | typedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSPROC) (const GLubyte *pro...
  type GLXContext (line 175) | typedef GLXContext ( *PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, ...
  type __GLXextFuncPtr (line 209) | typedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *...
  type GLXContext (line 256) | typedef GLXContext ( *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC) (unsigned in...
  type GLXContext (line 257) | typedef GLXContext ( *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (unsi...
  type Bool (line 258) | typedef Bool ( *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC) (GLXContext ctx);
  type Bool (line 259) | typedef Bool ( *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext c...
  type GLXContext (line 260) | typedef GLXContext ( *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
  type Display (line 306) | typedef Display *( *PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
  type GLXContextID (line 308) | typedef GLXContextID ( *PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext con...
  type GLXContext (line 309) | typedef GLXContext ( *PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXCont...
  type GLXStereoNotifyEventEXT (line 322) | typedef struct {
  type GLXPixmap (line 448) | typedef GLXPixmap ( *PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisu...
  type Bool (line 468) | typedef Bool ( *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribut...
  type Bool (line 470) | typedef Bool ( *PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int s...
  type Bool (line 482) | typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable...
  type Bool (line 492) | typedef Bool ( *PFNGLXSET3DFXMODEMESAPROC) (int mode);
  type Bool (line 518) | typedef Bool ( *PFNGLXDELAYBEFORESWAPNVPROC) (Display *dpy, GLXDrawable ...
  type Bool (line 548) | typedef Bool ( *PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable dr...
  type Bool (line 549) | typedef Bool ( *PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group...
  type Bool (line 550) | typedef Bool ( *PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable d...
  type Bool (line 551) | typedef Bool ( *PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int scree...
  type Bool (line 552) | typedef Bool ( *PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, ...
  type Bool (line 553) | typedef Bool ( *PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
  type XID (line 566) | typedef XID GLXVideoCaptureDeviceNV;
  type GLXVideoCaptureDeviceNV (line 571) | typedef GLXVideoCaptureDeviceNV *( *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNV...
  type GLXVideoDeviceNV (line 586) | typedef unsigned int GLXVideoDeviceNV;
  type __int32 (line 652) | typedef __int32 int32_t;
  type __int64 (line 653) | typedef __int64 int64_t;
  type Bool (line 660) | typedef Bool ( *PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable d...
  type Bool (line 661) | typedef Bool ( *PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable draw...
  type Bool (line 663) | typedef Bool ( *PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable draw...
  type Bool (line 664) | typedef Bool ( *PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable draw...
  type XID (line 693) | typedef XID GLXPbufferSGIX;
  type Bool (line 696) | typedef Bool ( *PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbuf...
  type __GLXFBConfigRec (line 705) | struct __GLXFBConfigRec
  type GLXFBConfigSGIX (line 717) | typedef GLXFBConfigSGIX *( *PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy,...
  type GLXPixmap (line 718) | typedef GLXPixmap ( *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *...
  type GLXContext (line 719) | typedef GLXContext ( *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *d...
  type XVisualInfo (line 720) | typedef XVisualInfo *( *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *d...
  type GLXFBConfigSGIX (line 721) | typedef GLXFBConfigSGIX ( *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display...
  type GLXHyperpipeNetworkSGIX (line 734) | typedef struct {
  type GLXHyperpipeConfigSGIX (line 738) | typedef struct {
  type GLXPipeRect (line 744) | typedef struct {
  type GLXPipeRectLimits (line 749) | typedef struct {
  type GLXHyperpipeNetworkSGIX (line 763) | typedef GLXHyperpipeNetworkSGIX *( *PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)...
  type GLXHyperpipeConfigSGIX (line 765) | typedef GLXHyperpipeConfigSGIX *( *PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (...
  type GLXPbufferSGIX (line 810) | typedef GLXPbufferSGIX ( *PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy,...
  type Bool (line 827) | typedef Bool ( *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int s...
  type XID (line 862) | typedef XID GLXVideoSourceSGIX;
  type GLXVideoSourceSGIX (line 864) | typedef GLXVideoSourceSGIX ( *PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Displ...
  type Bool (line 888) | typedef Bool ( *PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable...
  type GLXDrawable (line 889) | typedef GLXDrawable ( *PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
  type Status (line 916) | typedef Status ( *PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Windo...

FILE: Include/gl/wglext.h
  type const (line 89) | typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGL...
  type const (line 153) | typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int ...
  type const (line 218) | typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, in...
  type const (line 219) | typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, in...
  type const (line 220) | typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const i...
  type const (line 321) | typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UI...
  type const (line 415) | typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int ...
  type const (line 478) | typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const i...
  type const (line 512) | typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC,...
  type const (line 524) | typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, i...
  type USHORT (line 526) | typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntrie...
  type HANDLE (line 580) | typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC...
  type LPVOID (line 581) | typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, ...
  type _GPU_DEVICE (line 679) | struct _GPU_DEVICE {
  type _GPU_DEVICE (line 686) | struct _GPU_DEVICE

FILE: Include/glext.h
  type GLuint (line 2912) | typedef GLboolean (APIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei ...
  type GLuint (line 4184) | typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n...
  type GLvoid (line 4348) | typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, c...

FILE: Include/glide.h
  type FxU32 (line 49) | typedef FxU32 GrColor_t;
  type FxU8 (line 50) | typedef FxU8  GrAlpha_t;
  type FxU32 (line 51) | typedef FxU32 GrMipMapId_t;
  type FxU8 (line 52) | typedef FxU8  GrFog_t;
  type FxU32 (line 53) | typedef FxU32 GrContext_t;
  type FxI32 (line 70) | typedef FxI32 GrChipID_t;
  type FxI32 (line 77) | typedef FxI32 GrCombineFunction_t;
  type FxI32 (line 94) | typedef FxI32 GrCombineFactor_t;
  type FxI32 (line 113) | typedef FxI32 GrCombineLocal_t;
  type FxI32 (line 119) | typedef FxI32 GrCombineOther_t;
  type FxI32 (line 126) | typedef FxI32 GrAlphaSource_t;
  type FxI32 (line 133) | typedef FxI32 GrColorCombineFnc_t;
  type FxI32 (line 152) | typedef FxI32 GrAlphaBlendFnc_t;
  type FxI32 (line 173) | typedef FxI32 GrAspectRatio_t;
  type FxI32 (line 182) | typedef FxI32 GrBuffer_t;
  type FxI32 (line 190) | typedef FxI32 GrChromakeyMode_t;
  type FxI32 (line 194) | typedef FxI32 GrChromaRangeMode_t;
  type FxI32 (line 200) | typedef FxI32 GrTexChromakeyMode_t;
  type FxI32 (line 206) | typedef FxI32 GrCmpFnc_t;
  type FxI32 (line 216) | typedef FxI32 GrColorFormat_t;
  type FxI32 (line 223) | typedef FxI32 GrCullMode_t;
  type FxI32 (line 228) | typedef FxI32 GrDepthBufferMode_t;
  type FxI32 (line 235) | typedef FxI32 GrDitherMode_t;
  type FxI32 (line 240) | typedef FxI32 GrFogMode_t;
  type FxU32 (line 249) | typedef FxU32 GrLock_t;
  type FxI32 (line 255) | typedef FxI32 GrLfbBypassMode_t;
  type FxI32 (line 259) | typedef FxI32 GrLfbWriteMode_t;
  type FxI32 (line 279) | typedef FxI32 GrOriginLocation_t;
  type GrLfbInfo_t (line 284) | typedef struct {
  type FxI32 (line 292) | typedef FxI32 GrLOD_t;
  type FxI32 (line 303) | typedef FxI32 GrMipMapMode_t;
  type FxI32 (line 308) | typedef FxI32 GrSmoothingMode_t;
  type FxI32 (line 312) | typedef FxI32 GrTextureClampMode_t;
  type FxI32 (line 317) | typedef FxI32 GrTextureCombineFnc_t;
  type FxI32 (line 330) | typedef FxI32 GrTextureFilterMode_t;
  type FxI32 (line 334) | typedef FxI32 GrTextureFormat_t;
  type FxU32 (line 354) | typedef FxU32 GrTexTable_t;
  type FxU32 (line 360) | typedef FxU32 GrNCCTable_t;
  type FxU32 (line 364) | typedef FxU32 GrTexBaseRange_t;
  type FxU32 (line 371) | typedef FxU32 GrEnableMode_t;
  type FxU32 (line 381) | typedef FxU32 GrCoordinateSpaceMode_t;
  type GrTexInfo (line 487) | typedef struct {
  type GrSstPerfStats_t (line 495) | typedef struct GrSstPerfStats_s {
  type GrResolution (line 503) | typedef struct {
  type GrResolution (line 510) | typedef GrResolution GlideResolution;
  type FxU32 (line 514) | typedef FxU32 GrLfbSrcFmt_t;

FILE: Include/glideutl.h
  type Gu3dfHeader (line 71) | typedef struct
  type GuNccTable (line 79) | typedef struct
  type GuTexPalette (line 87) | typedef struct {
  type GuTexTable (line 91) | typedef union {
  type Gu3dfInfo (line 96) | typedef struct

FILE: Include/glu.h
  type GLUnurbs (line 210) | typedef struct GLUnurbs GLUnurbs;
  type GLUquadric (line 211) | typedef struct GLUquadric GLUquadric;
  type GLUtesselator (line 212) | typedef struct GLUtesselator GLUtesselator;
  type GLUnurbs (line 215) | typedef GLUnurbs GLUnurbsObj;
  type GLUquadric (line 216) | typedef GLUquadric GLUquadricObj;
  type GLUtesselator (line 217) | typedef GLUtesselator GLUtesselatorObj;
  type GLUtesselator (line 218) | typedef GLUtesselator GLUtriangulatorObj;

FILE: Include/qmixer.h
  type QSVECTOR (line 36) | typedef
  type QSPOLAR (line 44) | typedef
  type QMIXINFO (line 57) | typedef
  type UINT (line 78) | typedef UINT QMIX_RESULT;
  type QMIXCONFIG (line 124) | typedef
  type QMIX_CHANNEL_PARAMS (line 249) | typedef
  type QMIX_CHANNELTYPES (line 395) | typedef
  type MIXWAVE (line 419) | typedef struct MIXWAVE {
  type MIXWAVE (line 429) | typedef const MIXWAVE FAR* LPCMIXWAVE;
  type QMIXWAVEPARAMS (line 446) | typedef union {
  type QMIXPLAYPARAMS (line 517) | typedef struct QMIXPLAYPARAMS {
  type QMIX_DISTANCES (line 874) | typedef struct QMIX_DISTANCES {
  type QMIX_PROFILE (line 1083) | typedef struct QMIX_PROFILE {
  type WAVEMIXINFO (line 1222) | typedef struct WAVEMIXINFO {
  type MIXCONFIG (line 1256) | typedef struct MIXCONFIG {
  type QMEMRESIDENT (line 1289) | typedef struct QMEMRESIDENT {
  type QINPUTSTREAM (line 1307) | typedef struct QINPUTSTREAM {
  type QPOSITION (line 1338) | typedef struct QPOSITION {
  type MIXPLAYPARAMS (line 1370) | typedef struct MIXPLAYPARAMS {

FILE: Include/sst1init.h
  type sst1ClkTimingStruct (line 564) | typedef struct {
  type sst1InitDacRdWrStruct (line 573) | typedef struct {
  type sst1InitDacSetVideoStruct (line 581) | typedef struct {
  type sst1InitDacSetMemClkStruct (line 590) | typedef struct {
  type sst1InitDacSetVideoModeStruct (line 596) | typedef struct {
  type sst1InitDacStruct (line 602) | typedef struct {
  type sst1InitEnvVarStruct (line 614) | typedef struct {

FILE: dll/Inject.cpp
  function BOOL (line 16) | BOOL Inject(DWORD pID, const char * DLL_NAME)
  function LPVOID (line 74) | LPVOID GetThreadStartAddress(HANDLE hThread)

FILE: dll/advapi.cpp
  function HookAdvApi32 (line 31) | void HookAdvApi32(HMODULE module)
  function FARPROC (line 40) | FARPROC Remap_AdvApi32_ProcAddress(LPCSTR proc, HMODULE hModule)
  function ReplaceVar (line 79) | static int ReplaceVar(char *pData, LPBYTE *lplpData, LPDWORD lpcbData)
  function FILE (line 180) | static FILE *OpenFakeRegistry()
  function LONG (line 193) | static LONG SeekFakeKey(FILE *regf, HKEY hKey)
  function LONG (line 214) | static LONG SeekValueName(FILE *regf, LPCTSTR lpValueName)
  function LONG (line 244) | static LONG SeekValueIndex(FILE *regf, DWORD dwIndex, LPCTSTR lpValueNam...
  function DWORD (line 270) | static DWORD GetKeyValue(
  function LogKeyValue (line 380) | static void LogKeyValue(char *ApiName, LONG res, LPDWORD lpType, LPBYTE ...
  function LONG (line 404) | static LONG myRegOpenKeyEx(
  function LONG (line 442) | LONG WINAPI extRegOpenKeyEx(
  function LONG (line 479) | LONG WINAPI extRegQueryValue(
  function LONG (line 517) | LONG WINAPI extRegQueryValueEx(
  function LONG (line 558) | LONG WINAPI extRegCloseKey(HKEY hKey)
  function LONG (line 565) | LONG WINAPI extRegFlushKey(HKEY hKey)
  function LONG (line 572) | LONG WINAPI extRegSetValueEx(HKEY hKey, LPCTSTR lpValueName, DWORD Reser...
  function LONG (line 592) | LONG WINAPI extRegCreateKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD Reserve...
  function LONG (line 608) | LONG WINAPI extRegCreateKey(HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult)
  function LONG (line 621) | LONG WINAPI extRegEnumValueA(HKEY hKey, DWORD dwIndex, LPTSTR lpValueNam...

FILE: dll/avifile.cpp
  function HookAVIFil32 (line 48) | void HookAVIFil32(HMODULE module)
  function FARPROC (line 53) | FARPROC Remap_AVIFil32_ProcAddress(LPCSTR proc, HMODULE hModule)
  function VOID (line 106) | VOID WINAPI extAVIFileInit(void)
  function HRESULT (line 112) | HRESULT extAVIFileOpenA(PAVIFILE *ppfile, LPCSTR szFile, UINT mode, LPCL...
  function HRESULT (line 131) | HRESULT extAVIFileOpenW(PAVIFILE *ppfile, LPCWSTR szFile, UINT mode, LPC...
  function HRESULT (line 151) | HRESULT WINAPI extAVIFileGetStream(PAVIFILE pfile, PAVISTREAM *ppavi, DW...
  function LONG (line 165) | LONG WINAPI extAVIFileRelease(PAVIFILE pavi)
  function LONG (line 176) | LONG WINAPI extAVIStreamRelease(PAVISTREAM pavi)
  function PGETFRAME (line 186) | PGETFRAME WINAPI extAVIStreamGetFrameOpen(PAVISTREAM pavi, LPBITMAPINFOH...

FILE: dll/comctl32.cpp
  function HookComCtl32 (line 23) | void HookComCtl32(HMODULE module)
  function FARPROC (line 28) | FARPROC Remap_ComCtl32_ProcAddress(LPCSTR proc, HMODULE hModule)
  function BOOL (line 35) | BOOL WINAPI extInitializeFlatSB(HWND hwnd)
  function BOOL (line 48) | BOOL WINAPI extUninitializeFlatSB(HWND hwnd)

FILE: dll/comdlg32.cpp
  function HookComDlg32 (line 29) | void HookComDlg32(HMODULE module)
  function FARPROC (line 34) | FARPROC Remap_ComDlg32_ProcAddress(LPCSTR proc, HMODULE hModule)
  function BOOL (line 41) | BOOL WINAPI extGetSaveFileNameA(LPOPENFILENAMEA lpofn)
  function BOOL (line 53) | BOOL WINAPI extGetOpenFileNameA(LPOPENFILENAMEA lpofn)
  function BOOL (line 65) | BOOL WINAPI extGetSaveFileNameW(LPOPENFILENAMEW lpofn)
  function BOOL (line 77) | BOOL WINAPI extGetOpenFileNameW(LPOPENFILENAMEW lpofn)

FILE: dll/cpulimit.cpp
  function DWORD (line 13) | DWORD WINAPI CpuSlow(LPVOID lpThreadParameter)
  function DWORD (line 26) | DWORD WINAPI CpuLimit(LPVOID lpThreadParameter)
  function BOOL (line 37) | BOOL SlowCpuSpeed(DWORD dwOwnerPID, DWORD dwOwnerThread, int iSlowDownRa...
  function FILETIME (line 100) | static FILETIME FTFTSUM(FILETIME a, FILETIME b)
  function FILETIME (line 109) | static FILETIME FTDWSUM(FILETIME a, DWORD b)
  function DWORD (line 118) | static DWORD DWDIFF(FILETIME a, FILETIME b)
  function BOOL (line 132) | static BOOL RefreshThreadList(int *iNumThreads, ThreadDesc_Type ProcessT...
  function BOOL (line 199) | BOOL LimitCpuUsage(DWORD dwOwnerPID, DWORD dwOwnerThread, int iSlowDownR...

FILE: dll/d3dtexture.cpp
  function HashBuffer (line 26) | static unsigned int HashBuffer(BYTE *buf, int len)
  function WORD (line 38) | static WORD Melt_123(WORD c1, WORD c2)
  function DWORD (line 54) | static DWORD Melt32_123(WORD c1, WORD c2)
  function DWORD (line 70) | static DWORD Conv32(WORD c)
  function FormatColorDepth (line 152) | static int FormatColorDepth(D3DFORMAT Format)
  function DWORD (line 178) | static DWORD DDSTextureType(D3DFORMAT Format)
  function DWORD (line 210) | static DWORD TextureSize(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)
  function SetDDSPixelFormat (line 241) | static void SetDDSPixelFormat(D3DFORMAT Format, DDS_PIXELFORMAT *pf)
  function DWORD (line 291) | static DWORD D3DHash(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)
  function BOOL (line 341) | BOOL SetBMPStruct(LPBITMAPV4HEADER lpBV4Hdr, LPBITMAPFILEHEADER lpBFHdr,...
  function D3DTextureDump (line 418) | void D3DTextureDump(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)
  function D3DTextureHack (line 732) | void D3DTextureHack(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)
  function D3DTextureTransp (line 932) | void D3DTextureTransp(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)
  function D3DTextureHighlight (line 997) | void D3DTextureHighlight(D3DSURFACE_DESC Desc, D3DLOCKED_RECT LockedRect)

FILE: dll/ddblit.cpp
  function HRESULT (line 38) | static HRESULT sBltNoPrimary(int dxversion, Blt_Type pBlt, char *api, LP...
  function HRESULT (line 136) | static HRESULT sBltToPrimary(int dxversion, Blt_Type pBlt, char *api, LP...
  function HRESULT (line 412) | HRESULT WINAPI sBlt(int dxversion, Blt_Type pBlt, char *api, LPDIRECTDRA...

FILE: dll/ddcreates.cpp
  function InitDSScreenParameters (line 51) | void InitDSScreenParameters(int dxversion, LPDIRECTDRAWSURFACE lpdds)
  function ClearSurfaceDesc (line 78) | static void ClearSurfaceDesc(void *ddsd, int dxversion)
  function BuildRealSurfaces (line 86) | static void BuildRealSurfaces(LPDIRECTDRAW lpdd, CreateSurface_Type pCre...
  function RestoreDDrawSurfaces (line 168) | void RestoreDDrawSurfaces()
  function HRESULT (line 188) | static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCr...
  function HRESULT (line 261) | static HRESULT BuildPrimaryFlippable(LPDIRECTDRAW lpdd, CreateSurface_Ty...
  function HRESULT (line 341) | static HRESULT BuildPrimaryFullscreen(LPDIRECTDRAW lpdd, CreateSurface_T...
  function HRESULT (line 381) | static HRESULT BuildPrimaryDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCr...
  function HRESULT (line 453) | static HRESULT BuildBackBufferEmu(LPDIRECTDRAW lpdd, CreateSurface_Type ...
  function HRESULT (line 521) | static HRESULT BuildBackBufferFlippable(LPDIRECTDRAW lpdd, CreateSurface...
  function HRESULT (line 572) | static HRESULT AttachBackBufferFlippable(LPDIRECTDRAW lpdd, CreateSurfac...
  function HRESULT (line 608) | static HRESULT BuildBackBufferFullscreen(LPDIRECTDRAW lpdd, CreateSurfac...
  function HRESULT (line 614) | static HRESULT AttachBackBufferFullscreen(LPDIRECTDRAW lpdd, CreateSurfa...
  function HRESULT (line 620) | static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type ...
  function HRESULT (line 692) | static HRESULT BuildGenericEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCr...
  function HRESULT (line 757) | static HRESULT BuildGenericFlippable(LPDIRECTDRAW lpdd, CreateSurface_Ty...
  function HRESULT (line 810) | static HRESULT BuildGenericDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCr...
  function HRESULT (line 841) | HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreat...

FILE: dll/ddraw.cpp
  function NullMethodPointer (line 19) | static void NullMethodPointer(char *s)
  function FARPROC (line 476) | FARPROC Remap_ddraw_ProcAddress(LPCSTR proc, HMODULE hModule)
  function HRESULT (line 495) | static HRESULT myGetDisplayMode(int dxversion, LPDIRECTDRAW lpdd, LPDDSU...
  function SetVSyncDelays (line 509) | void SetVSyncDelays(int dxversion, LPDIRECTDRAW lpdd)
  function DWORD (line 521) | static DWORD GetBltWaitFlags(DWORD dwBltFlags)
  function DWORD (line 534) | static DWORD GetFlipWaitFlags(DWORD dwFlipFlags)
  function DWORD (line 547) | static DWORD SetPrimaryCaps(DWORD dwCaps)
  function DWORD (line 554) | static DWORD SetBackBufferCaps(DWORD dwCaps)
  function DWORD (line 562) | static DWORD SetZBufferCaps(DWORD dwCaps)
  function Stopper (line 577) | static void Stopper(char *s, int line)
  function CHAR (line 596) | CHAR *LogSurfaceAttributes(LPDDSURFACEDESC2 lpddsd, char *label, int line)
  function DumpPixFmt (line 635) | void DumpPixFmt(LPDDSURFACEDESC2 lpdds)
  function mySetPalette (line 646) | void mySetPalette(int dwstart, int dwcount, LPPALETTEENTRY lpentries)
  function InitDDScreenParameters (line 716) | void InitDDScreenParameters(int dxversion, LPDIRECTDRAW lpdd)
  function InitScreenParameters (line 734) | void InitScreenParameters(int dxversion)
  function FixPixelFormat (line 776) | void FixPixelFormat(int ColorDepth, DDPIXELFORMAT *pf)
  function ddSetCompatibility (line 823) | static void ddSetCompatibility()
  function BypassGOGDDrawRedirector (line 853) | static void BypassGOGDDrawRedirector()
  function HookDirectDraw (line 871) | int HookDirectDraw(HMODULE module, int version)
  function CreatePalette_Type (line 951) | CreatePalette_Type pCreatePaletteMethod(int dxversion)
  function SetPalette_Type (line 965) | SetPalette_Type pSetPaletteMethod(int dxversion)
  function ReleaseS_Type (line 979) | ReleaseS_Type pReleaseSMethod(int dxversion)
  function ReleaseDC_Type (line 993) | ReleaseDC_Type pReleaseDCMethod()
  function SetClipper_Type (line 1007) | SetClipper_Type pSetClipperMethod(int dxversion)
  function Blt_Type (line 1021) | Blt_Type pGetBltMethod(int dxversion)
  function Blt_Type (line 1035) | Blt_Type pBltMethod()
  function GetDC_Type (line 1049) | GetDC_Type pGetDCMethod()
  function Unlock4_Type (line 1063) | Unlock4_Type pUnlockMethod(int dxversion)
  function Lock_Type (line 1077) | Lock_Type pLockMethod(int dxversion)
  function CreateSurface2_Type (line 1091) | CreateSurface2_Type pCreateSurfaceMethod(int dxversion)
  function GetSurfaceDesc2_Type (line 1105) | GetSurfaceDesc2_Type pGetSurfaceDescMethod()
  function GetGDISurface_Type (line 1120) | GetGDISurface_Type pGetGDISurfaceMethod(int dxversion)
  function lpddsHookedVersion (line 1135) | int lpddsHookedVersion()
  function DescribeSurface (line 1140) | void DescribeSurface(LPDIRECTDRAWSURFACE lpdds, int dxversion, char *lab...
  function RegisterPixelFormat (line 1156) | void RegisterPixelFormat(int dxversion, LPDIRECTDRAWSURFACE lpdds)
  function SetPixFmt (line 1178) | void SetPixFmt(LPDDSURFACEDESC2 lpdd)
  function GetPixFmt (line 1209) | void GetPixFmt(LPDDSURFACEDESC2 lpdd)
  function Set_dwSize_From_Surface (line 1219) | int Set_dwSize_From_Surface()
  function HookDDSession (line 1232) | void HookDDSession(LPDIRECTDRAW *lplpdd, int dxversion)
  function HookDDClipper (line 1355) | void HookDDClipper(LPDIRECTDRAWCLIPPER FAR* lplpDDClipper)
  function HookDDPalette (line 1365) | static void HookDDPalette(LPDIRECTDRAWPALETTE FAR* lplpDDPalette)
  function HookDDSurface (line 1374) | void HookDDSurface(LPDIRECTDRAWSURFACE *lplpdds, int dxversion, BOOL isP...
  function HookGammaControl (line 1543) | void HookGammaControl(LPVOID *obp)
  function CleanRect (line 1558) | static void CleanRect(RECT **lprect, int line)
  function MaskCapsD (line 1577) | static void MaskCapsD(LPDDCAPS c1, LPDDCAPS c2)
  function HandleCapsD (line 1643) | static void HandleCapsD(char *sLabel, LPDDCAPS c)
  function HRESULT (line 1694) | static HRESULT WINAPI extGetCapsD(int dxversion, GetCapsD_Type pGetCapsD...
  function HRESULT (line 1770) | HRESULT WINAPI extGetCaps1D(LPDIRECTDRAW lpdd, LPDDCAPS c1, LPDDCAPS c2)
  function HRESULT (line 1772) | HRESULT WINAPI extGetCaps2D(LPDIRECTDRAW lpdd, LPDDCAPS c1, LPDDCAPS c2)
  function HRESULT (line 1774) | HRESULT WINAPI extGetCaps3D(LPDIRECTDRAW lpdd, LPDDCAPS c1, LPDDCAPS c2)
  function HRESULT (line 1776) | HRESULT WINAPI extGetCaps4D(LPDIRECTDRAW lpdd, LPDDCAPS c1, LPDDCAPS c2)
  function HRESULT (line 1778) | HRESULT WINAPI extGetCaps7D(LPDIRECTDRAW lpdd, LPDDCAPS_DX7 c1, LPDDCAPS...
  function HRESULT (line 1781) | HRESULT WINAPI extDirectDrawCreate(GUID FAR *lpguid, LPDIRECTDRAW FAR *l...
  function HRESULT (line 1873) | HRESULT WINAPI extDirectDrawCreateEx(GUID FAR *lpguid,
  function HRESULT (line 1947) | static HRESULT WINAPI extInitialize(int dxversion, Initialize_Type pInit...
  function HRESULT (line 1968) | HRESULT WINAPI extInitialize1(LPDIRECTDRAW lpdd, GUID FAR *lpguid)
  function HRESULT (line 1970) | HRESULT WINAPI extInitialize2(LPDIRECTDRAW lpdd, GUID FAR *lpguid)
  function HRESULT (line 1972) | HRESULT WINAPI extInitialize3(LPDIRECTDRAW lpdd, GUID FAR *lpguid)
  function HRESULT (line 1974) | HRESULT WINAPI extInitialize4(LPDIRECTDRAW lpdd, GUID FAR *lpguid)
  function HRESULT (line 1976) | HRESULT WINAPI extInitialize7(LPDIRECTDRAW lpdd, GUID FAR *lpguid)
  function HRESULT (line 1979) | static HRESULT WINAPI extRestoreDisplayMode(int dxversion, RestoreDispla...
  function HRESULT (line 1989) | HRESULT WINAPI extRestoreDisplayMode1(LPDIRECTDRAW lpdd)
  function HRESULT (line 1991) | HRESULT WINAPI extRestoreDisplayMode2(LPDIRECTDRAW lpdd)
  function HRESULT (line 1993) | HRESULT WINAPI extRestoreDisplayMode3(LPDIRECTDRAW lpdd)
  function HRESULT (line 1995) | HRESULT WINAPI extRestoreDisplayMode4(LPDIRECTDRAW lpdd)
  function HRESULT (line 1997) | HRESULT WINAPI extRestoreDisplayMode7(LPDIRECTDRAW lpdd)
  function HRESULT (line 2000) | HRESULT WINAPI extGetScanLine(int dxversion, GetScanLine_Type pGetScanLi...
  function HRESULT (line 2014) | HRESULT WINAPI extGetScanLine1(LPDIRECTDRAW lpdd, LPDWORD lpdwScanLine)
  function HRESULT (line 2016) | HRESULT WINAPI extGetScanLine2(LPDIRECTDRAW lpdd, LPDWORD lpdwScanLine)
  function HRESULT (line 2018) | HRESULT WINAPI extGetScanLine3(LPDIRECTDRAW lpdd, LPDWORD lpdwScanLine)
  function HRESULT (line 2020) | HRESULT WINAPI extGetScanLine4(LPDIRECTDRAW lpdd, LPDWORD lpdwScanLine)
  function HRESULT (line 2022) | HRESULT WINAPI extGetScanLine7(LPDIRECTDRAW lpdd, LPDWORD lpdwScanLine)
  function HRESULT (line 2025) | HRESULT WINAPI extQueryInterfaceD1(void *lpdd, REFIID riid, LPVOID *obp)
  function HRESULT (line 2027) | HRESULT WINAPI extQueryInterfaceD2(void *lpdd, REFIID riid, LPVOID *obp)
  function HRESULT (line 2029) | HRESULT WINAPI extQueryInterfaceD3(void *lpdd, REFIID riid, LPVOID *obp)
  function HRESULT (line 2031) | HRESULT WINAPI extQueryInterfaceD4(void *lpdd, REFIID riid, LPVOID *obp)
  function HRESULT (line 2033) | HRESULT WINAPI extQueryInterfaceD7(void *lpdd, REFIID riid, LPVOID *obp)
  function HRESULT (line 2036) | HRESULT WINAPI extQueryInterfaceS1(void *lpdds, REFIID riid, LPVOID *obp)
  function HRESULT (line 2038) | HRESULT WINAPI extQueryInterfaceS2(void *lpdds, REFIID riid, LPVOID *obp)
  function HRESULT (line 2040) | HRESULT WINAPI extQueryInterfaceS3(void *lpdds, REFIID riid, LPVOID *obp)
  function HRESULT (line 2042) | HRESULT WINAPI extQueryInterfaceS4(void *lpdds, REFIID riid, LPVOID *obp)
  function HRESULT (line 2044) | HRESULT WINAPI extQueryInterfaceS7(void *lpdds, REFIID riid, LPVOID *obp)
  function HRESULT (line 2047) | HRESULT WINAPI extSetDisplayMode(int dxversion, LPDIRECTDRAW lpdd,
  function HRESULT (line 2154) | HRESULT WINAPI extSetDisplayMode1(LPDIRECTDRAW lpdd, DWORD dwwidth, DWOR...
  function HRESULT (line 2156) | HRESULT WINAPI extSetDisplayMode2(LPDIRECTDRAW lpdd, DWORD dwwidth, DWOR...
  function HRESULT (line 2158) | HRESULT WINAPI extSetDisplayMode3(LPDIRECTDRAW lpdd, DWORD dwwidth, DWOR...
  function HRESULT (line 2160) | HRESULT WINAPI extSetDisplayMode4(LPDIRECTDRAW lpdd, DWORD dwwidth, DWOR...
  function HRESULT (line 2162) | HRESULT WINAPI extSetDisplayMode7(LPDIRECTDRAW lpdd, DWORD dwwidth, DWOR...
  function HRESULT (line 2165) | HRESULT WINAPI extGetDisplayMode(int dxversion, GetDisplayMode_Type pGet...
  function HRESULT (line 2205) | HRESULT WINAPI extGetDisplayMode1(LPDIRECTDRAW lpdd, LPDDSURFACEDESC lpd...
  function HRESULT (line 2207) | HRESULT WINAPI extGetDisplayMode2(LPDIRECTDRAW lpdd, LPDDSURFACEDESC lpd...
  function HRESULT (line 2209) | HRESULT WINAPI extGetDisplayMode3(LPDIRECTDRAW lpdd, LPDDSURFACEDESC lpd...
  function HRESULT (line 2211) | HRESULT WINAPI extGetDisplayMode4(LPDIRECTDRAW lpdd, LPDDSURFACEDESC2 lp...
  function HRESULT (line 2213) | HRESULT WINAPI extGetDisplayMode7(LPDIRECTDRAW lpdd, LPDDSURFACEDESC2 lp...
  function HWND (line 2216) | static HWND CreateVirtualDesktop(LPRECT TargetPos)
  function HRESULT (line 2237) | HRESULT WINAPI extSetCooperativeLevel(int dxversion, SetCooperativeLevel...
  function HRESULT (line 2376) | HRESULT WINAPI extSetCooperativeLevel1(LPDIRECTDRAW lpdd, HWND hwnd, DWO...
  function HRESULT (line 2378) | HRESULT WINAPI extSetCooperativeLevel2(LPDIRECTDRAW lpdd, HWND hwnd, DWO...
  function HRESULT (line 2380) | HRESULT WINAPI extSetCooperativeLevel3(LPDIRECTDRAW lpdd, HWND hwnd, DWO...
  function HRESULT (line 2382) | HRESULT WINAPI extSetCooperativeLevel4(LPDIRECTDRAW lpdd, HWND hwnd, DWO...
  function HRESULT (line 2384) | HRESULT WINAPI extSetCooperativeLevel7(LPDIRECTDRAW lpdd, HWND hwnd, DWO...
  function FixSurfaceCapsInner (line 2387) | void FixSurfaceCapsInner(LPDDSURFACEDESC2 lpddsd, int dxversion)
  function FixSurfaceCaps (line 2473) | void FixSurfaceCaps(LPDDSURFACEDESC2 lpddsd, int dxversion)
  function HRESULT (line 2484) | HRESULT WINAPI extCreateSurface1(LPDIRECTDRAW lpdd, DDSURFACEDESC *lpdds...
  function HRESULT (line 2486) | HRESULT WINAPI extCreateSurface2(LPDIRECTDRAW lpdd, DDSURFACEDESC *lpdds...
  function HRESULT (line 2488) | HRESULT WINAPI extCreateSurface3(LPDIRECTDRAW lpdd, DDSURFACEDESC *lpdds...
  function HRESULT (line 2490) | HRESULT WINAPI extCreateSurface4(LPDIRECTDRAW lpdd, DDSURFACEDESC2 *lpdd...
  function HRESULT (line 2492) | HRESULT WINAPI extCreateSurface7(LPDIRECTDRAW lpdd, DDSURFACEDESC2 *lpdd...
  function HRESULT (line 2496) | HRESULT WINAPI extGetAttachedSurface(int dxversion, GetAttachedSurface_T...
  function HRESULT (line 2627) | HRESULT WINAPI extGetAttachedSurface1(LPDIRECTDRAWSURFACE lpdds, LPDDSCA...
  function HRESULT (line 2629) | HRESULT WINAPI extGetAttachedSurface2(LPDIRECTDRAWSURFACE lpdds, LPDDSCA...
  function HRESULT (line 2631) | HRESULT WINAPI extGetAttachedSurface3(LPDIRECTDRAWSURFACE lpdds, LPDDSCA...
  function HRESULT (line 2633) | HRESULT WINAPI extGetAttachedSurface4(LPDIRECTDRAWSURFACE lpdds, LPDDSCA...
  function HRESULT (line 2635) | HRESULT WINAPI extGetAttachedSurface7(LPDIRECTDRAWSURFACE lpdds, LPDDSCA...
  function BlitError (line 2638) | void BlitError(HRESULT res, LPRECT lps, LPRECT lpd, int line)
  function BlitTrace (line 2657) | void BlitTrace(char *label, LPRECT lps, LPRECT lpd, int line)
  function HRESULT (line 2674) | HRESULT WINAPI PrimaryBlt(int dxversion, Blt_Type pBlt, LPDIRECTDRAWSURF...
  function HRESULT (line 2690) | HRESULT WINAPI PrimaryFastBlt(int dxversion, Blt_Type pBlt, LPDIRECTDRAW...
  function HRESULT (line 2729) | HRESULT WINAPI PrimaryStretchBlt(int dxversion, Blt_Type pBlt, LPDIRECTD...
  function HRESULT (line 2877) | HRESULT WINAPI PrimaryBilinearBlt(int dxversion, Blt_Type pBlt, LPDIRECT...
  function HRESULT (line 3013) | HRESULT WINAPI PrimaryNoBlt(int dxversion, Blt_Type pBlt, LPDIRECTDRAWSU...
  function HRESULT (line 3020) | HRESULT WINAPI ColorConversionEmulated(int dxversion, LPDIRECTDRAWSURFAC...
  function HRESULT (line 3044) | HRESULT WINAPI ColorConversionGDI(int version, LPDIRECTDRAWSURFACE lpdds...
  function HRESULT (line 3080) | HRESULT WINAPI ColorConversionDDRAW(int dxversion, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3086) | HRESULT WINAPI extFlip(int dxversion, Flip_Type pFlip, LPDIRECTDRAWSURFA...
  function HRESULT (line 3243) | HRESULT WINAPI extFlip1(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3245) | HRESULT WINAPI extFlip2(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3247) | HRESULT WINAPI extFlip3(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3249) | HRESULT WINAPI extFlip4(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3251) | HRESULT WINAPI extFlip7(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE l...
  function HRESULT (line 3254) | HRESULT WINAPI extBlt(int dxversion, Blt_Type pBlt, LPDIRECTDRAWSURFACE ...
  function HRESULT (line 3265) | HRESULT WINAPI extBlt1(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, LPD...
  function HRESULT (line 3267) | HRESULT WINAPI extBlt2(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, LPD...
  function HRESULT (line 3269) | HRESULT WINAPI extBlt3(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, LPD...
  function HRESULT (line 3271) | HRESULT WINAPI extBlt4(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, LPD...
  function HRESULT (line 3273) | HRESULT WINAPI extBlt7(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, LPD...
  function HRESULT (line 3276) | static HRESULT WINAPI extBltFast(int dxversion, Blt_Type pBlt, BltFast_T...
  function HRESULT (line 3379) | HRESULT WINAPI extBltFast1(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD d...
  function HRESULT (line 3381) | HRESULT WINAPI extBltFast2(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD d...
  function HRESULT (line 3383) | HRESULT WINAPI extBltFast3(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD d...
  function HRESULT (line 3385) | HRESULT WINAPI extBltFast4(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD d...
  function HRESULT (line 3387) | HRESULT WINAPI extBltFast7(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD d...
  function HRESULT (line 3390) | HRESULT WINAPI extWaitForVerticalBlank(WaitForVerticalBlank_Type pWaitFo...
  function HRESULT (line 3410) | HRESULT WINAPI extWaitForVerticalBlank1(LPDIRECTDRAW lpdd, DWORD dwflags...
  function HRESULT (line 3412) | HRESULT WINAPI extWaitForVerticalBlank2(LPDIRECTDRAW lpdd, DWORD dwflags...
  function HRESULT (line 3414) | HRESULT WINAPI extWaitForVerticalBlank3(LPDIRECTDRAW lpdd, DWORD dwflags...
  function HRESULT (line 3416) | HRESULT WINAPI extWaitForVerticalBlank4(LPDIRECTDRAW lpdd, DWORD dwflags...
  function HRESULT (line 3418) | HRESULT WINAPI extWaitForVerticalBlank7(LPDIRECTDRAW lpdd, DWORD dwflags...
  function HRESULT (line 3423) | HRESULT WINAPI extCreatePalette(int version, CreatePalette_Type pCreateP...
  function HRESULT (line 3443) | HRESULT WINAPI extCreatePalette1(LPDIRECTDRAW lpdd, DWORD dwflags, LPPAL...
  function HRESULT (line 3445) | HRESULT WINAPI extCreatePalette2(LPDIRECTDRAW lpdd, DWORD dwflags, LPPAL...
  function HRESULT (line 3447) | HRESULT WINAPI extCreatePalette3(LPDIRECTDRAW lpdd, DWORD dwflags, LPPAL...
  function HRESULT (line 3449) | HRESULT WINAPI extCreatePalette4(LPDIRECTDRAW lpdd, DWORD dwflags, LPPAL...
  function HRESULT (line 3451) | HRESULT WINAPI extCreatePalette7(LPDIRECTDRAW lpdd, DWORD dwflags, LPPAL...
  function HRESULT (line 3454) | HRESULT WINAPI extGetPalette(int dxversion, GetPalette_Type pGetPalette,...
  function HRESULT (line 3486) | HRESULT WINAPI extGetPalette1(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3488) | HRESULT WINAPI extGetPalette2(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3490) | HRESULT WINAPI extGetPalette3(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3492) | HRESULT WINAPI extGetPalette4(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3494) | HRESULT WINAPI extGetPalette7(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3497) | HRESULT WINAPI extSetPalette(int dxversion, SetPalette_Type pSetPalette,...
  function HRESULT (line 3543) | HRESULT WINAPI extSetPalette1(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3545) | HRESULT WINAPI extSetPalette2(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3547) | HRESULT WINAPI extSetPalette3(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3549) | HRESULT WINAPI extSetPalette4(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3551) | HRESULT WINAPI extSetPalette7(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPAL...
  function HRESULT (line 3554) | HRESULT WINAPI extSetEntries(LPDIRECTDRAWPALETTE lpddp, DWORD dwflags, D...
  function HRESULT (line 3588) | static HRESULT WINAPI extSetClipper(int dxversion, SetClipper_Type pSetC...
  function HRESULT (line 3631) | HRESULT WINAPI extSetClipper1(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLI...
  function HRESULT (line 3633) | HRESULT WINAPI extSetClipper2(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLI...
  function HRESULT (line 3635) | HRESULT WINAPI extSetClipper3(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLI...
  function HRESULT (line 3637) | HRESULT WINAPI extSetClipper4(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLI...
  function HRESULT (line 3639) | HRESULT WINAPI extSetClipper7(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLI...
  function PushLockedRect (line 3648) | static void PushLockedRect(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function LPRECT (line 3655) | static LPRECT PopLockedRect(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function HRESULT (line 3665) | static HRESULT WINAPI extLock(int dxversion, Lock_Type pLock, LPDIRECTDR...
  function HRESULT (line 3711) | HRESULT WINAPI extLock1(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPDDSU...
  function HRESULT (line 3713) | HRESULT WINAPI extLock2(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPDDSU...
  function HRESULT (line 3715) | HRESULT WINAPI extLock3(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPDDSU...
  function HRESULT (line 3717) | HRESULT WINAPI extLock4(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPDDSU...
  function HRESULT (line 3719) | HRESULT WINAPI extLock7(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPDDSU...
  function HRESULT (line 3724) | static HRESULT WINAPI extLockDir(int dxversion, Lock_Type pLock, LPDIREC...
  function HRESULT (line 3830) | HRESULT WINAPI extLockDir1(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPD...
  function HRESULT (line 3832) | HRESULT WINAPI extLockDir2(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPD...
  function HRESULT (line 3834) | HRESULT WINAPI extLockDir3(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPD...
  function HRESULT (line 3836) | HRESULT WINAPI extLockDir4(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPD...
  function HRESULT (line 3838) | HRESULT WINAPI extLockDir7(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect, LPD...
  function HRESULT (line 3844) | static HRESULT WINAPI extUnlock(int dxversion, Unlock4_Type pUnlock, LPD...
  function HRESULT (line 3965) | HRESULT WINAPI extUnlock1(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 3967) | HRESULT WINAPI extUnlock2(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 3969) | HRESULT WINAPI extUnlock3(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 3971) | HRESULT WINAPI extUnlock4(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function HRESULT (line 3973) | HRESULT WINAPI extUnlock7(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function HRESULT (line 3976) | static HRESULT WINAPI extUnlockDir(int dxversion, Unlock4_Type pUnlock, ...
  function HRESULT (line 4078) | HRESULT WINAPI extUnlockDir1(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 4080) | HRESULT WINAPI extUnlockDir2(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 4082) | HRESULT WINAPI extUnlockDir3(LPDIRECTDRAWSURFACE lpdds, LPVOID lpvoid)
  function HRESULT (line 4084) | HRESULT WINAPI extUnlockDir4(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function HRESULT (line 4086) | HRESULT WINAPI extUnlockDir7(LPDIRECTDRAWSURFACE lpdds, LPRECT lprect)
  function HRESULT (line 4094) | static HRESULT WINAPI extGetDC(int dxversion, GetDC_Type pGetDC, LPDIREC...
  function HRESULT (line 4139) | HRESULT WINAPI extGetDC1(LPDIRECTDRAWSURFACE lpdds, HDC FAR *pHDC)
  function HRESULT (line 4141) | HRESULT WINAPI extGetDC2(LPDIRECTDRAWSURFACE lpdds, HDC FAR *pHDC)
  function HRESULT (line 4143) | HRESULT WINAPI extGetDC3(LPDIRECTDRAWSURFACE lpdds, HDC FAR *pHDC)
  function HRESULT (line 4145) | HRESULT WINAPI extGetDC4(LPDIRECTDRAWSURFACE lpdds, HDC FAR *pHDC)
  function HRESULT (line 4147) | HRESULT WINAPI extGetDC7(LPDIRECTDRAWSURFACE lpdds, HDC FAR *pHDC)
  function HRESULT (line 4150) | HRESULT WINAPI extReleaseDC(int dxversion, ReleaseDC_Type pReleaseDC, LP...
  function HRESULT (line 4171) | HRESULT WINAPI extReleaseDC1(LPDIRECTDRAWSURFACE lpdds, HDC FAR hdc)
  function HRESULT (line 4173) | HRESULT WINAPI extReleaseDC2(LPDIRECTDRAWSURFACE lpdds, HDC FAR hdc)
  function HRESULT (line 4175) | HRESULT WINAPI extReleaseDC3(LPDIRECTDRAWSURFACE lpdds, HDC FAR hdc)
  function HRESULT (line 4177) | HRESULT WINAPI extReleaseDC4(LPDIRECTDRAWSURFACE lpdds, HDC FAR hdc)
  function HRESULT (line 4179) | HRESULT WINAPI extReleaseDC7(LPDIRECTDRAWSURFACE lpdds, HDC FAR hdc)
  function HRESULT (line 4183) | HRESULT WINAPI extFlipToGDISurface(FlipToGDISurface_Type pFlipToGDISurfa...
  function HRESULT (line 4198) | HRESULT WINAPI extFlipToGDISurface1(LPDIRECTDRAW lpdd)
  function HRESULT (line 4200) | HRESULT WINAPI extFlipToGDISurface2(LPDIRECTDRAW lpdd)
  function HRESULT (line 4202) | HRESULT WINAPI extFlipToGDISurface3(LPDIRECTDRAW lpdd)
  function HRESULT (line 4204) | HRESULT WINAPI extFlipToGDISurface4(LPDIRECTDRAW lpdd)
  function HRESULT (line 4206) | HRESULT WINAPI extFlipToGDISurface7(LPDIRECTDRAW lpdd)
  function HRESULT (line 4209) | HRESULT WINAPI extGetGDISurface(int dxversion, GetGDISurface_Type pGetGD...
  function HRESULT (line 4234) | HRESULT WINAPI extGetGDISurface1(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE *w)
  function HRESULT (line 4236) | HRESULT WINAPI extGetGDISurface2(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE *w)
  function HRESULT (line 4238) | HRESULT WINAPI extGetGDISurface3(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE *w)
  function HRESULT (line 4240) | HRESULT WINAPI extGetGDISurface4(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE *w)
  function HRESULT (line 4242) | HRESULT WINAPI extGetGDISurface7(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE *w)
  function HRESULT (line 4247) | HRESULT WINAPI EnumModesCallbackDumper(LPDDSURFACEDESC lpDDSurfaceDesc, ...
  function BOOL (line 4285) | static BOOL CheckResolutionLimit(LPDDSURFACEDESC lpDDSurfaceDesc)
  function HRESULT (line 4314) | HRESULT WINAPI myEnumModesFilterDirect(LPDDSURFACEDESC lpDDSurfaceDesc, ...
  function HRESULT (line 4340) | HRESULT WINAPI myEnumModesFilterNative(LPDDSURFACEDESC lpDDSurfaceDesc, ...
  function HRESULT (line 4374) | HRESULT WINAPI extEnumDisplayModes(int dxversion, EnumDisplayModes1_Type...
  function HRESULT (line 4455) | HRESULT WINAPI extEnumDisplayModes1(LPDIRECTDRAW lpdd, DWORD dwflags, LP...
  function HRESULT (line 4457) | HRESULT WINAPI extEnumDisplayModes2(LPDIRECTDRAW lpdd, DWORD dwflags, LP...
  function HRESULT (line 4459) | HRESULT WINAPI extEnumDisplayModes3(LPDIRECTDRAW lpdd, DWORD dwflags, LP...
  function HRESULT (line 4461) | HRESULT WINAPI extEnumDisplayModes4(LPDIRECTDRAW lpdd, DWORD dwflags, LP...
  function HRESULT (line 4463) | HRESULT WINAPI extEnumDisplayModes7(LPDIRECTDRAW lpdd, DWORD dwflags, LP...
  function HRESULT (line 4466) | HRESULT WINAPI extGetPixelFormat(GetPixelFormat_Type pGetPixelFormat, LP...
  function HRESULT (line 4500) | HRESULT WINAPI extGetPixelFormat1(LPDIRECTDRAWSURFACE lpdds, LPDDPIXELFO...
  function HRESULT (line 4502) | HRESULT WINAPI extGetPixelFormat2(LPDIRECTDRAWSURFACE lpdds, LPDDPIXELFO...
  function HRESULT (line 4504) | HRESULT WINAPI extGetPixelFormat3(LPDIRECTDRAWSURFACE lpdds, LPDDPIXELFO...
  function HRESULT (line 4506) | HRESULT WINAPI extGetPixelFormat4(LPDIRECTDRAWSURFACE lpdds, LPDDPIXELFO...
  function HRESULT (line 4508) | HRESULT WINAPI extGetPixelFormat7(LPDIRECTDRAWSURFACE lpdds, LPDDPIXELFO...
  function HRESULT (line 4511) | HRESULT WINAPI extTestCooperativeLevel(TestCooperativeLevel_Type pTestCo...
  function HRESULT (line 4524) | HRESULT WINAPI extTestCooperativeLevel4(LPDIRECTDRAW lpdd)
  function HRESULT (line 4526) | HRESULT WINAPI extTestCooperativeLevel7(LPDIRECTDRAW lpdd)
  function HRESULT (line 4529) | HRESULT WINAPI extReleaseS(ReleaseS_Type pReleaseS, LPDIRECTDRAWSURFACE ...
  function HRESULT (line 4581) | HRESULT WINAPI extReleaseS1(LPDIRECTDRAWSURFACE lpdds)
  function HRESULT (line 4583) | HRESULT WINAPI extReleaseS2(LPDIRECTDRAWSURFACE lpdds)
  function HRESULT (line 4585) | HRESULT WINAPI extReleaseS3(LPDIRECTDRAWSURFACE lpdds)
  function HRESULT (line 4587) | HRESULT WINAPI extReleaseS4(LPDIRECTDRAWSURFACE lpdds)
  function HRESULT (line 4589) | HRESULT WINAPI extReleaseS7(LPDIRECTDRAWSURFACE lpdds)
  function HRESULT (line 4592) | static HRESULT WINAPI extSetColorKey(SetColorKey_Type pSetColorKey, LPDI...
  function HRESULT (line 4612) | HRESULT WINAPI extSetColorKey1(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4614) | HRESULT WINAPI extSetColorKey2(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4616) | HRESULT WINAPI extSetColorKey3(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4618) | HRESULT WINAPI extSetColorKey4(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4620) | HRESULT WINAPI extSetColorKey7(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4623) | static HRESULT WINAPI extGetColorKey(int dxversion, GetColorKey_Type pGe...
  function HRESULT (line 4640) | HRESULT WINAPI extGetColorKey1(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4642) | HRESULT WINAPI extGetColorKey2(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4644) | HRESULT WINAPI extGetColorKey3(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4646) | HRESULT WINAPI extGetColorKey4(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4648) | HRESULT WINAPI extGetColorKey7(LPDIRECTDRAWSURFACE lpdds, DWORD flags, L...
  function HRESULT (line 4651) | static HRESULT WINAPI extEnumAttachedSurfaces(EnumAttachedSurfaces_Type ...
  function HRESULT (line 4715) | HRESULT WINAPI extEnumAttachedSurfaces1(LPDIRECTDRAWSURFACE lpdds, LPVOI...
  function HRESULT (line 4717) | HRESULT WINAPI extEnumAttachedSurfaces2(LPDIRECTDRAWSURFACE lpdds, LPVOI...
  function HRESULT (line 4719) | HRESULT WINAPI extEnumAttachedSurfaces3(LPDIRECTDRAWSURFACE lpdds, LPVOI...
  function HRESULT (line 4721) | HRESULT WINAPI extEnumAttachedSurfaces4(LPDIRECTDRAWSURFACE lpdds, LPVOI...
  function HRESULT (line 4723) | HRESULT WINAPI extEnumAttachedSurfaces7(LPDIRECTDRAWSURFACE lpdds, LPVOI...
  function HRESULT (line 4726) | static HRESULT WINAPI extAddAttachedSurface(AddAttachedSurface_Type pAdd...
  function HRESULT (line 4785) | HRESULT WINAPI extAddAttachedSurface1(LPDIRECTDRAWSURFACE lpdds, LPDIREC...
  function HRESULT (line 4787) | HRESULT WINAPI extAddAttachedSurface2(LPDIRECTDRAWSURFACE lpdds, LPDIREC...
  function HRESULT (line 4789) | HRESULT WINAPI extAddAttachedSurface3(LPDIRECTDRAWSURFACE lpdds, LPDIREC...
  function HRESULT (line 4791) | HRESULT WINAPI extAddAttachedSurface4(LPDIRECTDRAWSURFACE lpdds, LPDIREC...
  function HRESULT (line 4793) | HRESULT WINAPI extAddAttachedSurface7(LPDIRECTDRAWSURFACE lpdds, LPDIREC...
  function HRESULT (line 4796) | static HRESULT WINAPI extDeleteAttachedSurface(DeleteAttachedSurface_Typ...
  function HRESULT (line 4810) | HRESULT WINAPI extDeleteAttachedSurface1(LPDIRECTDRAWSURFACE lpdds,  DWO...
  function HRESULT (line 4812) | HRESULT WINAPI extDeleteAttachedSurface2(LPDIRECTDRAWSURFACE lpdds,  DWO...
  function HRESULT (line 4814) | HRESULT WINAPI extDeleteAttachedSurface3(LPDIRECTDRAWSURFACE lpdds,  DWO...
  function HRESULT (line 4816) | HRESULT WINAPI extDeleteAttachedSurface4(LPDIRECTDRAWSURFACE lpdds,  DWO...
  function HRESULT (line 4818) | HRESULT WINAPI extDeleteAttachedSurface7(LPDIRECTDRAWSURFACE lpdds,  DWO...
  function HRESULT (line 4821) | HRESULT WINAPI cbDump(LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext)
  function HRESULT (line 4837) | static HRESULT WINAPI extGetCapsS(int dxInterface, GetCapsS_Type pGetCap...
  function HRESULT (line 4899) | HRESULT WINAPI extGetCaps1S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS caps)
  function HRESULT (line 4901) | HRESULT WINAPI extGetCaps2S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS caps)
  function HRESULT (line 4903) | HRESULT WINAPI extGetCaps3S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS caps)
  function HRESULT (line 4905) | HRESULT WINAPI extGetCaps4S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS2 caps)
  function HRESULT (line 4907) | HRESULT WINAPI extGetCaps7S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS2 caps)
  function HRESULT (line 4910) | static HRESULT WINAPI extGetSurfaceDesc(int dxversion, GetSurfaceDesc_Ty...
  function HRESULT (line 4999) | HRESULT WINAPI extGetSurfaceDesc1(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5001) | HRESULT WINAPI extGetSurfaceDesc2(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5003) | HRESULT WINAPI extGetSurfaceDesc3(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5005) | HRESULT WINAPI extGetSurfaceDesc4(LPDIRECTDRAWSURFACE2 lpdds, LPDDSURFAC...
  function HRESULT (line 5007) | HRESULT WINAPI extGetSurfaceDesc7(LPDIRECTDRAWSURFACE2 lpdds, LPDDSURFAC...
  function ULONG (line 5010) | static ULONG WINAPI extReleaseD(int dxversion, ReleaseD_Type pReleaseD, ...
  function ULONG (line 5060) | ULONG WINAPI extReleaseD1(LPDIRECTDRAW lpdd)
  function ULONG (line 5062) | ULONG WINAPI extReleaseD2(LPDIRECTDRAW lpdd)
  function ULONG (line 5064) | ULONG WINAPI extReleaseD3(LPDIRECTDRAW lpdd)
  function ULONG (line 5066) | ULONG WINAPI extReleaseD4(LPDIRECTDRAW lpdd)
  function ULONG (line 5068) | ULONG WINAPI extReleaseD7(LPDIRECTDRAW lpdd)
  function HRESULT (line 5071) | static HRESULT WINAPI extCreateClipper(int dxversion, CreateClipper_Type...
  function HRESULT (line 5086) | HRESULT WINAPI extCreateClipper1(LPDIRECTDRAW lpdd, DWORD dwflags, LPDIR...
  function HRESULT (line 5088) | HRESULT WINAPI extCreateClipper2(LPDIRECTDRAW lpdd, DWORD dwflags, LPDIR...
  function HRESULT (line 5090) | HRESULT WINAPI extCreateClipper3(LPDIRECTDRAW lpdd, DWORD dwflags, LPDIR...
  function HRESULT (line 5092) | HRESULT WINAPI extCreateClipper4(LPDIRECTDRAW lpdd, DWORD dwflags, LPDIR...
  function HRESULT (line 5094) | HRESULT WINAPI extCreateClipper7(LPDIRECTDRAW lpdd, DWORD dwflags, LPDIR...
  function HRESULT (line 5097) | HRESULT WINAPI extReleaseC(LPDIRECTDRAWCLIPPER lpddClip)
  function HRESULT (line 5107) | HRESULT WINAPI extGetClipList(LPDIRECTDRAWCLIPPER lpddClip, LPRECT lpRec...
  function HRESULT (line 5160) | HRESULT WINAPI extSetClipList(LPDIRECTDRAWCLIPPER lpddClip, LPRGNDATA lp...
  function HRESULT (line 5169) | HRESULT WINAPI extSetHWnd(LPDIRECTDRAWCLIPPER lpddClip, DWORD w, HWND hwnd)
  function HRESULT (line 5178) | HRESULT WINAPI extReleaseP(LPDIRECTDRAWPALETTE lpddPalette)
  function BOOL (line 5207) | static BOOL IsMatchingDeviceW(LPWSTR lpDriverName)
  function BOOL (line 5214) | static BOOL IsMatchingDeviceA(LPCSTR lpDriverName)
  function BOOL (line 5221) | BOOL FAR PASCAL DDEnumerateCallbackFilterW(GUID FAR *lpGuid, LPWSTR lpDr...
  function BOOL (line 5246) | BOOL FAR PASCAL DDEnumerateCallbackExFilterW(GUID FAR *lpGuid, LPWSTR lp...
  function BOOL (line 5273) | BOOL FAR PASCAL DDEnumerateCallbackFilterA(GUID FAR *lpGuid, LPSTR lpDri...
  function BOOL (line 5299) | BOOL FAR PASCAL DDEnumerateCallbackExFilterA(GUID FAR *lpGuid, LPSTR lpD...
  function HRESULT (line 5325) | HRESULT WINAPI extDirectDrawEnumerateA(LPDDENUMCALLBACKA lpCallback, LPV...
  function HRESULT (line 5341) | HRESULT WINAPI extDirectDrawEnumerateW(LPDDENUMCALLBACKW lpCallback, LPV...
  function HRESULT (line 5357) | HRESULT WINAPI extDirectDrawEnumerateExA(LPDDENUMCALLBACKEXA lpCallback,...
  function HRESULT (line 5379) | HRESULT WINAPI extDirectDrawEnumerateExW(LPDDENUMCALLBACKEXW lpCallback,...
  function HRESULT (line 5401) | HRESULT WINAPI extDDGetGammaRamp(LPDIRECTDRAWSURFACE lpdds, DWORD dwFlag...
  function HRESULT (line 5427) | HRESULT WINAPI extDDSetGammaRamp(LPDIRECTDRAWSURFACE lpdds, DWORD dwFlag...
  function HRESULT (line 5443) | static HRESULT WINAPI extGetAvailableVidMem(int dxversion, GetAvailableV...
  function HRESULT (line 5516) | HRESULT WINAPI extGetAvailableVidMem2(LPDIRECTDRAW lpdd, LPDDSCAPS lpDDS...
  function HRESULT (line 5518) | HRESULT WINAPI extGetAvailableVidMem3(LPDIRECTDRAW lpdd, LPDDSCAPS lpDDS...
  function HRESULT (line 5520) | HRESULT WINAPI extGetAvailableVidMem4(LPDIRECTDRAW lpdd, LPDDSCAPS2 lpDD...
  function HRESULT (line 5522) | HRESULT WINAPI extGetAvailableVidMem7(LPDIRECTDRAW lpdd, LPDDSCAPS2 lpDD...
  function HRESULT (line 5525) | HRESULT WINAPI extSetSurfaceDesc(SetSurfaceDesc_Type pSetSurfaceDesc, LP...
  function HRESULT (line 5534) | HRESULT WINAPI extSetSurfaceDesc3(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5536) | HRESULT WINAPI extSetSurfaceDesc4(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5538) | HRESULT WINAPI extSetSurfaceDesc7(LPDIRECTDRAWSURFACE lpdds, LPDDSURFACE...
  function HRESULT (line 5541) | HRESULT WINAPI extDirectDrawCreateClipper(DWORD dwFlags, LPDIRECTDRAWCLI...
  function HRESULT (line 5555) | HRESULT WINAPI extEnumOverlayZOrders(int dxversion, EnumOverlayZOrders_T...
  function HRESULT (line 5564) | HRESULT WINAPI extEnumOverlayZOrders1(LPDIRECTDRAWSURFACE lpdds, DWORD d...
  function HRESULT (line 5566) | HRESULT WINAPI extEnumOverlayZOrders2(LPDIRECTDRAWSURFACE lpdds, DWORD d...
  function HRESULT (line 5568) | HRESULT WINAPI extEnumOverlayZOrders3(LPDIRECTDRAWSURFACE lpdds, DWORD d...
  function HRESULT (line 5570) | HRESULT WINAPI extEnumOverlayZOrders4(LPDIRECTDRAWSURFACE lpdds, DWORD d...
  function HRESULT (line 5572) | HRESULT WINAPI extEnumOverlayZOrders7(LPDIRECTDRAWSURFACE lpdds, DWORD d...
  function HRESULT (line 5575) | HRESULT WINAPI extAddOverlayDirtyRect(int dxversion, AddOverlayDirtyRect...
  function HRESULT (line 5590) | HRESULT WINAPI extAddOverlayDirtyRect1(LPDIRECTDRAWSURFACE lpdds, LPRECT...
  function HRESULT (line 5592) | HRESULT WINAPI extAddOverlayDirtyRect2(LPDIRECTDRAWSURFACE lpdds, LPRECT...
  function HRESULT (line 5594) | HRESULT WINAPI extAddOverlayDirtyRect3(LPDIRECTDRAWSURFACE lpdds, LPRECT...
  function HRESULT (line 5596) | HRESULT WINAPI extAddOverlayDirtyRect4(LPDIRECTDRAWSURFACE lpdds, LPRECT...
  function HRESULT (line 5598) | HRESULT WINAPI extAddOverlayDirtyRect7(LPDIRECTDRAWSURFACE lpdds, LPRECT...
  function HRESULT (line 5601) | HRESULT WINAPI extCompact(LPDIRECTDRAW lpdd)
  function HRESULT (line 5607) | HRESULT WINAPI extDuplicateSurface(int dxversion, DuplicateSurface_Type ...
  function HRESULT (line 5619) | HRESULT WINAPI extDuplicateSurface1(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFA...
  function HRESULT (line 5621) | HRESULT WINAPI extDuplicateSurface2(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFA...
  function HRESULT (line 5623) | HRESULT WINAPI extDuplicateSurface3(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFA...
  function HRESULT (line 5625) | HRESULT WINAPI extDuplicateSurface4(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFA...
  function HRESULT (line 5627) | HRESULT WINAPI extDuplicateSurface7(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFA...
  function HRESULT (line 5630) | static HRESULT WINAPI extSetOverlayPosition(int dxversion, SetOverlayPos...
  function HRESULT (line 5640) | HRESULT WINAPI extSetOverlayPosition1(LPDIRECTDRAWSURFACE lpdds, LONG lX...
  function HRESULT (line 5642) | HRESULT WINAPI extSetOverlayPosition2(LPDIRECTDRAWSURFACE lpdds, LONG lX...
  function HRESULT (line 5644) | HRESULT WINAPI extSetOverlayPosition3(LPDIRECTDRAWSURFACE lpdds, LONG lX...
  function HRESULT (line 5646) | HRESULT WINAPI extSetOverlayPosition4(LPDIRECTDRAWSURFACE lpdds, LONG lX...
  function HRESULT (line 5648) | HRESULT WINAPI extSetOverlayPosition7(LPDIRECTDRAWSURFACE lpdds, LONG lX...
  function HRESULT (line 5651) | static HRESULT WINAPI extGetOverlayPosition(int dxversion, GetOverlayPos...
  function HRESULT (line 5664) | HRESULT WINAPI extGetOverlayPosition1(LPDIRECTDRAWSURFACE lpdds, LPLONG ...
  function HRESULT (line 5666) | HRESULT WINAPI extGetOverlayPosition2(LPDIRECTDRAWSURFACE lpdds, LPLONG ...
  function HRESULT (line 5668) | HRESULT WINAPI extGetOverlayPosition3(LPDIRECTDRAWSURFACE lpdds, LPLONG ...
  function HRESULT (line 5670) | HRESULT WINAPI extGetOverlayPosition4(LPDIRECTDRAWSURFACE lpdds, LPLONG ...
  function HRESULT (line 5672) | HRESULT WINAPI extGetOverlayPosition7(LPDIRECTDRAWSURFACE lpdds, LPLONG ...
  function HRESULT (line 5675) | HRESULT WINAPI extStartModeTest(LPDIRECTDRAW lpdds, LPSIZE lpModesToTest...
  function HRESULT (line 5691) | HRESULT WINAPI extEvaluateMode(LPDIRECTDRAW lpdds, DWORD dwFlags, DWORD ...

FILE: dll/ddrawex.cpp
  function HookDirectDrawFactoryLib (line 191) | void HookDirectDrawFactoryLib(HMODULE module)
  function HookDirectDrawFactory (line 198) | void HookDirectDrawFactory(void *obj)
  function HRESULT (line 210) | HRESULT WINAPI extDllCanUnloadNow(void)
  function HRESULT (line 219) | HRESULT WINAPI extDllGetClassObject(REFCLSID rclsid, REFIID riid, void *...
  function HRESULT (line 228) | HRESULT WINAPI extDllRegisterServer(void)
  function HRESULT (line 237) | HRESULT WINAPI extDllUnregisterServer(void)
  function HRESULT (line 248) | HRESULT WINAPI extCreateDirectDraw(void *ddf, GUID *pGUID, HWND hWnd, DW...
  function HRESULT (line 275) | HRESULT WINAPI extDirectDrawEnumerateEX(void *ddf, LPDDENUMCALLBACK lpCa...

FILE: dll/ddshot.cpp
  function DDrawScreenShot (line 19) | void DDrawScreenShot(int dxversion)

FILE: dll/ddtexture.cpp
  function Hash (line 33) | static unsigned int Hash(BYTE *buf, int len)
  function HashSurface (line 45) | unsigned int HashSurface(BYTE *buf, int pitch, int width, int height)
  function TextureHighlight (line 113) | void TextureHighlight(LPDIRECTDRAWSURFACE s, int dxversion)
  function TextureDump (line 189) | static void TextureDump(LPDIRECTDRAWSURFACE s, int dxversion)
  function TextureHack (line 366) | static void TextureHack(LPDIRECTDRAWSURFACE s, int dxversion)
  function TextureTransp (line 506) | void TextureTransp(LPDIRECTDRAWSURFACE s, int dxversion)
  function TextureHandling (line 555) | void TextureHandling(LPDIRECTDRAWSURFACE s, int dxversion)

FILE: dll/dibdump.cpp
  function DumpDibSection (line 13) | void DumpDibSection(const BITMAPINFO *pbmi, UINT iUsage, VOID *pvBits)
  function DumpHDC (line 85) | void DumpHDC(HDC hdc, int x0, int y0, int w, int h)

FILE: dll/dinput.cpp
  function HookDirectInput (line 163) | void HookDirectInput(HMODULE module)
  function HookDirectInput8 (line 189) | void HookDirectInput8(HMODULE module)
  function FARPROC (line 211) | FARPROC Remap_DInput_ProcAddress(LPCSTR proc, HMODULE hModule)
  function FARPROC (line 218) | FARPROC Remap_DInput8_ProcAddress(LPCSTR proc, HMODULE hModule)
  function HRESULT (line 229) | HRESULT WINAPI extDirectInputCreateA(HINSTANCE hinst, DWORD dwversion, L...
  function HRESULT (line 258) | HRESULT WINAPI extDirectInputCreateW(HINSTANCE hinst, DWORD dwversion, L...
  function HRESULT (line 287) | HRESULT WINAPI extDirectInputCreateEx(HINSTANCE hinst, DWORD dwversion, ...
  function HRESULT (line 331) | HRESULT WINAPI extDIQueryInterface(void * lpdi, REFIID riid, LPVOID *obp)
  function HRESULT (line 371) | HRESULT WINAPI extDirectInput8Create(HINSTANCE hinst, DWORD dwversion, R...
  function iDeviceType (line 419) | static int iDeviceType(REFGUID rguid)
  function HRESULT (line 431) | HRESULT WINAPI extDICreateDeviceA(DICreateDeviceA_Type pDICreateDevice, ...
  function HRESULT (line 460) | HRESULT WINAPI extDICreateDeviceA1(LPDIRECTINPUT lpdi, REFGUID rguid, LP...
  function HRESULT (line 462) | HRESULT WINAPI extDICreateDeviceA2(LPDIRECTINPUT lpdi, REFGUID rguid, LP...
  function HRESULT (line 464) | HRESULT WINAPI extDICreateDeviceA7(LPDIRECTINPUT lpdi, REFGUID rguid, LP...
  function HRESULT (line 466) | HRESULT WINAPI extDICreateDeviceA8(LPDIRECTINPUT lpdi, REFGUID rguid, LP...
  function HRESULT (line 469) | HRESULT WINAPI extDICreateDeviceW(DICreateDeviceW_Type pDICreateDevice, ...
  function HRESULT (line 498) | HRESULT WINAPI extDICreateDeviceW1(LPDIRECTINPUTW lpdi, REFGUID rguid, L...
  function HRESULT (line 500) | HRESULT WINAPI extDICreateDeviceW2(LPDIRECTINPUTW lpdi, REFGUID rguid, L...
  function HRESULT (line 502) | HRESULT WINAPI extDICreateDeviceW7(LPDIRECTINPUTW lpdi, REFGUID rguid, L...
  function HRESULT (line 504) | HRESULT WINAPI extDICreateDeviceW8(LPDIRECTINPUTW lpdi, REFGUID rguid, L...
  function HRESULT (line 507) | HRESULT WINAPI extDICreateDeviceEx(LPDIRECTINPUT lpdi, REFGUID rguid,
  function HRESULT (line 537) | HRESULT WINAPI extDICreateDeviceExA(LPDIRECTINPUTA lpdi, REFGUID rguid, ...
  function HRESULT (line 539) | HRESULT WINAPI extDICreateDeviceExW(LPDIRECTINPUTW lpdi, REFGUID rguid, ...
  function HRESULT (line 596) | HRESULT WINAPI extGetDeviceData(LPDIRECTINPUTDEVICE lpdid, DWORD cbdata,...
  function HRESULT (line 679) | HRESULT WINAPI extGetDeviceState(LPDIRECTINPUTDEVICE lpdid, DWORD cbdata...
  function HRESULT (line 796) | HRESULT WINAPI extSetDataFormat(LPDIRECTINPUTDEVICE lpdid, LPCDIDATAFORM...
  function HRESULT (line 816) | HRESULT WINAPI extDISetCooperativeLevel(LPDIRECTINPUTDEVICE lpdid, HWND ...
  function GetMousePosition (line 840) | void GetMousePosition(int *x, int *y)
  function HRESULT (line 856) | HRESULT WINAPI extDeviceProxy(LPCDIDEVICEINSTANCE dev, LPVOID arg)
  function HRESULT (line 879) | HRESULT WINAPI extDIEnumDevicesA(DIEnumDevicesA_Type pDIEnumDevices, voi...
  function HRESULT (line 892) | HRESULT WINAPI extDIEnumDevicesA1(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 894) | HRESULT WINAPI extDIEnumDevicesA2(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 896) | HRESULT WINAPI extDIEnumDevicesA7(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 898) | HRESULT WINAPI extDIEnumDevicesA8(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 901) | HRESULT WINAPI extDIEnumDevicesW(DIEnumDevicesW_Type pDIEnumDevices, voi...
  function HRESULT (line 914) | HRESULT WINAPI extDIEnumDevicesW1(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 916) | HRESULT WINAPI extDIEnumDevicesW2(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 918) | HRESULT WINAPI extDIEnumDevicesW7(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 920) | HRESULT WINAPI extDIEnumDevicesW8(void *lpdi, DWORD dwDevType, LPDIENUMD...
  function HRESULT (line 923) | HRESULT WINAPI extAcquire(LPDIRECTINPUTDEVICE lpdid)
  function HRESULT (line 932) | HRESULT WINAPI extUnacquire(LPDIRECTINPUTDEVICE lpdid)
  function ToggleAcquiredDevices (line 941) | void ToggleAcquiredDevices(BOOL flag)

FILE: dll/dsound.cpp
  function FARPROC (line 53) | FARPROC Remap_DSound_ProcAddress(LPCSTR proc, HMODULE hModule)
  function HookDirectSound (line 63) | void HookDirectSound(HMODULE hModule)
  function HookDirectSoundInit (line 69) | void HookDirectSoundInit()
  function HookDirectSoundObj (line 74) | void HookDirectSoundObj(LPDIRECTSOUND *lpds)
  function HRESULT (line 86) | HRESULT WINAPI extDirectSoundCreate(LPGUID guid, LPDIRECTSOUND *lpds, LP...
  function HRESULT (line 102) | HRESULT WINAPI extDirectSoundCreate8(LPCGUID lpcGuidDevice, LPDIRECTSOUN...
  function HRESULT (line 137) | HRESULT WINAPI extDSSetCooperativeLevel(void *lpds, HWND hwnd, DWORD dwL...
  function HRESULT (line 183) | HRESULT WINAPI extCreateSoundBuffer (void *lpds, LPCDSBUFFERDESC pcDSBuf...
  function HRESULT (line 192) | HRESULT WINAPI extDirectSoundEnumerateA(LPDSENUMCALLBACKA pDSEnumCallbac...
  function HRESULT (line 201) | HRESULT WINAPI extDirectSoundEnumerateW(LPDSENUMCALLBACKW pDSEnumCallbac...
  function HRESULT (line 210) | HRESULT WINAPI extGetSpeakerConfig(void *lpds, LPDWORD pdwSpeakerConfig)
  function HRESULT (line 219) | HRESULT WINAPI extSetSpeakerConfig(void *lpds, DWORD pdwSpeakerConfig)
  function HRESULT (line 228) | HRESULT WINAPI extDSInitialize(void *lpds, LPCGUID pcGuidDevice)

FILE: dll/dwhide.cpp
  function gShowHideTaskBar (line 23) | void gShowHideTaskBar(BOOL bHide /*=FALSE*/)
  function LRESULT (line 61) | LRESULT CALLBACK dw_Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM w...
  function LRESULT (line 76) | LRESULT CALLBACK dw_Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM w...
  function HINSTANCE (line 131) | static HINSTANCE RegisterHiderWindow()

FILE: dll/dxdds.h
  type DDS_PIXELFORMAT (line 2) | struct DDS_PIXELFORMAT {
  type DDS_HEADER (line 12) | typedef struct {

FILE: dll/dxdiaghook.cpp
  function HRESULT (line 39) | HRESULT HookDxDiag(REFIID riid, LPVOID FAR* ppv)
  function HRESULT (line 68) | HRESULT WINAPI extInitializeDD(void *th, DXDIAG_INIT_PARAMS *pParams)
  function HRESULT (line 77) | HRESULT WINAPI extGetRootContainer(void *th, IDxDiagContainer **ppInstance)
  function HRESULT (line 90) | HRESULT WINAPI extGetNumberOfChildContainers(void *th, DWORD *pdwCount)
  function HRESULT (line 99) | HRESULT WINAPI extQueryInterfaceDD(void *th, REFIID riid, LPVOID *ppvObj)
  function HRESULT (line 108) | HRESULT WINAPI extGetProp(void *th, LPCWSTR pwszPropName, VARIANT *pvarP...

FILE: dll/dxemublt.cpp
  function MarkRect32 (line 35) | static void MarkRect32(DWORD *dest, int w, int h, int destpitch)
  function MarkRect16 (line 52) | static void MarkRect16(SHORT *dest, int w, int h, int destpitch)
  function DWORD (line 69) | static DWORD Melt32(DWORD c1, DWORD c2)
  function DWORD (line 79) | static DWORD Melt16_555(DWORD c1, DWORD c2)
  function DWORD (line 89) | static DWORD Melt16_565(DWORD c1, DWORD c2)
  function SetPalette16BPP (line 99) | void SetPalette16BPP()
  function HRESULT (line 137) | static HRESULT WINAPI EmuBlt_8_to_32(int dxversion, Blt_Type pBlt, LPDIR...
  function HRESULT (line 209) | static HRESULT WINAPI BilinearBlt_8_to_32(int dxversion, Blt_Type pBlt, ...
  function HRESULT (line 309) | static HRESULT WINAPI EmuBlt_16_to_32(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 384) | static HRESULT WINAPI Deinterlace_16_to_32(int dxversion, Blt_Type pBlt,...
  function HRESULT (line 486) | static HRESULT WINAPI BilinearBlt_16_to_32(int dxversion, Blt_Type pBlt,...
  function HRESULT (line 588) | static HRESULT WINAPI EmuBlt_24_to_32(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 666) | static HRESULT WINAPI EmuBlt_32_to_32(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 738) | static HRESULT WINAPI EmuBlt_8_to_16(int dxversion, Blt_Type pBlt, LPDIR...
  function HRESULT (line 810) | static HRESULT WINAPI BilinearBlt_8_to_16(int dxversion, Blt_Type pBlt, ...
  function HRESULT (line 913) | static HRESULT WINAPI EmuBlt_16_to_16(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 1019) | static HRESULT WINAPI BilinearBlt_16_to_16(int dxversion, Blt_Type pBlt,...
  function HRESULT (line 1124) | static HRESULT WINAPI EmuBlt_24_to_16(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 1196) | static HRESULT WINAPI EmuBlt_32_to_16(int dxversion, Blt_Type pBlt, LPDI...
  function HRESULT (line 1268) | static HRESULT WINAPI BilinearBlt_32_to_32(int dxversion, Blt_Type pBlt,...
  function HRESULT (line 1371) | static HRESULT WINAPI EmuBlt_Null(int dxversion, Blt_Type pBlt, LPDIRECT...
  function SetBltTransformations (line 1384) | void SetBltTransformations(int dxversion)

FILE: dll/dxhelper.cpp
  function DumpRect (line 14) | void DumpRect(char *what, LPRECT r, int line)

FILE: dll/dxhook.cpp
  function OutTraceHeader (line 94) | static void OutTraceHeader(FILE *fp, DWORD tflags)
  function OutTrace (line 121) | void OutTrace(const char *format, ...)
  function HexTrace (line 192) | void HexTrace(unsigned char *buf, int len)
  function BOOL (line 220) | static BOOL CheckCompatibilityFlags()
  function OutTraceHex (line 261) | void OutTraceHex(BYTE *bBuf, int iLen)
  function SuppressIMEWindow (line 267) | void SuppressIMEWindow()
  function HookDlls (line 281) | void HookDlls(HMODULE module)
  function CheckImportTable (line 348) | void CheckImportTable(HMODULE module)
  function SetHook (line 396) | void SetHook(void *target, void *hookproc, void **hookedproc, char *hook...
  function AdjustWindowPos (line 478) | void AdjustWindowPos(HWND hwnd, DWORD width, DWORD height)
  function HookWindowProc (line 499) | void HookWindowProc(HWND hwnd)
  function AdjustWindowFrame (line 536) | void AdjustWindowFrame(HWND hwnd, DWORD width, DWORD height)
  function HookSysLibsInit (line 570) | void HookSysLibsInit()
  function SaveScreenMode (line 585) | static void SaveScreenMode()
  function RecoverScreenMode (line 595) | void RecoverScreenMode()
  function SwitchTo16BPP (line 608) | void SwitchTo16BPP()
  function LockScreenMode (line 621) | static void LockScreenMode(DWORD dmPelsWidth, DWORD dmPelsHeight, DWORD ...
  function HMODULE (line 636) | static HMODULE LoadDisasm()
  function LONG (line 654) | LONG WINAPI myUnhandledExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo)
  function LPTOP_LEVEL_EXCEPTION_FILTER (line 691) | LPTOP_LEVEL_EXCEPTION_FILTER WINAPI extSetUnhandledExceptionFilter(LPTOP...
  function GetRDTSC (line 700) | unsigned __int64 inline GetRDTSC() {
  function LONG (line 710) | LONG CALLBACK Int3Handler(PEXCEPTION_POINTERS ExceptionInfo)
  function HookExceptionHandler (line 743) | void HookExceptionHandler(void)
  function InitModuleHooks (line 762) | static void InitModuleHooks()
  function SetModuleHooks (line 767) | void SetModuleHooks()
  function HookModule (line 802) | void HookModule(HMODULE base, int dxversion)
  function DisableIME (line 835) | void DisableIME()
  function SetSingleProcessAffinity (line 875) | void SetSingleProcessAffinity(BOOL first)
  function BOOL (line 907) | static BOOL GetTextSegment(char *module, unsigned char **start, DWORD *len)
  function ReplaceRDTSC (line 951) | static void ReplaceRDTSC()
  function ReplacePrivilegedOps (line 1017) | static void ReplacePrivilegedOps()
  function CheckSafeDiscVersion (line 1108) | static void CheckSafeDiscVersion()
  function DWORD (line 1153) | DWORD WINAPI MessagePoller(LPVOID lpParameter)
  function DWORD (line 1166) | DWORD WINAPI TimeFreezePoller(LPVOID lpParameter)
  function MemoryReserve (line 1179) | static void MemoryReserve()
  function HookInit (line 1190) | void HookInit(TARGETMAP *target, HWND hwnd)
  function LPCSTR (line 1426) | LPCSTR ProcToString(LPCSTR proc)
  function FARPROC (line 1437) | FARPROC RemapLibraryEx(LPCSTR proc, HMODULE hModule, HookEntryEx_Type *H...
  function HookLibraryEx (line 1474) | void HookLibraryEx(HMODULE hModule, HookEntryEx_Type *Hooks, char *DLLName)
  function PinLibraryEx (line 1522) | void PinLibraryEx(HookEntryEx_Type *Hooks, char *DLLName)
  function BOOL (line 1535) | BOOL IsHotPatchedEx(HookEntryEx_Type *Hooks, char *ApiName)
  function HookLibInitEx (line 1543) | void HookLibInitEx(HookEntryEx_Type *Hooks)

FILE: dll/dxhook.h
  type HookEntry_Status (line 55) | typedef enum {
  type HookEntryEx_Type (line 63) | typedef struct {

FILE: dll/dxmapping.cpp
  function BOOL (line 12) | BOOL dxwCore::IsValidMainWindow()
  function RECT (line 43) | RECT dxwCore::GetScreenRect()
  function RECT (line 56) | RECT dxwCore::GetUnmappedScreenRect()
  function POINT (line 69) | POINT dxwCore::GetFrameOffset()
  function POINT (line 83) | POINT dxwCore::ClientOffset(HWND hwnd)
  function RECT (line 101) | RECT dxwCore::GetWindowRect(RECT win)
  function RECT (line 115) | RECT dxwCore::GetClientRect(RECT win)
  function POINT (line 129) | POINT dxwCore::AddCoordinates(POINT p1, POINT p2)
  function RECT (line 137) | RECT dxwCore::AddCoordinates(RECT r1, POINT p2)
  function POINT (line 147) | POINT dxwCore::SubCoordinates(POINT p1, POINT p2)
  function RECT (line 157) | RECT dxwCore::MapWindowRect(LPRECT lpRect)
  function RECT (line 211) | RECT dxwCore::MapClientRect(LPRECT lpRect)
  type ENUM_DISP_ARG (line 320) | struct ENUM_DISP_ARG {
  function BOOL (line 327) | BOOL CALLBACK EnumDispProc(HMONITOR hMon, HDC dcMon, RECT* pRcMon, LPARA...

FILE: dll/dxwcapsdb.cpp
  function DWORD (line 48) | DWORD dxwCapsDB::GetCaps(LPDIRECTDRAWSURFACE ps)

FILE: dll/dxwcore.cpp
  function BOOL (line 76) | BOOL dxwCore::IsFullScreen()
  function BOOL (line 81) | BOOL dxwCore::IsToRemap(HDC hdc)
  function BOOL (line 302) | BOOL dxwCore::IsDesktop(HWND hwnd)
  function BOOL (line 313) | BOOL dxwCore::IsRealDesktop(HWND hwnd)
  function POINT (line 327) | POINT dxwCore::FixCursorPos(POINT prev)
  function POINT (line 405) | POINT dxwCore::ScreenToClient(POINT point)
  function BOOL (line 454) | BOOL dxwCore::IsClipCursorActive(void)
  function BOOL (line 540) | BOOL dxwCore::ishWndFPS(HWND hwnd)
  function CountFPS (line 641) | static void CountFPS(HWND hwnd)
  function LimitFrameCount (line 678) | static void LimitFrameCount(DWORD delay)
  function BOOL (line 700) | static BOOL SkipFrameCount(DWORD delay)
  function BOOL (line 711) | BOOL dxwCore::HandleFPS()
  function DWORD (line 781) | static DWORD TimeShifterFine(DWORD val, int shift)
  function DWORD (line 788) | static DWORD TimeShifterCoarse(DWORD val, int shift)
  function 
Condensed preview — 1038 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,747K chars).
[
  {
    "path": ".gitattributes",
    "chars": 84,
    "preview": "*.dll filter=lfs diff=lfs merge=lfs -text\n*.exe filter=lfs diff=lfs merge=lfs -text\n"
  },
  {
    "path": "Disasm201/Disasm.bpr",
    "chars": 2182,
    "preview": "<?xml version='1.0' encoding='utf-8' ?>\n<!-- C++Builder XML Project -->\n<PROJECT>\n  <MACROS>\n    <VERSION value=\"BCB.05."
  },
  {
    "path": "Disasm201/Disasm.c",
    "chars": 120835,
    "preview": "////////////////////////////////////////////////////////////////////////////////\n//                                     "
  },
  {
    "path": "Disasm201/cmdlist.c",
    "chars": 257838,
    "preview": "////////////////////////////////////////////////////////////////////////////////\n//                                     "
  },
  {
    "path": "Disasm201/disasm.def",
    "chars": 100,
    "preview": "LIBRARY disasm\nEXPORTS\n\t\tPreparedisasm\t\t@1\n\t\tFinishdisasm\t\t@2\n\t\tDisasm\t\t\t\t@3\n\t\tGeterrwarnmessage\t@4\n"
  },
  {
    "path": "Disasm201/disasm.h",
    "chars": 41389,
    "preview": "////////////////////////////////////////////////////////////////////////////////\n//                                     "
  },
  {
    "path": "Disasm201/disasm.vs2008.sln",
    "chars": 862,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A"
  },
  {
    "path": "Disasm201/disasm.vs2008.vcproj",
    "chars": 5469,
    "preview": "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"disa"
  },
  {
    "path": "Disasm201/main.c",
    "chars": 2805,
    "preview": "#include <stdio.h>\n#include <conio.h>\n#include <windows.h>\n#pragma hdrstop\n\n#include \"disasm.h\"\n\nint Decodeaddress(tchar"
  },
  {
    "path": "Include/---dsound.h",
    "chars": 40080,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) 1995,1996 Microsoft C"
  },
  {
    "path": "Include/3DFX.H",
    "chars": 2928,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/D3D10.h",
    "chars": 224835,
    "preview": "/*-------------------------------------------------------------------------------------\n *\n * Copyright (c) Microsoft Co"
  },
  {
    "path": "Include/D3D10_1.h",
    "chars": 69600,
    "preview": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler versi"
  },
  {
    "path": "Include/D3D10_1shader.h",
    "chars": 11784,
    "preview": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporatio"
  },
  {
    "path": "Include/D3D10effect.h",
    "chars": 70257,
    "preview": "\n//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporati"
  },
  {
    "path": "Include/D3D10shader.h",
    "chars": 24331,
    "preview": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporatio"
  },
  {
    "path": "Include/D3D11.h",
    "chars": 358304,
    "preview": "/*-------------------------------------------------------------------------------------\n *\n * Copyright (c) Microsoft Co"
  },
  {
    "path": "Include/D3D11SDKLayers.h",
    "chars": 119931,
    "preview": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler versi"
  },
  {
    "path": "Include/D3D11Shader.h",
    "chars": 15314,
    "preview": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporatio"
  },
  {
    "path": "Include/D3Dcommon.h",
    "chars": 33396,
    "preview": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler versi"
  },
  {
    "path": "Include/DShow.h",
    "chars": 3253,
    "preview": "//------------------------------------------------------------------------------\n// File: DShow.h\n//\n// Desc: DirectShow"
  },
  {
    "path": "Include/FXDLL.H",
    "chars": 3266,
    "preview": "/*\n** Copyright (c) 1995, 1996, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOU"
  },
  {
    "path": "Include/FXGLOB.H",
    "chars": 878,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/FXOS.H",
    "chars": 1205,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/MinHook.h",
    "chars": 5366,
    "preview": "/*\n *  MinHook - The Minimalistic API Hooking Library for x64/x86\n *  Copyright (C) 2009-2014 Tsuda Kageyu.\n *  All righ"
  },
  {
    "path": "Include/SST1VID.H",
    "chars": 3176,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/TlHelp32.h",
    "chars": 8461,
    "preview": "/*****************************************************************************\\\n*                                       "
  },
  {
    "path": "Include/Vfw.h",
    "chars": 45229,
    "preview": "#ifndef _VFW_H\n#define _VFW_H\n#if __GNUC__ >= 3\n#pragma GCC system_header\n#endif\n\n#ifndef _WINDOWS_H\n#include <windows.h"
  },
  {
    "path": "Include/amstream.h",
    "chars": 70967,
    "preview": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler versi"
  },
  {
    "path": "Include/d3d.h",
    "chars": 86383,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d10misc.h",
    "chars": 4484,
    "preview": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporatio"
  },
  {
    "path": "Include/d3d10sdklayers.h",
    "chars": 87905,
    "preview": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler versi"
  },
  {
    "path": "Include/d3d8.h",
    "chars": 70953,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d8caps.h",
    "chars": 15724,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d8types.h",
    "chars": 62051,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d9.h",
    "chars": 161025,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d9.wine.h",
    "chars": 154865,
    "preview": "/*\n * Copyright (C) 2002-2003 Jason Edmeades\n *                         Raphael Junqueira\n *\n * This library is free sof"
  },
  {
    "path": "Include/d3d9caps.h",
    "chars": 24486,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3d9types.h",
    "chars": 87480,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3dcaps.h",
    "chars": 25512,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/d3dtypes.h",
    "chars": 77803,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/ddraw.h",
    "chars": 239490,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/ddrawex.h",
    "chars": 9880,
    "preview": "//*********************************************************************\n//*                  Microsoft Windows          "
  },
  {
    "path": "Include/ddrawi.h",
    "chars": 36465,
    "preview": "/*\n * DirectDraw driver interface\n * (DirectX 7 version)\n *\n * Copyright (C) 2001 Ove Kaaven\n *\n * This library is free "
  },
  {
    "path": "Include/dds.h",
    "chars": 9679,
    "preview": "//--------------------------------------------------------------------------------------\n// dds.h\n//\n// This header defi"
  },
  {
    "path": "Include/dinput.h",
    "chars": 223194,
    "preview": "/****************************************************************************\n *\n *  Copyright (C) 1996-2000 Microsoft C"
  },
  {
    "path": "Include/disasm.h",
    "chars": 41389,
    "preview": "////////////////////////////////////////////////////////////////////////////////\n//                                     "
  },
  {
    "path": "Include/dsound.h",
    "chars": 108387,
    "preview": "/*==========================================================================;\n *\n *  Copyright (c) Microsoft Corporation"
  },
  {
    "path": "Include/dxdiag.h",
    "chars": 7945,
    "preview": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation"
  },
  {
    "path": "Include/dxwnd.h",
    "chars": 30053,
    "preview": "#include <ddraw.h>\n//#include \"dxwcore.hpp\"\n\n#define DXW_IDLE\t\t0\n#define DXW_ACTIVE\t\t1\n#define DXW_RUNNING\t\t2\n\n#define M"
  },
  {
    "path": "Include/gl/gl.h",
    "chars": 79873,
    "preview": "/*\n * Mesa 3-D graphics library\n * Version:  4.0\n *\n * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.\n *\n * "
  },
  {
    "path": "Include/gl/glext.h",
    "chars": 752325,
    "preview": "#ifndef __glext_h_\n#define __glext_h_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** THIS FILE IS OBSOLETE. Please migra"
  },
  {
    "path": "Include/gl/glxext.h",
    "chars": 47187,
    "preview": "#ifndef __glxext_h_\n#define __glxext_h_ 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** Copyright (c) 2013-2014 The Khr"
  },
  {
    "path": "Include/gl/wglext.h",
    "chars": 43255,
    "preview": "#ifndef __wglext_h_\n#define __wglext_h_ 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** Copyright (c) 2013-2014 The Khr"
  },
  {
    "path": "Include/gl.h",
    "chars": 79873,
    "preview": "/*\n * Mesa 3-D graphics library\n * Version:  4.0\n *\n * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.\n *\n * "
  },
  {
    "path": "Include/glext.h",
    "chars": 234006,
    "preview": "#ifndef __glext_h_\n#define __glext_h_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** License Applicability. Except to th"
  },
  {
    "path": "Include/glide.h",
    "chars": 28997,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/glidesys.h",
    "chars": 4246,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/glideutl.h",
    "chars": 3230,
    "preview": "/*\n** Copyright (c) 1995, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIETARY SOURCE CO"
  },
  {
    "path": "Include/glu.h",
    "chars": 13755,
    "preview": "/*\n** License Applicability. Except to the extent portions of this file are\n** made subject to an alternative license as"
  },
  {
    "path": "Include/qmixer.h",
    "chars": 40262,
    "preview": "//\n// QMixer for Windows and Macintosh.\n// Copyright (c) 1995-1998 QSound Labs, Inc.  All Rights Reserved.\n// Version 4."
  },
  {
    "path": "Include/sst1init.h",
    "chars": 63340,
    "preview": "/*-*-c++-*-*/\n/*\n** Copyright (c) 1997, 3Dfx Interactive, Inc.\n** All Rights Reserved.\n**\n** This is UNPUBLISHED PROPRIE"
  },
  {
    "path": "README.md",
    "chars": 4601,
    "preview": "Features\n- Run fullscreen programs in window\n- Perform time stretching to slow down or speed up actions\n- Add several co"
  },
  {
    "path": "build/README.FIRST.txt",
    "chars": 4393,
    "preview": "Readme First release notes - November 7th, 2016\n\nDxWnd is a project still in development, so new releases are not always"
  },
  {
    "path": "build/exports/007 NightFire.dxw",
    "chars": 325,
    "preview": "[target]\ntitle0=007 NightFire\npath0=D:\\Games\\007_NightFire\\Bond.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134234150"
  },
  {
    "path": "build/exports/101 The Airborne Invasion of Normandy.dxw",
    "chars": 343,
    "preview": "[target]\ntitle0=101 The Airborne Invasion of Normandy\npath0=D:\\Games\\101air\\101.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0"
  },
  {
    "path": "build/exports/11th Hour, the.dxw",
    "chars": 415,
    "preview": "[target]\ntitle0=11th Hour, the\npath0=D:\\Games\\11thHour\\v32win.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0=\nv"
  },
  {
    "path": "build/exports/25 to Life.dxw",
    "chars": 304,
    "preview": "[target]\ntitle0=25 to Life\npath0=D:\\Games\\25 to life\\game\\25 TO LIFE.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=1342"
  },
  {
    "path": "build/exports/3D Cube Hopper.dxw",
    "chars": 409,
    "preview": "[target]\ntitle0=3D Cube Hopper\npath0=D:\\Games\\3D_Cube_Hopper_RUS\\3DCUBE.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopenglli"
  },
  {
    "path": "build/exports/3D Frog Man.dxw",
    "chars": 400,
    "preview": "[target]\ntitle0=3D Frog Man\npath0=D:\\Games\\3D Frog Man\\FROGMAN.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes"
  },
  {
    "path": "build/exports/4x4 Evolution.dxw",
    "chars": 359,
    "preview": "[target]\ntitle0=4x4 Evolution\npath0=D:\\Games\\4x4 Evolution\\4x4.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\ncoor"
  },
  {
    "path": "build/exports/688(I) Hunter Killer.dxw",
    "chars": 378,
    "preview": "[target]\ntitle0=688(I) Hunter Killer\npath0=D:\\Games\\688\\688I_HK.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0="
  },
  {
    "path": "build/exports/7th Guest (window port).dxw",
    "chars": 383,
    "preview": "[target]\ntitle0=7th Guest (window port)\npath0=D:\\Games\\7thguest\\v32tng.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nreg"
  },
  {
    "path": "build/exports/8th Wonder.dxw",
    "chars": 377,
    "preview": "[target]\ntitle0=8th Wonder\npath0=D:\\Games\\8th wonder\\Game.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0=\nver0="
  },
  {
    "path": "build/exports/A10 Cuba.dxw",
    "chars": 404,
    "preview": "[target]\ntitle0=A10 Cuba\npath0=D:\\Games\\A10\\A10Cuba.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=671096866\nflagg0=1207"
  },
  {
    "path": "build/exports/Abomination.dxw",
    "chars": 354,
    "preview": "[target]\ntitle0=Abomination\npath0=D:\\Games\\Abomination\\Abomb.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134217762\nfl"
  },
  {
    "path": "build/exports/Abuse.dxw",
    "chars": 398,
    "preview": "[target]\ntitle0=Abuse\npath0=D:\\Games\\Abuse\\Abuse32.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0"
  },
  {
    "path": "build/exports/Abyss Incident at Europa.dxw",
    "chars": 420,
    "preview": "[target]\ntitle0=Abyss Incident at Europa\npath0=D:\\Games\\Abyss Incident at Europa\\abyss.exe\nstartfolder0=\nlaunchpath0=\nmo"
  },
  {
    "path": "build/exports/Actua Ice Hockey.dxw",
    "chars": 336,
    "preview": "[target]\ntitle0=Actua Ice Hockey\npath0=D:\\Games\\ahockey\\HOCKEY.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\ncoor"
  },
  {
    "path": "build/exports/Actua Soccer 3.dxw",
    "chars": 413,
    "preview": "[target]\ntitle0=Actua Soccer 3\npath0=D:\\Games\\ActuaSoccer3\\SOCCER3D.EXE\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=93952"
  },
  {
    "path": "build/exports/Adrenix 3D.dxw",
    "chars": 415,
    "preview": "[target]\ntitle0=Adrenix 3D\npath0=D:\\Games\\Adrenix\\AdrenixD.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\ncoord0=0"
  },
  {
    "path": "build/exports/Adrenix.dxw",
    "chars": 351,
    "preview": "[target]\ntitle0=Adrenix\npath0=D:\\Games\\Adrenix\\Adrenix.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\ncoord0=0\nfla"
  },
  {
    "path": "build/exports/AeroStyle.dxw",
    "chars": 436,
    "preview": "[target]\ntitle0=AeroStyle\npath0=F:\\Games\\AeroStyle\\AeroStyle.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0="
  },
  {
    "path": "build/exports/Affari Tuoi.dxw",
    "chars": 363,
    "preview": "[target]\ntitle0=Affari Tuoi\npath0=D:\\Games\\affari tuoi\\Affari Tuoi\\DOND.exe\nmodule0=\nopengllib0=\nver0=9\ncoord0=0\nflag0=5"
  },
  {
    "path": "build/exports/Agassi Tennis Generation.dxw",
    "chars": 326,
    "preview": "[target]\ntitle0=Agassi Tennis Generation\npath0=D:\\Games\\Agassi Tennis Generation\\AGASSI.exe\nmodule0=\nopengllib0=\nver0=0\n"
  },
  {
    "path": "build/exports/Age of Empires Expansion Trial.dxw",
    "chars": 340,
    "preview": "[target]\ntitle0=Age of Empires Expansion Trial\npath0=D:\\Games\\Age of Empires Expansion Trial\\empiresx.exe\nmodule0=\nopeng"
  },
  {
    "path": "build/exports/Age of Empires II.dxw",
    "chars": 368,
    "preview": "[target]\ntitle0=Age of Empires II\npath0=D:\\Games\\Age of Empires 2\\empires2.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\n"
  },
  {
    "path": "build/exports/Age of Empires III.dxw",
    "chars": 411,
    "preview": "[target]\ntitle0=Age of Empires III\npath0=D:\\Games\\Age of Empires III\\age3.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0"
  },
  {
    "path": "build/exports/Age of Empires.dxw",
    "chars": 373,
    "preview": "[target]\ntitle0=Age of Empires\npath0=D:\\Games\\Age of Empires\\Empires.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoord0"
  },
  {
    "path": "build/exports/Age of Wanderer.dxw",
    "chars": 364,
    "preview": "[target]\ntitle0=Age of Wanderer\npath0=D:\\Games\\Age of Wanderer\\Yain.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0"
  },
  {
    "path": "build/exports/Age of Wonders II.dxw",
    "chars": 325,
    "preview": "[target]\ntitle0=Age of Wonders II\npath0=D:\\Games\\Age of Wonders II\\AoW2.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=7\ncoo"
  },
  {
    "path": "build/exports/Age of Wonders.dxw",
    "chars": 411,
    "preview": "[target]\ntitle0=Age of Wonders\npath0=D:\\Games\\Age of Wonders\\AoW.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nf"
  },
  {
    "path": "build/exports/Agile Warrior F111X.dxw",
    "chars": 1002,
    "preview": "[target]\ntitle0=Agile Warrior F111X\npath0=F:\\Games\\Agile Warrior F 111X\\AW.BIN\nstartfolder0=\nlaunchpath0=F:\\Games\\Agile "
  },
  {
    "path": "build/exports/AirXonix.dxw",
    "chars": 376,
    "preview": "[target]\ntitle0=AirXonix\npath0=D:\\Games\\AirXonix\\program.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0=\nver0=0"
  },
  {
    "path": "build/exports/Airfix Dogfighter.dxw",
    "chars": 478,
    "preview": "[target]\ntitle0=Airfix Dogfighter\npath0=D:\\Games\\Airfix Dogfighter\\Dogfighter.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnote"
  },
  {
    "path": "build/exports/Akuma Demon Spawn  - Lamentation Sword.dxw",
    "chars": 339,
    "preview": "[target]\ntitle0=Akuma Demon Spawn  - Lamentation Sword\npath0=D:\\Games\\Akuma Demon Spawn  - Lamentation Sword (1999)\\Akum"
  },
  {
    "path": "build/exports/Al Unser Arcade Racing (original EXE).dxw",
    "chars": 509,
    "preview": "[target]\ntitle0=Al Unser Arcade Racing (original EXE)\npath0=D:\\Games\\Al Unser Jr Arcade Racing\\ALUNSER.orig.EXE\nstartfol"
  },
  {
    "path": "build/exports/Al Unser Arcade Racing.dxw",
    "chars": 498,
    "preview": "[target]\ntitle0=Al Unser Arcade Racing\npath0=D:\\Games\\Al Unser Jr Arcade Racing\\ALUNSER.EXE\nstartfolder0=\nlaunchpath0=\nm"
  },
  {
    "path": "build/exports/Alien Ambush.dxw",
    "chars": 403,
    "preview": "[target]\ntitle0=Alien Ambush\npath0=D:\\Games\\Alien Ambush\\Alien Ambush.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0"
  },
  {
    "path": "build/exports/Alien Nations (GOG).dxw",
    "chars": 374,
    "preview": "[target]\ntitle0=Alien Nations (GOG)\npath0=D:\\Games\\Alien Nations (GOG)\\Bin\\AN.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnote"
  },
  {
    "path": "build/exports/Alien Nations.dxw",
    "chars": 413,
    "preview": "[target]\ntitle0=Alien Nations\npath0=D:\\Games\\Alien Nations\\Bin\\AN.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\nc"
  },
  {
    "path": "build/exports/Alien Swarm (Steam).dxw",
    "chars": 417,
    "preview": "[target]\ntitle0=Alien Swarm (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Alien Swarm\\swarm.exe\nlaunchpath"
  },
  {
    "path": "build/exports/Alien vs. Predator Gold.dxw",
    "chars": 454,
    "preview": "[target]\ntitle0=Alien vs. Predator Gold\npath0=F:\\Games\\Avp Gold\\avp.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\n"
  },
  {
    "path": "build/exports/Alone in the Dark the New Nightmare.dxw",
    "chars": 426,
    "preview": "[target]\ntitle0=Alone in the Dark the New Nightmare\npath0=D:\\Games\\Alone in the Dark\\alone4.exe\nlaunchpath0=D:\\Games\\Alo"
  },
  {
    "path": "build/exports/Alphanatix.dxw",
    "chars": 398,
    "preview": "[target]\ntitle0=Alphanatix\npath0=D:\\Games\\Alphan\\AlphaNatix.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\n"
  },
  {
    "path": "build/exports/American McGee's Alice.dxw",
    "chars": 402,
    "preview": "[target]\ntitle0=American McGee's Alice\npath0=D:\\Games\\American McGee's Alice\\alice.exe\nlaunchpath0=\nmodule0=\nopengllib0="
  },
  {
    "path": "build/exports/Amerzone.dxw",
    "chars": 327,
    "preview": "[target]\ntitle0=Amerzone\npath0=D:\\Games\\Amerzone\\amerzone.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134234114\nflagg"
  },
  {
    "path": "build/exports/Ancient Evil demo.dxw",
    "chars": 409,
    "preview": "[target]\ntitle0=Ancient Evil demo\npath0=D:\\Games\\AECSC\\aecsc-demo.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=1363312"
  },
  {
    "path": "build/exports/Apache for Win95.dxw",
    "chars": 411,
    "preview": "[target]\ntitle0=Apache for Win95\npath0=D:\\Games\\APACHE\\APACHE95.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnote"
  },
  {
    "path": "build/exports/Arcade Pool 2.dxw",
    "chars": 393,
    "preview": "[target]\ntitle0=Arcade Pool 2\npath0=D:\\Games\\Arcade Pool 2\\Arcade Pool II.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\n"
  },
  {
    "path": "build/exports/Area 51.dxw",
    "chars": 319,
    "preview": "[target]\ntitle0=Area 51\npath0=D:\\Games\\Area 51\\area51.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134217"
  },
  {
    "path": "build/exports/Armor Command.dxw",
    "chars": 400,
    "preview": "[target]\ntitle0=Armor Command\npath0=D:\\Games\\Armor Command\\armrcmd.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nn"
  },
  {
    "path": "build/exports/Armored Fist 3.dxw",
    "chars": 359,
    "preview": "[target]\ntitle0=Armored Fist 3\npath0=D:\\Games\\Armored Fist 3\\Af3.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=13421776"
  },
  {
    "path": "build/exports/Army Men RTS.dxw",
    "chars": 406,
    "preview": "[target]\ntitle0=Army Men RTS\npath0=D:\\Games\\Army Men RTS\\amrts.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=671088678\n"
  },
  {
    "path": "build/exports/Art is Dead.dxw",
    "chars": 385,
    "preview": "[target]\ntitle0=Art is Dead\npath0=D:\\Games\\Art is Dead\\gungallery.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry"
  },
  {
    "path": "build/exports/Arthur's Quest.dxw",
    "chars": 572,
    "preview": "[target]\ntitle0=Arthur's Quest\npath0=D:\\Games\\Arthur's Quest\\lithtech.exe\nstartfolder0=\nlaunchpath0=D:\\Games\\Arthur's Qu"
  },
  {
    "path": "build/exports/Arx Fatalis.dxw",
    "chars": 416,
    "preview": "[target]\ntitle0=Arx Fatalis\npath0=D:\\Games\\Arx Fatalis\\arx.exe\nlaunchpath0=\nmodule0=Athena\nopengllib0=\nnotes0=\nregistry0"
  },
  {
    "path": "build/exports/Ashes to Ashes.dxw",
    "chars": 501,
    "preview": "[target]\ntitle0=Ashes to Ashes\npath0=D:\\Games\\Ashes to Ashes\\ASHES.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nn"
  },
  {
    "path": "build/exports/Atlantis - The Lost Tales.dxw",
    "chars": 439,
    "preview": "[target]\ntitle0=Atlantis - The Lost Tales\npath0=D:\\Games\\Atlantis - The Lost Tales\\Atlantis.exe\nlaunchpath0=\nmodule0=\nop"
  },
  {
    "path": "build/exports/Attack of the Saucerman.dxw",
    "chars": 315,
    "preview": "[target]\ntitle0=Attack of the Saucerman\npath0=D:\\Games\\Attack of the Saucerman\\attack of the saucerman.exe\nmodule0=\nopen"
  },
  {
    "path": "build/exports/Aura 2 The Sacred Rings.dxw",
    "chars": 402,
    "preview": "[target]\ntitle0=Aura 2 The Sacred Rings\npath0=D:\\Games\\Aura 2 The Sacred Rings\\TSR.exe\nlaunchpath0=\nmodule0=\nopengllib0="
  },
  {
    "path": "build/exports/Avadon 2 The Corruption (Steam).dxw",
    "chars": 431,
    "preview": "[target]\ntitle0=Avadon 2: The Corruption (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avadon 2\\Avadon 2.e"
  },
  {
    "path": "build/exports/Avadon the Black Fortress (Steam).dxw",
    "chars": 447,
    "preview": "[target]\ntitle0=Avadon the Black Fortress (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avadon The Black F"
  },
  {
    "path": "build/exports/Avernum 2 Crystal Souls (Steam).dxw",
    "chars": 447,
    "preview": "[target]\ntitle0=Avernum 2: Crystal Souls (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avernum 2 Crystal S"
  },
  {
    "path": "build/exports/Avernum 4 (Steam).dxw",
    "chars": 423,
    "preview": "[target]\ntitle0=Avernum 4 (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avernum 4\\Avernum 4.exe\nlaunchpath"
  },
  {
    "path": "build/exports/Avernum 5 (Steam).dxw",
    "chars": 423,
    "preview": "[target]\ntitle0=Avernum 5 (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avernum 5\\Avernum 5.exe\nlaunchpath"
  },
  {
    "path": "build/exports/Avernum 6 (Steam).dxw",
    "chars": 423,
    "preview": "[target]\ntitle0=Avernum 6 (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avernum 6\\Avernum 6.exe\nlaunchpath"
  },
  {
    "path": "build/exports/Avernum Escape From the Pit (Steam).dxw",
    "chars": 453,
    "preview": "[target]\ntitle0=Avernum: Escape From the Pit (Steam)\npath0=D:\\Program Files (x86)\\Steam\\SteamApps\\common\\Avernum Escape "
  },
  {
    "path": "build/exports/Avernum demo.dxw",
    "chars": 362,
    "preview": "[target]\ntitle0=Avernum demo\npath0=D:\\Games\\Avernum Demo\\Avernum.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\nco"
  },
  {
    "path": "build/exports/Axis & Allies Iron Blitz Edition.dxw",
    "chars": 399,
    "preview": "[target]\ntitle0=Axis & Allies Iron Blitz Edition\npath0=D:\\Games\\Axis & Allies Iron Blitz Edition\\Axis & Allies\\AxisAllie"
  },
  {
    "path": "build/exports/Aztec Wars.dxw",
    "chars": 452,
    "preview": "[target]\ntitle0=Aztec Wars\npath0=F:\\Games\\Aztec Wars\\The Aztec\\Aztec.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0="
  },
  {
    "path": "build/exports/Baldur's Gate.dxw",
    "chars": 417,
    "preview": "[target]\ntitle0=Baldur's Gate\npath0=D:\\Games\\Baldurs Gate\\BGMain2.exe\nlaunchpath0=D:\\Games\\Baldurs Gate\\baldur.exe\nmodul"
  },
  {
    "path": "build/exports/Banzai Bug.dxw",
    "chars": 500,
    "preview": "[target]\ntitle0=Banzai Bug\npath0=D:\\Games\\Banzai Bug\\EXE\\RELEASE.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=1\nco"
  },
  {
    "path": "build/exports/Barbie Riding Club.dxw",
    "chars": 429,
    "preview": "[target]\ntitle0=Barbie Riding Club\npath0=D:\\Games\\Barbie Riding Club\\Program\\Barbie Riding Club.exe\nstartfolder0=\nlaunch"
  },
  {
    "path": "build/exports/Bard's Tale, the.dxw",
    "chars": 333,
    "preview": "[target]\ntitle0=Bard's Tale, the\npath0=D:\\Games\\The Bard's Tale\\The Bard's Tale.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nve"
  },
  {
    "path": "build/exports/Batman Vengeance.dxw",
    "chars": 391,
    "preview": "[target]\ntitle0=Batman Vengeance\npath0=D:\\Games\\Batman Vengeance\\Batman\\Batman.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnot"
  },
  {
    "path": "build/exports/Battery Check.dxw",
    "chars": 400,
    "preview": "[target]\ntitle0=Battery Check\npath0=D:\\Games\\Battery Check\\Battery.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nn"
  },
  {
    "path": "build/exports/Battle Isle - the Andosia War.dxw",
    "chars": 401,
    "preview": "[target]\ntitle0=Battle Isle - the Andosia War\npath0=D:\\Games\\Battle Isle - the Andosia War\\BITAW.exe\nlaunchpath0=\nmodule"
  },
  {
    "path": "build/exports/Battle Realms.dxw",
    "chars": 370,
    "preview": "[target]\ntitle0=Battle Realms\npath0=D:\\Games\\Battle Realms\\Battle_Realms_F.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\n"
  },
  {
    "path": "build/exports/Battlezone (1998).dxw",
    "chars": 380,
    "preview": "[target]\ntitle0=Battlezone (1998)\npath0=D:\\Games\\Battlezone\\bzone.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry"
  },
  {
    "path": "build/exports/Beavis & Butthead Do U..dxw",
    "chars": 330,
    "preview": "[target]\ntitle0=Beavis & Butthead Do U.\npath0=D:\\Games\\B_b\\BEAVIS.EXE\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=6731878"
  },
  {
    "path": "build/exports/Beetle Crazy Cup.dxw",
    "chars": 373,
    "preview": "[target]\ntitle0=Beetle Crazy Cup\npath0=D:\\Games\\Beetle Crazy Cup\\beetle.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nve"
  },
  {
    "path": "build/exports/Betrayal in Antara.dxw",
    "chars": 374,
    "preview": "[target]\ntitle0=Betrayal in Antara\npath0=D:\\Games\\Betrayal in Antara\\ANTARAR.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes"
  },
  {
    "path": "build/exports/Beyond Divinity.dxw",
    "chars": 336,
    "preview": "[target]\ntitle0=Beyond Divinity\npath0=D:\\Games\\Beyond Divinity\\Div.exe\nmodule0=\nopengllib0=\nver0=1\ncoord0=0\nflag0=134234"
  },
  {
    "path": "build/exports/Big BumpZ.dxw",
    "chars": 376,
    "preview": "[target]\ntitle0=Big BumpZ\npath0=D:\\Games\\bumpz\\Big BumpZ.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0=\nver0=0"
  },
  {
    "path": "build/exports/Black & White.dxw",
    "chars": 420,
    "preview": "[target]\ntitle0=Black & White\npath0=D:\\Games\\Black & White\\runblack.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=67947"
  },
  {
    "path": "build/exports/Black Moon Chronicles.dxw",
    "chars": 389,
    "preview": "[target]\ntitle0=Black Moon Chronicles\npath0=D:\\Games\\Black Moon Chronicles\\Lune noire\\Engine.exe\nmodule0=\nopengllib0=\nve"
  },
  {
    "path": "build/exports/Black Thorn.dxw",
    "chars": 410,
    "preview": "[target]\ntitle0=Black Thorn\npath0=D:\\Games\\Black Thorn\\BlackThorn.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\nc"
  },
  {
    "path": "build/exports/Blade Runner (4CD version).dxw",
    "chars": 861,
    "preview": "[target]\ntitle0=Blade Runner (4CD version)\npath0=D:\\Blade\\BLADE.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnote"
  },
  {
    "path": "build/exports/Blade Runner (Win7).dxw",
    "chars": 541,
    "preview": "[target]\ntitle0=Blade Runner (Win7)\npath0=F:\\Games\\Blade Runner\\Blade7.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib"
  },
  {
    "path": "build/exports/Blade Runner.dxw",
    "chars": 431,
    "preview": "[target]\ntitle0=Blade Runner\npath0=F:\\Games\\blade runner\\BLADE.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes"
  },
  {
    "path": "build/exports/Blair Witch Volume One - Rustin Parr.dxw",
    "chars": 367,
    "preview": "[target]\ntitle0=Blair Witch Volume One - Rustin Parr\npath0=D:\\Games\\Blair Witch Volume One - Rustin Parr\\NOCTURNE.EXE\nla"
  },
  {
    "path": "build/exports/Blair Witch Volume Three - Elly Kedward.dxw",
    "chars": 545,
    "preview": "[target]\ntitle0=Blair Witch Volume Three - Elly Kedward\npath0=D:\\Games\\Blair Witch Volume Three - Elly Kedward\\bw3.exe\nl"
  },
  {
    "path": "build/exports/Blair Witch Volume Two.dxw",
    "chars": 511,
    "preview": "[target]\ntitle0=Blair Witch Volume Two\npath0=D:\\Games\\Blair Witch II\\blairwitch2.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nn"
  },
  {
    "path": "build/exports/Blaze and Blade.dxw",
    "chars": 342,
    "preview": "[target]\ntitle0=Blaze and Blade\npath0=D:\\Games\\Blaze and Blade\\Blaze.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0="
  },
  {
    "path": "build/exports/Blood 2 the Chosen.dxw",
    "chars": 388,
    "preview": "[target]\ntitle0=Blood 2 the Chosen\npath0=D:\\Games\\Blood2\\CLIENT.EXE\nlaunchpath0=D:\\Games\\Blood2\\BLOOD2.EXE\nmodule0=\nopen"
  },
  {
    "path": "build/exports/Bomberbabe.dxw",
    "chars": 514,
    "preview": "[target]\ntitle0=Bomberbabe\npath0=D:\\Games\\Ludonic\\Bomberbabe.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=673185826\nfl"
  },
  {
    "path": "build/exports/Breath of Fire IV.dxw",
    "chars": 382,
    "preview": "[target]\ntitle0=Breath of Fire IV\npath0=D:\\Games\\Breath of Fire 4\\BOF4.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoor"
  },
  {
    "path": "build/exports/Bugdom.dxw",
    "chars": 374,
    "preview": "[target]\ntitle0=Bugdom\npath0=D:\\Games\\Bugdom\\Bugdom.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nregistry0=\nver0=0\ncoor"
  },
  {
    "path": "build/exports/Bugriders the Race of Kings.dxw",
    "chars": 410,
    "preview": "[target]\ntitle0=Bugriders the Race of Kings\npath0=D:\\Games\\RIDERS\\BIN\\RIDERS.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nope"
  },
  {
    "path": "build/exports/Bugs Bunny Lost In Time.dxw",
    "chars": 385,
    "preview": "[target]\ntitle0=Bugs Bunny Lost In Time\npath0=D:\\Games\\Bugs.Bunny.Lost.In.Time\\bin\\bugs.exe\nlaunchpath0=\nmodule0=\nopengl"
  },
  {
    "path": "build/exports/Bunnies must die.dxw",
    "chars": 375,
    "preview": "[target]\ntitle0=Bunnies must die\npath0=D:\\Games\\Bunnies must die\\bmd.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=1\ncoord0"
  },
  {
    "path": "build/exports/Bust A Move 3DX.dxw",
    "chars": 400,
    "preview": "[target]\ntitle0=Bust A Move 3DX\npath0=D:\\Games\\Bust A Move 3DX\\PB3.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nn"
  },
  {
    "path": "build/exports/C&C Generals.dxw",
    "chars": 448,
    "preview": "[target]\ntitle0=C&C Generals\npath0=D:\\Games\\Command & Conquer(tm) Generals Zero Hour\\game.dat\nlaunchpath0=D:\\Games\\Comma"
  },
  {
    "path": "build/exports/C&C Red Alert 2 Yuri's Revenge.dxw",
    "chars": 438,
    "preview": "[target]\ntitle0=C&C Red Alert 2 Yuri's Revenge\npath0=D:\\Games\\Red Alert 2 Yuri's Revenge\\gamemd.exe\nlaunchpath0=D:\\Games"
  },
  {
    "path": "build/exports/Call Of Cthulhu DCotE.dxw",
    "chars": 343,
    "preview": "[target]\ntitle0=Call Of Cthulhu DCotE\npath0=D:\\Games\\Call Of Cthulhu\\Engine\\CoCMainWin32.exe\nlaunchpath0=\nmodule0=\nopeng"
  },
  {
    "path": "build/exports/Call To Power 2.dxw",
    "chars": 321,
    "preview": "[target]\ntitle0=Call To Power 2\npath0=D:\\Games\\Call To Power 2\\ctp2_program\\ctp\\ctp2.exe\nmodule0=\nopengllib0=\nver0=0\ncoo"
  },
  {
    "path": "build/exports/Carmageddon (gore).dxw",
    "chars": 414,
    "preview": "[target]\ntitle0=Carmageddon (gore)\npath0=D:\\Games\\carsplat\\CARMA95.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\n"
  },
  {
    "path": "build/exports/Carmageddon (no gore).dxw",
    "chars": 417,
    "preview": "[target]\ntitle0=Carmageddon (no gore)\npath0=D:\\Games\\carsplat\\CARM95G.EXE\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0"
  },
  {
    "path": "build/exports/Carmageddon 2 (GLIDE).dxw",
    "chars": 420,
    "preview": "[target]\ntitle0=Carmageddon 2 (GLIDE)\npath0=D:\\Games\\Carmageddon_2\\carma2_HW.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nfl"
  },
  {
    "path": "build/exports/Carmageddon 2 (SW).dxw",
    "chars": 421,
    "preview": "[target]\ntitle0=Carmageddon 2 (SW)\npath0=D:\\Games\\Carmageddon_2\\carma2_SW.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0"
  },
  {
    "path": "build/exports/Carnivores 3DFX.dxw",
    "chars": 299,
    "preview": "[target]\ntitle0=Carnivores 3DFX\npath0=D:\\Games\\Carnivores\\HUNT3DFX.EXE\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=671089"
  },
  {
    "path": "build/exports/Carnivores.dxw",
    "chars": 366,
    "preview": "[target]\ntitle0=Carnivores\npath0=D:\\Games\\Carnivores\\HUNTSOFT.EXE\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=939524130\nf"
  },
  {
    "path": "build/exports/Catechumen (3DFX).dxw",
    "chars": 315,
    "preview": "[target]\ntitle0=Catechumen (3DFX)\npath0=D:\\Games\\Catechumen\\game\\Catechumen.exe\nmodule0=\nopengllib0=\nver0=9\ncoord0=0\nfla"
  },
  {
    "path": "build/exports/Cave Story.dxw",
    "chars": 354,
    "preview": "[target]\ntitle0=Cave Story\npath0=D:\\Games\\Cave Story\\Doukutsu.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134217762\nf"
  },
  {
    "path": "build/exports/Celtic Kings Rage of War.dxw",
    "chars": 384,
    "preview": "[target]\ntitle0=Celtic Kings Rage of War\npath0=D:\\Games\\Celtic Kings RoW\\Celtic kings.exe\nlaunchpath0=\nmodule0=\nopenglli"
  },
  {
    "path": "build/exports/Championship Manager 03 04.dxw",
    "chars": 378,
    "preview": "[target]\ntitle0=Championship Manager 03 04\npath0=D:\\Games\\CM 03-04\\cm0304.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\n"
  },
  {
    "path": "build/exports/Chaos Island (rip).dxw",
    "chars": 844,
    "preview": "[target]\ntitle0=Chaos Island (RIP)\npath0=D:\\Games\\Chaos Island\\CIsland.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=Need"
  },
  {
    "path": "build/exports/Chaos Island.dxw",
    "chars": 400,
    "preview": "[target]\ntitle0=Chaos Island\npath0=D:\\Games\\Chaos Island\\CIsland.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=Needs prop"
  },
  {
    "path": "build/exports/Chaos Overlords.dxw",
    "chars": 413,
    "preview": "[target]\ntitle0=Chaos Overlords\npath0=D:\\Games\\Chaos Overlords\\Chaos Overlords.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\no"
  },
  {
    "path": "build/exports/Chariots of War.dxw",
    "chars": 278,
    "preview": "[target]\ntitle0=Chariots of War\npath0=D:\\Games\\Chariots of War\\CoW.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134217"
  },
  {
    "path": "build/exports/Chicago 1930.dxw",
    "chars": 414,
    "preview": "[target]\ntitle0=Chicago 1930\npath0=D:\\Games\\Chicago 1930\\Chicago 1930.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134"
  },
  {
    "path": "build/exports/Chicken Invaders 2.dxw",
    "chars": 465,
    "preview": "[target]\ntitle0=Chicken Invaders 2\npath0=F:\\Games\\Chicken Invaders 2\\ChickenInvaders2.exe\nstartfolder0=\nlaunchpath0=\nmod"
  },
  {
    "path": "build/exports/Circus Fighters.dxw",
    "chars": 407,
    "preview": "[target]\ntitle0=Circus Fighters\npath0=D:\\Games\\Circus Fighters\\CIRCUS.EXE\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0"
  },
  {
    "path": "build/exports/Close Combat 2 a bridge too far.dxw",
    "chars": 2079,
    "preview": "[target]\ntitle0=Close Combat 2: a bridge too far\npath0=D:\\Games\\Close Combat 2\\CC2.EXE\nlaunchpath0=\nmodule0=\nopengllib0="
  },
  {
    "path": "build/exports/Close Combat 5 Invasion Normandy.dxw",
    "chars": 427,
    "preview": "[target]\ntitle0=Close Combat 5 Invasion Normandy\npath0=D:\\Games\\Close Combat 5\\CC5.exe\nmodule0=\nopengllib0=\nver0=0\ncoord"
  },
  {
    "path": "build/exports/Codename Tenka.dxw",
    "chars": 395,
    "preview": "[target]\ntitle0=Codename Tenka\npath0=D:\\Games\\codetenka\\tenka.exe\nstartfolder0=\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0"
  },
  {
    "path": "build/exports/Colin McRae Rally 2.0.dxw",
    "chars": 402,
    "preview": "[target]\ntitle0=Colin McRae Rally 2.0\npath0=D:\\Games\\MVM 2004 - Colin McRae Rally 2.0\\CMR2.exe\nlaunchpath0=\nmodule0=\nope"
  },
  {
    "path": "build/exports/Command & Conquer - Red Alert The Aftermath.dxw",
    "chars": 423,
    "preview": "[target]\ntitle0=Command & Conquer - Red Alert The Aftermath\npath0=D:\\Games\\C&C - Red Alert The Aftermath\\RA95.EXE\nlaunch"
  },
  {
    "path": "build/exports/Command & Conquer Red Alert 2.dxw",
    "chars": 433,
    "preview": "[target]\ntitle0=Command & Conquer Red Alert 2\npath0=D:\\Games\\Red Alert 2 Yuri's Revenge\\game.exe\nlaunchpath0=D:\\Games\\Re"
  },
  {
    "path": "build/exports/Conflict Zone.dxw",
    "chars": 325,
    "preview": "[target]\ntitle0=Conflict Zone\npath0=D:\\Games\\Conflict Zone\\Conflict zone.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\nco"
  },
  {
    "path": "build/exports/Contrast.dxw",
    "chars": 396,
    "preview": "[target]\ntitle0=Contrast\npath0=D:\\Games\\Contrast\\Binaries\\Win32\\ContrastGame.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes"
  },
  {
    "path": "build/exports/Cool Pool Eightball Demo.dxw",
    "chars": 399,
    "preview": "[target]\ntitle0=Cool Pool Eightball Demo\npath0=D:\\Games\\CoolPoolEightballDemo\\CoolPool.exe\nlaunchpath0=\nmodule0=\nopengll"
  },
  {
    "path": "build/exports/Corsairs Gold (GOG).dxw",
    "chars": 376,
    "preview": "[target]\ntitle0=Corsairs Gold\npath0=D:\\Games\\Corsairs Gold\\corsairs.patched.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0"
  },
  {
    "path": "build/exports/Corsairs.dxw",
    "chars": 354,
    "preview": "[target]\ntitle0=Corsairs\npath0=D:\\Games\\CORSAIRS\\corsairs.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nnotes0=\nver0=0\ncoord0=0\n"
  },
  {
    "path": "build/exports/Cossacks II.dxw",
    "chars": 403,
    "preview": "[target]\ntitle0=Cossacks II\npath0=D:\\Games\\GSC Game World\\Cossacks II\\Data\\engine.exe\nlaunchpath0=\nmodule0=\nopengllib0=\n"
  },
  {
    "path": "build/exports/Crimson Skies (DEMO).dxw",
    "chars": 287,
    "preview": "[target]\ntitle0=Crimson Skies (DEMO)\npath0=D:\\Games\\Crimson Skies\\crimson.exe\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0"
  },
  {
    "path": "build/exports/Crimson Skies.dxw",
    "chars": 497,
    "preview": "[target]\ntitle0=Crimson Skies\npath0=F:\\Games\\Crimson Skies\\crimson.exe\nmodule0=\nopengllib0=\nver0=7\ncoord0=0\nflag0=677396"
  },
  {
    "path": "build/exports/Croc - Legend of the Gobbos.dxw",
    "chars": 379,
    "preview": "[target]\ntitle0=Croc - Legend of the Gobbos\npath0=D:\\Games\\Croc\\croc.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoord0"
  },
  {
    "path": "build/exports/Croc 2.dxw",
    "chars": 361,
    "preview": "[target]\ntitle0=Croc 2\npath0=D:\\Games\\Croc 2\\Croc2.exe\nlaunchpath0=\nmodule0=\nopengllib0=\nver0=0\ncoord0=0\nflag0=134218274"
  }
]

// ... and 838 more files (download for full content)

About this extraction

This page contains the full source code of the DxWnd/DxWnd.reloaded GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1038 files (7.0 MB), approximately 1.9M tokens, and a symbol index with 3753 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!