-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisasm
9929 lines (9479 loc) · 598 KB
/
disasm
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
./hdd_root/kernel.elf: file format elf64-x86-64
Disassembly of section .text:
ffffffff80000000 <VFS::Initialize()>:
ffffffff80000000: f3 0f 1e fa endbr64
ffffffff80000004: 55 push rbp
ffffffff80000005: 48 89 e5 mov rbp,rsp
ffffffff80000008: 53 push rbx
ffffffff80000009: 48 83 ec 18 sub rsp,0x18
ffffffff8000000d: bf 18 00 00 00 mov edi,0x18
ffffffff80000012: e8 1e 0b 00 00 call ffffffff80000b35 <operator new(unsigned long)>
ffffffff80000017: 48 89 c3 mov rbx,rax
ffffffff8000001a: 48 c7 c6 40 89 00 80 mov rsi,0xffffffff80008940
ffffffff80000021: 48 89 df mov rdi,rbx
ffffffff80000024: e8 a9 1b 00 00 call ffffffff80001bd2 <Initrd::Initrd(char const*)>
ffffffff80000029: 48 89 5d e8 mov QWORD PTR [rbp-0x18],rbx
ffffffff8000002d: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000031: 48 89 c7 mov rdi,rax
ffffffff80000034: e8 07 00 00 00 call ffffffff80000040 <VFS::mount(Filesystem*)>
ffffffff80000039: 90 nop
ffffffff8000003a: 48 8b 5d f8 mov rbx,QWORD PTR [rbp-0x8]
ffffffff8000003e: c9 leave
ffffffff8000003f: c3 ret
ffffffff80000040 <VFS::mount(Filesystem*)>:
ffffffff80000040: f3 0f 1e fa endbr64
ffffffff80000044: 55 push rbp
ffffffff80000045: 48 89 e5 mov rbp,rsp
ffffffff80000048: 48 83 ec 10 sub rsp,0x10
ffffffff8000004c: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000050: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000054: 48 89 c6 mov rsi,rax
ffffffff80000057: 48 c7 c7 a0 ae 00 80 mov rdi,0xffffffff8000aea0
ffffffff8000005e: e8 77 00 00 00 call ffffffff800000da <std::vector<Filesystem*>::push_back(Filesystem*)>
ffffffff80000063: 90 nop
ffffffff80000064: c9 leave
ffffffff80000065: c3 ret
ffffffff80000066 <__static_initialization_and_destruction_0(int, int)>:
ffffffff80000066: f3 0f 1e fa endbr64
ffffffff8000006a: 55 push rbp
ffffffff8000006b: 48 89 e5 mov rbp,rsp
ffffffff8000006e: 48 83 ec 10 sub rsp,0x10
ffffffff80000072: 89 7d fc mov DWORD PTR [rbp-0x4],edi
ffffffff80000075: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
ffffffff80000078: 83 7d fc 01 cmp DWORD PTR [rbp-0x4],0x1
ffffffff8000007c: 75 15 jne ffffffff80000093 <__static_initialization_and_destruction_0(int, int)+0x2d>
ffffffff8000007e: 81 7d f8 ff ff 00 00 cmp DWORD PTR [rbp-0x8],0xffff
ffffffff80000085: 75 0c jne ffffffff80000093 <__static_initialization_and_destruction_0(int, int)+0x2d>
ffffffff80000087: 48 c7 c7 a0 ae 00 80 mov rdi,0xffffffff8000aea0
ffffffff8000008e: e8 1d 00 00 00 call ffffffff800000b0 <std::vector<Filesystem*>::vector()>
ffffffff80000093: 90 nop
ffffffff80000094: c9 leave
ffffffff80000095: c3 ret
ffffffff80000096 <_GLOBAL__sub_I_filesystems>:
ffffffff80000096: f3 0f 1e fa endbr64
ffffffff8000009a: 55 push rbp
ffffffff8000009b: 48 89 e5 mov rbp,rsp
ffffffff8000009e: be ff ff 00 00 mov esi,0xffff
ffffffff800000a3: bf 01 00 00 00 mov edi,0x1
ffffffff800000a8: e8 b9 ff ff ff call ffffffff80000066 <__static_initialization_and_destruction_0(int, int)>
ffffffff800000ad: 5d pop rbp
ffffffff800000ae: c3 ret
ffffffff800000af: 90 nop
ffffffff800000b0 <std::vector<Filesystem*>::vector()>:
ffffffff800000b0: f3 0f 1e fa endbr64
ffffffff800000b4: 55 push rbp
ffffffff800000b5: 48 89 e5 mov rbp,rsp
ffffffff800000b8: 48 83 ec 08 sub rsp,0x8
ffffffff800000bc: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff800000c0: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800000c4: c7 40 08 00 00 00 00 mov DWORD PTR [rax+0x8],0x0
ffffffff800000cb: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800000cf: 48 c7 00 00 00 00 00 mov QWORD PTR [rax],0x0
ffffffff800000d6: 90 nop
ffffffff800000d7: c9 leave
ffffffff800000d8: c3 ret
ffffffff800000d9: 90 nop
ffffffff800000da <std::vector<Filesystem*>::push_back(Filesystem*)>:
ffffffff800000da: f3 0f 1e fa endbr64
ffffffff800000de: 55 push rbp
ffffffff800000df: 48 89 e5 mov rbp,rsp
ffffffff800000e2: 53 push rbx
ffffffff800000e3: 48 83 ec 28 sub rsp,0x28
ffffffff800000e7: 48 89 7d d8 mov QWORD PTR [rbp-0x28],rdi
ffffffff800000eb: 48 89 75 d0 mov QWORD PTR [rbp-0x30],rsi
ffffffff800000ef: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff800000f3: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff800000f6: 8d 50 01 lea edx,[rax+0x1]
ffffffff800000f9: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff800000fd: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff80000100: bf 18 00 00 00 mov edi,0x18
ffffffff80000105: e8 2b 0a 00 00 call ffffffff80000b35 <operator new(unsigned long)>
ffffffff8000010a: 48 89 c3 mov rbx,rax
ffffffff8000010d: 48 8d 45 d0 lea rax,[rbp-0x30]
ffffffff80000111: 48 89 c6 mov rsi,rax
ffffffff80000114: 48 89 df mov rdi,rbx
ffffffff80000117: e8 a4 00 00 00 call ffffffff800001c0 <Node<Filesystem*>::Node(Filesystem* const&)>
ffffffff8000011c: 48 89 5d e0 mov QWORD PTR [rbp-0x20],rbx
ffffffff80000120: bf 18 00 00 00 mov edi,0x18
ffffffff80000125: e8 0b 0a 00 00 call ffffffff80000b35 <operator new(unsigned long)>
ffffffff8000012a: 48 89 c3 mov rbx,rax
ffffffff8000012d: 48 8d 45 d0 lea rax,[rbp-0x30]
ffffffff80000131: 48 89 c6 mov rsi,rax
ffffffff80000134: 48 89 df mov rdi,rbx
ffffffff80000137: e8 84 00 00 00 call ffffffff800001c0 <Node<Filesystem*>::Node(Filesystem* const&)>
ffffffff8000013c: 48 89 5d e8 mov QWORD PTR [rbp-0x18],rbx
ffffffff80000140: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff80000144: 48 c7 40 08 00 00 00 mov QWORD PTR [rax+0x8],0x0
ffffffff8000014b: 00
ffffffff8000014c: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff80000150: 48 c7 40 10 00 00 00 mov QWORD PTR [rax+0x10],0x0
ffffffff80000157: 00
ffffffff80000158: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff8000015c: 48 8b 00 mov rax,QWORD PTR [rax]
ffffffff8000015f: 48 89 45 e8 mov QWORD PTR [rbp-0x18],rax
ffffffff80000163: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000167: 48 8b 00 mov rax,QWORD PTR [rax]
ffffffff8000016a: 48 85 c0 test rax,rax
ffffffff8000016d: 75 19 jne ffffffff80000188 <std::vector<Filesystem*>::push_back(Filesystem*)+0xae>
ffffffff8000016f: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000173: 48 8b 55 e0 mov rdx,QWORD PTR [rbp-0x20]
ffffffff80000177: 48 89 10 mov QWORD PTR [rax],rdx
ffffffff8000017a: eb 3d jmp ffffffff800001b9 <std::vector<Filesystem*>::push_back(Filesystem*)+0xdf>
ffffffff8000017c: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000180: 48 8b 40 08 mov rax,QWORD PTR [rax+0x8]
ffffffff80000184: 48 89 45 e8 mov QWORD PTR [rbp-0x18],rax
ffffffff80000188: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff8000018c: 48 8b 40 08 mov rax,QWORD PTR [rax+0x8]
ffffffff80000190: 48 85 c0 test rax,rax
ffffffff80000193: 75 e7 jne ffffffff8000017c <std::vector<Filesystem*>::push_back(Filesystem*)+0xa2>
ffffffff80000195: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000199: 48 8b 55 e0 mov rdx,QWORD PTR [rbp-0x20]
ffffffff8000019d: 48 89 50 08 mov QWORD PTR [rax+0x8],rdx
ffffffff800001a1: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff800001a5: 48 8b 55 e8 mov rdx,QWORD PTR [rbp-0x18]
ffffffff800001a9: 48 89 50 10 mov QWORD PTR [rax+0x10],rdx
ffffffff800001ad: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff800001b1: 48 c7 40 08 00 00 00 mov QWORD PTR [rax+0x8],0x0
ffffffff800001b8: 00
ffffffff800001b9: 48 8b 5d f8 mov rbx,QWORD PTR [rbp-0x8]
ffffffff800001bd: c9 leave
ffffffff800001be: c3 ret
ffffffff800001bf: 90 nop
ffffffff800001c0 <Node<Filesystem*>::Node(Filesystem* const&)>:
ffffffff800001c0: f3 0f 1e fa endbr64
ffffffff800001c4: 55 push rbp
ffffffff800001c5: 48 89 e5 mov rbp,rsp
ffffffff800001c8: 48 83 ec 10 sub rsp,0x10
ffffffff800001cc: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff800001d0: 48 89 75 f0 mov QWORD PTR [rbp-0x10],rsi
ffffffff800001d4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800001d8: 48 8b 10 mov rdx,QWORD PTR [rax]
ffffffff800001db: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800001df: 48 89 10 mov QWORD PTR [rax],rdx
ffffffff800001e2: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800001e6: 48 c7 40 08 00 00 00 mov QWORD PTR [rax+0x8],0x0
ffffffff800001ed: 00
ffffffff800001ee: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800001f2: 48 c7 40 10 00 00 00 mov QWORD PTR [rax+0x10],0x0
ffffffff800001f9: 00
ffffffff800001fa: 90 nop
ffffffff800001fb: c9 leave
ffffffff800001fc: c3 ret
ffffffff800001fd <getexp(unsigned int)>:
ffffffff800001fd: 55 push rbp
ffffffff800001fe: 48 89 e5 mov rbp,rsp
ffffffff80000201: 48 83 ec 18 sub rsp,0x18
ffffffff80000205: 89 7d ec mov DWORD PTR [rbp-0x14],edi
ffffffff80000208: 81 7d ec ff 00 00 00 cmp DWORD PTR [rbp-0x14],0xff
ffffffff8000020f: 77 07 ja ffffffff80000218 <getexp(unsigned int)+0x1b>
ffffffff80000211: b8 ff ff ff ff mov eax,0xffffffff
ffffffff80000216: eb 2f jmp ffffffff80000247 <getexp(unsigned int)+0x4a>
ffffffff80000218: c7 45 fc 08 00 00 00 mov DWORD PTR [rbp-0x4],0x8
ffffffff8000021f: eb 17 jmp ffffffff80000238 <getexp(unsigned int)+0x3b>
ffffffff80000221: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000224: ba 01 00 00 00 mov edx,0x1
ffffffff80000229: 89 c1 mov ecx,eax
ffffffff8000022b: d3 e2 shl edx,cl
ffffffff8000022d: 89 d0 mov eax,edx
ffffffff8000022f: 39 45 ec cmp DWORD PTR [rbp-0x14],eax
ffffffff80000232: 72 0c jb ffffffff80000240 <getexp(unsigned int)+0x43>
ffffffff80000234: 83 45 fc 01 add DWORD PTR [rbp-0x4],0x1
ffffffff80000238: 83 7d fc 1f cmp DWORD PTR [rbp-0x4],0x1f
ffffffff8000023c: 7e e3 jle ffffffff80000221 <getexp(unsigned int)+0x24>
ffffffff8000023e: eb 01 jmp ffffffff80000241 <getexp(unsigned int)+0x44>
ffffffff80000240: 90 nop
ffffffff80000241: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000244: 83 e8 01 sub eax,0x1
ffffffff80000247: c9 leave
ffffffff80000248: c3 ret
ffffffff80000249 <liballoc_memset(void*, int, unsigned long)>:
ffffffff80000249: f3 0f 1e fa endbr64
ffffffff8000024d: 55 push rbp
ffffffff8000024e: 48 89 e5 mov rbp,rsp
ffffffff80000251: 48 83 ec 28 sub rsp,0x28
ffffffff80000255: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff80000259: 89 75 e4 mov DWORD PTR [rbp-0x1c],esi
ffffffff8000025c: 48 89 55 d8 mov QWORD PTR [rbp-0x28],rdx
ffffffff80000260: c7 45 fc 00 00 00 00 mov DWORD PTR [rbp-0x4],0x0
ffffffff80000267: eb 16 jmp ffffffff8000027f <liballoc_memset(void*, int, unsigned long)+0x36>
ffffffff80000269: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000026c: 48 63 d0 movsxd rdx,eax
ffffffff8000026f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000273: 48 01 d0 add rax,rdx
ffffffff80000276: 8b 55 e4 mov edx,DWORD PTR [rbp-0x1c]
ffffffff80000279: 88 10 mov BYTE PTR [rax],dl
ffffffff8000027b: 83 45 fc 01 add DWORD PTR [rbp-0x4],0x1
ffffffff8000027f: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000282: 48 98 cdqe
ffffffff80000284: 48 39 45 d8 cmp QWORD PTR [rbp-0x28],rax
ffffffff80000288: 77 df ja ffffffff80000269 <liballoc_memset(void*, int, unsigned long)+0x20>
ffffffff8000028a: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff8000028e: c9 leave
ffffffff8000028f: c3 ret
ffffffff80000290 <liballoc_memcpy(void*, void const*, unsigned long)>:
ffffffff80000290: f3 0f 1e fa endbr64
ffffffff80000294: 55 push rbp
ffffffff80000295: 48 89 e5 mov rbp,rsp
ffffffff80000298: 48 83 ec 38 sub rsp,0x38
ffffffff8000029c: 48 89 7d d8 mov QWORD PTR [rbp-0x28],rdi
ffffffff800002a0: 48 89 75 d0 mov QWORD PTR [rbp-0x30],rsi
ffffffff800002a4: 48 89 55 c8 mov QWORD PTR [rbp-0x38],rdx
ffffffff800002a8: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff800002ac: 48 89 45 e8 mov QWORD PTR [rbp-0x18],rax
ffffffff800002b0: 48 8b 45 d0 mov rax,QWORD PTR [rbp-0x30]
ffffffff800002b4: 48 89 45 e0 mov QWORD PTR [rbp-0x20],rax
ffffffff800002b8: eb 21 jmp ffffffff800002db <liballoc_memcpy(void*, void const*, unsigned long)+0x4b>
ffffffff800002ba: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff800002be: 48 8d 50 04 lea rdx,[rax+0x4]
ffffffff800002c2: 48 89 55 e0 mov QWORD PTR [rbp-0x20],rdx
ffffffff800002c6: 8b 10 mov edx,DWORD PTR [rax]
ffffffff800002c8: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800002cc: 48 8d 48 04 lea rcx,[rax+0x4]
ffffffff800002d0: 48 89 4d e8 mov QWORD PTR [rbp-0x18],rcx
ffffffff800002d4: 89 10 mov DWORD PTR [rax],edx
ffffffff800002d6: 48 83 6d c8 04 sub QWORD PTR [rbp-0x38],0x4
ffffffff800002db: 48 83 7d c8 03 cmp QWORD PTR [rbp-0x38],0x3
ffffffff800002e0: 77 d8 ja ffffffff800002ba <liballoc_memcpy(void*, void const*, unsigned long)+0x2a>
ffffffff800002e2: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800002e6: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
ffffffff800002ea: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff800002ee: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff800002f2: eb 22 jmp ffffffff80000316 <liballoc_memcpy(void*, void const*, unsigned long)+0x86>
ffffffff800002f4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800002f8: 48 8d 50 01 lea rdx,[rax+0x1]
ffffffff800002fc: 48 89 55 f0 mov QWORD PTR [rbp-0x10],rdx
ffffffff80000300: 0f b6 10 movzx edx,BYTE PTR [rax]
ffffffff80000303: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000307: 48 8d 48 01 lea rcx,[rax+0x1]
ffffffff8000030b: 48 89 4d f8 mov QWORD PTR [rbp-0x8],rcx
ffffffff8000030f: 88 10 mov BYTE PTR [rax],dl
ffffffff80000311: 48 83 6d c8 01 sub QWORD PTR [rbp-0x38],0x1
ffffffff80000316: 48 83 7d c8 00 cmp QWORD PTR [rbp-0x38],0x0
ffffffff8000031b: 75 d7 jne ffffffff800002f4 <liballoc_memcpy(void*, void const*, unsigned long)+0x64>
ffffffff8000031d: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000321: c9 leave
ffffffff80000322: c3 ret
ffffffff80000323 <insert_tag(boundary_tag*, int)>:
ffffffff80000323: 55 push rbp
ffffffff80000324: 48 89 e5 mov rbp,rsp
ffffffff80000327: 48 83 ec 20 sub rsp,0x20
ffffffff8000032b: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff8000032f: 89 75 e4 mov DWORD PTR [rbp-0x1c],esi
ffffffff80000332: 83 7d e4 00 cmp DWORD PTR [rbp-0x1c],0x0
ffffffff80000336: 79 23 jns ffffffff8000035b <insert_tag(boundary_tag*, int)+0x38>
ffffffff80000338: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff8000033c: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff8000033f: 83 e8 30 sub eax,0x30
ffffffff80000342: 89 c7 mov edi,eax
ffffffff80000344: e8 b4 fe ff ff call ffffffff800001fd <getexp(unsigned int)>
ffffffff80000349: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff8000034c: 83 7d fc 07 cmp DWORD PTR [rbp-0x4],0x7
ffffffff80000350: 7f 0f jg ffffffff80000361 <insert_tag(boundary_tag*, int)+0x3e>
ffffffff80000352: c7 45 fc 08 00 00 00 mov DWORD PTR [rbp-0x4],0x8
ffffffff80000359: eb 06 jmp ffffffff80000361 <insert_tag(boundary_tag*, int)+0x3e>
ffffffff8000035b: 8b 45 e4 mov eax,DWORD PTR [rbp-0x1c]
ffffffff8000035e: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000361: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000365: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
ffffffff80000368: 89 50 0c mov DWORD PTR [rax+0xc],edx
ffffffff8000036b: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000036e: 48 98 cdqe
ffffffff80000370: 48 8b 04 c5 c0 ae 00 mov rax,QWORD PTR [rax*8-0x7fff5140]
ffffffff80000377: 80
ffffffff80000378: 48 85 c0 test rax,rax
ffffffff8000037b: 74 2a je ffffffff800003a7 <insert_tag(boundary_tag*, int)+0x84>
ffffffff8000037d: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000380: 48 98 cdqe
ffffffff80000382: 48 8b 04 c5 c0 ae 00 mov rax,QWORD PTR [rax*8-0x7fff5140]
ffffffff80000389: 80
ffffffff8000038a: 48 8b 55 e8 mov rdx,QWORD PTR [rbp-0x18]
ffffffff8000038e: 48 89 50 28 mov QWORD PTR [rax+0x28],rdx
ffffffff80000392: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000395: 48 98 cdqe
ffffffff80000397: 48 8b 14 c5 c0 ae 00 mov rdx,QWORD PTR [rax*8-0x7fff5140]
ffffffff8000039e: 80
ffffffff8000039f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800003a3: 48 89 50 20 mov QWORD PTR [rax+0x20],rdx
ffffffff800003a7: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff800003aa: 48 98 cdqe
ffffffff800003ac: 48 8b 55 e8 mov rdx,QWORD PTR [rbp-0x18]
ffffffff800003b0: 48 89 14 c5 c0 ae 00 mov QWORD PTR [rax*8-0x7fff5140],rdx
ffffffff800003b7: 80
ffffffff800003b8: 90 nop
ffffffff800003b9: c9 leave
ffffffff800003ba: c3 ret
ffffffff800003bb <remove_tag(boundary_tag*)>:
ffffffff800003bb: 55 push rbp
ffffffff800003bc: 48 89 e5 mov rbp,rsp
ffffffff800003bf: 48 83 ec 08 sub rsp,0x8
ffffffff800003c3: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff800003c7: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800003cb: 8b 40 0c mov eax,DWORD PTR [rax+0xc]
ffffffff800003ce: 48 98 cdqe
ffffffff800003d0: 48 8b 04 c5 c0 ae 00 mov rax,QWORD PTR [rax*8-0x7fff5140]
ffffffff800003d7: 80
ffffffff800003d8: 48 39 45 f8 cmp QWORD PTR [rbp-0x8],rax
ffffffff800003dc: 75 1a jne ffffffff800003f8 <remove_tag(boundary_tag*)+0x3d>
ffffffff800003de: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800003e2: 8b 48 0c mov ecx,DWORD PTR [rax+0xc]
ffffffff800003e5: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800003e9: 48 8b 50 20 mov rdx,QWORD PTR [rax+0x20]
ffffffff800003ed: 48 63 c1 movsxd rax,ecx
ffffffff800003f0: 48 89 14 c5 c0 ae 00 mov QWORD PTR [rax*8-0x7fff5140],rdx
ffffffff800003f7: 80
ffffffff800003f8: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800003fc: 48 8b 40 28 mov rax,QWORD PTR [rax+0x28]
ffffffff80000400: 48 85 c0 test rax,rax
ffffffff80000403: 74 14 je ffffffff80000419 <remove_tag(boundary_tag*)+0x5e>
ffffffff80000405: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000409: 48 8b 40 28 mov rax,QWORD PTR [rax+0x28]
ffffffff8000040d: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
ffffffff80000411: 48 8b 52 20 mov rdx,QWORD PTR [rdx+0x20]
ffffffff80000415: 48 89 50 20 mov QWORD PTR [rax+0x20],rdx
ffffffff80000419: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000041d: 48 8b 40 20 mov rax,QWORD PTR [rax+0x20]
ffffffff80000421: 48 85 c0 test rax,rax
ffffffff80000424: 74 14 je ffffffff8000043a <remove_tag(boundary_tag*)+0x7f>
ffffffff80000426: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000042a: 48 8b 40 20 mov rax,QWORD PTR [rax+0x20]
ffffffff8000042e: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
ffffffff80000432: 48 8b 52 28 mov rdx,QWORD PTR [rdx+0x28]
ffffffff80000436: 48 89 50 28 mov QWORD PTR [rax+0x28],rdx
ffffffff8000043a: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000043e: 48 c7 40 20 00 00 00 mov QWORD PTR [rax+0x20],0x0
ffffffff80000445: 00
ffffffff80000446: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000044a: 48 c7 40 28 00 00 00 mov QWORD PTR [rax+0x28],0x0
ffffffff80000451: 00
ffffffff80000452: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000456: c7 40 0c ff ff ff ff mov DWORD PTR [rax+0xc],0xffffffff
ffffffff8000045d: 90 nop
ffffffff8000045e: c9 leave
ffffffff8000045f: c3 ret
ffffffff80000460 <melt_left(boundary_tag*)>:
ffffffff80000460: 55 push rbp
ffffffff80000461: 48 89 e5 mov rbp,rsp
ffffffff80000464: 48 83 ec 18 sub rsp,0x18
ffffffff80000468: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff8000046c: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000470: 48 8b 40 10 mov rax,QWORD PTR [rax+0x10]
ffffffff80000474: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
ffffffff80000478: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000047c: 8b 50 08 mov edx,DWORD PTR [rax+0x8]
ffffffff8000047f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000483: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff80000486: 01 c2 add edx,eax
ffffffff80000488: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000048c: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff8000048f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000493: 48 8b 50 18 mov rdx,QWORD PTR [rax+0x18]
ffffffff80000497: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000049b: 48 89 50 18 mov QWORD PTR [rax+0x18],rdx
ffffffff8000049f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800004a3: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff800004a7: 48 85 c0 test rax,rax
ffffffff800004aa: 74 10 je ffffffff800004bc <melt_left(boundary_tag*)+0x5c>
ffffffff800004ac: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800004b0: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff800004b4: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
ffffffff800004b8: 48 89 50 10 mov QWORD PTR [rax+0x10],rdx
ffffffff800004bc: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800004c0: c9 leave
ffffffff800004c1: c3 ret
ffffffff800004c2 <absorb_right(boundary_tag*)>:
ffffffff800004c2: 55 push rbp
ffffffff800004c3: 48 89 e5 mov rbp,rsp
ffffffff800004c6: 48 83 ec 18 sub rsp,0x18
ffffffff800004ca: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff800004ce: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800004d2: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff800004d6: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
ffffffff800004da: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800004de: 48 89 c7 mov rdi,rax
ffffffff800004e1: e8 d5 fe ff ff call ffffffff800003bb <remove_tag(boundary_tag*)>
ffffffff800004e6: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800004ea: 8b 50 08 mov edx,DWORD PTR [rax+0x8]
ffffffff800004ed: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff800004f1: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff800004f4: 01 c2 add edx,eax
ffffffff800004f6: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800004fa: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff800004fd: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000501: 48 8b 50 18 mov rdx,QWORD PTR [rax+0x18]
ffffffff80000505: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000509: 48 89 50 18 mov QWORD PTR [rax+0x18],rdx
ffffffff8000050d: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000511: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff80000515: 48 85 c0 test rax,rax
ffffffff80000518: 74 10 je ffffffff8000052a <absorb_right(boundary_tag*)+0x68>
ffffffff8000051a: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff8000051e: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff80000522: 48 8b 55 e8 mov rdx,QWORD PTR [rbp-0x18]
ffffffff80000526: 48 89 50 10 mov QWORD PTR [rax+0x10],rdx
ffffffff8000052a: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff8000052e: c9 leave
ffffffff8000052f: c3 ret
ffffffff80000530 <split_tag(boundary_tag*)>:
ffffffff80000530: 55 push rbp
ffffffff80000531: 48 89 e5 mov rbp,rsp
ffffffff80000534: 48 83 ec 18 sub rsp,0x18
ffffffff80000538: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff8000053c: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000540: 8b 50 08 mov edx,DWORD PTR [rax+0x8]
ffffffff80000543: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000547: 8b 48 04 mov ecx,DWORD PTR [rax+0x4]
ffffffff8000054a: 89 d0 mov eax,edx
ffffffff8000054c: 29 c8 sub eax,ecx
ffffffff8000054e: 83 e8 30 sub eax,0x30
ffffffff80000551: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000554: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000558: 8b 40 04 mov eax,DWORD PTR [rax+0x4]
ffffffff8000055b: 89 c2 mov edx,eax
ffffffff8000055d: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000561: 48 01 d0 add rax,rdx
ffffffff80000564: 48 83 c0 30 add rax,0x30
ffffffff80000568: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff8000056c: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000570: c7 00 de c0 01 c0 mov DWORD PTR [rax],0xc001c0de
ffffffff80000576: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff8000057a: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
ffffffff8000057d: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff80000580: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000584: 48 c7 40 20 00 00 00 mov QWORD PTR [rax+0x20],0x0
ffffffff8000058b: 00
ffffffff8000058c: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000590: 48 c7 40 28 00 00 00 mov QWORD PTR [rax+0x28],0x0
ffffffff80000597: 00
ffffffff80000598: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff8000059c: 48 8b 55 e8 mov rdx,QWORD PTR [rbp-0x18]
ffffffff800005a0: 48 89 50 10 mov QWORD PTR [rax+0x10],rdx
ffffffff800005a4: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800005a8: 48 8b 50 18 mov rdx,QWORD PTR [rax+0x18]
ffffffff800005ac: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800005b0: 48 89 50 18 mov QWORD PTR [rax+0x18],rdx
ffffffff800005b4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800005b8: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff800005bc: 48 85 c0 test rax,rax
ffffffff800005bf: 74 10 je ffffffff800005d1 <split_tag(boundary_tag*)+0xa1>
ffffffff800005c1: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800005c5: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff800005c9: 48 8b 55 f0 mov rdx,QWORD PTR [rbp-0x10]
ffffffff800005cd: 48 89 50 10 mov QWORD PTR [rax+0x10],rdx
ffffffff800005d1: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800005d5: 48 8b 55 f0 mov rdx,QWORD PTR [rbp-0x10]
ffffffff800005d9: 48 89 50 18 mov QWORD PTR [rax+0x18],rdx
ffffffff800005dd: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800005e1: 8b 50 08 mov edx,DWORD PTR [rax+0x8]
ffffffff800005e4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800005e8: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff800005eb: 29 c2 sub edx,eax
ffffffff800005ed: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff800005f1: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff800005f4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800005f8: be ff ff ff ff mov esi,0xffffffff
ffffffff800005fd: 48 89 c7 mov rdi,rax
ffffffff80000600: e8 1e fd ff ff call ffffffff80000323 <insert_tag(boundary_tag*, int)>
ffffffff80000605: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000609: c9 leave
ffffffff8000060a: c3 ret
ffffffff8000060b <allocate_new_tag(unsigned int)>:
ffffffff8000060b: f3 0f 1e fa endbr64
ffffffff8000060f: 55 push rbp
ffffffff80000610: 48 89 e5 mov rbp,rsp
ffffffff80000613: 48 83 ec 20 sub rsp,0x20
ffffffff80000617: 89 7d ec mov DWORD PTR [rbp-0x14],edi
ffffffff8000061a: 8b 45 ec mov eax,DWORD PTR [rbp-0x14]
ffffffff8000061d: 83 c0 30 add eax,0x30
ffffffff80000620: 89 45 f8 mov DWORD PTR [rbp-0x8],eax
ffffffff80000623: 8b 05 b7 a0 00 00 mov eax,DWORD PTR [rip+0xa0b7] # ffffffff8000a6e0 <l_pageSize>
ffffffff80000629: 89 c6 mov esi,eax
ffffffff8000062b: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
ffffffff8000062e: ba 00 00 00 00 mov edx,0x0
ffffffff80000633: f7 f6 div esi
ffffffff80000635: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000638: 8b 05 a2 a0 00 00 mov eax,DWORD PTR [rip+0xa0a2] # ffffffff8000a6e0 <l_pageSize>
ffffffff8000063e: 89 c1 mov ecx,eax
ffffffff80000640: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
ffffffff80000643: ba 00 00 00 00 mov edx,0x0
ffffffff80000648: f7 f1 div ecx
ffffffff8000064a: 89 d0 mov eax,edx
ffffffff8000064c: 85 c0 test eax,eax
ffffffff8000064e: 74 04 je ffffffff80000654 <allocate_new_tag(unsigned int)+0x49>
ffffffff80000650: 83 45 fc 01 add DWORD PTR [rbp-0x4],0x1
ffffffff80000654: 8b 05 8a a0 00 00 mov eax,DWORD PTR [rip+0xa08a] # ffffffff8000a6e4 <l_pageCount>
ffffffff8000065a: 39 45 fc cmp DWORD PTR [rbp-0x4],eax
ffffffff8000065d: 73 09 jae ffffffff80000668 <allocate_new_tag(unsigned int)+0x5d>
ffffffff8000065f: 8b 05 7f a0 00 00 mov eax,DWORD PTR [rip+0xa07f] # ffffffff8000a6e4 <l_pageCount>
ffffffff80000665: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000668: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000066b: 89 c7 mov edi,eax
ffffffff8000066d: e8 5f 05 00 00 call ffffffff80000bd1 <liballoc_alloc>
ffffffff80000672: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff80000676: 48 83 7d f0 00 cmp QWORD PTR [rbp-0x10],0x0
ffffffff8000067b: 75 07 jne ffffffff80000684 <allocate_new_tag(unsigned int)+0x79>
ffffffff8000067d: b8 00 00 00 00 mov eax,0x0
ffffffff80000682: eb 66 jmp ffffffff800006ea <allocate_new_tag(unsigned int)+0xdf>
ffffffff80000684: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000688: c7 00 de c0 01 c0 mov DWORD PTR [rax],0xc001c0de
ffffffff8000068e: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000692: 8b 55 ec mov edx,DWORD PTR [rbp-0x14]
ffffffff80000695: 89 50 04 mov DWORD PTR [rax+0x4],edx
ffffffff80000698: 8b 05 42 a0 00 00 mov eax,DWORD PTR [rip+0xa042] # ffffffff8000a6e0 <l_pageSize>
ffffffff8000069e: 0f af 45 fc imul eax,DWORD PTR [rbp-0x4]
ffffffff800006a2: 89 c2 mov edx,eax
ffffffff800006a4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006a8: 89 50 08 mov DWORD PTR [rax+0x8],edx
ffffffff800006ab: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006af: c7 40 0c ff ff ff ff mov DWORD PTR [rax+0xc],0xffffffff
ffffffff800006b6: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006ba: 48 c7 40 20 00 00 00 mov QWORD PTR [rax+0x20],0x0
ffffffff800006c1: 00
ffffffff800006c2: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006c6: 48 c7 40 28 00 00 00 mov QWORD PTR [rax+0x28],0x0
ffffffff800006cd: 00
ffffffff800006ce: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006d2: 48 c7 40 10 00 00 00 mov QWORD PTR [rax+0x10],0x0
ffffffff800006d9: 00
ffffffff800006da: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006de: 48 c7 40 18 00 00 00 mov QWORD PTR [rax+0x18],0x0
ffffffff800006e5: 00
ffffffff800006e6: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800006ea: c9 leave
ffffffff800006eb: c3 ret
ffffffff800006ec <malloc>:
ffffffff800006ec: f3 0f 1e fa endbr64
ffffffff800006f0: 55 push rbp
ffffffff800006f1: 48 89 e5 mov rbp,rsp
ffffffff800006f4: 48 83 ec 40 sub rsp,0x40
ffffffff800006f8: 48 89 7d c8 mov QWORD PTR [rbp-0x38],rdi
ffffffff800006fc: 48 c7 45 f0 00 00 00 mov QWORD PTR [rbp-0x10],0x0
ffffffff80000703: 00
ffffffff80000704: e8 aa 04 00 00 call ffffffff80000bb3 <liballoc_lock>
ffffffff80000709: 8b 05 31 a9 00 00 mov eax,DWORD PTR [rip+0xa931] # ffffffff8000b040 <l_initialized>
ffffffff8000070f: 85 c0 test eax,eax
ffffffff80000711: 75 3e jne ffffffff80000751 <malloc+0x65>
ffffffff80000713: c7 45 fc 00 00 00 00 mov DWORD PTR [rbp-0x4],0x0
ffffffff8000071a: eb 25 jmp ffffffff80000741 <malloc+0x55>
ffffffff8000071c: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000071f: 48 98 cdqe
ffffffff80000721: 48 c7 04 c5 c0 ae 00 mov QWORD PTR [rax*8-0x7fff5140],0x0
ffffffff80000728: 80 00 00 00 00
ffffffff8000072d: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000730: 48 98 cdqe
ffffffff80000732: c7 04 85 c0 af 00 80 mov DWORD PTR [rax*4-0x7fff5040],0x0
ffffffff80000739: 00 00 00 00
ffffffff8000073d: 83 45 fc 01 add DWORD PTR [rbp-0x4],0x1
ffffffff80000741: 83 7d fc 1f cmp DWORD PTR [rbp-0x4],0x1f
ffffffff80000745: 7e d5 jle ffffffff8000071c <malloc+0x30>
ffffffff80000747: c7 05 ef a8 00 00 01 mov DWORD PTR [rip+0xa8ef],0x1 # ffffffff8000b040 <l_initialized>
ffffffff8000074e: 00 00 00
ffffffff80000751: 48 8b 45 c8 mov rax,QWORD PTR [rbp-0x38]
ffffffff80000755: 89 c7 mov edi,eax
ffffffff80000757: e8 a1 fa ff ff call ffffffff800001fd <getexp(unsigned int)>
ffffffff8000075c: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff8000075f: 83 7d fc 07 cmp DWORD PTR [rbp-0x4],0x7
ffffffff80000763: 7f 07 jg ffffffff8000076c <malloc+0x80>
ffffffff80000765: c7 45 fc 08 00 00 00 mov DWORD PTR [rbp-0x4],0x8
ffffffff8000076c: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000076f: 48 98 cdqe
ffffffff80000771: 48 8b 04 c5 c0 ae 00 mov rax,QWORD PTR [rax*8-0x7fff5140]
ffffffff80000778: 80
ffffffff80000779: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff8000077d: eb 26 jmp ffffffff800007a5 <malloc+0xb9>
ffffffff8000077f: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000783: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff80000786: 89 c0 mov eax,eax
ffffffff80000788: 48 8d 50 d0 lea rdx,[rax-0x30]
ffffffff8000078c: 48 8b 45 c8 mov rax,QWORD PTR [rbp-0x38]
ffffffff80000790: 48 83 c0 30 add rax,0x30
ffffffff80000794: 48 39 c2 cmp rdx,rax
ffffffff80000797: 73 15 jae ffffffff800007ae <malloc+0xc2>
ffffffff80000799: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff8000079d: 48 8b 40 20 mov rax,QWORD PTR [rax+0x20]
ffffffff800007a1: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff800007a5: 48 83 7d f0 00 cmp QWORD PTR [rbp-0x10],0x0
ffffffff800007aa: 75 d3 jne ffffffff8000077f <malloc+0x93>
ffffffff800007ac: eb 01 jmp ffffffff800007af <malloc+0xc3>
ffffffff800007ae: 90 nop
ffffffff800007af: 48 83 7d f0 00 cmp QWORD PTR [rbp-0x10],0x0
ffffffff800007b4: 75 40 jne ffffffff800007f6 <malloc+0x10a>
ffffffff800007b6: 48 8b 45 c8 mov rax,QWORD PTR [rbp-0x38]
ffffffff800007ba: 89 c7 mov edi,eax
ffffffff800007bc: e8 4a fe ff ff call ffffffff8000060b <allocate_new_tag(unsigned int)>
ffffffff800007c1: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff800007c5: 48 83 7d f0 00 cmp QWORD PTR [rbp-0x10],0x0
ffffffff800007ca: 0f 94 c0 sete al
ffffffff800007cd: 84 c0 test al,al
ffffffff800007cf: 74 0f je ffffffff800007e0 <malloc+0xf4>
ffffffff800007d1: e8 ec 03 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff800007d6: b8 00 00 00 00 mov eax,0x0
ffffffff800007db: e9 b6 00 00 00 jmp ffffffff80000896 <malloc+0x1aa>
ffffffff800007e0: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800007e4: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff800007e7: 83 e8 30 sub eax,0x30
ffffffff800007ea: 89 c7 mov edi,eax
ffffffff800007ec: e8 0c fa ff ff call ffffffff800001fd <getexp(unsigned int)>
ffffffff800007f1: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff800007f4: eb 41 jmp ffffffff80000837 <malloc+0x14b>
ffffffff800007f6: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800007fa: 48 89 c7 mov rdi,rax
ffffffff800007fd: e8 b9 fb ff ff call ffffffff800003bb <remove_tag(boundary_tag*)>
ffffffff80000802: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000806: 48 8b 40 10 mov rax,QWORD PTR [rax+0x10]
ffffffff8000080a: 48 85 c0 test rax,rax
ffffffff8000080d: 75 28 jne ffffffff80000837 <malloc+0x14b>
ffffffff8000080f: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000813: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff80000817: 48 85 c0 test rax,rax
ffffffff8000081a: 75 1b jne ffffffff80000837 <malloc+0x14b>
ffffffff8000081c: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000081f: 48 98 cdqe
ffffffff80000821: 8b 04 85 c0 af 00 80 mov eax,DWORD PTR [rax*4-0x7fff5040]
ffffffff80000828: 8d 50 ff lea edx,[rax-0x1]
ffffffff8000082b: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff8000082e: 48 98 cdqe
ffffffff80000830: 89 14 85 c0 af 00 80 mov DWORD PTR [rax*4-0x7fff5040],edx
ffffffff80000837: 48 8b 45 c8 mov rax,QWORD PTR [rbp-0x38]
ffffffff8000083b: 89 c2 mov edx,eax
ffffffff8000083d: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000841: 89 50 04 mov DWORD PTR [rax+0x4],edx
ffffffff80000844: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000848: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff8000084b: 48 8b 55 c8 mov rdx,QWORD PTR [rbp-0x38]
ffffffff8000084f: 29 d0 sub eax,edx
ffffffff80000851: 83 e8 60 sub eax,0x60
ffffffff80000854: 89 45 ec mov DWORD PTR [rbp-0x14],eax
ffffffff80000857: 8b 45 ec mov eax,DWORD PTR [rbp-0x14]
ffffffff8000085a: 85 c0 test eax,eax
ffffffff8000085c: 7e 23 jle ffffffff80000881 <malloc+0x195>
ffffffff8000085e: 8b 45 ec mov eax,DWORD PTR [rbp-0x14]
ffffffff80000861: 89 c7 mov edi,eax
ffffffff80000863: e8 95 f9 ff ff call ffffffff800001fd <getexp(unsigned int)>
ffffffff80000868: 89 45 e8 mov DWORD PTR [rbp-0x18],eax
ffffffff8000086b: 83 7d e8 00 cmp DWORD PTR [rbp-0x18],0x0
ffffffff8000086f: 78 10 js ffffffff80000881 <malloc+0x195>
ffffffff80000871: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000875: 48 89 c7 mov rdi,rax
ffffffff80000878: e8 b3 fc ff ff call ffffffff80000530 <split_tag(boundary_tag*)>
ffffffff8000087d: 48 89 45 e0 mov QWORD PTR [rbp-0x20],rax
ffffffff80000881: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000885: 48 83 c0 30 add rax,0x30
ffffffff80000889: 48 89 45 d8 mov QWORD PTR [rbp-0x28],rax
ffffffff8000088d: e8 30 03 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff80000892: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000896: c9 leave
ffffffff80000897: c3 ret
ffffffff80000898 <free>:
ffffffff80000898: f3 0f 1e fa endbr64
ffffffff8000089c: 55 push rbp
ffffffff8000089d: 48 89 e5 mov rbp,rsp
ffffffff800008a0: 48 83 ec 30 sub rsp,0x30
ffffffff800008a4: 48 89 7d d8 mov QWORD PTR [rbp-0x28],rdi
ffffffff800008a8: 48 83 7d d8 00 cmp QWORD PTR [rbp-0x28],0x0
ffffffff800008ad: 0f 84 7a 01 00 00 je ffffffff80000a2d <free+0x195>
ffffffff800008b3: e8 fb 02 00 00 call ffffffff80000bb3 <liballoc_lock>
ffffffff800008b8: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff800008bc: 48 83 e8 30 sub rax,0x30
ffffffff800008c0: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff800008c4: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800008c8: 8b 00 mov eax,DWORD PTR [rax]
ffffffff800008ca: 3d de c0 01 c0 cmp eax,0xc001c0de
ffffffff800008cf: 74 26 je ffffffff800008f7 <free+0x5f>
ffffffff800008d1: e8 ec 02 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff800008d6: e9 53 01 00 00 jmp ffffffff80000a2e <free+0x196>
ffffffff800008db: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800008df: 48 89 c7 mov rdi,rax
ffffffff800008e2: e8 79 fb ff ff call ffffffff80000460 <melt_left(boundary_tag*)>
ffffffff800008e7: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff800008eb: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800008ef: 48 89 c7 mov rdi,rax
ffffffff800008f2: e8 c4 fa ff ff call ffffffff800003bb <remove_tag(boundary_tag*)>
ffffffff800008f7: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800008fb: 48 8b 40 10 mov rax,QWORD PTR [rax+0x10]
ffffffff800008ff: 48 85 c0 test rax,rax
ffffffff80000902: 74 21 je ffffffff80000925 <free+0x8d>
ffffffff80000904: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000908: 48 8b 40 10 mov rax,QWORD PTR [rax+0x10]
ffffffff8000090c: 8b 40 0c mov eax,DWORD PTR [rax+0xc]
ffffffff8000090f: 85 c0 test eax,eax
ffffffff80000911: 79 c8 jns ffffffff800008db <free+0x43>
ffffffff80000913: eb 10 jmp ffffffff80000925 <free+0x8d>
ffffffff80000915: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000919: 48 89 c7 mov rdi,rax
ffffffff8000091c: e8 a1 fb ff ff call ffffffff800004c2 <absorb_right(boundary_tag*)>
ffffffff80000921: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff80000925: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000929: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff8000092d: 48 85 c0 test rax,rax
ffffffff80000930: 74 0f je ffffffff80000941 <free+0xa9>
ffffffff80000932: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000936: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff8000093a: 8b 40 0c mov eax,DWORD PTR [rax+0xc]
ffffffff8000093d: 85 c0 test eax,eax
ffffffff8000093f: 79 d4 jns ffffffff80000915 <free+0x7d>
ffffffff80000941: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000945: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff80000948: 83 e8 30 sub eax,0x30
ffffffff8000094b: 89 c7 mov edi,eax
ffffffff8000094d: e8 ab f8 ff ff call ffffffff800001fd <getexp(unsigned int)>
ffffffff80000952: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000955: 83 7d fc 07 cmp DWORD PTR [rbp-0x4],0x7
ffffffff80000959: 7f 07 jg ffffffff80000962 <free+0xca>
ffffffff8000095b: c7 45 fc 08 00 00 00 mov DWORD PTR [rbp-0x4],0x8
ffffffff80000962: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000966: 48 8b 40 10 mov rax,QWORD PTR [rax+0x10]
ffffffff8000096a: 48 85 c0 test rax,rax
ffffffff8000096d: 0f 85 a2 00 00 00 jne ffffffff80000a15 <free+0x17d>
ffffffff80000973: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000977: 48 8b 40 18 mov rax,QWORD PTR [rax+0x18]
ffffffff8000097b: 48 85 c0 test rax,rax
ffffffff8000097e: 0f 85 91 00 00 00 jne ffffffff80000a15 <free+0x17d>
ffffffff80000984: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000987: 48 98 cdqe
ffffffff80000989: 8b 04 85 c0 af 00 80 mov eax,DWORD PTR [rax*4-0x7fff5040]
ffffffff80000990: 83 f8 05 cmp eax,0x5
ffffffff80000993: 75 65 jne ffffffff800009fa <free+0x162>
ffffffff80000995: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000999: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff8000099c: 8b 15 3e 9d 00 00 mov edx,DWORD PTR [rip+0x9d3e] # ffffffff8000a6e0 <l_pageSize>
ffffffff800009a2: 89 d1 mov ecx,edx
ffffffff800009a4: ba 00 00 00 00 mov edx,0x0
ffffffff800009a9: f7 f1 div ecx
ffffffff800009ab: 89 45 ec mov DWORD PTR [rbp-0x14],eax
ffffffff800009ae: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800009b2: 8b 40 08 mov eax,DWORD PTR [rax+0x8]
ffffffff800009b5: 8b 15 25 9d 00 00 mov edx,DWORD PTR [rip+0x9d25] # ffffffff8000a6e0 <l_pageSize>
ffffffff800009bb: 89 d1 mov ecx,edx
ffffffff800009bd: ba 00 00 00 00 mov edx,0x0
ffffffff800009c2: f7 f1 div ecx
ffffffff800009c4: 89 d0 mov eax,edx
ffffffff800009c6: 85 c0 test eax,eax
ffffffff800009c8: 74 04 je ffffffff800009ce <free+0x136>
ffffffff800009ca: 83 45 ec 01 add DWORD PTR [rbp-0x14],0x1
ffffffff800009ce: 8b 05 10 9d 00 00 mov eax,DWORD PTR [rip+0x9d10] # ffffffff8000a6e4 <l_pageCount>
ffffffff800009d4: 39 45 ec cmp DWORD PTR [rbp-0x14],eax
ffffffff800009d7: 73 09 jae ffffffff800009e2 <free+0x14a>
ffffffff800009d9: 8b 05 05 9d 00 00 mov eax,DWORD PTR [rip+0x9d05] # ffffffff8000a6e4 <l_pageCount>
ffffffff800009df: 89 45 ec mov DWORD PTR [rbp-0x14],eax
ffffffff800009e2: 8b 55 ec mov edx,DWORD PTR [rbp-0x14]
ffffffff800009e5: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff800009e9: 89 d6 mov esi,edx
ffffffff800009eb: 48 89 c7 mov rdi,rax
ffffffff800009ee: e8 0d 02 00 00 call ffffffff80000c00 <liballoc_free>
ffffffff800009f3: e8 ca 01 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff800009f8: eb 34 jmp ffffffff80000a2e <free+0x196>
ffffffff800009fa: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff800009fd: 48 98 cdqe
ffffffff800009ff: 8b 04 85 c0 af 00 80 mov eax,DWORD PTR [rax*4-0x7fff5040]
ffffffff80000a06: 8d 50 01 lea edx,[rax+0x1]
ffffffff80000a09: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000a0c: 48 98 cdqe
ffffffff80000a0e: 89 14 85 c0 af 00 80 mov DWORD PTR [rax*4-0x7fff5040],edx
ffffffff80000a15: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
ffffffff80000a18: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000a1c: 89 d6 mov esi,edx
ffffffff80000a1e: 48 89 c7 mov rdi,rax
ffffffff80000a21: e8 fd f8 ff ff call ffffffff80000323 <insert_tag(boundary_tag*, int)>
ffffffff80000a26: e8 97 01 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff80000a2b: eb 01 jmp ffffffff80000a2e <free+0x196>
ffffffff80000a2d: 90 nop
ffffffff80000a2e: c9 leave
ffffffff80000a2f: c3 ret
ffffffff80000a30 <calloc>:
ffffffff80000a30: f3 0f 1e fa endbr64
ffffffff80000a34: 55 push rbp
ffffffff80000a35: 48 89 e5 mov rbp,rsp
ffffffff80000a38: 48 83 ec 20 sub rsp,0x20
ffffffff80000a3c: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff80000a40: 48 89 75 e0 mov QWORD PTR [rbp-0x20],rsi
ffffffff80000a44: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000a48: 89 c2 mov edx,eax
ffffffff80000a4a: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
ffffffff80000a4e: 0f af c2 imul eax,edx
ffffffff80000a51: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000a54: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000a57: 48 98 cdqe
ffffffff80000a59: 48 89 c7 mov rdi,rax
ffffffff80000a5c: e8 8b fc ff ff call ffffffff800006ec <malloc>
ffffffff80000a61: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff80000a65: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000a68: 48 63 d0 movsxd rdx,eax
ffffffff80000a6b: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000a6f: be 00 00 00 00 mov esi,0x0
ffffffff80000a74: 48 89 c7 mov rdi,rax
ffffffff80000a77: e8 cd f7 ff ff call ffffffff80000249 <liballoc_memset(void*, int, unsigned long)>
ffffffff80000a7c: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000a80: c9 leave
ffffffff80000a81: c3 ret
ffffffff80000a82 <realloc>:
ffffffff80000a82: f3 0f 1e fa endbr64
ffffffff80000a86: 55 push rbp
ffffffff80000a87: 48 89 e5 mov rbp,rsp
ffffffff80000a8a: 48 83 ec 30 sub rsp,0x30
ffffffff80000a8e: 48 89 7d d8 mov QWORD PTR [rbp-0x28],rdi
ffffffff80000a92: 48 89 75 d0 mov QWORD PTR [rbp-0x30],rsi
ffffffff80000a96: 48 83 7d d0 00 cmp QWORD PTR [rbp-0x30],0x0
ffffffff80000a9b: 75 16 jne ffffffff80000ab3 <realloc+0x31>
ffffffff80000a9d: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000aa1: 48 89 c7 mov rdi,rax
ffffffff80000aa4: e8 ef fd ff ff call ffffffff80000898 <free>
ffffffff80000aa9: b8 00 00 00 00 mov eax,0x0
ffffffff80000aae: e9 80 00 00 00 jmp ffffffff80000b33 <realloc+0xb1>
ffffffff80000ab3: 48 83 7d d8 00 cmp QWORD PTR [rbp-0x28],0x0
ffffffff80000ab8: 75 0e jne ffffffff80000ac8 <realloc+0x46>
ffffffff80000aba: 48 8b 45 d0 mov rax,QWORD PTR [rbp-0x30]
ffffffff80000abe: 48 89 c7 mov rdi,rax
ffffffff80000ac1: e8 26 fc ff ff call ffffffff800006ec <malloc>
ffffffff80000ac6: eb 6b jmp ffffffff80000b33 <realloc+0xb1>
ffffffff80000ac8: e8 e6 00 00 00 call ffffffff80000bb3 <liballoc_lock>
ffffffff80000acd: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000ad1: 48 83 e8 30 sub rax,0x30
ffffffff80000ad5: 48 89 45 f0 mov QWORD PTR [rbp-0x10],rax
ffffffff80000ad9: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
ffffffff80000add: 8b 40 04 mov eax,DWORD PTR [rax+0x4]
ffffffff80000ae0: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000ae3: e8 da 00 00 00 call ffffffff80000bc2 <liballoc_unlock>
ffffffff80000ae8: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000aeb: 48 98 cdqe
ffffffff80000aed: 48 39 45 d0 cmp QWORD PTR [rbp-0x30],rax
ffffffff80000af1: 73 07 jae ffffffff80000afa <realloc+0x78>
ffffffff80000af3: 48 8b 45 d0 mov rax,QWORD PTR [rbp-0x30]
ffffffff80000af7: 89 45 fc mov DWORD PTR [rbp-0x4],eax
ffffffff80000afa: 48 8b 45 d0 mov rax,QWORD PTR [rbp-0x30]
ffffffff80000afe: 48 89 c7 mov rdi,rax
ffffffff80000b01: e8 e6 fb ff ff call ffffffff800006ec <malloc>
ffffffff80000b06: 48 89 45 e8 mov QWORD PTR [rbp-0x18],rax
ffffffff80000b0a: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000b0d: 48 63 d0 movsxd rdx,eax
ffffffff80000b10: 48 8b 4d d8 mov rcx,QWORD PTR [rbp-0x28]
ffffffff80000b14: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000b18: 48 89 ce mov rsi,rcx
ffffffff80000b1b: 48 89 c7 mov rdi,rax
ffffffff80000b1e: e8 6d f7 ff ff call ffffffff80000290 <liballoc_memcpy(void*, void const*, unsigned long)>
ffffffff80000b23: 48 8b 45 d8 mov rax,QWORD PTR [rbp-0x28]
ffffffff80000b27: 48 89 c7 mov rdi,rax
ffffffff80000b2a: e8 69 fd ff ff call ffffffff80000898 <free>
ffffffff80000b2f: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000b33: c9 leave
ffffffff80000b34: c3 ret
ffffffff80000b35 <operator new(unsigned long)>:
ffffffff80000b35: f3 0f 1e fa endbr64
ffffffff80000b39: 55 push rbp
ffffffff80000b3a: 48 89 e5 mov rbp,rsp
ffffffff80000b3d: 48 83 ec 10 sub rsp,0x10
ffffffff80000b41: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000b45: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000b49: 48 89 c7 mov rdi,rax
ffffffff80000b4c: e8 9b fb ff ff call ffffffff800006ec <malloc>
ffffffff80000b51: c9 leave
ffffffff80000b52: c3 ret
ffffffff80000b53 <operator new[](unsigned long)>:
ffffffff80000b53: f3 0f 1e fa endbr64
ffffffff80000b57: 55 push rbp
ffffffff80000b58: 48 89 e5 mov rbp,rsp
ffffffff80000b5b: 48 83 ec 10 sub rsp,0x10
ffffffff80000b5f: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000b63: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000b67: 48 89 c7 mov rdi,rax
ffffffff80000b6a: e8 7d fb ff ff call ffffffff800006ec <malloc>
ffffffff80000b6f: c9 leave
ffffffff80000b70: c3 ret
ffffffff80000b71 <operator delete(void*)>:
ffffffff80000b71: f3 0f 1e fa endbr64
ffffffff80000b75: 55 push rbp
ffffffff80000b76: 48 89 e5 mov rbp,rsp
ffffffff80000b79: 48 83 ec 10 sub rsp,0x10
ffffffff80000b7d: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000b81: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000b85: 48 89 c7 mov rdi,rax
ffffffff80000b88: e8 0b fd ff ff call ffffffff80000898 <free>
ffffffff80000b8d: 90 nop
ffffffff80000b8e: c9 leave
ffffffff80000b8f: c3 ret
ffffffff80000b90 <operator delete(void*, unsigned long)>:
ffffffff80000b90: f3 0f 1e fa endbr64
ffffffff80000b94: 55 push rbp
ffffffff80000b95: 48 89 e5 mov rbp,rsp
ffffffff80000b98: 48 83 ec 10 sub rsp,0x10
ffffffff80000b9c: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000ba0: 48 89 75 f0 mov QWORD PTR [rbp-0x10],rsi
ffffffff80000ba4: 48 8b 45 f8 mov rax,QWORD PTR [rbp-0x8]
ffffffff80000ba8: 48 89 c7 mov rdi,rax
ffffffff80000bab: e8 e8 fc ff ff call ffffffff80000898 <free>
ffffffff80000bb0: 90 nop
ffffffff80000bb1: c9 leave
ffffffff80000bb2: c3 ret
ffffffff80000bb3 <liballoc_lock>:
ffffffff80000bb3: f3 0f 1e fa endbr64
ffffffff80000bb7: 55 push rbp
ffffffff80000bb8: 48 89 e5 mov rbp,rsp
ffffffff80000bbb: b8 00 00 00 00 mov eax,0x0
ffffffff80000bc0: 5d pop rbp
ffffffff80000bc1: c3 ret
ffffffff80000bc2 <liballoc_unlock>:
ffffffff80000bc2: f3 0f 1e fa endbr64
ffffffff80000bc6: 55 push rbp
ffffffff80000bc7: 48 89 e5 mov rbp,rsp
ffffffff80000bca: b8 00 00 00 00 mov eax,0x0
ffffffff80000bcf: 5d pop rbp
ffffffff80000bd0: c3 ret
ffffffff80000bd1 <liballoc_alloc>:
ffffffff80000bd1: f3 0f 1e fa endbr64
ffffffff80000bd5: 55 push rbp
ffffffff80000bd6: 48 89 e5 mov rbp,rsp
ffffffff80000bd9: 48 83 ec 10 sub rsp,0x10
ffffffff80000bdd: 89 7d fc mov DWORD PTR [rbp-0x4],edi
ffffffff80000be0: 8b 45 fc mov eax,DWORD PTR [rbp-0x4]
ffffffff80000be3: 48 98 cdqe
ffffffff80000be5: 48 89 c7 mov rdi,rax
ffffffff80000be8: e8 da 04 00 00 call ffffffff800010c7 <PhysicalMemory::alloc(unsigned long)>
ffffffff80000bed: 48 89 c2 mov rdx,rax
ffffffff80000bf0: 48 8b 05 71 9b 00 00 mov rax,QWORD PTR [rip+0x9b71] # ffffffff8000a768 <hhdm_req+0x28>
ffffffff80000bf7: 48 8b 40 08 mov rax,QWORD PTR [rax+0x8]
ffffffff80000bfb: 48 01 d0 add rax,rdx
ffffffff80000bfe: c9 leave
ffffffff80000bff: c3 ret
ffffffff80000c00 <liballoc_free>:
ffffffff80000c00: f3 0f 1e fa endbr64
ffffffff80000c04: 55 push rbp
ffffffff80000c05: 48 89 e5 mov rbp,rsp
ffffffff80000c08: 48 83 ec 10 sub rsp,0x10
ffffffff80000c0c: 48 89 7d f8 mov QWORD PTR [rbp-0x8],rdi
ffffffff80000c10: 89 75 f4 mov DWORD PTR [rbp-0xc],esi
ffffffff80000c13: 8b 45 f4 mov eax,DWORD PTR [rbp-0xc]
ffffffff80000c16: 48 98 cdqe
ffffffff80000c18: 48 8b 15 49 9b 00 00 mov rdx,QWORD PTR [rip+0x9b49] # ffffffff8000a768 <hhdm_req+0x28>
ffffffff80000c1f: 48 8b 52 08 mov rdx,QWORD PTR [rdx+0x8]
ffffffff80000c23: 48 89 d1 mov rcx,rdx
ffffffff80000c26: 48 f7 d9 neg rcx
ffffffff80000c29: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
ffffffff80000c2d: 48 01 ca add rdx,rcx
ffffffff80000c30: 48 89 c6 mov rsi,rax
ffffffff80000c33: 48 89 d7 mov rdi,rdx
ffffffff80000c36: e8 7a 05 00 00 call ffffffff800011b5 <PhysicalMemory::free(void*, unsigned long)>
ffffffff80000c3b: b8 00 00 00 00 mov eax,0x0
ffffffff80000c40: c9 leave
ffffffff80000c41: c3 ret
ffffffff80000c42 <memset(void*, int, unsigned long)>:
ffffffff80000c42: 55 push rbp
ffffffff80000c43: 48 89 e5 mov rbp,rsp
ffffffff80000c46: 48 83 ec 28 sub rsp,0x28
ffffffff80000c4a: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
ffffffff80000c4e: 89 75 e4 mov DWORD PTR [rbp-0x1c],esi
ffffffff80000c51: 48 89 55 d8 mov QWORD PTR [rbp-0x28],rdx
ffffffff80000c55: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
ffffffff80000c59: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
ffffffff80000c5d: eb 13 jmp ffffffff80000c72 <memset(void*, int, unsigned long)+0x30>
ffffffff80000c5f: 8b 45 e4 mov eax,DWORD PTR [rbp-0x1c]
ffffffff80000c62: 89 c1 mov ecx,eax