Código:
include "x.inc"
include "lib2.asm"
org 0x15D7566E ;15EBEC6E
LDR R3, off_15EBEC74
BX R3
align 4
off_15EBEC74 DCD loc_15E20CD0+1
loc_15EBEC78:
org 0x15D760B6 ;15EBF6BE
MOV R1, 4
org 0x15D75FAA ;15EBF5B2
LDR R3, off_15EBF5B8
BX R3
align 4
off_15EBF5B8 DCD loc_15E20CE0+1
org 0x15D76000 ;15EBF608
LDR R3, off_15EBF60C
BX R3
off_15EBF60C DCD loc_15E20D6E+1
loc_15EBF610:
org 0x15D75EC2 ;15EBF4CA
LDR R3, off_15EBF4D0
BX R3
align 4
off_15EBF4D0 DCD loc_15E20E88+1
loc_15EBF4D4:
;-------------------------------------
org 0x15d81470
loc_15E20CD0:
ADD R2, R0, 0
BL sub_15E20ECC
ADD R0, R5, 0
LDR R3, off_15E20D20
BLX R3
LDR R3, off_15E20D1C
BX R3
loc_15E20CE0:
ADD R4, R0, 0
LDR R5, [R0,8]
LDR R3, off_15E20D24
BLX R3
CMP R0, 3
BHI loc_15E20D1A
CMP R0, 3
BEQ loc_15E20CF4
LDR R3, off_15E20D28
BX R3
loc_15E20CF4:
MOV R0, 0
PUSH {R0}
adr R0, aElfSTabNumber
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
ADD R1, R0, 0
ADD R0, R4, 0
LDR R3, off_15E20D2C
BLX R3
BL sub_15E20D34
ADD R1, R0, 0
ADD R0, R4, 0
LDR R3, off_15E20D30
BLX R3
loc_15E20D1A:
POP {R4-R7,PC}
off_15E20D1C dw loc_15EBEC78+1 ;return
off_15E20D20 dw List_Insert+1
off_15E20D24 dw GUIonMessage_GetCreatedItemIndex+1
off_15E20D28 dw 0x15D75FB6+1 ;loc_15EBF5BE+1
off_15E20D2C dw GUIonMessage_SetMenuItemText+1
off_15E20D30 dw GUIonMessage_SetMenuItemSecondLineText+1
sub_15E20D34:
PUSH {LR}
MOV R0, 0
PUSH {R0}
BL sub_15E20ECC
CMP R1, 0
BEQ loc_15E20D52
CMP R1, 1
BEQ loc_15E20D56
CMP R1, 2
BEQ loc_15E20D5A
CMP R1, 3
BEQ loc_15E20D5E
adr R0, aFifth
B loc_15E20D60
loc_15E20D52:
adr R0, aFirst
B loc_15E20D60
loc_15E20D56:
adr R0, aSecond
B loc_15E20D60
loc_15E20D5A:
adr R0, aThird
B loc_15E20D60
loc_15E20D5E:
adr R0, aFourth
loc_15E20D60:
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
POP {PC}
loc_15E20D6E:
ADD R4, R0, 0
ADD R0, R1, 0
LDR R3, off_15E20EB8
BLX R3
CMP R0, 3
BEQ loc_15E20D7E
LDR R3, off_15E20E44
BX R3
loc_15E20D7E:
ADD R7, R0, 0
MOV R1, 0x73
STRB R7, [R4,R1]
ADD R0, R4, 0
LDR R3, off_15E20E30
BLX R3
STR R0, [R4,0x6C]
MOV R1, 9
LDR R3, off_15E20E34
BLX R3
MOV R0, 0
PUSH {R0}
adr R0, aElfSTabNumber
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
ADD R1, R0, 0
LDR R0, [R4,0x6C]
LDR R3, off_15E20E38
BLX R3
MOV R0, 0
PUSH {R0}
adr R0, aFirst
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
STR R0, [SP]
MOV R0, 0
PUSH {R0}
adr R0, aSecond
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
STR R0, [SP,4]
MOV R0, 0
PUSH {R0}
adr R0, aThird
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
STR R0, [SP,8]
MOV R0, 0
PUSH {R0}
adr R0, aFourth
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
STR R0, [SP,0xC]
MOV R0, 0
PUSH {R0}
adr R0, aFifth
MOV R1, 6
LDR R2, dword_15E20E28
MOV R3, 0
LDR R7, off_15E20E2C
BLX R7
ADD SP, SP, 4
STR R0, [SP,0x10]
LDR R0, [R4,0x6C]
MOV R1, SP
MOV R2, 5
LDR R3, off_15E20E3C
BLX R3
BL sub_15E20ECC
LDR R0, [R4,0x6C]
LDR R3, off_15E20E40
BLX R3
LDR R3, off_15E20E48
BX R3
dword_15E20E28 dw 0xFFFF
off_15E20E2C dw Str2ID+1
off_15E20E30 dw CreateOneOfMany+1
off_15E20E34 dw GUIObject_SetStyle+1
off_15E20E38 dw GUIObject_SetTitleText+1
off_15E20E3C dw OneOfMany_SetTexts+1
off_15E20E40 dw OneOfMany_SetChecked+1
off_15E20E44 dw loc_15EBF610+1 ;return
off_15E20E48 dw 0x15D76072+1 ;loc_15EBF67A+1 ;addon
aElfSTabNumber db "Elf's tab number:",0
align 4
aFirst db "First",0
align 4
aSecond db "Second",0
db 0xFF
aThird db "Third",0
align 4
aFourth db "Fourth",0
db 0xFF
aFifth db "Fifth",0
align 4
loc_15E20E88:
ADD R4, R0, 0
ADD R0, R1, 0
MOV R6, 0x73
LDRB R7, [R4,R6]
CMP R7, 3
BEQ loc_15E20E9E
LDR R3, off_15E20EB8
BLX R3
ADD R7, R0, 0
LDR R3, off_15E20EC4
BX R3
loc_15E20E9E:
LDR R3, off_15E20EBC
BLX R3
BL sub_15E20EF8
BL sub_15E20D34
ADD R2, R0, 0
MOV R1, 3
LDR R0, [R4,0x68]
LDR R3, off_15E20EC0
BLX R3
LDR R3, off_15E20EC8
BX R3
off_15E20EB8 dw ListMenu_GetSelectedItem+1
off_15E20EBC dw OneOfMany_GetSelected+1
off_15E20EC0 dw ListMenu_SetSecondLineText+1
off_15E20EC4 dw loc_15EBF4D4+1 ;return
off_15E20EC8 dw 0x15D75F48+1 ;loc_15EBF550+1 ;addon
sub_15E20ECC:
var_28 = -0x28
var_C = -0xC
PUSH {R0,R2-R5,LR}
MOV R0, 0
PUSH {R0}
MOV R3, 0xFF
ADD R3, 0x81
MOV R2, 1
adr R1, aElfstabnum_bin
LDR R0, off_15E20F28
LDR R4, off_15E20F2C
BLX R4
ADD R5, R0, 0
MOV R2, 4
MOV R1, SP
LDR R4, off_15E20F30
BLX R4
ADD R0, R5, 0
LDR R4, off_15E20F38
BLX R4
LDR R1, [SP,0x28+var_28]
ADD SP, SP, 4
POP {R0,R2-R5,PC}
align 4
sub_15E20EF8:
var_20 = -0x20
PUSH {R0-R5,LR}
SUB SP, SP, 4
STR R0, [SP,0x20+var_20]
MOV R0, 0
PUSH {R0}
MOV R3, 0xFF
ADD R3, 0x81
MOV R2, 2
adr R1, aElfstabnum_bin
LDR R0, off_15E20F28
LDR R4, off_15E20F2C
BLX R4
ADD SP, SP, 4
ADD R5, R0, 0
MOV R2, 4
MOV R1, SP
LDR R4, off_15E20F34
BLX R4
ADD R0, R5, 0
LDR R4, off_15E20F38
BLX R4
ADD SP, SP, 4
POP {R0-R5,PC}
align 4
off_15E20F28 dw 0x15A62418 ;aTpaSystemSetti 15B9DA00
off_15E20F2C dw _fopen+1
off_15E20F30 dw fread+1
off_15E20F34 dw fwrite+1
off_15E20F38 dw fclose+1
aElfstabnum_bin du "ElfsTabNum.bin",0
Marcadores