Redesigns the end-question-screen of the engine's default menu to more resemble how it is in RPGXP/VX/Ace by adding a shutdown-command to it which uses the same vocab-string as shutdown in the title-screen's choice.
Can be extended with the MES-version of RemoveQuitQuestion.
Originally made and first released by KotatsuAkira.
RPG2000 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1.00 | UNKNOWN | 2000-05-07 | 2000-06-19 | 2000-07-11 | 2000-11-13 | 2000-11-15 | 2000-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.00 | UNKNOWN1 | UNKNOWN2 | 1.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.10 | 1.11 | 1.12 | mp210414 |
✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
RPG2000 | |
---|---|
2000-12-27 1.07 | 2017-09-14 1.62 |
0047B3E8h 0007A7E8h | 00481C68h 00081068h |
RPG2003 | |||||
---|---|---|---|---|---|
1.0.8.0 1.0.8.0 | 1.0.9.1 1.0.9.1 | 1.10 | 1.11 | 1.12 | mp210414 |
004A31CCh 000A25CCh | 004A2500h 000A1900h |
PROC__0047B3E8h: PUSH EBX PUSH ESI MOV ESI, [0049ABA4h] ; TLcfgSystem MOV EBX, EAX MOV EAX, [EBX+30h] MOV EDX, [EAX] CALL [EDX+2Ch] MOV EAX, [0049AA04h] ; TMultiInput MOV EAX, [EAX] MOV AL, BYTE PTR [EAX+15Eh] TEST AL, 10h ; CONFIRM BUTTON JNZ __ProcessConfirm TEST AL, 20h ; CANCEL BUTTON JNZ __ProcessCancel JMP __Finish __ProcessConfirm: MOV EAX, [ESI] CALL PROC__0046A4A0h ; TLcfgSystem.SoundGetDecision MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0046A0A8h ; TLcfgSystem.SoundPlay MOV EAX, [EBX+30h] CMP DWORD PTR [EAX+44h], 0 JNZ __CheckCloseGame MOV EAX, [ESI] ; Index 0 [Go To Title] MOV EDX, 400 CALL PROC__0046A048h ; TLcfgSystem.MusicFadeOut MOV EAX, EBX CALL PROC__00479C40h MOV EAX, [0049AA48h] ; TAuroraDraw MOV EAX, [EAX] CALL PROC__00455E44h ; TAuroraDraw.Reset JMP __Finish __CheckCloseGame: CMP DWORD PTR [EAX+44h], 1 JNZ __BackToMenu ; Index 2 [Cancel] POP ESI JMP __0046E4AFh ; Index 1 [Shutdown] __ProcessCancel: MOV EAX, [ESI] CALL PROC__0046A588h ; TLcfgSystem.SoundGetCancel MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0046A0A8h ; TLcfgSystem.SoundPlay __BackToMenu: MOV EAX, EBX CALL PROC__00479C80h __Finish: POP ESI POP EBX RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__00481C68h: PUSH EBX PUSH ESI MOV ESI, [004A0B8Ch] ; TLcfgSystem MOV EBX, EAX MOV EAX, [EBX+30h] MOV EDX, [EAX] CALL [EDX+2Ch] MOV EAX, [004A0A04h] ; TMultiInput MOV EAX, [EAX] MOV AL, BYTE PTR [EAX+15Eh] TEST AL, 10h ; CONFIRM BUTTON JNZ __ProcessConfirm TEST AL, 20h ; CANCEL BUTTON JNZ __ProcessCancel JMP __Finish __ProcessConfirm: MOV EAX, [ESI] CALL PROC__0046FD58h ; TLcfgSystem.SoundGetDecision MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0046F96Ch ; TLcfgSystem.SoundPlay MOV EAX, [EBX+30h] CMP DWORD PTR [EAX+44h], 0 JNZ __CheckCloseGame MOV EAX, [ESI] ; Index 0 [Go To Title] MOV EDX, 400 CALL PROC__0046F914h ; TLcfgSystem.MusicFadeOut MOV EAX, EBX CALL PROC__004804C0h MOV EAX, [004A0A3Ch] ; TAuroraDraw MOV EAX, [EAX] CALL PROC__00456710h ; TAuroraDraw.Reset JMP __Finish __CheckCloseGame: CMP DWORD PTR [EAX+44h], 1 JNZ __BackToMenu ; Index 2 [Cancel] POP ESI JMP __004749E3h ; Index 1 [Shutdown] __ProcessCancel: MOV EAX, [ESI] CALL PROC__0046FE38h ; TLcfgSystem.SoundGetCancel MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0046F96Ch ; TLcfgSystem.SoundPlay __BackToMenu: MOV EAX, EBX CALL PROC__00480500h __Finish: POP ESI POP EBX RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__004A31CCh: PUSH EBX PUSH ESI MOV ESI, [004CDC7Ch] ; TLcfgSystem MOV EBX, EAX MOV EAX, [EBX+30h] MOV EDX, [EAX] CALL [EDX+30h] MOV EAX, [004CDAECh] ; TMultiInput MOV EAX, [EAX] MOV AL, BYTE PTR [EAX+344h] TEST AL, 10h ; CONFIRM BUTTON JNZ __ProcessConfirm TEST AL, 20h ; CANCEL BUTTON JNZ __ProcessCancel JMP __Finish __ProcessConfirm: MOV EAX, [ESI] CALL PROC__0048B924h ; TLcfgSystem.SoundGetDecision MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0048B538h ; TLcfgSystem.SoundPlay MOV EAX, [EBX+30h] CMP DWORD PTR [EAX+44h], 0 JNZ __CheckCloseGame MOV EAX, [ESI] ; Index 0 [Go To Title] MOV EDX, 400 CALL PROC__0048B4E0h ; TLcfgSystem.MusicFadeOut MOV EAX, EBX CALL PROC__004A1094h MOV EAX, [004CDB24h] ; TAuroraDraw MOV EAX, [EAX] CALL PROC__0046BC00h ; TAuroraDraw.Reset JMP __Finish __CheckCloseGame: CMP DWORD PTR [EAX+44h], 1 JNZ __BackToMenu ; Index 2 [Cancel] POP ESI JMP __00490AF7h ; Index 1 [Shutdown] __ProcessCancel: MOV EAX, [ESI] CALL PROC__0048BA04h ; TLcfgSystem.SoundGetCancel MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0048B538h ; TLcfgSystem.SoundPlay __BackToMenu: MOV EAX, EBX CALL PROC__004A10D4h __Finish: POP ESI POP EBX RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__004A2500h: PUSH EBX PUSH ESI MOV ESI, [004CDC7Ch] ; TLcfgSystem MOV EBX, EAX MOV EAX, [EBX+30h] MOV EDX, [EAX] CALL [EDX+30h] MOV EAX, [004CDAECh] ; TMultiInput MOV EAX, [EAX] MOV AL, BYTE PTR [EAX+344h] TEST AL, 10h ; CONFIRM BUTTON JNZ __ProcessConfirm TEST AL, 20h ; CANCEL BUTTON JNZ __ProcessCancel JMP __Finish __ProcessConfirm: MOV EAX, [ESI] CALL PROC__0048B8E0h ; TLcfgSystem.SoundGetDecision MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0048B4F4h ; TLcfgSystem.SoundPlay MOV EAX, [EBX+30h] CMP DWORD PTR [EAX+44h], 0 JNZ __CheckCloseGame MOV EAX, [ESI] ; Index 0 [Go To Title] MOV EDX, 400 CALL PROC__0048B49Ch ; TLcfgSystem.MusicFadeOut MOV EAX, EBX CALL PROC__004A03C8h MOV EAX, [004CDB24h] ; TAuroraDraw MOV EAX, [EAX] CALL PROC__0046BC00h ; TAuroraDraw.Reset JMP __Finish __CheckCloseGame: CMP DWORD PTR [EAX+44h], 1 JNZ __BackToMenu ; Index 2 [Cancel] POP ESI JMP __0048FCEBh ; Index 1 [Shutdown] __ProcessCancel: MOV EAX, [ESI] CALL PROC__0048B9C0h ; TLcfgSystem.SoundGetCancel MOV EDX, EAX MOV EAX, [ESI] CALL PROC__0048B4F4h ; TLcfgSystem.SoundPlay __BackToMenu: MOV EAX, EBX CALL PROC__004A0408h __Finish: POP ESI POP EBX RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
53 56 8B35A4AB4900 89C3 8B4330 8B10 FF522C A104AA4900 8B00 8A805E010000 A810 7506 A820 7548 EB5D 8B06 E888F0FEFF 89C2 8B06 E887ECFEFF 8B4330 83784400 7521 8B06 BA90010000 E812ECFEFF 89D8 E803E8FFFF A148AA4900 8B00 E8FBA9FDFF EB23 83784401 7516 5E E95830FFFF 8B06 E82AF1FEFF 89C2 8B06 E841ECFEFF 89D8 E812E8FFFF 5E 5B 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
53 56 8B358C0B4A00 89C3 8B4330 8B10 FF522C A1040A4A00 8B00 8A805E010000 A810 7506 A820 7548 EB5D 8B06 E8C0E0FEFF 89C2 8B06 E8CBDCFEFF 8B4330 83784400 7521 8B06 BA90010000 E85EDCFEFF 89D8 E803E8FFFF A13C0A4A00 8B00 E8474AFDFF EB23 83784401 7516 5E E90C2DFFFF 8B06 E85AE1FEFF 89C2 8B06 E885DCFEFF 89D8 E812E8FFFF 5E 5B 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
53 56 8B357CDC4C00 89C3 8B4330 8B10 FF5230 A1ECDA4C00 8B00 8A8044030000 A810 7506 A820 7548 EB5D 8B06 E82887FEFF 89C2 8B06 E83383FEFF 8B4330 83784400 7521 8B06 BA90010000 E8C682FEFF 89D8 E873DEFFFF A124DB4C00 8B00 E8D389FCFF EB23 83784401 7516 5E E9BCD8FEFF 8B06 E8C287FEFF 89C2 8B06 E8ED82FEFF 89D8 E882DEFFFF 5E 5B 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
53 56 8B357CDC4C00 89C3 8B4330 8B10 FF5230 A1ECDA4C00 8B00 8A8044030000 A810 7506 A820 7548 EB5D 8B06 E8B093FEFF 89C2 8B06 E8BB8FFEFF 8B4330 83784400 7521 8B06 BA90010000 E84E8FFEFF 89D8 E873DEFFFF A124DB4C00 8B00 E89F96FCFF EB23 83784401 7516 5E E97CD7FEFF 8B06 E84A94FEFF 89C2 8B06 E8758FFEFF 89D8 E882DEFFFF 5E 5B 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
RPG2000 | |
---|---|
2000-12-27 1.07 | 2017-09-14 1.62 |
004796C8h 00078AC8h | 0047FF48h 0007F348h |
RPG2003 | |||||
---|---|---|---|---|---|
1.0.8.0 1.0.8.0 | 1.0.9.1 1.0.9.1 | 1.10 | 1.11 | 1.12 | mp210414 |
004A0978h 0009FD78h | 0049FCACh 0009F0ACh |
PROC__004796C8h: PUSH EBX PUSH ESI PUSH EDI SUB ESP, 12 MOV EBX, EAX XOR EDX, EDX MOV DL, 79 ; QUIT Message CALL PROC__GetVocabStringLength MOV ESI, EAX ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 32 PUSH 0 SAR EAX, 1 JNS __MessageNoCarry ADC EAX, 0 __MessageNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 64 MOV EAX, [EBX+64h] CALL PROC__00493C30h MOV ESI, [EBX+64h] XOR EDX, EDX MOV DL, 79 ; QUIT Message XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 81 ; [YES] (GO TO TITLE) CALL PROC__GetVocabStringLength MOV [ESP], EAX XOR EDX, EDX MOV DL, 58 ; [SHUTDOWN] CALL PROC__GetVocabStringLength MOV [ESP+04h], EAX XOR EDX, EDX MOV DL, 82 ; [NO] (CANCEL) CALL PROC__GetVocabStringLength MOV [ESP+08h], EAX MOV EAX, ESP XOR EDX, EDX MOV DL, 2 CALL PROC__0041EB54h ; HighestValueFromChain ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 64 PUSH 0 SAR EAX, 1 JNS __ChoicesNoCarry ADC EAX, 0 __ChoicesNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 112 MOV EAX, EBX CALL PROC__00493C30h MOV ESI, EBX XOR EDX, EDX MOV DL, 81 XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 58 XOR ECX, ECX MOV CL, 24 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 82 XOR ECX, ECX MOV CL, 40 CALL PROC__DrawVocabString MOV DL, 01h MOV EAX, EBX CALL 004946DCh ADD ESP, 12 POP EDI POP ESI POP EBX RETN PROC__GetVocabString: MOV EAX, [0049ABDCh] ; BaseVocab MOV EAX, [EAX] MOV EAX, [EAX+EDX*4] RETN NOP PROC__GetVocabStringLength: CALL PROC__GetVocabString CALL PROC__00403D4Ch RETN NOP PROC__DrawVocabString: CALL PROC__GetVocabString PUSH EAX PUSH 0 PUSH 1 XOR EDX, EDX MOV DL, 8 MOV EAX, ESI MOV EDI, [EAX] CALL [EDI+34h] RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__0047FF48h: PUSH EBX PUSH ESI PUSH EDI SUB ESP, 12 MOV EBX, EAX XOR EDX, EDX MOV DL, 79 ; QUIT Message CALL PROC__GetVocabStringLength MOV ESI, EAX ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 32 PUSH 0 SAR EAX, 1 JNS __MessageNoCarry ADC EAX, 0 __MessageNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 64 MOV EAX, [EBX+64h] CALL PROC__0049A988h MOV ESI, [EBX+64h] XOR EDX, EDX MOV DL, 79 ; QUIT Message XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 81 ; [YES] (GO TO TITLE) CALL PROC__GetVocabStringLength MOV [ESP], EAX XOR EDX, EDX MOV DL, 58 ; [SHUTDOWN] CALL PROC__GetVocabStringLength MOV [ESP+04h], EAX XOR EDX, EDX MOV DL, 82 ; [NO] (CANCEL) CALL PROC__GetVocabStringLength MOV [ESP+08h], EAX MOV EAX, ESP XOR EDX, EDX MOV DL, 2 CALL PROC__0041F18Ch ; HighestValueFromChain ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 64 PUSH 0 SAR EAX, 1 JNS __ChoicesNoCarry ADC EAX, 0 __ChoicesNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 112 MOV EAX, EBX CALL PROC__0049A988h MOV ESI, EBX XOR EDX, EDX MOV DL, 81 XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 58 XOR ECX, ECX MOV CL, 24 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 82 XOR ECX, ECX MOV CL, 40 CALL PROC__DrawVocabString MOV DL, 01h MOV EAX, EBX CALL PROC__0049B434h ADD ESP, 12 POP EDI POP ESI POP EBX RETN PROC__GetVocabString: MOV EAX, [004A0BC4h] ; BaseVocab MOV EAX, [EAX] MOV EAX, [EAX+EDX*4] RETN NOP PROC__GetVocabStringLength: CALL PROC__GetVocabString CALL PROC__00403D70h RETN NOP PROC__DrawVocabString: CALL PROC__GetVocabString PUSH EAX PUSH 0 PUSH 1 XOR EDX, EDX MOV DL, 8 MOV EAX, ESI MOV EDI, [EAX] CALL [EDI+34h] RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__004A0978h: PUSH EBX PUSH ESI PUSH EDI SUB ESP, 12 MOV EBX, EAX XOR EDX, EDX MOV DL, 77 ; QUIT Message CALL PROC__GetVocabStringLength MOV ESI, EAX ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 32 PUSH 0 SAR EAX, 1 JNS __MessageNoCarry ADC EAX, 0 __MessageNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 64 MOV EAX, [EBX+78h] CALL PROC__004C63DCh MOV ESI, [EBX+78h] XOR EDX, EDX MOV DL, 77 ; QUIT Message XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 79 ; [YES] (GO TO TITLE) CALL PROC__GetVocabStringLength MOV [ESP], EAX XOR EDX, EDX MOV DL, 56 ; [SHUTDOWN] CALL PROC__GetVocabStringLength MOV [ESP+04h], EAX XOR EDX, EDX MOV DL, 80 ; [NO] (CANCEL) CALL PROC__GetVocabStringLength MOV [ESP+08h], EAX MOV EAX, ESP XOR EDX, EDX MOV DL, 2 CALL PROC__0042A290h ; HighestValueFromChain ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 64 PUSH 0 SAR EAX, 1 JNS __ChoicesNoCarry ADC EAX, 0 __ChoicesNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 112 MOV EAX, EBX CALL PROC__004C63DCh MOV ESI, EBX XOR EDX, EDX MOV DL, 79 XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 56 XOR ECX, ECX MOV CL, 24 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 80 XOR ECX, ECX MOV CL, 40 CALL PROC__DrawVocabString MOV DL, 01h MOV EAX, EBX CALL PROC__004C6FBCh ADD ESP, 12 POP EDI POP ESI POP EBX RETN PROC__GetVocabString: MOV EAX, [004CDCB4h] ; BaseVocab MOV EAX, [EAX] MOV EAX, [EAX+EDX*4] RETN NOP PROC__GetVocabStringLength: CALL PROC__GetVocabString CALL PROC__004047A4h RETN NOP PROC__DrawVocabString: CALL PROC__GetVocabString PUSH EAX PUSH 0 PUSH 1 XOR EDX, EDX MOV DL, 8 MOV EAX, ESI MOV EDI, [EAX] CALL [EDI+38h] RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
PROC__0049FCACh: PUSH EBX PUSH ESI PUSH EDI SUB ESP, 12 MOV EBX, EAX XOR EDX, EDX MOV DL, 77 ; QUIT Message CALL PROC__GetVocabStringLength MOV ESI, EAX ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 32 PUSH 0 SAR EAX, 1 JNS __MessageNoCarry ADC EAX, 0 __MessageNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 64 MOV EAX, [EBX+78h] CALL PROC__004C5708h MOV ESI, [EBX+78h] XOR EDX, EDX MOV DL, 77 ; QUIT Message XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 79 ; [YES] (GO TO TITLE) CALL PROC__GetVocabStringLength MOV [ESP], EAX XOR EDX, EDX MOV DL, 56 ; [SHUTDOWN] CALL PROC__GetVocabStringLength MOV [ESP+04h], EAX XOR EDX, EDX MOV DL, 80 ; [NO] (CANCEL) CALL PROC__GetVocabStringLength MOV [ESP+08h], EAX MOV EAX, ESP XOR EDX, EDX MOV DL, 2 CALL PROC__0042A290h ; HighestValueFromChain ADD EAX, EAX LEA EAX, [EAX+EAX*2] ADD EAX, 16 PUSH EAX PUSH 64 PUSH 0 SAR EAX, 1 JNS __ChoicesNoCarry ADC EAX, 0 __ChoicesNoCarry: XOR EDX, EDX MOV DL, 160 SUB EDX, EAX XOR ECX, ECX MOV CL, 112 MOV EAX, EBX CALL PROC__004C5708h MOV ESI, EBX XOR EDX, EDX MOV DL, 79 XOR ECX, ECX MOV CL, 8 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 56 XOR ECX, ECX MOV CL, 24 CALL PROC__DrawVocabString XOR EDX, EDX MOV DL, 80 XOR ECX, ECX MOV CL, 40 CALL PROC__DrawVocabString MOV DL, 01h MOV EAX, EBX CALL PROC__004C62F0h ADD ESP, 12 POP EDI POP ESI POP EBX RETN PROC__GetVocabString: MOV EAX, [004CDCB4h] ; BaseVocab MOV EAX, [EAX] MOV EAX, [EAX+EDX*4] RETN PROC__GetVocabStringLength: CALL PROC__GetVocabString CALL PROC__004047A4h RETN PROC__DrawVocabString: CALL PROC__GetVocabString PUSH EAX PUSH 0 PUSH 1 XOR EDX, EDX MOV DL, 8 MOV EAX, ESI MOV EDI, [EAX] CALL [EDI+38h] RETN NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
53 56 57 83EC0C 89C3 31D2 B24F E8D3000000 89C6 01C0 8D0440 83C010 50 6A20 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B140 8B4364 E82FA50100 8B7364 31D2 B24F 31C9 B108 E8A7000000 31D2 B251 E892000000 890424 31D2 B23A E886000000 89442404 31D2 B252 E879000000 89442408 89E0 31D2 B202 E81254FAFF 01C0 8D0440 83C010 50 6A40 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B170 89D8 E8C9A40100 89DE 31D2 B251 31C9 B108 E842000000 31D2 B23A 31C9 B118 E835000000 31D2 B252 31C9 B128 E828000000 B201 89D8 E843AF0100 83C40C 5F 5E 5B C3 A1DCAB4900 8B00 8B0490 C3 90 E8EFFFFFFF E896A5F8FF C3 90 E8E3FFFFFF 50 6A00 6A01 31D2 B208 89F0 8B38 FF5734 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
53 56 57 83EC0C 89C3 31D2 B24F E8D3000000 89C6 01C0 8D0440 83C010 50 6A20 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B140 8B4364 E807AA0100 8B7364 31D2 B24F 31C9 B108 E8A7000000 31D2 B251 E892000000 890424 31D2 B23A E886000000 89442404 31D2 B252 E879000000 89442408 89E0 31D2 B202 E8CAF1F9FF 01C0 8D0440 83C010 50 6A40 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B170 89D8 E8A1A90100 89DE 31D2 B251 31C9 B108 E842000000 31D2 B23A 31C9 B118 E835000000 31D2 B252 31C9 B128 E828000000 B201 89D8 E81BB40100 83C40C 5F 5E 5B C3 A1C40B4A00 8B00 8B0490 C3 90 E8EFFFFFFF E83A3DF8FF C3 90 E8E3FFFFFF 50 6A00 6A01 31D2 B208 89F0 8B38 FF5734 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
53 56 57 83EC0C 89C3 31D2 B24D E8D3000000 89C6 01C0 8D0440 83C010 50 6A20 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B140 8B4378 E82B5A0200 8B7378 31D2 B24D 31C9 B108 E8A7000000 31D2 B24F E892000000 890424 31D2 B238 E886000000 89442404 31D2 B250 E879000000 89442408 89E0 31D2 B202 E89E98F8FF 01C0 8D0440 83C010 50 6A40 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B170 89D8 E8C5590200 89DE 31D2 B24F 31C9 B108 E842000000 31D2 B238 31C9 B118 E835000000 31D2 B250 31C9 B128 E828000000 B201 89D8 E873650200 83C40C 5F 5E 5B C3 A1B4DC4C00 8B00 8B0490 C3 90 E8EFFFFFFF E83E3DF6FF C3 90 E8E3FFFFFF 50 6A00 6A01 31D2 B208 89F0 8B38 FF5738 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
53 56 57 83EC0C 89C3 31D2 B24D E8D2000000 89C6 01C0 8D0440 83C010 50 6A20 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B140 8B4378 E8235A0200 8B7378 31D2 B24D 31C9 B108 E8A5000000 31D2 B24F E891000000 890424 31D2 B238 E885000000 89442404 31D2 B250 E878000000 89442408 89E0 31D2 B202 E86AA5F8FF 01C0 8D0440 83C010 50 6A40 6A00 D1F8 7903 83D000 31D2 B2A0 29C2 31C9 B170 89D8 E8BD590200 89DE 31D2 B24F 31C9 B108 E840000000 31D2 B238 31C9 B118 E833000000 31D2 B250 31C9 B128 E826000000 B201 89D8 E873650200 83C40C 5F 5E 5B C3 A1B4DC4C00 8B00 8B0490 C3 E8F0FFFFFF E80B4AF6FF C3 E8E5FFFFFF 50 6A00 6A01 31D2 B208 89F0 8B38 FF5738 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