forked from Exely/CSAPP-Labs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrtarget.d
2436 lines (2306 loc) · 118 KB
/
rtarget.d
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
rtarget: file format elf64-x86-64
Disassembly of section .init:
0000000000400c48 <_init>:
400c48: 48 83 ec 08 sub $0x8,%rsp
400c4c: e8 6b 02 00 00 callq 400ebc <call_gmon_start>
400c51: 48 83 c4 08 add $0x8,%rsp
400c55: c3 retq
Disassembly of section .plt:
0000000000400c60 <strcasecmp@plt-0x10>:
400c60: ff 35 8a 43 20 00 pushq 0x20438a(%rip) # 604ff0 <_GLOBAL_OFFSET_TABLE_+0x8>
400c66: ff 25 8c 43 20 00 jmpq *0x20438c(%rip) # 604ff8 <_GLOBAL_OFFSET_TABLE_+0x10>
400c6c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400c70 <strcasecmp@plt>:
400c70: ff 25 8a 43 20 00 jmpq *0x20438a(%rip) # 605000 <_GLOBAL_OFFSET_TABLE_+0x18>
400c76: 68 00 00 00 00 pushq $0x0
400c7b: e9 e0 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400c80 <__errno_location@plt>:
400c80: ff 25 82 43 20 00 jmpq *0x204382(%rip) # 605008 <_GLOBAL_OFFSET_TABLE_+0x20>
400c86: 68 01 00 00 00 pushq $0x1
400c8b: e9 d0 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400c90 <srandom@plt>:
400c90: ff 25 7a 43 20 00 jmpq *0x20437a(%rip) # 605010 <_GLOBAL_OFFSET_TABLE_+0x28>
400c96: 68 02 00 00 00 pushq $0x2
400c9b: e9 c0 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400ca0 <strncmp@plt>:
400ca0: ff 25 72 43 20 00 jmpq *0x204372(%rip) # 605018 <_GLOBAL_OFFSET_TABLE_+0x30>
400ca6: 68 03 00 00 00 pushq $0x3
400cab: e9 b0 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400cb0 <strcpy@plt>:
400cb0: ff 25 6a 43 20 00 jmpq *0x20436a(%rip) # 605020 <_GLOBAL_OFFSET_TABLE_+0x38>
400cb6: 68 04 00 00 00 pushq $0x4
400cbb: e9 a0 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400cc0 <puts@plt>:
400cc0: ff 25 62 43 20 00 jmpq *0x204362(%rip) # 605028 <_GLOBAL_OFFSET_TABLE_+0x40>
400cc6: 68 05 00 00 00 pushq $0x5
400ccb: e9 90 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400cd0 <write@plt>:
400cd0: ff 25 5a 43 20 00 jmpq *0x20435a(%rip) # 605030 <_GLOBAL_OFFSET_TABLE_+0x48>
400cd6: 68 06 00 00 00 pushq $0x6
400cdb: e9 80 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400ce0 <__stack_chk_fail@plt>:
400ce0: ff 25 52 43 20 00 jmpq *0x204352(%rip) # 605038 <_GLOBAL_OFFSET_TABLE_+0x50>
400ce6: 68 07 00 00 00 pushq $0x7
400ceb: e9 70 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400cf0 <mmap@plt>:
400cf0: ff 25 4a 43 20 00 jmpq *0x20434a(%rip) # 605040 <_GLOBAL_OFFSET_TABLE_+0x58>
400cf6: 68 08 00 00 00 pushq $0x8
400cfb: e9 60 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d00 <memset@plt>:
400d00: ff 25 42 43 20 00 jmpq *0x204342(%rip) # 605048 <_GLOBAL_OFFSET_TABLE_+0x60>
400d06: 68 09 00 00 00 pushq $0x9
400d0b: e9 50 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d10 <alarm@plt>:
400d10: ff 25 3a 43 20 00 jmpq *0x20433a(%rip) # 605050 <_GLOBAL_OFFSET_TABLE_+0x68>
400d16: 68 0a 00 00 00 pushq $0xa
400d1b: e9 40 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d20 <close@plt>:
400d20: ff 25 32 43 20 00 jmpq *0x204332(%rip) # 605058 <_GLOBAL_OFFSET_TABLE_+0x70>
400d26: 68 0b 00 00 00 pushq $0xb
400d2b: e9 30 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d30 <read@plt>:
400d30: ff 25 2a 43 20 00 jmpq *0x20432a(%rip) # 605060 <_GLOBAL_OFFSET_TABLE_+0x78>
400d36: 68 0c 00 00 00 pushq $0xc
400d3b: e9 20 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d40 <__libc_start_main@plt>:
400d40: ff 25 22 43 20 00 jmpq *0x204322(%rip) # 605068 <_GLOBAL_OFFSET_TABLE_+0x80>
400d46: 68 0d 00 00 00 pushq $0xd
400d4b: e9 10 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d50 <signal@plt>:
400d50: ff 25 1a 43 20 00 jmpq *0x20431a(%rip) # 605070 <_GLOBAL_OFFSET_TABLE_+0x88>
400d56: 68 0e 00 00 00 pushq $0xe
400d5b: e9 00 ff ff ff jmpq 400c60 <_init+0x18>
0000000000400d60 <gethostbyname@plt>:
400d60: ff 25 12 43 20 00 jmpq *0x204312(%rip) # 605078 <_GLOBAL_OFFSET_TABLE_+0x90>
400d66: 68 0f 00 00 00 pushq $0xf
400d6b: e9 f0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400d70 <__memmove_chk@plt>:
400d70: ff 25 0a 43 20 00 jmpq *0x20430a(%rip) # 605080 <_GLOBAL_OFFSET_TABLE_+0x98>
400d76: 68 10 00 00 00 pushq $0x10
400d7b: e9 e0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400d80 <strtol@plt>:
400d80: ff 25 02 43 20 00 jmpq *0x204302(%rip) # 605088 <_GLOBAL_OFFSET_TABLE_+0xa0>
400d86: 68 11 00 00 00 pushq $0x11
400d8b: e9 d0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400d90 <memcpy@plt>:
400d90: ff 25 fa 42 20 00 jmpq *0x2042fa(%rip) # 605090 <_GLOBAL_OFFSET_TABLE_+0xa8>
400d96: 68 12 00 00 00 pushq $0x12
400d9b: e9 c0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400da0 <time@plt>:
400da0: ff 25 f2 42 20 00 jmpq *0x2042f2(%rip) # 605098 <_GLOBAL_OFFSET_TABLE_+0xb0>
400da6: 68 13 00 00 00 pushq $0x13
400dab: e9 b0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400db0 <random@plt>:
400db0: ff 25 ea 42 20 00 jmpq *0x2042ea(%rip) # 6050a0 <_GLOBAL_OFFSET_TABLE_+0xb8>
400db6: 68 14 00 00 00 pushq $0x14
400dbb: e9 a0 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400dc0 <_IO_getc@plt>:
400dc0: ff 25 e2 42 20 00 jmpq *0x2042e2(%rip) # 6050a8 <_GLOBAL_OFFSET_TABLE_+0xc0>
400dc6: 68 15 00 00 00 pushq $0x15
400dcb: e9 90 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400dd0 <__isoc99_sscanf@plt>:
400dd0: ff 25 da 42 20 00 jmpq *0x2042da(%rip) # 6050b0 <_GLOBAL_OFFSET_TABLE_+0xc8>
400dd6: 68 16 00 00 00 pushq $0x16
400ddb: e9 80 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400de0 <munmap@plt>:
400de0: ff 25 d2 42 20 00 jmpq *0x2042d2(%rip) # 6050b8 <_GLOBAL_OFFSET_TABLE_+0xd0>
400de6: 68 17 00 00 00 pushq $0x17
400deb: e9 70 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400df0 <__printf_chk@plt>:
400df0: ff 25 ca 42 20 00 jmpq *0x2042ca(%rip) # 6050c0 <_GLOBAL_OFFSET_TABLE_+0xd8>
400df6: 68 18 00 00 00 pushq $0x18
400dfb: e9 60 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e00 <fopen@plt>:
400e00: ff 25 c2 42 20 00 jmpq *0x2042c2(%rip) # 6050c8 <_GLOBAL_OFFSET_TABLE_+0xe0>
400e06: 68 19 00 00 00 pushq $0x19
400e0b: e9 50 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e10 <getopt@plt>:
400e10: ff 25 ba 42 20 00 jmpq *0x2042ba(%rip) # 6050d0 <_GLOBAL_OFFSET_TABLE_+0xe8>
400e16: 68 1a 00 00 00 pushq $0x1a
400e1b: e9 40 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e20 <strtoul@plt>:
400e20: ff 25 b2 42 20 00 jmpq *0x2042b2(%rip) # 6050d8 <_GLOBAL_OFFSET_TABLE_+0xf0>
400e26: 68 1b 00 00 00 pushq $0x1b
400e2b: e9 30 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e30 <gethostname@plt>:
400e30: ff 25 aa 42 20 00 jmpq *0x2042aa(%rip) # 6050e0 <_GLOBAL_OFFSET_TABLE_+0xf8>
400e36: 68 1c 00 00 00 pushq $0x1c
400e3b: e9 20 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e40 <exit@plt>:
400e40: ff 25 a2 42 20 00 jmpq *0x2042a2(%rip) # 6050e8 <_GLOBAL_OFFSET_TABLE_+0x100>
400e46: 68 1d 00 00 00 pushq $0x1d
400e4b: e9 10 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e50 <connect@plt>:
400e50: ff 25 9a 42 20 00 jmpq *0x20429a(%rip) # 6050f0 <_GLOBAL_OFFSET_TABLE_+0x108>
400e56: 68 1e 00 00 00 pushq $0x1e
400e5b: e9 00 fe ff ff jmpq 400c60 <_init+0x18>
0000000000400e60 <__fprintf_chk@plt>:
400e60: ff 25 92 42 20 00 jmpq *0x204292(%rip) # 6050f8 <_GLOBAL_OFFSET_TABLE_+0x110>
400e66: 68 1f 00 00 00 pushq $0x1f
400e6b: e9 f0 fd ff ff jmpq 400c60 <_init+0x18>
0000000000400e70 <__sprintf_chk@plt>:
400e70: ff 25 8a 42 20 00 jmpq *0x20428a(%rip) # 605100 <_GLOBAL_OFFSET_TABLE_+0x118>
400e76: 68 20 00 00 00 pushq $0x20
400e7b: e9 e0 fd ff ff jmpq 400c60 <_init+0x18>
0000000000400e80 <socket@plt>:
400e80: ff 25 82 42 20 00 jmpq *0x204282(%rip) # 605108 <_GLOBAL_OFFSET_TABLE_+0x120>
400e86: 68 21 00 00 00 pushq $0x21
400e8b: e9 d0 fd ff ff jmpq 400c60 <_init+0x18>
Disassembly of section .text:
0000000000400e90 <_start>:
400e90: 31 ed xor %ebp,%ebp
400e92: 49 89 d1 mov %rdx,%r9
400e95: 5e pop %rsi
400e96: 48 89 e2 mov %rsp,%rdx
400e99: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
400e9d: 50 push %rax
400e9e: 54 push %rsp
400e9f: 49 c7 c0 90 2e 40 00 mov $0x402e90,%r8
400ea6: 48 c7 c1 00 2e 40 00 mov $0x402e00,%rcx
400ead: 48 c7 c7 ad 11 40 00 mov $0x4011ad,%rdi
400eb4: e8 87 fe ff ff callq 400d40 <__libc_start_main@plt>
400eb9: f4 hlt
400eba: 90 nop
400ebb: 90 nop
0000000000400ebc <call_gmon_start>:
400ebc: 48 83 ec 08 sub $0x8,%rsp
400ec0: 48 8b 05 19 41 20 00 mov 0x204119(%rip),%rax # 604fe0 <_DYNAMIC+0x1d0>
400ec7: 48 85 c0 test %rax,%rax
400eca: 74 02 je 400ece <call_gmon_start+0x12>
400ecc: ff d0 callq *%rax
400ece: 48 83 c4 08 add $0x8,%rsp
400ed2: c3 retq
400ed3: 90 nop
400ed4: 90 nop
400ed5: 90 nop
400ed6: 90 nop
400ed7: 90 nop
400ed8: 90 nop
400ed9: 90 nop
400eda: 90 nop
400edb: 90 nop
400edc: 90 nop
400edd: 90 nop
400ede: 90 nop
400edf: 90 nop
0000000000400ee0 <deregister_tm_clones>:
400ee0: b8 97 54 60 00 mov $0x605497,%eax
400ee5: 55 push %rbp
400ee6: 48 2d 90 54 60 00 sub $0x605490,%rax
400eec: 48 83 f8 0e cmp $0xe,%rax
400ef0: 48 89 e5 mov %rsp,%rbp
400ef3: 77 02 ja 400ef7 <deregister_tm_clones+0x17>
400ef5: 5d pop %rbp
400ef6: c3 retq
400ef7: b8 00 00 00 00 mov $0x0,%eax
400efc: 48 85 c0 test %rax,%rax
400eff: 74 f4 je 400ef5 <deregister_tm_clones+0x15>
400f01: 5d pop %rbp
400f02: bf 90 54 60 00 mov $0x605490,%edi
400f07: ff e0 jmpq *%rax
400f09: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400f10 <register_tm_clones>:
400f10: b8 90 54 60 00 mov $0x605490,%eax
400f15: 55 push %rbp
400f16: 48 2d 90 54 60 00 sub $0x605490,%rax
400f1c: 48 c1 f8 03 sar $0x3,%rax
400f20: 48 89 e5 mov %rsp,%rbp
400f23: 48 89 c2 mov %rax,%rdx
400f26: 48 c1 ea 3f shr $0x3f,%rdx
400f2a: 48 01 d0 add %rdx,%rax
400f2d: 48 d1 f8 sar %rax
400f30: 75 02 jne 400f34 <register_tm_clones+0x24>
400f32: 5d pop %rbp
400f33: c3 retq
400f34: ba 00 00 00 00 mov $0x0,%edx
400f39: 48 85 d2 test %rdx,%rdx
400f3c: 74 f4 je 400f32 <register_tm_clones+0x22>
400f3e: 5d pop %rbp
400f3f: 48 89 c6 mov %rax,%rsi
400f42: bf 90 54 60 00 mov $0x605490,%edi
400f47: ff e2 jmpq *%rdx
400f49: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400f50 <__do_global_dtors_aux>:
400f50: 80 3d 61 45 20 00 00 cmpb $0x0,0x204561(%rip) # 6054b8 <completed.6976>
400f57: 75 11 jne 400f6a <__do_global_dtors_aux+0x1a>
400f59: 55 push %rbp
400f5a: 48 89 e5 mov %rsp,%rbp
400f5d: e8 7e ff ff ff callq 400ee0 <deregister_tm_clones>
400f62: 5d pop %rbp
400f63: c6 05 4e 45 20 00 01 movb $0x1,0x20454e(%rip) # 6054b8 <completed.6976>
400f6a: f3 c3 repz retq
400f6c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400f70 <frame_dummy>:
400f70: 48 83 3d 90 3e 20 00 cmpq $0x0,0x203e90(%rip) # 604e08 <__JCR_END__>
400f77: 00
400f78: 74 1e je 400f98 <frame_dummy+0x28>
400f7a: b8 00 00 00 00 mov $0x0,%eax
400f7f: 48 85 c0 test %rax,%rax
400f82: 74 14 je 400f98 <frame_dummy+0x28>
400f84: 55 push %rbp
400f85: bf 08 4e 60 00 mov $0x604e08,%edi
400f8a: 48 89 e5 mov %rsp,%rbp
400f8d: ff d0 callq *%rax
400f8f: 5d pop %rbp
400f90: e9 7b ff ff ff jmpq 400f10 <register_tm_clones>
400f95: 0f 1f 00 nopl (%rax)
400f98: e9 73 ff ff ff jmpq 400f10 <register_tm_clones>
400f9d: 90 nop
400f9e: 90 nop
400f9f: 90 nop
0000000000400fa0 <usage>:
400fa0: 48 83 ec 08 sub $0x8,%rsp
400fa4: 48 89 fa mov %rdi,%rdx
400fa7: 83 3d 3a 45 20 00 00 cmpl $0x0,0x20453a(%rip) # 6054e8 <is_checker>
400fae: 74 3e je 400fee <usage+0x4e>
400fb0: be a8 2e 40 00 mov $0x402ea8,%esi
400fb5: bf 01 00 00 00 mov $0x1,%edi
400fba: b8 00 00 00 00 mov $0x0,%eax
400fbf: e8 2c fe ff ff callq 400df0 <__printf_chk@plt>
400fc4: bf e0 2e 40 00 mov $0x402ee0,%edi
400fc9: e8 f2 fc ff ff callq 400cc0 <puts@plt>
400fce: bf 58 30 40 00 mov $0x403058,%edi
400fd3: e8 e8 fc ff ff callq 400cc0 <puts@plt>
400fd8: bf 08 2f 40 00 mov $0x402f08,%edi
400fdd: e8 de fc ff ff callq 400cc0 <puts@plt>
400fe2: bf 72 30 40 00 mov $0x403072,%edi
400fe7: e8 d4 fc ff ff callq 400cc0 <puts@plt>
400fec: eb 32 jmp 401020 <usage+0x80>
400fee: be 8e 30 40 00 mov $0x40308e,%esi
400ff3: bf 01 00 00 00 mov $0x1,%edi
400ff8: b8 00 00 00 00 mov $0x0,%eax
400ffd: e8 ee fd ff ff callq 400df0 <__printf_chk@plt>
401002: bf 30 2f 40 00 mov $0x402f30,%edi
401007: e8 b4 fc ff ff callq 400cc0 <puts@plt>
40100c: bf 58 2f 40 00 mov $0x402f58,%edi
401011: e8 aa fc ff ff callq 400cc0 <puts@plt>
401016: bf ac 30 40 00 mov $0x4030ac,%edi
40101b: e8 a0 fc ff ff callq 400cc0 <puts@plt>
401020: bf 00 00 00 00 mov $0x0,%edi
401025: e8 16 fe ff ff callq 400e40 <exit@plt>
000000000040102a <initialize_target>:
40102a: 55 push %rbp
40102b: 53 push %rbx
40102c: 48 81 ec 18 21 00 00 sub $0x2118,%rsp
401033: 89 f5 mov %esi,%ebp
401035: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
40103c: 00 00
40103e: 48 89 84 24 08 21 00 mov %rax,0x2108(%rsp)
401045: 00
401046: 31 c0 xor %eax,%eax
401048: 89 3d 8a 44 20 00 mov %edi,0x20448a(%rip) # 6054d8 <check_level>
40104e: 8b 3d f4 40 20 00 mov 0x2040f4(%rip),%edi # 605148 <target_id>
401054: e8 85 1d 00 00 callq 402dde <gencookie>
401059: 89 05 85 44 20 00 mov %eax,0x204485(%rip) # 6054e4 <cookie>
40105f: 89 c7 mov %eax,%edi
401061: e8 78 1d 00 00 callq 402dde <gencookie>
401066: 89 05 74 44 20 00 mov %eax,0x204474(%rip) # 6054e0 <authkey>
40106c: 8b 05 d6 40 20 00 mov 0x2040d6(%rip),%eax # 605148 <target_id>
401072: 8d 78 01 lea 0x1(%rax),%edi
401075: e8 16 fc ff ff callq 400c90 <srandom@plt>
40107a: e8 31 fd ff ff callq 400db0 <random@plt>
40107f: 89 c7 mov %eax,%edi
401081: e8 02 03 00 00 callq 401388 <scramble>
401086: 89 c3 mov %eax,%ebx
401088: ba 00 00 00 00 mov $0x0,%edx
40108d: 85 ed test %ebp,%ebp
40108f: 74 18 je 4010a9 <initialize_target+0x7f>
401091: bf 00 00 00 00 mov $0x0,%edi
401096: e8 05 fd ff ff callq 400da0 <time@plt>
40109b: 89 c7 mov %eax,%edi
40109d: e8 ee fb ff ff callq 400c90 <srandom@plt>
4010a2: e8 09 fd ff ff callq 400db0 <random@plt>
4010a7: 89 c2 mov %eax,%edx
4010a9: 01 da add %ebx,%edx
4010ab: 0f b7 d2 movzwl %dx,%edx
4010ae: 8d 04 d5 00 01 00 00 lea 0x100(,%rdx,8),%eax
4010b5: 89 c0 mov %eax,%eax
4010b7: 48 89 05 c2 43 20 00 mov %rax,0x2043c2(%rip) # 605480 <buf_offset>
4010be: c6 05 43 50 20 00 72 movb $0x72,0x205043(%rip) # 606108 <target_prefix>
4010c5: 83 3d bc 43 20 00 00 cmpl $0x0,0x2043bc(%rip) # 605488 <notify>
4010cc: 0f 84 b9 00 00 00 je 40118b <initialize_target+0x161>
4010d2: 83 3d 0f 44 20 00 00 cmpl $0x0,0x20440f(%rip) # 6054e8 <is_checker>
4010d9: 0f 85 ac 00 00 00 jne 40118b <initialize_target+0x161>
4010df: be 00 01 00 00 mov $0x100,%esi
4010e4: 48 89 e7 mov %rsp,%rdi
4010e7: e8 44 fd ff ff callq 400e30 <gethostname@plt>
4010ec: bb 00 00 00 00 mov $0x0,%ebx
4010f1: 85 c0 test %eax,%eax
4010f3: 74 23 je 401118 <initialize_target+0xee>
4010f5: bf 88 2f 40 00 mov $0x402f88,%edi
4010fa: e8 c1 fb ff ff callq 400cc0 <puts@plt>
4010ff: bf 08 00 00 00 mov $0x8,%edi
401104: e8 37 fd ff ff callq 400e40 <exit@plt>
401109: 48 89 e6 mov %rsp,%rsi
40110c: e8 5f fb ff ff callq 400c70 <strcasecmp@plt>
401111: 85 c0 test %eax,%eax
401113: 74 1a je 40112f <initialize_target+0x105>
401115: 83 c3 01 add $0x1,%ebx
401118: 48 63 c3 movslq %ebx,%rax
40111b: 48 8b 3c c5 60 51 60 mov 0x605160(,%rax,8),%rdi
401122: 00
401123: 48 85 ff test %rdi,%rdi
401126: 75 e1 jne 401109 <initialize_target+0xdf>
401128: b8 00 00 00 00 mov $0x0,%eax
40112d: eb 05 jmp 401134 <initialize_target+0x10a>
40112f: b8 01 00 00 00 mov $0x1,%eax
401134: 85 c0 test %eax,%eax
401136: 75 1c jne 401154 <initialize_target+0x12a>
401138: 48 89 e2 mov %rsp,%rdx
40113b: be c0 2f 40 00 mov $0x402fc0,%esi
401140: bf 01 00 00 00 mov $0x1,%edi
401145: e8 a6 fc ff ff callq 400df0 <__printf_chk@plt>
40114a: bf 08 00 00 00 mov $0x8,%edi
40114f: e8 ec fc ff ff callq 400e40 <exit@plt>
401154: 48 8d bc 24 00 01 00 lea 0x100(%rsp),%rdi
40115b: 00
40115c: e8 e3 19 00 00 callq 402b44 <init_driver>
401161: 85 c0 test %eax,%eax
401163: 79 26 jns 40118b <initialize_target+0x161>
401165: 48 8d 94 24 00 01 00 lea 0x100(%rsp),%rdx
40116c: 00
40116d: be 00 30 40 00 mov $0x403000,%esi
401172: bf 01 00 00 00 mov $0x1,%edi
401177: b8 00 00 00 00 mov $0x0,%eax
40117c: e8 6f fc ff ff callq 400df0 <__printf_chk@plt>
401181: bf 08 00 00 00 mov $0x8,%edi
401186: e8 b5 fc ff ff callq 400e40 <exit@plt>
40118b: 48 8b 84 24 08 21 00 mov 0x2108(%rsp),%rax
401192: 00
401193: 64 48 33 04 25 28 00 xor %fs:0x28,%rax
40119a: 00 00
40119c: 74 05 je 4011a3 <initialize_target+0x179>
40119e: e8 3d fb ff ff callq 400ce0 <__stack_chk_fail@plt>
4011a3: 48 81 c4 18 21 00 00 add $0x2118,%rsp
4011aa: 5b pop %rbx
4011ab: 5d pop %rbp
4011ac: c3 retq
00000000004011ad <main>:
4011ad: 41 56 push %r14
4011af: 41 55 push %r13
4011b1: 41 54 push %r12
4011b3: 55 push %rbp
4011b4: 53 push %rbx
4011b5: 41 89 fc mov %edi,%r12d
4011b8: 48 89 f3 mov %rsi,%rbx
4011bb: be e5 1e 40 00 mov $0x401ee5,%esi
4011c0: bf 0b 00 00 00 mov $0xb,%edi
4011c5: e8 86 fb ff ff callq 400d50 <signal@plt>
4011ca: be 97 1e 40 00 mov $0x401e97,%esi
4011cf: bf 07 00 00 00 mov $0x7,%edi
4011d4: e8 77 fb ff ff callq 400d50 <signal@plt>
4011d9: be 33 1f 40 00 mov $0x401f33,%esi
4011de: bf 04 00 00 00 mov $0x4,%edi
4011e3: e8 68 fb ff ff callq 400d50 <signal@plt>
4011e8: bd c5 30 40 00 mov $0x4030c5,%ebp
4011ed: 83 3d f4 42 20 00 00 cmpl $0x0,0x2042f4(%rip) # 6054e8 <is_checker>
4011f4: 74 1e je 401214 <main+0x67>
4011f6: be 81 1f 40 00 mov $0x401f81,%esi
4011fb: bf 0e 00 00 00 mov $0xe,%edi
401200: e8 4b fb ff ff callq 400d50 <signal@plt>
401205: bf 05 00 00 00 mov $0x5,%edi
40120a: e8 01 fb ff ff callq 400d10 <alarm@plt>
40120f: bd ca 30 40 00 mov $0x4030ca,%ebp
401214: 48 8b 05 85 42 20 00 mov 0x204285(%rip),%rax # 6054a0 <stdin@@GLIBC_2.2.5>
40121b: 48 89 05 ae 42 20 00 mov %rax,0x2042ae(%rip) # 6054d0 <infile>
401222: 41 bd 00 00 00 00 mov $0x0,%r13d
401228: 41 be 00 00 00 00 mov $0x0,%r14d
40122e: e9 c6 00 00 00 jmpq 4012f9 <main+0x14c>
401233: 83 e8 61 sub $0x61,%eax
401236: 3c 10 cmp $0x10,%al
401238: 0f 87 9c 00 00 00 ja 4012da <main+0x12d>
40123e: 0f b6 c0 movzbl %al,%eax
401241: ff 24 c5 10 31 40 00 jmpq *0x403110(,%rax,8)
401248: 48 8b 3b mov (%rbx),%rdi
40124b: e8 50 fd ff ff callq 400fa0 <usage>
401250: be 8d 33 40 00 mov $0x40338d,%esi
401255: 48 8b 3d 4c 42 20 00 mov 0x20424c(%rip),%rdi # 6054a8 <optarg@@GLIBC_2.2.5>
40125c: e8 9f fb ff ff callq 400e00 <fopen@plt>
401261: 48 89 05 68 42 20 00 mov %rax,0x204268(%rip) # 6054d0 <infile>
401268: 48 85 c0 test %rax,%rax
40126b: 0f 85 88 00 00 00 jne 4012f9 <main+0x14c>
401271: 48 8b 0d 30 42 20 00 mov 0x204230(%rip),%rcx # 6054a8 <optarg@@GLIBC_2.2.5>
401278: ba d2 30 40 00 mov $0x4030d2,%edx
40127d: be 01 00 00 00 mov $0x1,%esi
401282: 48 8b 3d 27 42 20 00 mov 0x204227(%rip),%rdi # 6054b0 <stderr@@GLIBC_2.2.5>
401289: e8 d2 fb ff ff callq 400e60 <__fprintf_chk@plt>
40128e: b8 01 00 00 00 mov $0x1,%eax
401293: e9 e4 00 00 00 jmpq 40137c <main+0x1cf>
401298: ba 10 00 00 00 mov $0x10,%edx
40129d: be 00 00 00 00 mov $0x0,%esi
4012a2: 48 8b 3d ff 41 20 00 mov 0x2041ff(%rip),%rdi # 6054a8 <optarg@@GLIBC_2.2.5>
4012a9: e8 72 fb ff ff callq 400e20 <strtoul@plt>
4012ae: 41 89 c6 mov %eax,%r14d
4012b1: eb 46 jmp 4012f9 <main+0x14c>
4012b3: ba 0a 00 00 00 mov $0xa,%edx
4012b8: be 00 00 00 00 mov $0x0,%esi
4012bd: 48 8b 3d e4 41 20 00 mov 0x2041e4(%rip),%rdi # 6054a8 <optarg@@GLIBC_2.2.5>
4012c4: e8 b7 fa ff ff callq 400d80 <strtol@plt>
4012c9: 41 89 c5 mov %eax,%r13d
4012cc: eb 2b jmp 4012f9 <main+0x14c>
4012ce: c7 05 b0 41 20 00 00 movl $0x0,0x2041b0(%rip) # 605488 <notify>
4012d5: 00 00 00
4012d8: eb 1f jmp 4012f9 <main+0x14c>
4012da: 0f be d2 movsbl %dl,%edx
4012dd: be ef 30 40 00 mov $0x4030ef,%esi
4012e2: bf 01 00 00 00 mov $0x1,%edi
4012e7: b8 00 00 00 00 mov $0x0,%eax
4012ec: e8 ff fa ff ff callq 400df0 <__printf_chk@plt>
4012f1: 48 8b 3b mov (%rbx),%rdi
4012f4: e8 a7 fc ff ff callq 400fa0 <usage>
4012f9: 48 89 ea mov %rbp,%rdx
4012fc: 48 89 de mov %rbx,%rsi
4012ff: 44 89 e7 mov %r12d,%edi
401302: e8 09 fb ff ff callq 400e10 <getopt@plt>
401307: 89 c2 mov %eax,%edx
401309: 3c ff cmp $0xff,%al
40130b: 0f 85 22 ff ff ff jne 401233 <main+0x86>
401311: be 01 00 00 00 mov $0x1,%esi
401316: 44 89 ef mov %r13d,%edi
401319: e8 0c fd ff ff callq 40102a <initialize_target>
40131e: 83 3d c3 41 20 00 00 cmpl $0x0,0x2041c3(%rip) # 6054e8 <is_checker>
401325: 74 2a je 401351 <main+0x1a4>
401327: 44 3b 35 b2 41 20 00 cmp 0x2041b2(%rip),%r14d # 6054e0 <authkey>
40132e: 74 21 je 401351 <main+0x1a4>
401330: 44 89 f2 mov %r14d,%edx
401333: be 28 30 40 00 mov $0x403028,%esi
401338: bf 01 00 00 00 mov $0x1,%edi
40133d: b8 00 00 00 00 mov $0x0,%eax
401342: e8 a9 fa ff ff callq 400df0 <__printf_chk@plt>
401347: b8 00 00 00 00 mov $0x0,%eax
40134c: e8 da 07 00 00 callq 401b2b <check_fail>
401351: 8b 15 8d 41 20 00 mov 0x20418d(%rip),%edx # 6054e4 <cookie>
401357: be 02 31 40 00 mov $0x403102,%esi
40135c: bf 01 00 00 00 mov $0x1,%edi
401361: b8 00 00 00 00 mov $0x0,%eax
401366: e8 85 fa ff ff callq 400df0 <__printf_chk@plt>
40136b: 48 8b 3d 0e 41 20 00 mov 0x20410e(%rip),%rdi # 605480 <buf_offset>
401372: e8 5d 0c 00 00 callq 401fd4 <launch>
401377: b8 00 00 00 00 mov $0x0,%eax
40137c: 5b pop %rbx
40137d: 5d pop %rbp
40137e: 41 5c pop %r12
401380: 41 5d pop %r13
401382: 41 5e pop %r14
401384: c3 retq
401385: 90 nop
401386: 90 nop
401387: 90 nop
0000000000401388 <scramble>:
401388: b8 00 00 00 00 mov $0x0,%eax
40138d: eb 11 jmp 4013a0 <scramble+0x18>
40138f: 69 c8 7f 79 00 00 imul $0x797f,%eax,%ecx
401395: 01 f9 add %edi,%ecx
401397: 89 c2 mov %eax,%edx
401399: 89 4c 94 c8 mov %ecx,-0x38(%rsp,%rdx,4)
40139d: 83 c0 01 add $0x1,%eax
4013a0: 83 f8 09 cmp $0x9,%eax
4013a3: 76 ea jbe 40138f <scramble+0x7>
4013a5: 8b 44 24 dc mov -0x24(%rsp),%eax
4013a9: 69 c0 44 a6 00 00 imul $0xa644,%eax,%eax
4013af: 89 44 24 dc mov %eax,-0x24(%rsp)
4013b3: 8b 44 24 e8 mov -0x18(%rsp),%eax
4013b7: 69 c0 d5 50 00 00 imul $0x50d5,%eax,%eax
4013bd: 89 44 24 e8 mov %eax,-0x18(%rsp)
4013c1: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4013c5: 69 c0 00 3a 00 00 imul $0x3a00,%eax,%eax
4013cb: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4013cf: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4013d3: 69 c0 29 9f 00 00 imul $0x9f29,%eax,%eax
4013d9: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4013dd: 8b 44 24 ec mov -0x14(%rsp),%eax
4013e1: 69 c0 96 16 00 00 imul $0x1696,%eax,%eax
4013e7: 89 44 24 ec mov %eax,-0x14(%rsp)
4013eb: 8b 44 24 d4 mov -0x2c(%rsp),%eax
4013ef: 69 c0 4d 29 00 00 imul $0x294d,%eax,%eax
4013f5: 89 44 24 d4 mov %eax,-0x2c(%rsp)
4013f9: 8b 44 24 ec mov -0x14(%rsp),%eax
4013fd: 69 c0 7d c8 00 00 imul $0xc87d,%eax,%eax
401403: 89 44 24 ec mov %eax,-0x14(%rsp)
401407: 8b 44 24 d4 mov -0x2c(%rsp),%eax
40140b: 69 c0 7e 90 00 00 imul $0x907e,%eax,%eax
401411: 89 44 24 d4 mov %eax,-0x2c(%rsp)
401415: 8b 44 24 c8 mov -0x38(%rsp),%eax
401419: 69 c0 5f c3 00 00 imul $0xc35f,%eax,%eax
40141f: 89 44 24 c8 mov %eax,-0x38(%rsp)
401423: 8b 44 24 d0 mov -0x30(%rsp),%eax
401427: 69 c0 32 43 00 00 imul $0x4332,%eax,%eax
40142d: 89 44 24 d0 mov %eax,-0x30(%rsp)
401431: 8b 44 24 dc mov -0x24(%rsp),%eax
401435: 69 c0 d9 3f 00 00 imul $0x3fd9,%eax,%eax
40143b: 89 44 24 dc mov %eax,-0x24(%rsp)
40143f: 8b 44 24 cc mov -0x34(%rsp),%eax
401443: 69 c0 d7 49 00 00 imul $0x49d7,%eax,%eax
401449: 89 44 24 cc mov %eax,-0x34(%rsp)
40144d: 8b 44 24 c8 mov -0x38(%rsp),%eax
401451: 69 c0 7a 8c 00 00 imul $0x8c7a,%eax,%eax
401457: 89 44 24 c8 mov %eax,-0x38(%rsp)
40145b: 8b 44 24 d4 mov -0x2c(%rsp),%eax
40145f: 69 c0 f8 0e 00 00 imul $0xef8,%eax,%eax
401465: 89 44 24 d4 mov %eax,-0x2c(%rsp)
401469: 8b 44 24 e0 mov -0x20(%rsp),%eax
40146d: 69 c0 2d 12 00 00 imul $0x122d,%eax,%eax
401473: 89 44 24 e0 mov %eax,-0x20(%rsp)
401477: 8b 44 24 d0 mov -0x30(%rsp),%eax
40147b: 69 c0 16 c6 00 00 imul $0xc616,%eax,%eax
401481: 89 44 24 d0 mov %eax,-0x30(%rsp)
401485: 8b 44 24 e0 mov -0x20(%rsp),%eax
401489: 69 c0 41 48 00 00 imul $0x4841,%eax,%eax
40148f: 89 44 24 e0 mov %eax,-0x20(%rsp)
401493: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401497: 69 c0 44 92 00 00 imul $0x9244,%eax,%eax
40149d: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4014a1: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4014a5: 69 c0 19 5f 00 00 imul $0x5f19,%eax,%eax
4014ab: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4014af: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4014b3: 69 c0 8d 3a 00 00 imul $0x3a8d,%eax,%eax
4014b9: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4014bd: 8b 44 24 e0 mov -0x20(%rsp),%eax
4014c1: 69 c0 30 4a 00 00 imul $0x4a30,%eax,%eax
4014c7: 89 44 24 e0 mov %eax,-0x20(%rsp)
4014cb: 8b 44 24 dc mov -0x24(%rsp),%eax
4014cf: 69 c0 74 f2 00 00 imul $0xf274,%eax,%eax
4014d5: 89 44 24 dc mov %eax,-0x24(%rsp)
4014d9: 8b 44 24 d8 mov -0x28(%rsp),%eax
4014dd: 69 c0 04 82 00 00 imul $0x8204,%eax,%eax
4014e3: 89 44 24 d8 mov %eax,-0x28(%rsp)
4014e7: 8b 44 24 dc mov -0x24(%rsp),%eax
4014eb: 69 c0 82 d5 00 00 imul $0xd582,%eax,%eax
4014f1: 89 44 24 dc mov %eax,-0x24(%rsp)
4014f5: 8b 44 24 dc mov -0x24(%rsp),%eax
4014f9: 69 c0 cc 01 00 00 imul $0x1cc,%eax,%eax
4014ff: 89 44 24 dc mov %eax,-0x24(%rsp)
401503: 8b 44 24 e0 mov -0x20(%rsp),%eax
401507: 69 c0 77 0d 00 00 imul $0xd77,%eax,%eax
40150d: 89 44 24 e0 mov %eax,-0x20(%rsp)
401511: 8b 44 24 e0 mov -0x20(%rsp),%eax
401515: 69 c0 50 d8 00 00 imul $0xd850,%eax,%eax
40151b: 89 44 24 e0 mov %eax,-0x20(%rsp)
40151f: 8b 44 24 d4 mov -0x2c(%rsp),%eax
401523: 69 c0 45 02 00 00 imul $0x245,%eax,%eax
401529: 89 44 24 d4 mov %eax,-0x2c(%rsp)
40152d: 8b 44 24 dc mov -0x24(%rsp),%eax
401531: 69 c0 5c b6 00 00 imul $0xb65c,%eax,%eax
401537: 89 44 24 dc mov %eax,-0x24(%rsp)
40153b: 8b 44 24 d0 mov -0x30(%rsp),%eax
40153f: 69 c0 62 b1 00 00 imul $0xb162,%eax,%eax
401545: 89 44 24 d0 mov %eax,-0x30(%rsp)
401549: 8b 44 24 cc mov -0x34(%rsp),%eax
40154d: 69 c0 2f b8 00 00 imul $0xb82f,%eax,%eax
401553: 89 44 24 cc mov %eax,-0x34(%rsp)
401557: 8b 44 24 e0 mov -0x20(%rsp),%eax
40155b: 69 c0 fc 80 00 00 imul $0x80fc,%eax,%eax
401561: 89 44 24 e0 mov %eax,-0x20(%rsp)
401565: 8b 44 24 e8 mov -0x18(%rsp),%eax
401569: 69 c0 65 8e 00 00 imul $0x8e65,%eax,%eax
40156f: 89 44 24 e8 mov %eax,-0x18(%rsp)
401573: 8b 44 24 c8 mov -0x38(%rsp),%eax
401577: 69 c0 b2 82 00 00 imul $0x82b2,%eax,%eax
40157d: 89 44 24 c8 mov %eax,-0x38(%rsp)
401581: 8b 44 24 d4 mov -0x2c(%rsp),%eax
401585: 69 c0 ad 44 00 00 imul $0x44ad,%eax,%eax
40158b: 89 44 24 d4 mov %eax,-0x2c(%rsp)
40158f: 8b 44 24 dc mov -0x24(%rsp),%eax
401593: 69 c0 2e 63 00 00 imul $0x632e,%eax,%eax
401599: 89 44 24 dc mov %eax,-0x24(%rsp)
40159d: 8b 44 24 c8 mov -0x38(%rsp),%eax
4015a1: 69 c0 19 21 00 00 imul $0x2119,%eax,%eax
4015a7: 89 44 24 c8 mov %eax,-0x38(%rsp)
4015ab: 8b 44 24 e4 mov -0x1c(%rsp),%eax
4015af: 69 c0 8a a1 00 00 imul $0xa18a,%eax,%eax
4015b5: 89 44 24 e4 mov %eax,-0x1c(%rsp)
4015b9: 8b 44 24 d8 mov -0x28(%rsp),%eax
4015bd: 69 c0 95 d8 00 00 imul $0xd895,%eax,%eax
4015c3: 89 44 24 d8 mov %eax,-0x28(%rsp)
4015c7: 8b 44 24 d4 mov -0x2c(%rsp),%eax
4015cb: 69 c0 81 e8 00 00 imul $0xe881,%eax,%eax
4015d1: 89 44 24 d4 mov %eax,-0x2c(%rsp)
4015d5: 8b 44 24 d8 mov -0x28(%rsp),%eax
4015d9: 69 c0 c1 8f 00 00 imul $0x8fc1,%eax,%eax
4015df: 89 44 24 d8 mov %eax,-0x28(%rsp)
4015e3: 8b 44 24 d0 mov -0x30(%rsp),%eax
4015e7: 69 c0 07 1c 00 00 imul $0x1c07,%eax,%eax
4015ed: 89 44 24 d0 mov %eax,-0x30(%rsp)
4015f1: 8b 44 24 c8 mov -0x38(%rsp),%eax
4015f5: 69 c0 47 4d 00 00 imul $0x4d47,%eax,%eax
4015fb: 89 44 24 c8 mov %eax,-0x38(%rsp)
4015ff: 8b 44 24 cc mov -0x34(%rsp),%eax
401603: 69 c0 dd cc 00 00 imul $0xccdd,%eax,%eax
401609: 89 44 24 cc mov %eax,-0x34(%rsp)
40160d: 8b 44 24 d4 mov -0x2c(%rsp),%eax
401611: 69 c0 89 2f 00 00 imul $0x2f89,%eax,%eax
401617: 89 44 24 d4 mov %eax,-0x2c(%rsp)
40161b: 8b 44 24 c8 mov -0x38(%rsp),%eax
40161f: 69 c0 2d cc 00 00 imul $0xcc2d,%eax,%eax
401625: 89 44 24 c8 mov %eax,-0x38(%rsp)
401629: 8b 44 24 cc mov -0x34(%rsp),%eax
40162d: 69 c0 b8 f5 00 00 imul $0xf5b8,%eax,%eax
401633: 89 44 24 cc mov %eax,-0x34(%rsp)
401637: 8b 44 24 dc mov -0x24(%rsp),%eax
40163b: 69 c0 29 e8 00 00 imul $0xe829,%eax,%eax
401641: 89 44 24 dc mov %eax,-0x24(%rsp)
401645: 8b 44 24 dc mov -0x24(%rsp),%eax
401649: 69 c0 69 60 00 00 imul $0x6069,%eax,%eax
40164f: 89 44 24 dc mov %eax,-0x24(%rsp)
401653: 8b 44 24 e8 mov -0x18(%rsp),%eax
401657: 69 c0 9c 71 00 00 imul $0x719c,%eax,%eax
40165d: 89 44 24 e8 mov %eax,-0x18(%rsp)
401661: 8b 44 24 e8 mov -0x18(%rsp),%eax
401665: 69 c0 1a 28 00 00 imul $0x281a,%eax,%eax
40166b: 89 44 24 e8 mov %eax,-0x18(%rsp)
40166f: 8b 44 24 ec mov -0x14(%rsp),%eax
401673: 69 c0 f3 33 00 00 imul $0x33f3,%eax,%eax
401679: 89 44 24 ec mov %eax,-0x14(%rsp)
40167d: 8b 44 24 e4 mov -0x1c(%rsp),%eax
401681: 69 c0 6c 2a 00 00 imul $0x2a6c,%eax,%eax
401687: 89 44 24 e4 mov %eax,-0x1c(%rsp)
40168b: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40168f: 69 c0 51 ec 00 00 imul $0xec51,%eax,%eax
401695: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401699: 8b 44 24 e0 mov -0x20(%rsp),%eax
40169d: 69 c0 8a 4c 00 00 imul $0x4c8a,%eax,%eax
4016a3: 89 44 24 e0 mov %eax,-0x20(%rsp)
4016a7: 8b 44 24 d4 mov -0x2c(%rsp),%eax
4016ab: 69 c0 63 dd 00 00 imul $0xdd63,%eax,%eax
4016b1: 89 44 24 d4 mov %eax,-0x2c(%rsp)
4016b5: 8b 44 24 d0 mov -0x30(%rsp),%eax
4016b9: 69 c0 ca ca 00 00 imul $0xcaca,%eax,%eax
4016bf: 89 44 24 d0 mov %eax,-0x30(%rsp)
4016c3: 8b 44 24 dc mov -0x24(%rsp),%eax
4016c7: 69 c0 5d 44 00 00 imul $0x445d,%eax,%eax
4016cd: 89 44 24 dc mov %eax,-0x24(%rsp)
4016d1: 8b 44 24 d8 mov -0x28(%rsp),%eax
4016d5: 69 c0 b7 17 00 00 imul $0x17b7,%eax,%eax
4016db: 89 44 24 d8 mov %eax,-0x28(%rsp)
4016df: 8b 44 24 d0 mov -0x30(%rsp),%eax
4016e3: 69 c0 b5 1b 00 00 imul $0x1bb5,%eax,%eax
4016e9: 89 44 24 d0 mov %eax,-0x30(%rsp)
4016ed: 8b 44 24 d8 mov -0x28(%rsp),%eax
4016f1: 69 c0 7a 8f 00 00 imul $0x8f7a,%eax,%eax
4016f7: 89 44 24 d8 mov %eax,-0x28(%rsp)
4016fb: 8b 44 24 e0 mov -0x20(%rsp),%eax
4016ff: 69 c0 f9 2e 00 00 imul $0x2ef9,%eax,%eax
401705: 89 44 24 e0 mov %eax,-0x20(%rsp)
401709: 8b 44 24 d8 mov -0x28(%rsp),%eax
40170d: 69 c0 0c 35 00 00 imul $0x350c,%eax,%eax
401713: 89 44 24 d8 mov %eax,-0x28(%rsp)
401717: 8b 44 24 cc mov -0x34(%rsp),%eax
40171b: 69 c0 50 09 00 00 imul $0x950,%eax,%eax
401721: 89 44 24 cc mov %eax,-0x34(%rsp)
401725: 8b 44 24 d0 mov -0x30(%rsp),%eax
401729: 69 c0 fd 81 00 00 imul $0x81fd,%eax,%eax
40172f: 89 44 24 d0 mov %eax,-0x30(%rsp)
401733: 8b 44 24 cc mov -0x34(%rsp),%eax
401737: 69 c0 8c 3a 00 00 imul $0x3a8c,%eax,%eax
40173d: 89 44 24 cc mov %eax,-0x34(%rsp)
401741: 8b 44 24 dc mov -0x24(%rsp),%eax
401745: 69 c0 b6 4f 00 00 imul $0x4fb6,%eax,%eax
40174b: 89 44 24 dc mov %eax,-0x24(%rsp)
40174f: 8b 44 24 c8 mov -0x38(%rsp),%eax
401753: 69 c0 4a f3 00 00 imul $0xf34a,%eax,%eax
401759: 89 44 24 c8 mov %eax,-0x38(%rsp)
40175d: 8b 44 24 cc mov -0x34(%rsp),%eax
401761: 69 c0 fd 43 00 00 imul $0x43fd,%eax,%eax
401767: 89 44 24 cc mov %eax,-0x34(%rsp)
40176b: 8b 44 24 e4 mov -0x1c(%rsp),%eax
40176f: 69 c0 24 7d 00 00 imul $0x7d24,%eax,%eax
401775: 89 44 24 e4 mov %eax,-0x1c(%rsp)
401779: 8b 44 24 ec mov -0x14(%rsp),%eax
40177d: 69 c0 6d b4 00 00 imul $0xb46d,%eax,%eax
401783: 89 44 24 ec mov %eax,-0x14(%rsp)
401787: ba 00 00 00 00 mov $0x0,%edx
40178c: b8 00 00 00 00 mov $0x0,%eax
401791: eb 0b jmp 40179e <scramble+0x416>
401793: 89 d1 mov %edx,%ecx
401795: 8b 4c 8c c8 mov -0x38(%rsp,%rcx,4),%ecx
401799: 01 c8 add %ecx,%eax
40179b: 83 c2 01 add $0x1,%edx
40179e: 83 fa 09 cmp $0x9,%edx
4017a1: 76 f0 jbe 401793 <scramble+0x40b>
4017a3: f3 c3 repz retq
4017a5: 90 nop
4017a6: 90 nop
4017a7: 90 nop
00000000004017a8 <getbuf>:
4017a8: 48 83 ec 28 sub $0x28,%rsp
4017ac: 48 89 e7 mov %rsp,%rdi
4017af: e8 ac 03 00 00 callq 401b60 <Gets>
4017b4: b8 01 00 00 00 mov $0x1,%eax
4017b9: 48 83 c4 28 add $0x28,%rsp
4017bd: c3 retq
4017be: 90 nop
4017bf: 90 nop
00000000004017c0 <touch1>:
4017c0: 48 83 ec 08 sub $0x8,%rsp
4017c4: c7 05 0e 3d 20 00 01 movl $0x1,0x203d0e(%rip) # 6054dc <vlevel>
4017cb: 00 00 00
4017ce: bf e5 31 40 00 mov $0x4031e5,%edi
4017d3: e8 e8 f4 ff ff callq 400cc0 <puts@plt>
4017d8: bf 01 00 00 00 mov $0x1,%edi
4017dd: e8 cb 05 00 00 callq 401dad <validate>
4017e2: bf 00 00 00 00 mov $0x0,%edi
4017e7: e8 54 f6 ff ff callq 400e40 <exit@plt>
00000000004017ec <touch2>:
4017ec: 48 83 ec 08 sub $0x8,%rsp
4017f0: 89 fa mov %edi,%edx
4017f2: c7 05 e0 3c 20 00 02 movl $0x2,0x203ce0(%rip) # 6054dc <vlevel>
4017f9: 00 00 00
4017fc: 3b 3d e2 3c 20 00 cmp 0x203ce2(%rip),%edi # 6054e4 <cookie>
401802: 75 20 jne 401824 <touch2+0x38>
401804: be 08 32 40 00 mov $0x403208,%esi
401809: bf 01 00 00 00 mov $0x1,%edi
40180e: b8 00 00 00 00 mov $0x0,%eax
401813: e8 d8 f5 ff ff callq 400df0 <__printf_chk@plt>
401818: bf 02 00 00 00 mov $0x2,%edi
40181d: e8 8b 05 00 00 callq 401dad <validate>
401822: eb 1e jmp 401842 <touch2+0x56>
401824: be 30 32 40 00 mov $0x403230,%esi
401829: bf 01 00 00 00 mov $0x1,%edi
40182e: b8 00 00 00 00 mov $0x0,%eax
401833: e8 b8 f5 ff ff callq 400df0 <__printf_chk@plt>
401838: bf 02 00 00 00 mov $0x2,%edi
40183d: e8 2d 06 00 00 callq 401e6f <fail>
401842: bf 00 00 00 00 mov $0x0,%edi
401847: e8 f4 f5 ff ff callq 400e40 <exit@plt>
000000000040184c <hexmatch>:
40184c: 41 54 push %r12
40184e: 55 push %rbp
40184f: 53 push %rbx
401850: 48 83 c4 80 add $0xffffffffffffff80,%rsp
401854: 41 89 fc mov %edi,%r12d
401857: 48 89 f5 mov %rsi,%rbp
40185a: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
401861: 00 00
401863: 48 89 44 24 78 mov %rax,0x78(%rsp)
401868: 31 c0 xor %eax,%eax
40186a: e8 41 f5 ff ff callq 400db0 <random@plt>
40186f: 48 89 c1 mov %rax,%rcx
401872: 48 ba 0b d7 a3 70 3d movabs $0xa3d70a3d70a3d70b,%rdx
401879: 0a d7 a3
40187c: 48 f7 ea imul %rdx
40187f: 48 01 ca add %rcx,%rdx
401882: 48 c1 fa 06 sar $0x6,%rdx
401886: 48 89 c8 mov %rcx,%rax
401889: 48 c1 f8 3f sar $0x3f,%rax
40188d: 48 29 c2 sub %rax,%rdx
401890: 48 8d 04 92 lea (%rdx,%rdx,4),%rax
401894: 48 8d 04 80 lea (%rax,%rax,4),%rax
401898: 48 c1 e0 02 shl $0x2,%rax
40189c: 48 29 c1 sub %rax,%rcx
40189f: 48 8d 1c 0c lea (%rsp,%rcx,1),%rbx
4018a3: 45 89 e0 mov %r12d,%r8d
4018a6: b9 02 32 40 00 mov $0x403202,%ecx
4018ab: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx
4018b2: be 01 00 00 00 mov $0x1,%esi
4018b7: 48 89 df mov %rbx,%rdi
4018ba: b8 00 00 00 00 mov $0x0,%eax
4018bf: e8 ac f5 ff ff callq 400e70 <__sprintf_chk@plt>
4018c4: ba 09 00 00 00 mov $0x9,%edx
4018c9: 48 89 de mov %rbx,%rsi
4018cc: 48 89 ef mov %rbp,%rdi
4018cf: e8 cc f3 ff ff callq 400ca0 <strncmp@plt>
4018d4: 85 c0 test %eax,%eax
4018d6: 0f 94 c0 sete %al
4018d9: 0f b6 c0 movzbl %al,%eax
4018dc: 48 8b 74 24 78 mov 0x78(%rsp),%rsi
4018e1: 64 48 33 34 25 28 00 xor %fs:0x28,%rsi
4018e8: 00 00
4018ea: 74 05 je 4018f1 <hexmatch+0xa5>
4018ec: e8 ef f3 ff ff callq 400ce0 <__stack_chk_fail@plt>
4018f1: 48 83 ec 80 sub $0xffffffffffffff80,%rsp
4018f5: 5b pop %rbx
4018f6: 5d pop %rbp
4018f7: 41 5c pop %r12
4018f9: c3 retq
00000000004018fa <touch3>:
4018fa: 53 push %rbx
4018fb: 48 89 fb mov %rdi,%rbx
4018fe: c7 05 d4 3b 20 00 03 movl $0x3,0x203bd4(%rip) # 6054dc <vlevel>
401905: 00 00 00
401908: 48 89 fe mov %rdi,%rsi
40190b: 8b 3d d3 3b 20 00 mov 0x203bd3(%rip),%edi # 6054e4 <cookie>
401911: e8 36 ff ff ff callq 40184c <hexmatch>
401916: 85 c0 test %eax,%eax
401918: 74 23 je 40193d <touch3+0x43>
40191a: 48 89 da mov %rbx,%rdx
40191d: be 58 32 40 00 mov $0x403258,%esi
401922: bf 01 00 00 00 mov $0x1,%edi
401927: b8 00 00 00 00 mov $0x0,%eax
40192c: e8 bf f4 ff ff callq 400df0 <__printf_chk@plt>
401931: bf 03 00 00 00 mov $0x3,%edi
401936: e8 72 04 00 00 callq 401dad <validate>
40193b: eb 21 jmp 40195e <touch3+0x64>
40193d: 48 89 da mov %rbx,%rdx
401940: be 80 32 40 00 mov $0x403280,%esi
401945: bf 01 00 00 00 mov $0x1,%edi
40194a: b8 00 00 00 00 mov $0x0,%eax
40194f: e8 9c f4 ff ff callq 400df0 <__printf_chk@plt>
401954: bf 03 00 00 00 mov $0x3,%edi
401959: e8 11 05 00 00 callq 401e6f <fail>
40195e: bf 00 00 00 00 mov $0x0,%edi
401963: e8 d8 f4 ff ff callq 400e40 <exit@plt>
0000000000401968 <test>:
401968: 48 83 ec 08 sub $0x8,%rsp
40196c: b8 00 00 00 00 mov $0x0,%eax
401971: e8 32 fe ff ff callq 4017a8 <getbuf>
401976: 89 c2 mov %eax,%edx
401978: be a8 32 40 00 mov $0x4032a8,%esi
40197d: bf 01 00 00 00 mov $0x1,%edi
401982: b8 00 00 00 00 mov $0x0,%eax
401987: e8 64 f4 ff ff callq 400df0 <__printf_chk@plt>
40198c: 48 83 c4 08 add $0x8,%rsp
401990: c3 retq
401991: 90 nop
401992: 90 nop
401993: 90 nop
0000000000401994 <start_farm>:
401994: b8 01 00 00 00 mov $0x1,%eax
401999: c3 retq
000000000040199a <getval_142>:
40199a: b8 fb 78 90 90 mov $0x909078fb,%eax
40199f: c3 retq
00000000004019a0 <addval_273>:
4019a0: 8d 87 48 89 c7 c3 lea -0x3c3876b8(%rdi),%eax
4019a6: c3 retq
00000000004019a7 <addval_219>:
4019a7: 8d 87 51 73 58 90 lea -0x6fa78caf(%rdi),%eax
4019ad: c3 retq
00000000004019ae <setval_237>:
4019ae: c7 07 48 89 c7 c7 movl $0xc7c78948,(%rdi)
4019b4: c3 retq
00000000004019b5 <setval_424>:
4019b5: c7 07 54 c2 58 92 movl $0x9258c254,(%rdi)
4019bb: c3 retq
00000000004019bc <setval_470>:
4019bc: c7 07 63 48 8d c7 movl $0xc78d4863,(%rdi)
4019c2: c3 retq
00000000004019c3 <setval_426>:
4019c3: c7 07 48 89 c7 90 movl $0x90c78948,(%rdi)
4019c9: c3 retq
00000000004019ca <getval_280>:
4019ca: b8 29 58 90 c3 mov $0xc3905829,%eax
4019cf: c3 retq
00000000004019d0 <mid_farm>:
4019d0: b8 01 00 00 00 mov $0x1,%eax
4019d5: c3 retq
00000000004019d6 <add_xy>:
4019d6: 48 8d 04 37 lea (%rdi,%rsi,1),%rax
4019da: c3 retq
00000000004019db <getval_481>:
4019db: b8 5c 89 c2 90 mov $0x90c2895c,%eax
4019e0: c3 retq
00000000004019e1 <setval_296>:
4019e1: c7 07 99 d1 90 90 movl $0x9090d199,(%rdi)
4019e7: c3 retq
00000000004019e8 <addval_113>:
4019e8: 8d 87 89 ce 78 c9 lea -0x36873177(%rdi),%eax
4019ee: c3 retq
00000000004019ef <addval_490>:
4019ef: 8d 87 8d d1 20 db lea -0x24df2e73(%rdi),%eax
4019f5: c3 retq
00000000004019f6 <getval_226>:
4019f6: b8 89 d1 48 c0 mov $0xc048d189,%eax
4019fb: c3 retq
00000000004019fc <setval_384>:
4019fc: c7 07 81 d1 84 c0 movl $0xc084d181,(%rdi)
401a02: c3 retq
0000000000401a03 <addval_190>:
401a03: 8d 87 41 48 89 e0 lea -0x1f76b7bf(%rdi),%eax
401a09: c3 retq
0000000000401a0a <setval_276>:
401a0a: c7 07 88 c2 08 c9 movl $0xc908c288,(%rdi)
401a10: c3 retq
0000000000401a11 <addval_436>:
401a11: 8d 87 89 ce 90 90 lea -0x6f6f3177(%rdi),%eax
401a17: c3 retq
0000000000401a18 <getval_345>:
401a18: b8 48 89 e0 c1 mov $0xc1e08948,%eax
401a1d: c3 retq
0000000000401a1e <addval_479>:
401a1e: 8d 87 89 c2 00 c9 lea -0x36ff3d77(%rdi),%eax