Untitled diff

Created Diff never expires
63 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
256 lines
69 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
262 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