	.file	"569792.c"
	.intel_syntax noprefix
	.text
	.data
	.align 32
	.type	des_SPtrans, @object
	.size	des_SPtrans, 4096
des_SPtrans:
	.quad	8520192
	.quad	131072
	.quad	2155872256
	.quad	2156003840
	.quad	8388608
	.quad	2147615232
	.quad	2147614720
	.quad	2155872256
	.quad	2147615232
	.quad	8520192
	.quad	8519680
	.quad	2147484160
	.quad	2155872768
	.quad	8388608
	.quad	0
	.quad	2147614720
	.quad	131072
	.quad	2147483648
	.quad	8389120
	.quad	131584
	.quad	2156003840
	.quad	8519680
	.quad	2147484160
	.quad	8389120
	.quad	2147483648
	.quad	512
	.quad	131584
	.quad	2156003328
	.quad	512
	.quad	2155872768
	.quad	2156003328
	.quad	0
	.quad	0
	.quad	2156003840
	.quad	8389120
	.quad	2147614720
	.quad	8520192
	.quad	131072
	.quad	2147484160
	.quad	8389120
	.quad	2156003328
	.quad	512
	.quad	131584
	.quad	2155872256
	.quad	2147615232
	.quad	2147483648
	.quad	2155872256
	.quad	8519680
	.quad	2156003840
	.quad	131584
	.quad	8519680
	.quad	2155872768
	.quad	8388608
	.quad	2147484160
	.quad	2147614720
	.quad	0
	.quad	131072
	.quad	8388608
	.quad	2155872768
	.quad	8520192
	.quad	2147483648
	.quad	2156003328
	.quad	512
	.quad	2147615232
	.quad	268705796
	.quad	0
	.quad	270336
	.quad	268697600
	.quad	268435460
	.quad	8196
	.quad	268443648
	.quad	270336
	.quad	8192
	.quad	268697604
	.quad	4
	.quad	268443648
	.quad	262148
	.quad	268705792
	.quad	268697600
	.quad	4
	.quad	262144
	.quad	268443652
	.quad	268697604
	.quad	8192
	.quad	270340
	.quad	268435456
	.quad	0
	.quad	262148
	.quad	268443652
	.quad	270340
	.quad	268705792
	.quad	268435460
	.quad	268435456
	.quad	262144
	.quad	8196
	.quad	268705796
	.quad	262148
	.quad	268705792
	.quad	268443648
	.quad	270340
	.quad	268705796
	.quad	262148
	.quad	268435460
	.quad	0
	.quad	268435456
	.quad	8196
	.quad	262144
	.quad	268697604
	.quad	8192
	.quad	268435456
	.quad	270340
	.quad	268443652
	.quad	268705792
	.quad	8192
	.quad	0
	.quad	268435460
	.quad	4
	.quad	268705796
	.quad	270336
	.quad	268697600
	.quad	268697604
	.quad	262144
	.quad	8196
	.quad	268443648
	.quad	268443652
	.quad	4
	.quad	268697600
	.quad	270336
	.quad	1090519040
	.quad	16842816
	.quad	64
	.quad	1090519104
	.quad	1073807360
	.quad	16777216
	.quad	1090519104
	.quad	65600
	.quad	16777280
	.quad	65536
	.quad	16842752
	.quad	1073741824
	.quad	1090584640
	.quad	1073741888
	.quad	1073741824
	.quad	1090584576
	.quad	0
	.quad	1073807360
	.quad	16842816
	.quad	64
	.quad	1073741888
	.quad	1090584640
	.quad	65536
	.quad	1090519040
	.quad	1090584576
	.quad	16777280
	.quad	1073807424
	.quad	16842752
	.quad	65600
	.quad	0
	.quad	16777216
	.quad	1073807424
	.quad	16842816
	.quad	64
	.quad	1073741824
	.quad	65536
	.quad	1073741888
	.quad	1073807360
	.quad	16842752
	.quad	1090519104
	.quad	0
	.quad	16842816
	.quad	65600
	.quad	1090584576
	.quad	1073807360
	.quad	16777216
	.quad	1090584640
	.quad	1073741824
	.quad	1073807424
	.quad	1090519040
	.quad	16777216
	.quad	1090584640
	.quad	65536
	.quad	16777280
	.quad	1090519104
	.quad	65600
	.quad	16777280
	.quad	0
	.quad	1090584576
	.quad	1073741888
	.quad	1090519040
	.quad	1073807424
	.quad	64
	.quad	16842752
	.quad	1049602
	.quad	67109888
	.quad	2
	.quad	68158466
	.quad	0
	.quad	68157440
	.quad	67109890
	.quad	1048578
	.quad	68158464
	.quad	67108866
	.quad	67108864
	.quad	1026
	.quad	67108866
	.quad	1049602
	.quad	1048576
	.quad	67108864
	.quad	68157442
	.quad	1049600
	.quad	1024
	.quad	2
	.quad	1049600
	.quad	67109890
	.quad	68157440
	.quad	1024
	.quad	1026
	.quad	0
	.quad	1048578
	.quad	68158464
	.quad	67109888
	.quad	68157442
	.quad	68158466
	.quad	1048576
	.quad	68157442
	.quad	1026
	.quad	1048576
	.quad	67108866
	.quad	1049600
	.quad	67109888
	.quad	2
	.quad	68157440
	.quad	67109890
	.quad	0
	.quad	1024
	.quad	1048578
	.quad	0
	.quad	68157442
	.quad	68158464
	.quad	1024
	.quad	67108864
	.quad	68158466
	.quad	1049602
	.quad	1048576
	.quad	68158466
	.quad	2
	.quad	67109888
	.quad	1049602
	.quad	1048578
	.quad	1049600
	.quad	68157440
	.quad	67109890
	.quad	1026
	.quad	67108864
	.quad	67108866
	.quad	68158464
	.quad	33554432
	.quad	16384
	.quad	256
	.quad	33571080
	.quad	33570824
	.quad	33554688
	.quad	16648
	.quad	33570816
	.quad	16384
	.quad	8
	.quad	33554440
	.quad	16640
	.quad	33554696
	.quad	33570824
	.quad	33571072
	.quad	0
	.quad	16640
	.quad	33554432
	.quad	16392
	.quad	264
	.quad	33554688
	.quad	16648
	.quad	0
	.quad	33554440
	.quad	8
	.quad	33554696
	.quad	33571080
	.quad	16392
	.quad	33570816
	.quad	256
	.quad	264
	.quad	33571072
	.quad	33571072
	.quad	33554696
	.quad	16392
	.quad	33570816
	.quad	16384
	.quad	8
	.quad	33554440
	.quad	33554688
	.quad	33554432
	.quad	16640
	.quad	33571080
	.quad	0
	.quad	16648
	.quad	33554432
	.quad	256
	.quad	16392
	.quad	33554696
	.quad	256
	.quad	0
	.quad	33571080
	.quad	33570824
	.quad	33571072
	.quad	264
	.quad	16384
	.quad	16640
	.quad	33570824
	.quad	33554688
	.quad	264
	.quad	8
	.quad	16648
	.quad	33570816
	.quad	33554440
	.quad	536870928
	.quad	524304
	.quad	0
	.quad	537397248
	.quad	524304
	.quad	2048
	.quad	536872976
	.quad	524288
	.quad	2064
	.quad	537397264
	.quad	526336
	.quad	536870912
	.quad	536872960
	.quad	536870928
	.quad	537395200
	.quad	526352
	.quad	524288
	.quad	536872976
	.quad	537395216
	.quad	0
	.quad	2048
	.quad	16
	.quad	537397248
	.quad	537395216
	.quad	537397264
	.quad	537395200
	.quad	536870912
	.quad	2064
	.quad	16
	.quad	526336
	.quad	526352
	.quad	536872960
	.quad	2064
	.quad	536870912
	.quad	536872960
	.quad	526352
	.quad	537397248
	.quad	524304
	.quad	0
	.quad	536872960
	.quad	536870912
	.quad	2048
	.quad	537395216
	.quad	524288
	.quad	524304
	.quad	537397264
	.quad	526336
	.quad	16
	.quad	537397264
	.quad	526336
	.quad	524288
	.quad	536872976
	.quad	536870928
	.quad	537395200
	.quad	526352
	.quad	0
	.quad	2048
	.quad	536870928
	.quad	536872976
	.quad	537397248
	.quad	537395200
	.quad	2064
	.quad	16
	.quad	537395216
	.quad	4096
	.quad	128
	.quad	4194432
	.quad	4194305
	.quad	4198529
	.quad	4097
	.quad	4224
	.quad	0
	.quad	4194304
	.quad	4194433
	.quad	129
	.quad	4198400
	.quad	1
	.quad	4198528
	.quad	4198400
	.quad	129
	.quad	4194433
	.quad	4096
	.quad	4097
	.quad	4198529
	.quad	0
	.quad	4194432
	.quad	4194305
	.quad	4224
	.quad	4198401
	.quad	4225
	.quad	4198528
	.quad	1
	.quad	4225
	.quad	4198401
	.quad	128
	.quad	4194304
	.quad	4225
	.quad	4198400
	.quad	4198401
	.quad	129
	.quad	4096
	.quad	128
	.quad	4194304
	.quad	4198401
	.quad	4194433
	.quad	4225
	.quad	4224
	.quad	0
	.quad	128
	.quad	4194305
	.quad	1
	.quad	4194432
	.quad	0
	.quad	4194433
	.quad	4194432
	.quad	4224
	.quad	129
	.quad	4096
	.quad	4198529
	.quad	4194304
	.quad	4198528
	.quad	1
	.quad	4097
	.quad	4198529
	.quad	4194305
	.quad	4198528
	.quad	4198400
	.quad	4097
	.quad	136314912
	.quad	136347648
	.quad	32800
	.quad	0
	.quad	134250496
	.quad	2097184
	.quad	136314880
	.quad	136347680
	.quad	32
	.quad	134217728
	.quad	2129920
	.quad	32800
	.quad	2129952
	.quad	134250528
	.quad	134217760
	.quad	136314880
	.quad	32768
	.quad	2129952
	.quad	2097184
	.quad	134250496
	.quad	136347680
	.quad	134217760
	.quad	0
	.quad	2129920
	.quad	134217728
	.quad	2097152
	.quad	134250528
	.quad	136314912
	.quad	2097152
	.quad	32768
	.quad	136347648
	.quad	32
	.quad	2097152
	.quad	32768
	.quad	134217760
	.quad	136347680
	.quad	32800
	.quad	134217728
	.quad	0
	.quad	2129920
	.quad	136314912
	.quad	134250528
	.quad	134250496
	.quad	2097184
	.quad	136347648
	.quad	32
	.quad	2097184
	.quad	134250496
	.quad	136347680
	.quad	2097152
	.quad	136314880
	.quad	134217760
	.quad	2129920
	.quad	32800
	.quad	134250528
	.quad	136314880
	.quad	32
	.quad	136347648
	.quad	2129952
	.quad	0
	.quad	134217728
	.quad	136314912
	.quad	32768
	.quad	2129952
	.align 32
	.type	des_skb, @object
	.size	des_skb, 4096
des_skb:
	.quad	0
	.quad	16
	.quad	536870912
	.quad	536870928
	.quad	65536
	.quad	65552
	.quad	536936448
	.quad	536936464
	.quad	2048
	.quad	2064
	.quad	536872960
	.quad	536872976
	.quad	67584
	.quad	67600
	.quad	536938496
	.quad	536938512
	.quad	32
	.quad	48
	.quad	536870944
	.quad	536870960
	.quad	65568
	.quad	65584
	.quad	536936480
	.quad	536936496
	.quad	2080
	.quad	2096
	.quad	536872992
	.quad	536873008
	.quad	67616
	.quad	67632
	.quad	536938528
	.quad	536938544
	.quad	524288
	.quad	524304
	.quad	537395200
	.quad	537395216
	.quad	589824
	.quad	589840
	.quad	537460736
	.quad	537460752
	.quad	526336
	.quad	526352
	.quad	537397248
	.quad	537397264
	.quad	591872
	.quad	591888
	.quad	537462784
	.quad	537462800
	.quad	524320
	.quad	524336
	.quad	537395232
	.quad	537395248
	.quad	589856
	.quad	589872
	.quad	537460768
	.quad	537460784
	.quad	526368
	.quad	526384
	.quad	537397280
	.quad	537397296
	.quad	591904
	.quad	591920
	.quad	537462816
	.quad	537462832
	.quad	0
	.quad	33554432
	.quad	8192
	.quad	33562624
	.quad	2097152
	.quad	35651584
	.quad	2105344
	.quad	35659776
	.quad	4
	.quad	33554436
	.quad	8196
	.quad	33562628
	.quad	2097156
	.quad	35651588
	.quad	2105348
	.quad	35659780
	.quad	1024
	.quad	33555456
	.quad	9216
	.quad	33563648
	.quad	2098176
	.quad	35652608
	.quad	2106368
	.quad	35660800
	.quad	1028
	.quad	33555460
	.quad	9220
	.quad	33563652
	.quad	2098180
	.quad	35652612
	.quad	2106372
	.quad	35660804
	.quad	268435456
	.quad	301989888
	.quad	268443648
	.quad	301998080
	.quad	270532608
	.quad	304087040
	.quad	270540800
	.quad	304095232
	.quad	268435460
	.quad	301989892
	.quad	268443652
	.quad	301998084
	.quad	270532612
	.quad	304087044
	.quad	270540804
	.quad	304095236
	.quad	268436480
	.quad	301990912
	.quad	268444672
	.quad	301999104
	.quad	270533632
	.quad	304088064
	.quad	270541824
	.quad	304096256
	.quad	268436484
	.quad	301990916
	.quad	268444676
	.quad	301999108
	.quad	270533636
	.quad	304088068
	.quad	270541828
	.quad	304096260
	.quad	0
	.quad	1
	.quad	262144
	.quad	262145
	.quad	16777216
	.quad	16777217
	.quad	17039360
	.quad	17039361
	.quad	2
	.quad	3
	.quad	262146
	.quad	262147
	.quad	16777218
	.quad	16777219
	.quad	17039362
	.quad	17039363
	.quad	512
	.quad	513
	.quad	262656
	.quad	262657
	.quad	16777728
	.quad	16777729
	.quad	17039872
	.quad	17039873
	.quad	514
	.quad	515
	.quad	262658
	.quad	262659
	.quad	16777730
	.quad	16777731
	.quad	17039874
	.quad	17039875
	.quad	134217728
	.quad	134217729
	.quad	134479872
	.quad	134479873
	.quad	150994944
	.quad	150994945
	.quad	151257088
	.quad	151257089
	.quad	134217730
	.quad	134217731
	.quad	134479874
	.quad	134479875
	.quad	150994946
	.quad	150994947
	.quad	151257090
	.quad	151257091
	.quad	134218240
	.quad	134218241
	.quad	134480384
	.quad	134480385
	.quad	150995456
	.quad	150995457
	.quad	151257600
	.quad	151257601
	.quad	134218242
	.quad	134218243
	.quad	134480386
	.quad	134480387
	.quad	150995458
	.quad	150995459
	.quad	151257602
	.quad	151257603
	.quad	0
	.quad	1048576
	.quad	256
	.quad	1048832
	.quad	8
	.quad	1048584
	.quad	264
	.quad	1048840
	.quad	4096
	.quad	1052672
	.quad	4352
	.quad	1052928
	.quad	4104
	.quad	1052680
	.quad	4360
	.quad	1052936
	.quad	67108864
	.quad	68157440
	.quad	67109120
	.quad	68157696
	.quad	67108872
	.quad	68157448
	.quad	67109128
	.quad	68157704
	.quad	67112960
	.quad	68161536
	.quad	67113216
	.quad	68161792
	.quad	67112968
	.quad	68161544
	.quad	67113224
	.quad	68161800
	.quad	131072
	.quad	1179648
	.quad	131328
	.quad	1179904
	.quad	131080
	.quad	1179656
	.quad	131336
	.quad	1179912
	.quad	135168
	.quad	1183744
	.quad	135424
	.quad	1184000
	.quad	135176
	.quad	1183752
	.quad	135432
	.quad	1184008
	.quad	67239936
	.quad	68288512
	.quad	67240192
	.quad	68288768
	.quad	67239944
	.quad	68288520
	.quad	67240200
	.quad	68288776
	.quad	67244032
	.quad	68292608
	.quad	67244288
	.quad	68292864
	.quad	67244040
	.quad	68292616
	.quad	67244296
	.quad	68292872
	.quad	0
	.quad	268435456
	.quad	65536
	.quad	268500992
	.quad	4
	.quad	268435460
	.quad	65540
	.quad	268500996
	.quad	536870912
	.quad	805306368
	.quad	536936448
	.quad	805371904
	.quad	536870916
	.quad	805306372
	.quad	536936452
	.quad	805371908
	.quad	1048576
	.quad	269484032
	.quad	1114112
	.quad	269549568
	.quad	1048580
	.quad	269484036
	.quad	1114116
	.quad	269549572
	.quad	537919488
	.quad	806354944
	.quad	537985024
	.quad	806420480
	.quad	537919492
	.quad	806354948
	.quad	537985028
	.quad	806420484
	.quad	4096
	.quad	268439552
	.quad	69632
	.quad	268505088
	.quad	4100
	.quad	268439556
	.quad	69636
	.quad	268505092
	.quad	536875008
	.quad	805310464
	.quad	536940544
	.quad	805376000
	.quad	536875012
	.quad	805310468
	.quad	536940548
	.quad	805376004
	.quad	1052672
	.quad	269488128
	.quad	1118208
	.quad	269553664
	.quad	1052676
	.quad	269488132
	.quad	1118212
	.quad	269553668
	.quad	537923584
	.quad	806359040
	.quad	537989120
	.quad	806424576
	.quad	537923588
	.quad	806359044
	.quad	537989124
	.quad	806424580
	.quad	0
	.quad	134217728
	.quad	8
	.quad	134217736
	.quad	1024
	.quad	134218752
	.quad	1032
	.quad	134218760
	.quad	131072
	.quad	134348800
	.quad	131080
	.quad	134348808
	.quad	132096
	.quad	134349824
	.quad	132104
	.quad	134349832
	.quad	1
	.quad	134217729
	.quad	9
	.quad	134217737
	.quad	1025
	.quad	134218753
	.quad	1033
	.quad	134218761
	.quad	131073
	.quad	134348801
	.quad	131081
	.quad	134348809
	.quad	132097
	.quad	134349825
	.quad	132105
	.quad	134349833
	.quad	33554432
	.quad	167772160
	.quad	33554440
	.quad	167772168
	.quad	33555456
	.quad	167773184
	.quad	33555464
	.quad	167773192
	.quad	33685504
	.quad	167903232
	.quad	33685512
	.quad	167903240
	.quad	33686528
	.quad	167904256
	.quad	33686536
	.quad	167904264
	.quad	33554433
	.quad	167772161
	.quad	33554441
	.quad	167772169
	.quad	33555457
	.quad	167773185
	.quad	33555465
	.quad	167773193
	.quad	33685505
	.quad	167903233
	.quad	33685513
	.quad	167903241
	.quad	33686529
	.quad	167904257
	.quad	33686537
	.quad	167904265
	.quad	0
	.quad	256
	.quad	524288
	.quad	524544
	.quad	16777216
	.quad	16777472
	.quad	17301504
	.quad	17301760
	.quad	16
	.quad	272
	.quad	524304
	.quad	524560
	.quad	16777232
	.quad	16777488
	.quad	17301520
	.quad	17301776
	.quad	2097152
	.quad	2097408
	.quad	2621440
	.quad	2621696
	.quad	18874368
	.quad	18874624
	.quad	19398656
	.quad	19398912
	.quad	2097168
	.quad	2097424
	.quad	2621456
	.quad	2621712
	.quad	18874384
	.quad	18874640
	.quad	19398672
	.quad	19398928
	.quad	512
	.quad	768
	.quad	524800
	.quad	525056
	.quad	16777728
	.quad	16777984
	.quad	17302016
	.quad	17302272
	.quad	528
	.quad	784
	.quad	524816
	.quad	525072
	.quad	16777744
	.quad	16778000
	.quad	17302032
	.quad	17302288
	.quad	2097664
	.quad	2097920
	.quad	2621952
	.quad	2622208
	.quad	18874880
	.quad	18875136
	.quad	19399168
	.quad	19399424
	.quad	2097680
	.quad	2097936
	.quad	2621968
	.quad	2622224
	.quad	18874896
	.quad	18875152
	.quad	19399184
	.quad	19399440
	.quad	0
	.quad	67108864
	.quad	262144
	.quad	67371008
	.quad	2
	.quad	67108866
	.quad	262146
	.quad	67371010
	.quad	8192
	.quad	67117056
	.quad	270336
	.quad	67379200
	.quad	8194
	.quad	67117058
	.quad	270338
	.quad	67379202
	.quad	32
	.quad	67108896
	.quad	262176
	.quad	67371040
	.quad	34
	.quad	67108898
	.quad	262178
	.quad	67371042
	.quad	8224
	.quad	67117088
	.quad	270368
	.quad	67379232
	.quad	8226
	.quad	67117090
	.quad	270370
	.quad	67379234
	.quad	2048
	.quad	67110912
	.quad	264192
	.quad	67373056
	.quad	2050
	.quad	67110914
	.quad	264194
	.quad	67373058
	.quad	10240
	.quad	67119104
	.quad	272384
	.quad	67381248
	.quad	10242
	.quad	67119106
	.quad	272386
	.quad	67381250
	.quad	2080
	.quad	67110944
	.quad	264224
	.quad	67373088
	.quad	2082
	.quad	67110946
	.quad	264226
	.quad	67373090
	.quad	10272
	.quad	67119136
	.quad	272416
	.quad	67381280
	.quad	10274
	.quad	67119138
	.quad	272418
	.quad	67381282
	.text
	.type	key7TOkey8, @function
key7TOkey8:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 6
	and	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 2
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 5
	and	eax, 96
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 3
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	and	eax, 112
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 3
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 3
	and	eax, 120
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	shr	al, 5
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 4
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 2
	and	eax, 124
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	shr	al, 6
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 5
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, 126
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 7
	or	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 6
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 6
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 7
	and	edx, 127
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2
.L3:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	add	edx, edx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -4[rbp], 1
.L2:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L3
	mov	rax, QWORD PTR -32[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	key7TOkey8, .-key7TOkey8
	.local	DES_Keys
	.comm	DES_Keys,128,64
	.type	DES_createkeys, @function
DES_createkeys:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	key7TOkey8
	lea	rax, DES_Keys[rip]
	mov	QWORD PTR -48[rbp], rax
	lea	rax, -16[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 4
	xor	rax, QWORD PTR -64[rbp]
	and	eax, 252645135
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	xor	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	sal	rax, 18
	xor	rax, QWORD PTR -64[rbp]
	and	eax, 3435921408
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 18
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 18
	xor	rax, QWORD PTR -56[rbp]
	and	eax, 3435921408
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 18
	xor	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax
	xor	rax, QWORD PTR -64[rbp]
	and	eax, 1431655765
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rax
	xor	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 8
	xor	rax, QWORD PTR -56[rbp]
	and	eax, 16711935
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 8
	xor	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax
	xor	rax, QWORD PTR -64[rbp]
	and	eax, 1431655765
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rax
	xor	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 16
	and	eax, 16711680
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 65280
	or	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 16
	movzx	eax, al
	or	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 4
	and	eax, 251658240
	or	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	and	QWORD PTR -64[rbp], 268435455
	mov	DWORD PTR -68[rbp], 0
	jmp	.L6
.L9:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, shifts.0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L7
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	sal	rax, 26
	or	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 26
	or	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L8
.L7:
	mov	rax, QWORD PTR -64[rbp]
	shr	rax
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	sal	rax, 27
	or	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 27
	or	rax, rdx
	mov	QWORD PTR -56[rbp], rax
.L8:
	and	QWORD PTR -64[rbp], 268435455
	and	QWORD PTR -56[rbp], 268435455
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 6
	and	eax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 7
	and	eax, 60
	or	rax, rdx
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 13
	and	eax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 14
	and	eax, 48
	or	rax, rdx
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 20
	and	eax, 1
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 21
	and	eax, 6
	or	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 22
	and	eax, 56
	or	rax, rdx
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 7
	and	eax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 8
	and	eax, 60
	or	rax, rdx
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 15
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 21
	and	eax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 22
	and	eax, 48
	or	rax, rdx
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, des_skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, ax
	mov	rcx, rdx
	or	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, ecx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	and	eax, 4294901760
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 28
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, edx
	mov	QWORD PTR [rax], rdx
	add	DWORD PTR -68[rbp], 1
.L6:
	cmp	DWORD PTR -68[rbp], 15
	jle	.L9
	lea	rax, DES_Keys[rip]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L11
	call	__stack_chk_fail@PLT
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	DES_createkeys, .-DES_createkeys
	.globl	DES
	.type	DES, @function
DES:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	DES_createkeys
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -80[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 4
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 252645135
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 4
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 16
	xor	rax, QWORD PTR -40[rbp]
	and	eax, 65535
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 16
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 2
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 858993459
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 2
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 8
	xor	rax, QWORD PTR -40[rbp]
	and	eax, 16711935
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 8
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 1431655765
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rax
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 31
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 31
	or	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, 4294967295
	and	QWORD PTR -48[rbp], rax
	and	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L13
.L14:
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	xor	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	xor	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 28
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 63
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 8
	and	eax, 63
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 16
	and	eax, 63
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 24
	and	eax, 63
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 8
	and	eax, 63
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 16
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 24
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	xor	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 2
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	xor	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 2
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	xor	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 28
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 63
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 8
	and	eax, 63
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 16
	and	eax, 63
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 24
	and	eax, 63
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 8
	and	eax, 63
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 16
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 24
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, des_SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	xor	QWORD PTR -40[rbp], rax
	add	DWORD PTR -52[rbp], 4
.L13:
	cmp	DWORD PTR -52[rbp], 31
	jle	.L14
	mov	rax, QWORD PTR -48[rbp]
	shr	rax
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	sal	rax, 31
	or	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 31
	or	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	eax, 4294967295
	and	QWORD PTR -48[rbp], rax
	and	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 1431655765
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rax
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 8
	xor	rax, QWORD PTR -40[rbp]
	and	eax, 16711935
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 8
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 2
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 858993459
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 2
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 16
	xor	rax, QWORD PTR -40[rbp]
	and	eax, 65535
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 16
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 4
	xor	rax, QWORD PTR -48[rbp]
	and	eax, 252645135
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 4
	xor	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	rdx, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 16
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 24
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 16
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 24
	mov	rcx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -88[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	DES, .-DES
	.data
	.align 16
	.type	shifts.0, @object
	.size	shifts.0, 16
shifts.0:
	.string	""
	.string	""
	.string	"\001\001\001\001\001\001"
	.string	"\001\001\001\001\001\001"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"569792.c"
	.text
	.data
	.align	2
	.type	des_SPtrans, %object
	.size	des_SPtrans, 2048
des_SPtrans:
	.word	8520192
	.word	131072
	.word	-2139095040
	.word	-2138963456
	.word	8388608
	.word	-2147352064
	.word	-2147352576
	.word	-2139095040
	.word	-2147352064
	.word	8520192
	.word	8519680
	.word	-2147483136
	.word	-2139094528
	.word	8388608
	.word	0
	.word	-2147352576
	.word	131072
	.word	-2147483648
	.word	8389120
	.word	131584
	.word	-2138963456
	.word	8519680
	.word	-2147483136
	.word	8389120
	.word	-2147483648
	.word	512
	.word	131584
	.word	-2138963968
	.word	512
	.word	-2139094528
	.word	-2138963968
	.word	0
	.word	0
	.word	-2138963456
	.word	8389120
	.word	-2147352576
	.word	8520192
	.word	131072
	.word	-2147483136
	.word	8389120
	.word	-2138963968
	.word	512
	.word	131584
	.word	-2139095040
	.word	-2147352064
	.word	-2147483648
	.word	-2139095040
	.word	8519680
	.word	-2138963456
	.word	131584
	.word	8519680
	.word	-2139094528
	.word	8388608
	.word	-2147483136
	.word	-2147352576
	.word	0
	.word	131072
	.word	8388608
	.word	-2139094528
	.word	8520192
	.word	-2147483648
	.word	-2138963968
	.word	512
	.word	-2147352064
	.word	268705796
	.word	0
	.word	270336
	.word	268697600
	.word	268435460
	.word	8196
	.word	268443648
	.word	270336
	.word	8192
	.word	268697604
	.word	4
	.word	268443648
	.word	262148
	.word	268705792
	.word	268697600
	.word	4
	.word	262144
	.word	268443652
	.word	268697604
	.word	8192
	.word	270340
	.word	268435456
	.word	0
	.word	262148
	.word	268443652
	.word	270340
	.word	268705792
	.word	268435460
	.word	268435456
	.word	262144
	.word	8196
	.word	268705796
	.word	262148
	.word	268705792
	.word	268443648
	.word	270340
	.word	268705796
	.word	262148
	.word	268435460
	.word	0
	.word	268435456
	.word	8196
	.word	262144
	.word	268697604
	.word	8192
	.word	268435456
	.word	270340
	.word	268443652
	.word	268705792
	.word	8192
	.word	0
	.word	268435460
	.word	4
	.word	268705796
	.word	270336
	.word	268697600
	.word	268697604
	.word	262144
	.word	8196
	.word	268443648
	.word	268443652
	.word	4
	.word	268697600
	.word	270336
	.word	1090519040
	.word	16842816
	.word	64
	.word	1090519104
	.word	1073807360
	.word	16777216
	.word	1090519104
	.word	65600
	.word	16777280
	.word	65536
	.word	16842752
	.word	1073741824
	.word	1090584640
	.word	1073741888
	.word	1073741824
	.word	1090584576
	.word	0
	.word	1073807360
	.word	16842816
	.word	64
	.word	1073741888
	.word	1090584640
	.word	65536
	.word	1090519040
	.word	1090584576
	.word	16777280
	.word	1073807424
	.word	16842752
	.word	65600
	.word	0
	.word	16777216
	.word	1073807424
	.word	16842816
	.word	64
	.word	1073741824
	.word	65536
	.word	1073741888
	.word	1073807360
	.word	16842752
	.word	1090519104
	.word	0
	.word	16842816
	.word	65600
	.word	1090584576
	.word	1073807360
	.word	16777216
	.word	1090584640
	.word	1073741824
	.word	1073807424
	.word	1090519040
	.word	16777216
	.word	1090584640
	.word	65536
	.word	16777280
	.word	1090519104
	.word	65600
	.word	16777280
	.word	0
	.word	1090584576
	.word	1073741888
	.word	1090519040
	.word	1073807424
	.word	64
	.word	16842752
	.word	1049602
	.word	67109888
	.word	2
	.word	68158466
	.word	0
	.word	68157440
	.word	67109890
	.word	1048578
	.word	68158464
	.word	67108866
	.word	67108864
	.word	1026
	.word	67108866
	.word	1049602
	.word	1048576
	.word	67108864
	.word	68157442
	.word	1049600
	.word	1024
	.word	2
	.word	1049600
	.word	67109890
	.word	68157440
	.word	1024
	.word	1026
	.word	0
	.word	1048578
	.word	68158464
	.word	67109888
	.word	68157442
	.word	68158466
	.word	1048576
	.word	68157442
	.word	1026
	.word	1048576
	.word	67108866
	.word	1049600
	.word	67109888
	.word	2
	.word	68157440
	.word	67109890
	.word	0
	.word	1024
	.word	1048578
	.word	0
	.word	68157442
	.word	68158464
	.word	1024
	.word	67108864
	.word	68158466
	.word	1049602
	.word	1048576
	.word	68158466
	.word	2
	.word	67109888
	.word	1049602
	.word	1048578
	.word	1049600
	.word	68157440
	.word	67109890
	.word	1026
	.word	67108864
	.word	67108866
	.word	68158464
	.word	33554432
	.word	16384
	.word	256
	.word	33571080
	.word	33570824
	.word	33554688
	.word	16648
	.word	33570816
	.word	16384
	.word	8
	.word	33554440
	.word	16640
	.word	33554696
	.word	33570824
	.word	33571072
	.word	0
	.word	16640
	.word	33554432
	.word	16392
	.word	264
	.word	33554688
	.word	16648
	.word	0
	.word	33554440
	.word	8
	.word	33554696
	.word	33571080
	.word	16392
	.word	33570816
	.word	256
	.word	264
	.word	33571072
	.word	33571072
	.word	33554696
	.word	16392
	.word	33570816
	.word	16384
	.word	8
	.word	33554440
	.word	33554688
	.word	33554432
	.word	16640
	.word	33571080
	.word	0
	.word	16648
	.word	33554432
	.word	256
	.word	16392
	.word	33554696
	.word	256
	.word	0
	.word	33571080
	.word	33570824
	.word	33571072
	.word	264
	.word	16384
	.word	16640
	.word	33570824
	.word	33554688
	.word	264
	.word	8
	.word	16648
	.word	33570816
	.word	33554440
	.word	536870928
	.word	524304
	.word	0
	.word	537397248
	.word	524304
	.word	2048
	.word	536872976
	.word	524288
	.word	2064
	.word	537397264
	.word	526336
	.word	536870912
	.word	536872960
	.word	536870928
	.word	537395200
	.word	526352
	.word	524288
	.word	536872976
	.word	537395216
	.word	0
	.word	2048
	.word	16
	.word	537397248
	.word	537395216
	.word	537397264
	.word	537395200
	.word	536870912
	.word	2064
	.word	16
	.word	526336
	.word	526352
	.word	536872960
	.word	2064
	.word	536870912
	.word	536872960
	.word	526352
	.word	537397248
	.word	524304
	.word	0
	.word	536872960
	.word	536870912
	.word	2048
	.word	537395216
	.word	524288
	.word	524304
	.word	537397264
	.word	526336
	.word	16
	.word	537397264
	.word	526336
	.word	524288
	.word	536872976
	.word	536870928
	.word	537395200
	.word	526352
	.word	0
	.word	2048
	.word	536870928
	.word	536872976
	.word	537397248
	.word	537395200
	.word	2064
	.word	16
	.word	537395216
	.word	4096
	.word	128
	.word	4194432
	.word	4194305
	.word	4198529
	.word	4097
	.word	4224
	.word	0
	.word	4194304
	.word	4194433
	.word	129
	.word	4198400
	.word	1
	.word	4198528
	.word	4198400
	.word	129
	.word	4194433
	.word	4096
	.word	4097
	.word	4198529
	.word	0
	.word	4194432
	.word	4194305
	.word	4224
	.word	4198401
	.word	4225
	.word	4198528
	.word	1
	.word	4225
	.word	4198401
	.word	128
	.word	4194304
	.word	4225
	.word	4198400
	.word	4198401
	.word	129
	.word	4096
	.word	128
	.word	4194304
	.word	4198401
	.word	4194433
	.word	4225
	.word	4224
	.word	0
	.word	128
	.word	4194305
	.word	1
	.word	4194432
	.word	0
	.word	4194433
	.word	4194432
	.word	4224
	.word	129
	.word	4096
	.word	4198529
	.word	4194304
	.word	4198528
	.word	1
	.word	4097
	.word	4198529
	.word	4194305
	.word	4198528
	.word	4198400
	.word	4097
	.word	136314912
	.word	136347648
	.word	32800
	.word	0
	.word	134250496
	.word	2097184
	.word	136314880
	.word	136347680
	.word	32
	.word	134217728
	.word	2129920
	.word	32800
	.word	2129952
	.word	134250528
	.word	134217760
	.word	136314880
	.word	32768
	.word	2129952
	.word	2097184
	.word	134250496
	.word	136347680
	.word	134217760
	.word	0
	.word	2129920
	.word	134217728
	.word	2097152
	.word	134250528
	.word	136314912
	.word	2097152
	.word	32768
	.word	136347648
	.word	32
	.word	2097152
	.word	32768
	.word	134217760
	.word	136347680
	.word	32800
	.word	134217728
	.word	0
	.word	2129920
	.word	136314912
	.word	134250528
	.word	134250496
	.word	2097184
	.word	136347648
	.word	32
	.word	2097184
	.word	134250496
	.word	136347680
	.word	2097152
	.word	136314880
	.word	134217760
	.word	2129920
	.word	32800
	.word	134250528
	.word	136314880
	.word	32
	.word	136347648
	.word	2129952
	.word	0
	.word	134217728
	.word	136314912
	.word	32768
	.word	2129952
	.align	2
	.type	des_skb, %object
	.size	des_skb, 2048
des_skb:
	.word	0
	.word	16
	.word	536870912
	.word	536870928
	.word	65536
	.word	65552
	.word	536936448
	.word	536936464
	.word	2048
	.word	2064
	.word	536872960
	.word	536872976
	.word	67584
	.word	67600
	.word	536938496
	.word	536938512
	.word	32
	.word	48
	.word	536870944
	.word	536870960
	.word	65568
	.word	65584
	.word	536936480
	.word	536936496
	.word	2080
	.word	2096
	.word	536872992
	.word	536873008
	.word	67616
	.word	67632
	.word	536938528
	.word	536938544
	.word	524288
	.word	524304
	.word	537395200
	.word	537395216
	.word	589824
	.word	589840
	.word	537460736
	.word	537460752
	.word	526336
	.word	526352
	.word	537397248
	.word	537397264
	.word	591872
	.word	591888
	.word	537462784
	.word	537462800
	.word	524320
	.word	524336
	.word	537395232
	.word	537395248
	.word	589856
	.word	589872
	.word	537460768
	.word	537460784
	.word	526368
	.word	526384
	.word	537397280
	.word	537397296
	.word	591904
	.word	591920
	.word	537462816
	.word	537462832
	.word	0
	.word	33554432
	.word	8192
	.word	33562624
	.word	2097152
	.word	35651584
	.word	2105344
	.word	35659776
	.word	4
	.word	33554436
	.word	8196
	.word	33562628
	.word	2097156
	.word	35651588
	.word	2105348
	.word	35659780
	.word	1024
	.word	33555456
	.word	9216
	.word	33563648
	.word	2098176
	.word	35652608
	.word	2106368
	.word	35660800
	.word	1028
	.word	33555460
	.word	9220
	.word	33563652
	.word	2098180
	.word	35652612
	.word	2106372
	.word	35660804
	.word	268435456
	.word	301989888
	.word	268443648
	.word	301998080
	.word	270532608
	.word	304087040
	.word	270540800
	.word	304095232
	.word	268435460
	.word	301989892
	.word	268443652
	.word	301998084
	.word	270532612
	.word	304087044
	.word	270540804
	.word	304095236
	.word	268436480
	.word	301990912
	.word	268444672
	.word	301999104
	.word	270533632
	.word	304088064
	.word	270541824
	.word	304096256
	.word	268436484
	.word	301990916
	.word	268444676
	.word	301999108
	.word	270533636
	.word	304088068
	.word	270541828
	.word	304096260
	.word	0
	.word	1
	.word	262144
	.word	262145
	.word	16777216
	.word	16777217
	.word	17039360
	.word	17039361
	.word	2
	.word	3
	.word	262146
	.word	262147
	.word	16777218
	.word	16777219
	.word	17039362
	.word	17039363
	.word	512
	.word	513
	.word	262656
	.word	262657
	.word	16777728
	.word	16777729
	.word	17039872
	.word	17039873
	.word	514
	.word	515
	.word	262658
	.word	262659
	.word	16777730
	.word	16777731
	.word	17039874
	.word	17039875
	.word	134217728
	.word	134217729
	.word	134479872
	.word	134479873
	.word	150994944
	.word	150994945
	.word	151257088
	.word	151257089
	.word	134217730
	.word	134217731
	.word	134479874
	.word	134479875
	.word	150994946
	.word	150994947
	.word	151257090
	.word	151257091
	.word	134218240
	.word	134218241
	.word	134480384
	.word	134480385
	.word	150995456
	.word	150995457
	.word	151257600
	.word	151257601
	.word	134218242
	.word	134218243
	.word	134480386
	.word	134480387
	.word	150995458
	.word	150995459
	.word	151257602
	.word	151257603
	.word	0
	.word	1048576
	.word	256
	.word	1048832
	.word	8
	.word	1048584
	.word	264
	.word	1048840
	.word	4096
	.word	1052672
	.word	4352
	.word	1052928
	.word	4104
	.word	1052680
	.word	4360
	.word	1052936
	.word	67108864
	.word	68157440
	.word	67109120
	.word	68157696
	.word	67108872
	.word	68157448
	.word	67109128
	.word	68157704
	.word	67112960
	.word	68161536
	.word	67113216
	.word	68161792
	.word	67112968
	.word	68161544
	.word	67113224
	.word	68161800
	.word	131072
	.word	1179648
	.word	131328
	.word	1179904
	.word	131080
	.word	1179656
	.word	131336
	.word	1179912
	.word	135168
	.word	1183744
	.word	135424
	.word	1184000
	.word	135176
	.word	1183752
	.word	135432
	.word	1184008
	.word	67239936
	.word	68288512
	.word	67240192
	.word	68288768
	.word	67239944
	.word	68288520
	.word	67240200
	.word	68288776
	.word	67244032
	.word	68292608
	.word	67244288
	.word	68292864
	.word	67244040
	.word	68292616
	.word	67244296
	.word	68292872
	.word	0
	.word	268435456
	.word	65536
	.word	268500992
	.word	4
	.word	268435460
	.word	65540
	.word	268500996
	.word	536870912
	.word	805306368
	.word	536936448
	.word	805371904
	.word	536870916
	.word	805306372
	.word	536936452
	.word	805371908
	.word	1048576
	.word	269484032
	.word	1114112
	.word	269549568
	.word	1048580
	.word	269484036
	.word	1114116
	.word	269549572
	.word	537919488
	.word	806354944
	.word	537985024
	.word	806420480
	.word	537919492
	.word	806354948
	.word	537985028
	.word	806420484
	.word	4096
	.word	268439552
	.word	69632
	.word	268505088
	.word	4100
	.word	268439556
	.word	69636
	.word	268505092
	.word	536875008
	.word	805310464
	.word	536940544
	.word	805376000
	.word	536875012
	.word	805310468
	.word	536940548
	.word	805376004
	.word	1052672
	.word	269488128
	.word	1118208
	.word	269553664
	.word	1052676
	.word	269488132
	.word	1118212
	.word	269553668
	.word	537923584
	.word	806359040
	.word	537989120
	.word	806424576
	.word	537923588
	.word	806359044
	.word	537989124
	.word	806424580
	.word	0
	.word	134217728
	.word	8
	.word	134217736
	.word	1024
	.word	134218752
	.word	1032
	.word	134218760
	.word	131072
	.word	134348800
	.word	131080
	.word	134348808
	.word	132096
	.word	134349824
	.word	132104
	.word	134349832
	.word	1
	.word	134217729
	.word	9
	.word	134217737
	.word	1025
	.word	134218753
	.word	1033
	.word	134218761
	.word	131073
	.word	134348801
	.word	131081
	.word	134348809
	.word	132097
	.word	134349825
	.word	132105
	.word	134349833
	.word	33554432
	.word	167772160
	.word	33554440
	.word	167772168
	.word	33555456
	.word	167773184
	.word	33555464
	.word	167773192
	.word	33685504
	.word	167903232
	.word	33685512
	.word	167903240
	.word	33686528
	.word	167904256
	.word	33686536
	.word	167904264
	.word	33554433
	.word	167772161
	.word	33554441
	.word	167772169
	.word	33555457
	.word	167773185
	.word	33555465
	.word	167773193
	.word	33685505
	.word	167903233
	.word	33685513
	.word	167903241
	.word	33686529
	.word	167904257
	.word	33686537
	.word	167904265
	.word	0
	.word	256
	.word	524288
	.word	524544
	.word	16777216
	.word	16777472
	.word	17301504
	.word	17301760
	.word	16
	.word	272
	.word	524304
	.word	524560
	.word	16777232
	.word	16777488
	.word	17301520
	.word	17301776
	.word	2097152
	.word	2097408
	.word	2621440
	.word	2621696
	.word	18874368
	.word	18874624
	.word	19398656
	.word	19398912
	.word	2097168
	.word	2097424
	.word	2621456
	.word	2621712
	.word	18874384
	.word	18874640
	.word	19398672
	.word	19398928
	.word	512
	.word	768
	.word	524800
	.word	525056
	.word	16777728
	.word	16777984
	.word	17302016
	.word	17302272
	.word	528
	.word	784
	.word	524816
	.word	525072
	.word	16777744
	.word	16778000
	.word	17302032
	.word	17302288
	.word	2097664
	.word	2097920
	.word	2621952
	.word	2622208
	.word	18874880
	.word	18875136
	.word	19399168
	.word	19399424
	.word	2097680
	.word	2097936
	.word	2621968
	.word	2622224
	.word	18874896
	.word	18875152
	.word	19399184
	.word	19399440
	.word	0
	.word	67108864
	.word	262144
	.word	67371008
	.word	2
	.word	67108866
	.word	262146
	.word	67371010
	.word	8192
	.word	67117056
	.word	270336
	.word	67379200
	.word	8194
	.word	67117058
	.word	270338
	.word	67379202
	.word	32
	.word	67108896
	.word	262176
	.word	67371040
	.word	34
	.word	67108898
	.word	262178
	.word	67371042
	.word	8224
	.word	67117088
	.word	270368
	.word	67379232
	.word	8226
	.word	67117090
	.word	270370
	.word	67379234
	.word	2048
	.word	67110912
	.word	264192
	.word	67373056
	.word	2050
	.word	67110914
	.word	264194
	.word	67373058
	.word	10240
	.word	67119104
	.word	272384
	.word	67381248
	.word	10242
	.word	67119106
	.word	272386
	.word	67381250
	.word	2080
	.word	67110944
	.word	264224
	.word	67373088
	.word	2082
	.word	67110946
	.word	264226
	.word	67373090
	.word	10272
	.word	67119136
	.word	272416
	.word	67381280
	.word	10274
	.word	67119138
	.word	272418
	.word	67381282
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	key7TOkey8, %function
key7TOkey8:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #6
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #64
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #2
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #5
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #96
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #112
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #120
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #5
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #124
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #5
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #126
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #7
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #6
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	add	r3, r3, #7
	and	r2, r2, #127
	and	r2, r2, #255
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2
.L3:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	lsl	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L3
	ldr	r3, [fp, #-20]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	key7TOkey8, .-key7TOkey8
	.local	DES_Keys
	.comm	DES_Keys,128,64
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DES_createkeys, %function
DES_createkeys:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	key7TOkey8
	ldr	r3, .L12+4
	str	r3, [fp, #-36]
	sub	r3, fp, #16
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-44]
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	ldr	r2, [fp, #-44]
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	ldr	r2, [fp, #-44]
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-40]
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	ldr	r2, [fp, #-40]
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	ldr	r2, [fp, #-40]
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #4
	ldr	r3, [fp, #-44]
	eor	r2, r2, r3
	ldr	r3, .L12+8
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-24]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-40]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	lsl	r2, r3, #18
	ldr	r3, [fp, #-44]
	eor	r2, r2, r3
	ldr	r3, .L12+12
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-24]
	eor	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #18
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #18
	ldr	r3, [fp, #-40]
	eor	r2, r2, r3
	ldr	r3, .L12+12
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	eor	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #18
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-44]
	eor	r2, r2, r3
	ldr	r3, .L12+16
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-24]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-40]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-40]
	eor	r3, r3, r2
	bic	r3, r3, #-16777216
	bic	r3, r3, #65280
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-44]
	eor	r2, r2, r3
	ldr	r3, .L12+16
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-24]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-40]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #16
	and	r2, r3, #16711680
	ldr	r3, [fp, #-40]
	and	r3, r3, #65280
	orr	r2, r2, r3
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #16
	and	r3, r3, #255
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #4
	and	r3, r3, #251658240
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #-268435456
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L6
.L9:
	ldr	r2, .L12+20
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L7
	ldr	r3, [fp, #-44]
	lsr	r2, r3, #2
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #26
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #2
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #26
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L8
.L7:
	ldr	r3, [fp, #-44]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #27
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #27
	orr	r3, r2, r3
	str	r3, [fp, #-40]
.L8:
	ldr	r3, [fp, #-44]
	bic	r3, r3, #-268435456
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	bic	r3, r3, #-268435456
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	and	r3, r3, #63
	ldr	r2, .L12+24
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #6
	and	r1, r3, #3
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #7
	and	r3, r3, #60
	orr	r3, r1, r3
	ldr	r1, .L12+24
	add	r3, r3, #64
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #13
	and	r1, r3, #15
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #14
	and	r3, r3, #48
	orr	r3, r1, r3
	ldr	r1, .L12+24
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #20
	and	r1, r3, #1
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #21
	and	r3, r3, #6
	orr	r1, r1, r3
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #22
	and	r3, r3, #56
	orr	r3, r1, r3
	ldr	r1, .L12+24
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	and	r3, r3, #63
	ldr	r2, .L12+24
	add	r3, r3, #256
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #7
	and	r1, r3, #3
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	and	r3, r3, #60
	orr	r3, r1, r3
	ldr	r1, .L12+24
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #15
	and	r3, r3, #63
	ldr	r1, .L12+24
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #21
	and	r1, r3, #15
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #22
	and	r3, r3, #48
	orr	r3, r1, r3
	ldr	r1, .L12+24
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r1, r3, #16
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, [fp, #-36]
	add	r0, r2, #4
	str	r0, [fp, #-36]
	orr	r3, r1, r3
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	orr	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r2, r3, #4
	str	r2, [fp, #-36]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L6:
	ldr	r3, [fp, #-32]
	cmp	r3, #15
	ble	.L9
	ldr	r3, .L12+4
	ldr	r2, .L12
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L11
	bl	__stack_chk_fail
.L11:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L13:
	.align	2
.L12:
	.word	.LC0
	.word	DES_Keys
	.word	252645135
	.word	-859045888
	.word	1431655765
	.word	shifts.4216
	.word	des_skb
	.size	DES_createkeys, .-DES_createkeys
	.align	2
	.global	DES
	.syntax unified
	.arm
	.fpu softvfp
	.type	DES, %function
DES:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	DES_createkeys
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-32]
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	ldr	r2, [fp, #-32]
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	ldr	r2, [fp, #-32]
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-28]
	orr	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	ldr	r2, [fp, #-28]
	orr	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	ldr	r2, [fp, #-28]
	orr	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #4
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-28]
	eor	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #2
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18+4
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-28]
	eor	r3, r3, r2
	bic	r3, r3, #-16777216
	bic	r3, r3, #65280
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18+8
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ror	r3, r3, #31
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ror	r3, r3, #31
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L15
.L16:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #63
	ldr	r2, .L18+12
	add	r3, r3, #64
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #8
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #16
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #24
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #63
	ldr	r1, .L18+12
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #8
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #16
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #256
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #24
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #63
	ldr	r2, .L18+12
	add	r3, r3, #64
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #8
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #16
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #24
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #63
	ldr	r1, .L18+12
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #8
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #16
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #256
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #24
	and	r3, r3, #63
	ldr	r1, .L18+12
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
.L15:
	ldr	r3, [fp, #-24]
	cmp	r3, #31
	ble	.L16
	ldr	r3, [fp, #-32]
	ror	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	ror	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18+8
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-28]
	eor	r3, r3, r2
	bic	r3, r3, #-16777216
	bic	r3, r3, #65280
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #2
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18+4
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-28]
	eor	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	ldr	r2, [fp, #-32]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #4
	ldr	r3, [fp, #-32]
	eor	r2, r2, r3
	ldr	r3, .L18
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	str	r2, [fp, #-48]
	ldr	r2, [fp, #-32]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	str	r2, [fp, #-48]
	ldr	r2, [fp, #-28]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-48]
	add	r1, r3, #1
	str	r1, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	252645135
	.word	858993459
	.word	1431655765
	.word	des_SPtrans
	.size	DES, .-DES
	.data
	.align	2
	.type	shifts.4216, %object
	.size	shifts.4216, 16
shifts.4216:
	.ascii	"\000\000\001\001\001\001\001\001\000\001\001\001\001"
	.ascii	"\001\001\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
