-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnamegen_xtlid.cpp
1716 lines (1698 loc) · 67.9 KB
/
namegen_xtlid.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#include <string>
#include <sstream>
#include <iomanip>
#include <unordered_map>
#include <cstdint>
// Based on https://github.com/XboxDev/xtlid/blob/4c76295326efd4fa16c3298635909c9767c180f2/src/xtlid.xml
// Function mappings for D3DX8
std::unordered_map<uint32_t, std::string> functions_D3DX8 = {
{ 0x90001, "D3DXBoxBoundProbe" },
{ 0x90002, "D3DXCheckCubeTextureRequirements" },
{ 0x90003, "D3DXCheckTextureRequirements" },
{ 0x90004, "D3DXCheckVolumeTextureRequirements" },
{ 0x90005, "D3DXCleanMesh" },
{ 0x90006, "D3DXColorAdd" },
{ 0x90007, "D3DXColorAdjustContrast" },
{ 0x90008, "D3DXColorAdjustSaturation" },
{ 0x90009, "D3DXColorLerp" },
{ 0x9000a, "D3DXColorModulate" },
{ 0x9000b, "D3DXColorNegative" },
{ 0x9000c, "D3DXColorScale" },
{ 0x9000d, "D3DXColorSubtract" },
{ 0x9000e, "D3DXCompileEffect" },
{ 0x9000f, "D3DXCompileEffectFromFileA" },
{ 0x90010, "D3DXComputeBoundingBox" },
{ 0x90011, "D3DXComputeBoundingSphere" },
{ 0x90012, "D3DXComputeNormals" },
{ 0x90013, "D3DXCreateBox" },
{ 0x90014, "D3DXCreateBuffer" },
{ 0x90015, "D3DXCreateCubeTexture" },
{ 0x90016, "D3DXCreateCubeTextureFromFileA" },
{ 0x90017, "D3DXCreateCubeTextureFromFileExA" },
{ 0x90018, "D3DXCreateCubeTextureFromFileInMemory" },
{ 0x90019, "D3DXCreateCubeTextureFromFileInMemoryEx" },
{ 0x9001a, "D3DXCreateCylinder" },
{ 0x9001b, "D3DXCreateEffect" },
{ 0x9001c, "D3DXCreateMatrixStack" },
{ 0x9001d, "D3DXCreateMesh" },
{ 0x9001e, "D3DXCreateMeshFVF" },
{ 0x9001f, "D3DXCreatePMeshFromStream" },
{ 0x90020, "D3DXCreatePolygon" },
{ 0x90021, "D3DXCreateSkinMesh" },
{ 0x90022, "D3DXCreateSkinMeshFromMesh" },
{ 0x90023, "D3DXCreateSkinMeshFVF" },
{ 0x90024, "D3DXCreateSphere" },
{ 0x90025, "D3DXCreateSPMesh" },
{ 0x90026, "D3DXCreateTeapot" },
{ 0x90027, "D3DXCreateTexture" },
{ 0x90028, "D3DXCreateTextureFromFileA" },
{ 0x90029, "D3DXCreateTextureFromFileExA" },
{ 0x9002a, "D3DXCreateTextureFromFileInMemory" },
{ 0x9002b, "D3DXCreateTextureFromFileInMemoryEx" },
{ 0x9002c, "D3DXCreateTorus" },
{ 0x9002d, "D3DXCreateVolumeTexture" },
{ 0x9002e, "D3DXDeclaratorFromFVF" },
{ 0x9002f, "D3DXFilterCubeTexture" },
{ 0x90030, "D3DXFilterTexture" },
{ 0x90031, "D3DXFilterVolumeTexture" },
{ 0x90032, "D3DXFVFFromDeclarator" },
{ 0x90033, "D3DXGeneratePMesh" },
{ 0x90034, "D3DXGetDXT3DXT5" },
{ 0x90035, "D3DXIntersect" },
{ 0x90036, "D3DXLoadMeshFromX" },
{ 0x90037, "D3DXLoadMeshFromXof" },
{ 0x90038, "D3DXLoadSkinMeshFromXof" },
{ 0x90039, "D3DXLoadSurfaceFromFileA" },
{ 0x9003a, "D3DXLoadSurfaceFromFileInMemory" },
{ 0x9003b, "D3DXLoadSurfaceFromMemory" },
{ 0x9003c, "D3DXLoadSurfaceFromSurface" },
{ 0x9003d, "D3DXLoadVolumeFromMemory" },
{ 0x9003e, "D3DXLoadVolumeFromVolume" },
{ 0x9003f, "D3DXMatrixAffineTransformation" },
{ 0x90040, "D3DXMatrixfDeterminant" },
{ 0x90041, "D3DXMatrixIdentity" },
{ 0x90042, "D3DXMatrixInverse" },
{ 0x90043, "D3DXMatrixIsIdentity" },
{ 0x90044, "D3DXMatrixLookAtLH" },
{ 0x90045, "D3DXMatrixLookAtRH" },
{ 0x90046, "D3DXMatrixMultiply" },
{ 0x90047, "D3DXMatrixOrthoLH" },
{ 0x90048, "D3DXMatrixOrthoOffCenterLH" },
{ 0x90049, "D3DXMatrixOrthoOffCenterRH" },
{ 0x9004a, "D3DXMatrixOrthoRH" },
{ 0x9004b, "D3DXMatrixPerspectiveFovLH" },
{ 0x9004c, "D3DXMatrixPerspectiveFovRH" },
{ 0x9004d, "D3DXMatrixPerspectiveLH" },
{ 0x9004e, "D3DXMatrixPerspectiveOffCenterLH" },
{ 0x9004f, "D3DXMatrixPerspectiveOffCenterRH" },
{ 0x90050, "D3DXMatrixPerspectiveRH" },
{ 0x90051, "D3DXMatrixReflect" },
{ 0x90052, "D3DXMatrixRotationAxis" },
{ 0x90053, "D3DXMatrixRotationQuaternion" },
{ 0x90054, "D3DXMatrixRotationX" },
{ 0x90055, "D3DXMatrixRotationY" },
{ 0x90056, "D3DXMatrixRotationYawPitchRoll" },
{ 0x90057, "D3DXMatrixRotationZ" },
{ 0x90058, "D3DXMatrixScaling" },
{ 0x90059, "D3DXMatrixShadow" },
{ 0x9005a, "D3DXMatrixTransformation" },
{ 0x9005b, "D3DXMatrixTranslation" },
{ 0x9005c, "D3DXMatrixTranspose" },
{ 0x9005d, "D3DXPlaneDot" },
{ 0x9005e, "D3DXPlaneDotCoord" },
{ 0x9005f, "D3DXPlaneDotNormal" },
{ 0x90060, "D3DXPlaneFromPointNormal" },
{ 0x90061, "D3DXPlaneFromPoints" },
{ 0x90062, "D3DXPlaneIntersectLine" },
{ 0x90063, "D3DXPlaneNormalize" },
{ 0x90064, "D3DXPlaneTransform" },
{ 0x90065, "D3DXQuaternionBaryCentric" },
{ 0x90066, "D3DXQuaternionConjugate" },
{ 0x90067, "D3DXQuaternionDot" },
{ 0x90068, "D3DXQuaternionExp" },
{ 0x90069, "D3DXQuaternionIdentity" },
{ 0x9006a, "D3DXQuaternionInverse" },
{ 0x9006b, "D3DXQuaternionIsIdentity" },
{ 0x9006c, "D3DXQuaternionLength" },
{ 0x9006d, "D3DXQuaternionLengthSq" },
{ 0x9006e, "D3DXQuaternionLn" },
{ 0x9006f, "D3DXQuaternionMultiply" },
{ 0x90070, "D3DXQuaternionNormalize" },
{ 0x90071, "D3DXQuaternionRotationAxis" },
{ 0x90072, "D3DXQuaternionRotationMatrix" },
{ 0x90073, "D3DXQuaternionRotationYawPitchRoll" },
{ 0x90074, "D3DXQuaternionSlerp" },
{ 0x90075, "D3DXQuaternionSquad" },
{ 0x90076, "D3DXQuaternionToAxisAngle" },
{ 0x90077, "D3DXSaveMeshToX" },
{ 0x90078, "D3DXSetDXT3DXT5" },
{ 0x90079, "D3DXSimplifyMesh" },
{ 0x9007a, "D3DXSphereBoundProbe" },
{ 0x9007b, "D3DXTesselateMesh" },
{ 0x9007c, "D3DXValidMesh" },
{ 0x9007d, "D3DXVec2Add" },
{ 0x9007e, "D3DXVec2BaryCentric" },
{ 0x9007f, "D3DXVec2CatmullRom" },
{ 0x90080, "D3DXVec2CCW" },
{ 0x90081, "D3DXVec2Dot" },
{ 0x90082, "D3DXVec2Hermite" },
{ 0x90083, "D3DXVec2Length" },
{ 0x90084, "D3DXVec2LengthSq" },
{ 0x90085, "D3DXVec2Lerp" },
{ 0x90086, "D3DXVec2Maximize" },
{ 0x90087, "D3DXVec2Minimize" },
{ 0x90088, "D3DXVec2Normalize" },
{ 0x90089, "D3DXVec2Scale" },
{ 0x9008a, "D3DXVec2Subtract" },
{ 0x9008b, "D3DXVec2Transform" },
{ 0x9008c, "D3DXVec2TransformCoord" },
{ 0x9008d, "D3DXVec2TransformNormal" },
{ 0x9008e, "D3DXVec3Add" },
{ 0x9008f, "D3DXVec3BaryCentric" },
{ 0x90090, "D3DXVec3CatmullRom" },
{ 0x90091, "D3DXVec3Cross" },
{ 0x90092, "D3DXVec3Dot" },
{ 0x90093, "D3DXVec3Hermite" },
{ 0x90094, "D3DXVec3Length" },
{ 0x90095, "D3DXVec3LengthSq" },
{ 0x90096, "D3DXVec3Lerp" },
{ 0x90097, "D3DXVec3Maximize" },
{ 0x90098, "D3DXVec3Minimize" },
{ 0x90099, "D3DXVec3Normalize" },
{ 0x9009a, "D3DXVec3Project" },
{ 0x9009b, "D3DXVec3Scale" },
{ 0x9009c, "D3DXVec3Subtract" },
{ 0x9009d, "D3DXVec3Transform" },
{ 0x9009e, "D3DXVec3TransformCoord" },
{ 0x9009f, "D3DXVec3TransformNormal" },
{ 0x900a0, "D3DXVec3Unproject" },
{ 0x900a1, "D3DXVec4Add" },
{ 0x900a2, "D3DXVec4BaryCentric" },
{ 0x900a3, "D3DXVec4CatmullRom" },
{ 0x900a4, "D3DXVec4Cross" },
{ 0x900a5, "D3DXVec4Dot" },
{ 0x900a6, "D3DXVec4Hermite" },
{ 0x900a7, "D3DXVec4Length" },
{ 0x900a8, "D3DXVec4LengthSq" },
{ 0x900a9, "D3DXVec4Lerp" },
{ 0x900aa, "D3DXVec4Maximize" },
{ 0x900ab, "D3DXVec4Minimize" },
{ 0x900ac, "D3DXVec4Normalize" },
{ 0x900ad, "D3DXVec4Scale" },
{ 0x900ae, "D3DXVec4Subtract" },
{ 0x900af, "D3DXVec4Transform" },
{ 0x900b0, "D3DXWeldVertices" }
};
// Function mappings for DMUSIC
std::unordered_map<uint32_t, std::string> functions_DMUSIC = {
{ 0xa0001, "DirectMusicAlloc" },
{ 0xa0002, "DirectMusicCreateDefaultHeap" },
{ 0xa0003, "DirectMusicCreateDefaultPhysicalHeap" },
{ 0xa0004, "DirectMusicCreateFixedSizeHeap" },
{ 0xa0005, "DirectMusicCreateFixedSizePhysicalHeap" },
{ 0xa0006, "DirectMusicCreateInstance" },
{ 0xa0007, "DirectMusicDefaultFactory" },
{ 0xa0008, "DirectMusicDoWork" },
{ 0xa0009, "DirectMusicFree" },
{ 0xa000a, "DirectMusicInitialize" },
{ 0xa000b, "DirectMusicInitializeEx" },
{ 0xa000c, "DirectMusicInitializeFixedSizeHeaps" },
{ 0xa000d, "DirectMusicMemCheck" },
{ 0xa000e, "DirectMusicMemDump" },
{ 0xa000f, "DirectMusicPhysicalAlloc" },
{ 0xa0010, "DirectMusicPhysicalFree" },
{ 0xa0011, "DirectMusicSetDebugLevel" }
};
// Function mappings for DSOUND
std::unordered_map<uint32_t, std::string> functions_DSOUND = {
{ 0xb0001, "Ac97CreateMediaObject" },
{ 0xb0002, "DirectSoundCreate" },
{ 0xb0003, "DirectSoundCreateBuffer" },
{ 0xb0004, "DirectSoundCreateStream" },
{ 0xb0005, "DirectSoundDefaulMixBins_5Channel3D_PlusLFE" },
{ 0xb0006, "DirectSoundDefault3DBuffer" },
{ 0xb0007, "DirectSoundDefault3DListener" },
{ 0xb0008, "DirectSoundDefaultI3DL2Buffer" },
{ 0xb0009, "DirectSoundDefaultMixBins_3D" },
{ 0xb000a, "DirectSoundDefaultMixBins_4Channel" },
{ 0xb000b, "DirectSoundDefaultMixBins_5Channel3D" },
{ 0xb000c, "DirectSoundDefaultMixBins_6Channel" },
{ 0xb000d, "DirectSoundDefaultMixBins_Mono" },
{ 0xb000e, "DirectSoundDefaultMixBins_Stereo" },
{ 0xb000f, "DirectSoundDoWork" },
{ 0xb0010, "DirectSoundDumpMemoryUsage" },
{ 0xb0011, "DirectSoundGetSampleTime" },
{ 0xb0012, "DirectSoundI3DL2ListenerPreset_Alley" },
{ 0xb0013, "DirectSoundI3DL2ListenerPreset_Arena" },
{ 0xb0014, "DirectSoundI3DL2ListenerPreset_Auditorium" },
{ 0xb0015, "DirectSoundI3DL2ListenerPreset_Bathroom" },
{ 0xb0016, "DirectSoundI3DL2ListenerPreset_CarpetedHallway" },
{ 0xb0017, "DirectSoundI3DL2ListenerPreset_Cave" },
{ 0xb0018, "DirectSoundI3DL2ListenerPreset_City" },
{ 0xb0019, "DirectSoundI3DL2ListenerPreset_ConcertHall" },
{ 0xb001a, "DirectSoundI3DL2ListenerPreset_Default" },
{ 0xb001b, "DirectSoundI3DL2ListenerPreset_Default2" },
{ 0xb001c, "DirectSoundI3DL2ListenerPreset_Forest" },
{ 0xb001d, "DirectSoundI3DL2ListenerPreset_Generic" },
{ 0xb001e, "DirectSoundI3DL2ListenerPreset_Hallway" },
{ 0xb001f, "DirectSoundI3DL2ListenerPreset_Hangar" },
{ 0xb0020, "DirectSoundI3DL2ListenerPreset_LivingRoom" },
{ 0xb0021, "DirectSoundI3DL2ListenerPreset_Mountains" },
{ 0xb0022, "DirectSoundI3DL2ListenerPreset_NoReverb" },
{ 0xb0023, "DirectSoundI3DL2ListenerPreset_PaddedCell" },
{ 0xb0024, "DirectSoundI3DL2ListenerPreset_ParkingLot" },
{ 0xb0025, "DirectSoundI3DL2ListenerPreset_Plain" },
{ 0xb0026, "DirectSoundI3DL2ListenerPreset_Quarry" },
{ 0xb0027, "DirectSoundI3DL2ListenerPreset_Room" },
{ 0xb0028, "DirectSoundI3DL2ListenerPreset_SewerPipe" },
{ 0xb0029, "DirectSoundI3DL2ListenerPreset_StoneCorridor" },
{ 0xb002a, "DirectSoundI3DL2ListenerPreset_StoneRoom" },
{ 0xb002b, "DirectSoundI3DL2ListenerPreset_Underwater" },
{ 0xb002c, "DirectSoundOverrideSpeakerConfig" },
{ 0xb002d, "DirectSoundRequiredMixBins_3D" },
{ 0xb002e, "DirectSoundRequiredMixBins_5Channel3D" },
{ 0xb002f, "DirectSoundUseFullHRTF" },
{ 0xb0030, "DirectSoundUseFullHRTF4Channel" },
{ 0xb0031, "DirectSoundUseLightHRTF" },
{ 0xb0032, "DirectSoundUseLightHRTF4Channel" },
{ 0xb0033, "g_dwDirectSoundDebugBreakLevel" },
{ 0xb0034, "g_dwDirectSoundDebugLevel" },
{ 0xb0035, "g_pfnDirectSoundDebugCallback" },
{ 0xb0036, "IDirectSound_AddRef" },
{ 0xb0037, "IDirectSound_CommitDeferredSettings" },
{ 0xb0038, "IDirectSound_CommitEffectData" },
{ 0xb0039, "IDirectSound_Compact" },
{ 0xb003a, "IDirectSound_CreateSoundBuffer" },
{ 0xb003b, "IDirectSound_CreateSoundStream" },
{ 0xb003c, "IDirectSound_DownloadEffectsImage" },
{ 0xb003d, "IDirectSound_EnableHeadphones" },
{ 0xb003e, "IDirectSound_GetCaps" },
{ 0xb003f, "IDirectSound_GetEffectData" },
{ 0xb0040, "IDirectSound_GetOutputLevels" },
{ 0xb0041, "IDirectSound_GetSpeakerConfig" },
{ 0xb0042, "IDirectSound_GetTime" },
{ 0xb0043, "IDirectSound_QueryInterface" },
{ 0xb0044, "IDirectSound_QueryInterfaceC" },
{ 0xb0045, "IDirectSound_Release" },
{ 0xb0046, "IDirectSound_SetAllParameters" },
{ 0xb0047, "IDirectSound_SetCooperativeLevel" },
{ 0xb0048, "IDirectSound_SetDistanceFactor" },
{ 0xb0049, "IDirectSound_SetDopplerFactor" },
{ 0xb004a, "IDirectSound_SetEffectData" },
{ 0xb004b, "IDirectSound_SetI3DL2Listener" },
{ 0xb004c, "IDirectSound_SetMixBinHeadroom" },
{ 0xb004d, "IDirectSound_SetOrientation" },
{ 0xb004e, "IDirectSound_SetPosition" },
{ 0xb004f, "IDirectSound_SetRolloffFactor" },
{ 0xb0050, "IDirectSound_SetVelocity" },
{ 0xb0051, "IDirectSound_SynchPlayback" },
{ 0xb0052, "IDirectSoundBuffer_AddRef" },
{ 0xb0053, "IDirectSoundBuffer_GetCurrentPosition" },
{ 0xb0054, "IDirectSoundBuffer_GetStatus" },
{ 0xb0055, "IDirectSoundBuffer_GetVoiceProperties" },
{ 0xb0056, "IDirectSoundBuffer_Lock" },
{ 0xb0057, "IDirectSoundBuffer_Pause" },
{ 0xb0058, "IDirectSoundBuffer_PauseEx" },
{ 0xb0059, "IDirectSoundBuffer_Play" },
{ 0xb005a, "IDirectSoundBuffer_PlayEx" },
{ 0xb005b, "IDirectSoundBuffer_QueryInterface" },
{ 0xb005c, "IDirectSoundBuffer_QueryInterfaceC" },
{ 0xb005d, "IDirectSoundBuffer_Release" },
{ 0xb005e, "IDirectSoundBuffer_Restore" },
{ 0xb005f, "IDirectSoundBuffer_SetAllParameters" },
{ 0xb0060, "IDirectSoundBuffer_SetBufferData" },
{ 0xb0061, "IDirectSoundBuffer_SetConeAngles" },
{ 0xb0062, "IDirectSoundBuffer_SetConeOrientation" },
{ 0xb0063, "IDirectSoundBuffer_SetConeOutsideVolume" },
{ 0xb0064, "IDirectSoundBuffer_SetCurrentPosition" },
{ 0xb0065, "IDirectSoundBuffer_SetDistanceFactor" },
{ 0xb0066, "IDirectSoundBuffer_SetDopplerFactor" },
{ 0xb0067, "IDirectSoundBuffer_SetEG" },
{ 0xb0068, "IDirectSoundBuffer_SetFilter" },
{ 0xb0069, "IDirectSoundBuffer_SetFormat" },
{ 0xb006a, "IDirectSoundBuffer_SetFrequency" },
{ 0xb006b, "IDirectSoundBuffer_SetHeadroom" },
{ 0xb006c, "IDirectSoundBuffer_SetI3DL2Source" },
{ 0xb006d, "IDirectSoundBuffer_SetLFO" },
{ 0xb006e, "IDirectSoundBuffer_SetLoopRegion" },
{ 0xb006f, "IDirectSoundBuffer_SetMaxDistance" },
{ 0xb0070, "IDirectSoundBuffer_SetMinDistance" },
{ 0xb0071, "IDirectSoundBuffer_SetMixBins" },
{ 0xb0072, "IDirectSoundBuffer_SetMixBinVolumes" },
{ 0xb0073, "IDirectSoundBuffer_SetMode" },
{ 0xb0074, "IDirectSoundBuffer_SetNotificationPositions" },
{ 0xb0075, "IDirectSoundBuffer_SetOutputBuffer" },
{ 0xb0076, "IDirectSoundBuffer_SetPitch" },
{ 0xb0077, "IDirectSoundBuffer_SetPlayRegion" },
{ 0xb0078, "IDirectSoundBuffer_SetPosition" },
{ 0xb0079, "IDirectSoundBuffer_SetRolloffCurve" },
{ 0xb007a, "IDirectSoundBuffer_SetRolloffFactor" },
{ 0xb007b, "IDirectSoundBuffer_SetVelocity" },
{ 0xb007c, "IDirectSoundBuffer_SetVolume" },
{ 0xb007d, "IDirectSoundBuffer_Stop" },
{ 0xb007e, "IDirectSoundBuffer_StopEx" },
{ 0xb007f, "IDirectSoundBuffer_Unlock" },
{ 0xb0080, "IDirectSoundStream_FlushEx" },
{ 0xb0081, "IDirectSoundStream_GetVoiceProperties" },
{ 0xb0082, "IDirectSoundStream_Pause" },
{ 0xb0083, "IDirectSoundStream_PauseEx" },
{ 0xb0084, "IDirectSoundStream_QueryInterface" },
{ 0xb0085, "IDirectSoundStream_QueryInterfaceC" },
{ 0xb0086, "IDirectSoundStream_SetAllParameters" },
{ 0xb0087, "IDirectSoundStream_SetConeAngles" },
{ 0xb0088, "IDirectSoundStream_SetConeOrientation" },
{ 0xb0089, "IDirectSoundStream_SetConeOutsideVolume" },
{ 0xb008a, "IDirectSoundStream_SetDistanceFactor" },
{ 0xb008b, "IDirectSoundStream_SetDopplerFactor" },
{ 0xb008c, "IDirectSoundStream_SetEG" },
{ 0xb008d, "IDirectSoundStream_SetFilter" },
{ 0xb008e, "IDirectSoundStream_SetFormat" },
{ 0xb008f, "IDirectSoundStream_SetFrequency" },
{ 0xb0090, "IDirectSoundStream_SetHeadroom" },
{ 0xb0091, "IDirectSoundStream_SetI3DL2Source" },
{ 0xb0092, "IDirectSoundStream_SetLFO" },
{ 0xb0093, "IDirectSoundStream_SetMaxDistance" },
{ 0xb0094, "IDirectSoundStream_SetMinDistance" },
{ 0xb0095, "IDirectSoundStream_SetMixBins" },
{ 0xb0096, "IDirectSoundStream_SetMixBinVolumes" },
{ 0xb0097, "IDirectSoundStream_SetMode" },
{ 0xb0098, "IDirectSoundStream_SetOutputBuffer" },
{ 0xb0099, "IDirectSoundStream_SetPitch" },
{ 0xb009a, "IDirectSoundStream_SetPosition" },
{ 0xb009b, "IDirectSoundStream_SetRolloffCurve" },
{ 0xb009c, "IDirectSoundStream_SetRolloffFactor" },
{ 0xb009d, "IDirectSoundStream_SetVelocity" },
{ 0xb009e, "IDirectSoundStream_SetVolume" },
{ 0xb009f, "WmaCreateDecoder" },
{ 0xb00a0, "WmaCreateDecoderEx" },
{ 0xb00a1, "WmaCreateInMemoryDecoder" },
{ 0xb00a2, "WmaCreateInMemoryDecoderEx" },
{ 0xb00a3, "XAudioCalculatePitch" },
{ 0xb00a4, "XAudioCreateAdpcmFormat" },
{ 0xb00a5, "XAudioCreatePcmFormat" },
{ 0xb00a6, "XAudioDownloadEffectsImage" },
{ 0xb00a7, "XAudioSetEffectData" },
{ 0xb00a8, "XFileCreateMediaObject" },
{ 0xb00a9, "XFileCreateMediaObjectAsync" },
{ 0xb00aa, "XFileCreateMediaObjectEx" },
{ 0xb00ab, "XWaveFileCreateMediaObject" },
{ 0xb00ac, "XWaveFileCreateMediaObjectEx" },
{ 0xb00ad, "XWmaDecoderCreateMediaObject" }
};
// Function mappings for KEYBOARD
std::unordered_map<uint32_t, std::string> functions_KEYBOARD = {
{ 0x60001, "XDEVICE_TYPE_KEYBOARD_TABLE" },
{ 0x60002, "XInputGetKeyboardDeviceLanguage" },
{ 0x60003, "XInputGetKeyboardOptions" },
{ 0x60004, "XInputGetKeystroke" },
{ 0x60005, "XInputRegisterLanguages" },
{ 0x60006, "XInputSetKeyboardOptions" }
};
// Function mappings for XACT
std::unordered_map<uint32_t, std::string> functions_XACT = {
{ 0xc0001, "IXACTEngine_AddRef" },
{ 0xc0002, "IXACTEngine_CommitDeferredSettings" },
{ 0xc0003, "IXACTEngine_CreateSoundBank" },
{ 0xc0004, "IXACTEngine_CreateSoundSource" },
{ 0xc0005, "IXACTEngine_DownloadEffectsImage" },
{ 0xc0006, "IXACTEngine_EnableHeadphones" },
{ 0xc0007, "IXACTEngine_FlushNotification" },
{ 0xc0008, "IXACTEngine_GetNotification" },
{ 0xc0009, "IXACTEngine_GlobalPause" },
{ 0xc000a, "IXACTEngine_RegisterNotification" },
{ 0xc000b, "IXACTEngine_RegisterStreamedWaveBank" },
{ 0xc000c, "IXACTEngine_RegisterWaveBank" },
{ 0xc000d, "IXACTEngine_Release" },
{ 0xc000e, "IXACTEngine_SetI3dl2Listener" },
{ 0xc000f, "IXACTEngine_SetListenerOrientation" },
{ 0xc0010, "IXACTEngine_SetListenerPosition" },
{ 0xc0011, "IXACTEngine_SetListenerVelocity" },
{ 0xc0012, "IXACTEngine_SetMasterVolume" },
{ 0xc0013, "IXACTEngine_SetParameterControl" },
{ 0xc0014, "IXACTEngine_UnRegisterNotification" },
{ 0xc0015, "IXACTEngine_UnRegisterWaveBank" },
{ 0xc0016, "IXACTSoundBank_AddRef" },
{ 0xc0017, "IXACTSoundBank_CreateWmaPlayList" },
{ 0xc0018, "IXACTSoundBank_GetSoundCueIndexFromFriendlyName" },
{ 0xc0019, "IXACTSoundBank_GetSoundCueProperties" },
{ 0xc001a, "IXACTSoundBank_PauseSoundCue" },
{ 0xc001b, "IXACTSoundBank_Play" },
{ 0xc001c, "IXACTSoundBank_PlayEx" },
{ 0xc001d, "IXACTSoundBank_Prepare" },
{ 0xc001e, "IXACTSoundBank_PrepareEx" },
{ 0xc001f, "IXACTSoundBank_Release" },
{ 0xc0020, "IXACTSoundBank_SelectVariation" },
{ 0xc0021, "IXACTSoundBank_Stop" },
{ 0xc0022, "IXACTSoundSource_AddRef" },
{ 0xc0023, "IXACTSoundSource_GetProperties" },
{ 0xc0024, "IXACTSoundSource_GetStatus" },
{ 0xc0025, "IXACTSoundSource_Release" },
{ 0xc0026, "IXACTSoundSource_SetConeOrientation" },
{ 0xc0027, "IXACTSoundSource_SetFilter" },
{ 0xc0028, "IXACTSoundSource_SetI3DL2Source" },
{ 0xc0029, "IXACTSoundSource_SetMixBins" },
{ 0xc002a, "IXACTSoundSource_SetMixBinVolumes" },
{ 0xc002b, "IXACTSoundSource_SetMode" },
{ 0xc002c, "IXACTSoundSource_SetPitch" },
{ 0xc002d, "IXACTSoundSource_SetPosition" },
{ 0xc002e, "IXACTSoundSource_SetVelocity" },
{ 0xc002f, "IXACTSoundSource_StopSoundCues" },
{ 0xc0030, "IXACTWmaPlayList_Add" },
{ 0xc0031, "IXACTWmaPlayList_AddRef" },
{ 0xc0032, "IXACTWmaPlayList_GetCurrentSongInfo" },
{ 0xc0033, "IXACTWmaPlayList_GetCurrentSongInfoEx" },
{ 0xc0034, "IXACTWmaPlayList_GetProperties" },
{ 0xc0035, "IXACTWmaPlayList_Next" },
{ 0xc0036, "IXACTWmaPlayList_Previous" },
{ 0xc0037, "IXACTWmaPlayList_Release" },
{ 0xc0038, "IXACTWmaPlayList_Remove" },
{ 0xc0039, "IXACTWmaPlayList_SetCurrent" },
{ 0xc003a, "IXACTWmaPlayList_SetPlaybackBehavior" },
{ 0xc003b, "XACTEngineCreate" },
{ 0xc003c, "XACTEngineDoWork" },
{ 0xc003d, "XACTEngineSetFileIOCallbacks" }
};
// Function mappings for XAPILIB
std::unordered_map<uint32_t, std::string> functions_XAPILIB = {
{ 0x10001, "XLoadSection" },
{ 0x10002, "XFreeSection" },
{ 0x10003, "XGetSectionHandle" },
{ 0x10004, "XLoadSectionByHandle" },
{ 0x10005, "XFreeSectionByHandle" },
{ 0x10006, "XGetSectionSize" },
{ 0x10007, "XGetDisplayBlocks" },
{ 0x10008, "XCreateSaveGame" },
{ 0x10009, "XDeleteSaveGame" },
{ 0x1000a, "XFindFirstSaveGame" },
{ 0x1000b, "XFindNextSaveGame" },
{ 0x1000c, "XFindClose" },
{ 0x1000d, "XSetNickname" },
{ 0x1000e, "XFindFirstNickname" },
{ 0x1000f, "XFindNextNickname" },
{ 0x10010, "XFindFirstContent" },
{ 0x10011, "XFindNextContent" },
{ 0x10012, "XGetContentInstallLocation" },
{ 0x10013, "XGetContentInstallLocationFromIDs" },
{ 0x10014, "XInstallContentSignatures" },
{ 0x10015, "XCreateContentSimple" },
{ 0x10016, "XRemoveContent" },
{ 0x10017, "XLoadContentSignaturesWithFileName" },
{ 0x10018, "XLocateSignatureByNameEx" },
{ 0x10019, "XLocateNextSignature" },
{ 0x1001a, "XInstallContentSignaturesWithFileName" },
{ 0x1001b, "XInstallContentSignaturesEx" },
{ 0x1001c, "XLoadContentSignaturesEx" },
{ 0x1001d, "XLocateSignatureByIndex" },
{ 0x1001e, "XLocateSignatureByName" },
{ 0x1001f, "XCalculateContentSignature" },
{ 0x10020, "XCloseContentSignatures" },
{ 0x10021, "XComputeContentSignatureKey" },
{ 0x10022, "XFindFirstSoundtrack" },
{ 0x10023, "XFindNextSoundtrack" },
{ 0x10024, "XOpenSoundtrackSong" },
{ 0x10025, "XGetSoundtrackSongInfo" },
{ 0x10026, "XAddSoundtrack" },
{ 0x10027, "XAddSongToSoundtrack" },
{ 0x10028, "XGetLanguage" },
{ 0x10029, "XGetAVPack" },
{ 0x1002a, "XGetVideoStandard" },
{ 0x1002b, "XGetVideoFlags" },
{ 0x1002c, "XGetAudioFlags" },
{ 0x1002d, "XGetParentalControlSetting" },
{ 0x1002e, "XGetGameRegion" },
{ 0x1002f, "XSetValue" },
{ 0x10030, "XQueryValue" },
{ 0x10031, "XInitDevices" },
{ 0x10032, "XGetDevices" },
{ 0x10033, "XGetDeviceChanges" },
{ 0x10034, "XPeekDevices" },
{ 0x10035, "XGetDeviceEnumerationStatus" },
{ 0x10036, "XInputOpen" },
{ 0x10037, "XInputClose" },
{ 0x10038, "XInputGetState" },
{ 0x10039, "XInputPoll" },
{ 0x1003a, "XInputSetState" },
{ 0x1003b, "XInputGetCapabilities" },
{ 0x1003c, "XInputGetDeviceDescription" },
{ 0x1003d, "XInputSetLightgunCalibration" },
{ 0x1003e, "XMountMUA" },
{ 0x1003f, "XMountMURoot" },
{ 0x10040, "XUnmountMU" },
{ 0x10041, "XMUPortFromDriveLetter" },
{ 0x10042, "XMUSlotFromDriveLetter" },
{ 0x10043, "XMUNameFromDriveLetter" },
{ 0x10044, "XMUNameFromPortSlot" },
{ 0x10045, "XReadMUMetaData" },
{ 0x10046, "XMUWriteNameToDriveLetter" },
{ 0x10047, "XCleanMUFromRoot" },
{ 0x10048, "XCleanDrive" },
{ 0x10049, "XMountUtilityDrive" },
{ 0x1004a, "XFormatUtilityDrive" },
{ 0x1004b, "XMountAlternateTitle" },
{ 0x1004c, "XUnmountAlternateTitle" },
{ 0x1004d, "XGetDiskSectorSize" },
{ 0x1004e, "XGetDiskClusterSize" },
{ 0x1004f, "XDCSGetInformation" },
{ 0x10050, "XDCSDownloadCode" },
{ 0x10051, "XDCSDownloadCodeAsync" },
{ 0x10052, "XAutoPowerDownSet" },
{ 0x10053, "XAutoPowerDownGet" },
{ 0x10054, "XAutoPowerDownResetTimer" },
{ 0x10055, "XAutoPowerDownDebugSetTimeout" },
{ 0x10056, "XapiSetLocalTime" },
{ 0x10057, "XapipQueryTimeZoneInformation" },
{ 0x10058, "XapipSetTimeZoneInformation" },
{ 0x10059, "XapipUseDaylightSavingTime" },
{ 0x1005a, "XLaunchNewImageA" },
{ 0x1005b, "XGetLaunchInfo" },
{ 0x1005c, "XWriteTitleInfoAndReboot" },
{ 0x1005d, "XRegisterThreadNotifyRoutine" },
{ 0x1005e, "XSetProcessQuantumLength" },
{ 0x1005f, "XGetProcessQuantumLength" },
{ 0x10060, "XSetFileCacheSize" },
{ 0x10061, "XGetFileCacheSize" },
{ 0x10062, "XSaveFloatingPointStateForDpc" },
{ 0x10063, "XRestoreFloatingPointStateForDpc" },
{ 0x10064, "XPhysicalAlloc" },
{ 0x10065, "XPhysicalSize" },
{ 0x10066, "XPhysicalProtect" },
{ 0x10067, "XPhysicalFree" },
{ 0x10068, "XQueryMemoryProtect" },
{ 0x10069, "XMemAlloc" },
{ 0x1006a, "XMemFree" },
{ 0x1006b, "XMemSize" },
{ 0x1006c, "XSetAttributesOnHeapAlloc" },
{ 0x1006d, "XGetAttributesOnHeapAlloc" },
{ 0x1006e, "XDebugGetSystemVersion" },
{ 0x1006f, "XDebugGetXTLVersion" },
{ 0x10070, "XCalculateSignatureBegin" },
{ 0x10071, "XCalculateSignatureBeginEx" },
{ 0x10072, "XCalculateSignatureUpdate" },
{ 0x10073, "XCalculateSignatureEnd" },
{ 0x10074, "XAutoPowerDownTimeRemaining" },
{ 0x10075, "XapiFlashKernelImage" },
{ 0x10076, "XapiReplaceRootDirectoryFile" },
{ 0x10077, "XapiGetKernelExportAddress" },
{ 0x10078, "XMemAllocDefault" },
{ 0x10079, "XMemFreeDefault" },
{ 0x1007a, "XMemSizeDefault" },
{ 0x1007b, "XDEVICE_TYPE_DEBUG_MOUSE_TABLE" },
{ 0x1007c, "XDEVICE_TYPE_GAMEPAD_TABLE" },
{ 0x1007d, "XDEVICE_TYPE_IR_REMOTE_TABLE" },
{ 0x1007e, "XDEVICE_TYPE_MEMORY_UNIT_TABLE" },
{ 0x20001, "GetCurrentTime" },
{ 0x20002, "Yield" },
{ 0x20003, "MoveMemory" },
{ 0x20004, "CopyMemory" },
{ 0x20005, "FillMemory" },
{ 0x20006, "ZeroMemory" },
{ 0x2000f, "InterlockedIncrement" },
{ 0x20010, "InterlockedDecrement" },
{ 0x20011, "InterlockedExchange" },
{ 0x20012, "InterlockedExchangePointerTarget" },
{ 0x20013, "InterlockedExchangeAdd" },
{ 0x20014, "InterlockedCompareExchange" },
{ 0x20015, "InterlockedCompareExchangePointer" },
{ 0x20016, "FreeResource" },
{ 0x20017, "LockResource" },
{ 0x20018, "UnlockResourcehResData" },
{ 0x20019, "WinMain" },
{ 0x2001a, "FreeLibrary" },
{ 0x2001b, "FreeLibraryAndExitThread" },
{ 0x2001c, "DisableThreadLibraryCalls" },
{ 0x2001d, "GetProcAddress" },
{ 0x2001e, "GlobalAlloc" },
{ 0x2001f, "GlobalReAlloc" },
{ 0x20020, "GlobalFlags" },
{ 0x20021, "GlobalSize" },
{ 0x20022, "GlobalLock" },
{ 0x20023, "GlobalHandle" },
{ 0x20024, "GlobalUnlock" },
{ 0x20025, "GlobalFree" },
{ 0x20026, "GlobalCompact" },
{ 0x20027, "GlobalFix" },
{ 0x20028, "GlobalUnfix" },
{ 0x20029, "GlobalWire" },
{ 0x2002a, "GlobalUnWire" },
{ 0x2002b, "GlobalMemoryStatus" },
{ 0x2002c, "GlobalMemoryStatusEx" },
{ 0x2002d, "LocalAlloc" },
{ 0x2002e, "LocalReAlloc" },
{ 0x2002f, "LocalLock" },
{ 0x20030, "LocalHandle" },
{ 0x20031, "LocalUnlock" },
{ 0x20032, "LocalSize" },
{ 0x20033, "LocalFlags" },
{ 0x20034, "LocalFree" },
{ 0x20035, "LocalShrink" },
{ 0x20036, "LocalCompact" },
{ 0x20037, "VirtualAlloc" },
{ 0x20038, "VirtualFree" },
{ 0x20039, "VirtualProtect" },
{ 0x2003a, "VirtualQuery" },
{ 0x2003b, "VirtualAllocEx" },
{ 0x2003c, "VirtualFreeEx" },
{ 0x2003d, "VirtualProtectEx" },
{ 0x2003e, "VirtualQueryEx" },
{ 0x2003f, "HeapCreate" },
{ 0x20040, "HeapDestroy" },
{ 0x20041, "HeapCreateTagsW" },
{ 0x20042, "HeapQueryTagW" },
{ 0x20043, "HeapAlloc" },
{ 0x20044, "HeapReAlloc" },
{ 0x20045, "HeapSize" },
{ 0x20046, "HeapFree" },
{ 0x20047, "HeapValidate" },
{ 0x20048, "HeapCompact" },
{ 0x20049, "GetProcessHeapVOID" },
{ 0x2004a, "GetProcessHeaps" },
{ 0x2004b, "HeapLock" },
{ 0x2004c, "HeapUnlock" },
{ 0x2004d, "HeapSummary" },
{ 0x2004e, "HeapExtend" },
{ 0x2004f, "HeapUsage" },
{ 0x20050, "HeapWalk" },
{ 0x20051, "GetShortPathNameA" },
{ 0x20052, "GetShortPathNameW" },
{ 0x20053, "GetLongPathNameA" },
{ 0x20054, "GetLongPathNameW" },
{ 0x20055, "GetProcessTimes" },
{ 0x20056, "GetCurrentProcess" },
{ 0x20057, "GetCurrentProcessId" },
{ 0x20058, "ExitProcess" },
{ 0x20059, "TerminateProcess" },
{ 0x2005a, "GetExitCodeProcess" },
{ 0x2005b, "FatalExit" },
{ 0x2005c, "RaiseException" },
{ 0x2005d, "UnhandledExceptionFilter" },
{ 0x2005e, "SetUnhandledExceptionFilter" },
{ 0x2005f, "CreateFiber" },
{ 0x20060, "DeleteFiber" },
{ 0x20061, "ConvertThreadToFiber" },
{ 0x20062, "SwitchToFiber" },
{ 0x20063, "SwitchToThread" },
{ 0x20064, "CreateThread" },
{ 0x20065, "GetCurrentThread" },
{ 0x20066, "GetCurrentThreadId" },
{ 0x20067, "SetProcessPriorityBoost" },
{ 0x20068, "GetProcessPriorityBoost" },
{ 0x20069, "OpenThread" },
{ 0x2006a, "SetThreadPriority" },
{ 0x2006b, "SetThreadPriorityBoost" },
{ 0x2006c, "GetThreadPriorityBoost" },
{ 0x2006d, "GetThreadPriority" },
{ 0x2006e, "GetThreadTimes" },
{ 0x2006f, "ExitThread" },
{ 0x20070, "TerminateThread" },
{ 0x20071, "GetExitCodeThread" },
{ 0x20072, "GetLastError" },
{ 0x20073, "SetLastError" },
{ 0x20074, "HasOverlappedIoCompletedlpOverlapped" },
{ 0x20075, "GetOverlappedResult" },
{ 0x20076, "CreateIoCompletionPort" },
{ 0x20077, "GetQueuedCompletionStatus" },
{ 0x20078, "PostQueuedCompletionStatus" },
{ 0x20079, "SetErrorMode" },
{ 0x2007a, "GetThreadContext" },
{ 0x2007b, "SetThreadContext" },
{ 0x2007c, "SuspendThread" },
{ 0x2007d, "ResumeThread" },
{ 0x2007e, "QueueUserAPC" },
{ 0x2007f, "IsDebuggerPresent" },
{ 0x20080, "DebugBreak" },
{ 0x20081, "WaitForDebugEvent" },
{ 0x20082, "ContinueDebugEvent" },
{ 0x20083, "DebugActiveProcess" },
{ 0x20084, "InitializeCriticalSection" },
{ 0x20085, "EnterCriticalSection" },
{ 0x20086, "LeaveCriticalSection" },
{ 0x20087, "TryEnterCriticalSection" },
{ 0x20088, "DeleteCriticalSection" },
{ 0x20089, "SetEvent" },
{ 0x2008a, "ResetEvent" },
{ 0x2008b, "PulseEvent" },
{ 0x2008c, "ReleaseSemaphore" },
{ 0x2008d, "ReleaseMutex" },
{ 0x2008e, "WaitForSingleObject" },
{ 0x2008f, "WaitForMultipleObjects" },
{ 0x20090, "Sleep" },
{ 0x20091, "LoadResource" },
{ 0x20092, "SizeofResource" },
{ 0x20093, "GetLogicalDrives" },
{ 0x20094, "GetFileInformationByHandle" },
{ 0x20095, "GetFileType" },
{ 0x20096, "GetFileSize" },
{ 0x20097, "GetFileSizeEx" },
{ 0x20098, "WriteFile" },
{ 0x20099, "ReadFile" },
{ 0x2009a, "FlushFileBuffers" },
{ 0x2009b, "DeviceIoControl" },
{ 0x2009c, "SetEndOfFile" },
{ 0x2009d, "SetFilePointer" },
{ 0x2009e, "SetFilePointerEx" },
{ 0x2009f, "GetFileTime" },
{ 0x200a0, "SetFileTime" },
{ 0x200a1, "CloseHandle" },
{ 0x200a2, "DuplicateHandle" },
{ 0x200a3, "LoadModule" },
{ 0x200a4, "MulDiv" },
{ 0x200a5, "GetSystemTime" },
{ 0x200a6, "GetSystemTimeAsFileTime" },
{ 0x200a7, "SetSystemTime" },
{ 0x200a8, "GetLocalTime" },
{ 0x200a9, "SetLocalTime" },
{ 0x200aa, "GetSystemInfo" },
{ 0x200ab, "SystemTimeToTzSpecificLocalTime" },
{ 0x200ac, "GetTimeZoneInformation" },
{ 0x200ad, "SetTimeZoneInformation" },
{ 0x200ae, "SystemTimeToFileTime" },
{ 0x200af, "FileTimeToLocalFileTime" },
{ 0x200b0, "LocalFileTimeToFileTime" },
{ 0x200b1, "FileTimeToSystemTime" },
{ 0x200b2, "CompareFileTime" },
{ 0x200b3, "FileTimeToDosDateTime" },
{ 0x200b4, "DosDateTimeToFileTime" },
{ 0x200b5, "GetTickCount" },
{ 0x200b6, "SetSystemTimeAdjustment" },
{ 0x200b7, "GetSystemTimeAdjustment" },
{ 0x200b8, "FormatMessageA" },
{ 0x200b9, "FormatMessageW" },
{ 0x200ba, "lstrcmpA" },
{ 0x200bb, "lstrcmpW" },
{ 0x200bc, "lstrcmpiA" },
{ 0x200bd, "lstrcmpiW" },
{ 0x200be, "lstrcpynA" },
{ 0x200bf, "lstrcpynW" },
{ 0x200c0, "lstrcpyA" },
{ 0x200c1, "lstrcpyW" },
{ 0x200c2, "lstrcatA" },
{ 0x200c3, "lstrcatW" },
{ 0x200c4, "lstrlenA" },
{ 0x200c5, "lstrlenW" },
{ 0x200c6, "OpenFile" },
{ 0x200c7, "_lopen" },
{ 0x200c8, "_lcreat" },
{ 0x200c9, "_lread" },
{ 0x200ca, "_lwrite" },
{ 0x200cb, "_hread" },
{ 0x200cc, "_hwrite" },
{ 0x200cd, "_lclose" },
{ 0x200ce, "_llseek" },
{ 0x200cf, "IsTextUnicode" },
{ 0x200d0, "TlsAlloc" },
{ 0x200d1, "TlsGetValue" },
{ 0x200d2, "TlsSetValue" },
{ 0x200d3, "TlsFree" },
{ 0x200d4, "SleepEx" },
{ 0x200d5, "WaitForSingleObjectEx" },
{ 0x200d6, "WaitForMultipleObjectsEx" },
{ 0x200d7, "SignalObjectAndWait" },
{ 0x200d8, "ReadFileEx" },
{ 0x200d9, "WriteFileEx" },
{ 0x200da, "ReadFileScatter" },
{ 0x200db, "WriteFileGather" },
{ 0x200dc, "CreateMutex" },
{ 0x200dd, "OpenMutex" },
{ 0x200de, "CreateEvent" },
{ 0x200df, "OpenEvent" },
{ 0x200e0, "CreateSemaphore" },
{ 0x200e1, "OpenSemaphore" },
{ 0x200e2, "CreateWaitableTimer" },
{ 0x200e3, "OpenWaitableTimer" },
{ 0x200e4, "SetWaitableTimer" },
{ 0x200e5, "CancelWaitableTimer" },
{ 0x200e6, "GetLogicalDriveStringsA" },
{ 0x200e7, "GetLogicalDriveStringsW" },
{ 0x200e8, "LoadLibraryA" },
{ 0x200e9, "LoadLibraryW" },
{ 0x200ea, "LoadLibraryExA" },
{ 0x200eb, "LoadLibraryExW" },
{ 0x200ec, "GetModuleFileNameA" },
{ 0x200ed, "GetModuleFileNameW" },
{ 0x200ee, "GetModuleHandleA" },
{ 0x200ef, "GetModuleHandleW" },
{ 0x200f0, "OutputDebugStringA" },
{ 0x200f1, "OutputDebugStringW" },
{ 0x200f2, "FindResourceA" },
{ 0x200f3, "FindResourceW" },
{ 0x200f4, "FindResourceExA" },
{ 0x200f5, "FindResourceExW" },
{ 0x200f6, "EnumResourceTypesA" },
{ 0x200f7, "EnumResourceTypesW" },
{ 0x200f8, "EnumResourceNamesA" },
{ 0x200f9, "EnumResourceNamesW" },
{ 0x200fa, "EnumResourceLanguagesA" },
{ 0x200fb, "EnumResourceLanguagesW" },
{ 0x200fc, "GetProfileIntA" },
{ 0x200fd, "GetProfileIntW" },
{ 0x200fe, "GetProfileStringA" },
{ 0x200ff, "GetProfileStringW" },
{ 0x20100, "WriteProfileStringA" },
{ 0x20101, "WriteProfileStringW" },
{ 0x20102, "GetProfileSectionA" },
{ 0x20103, "GetProfileSectionW" },
{ 0x20104, "WriteProfileSectionA" },
{ 0x20105, "WriteProfileSectionW" },
{ 0x20106, "GetPrivateProfileIntA" },
{ 0x20107, "GetPrivateProfileIntW" },
{ 0x20108, "GetPrivateProfileStringA" },
{ 0x20109, "GetPrivateProfileStringW" },
{ 0x2010a, "WritePrivateProfileStringA" },
{ 0x2010b, "WritePrivateProfileStringW" },
{ 0x2010c, "GetPrivateProfileSectionA" },
{ 0x2010d, "GetPrivateProfileSectionW" },
{ 0x2010e, "WritePrivateProfileSectionA" },
{ 0x2010f, "WritePrivateProfileSectionW" },
{ 0x20110, "GetPrivateProfileSectionNamesA" },
{ 0x20111, "GetPrivateProfileSectionNamesW" },
{ 0x20112, "GetPrivateProfileStructA" },
{ 0x20113, "GetPrivateProfileStructW" },
{ 0x20114, "WritePrivateProfileStructA" },
{ 0x20115, "WritePrivateProfileStructW" },
{ 0x20116, "GetDriveTypeA" },
{ 0x20117, "GetDriveTypeW" },
{ 0x20118, "GetSystemDirectoryA" },
{ 0x20119, "GetSystemDirectoryW" },
{ 0x2011a, "GetTempPathA" },
{ 0x2011b, "GetTempPathW" },
{ 0x2011c, "GetTempFileNameA" },
{ 0x2011d, "GetTempFileNameW" },
{ 0x2011e, "SetCurrentDirectoryA" },
{ 0x2011f, "GetCurrentDirectoryW" },
{ 0x20120, "GetDiskFreeSpaceA" },
{ 0x20121, "GetDiskFreeSpaceW" },
{ 0x20122, "GetDiskFreeSpaceEx" },
{ 0x20123, "CreateDirectory" },
{ 0x20124, "CreateDirectoryExA" },
{ 0x20125, "CreateDirectoryExW" },
{ 0x20126, "RemoveDirectory" },
{ 0x20127, "GetFullPathNameA" },
{ 0x20128, "GetFullPathNameW" },
{ 0x20129, "CreateFile" },
{ 0x2012a, "SetFileAttributes" },
{ 0x2012b, "GetFileAttributes" },
{ 0x2012c, "GetFileAttributesEx" },
{ 0x2012d, "DeleteFile" },
{ 0x2012e, "FindFirstFile" },
{ 0x2012f, "FindNextFile" },
{ 0x20130, "SearchPathA" },
{ 0x20131, "SearchPathW" },
{ 0x20132, "CopyFile" },
{ 0x20133, "CopyFileEx" },
{ 0x20134, "MoveFile" },
{ 0x20135, "MoveFileEx" },
{ 0x20136, "MoveFileWithProgress" },
{ 0x20137, "SetVolumeLabelA" },
{ 0x20138, "SetVolumeLabelW" },
{ 0x20139, "SetFileApisToOEMVOID" },
{ 0x2013a, "SetFileApisToANSIVOID" },
{ 0x2013b, "AreFileApisANSIVOID" },
{ 0x2013c, "GetVolumeInformation" },
{ 0x2013d, "CancelIo" },
{ 0x2013e, "SetPriorityClass" },
{ 0x2013f, "GetPriorityClass" },
{ 0x20140, "IsBadReadPtr" },
{ 0x20141, "IsBadWritePtr" },
{ 0x20142, "IsBadHugeReadPtr" },
{ 0x20143, "IsBadHugeWritePtr" },
{ 0x20144, "IsBadCodePtr" },
{ 0x20145, "IsBadStringPtrA" },
{ 0x20146, "IsBadStringPtrW" },
{ 0x20147, "GetComputerNameA" },
{ 0x20148, "GetComputerNameW" },
{ 0x20149, "SetComputerNameA" },
{ 0x2014a, "SetComputerNameW" },
{ 0x2014b, "GetComputerNameExA" },
{ 0x2014c, "GetComputerNameExW" },
{ 0x2014d, "SetComputerNameExA" },
{ 0x2014e, "SetComputerNameExW" },
{ 0x2014f, "DnsHostnameToComputerNameA" },
{ 0x20150, "DnsHostnameToComputerNameW" },
{ 0x20151, "GetUserNameA" },
{ 0x20152, "GetUserNameW" },
{ 0x20153, "RegisterWaitForSingleObject" },
{ 0x20154, "RegisterWaitForSingleObjectEx" },
{ 0x20155, "UnregisterWait" },
{ 0x20156, "UnregisterWaitEx" },
{ 0x20157, "QueueUserWorkItem" },
{ 0x20158, "BindIoCompletionCallback" },
{ 0x20159, "CreateTimerQueue" },
{ 0x2015a, "CreateTimerQueueTimer" },
{ 0x2015b, "ChangeTimerQueueTimer" },
{ 0x2015c, "DeleteTimerQueueTimer" },
{ 0x2015d, "DeleteTimerQueueEx" },
{ 0x2015e, "SetTimerQueueTimer" },
{ 0x2015f, "CancelTimerQueueTimer" },
{ 0x20160, "DeleteTimerQueue" },
{ 0x20161, "QueryPerformanceCounter" },
{ 0x20162, "QueryPerformanceFrequency" },
{ 0x20163, "FindFirstVolumeA" },
{ 0x20164, "FindFirstVolumeW" },
{ 0x20165, "FindNextVolumeA" },
{ 0x20166, "FindNextVolumeW" },
{ 0x20167, "FindVolumeClose" },
{ 0x20168, "GetVolumePathNameA" },
{ 0x20169, "GetVolumePathNameW" },
{ 0x2016a, "GetDaylightFlagVOID" },
{ 0x2016b, "SetDaylightFlag" },
{ 0x2016c, "wvsprintfA" },
{ 0x2016d, "wvsprintfW" },
{ 0x2016e, "wsprintfA" },
{ 0x2016f, "wsprintfW" },
{ 0x20170, "MultiByteToWideChar" },
{ 0x20171, "WideCharToMultiByte" },
{ 0x20172, "CharUpperA" },
{ 0x20173, "CharUpperW" },
{ 0x20174, "CharLowerA" },
{ 0x20175, "CharLowerW" },
{ 0x20176, "SetRect" },
{ 0x20177, "SetRectEmpty" },
{ 0x20178, "CopyRect" },
{ 0x20179, "InflateRect" },
{ 0x2017a, "IntersectRect" },
{ 0x2017b, "UnionRect" },
{ 0x2017c, "SubtractRect" },
{ 0x2017d, "OffsetRect" },
{ 0x2017e, "IsRectEmpty" },
{ 0x2017f, "EqualRect" },
{ 0x20180, "PtInRect" }
};
// Function mappings for XGRAPHICS
std::unordered_map<uint32_t, std::string> functions_XGRAPHICS = {
{ 0xd0001, "XGAssembleShader" },
{ 0xd0002, "XGBuffer_AddRef" },
{ 0xd0003, "XGBuffer_GetBufferPointer" },
{ 0xd0004, "XGBuffer_GetBufferSize" },
{ 0xd0005, "XGBuffer_Release" },
{ 0xd0006, "XGBufferCreate" },
{ 0xd0007, "XGBytesPerPixelFromFormat" },
{ 0xd0008, "XGCompileDrawIndexedVertices" },
{ 0xd0009, "XGCompileShader" },
{ 0xd000a, "XGCompressRect" },
{ 0xd000b, "XGIsSwizzledFormat" },
{ 0xd000c, "XGSetCubeTextureHeader" },
{ 0xd000d, "XGSetFixupHeader" },
{ 0xd000e, "XGSetIndexBufferHeader" },
{ 0xd000f, "XGSetPaletteHeader" },
{ 0xd0010, "XGSetPushBufferHeader" },
{ 0xd0011, "XGSetSurfaceHeader" },
{ 0xd0012, "XGSetTextureHeader" },
{ 0xd0013, "XGSetVertexBufferHeader" },
{ 0xd0014, "XGSetVolumeTextureHeader" },
{ 0xd0015, "XGSpliceVertexShaders" },
{ 0xd0016, "XGSUCode_CompareVertexShaders" },
{ 0xd0017, "XGSUCode_GetVertexShaderLength" },
{ 0xd0018, "XGSUCode_GetVertexShaderType" },
{ 0xd0019, "XGSwizzleBox" },
{ 0xd001a, "XGSwizzleRect" },
{ 0xd001b, "XGUnswizzleBox" },
{ 0xd001c, "XGUnswizzleRect" },
{ 0xd001d, "XGWriteSurfaceOrTextureToXPR" },
{ 0xd001e, "XGWriteSurfaceToFile" }
};