PicPointerPatch Restruct

Redirects the target-ID of picture-commands for show, move and delete to the value of a variable if the ID specified in the command is above 10000 (e.g. 10647 equals variable #0647 as ID-source).

Also, if target-ID is set above 50000 in the show-command, the next variable will manipulate the last four characters in the specified filename to feature a number between 0 and 9999 instead (e.g. 50823 equals variable #0823 as ID-source and #0824 as name-manipulator, "Filename" will become "File1234" if the variable has a value of 1234).

This is completely based on and restructured from the original PicPointerPatch 2.5b by Cherry and works the same.

Originally made and first released by KotatsuAkira.

RPG2000
1.00UNKNOWN2000-05-072000-06-192000-07-112000-11-132000-11-152000-12-27
1.07
2001-05-05
1.10
2003-03-27
1.50
2003-06-25
1.51/1.52
2015-07-05
1.60
2015-09-15
1.61
2017-09-14
1.62
RPG2003
1.00UNKNOWN1UNKNOWN21.0.2.1
1.0.2.1
1.0.3.0
1.0.4.0
1.0.5.0
1.0.5.0
1.0.6.0
1.0.6.0
1.0.7.0
1.0.7.0
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414

Segment 1/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00424794h
00023B94h
00424728h
00023B28h
00424868h
00023C68h
00424DCCh
000241CCh
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004355E0h
000349E0h
004355E0h
000349E0h

Sourcecode

PROC__CatchVariable:
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00469EE0h			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__0045E524h
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__0045E524h
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)
PROC__CatchVariable:
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00469DE0h			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__0045E424h
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__0045E424h
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)
PROC__CatchVariable:
			MOV EAX, [0049FB8Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0046EEF0h			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__00463544h
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__00463544h
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)
PROC__CatchVariable:
			MOV EAX, [004A0B8Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0046F7CCh			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__00463E08h
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__00463E08h
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)
PROC__CatchVariable:
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B398h			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__0047967Ch
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__0047967Ch
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)
PROC__CatchVariable:
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B354h			; TLcfgSystem.GetVariable
			RET
			NOP
			NOP
			NOP
PROC__ProcessNumberMask:
			MOV DWORD PTR [ESP+0Ch], 30303030h	; 0 0 0 0
			PUSH 10
			POP ECX
			MOV EAX, [EDX]
			MOV [ESP-04h], EAX
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Fh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Eh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Dh], DL
			XOR EDX, EDX
			DIV ECX
			ADD DL, 48
			MOV BYTE PTR [ESP+0Ch], DL
			MOV EAX, [ESP+04h]
			MOV ECX, [ESP]
			MOV [ESP+04h], ECX
			ADD ESP, 4
			RET
PROC__ProcessFilename:
			PUSH EAX
			PUSH ECX
			PUSH ESI
			SUB ESP, 8
			XCHG ESI, EDX
			CMP ESI, 9999
			JA __SkipFilename
			MOV EAX, [EBX+0Ch]
			MOV EAX, [EAX-04h]
			CMP EAX, 4
			JB __SkipFilename
			LEA ECX, [ESP+04h]
			PUSH ECX
			XOR ECX, ECX
			MOV [ESP+04h], ESI
			LEA EDX, [ESP+04h]
			CALL PROC__ProcessNumberMask
			MOV ECX, [EBX+0Ch]
			MOV EDX, [ECX-04h]
			SUB EDX, 4
			MOV ESI, [EAX]
			MOV [ECX+EDX], ESI
__SkipFilename:
			ADD ESP, 8
			POP ESI
			POP ECX
			POP EAX
			RET
PROC__Detect10000:
			CALL PROC__0047967Ch
			JMP __DetectNow
			NOP
PROC__Detect50000:
			CALL PROC__0047967Ch
			CMP EAX, 50000
			JA __Process50000
__DetectNow:
			CMP EAX, 10000
			JA __Process10000
			RET
__Process10000:
			SUB EAX, 10000
			XCHG EAX, EDX
			CALL PROC__CatchVariable
			RET
__Process50000:
			SUB EAX, 50000
			XCHG EAX, EDX
			PUSH EDX
			CALL PROC__CatchVariable
			POP EDX
			TEST EAX, EAX
			JZ __Skip50000
			PUSH EAX
			INC EDX
			CALL PROC__CatchVariable
			XCHG EAX, EDX
			CALL PROC__ProcessFilename
			POP EAX
__Skip50000:
			RET
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(100 more NOPs...)

Bytes

A1A4AB4900 8B00 E840570400
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E8EB9C0300
EB0D
90 E8E39C0300
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
A1A4AB4900 8B00 E8AC560400
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E8579C0300
EB0D
90 E84F9C0300
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
A18CFB4900 8B00 E87CA60400
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E837EC0300
EB0D
90 E82FEC0300
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
A18C0B4A00 8B00 E8F4A90400
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E897EF0300
EB0D
90 E88FEF0300
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
A17CDC4C00 8B00 E8AC5D0500
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E8F73F0400
EB0D
90 E8EF3F0400
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
A17CDC4C00 8B00 E8685D0500
C3 8D4000

C744240C30303030 6A0A 59 8B02 894424FC
31D2 F7F1 80C230 8854240F 31D2 F7F1 80C230 8854240E
31D2 F7F1 80C230 8854240D 31D2 F7F1 80C230 8854240C
8B442404 8B0C24 894C2404 83C404 C3

50 51 56 83EC08 87D6 81FE0F270000 772D
8B430C 8B40FC 83F804 7222
8D4C2404 51 31C9 89742404 8D542404 E885FFFFFF
8B4B0C 8B51FC 83EA04 8B30 893411 83C408 5E 59 58 C3

E8F73F0400
EB0D
90 E8EF3F0400
3D50C30000 7714
3D10270000 7701
C3

2D10270000 92 E839FFFFFF
C3

2D50C30000 92 52 E82CFFFFFF
5A 85C0 740E
50 42 E820FFFFFF
92 E876FFFFFF
58 C3

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90

Segment 2/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
004887E6h
00087BE6h
004886F6h
00087AF6h
0048D982h
0008CD82h
0048F2CAh
0008E6CAh
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF71Eh
000AEB1Eh
004B80B6h
000B74B6h

Sourcecode

			CALL PROC__Detect50000			; 0042483Ch
			CALL PROC__Detect50000			; 004247D0h
			CALL PROC__Detect50000			; 00424910h
			CALL PROC__Detect50000			; 00424E74h
			CALL PROC__Detect50000			; 00435688h
			CALL PROC__Detect50000			; 00435688h

Bytes

E851C0F9FF
E8D5C0F9FF
E8896FF9FF
E8A55BF9FF
E8655FF8FF
E8CDD5F7FF

Segment 3/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00488875h
00087C75h
00488785h
00087B85h
0048DA11h
0008CE11h
0048F359h
0008E759h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF7AFh
000AEBAFh
004B8147h
000B7547h

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E8BABFF9FF
E83EC0F9FF
E8F26EF9FF
E80E5BF9FF
E8CC5EF8FF
E834D5F7FF

Segment 4/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00488884h
00087C84h
00488794h
00087B94h
0048DA20h
0008CE20h
0048F368h
0008E768h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF7BEh
000AEBBEh
004B8156h
000B7556h

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E8ABBFF9FF
E82FC0F9FF
E8E36EF9FF
E8FF5AF9FF
E8BD5EF8FF
E825D5F7FF

Segment 5/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00488968h
00087D68h
00488878h
00087C78h
0048DB04h
0008CF04h
0048F44Ch
0008E84Ch
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF7CDh
000AEBCDh
004B8165h
000B7565h

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E8C7BEF9FF
E84BBFF9FF
E8FF6DF9FF
E81B5AF9FF
E8AE5EF8FF
E816D5F7FF

Segment 6/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
004889DEh
00087DDEh
004888EEh
00087CEEh
0048DB7Ah
0008CF7Ah
0048F4C2h
0008E8C2h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF84Ah
000AEC4Ah
004B81E2h
000B75E2h

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E851BEF9FF
E8D5BEF9FF
E8896DF9FF
E8A559F9FF
E8315EF8FF
E899D4F7FF

Segment 7/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
004889EEh
00087DEEh
004888FEh
00087CFEh
0048DB8Ah
0008CF8Ah
0048F4D2h
0008E8D2h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF8CCh
000AECCCh
004B8264h
000B7664h

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E841BEF9FF
E8C5BEF9FF
E8796DF9FF
E89559F9FF
E8AF5DF8FF
E817D4F7FF

Segment 8/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00488A5Eh
00087E5Eh
0048896Eh
00087D6Eh
0048DBFAh
0008CFFAh
0048F542h
0008E942h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF946h
000AED46h
004B82DEh
000B76DEh

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E8D1BDF9FF
E855BEF9FF
E8096DF9FF
E82559F9FF
E8355DF8FF
E89DD3F7FF

Segment 9/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
00488ADDh
00087EDDh
004889EDh
00087DEDh
0048DC79h
0008D079h
0048F5C1h
0008E9C1h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF956h
000AED56h
004B82EEh
000B76EEh

Sourcecode

			CALL PROC__Detect10000			; 00424834h
			CALL PROC__Detect10000			; 004247C8h
			CALL PROC__Detect10000			; 00424908h
			CALL PROC__Detect10000			; 00424E6Ch
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

E852BDF9FF
E8D6BDF9FF
E88A6CF9FF
E8A658F9FF
E8255DF8FF
E88DD3F7FF

Segment 10/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
---
---
---
---
---
---
---
---
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF966h
000AED66h
004B82FEh
000B76FEh

Sourcecode

(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

--
--
--
--
E8155DF8FF
E87DD3F7FF

Segment 11/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
---
---
---
---
---
---
---
---
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF9D4h
000AEDD4h
004B836Ch
000B776Ch

Sourcecode

(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

--
--
--
--
E8A75CF8FF
E80FD3F7FF

Segment 12/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
---
---
---
---
---
---
---
---
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AF9EDh
000AEDEDh
004B8385h
000B7785h

Sourcecode

(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

--
--
--
--
E88E5CF8FF
E8F6D2F7FF

Segment 13/13

Offsets

RPG2000
2000-12-27
1.07
2001-05-05
1.10
2003-06-25
1.51/1.52
2017-09-14
1.62
---
---
---
---
---
---
---
---
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
004AFA69h
000AEE69h
004B8401h
000B7801h

Sourcecode

(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
(Segment doesn't exist in this version.)
			CALL PROC__Detect10000			; 00435680h
			CALL PROC__Detect10000			; 00435680h

Bytes

--
--
--
--
E8125CF8FF
E87AD2F7FF