Código:
include "x.inc"
include "W580_R6CA001_Orange.lib.asm"
;W580 SW-R6CA001
;Muestra el nivel de volumen en porcentaje
;(c) Therion
;(r) MaPkiZzz
;(p) Bill_Kevin
; Update
;Actualizacion

org 0x452E8DD4;0x452BB330
        LDR    R3, off_452BB334
        BX    R3
off_452BB334    dw loc_45DD88A0+1    

org 0x452E8DF6;0x452BB352
        LDR    R3, off_452BB358
        BX    R3
        NOP
off_452BB358    dw loc_45DD88A0+1    

org 0x45c19710;0x45DD88A0
loc_45DD88A0:                        
        PUSH    {R5}
        LDR    R0, off_45DD8988
        BL    sub_45DD89A8
        MOV    R1, 0x2C
        LDR    R0, [R0,R1]
        BL    sub_45DD88DC
        ADD    R5, R0,    0
        MOV    R0, 0x2C
        BL    sub_45DD89A0
        LDR    R0, dword_45DD898C
        LDR    R1, dword_45DD8990
        PUSH    {R0,R1}
        MOV    R0, 0x34
        MOV    R1, 0x16
        MOV    R2, 0x14
        MOV    R3, 4
        PUSH    {R0-R3}
        ADD    R0, R5,    0
        MOV    R1, 0
        MOV    R2, 2
        MOV    R3, 6
        BL    sub_45DD89B8
        ADD    SP, SP,    0x18
        POP    {R5}
        LDR    R3, off_45DD8984
        BX    R3

sub_45DD88DC:                
var_14        = -0x14
var_10        = -0x10

        PUSH    {R4,LR}
        SUB    SP, SP,    0xC
        ADD    R4, R0,    0
        CMP    R4, 0xF
        BEQ    loc_45DD8924
        CMP    R4, 0
        BEQ    loc_45DD8960
        CMP    R4, 0xE
        BEQ    loc_45DD8928
        CMP    R4, 0xD
        BEQ    loc_45DD892C
        CMP    R4, 0xC
        BEQ    loc_45DD8930
        CMP    R4, 0xB
        BEQ    loc_45DD8934
        CMP    R4, 0xA
        BEQ    loc_45DD8938
        CMP    R4, 9
        BEQ    loc_45DD893C
        CMP    R4, 8
        BEQ    loc_45DD8940
        CMP    R4, 7
        BEQ    loc_45DD8944
        CMP    R4, 6
        BEQ    loc_45DD8948
        CMP    R4, 5
        BEQ    loc_45DD894C
        CMP    R4, 4
        BEQ    loc_45DD8950
        CMP    R4, 3
        BEQ    loc_45DD8954
        CMP    R4, 2
        BEQ    loc_45DD8958
        CMP    R4, 1
        BEQ    loc_45DD895C
        B    loc_45DD8960

loc_45DD8924:                
        MOV    R0, 0x64
        B    loc_45DD8962

loc_45DD8928:                
        MOV    R0, 0x5E
        B    loc_45DD8962

loc_45DD892C:                
        MOV    R0, 0x57
        B    loc_45DD8962

loc_45DD8930:                
        MOV    R0, 0x50
        B    loc_45DD8962

loc_45DD8934:                
        MOV    R0, 0x4A
        B    loc_45DD8962

loc_45DD8938:                
        MOV    R0, 0x43
        B    loc_45DD8962

loc_45DD893C:                
        MOV    R0, 0x3C
        B    loc_45DD8962

loc_45DD8940:                
        MOV    R0, 0x36
        B    loc_45DD8962

loc_45DD8944:                
        MOV    R0, 0x2F
        B    loc_45DD8962

loc_45DD8948:                
        MOV    R0, 0x28
        B    loc_45DD8962

loc_45DD894C:                
        MOV    R0, 0x22
        B    loc_45DD8962

loc_45DD8950:                
        MOV    R0, 0x1B
        B    loc_45DD8962

loc_45DD8954:                
        MOV    R0, 0x14
        B    loc_45DD8962

loc_45DD8958:                
        MOV    R0, 0xD
        B    loc_45DD8962

loc_45DD895C:                
        MOV    R0, 7
        B    loc_45DD8962

loc_45DD8960:                        
        MOV    R0, 0

loc_45DD8962:                        
        BL    sub_45DD8998
        STR    R0, [SP,0x14+var_14]
        MOV    R1, 0
        MOV    R2, 1
        adr    R0, unk_45DD8994
        BL    sub_45DD89B0
        STR    R0, [SP,0x14+var_10]
        MOV    R1, 5
        MOV    R2, 2
        ADD    R0, SP,    0x14+var_14
        BL    sub_45DD89B0
        ADD    SP, SP,    0xC
        POP    {R4,PC}
        align 4
off_45DD8984    dw 0x452E8E12+1;x452BB36E+1    
off_45DD8988    dw IsVolumeControllerBook+1                 
dword_45DD898C    dw 0xE0403F3F        
dword_45DD8990    dw 0x929292        
unk_45DD8994    db 0x25 
        db    0
        db    0
        db    0

sub_45DD8998:                
        LDR    R3, off_45DD899C
        BX    R3        
off_45DD899C    dw int2strID+1        

sub_45DD89A0:                
        LDR    R3, off_45DD89A4
        BX    R3
off_45DD89A4    dw 0x4538BE5C+1;0x4535E75C+1    

sub_45DD89A8:                
        LDR    R3, off_45DD89AC
        BX    R3        
off_45DD89AC    dw FindBook+1        
                    
sub_45DD89B0:                            
        LDR    R3, off_45DD89B4
        BX    R3        
off_45DD89B4    dw Str2ID+1        
                    

sub_45DD89B8:                
var_20        = -0x20
arg_10        =  0x10
arg_14        =  0x14
        PUSH    {R3}
        LDR    R3, off_45DD89C4
        MOV    R12, R3
        POP    {R3}
        BX    R12        
        NOP
off_45DD89C4    dw DrawString+1