Untitled diff
256 lines
_aes_setkey_dec:
_aes_setkey_dec:
LNK #284
LNK #284
;aes.c,595 :: unsigned int keysize )
;aes.c,595 :: unsigned int keysize )
;aes.c,602 :: aes_init( &cty );
;aes.c,602 :: aes_init( &cty );
ADD W14, #2, W0
ADD W14, #2, W0
MOV W0, [W14+282]
MOV W0, [W14+282]
PUSH W12
PUSH W12
PUSH W10
PUSH W10
MOV W0, W10
MOV W0, W10
CALL _aes_init
CALL _aes_init
POP W10
POP W10
POP W12
POP W12
;aes.c,612 :: ctx->rk = RK = ctx->buf;
;aes.c,612 :: ctx->rk = RK = ctx->buf;
ADD W10, #2, W1
ADD W10, #2, W1
ADD W10, #4, W0
ADD W10, #4, W0
MOV W0, [W14+278]
MOV W0, [W14+278]
MOV W0, [W1]
MOV W0, [W1]
;aes.c,615 :: if( ( ret = aes_setkey_enc( &cty, key, keysize ) ) != 0 )
;aes.c,615 :: if( ( ret = aes_setkey_enc( &cty, key, keysize ) ) != 0 )
MOV [W14+282], W0
MOV [W14+282], W0
PUSH W10
PUSH W10
MOV W0, W10
MOV W0, W10
CALL _aes_setkey_enc
CALL _aes_setkey_enc
POP W10
POP W10
; ret start address is: 16 (W8)
; ret start address is: 16 (W8)
MOV W0, W8
MOV W0, W8
CP W0, #0
CP W0, #0
BRA NZ L__aes_setkey_dec90
BRA NZ L__aes_setkey_dec90
GOTO L_aes_setkey_dec26
GOTO L_aes_setkey_dec26
L__aes_setkey_dec90:
L__aes_setkey_dec90:
;aes.c,616 :: goto exit;
;aes.c,616 :: goto exit;
MOV W8, W3
MOV W8, W3
GOTO ___aes_setkey_dec_exit
GOTO ___aes_setkey_dec_exit
L_aes_setkey_dec26:
L_aes_setkey_dec26:
;aes.c,618 :: ctx->nr = cty.nr;
;aes.c,618 :: ctx->nr = cty.nr;
MOV [W14+2], W0
MOV [W14+2], W0
MOV W0, [W10]
MOV W0, [W10]
;aes.c,629 :: SK = cty.rk + cty.nr * 4;
;aes.c,629 :: SK = cty.rk + cty.nr * 4;
MOV [W14+2], W0
MOV [W14+2], W0
SL W0, #2, W0
SL W0, #2, W0
SL W0, #2, W1
SL W0, #2, W1
ADD W14, #4, W0
ADD W14, #4, W0
ADD W1, [W0], W1
ADD W1, [W0], W0
; SK start address is: 4 (W2)
; SK start address is: 8 (W4)
MOV W1, W2
MOV W0, W4
;aes.c,631 :: *RK++ = *SK++;
;aes.c,631 :: *RK++ = *SK++;
MOV [W0++], W1
MOV [W0--], W2
MOV [W14+278], W0
MOV [W14+278], W0
MOV [W1++], [W0++]
MOV W1, [W0++]
MOV [W1--], [W0--]
MOV W2, [W0--]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
MOV W1, [W14+278]
MOV W3, [W14+278]
ADD W2, #4, W0
ADD W4, #4, W2
MOV W0, W2
MOV W2, W4
;aes.c,632 :: *RK++ = *SK++;
;aes.c,632 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
MOV W1, [W14+278]
MOV W3, [W14+278]
ADD W2, #4, W0
ADD W4, #4, W2
MOV W0, W2
MOV W2, W4
;aes.c,633 :: *RK++ = *SK++;
;aes.c,633 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
MOV W1, [W14+278]
MOV W3, [W14+278]
ADD W2, #4, W0
ADD W4, #4, W2
MOV W0, W2
MOV W2, W4
;aes.c,634 :: *RK++ = *SK++;
;aes.c,634 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
MOV [W14+278], W1
MOV [W14+278], W1
MOV #278, W0
MOV #278, W0
ADD W14, W0, W0
ADD W14, W0, W0
ADD W1, #4, [W0]
ADD W1, #4, [W0]
ADD W2, #4, W1
ADD W4, #4, W1
; SK end address is: 4 (W2)
; SK end address is: 8 (W4)
;aes.c,636 :: for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 )
;aes.c,636 :: for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 )
MOV [W10], W0
MOV [W10], W0
; i start address is: 18 (W9)
; i start address is: 18 (W9)
SUB W0, #1, W9
SUB W0, #1, W9
MOV #32, W0
MOV #32, W0
; SK start address is: 26 (W13)
; SK start address is: 26 (W13)
SUB W1, W0, W13
SUB W1, W0, W13
MOV W8, W3
MOV W8, W4
; ret end address is: 16 (W8)
; ret end address is: 16 (W8)
; i end address is: 18 (W9)
; i end address is: 18 (W9)
; SK end address is: 26 (W13)
; SK end address is: 26 (W13)
L_aes_setkey_dec27:
L_aes_setkey_dec27:
; SK start address is: 26 (W13)
; SK start address is: 26 (W13)
; i start address is: 18 (W9)
; i start address is: 18 (W9)
; ret start address is: 6 (W3)
; ret start address is: 8 (W4)
CP W9, #0
CP W9, #0
BRA GT L__aes_setkey_dec91
BRA GT L__aes_setkey_dec91
GOTO L_aes_setkey_dec28
GOTO L_aes_setkey_dec28
L__aes_setkey_dec91:
L__aes_setkey_dec91:
;aes.c,638 :: for( j = 0; j < 4; j++, SK++ )
;aes.c,638 :: for( j = 0; j < 4; j++, SK++ )
CLR W0
CLR W0
MOV W0, [W14+0]
MOV W0, [W14+0]
; ret end address is: 8 (W4)
; i end address is: 18 (W9)
; i end address is: 18 (W9)
; SK end address is: 26 (W13)
; SK end address is: 26 (W13)
; ret end address is: 6 (W3)
MOV W4, W8
MOV W3, W8
L_aes_setkey_dec30:
L_aes_setkey_dec30:
; ret start address is: 16 (W8)
; ret start address is: 16 (W8)
; i start address is: 18 (W9)
; i start address is: 18 (W9)
; SK start address is: 26 (W13)
; SK start address is: 26 (W13)
MOV [W14+0], W0
MOV [W14+0], W0
CP W0, #4
CP W0, #4
BRA LT L__aes_setkey_dec92
BRA LT L__aes_setkey_dec92
GOTO L_aes_setkey_dec31
GOTO L_aes_setkey_dec31
L__aes_setkey_dec92:
L__aes_setkey_dec92:
;aes.c,640 :: *RK++ = RT0[ FSb[ ( *SK ) & 0xFF ] ] ^
;aes.c,640 :: *RK++ = RT0[ FSb[ ( *SK ) & 0xFF ] ] ^
MOV.D [W13], W2
MOV #255, W0
MOV #255, W0
MOV #0, W1
MOV #0, W1
AND W0, [W13++], W2
AND W2, W0, W2
AND W1, [W13--], W3
AND W3, W1, W3
MOV #lo_addr(aes_FSb), W0
MOV #lo_addr(aes_FSb), W0
ADD W0, W2, W0
ADD W0, W2, W0
MOV.B [W0], W0
MOV.B [W0], W0
ZE W0, W0
ZE W0, W0
SL W0, #2, W1
SL W0, #2, W1
MOV #lo_addr(aes_RT0), W0
MOV #lo_addr(aes_RT0), W0
ADD W0, W1, W4
ADD W0, W1, W4
;aes.c,641 :: RT1[ FSb[ ( *SK >> 8 ) & 0xFF ] ] ^
;aes.c,641 :: RT1[ FSb[ ( *SK >> 8 ) & 0xFF ] ] ^
MOV.D [W13], W0
MOV.D [W13], W0
LSR W0, #8, W2
LSR W0, #8, W2
SL W1, #8, W3
SL W1, #8, W3
IOR W2, W3, W2
IOR W2, W3, W2
LSR W1, #8, W3
LSR W1, #8, W3
MOV #255, W0
MOV #255, W0
MOV #0, W1
MOV #0, W1
AND W2, W0, W2
AND W2, W0, W2
AND W3, W1, W3
AND W3, W1, W3
MOV #lo_addr(aes_FSb), W0
MOV #lo_addr(aes_FSb), W0
ADD W0, W2, W0
ADD W0, W2, W0
MOV.B [W0], W0
MOV.B [W0], W0
ZE W0, W0
ZE W0, W0
SL W0, #2, W1
SL W0, #2, W1
MOV #lo_addr(aes_RT1), W0
MOV #lo_addr(aes_RT1), W0
ADD W0, W1, W2
ADD W0, W1, W2
MOV.D [W2], W0
MOV.D [W2], W0
XOR W0, [W4++], W6
XOR W0, [W4++], W6
XOR W1, [W4--], W7
XOR W1, [W4--], W7
;aes.c,642 :: RT2[ FSb[ ( *SK >> 16 ) & 0xFF ] ] ^
;aes.c,642 :: RT2[ FSb[ ( *SK >> 16 ) & 0xFF ] ] ^
MOV [++W13], W2
MOV.D [W13], W0
MOV W1, W2
CLR W3
CLR W3
DEC2 W13
MOV #255, W0
MOV #255, W0
MOV #0, W1
MOV #0, W1
AND W2, W0, W2
AND W2, W0, W2
AND W3, W1, W3
AND W3, W1, W3
MOV #lo_addr(aes_FSb), W0
MOV #lo_addr(aes_FSb), W0
ADD W0, W2, W0
ADD W0, W2, W0
MOV.B [W0], W0
MOV.B [W0], W0
ZE W0, W0
ZE W0, W0
SL W0, #2, W1
SL W0, #2, W1
MOV #lo_addr(aes_RT2), W0
MOV #lo_addr(aes_RT2), W0
ADD W0, W1, W0
ADD W0, W1, W0
XOR W6, [W0++], W4
XOR W6, [W0++], W4
XOR W7, [W0--], W5
XOR W7, [W0--], W5
;aes.c,643 :: RT3[ FSb[ ( *SK >> 24 ) & 0xFF ] ];
;aes.c,643 :: RT3[ FSb[ ( *SK >> 24 ) & 0xFF ] ];
MOV.D [W13], W2
MOV.D [W13], W0
LSR W3, #8, W2
LSR W1, #8, W2
CLR W3
CLR W3
MOV #255, W0
MOV #255, W0
MOV #0, W1
MOV #0, W1
AND W2, W0, W2
AND W2, W0, W2
AND W3, W1, W3
AND W3, W1, W3
MOV #lo_addr(aes_FSb), W0
MOV #lo_addr(aes_FSb), W0
ADD W0, W2, W0
ADD W0, W2, W0
MOV.B [W0], W0
MOV.B [W0], W0
ZE W0, W0
ZE W0, W0
SL W0, #2, W1
SL W0, #2, W1
MOV #lo_addr(aes_RT3), W0
MOV #lo_addr(aes_RT3), W0
ADD W0, W1, W1
ADD W0, W1, W1
MOV [W14+278], W0
MOV [W14+278], W0
XOR W4, [W1++], [W0++]
XOR W4, [W1++], [W0++]
XOR W5, [W1--], [W0--]
XOR W5, [W1--], [W0--]
MOV [W14+278], W1
MOV [W14+278], W1
MOV #278, W0
MOV #278, W0
ADD W14, W0, W0
ADD W14, W0, W0
ADD W1, #4, [W0]
ADD W1, #4, [W0]
;aes.c,638 :: for( j = 0; j < 4; j++, SK++ )
;aes.c,638 :: for( j = 0; j < 4; j++, SK++ )
MOV [W14+0], W1
MOV [W14+0], W1
ADD W14, #0, W0
ADD W14, #0, W0
ADD W1, #1, [W0]
ADD W1, #1, [W0]
; SK start address is: 0 (W0)
; SK start address is: 0 (W0)
ADD W13, #4, W0
ADD W13, #4, W0
; SK end address is: 26 (W13)
; SK end address is: 26 (W13)
;aes.c,644 :: }
;aes.c,644 :: }
MOV W0, W13
MOV W0, W13
; SK end address is: 0 (W0)
; SK end address is: 0 (W0)
GOTO L_aes_setkey_dec30
GOTO L_aes_setkey_dec30
L_aes_setkey_dec31:
L_aes_setkey_dec31:
;aes.c,636 :: for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 )
;aes.c,636 :: for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 )
; SK start address is: 26 (W13)
; SK start address is: 26 (W13)
DEC W9
DEC W9
MOV #32, W0
MOV #32, W0
SUB W13, W0, W13
SUB W13, W0, W13
;aes.c,645 :: }
;aes.c,645 :: }
MOV W8, W3
MOV W8, W4
; ret end address is: 16 (W8)
; ret end address is: 16 (W8)
; i end address is: 18 (W9)
; i end address is: 18 (W9)
GOTO L_aes_setkey_dec27
GOTO L_aes_setkey_dec27
L_aes_setkey_dec28:
L_aes_setkey_dec28:
;aes.c,647 :: *RK++ = *SK++;
;aes.c,647 :: *RK++ = *SK++;
; ret start address is: 6 (W3)
; ret start address is: 8 (W4)
MOV [W13++], W1
MOV [W13--], W2
MOV [W14+278], W0
MOV [W14+278], W0
MOV [W13++], [W0++]
MOV W1, [W0++]
MOV [W13--], [W0--]
MOV W2, [W0--]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
MOV W1, [W14+278]
MOV W3, [W14+278]
ADD W13, #4, W0
ADD W13, #4, W2
; SK end address is: 26 (W13)
; SK end address is: 26 (W13)
; SK start address is: 4 (W2)
; SK start address is: 10 (W5)
MOV W0, W2
MOV W2, W5
;aes.c,648 :: *RK++ = *SK++;
;aes.c,648 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
MOV W1, [W14+278]
MOV W3, [W14+278]
ADD W2, #4, W0
ADD W5, #4, W2
MOV W0, W2
MOV W2, W5
;aes.c,649 :: *RK++ = *SK++;
;aes.c,649 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
MOV [W14+278], W0
MOV [W14+278], W0
ADD W0, #4, W1
ADD W0, #4, W3
ADD W2, #4, W0
ADD W5, #4, W2
; SK end address is: 4 (W2)
; SK end address is: 10 (W5)
;aes.c,650 :: *RK++ = *SK++;
;aes.c,650 :: *RK++ = *SK++;
MOV [W0++], [W1++]
MOV.D [W2], W0
MOV [W0--], [W1--]
MOV.D W0, [W3]
; ret end address is: 6 (W3)
; ret end address is: 8 (W4)
MOV W4, W3
;aes.c,652 :: exit:
;aes.c,652 :: exit:
___aes_setkey_dec_exit:
___aes_setkey_dec_exit:
;aes.c,653 :: aes_free( &cty );
;aes.c,653 :: aes_free( &cty );
; ret start address is: 6 (W3)
; ret start address is: 6 (W3)
ADD W14, #2, W0
ADD W14, #2, W0
PUSH.D W10
PUSH.D W10
MOV W0, W10
MOV W0, W10
CALL _aes_free
CALL _aes_free
POP.D W10
POP.D W10
;aes.c,655 :: return( ret );
;aes.c,655 :: return( ret );
MOV W3, W0
MOV W3, W0
; ret end address is: 6 (W3)
; ret end address is: 6 (W3)
;aes.c,656 :: }
;aes.c,656 :: }
L_end_aes_setkey_dec:
L_end_aes_setkey_dec:
ULNK
ULNK
RETURN
RETURN
; end of _aes_setkey_dec
; end of _aes_setkey_dec