	.file	"86074691.c"
	.intel_syntax noprefix
	.text
	.data
	.align 32
	.type	SPtrans, @object
	.size	SPtrans, 4096
SPtrans:
	.quad	4260096
	.quad	65536
	.quad	1077936128
	.quad	1078001920
	.quad	4194304
	.quad	1073807616
	.quad	1073807360
	.quad	1077936128
	.quad	1073807616
	.quad	4260096
	.quad	4259840
	.quad	1073742080
	.quad	1077936384
	.quad	4194304
	.quad	0
	.quad	1073807360
	.quad	65536
	.quad	1073741824
	.quad	4194560
	.quad	65792
	.quad	1078001920
	.quad	4259840
	.quad	1073742080
	.quad	4194560
	.quad	1073741824
	.quad	256
	.quad	65792
	.quad	1078001664
	.quad	256
	.quad	1077936384
	.quad	1078001664
	.quad	0
	.quad	0
	.quad	1078001920
	.quad	4194560
	.quad	1073807360
	.quad	4260096
	.quad	65536
	.quad	1073742080
	.quad	4194560
	.quad	1078001664
	.quad	256
	.quad	65792
	.quad	1077936128
	.quad	1073807616
	.quad	1073741824
	.quad	1077936128
	.quad	4259840
	.quad	1078001920
	.quad	65792
	.quad	4259840
	.quad	1077936384
	.quad	4194304
	.quad	1073742080
	.quad	1073807360
	.quad	0
	.quad	65536
	.quad	4194304
	.quad	1077936384
	.quad	4260096
	.quad	1073741824
	.quad	1078001664
	.quad	256
	.quad	1073807616
	.quad	134352898
	.quad	0
	.quad	135168
	.quad	134348800
	.quad	134217730
	.quad	4098
	.quad	134221824
	.quad	135168
	.quad	4096
	.quad	134348802
	.quad	2
	.quad	134221824
	.quad	131074
	.quad	134352896
	.quad	134348800
	.quad	2
	.quad	131072
	.quad	134221826
	.quad	134348802
	.quad	4096
	.quad	135170
	.quad	134217728
	.quad	0
	.quad	131074
	.quad	134221826
	.quad	135170
	.quad	134352896
	.quad	134217730
	.quad	134217728
	.quad	131072
	.quad	4098
	.quad	134352898
	.quad	131074
	.quad	134352896
	.quad	134221824
	.quad	135170
	.quad	134352898
	.quad	131074
	.quad	134217730
	.quad	0
	.quad	134217728
	.quad	4098
	.quad	131072
	.quad	134348802
	.quad	4096
	.quad	134217728
	.quad	135170
	.quad	134221826
	.quad	134352896
	.quad	4096
	.quad	0
	.quad	134217730
	.quad	2
	.quad	134352898
	.quad	135168
	.quad	134348800
	.quad	134348802
	.quad	131072
	.quad	4098
	.quad	134221824
	.quad	134221826
	.quad	2
	.quad	134348800
	.quad	135168
	.quad	545259520
	.quad	8421408
	.quad	32
	.quad	545259552
	.quad	536903680
	.quad	8388608
	.quad	545259552
	.quad	32800
	.quad	8388640
	.quad	32768
	.quad	8421376
	.quad	536870912
	.quad	545292320
	.quad	536870944
	.quad	536870912
	.quad	545292288
	.quad	0
	.quad	536903680
	.quad	8421408
	.quad	32
	.quad	536870944
	.quad	545292320
	.quad	32768
	.quad	545259520
	.quad	545292288
	.quad	8388640
	.quad	536903712
	.quad	8421376
	.quad	32800
	.quad	0
	.quad	8388608
	.quad	536903712
	.quad	8421408
	.quad	32
	.quad	536870912
	.quad	32768
	.quad	536870944
	.quad	536903680
	.quad	8421376
	.quad	545259552
	.quad	0
	.quad	8421408
	.quad	32800
	.quad	545292288
	.quad	536903680
	.quad	8388608
	.quad	545292320
	.quad	536870912
	.quad	536903712
	.quad	545259520
	.quad	8388608
	.quad	545292320
	.quad	32768
	.quad	8388640
	.quad	545259552
	.quad	32800
	.quad	8388640
	.quad	0
	.quad	545292288
	.quad	536870944
	.quad	545259520
	.quad	536903712
	.quad	32
	.quad	8421376
	.quad	524801
	.quad	33554944
	.quad	1
	.quad	34079233
	.quad	0
	.quad	34078720
	.quad	33554945
	.quad	524289
	.quad	34079232
	.quad	33554433
	.quad	33554432
	.quad	513
	.quad	33554433
	.quad	524801
	.quad	524288
	.quad	33554432
	.quad	34078721
	.quad	524800
	.quad	512
	.quad	1
	.quad	524800
	.quad	33554945
	.quad	34078720
	.quad	512
	.quad	513
	.quad	0
	.quad	524289
	.quad	34079232
	.quad	33554944
	.quad	34078721
	.quad	34079233
	.quad	524288
	.quad	34078721
	.quad	513
	.quad	524288
	.quad	33554433
	.quad	524800
	.quad	33554944
	.quad	1
	.quad	34078720
	.quad	33554945
	.quad	0
	.quad	512
	.quad	524289
	.quad	0
	.quad	34078721
	.quad	34079232
	.quad	512
	.quad	33554432
	.quad	34079233
	.quad	524801
	.quad	524288
	.quad	34079233
	.quad	1
	.quad	33554944
	.quad	524801
	.quad	524289
	.quad	524800
	.quad	34078720
	.quad	33554945
	.quad	513
	.quad	33554432
	.quad	33554433
	.quad	34079232
	.quad	16777216
	.quad	8192
	.quad	128
	.quad	16785540
	.quad	16785412
	.quad	16777344
	.quad	8324
	.quad	16785408
	.quad	8192
	.quad	4
	.quad	16777220
	.quad	8320
	.quad	16777348
	.quad	16785412
	.quad	16785536
	.quad	0
	.quad	8320
	.quad	16777216
	.quad	8196
	.quad	132
	.quad	16777344
	.quad	8324
	.quad	0
	.quad	16777220
	.quad	4
	.quad	16777348
	.quad	16785540
	.quad	8196
	.quad	16785408
	.quad	128
	.quad	132
	.quad	16785536
	.quad	16785536
	.quad	16777348
	.quad	8196
	.quad	16785408
	.quad	8192
	.quad	4
	.quad	16777220
	.quad	16777344
	.quad	16777216
	.quad	8320
	.quad	16785540
	.quad	0
	.quad	8324
	.quad	16777216
	.quad	128
	.quad	8196
	.quad	16777348
	.quad	128
	.quad	0
	.quad	16785540
	.quad	16785412
	.quad	16785536
	.quad	132
	.quad	8192
	.quad	8320
	.quad	16785412
	.quad	16777344
	.quad	132
	.quad	4
	.quad	8324
	.quad	16785408
	.quad	16777220
	.quad	268435464
	.quad	262152
	.quad	0
	.quad	268698624
	.quad	262152
	.quad	1024
	.quad	268436488
	.quad	262144
	.quad	1032
	.quad	268698632
	.quad	263168
	.quad	268435456
	.quad	268436480
	.quad	268435464
	.quad	268697600
	.quad	263176
	.quad	262144
	.quad	268436488
	.quad	268697608
	.quad	0
	.quad	1024
	.quad	8
	.quad	268698624
	.quad	268697608
	.quad	268698632
	.quad	268697600
	.quad	268435456
	.quad	1032
	.quad	8
	.quad	263168
	.quad	263176
	.quad	268436480
	.quad	1032
	.quad	268435456
	.quad	268436480
	.quad	263176
	.quad	268698624
	.quad	262152
	.quad	0
	.quad	268436480
	.quad	268435456
	.quad	1024
	.quad	268697608
	.quad	262144
	.quad	262152
	.quad	268698632
	.quad	263168
	.quad	8
	.quad	268698632
	.quad	263168
	.quad	262144
	.quad	268436488
	.quad	268435464
	.quad	268697600
	.quad	263176
	.quad	0
	.quad	1024
	.quad	268435464
	.quad	268436488
	.quad	268698624
	.quad	268697600
	.quad	1032
	.quad	8
	.quad	268697608
	.quad	2048
	.quad	64
	.quad	2097216
	.quad	2149580800
	.quad	2149582912
	.quad	2147485696
	.quad	2112
	.quad	0
	.quad	2097152
	.quad	2149580864
	.quad	2147483712
	.quad	2099200
	.quad	2147483648
	.quad	2099264
	.quad	2099200
	.quad	2147483712
	.quad	2149580864
	.quad	2048
	.quad	2147485696
	.quad	2149582912
	.quad	0
	.quad	2097216
	.quad	2149580800
	.quad	2112
	.quad	2149582848
	.quad	2147485760
	.quad	2099264
	.quad	2147483648
	.quad	2147485760
	.quad	2149582848
	.quad	64
	.quad	2097152
	.quad	2147485760
	.quad	2099200
	.quad	2149582848
	.quad	2147483712
	.quad	2048
	.quad	64
	.quad	2097152
	.quad	2149582848
	.quad	2149580864
	.quad	2147485760
	.quad	2112
	.quad	0
	.quad	64
	.quad	2149580800
	.quad	2147483648
	.quad	2097216
	.quad	0
	.quad	2149580864
	.quad	2097216
	.quad	2112
	.quad	2147483712
	.quad	2048
	.quad	2149582912
	.quad	2097152
	.quad	2099264
	.quad	2147483648
	.quad	2147485696
	.quad	2149582912
	.quad	2149580800
	.quad	2099264
	.quad	2099200
	.quad	2147485696
	.quad	68157456
	.quad	68173824
	.quad	16400
	.quad	0
	.quad	67125248
	.quad	1048592
	.quad	68157440
	.quad	68173840
	.quad	16
	.quad	67108864
	.quad	1064960
	.quad	16400
	.quad	1064976
	.quad	67125264
	.quad	67108880
	.quad	68157440
	.quad	16384
	.quad	1064976
	.quad	1048592
	.quad	67125248
	.quad	68173840
	.quad	67108880
	.quad	0
	.quad	1064960
	.quad	67108864
	.quad	1048576
	.quad	67125264
	.quad	68157456
	.quad	1048576
	.quad	16384
	.quad	68173824
	.quad	16
	.quad	1048576
	.quad	16384
	.quad	67108880
	.quad	68173840
	.quad	16400
	.quad	67108864
	.quad	0
	.quad	1064960
	.quad	68157456
	.quad	67125264
	.quad	67125248
	.quad	1048592
	.quad	68173824
	.quad	16
	.quad	1048592
	.quad	67125248
	.quad	68173840
	.quad	1048576
	.quad	68157440
	.quad	67108880
	.quad	1064960
	.quad	16400
	.quad	67125264
	.quad	68157440
	.quad	16
	.quad	68173824
	.quad	1064976
	.quad	0
	.quad	67108864
	.quad	68157456
	.quad	16384
	.quad	1064976
	.align 32
	.type	skb, @object
	.size	skb, 4096
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
	.align 16
	.type	shifts2, @object
	.size	shifts2, 16
shifts2:
	.string	""
	.string	""
	.string	"\001\001\001\001\001\001"
	.string	"\001\001\001\001\001\001"
	.text
	.type	des_set_key, @function
des_set_key:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -64[rbp], rdi
	mov	QWORD PTR -72[rbp], rsi
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	r13, QWORD PTR -64[rbp]
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	rbx, rax
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	rbx, rax
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	rbx, rax
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	r12d, al
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 8
	or	r12, rax
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 16
	or	r12, rax
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	rax, 24
	or	r12, rax
	mov	rax, r12
	shr	rax, 4
	xor	rax, rbx
	and	eax, 252645135
	mov	r13, rax
	xor	rbx, r13
	mov	rax, r13
	sal	rax, 4
	xor	r12, rax
	mov	rax, rbx
	sal	rax, 18
	xor	rax, rbx
	and	eax, 3435921408
	mov	r13, rax
	xor	rbx, r13
	mov	rdx, rbx
	mov	rax, r13
	shr	rax, 18
	mov	rbx, rdx
	xor	rbx, rax
	mov	rax, rbx
	sal	rax, 17
	xor	rax, rbx
	and	eax, 2863267840
	mov	r13, rax
	xor	rbx, r13
	mov	rdx, rbx
	mov	rax, r13
	shr	rax, 17
	mov	rbx, rdx
	xor	rbx, rax
	mov	rax, rbx
	sal	rax, 8
	xor	rax, rbx
	and	eax, 16711680
	mov	r13, rax
	xor	rbx, r13
	mov	rdx, rbx
	mov	rax, r13
	shr	rax, 8
	mov	rbx, rdx
	xor	rbx, rax
	mov	rax, rbx
	sal	rax, 17
	xor	rax, rbx
	and	eax, 2863267840
	mov	r13, rax
	xor	rbx, r13
	mov	rdx, rbx
	mov	rax, r13
	shr	rax, 17
	mov	rbx, rdx
	xor	rbx, rax
	mov	rax, r12
	sal	rax, 24
	xor	rax, r12
	and	eax, 4278190080
	mov	r13, rax
	mov	rdx, r12
	xor	rdx, r13
	mov	rax, r13
	shr	rax, 24
	xor	rdx, rax
	mov	r12, rdx
	mov	rax, r12
	sal	rax, 8
	xor	rax, r12
	and	eax, 16711680
	mov	r13, rax
	mov	rdx, r12
	xor	rdx, r13
	mov	rax, r13
	shr	rax, 8
	xor	rdx, rax
	mov	r12, rdx
	mov	rax, r12
	sal	rax, 14
	xor	rax, r12
	and	eax, 858980352
	mov	r13, rax
	mov	rdx, r12
	xor	rdx, r13
	mov	rax, r13
	shr	rax, 14
	xor	rdx, rax
	mov	r12, rdx
	mov	rax, r12
	sal	rax, 7
	and	eax, 1426085120
	mov	rdx, rax
	mov	rax, r12
	shr	rax, 7
	and	eax, 11141290
	or	rdx, rax
	mov	rax, r12
	and	eax, 2857740885
	or	rdx, rax
	mov	r12, rdx
	mov	rdx, r12
	shr	rdx, 8
	mov	rax, rbx
	shr	rax, 4
	and	eax, 251658240
	or	rdx, rax
	mov	r12, rdx
	and	ebx, 268435455
	mov	r15d, 0
	jmp	.L2
.L5:
	movsx	rax, r15d
	lea	rdx, shifts2[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L3
	mov	rdx, rbx
	shr	rdx, 2
	mov	rax, rbx
	sal	rax, 26
	mov	rbx, rdx
	or	rbx, rax
	mov	rdx, r12
	shr	rdx, 2
	mov	rax, r12
	sal	rax, 26
	or	rdx, rax
	mov	r12, rdx
	jmp	.L4
.L3:
	mov	rdx, rbx
	shr	rdx
	mov	rax, rbx
	sal	rax, 27
	mov	rbx, rdx
	or	rbx, rax
	mov	rdx, r12
	shr	rdx
	mov	rax, r12
	sal	rax, 27
	or	rdx, rax
	mov	r12, rdx
.L4:
	and	ebx, 268435455
	and	r12d, 268435455
	mov	rax, rbx
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, rbx
	shr	rax, 6
	and	eax, 3
	mov	rdx, rax
	mov	rax, rbx
	shr	rax, 7
	and	eax, 60
	or	rax, rdx
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 13
	and	eax, 15
	mov	rdx, rax
	mov	rax, rbx
	shr	rax, 14
	and	eax, 48
	or	rax, rdx
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 20
	and	eax, 1
	mov	rdx, rax
	mov	rax, rbx
	shr	rax, 21
	and	eax, 6
	or	rdx, rax
	mov	rax, rbx
	shr	rax, 22
	and	eax, 56
	or	rax, rdx
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	r14, rcx
	mov	rax, r12
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, r12
	shr	rax, 7
	and	eax, 3
	mov	rdx, rax
	mov	rax, r12
	shr	rax, 8
	and	eax, 60
	or	rax, rdx
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r12
	shr	rax, 15
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r12
	shr	rax, 21
	and	eax, 15
	mov	rdx, rax
	mov	rax, r12
	shr	rax, 22
	and	eax, 48
	or	rax, rdx
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, skb[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	r13, rcx
	mov	rsi, r13
	sal	rsi, 16
	movzx	ecx, r14w
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -48[rbp], rdx
	or	rsi, rcx
	mov	rdx, rsi
	mov	QWORD PTR [rax], rdx
	mov	rdx, r14
	shr	rdx, 16
	mov	rax, r13
	and	eax, 4294901760
	or	rdx, rax
	mov	r14, rdx
	mov	rdx, r14
	sal	rdx, 4
	mov	rax, r14
	shr	rax, 28
	or	rdx, rax
	mov	r14, rdx
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	QWORD PTR [rax], r14
	add	r15d, 1
.L2:
	cmp	r15d, 15
	jle	.L5
	mov	eax, 0
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	des_set_key, .-des_set_key
	.globl	con_salt
	.data
	.align 32
	.type	con_salt, @object
	.size	con_salt, 128
con_salt:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001\002\003\004\005\006\007\b\t\n\013\005\006\007\b\t\n\013\f\r\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !\"#$% !\"#$%&'()*+,-./0123456789:;<=>?"
	.string	""
	.string	""
	.string	""
	.string	""
	.globl	cov_2char
	.align 32
	.type	cov_2char, @object
	.size	cov_2char, 64
cov_2char:
	.ascii	"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv"
	.ascii	"wxyz"
	.text
	.globl	crypt
	.type	crypt, @function
crypt:
.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, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	QWORD PTR -256[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -208[rbp], 0
	mov	QWORD PTR -200[rbp], 0
	lea	rax, -17[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR buff.0[rip], al
	movzx	eax, BYTE PTR buff.0[rip]
	movzx	eax, al
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	lea	rdx, con_salt[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR buff.0[rip+1], al
	movzx	eax, BYTE PTR buff.0[rip+1]
	movzx	eax, al
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	lea	rdx, con_salt[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	sal	eax, 4
	cdqe
	mov	QWORD PTR -200[rbp], rax
	mov	DWORD PTR -224[rbp], 0
	jmp	.L8
.L11:
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -248[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -226[rbp], al
	cmp	BYTE PTR -226[rbp], 0
	je	.L22
	movzx	eax, BYTE PTR -226[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -224[rbp]
	mov	BYTE PTR -25[rbp+rax], dl
	add	DWORD PTR -224[rbp], 1
.L8:
	cmp	DWORD PTR -224[rbp], 7
	jbe	.L11
	jmp	.L12
.L22:
	nop
	jmp	.L12
.L13:
	mov	eax, DWORD PTR -224[rbp]
	mov	BYTE PTR -25[rbp+rax], 0
	add	DWORD PTR -224[rbp], 1
.L12:
	cmp	DWORD PTR -224[rbp], 7
	jbe	.L13
	lea	rdx, -160[rbp]
	lea	rax, -25[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	des_set_key
	mov	rdi, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR -208[rbp]
	lea	rdx, -160[rbp]
	lea	rax, -176[rbp]
	lea	rsi, 8[rax]
	lea	rax, -176[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	body
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	rdx, QWORD PTR -184[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 16
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 24
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	rdx, QWORD PTR -184[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 16
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -184[rbp]
	shr	rax, 24
	mov	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -192[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -216[rbp], 0
	mov	BYTE PTR -225[rbp], -128
	mov	BYTE PTR -9[rbp], 0
	mov	DWORD PTR -224[rbp], 2
	jmp	.L14
.L19:
	mov	BYTE PTR -226[rbp], 0
	mov	DWORD PTR -220[rbp], 0
	jmp	.L15
.L18:
	sal	BYTE PTR -226[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR -17[rbp+rax]
	and	al, BYTE PTR -225[rbp]
	test	al, al
	je	.L16
	or	BYTE PTR -226[rbp], 1
.L16:
	shr	BYTE PTR -225[rbp]
	cmp	BYTE PTR -225[rbp], 0
	jne	.L17
	add	DWORD PTR -216[rbp], 1
	mov	BYTE PTR -225[rbp], -128
.L17:
	add	DWORD PTR -220[rbp], 1
.L15:
	cmp	DWORD PTR -220[rbp], 5
	jbe	.L18
	movzx	eax, BYTE PTR -226[rbp]
	cdqe
	lea	rdx, cov_2char[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	mov	eax, DWORD PTR -224[rbp]
	lea	rcx, buff.0[rip]
	mov	BYTE PTR [rax+rcx], dl
	add	DWORD PTR -224[rbp], 1
.L14:
	cmp	DWORD PTR -224[rbp], 12
	jbe	.L19
	lea	rax, buff.0[rip]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	crypt, .-crypt
	.globl	body
	.type	body, @function
body:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -48[rbp], rdi
	mov	QWORD PTR -56[rbp], rsi
	mov	QWORD PTR -64[rbp], rdx
	mov	QWORD PTR -72[rbp], rcx
	mov	QWORD PTR -80[rbp], r8
	mov	r13d, 0
	mov	r12d, 0
	mov	rax, QWORD PTR -64[rbp]
	mov	r8, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	r10, rax
	mov	r11d, 0
	jmp	.L24
.L27:
	mov	esi, 0
	jmp	.L25
.L26:
	lea	rax, [r12+r12]
	mov	rdx, r12
	shr	rdx, 31
	or	rax, rdx
	mov	rbx, rax
	mov	rax, rbx
	shr	rax, 16
	xor	rax, rbx
	mov	r15, rax
	mov	rdi, QWORD PTR -88[rbp]
	mov	r14, rdi
	and	r14, r15
	and	r15, r10
	mov	rax, r14
	sal	rax, 16
	xor	rax, r14
	xor	rax, rbx
	mov	rdx, rax
	movsx	rax, esi
	sal	rax, 3
	mov	r9, r8
	add	rax, r9
	mov	rax, QWORD PTR [rax]
	xor	rdx, rax
	mov	r14, rdx
	mov	rax, r15
	sal	rax, 16
	xor	rax, r15
	xor	rbx, rax
	mov	rdx, rbx
	movsx	rax, esi
	add	rax, 1
	sal	rax, 3
	add	rax, r9
	mov	rax, QWORD PTR [rax]
	mov	rbx, rdx
	xor	rbx, rax
	mov	rdx, rbx
	shr	rdx, 4
	mov	rax, rbx
	sal	rax, 28
	mov	rbx, rdx
	or	rbx, rax
	mov	rax, rbx
	and	eax, 63
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, rbx
	shr	rax, 8
	and	eax, 63
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 16
	and	eax, 63
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 24
	and	eax, 63
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 8
	and	eax, 63
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 16
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 24
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	xor	r13, rax
	lea	rax, [r13+r13]
	mov	rdx, r13
	shr	rdx, 31
	or	rax, rdx
	mov	rbx, rax
	mov	rax, rbx
	shr	rax, 16
	xor	rax, rbx
	mov	r15, rax
	and	rdi, r15
	mov	r14, rdi
	and	r15, r10
	mov	rax, r14
	sal	rax, 16
	xor	rax, r14
	xor	rax, rbx
	mov	rdx, rax
	movsx	rax, esi
	add	rax, 2
	sal	rax, 3
	add	rax, r9
	mov	rax, QWORD PTR [rax]
	xor	rdx, rax
	mov	r14, rdx
	mov	rax, r15
	sal	rax, 16
	xor	rax, r15
	xor	rbx, rax
	mov	rdx, rbx
	lea	eax, 2[rsi]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, r9
	mov	rax, QWORD PTR [rax]
	mov	rbx, rdx
	xor	rbx, rax
	mov	rdx, rbx
	shr	rdx, 4
	mov	rax, rbx
	sal	rax, 28
	mov	rbx, rdx
	or	rbx, rax
	mov	rax, rbx
	and	eax, 63
	add	rax, 64
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, rbx
	shr	rax, 8
	and	eax, 63
	add	rax, 192
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 16
	and	eax, 63
	add	rax, 320
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, rbx
	shr	rax, 24
	and	eax, 63
	add	rax, 448
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	and	eax, 63
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 8
	and	eax, 63
	sub	rax, -128
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 16
	and	eax, 63
	add	rax, 256
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rcx, rax
	mov	rax, r14
	shr	rax, 24
	and	eax, 63
	add	rax, 384
	lea	rdx, 0[0+rax*8]
	lea	rax, SPtrans[rip]
	mov	rax, QWORD PTR [rdx+rax]
	or	rax, rcx
	xor	r12, rax
	add	esi, 4
.L25:
	mov	eax, esi
	cmp	eax, 31
	jle	.L26
	mov	rbx, r13
	mov	r13, r12
	mov	r12, rbx
	mov	eax, r11d
	add	eax, 1
	mov	r11d, eax
.L24:
	mov	eax, r11d
	cmp	eax, 24
	jle	.L27
	mov	rbx, r13
	mov	r13, r12
	mov	r12, rbx
	mov	rax, r12
	shr	rax
	xor	rax, r13
	and	eax, 1431655765
	mov	rbx, rax
	xor	r13, rbx
	lea	rax, [rbx+rbx]
	xor	r12, rax
	mov	rax, r13
	shr	rax, 8
	xor	rax, r12
	and	eax, 16711935
	mov	rbx, rax
	xor	r12, rbx
	mov	rax, rbx
	sal	rax, 8
	xor	r13, rax
	mov	rax, r12
	shr	rax, 2
	xor	rax, r13
	and	eax, 858993459
	mov	rbx, rax
	xor	r13, rbx
	lea	rax, 0[0+rbx*4]
	xor	r12, rax
	mov	rax, r13
	shr	rax, 16
	xor	rax, r12
	movzx	ebx, ax
	xor	r12, rbx
	mov	rax, rbx
	sal	rax, 16
	xor	r13, rax
	mov	rax, r12
	shr	rax, 4
	xor	rax, r13
	and	eax, 252645135
	mov	rbx, rax
	xor	r13, rbx
	mov	rax, rbx
	sal	rax, 4
	xor	r12, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], r13
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], r12
	mov	eax, 0
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	body, .-body
	.local	buff.0
	.comm	buff.0,20,16
	.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	"86074691.c"
	.text
	.data
	.align	2
	.type	SPtrans, %object
	.size	SPtrans, 2048
SPtrans:
	.word	4260096
	.word	65536
	.word	1077936128
	.word	1078001920
	.word	4194304
	.word	1073807616
	.word	1073807360
	.word	1077936128
	.word	1073807616
	.word	4260096
	.word	4259840
	.word	1073742080
	.word	1077936384
	.word	4194304
	.word	0
	.word	1073807360
	.word	65536
	.word	1073741824
	.word	4194560
	.word	65792
	.word	1078001920
	.word	4259840
	.word	1073742080
	.word	4194560
	.word	1073741824
	.word	256
	.word	65792
	.word	1078001664
	.word	256
	.word	1077936384
	.word	1078001664
	.word	0
	.word	0
	.word	1078001920
	.word	4194560
	.word	1073807360
	.word	4260096
	.word	65536
	.word	1073742080
	.word	4194560
	.word	1078001664
	.word	256
	.word	65792
	.word	1077936128
	.word	1073807616
	.word	1073741824
	.word	1077936128
	.word	4259840
	.word	1078001920
	.word	65792
	.word	4259840
	.word	1077936384
	.word	4194304
	.word	1073742080
	.word	1073807360
	.word	0
	.word	65536
	.word	4194304
	.word	1077936384
	.word	4260096
	.word	1073741824
	.word	1078001664
	.word	256
	.word	1073807616
	.word	134352898
	.word	0
	.word	135168
	.word	134348800
	.word	134217730
	.word	4098
	.word	134221824
	.word	135168
	.word	4096
	.word	134348802
	.word	2
	.word	134221824
	.word	131074
	.word	134352896
	.word	134348800
	.word	2
	.word	131072
	.word	134221826
	.word	134348802
	.word	4096
	.word	135170
	.word	134217728
	.word	0
	.word	131074
	.word	134221826
	.word	135170
	.word	134352896
	.word	134217730
	.word	134217728
	.word	131072
	.word	4098
	.word	134352898
	.word	131074
	.word	134352896
	.word	134221824
	.word	135170
	.word	134352898
	.word	131074
	.word	134217730
	.word	0
	.word	134217728
	.word	4098
	.word	131072
	.word	134348802
	.word	4096
	.word	134217728
	.word	135170
	.word	134221826
	.word	134352896
	.word	4096
	.word	0
	.word	134217730
	.word	2
	.word	134352898
	.word	135168
	.word	134348800
	.word	134348802
	.word	131072
	.word	4098
	.word	134221824
	.word	134221826
	.word	2
	.word	134348800
	.word	135168
	.word	545259520
	.word	8421408
	.word	32
	.word	545259552
	.word	536903680
	.word	8388608
	.word	545259552
	.word	32800
	.word	8388640
	.word	32768
	.word	8421376
	.word	536870912
	.word	545292320
	.word	536870944
	.word	536870912
	.word	545292288
	.word	0
	.word	536903680
	.word	8421408
	.word	32
	.word	536870944
	.word	545292320
	.word	32768
	.word	545259520
	.word	545292288
	.word	8388640
	.word	536903712
	.word	8421376
	.word	32800
	.word	0
	.word	8388608
	.word	536903712
	.word	8421408
	.word	32
	.word	536870912
	.word	32768
	.word	536870944
	.word	536903680
	.word	8421376
	.word	545259552
	.word	0
	.word	8421408
	.word	32800
	.word	545292288
	.word	536903680
	.word	8388608
	.word	545292320
	.word	536870912
	.word	536903712
	.word	545259520
	.word	8388608
	.word	545292320
	.word	32768
	.word	8388640
	.word	545259552
	.word	32800
	.word	8388640
	.word	0
	.word	545292288
	.word	536870944
	.word	545259520
	.word	536903712
	.word	32
	.word	8421376
	.word	524801
	.word	33554944
	.word	1
	.word	34079233
	.word	0
	.word	34078720
	.word	33554945
	.word	524289
	.word	34079232
	.word	33554433
	.word	33554432
	.word	513
	.word	33554433
	.word	524801
	.word	524288
	.word	33554432
	.word	34078721
	.word	524800
	.word	512
	.word	1
	.word	524800
	.word	33554945
	.word	34078720
	.word	512
	.word	513
	.word	0
	.word	524289
	.word	34079232
	.word	33554944
	.word	34078721
	.word	34079233
	.word	524288
	.word	34078721
	.word	513
	.word	524288
	.word	33554433
	.word	524800
	.word	33554944
	.word	1
	.word	34078720
	.word	33554945
	.word	0
	.word	512
	.word	524289
	.word	0
	.word	34078721
	.word	34079232
	.word	512
	.word	33554432
	.word	34079233
	.word	524801
	.word	524288
	.word	34079233
	.word	1
	.word	33554944
	.word	524801
	.word	524289
	.word	524800
	.word	34078720
	.word	33554945
	.word	513
	.word	33554432
	.word	33554433
	.word	34079232
	.word	16777216
	.word	8192
	.word	128
	.word	16785540
	.word	16785412
	.word	16777344
	.word	8324
	.word	16785408
	.word	8192
	.word	4
	.word	16777220
	.word	8320
	.word	16777348
	.word	16785412
	.word	16785536
	.word	0
	.word	8320
	.word	16777216
	.word	8196
	.word	132
	.word	16777344
	.word	8324
	.word	0
	.word	16777220
	.word	4
	.word	16777348
	.word	16785540
	.word	8196
	.word	16785408
	.word	128
	.word	132
	.word	16785536
	.word	16785536
	.word	16777348
	.word	8196
	.word	16785408
	.word	8192
	.word	4
	.word	16777220
	.word	16777344
	.word	16777216
	.word	8320
	.word	16785540
	.word	0
	.word	8324
	.word	16777216
	.word	128
	.word	8196
	.word	16777348
	.word	128
	.word	0
	.word	16785540
	.word	16785412
	.word	16785536
	.word	132
	.word	8192
	.word	8320
	.word	16785412
	.word	16777344
	.word	132
	.word	4
	.word	8324
	.word	16785408
	.word	16777220
	.word	268435464
	.word	262152
	.word	0
	.word	268698624
	.word	262152
	.word	1024
	.word	268436488
	.word	262144
	.word	1032
	.word	268698632
	.word	263168
	.word	268435456
	.word	268436480
	.word	268435464
	.word	268697600
	.word	263176
	.word	262144
	.word	268436488
	.word	268697608
	.word	0
	.word	1024
	.word	8
	.word	268698624
	.word	268697608
	.word	268698632
	.word	268697600
	.word	268435456
	.word	1032
	.word	8
	.word	263168
	.word	263176
	.word	268436480
	.word	1032
	.word	268435456
	.word	268436480
	.word	263176
	.word	268698624
	.word	262152
	.word	0
	.word	268436480
	.word	268435456
	.word	1024
	.word	268697608
	.word	262144
	.word	262152
	.word	268698632
	.word	263168
	.word	8
	.word	268698632
	.word	263168
	.word	262144
	.word	268436488
	.word	268435464
	.word	268697600
	.word	263176
	.word	0
	.word	1024
	.word	268435464
	.word	268436488
	.word	268698624
	.word	268697600
	.word	1032
	.word	8
	.word	268697608
	.word	2048
	.word	64
	.word	2097216
	.word	-2145386496
	.word	-2145384384
	.word	-2147481600
	.word	2112
	.word	0
	.word	2097152
	.word	-2145386432
	.word	-2147483584
	.word	2099200
	.word	-2147483648
	.word	2099264
	.word	2099200
	.word	-2147483584
	.word	-2145386432
	.word	2048
	.word	-2147481600
	.word	-2145384384
	.word	0
	.word	2097216
	.word	-2145386496
	.word	2112
	.word	-2145384448
	.word	-2147481536
	.word	2099264
	.word	-2147483648
	.word	-2147481536
	.word	-2145384448
	.word	64
	.word	2097152
	.word	-2147481536
	.word	2099200
	.word	-2145384448
	.word	-2147483584
	.word	2048
	.word	64
	.word	2097152
	.word	-2145384448
	.word	-2145386432
	.word	-2147481536
	.word	2112
	.word	0
	.word	64
	.word	-2145386496
	.word	-2147483648
	.word	2097216
	.word	0
	.word	-2145386432
	.word	2097216
	.word	2112
	.word	-2147483584
	.word	2048
	.word	-2145384384
	.word	2097152
	.word	2099264
	.word	-2147483648
	.word	-2147481600
	.word	-2145384384
	.word	-2145386496
	.word	2099264
	.word	2099200
	.word	-2147481600
	.word	68157456
	.word	68173824
	.word	16400
	.word	0
	.word	67125248
	.word	1048592
	.word	68157440
	.word	68173840
	.word	16
	.word	67108864
	.word	1064960
	.word	16400
	.word	1064976
	.word	67125264
	.word	67108880
	.word	68157440
	.word	16384
	.word	1064976
	.word	1048592
	.word	67125248
	.word	68173840
	.word	67108880
	.word	0
	.word	1064960
	.word	67108864
	.word	1048576
	.word	67125264
	.word	68157456
	.word	1048576
	.word	16384
	.word	68173824
	.word	16
	.word	1048576
	.word	16384
	.word	67108880
	.word	68173840
	.word	16400
	.word	67108864
	.word	0
	.word	1064960
	.word	68157456
	.word	67125264
	.word	67125248
	.word	1048592
	.word	68173824
	.word	16
	.word	1048592
	.word	67125248
	.word	68173840
	.word	1048576
	.word	68157440
	.word	67108880
	.word	1064960
	.word	16400
	.word	67125264
	.word	68157440
	.word	16
	.word	68173824
	.word	1064976
	.word	0
	.word	67108864
	.word	68157456
	.word	16384
	.word	1064976
	.align	2
	.type	skb, %object
	.size	skb, 2048
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
	.align	2
	.type	shifts2, %object
	.size	shifts2, 16
shifts2:
	.ascii	"\000\000\001\001\001\001\001\001\000\001\001\001\001"
	.ascii	"\001\001\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	des_set_key, %function
des_set_key:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, fp}
	add	fp, sp, #20
	sub	sp, sp, #16
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-24]
	ldr	r6, [fp, #-32]
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r4, r4, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r4, r4, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r4, r4, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r5, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r5, r5, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r5, r5, r3
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r5, r5, r3
	lsr	r3, r5, #4
	eor	r3, r3, r4
	ldr	r6, .L7
	and	r6, r6, r3
	eor	r4, r4, r6
	lsl	r3, r6, #4
	eor	r5, r5, r3
	lsl	r3, r4, #18
	eor	r3, r3, r4
	ldr	r6, .L7+4
	and	r6, r6, r3
	eor	r2, r4, r6
	lsr	r3, r6, #18
	eor	r4, r2, r3
	lsl	r3, r4, #17
	eor	r3, r3, r4
	ldr	r6, .L7+8
	and	r6, r6, r3
	eor	r2, r4, r6
	lsr	r3, r6, #17
	eor	r4, r2, r3
	lsl	r3, r4, #8
	eor	r3, r3, r4
	and	r6, r3, #16711680
	eor	r2, r4, r6
	lsr	r3, r6, #8
	eor	r4, r2, r3
	lsl	r3, r4, #17
	eor	r3, r3, r4
	ldr	r6, .L7+8
	and	r6, r6, r3
	eor	r2, r4, r6
	lsr	r3, r6, #17
	eor	r4, r2, r3
	lsl	r3, r5, #24
	eor	r3, r3, r5
	and	r6, r3, #-16777216
	eor	r2, r5, r6
	lsr	r3, r6, #24
	eor	r5, r2, r3
	lsl	r3, r5, #8
	eor	r3, r3, r5
	and	r6, r3, #16711680
	eor	r2, r5, r6
	lsr	r3, r6, #8
	eor	r5, r2, r3
	lsl	r3, r5, #14
	eor	r3, r3, r5
	ldr	r6, .L7+12
	and	r6, r6, r3
	eor	r2, r5, r6
	lsr	r3, r6, #14
	eor	r5, r2, r3
	lsl	r3, r5, #7
	ldr	r2, .L7+16
	and	r2, r2, r3
	lsr	r1, r5, #7
	ldr	r3, .L7+20
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, .L7+24
	and	r3, r3, r5
	orr	r5, r2, r3
	lsr	r2, r5, #8
	lsr	r3, r4, #4
	and	r3, r3, #251658240
	orr	r5, r2, r3
	bic	r4, r4, #-268435456
	mov	r8, #0
	b	.L2
.L5:
	ldr	r3, .L7+28
	ldrb	r3, [r3, r8]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3
	lsr	r2, r4, #2
	lsl	r3, r4, #26
	orr	r4, r2, r3
	lsr	r2, r5, #2
	lsl	r3, r5, #26
	orr	r5, r2, r3
	b	.L4
.L3:
	lsr	r2, r4, #1
	lsl	r3, r4, #27
	orr	r4, r2, r3
	lsr	r2, r5, #1
	lsl	r3, r5, #27
	orr	r5, r2, r3
.L4:
	bic	r4, r4, #-268435456
	bic	r5, r5, #-268435456
	and	r3, r4, #63
	ldr	r2, .L7+32
	ldr	r2, [r2, r3, lsl #2]
	lsr	r3, r4, #6
	and	r1, r3, #3
	lsr	r3, r4, #7
	and	r3, r3, #60
	orr	r3, r1, r3
	ldr	r1, .L7+32
	add	r3, r3, #64
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #13
	and	r1, r3, #15
	lsr	r3, r4, #14
	and	r3, r3, #48
	orr	r3, r1, r3
	ldr	r1, .L7+32
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #20
	and	r1, r3, #1
	lsr	r3, r4, #21
	and	r3, r3, #6
	orr	r1, r1, r3
	lsr	r3, r4, #22
	and	r3, r3, #56
	orr	r3, r1, r3
	ldr	r1, .L7+32
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r7, r2, r3
	and	r3, r5, #63
	ldr	r2, .L7+32
	add	r3, r3, #256
	ldr	r2, [r2, r3, lsl #2]
	lsr	r3, r5, #7
	and	r1, r3, #3
	lsr	r3, r5, #8
	and	r3, r3, #60
	orr	r3, r1, r3
	ldr	r1, .L7+32
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r5, #15
	and	r3, r3, #63
	ldr	r1, .L7+32
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r5, #21
	and	r1, r3, #15
	lsr	r3, r5, #22
	and	r3, r3, #48
	orr	r3, r1, r3
	ldr	r1, .L7+32
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r6, r2, r3
	lsl	r1, r6, #16
	lsl	r3, r7, #16
	lsr	r3, r3, #16
	ldr	r2, [fp, #-24]
	add	r0, r2, #4
	str	r0, [fp, #-24]
	orr	r3, r1, r3
	str	r3, [r2]
	lsr	r2, r7, #16
	lsr	r3, r6, #16
	lsl	r3, r3, #16
	orr	r7, r2, r3
	ror	r7, r7, #28
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	str	r7, [r3]
	add	r8, r8, #1
.L2:
	cmp	r8, #15
	ble	.L5
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp}
	bx	lr
.L8:
	.align	2
.L7:
	.word	252645135
	.word	-859045888
	.word	-1431699456
	.word	858980352
	.word	1426085120
	.word	11141290
	.word	-1437226411
	.word	shifts2
	.word	skb
	.size	des_set_key, .-des_set_key
	.global	con_salt
	.data
	.align	2
	.type	con_salt, %object
	.size	con_salt, 128
con_salt:
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\001\002\003\004\005"
	.ascii	"\006\007\010\011\012\013\005\006\007\010\011\012\013"
	.ascii	"\014\015\016\017\020\021\022\023\024\025\026\027\030"
	.ascii	"\031\032\033\034\035\036\037 !\"#$% !\"#$%&'()*+,-."
	.ascii	"/0123456789:;<=>?\000\000\000\000\000"
	.global	cov_2char
	.align	2
	.type	cov_2char, %object
	.size	cov_2char, 64
cov_2char:
	.ascii	"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm"
	.ascii	"nopqrstuvwxyz"
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	crypt
	.syntax unified
	.arm
	.fpu softvfp
	.type	crypt, %function
crypt:
	@ args = 0, pretend = 0, frame = 208
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #216
	str	r0, [fp, #-208]
	str	r1, [fp, #-212]
	ldr	r3, .L25
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-184]
	mov	r3, #0
	str	r3, [fp, #-180]
	sub	r3, fp, #20
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-212]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L25+4
	strb	r2, [r3]
	ldr	r3, .L25+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-172]
	ldr	r2, .L25+8
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-212]
	add	r3, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L25+4
	strb	r2, [r3, #1]
	ldr	r3, .L25+4
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	str	r3, [fp, #-172]
	ldr	r2, .L25+8
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	str	r3, [fp, #-180]
	mov	r3, #0
	str	r3, [fp, #-196]
	b	.L10
.L13:
	ldr	r3, [fp, #-208]
	add	r2, r3, #1
	str	r2, [fp, #-208]
	ldrb	r3, [r3]
	strb	r3, [fp, #-198]
	ldrb	r3, [fp, #-198]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L24
	ldrb	r3, [fp, #-198]
	lsl	r3, r3, #1
	and	r1, r3, #255
	sub	r2, fp, #28
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-196]
	add	r3, r3, #1
	str	r3, [fp, #-196]
.L10:
	ldr	r3, [fp, #-196]
	cmp	r3, #7
	bls	.L13
	b	.L14
.L24:
	nop
	b	.L14
.L15:
	sub	r2, fp, #28
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-196]
	add	r3, r3, #1
	str	r3, [fp, #-196]
.L14:
	ldr	r3, [fp, #-196]
	cmp	r3, #7
	bls	.L15
	sub	r2, fp, #156
	sub	r3, fp, #28
	mov	r1, r2
	mov	r0, r3
	bl	des_set_key
	sub	r2, fp, #156
	sub	r3, fp, #164
	add	r1, r3, #4
	sub	r0, fp, #164
	ldr	r3, [fp, #-180]
	str	r3, [sp]
	ldr	r3, [fp, #-184]
	bl	body
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	add	r2, r3, #1
	str	r2, [fp, #-176]
	ldr	r2, [fp, #-168]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	add	r2, r3, #1
	str	r2, [fp, #-176]
	ldr	r2, [fp, #-168]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-176]
	add	r1, r3, #1
	str	r1, [fp, #-176]
	and	r2, r2, #255
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-188]
	mvn	r3, #127
	strb	r3, [fp, #-197]
	mov	r3, #0
	strb	r3, [fp, #-12]
	mov	r3, #2
	str	r3, [fp, #-196]
	b	.L16
.L21:
	mov	r3, #0
	strb	r3, [fp, #-198]
	mov	r3, #0
	str	r3, [fp, #-192]
	b	.L17
.L20:
	ldrb	r3, [fp, #-198]
	lsl	r3, r3, #1
	strb	r3, [fp, #-198]
	sub	r2, fp, #20
	ldr	r3, [fp, #-188]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-197]
	and	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L18
	ldrb	r3, [fp, #-198]
	orr	r3, r3, #1
	strb	r3, [fp, #-198]
.L18:
	ldrb	r3, [fp, #-197]	@ zero_extendqisi2
	lsr	r3, r3, #1
	strb	r3, [fp, #-197]
	ldrb	r3, [fp, #-197]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L19
	ldr	r3, [fp, #-188]
	add	r3, r3, #1
	str	r3, [fp, #-188]
	mvn	r3, #127
	strb	r3, [fp, #-197]
.L19:
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	str	r3, [fp, #-192]
.L17:
	ldr	r3, [fp, #-192]
	cmp	r3, #5
	bls	.L20
	ldrb	r3, [fp, #-198]	@ zero_extendqisi2
	ldr	r2, .L25+12
	ldrb	r1, [r2, r3]	@ zero_extendqisi2
	ldr	r2, .L25+4
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-196]
	add	r3, r3, #1
	str	r3, [fp, #-196]
.L16:
	ldr	r3, [fp, #-196]
	cmp	r3, #12
	bls	.L21
	ldr	r3, .L25+4
	ldr	r2, .L25
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L23
	bl	__stack_chk_fail
.L23:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	.LC0
	.word	buff.4639
	.word	con_salt
	.word	cov_2char
	.size	crypt, .-crypt
	.align	2
	.global	body
	.syntax unified
	.arm
	.fpu softvfp
	.type	body, %function
body:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #20
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	mov	r6, #0
	mov	r5, #0
	ldr	r10, [fp, #-48]
	ldr	r3, [fp, #-52]
	mov	r0, r3
	ldr	r3, [fp, #4]
	mov	ip, r3
	mov	r3, #0
	mov	lr, r3
	b	.L28
.L31:
	mov	r9, #0
	b	.L29
.L30:
	ror	r4, r5, #31
	lsr	r3, r4, #16
	eor	r8, r4, r3
	and	r7, r8, r0
	and	r8, r8, ip
	lsl	r3, r7, #16
	eor	r3, r3, r7
	eor	r2, r4, r3
	mov	r3, r9
	lsl	r3, r3, #2
	add	r3, r10, r3
	ldr	r3, [r3]
	eor	r7, r2, r3
	lsl	r3, r8, #16
	eor	r3, r3, r8
	eor	r2, r4, r3
	mov	r3, r9
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r10, r3
	ldr	r3, [r3]
	eor	r4, r2, r3
	ror	r4, r4, #4
	and	r3, r4, #63
	ldr	r2, .L33
	add	r3, r3, #64
	ldr	r2, [r2, r3, lsl #2]
	lsr	r3, r4, #8
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #16
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #24
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	and	r3, r7, #63
	ldr	r1, .L33
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #8
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #16
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #256
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #24
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	eor	r6, r6, r3
	ror	r4, r6, #31
	lsr	r3, r4, #16
	eor	r8, r4, r3
	and	r7, r8, r0
	and	r8, r8, ip
	lsl	r3, r7, #16
	eor	r3, r3, r7
	eor	r2, r4, r3
	mov	r3, r9
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r10, r3
	ldr	r3, [r3]
	eor	r7, r2, r3
	lsl	r3, r8, #16
	eor	r3, r3, r8
	eor	r2, r4, r3
	mov	r3, r9
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r10, r3
	ldr	r3, [r3]
	eor	r4, r2, r3
	ror	r4, r4, #4
	and	r3, r4, #63
	ldr	r2, .L33
	add	r3, r3, #64
	ldr	r2, [r2, r3, lsl #2]
	lsr	r3, r4, #8
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #192
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #16
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #320
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r4, #24
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #448
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	and	r3, r7, #63
	ldr	r1, .L33
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #8
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #128
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #16
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #256
	ldr	r3, [r1, r3, lsl #2]
	orr	r2, r2, r3
	lsr	r3, r7, #24
	and	r3, r3, #63
	ldr	r1, .L33
	add	r3, r3, #384
	ldr	r3, [r1, r3, lsl #2]
	orr	r3, r2, r3
	eor	r5, r5, r3
	add	r9, r9, #4
.L29:
	cmp	r9, #31
	ble	.L30
	mov	r4, r6
	mov	r6, r5
	mov	r5, r4
	mov	r3, lr
	add	r3, r3, #1
	mov	lr, r3
.L28:
	mov	r3, lr
	cmp	r3, #24
	ble	.L31
	mov	r4, r6
	mov	r6, r5
	mov	r5, r4
	lsr	r3, r5, #1
	eor	r3, r3, r6
	ldr	r4, .L33+4
	and	r4, r4, r3
	eor	r6, r6, r4
	lsl	r3, r4, #1
	eor	r5, r5, r3
	lsr	r3, r6, #8
	eor	r3, r3, r5
	bic	r4, r3, #-16777216
	bic	r4, r4, #65280
	eor	r5, r5, r4
	lsl	r3, r4, #8
	eor	r6, r6, r3
	lsr	r3, r5, #2
	eor	r3, r3, r6
	ldr	r4, .L33+8
	and	r4, r4, r3
	eor	r6, r6, r4
	lsl	r3, r4, #2
	eor	r5, r5, r3
	lsr	r3, r6, #16
	eor	r3, r3, r5
	lsl	r4, r3, #16
	lsr	r4, r4, #16
	eor	r5, r5, r4
	lsl	r3, r4, #16
	eor	r6, r6, r3
	lsr	r3, r5, #4
	eor	r3, r3, r6
	ldr	r4, .L33+12
	and	r4, r4, r3
	eor	r6, r6, r4
	lsl	r3, r4, #4
	eor	r5, r5, r3
	ldr	r3, [fp, #-40]
	str	r6, [r3]
	ldr	r3, [fp, #-44]
	str	r5, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L34:
	.align	2
.L33:
	.word	SPtrans
	.word	1431655765
	.word	858993459
	.word	252645135
	.size	body, .-body
	.local	buff.4639
	.comm	buff.4639,20,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
