-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathctarget.asm
More file actions
2126 lines (2048 loc) · 106 KB
/
ctarget.asm
File metadata and controls
2126 lines (2048 loc) · 106 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ctarget: file format elf64-x86-64
Disassembly of section .init:
0000000000400b58 <_init>:
400b58: 48 83 ec 08 sub $0x8,%rsp
400b5c: e8 5b 02 00 00 callq 400dbc <call_gmon_start>
400b61: e8 ea 02 00 00 callq 400e50 <frame_dummy>
400b66: e8 f5 1e 00 00 callq 402a60 <__do_global_ctors_aux>
400b6b: 48 83 c4 08 add $0x8,%rsp
400b6f: c3 retq
Disassembly of section .plt:
0000000000400b70 <printf@plt-0x10>:
400b70: ff 35 ea 2f 20 00 pushq 0x202fea(%rip) # 603b60 <_GLOBAL_OFFSET_TABLE_+0x8>
400b76: ff 25 ec 2f 20 00 jmpq *0x202fec(%rip) # 603b68 <_GLOBAL_OFFSET_TABLE_+0x10>
400b7c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400b80 <printf@plt>:
400b80: ff 25 ea 2f 20 00 jmpq *0x202fea(%rip) # 603b70 <_GLOBAL_OFFSET_TABLE_+0x18>
400b86: 68 00 00 00 00 pushq $0x0
400b8b: e9 e0 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400b90 <memset@plt>:
400b90: ff 25 e2 2f 20 00 jmpq *0x202fe2(%rip) # 603b78 <_GLOBAL_OFFSET_TABLE_+0x20>
400b96: 68 01 00 00 00 pushq $0x1
400b9b: e9 d0 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400ba0 <close@plt>:
400ba0: ff 25 da 2f 20 00 jmpq *0x202fda(%rip) # 603b80 <_GLOBAL_OFFSET_TABLE_+0x28>
400ba6: 68 02 00 00 00 pushq $0x2
400bab: e9 c0 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400bb0 <gethostbyname@plt>:
400bb0: ff 25 d2 2f 20 00 jmpq *0x202fd2(%rip) # 603b88 <_GLOBAL_OFFSET_TABLE_+0x30>
400bb6: 68 03 00 00 00 pushq $0x3
400bbb: e9 b0 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400bc0 <puts@plt>:
400bc0: ff 25 ca 2f 20 00 jmpq *0x202fca(%rip) # 603b90 <_GLOBAL_OFFSET_TABLE_+0x38>
400bc6: 68 04 00 00 00 pushq $0x4
400bcb: e9 a0 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400bd0 <__isoc99_sscanf@plt>:
400bd0: ff 25 c2 2f 20 00 jmpq *0x202fc2(%rip) # 603b98 <_GLOBAL_OFFSET_TABLE_+0x40>
400bd6: 68 05 00 00 00 pushq $0x5
400bdb: e9 90 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400be0 <exit@plt>:
400be0: ff 25 ba 2f 20 00 jmpq *0x202fba(%rip) # 603ba0 <_GLOBAL_OFFSET_TABLE_+0x48>
400be6: 68 06 00 00 00 pushq $0x6
400beb: e9 80 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400bf0 <strcasecmp@plt>:
400bf0: ff 25 b2 2f 20 00 jmpq *0x202fb2(%rip) # 603ba8 <_GLOBAL_OFFSET_TABLE_+0x50>
400bf6: 68 07 00 00 00 pushq $0x7
400bfb: e9 70 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c00 <getopt@plt>:
400c00: ff 25 aa 2f 20 00 jmpq *0x202faa(%rip) # 603bb0 <_GLOBAL_OFFSET_TABLE_+0x58>
400c06: 68 08 00 00 00 pushq $0x8
400c0b: e9 60 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c10 <read@plt>:
400c10: ff 25 a2 2f 20 00 jmpq *0x202fa2(%rip) # 603bb8 <_GLOBAL_OFFSET_TABLE_+0x60>
400c16: 68 09 00 00 00 pushq $0x9
400c1b: e9 50 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c20 <strncmp@plt>:
400c20: ff 25 9a 2f 20 00 jmpq *0x202f9a(%rip) # 603bc0 <_GLOBAL_OFFSET_TABLE_+0x68>
400c26: 68 0a 00 00 00 pushq $0xa
400c2b: e9 40 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c30 <fopen@plt>:
400c30: ff 25 92 2f 20 00 jmpq *0x202f92(%rip) # 603bc8 <_GLOBAL_OFFSET_TABLE_+0x70>
400c36: 68 0b 00 00 00 pushq $0xb
400c3b: e9 30 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c40 <__libc_start_main@plt>:
400c40: ff 25 8a 2f 20 00 jmpq *0x202f8a(%rip) # 603bd0 <_GLOBAL_OFFSET_TABLE_+0x78>
400c46: 68 0c 00 00 00 pushq $0xc
400c4b: e9 20 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c50 <srandom@plt>:
400c50: ff 25 82 2f 20 00 jmpq *0x202f82(%rip) # 603bd8 <_GLOBAL_OFFSET_TABLE_+0x80>
400c56: 68 0d 00 00 00 pushq $0xd
400c5b: e9 10 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c60 <_IO_getc@plt>:
400c60: ff 25 7a 2f 20 00 jmpq *0x202f7a(%rip) # 603be0 <_GLOBAL_OFFSET_TABLE_+0x88>
400c66: 68 0e 00 00 00 pushq $0xe
400c6b: e9 00 ff ff ff jmpq 400b70 <_init+0x18>
0000000000400c70 <bcopy@plt>:
400c70: ff 25 72 2f 20 00 jmpq *0x202f72(%rip) # 603be8 <_GLOBAL_OFFSET_TABLE_+0x90>
400c76: 68 0f 00 00 00 pushq $0xf
400c7b: e9 f0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400c80 <sprintf@plt>:
400c80: ff 25 6a 2f 20 00 jmpq *0x202f6a(%rip) # 603bf0 <_GLOBAL_OFFSET_TABLE_+0x98>
400c86: 68 10 00 00 00 pushq $0x10
400c8b: e9 e0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400c90 <strtol@plt>:
400c90: ff 25 62 2f 20 00 jmpq *0x202f62(%rip) # 603bf8 <_GLOBAL_OFFSET_TABLE_+0xa0>
400c96: 68 11 00 00 00 pushq $0x11
400c9b: e9 d0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400ca0 <connect@plt>:
400ca0: ff 25 5a 2f 20 00 jmpq *0x202f5a(%rip) # 603c00 <_GLOBAL_OFFSET_TABLE_+0xa8>
400ca6: 68 12 00 00 00 pushq $0x12
400cab: e9 c0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400cb0 <gethostname@plt>:
400cb0: ff 25 52 2f 20 00 jmpq *0x202f52(%rip) # 603c08 <_GLOBAL_OFFSET_TABLE_+0xb0>
400cb6: 68 13 00 00 00 pushq $0x13
400cbb: e9 b0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400cc0 <memcpy@plt>:
400cc0: ff 25 4a 2f 20 00 jmpq *0x202f4a(%rip) # 603c10 <_GLOBAL_OFFSET_TABLE_+0xb8>
400cc6: 68 14 00 00 00 pushq $0x14
400ccb: e9 a0 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400cd0 <signal@plt>:
400cd0: ff 25 42 2f 20 00 jmpq *0x202f42(%rip) # 603c18 <_GLOBAL_OFFSET_TABLE_+0xc0>
400cd6: 68 15 00 00 00 pushq $0x15
400cdb: e9 90 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400ce0 <socket@plt>:
400ce0: ff 25 3a 2f 20 00 jmpq *0x202f3a(%rip) # 603c20 <_GLOBAL_OFFSET_TABLE_+0xc8>
400ce6: 68 16 00 00 00 pushq $0x16
400ceb: e9 80 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400cf0 <alarm@plt>:
400cf0: ff 25 32 2f 20 00 jmpq *0x202f32(%rip) # 603c28 <_GLOBAL_OFFSET_TABLE_+0xd0>
400cf6: 68 17 00 00 00 pushq $0x17
400cfb: e9 70 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d00 <__errno_location@plt>:
400d00: ff 25 2a 2f 20 00 jmpq *0x202f2a(%rip) # 603c30 <_GLOBAL_OFFSET_TABLE_+0xd8>
400d06: 68 18 00 00 00 pushq $0x18
400d0b: e9 60 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d10 <strcpy@plt>:
400d10: ff 25 22 2f 20 00 jmpq *0x202f22(%rip) # 603c38 <_GLOBAL_OFFSET_TABLE_+0xe0>
400d16: 68 19 00 00 00 pushq $0x19
400d1b: e9 50 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d20 <munmap@plt>:
400d20: ff 25 1a 2f 20 00 jmpq *0x202f1a(%rip) # 603c40 <_GLOBAL_OFFSET_TABLE_+0xe8>
400d26: 68 1a 00 00 00 pushq $0x1a
400d2b: e9 40 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d30 <random@plt>:
400d30: ff 25 12 2f 20 00 jmpq *0x202f12(%rip) # 603c48 <_GLOBAL_OFFSET_TABLE_+0xf0>
400d36: 68 1b 00 00 00 pushq $0x1b
400d3b: e9 30 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d40 <fprintf@plt>:
400d40: ff 25 0a 2f 20 00 jmpq *0x202f0a(%rip) # 603c50 <_GLOBAL_OFFSET_TABLE_+0xf8>
400d46: 68 1c 00 00 00 pushq $0x1c
400d4b: e9 20 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d50 <write@plt>:
400d50: ff 25 02 2f 20 00 jmpq *0x202f02(%rip) # 603c58 <_GLOBAL_OFFSET_TABLE_+0x100>
400d56: 68 1d 00 00 00 pushq $0x1d
400d5b: e9 10 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d60 <strtoul@plt>:
400d60: ff 25 fa 2e 20 00 jmpq *0x202efa(%rip) # 603c60 <_GLOBAL_OFFSET_TABLE_+0x108>
400d66: 68 1e 00 00 00 pushq $0x1e
400d6b: e9 00 fe ff ff jmpq 400b70 <_init+0x18>
0000000000400d70 <mmap@plt>:
400d70: ff 25 f2 2e 20 00 jmpq *0x202ef2(%rip) # 603c68 <_GLOBAL_OFFSET_TABLE_+0x110>
400d76: 68 1f 00 00 00 pushq $0x1f
400d7b: e9 f0 fd ff ff jmpq 400b70 <_init+0x18>
0000000000400d80 <time@plt>:
400d80: ff 25 ea 2e 20 00 jmpq *0x202eea(%rip) # 603c70 <_GLOBAL_OFFSET_TABLE_+0x118>
400d86: 68 20 00 00 00 pushq $0x20
400d8b: e9 e0 fd ff ff jmpq 400b70 <_init+0x18>
Disassembly of section .text:
0000000000400d90 <_start>:
400d90: 31 ed xor %ebp,%ebp
400d92: 49 89 d1 mov %rdx,%r9
400d95: 5e pop %rsi
400d96: 48 89 e2 mov %rsp,%rdx
400d99: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
400d9d: 50 push %rax
400d9e: 54 push %rsp
400d9f: 49 c7 c0 c0 29 40 00 mov $0x4029c0,%r8
400da6: 48 c7 c1 d0 29 40 00 mov $0x4029d0,%rcx
400dad: 48 c7 c7 51 10 40 00 mov $0x401051,%rdi
400db4: e8 87 fe ff ff callq 400c40 <__libc_start_main@plt>
400db9: f4 hlt
400dba: 90 nop
400dbb: 90 nop
0000000000400dbc <call_gmon_start>:
400dbc: 48 83 ec 08 sub $0x8,%rsp
400dc0: 48 8b 05 89 2d 20 00 mov 0x202d89(%rip),%rax # 603b50 <_DYNAMIC+0x190>
400dc7: 48 85 c0 test %rax,%rax
400dca: 74 02 je 400dce <call_gmon_start+0x12>
400dcc: ff d0 callq *%rax
400dce: 48 83 c4 08 add $0x8,%rsp
400dd2: c3 retq
400dd3: 90 nop
400dd4: 90 nop
400dd5: 90 nop
400dd6: 90 nop
400dd7: 90 nop
400dd8: 90 nop
400dd9: 90 nop
400dda: 90 nop
400ddb: 90 nop
400ddc: 90 nop
400ddd: 90 nop
400dde: 90 nop
400ddf: 90 nop
0000000000400de0 <__do_global_dtors_aux>:
400de0: 55 push %rbp
400de1: 48 89 e5 mov %rsp,%rbp
400de4: 53 push %rbx
400de5: 48 83 ec 08 sub $0x8,%rsp
400de9: 80 3d 60 32 20 00 00 cmpb $0x0,0x203260(%rip) # 604050 <completed.6352>
400df0: 75 4b jne 400e3d <__do_global_dtors_aux+0x5d>
400df2: bb b0 39 60 00 mov $0x6039b0,%ebx
400df7: 48 8b 05 5a 32 20 00 mov 0x20325a(%rip),%rax # 604058 <dtor_idx.6354>
400dfe: 48 81 eb a8 39 60 00 sub $0x6039a8,%rbx
400e05: 48 c1 fb 03 sar $0x3,%rbx
400e09: 48 83 eb 01 sub $0x1,%rbx
400e0d: 48 39 d8 cmp %rbx,%rax
400e10: 73 24 jae 400e36 <__do_global_dtors_aux+0x56>
400e12: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
400e18: 48 83 c0 01 add $0x1,%rax
400e1c: 48 89 05 35 32 20 00 mov %rax,0x203235(%rip) # 604058 <dtor_idx.6354>
400e23: ff 14 c5 a8 39 60 00 callq *0x6039a8(,%rax,8)
400e2a: 48 8b 05 27 32 20 00 mov 0x203227(%rip),%rax # 604058 <dtor_idx.6354>
400e31: 48 39 d8 cmp %rbx,%rax
400e34: 72 e2 jb 400e18 <__do_global_dtors_aux+0x38>
400e36: c6 05 13 32 20 00 01 movb $0x1,0x203213(%rip) # 604050 <completed.6352>
400e3d: 48 83 c4 08 add $0x8,%rsp
400e41: 5b pop %rbx
400e42: c9 leaveq
400e43: c3 retq
400e44: 66 66 66 2e 0f 1f 84 data32 data32 nopw %cs:0x0(%rax,%rax,1)
400e4b: 00 00 00 00 00
0000000000400e50 <frame_dummy>:
400e50: 48 83 3d 60 2b 20 00 cmpq $0x0,0x202b60(%rip) # 6039b8 <__JCR_END__>
400e57: 00
400e58: 55 push %rbp
400e59: 48 89 e5 mov %rsp,%rbp
400e5c: 74 12 je 400e70 <frame_dummy+0x20>
400e5e: b8 00 00 00 00 mov $0x0,%eax
400e63: 48 85 c0 test %rax,%rax
400e66: 74 08 je 400e70 <frame_dummy+0x20>
400e68: bf b8 39 60 00 mov $0x6039b8,%edi
400e6d: c9 leaveq
400e6e: ff e0 jmpq *%rax
400e70: c9 leaveq
400e71: c3 retq
400e72: 90 nop
400e73: 90 nop
400e74: 90 nop
400e75: 90 nop
400e76: 90 nop
400e77: 90 nop
400e78: 90 nop
400e79: 90 nop
400e7a: 90 nop
400e7b: 90 nop
400e7c: 90 nop
400e7d: 90 nop
400e7e: 90 nop
400e7f: 90 nop
0000000000400e80 <usage>:
400e80: 48 83 ec 08 sub $0x8,%rsp
400e84: 48 89 fe mov %rdi,%rsi
400e87: 83 3d d2 31 20 00 00 cmpl $0x0,0x2031d2(%rip) # 604060 <is_checker>
400e8e: 74 39 je 400ec9 <usage+0x49>
400e90: bf c0 2a 40 00 mov $0x402ac0,%edi
400e95: b8 00 00 00 00 mov $0x0,%eax
400e9a: e8 e1 fc ff ff callq 400b80 <printf@plt>
400e9f: bf f8 2a 40 00 mov $0x402af8,%edi
400ea4: e8 17 fd ff ff callq 400bc0 <puts@plt>
400ea9: bf 70 2c 40 00 mov $0x402c70,%edi
400eae: e8 0d fd ff ff callq 400bc0 <puts@plt>
400eb3: bf 20 2b 40 00 mov $0x402b20,%edi
400eb8: e8 03 fd ff ff callq 400bc0 <puts@plt>
400ebd: bf 8a 2c 40 00 mov $0x402c8a,%edi
400ec2: e8 f9 fc ff ff callq 400bc0 <puts@plt>
400ec7: eb 2d jmp 400ef6 <usage+0x76>
400ec9: bf a6 2c 40 00 mov $0x402ca6,%edi
400ece: b8 00 00 00 00 mov $0x0,%eax
400ed3: e8 a8 fc ff ff callq 400b80 <printf@plt>
400ed8: bf 48 2b 40 00 mov $0x402b48,%edi
400edd: e8 de fc ff ff callq 400bc0 <puts@plt>
400ee2: bf 70 2b 40 00 mov $0x402b70,%edi
400ee7: e8 d4 fc ff ff callq 400bc0 <puts@plt>
400eec: bf c4 2c 40 00 mov $0x402cc4,%edi
400ef1: e8 ca fc ff ff callq 400bc0 <puts@plt>
400ef6: bf 00 00 00 00 mov $0x0,%edi
400efb: e8 e0 fc ff ff callq 400be0 <exit@plt>
0000000000400f00 <initialize_target>:
400f00: 55 push %rbp
400f01: 53 push %rbx
400f02: 48 81 ec 08 21 00 00 sub $0x2108,%rsp
400f09: 89 f3 mov %esi,%ebx
400f0b: 89 3d 5f 31 20 00 mov %edi,0x20315f(%rip) # 604070 <check_level>
400f11: 8b 3d d1 30 20 00 mov 0x2030d1(%rip),%edi # 603fe8 <target_id>
400f17: e8 7e 1a 00 00 callq 40299a <gencookie>
400f1c: 89 05 42 31 20 00 mov %eax,0x203142(%rip) # 604064 <cookie>
400f22: 89 c7 mov %eax,%edi
400f24: e8 71 1a 00 00 callq 40299a <gencookie>
400f29: 89 05 39 31 20 00 mov %eax,0x203139(%rip) # 604068 <authkey>
400f2f: 8b 3d b3 30 20 00 mov 0x2030b3(%rip),%edi # 603fe8 <target_id>
400f35: 83 c7 01 add $0x1,%edi
400f38: e8 13 fd ff ff callq 400c50 <srandom@plt>
400f3d: e8 ee fd ff ff callq 400d30 <random@plt>
400f42: 89 c7 mov %eax,%edi
400f44: e8 df 02 00 00 callq 401228 <scramble>
400f49: 89 c5 mov %eax,%ebp
400f4b: b8 00 00 00 00 mov $0x0,%eax
400f50: 85 db test %ebx,%ebx
400f52: 74 16 je 400f6a <initialize_target+0x6a>
400f54: bf 00 00 00 00 mov $0x0,%edi
400f59: e8 22 fe ff ff callq 400d80 <time@plt>
400f5e: 89 c7 mov %eax,%edi
400f60: e8 eb fc ff ff callq 400c50 <srandom@plt>
400f65: e8 c6 fd ff ff callq 400d30 <random@plt>
400f6a: 01 e8 add %ebp,%eax
400f6c: 0f b7 c0 movzwl %ax,%eax
400f6f: 48 8d 04 c5 00 01 00 lea 0x100(,%rax,8),%rax
400f76: 00
400f77: 48 89 05 7a 30 20 00 mov %rax,0x20307a(%rip) # 603ff8 <buf_offset>
400f7e: c6 05 1f 3d 20 00 63 movb $0x63,0x203d1f(%rip) # 604ca4 <target_prefix>
400f85: 83 3d 74 30 20 00 00 cmpl $0x0,0x203074(%rip) # 604000 <notify>
400f8c: 0f 84 b5 00 00 00 je 401047 <initialize_target+0x147>
400f92: 83 3d c7 30 20 00 00 cmpl $0x0,0x2030c7(%rip) # 604060 <is_checker>
400f99: 0f 85 a8 00 00 00 jne 401047 <initialize_target+0x147>
400f9f: 48 8d bc 24 00 20 00 lea 0x2000(%rsp),%rdi
400fa6: 00
400fa7: be 00 01 00 00 mov $0x100,%esi
400fac: e8 ff fc ff ff callq 400cb0 <gethostname@plt>
400fb1: 85 c0 test %eax,%eax
400fb3: 75 1b jne 400fd0 <initialize_target+0xd0>
400fb5: 48 8b 3d 04 2d 20 00 mov 0x202d04(%rip),%rdi # 603cc0 <host_table>
400fbc: bb c8 3c 60 00 mov $0x603cc8,%ebx
400fc1: 48 8d ac 24 00 20 00 lea 0x2000(%rsp),%rbp
400fc8: 00
400fc9: 48 85 ff test %rdi,%rdi
400fcc: 75 16 jne 400fe4 <initialize_target+0xe4>
400fce: eb 56 jmp 401026 <initialize_target+0x126>
400fd0: bf a0 2b 40 00 mov $0x402ba0,%edi
400fd5: e8 e6 fb ff ff callq 400bc0 <puts@plt>
400fda: bf 08 00 00 00 mov $0x8,%edi
400fdf: e8 fc fb ff ff callq 400be0 <exit@plt>
400fe4: 48 89 ee mov %rbp,%rsi
400fe7: e8 04 fc ff ff callq 400bf0 <strcasecmp@plt>
400fec: 85 c0 test %eax,%eax
400fee: 74 0e je 400ffe <initialize_target+0xfe>
400ff0: 48 8b 3b mov (%rbx),%rdi
400ff3: 48 83 c3 08 add $0x8,%rbx
400ff7: 48 85 ff test %rdi,%rdi
400ffa: 75 e8 jne 400fe4 <initialize_target+0xe4>
400ffc: eb 28 jmp 401026 <initialize_target+0x126>
400ffe: 48 89 e7 mov %rsp,%rdi
401001: e8 5a 0f 00 00 callq 401f60 <init_driver>
401006: 85 c0 test %eax,%eax
401008: 79 3d jns 401047 <initialize_target+0x147>
40100a: 48 89 e6 mov %rsp,%rsi
40100d: bf d8 2b 40 00 mov $0x402bd8,%edi
401012: b8 00 00 00 00 mov $0x0,%eax
401017: e8 64 fb ff ff callq 400b80 <printf@plt>
40101c: bf 08 00 00 00 mov $0x8,%edi
401021: e8 ba fb ff ff callq 400be0 <exit@plt>
401026: 48 8d b4 24 00 20 00 lea 0x2000(%rsp),%rsi
40102d: 00
40102e: bf 00 2c 40 00 mov $0x402c00,%edi
401033: b8 00 00 00 00 mov $0x0,%eax
401038: e8 43 fb ff ff callq 400b80 <printf@plt>
40103d: bf 08 00 00 00 mov $0x8,%edi
401042: e8 99 fb ff ff callq 400be0 <exit@plt>
401047: 48 81 c4 08 21 00 00 add $0x2108,%rsp
40104e: 5b pop %rbx
40104f: 5d pop %rbp
401050: c3 retq
0000000000401051 <main>:
401051: 41 57 push %r15
401053: 41 56 push %r14
401055: 41 55 push %r13
401057: 41 54 push %r12
401059: 55 push %rbp
40105a: 53 push %rbx
40105b: 48 83 ec 08 sub $0x8,%rsp
40105f: 41 89 fc mov %edi,%r12d
401062: 48 89 f3 mov %rsi,%rbx
401065: be 0e 1d 40 00 mov $0x401d0e,%esi
40106a: bf 0b 00 00 00 mov $0xb,%edi
40106f: e8 5c fc ff ff callq 400cd0 <signal@plt>
401074: be 5e 1d 40 00 mov $0x401d5e,%esi
401079: bf 07 00 00 00 mov $0x7,%edi
40107e: e8 4d fc ff ff callq 400cd0 <signal@plt>
401083: be be 1c 40 00 mov $0x401cbe,%esi
401088: bf 04 00 00 00 mov $0x4,%edi
40108d: e8 3e fc ff ff callq 400cd0 <signal@plt>
401092: bd dd 2c 40 00 mov $0x402cdd,%ebp
401097: 83 3d c2 2f 20 00 00 cmpl $0x0,0x202fc2(%rip) # 604060 <is_checker>
40109e: 74 1e je 4010be <main+0x6d>
4010a0: be 6e 1c 40 00 mov $0x401c6e,%esi
4010a5: bf 0e 00 00 00 mov $0xe,%edi
4010aa: e8 21 fc ff ff callq 400cd0 <signal@plt>
4010af: bf 05 00 00 00 mov $0x5,%edi
4010b4: e8 37 fc ff ff callq 400cf0 <alarm@plt>
4010b9: bd e2 2c 40 00 mov $0x402ce2,%ebp
4010be: 48 8b 05 5b 2f 20 00 mov 0x202f5b(%rip),%rax # 604020 <stdin@@GLIBC_2.2.5>
4010c5: 48 89 05 ac 2f 20 00 mov %rax,0x202fac(%rip) # 604078 <infile>
4010cc: 41 be 00 00 00 00 mov $0x0,%r14d
4010d2: 41 bf 00 00 00 00 mov $0x0,%r15d
4010d8: 41 bd 28 2d 40 00 mov $0x402d28,%r13d
4010de: e9 bd 00 00 00 jmpq 4011a0 <main+0x14f>
4010e3: 8d 50 9f lea -0x61(%rax),%edx
4010e6: 80 fa 10 cmp $0x10,%dl
4010e9: 0f 87 97 00 00 00 ja 401186 <main+0x135>
4010ef: 0f b6 d2 movzbl %dl,%edx
4010f2: 41 ff 64 d5 00 jmpq *0x0(%r13,%rdx,8)
4010f7: 48 8b 3b mov (%rbx),%rdi
4010fa: e8 81 fd ff ff callq 400e80 <usage>
4010ff: 90 nop
401100: e9 9b 00 00 00 jmpq 4011a0 <main+0x14f>
401105: be c6 2f 40 00 mov $0x402fc6,%esi
40110a: 48 8b 3d 2f 2f 20 00 mov 0x202f2f(%rip),%rdi # 604040 <optarg@@GLIBC_2.2.5>
401111: e8 1a fb ff ff callq 400c30 <fopen@plt>
401116: 48 89 05 5b 2f 20 00 mov %rax,0x202f5b(%rip) # 604078 <infile>
40111d: 48 85 c0 test %rax,%rax
401120: 75 7e jne 4011a0 <main+0x14f>
401122: 48 8b 15 17 2f 20 00 mov 0x202f17(%rip),%rdx # 604040 <optarg@@GLIBC_2.2.5>
401129: be ea 2c 40 00 mov $0x402cea,%esi
40112e: 48 8b 3d 13 2f 20 00 mov 0x202f13(%rip),%rdi # 604048 <stderr@@GLIBC_2.2.5>
401135: e8 06 fc ff ff callq 400d40 <fprintf@plt>
40113a: b8 01 00 00 00 mov $0x1,%eax
40113f: e9 d3 00 00 00 jmpq 401217 <main+0x1c6>
401144: ba 10 00 00 00 mov $0x10,%edx
401149: be 00 00 00 00 mov $0x0,%esi
40114e: 48 8b 3d eb 2e 20 00 mov 0x202eeb(%rip),%rdi # 604040 <optarg@@GLIBC_2.2.5>
401155: e8 06 fc ff ff callq 400d60 <strtoul@plt>
40115a: 41 89 c7 mov %eax,%r15d
40115d: eb 41 jmp 4011a0 <main+0x14f>
40115f: ba 0a 00 00 00 mov $0xa,%edx
401164: be 00 00 00 00 mov $0x0,%esi
401169: 48 8b 3d d0 2e 20 00 mov 0x202ed0(%rip),%rdi # 604040 <optarg@@GLIBC_2.2.5>
401170: e8 1b fb ff ff callq 400c90 <strtol@plt>
401175: 41 89 c6 mov %eax,%r14d
401178: eb 26 jmp 4011a0 <main+0x14f>
40117a: c7 05 7c 2e 20 00 00 movl $0x0,0x202e7c(%rip) # 604000 <notify>
401181: 00 00 00
401184: eb 1a jmp 4011a0 <main+0x14f>
401186: 0f be f0 movsbl %al,%esi
401189: bf 07 2d 40 00 mov $0x402d07,%edi
40118e: b8 00 00 00 00 mov $0x0,%eax
401193: e8 e8 f9 ff ff callq 400b80 <printf@plt>
401198: 48 8b 3b mov (%rbx),%rdi
40119b: e8 e0 fc ff ff callq 400e80 <usage>
4011a0: 48 89 ea mov %rbp,%rdx
4011a3: 48 89 de mov %rbx,%rsi
4011a6: 44 89 e7 mov %r12d,%edi
4011a9: e8 52 fa ff ff callq 400c00 <getopt@plt>
4011ae: 3c ff cmp $0xff,%al
4011b0: 0f 85 2d ff ff ff jne 4010e3 <main+0x92>
4011b6: be 00 00 00 00 mov $0x0,%esi
4011bb: 44 89 f7 mov %r14d,%edi
4011be: e8 3d fd ff ff callq 400f00 <initialize_target>
4011c3: 83 3d 96 2e 20 00 00 cmpl $0x0,0x202e96(%rip) # 604060 <is_checker>
4011ca: 74 25 je 4011f1 <main+0x1a0>
4011cc: 44 3b 3d 95 2e 20 00 cmp 0x202e95(%rip),%r15d # 604068 <authkey>
4011d3: 74 1c je 4011f1 <main+0x1a0>
4011d5: 44 89 fe mov %r15d,%esi
4011d8: bf 40 2c 40 00 mov $0x402c40,%edi
4011dd: b8 00 00 00 00 mov $0x0,%eax
4011e2: e8 99 f9 ff ff callq 400b80 <printf@plt>
4011e7: b8 00 00 00 00 mov $0x0,%eax
4011ec: e8 7f 07 00 00 callq 401970 <check_fail>
4011f1: 8b 35 6d 2e 20 00 mov 0x202e6d(%rip),%esi # 604064 <cookie>
4011f7: bf 1a 2d 40 00 mov $0x402d1a,%edi
4011fc: b8 00 00 00 00 mov $0x0,%eax
401201: e8 7a f9 ff ff callq 400b80 <printf@plt>
401206: 48 8b 3d eb 2d 20 00 mov 0x202deb(%rip),%rdi # 603ff8 <buf_offset>
40120d: e8 10 08 00 00 callq 401a22 <stable_launch>
401212: b8 00 00 00 00 mov $0x0,%eax
401217: 48 83 c4 08 add $0x8,%rsp
40121b: 5b pop %rbx
40121c: 5d pop %rbp
40121d: 41 5c pop %r12
40121f: 41 5d pop %r13
401221: 41 5e pop %r14
401223: 41 5f pop %r15
401225: c3 retq
401226: 90 nop
401227: 90 nop
0000000000401228 <scramble>:
401228: b8 00 00 00 00 mov $0x0,%eax
40122d: 89 c2 mov %eax,%edx
40122f: 89 7c 94 c8 mov %edi,-0x38(%rsp,%rdx,4)
401233: 83 c0 01 add $0x1,%eax
401236: 81 c7 a9 1e 00 00 add $0x1ea9,%edi
40123c: 83 f8 0a cmp $0xa,%eax
40123f: 75 ec jne 40122d <scramble+0x5>
401241: 8b 44 24 d8 mov -0x28(%rsp),%eax
401245: 69 c0 05 e0 00 00 imul $0xe005,%eax,%eax
40124b: 89 44 24 d8 mov %eax,-0x28(%rsp)
40124f: 8b 44 24 e0 mov -0x20(%rsp),%eax
401253: 69 c0 83 b4 00 00 imul $0xb483,%eax,%eax
401259: 89 44 24 e0 mov %eax,-0x20(%rsp)
40125d: 8b 44 24 cc mov -0x34(%rsp),%eax
401261: 69 c0 df 62 00 00 imul $0x62df,%eax,%eax
401267: 89 44 24 cc mov %eax,-0x34(%rsp)
40126b: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40126f: 69 c0 18 c5 00 00 imul $0xc518,%eax,%eax
401275: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401279: 8b 44 24 e8 mov -0x18(%rsp),%eax
40127d: 69 c0 b5 f5 00 00 imul $0xf5b5,%eax,%eax
401283: 89 44 24 e8 mov %eax,-0x18(%rsp)
401287: 8b 44 24 ec mov -0x14(%rsp),%eax
40128b: 69 c0 b5 88 00 00 imul $0x88b5,%eax,%eax
401291: 89 44 24 ec mov %eax,-0x14(%rsp)
401295: 8b 44 24 e0 mov -0x20(%rsp),%eax
401299: 69 c0 2a 6d 00 00 imul $0x6d2a,%eax,%eax
40129f: 89 44 24 e0 mov %eax,-0x20(%rsp)
4012a3: 8b 44 24 d4 mov -0x2c(%rsp),%eax
4012a7: 69 c0 07 c2 00 00 imul $0xc207,%eax,%eax
4012ad: 89 44 24 d4 mov %eax,-0x2c(%rsp)
4012b1: 8b 44 24 e8 mov -0x18(%rsp),%eax
4012b5: 69 c0 eb e7 00 00 imul $0xe7eb,%eax,%eax
4012bb: 89 44 24 e8 mov %eax,-0x18(%rsp)
4012bf: 8b 44 24 d0 mov -0x30(%rsp),%eax
4012c3: 69 c0 69 2b 00 00 imul $0x2b69,%eax,%eax
4012c9: 89 44 24 d0 mov %eax,-0x30(%rsp)
4012cd: 8b 44 24 d4 mov -0x2c(%rsp),%eax
4012d1: 69 c0 83 c0 00 00 imul $0xc083,%eax,%eax
4012d7: 89 44 24 d4 mov %eax,-0x2c(%rsp)
4012db: 8b 44 24 d0 mov -0x30(%rsp),%eax
4012df: 69 c0 08 36 00 00 imul $0x3608,%eax,%eax
4012e5: 89 44 24 d0 mov %eax,-0x30(%rsp)
4012e9: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4012ed: 69 c0 0d 6b 00 00 imul $0x6b0d,%eax,%eax
4012f3: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4012f7: 8b 44 24 e0 mov -0x20(%rsp),%eax
4012fb: 69 c0 64 d1 00 00 imul $0xd164,%eax,%eax
401301: 89 44 24 e0 mov %eax,-0x20(%rsp)
401305: 8b 44 24 e8 mov -0x18(%rsp),%eax
401309: 69 c0 a7 e5 00 00 imul $0xe5a7,%eax,%eax
40130f: 89 44 24 e8 mov %eax,-0x18(%rsp)
401313: 8b 44 24 d8 mov -0x28(%rsp),%eax
401317: 69 c0 cf ba 00 00 imul $0xbacf,%eax,%eax
40131d: 89 44 24 d8 mov %eax,-0x28(%rsp)
401321: 8b 44 24 d0 mov -0x30(%rsp),%eax
401325: 69 c0 58 0e 00 00 imul $0xe58,%eax,%eax
40132b: 89 44 24 d0 mov %eax,-0x30(%rsp)
40132f: 8b 44 24 e8 mov -0x18(%rsp),%eax
401333: 69 c0 a2 c4 00 00 imul $0xc4a2,%eax,%eax
401339: 89 44 24 e8 mov %eax,-0x18(%rsp)
40133d: 8b 44 24 c8 mov -0x38(%rsp),%eax
401341: 69 c0 96 bd 00 00 imul $0xbd96,%eax,%eax
401347: 89 44 24 c8 mov %eax,-0x38(%rsp)
40134b: 8b 44 24 cc mov -0x34(%rsp),%eax
40134f: 69 c0 43 13 00 00 imul $0x1343,%eax,%eax
401355: 89 44 24 cc mov %eax,-0x34(%rsp)
401359: 8b 44 24 d0 mov -0x30(%rsp),%eax
40135d: 69 c0 d4 e2 00 00 imul $0xe2d4,%eax,%eax
401363: 89 44 24 d0 mov %eax,-0x30(%rsp)
401367: 8b 44 24 ec mov -0x14(%rsp),%eax
40136b: 69 c0 d0 c5 00 00 imul $0xc5d0,%eax,%eax
401371: 89 44 24 ec mov %eax,-0x14(%rsp)
401375: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401379: 69 c0 ac 50 00 00 imul $0x50ac,%eax,%eax
40137f: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401383: 8b 44 24 d4 mov -0x2c(%rsp),%eax
401387: 69 c0 bc a1 00 00 imul $0xa1bc,%eax,%eax
40138d: 89 44 24 d4 mov %eax,-0x2c(%rsp)
401391: 8b 44 24 cc mov -0x34(%rsp),%eax
401395: 69 c0 7a 74 00 00 imul $0x747a,%eax,%eax
40139b: 89 44 24 cc mov %eax,-0x34(%rsp)
40139f: 8b 44 24 dc mov -0x24(%rsp),%eax
4013a3: 69 c0 69 14 00 00 imul $0x1469,%eax,%eax
4013a9: 89 44 24 dc mov %eax,-0x24(%rsp)
4013ad: 8b 44 24 d0 mov -0x30(%rsp),%eax
4013b1: 69 c0 b4 92 00 00 imul $0x92b4,%eax,%eax
4013b7: 89 44 24 d0 mov %eax,-0x30(%rsp)
4013bb: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4013bf: 69 c0 df 4e 00 00 imul $0x4edf,%eax,%eax
4013c5: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4013c9: 8b 44 24 ec mov -0x14(%rsp),%eax
4013cd: 69 c0 b9 19 00 00 imul $0x19b9,%eax,%eax
4013d3: 89 44 24 ec mov %eax,-0x14(%rsp)
4013d7: 8b 44 24 e8 mov -0x18(%rsp),%eax
4013db: 69 c0 e8 99 00 00 imul $0x99e8,%eax,%eax
4013e1: 89 44 24 e8 mov %eax,-0x18(%rsp)
4013e5: 8b 44 24 dc mov -0x24(%rsp),%eax
4013e9: 69 c0 42 cb 00 00 imul $0xcb42,%eax,%eax
4013ef: 89 44 24 dc mov %eax,-0x24(%rsp)
4013f3: 8b 44 24 d8 mov -0x28(%rsp),%eax
4013f7: 69 c0 0d c5 00 00 imul $0xc50d,%eax,%eax
4013fd: 89 44 24 d8 mov %eax,-0x28(%rsp)
401401: 8b 44 24 dc mov -0x24(%rsp),%eax
401405: 69 c0 0a c4 00 00 imul $0xc40a,%eax,%eax
40140b: 89 44 24 dc mov %eax,-0x24(%rsp)
40140f: 8b 44 24 e0 mov -0x20(%rsp),%eax
401413: 69 c0 d2 4a 00 00 imul $0x4ad2,%eax,%eax
401419: 89 44 24 e0 mov %eax,-0x20(%rsp)
40141d: 8b 44 24 c8 mov -0x38(%rsp),%eax
401421: 69 c0 6a 13 00 00 imul $0x136a,%eax,%eax
401427: 89 44 24 c8 mov %eax,-0x38(%rsp)
40142b: 8b 44 24 e0 mov -0x20(%rsp),%eax
40142f: 69 c0 eb 34 00 00 imul $0x34eb,%eax,%eax
401435: 89 44 24 e0 mov %eax,-0x20(%rsp)
401439: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40143d: 69 c0 0e fa 00 00 imul $0xfa0e,%eax,%eax
401443: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401447: 8b 44 24 cc mov -0x34(%rsp),%eax
40144b: 69 c0 3d 46 00 00 imul $0x463d,%eax,%eax
401451: 89 44 24 cc mov %eax,-0x34(%rsp)
401455: 8b 44 24 cc mov -0x34(%rsp),%eax
401459: 69 c0 92 82 00 00 imul $0x8292,%eax,%eax
40145f: 89 44 24 cc mov %eax,-0x34(%rsp)
401463: 8b 44 24 d8 mov -0x28(%rsp),%eax
401467: 69 c0 52 83 00 00 imul $0x8352,%eax,%eax
40146d: 89 44 24 d8 mov %eax,-0x28(%rsp)
401471: 8b 44 24 c8 mov -0x38(%rsp),%eax
401475: 69 c0 1e b5 00 00 imul $0xb51e,%eax,%eax
40147b: 89 44 24 c8 mov %eax,-0x38(%rsp)
40147f: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401483: 69 c0 09 2c 00 00 imul $0x2c09,%eax,%eax
401489: 89 44 24 e4 mov %eax,-0x1c(%rsp)
40148d: 8b 44 24 ec mov -0x14(%rsp),%eax
401491: 69 c0 2e e2 00 00 imul $0xe22e,%eax,%eax
401497: 89 44 24 ec mov %eax,-0x14(%rsp)
40149b: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40149f: 69 c0 94 45 00 00 imul $0x4594,%eax,%eax
4014a5: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4014a9: 8b 44 24 d8 mov -0x28(%rsp),%eax
4014ad: 69 c0 2c 9b 00 00 imul $0x9b2c,%eax,%eax
4014b3: 89 44 24 d8 mov %eax,-0x28(%rsp)
4014b7: 8b 44 24 e8 mov -0x18(%rsp),%eax
4014bb: 69 c0 47 fb 00 00 imul $0xfb47,%eax,%eax
4014c1: 89 44 24 e8 mov %eax,-0x18(%rsp)
4014c5: 8b 44 24 c8 mov -0x38(%rsp),%eax
4014c9: 69 c0 34 34 00 00 imul $0x3434,%eax,%eax
4014cf: 89 44 24 c8 mov %eax,-0x38(%rsp)
4014d3: 8b 44 24 c8 mov -0x38(%rsp),%eax
4014d7: 69 c0 09 40 00 00 imul $0x4009,%eax,%eax
4014dd: 89 44 24 c8 mov %eax,-0x38(%rsp)
4014e1: 8b 44 24 dc mov -0x24(%rsp),%eax
4014e5: 69 c0 04 4a 00 00 imul $0x4a04,%eax,%eax
4014eb: 89 44 24 dc mov %eax,-0x24(%rsp)
4014ef: 8b 44 24 e0 mov -0x20(%rsp),%eax
4014f3: 69 c0 de 79 00 00 imul $0x79de,%eax,%eax
4014f9: 89 44 24 e0 mov %eax,-0x20(%rsp)
4014fd: 8b 44 24 dc mov -0x24(%rsp),%eax
401501: 69 c0 f1 e8 00 00 imul $0xe8f1,%eax,%eax
401507: 89 44 24 dc mov %eax,-0x24(%rsp)
40150b: 8b 44 24 c8 mov -0x38(%rsp),%eax
40150f: 69 c0 ac 53 00 00 imul $0x53ac,%eax,%eax
401515: 89 44 24 c8 mov %eax,-0x38(%rsp)
401519: 8b 44 24 c8 mov -0x38(%rsp),%eax
40151d: 69 c0 84 a9 00 00 imul $0xa984,%eax,%eax
401523: 89 44 24 c8 mov %eax,-0x38(%rsp)
401527: 8b 44 24 c8 mov -0x38(%rsp),%eax
40152b: 69 c0 bb 2d 00 00 imul $0x2dbb,%eax,%eax
401531: 89 44 24 c8 mov %eax,-0x38(%rsp)
401535: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401539: 69 c0 e3 81 00 00 imul $0x81e3,%eax,%eax
40153f: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401543: 8b 44 24 e0 mov -0x20(%rsp),%eax
401547: 69 c0 23 23 00 00 imul $0x2323,%eax,%eax
40154d: 89 44 24 e0 mov %eax,-0x20(%rsp)
401551: 8b 44 24 e0 mov -0x20(%rsp),%eax
401555: 69 c0 c9 48 00 00 imul $0x48c9,%eax,%eax
40155b: 89 44 24 e0 mov %eax,-0x20(%rsp)
40155f: 8b 44 24 dc mov -0x24(%rsp),%eax
401563: 69 c0 d5 7e 00 00 imul $0x7ed5,%eax,%eax
401569: 89 44 24 dc mov %eax,-0x24(%rsp)
40156d: 8b 44 24 d4 mov -0x2c(%rsp),%eax
401571: 69 c0 15 ca 00 00 imul $0xca15,%eax,%eax
401577: 89 44 24 d4 mov %eax,-0x2c(%rsp)
40157b: 8b 44 24 e0 mov -0x20(%rsp),%eax
40157f: 69 c0 de 26 00 00 imul $0x26de,%eax,%eax
401585: 89 44 24 e0 mov %eax,-0x20(%rsp)
401589: 8b 44 24 c8 mov -0x38(%rsp),%eax
40158d: 69 c0 e6 a3 00 00 imul $0xa3e6,%eax,%eax
401593: 89 44 24 c8 mov %eax,-0x38(%rsp)
401597: 8b 44 24 c8 mov -0x38(%rsp),%eax
40159b: 69 c0 b0 cb 00 00 imul $0xcbb0,%eax,%eax
4015a1: 89 44 24 c8 mov %eax,-0x38(%rsp)
4015a5: 8b 44 24 ec mov -0x14(%rsp),%eax
4015a9: 69 c0 7a e2 00 00 imul $0xe27a,%eax,%eax
4015af: 89 44 24 ec mov %eax,-0x14(%rsp)
4015b3: 8b 44 24 c8 mov -0x38(%rsp),%eax
4015b7: 69 c0 58 d0 00 00 imul $0xd058,%eax,%eax
4015bd: 89 44 24 c8 mov %eax,-0x38(%rsp)
4015c1: 8b 44 24 e8 mov -0x18(%rsp),%eax
4015c5: 69 c0 95 96 00 00 imul $0x9695,%eax,%eax
4015cb: 89 44 24 e8 mov %eax,-0x18(%rsp)
4015cf: 8b 44 24 d8 mov -0x28(%rsp),%eax
4015d3: 69 c0 ec 89 00 00 imul $0x89ec,%eax,%eax
4015d9: 89 44 24 d8 mov %eax,-0x28(%rsp)
4015dd: 8b 44 24 cc mov -0x34(%rsp),%eax
4015e1: 69 c0 ff f8 00 00 imul $0xf8ff,%eax,%eax
4015e7: 89 44 24 cc mov %eax,-0x34(%rsp)
4015eb: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4015ef: 69 c0 86 62 00 00 imul $0x6286,%eax,%eax
4015f5: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4015f9: 8b 44 24 ec mov -0x14(%rsp),%eax
4015fd: 69 c0 83 77 00 00 imul $0x7783,%eax,%eax
401603: 89 44 24 ec mov %eax,-0x14(%rsp)
401607: 8b 44 24 e0 mov -0x20(%rsp),%eax
40160b: 69 c0 99 ce 00 00 imul $0xce99,%eax,%eax
401611: 89 44 24 e0 mov %eax,-0x20(%rsp)
401615: 8b 44 24 d8 mov -0x28(%rsp),%eax
401619: 69 c0 4f 41 00 00 imul $0x414f,%eax,%eax
40161f: 89 44 24 d8 mov %eax,-0x28(%rsp)
401623: 8b 44 24 e8 mov -0x18(%rsp),%eax
401627: 69 c0 68 30 00 00 imul $0x3068,%eax,%eax
40162d: 89 44 24 e8 mov %eax,-0x18(%rsp)
401631: 8b 44 24 cc mov -0x34(%rsp),%eax
401635: 69 c0 e9 40 00 00 imul $0x40e9,%eax,%eax
40163b: 89 44 24 cc mov %eax,-0x34(%rsp)
40163f: 8b 44 24 e0 mov -0x20(%rsp),%eax
401643: 69 c0 10 b5 00 00 imul $0xb510,%eax,%eax
401649: 89 44 24 e0 mov %eax,-0x20(%rsp)
40164d: 8b 44 24 e8 mov -0x18(%rsp),%eax
401651: 69 c0 a7 73 00 00 imul $0x73a7,%eax,%eax
401657: 89 44 24 e8 mov %eax,-0x18(%rsp)
40165b: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40165f: 69 c0 40 70 00 00 imul $0x7040,%eax,%eax
401665: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401669: 8b 44 24 ec mov -0x14(%rsp),%eax
40166d: 69 c0 14 fe 00 00 imul $0xfe14,%eax,%eax
401673: 89 44 24 ec mov %eax,-0x14(%rsp)
401677: 8b 44 24 d4 mov -0x2c(%rsp),%eax
40167b: 69 c0 a7 ef 00 00 imul $0xefa7,%eax,%eax
401681: 89 44 24 d4 mov %eax,-0x2c(%rsp)
401685: 8b 44 24 ec mov -0x14(%rsp),%eax
401689: 69 c0 aa 47 00 00 imul $0x47aa,%eax,%eax
40168f: 89 44 24 ec mov %eax,-0x14(%rsp)
401693: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401697: 69 c0 0d 0d 00 00 imul $0xd0d,%eax,%eax
40169d: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4016a1: 8b 44 24 d8 mov -0x28(%rsp),%eax
4016a5: 69 c0 35 0a 00 00 imul $0xa35,%eax,%eax
4016ab: 89 44 24 d8 mov %eax,-0x28(%rsp)
4016af: 8b 44 24 d0 mov -0x30(%rsp),%eax
4016b3: 69 c0 c6 5d 00 00 imul $0x5dc6,%eax,%eax
4016b9: 89 44 24 d0 mov %eax,-0x30(%rsp)
4016bd: 8b 44 24 e8 mov -0x18(%rsp),%eax
4016c1: 69 c0 93 74 00 00 imul $0x7493,%eax,%eax
4016c7: 89 44 24 e8 mov %eax,-0x18(%rsp)
4016cb: 8b 44 24 c8 mov -0x38(%rsp),%eax
4016cf: 69 c0 b7 a5 00 00 imul $0xa5b7,%eax,%eax
4016d5: 89 44 24 c8 mov %eax,-0x38(%rsp)
4016d9: 8b 44 24 e8 mov -0x18(%rsp),%eax
4016dd: 69 c0 8e 50 00 00 imul $0x508e,%eax,%eax
4016e3: 89 44 24 e8 mov %eax,-0x18(%rsp)
4016e7: 8b 44 24 ec mov -0x14(%rsp),%eax
4016eb: 69 c0 7c e5 00 00 imul $0xe57c,%eax,%eax
4016f1: 89 44 24 ec mov %eax,-0x14(%rsp)
4016f5: 8b 44 24 dc mov -0x24(%rsp),%eax
4016f9: 69 c0 0d 66 00 00 imul $0x660d,%eax,%eax
4016ff: 89 44 24 dc mov %eax,-0x24(%rsp)
401703: 8b 44 24 e0 mov -0x20(%rsp),%eax
401707: 69 c0 f5 1b 00 00 imul $0x1bf5,%eax,%eax
40170d: 89 44 24 e0 mov %eax,-0x20(%rsp)
401711: 8b 44 24 dc mov -0x24(%rsp),%eax
401715: 69 c0 22 c5 00 00 imul $0xc522,%eax,%eax
40171b: 89 44 24 dc mov %eax,-0x24(%rsp)
40171f: 8b 44 24 dc mov -0x24(%rsp),%eax
401723: 69 c0 f4 b1 00 00 imul $0xb1f4,%eax,%eax
401729: 89 44 24 dc mov %eax,-0x24(%rsp)
40172d: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401731: 69 c0 f4 ac 00 00 imul $0xacf4,%eax,%eax
401737: 89 44 24 e4 mov %eax,-0x1c(%rsp)
40173b: 8b 44 24 e0 mov -0x20(%rsp),%eax
40173f: 69 c0 56 50 00 00 imul $0x5056,%eax,%eax
401745: 89 44 24 e0 mov %eax,-0x20(%rsp)
401749: 8b 44 24 cc mov -0x34(%rsp),%eax
40174d: 69 c0 26 5e 00 00 imul $0x5e26,%eax,%eax
401753: 89 44 24 cc mov %eax,-0x34(%rsp)
401757: 8b 44 24 e8 mov -0x18(%rsp),%eax
40175b: 69 c0 97 8b 00 00 imul $0x8b97,%eax,%eax
401761: 89 44 24 e8 mov %eax,-0x18(%rsp)
401765: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401769: 69 c0 fc ff 00 00 imul $0xfffc,%eax,%eax
40176f: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401773: 8b 44 24 ec mov -0x14(%rsp),%eax
401777: 69 c0 10 84 00 00 imul $0x8410,%eax,%eax
40177d: 89 44 24 ec mov %eax,-0x14(%rsp)
401781: 8b 44 24 c8 mov -0x38(%rsp),%eax
401785: 69 c0 9f 2f 00 00 imul $0x2f9f,%eax,%eax
40178b: 89 44 24 c8 mov %eax,-0x38(%rsp)
40178f: ba 00 00 00 00 mov $0x0,%edx
401794: b8 00 00 00 00 mov $0x0,%eax
401799: 89 d1 mov %edx,%ecx
40179b: 8b 4c 8c c8 mov -0x38(%rsp,%rcx,4),%ecx
40179f: 01 c8 add %ecx,%eax
4017a1: 83 c2 01 add $0x1,%edx
4017a4: 83 fa 0a cmp $0xa,%edx
4017a7: 75 f0 jne 401799 <scramble+0x571>
4017a9: f3 c3 repz retq
4017ab: 90 nop
00000000004017ac <getbuf>:
4017ac: 48 83 ec 18 sub $0x18,%rsp
4017b0: 48 89 e7 mov %rsp,%rdi
4017b3: e8 f3 06 00 00 callq 401eab <Gets>
4017b8: b8 01 00 00 00 mov $0x1,%eax
4017bd: 48 83 c4 18 add $0x18,%rsp
4017c1: c3 retq
4017c2: 90 nop
4017c3: 90 nop
00000000004017c4 <test>:
4017c4: 48 83 ec 08 sub $0x8,%rsp
4017c8: b8 00 00 00 00 mov $0x0,%eax
4017cd: e8 da ff ff ff callq 4017ac <getbuf>
4017d2: 89 c6 mov %eax,%esi
4017d4: bf e8 2d 40 00 mov $0x402de8,%edi
4017d9: b8 00 00 00 00 mov $0x0,%eax
4017de: e8 9d f3 ff ff callq 400b80 <printf@plt>
4017e3: 48 83 c4 08 add $0x8,%rsp
4017e7: c3 retq
00000000004017e8 <touch2>:
4017e8: 48 83 ec 08 sub $0x8,%rsp
4017ec: 89 fe mov %edi,%esi
4017ee: c7 05 74 28 20 00 02 movl $0x2,0x202874(%rip) # 60406c <vlevel>
4017f5: 00 00 00
4017f8: 3b 3d 66 28 20 00 cmp 0x202866(%rip),%edi # 604064 <cookie>
4017fe: 75 1b jne 40181b <touch2+0x33>
401800: bf 10 2e 40 00 mov $0x402e10,%edi
401805: b8 00 00 00 00 mov $0x0,%eax
40180a: e8 71 f3 ff ff callq 400b80 <printf@plt>
40180f: bf 02 00 00 00 mov $0x2,%edi
401814: e8 bf 05 00 00 callq 401dd8 <validate>
401819: eb 19 jmp 401834 <touch2+0x4c>
40181b: bf 38 2e 40 00 mov $0x402e38,%edi
401820: b8 00 00 00 00 mov $0x0,%eax
401825: e8 56 f3 ff ff callq 400b80 <printf@plt>
40182a: bf 02 00 00 00 mov $0x2,%edi
40182f: e8 7a 05 00 00 callq 401dae <fail>
401834: bf 00 00 00 00 mov $0x0,%edi
401839: e8 a2 f3 ff ff callq 400be0 <exit@plt>
000000000040183e <hexmatch>:
40183e: 48 89 5c 24 e8 mov %rbx,-0x18(%rsp)
401843: 48 89 6c 24 f0 mov %rbp,-0x10(%rsp)
401848: 4c 89 64 24 f8 mov %r12,-0x8(%rsp)
40184d: 48 81 ec 88 00 00 00 sub $0x88,%rsp
401854: 89 fd mov %edi,%ebp
401856: 49 89 f4 mov %rsi,%r12
401859: e8 d2 f4 ff ff callq 400d30 <random@plt>
40185e: 48 89 c1 mov %rax,%rcx
401861: 48 ba 0b d7 a3 70 3d mov $0xa3d70a3d70a3d70b,%rdx
401868: 0a d7 a3
40186b: 48 f7 ea imul %rdx
40186e: 48 01 ca add %rcx,%rdx
401871: 48 c1 fa 06 sar $0x6,%rdx
401875: 48 89 c8 mov %rcx,%rax
401878: 48 c1 f8 3f sar $0x3f,%rax
40187c: 48 29 c2 sub %rax,%rdx
40187f: 48 8d 04 92 lea (%rdx,%rdx,4),%rax
401883: 48 8d 04 80 lea (%rax,%rax,4),%rax
401887: 48 c1 e0 02 shl $0x2,%rax
40188b: 48 29 c1 sub %rax,%rcx
40188e: 48 8d 1c 0c lea (%rsp,%rcx,1),%rbx
401892: 89 ea mov %ebp,%edx
401894: be aa 2e 40 00 mov $0x402eaa,%esi
401899: 48 89 df mov %rbx,%rdi
40189c: b8 00 00 00 00 mov $0x0,%eax
4018a1: e8 da f3 ff ff callq 400c80 <sprintf@plt>
4018a6: ba 09 00 00 00 mov $0x9,%edx
4018ab: 48 89 de mov %rbx,%rsi
4018ae: 4c 89 e7 mov %r12,%rdi
4018b1: e8 6a f3 ff ff callq 400c20 <strncmp@plt>
4018b6: 85 c0 test %eax,%eax
4018b8: 0f 94 c0 sete %al
4018bb: 0f b6 c0 movzbl %al,%eax
4018be: 48 8b 5c 24 70 mov 0x70(%rsp),%rbx
4018c3: 48 8b 6c 24 78 mov 0x78(%rsp),%rbp
4018c8: 4c 8b a4 24 80 00 00 mov 0x80(%rsp),%r12
4018cf: 00
4018d0: 48 81 c4 88 00 00 00 add $0x88,%rsp
4018d7: c3 retq
00000000004018d8 <touch3>:
4018d8: 53 push %rbx
4018d9: 48 89 fb mov %rdi,%rbx
4018dc: c7 05 86 27 20 00 03 movl $0x3,0x202786(%rip) # 60406c <vlevel>
4018e3: 00 00 00
4018e6: 48 89 fe mov %rdi,%rsi
4018e9: 8b 3d 75 27 20 00 mov 0x202775(%rip),%edi # 604064 <cookie>
4018ef: e8 4a ff ff ff callq 40183e <hexmatch>
4018f4: 85 c0 test %eax,%eax
4018f6: 74 1e je 401916 <touch3+0x3e>
4018f8: 48 89 de mov %rbx,%rsi
4018fb: bf 60 2e 40 00 mov $0x402e60,%edi
401900: b8 00 00 00 00 mov $0x0,%eax
401905: e8 76 f2 ff ff callq 400b80 <printf@plt>
40190a: bf 03 00 00 00 mov $0x3,%edi
40190f: e8 c4 04 00 00 callq 401dd8 <validate>
401914: eb 1c jmp 401932 <touch3+0x5a>
401916: 48 89 de mov %rbx,%rsi
401919: bf 88 2e 40 00 mov $0x402e88,%edi
40191e: b8 00 00 00 00 mov $0x0,%eax
401923: e8 58 f2 ff ff callq 400b80 <printf@plt>
401928: bf 03 00 00 00 mov $0x3,%edi
40192d: e8 7c 04 00 00 callq 401dae <fail>
401932: bf 00 00 00 00 mov $0x0,%edi
401937: e8 a4 f2 ff ff callq 400be0 <exit@plt>
000000000040193c <touch1>:
40193c: 48 83 ec 08 sub $0x8,%rsp
401940: c7 05 22 27 20 00 01 movl $0x1,0x202722(%rip) # 60406c <vlevel>
401947: 00 00 00
40194a: bf af 2e 40 00 mov $0x402eaf,%edi
40194f: e8 6c f2 ff ff callq 400bc0 <puts@plt>
401954: bf 01 00 00 00 mov $0x1,%edi
401959: e8 7a 04 00 00 callq 401dd8 <validate>
40195e: bf 00 00 00 00 mov $0x0,%edi
401963: e8 78 f2 ff ff callq 400be0 <exit@plt>
401968: 90 nop
401969: 90 nop
40196a: 90 nop
40196b: 90 nop
40196c: 90 nop
40196d: 90 nop
40196e: 90 nop
40196f: 90 nop
0000000000401970 <check_fail>:
401970: 48 83 ec 08 sub $0x8,%rsp
401974: 0f be 35 29 33 20 00 movsbl 0x203329(%rip),%esi # 604ca4 <target_prefix>
40197b: b9 a0 40 60 00 mov $0x6040a0,%ecx
401980: 8b 15 ea 26 20 00 mov 0x2026ea(%rip),%edx # 604070 <check_level>
401986: bf cc 2e 40 00 mov $0x402ecc,%edi
40198b: b8 00 00 00 00 mov $0x0,%eax
401990: e8 eb f1 ff ff callq 400b80 <printf@plt>
401995: bf 01 00 00 00 mov $0x1,%edi
40199a: e8 41 f2 ff ff callq 400be0 <exit@plt>
000000000040199f <launch>:
40199f: 55 push %rbp
4019a0: 48 89 e5 mov %rsp,%rbp
4019a3: 48 89 fa mov %rdi,%rdx
4019a6: 48 8d 47 1e lea 0x1e(%rdi),%rax
4019aa: 48 83 e0 f0 and $0xfffffffffffffff0,%rax
4019ae: 48 29 c4 sub %rax,%rsp
4019b1: 48 8d 7c 24 0f lea 0xf(%rsp),%rdi
4019b6: 48 83 e7 f0 and $0xfffffffffffffff0,%rdi
4019ba: be f4 00 00 00 mov $0xf4,%esi
4019bf: e8 cc f1 ff ff callq 400b90 <memset@plt>
4019c4: 48 8b 05 55 26 20 00 mov 0x202655(%rip),%rax # 604020 <stdin@@GLIBC_2.2.5>
4019cb: 48 39 05 a6 26 20 00 cmp %rax,0x2026a6(%rip) # 604078 <infile>
4019d2: 75 0f jne 4019e3 <launch+0x44>
4019d4: bf e2 2e 40 00 mov $0x402ee2,%edi
4019d9: b8 00 00 00 00 mov $0x0,%eax
4019de: e8 9d f1 ff ff callq 400b80 <printf@plt>
4019e3: c7 05 7f 26 20 00 00 movl $0x0,0x20267f(%rip) # 60406c <vlevel>
4019ea: 00 00 00
4019ed: b8 00 00 00 00 mov $0x0,%eax
4019f2: e8 cd fd ff ff callq 4017c4 <test>
4019f7: 83 3d 62 26 20 00 00 cmpl $0x0,0x202662(%rip) # 604060 <is_checker>
4019fe: 74 16 je 401a16 <launch+0x77>
401a00: bf ef 2e 40 00 mov $0x402eef,%edi
401a05: e8 b6 f1 ff ff callq 400bc0 <puts@plt>
401a0a: b8 00 00 00 00 mov $0x0,%eax
401a0f: e8 5c ff ff ff callq 401970 <check_fail>
401a14: eb 0a jmp 401a20 <launch+0x81>
401a16: bf fa 2e 40 00 mov $0x402efa,%edi
401a1b: e8 a0 f1 ff ff callq 400bc0 <puts@plt>
401a20: c9 leaveq
401a21: c3 retq
0000000000401a22 <stable_launch>:
401a22: 48 83 ec 08 sub $0x8,%rsp
401a26: 48 89 3d 53 26 20 00 mov %rdi,0x202653(%rip) # 604080 <global_offset>
401a2d: 41 b9 00 00 00 00 mov $0x0,%r9d
401a33: 41 b8 00 00 00 00 mov $0x0,%r8d
401a39: b9 32 01 00 00 mov $0x132,%ecx
401a3e: ba 07 00 00 00 mov $0x7,%edx