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
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