Advertisement
Guest User

kernel.bin after using i686-elf-objdump

a guest
Nov 19th, 2021
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. dist/kernel.bin:     file format elf32-i386
  3.  
  4.  
  5. Disassembly of section .text:
  6.  
  7. 00100000 <_start-0xc>:
  8.   100000:   02 b0 ad 1b 03 00       add    0x31bad(%eax),%dh
  9.   100006:   00 00                   add    %al,(%eax)
  10.   100008:   fb                      sti    
  11.   100009:   4f                      dec    %edi
  12.   10000a:   52                      push   %edx
  13.   10000b:   e4                      .byte 0xe4
  14.  
  15. 0010000c <_start>:
  16.   10000c:   bc 00 b0 10 00          mov    $0x10b000,%esp
  17.   100011:   31 ed                   xor    %ebp,%ebp
  18.   100013:   53                      push   %ebx
  19.   100014:   50                      push   %eax
  20.   100015:   e8 66 2c 00 00          call   102c80 <kernel_main>
  21.   10001a:   fa                      cli    
  22.  
  23. 0010001b <halt>:
  24.   10001b:   f4                      hlt    
  25.   10001c:   eb fd                   jmp    10001b <halt>
  26.  
  27. 0010001e <idt_load>:
  28.   10001e:   8b 44 24 04             mov    0x4(%esp),%eax
  29.   100022:   0f 01 18                lidtl  (%eax)
  30.   100025:   c3                      ret    
  31.  
  32. 00100026 <isr0>:
  33.   100026:   6a 00                   push   $0x0
  34.   100028:   6a 00                   push   $0x0
  35.   10002a:   e9 55 01 00 00          jmp    100184 <isr_handler_stub>
  36.  
  37. 0010002f <isr1>:
  38.   10002f:   6a 00                   push   $0x0
  39.   100031:   6a 01                   push   $0x1
  40.   100033:   e9 4c 01 00 00          jmp    100184 <isr_handler_stub>
  41.  
  42. 00100038 <isr2>:
  43.   100038:   6a 00                   push   $0x0
  44.   10003a:   6a 02                   push   $0x2
  45.   10003c:   e9 43 01 00 00          jmp    100184 <isr_handler_stub>
  46.  
  47. 00100041 <isr3>:
  48.   100041:   6a 00                   push   $0x0
  49.   100043:   6a 03                   push   $0x3
  50.   100045:   e9 3a 01 00 00          jmp    100184 <isr_handler_stub>
  51.  
  52. 0010004a <isr4>:
  53.   10004a:   6a 00                   push   $0x0
  54.   10004c:   6a 04                   push   $0x4
  55.   10004e:   e9 31 01 00 00          jmp    100184 <isr_handler_stub>
  56.  
  57. 00100053 <isr5>:
  58.   100053:   6a 00                   push   $0x0
  59.   100055:   6a 05                   push   $0x5
  60.   100057:   e9 28 01 00 00          jmp    100184 <isr_handler_stub>
  61.  
  62. 0010005c <isr6>:
  63.   10005c:   6a 00                   push   $0x0
  64.   10005e:   6a 06                   push   $0x6
  65.   100060:   e9 1f 01 00 00          jmp    100184 <isr_handler_stub>
  66.  
  67. 00100065 <isr7>:
  68.   100065:   6a 00                   push   $0x0
  69.   100067:   6a 07                   push   $0x7
  70.   100069:   e9 16 01 00 00          jmp    100184 <isr_handler_stub>
  71.  
  72. 0010006e <isr8>:
  73.   10006e:   6a 08                   push   $0x8
  74.   100070:   e9 0f 01 00 00          jmp    100184 <isr_handler_stub>
  75.  
  76. 00100075 <isr9>:
  77.   100075:   6a 00                   push   $0x0
  78.   100077:   6a 09                   push   $0x9
  79.   100079:   e9 06 01 00 00          jmp    100184 <isr_handler_stub>
  80.  
  81. 0010007e <isr10>:
  82.   10007e:   6a 0a                   push   $0xa
  83.   100080:   e9 ff 00 00 00          jmp    100184 <isr_handler_stub>
  84.  
  85. 00100085 <isr11>:
  86.   100085:   6a 0b                   push   $0xb
  87.   100087:   e9 f8 00 00 00          jmp    100184 <isr_handler_stub>
  88.  
  89. 0010008c <isr12>:
  90.   10008c:   6a 0c                   push   $0xc
  91.   10008e:   e9 f1 00 00 00          jmp    100184 <isr_handler_stub>
  92.  
  93. 00100093 <isr13>:
  94.   100093:   6a 0d                   push   $0xd
  95.   100095:   e9 ea 00 00 00          jmp    100184 <isr_handler_stub>
  96.  
  97. 0010009a <isr14>:
  98.   10009a:   6a 0e                   push   $0xe
  99.   10009c:   e9 e3 00 00 00          jmp    100184 <isr_handler_stub>
  100.  
  101. 001000a1 <isr15>:
  102.   1000a1:   6a 00                   push   $0x0
  103.   1000a3:   6a 0f                   push   $0xf
  104.   1000a5:   e9 da 00 00 00          jmp    100184 <isr_handler_stub>
  105.  
  106. 001000aa <isr16>:
  107.   1000aa:   6a 00                   push   $0x0
  108.   1000ac:   6a 10                   push   $0x10
  109.   1000ae:   e9 d1 00 00 00          jmp    100184 <isr_handler_stub>
  110.  
  111. 001000b3 <isr17>:
  112.   1000b3:   6a 11                   push   $0x11
  113.   1000b5:   e9 ca 00 00 00          jmp    100184 <isr_handler_stub>
  114.  
  115. 001000ba <isr18>:
  116.   1000ba:   6a 00                   push   $0x0
  117.   1000bc:   6a 12                   push   $0x12
  118.   1000be:   e9 c1 00 00 00          jmp    100184 <isr_handler_stub>
  119.  
  120. 001000c3 <isr19>:
  121.   1000c3:   6a 00                   push   $0x0
  122.   1000c5:   6a 13                   push   $0x13
  123.   1000c7:   e9 b8 00 00 00          jmp    100184 <isr_handler_stub>
  124.  
  125. 001000cc <isr20>:
  126.   1000cc:   6a 00                   push   $0x0
  127.   1000ce:   6a 14                   push   $0x14
  128.   1000d0:   e9 af 00 00 00          jmp    100184 <isr_handler_stub>
  129.  
  130. 001000d5 <isr21>:
  131.   1000d5:   6a 15                   push   $0x15
  132.   1000d7:   e9 a8 00 00 00          jmp    100184 <isr_handler_stub>
  133.  
  134. 001000dc <isr22>:
  135.   1000dc:   6a 00                   push   $0x0
  136.   1000de:   6a 16                   push   $0x16
  137.   1000e0:   e9 9f 00 00 00          jmp    100184 <isr_handler_stub>
  138.  
  139. 001000e5 <isr23>:
  140.   1000e5:   6a 00                   push   $0x0
  141.   1000e7:   6a 17                   push   $0x17
  142.   1000e9:   e9 96 00 00 00          jmp    100184 <isr_handler_stub>
  143.  
  144. 001000ee <isr24>:
  145.   1000ee:   6a 00                   push   $0x0
  146.   1000f0:   6a 18                   push   $0x18
  147.   1000f2:   e9 8d 00 00 00          jmp    100184 <isr_handler_stub>
  148.  
  149. 001000f7 <isr25>:
  150.   1000f7:   6a 00                   push   $0x0
  151.   1000f9:   6a 19                   push   $0x19
  152.   1000fb:   e9 84 00 00 00          jmp    100184 <isr_handler_stub>
  153.  
  154. 00100100 <isr26>:
  155.   100100:   6a 00                   push   $0x0
  156.   100102:   6a 1a                   push   $0x1a
  157.   100104:   eb 7e                   jmp    100184 <isr_handler_stub>
  158.  
  159. 00100106 <isr27>:
  160.   100106:   6a 00                   push   $0x0
  161.   100108:   6a 1b                   push   $0x1b
  162.   10010a:   eb 78                   jmp    100184 <isr_handler_stub>
  163.  
  164. 0010010c <isr28>:
  165.   10010c:   6a 00                   push   $0x0
  166.   10010e:   6a 1c                   push   $0x1c
  167.   100110:   eb 72                   jmp    100184 <isr_handler_stub>
  168.  
  169. 00100112 <isr29>:
  170.   100112:   6a 00                   push   $0x0
  171.   100114:   6a 1d                   push   $0x1d
  172.   100116:   eb 6c                   jmp    100184 <isr_handler_stub>
  173.  
  174. 00100118 <isr30>:
  175.   100118:   6a 00                   push   $0x0
  176.   10011a:   6a 1e                   push   $0x1e
  177.   10011c:   eb 66                   jmp    100184 <isr_handler_stub>
  178.  
  179. 0010011e <isr31>:
  180.   10011e:   6a 00                   push   $0x0
  181.   100120:   6a 1f                   push   $0x1f
  182.   100122:   eb 60                   jmp    100184 <isr_handler_stub>
  183.  
  184. 00100124 <irq0>:
  185.   100124:   6a 00                   push   $0x0
  186.   100126:   6a 20                   push   $0x20
  187.   100128:   eb 5a                   jmp    100184 <isr_handler_stub>
  188.  
  189. 0010012a <irq1>:
  190.   10012a:   6a 00                   push   $0x0
  191.   10012c:   6a 21                   push   $0x21
  192.   10012e:   eb 54                   jmp    100184 <isr_handler_stub>
  193.  
  194. 00100130 <irq2>:
  195.   100130:   6a 00                   push   $0x0
  196.   100132:   6a 22                   push   $0x22
  197.   100134:   eb 4e                   jmp    100184 <isr_handler_stub>
  198.  
  199. 00100136 <irq3>:
  200.   100136:   6a 00                   push   $0x0
  201.   100138:   6a 23                   push   $0x23
  202.   10013a:   eb 48                   jmp    100184 <isr_handler_stub>
  203.  
  204. 0010013c <irq4>:
  205.   10013c:   6a 00                   push   $0x0
  206.   10013e:   6a 24                   push   $0x24
  207.   100140:   eb 42                   jmp    100184 <isr_handler_stub>
  208.  
  209. 00100142 <irq5>:
  210.   100142:   6a 00                   push   $0x0
  211.   100144:   6a 25                   push   $0x25
  212.   100146:   eb 3c                   jmp    100184 <isr_handler_stub>
  213.  
  214. 00100148 <irq6>:
  215.   100148:   6a 00                   push   $0x0
  216.   10014a:   6a 26                   push   $0x26
  217.   10014c:   eb 36                   jmp    100184 <isr_handler_stub>
  218.  
  219. 0010014e <irq7>:
  220.   10014e:   6a 00                   push   $0x0
  221.   100150:   6a 27                   push   $0x27
  222.   100152:   eb 30                   jmp    100184 <isr_handler_stub>
  223.  
  224. 00100154 <irq8>:
  225.   100154:   6a 00                   push   $0x0
  226.   100156:   6a 28                   push   $0x28
  227.   100158:   eb 2a                   jmp    100184 <isr_handler_stub>
  228.  
  229. 0010015a <irq9>:
  230.   10015a:   6a 00                   push   $0x0
  231.   10015c:   6a 29                   push   $0x29
  232.   10015e:   eb 24                   jmp    100184 <isr_handler_stub>
  233.  
  234. 00100160 <irq10>:
  235.   100160:   6a 00                   push   $0x0
  236.   100162:   6a 2a                   push   $0x2a
  237.   100164:   eb 1e                   jmp    100184 <isr_handler_stub>
  238.  
  239. 00100166 <irq11>:
  240.   100166:   6a 00                   push   $0x0
  241.   100168:   6a 2b                   push   $0x2b
  242.   10016a:   eb 18                   jmp    100184 <isr_handler_stub>
  243.  
  244. 0010016c <irq12>:
  245.   10016c:   6a 00                   push   $0x0
  246.   10016e:   6a 2c                   push   $0x2c
  247.   100170:   eb 12                   jmp    100184 <isr_handler_stub>
  248.  
  249. 00100172 <irq13>:
  250.   100172:   6a 00                   push   $0x0
  251.   100174:   6a 2d                   push   $0x2d
  252.   100176:   eb 0c                   jmp    100184 <isr_handler_stub>
  253.  
  254. 00100178 <irq14>:
  255.   100178:   6a 00                   push   $0x0
  256.   10017a:   6a 2e                   push   $0x2e
  257.   10017c:   eb 06                   jmp    100184 <isr_handler_stub>
  258.  
  259. 0010017e <irq15>:
  260.   10017e:   6a 00                   push   $0x0
  261.   100180:   6a 2f                   push   $0x2f
  262.   100182:   eb 00                   jmp    100184 <isr_handler_stub>
  263.  
  264. 00100184 <isr_handler_stub>:
  265.   100184:   60                      pusha  
  266.   100185:   66 8c d8                mov    %ds,%ax
  267.   100188:   50                      push   %eax
  268.   100189:   89 e0                   mov    %esp,%eax
  269.   10018b:   50                      push   %eax
  270.   10018c:   66 b8 10 00             mov    $0x10,%ax
  271.   100190:   8e d8                   mov    %eax,%ds
  272.   100192:   8e c0                   mov    %eax,%es
  273.   100194:   8e e0                   mov    %eax,%fs
  274.   100196:   8e e8                   mov    %eax,%gs
  275.   100198:   e8 73 29 00 00          call   102b10 <isr_handler>
  276.   10019d:   83 c4 04                add    $0x4,%esp
  277.   1001a0:   58                      pop    %eax
  278.   1001a1:   8e d8                   mov    %eax,%ds
  279.   1001a3:   8e c0                   mov    %eax,%es
  280.   1001a5:   8e e0                   mov    %eax,%fs
  281.   1001a7:   8e e8                   mov    %eax,%gs
  282.   1001a9:   61                      popa  
  283.   1001aa:   83 c4 08                add    $0x8,%esp
  284.   1001ad:   cf                      iret  
  285.  
  286. 001001ae <gdt_load>:
  287.   1001ae:   8b 54 24 04             mov    0x4(%esp),%edx
  288.   1001b2:   8b 44 24 08             mov    0x8(%esp),%eax
  289.   1001b6:   0f 01 12                lgdtl  (%edx)
  290.   1001b9:   8e d8                   mov    %eax,%ds
  291.   1001bb:   8e c0                   mov    %eax,%es
  292.   1001bd:   8e e0                   mov    %eax,%fs
  293.   1001bf:   8e e8                   mov    %eax,%gs
  294.   1001c1:   8e d0                   mov    %eax,%ss
  295.   1001c3:   ff 74 24 0c             push   0xc(%esp)
  296.   1001c7:   68 cf 01 10 00          push   $0x1001cf
  297.   1001cc:   ff 2c 24                ljmp   *(%esp)
  298.  
  299. 001001cf <.setcs>:
  300.   1001cf:   83 c4 08                add    $0x8,%esp
  301.   1001d2:   c3                      ret    
  302.   1001d3:   66 90                   xchg   %ax,%ax
  303.   1001d5:   66 90                   xchg   %ax,%ax
  304.   1001d7:   66 90                   xchg   %ax,%ax
  305.   1001d9:   66 90                   xchg   %ax,%ax
  306.   1001db:   66 90                   xchg   %ax,%ax
  307.   1001dd:   66 90                   xchg   %ax,%ax
  308.   1001df:   90                      nop
  309.  
  310. 001001e0 <bitmap_set>:
  311.   1001e0:   55                      push   %ebp
  312.   1001e1:   89 e5                   mov    %esp,%ebp
  313.   1001e3:   83 ec 08                sub    $0x8,%esp
  314.   1001e6:   8b 55 08                mov    0x8(%ebp),%edx
  315.   1001e9:   8b 4d 0c                mov    0xc(%ebp),%ecx
  316.   1001ec:   39 4a 04                cmp    %ecx,0x4(%edx)
  317.   1001ef:   76 17                   jbe    100208 <bitmap_set+0x28>
  318.   1001f1:   89 c8                   mov    %ecx,%eax
  319.   1001f3:   f7 d1                   not    %ecx
  320.   1001f5:   c1 e8 03                shr    $0x3,%eax
  321.   1001f8:   83 e1 07                and    $0x7,%ecx
  322.   1001fb:   03 02                   add    (%edx),%eax
  323.   1001fd:   ba 01 00 00 00          mov    $0x1,%edx
  324.   100202:   d3 e2                   shl    %cl,%edx
  325.   100204:   08 10                   or     %dl,(%eax)
  326.   100206:   c9                      leave  
  327.   100207:   c3                      ret    
  328.   100208:   fa                      cli    
  329.   100209:   83 ec 0c                sub    $0xc,%esp
  330.   10020c:   6a 07                   push   $0x7
  331.   10020e:   68 9a 42 10 00          push   $0x10429a
  332.   100213:   68 20 40 10 00          push   $0x104020
  333.   100218:   68 5c 43 10 00          push   $0x10435c
  334.   10021d:   6a 05                   push   $0x5
  335.   10021f:   e8 9c 11 00 00          call   1013c0 <cprintf>
  336.   100224:   83 c4 20                add    $0x20,%esp
  337.   100227:   e8 c4 02 00 00          call   1004f0 <stack_trace>
  338.   10022c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  339.   100230:   f4                      hlt    
  340.   100231:   eb fd                   jmp    100230 <bitmap_set+0x50>
  341.   100233:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  342.   10023a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  343.  
  344. 00100240 <bitmap_clear>:
  345.   100240:   55                      push   %ebp
  346.   100241:   89 e5                   mov    %esp,%ebp
  347.   100243:   56                      push   %esi
  348.   100244:   8b 75 08                mov    0x8(%ebp),%esi
  349.   100247:   53                      push   %ebx
  350.   100248:   8b 5d 0c                mov    0xc(%ebp),%ebx
  351.   10024b:   39 5e 04                cmp    %ebx,0x4(%esi)
  352.   10024e:   76 38                   jbe    100288 <bitmap_clear+0x48>
  353.   100250:   85 db                   test   %ebx,%ebx
  354.   100252:   74 20                   je     100274 <bitmap_clear+0x34>
  355.   100254:   89 d9                   mov    %ebx,%ecx
  356.   100256:   89 da                   mov    %ebx,%edx
  357.   100258:   b8 01 00 00 00          mov    $0x1,%eax
  358.   10025d:   f7 d1                   not    %ecx
  359.   10025f:   c1 ea 03                shr    $0x3,%edx
  360.   100262:   03 16                   add    (%esi),%edx
  361.   100264:   83 e1 07                and    $0x7,%ecx
  362.   100267:   d3 e0                   shl    %cl,%eax
  363.   100269:   f7 d0                   not    %eax
  364.   10026b:   20 02                   and    %al,(%edx)
  365.   10026d:   8d 65 f8                lea    -0x8(%ebp),%esp
  366.   100270:   5b                      pop    %ebx
  367.   100271:   5e                      pop    %esi
  368.   100272:   5d                      pop    %ebp
  369.   100273:   c3                      ret    
  370.   100274:   83 ec 08                sub    $0x8,%esp
  371.   100277:   68 ae 42 10 00          push   $0x1042ae
  372.   10027c:   6a 03                   push   $0x3
  373.   10027e:   e8 3d 11 00 00          call   1013c0 <cprintf>
  374.   100283:   83 c4 10                add    $0x10,%esp
  375.   100286:   eb cc                   jmp    100254 <bitmap_clear+0x14>
  376.   100288:   fa                      cli    
  377.   100289:   83 ec 0c                sub    $0xc,%esp
  378.   10028c:   6a 12                   push   $0x12
  379.   10028e:   68 9a 42 10 00          push   $0x10429a
  380.   100293:   68 10 40 10 00          push   $0x104010
  381.   100298:   68 5c 43 10 00          push   $0x10435c
  382.   10029d:   6a 05                   push   $0x5
  383.   10029f:   e8 1c 11 00 00          call   1013c0 <cprintf>
  384.   1002a4:   83 c4 20                add    $0x20,%esp
  385.   1002a7:   e8 44 02 00 00          call   1004f0 <stack_trace>
  386.   1002ac:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  387.   1002b0:   f4                      hlt    
  388.   1002b1:   eb fd                   jmp    1002b0 <bitmap_clear+0x70>
  389.   1002b3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  390.   1002ba:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  391.  
  392. 001002c0 <bitmap_check>:
  393.   1002c0:   55                      push   %ebp
  394.   1002c1:   89 e5                   mov    %esp,%ebp
  395.   1002c3:   83 ec 08                sub    $0x8,%esp
  396.   1002c6:   8b 45 08                mov    0x8(%ebp),%eax
  397.   1002c9:   8b 4d 0c                mov    0xc(%ebp),%ecx
  398.   1002cc:   39 48 04                cmp    %ecx,0x4(%eax)
  399.   1002cf:   76 1e                   jbe    1002ef <bitmap_check+0x2f>
  400.   1002d1:   8b 00                   mov    (%eax),%eax
  401.   1002d3:   89 ca                   mov    %ecx,%edx
  402.   1002d5:   f7 d1                   not    %ecx
  403.   1002d7:   c1 ea 03                shr    $0x3,%edx
  404.   1002da:   83 e1 07                and    $0x7,%ecx
  405.   1002dd:   0f b6 14 10             movzbl (%eax,%edx,1),%edx
  406.   1002e1:   b8 01 00 00 00          mov    $0x1,%eax
  407.   1002e6:   c9                      leave  
  408.   1002e7:   d3 e0                   shl    %cl,%eax
  409.   1002e9:   85 c2                   test   %eax,%edx
  410.   1002eb:   0f 95 c0                setne  %al
  411.   1002ee:   c3                      ret    
  412.   1002ef:   fa                      cli    
  413.   1002f0:   83 ec 0c                sub    $0xc,%esp
  414.   1002f3:   6a 1f                   push   $0x1f
  415.   1002f5:   68 9a 42 10 00          push   $0x10429a
  416.   1002fa:   68 00 40 10 00          push   $0x104000
  417.   1002ff:   68 5c 43 10 00          push   $0x10435c
  418.   100304:   6a 05                   push   $0x5
  419.   100306:   e8 b5 10 00 00          call   1013c0 <cprintf>
  420.   10030b:   83 c4 20                add    $0x20,%esp
  421.   10030e:   e8 dd 01 00 00          call   1004f0 <stack_trace>
  422.   100313:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  423.   10031a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  424.   100320:   f4                      hlt    
  425.   100321:   eb fd                   jmp    100320 <bitmap_check+0x60>
  426.   100323:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  427.   10032a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  428.  
  429. 00100330 <bitmap_alloc>:
  430.   100330:   55                      push   %ebp
  431.   100331:   89 e5                   mov    %esp,%ebp
  432.   100333:   57                      push   %edi
  433.   100334:   56                      push   %esi
  434.   100335:   53                      push   %ebx
  435.   100336:   83 ec 1c                sub    $0x1c,%esp
  436.   100339:   8b 45 08                mov    0x8(%ebp),%eax
  437.   10033c:   8b 78 04                mov    0x4(%eax),%edi
  438.   10033f:   89 7d e0                mov    %edi,-0x20(%ebp)
  439.   100342:   c1 ef 03                shr    $0x3,%edi
  440.   100345:   89 7d e4                mov    %edi,-0x1c(%ebp)
  441.   100348:   74 2f                   je     100379 <bitmap_alloc+0x49>
  442.   10034a:   8b 30                   mov    (%eax),%esi
  443.   10034c:   31 db                   xor    %ebx,%ebx
  444.   10034e:   bf 07 00 00 00          mov    $0x7,%edi
  445.   100353:   0f b6 0c 1e             movzbl (%esi,%ebx,1),%ecx
  446.   100357:   80 f9 ff                cmp    $0xff,%cl
  447.   10035a:   74 15                   je     100371 <bitmap_alloc+0x41>
  448.   10035c:   31 c0                   xor    %eax,%eax
  449.   10035e:   66 90                   xchg   %ax,%ax
  450.   100360:   89 fa                   mov    %edi,%edx
  451.   100362:   29 c2                   sub    %eax,%edx
  452.   100364:   0f a3 d1                bt     %edx,%ecx
  453.   100367:   73 27                   jae    100390 <bitmap_alloc+0x60>
  454.   100369:   83 c0 01                add    $0x1,%eax
  455.   10036c:   83 f8 08                cmp    $0x8,%eax
  456.   10036f:   75 ef                   jne    100360 <bitmap_alloc+0x30>
  457.   100371:   83 c3 01                add    $0x1,%ebx
  458.   100374:   3b 5d e4                cmp    -0x1c(%ebp),%ebx
  459.   100377:   75 da                   jne    100353 <bitmap_alloc+0x23>
  460.   100379:   8b 45 e0                mov    -0x20(%ebp),%eax
  461.   10037c:   8d 65 f4                lea    -0xc(%ebp),%esp
  462.   10037f:   5b                      pop    %ebx
  463.   100380:   5e                      pop    %esi
  464.   100381:   5f                      pop    %edi
  465.   100382:   5d                      pop    %ebp
  466.   100383:   c3                      ret    
  467.   100384:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  468.   10038b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  469.   10038f:   90                      nop
  470.   100390:   8d 04 d8                lea    (%eax,%ebx,8),%eax
  471.   100393:   3b 45 e0                cmp    -0x20(%ebp),%eax
  472.   100396:   73 1e                   jae    1003b6 <bitmap_alloc+0x86>
  473.   100398:   89 c1                   mov    %eax,%ecx
  474.   10039a:   89 c3                   mov    %eax,%ebx
  475.   10039c:   ba 01 00 00 00          mov    $0x1,%edx
  476.   1003a1:   f7 d1                   not    %ecx
  477.   1003a3:   c1 eb 03                shr    $0x3,%ebx
  478.   1003a6:   83 e1 07                and    $0x7,%ecx
  479.   1003a9:   d3 e2                   shl    %cl,%edx
  480.   1003ab:   08 14 1e                or     %dl,(%esi,%ebx,1)
  481.   1003ae:   8d 65 f4                lea    -0xc(%ebp),%esp
  482.   1003b1:   5b                      pop    %ebx
  483.   1003b2:   5e                      pop    %esi
  484.   1003b3:   5f                      pop    %edi
  485.   1003b4:   5d                      pop    %ebp
  486.   1003b5:   c3                      ret    
  487.   1003b6:   fa                      cli    
  488.   1003b7:   83 ec 0c                sub    $0xc,%esp
  489.   1003ba:   6a 07                   push   $0x7
  490.   1003bc:   68 9a 42 10 00          push   $0x10429a
  491.   1003c1:   68 20 40 10 00          push   $0x104020
  492.   1003c6:   68 5c 43 10 00          push   $0x10435c
  493.   1003cb:   6a 05                   push   $0x5
  494.   1003cd:   e8 ee 0f 00 00          call   1013c0 <cprintf>
  495.   1003d2:   83 c4 20                add    $0x20,%esp
  496.   1003d5:   e8 16 01 00 00          call   1004f0 <stack_trace>
  497.   1003da:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  498.   1003e0:   f4                      hlt    
  499.   1003e1:   eb fd                   jmp    1003e0 <bitmap_alloc+0xb0>
  500.   1003e3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  501.   1003ea:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  502.  
  503. 001003f0 <bitmap_init>:
  504.   1003f0:   55                      push   %ebp
  505.   1003f1:   89 e5                   mov    %esp,%ebp
  506.   1003f3:   8b 4d 08                mov    0x8(%ebp),%ecx
  507.   1003f6:   8b 55 0c                mov    0xc(%ebp),%edx
  508.   1003f9:   8b 45 10                mov    0x10(%ebp),%eax
  509.   1003fc:   89 11                   mov    %edx,(%ecx)
  510.   1003fe:   89 41 04                mov    %eax,0x4(%ecx)
  511.   100401:   c1 e8 03                shr    $0x3,%eax
  512.   100404:   89 45 10                mov    %eax,0x10(%ebp)
  513.   100407:   c7 45 0c 00 00 00 00    movl   $0x0,0xc(%ebp)
  514.   10040e:   89 55 08                mov    %edx,0x8(%ebp)
  515.   100411:   5d                      pop    %ebp
  516.   100412:   e9 49 17 00 00          jmp    101b60 <memset>
  517.   100417:   66 90                   xchg   %ax,%ax
  518.   100419:   66 90                   xchg   %ax,%ax
  519.   10041b:   66 90                   xchg   %ax,%ax
  520.   10041d:   66 90                   xchg   %ax,%ax
  521.   10041f:   90                      nop
  522.  
  523. 00100420 <debug_init>:
  524.   100420:   55                      push   %ebp
  525.   100421:   89 e5                   mov    %esp,%ebp
  526.   100423:   57                      push   %edi
  527.   100424:   56                      push   %esi
  528.   100425:   53                      push   %ebx
  529.   100426:   83 ec 1c                sub    $0x1c,%esp
  530.   100429:   8b 45 08                mov    0x8(%ebp),%eax
  531.   10042c:   8b 78 24                mov    0x24(%eax),%edi
  532.   10042f:   8b 50 1c                mov    0x1c(%eax),%edx
  533.   100432:   8b 40 28                mov    0x28(%eax),%eax
  534.   100435:   89 55 e4                mov    %edx,-0x1c(%ebp)
  535.   100438:   8d 04 80                lea    (%eax,%eax,4),%eax
  536.   10043b:   8b 44 c7 0c             mov    0xc(%edi,%eax,8),%eax
  537.   10043f:   89 45 e0                mov    %eax,-0x20(%ebp)
  538.   100442:   85 d2                   test   %edx,%edx
  539.   100444:   74 6b                   je     1004b1 <debug_init+0x91>
  540.   100446:   31 db                   xor    %ebx,%ebx
  541.   100448:   eb 21                   jmp    10046b <debug_init+0x4b>
  542.   10044a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  543.   100450:   8b 47 0c                mov    0xc(%edi),%eax
  544.   100453:   a3 0c b0 10 00          mov    %eax,0x10b00c
  545.   100458:   8b 47 14                mov    0x14(%edi),%eax
  546.   10045b:   a3 08 b0 10 00          mov    %eax,0x10b008
  547.   100460:   83 c3 01                add    $0x1,%ebx
  548.   100463:   83 c7 28                add    $0x28,%edi
  549.   100466:   39 5d e4                cmp    %ebx,-0x1c(%ebp)
  550.   100469:   74 46                   je     1004b1 <debug_init+0x91>
  551.   10046b:   83 ec 04                sub    $0x4,%esp
  552.   10046e:   8b 75 e0                mov    -0x20(%ebp),%esi
  553.   100471:   03 37                   add    (%edi),%esi
  554.   100473:   6a 07                   push   $0x7
  555.   100475:   68 c0 42 10 00          push   $0x1042c0
  556.   10047a:   56                      push   %esi
  557.   10047b:   e8 40 18 00 00          call   101cc0 <strncmp>
  558.   100480:   83 c4 10                add    $0x10,%esp
  559.   100483:   85 c0                   test   %eax,%eax
  560.   100485:   74 c9                   je     100450 <debug_init+0x30>
  561.   100487:   83 ec 04                sub    $0x4,%esp
  562.   10048a:   6a 07                   push   $0x7
  563.   10048c:   68 c8 42 10 00          push   $0x1042c8
  564.   100491:   56                      push   %esi
  565.   100492:   e8 29 18 00 00          call   101cc0 <strncmp>
  566.   100497:   83 c4 10                add    $0x10,%esp
  567.   10049a:   85 c0                   test   %eax,%eax
  568.   10049c:   75 22                   jne    1004c0 <debug_init+0xa0>
  569.   10049e:   8b 47 0c                mov    0xc(%edi),%eax
  570.   1004a1:   83 c3 01                add    $0x1,%ebx
  571.   1004a4:   83 c7 28                add    $0x28,%edi
  572.   1004a7:   a3 04 b0 10 00          mov    %eax,0x10b004
  573.   1004ac:   39 5d e4                cmp    %ebx,-0x1c(%ebp)
  574.   1004af:   75 ba                   jne    10046b <debug_init+0x4b>
  575.   1004b1:   8d 65 f4                lea    -0xc(%ebp),%esp
  576.   1004b4:   5b                      pop    %ebx
  577.   1004b5:   5e                      pop    %esi
  578.   1004b6:   5f                      pop    %edi
  579.   1004b7:   5d                      pop    %ebp
  580.   1004b8:   c3                      ret    
  581.   1004b9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  582.   1004c0:   83 ec 04                sub    $0x4,%esp
  583.   1004c3:   6a 09                   push   $0x9
  584.   1004c5:   68 d0 42 10 00          push   $0x1042d0
  585.   1004ca:   56                      push   %esi
  586.   1004cb:   e8 f0 17 00 00          call   101cc0 <strncmp>
  587.   1004d0:   83 c4 10                add    $0x10,%esp
  588.   1004d3:   85 c0                   test   %eax,%eax
  589.   1004d5:   75 89                   jne    100460 <debug_init+0x40>
  590.   1004d7:   8b 47 14                mov    0x14(%edi),%eax
  591.   1004da:   03 47 0c                add    0xc(%edi),%eax
  592.   1004dd:   a3 00 b0 10 00          mov    %eax,0x10b000
  593.   1004e2:   e9 79 ff ff ff          jmp    100460 <debug_init+0x40>
  594.   1004e7:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  595.   1004ee:   66 90                   xchg   %ax,%ax
  596.  
  597. 001004f0 <stack_trace>:
  598.   1004f0:   55                      push   %ebp
  599.   1004f1:   89 e5                   mov    %esp,%ebp
  600.   1004f3:   57                      push   %edi
  601.   1004f4:   56                      push   %esi
  602.   1004f5:   53                      push   %ebx
  603.   1004f6:   83 ec 0c                sub    $0xc,%esp
  604.   1004f9:   89 eb                   mov    %ebp,%ebx
  605.   1004fb:   85 db                   test   %ebx,%ebx
  606.   1004fd:   0f 84 94 00 00 00       je     100597 <stack_trace+0xa7>
  607.   100503:   8b 35 08 b0 10 00       mov    0x10b008,%esi
  608.   100509:   31 ff                   xor    %edi,%edi
  609.   10050b:   8b 4b 04                mov    0x4(%ebx),%ecx
  610.   10050e:   c1 ee 04                shr    $0x4,%esi
  611.   100511:   74 7d                   je     100590 <stack_trace+0xa0>
  612.   100513:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  613.   10051a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  614.   100520:   a1 0c b0 10 00          mov    0x10b00c,%eax
  615.   100525:   c1 e6 04                shl    $0x4,%esi
  616.   100528:   01 c6                   add    %eax,%esi
  617.   10052a:   eb 0b                   jmp    100537 <stack_trace+0x47>
  618.   10052c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  619.   100530:   83 c0 10                add    $0x10,%eax
  620.   100533:   39 c6                   cmp    %eax,%esi
  621.   100535:   74 59                   je     100590 <stack_trace+0xa0>
  622.   100537:   0f b6 50 0c             movzbl 0xc(%eax),%edx
  623.   10053b:   83 e2 0f                and    $0xf,%edx
  624.   10053e:   80 fa 02                cmp    $0x2,%dl
  625.   100541:   75 ed                   jne    100530 <stack_trace+0x40>
  626.   100543:   8b 50 04                mov    0x4(%eax),%edx
  627.   100546:   39 d1                   cmp    %edx,%ecx
  628.   100548:   72 e6                   jb     100530 <stack_trace+0x40>
  629.   10054a:   03 50 08                add    0x8(%eax),%edx
  630.   10054d:   39 d1                   cmp    %edx,%ecx
  631.   10054f:   77 df                   ja     100530 <stack_trace+0x40>
  632.   100551:   8b 00                   mov    (%eax),%eax
  633.   100553:   03 05 04 b0 10 00       add    0x10b004,%eax
  634.   100559:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  635.   100560:   50                      push   %eax
  636.   100561:   8d 77 01                lea    0x1(%edi),%esi
  637.   100564:   51                      push   %ecx
  638.   100565:   57                      push   %edi
  639.   100566:   68 ea 42 10 00          push   $0x1042ea
  640.   10056b:   e8 30 0e 00 00          call   1013a0 <printf>
  641.   100570:   8b 1b                   mov    (%ebx),%ebx
  642.   100572:   83 c4 10                add    $0x10,%esp
  643.   100575:   85 db                   test   %ebx,%ebx
  644.   100577:   74 1e                   je     100597 <stack_trace+0xa7>
  645.   100579:   89 f7                   mov    %esi,%edi
  646.   10057b:   8b 35 08 b0 10 00       mov    0x10b008,%esi
  647.   100581:   8b 4b 04                mov    0x4(%ebx),%ecx
  648.   100584:   c1 ee 04                shr    $0x4,%esi
  649.   100587:   75 97                   jne    100520 <stack_trace+0x30>
  650.   100589:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  651.   100590:   b8 da 42 10 00          mov    $0x1042da,%eax
  652.   100595:   eb c9                   jmp    100560 <stack_trace+0x70>
  653.   100597:   8d 65 f4                lea    -0xc(%ebp),%esp
  654.   10059a:   5b                      pop    %ebx
  655.   10059b:   5e                      pop    %esi
  656.   10059c:   5f                      pop    %edi
  657.   10059d:   5d                      pop    %ebp
  658.   10059e:   c3                      ret    
  659.   10059f:   90                      nop
  660.  
  661. 001005a0 <__stack_chk_fail>:
  662.   1005a0:   55                      push   %ebp
  663.   1005a1:   89 e5                   mov    %esp,%ebp
  664.   1005a3:   83 ec 10                sub    $0x10,%esp
  665.   1005a6:   fa                      cli    
  666.   1005a7:   68 9c 43 10 00          push   $0x10439c
  667.   1005ac:   6a 05                   push   $0x5
  668.   1005ae:   e8 0d 0e 00 00          call   1013c0 <cprintf>
  669.   1005b3:   e8 38 ff ff ff          call   1004f0 <stack_trace>
  670.   1005b8:   83 c4 10                add    $0x10,%esp
  671.   1005bb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  672.   1005bf:   90                      nop
  673.   1005c0:   f4                      hlt    
  674.   1005c1:   eb fd                   jmp    1005c0 <__stack_chk_fail+0x20>
  675.   1005c3:   66 90                   xchg   %ax,%ax
  676.   1005c5:   66 90                   xchg   %ax,%ax
  677.   1005c7:   66 90                   xchg   %ax,%ax
  678.   1005c9:   66 90                   xchg   %ax,%ax
  679.   1005cb:   66 90                   xchg   %ax,%ax
  680.   1005cd:   66 90                   xchg   %ax,%ax
  681.   1005cf:   90                      nop
  682.  
  683. 001005d0 <outb>:
  684.   1005d0:   55                      push   %ebp
  685.   1005d1:   89 e5                   mov    %esp,%ebp
  686.   1005d3:   0f b7 55 08             movzwl 0x8(%ebp),%edx
  687.   1005d7:   0f b6 45 0c             movzbl 0xc(%ebp),%eax
  688.   1005db:   ee                      out    %al,(%dx)
  689.   1005dc:   5d                      pop    %ebp
  690.   1005dd:   c3                      ret    
  691.   1005de:   66 90                   xchg   %ax,%ax
  692.  
  693. 001005e0 <outw>:
  694.   1005e0:   55                      push   %ebp
  695.   1005e1:   89 e5                   mov    %esp,%ebp
  696.   1005e3:   0f b7 55 08             movzwl 0x8(%ebp),%edx
  697.   1005e7:   0f b7 45 0c             movzwl 0xc(%ebp),%eax
  698.   1005eb:   66 ef                   out    %ax,(%dx)
  699.   1005ed:   5d                      pop    %ebp
  700.   1005ee:   c3                      ret    
  701.   1005ef:   90                      nop
  702.  
  703. 001005f0 <outl>:
  704.   1005f0:   55                      push   %ebp
  705.   1005f1:   89 e5                   mov    %esp,%ebp
  706.   1005f3:   0f b7 55 08             movzwl 0x8(%ebp),%edx
  707.   1005f7:   8b 45 0c                mov    0xc(%ebp),%eax
  708.   1005fa:   ef                      out    %eax,(%dx)
  709.   1005fb:   5d                      pop    %ebp
  710.   1005fc:   c3                      ret    
  711.   1005fd:   8d 76 00                lea    0x0(%esi),%esi
  712.  
  713. 00100600 <outsl>:
  714.   100600:   55                      push   %ebp
  715.   100601:   89 e5                   mov    %esp,%ebp
  716.   100603:   56                      push   %esi
  717.   100604:   8b 4d 10                mov    0x10(%ebp),%ecx
  718.   100607:   8b 75 0c                mov    0xc(%ebp),%esi
  719.   10060a:   8b 55 08                mov    0x8(%ebp),%edx
  720.   10060d:   f3 6f                   rep outsl %ds:(%esi),(%dx)
  721.   10060f:   8b 75 fc                mov    -0x4(%ebp),%esi
  722.   100612:   c9                      leave  
  723.   100613:   c3                      ret    
  724.   100614:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  725.   10061b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  726.   10061f:   90                      nop
  727.  
  728. 00100620 <inb>:
  729.   100620:   55                      push   %ebp
  730.   100621:   89 e5                   mov    %esp,%ebp
  731.   100623:   8b 55 08                mov    0x8(%ebp),%edx
  732.   100626:   ec                      in     (%dx),%al
  733.   100627:   5d                      pop    %ebp
  734.   100628:   c3                      ret    
  735.   100629:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  736.  
  737. 00100630 <inw>:
  738.   100630:   55                      push   %ebp
  739.   100631:   89 e5                   mov    %esp,%ebp
  740.   100633:   8b 55 08                mov    0x8(%ebp),%edx
  741.   100636:   66 ed                   in     (%dx),%ax
  742.   100638:   5d                      pop    %ebp
  743.   100639:   c3                      ret    
  744.   10063a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  745.  
  746. 00100640 <inl>:
  747.   100640:   55                      push   %ebp
  748.   100641:   89 e5                   mov    %esp,%ebp
  749.   100643:   8b 55 08                mov    0x8(%ebp),%edx
  750.   100646:   ed                      in     (%dx),%eax
  751.   100647:   5d                      pop    %ebp
  752.   100648:   c3                      ret    
  753.   100649:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  754.  
  755. 00100650 <insl>:
  756.   100650:   55                      push   %ebp
  757.   100651:   89 e5                   mov    %esp,%ebp
  758.   100653:   57                      push   %edi
  759.   100654:   8b 4d 10                mov    0x10(%ebp),%ecx
  760.   100657:   8b 7d 0c                mov    0xc(%ebp),%edi
  761.   10065a:   8b 55 08                mov    0x8(%ebp),%edx
  762.   10065d:   f3 6d                   rep insl (%dx),%es:(%edi)
  763.   10065f:   8b 7d fc                mov    -0x4(%ebp),%edi
  764.   100662:   c9                      leave  
  765.   100663:   c3                      ret    
  766.   100664:   66 90                   xchg   %ax,%ax
  767.   100666:   66 90                   xchg   %ax,%ax
  768.   100668:   66 90                   xchg   %ax,%ax
  769.   10066a:   66 90                   xchg   %ax,%ax
  770.   10066c:   66 90                   xchg   %ax,%ax
  771.   10066e:   66 90                   xchg   %ax,%ax
  772.  
  773. 00100670 <_reverse_and_pad>:
  774.   100670:   55                      push   %ebp
  775.   100671:   89 e5                   mov    %esp,%ebp
  776.   100673:   57                      push   %edi
  777.   100674:   89 cf                   mov    %ecx,%edi
  778.   100676:   56                      push   %esi
  779.   100677:   89 d6                   mov    %edx,%esi
  780.   100679:   53                      push   %ebx
  781.   10067a:   89 c3                   mov    %eax,%ebx
  782.   10067c:   83 ec 2c                sub    $0x2c,%esp
  783.   10067f:   89 4d c8                mov    %ecx,-0x38(%ebp)
  784.   100682:   a1 00 50 10 00          mov    0x105000,%eax
  785.   100687:   89 45 e4                mov    %eax,-0x1c(%ebp)
  786.   10068a:   31 c0                   xor    %eax,%eax
  787.   10068c:   8d 42 0f                lea    0xf(%edx),%eax
  788.   10068f:   83 e0 f0                and    $0xfffffff0,%eax
  789.   100692:   29 c4                   sub    %eax,%esp
  790.   100694:   85 ff                   test   %edi,%edi
  791.   100696:   0f 95 45 d7             setne  -0x29(%ebp)
  792.   10069a:   f6 45 08 03             testb  $0x3,0x8(%ebp)
  793.   10069e:   0f b6 55 d7             movzbl -0x29(%ebp),%edx
  794.   1006a2:   89 e1                   mov    %esp,%ecx
  795.   1006a4:   0f 94 c0                sete   %al
  796.   1006a7:   21 d0                   and    %edx,%eax
  797.   1006a9:   88 45 d0                mov    %al,-0x30(%ebp)
  798.   1006ac:   85 f6                   test   %esi,%esi
  799.   1006ae:   0f 84 ec 00 00 00       je     1007a0 <_reverse_and_pad+0x130>
  800.   1006b4:   89 4d cc                mov    %ecx,-0x34(%ebp)
  801.   1006b7:   89 d8                   mov    %ebx,%eax
  802.   1006b9:   89 e2                   mov    %esp,%edx
  803.   1006bb:   8d 3c 1e                lea    (%esi,%ebx,1),%edi
  804.   1006be:   66 90                   xchg   %ax,%ax
  805.   1006c0:   0f b6 08                movzbl (%eax),%ecx
  806.   1006c3:   83 c0 01                add    $0x1,%eax
  807.   1006c6:   83 c2 01                add    $0x1,%edx
  808.   1006c9:   88 4a ff                mov    %cl,-0x1(%edx)
  809.   1006cc:   39 c7                   cmp    %eax,%edi
  810.   1006ce:   75 f0                   jne    1006c0 <_reverse_and_pad+0x50>
  811.   1006d0:   80 7d d0 00             cmpb   $0x0,-0x30(%ebp)
  812.   1006d4:   8b 4d cc                mov    -0x34(%ebp),%ecx
  813.   1006d7:   0f 85 83 00 00 00       jne    100760 <_reverse_and_pad+0xf0>
  814.   1006dd:   31 ff                   xor    %edi,%edi
  815.   1006df:   89 5d d0                mov    %ebx,-0x30(%ebp)
  816.   1006e2:   8d 14 3b                lea    (%ebx,%edi,1),%edx
  817.   1006e5:   89 f0                   mov    %esi,%eax
  818.   1006e7:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  819.   1006ee:   66 90                   xchg   %ax,%ax
  820.   1006f0:   83 e8 01                sub    $0x1,%eax
  821.   1006f3:   83 c2 01                add    $0x1,%edx
  822.   1006f6:   0f b6 1c 01             movzbl (%ecx,%eax,1),%ebx
  823.   1006fa:   88 5a ff                mov    %bl,-0x1(%edx)
  824.   1006fd:   85 c0                   test   %eax,%eax
  825.   1006ff:   75 ef                   jne    1006f0 <_reverse_and_pad+0x80>
  826.   100701:   8b 5d d0                mov    -0x30(%ebp),%ebx
  827.   100704:   01 f7                   add    %esi,%edi
  828.   100706:   f6 45 08 02             testb  $0x2,0x8(%ebp)
  829.   10070a:   74 06                   je     100712 <_reverse_and_pad+0xa2>
  830.   10070c:   80 7d d7 00             cmpb   $0x0,-0x29(%ebp)
  831.   100710:   75 1e                   jne    100730 <_reverse_and_pad+0xc0>
  832.   100712:   8b 45 e4                mov    -0x1c(%ebp),%eax
  833.   100715:   2b 05 00 50 10 00       sub    0x105000,%eax
  834.   10071b:   0f 85 94 00 00 00       jne    1007b5 <_reverse_and_pad+0x145>
  835.   100721:   8d 65 f4                lea    -0xc(%ebp),%esp
  836.   100724:   89 f8                   mov    %edi,%eax
  837.   100726:   5b                      pop    %ebx
  838.   100727:   5e                      pop    %esi
  839.   100728:   5f                      pop    %edi
  840.   100729:   5d                      pop    %ebp
  841.   10072a:   c3                      ret    
  842.   10072b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  843.   10072f:   90                      nop
  844.   100730:   8b 45 c8                mov    -0x38(%ebp),%eax
  845.   100733:   39 f8                   cmp    %edi,%eax
  846.   100735:   77 15                   ja     10074c <_reverse_and_pad+0xdc>
  847.   100737:   eb d9                   jmp    100712 <_reverse_and_pad+0xa2>
  848.   100739:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  849.   100740:   83 c7 01                add    $0x1,%edi
  850.   100743:   c6 44 3b ff 20          movb   $0x20,-0x1(%ebx,%edi,1)
  851.   100748:   39 f8                   cmp    %edi,%eax
  852.   10074a:   76 c6                   jbe    100712 <_reverse_and_pad+0xa2>
  853.   10074c:   83 ff 3f                cmp    $0x3f,%edi
  854.   10074f:   76 ef                   jbe    100740 <_reverse_and_pad+0xd0>
  855.   100751:   eb bf                   jmp    100712 <_reverse_and_pad+0xa2>
  856.   100753:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  857.   10075a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  858.   100760:   3b 75 c8                cmp    -0x38(%ebp),%esi
  859.   100763:   0f 83 74 ff ff ff       jae    1006dd <_reverse_and_pad+0x6d>
  860.   100769:   8b 7d c8                mov    -0x38(%ebp),%edi
  861.   10076c:   b8 01 00 00 00          mov    $0x1,%eax
  862.   100771:   29 f7                   sub    %esi,%edi
  863.   100773:   eb 13                   jmp    100788 <_reverse_and_pad+0x118>
  864.   100775:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  865.   10077c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  866.   100780:   83 c0 01                add    $0x1,%eax
  867.   100783:   83 f8 41                cmp    $0x41,%eax
  868.   100786:   74 26                   je     1007ae <_reverse_and_pad+0x13e>
  869.   100788:   c6 44 03 ff 20          movb   $0x20,-0x1(%ebx,%eax,1)
  870.   10078d:   39 f8                   cmp    %edi,%eax
  871.   10078f:   75 ef                   jne    100780 <_reverse_and_pad+0x110>
  872.   100791:   85 f6                   test   %esi,%esi
  873.   100793:   0f 85 46 ff ff ff       jne    1006df <_reverse_and_pad+0x6f>
  874.   100799:   e9 68 ff ff ff          jmp    100706 <_reverse_and_pad+0x96>
  875.   10079e:   66 90                   xchg   %ax,%ax
  876.   1007a0:   31 ff                   xor    %edi,%edi
  877.   1007a2:   80 7d d0 00             cmpb   $0x0,-0x30(%ebp)
  878.   1007a6:   0f 84 5a ff ff ff       je     100706 <_reverse_and_pad+0x96>
  879.   1007ac:   eb bb                   jmp    100769 <_reverse_and_pad+0xf9>
  880.   1007ae:   bf 40 00 00 00          mov    $0x40,%edi
  881.   1007b3:   eb dc                   jmp    100791 <_reverse_and_pad+0x121>
  882.   1007b5:   e8 e6 fd ff ff          call   1005a0 <__stack_chk_fail>
  883.   1007ba:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  884.  
  885. 001007c0 <_itos>:
  886.   1007c0:   55                      push   %ebp
  887.   1007c1:   89 e5                   mov    %esp,%ebp
  888.   1007c3:   57                      push   %edi
  889.   1007c4:   56                      push   %esi
  890.   1007c5:   53                      push   %ebx
  891.   1007c6:   89 d3                   mov    %edx,%ebx
  892.   1007c8:   83 ec 2c                sub    $0x2c,%esp
  893.   1007cb:   89 45 e0                mov    %eax,-0x20(%ebp)
  894.   1007ce:   8b 45 08                mov    0x8(%ebp),%eax
  895.   1007d1:   89 4d d0                mov    %ecx,-0x30(%ebp)
  896.   1007d4:   89 45 e4                mov    %eax,-0x1c(%ebp)
  897.   1007d7:   8b 45 0c                mov    0xc(%ebp),%eax
  898.   1007da:   89 45 d4                mov    %eax,-0x2c(%ebp)
  899.   1007dd:   8b 45 10                mov    0x10(%ebp),%eax
  900.   1007e0:   89 45 d8                mov    %eax,-0x28(%ebp)
  901.   1007e3:   25 00 04 00 00          and    $0x400,%eax
  902.   1007e8:   83 f8 01                cmp    $0x1,%eax
  903.   1007eb:   89 45 cc                mov    %eax,-0x34(%ebp)
  904.   1007ee:   19 c0                   sbb    %eax,%eax
  905.   1007f0:   31 f6                   xor    %esi,%esi
  906.   1007f2:   83 e0 20                and    $0x20,%eax
  907.   1007f5:   83 c0 37                add    $0x37,%eax
  908.   1007f8:   88 45 df                mov    %al,-0x21(%ebp)
  909.   1007fb:   eb 07                   jmp    100804 <_itos+0x44>
  910.   1007fd:   8d 76 00                lea    0x0(%esi),%esi
  911.   100800:   89 d6                   mov    %edx,%esi
  912.   100802:   89 c3                   mov    %eax,%ebx
  913.   100804:   31 d2                   xor    %edx,%edx
  914.   100806:   89 d8                   mov    %ebx,%eax
  915.   100808:   0f b6 4d df             movzbl -0x21(%ebp),%ecx
  916.   10080c:   f7 75 e4                divl   -0x1c(%ebp)
  917.   10080f:   8d 7a 30                lea    0x30(%edx),%edi
  918.   100812:   01 d1                   add    %edx,%ecx
  919.   100814:   83 fa 09                cmp    $0x9,%edx
  920.   100817:   0f 46 cf                cmovbe %edi,%ecx
  921.   10081a:   8d 56 01                lea    0x1(%esi),%edx
  922.   10081d:   8b 7d e0                mov    -0x20(%ebp),%edi
  923.   100820:   83 fa 3f                cmp    $0x3f,%edx
  924.   100823:   88 4c 17 ff             mov    %cl,-0x1(%edi,%edx,1)
  925.   100827:   0f 96 c1                setbe  %cl
  926.   10082a:   3b 5d e4                cmp    -0x1c(%ebp),%ebx
  927.   10082d:   72 04                   jb     100833 <_itos+0x73>
  928.   10082f:   84 c9                   test   %cl,%cl
  929.   100831:   75 cd                   jne    100800 <_itos+0x40>
  930.   100833:   8b 45 d8                mov    -0x28(%ebp),%eax
  931.   100836:   89 c7                   mov    %eax,%edi
  932.   100838:   83 e0 03                and    $0x3,%eax
  933.   10083b:   83 e7 10                and    $0x10,%edi
  934.   10083e:   83 f8 01                cmp    $0x1,%eax
  935.   100841:   0f 84 a9 00 00 00       je     1008f0 <_itos+0x130>
  936.   100847:   85 ff                   test   %edi,%edi
  937.   100849:   74 4f                   je     10089a <_itos+0xda>
  938.   10084b:   83 fa 01                cmp    $0x1,%edx
  939.   10084e:   76 16                   jbe    100866 <_itos+0xa6>
  940.   100850:   39 55 d4                cmp    %edx,-0x2c(%ebp)
  941.   100853:   75 11                   jne    100866 <_itos+0xa6>
  942.   100855:   8b 45 e0                mov    -0x20(%ebp),%eax
  943.   100858:   8d 72 ff                lea    -0x1(%edx),%esi
  944.   10085b:   80 7c 10 ff 30          cmpb   $0x30,-0x1(%eax,%edx,1)
  945.   100860:   0f 84 09 01 00 00       je     10096f <_itos+0x1af>
  946.   100866:   8d 72 01                lea    0x1(%edx),%esi
  947.   100869:   83 fe 3f                cmp    $0x3f,%esi
  948.   10086c:   77 2c                   ja     10089a <_itos+0xda>
  949.   10086e:   8b 45 e0                mov    -0x20(%ebp),%eax
  950.   100871:   8b 5d e4                mov    -0x1c(%ebp),%ebx
  951.   100874:   01 d0                   add    %edx,%eax
  952.   100876:   83 fb 08                cmp    $0x8,%ebx
  953.   100879:   0f 84 2b 01 00 00       je     1009aa <_itos+0x1ea>
  954.   10087f:   83 fb 10                cmp    $0x10,%ebx
  955.   100882:   0f 84 0c 01 00 00       je     100994 <_itos+0x1d4>
  956.   100888:   83 fb 02                cmp    $0x2,%ebx
  957.   10088b:   0f 84 f6 00 00 00       je     100987 <_itos+0x1c7>
  958.   100891:   8b 45 e0                mov    -0x20(%ebp),%eax
  959.   100894:   c6 04 10 30             movb   $0x30,(%eax,%edx,1)
  960.   100898:   89 f2                   mov    %esi,%edx
  961.   10089a:   83 fa 40                cmp    $0x40,%edx
  962.   10089d:   74 10                   je     1008af <_itos+0xef>
  963.   10089f:   80 7d d0 00             cmpb   $0x0,-0x30(%ebp)
  964.   1008a3:   74 2b                   je     1008d0 <_itos+0x110>
  965.   1008a5:   8b 45 e0                mov    -0x20(%ebp),%eax
  966.   1008a8:   c6 04 10 2d             movb   $0x2d,(%eax,%edx,1)
  967.   1008ac:   83 c2 01                add    $0x1,%edx
  968.   1008af:   8b 45 d8                mov    -0x28(%ebp),%eax
  969.   1008b2:   8b 4d d4                mov    -0x2c(%ebp),%ecx
  970.   1008b5:   89 45 08                mov    %eax,0x8(%ebp)
  971.   1008b8:   8b 45 e0                mov    -0x20(%ebp),%eax
  972.   1008bb:   83 c4 2c                add    $0x2c,%esp
  973.   1008be:   5b                      pop    %ebx
  974.   1008bf:   5e                      pop    %esi
  975.   1008c0:   5f                      pop    %edi
  976.   1008c1:   5d                      pop    %ebp
  977.   1008c2:   e9 a9 fd ff ff          jmp    100670 <_reverse_and_pad>
  978.   1008c7:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  979.   1008ce:   66 90                   xchg   %ax,%ax
  980.   1008d0:   f6 45 d8 04             testb  $0x4,-0x28(%ebp)
  981.   1008d4:   0f 85 86 00 00 00       jne    100960 <_itos+0x1a0>
  982.   1008da:   f6 45 d8 08             testb  $0x8,-0x28(%ebp)
  983.   1008de:   74 cf                   je     1008af <_itos+0xef>
  984.   1008e0:   8b 45 e0                mov    -0x20(%ebp),%eax
  985.   1008e3:   c6 04 10 20             movb   $0x20,(%eax,%edx,1)
  986.   1008e7:   83 c2 01                add    $0x1,%edx
  987.   1008ea:   eb c3                   jmp    1008af <_itos+0xef>
  988.   1008ec:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  989.   1008f0:   8b 5d d4                mov    -0x2c(%ebp),%ebx
  990.   1008f3:   85 db                   test   %ebx,%ebx
  991.   1008f5:   74 59                   je     100950 <_itos+0x190>
  992.   1008f7:   8b 75 d8                mov    -0x28(%ebp),%esi
  993.   1008fa:   0f b6 5d d0             movzbl -0x30(%ebp),%ebx
  994.   1008fe:   83 e6 0c                and    $0xc,%esi
  995.   100901:   89 f0                   mov    %esi,%eax
  996.   100903:   09 d8                   or     %ebx,%eax
  997.   100905:   83 f8 01                cmp    $0x1,%eax
  998.   100908:   83 55 d4 ff             adcl   $0xffffffff,-0x2c(%ebp)
  999.   10090c:   8b 45 d4                mov    -0x2c(%ebp),%eax
  1000.   10090f:   39 c2                   cmp    %eax,%edx
  1001.   100911:   0f 83 30 ff ff ff       jae    100847 <_itos+0x87>
  1002.   100917:   84 c9                   test   %cl,%cl
  1003.   100919:   0f 84 28 ff ff ff       je     100847 <_itos+0x87>
  1004.   10091f:   8b 45 e0                mov    -0x20(%ebp),%eax
  1005.   100922:   8b 4d d4                mov    -0x2c(%ebp),%ecx
  1006.   100925:   eb 12                   jmp    100939 <_itos+0x179>
  1007.   100927:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1008.   10092e:   66 90                   xchg   %ax,%ax
  1009.   100930:   83 fa 3f                cmp    $0x3f,%edx
  1010.   100933:   0f 87 0e ff ff ff       ja     100847 <_itos+0x87>
  1011.   100939:   83 c2 01                add    $0x1,%edx
  1012.   10093c:   c6 44 10 ff 30          movb   $0x30,-0x1(%eax,%edx,1)
  1013.   100941:   39 ca                   cmp    %ecx,%edx
  1014.   100943:   72 eb                   jb     100930 <_itos+0x170>
  1015.   100945:   e9 fd fe ff ff          jmp    100847 <_itos+0x87>
  1016.   10094a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1017.   100950:   83 c6 02                add    $0x2,%esi
  1018.   100953:   85 ff                   test   %edi,%edi
  1019.   100955:   0f 85 0e ff ff ff       jne    100869 <_itos+0xa9>
  1020.   10095b:   e9 3a ff ff ff          jmp    10089a <_itos+0xda>
  1021.   100960:   8b 45 e0                mov    -0x20(%ebp),%eax
  1022.   100963:   c6 04 10 2b             movb   $0x2b,(%eax,%edx,1)
  1023.   100967:   83 c2 01                add    $0x1,%edx
  1024.   10096a:   e9 40 ff ff ff          jmp    1008af <_itos+0xef>
  1025.   10096f:   8b 5d e0                mov    -0x20(%ebp),%ebx
  1026.   100972:   8d 42 fe                lea    -0x2(%edx),%eax
  1027.   100975:   80 7c 13 fe 30          cmpb   $0x30,-0x2(%ebx,%edx,1)
  1028.   10097a:   0f 85 e6 fe ff ff       jne    100866 <_itos+0xa6>
  1029.   100980:   89 c2                   mov    %eax,%edx
  1030.   100982:   e9 e2 fe ff ff          jmp    100869 <_itos+0xa9>
  1031.   100987:   89 f2                   mov    %esi,%edx
  1032.   100989:   c6 00 62                movb   $0x62,(%eax)
  1033.   10098c:   83 c6 01                add    $0x1,%esi
  1034.   10098f:   e9 fd fe ff ff          jmp    100891 <_itos+0xd1>
  1035.   100994:   8b 55 cc                mov    -0x34(%ebp),%edx
  1036.   100997:   8d 4e 01                lea    0x1(%esi),%ecx
  1037.   10099a:   85 d2                   test   %edx,%edx
  1038.   10099c:   74 19                   je     1009b7 <_itos+0x1f7>
  1039.   10099e:   89 f2                   mov    %esi,%edx
  1040.   1009a0:   c6 00 58                movb   $0x58,(%eax)
  1041.   1009a3:   89 ce                   mov    %ecx,%esi
  1042.   1009a5:   e9 e7 fe ff ff          jmp    100891 <_itos+0xd1>
  1043.   1009aa:   89 f2                   mov    %esi,%edx
  1044.   1009ac:   c6 00 6f                movb   $0x6f,(%eax)
  1045.   1009af:   83 c6 01                add    $0x1,%esi
  1046.   1009b2:   e9 da fe ff ff          jmp    100891 <_itos+0xd1>
  1047.   1009b7:   89 f2                   mov    %esi,%edx
  1048.   1009b9:   c6 00 78                movb   $0x78,(%eax)
  1049.   1009bc:   89 ce                   mov    %ecx,%esi
  1050.   1009be:   e9 ce fe ff ff          jmp    100891 <_itos+0xd1>
  1051.   1009c3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1052.   1009ca:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1053.  
  1054. 001009d0 <_ftos>:
  1055.   1009d0:   55                      push   %ebp
  1056.   1009d1:   89 e5                   mov    %esp,%ebp
  1057.   1009d3:   57                      push   %edi
  1058.   1009d4:   56                      push   %esi
  1059.   1009d5:   53                      push   %ebx
  1060.   1009d6:   83 ec 7c                sub    $0x7c,%esp
  1061.   1009d9:   8b 75 14                mov    0x14(%ebp),%esi
  1062.   1009dc:   dd 45 08                fldl   0x8(%ebp)
  1063.   1009df:   89 45 90                mov    %eax,-0x70(%ebp)
  1064.   1009e2:   89 55 84                mov    %edx,-0x7c(%ebp)
  1065.   1009e5:   8b 45 10                mov    0x10(%ebp),%eax
  1066.   1009e8:   89 75 8c                mov    %esi,-0x74(%ebp)
  1067.   1009eb:   81 e6 00 04 00 00       and    $0x400,%esi
  1068.   1009f1:   89 4d 88                mov    %ecx,-0x78(%ebp)
  1069.   1009f4:   0f 84 d6 01 00 00       je     100bd0 <_ftos+0x200>
  1070.   1009fa:   db e8                   fucomi %st(0),%st
  1071.   1009fc:   0f 8a be 02 00 00       jp     100cc0 <_ftos+0x2f0>
  1072.   100a02:   dd 05 f8 45 10 00       fldl   0x1045f8
  1073.   100a08:   d9 c9                   fxch   %st(1)
  1074.   100a0a:   db f1                   fcomi  %st(1),%st
  1075.   100a0c:   dd d9                   fstp   %st(1)
  1076.   100a0e:   0f 87 1c 02 00 00       ja     100c30 <_ftos+0x260>
  1077.   100a14:   d9 05 00 46 10 00       flds   0x104600
  1078.   100a1a:   d9 c9                   fxch   %st(1)
  1079.   100a1c:   db f1                   fcomi  %st(1),%st
  1080.   100a1e:   dd d9                   fstp   %st(1)
  1081.   100a20:   0f 87 ea 01 00 00       ja     100c10 <_ftos+0x240>
  1082.   100a26:   d9 05 04 46 10 00       flds   0x104604
  1083.   100a2c:   df f1                   fcomip %st(1),%st
  1084.   100a2e:   0f 87 ec 01 00 00       ja     100c20 <_ftos+0x250>
  1085.   100a34:   ba 09 00 00 00          mov    $0x9,%edx
  1086.   100a39:   8d 7d 98                lea    -0x68(%ebp),%edi
  1087.   100a3c:   be 40 40 10 00          mov    $0x104040,%esi
  1088.   100a41:   b9 14 00 00 00          mov    $0x14,%ecx
  1089.   100a46:   f3 a5                   rep movsl %ds:(%esi),%es:(%edi)
  1090.   100a48:   39 d0                   cmp    %edx,%eax
  1091.   100a4a:   bb 06 00 00 00          mov    $0x6,%ebx
  1092.   100a4f:   d9 7d 96                fnstcw -0x6a(%ebp)
  1093.   100a52:   0f 47 c2                cmova  %edx,%eax
  1094.   100a55:   f7 45 8c 00 02 00 00    testl  $0x200,-0x74(%ebp)
  1095.   100a5c:   0f 45 d8                cmovne %eax,%ebx
  1096.   100a5f:   0f b7 45 96             movzwl -0x6a(%ebp),%eax
  1097.   100a63:   80 cc 0c                or     $0xc,%ah
  1098.   100a66:   89 5d 80                mov    %ebx,-0x80(%ebp)
  1099.   100a69:   66 89 45 94             mov    %ax,-0x6c(%ebp)
  1100.   100a6d:   d9 c0                   fld    %st(0)
  1101.   100a6f:   d9 6d 94                fldcw  -0x6c(%ebp)
  1102.   100a72:   df bd 78 ff ff ff       fistpll -0x88(%ebp)
  1103.   100a78:   d9 6d 96                fldcw  -0x6a(%ebp)
  1104.   100a7b:   c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
  1105.   100a82:   00 00 00
  1106.   100a85:   8b bd 78 ff ff ff       mov    -0x88(%ebp),%edi
  1107.   100a8b:   dd 44 dd 98             fldl   -0x68(%ebp,%ebx,8)
  1108.   100a8f:   89 bd 78 ff ff ff       mov    %edi,-0x88(%ebp)
  1109.   100a95:   df ad 78 ff ff ff       fildll -0x88(%ebp)
  1110.   100a9b:   de ea                   fsubrp %st,%st(2)
  1111.   100a9d:   dc c9                   fmul   %st,%st(1)
  1112.   100a9f:   d9 c9                   fxch   %st(1)
  1113.   100aa1:   d9 c0                   fld    %st(0)
  1114.   100aa3:   d9 6d 94                fldcw  -0x6c(%ebp)
  1115.   100aa6:   df bd 78 ff ff ff       fistpll -0x88(%ebp)
  1116.   100aac:   d9 6d 96                fldcw  -0x6a(%ebp)
  1117.   100aaf:   c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
  1118.   100ab6:   00 00 00
  1119.   100ab9:   df ad 78 ff ff ff       fildll -0x88(%ebp)
  1120.   100abf:   8b b5 78 ff ff ff       mov    -0x88(%ebp),%esi
  1121.   100ac5:   de e9                   fsubrp %st,%st(1)
  1122.   100ac7:   d9 05 08 46 10 00       flds   0x104608
  1123.   100acd:   d9 c9                   fxch   %st(1)
  1124.   100acf:   df f1                   fcomip %st(1),%st
  1125.   100ad1:   dd d8                   fstp   %st(0)
  1126.   100ad3:   0f 82 97 01 00 00       jb     100c70 <_ftos+0x2a0>
  1127.   100ad9:   c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
  1128.   100ae0:   00 00 00
  1129.   100ae3:   83 c6 01                add    $0x1,%esi
  1130.   100ae6:   89 b5 78 ff ff ff       mov    %esi,-0x88(%ebp)
  1131.   100aec:   df ad 78 ff ff ff       fildll -0x88(%ebp)
  1132.   100af2:   df f1                   fcomip %st(1),%st
  1133.   100af4:   dd d8                   fstp   %st(0)
  1134.   100af6:   0f 82 76 01 00 00       jb     100c72 <_ftos+0x2a2>
  1135.   100afc:   8b 45 90                mov    -0x70(%ebp),%eax
  1136.   100aff:   83 c7 01                add    $0x1,%edi
  1137.   100b02:   bb 02 00 00 00          mov    $0x2,%ebx
  1138.   100b07:   b9 01 00 00 00          mov    $0x1,%ecx
  1139.   100b0c:   c6 00 30                movb   $0x30,(%eax)
  1140.   100b0f:   8b 75 80                mov    -0x80(%ebp),%esi
  1141.   100b12:   39 f1                   cmp    %esi,%ecx
  1142.   100b14:   0f 83 e6 02 00 00       jae    100e00 <_ftos+0x430>
  1143.   100b1a:   8b 45 90                mov    -0x70(%ebp),%eax
  1144.   100b1d:   01 c1                   add    %eax,%ecx
  1145.   100b1f:   01 f0                   add    %esi,%eax
  1146.   100b21:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1147.   100b28:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1148.   100b2f:   90                      nop
  1149.   100b30:   c6 01 30                movb   $0x30,(%ecx)
  1150.   100b33:   83 c1 01                add    $0x1,%ecx
  1151.   100b36:   39 c8                   cmp    %ecx,%eax
  1152.   100b38:   75 f6                   jne    100b30 <_ftos+0x160>
  1153.   100b3a:   8b 45 80                mov    -0x80(%ebp),%eax
  1154.   100b3d:   8d 58 01                lea    0x1(%eax),%ebx
  1155.   100b40:   8b 75 80                mov    -0x80(%ebp),%esi
  1156.   100b43:   8b 45 90                mov    -0x70(%ebp),%eax
  1157.   100b46:   c6 04 30 2e             movb   $0x2e,(%eax,%esi,1)
  1158.   100b4a:   be cd cc cc cc          mov    $0xcccccccd,%esi
  1159.   100b4f:   90                      nop
  1160.   100b50:   89 f8                   mov    %edi,%eax
  1161.   100b52:   83 c3 01                add    $0x1,%ebx
  1162.   100b55:   f7 e6                   mul    %esi
  1163.   100b57:   89 f8                   mov    %edi,%eax
  1164.   100b59:   c1 ea 03                shr    $0x3,%edx
  1165.   100b5c:   8d 0c 92                lea    (%edx,%edx,4),%ecx
  1166.   100b5f:   01 c9                   add    %ecx,%ecx
  1167.   100b61:   29 c8                   sub    %ecx,%eax
  1168.   100b63:   8b 4d 90                mov    -0x70(%ebp),%ecx
  1169.   100b66:   83 c0 30                add    $0x30,%eax
  1170.   100b69:   83 fb 3f                cmp    $0x3f,%ebx
  1171.   100b6c:   88 44 19 ff             mov    %al,-0x1(%ecx,%ebx,1)
  1172.   100b70:   89 f8                   mov    %edi,%eax
  1173.   100b72:   89 d7                   mov    %edx,%edi
  1174.   100b74:   0f 96 c2                setbe  %dl
  1175.   100b77:   83 f8 09                cmp    $0x9,%eax
  1176.   100b7a:   76 04                   jbe    100b80 <_ftos+0x1b0>
  1177.   100b7c:   84 d2                   test   %dl,%dl
  1178.   100b7e:   75 d0                   jne    100b50 <_ftos+0x180>
  1179.   100b80:   8b 45 8c                mov    -0x74(%ebp),%eax
  1180.   100b83:   83 e0 03                and    $0x3,%eax
  1181.   100b86:   83 f8 01                cmp    $0x1,%eax
  1182.   100b89:   0f 84 81 01 00 00       je     100d10 <_ftos+0x340>
  1183.   100b8f:   83 fb 3f                cmp    $0x3f,%ebx
  1184.   100b92:   77 14                   ja     100ba8 <_ftos+0x1d8>
  1185.   100b94:   80 7d 84 00             cmpb   $0x0,-0x7c(%ebp)
  1186.   100b98:   0f 84 d2 01 00 00       je     100d70 <_ftos+0x3a0>
  1187.   100b9e:   8b 45 90                mov    -0x70(%ebp),%eax
  1188.   100ba1:   c6 04 18 2d             movb   $0x2d,(%eax,%ebx,1)
  1189.   100ba5:   83 c3 01                add    $0x1,%ebx
  1190.   100ba8:   8b 45 8c                mov    -0x74(%ebp),%eax
  1191.   100bab:   8b 4d 88                mov    -0x78(%ebp),%ecx
  1192.   100bae:   89 da                   mov    %ebx,%edx
  1193.   100bb0:   89 45 08                mov    %eax,0x8(%ebp)
  1194.   100bb3:   8b 45 90                mov    -0x70(%ebp),%eax
  1195.   100bb6:   8d 65 f4                lea    -0xc(%ebp),%esp
  1196.   100bb9:   5b                      pop    %ebx
  1197.   100bba:   5e                      pop    %esi
  1198.   100bbb:   5f                      pop    %edi
  1199.   100bbc:   5d                      pop    %ebp
  1200.   100bbd:   e9 ae fa ff ff          jmp    100670 <_reverse_and_pad>
  1201.   100bc2:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1202.   100bc9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1203.   100bd0:   db e8                   fucomi %st(0),%st
  1204.   100bd2:   0f 8a 28 01 00 00       jp     100d00 <_ftos+0x330>
  1205.   100bd8:   dd 05 f8 45 10 00       fldl   0x1045f8
  1206.   100bde:   d9 c9                   fxch   %st(1)
  1207.   100be0:   db f1                   fcomi  %st(1),%st
  1208.   100be2:   dd d9                   fstp   %st(1)
  1209.   100be4:   0f 86 2a fe ff ff       jbe    100a14 <_ftos+0x44>
  1210.   100bea:   dd d8                   fstp   %st(0)
  1211.   100bec:   80 7d 84 00             cmpb   $0x0,-0x7c(%ebp)
  1212.   100bf0:   0f 85 fa 01 00 00       jne    100df0 <_ftos+0x420>
  1213.   100bf6:   8b 5d 8c                mov    -0x74(%ebp),%ebx
  1214.   100bf9:   f6 c3 04                test   $0x4,%bl
  1215.   100bfc:   0f 84 9e 01 00 00       je     100da0 <_ftos+0x3d0>
  1216.   100c02:   83 ec 04                sub    $0x4,%esp
  1217.   100c05:   6a 04                   push   $0x4
  1218.   100c07:   68 14 43 10 00          push   $0x104314
  1219.   100c0c:   eb 44                   jmp    100c52 <_ftos+0x282>
  1220.   100c0e:   66 90                   xchg   %ax,%ax
  1221.   100c10:   dd d8                   fstp   %st(0)
  1222.   100c12:   eb 0e                   jmp    100c22 <_ftos+0x252>
  1223.   100c14:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1224.   100c1b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1225.   100c1f:   90                      nop
  1226.   100c20:   dd d8                   fstp   %st(0)
  1227.   100c22:   8d 65 f4                lea    -0xc(%ebp),%esp
  1228.   100c25:   31 c0                   xor    %eax,%eax
  1229.   100c27:   5b                      pop    %ebx
  1230.   100c28:   5e                      pop    %esi
  1231.   100c29:   5f                      pop    %edi
  1232.   100c2a:   5d                      pop    %ebp
  1233.   100c2b:   c3                      ret    
  1234.   100c2c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1235.   100c30:   dd d8                   fstp   %st(0)
  1236.   100c32:   80 7d 84 00             cmpb   $0x0,-0x7c(%ebp)
  1237.   100c36:   0f 85 84 01 00 00       jne    100dc0 <_ftos+0x3f0>
  1238.   100c3c:   8b 5d 8c                mov    -0x74(%ebp),%ebx
  1239.   100c3f:   f6 c3 04                test   $0x4,%bl
  1240.   100c42:   0f 84 48 01 00 00       je     100d90 <_ftos+0x3c0>
  1241.   100c48:   83 ec 04                sub    $0x4,%esp
  1242.   100c4b:   6a 04                   push   $0x4
  1243.   100c4d:   68 02 43 10 00          push   $0x104302
  1244.   100c52:   8b 75 90                mov    -0x70(%ebp),%esi
  1245.   100c55:   56                      push   %esi
  1246.   100c56:   e8 b5 10 00 00          call   101d10 <strncpy>
  1247.   100c5b:   89 5d 08                mov    %ebx,0x8(%ebp)
  1248.   100c5e:   8b 4d 88                mov    -0x78(%ebp),%ecx
  1249.   100c61:   83 c4 10                add    $0x10,%esp
  1250.   100c64:   ba 04 00 00 00          mov    $0x4,%edx
  1251.   100c69:   89 f0                   mov    %esi,%eax
  1252.   100c6b:   e9 46 ff ff ff          jmp    100bb6 <_ftos+0x1e6>
  1253.   100c70:   dd d8                   fstp   %st(0)
  1254.   100c72:   89 bd 78 ff ff ff       mov    %edi,-0x88(%ebp)
  1255.   100c78:   31 c9                   xor    %ecx,%ecx
  1256.   100c7a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1257.   100c80:   b8 cd cc cc cc          mov    $0xcccccccd,%eax
  1258.   100c85:   89 cb                   mov    %ecx,%ebx
  1259.   100c87:   83 c1 01                add    $0x1,%ecx
  1260.   100c8a:   f7 e6                   mul    %esi
  1261.   100c8c:   89 f0                   mov    %esi,%eax
  1262.   100c8e:   c1 ea 03                shr    $0x3,%edx
  1263.   100c91:   8d 3c 92                lea    (%edx,%edx,4),%edi
  1264.   100c94:   01 ff                   add    %edi,%edi
  1265.   100c96:   29 f8                   sub    %edi,%eax
  1266.   100c98:   8b 7d 90                mov    -0x70(%ebp),%edi
  1267.   100c9b:   83 c0 30                add    $0x30,%eax
  1268.   100c9e:   88 44 0f ff             mov    %al,-0x1(%edi,%ecx,1)
  1269.   100ca2:   89 f0                   mov    %esi,%eax
  1270.   100ca4:   89 d6                   mov    %edx,%esi
  1271.   100ca6:   83 f8 09                cmp    $0x9,%eax
  1272.   100ca9:   76 05                   jbe    100cb0 <_ftos+0x2e0>
  1273.   100cab:   83 f9 3e                cmp    $0x3e,%ecx
  1274.   100cae:   76 d0                   jbe    100c80 <_ftos+0x2b0>
  1275.   100cb0:   8b bd 78 ff ff ff       mov    -0x88(%ebp),%edi
  1276.   100cb6:   83 c3 02                add    $0x2,%ebx
  1277.   100cb9:   e9 51 fe ff ff          jmp    100b0f <_ftos+0x13f>
  1278.   100cbe:   66 90                   xchg   %ax,%ax
  1279.   100cc0:   dd d8                   fstp   %st(0)
  1280.   100cc2:   83 ec 04                sub    $0x4,%esp
  1281.   100cc5:   6a 03                   push   $0x3
  1282.   100cc7:   68 f9 42 10 00          push   $0x1042f9
  1283.   100ccc:   8b 5d 90                mov    -0x70(%ebp),%ebx
  1284.   100ccf:   53                      push   %ebx
  1285.   100cd0:   e8 3b 10 00 00          call   101d10 <strncpy>
  1286.   100cd5:   8b 45 8c                mov    -0x74(%ebp),%eax
  1287.   100cd8:   8b 4d 88                mov    -0x78(%ebp),%ecx
  1288.   100cdb:   83 c4 10                add    $0x10,%esp
  1289.   100cde:   ba 03 00 00 00          mov    $0x3,%edx
  1290.   100ce3:   89 45 08                mov    %eax,0x8(%ebp)
  1291.   100ce6:   8d 65 f4                lea    -0xc(%ebp),%esp
  1292.   100ce9:   89 d8                   mov    %ebx,%eax
  1293.   100ceb:   5b                      pop    %ebx
  1294.   100cec:   5e                      pop    %esi
  1295.   100ced:   5f                      pop    %edi
  1296.   100cee:   5d                      pop    %ebp
  1297.   100cef:   e9 7c f9 ff ff          jmp    100670 <_reverse_and_pad>
  1298.   100cf4:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1299.   100cfb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1300.   100cff:   90                      nop
  1301.   100d00:   dd d8                   fstp   %st(0)
  1302.   100d02:   83 ec 04                sub    $0x4,%esp
  1303.   100d05:   6a 03                   push   $0x3
  1304.   100d07:   68 0b 43 10 00          push   $0x10430b
  1305.   100d0c:   eb be                   jmp    100ccc <_ftos+0x2fc>
  1306.   100d0e:   66 90                   xchg   %ax,%ax
  1307.   100d10:   8b 75 88                mov    -0x78(%ebp),%esi
  1308.   100d13:   85 f6                   test   %esi,%esi
  1309.   100d15:   0f 84 74 fe ff ff       je     100b8f <_ftos+0x1bf>
  1310.   100d1b:   8b 45 8c                mov    -0x74(%ebp),%eax
  1311.   100d1e:   0f b6 4d 84             movzbl -0x7c(%ebp),%ecx
  1312.   100d22:   83 e0 0c                and    $0xc,%eax
  1313.   100d25:   09 c8                   or     %ecx,%eax
  1314.   100d27:   83 f8 01                cmp    $0x1,%eax
  1315.   100d2a:   83 d6 ff                adc    $0xffffffff,%esi
  1316.   100d2d:   89 75 88                mov    %esi,-0x78(%ebp)
  1317.   100d30:   39 f3                   cmp    %esi,%ebx
  1318.   100d32:   0f 83 57 fe ff ff       jae    100b8f <_ftos+0x1bf>
  1319.   100d38:   84 d2                   test   %dl,%dl
  1320.   100d3a:   0f 84 4f fe ff ff       je     100b8f <_ftos+0x1bf>
  1321.   100d40:   8b 45 90                mov    -0x70(%ebp),%eax
  1322.   100d43:   8b 55 88                mov    -0x78(%ebp),%edx
  1323.   100d46:   eb 11                   jmp    100d59 <_ftos+0x389>
  1324.   100d48:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1325.   100d4f:   90                      nop
  1326.   100d50:   83 fb 3f                cmp    $0x3f,%ebx
  1327.   100d53:   0f 87 4f fe ff ff       ja     100ba8 <_ftos+0x1d8>
  1328.   100d59:   83 c3 01                add    $0x1,%ebx
  1329.   100d5c:   c6 44 18 ff 30          movb   $0x30,-0x1(%eax,%ebx,1)
  1330.   100d61:   39 d3                   cmp    %edx,%ebx
  1331.   100d63:   72 eb                   jb     100d50 <_ftos+0x380>
  1332.   100d65:   e9 25 fe ff ff          jmp    100b8f <_ftos+0x1bf>
  1333.   100d6a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1334.   100d70:   f6 45 8c 04             testb  $0x4,-0x74(%ebp)
  1335.   100d74:   75 3a                   jne    100db0 <_ftos+0x3e0>
  1336.   100d76:   f6 45 8c 08             testb  $0x8,-0x74(%ebp)
  1337.   100d7a:   0f 84 28 fe ff ff       je     100ba8 <_ftos+0x1d8>
  1338.   100d80:   8b 45 90                mov    -0x70(%ebp),%eax
  1339.   100d83:   c6 04 18 20             movb   $0x20,(%eax,%ebx,1)
  1340.   100d87:   83 c3 01                add    $0x1,%ebx
  1341.   100d8a:   e9 19 fe ff ff          jmp    100ba8 <_ftos+0x1d8>
  1342.   100d8f:   90                      nop
  1343.   100d90:   83 ec 04                sub    $0x4,%esp
  1344.   100d93:   6a 03                   push   $0x3
  1345.   100d95:   68 07 43 10 00          push   $0x104307
  1346.   100d9a:   e9 2d ff ff ff          jmp    100ccc <_ftos+0x2fc>
  1347.   100d9f:   90                      nop
  1348.   100da0:   83 ec 04                sub    $0x4,%esp
  1349.   100da3:   6a 03                   push   $0x3
  1350.   100da5:   68 19 43 10 00          push   $0x104319
  1351.   100daa:   e9 1d ff ff ff          jmp    100ccc <_ftos+0x2fc>
  1352.   100daf:   90                      nop
  1353.   100db0:   8b 45 90                mov    -0x70(%ebp),%eax
  1354.   100db3:   c6 04 18 2b             movb   $0x2b,(%eax,%ebx,1)
  1355.   100db7:   83 c3 01                add    $0x1,%ebx
  1356.   100dba:   e9 e9 fd ff ff          jmp    100ba8 <_ftos+0x1d8>
  1357.   100dbf:   90                      nop
  1358.   100dc0:   83 ec 04                sub    $0x4,%esp
  1359.   100dc3:   6a 04                   push   $0x4
  1360.   100dc5:   68 fd 42 10 00          push   $0x1042fd
  1361.   100dca:   8b 5d 90                mov    -0x70(%ebp),%ebx
  1362.   100dcd:   53                      push   %ebx
  1363.   100dce:   e8 3d 0f 00 00          call   101d10 <strncpy>
  1364.   100dd3:   8b 45 8c                mov    -0x74(%ebp),%eax
  1365.   100dd6:   8b 4d 88                mov    -0x78(%ebp),%ecx
  1366.   100dd9:   83 c4 10                add    $0x10,%esp
  1367.   100ddc:   ba 04 00 00 00          mov    $0x4,%edx
  1368.   100de1:   89 45 08                mov    %eax,0x8(%ebp)
  1369.   100de4:   89 d8                   mov    %ebx,%eax
  1370.   100de6:   e9 cb fd ff ff          jmp    100bb6 <_ftos+0x1e6>
  1371.   100deb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1372.   100def:   90                      nop
  1373.   100df0:   83 ec 04                sub    $0x4,%esp
  1374.   100df3:   6a 04                   push   $0x4
  1375.   100df5:   68 0f 43 10 00          push   $0x10430f
  1376.   100dfa:   eb ce                   jmp    100dca <_ftos+0x3fa>
  1377.   100dfc:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1378.   100e00:   89 4d 80                mov    %ecx,-0x80(%ebp)
  1379.   100e03:   e9 38 fd ff ff          jmp    100b40 <_ftos+0x170>
  1380.   100e08:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1381.   100e0f:   90                      nop
  1382.  
  1383. 00100e10 <_vprintf>:
  1384.   100e10:   55                      push   %ebp
  1385.   100e11:   89 e5                   mov    %esp,%ebp
  1386.   100e13:   57                      push   %edi
  1387.   100e14:   56                      push   %esi
  1388.   100e15:   53                      push   %ebx
  1389.   100e16:   83 ec 7c                sub    $0x7c,%esp
  1390.   100e19:   89 45 94                mov    %eax,-0x6c(%ebp)
  1391.   100e1c:   a1 00 50 10 00          mov    0x105000,%eax
  1392.   100e21:   89 45 e4                mov    %eax,-0x1c(%ebp)
  1393.   100e24:   31 c0                   xor    %eax,%eax
  1394.   100e26:   0f b6 02                movzbl (%edx),%eax
  1395.   100e29:   89 4d 90                mov    %ecx,-0x70(%ebp)
  1396.   100e2c:   84 c0                   test   %al,%al
  1397.   100e2e:   74 39                   je     100e69 <_vprintf+0x59>
  1398.   100e30:   89 d6                   mov    %edx,%esi
  1399.   100e32:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1400.   100e39:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1401.   100e40:   8d 4e 01                lea    0x1(%esi),%ecx
  1402.   100e43:   3c 25                   cmp    $0x25,%al
  1403.   100e45:   74 39                   je     100e80 <_vprintf+0x70>
  1404.   100e47:   0f b6 46 01             movzbl 0x1(%esi),%eax
  1405.   100e4b:   89 ce                   mov    %ecx,%esi
  1406.   100e4d:   84 c0                   test   %al,%al
  1407.   100e4f:   75 ef                   jne    100e40 <_vprintf+0x30>
  1408.   100e51:   39 f2                   cmp    %esi,%edx
  1409.   100e53:   73 14                   jae    100e69 <_vprintf+0x59>
  1410.   100e55:   89 f0                   mov    %esi,%eax
  1411.   100e57:   83 ec 04                sub    $0x4,%esp
  1412.   100e5a:   ff 75 94                push   -0x6c(%ebp)
  1413.   100e5d:   29 d0                   sub    %edx,%eax
  1414.   100e5f:   50                      push   %eax
  1415.   100e60:   52                      push   %edx
  1416.   100e61:   e8 7a 13 00 00          call   1021e0 <terminal_write_color>
  1417.   100e66:   83 c4 10                add    $0x10,%esp
  1418.   100e69:   8b 45 e4                mov    -0x1c(%ebp),%eax
  1419.   100e6c:   2b 05 00 50 10 00       sub    0x105000,%eax
  1420.   100e72:   0f 85 14 05 00 00       jne    10138c <_vprintf+0x57c>
  1421.   100e78:   8d 65 f4                lea    -0xc(%ebp),%esp
  1422.   100e7b:   5b                      pop    %ebx
  1423.   100e7c:   5e                      pop    %esi
  1424.   100e7d:   5f                      pop    %edi
  1425.   100e7e:   5d                      pop    %ebp
  1426.   100e7f:   c3                      ret    
  1427.   100e80:   39 f2                   cmp    %esi,%edx
  1428.   100e82:   0f 82 88 01 00 00       jb     101010 <_vprintf+0x200>
  1429.   100e88:   8d 56 02                lea    0x2(%esi),%edx
  1430.   100e8b:   31 ff                   xor    %edi,%edi
  1431.   100e8d:   8d 76 00                lea    0x0(%esi),%esi
  1432.   100e90:   0f be 4a ff             movsbl -0x1(%edx),%ecx
  1433.   100e94:   8d 5a ff                lea    -0x1(%edx),%ebx
  1434.   100e97:   8d 41 e0                lea    -0x20(%ecx),%eax
  1435.   100e9a:   3c 10                   cmp    $0x10,%al
  1436.   100e9c:   77 12                   ja     100eb0 <_vprintf+0xa0>
  1437.   100e9e:   0f b6 c0                movzbl %al,%eax
  1438.   100ea1:   ff 24 85 90 40 10 00    jmp    *0x104090(,%eax,4)
  1439.   100ea8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1440.   100eaf:   90                      nop
  1441.   100eb0:   83 ec 0c                sub    $0xc,%esp
  1442.   100eb3:   51                      push   %ecx
  1443.   100eb4:   e8 77 0f 00 00          call   101e30 <isdigit>
  1444.   100eb9:   83 c4 10                add    $0x10,%esp
  1445.   100ebc:   84 c0                   test   %al,%al
  1446.   100ebe:   0f 85 cc 00 00 00       jne    100f90 <_vprintf+0x180>
  1447.   100ec4:   0f b6 03                movzbl (%ebx),%eax
  1448.   100ec7:   c7 45 8c 00 00 00 00    movl   $0x0,-0x74(%ebp)
  1449.   100ece:   31 c9                   xor    %ecx,%ecx
  1450.   100ed0:   3c 2e                   cmp    $0x2e,%al
  1451.   100ed2:   0f 84 fb 00 00 00       je     100fd3 <_vprintf+0x1c3>
  1452.   100ed8:   3c 72                   cmp    $0x72,%al
  1453.   100eda:   0f 84 00 03 00 00       je     1011e0 <_vprintf+0x3d0>
  1454.   100ee0:   0f 8f 4a 01 00 00       jg     101030 <_vprintf+0x220>
  1455.   100ee6:   3c 68                   cmp    $0x68,%al
  1456.   100ee8:   0f 84 e2 02 00 00       je     1011d0 <_vprintf+0x3c0>
  1457.   100eee:   3c 6c                   cmp    $0x6c,%al
  1458.   100ef0:   75 0a                   jne    100efc <_vprintf+0xec>
  1459.   100ef2:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1460.   100ef6:   83 cf 20                or     $0x20,%edi
  1461.   100ef9:   83 c3 01                add    $0x1,%ebx
  1462.   100efc:   3c 66                   cmp    $0x66,%al
  1463.   100efe:   0f 8f 34 01 00 00       jg     101038 <_vprintf+0x228>
  1464.   100f04:   3c 45                   cmp    $0x45,%al
  1465.   100f06:   0f 8f 64 01 00 00       jg     101070 <_vprintf+0x260>
  1466.   100f0c:   3c 25                   cmp    $0x25,%al
  1467.   100f0e:   0f 85 4d 01 00 00       jne    101061 <_vprintf+0x251>
  1468.   100f14:   83 ec 04                sub    $0x4,%esp
  1469.   100f17:   ff 75 94                push   -0x6c(%ebp)
  1470.   100f1a:   6a 01                   push   $0x1
  1471.   100f1c:   68 1d 43 10 00          push   $0x10431d
  1472.   100f21:   e8 ba 12 00 00          call   1021e0 <terminal_write_color>
  1473.   100f26:   8d 53 01                lea    0x1(%ebx),%edx
  1474.   100f29:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1475.   100f2d:   83 c4 10                add    $0x10,%esp
  1476.   100f30:   89 d6                   mov    %edx,%esi
  1477.   100f32:   e9 16 ff ff ff          jmp    100e4d <_vprintf+0x3d>
  1478.   100f37:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1479.   100f3e:   66 90                   xchg   %ax,%ax
  1480.   100f40:   83 cf 01                or     $0x1,%edi
  1481.   100f43:   83 c2 01                add    $0x1,%edx
  1482.   100f46:   e9 45 ff ff ff          jmp    100e90 <_vprintf+0x80>
  1483.   100f4b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1484.   100f4f:   90                      nop
  1485.   100f50:   83 cf 02                or     $0x2,%edi
  1486.   100f53:   eb ee                   jmp    100f43 <_vprintf+0x133>
  1487.   100f55:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1488.   100f5c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1489.   100f60:   83 cf 04                or     $0x4,%edi
  1490.   100f63:   eb de                   jmp    100f43 <_vprintf+0x133>
  1491.   100f65:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1492.   100f6c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1493.   100f70:   83 cf 10                or     $0x10,%edi
  1494.   100f73:   eb ce                   jmp    100f43 <_vprintf+0x133>
  1495.   100f75:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1496.   100f7c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1497.   100f80:   83 cf 08                or     $0x8,%edi
  1498.   100f83:   eb be                   jmp    100f43 <_vprintf+0x133>
  1499.   100f85:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1500.   100f8c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1501.   100f90:   31 c0                   xor    %eax,%eax
  1502.   100f92:   89 75 88                mov    %esi,-0x78(%ebp)
  1503.   100f95:   81 cf 00 01 00 00       or     $0x100,%edi
  1504.   100f9b:   89 c6                   mov    %eax,%esi
  1505.   100f9d:   eb 0e                   jmp    100fad <_vprintf+0x19d>
  1506.   100f9f:   90                      nop
  1507.   100fa0:   0f be 03                movsbl (%ebx),%eax
  1508.   100fa3:   8d 14 b6                lea    (%esi,%esi,4),%edx
  1509.   100fa6:   83 c3 01                add    $0x1,%ebx
  1510.   100fa9:   8d 74 50 d0             lea    -0x30(%eax,%edx,2),%esi
  1511.   100fad:   0f be 03                movsbl (%ebx),%eax
  1512.   100fb0:   83 ec 0c                sub    $0xc,%esp
  1513.   100fb3:   50                      push   %eax
  1514.   100fb4:   e8 77 0e 00 00          call   101e30 <isdigit>
  1515.   100fb9:   83 c4 10                add    $0x10,%esp
  1516.   100fbc:   84 c0                   test   %al,%al
  1517.   100fbe:   75 e0                   jne    100fa0 <_vprintf+0x190>
  1518.   100fc0:   0f b6 03                movzbl (%ebx),%eax
  1519.   100fc3:   89 75 8c                mov    %esi,-0x74(%ebp)
  1520.   100fc6:   31 c9                   xor    %ecx,%ecx
  1521.   100fc8:   8b 75 88                mov    -0x78(%ebp),%esi
  1522.   100fcb:   3c 2e                   cmp    $0x2e,%al
  1523.   100fcd:   0f 85 05 ff ff ff       jne    100ed8 <_vprintf+0xc8>
  1524.   100fd3:   0f be 43 01             movsbl 0x1(%ebx),%eax
  1525.   100fd7:   83 ec 0c                sub    $0xc,%esp
  1526.   100fda:   8d 53 01                lea    0x1(%ebx),%edx
  1527.   100fdd:   89 4d 84                mov    %ecx,-0x7c(%ebp)
  1528.   100fe0:   89 55 88                mov    %edx,-0x78(%ebp)
  1529.   100fe3:   81 cf 00 02 00 00       or     $0x200,%edi
  1530.   100fe9:   50                      push   %eax
  1531.   100fea:   e8 41 0e 00 00          call   101e30 <isdigit>
  1532.   100fef:   83 c4 10                add    $0x10,%esp
  1533.   100ff2:   8b 55 88                mov    -0x78(%ebp),%edx
  1534.   100ff5:   8b 4d 84                mov    -0x7c(%ebp),%ecx
  1535.   100ff8:   84 c0                   test   %al,%al
  1536.   100ffa:   0f 85 e8 02 00 00       jne    1012e8 <_vprintf+0x4d8>
  1537.   101000:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1538.   101004:   89 d3                   mov    %edx,%ebx
  1539.   101006:   e9 cd fe ff ff          jmp    100ed8 <_vprintf+0xc8>
  1540.   10100b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1541.   10100f:   90                      nop
  1542.   101010:   89 f0                   mov    %esi,%eax
  1543.   101012:   83 ec 04                sub    $0x4,%esp
  1544.   101015:   ff 75 94                push   -0x6c(%ebp)
  1545.   101018:   29 d0                   sub    %edx,%eax
  1546.   10101a:   50                      push   %eax
  1547.   10101b:   52                      push   %edx
  1548.   10101c:   e8 bf 11 00 00          call   1021e0 <terminal_write_color>
  1549.   101021:   83 c4 10                add    $0x10,%esp
  1550.   101024:   e9 5f fe ff ff          jmp    100e88 <_vprintf+0x78>
  1551.   101029:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1552.   101030:   3c 7a                   cmp    $0x7a,%al
  1553.   101032:   0f 84 ba fe ff ff       je     100ef2 <_vprintf+0xe2>
  1554.   101038:   8d 48 97                lea    -0x69(%eax),%ecx
  1555.   10103b:   80 f9 0f                cmp    $0xf,%cl
  1556.   10103e:   77 21                   ja     101061 <_vprintf+0x251>
  1557.   101040:   ba 01 00 00 00          mov    $0x1,%edx
  1558.   101045:   d3 e2                   shl    %cl,%edx
  1559.   101047:   81 e2 41 90 00 00       and    $0x9041,%edx
  1560.   10104d:   75 41                   jne    101090 <_vprintf+0x280>
  1561.   10104f:   80 f9 0a                cmp    $0xa,%cl
  1562.   101052:   0f 84 dd 01 00 00       je     101235 <_vprintf+0x425>
  1563.   101058:   80 f9 07                cmp    $0x7,%cl
  1564.   10105b:   0f 84 af 01 00 00       je     101210 <_vprintf+0x400>
  1565.   101061:   89 f2                   mov    %esi,%edx
  1566.   101063:   89 de                   mov    %ebx,%esi
  1567.   101065:   e9 e3 fd ff ff          jmp    100e4d <_vprintf+0x3d>
  1568.   10106a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1569.   101070:   8d 50 ba                lea    -0x46(%eax),%edx
  1570.   101073:   80 fa 20                cmp    $0x20,%dl
  1571.   101076:   77 e9                   ja     101061 <_vprintf+0x251>
  1572.   101078:   0f b6 d2                movzbl %dl,%edx
  1573.   10107b:   ff 24 95 d4 40 10 00    jmp    *0x1040d4(,%edx,4)
  1574.   101082:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1575.   101089:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1576.   101090:   ba 08 00 00 00          mov    $0x8,%edx
  1577.   101095:   3c 6f                   cmp    $0x6f,%al
  1578.   101097:   74 1d                   je     1010b6 <_vprintf+0x2a6>
  1579.   101099:   3c 6f                   cmp    $0x6f,%al
  1580.   10109b:   0f 8f 51 01 00 00       jg     1011f2 <_vprintf+0x3e2>
  1581.   1010a1:   3c 58                   cmp    $0x58,%al
  1582.   1010a3:   0f 84 d9 02 00 00       je     101382 <_vprintf+0x572>
  1583.   1010a9:   3c 62                   cmp    $0x62,%al
  1584.   1010ab:   0f 85 05 02 00 00       jne    1012b6 <_vprintf+0x4a6>
  1585.   1010b1:   ba 02 00 00 00          mov    $0x2,%edx
  1586.   1010b6:   83 e7 f3                and    $0xfffffff3,%edi
  1587.   1010b9:   8b 75 90                mov    -0x70(%ebp),%esi
  1588.   1010bc:   83 c6 04                add    $0x4,%esi
  1589.   1010bf:   3c 58                   cmp    $0x58,%al
  1590.   1010c1:   0f 84 dd 01 00 00       je     1012a4 <_vprintf+0x494>
  1591.   1010c7:   3c 69                   cmp    $0x69,%al
  1592.   1010c9:   74 08                   je     1010d3 <_vprintf+0x2c3>
  1593.   1010cb:   3c 64                   cmp    $0x64,%al
  1594.   1010cd:   0f 85 d7 01 00 00       jne    1012aa <_vprintf+0x49a>
  1595.   1010d3:   8b 45 90                mov    -0x70(%ebp),%eax
  1596.   1010d6:   31 c9                   xor    %ecx,%ecx
  1597.   1010d8:   8b 00                   mov    (%eax),%eax
  1598.   1010da:   85 c0                   test   %eax,%eax
  1599.   1010dc:   79 07                   jns    1010e5 <_vprintf+0x2d5>
  1600.   1010de:   f7 d8                   neg    %eax
  1601.   1010e0:   b9 01 00 00 00          mov    $0x1,%ecx
  1602.   1010e5:   83 ec 04                sub    $0x4,%esp
  1603.   1010e8:   57                      push   %edi
  1604.   1010e9:   ff 75 8c                push   -0x74(%ebp)
  1605.   1010ec:   52                      push   %edx
  1606.   1010ed:   89 c2                   mov    %eax,%edx
  1607.   1010ef:   e9 34 01 00 00          jmp    101228 <_vprintf+0x418>
  1608.   1010f4:   89 fa                   mov    %edi,%edx
  1609.   1010f6:   80 ce 04                or     $0x4,%dh
  1610.   1010f9:   3c 46                   cmp    $0x46,%al
  1611.   1010fb:   8b 45 90                mov    -0x70(%ebp),%eax
  1612.   1010fe:   0f 44 fa                cmove  %edx,%edi
  1613.   101101:   dd 00                   fldl   (%eax)
  1614.   101103:   8d 70 08                lea    0x8(%eax),%esi
  1615.   101106:   d9 ee                   fldz  
  1616.   101108:   db f1                   fcomi  %st(1),%st
  1617.   10110a:   0f 97 c2                seta   %dl
  1618.   10110d:   76 04                   jbe    101113 <_vprintf+0x303>
  1619.   10110f:   de e1                   fsubp  %st,%st(1)
  1620.   101111:   eb 02                   jmp    101115 <_vprintf+0x305>
  1621.   101113:   dd d8                   fstp   %st(0)
  1622.   101115:   57                      push   %edi
  1623.   101116:   0f b6 d2                movzbl %dl,%edx
  1624.   101119:   8d 45 a4                lea    -0x5c(%ebp),%eax
  1625.   10111c:   51                      push   %ecx
  1626.   10111d:   8b 4d 8c                mov    -0x74(%ebp),%ecx
  1627.   101120:   83 ec 08                sub    $0x8,%esp
  1628.   101123:   dd 1c 24                fstpl  (%esp)
  1629.   101126:   e8 a5 f8 ff ff          call   1009d0 <_ftos>
  1630.   10112b:   83 c4 0c                add    $0xc,%esp
  1631.   10112e:   ff 75 94                push   -0x6c(%ebp)
  1632.   101131:   50                      push   %eax
  1633.   101132:   8d 45 a4                lea    -0x5c(%ebp),%eax
  1634.   101135:   50                      push   %eax
  1635.   101136:   e8 a5 10 00 00          call   1021e0 <terminal_write_color>
  1636.   10113b:   8d 53 01                lea    0x1(%ebx),%edx
  1637.   10113e:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1638.   101142:   83 c4 10                add    $0x10,%esp
  1639.   101145:   89 75 90                mov    %esi,-0x70(%ebp)
  1640.   101148:   89 d6                   mov    %edx,%esi
  1641.   10114a:   e9 fe fc ff ff          jmp    100e4d <_vprintf+0x3d>
  1642.   10114f:   8b 45 90                mov    -0x70(%ebp),%eax
  1643.   101152:   8d 70 04                lea    0x4(%eax),%esi
  1644.   101155:   8b 00                   mov    (%eax),%eax
  1645.   101157:   88 45 a3                mov    %al,-0x5d(%ebp)
  1646.   10115a:   8b 45 8c                mov    -0x74(%ebp),%eax
  1647.   10115d:   83 f8 01                cmp    $0x1,%eax
  1648.   101160:   0f 86 69 01 00 00       jbe    1012cf <_vprintf+0x4bf>
  1649.   101166:   8d 50 ff                lea    -0x1(%eax),%edx
  1650.   101169:   83 c0 0e                add    $0xe,%eax
  1651.   10116c:   89 65 90                mov    %esp,-0x70(%ebp)
  1652.   10116f:   83 e0 f0                and    $0xfffffff0,%eax
  1653.   101172:   29 c4                   sub    %eax,%esp
  1654.   101174:   89 65 8c                mov    %esp,-0x74(%ebp)
  1655.   101177:   89 e0                   mov    %esp,%eax
  1656.   101179:   8d 0c 14                lea    (%esp,%edx,1),%ecx
  1657.   10117c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1658.   101180:   c6 00 20                movb   $0x20,(%eax)
  1659.   101183:   83 c0 01                add    $0x1,%eax
  1660.   101186:   39 c8                   cmp    %ecx,%eax
  1661.   101188:   75 f6                   jne    101180 <_vprintf+0x370>
  1662.   10118a:   83 e7 02                and    $0x2,%edi
  1663.   10118d:   0f 85 e4 00 00 00       jne    101277 <_vprintf+0x467>
  1664.   101193:   8b 7d 94                mov    -0x6c(%ebp),%edi
  1665.   101196:   83 ec 04                sub    $0x4,%esp
  1666.   101199:   57                      push   %edi
  1667.   10119a:   52                      push   %edx
  1668.   10119b:   ff 75 8c                push   -0x74(%ebp)
  1669.   10119e:   e8 3d 10 00 00          call   1021e0 <terminal_write_color>
  1670.   1011a3:   83 c4 0c                add    $0xc,%esp
  1671.   1011a6:   8d 45 a3                lea    -0x5d(%ebp),%eax
  1672.   1011a9:   57                      push   %edi
  1673.   1011aa:   6a 01                   push   $0x1
  1674.   1011ac:   50                      push   %eax
  1675.   1011ad:   e8 2e 10 00 00          call   1021e0 <terminal_write_color>
  1676.   1011b2:   83 c4 10                add    $0x10,%esp
  1677.   1011b5:   8b 65 90                mov    -0x70(%ebp),%esp
  1678.   1011b8:   8d 53 01                lea    0x1(%ebx),%edx
  1679.   1011bb:   89 75 90                mov    %esi,-0x70(%ebp)
  1680.   1011be:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1681.   1011c2:   89 d6                   mov    %edx,%esi
  1682.   1011c4:   e9 84 fc ff ff          jmp    100e4d <_vprintf+0x3d>
  1683.   1011c9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1684.   1011d0:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1685.   1011d4:   83 cf 40                or     $0x40,%edi
  1686.   1011d7:   83 c3 01                add    $0x1,%ebx
  1687.   1011da:   e9 1d fd ff ff          jmp    100efc <_vprintf+0xec>
  1688.   1011df:   90                      nop
  1689.   1011e0:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1690.   1011e4:   81 cf 80 00 00 00       or     $0x80,%edi
  1691.   1011ea:   83 c3 01                add    $0x1,%ebx
  1692.   1011ed:   e9 0a fd ff ff          jmp    100efc <_vprintf+0xec>
  1693.   1011f2:   ba 10 00 00 00          mov    $0x10,%edx
  1694.   1011f7:   3c 78                   cmp    $0x78,%al
  1695.   1011f9:   0f 84 b7 fe ff ff       je     1010b6 <_vprintf+0x2a6>
  1696.   1011ff:   83 e7 ef                and    $0xffffffef,%edi
  1697.   101202:   ba 0a 00 00 00          mov    $0xa,%edx
  1698.   101207:   e9 aa fe ff ff          jmp    1010b6 <_vprintf+0x2a6>
  1699.   10120c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1700.   101210:   8b 45 90                mov    -0x70(%ebp),%eax
  1701.   101213:   83 ec 04                sub    $0x4,%esp
  1702.   101216:   81 cf 01 04 00 00       or     $0x401,%edi
  1703.   10121c:   31 c9                   xor    %ecx,%ecx
  1704.   10121e:   57                      push   %edi
  1705.   10121f:   6a 08                   push   $0x8
  1706.   101221:   8b 10                   mov    (%eax),%edx
  1707.   101223:   8d 70 04                lea    0x4(%eax),%esi
  1708.   101226:   6a 10                   push   $0x10
  1709.   101228:   8d 45 a4                lea    -0x5c(%ebp),%eax
  1710.   10122b:   e8 90 f5 ff ff          call   1007c0 <_itos>
  1711.   101230:   e9 f6 fe ff ff          jmp    10112b <_vprintf+0x31b>
  1712.   101235:   8b 45 90                mov    -0x70(%ebp),%eax
  1713.   101238:   83 ec 0c                sub    $0xc,%esp
  1714.   10123b:   8d 70 04                lea    0x4(%eax),%esi
  1715.   10123e:   89 75 90                mov    %esi,-0x70(%ebp)
  1716.   101241:   8b 30                   mov    (%eax),%esi
  1717.   101243:   56                      push   %esi
  1718.   101244:   e8 27 0a 00 00          call   101c70 <strlen>
  1719.   101249:   8b 4d 8c                mov    -0x74(%ebp),%ecx
  1720.   10124c:   83 c4 10                add    $0x10,%esp
  1721.   10124f:   89 c2                   mov    %eax,%edx
  1722.   101251:   39 c1                   cmp    %eax,%ecx
  1723.   101253:   0f 87 d4 00 00 00       ja     10132d <_vprintf+0x51d>
  1724.   101259:   83 ec 04                sub    $0x4,%esp
  1725.   10125c:   ff 75 94                push   -0x6c(%ebp)
  1726.   10125f:   50                      push   %eax
  1727.   101260:   56                      push   %esi
  1728.   101261:   e8 7a 0f 00 00          call   1021e0 <terminal_write_color>
  1729.   101266:   83 c4 10                add    $0x10,%esp
  1730.   101269:   8d 53 01                lea    0x1(%ebx),%edx
  1731.   10126c:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1732.   101270:   89 d6                   mov    %edx,%esi
  1733.   101272:   e9 d6 fb ff ff          jmp    100e4d <_vprintf+0x3d>
  1734.   101277:   8b 7d 94                mov    -0x6c(%ebp),%edi
  1735.   10127a:   83 ec 04                sub    $0x4,%esp
  1736.   10127d:   8d 45 a3                lea    -0x5d(%ebp),%eax
  1737.   101280:   89 55 88                mov    %edx,-0x78(%ebp)
  1738.   101283:   57                      push   %edi
  1739.   101284:   6a 01                   push   $0x1
  1740.   101286:   50                      push   %eax
  1741.   101287:   e8 54 0f 00 00          call   1021e0 <terminal_write_color>
  1742.   10128c:   8b 55 88                mov    -0x78(%ebp),%edx
  1743.   10128f:   83 c4 0c                add    $0xc,%esp
  1744.   101292:   57                      push   %edi
  1745.   101293:   52                      push   %edx
  1746.   101294:   ff 75 8c                push   -0x74(%ebp)
  1747.   101297:   e8 44 0f 00 00          call   1021e0 <terminal_write_color>
  1748.   10129c:   83 c4 10                add    $0x10,%esp
  1749.   10129f:   e9 11 ff ff ff          jmp    1011b5 <_vprintf+0x3a5>
  1750.   1012a4:   81 cf 00 04 00 00       or     $0x400,%edi
  1751.   1012aa:   8b 45 90                mov    -0x70(%ebp),%eax
  1752.   1012ad:   31 c9                   xor    %ecx,%ecx
  1753.   1012af:   8b 00                   mov    (%eax),%eax
  1754.   1012b1:   e9 2f fe ff ff          jmp    1010e5 <_vprintf+0x2d5>
  1755.   1012b6:   83 e7 ef                and    $0xffffffef,%edi
  1756.   1012b9:   3c 69                   cmp    $0x69,%al
  1757.   1012bb:   74 08                   je     1012c5 <_vprintf+0x4b5>
  1758.   1012bd:   3c 64                   cmp    $0x64,%al
  1759.   1012bf:   0f 85 3d ff ff ff       jne    101202 <_vprintf+0x3f2>
  1760.   1012c5:   ba 0a 00 00 00          mov    $0xa,%edx
  1761.   1012ca:   e9 ea fd ff ff          jmp    1010b9 <_vprintf+0x2a9>
  1762.   1012cf:   83 ec 04                sub    $0x4,%esp
  1763.   1012d2:   8d 45 a3                lea    -0x5d(%ebp),%eax
  1764.   1012d5:   ff 75 94                push   -0x6c(%ebp)
  1765.   1012d8:   6a 01                   push   $0x1
  1766.   1012da:   50                      push   %eax
  1767.   1012db:   e8 00 0f 00 00          call   1021e0 <terminal_write_color>
  1768.   1012e0:   83 c4 10                add    $0x10,%esp
  1769.   1012e3:   e9 d0 fe ff ff          jmp    1011b8 <_vprintf+0x3a8>
  1770.   1012e8:   89 75 88                mov    %esi,-0x78(%ebp)
  1771.   1012eb:   89 d3                   mov    %edx,%ebx
  1772.   1012ed:   89 ce                   mov    %ecx,%esi
  1773.   1012ef:   eb 1c                   jmp    10130d <_vprintf+0x4fd>
  1774.   1012f1:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1775.   1012f8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1776.   1012ff:   90                      nop
  1777.   101300:   0f be 03                movsbl (%ebx),%eax
  1778.   101303:   8d 14 b6                lea    (%esi,%esi,4),%edx
  1779.   101306:   83 c3 01                add    $0x1,%ebx
  1780.   101309:   8d 74 50 d0             lea    -0x30(%eax,%edx,2),%esi
  1781.   10130d:   0f be 03                movsbl (%ebx),%eax
  1782.   101310:   83 ec 0c                sub    $0xc,%esp
  1783.   101313:   50                      push   %eax
  1784.   101314:   e8 17 0b 00 00          call   101e30 <isdigit>
  1785.   101319:   83 c4 10                add    $0x10,%esp
  1786.   10131c:   84 c0                   test   %al,%al
  1787.   10131e:   75 e0                   jne    101300 <_vprintf+0x4f0>
  1788.   101320:   89 f1                   mov    %esi,%ecx
  1789.   101322:   0f b6 03                movzbl (%ebx),%eax
  1790.   101325:   8b 75 88                mov    -0x78(%ebp),%esi
  1791.   101328:   e9 ab fb ff ff          jmp    100ed8 <_vprintf+0xc8>
  1792.   10132d:   29 c1                   sub    %eax,%ecx
  1793.   10132f:   89 65 8c                mov    %esp,-0x74(%ebp)
  1794.   101332:   8d 41 0f                lea    0xf(%ecx),%eax
  1795.   101335:   89 4d 88                mov    %ecx,-0x78(%ebp)
  1796.   101338:   83 e0 f0                and    $0xfffffff0,%eax
  1797.   10133b:   29 c4                   sub    %eax,%esp
  1798.   10133d:   89 65 84                mov    %esp,-0x7c(%ebp)
  1799.   101340:   89 e0                   mov    %esp,%eax
  1800.   101342:   01 e1                   add    %esp,%ecx
  1801.   101344:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1802.   10134b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1803.   10134f:   90                      nop
  1804.   101350:   c6 00 20                movb   $0x20,(%eax)
  1805.   101353:   83 c0 01                add    $0x1,%eax
  1806.   101356:   39 c8                   cmp    %ecx,%eax
  1807.   101358:   75 f6                   jne    101350 <_vprintf+0x540>
  1808.   10135a:   8b 7d 94                mov    -0x6c(%ebp),%edi
  1809.   10135d:   83 ec 04                sub    $0x4,%esp
  1810.   101360:   57                      push   %edi
  1811.   101361:   52                      push   %edx
  1812.   101362:   56                      push   %esi
  1813.   101363:   e8 78 0e 00 00          call   1021e0 <terminal_write_color>
  1814.   101368:   83 c4 0c                add    $0xc,%esp
  1815.   10136b:   57                      push   %edi
  1816.   10136c:   ff 75 88                push   -0x78(%ebp)
  1817.   10136f:   ff 75 84                push   -0x7c(%ebp)
  1818.   101372:   e8 69 0e 00 00          call   1021e0 <terminal_write_color>
  1819.   101377:   83 c4 10                add    $0x10,%esp
  1820.   10137a:   8b 65 8c                mov    -0x74(%ebp),%esp
  1821.   10137d:   e9 e7 fe ff ff          jmp    101269 <_vprintf+0x459>
  1822.   101382:   ba 10 00 00 00          mov    $0x10,%edx
  1823.   101387:   e9 2a fd ff ff          jmp    1010b6 <_vprintf+0x2a6>
  1824.   10138c:   e8 0f f2 ff ff          call   1005a0 <__stack_chk_fail>
  1825.   101391:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1826.   101398:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1827.   10139f:   90                      nop
  1828.  
  1829. 001013a0 <printf>:
  1830.   1013a0:   55                      push   %ebp
  1831.   1013a1:   89 e5                   mov    %esp,%ebp
  1832.   1013a3:   83 ec 08                sub    $0x8,%esp
  1833.   1013a6:   a1 20 42 10 00          mov    0x104220,%eax
  1834.   1013ab:   8b 55 08                mov    0x8(%ebp),%edx
  1835.   1013ae:   8d 4d 0c                lea    0xc(%ebp),%ecx
  1836.   1013b1:   e8 5a fa ff ff          call   100e10 <_vprintf>
  1837.   1013b6:   c9                      leave  
  1838.   1013b7:   c3                      ret    
  1839.   1013b8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1840.   1013bf:   90                      nop
  1841.  
  1842. 001013c0 <cprintf>:
  1843.   1013c0:   55                      push   %ebp
  1844.   1013c1:   89 e5                   mov    %esp,%ebp
  1845.   1013c3:   83 ec 08                sub    $0x8,%esp
  1846.   1013c6:   8b 55 0c                mov    0xc(%ebp),%edx
  1847.   1013c9:   8b 45 08                mov    0x8(%ebp),%eax
  1848.   1013cc:   8d 4d 10                lea    0x10(%ebp),%ecx
  1849.   1013cf:   e8 3c fa ff ff          call   100e10 <_vprintf>
  1850.   1013d4:   c9                      leave  
  1851.   1013d5:   c3                      ret    
  1852.   1013d6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1853.   1013dd:   8d 76 00                lea    0x0(%esi),%esi
  1854.  
  1855. 001013e0 <snprintf>:
  1856.   1013e0:   55                      push   %ebp
  1857.   1013e1:   89 e5                   mov    %esp,%ebp
  1858.   1013e3:   57                      push   %edi
  1859.   1013e4:   56                      push   %esi
  1860.   1013e5:   53                      push   %ebx
  1861.   1013e6:   83 ec 7c                sub    $0x7c,%esp
  1862.   1013e9:   8b 45 08                mov    0x8(%ebp),%eax
  1863.   1013ec:   8b 55 10                mov    0x10(%ebp),%edx
  1864.   1013ef:   89 45 90                mov    %eax,-0x70(%ebp)
  1865.   1013f2:   a1 00 50 10 00          mov    0x105000,%eax
  1866.   1013f7:   89 45 e4                mov    %eax,-0x1c(%ebp)
  1867.   1013fa:   31 c0                   xor    %eax,%eax
  1868.   1013fc:   8d 45 14                lea    0x14(%ebp),%eax
  1869.   1013ff:   89 45 8c                mov    %eax,-0x74(%ebp)
  1870.   101402:   0f b6 02                movzbl (%edx),%eax
  1871.   101405:   84 c0                   test   %al,%al
  1872.   101407:   0f 84 9e 04 00 00       je     1018ab <snprintf+0x4cb>
  1873.   10140d:   89 55 94                mov    %edx,-0x6c(%ebp)
  1874.   101410:   eb 23                   jmp    101435 <snprintf+0x55>
  1875.   101412:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1876.   101419:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1877.   101420:   8b 75 94                mov    -0x6c(%ebp),%esi
  1878.   101423:   8d 7e 01                lea    0x1(%esi),%edi
  1879.   101426:   0f b6 46 01             movzbl 0x1(%esi),%eax
  1880.   10142a:   89 7d 94                mov    %edi,-0x6c(%ebp)
  1881.   10142d:   84 c0                   test   %al,%al
  1882.   10142f:   0f 84 48 06 00 00       je     101a7d <snprintf+0x69d>
  1883.   101435:   3c 25                   cmp    $0x25,%al
  1884.   101437:   75 e7                   jne    101420 <snprintf+0x40>
  1885.   101439:   3b 55 94                cmp    -0x6c(%ebp),%edx
  1886.   10143c:   0f 82 6e 01 00 00       jb     1015b0 <snprintf+0x1d0>
  1887.   101442:   8b 45 94                mov    -0x6c(%ebp),%eax
  1888.   101445:   31 ff                   xor    %edi,%edi
  1889.   101447:   8d 50 02                lea    0x2(%eax),%edx
  1890.   10144a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  1891.   101450:   0f be 4a ff             movsbl -0x1(%edx),%ecx
  1892.   101454:   8d 5a ff                lea    -0x1(%edx),%ebx
  1893.   101457:   8d 41 e0                lea    -0x20(%ecx),%eax
  1894.   10145a:   3c 10                   cmp    $0x10,%al
  1895.   10145c:   77 12                   ja     101470 <snprintf+0x90>
  1896.   10145e:   0f b6 c0                movzbl %al,%eax
  1897.   101461:   ff 24 85 58 41 10 00    jmp    *0x104158(,%eax,4)
  1898.   101468:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1899.   10146f:   90                      nop
  1900.   101470:   83 ec 0c                sub    $0xc,%esp
  1901.   101473:   31 f6                   xor    %esi,%esi
  1902.   101475:   51                      push   %ecx
  1903.   101476:   e8 b5 09 00 00          call   101e30 <isdigit>
  1904.   10147b:   83 c4 10                add    $0x10,%esp
  1905.   10147e:   84 c0                   test   %al,%al
  1906.   101480:   0f 85 7a 01 00 00       jne    101600 <snprintf+0x220>
  1907.   101486:   0f b6 03                movzbl (%ebx),%eax
  1908.   101489:   31 c9                   xor    %ecx,%ecx
  1909.   10148b:   3c 2e                   cmp    $0x2e,%al
  1910.   10148d:   0f 84 aa 01 00 00       je     10163d <snprintf+0x25d>
  1911.   101493:   3c 72                   cmp    $0x72,%al
  1912.   101495:   0f 84 e5 01 00 00       je     101680 <snprintf+0x2a0>
  1913.   10149b:   0f 8f af 00 00 00       jg     101550 <snprintf+0x170>
  1914.   1014a1:   3c 68                   cmp    $0x68,%al
  1915.   1014a3:   0f 84 a7 03 00 00       je     101850 <snprintf+0x470>
  1916.   1014a9:   3c 6c                   cmp    $0x6c,%al
  1917.   1014ab:   75 0a                   jne    1014b7 <snprintf+0xd7>
  1918.   1014ad:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  1919.   1014b1:   83 cf 20                or     $0x20,%edi
  1920.   1014b4:   83 c3 01                add    $0x1,%ebx
  1921.   1014b7:   3c 66                   cmp    $0x66,%al
  1922.   1014b9:   0f 8f 99 00 00 00       jg     101558 <snprintf+0x178>
  1923.   1014bf:   3c 45                   cmp    $0x45,%al
  1924.   1014c1:   0f 8f c9 00 00 00       jg     101590 <snprintf+0x1b0>
  1925.   1014c7:   3c 25                   cmp    $0x25,%al
  1926.   1014c9:   0f 85 b6 00 00 00       jne    101585 <snprintf+0x1a5>
  1927.   1014cf:   8b 7d 90                mov    -0x70(%ebp),%edi
  1928.   1014d2:   83 ec 04                sub    $0x4,%esp
  1929.   1014d5:   6a 01                   push   $0x1
  1930.   1014d7:   68 1d 43 10 00          push   $0x10431d
  1931.   1014dc:   57                      push   %edi
  1932.   1014dd:   e8 be 06 00 00          call   101ba0 <memcpy>
  1933.   1014e2:   83 c4 10                add    $0x10,%esp
  1934.   1014e5:   83 6d 0c 01             subl   $0x1,0xc(%ebp)
  1935.   1014e9:   0f 85 31 04 00 00       jne    101920 <snprintf+0x540>
  1936.   1014ef:   c6 47 01 00             movb   $0x0,0x1(%edi)
  1937.   1014f3:   e9 eb 00 00 00          jmp    1015e3 <snprintf+0x203>
  1938.   1014f8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1939.   1014ff:   90                      nop
  1940.   101500:   83 cf 01                or     $0x1,%edi
  1941.   101503:   83 c2 01                add    $0x1,%edx
  1942.   101506:   e9 45 ff ff ff          jmp    101450 <snprintf+0x70>
  1943.   10150b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1944.   10150f:   90                      nop
  1945.   101510:   83 cf 02                or     $0x2,%edi
  1946.   101513:   eb ee                   jmp    101503 <snprintf+0x123>
  1947.   101515:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1948.   10151c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1949.   101520:   83 cf 04                or     $0x4,%edi
  1950.   101523:   eb de                   jmp    101503 <snprintf+0x123>
  1951.   101525:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1952.   10152c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1953.   101530:   83 cf 10                or     $0x10,%edi
  1954.   101533:   eb ce                   jmp    101503 <snprintf+0x123>
  1955.   101535:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1956.   10153c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1957.   101540:   83 cf 08                or     $0x8,%edi
  1958.   101543:   eb be                   jmp    101503 <snprintf+0x123>
  1959.   101545:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1960.   10154c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  1961.   101550:   3c 7a                   cmp    $0x7a,%al
  1962.   101552:   0f 84 55 ff ff ff       je     1014ad <snprintf+0xcd>
  1963.   101558:   8d 48 97                lea    -0x69(%eax),%ecx
  1964.   10155b:   80 f9 0f                cmp    $0xf,%cl
  1965.   10155e:   77 25                   ja     101585 <snprintf+0x1a5>
  1966.   101560:   ba 01 00 00 00          mov    $0x1,%edx
  1967.   101565:   d3 e2                   shl    %cl,%edx
  1968.   101567:   81 e2 41 90 00 00       and    $0x9041,%edx
  1969.   10156d:   0f 85 2d 01 00 00       jne    1016a0 <snprintf+0x2c0>
  1970.   101573:   80 f9 0a                cmp    $0xa,%cl
  1971.   101576:   0f 84 e4 02 00 00       je     101860 <snprintf+0x480>
  1972.   10157c:   80 f9 07                cmp    $0x7,%cl
  1973.   10157f:   0f 84 3b 03 00 00       je     1018c0 <snprintf+0x4e0>
  1974.   101585:   8b 55 94                mov    -0x6c(%ebp),%edx
  1975.   101588:   89 5d 94                mov    %ebx,-0x6c(%ebp)
  1976.   10158b:   e9 9d fe ff ff          jmp    10142d <snprintf+0x4d>
  1977.   101590:   8d 50 ba                lea    -0x46(%eax),%edx
  1978.   101593:   80 fa 20                cmp    $0x20,%dl
  1979.   101596:   77 ed                   ja     101585 <snprintf+0x1a5>
  1980.   101598:   0f b6 d2                movzbl %dl,%edx
  1981.   10159b:   ff 24 95 9c 41 10 00    jmp    *0x10419c(,%edx,4)
  1982.   1015a2:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1983.   1015a9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  1984.   1015b0:   8b 5d 94                mov    -0x6c(%ebp),%ebx
  1985.   1015b3:   8b 7d 90                mov    -0x70(%ebp),%edi
  1986.   1015b6:   29 d3                   sub    %edx,%ebx
  1987.   1015b8:   3b 5d 0c                cmp    0xc(%ebp),%ebx
  1988.   1015bb:   0f 47 5d 0c             cmova  0xc(%ebp),%ebx
  1989.   1015bf:   83 ec 04                sub    $0x4,%esp
  1990.   1015c2:   53                      push   %ebx
  1991.   1015c3:   52                      push   %edx
  1992.   1015c4:   57                      push   %edi
  1993.   1015c5:   e8 d6 05 00 00          call   101ba0 <memcpy>
  1994.   1015ca:   89 f8                   mov    %edi,%eax
  1995.   1015cc:   83 c4 10                add    $0x10,%esp
  1996.   1015cf:   01 d8                   add    %ebx,%eax
  1997.   1015d1:   29 5d 0c                sub    %ebx,0xc(%ebp)
  1998.   1015d4:   89 45 90                mov    %eax,-0x70(%ebp)
  1999.   1015d7:   0f 85 65 fe ff ff       jne    101442 <snprintf+0x62>
  2000.   1015dd:   8d 76 00                lea    0x0(%esi),%esi
  2001.   1015e0:   c6 00 00                movb   $0x0,(%eax)
  2002.   1015e3:   8b 45 e4                mov    -0x1c(%ebp),%eax
  2003.   1015e6:   2b 05 00 50 10 00       sub    0x105000,%eax
  2004.   1015ec:   0f 85 5c 05 00 00       jne    101b4e <snprintf+0x76e>
  2005.   1015f2:   8d 65 f4                lea    -0xc(%ebp),%esp
  2006.   1015f5:   5b                      pop    %ebx
  2007.   1015f6:   5e                      pop    %esi
  2008.   1015f7:   5f                      pop    %edi
  2009.   1015f8:   5d                      pop    %ebp
  2010.   1015f9:   c3                      ret    
  2011.   1015fa:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  2012.   101600:   81 cf 00 01 00 00       or     $0x100,%edi
  2013.   101606:   31 f6                   xor    %esi,%esi
  2014.   101608:   eb 13                   jmp    10161d <snprintf+0x23d>
  2015.   10160a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  2016.   101610:   0f be 03                movsbl (%ebx),%eax
  2017.   101613:   8d 14 b6                lea    (%esi,%esi,4),%edx
  2018.   101616:   83 c3 01                add    $0x1,%ebx
  2019.   101619:   8d 74 50 d0             lea    -0x30(%eax,%edx,2),%esi
  2020.   10161d:   0f be 03                movsbl (%ebx),%eax
  2021.   101620:   83 ec 0c                sub    $0xc,%esp
  2022.   101623:   50                      push   %eax
  2023.   101624:   e8 07 08 00 00          call   101e30 <isdigit>
  2024.   101629:   83 c4 10                add    $0x10,%esp
  2025.   10162c:   84 c0                   test   %al,%al
  2026.   10162e:   75 e0                   jne    101610 <snprintf+0x230>
  2027.   101630:   0f b6 03                movzbl (%ebx),%eax
  2028.   101633:   31 c9                   xor    %ecx,%ecx
  2029.   101635:   3c 2e                   cmp    $0x2e,%al
  2030.   101637:   0f 85 56 fe ff ff       jne    101493 <snprintf+0xb3>
  2031.   10163d:   0f be 43 01             movsbl 0x1(%ebx),%eax
  2032.   101641:   83 ec 0c                sub    $0xc,%esp
  2033.   101644:   8d 53 01                lea    0x1(%ebx),%edx
  2034.   101647:   89 4d 84                mov    %ecx,-0x7c(%ebp)
  2035.   10164a:   89 55 88                mov    %edx,-0x78(%ebp)
  2036.   10164d:   81 cf 00 02 00 00       or     $0x200,%edi
  2037.   101653:   50                      push   %eax
  2038.   101654:   e8 d7 07 00 00          call   101e30 <isdigit>
  2039.   101659:   83 c4 10                add    $0x10,%esp
  2040.   10165c:   8b 55 88                mov    -0x78(%ebp),%edx
  2041.   10165f:   8b 4d 84                mov    -0x7c(%ebp),%ecx
  2042.   101662:   84 c0                   test   %al,%al
  2043.   101664:   0f 85 d6 03 00 00       jne    101a40 <snprintf+0x660>
  2044.   10166a:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2045.   10166e:   89 d3                   mov    %edx,%ebx
  2046.   101670:   3c 72                   cmp    $0x72,%al
  2047.   101672:   0f 85 23 fe ff ff       jne    10149b <snprintf+0xbb>
  2048.   101678:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2049.   10167f:   90                      nop
  2050.   101680:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2051.   101684:   81 cf 80 00 00 00       or     $0x80,%edi
  2052.   10168a:   83 c3 01                add    $0x1,%ebx
  2053.   10168d:   e9 25 fe ff ff          jmp    1014b7 <snprintf+0xd7>
  2054.   101692:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2055.   101699:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2056.   1016a0:   ba 08 00 00 00          mov    $0x8,%edx
  2057.   1016a5:   3c 6f                   cmp    $0x6f,%al
  2058.   1016a7:   74 24                   je     1016cd <snprintf+0x2ed>
  2059.   1016a9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2060.   1016b0:   3c 6f                   cmp    $0x6f,%al
  2061.   1016b2:   0f 8f db 00 00 00       jg     101793 <snprintf+0x3b3>
  2062.   1016b8:   3c 58                   cmp    $0x58,%al
  2063.   1016ba:   0f 84 21 04 00 00       je     101ae1 <snprintf+0x701>
  2064.   1016c0:   3c 62                   cmp    $0x62,%al
  2065.   1016c2:   0f 85 58 03 00 00       jne    101a20 <snprintf+0x640>
  2066.   1016c8:   ba 02 00 00 00          mov    $0x2,%edx
  2067.   1016cd:   83 e7 f3                and    $0xfffffff3,%edi
  2068.   1016d0:   3c 58                   cmp    $0x58,%al
  2069.   1016d2:   0f 84 36 03 00 00       je     101a0e <snprintf+0x62e>
  2070.   1016d8:   3c 69                   cmp    $0x69,%al
  2071.   1016da:   74 08                   je     1016e4 <snprintf+0x304>
  2072.   1016dc:   3c 64                   cmp    $0x64,%al
  2073.   1016de:   0f 85 30 03 00 00       jne    101a14 <snprintf+0x634>
  2074.   1016e4:   8b 45 8c                mov    -0x74(%ebp),%eax
  2075.   1016e7:   31 c9                   xor    %ecx,%ecx
  2076.   1016e9:   8b 00                   mov    (%eax),%eax
  2077.   1016eb:   85 c0                   test   %eax,%eax
  2078.   1016ed:   79 07                   jns    1016f6 <snprintf+0x316>
  2079.   1016ef:   f7 d8                   neg    %eax
  2080.   1016f1:   b9 01 00 00 00          mov    $0x1,%ecx
  2081.   1016f6:   83 ec 04                sub    $0x4,%esp
  2082.   1016f9:   57                      push   %edi
  2083.   1016fa:   56                      push   %esi
  2084.   1016fb:   52                      push   %edx
  2085.   1016fc:   89 c2                   mov    %eax,%edx
  2086.   1016fe:   8d 45 a4                lea    -0x5c(%ebp),%eax
  2087.   101701:   e8 ba f0 ff ff          call   1007c0 <_itos>
  2088.   101706:   3b 45 0c                cmp    0xc(%ebp),%eax
  2089.   101709:   0f 47 45 0c             cmova  0xc(%ebp),%eax
  2090.   10170d:   e9 d2 01 00 00          jmp    1018e4 <snprintf+0x504>
  2091.   101712:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2092.   101719:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2093.   101720:   89 fa                   mov    %edi,%edx
  2094.   101722:   80 ce 04                or     $0x4,%dh
  2095.   101725:   3c 46                   cmp    $0x46,%al
  2096.   101727:   8b 45 8c                mov    -0x74(%ebp),%eax
  2097.   10172a:   0f 44 fa                cmove  %edx,%edi
  2098.   10172d:   dd 00                   fldl   (%eax)
  2099.   10172f:   d9 ee                   fldz  
  2100.   101731:   db f1                   fcomi  %st(1),%st
  2101.   101733:   0f 97 c2                seta   %dl
  2102.   101736:   0f 87 cb 02 00 00       ja     101a07 <snprintf+0x627>
  2103.   10173c:   dd d8                   fstp   %st(0)
  2104.   10173e:   57                      push   %edi
  2105.   10173f:   0f b6 d2                movzbl %dl,%edx
  2106.   101742:   8d 45 a4                lea    -0x5c(%ebp),%eax
  2107.   101745:   51                      push   %ecx
  2108.   101746:   89 f1                   mov    %esi,%ecx
  2109.   101748:   83 ec 08                sub    $0x8,%esp
  2110.   10174b:   dd 1c 24                fstpl  (%esp)
  2111.   10174e:   e8 7d f2 ff ff          call   1009d0 <_ftos>
  2112.   101753:   39 45 0c                cmp    %eax,0xc(%ebp)
  2113.   101756:   0f 46 45 0c             cmovbe 0xc(%ebp),%eax
  2114.   10175a:   83 c4 0c                add    $0xc,%esp
  2115.   10175d:   8b 7d 90                mov    -0x70(%ebp),%edi
  2116.   101760:   50                      push   %eax
  2117.   101761:   89 c6                   mov    %eax,%esi
  2118.   101763:   8d 45 a4                lea    -0x5c(%ebp),%eax
  2119.   101766:   50                      push   %eax
  2120.   101767:   57                      push   %edi
  2121.   101768:   e8 33 04 00 00          call   101ba0 <memcpy>
  2122.   10176d:   89 f8                   mov    %edi,%eax
  2123.   10176f:   83 c4 10                add    $0x10,%esp
  2124.   101772:   01 f0                   add    %esi,%eax
  2125.   101774:   29 75 0c                sub    %esi,0xc(%ebp)
  2126.   101777:   89 45 90                mov    %eax,-0x70(%ebp)
  2127.   10177a:   0f 84 60 fe ff ff       je     1015e0 <snprintf+0x200>
  2128.   101780:   8d 53 01                lea    0x1(%ebx),%edx
  2129.   101783:   83 45 8c 08             addl   $0x8,-0x74(%ebp)
  2130.   101787:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2131.   10178b:   89 55 94                mov    %edx,-0x6c(%ebp)
  2132.   10178e:   e9 9a fc ff ff          jmp    10142d <snprintf+0x4d>
  2133.   101793:   ba 10 00 00 00          mov    $0x10,%edx
  2134.   101798:   3c 78                   cmp    $0x78,%al
  2135.   10179a:   0f 84 2d ff ff ff       je     1016cd <snprintf+0x2ed>
  2136.   1017a0:   83 e7 ef                and    $0xffffffef,%edi
  2137.   1017a3:   ba 0a 00 00 00          mov    $0xa,%edx
  2138.   1017a8:   e9 20 ff ff ff          jmp    1016cd <snprintf+0x2ed>
  2139.   1017ad:   8d 76 00                lea    0x0(%esi),%esi
  2140.   1017b0:   8b 45 8c                mov    -0x74(%ebp),%eax
  2141.   1017b3:   8b 00                   mov    (%eax),%eax
  2142.   1017b5:   88 45 a3                mov    %al,-0x5d(%ebp)
  2143.   1017b8:   83 fe 01                cmp    $0x1,%esi
  2144.   1017bb:   0f 86 7f 01 00 00       jbe    101940 <snprintf+0x560>
  2145.   1017c1:   8d 46 0e                lea    0xe(%esi),%eax
  2146.   1017c4:   89 65 94                mov    %esp,-0x6c(%ebp)
  2147.   1017c7:   83 e0 f0                and    $0xfffffff0,%eax
  2148.   1017ca:   29 c4                   sub    %eax,%esp
  2149.   1017cc:   89 e1                   mov    %esp,%ecx
  2150.   1017ce:   89 e0                   mov    %esp,%eax
  2151.   1017d0:   8d 54 34 ff             lea    -0x1(%esp,%esi,1),%edx
  2152.   1017d4:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2153.   1017db:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2154.   1017df:   90                      nop
  2155.   1017e0:   c6 00 20                movb   $0x20,(%eax)
  2156.   1017e3:   83 c0 01                add    $0x1,%eax
  2157.   1017e6:   39 c2                   cmp    %eax,%edx
  2158.   1017e8:   75 f6                   jne    1017e0 <snprintf+0x400>
  2159.   1017ea:   3b 75 0c                cmp    0xc(%ebp),%esi
  2160.   1017ed:   89 f0                   mov    %esi,%eax
  2161.   1017ef:   0f 47 45 0c             cmova  0xc(%ebp),%eax
  2162.   1017f3:   8b 55 90                mov    -0x70(%ebp),%edx
  2163.   1017f6:   29 45 0c                sub    %eax,0xc(%ebp)
  2164.   1017f9:   83 e7 02                and    $0x2,%edi
  2165.   1017fc:   8d 70 ff                lea    -0x1(%eax),%esi
  2166.   1017ff:   89 75 88                mov    %esi,-0x78(%ebp)
  2167.   101802:   8d 34 02                lea    (%edx,%eax,1),%esi
  2168.   101805:   0f 84 af 02 00 00       je     101aba <snprintf+0x6da>
  2169.   10180b:   83 ec 04                sub    $0x4,%esp
  2170.   10180e:   8d 45 a3                lea    -0x5d(%ebp),%eax
  2171.   101811:   89 4d 90                mov    %ecx,-0x70(%ebp)
  2172.   101814:   89 d7                   mov    %edx,%edi
  2173.   101816:   6a 01                   push   $0x1
  2174.   101818:   50                      push   %eax
  2175.   101819:   52                      push   %edx
  2176.   10181a:   e8 81 03 00 00          call   101ba0 <memcpy>
  2177.   10181f:   8b 4d 90                mov    -0x70(%ebp),%ecx
  2178.   101822:   83 c4 0c                add    $0xc,%esp
  2179.   101825:   ff 75 88                push   -0x78(%ebp)
  2180.   101828:   51                      push   %ecx
  2181.   101829:   57                      push   %edi
  2182.   10182a:   e8 71 03 00 00          call   101ba0 <memcpy>
  2183.   10182f:   83 c4 10                add    $0x10,%esp
  2184.   101832:   8b 55 0c                mov    0xc(%ebp),%edx
  2185.   101835:   8b 65 94                mov    -0x6c(%ebp),%esp
  2186.   101838:   85 d2                   test   %edx,%edx
  2187.   10183a:   0f 85 2b 01 00 00       jne    10196b <snprintf+0x58b>
  2188.   101840:   c6 06 00                movb   $0x0,(%esi)
  2189.   101843:   e9 9b fd ff ff          jmp    1015e3 <snprintf+0x203>
  2190.   101848:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2191.   10184f:   90                      nop
  2192.   101850:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2193.   101854:   83 cf 40                or     $0x40,%edi
  2194.   101857:   83 c3 01                add    $0x1,%ebx
  2195.   10185a:   e9 58 fc ff ff          jmp    1014b7 <snprintf+0xd7>
  2196.   10185f:   90                      nop
  2197.   101860:   8b 45 8c                mov    -0x74(%ebp),%eax
  2198.   101863:   83 ec 0c                sub    $0xc,%esp
  2199.   101866:   8b 00                   mov    (%eax),%eax
  2200.   101868:   89 45 94                mov    %eax,-0x6c(%ebp)
  2201.   10186b:   50                      push   %eax
  2202.   10186c:   e8 ff 03 00 00          call   101c70 <strlen>
  2203.   101871:   83 c4 10                add    $0x10,%esp
  2204.   101874:   89 c1                   mov    %eax,%ecx
  2205.   101876:   39 c6                   cmp    %eax,%esi
  2206.   101878:   0f 87 12 01 00 00       ja     101990 <snprintf+0x5b0>
  2207.   10187e:   39 45 0c                cmp    %eax,0xc(%ebp)
  2208.   101881:   8b 7d 90                mov    -0x70(%ebp),%edi
  2209.   101884:   0f 46 4d 0c             cmovbe 0xc(%ebp),%ecx
  2210.   101888:   83 ec 04                sub    $0x4,%esp
  2211.   10188b:   51                      push   %ecx
  2212.   10188c:   89 ce                   mov    %ecx,%esi
  2213.   10188e:   ff 75 94                push   -0x6c(%ebp)
  2214.   101891:   57                      push   %edi
  2215.   101892:   e8 09 03 00 00          call   101ba0 <memcpy>
  2216.   101897:   89 f8                   mov    %edi,%eax
  2217.   101899:   29 75 0c                sub    %esi,0xc(%ebp)
  2218.   10189c:   83 c4 10                add    $0x10,%esp
  2219.   10189f:   01 f0                   add    %esi,%eax
  2220.   1018a1:   89 45 90                mov    %eax,-0x70(%ebp)
  2221.   1018a4:   8b 45 0c                mov    0xc(%ebp),%eax
  2222.   1018a7:   85 c0                   test   %eax,%eax
  2223.   1018a9:   75 5f                   jne    10190a <snprintf+0x52a>
  2224.   1018ab:   8b 45 90                mov    -0x70(%ebp),%eax
  2225.   1018ae:   e9 2d fd ff ff          jmp    1015e0 <snprintf+0x200>
  2226.   1018b3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2227.   1018ba:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  2228.   1018c0:   83 ec 04                sub    $0x4,%esp
  2229.   1018c3:   8b 45 8c                mov    -0x74(%ebp),%eax
  2230.   1018c6:   81 cf 01 04 00 00       or     $0x401,%edi
  2231.   1018cc:   31 c9                   xor    %ecx,%ecx
  2232.   1018ce:   57                      push   %edi
  2233.   1018cf:   6a 08                   push   $0x8
  2234.   1018d1:   8b 10                   mov    (%eax),%edx
  2235.   1018d3:   8d 45 a4                lea    -0x5c(%ebp),%eax
  2236.   1018d6:   6a 10                   push   $0x10
  2237.   1018d8:   e8 e3 ee ff ff          call   1007c0 <_itos>
  2238.   1018dd:   39 45 0c                cmp    %eax,0xc(%ebp)
  2239.   1018e0:   0f 46 45 0c             cmovbe 0xc(%ebp),%eax
  2240.   1018e4:   83 c4 0c                add    $0xc,%esp
  2241.   1018e7:   8b 7d 90                mov    -0x70(%ebp),%edi
  2242.   1018ea:   89 c6                   mov    %eax,%esi
  2243.   1018ec:   50                      push   %eax
  2244.   1018ed:   8d 45 a4                lea    -0x5c(%ebp),%eax
  2245.   1018f0:   50                      push   %eax
  2246.   1018f1:   57                      push   %edi
  2247.   1018f2:   e8 a9 02 00 00          call   101ba0 <memcpy>
  2248.   1018f7:   89 f8                   mov    %edi,%eax
  2249.   1018f9:   83 c4 10                add    $0x10,%esp
  2250.   1018fc:   01 f0                   add    %esi,%eax
  2251.   1018fe:   29 75 0c                sub    %esi,0xc(%ebp)
  2252.   101901:   89 45 90                mov    %eax,-0x70(%ebp)
  2253.   101904:   0f 84 d6 fc ff ff       je     1015e0 <snprintf+0x200>
  2254.   10190a:   8d 53 01                lea    0x1(%ebx),%edx
  2255.   10190d:   83 45 8c 04             addl   $0x4,-0x74(%ebp)
  2256.   101911:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2257.   101915:   89 55 94                mov    %edx,-0x6c(%ebp)
  2258.   101918:   e9 10 fb ff ff          jmp    10142d <snprintf+0x4d>
  2259.   10191d:   8d 76 00                lea    0x0(%esi),%esi
  2260.   101920:   8d 53 01                lea    0x1(%ebx),%edx
  2261.   101923:   83 45 90 01             addl   $0x1,-0x70(%ebp)
  2262.   101927:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2263.   10192b:   89 55 94                mov    %edx,-0x6c(%ebp)
  2264.   10192e:   e9 fa fa ff ff          jmp    10142d <snprintf+0x4d>
  2265.   101933:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2266.   10193a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  2267.   101940:   8b 7d 90                mov    -0x70(%ebp),%edi
  2268.   101943:   83 ec 04                sub    $0x4,%esp
  2269.   101946:   8d 45 a3                lea    -0x5d(%ebp),%eax
  2270.   101949:   6a 01                   push   $0x1
  2271.   10194b:   50                      push   %eax
  2272.   10194c:   57                      push   %edi
  2273.   10194d:   e8 4e 02 00 00          call   101ba0 <memcpy>
  2274.   101952:   83 6d 0c 01             subl   $0x1,0xc(%ebp)
  2275.   101956:   89 f8                   mov    %edi,%eax
  2276.   101958:   8b 55 0c                mov    0xc(%ebp),%edx
  2277.   10195b:   83 c0 01                add    $0x1,%eax
  2278.   10195e:   83 c4 10                add    $0x10,%esp
  2279.   101961:   89 c6                   mov    %eax,%esi
  2280.   101963:   85 d2                   test   %edx,%edx
  2281.   101965:   0f 84 d5 fe ff ff       je     101840 <snprintf+0x460>
  2282.   10196b:   8d 53 01                lea    0x1(%ebx),%edx
  2283.   10196e:   83 45 8c 04             addl   $0x4,-0x74(%ebp)
  2284.   101972:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  2285.   101976:   89 55 94                mov    %edx,-0x6c(%ebp)
  2286.   101979:   89 75 90                mov    %esi,-0x70(%ebp)
  2287.   10197c:   e9 ac fa ff ff          jmp    10142d <snprintf+0x4d>
  2288.   101981:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2289.   101988:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2290.   10198f:   90                      nop
  2291.   101990:   89 f2                   mov    %esi,%edx
  2292.   101992:   89 65 88                mov    %esp,-0x78(%ebp)
  2293.   101995:   29 c2                   sub    %eax,%edx
  2294.   101997:   8d 42 0f                lea    0xf(%edx),%eax
  2295.   10199a:   83 e0 f0                and    $0xfffffff0,%eax
  2296.   10199d:   29 c4                   sub    %eax,%esp
  2297.   10199f:   89 65 84                mov    %esp,-0x7c(%ebp)
  2298.   1019a2:   89 e0                   mov    %esp,%eax
  2299.   1019a4:   01 e2                   add    %esp,%edx
  2300.   1019a6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2301.   1019ad:   8d 76 00                lea    0x0(%esi),%esi
  2302.   1019b0:   c6 00 20                movb   $0x20,(%eax)
  2303.   1019b3:   83 c0 01                add    $0x1,%eax
  2304.   1019b6:   39 d0                   cmp    %edx,%eax
  2305.   1019b8:   75 f6                   jne    1019b0 <snprintf+0x5d0>
  2306.   1019ba:   3b 75 0c                cmp    0xc(%ebp),%esi
  2307.   1019bd:   89 ca                   mov    %ecx,%edx
  2308.   1019bf:   0f 47 75 0c             cmova  0xc(%ebp),%esi
  2309.   1019c3:   39 4d 0c                cmp    %ecx,0xc(%ebp)
  2310.   1019c6:   0f 46 55 0c             cmovbe 0xc(%ebp),%edx
  2311.   1019ca:   83 e7 02                and    $0x2,%edi
  2312.   1019cd:   0f 84 18 01 00 00       je     101aeb <snprintf+0x70b>
  2313.   1019d3:   39 4d 0c                cmp    %ecx,0xc(%ebp)
  2314.   1019d6:   0f 87 3b 01 00 00       ja     101b17 <snprintf+0x737>
  2315.   1019dc:   8b 7d 90                mov    -0x70(%ebp),%edi
  2316.   1019df:   83 ec 04                sub    $0x4,%esp
  2317.   1019e2:   52                      push   %edx
  2318.   1019e3:   89 55 84                mov    %edx,-0x7c(%ebp)
  2319.   1019e6:   ff 75 94                push   -0x6c(%ebp)
  2320.   1019e9:   57                      push   %edi
  2321.   1019ea:   e8 b1 01 00 00          call   101ba0 <memcpy>
  2322.   1019ef:   8b 55 84                mov    -0x7c(%ebp),%edx
  2323.   1019f2:   89 f8                   mov    %edi,%eax
  2324.   1019f4:   29 55 0c                sub    %edx,0xc(%ebp)
  2325.   1019f7:   83 c4 10                add    $0x10,%esp
  2326.   1019fa:   01 d0                   add    %edx,%eax
  2327.   1019fc:   89 45 90                mov    %eax,-0x70(%ebp)
  2328.   1019ff:   8b 65 88                mov    -0x78(%ebp),%esp
  2329.   101a02:   e9 9d fe ff ff          jmp    1018a4 <snprintf+0x4c4>
  2330.   101a07:   de e1                   fsubp  %st,%st(1)
  2331.   101a09:   e9 30 fd ff ff          jmp    10173e <snprintf+0x35e>
  2332.   101a0e:   81 cf 00 04 00 00       or     $0x400,%edi
  2333.   101a14:   8b 45 8c                mov    -0x74(%ebp),%eax
  2334.   101a17:   31 c9                   xor    %ecx,%ecx
  2335.   101a19:   8b 00                   mov    (%eax),%eax
  2336.   101a1b:   e9 d6 fc ff ff          jmp    1016f6 <snprintf+0x316>
  2337.   101a20:   83 e7 ef                and    $0xffffffef,%edi
  2338.   101a23:   3c 69                   cmp    $0x69,%al
  2339.   101a25:   74 08                   je     101a2f <snprintf+0x64f>
  2340.   101a27:   3c 64                   cmp    $0x64,%al
  2341.   101a29:   0f 85 74 fd ff ff       jne    1017a3 <snprintf+0x3c3>
  2342.   101a2f:   ba 0a 00 00 00          mov    $0xa,%edx
  2343.   101a34:   3c 58                   cmp    $0x58,%al
  2344.   101a36:   0f 85 9c fc ff ff       jne    1016d8 <snprintf+0x2f8>
  2345.   101a3c:   eb d0                   jmp    101a0e <snprintf+0x62e>
  2346.   101a3e:   66 90                   xchg   %ax,%ax
  2347.   101a40:   89 75 88                mov    %esi,-0x78(%ebp)
  2348.   101a43:   89 d3                   mov    %edx,%ebx
  2349.   101a45:   89 ce                   mov    %ecx,%esi
  2350.   101a47:   eb 14                   jmp    101a5d <snprintf+0x67d>
  2351.   101a49:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2352.   101a50:   0f be 03                movsbl (%ebx),%eax
  2353.   101a53:   8d 14 b6                lea    (%esi,%esi,4),%edx
  2354.   101a56:   83 c3 01                add    $0x1,%ebx
  2355.   101a59:   8d 74 50 d0             lea    -0x30(%eax,%edx,2),%esi
  2356.   101a5d:   0f be 03                movsbl (%ebx),%eax
  2357.   101a60:   83 ec 0c                sub    $0xc,%esp
  2358.   101a63:   50                      push   %eax
  2359.   101a64:   e8 c7 03 00 00          call   101e30 <isdigit>
  2360.   101a69:   83 c4 10                add    $0x10,%esp
  2361.   101a6c:   84 c0                   test   %al,%al
  2362.   101a6e:   75 e0                   jne    101a50 <snprintf+0x670>
  2363.   101a70:   89 f1                   mov    %esi,%ecx
  2364.   101a72:   0f b6 03                movzbl (%ebx),%eax
  2365.   101a75:   8b 75 88                mov    -0x78(%ebp),%esi
  2366.   101a78:   e9 16 fa ff ff          jmp    101493 <snprintf+0xb3>
  2367.   101a7d:   3b 55 94                cmp    -0x6c(%ebp),%edx
  2368.   101a80:   0f 83 25 fe ff ff       jae    1018ab <snprintf+0x4cb>
  2369.   101a86:   8b 5d 94                mov    -0x6c(%ebp),%ebx
  2370.   101a89:   8b 7d 90                mov    -0x70(%ebp),%edi
  2371.   101a8c:   29 d3                   sub    %edx,%ebx
  2372.   101a8e:   3b 5d 0c                cmp    0xc(%ebp),%ebx
  2373.   101a91:   89 de                   mov    %ebx,%esi
  2374.   101a93:   0f 47 75 0c             cmova  0xc(%ebp),%esi
  2375.   101a97:   83 ec 04                sub    $0x4,%esp
  2376.   101a9a:   56                      push   %esi
  2377.   101a9b:   52                      push   %edx
  2378.   101a9c:   57                      push   %edi
  2379.   101a9d:   e8 fe 00 00 00          call   101ba0 <memcpy>
  2380.   101aa2:   89 f8                   mov    %edi,%eax
  2381.   101aa4:   83 c4 10                add    $0x10,%esp
  2382.   101aa7:   01 f0                   add    %esi,%eax
  2383.   101aa9:   89 45 90                mov    %eax,-0x70(%ebp)
  2384.   101aac:   3b 5d 0c                cmp    0xc(%ebp),%ebx
  2385.   101aaf:   0f 82 f6 fd ff ff       jb     1018ab <snprintf+0x4cb>
  2386.   101ab5:   e9 26 fb ff ff          jmp    1015e0 <snprintf+0x200>
  2387.   101aba:   8b 7d 90                mov    -0x70(%ebp),%edi
  2388.   101abd:   83 ec 04                sub    $0x4,%esp
  2389.   101ac0:   ff 75 88                push   -0x78(%ebp)
  2390.   101ac3:   51                      push   %ecx
  2391.   101ac4:   57                      push   %edi
  2392.   101ac5:   e8 d6 00 00 00          call   101ba0 <memcpy>
  2393.   101aca:   83 c4 0c                add    $0xc,%esp
  2394.   101acd:   8d 45 a3                lea    -0x5d(%ebp),%eax
  2395.   101ad0:   6a 01                   push   $0x1
  2396.   101ad2:   50                      push   %eax
  2397.   101ad3:   57                      push   %edi
  2398.   101ad4:   e8 c7 00 00 00          call   101ba0 <memcpy>
  2399.   101ad9:   83 c4 10                add    $0x10,%esp
  2400.   101adc:   e9 51 fd ff ff          jmp    101832 <snprintf+0x452>
  2401.   101ae1:   ba 10 00 00 00          mov    $0x10,%edx
  2402.   101ae6:   e9 e2 fb ff ff          jmp    1016cd <snprintf+0x2ed>
  2403.   101aeb:   39 4d 0c                cmp    %ecx,0xc(%ebp)
  2404.   101aee:   0f 86 e8 fe ff ff       jbe    1019dc <snprintf+0x5fc>
  2405.   101af4:   8b 7d 90                mov    -0x70(%ebp),%edi
  2406.   101af7:   89 f0                   mov    %esi,%eax
  2407.   101af9:   83 ec 04                sub    $0x4,%esp
  2408.   101afc:   89 4d 80                mov    %ecx,-0x80(%ebp)
  2409.   101aff:   29 c8                   sub    %ecx,%eax
  2410.   101b01:   50                      push   %eax
  2411.   101b02:   ff 75 84                push   -0x7c(%ebp)
  2412.   101b05:   57                      push   %edi
  2413.   101b06:   e8 95 00 00 00          call   101ba0 <memcpy>
  2414.   101b0b:   8b 4d 80                mov    -0x80(%ebp),%ecx
  2415.   101b0e:   83 c4 0c                add    $0xc,%esp
  2416.   101b11:   51                      push   %ecx
  2417.   101b12:   ff 75 94                push   -0x6c(%ebp)
  2418.   101b15:   eb 21                   jmp    101b38 <snprintf+0x758>
  2419.   101b17:   8b 7d 90                mov    -0x70(%ebp),%edi
  2420.   101b1a:   83 ec 04                sub    $0x4,%esp
  2421.   101b1d:   51                      push   %ecx
  2422.   101b1e:   89 4d 80                mov    %ecx,-0x80(%ebp)
  2423.   101b21:   ff 75 94                push   -0x6c(%ebp)
  2424.   101b24:   57                      push   %edi
  2425.   101b25:   e8 76 00 00 00          call   101ba0 <memcpy>
  2426.   101b2a:   8b 4d 80                mov    -0x80(%ebp),%ecx
  2427.   101b2d:   89 f0                   mov    %esi,%eax
  2428.   101b2f:   83 c4 0c                add    $0xc,%esp
  2429.   101b32:   29 c8                   sub    %ecx,%eax
  2430.   101b34:   50                      push   %eax
  2431.   101b35:   ff 75 84                push   -0x7c(%ebp)
  2432.   101b38:   57                      push   %edi
  2433.   101b39:   01 f7                   add    %esi,%edi
  2434.   101b3b:   e8 60 00 00 00          call   101ba0 <memcpy>
  2435.   101b40:   29 75 0c                sub    %esi,0xc(%ebp)
  2436.   101b43:   83 c4 10                add    $0x10,%esp
  2437.   101b46:   89 7d 90                mov    %edi,-0x70(%ebp)
  2438.   101b49:   e9 b1 fe ff ff          jmp    1019ff <snprintf+0x61f>
  2439.   101b4e:   e8 4d ea ff ff          call   1005a0 <__stack_chk_fail>
  2440.   101b53:   66 90                   xchg   %ax,%ax
  2441.   101b55:   66 90                   xchg   %ax,%ax
  2442.   101b57:   66 90                   xchg   %ax,%ax
  2443.   101b59:   66 90                   xchg   %ax,%ax
  2444.   101b5b:   66 90                   xchg   %ax,%ax
  2445.   101b5d:   66 90                   xchg   %ax,%ax
  2446.   101b5f:   90                      nop
  2447.  
  2448. 00101b60 <memset>:
  2449.   101b60:   55                      push   %ebp
  2450.   101b61:   89 e5                   mov    %esp,%ebp
  2451.   101b63:   53                      push   %ebx
  2452.   101b64:   8b 55 10                mov    0x10(%ebp),%edx
  2453.   101b67:   8b 5d 08                mov    0x8(%ebp),%ebx
  2454.   101b6a:   0f b6 4d 0c             movzbl 0xc(%ebp),%ecx
  2455.   101b6e:   85 d2                   test   %edx,%edx
  2456.   101b70:   74 18                   je     101b8a <memset+0x2a>
  2457.   101b72:   01 da                   add    %ebx,%edx
  2458.   101b74:   89 d8                   mov    %ebx,%eax
  2459.   101b76:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2460.   101b7d:   8d 76 00                lea    0x0(%esi),%esi
  2461.   101b80:   83 c0 01                add    $0x1,%eax
  2462.   101b83:   88 48 ff                mov    %cl,-0x1(%eax)
  2463.   101b86:   39 d0                   cmp    %edx,%eax
  2464.   101b88:   75 f6                   jne    101b80 <memset+0x20>
  2465.   101b8a:   89 d8                   mov    %ebx,%eax
  2466.   101b8c:   8b 5d fc                mov    -0x4(%ebp),%ebx
  2467.   101b8f:   c9                      leave  
  2468.   101b90:   c3                      ret    
  2469.   101b91:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2470.   101b98:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2471.   101b9f:   90                      nop
  2472.  
  2473. 00101ba0 <memcpy>:
  2474.   101ba0:   55                      push   %ebp
  2475.   101ba1:   89 e5                   mov    %esp,%ebp
  2476.   101ba3:   57                      push   %edi
  2477.   101ba4:   8b 45 10                mov    0x10(%ebp),%eax
  2478.   101ba7:   8b 55 08                mov    0x8(%ebp),%edx
  2479.   101baa:   56                      push   %esi
  2480.   101bab:   8b 75 0c                mov    0xc(%ebp),%esi
  2481.   101bae:   85 c0                   test   %eax,%eax
  2482.   101bb0:   74 13                   je     101bc5 <memcpy+0x25>
  2483.   101bb2:   01 d0                   add    %edx,%eax
  2484.   101bb4:   89 d7                   mov    %edx,%edi
  2485.   101bb6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2486.   101bbd:   8d 76 00                lea    0x0(%esi),%esi
  2487.   101bc0:   a4                      movsb  %ds:(%esi),%es:(%edi)
  2488.   101bc1:   39 c7                   cmp    %eax,%edi
  2489.   101bc3:   75 fb                   jne    101bc0 <memcpy+0x20>
  2490.   101bc5:   5e                      pop    %esi
  2491.   101bc6:   89 d0                   mov    %edx,%eax
  2492.   101bc8:   5f                      pop    %edi
  2493.   101bc9:   5d                      pop    %ebp
  2494.   101bca:   c3                      ret    
  2495.   101bcb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2496.   101bcf:   90                      nop
  2497.  
  2498. 00101bd0 <memmove>:
  2499.   101bd0:   55                      push   %ebp
  2500.   101bd1:   89 e5                   mov    %esp,%ebp
  2501.   101bd3:   57                      push   %edi
  2502.   101bd4:   8b 55 08                mov    0x8(%ebp),%edx
  2503.   101bd7:   8b 4d 10                mov    0x10(%ebp),%ecx
  2504.   101bda:   56                      push   %esi
  2505.   101bdb:   8b 75 0c                mov    0xc(%ebp),%esi
  2506.   101bde:   89 d7                   mov    %edx,%edi
  2507.   101be0:   29 f7                   sub    %esi,%edi
  2508.   101be2:   39 cf                   cmp    %ecx,%edi
  2509.   101be4:   72 1a                   jb     101c00 <memmove+0x30>
  2510.   101be6:   8d 04 0e                lea    (%esi,%ecx,1),%eax
  2511.   101be9:   89 d7                   mov    %edx,%edi
  2512.   101beb:   85 c9                   test   %ecx,%ecx
  2513.   101bed:   74 06                   je     101bf5 <memmove+0x25>
  2514.   101bef:   90                      nop
  2515.   101bf0:   a4                      movsb  %ds:(%esi),%es:(%edi)
  2516.   101bf1:   39 f0                   cmp    %esi,%eax
  2517.   101bf3:   75 fb                   jne    101bf0 <memmove+0x20>
  2518.   101bf5:   5e                      pop    %esi
  2519.   101bf6:   89 d0                   mov    %edx,%eax
  2520.   101bf8:   5f                      pop    %edi
  2521.   101bf9:   5d                      pop    %ebp
  2522.   101bfa:   c3                      ret    
  2523.   101bfb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2524.   101bff:   90                      nop
  2525.   101c00:   8d 41 ff                lea    -0x1(%ecx),%eax
  2526.   101c03:   85 c9                   test   %ecx,%ecx
  2527.   101c05:   74 ee                   je     101bf5 <memmove+0x25>
  2528.   101c07:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2529.   101c0e:   66 90                   xchg   %ax,%ax
  2530.   101c10:   0f b6 4c 06 01          movzbl 0x1(%esi,%eax,1),%ecx
  2531.   101c15:   88 4c 02 01             mov    %cl,0x1(%edx,%eax,1)
  2532.   101c19:   83 e8 01                sub    $0x1,%eax
  2533.   101c1c:   72 d7                   jb     101bf5 <memmove+0x25>
  2534.   101c1e:   0f b6 4c 06 01          movzbl 0x1(%esi,%eax,1),%ecx
  2535.   101c23:   88 4c 02 01             mov    %cl,0x1(%edx,%eax,1)
  2536.   101c27:   83 e8 01                sub    $0x1,%eax
  2537.   101c2a:   73 e4                   jae    101c10 <memmove+0x40>
  2538.   101c2c:   eb c7                   jmp    101bf5 <memmove+0x25>
  2539.   101c2e:   66 90                   xchg   %ax,%ax
  2540.  
  2541. 00101c30 <memcmp>:
  2542.   101c30:   55                      push   %ebp
  2543.   101c31:   31 c9                   xor    %ecx,%ecx
  2544.   101c33:   89 e5                   mov    %esp,%ebp
  2545.   101c35:   56                      push   %esi
  2546.   101c36:   8b 45 0c                mov    0xc(%ebp),%eax
  2547.   101c39:   8b 75 10                mov    0x10(%ebp),%esi
  2548.   101c3c:   53                      push   %ebx
  2549.   101c3d:   31 db                   xor    %ebx,%ebx
  2550.   101c3f:   8b 55 08                mov    0x8(%ebp),%edx
  2551.   101c42:   01 c6                   add    %eax,%esi
  2552.   101c44:   eb 1a                   jmp    101c60 <memcmp+0x30>
  2553.   101c46:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2554.   101c4d:   8d 76 00                lea    0x0(%esi),%esi
  2555.   101c50:   0f b6 0a                movzbl (%edx),%ecx
  2556.   101c53:   0f be 18                movsbl (%eax),%ebx
  2557.   101c56:   83 c2 01                add    $0x1,%edx
  2558.   101c59:   83 c0 01                add    $0x1,%eax
  2559.   101c5c:   38 d9                   cmp    %bl,%cl
  2560.   101c5e:   75 04                   jne    101c64 <memcmp+0x34>
  2561.   101c60:   39 f0                   cmp    %esi,%eax
  2562.   101c62:   75 ec                   jne    101c50 <memcmp+0x20>
  2563.   101c64:   0f be c1                movsbl %cl,%eax
  2564.   101c67:   29 d8                   sub    %ebx,%eax
  2565.   101c69:   5b                      pop    %ebx
  2566.   101c6a:   5e                      pop    %esi
  2567.   101c6b:   5d                      pop    %ebp
  2568.   101c6c:   c3                      ret    
  2569.   101c6d:   8d 76 00                lea    0x0(%esi),%esi
  2570.  
  2571. 00101c70 <strlen>:
  2572.   101c70:   55                      push   %ebp
  2573.   101c71:   31 c0                   xor    %eax,%eax
  2574.   101c73:   89 e5                   mov    %esp,%ebp
  2575.   101c75:   8b 55 08                mov    0x8(%ebp),%edx
  2576.   101c78:   80 3a 00                cmpb   $0x0,(%edx)
  2577.   101c7b:   74 0c                   je     101c89 <strlen+0x19>
  2578.   101c7d:   8d 76 00                lea    0x0(%esi),%esi
  2579.   101c80:   83 c0 01                add    $0x1,%eax
  2580.   101c83:   80 3c 02 00             cmpb   $0x0,(%edx,%eax,1)
  2581.   101c87:   75 f7                   jne    101c80 <strlen+0x10>
  2582.   101c89:   5d                      pop    %ebp
  2583.   101c8a:   c3                      ret    
  2584.   101c8b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2585.   101c8f:   90                      nop
  2586.  
  2587. 00101c90 <strnlen>:
  2588.   101c90:   55                      push   %ebp
  2589.   101c91:   31 c0                   xor    %eax,%eax
  2590.   101c93:   89 e5                   mov    %esp,%ebp
  2591.   101c95:   8b 55 08                mov    0x8(%ebp),%edx
  2592.   101c98:   8b 4d 0c                mov    0xc(%ebp),%ecx
  2593.   101c9b:   80 3a 00                cmpb   $0x0,(%edx)
  2594.   101c9e:   74 1d                   je     101cbd <strnlen+0x2d>
  2595.   101ca0:   85 c9                   test   %ecx,%ecx
  2596.   101ca2:   75 10                   jne    101cb4 <strnlen+0x24>
  2597.   101ca4:   eb 17                   jmp    101cbd <strnlen+0x2d>
  2598.   101ca6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2599.   101cad:   8d 76 00                lea    0x0(%esi),%esi
  2600.   101cb0:   39 c1                   cmp    %eax,%ecx
  2601.   101cb2:   74 09                   je     101cbd <strnlen+0x2d>
  2602.   101cb4:   83 c0 01                add    $0x1,%eax
  2603.   101cb7:   80 3c 02 00             cmpb   $0x0,(%edx,%eax,1)
  2604.   101cbb:   75 f3                   jne    101cb0 <strnlen+0x20>
  2605.   101cbd:   5d                      pop    %ebp
  2606.   101cbe:   c3                      ret    
  2607.   101cbf:   90                      nop
  2608.  
  2609. 00101cc0 <strncmp>:
  2610.   101cc0:   55                      push   %ebp
  2611.   101cc1:   31 d2                   xor    %edx,%edx
  2612.   101cc3:   89 e5                   mov    %esp,%ebp
  2613.   101cc5:   56                      push   %esi
  2614.   101cc6:   8b 45 0c                mov    0xc(%ebp),%eax
  2615.   101cc9:   8b 75 10                mov    0x10(%ebp),%esi
  2616.   101ccc:   53                      push   %ebx
  2617.   101ccd:   31 db                   xor    %ebx,%ebx
  2618.   101ccf:   8b 4d 08                mov    0x8(%ebp),%ecx
  2619.   101cd2:   01 c6                   add    %eax,%esi
  2620.   101cd4:   eb 1f                   jmp    101cf5 <strncmp+0x35>
  2621.   101cd6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2622.   101cdd:   8d 76 00                lea    0x0(%esi),%esi
  2623.   101ce0:   0f b6 11                movzbl (%ecx),%edx
  2624.   101ce3:   83 c1 01                add    $0x1,%ecx
  2625.   101ce6:   83 c0 01                add    $0x1,%eax
  2626.   101ce9:   0f be 58 ff             movsbl -0x1(%eax),%ebx
  2627.   101ced:   84 d2                   test   %dl,%dl
  2628.   101cef:   74 08                   je     101cf9 <strncmp+0x39>
  2629.   101cf1:   38 da                   cmp    %bl,%dl
  2630.   101cf3:   75 04                   jne    101cf9 <strncmp+0x39>
  2631.   101cf5:   39 f0                   cmp    %esi,%eax
  2632.   101cf7:   75 e7                   jne    101ce0 <strncmp+0x20>
  2633.   101cf9:   0f be c2                movsbl %dl,%eax
  2634.   101cfc:   29 d8                   sub    %ebx,%eax
  2635.   101cfe:   5b                      pop    %ebx
  2636.   101cff:   5e                      pop    %esi
  2637.   101d00:   5d                      pop    %ebp
  2638.   101d01:   c3                      ret    
  2639.   101d02:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2640.   101d09:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2641.  
  2642. 00101d10 <strncpy>:
  2643.   101d10:   55                      push   %ebp
  2644.   101d11:   89 e5                   mov    %esp,%ebp
  2645.   101d13:   57                      push   %edi
  2646.   101d14:   56                      push   %esi
  2647.   101d15:   8b 75 0c                mov    0xc(%ebp),%esi
  2648.   101d18:   53                      push   %ebx
  2649.   101d19:   8b 4d 10                mov    0x10(%ebp),%ecx
  2650.   101d1c:   80 3e 00                cmpb   $0x0,(%esi)
  2651.   101d1f:   74 64                   je     101d85 <strncpy+0x75>
  2652.   101d21:   85 c9                   test   %ecx,%ecx
  2653.   101d23:   74 70                   je     101d95 <strncpy+0x85>
  2654.   101d25:   31 c0                   xor    %eax,%eax
  2655.   101d27:   eb 0b                   jmp    101d34 <strncpy+0x24>
  2656.   101d29:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2657.   101d30:   39 c1                   cmp    %eax,%ecx
  2658.   101d32:   74 0b                   je     101d3f <strncpy+0x2f>
  2659.   101d34:   89 c3                   mov    %eax,%ebx
  2660.   101d36:   83 c0 01                add    $0x1,%eax
  2661.   101d39:   80 3c 06 00             cmpb   $0x0,(%esi,%eax,1)
  2662.   101d3d:   75 f1                   jne    101d30 <strncpy+0x20>
  2663.   101d3f:   8b 7d 08                mov    0x8(%ebp),%edi
  2664.   101d42:   01 c7                   add    %eax,%edi
  2665.   101d44:   39 c1                   cmp    %eax,%ecx
  2666.   101d46:   74 38                   je     101d80 <strncpy+0x70>
  2667.   101d48:   29 c1                   sub    %eax,%ecx
  2668.   101d4a:   89 fa                   mov    %edi,%edx
  2669.   101d4c:   01 f9                   add    %edi,%ecx
  2670.   101d4e:   66 90                   xchg   %ax,%ax
  2671.   101d50:   83 c2 01                add    $0x1,%edx
  2672.   101d53:   c6 42 ff 00             movb   $0x0,-0x1(%edx)
  2673.   101d57:   39 ca                   cmp    %ecx,%edx
  2674.   101d59:   75 f5                   jne    101d50 <strncpy+0x40>
  2675.   101d5b:   c6 07 00                movb   $0x0,(%edi)
  2676.   101d5e:   85 c0                   test   %eax,%eax
  2677.   101d60:   74 13                   je     101d75 <strncpy+0x65>
  2678.   101d62:   8b 7d 08                mov    0x8(%ebp),%edi
  2679.   101d65:   8d 44 1e 01             lea    0x1(%esi,%ebx,1),%eax
  2680.   101d69:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2681.   101d70:   a4                      movsb  %ds:(%esi),%es:(%edi)
  2682.   101d71:   39 c6                   cmp    %eax,%esi
  2683.   101d73:   75 fb                   jne    101d70 <strncpy+0x60>
  2684.   101d75:   5b                      pop    %ebx
  2685.   101d76:   8b 45 08                mov    0x8(%ebp),%eax
  2686.   101d79:   5e                      pop    %esi
  2687.   101d7a:   5f                      pop    %edi
  2688.   101d7b:   5d                      pop    %ebp
  2689.   101d7c:   c3                      ret    
  2690.   101d7d:   8d 76 00                lea    0x0(%esi),%esi
  2691.   101d80:   c6 07 00                movb   $0x0,(%edi)
  2692.   101d83:   eb dd                   jmp    101d62 <strncpy+0x52>
  2693.   101d85:   85 c9                   test   %ecx,%ecx
  2694.   101d87:   74 0c                   je     101d95 <strncpy+0x85>
  2695.   101d89:   8b 7d 08                mov    0x8(%ebp),%edi
  2696.   101d8c:   bb ff ff ff ff          mov    $0xffffffff,%ebx
  2697.   101d91:   31 c0                   xor    %eax,%eax
  2698.   101d93:   eb b3                   jmp    101d48 <strncpy+0x38>
  2699.   101d95:   8b 45 08                mov    0x8(%ebp),%eax
  2700.   101d98:   c6 00 00                movb   $0x0,(%eax)
  2701.   101d9b:   eb d8                   jmp    101d75 <strncpy+0x65>
  2702.   101d9d:   8d 76 00                lea    0x0(%esi),%esi
  2703.  
  2704. 00101da0 <strncat>:
  2705.   101da0:   55                      push   %ebp
  2706.   101da1:   89 e5                   mov    %esp,%ebp
  2707.   101da3:   57                      push   %edi
  2708.   101da4:   8b 55 08                mov    0x8(%ebp),%edx
  2709.   101da7:   8b 4d 10                mov    0x10(%ebp),%ecx
  2710.   101daa:   56                      push   %esi
  2711.   101dab:   8b 75 0c                mov    0xc(%ebp),%esi
  2712.   101dae:   80 3a 00                cmpb   $0x0,(%edx)
  2713.   101db1:   74 5d                   je     101e10 <strncat+0x70>
  2714.   101db3:   8d 42 01                lea    0x1(%edx),%eax
  2715.   101db6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2716.   101dbd:   8d 76 00                lea    0x0(%esi),%esi
  2717.   101dc0:   89 c7                   mov    %eax,%edi
  2718.   101dc2:   83 c0 01                add    $0x1,%eax
  2719.   101dc5:   80 78 ff 00             cmpb   $0x0,-0x1(%eax)
  2720.   101dc9:   75 f5                   jne    101dc0 <strncat+0x20>
  2721.   101dcb:   80 3e 00                cmpb   $0x0,(%esi)
  2722.   101dce:   74 50                   je     101e20 <strncat+0x80>
  2723.   101dd0:   85 c9                   test   %ecx,%ecx
  2724.   101dd2:   74 4c                   je     101e20 <strncat+0x80>
  2725.   101dd4:   31 c0                   xor    %eax,%eax
  2726.   101dd6:   eb 0c                   jmp    101de4 <strncat+0x44>
  2727.   101dd8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2728.   101ddf:   90                      nop
  2729.   101de0:   39 c1                   cmp    %eax,%ecx
  2730.   101de2:   74 09                   je     101ded <strncat+0x4d>
  2731.   101de4:   83 c0 01                add    $0x1,%eax
  2732.   101de7:   80 3c 06 00             cmpb   $0x0,(%esi,%eax,1)
  2733.   101deb:   75 f3                   jne    101de0 <strncat+0x40>
  2734.   101ded:   c6 04 07 00             movb   $0x0,(%edi,%eax,1)
  2735.   101df1:   01 f0                   add    %esi,%eax
  2736.   101df3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2737.   101dfa:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  2738.   101e00:   a4                      movsb  %ds:(%esi),%es:(%edi)
  2739.   101e01:   39 c6                   cmp    %eax,%esi
  2740.   101e03:   75 fb                   jne    101e00 <strncat+0x60>
  2741.   101e05:   5e                      pop    %esi
  2742.   101e06:   89 d0                   mov    %edx,%eax
  2743.   101e08:   5f                      pop    %edi
  2744.   101e09:   5d                      pop    %ebp
  2745.   101e0a:   c3                      ret    
  2746.   101e0b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2747.   101e0f:   90                      nop
  2748.   101e10:   89 d7                   mov    %edx,%edi
  2749.   101e12:   eb b7                   jmp    101dcb <strncat+0x2b>
  2750.   101e14:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2751.   101e1b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2752.   101e1f:   90                      nop
  2753.   101e20:   c6 07 00                movb   $0x0,(%edi)
  2754.   101e23:   89 d0                   mov    %edx,%eax
  2755.   101e25:   5e                      pop    %esi
  2756.   101e26:   5f                      pop    %edi
  2757.   101e27:   5d                      pop    %ebp
  2758.   101e28:   c3                      ret    
  2759.   101e29:   66 90                   xchg   %ax,%ax
  2760.   101e2b:   66 90                   xchg   %ax,%ax
  2761.   101e2d:   66 90                   xchg   %ax,%ax
  2762.   101e2f:   90                      nop
  2763.  
  2764. 00101e30 <isdigit>:
  2765.   101e30:   55                      push   %ebp
  2766.   101e31:   89 e5                   mov    %esp,%ebp
  2767.   101e33:   0f b6 45 08             movzbl 0x8(%ebp),%eax
  2768.   101e37:   5d                      pop    %ebp
  2769.   101e38:   83 e8 30                sub    $0x30,%eax
  2770.   101e3b:   3c 09                   cmp    $0x9,%al
  2771.   101e3d:   0f 96 c0                setbe  %al
  2772.   101e40:   c3                      ret    
  2773.   101e41:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2774.   101e48:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2775.   101e4f:   90                      nop
  2776.  
  2777. 00101e50 <isxdigit>:
  2778.   101e50:   55                      push   %ebp
  2779.   101e51:   89 e5                   mov    %esp,%ebp
  2780.   101e53:   8b 55 08                mov    0x8(%ebp),%edx
  2781.   101e56:   5d                      pop    %ebp
  2782.   101e57:   89 d0                   mov    %edx,%eax
  2783.   101e59:   83 e0 df                and    $0xffffffdf,%eax
  2784.   101e5c:   83 e8 41                sub    $0x41,%eax
  2785.   101e5f:   3c 05                   cmp    $0x5,%al
  2786.   101e61:   0f 96 c0                setbe  %al
  2787.   101e64:   83 ea 30                sub    $0x30,%edx
  2788.   101e67:   80 fa 09                cmp    $0x9,%dl
  2789.   101e6a:   0f 96 c2                setbe  %dl
  2790.   101e6d:   09 d0                   or     %edx,%eax
  2791.   101e6f:   c3                      ret    
  2792.  
  2793. 00101e70 <isupper>:
  2794.   101e70:   55                      push   %ebp
  2795.   101e71:   89 e5                   mov    %esp,%ebp
  2796.   101e73:   0f b6 45 08             movzbl 0x8(%ebp),%eax
  2797.   101e77:   5d                      pop    %ebp
  2798.   101e78:   83 e8 41                sub    $0x41,%eax
  2799.   101e7b:   3c 19                   cmp    $0x19,%al
  2800.   101e7d:   0f 96 c0                setbe  %al
  2801.   101e80:   c3                      ret    
  2802.   101e81:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2803.   101e88:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2804.   101e8f:   90                      nop
  2805.  
  2806. 00101e90 <islower>:
  2807.   101e90:   55                      push   %ebp
  2808.   101e91:   89 e5                   mov    %esp,%ebp
  2809.   101e93:   0f b6 45 08             movzbl 0x8(%ebp),%eax
  2810.   101e97:   5d                      pop    %ebp
  2811.   101e98:   83 e8 61                sub    $0x61,%eax
  2812.   101e9b:   3c 19                   cmp    $0x19,%al
  2813.   101e9d:   0f 96 c0                setbe  %al
  2814.   101ea0:   c3                      ret    
  2815.   101ea1:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2816.   101ea8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2817.   101eaf:   90                      nop
  2818.  
  2819. 00101eb0 <isalpha>:
  2820.   101eb0:   55                      push   %ebp
  2821.   101eb1:   89 e5                   mov    %esp,%ebp
  2822.   101eb3:   0f b6 45 08             movzbl 0x8(%ebp),%eax
  2823.   101eb7:   5d                      pop    %ebp
  2824.   101eb8:   83 e0 df                and    $0xffffffdf,%eax
  2825.   101ebb:   83 e8 41                sub    $0x41,%eax
  2826.   101ebe:   3c 19                   cmp    $0x19,%al
  2827.   101ec0:   0f 96 c0                setbe  %al
  2828.   101ec3:   c3                      ret    
  2829.   101ec4:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2830.   101ecb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2831.   101ecf:   90                      nop
  2832.  
  2833. 00101ed0 <isspace>:
  2834.   101ed0:   55                      push   %ebp
  2835.   101ed1:   89 e5                   mov    %esp,%ebp
  2836.   101ed3:   8b 45 08                mov    0x8(%ebp),%eax
  2837.   101ed6:   3c 0d                   cmp    $0xd,%al
  2838.   101ed8:   7f 16                   jg     101ef0 <isspace+0x20>
  2839.   101eda:   3c 08                   cmp    $0x8,%al
  2840.   101edc:   5d                      pop    %ebp
  2841.   101edd:   0f 9f c0                setg   %al
  2842.   101ee0:   c3                      ret    
  2843.   101ee1:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2844.   101ee8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2845.   101eef:   90                      nop
  2846.   101ef0:   3c 20                   cmp    $0x20,%al
  2847.   101ef2:   5d                      pop    %ebp
  2848.   101ef3:   0f 94 c0                sete   %al
  2849.   101ef6:   c3                      ret    
  2850.   101ef7:   66 90                   xchg   %ax,%ax
  2851.   101ef9:   66 90                   xchg   %ax,%ax
  2852.   101efb:   66 90                   xchg   %ax,%ax
  2853.   101efd:   66 90                   xchg   %ax,%ax
  2854.   101eff:   90                      nop
  2855.  
  2856. 00101f00 <keyboard_interrupt_handler>:
  2857.   101f00:   55                      push   %ebp
  2858.   101f01:   89 e5                   mov    %esp,%ebp
  2859.   101f03:   56                      push   %esi
  2860.   101f04:   53                      push   %ebx
  2861.   101f05:   83 ec 0c                sub    $0xc,%esp
  2862.   101f08:   6a 60                   push   $0x60
  2863.   101f0a:   e8 11 e7 ff ff          call   100620 <inb>
  2864.   101f0f:   83 c4 10                add    $0x10,%esp
  2865.   101f12:   3c df                   cmp    $0xdf,%al
  2866.   101f14:   0f 87 96 00 00 00       ja     101fb0 <keyboard_interrupt_handler+0xb0>
  2867.   101f1a:   0f b6 c0                movzbl %al,%eax
  2868.   101f1d:   8d 14 40                lea    (%eax,%eax,2),%edx
  2869.   101f20:   c1 e2 02                shl    $0x2,%edx
  2870.   101f23:   8d 82 a0 5a 10 00       lea    0x105aa0(%edx),%eax
  2871.   101f29:   0f b6 9a a0 5a 10 00    movzbl 0x105aa0(%edx),%ebx
  2872.   101f30:   0f b6 b2 a1 5a 10 00    movzbl 0x105aa1(%edx),%esi
  2873.   101f37:   8b 8a a4 5a 10 00       mov    0x105aa4(%edx),%ecx
  2874.   101f3d:   0f be 40 09             movsbl 0x9(%eax),%eax
  2875.   101f41:   0f be 92 a8 5a 10 00    movsbl 0x105aa8(%edx),%edx
  2876.   101f48:   84 db                   test   %bl,%bl
  2877.   101f4a:   74 2d                   je     101f79 <keyboard_interrupt_handler+0x79>
  2878.   101f4c:   89 f3                   mov    %esi,%ebx
  2879.   101f4e:   84 db                   test   %bl,%bl
  2880.   101f50:   74 3e                   je     101f90 <keyboard_interrupt_handler+0x90>
  2881.   101f52:   80 3d 11 b0 10 00 00    cmpb   $0x0,0x10b011
  2882.   101f59:   74 0d                   je     101f68 <keyboard_interrupt_handler+0x68>
  2883.   101f5b:   80 3d 10 b0 10 00 00    cmpb   $0x0,0x10b010
  2884.   101f62:   0f 85 98 00 00 00       jne    102000 <keyboard_interrupt_handler+0x100>
  2885.   101f68:   83 ec 08                sub    $0x8,%esp
  2886.   101f6b:   52                      push   %edx
  2887.   101f6c:   68 1f 43 10 00          push   $0x10431f
  2888.   101f71:   e8 2a f4 ff ff          call   1013a0 <printf>
  2889.   101f76:   83 c4 10                add    $0x10,%esp
  2890.   101f79:   c6 05 11 b0 10 00 00    movb   $0x0,0x10b011
  2891.   101f80:   8d 65 f8                lea    -0x8(%ebp),%esp
  2892.   101f83:   5b                      pop    %ebx
  2893.   101f84:   5e                      pop    %esi
  2894.   101f85:   5d                      pop    %ebp
  2895.   101f86:   c3                      ret    
  2896.   101f87:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2897.   101f8e:   66 90                   xchg   %ax,%ax
  2898.   101f90:   83 f9 08                cmp    $0x8,%ecx
  2899.   101f93:   75 e4                   jne    101f79 <keyboard_interrupt_handler+0x79>
  2900.   101f95:   80 3d 10 b0 10 00 00    cmpb   $0x0,0x10b010
  2901.   101f9c:   0f 94 05 10 b0 10 00    sete   0x10b010
  2902.   101fa3:   eb d4                   jmp    101f79 <keyboard_interrupt_handler+0x79>
  2903.   101fa5:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2904.   101fac:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  2905.   101fb0:   3c e0                   cmp    $0xe0,%al
  2906.   101fb2:   75 c5                   jne    101f79 <keyboard_interrupt_handler+0x79>
  2907.   101fb4:   83 ec 0c                sub    $0xc,%esp
  2908.   101fb7:   6a 60                   push   $0x60
  2909.   101fb9:   e8 62 e6 ff ff          call   100620 <inb>
  2910.   101fbe:   83 c4 10                add    $0x10,%esp
  2911.   101fc1:   3c df                   cmp    $0xdf,%al
  2912.   101fc3:   77 b4                   ja     101f79 <keyboard_interrupt_handler+0x79>
  2913.   101fc5:   0f b6 c0                movzbl %al,%eax
  2914.   101fc8:   8d 14 40                lea    (%eax,%eax,2),%edx
  2915.   101fcb:   c1 e2 02                shl    $0x2,%edx
  2916.   101fce:   8d 82 20 50 10 00       lea    0x105020(%edx),%eax
  2917.   101fd4:   0f b6 9a 20 50 10 00    movzbl 0x105020(%edx),%ebx
  2918.   101fdb:   0f b6 b2 21 50 10 00    movzbl 0x105021(%edx),%esi
  2919.   101fe2:   8b 8a 24 50 10 00       mov    0x105024(%edx),%ecx
  2920.   101fe8:   0f be 40 09             movsbl 0x9(%eax),%eax
  2921.   101fec:   0f be 92 28 50 10 00    movsbl 0x105028(%edx),%edx
  2922.   101ff3:   e9 50 ff ff ff          jmp    101f48 <keyboard_interrupt_handler+0x48>
  2923.   101ff8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2924.   101fff:   90                      nop
  2925.   102000:   83 ec 08                sub    $0x8,%esp
  2926.   102003:   50                      push   %eax
  2927.   102004:   68 1f 43 10 00          push   $0x10431f
  2928.   102009:   e8 92 f3 ff ff          call   1013a0 <printf>
  2929.   10200e:   83 c4 10                add    $0x10,%esp
  2930.   102011:   e9 63 ff ff ff          jmp    101f79 <keyboard_interrupt_handler+0x79>
  2931.   102016:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2932.   10201d:   8d 76 00                lea    0x0(%esi),%esi
  2933.  
  2934. 00102020 <keyboard_init>:
  2935.   102020:   55                      push   %ebp
  2936.   102021:   89 e5                   mov    %esp,%ebp
  2937.   102023:   83 ec 10                sub    $0x10,%esp
  2938.   102026:   68 00 1f 10 00          push   $0x101f00
  2939.   10202b:   6a 21                   push   $0x21
  2940.   10202d:   e8 7e 0a 00 00          call   102ab0 <isr_register>
  2941.   102032:   83 c4 10                add    $0x10,%esp
  2942.   102035:   c9                      leave  
  2943.   102036:   c3                      ret    
  2944.   102037:   66 90                   xchg   %ax,%ax
  2945.   102039:   66 90                   xchg   %ax,%ax
  2946.   10203b:   66 90                   xchg   %ax,%ax
  2947.   10203d:   66 90                   xchg   %ax,%ax
  2948.   10203f:   90                      nop
  2949.  
  2950. 00102040 <timer_interrupt_handler>:
  2951.   102040:   83 05 14 b0 10 00 01    addl   $0x1,0x10b014
  2952.   102047:   c3                      ret    
  2953.   102048:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  2954.   10204f:   90                      nop
  2955.  
  2956. 00102050 <timer_init>:
  2957.   102050:   55                      push   %ebp
  2958.   102051:   89 e5                   mov    %esp,%ebp
  2959.   102053:   83 ec 10                sub    $0x10,%esp
  2960.   102056:   c7 05 14 b0 10 00 00    movl   $0x0,0x10b014
  2961.   10205d:   00 00 00
  2962.   102060:   68 40 20 10 00          push   $0x102040
  2963.   102065:   6a 20                   push   $0x20
  2964.   102067:   e8 44 0a 00 00          call   102ab0 <isr_register>
  2965.   10206c:   58                      pop    %eax
  2966.   10206d:   5a                      pop    %edx
  2967.   10206e:   6a 36                   push   $0x36
  2968.   102070:   6a 43                   push   $0x43
  2969.   102072:   e8 59 e5 ff ff          call   1005d0 <outb>
  2970.   102077:   59                      pop    %ecx
  2971.   102078:   58                      pop    %eax
  2972.   102079:   68 9b 00 00 00          push   $0x9b
  2973.   10207e:   6a 40                   push   $0x40
  2974.   102080:   e8 4b e5 ff ff          call   1005d0 <outb>
  2975.   102085:   58                      pop    %eax
  2976.   102086:   5a                      pop    %edx
  2977.   102087:   6a 2e                   push   $0x2e
  2978.   102089:   6a 40                   push   $0x40
  2979.   10208b:   e8 40 e5 ff ff          call   1005d0 <outb>
  2980.   102090:   83 c4 10                add    $0x10,%esp
  2981.   102093:   c9                      leave  
  2982.   102094:   c3                      ret    
  2983.   102095:   66 90                   xchg   %ax,%ax
  2984.   102097:   66 90                   xchg   %ax,%ax
  2985.   102099:   66 90                   xchg   %ax,%ax
  2986.   10209b:   66 90                   xchg   %ax,%ax
  2987.   10209d:   66 90                   xchg   %ax,%ax
  2988.   10209f:   90                      nop
  2989.  
  2990. 001020a0 <_update_cursor>:
  2991.   1020a0:   55                      push   %ebp
  2992.   1020a1:   89 e5                   mov    %esp,%ebp
  2993.   1020a3:   53                      push   %ebx
  2994.   1020a4:   83 ec 0c                sub    $0xc,%esp
  2995.   1020a7:   a1 1c b0 10 00          mov    0x10b01c,%eax
  2996.   1020ac:   6a 0f                   push   $0xf
  2997.   1020ae:   68 d4 03 00 00          push   $0x3d4
  2998.   1020b3:   8d 1c 80                lea    (%eax,%eax,4),%ebx
  2999.   1020b6:   c1 e3 04                shl    $0x4,%ebx
  3000.   1020b9:   03 1d 18 b0 10 00       add    0x10b018,%ebx
  3001.   1020bf:   e8 0c e5 ff ff          call   1005d0 <outb>
  3002.   1020c4:   58                      pop    %eax
  3003.   1020c5:   0f b6 c3                movzbl %bl,%eax
  3004.   1020c8:   5a                      pop    %edx
  3005.   1020c9:   50                      push   %eax
  3006.   1020ca:   0f b6 df                movzbl %bh,%ebx
  3007.   1020cd:   68 d5 03 00 00          push   $0x3d5
  3008.   1020d2:   e8 f9 e4 ff ff          call   1005d0 <outb>
  3009.   1020d7:   59                      pop    %ecx
  3010.   1020d8:   58                      pop    %eax
  3011.   1020d9:   6a 0e                   push   $0xe
  3012.   1020db:   68 d4 03 00 00          push   $0x3d4
  3013.   1020e0:   e8 eb e4 ff ff          call   1005d0 <outb>
  3014.   1020e5:   58                      pop    %eax
  3015.   1020e6:   5a                      pop    %edx
  3016.   1020e7:   53                      push   %ebx
  3017.   1020e8:   68 d5 03 00 00          push   $0x3d5
  3018.   1020ed:   e8 de e4 ff ff          call   1005d0 <outb>
  3019.   1020f2:   8b 5d fc                mov    -0x4(%ebp),%ebx
  3020.   1020f5:   83 c4 10                add    $0x10,%esp
  3021.   1020f8:   c9                      leave  
  3022.   1020f9:   c3                      ret    
  3023.   1020fa:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  3024.  
  3025. 00102100 <terminal_init>:
  3026.   102100:   55                      push   %ebp
  3027.   102101:   89 e5                   mov    %esp,%ebp
  3028.   102103:   83 ec 10                sub    $0x10,%esp
  3029.   102106:   c7 05 20 b0 10 00 00    movl   $0xb8000,0x10b020
  3030.   10210d:   80 0b 00
  3031.   102110:   6a 0a                   push   $0xa
  3032.   102112:   68 d4 03 00 00          push   $0x3d4
  3033.   102117:   c7 05 1c b0 10 00 00    movl   $0x0,0x10b01c
  3034.   10211e:   00 00 00
  3035.   102121:   c7 05 18 b0 10 00 00    movl   $0x0,0x10b018
  3036.   102128:   00 00 00
  3037.   10212b:   e8 a0 e4 ff ff          call   1005d0 <outb>
  3038.   102130:   c7 04 24 d5 03 00 00    movl   $0x3d5,(%esp)
  3039.   102137:   e8 e4 e4 ff ff          call   100620 <inb>
  3040.   10213c:   5a                      pop    %edx
  3041.   10213d:   59                      pop    %ecx
  3042.   10213e:   25 c0 00 00 00          and    $0xc0,%eax
  3043.   102143:   83 c8 0e                or     $0xe,%eax
  3044.   102146:   50                      push   %eax
  3045.   102147:   68 d5 03 00 00          push   $0x3d5
  3046.   10214c:   e8 7f e4 ff ff          call   1005d0 <outb>
  3047.   102151:   58                      pop    %eax
  3048.   102152:   5a                      pop    %edx
  3049.   102153:   6a 0b                   push   $0xb
  3050.   102155:   68 d4 03 00 00          push   $0x3d4
  3051.   10215a:   e8 71 e4 ff ff          call   1005d0 <outb>
  3052.   10215f:   c7 04 24 d5 03 00 00    movl   $0x3d5,(%esp)
  3053.   102166:   e8 b5 e4 ff ff          call   100620 <inb>
  3054.   10216b:   59                      pop    %ecx
  3055.   10216c:   5a                      pop    %edx
  3056.   10216d:   25 e0 00 00 00          and    $0xe0,%eax
  3057.   102172:   83 c8 0f                or     $0xf,%eax
  3058.   102175:   50                      push   %eax
  3059.   102176:   68 d5 03 00 00          push   $0x3d5
  3060.   10217b:   e8 50 e4 ff ff          call   1005d0 <outb>
  3061.   102180:   8b 0d 20 b0 10 00       mov    0x10b020,%ecx
  3062.   102186:   83 c4 10                add    $0x10,%esp
  3063.   102189:   8d 91 a0 00 00 00       lea    0xa0(%ecx),%edx
  3064.   10218f:   81 c1 40 10 00 00       add    $0x1040,%ecx
  3065.   102195:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3066.   10219c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3067.   1021a0:   8d 82 60 ff ff ff       lea    -0xa0(%edx),%eax
  3068.   1021a6:   66 c7 00 20 07          movw   $0x720,(%eax)
  3069.   1021ab:   83 c0 02                add    $0x2,%eax
  3070.   1021ae:   39 d0                   cmp    %edx,%eax
  3071.   1021b0:   75 f4                   jne    1021a6 <terminal_init+0xa6>
  3072.   1021b2:   8d 90 a0 00 00 00       lea    0xa0(%eax),%edx
  3073.   1021b8:   39 ca                   cmp    %ecx,%edx
  3074.   1021ba:   75 e4                   jne    1021a0 <terminal_init+0xa0>
  3075.   1021bc:   c7 05 1c b0 10 00 00    movl   $0x0,0x10b01c
  3076.   1021c3:   00 00 00
  3077.   1021c6:   c7 05 18 b0 10 00 00    movl   $0x0,0x10b018
  3078.   1021cd:   00 00 00
  3079.   1021d0:   c9                      leave  
  3080.   1021d1:   e9 ca fe ff ff          jmp    1020a0 <_update_cursor>
  3081.   1021d6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3082.   1021dd:   8d 76 00                lea    0x0(%esi),%esi
  3083.  
  3084. 001021e0 <terminal_write_color>:
  3085.   1021e0:   55                      push   %ebp
  3086.   1021e1:   89 e5                   mov    %esp,%ebp
  3087.   1021e3:   57                      push   %edi
  3088.   1021e4:   56                      push   %esi
  3089.   1021e5:   53                      push   %ebx
  3090.   1021e6:   83 ec 1c                sub    $0x1c,%esp
  3091.   1021e9:   8b 45 0c                mov    0xc(%ebp),%eax
  3092.   1021ec:   8b 55 08                mov    0x8(%ebp),%edx
  3093.   1021ef:   8b 5d 10                mov    0x10(%ebp),%ebx
  3094.   1021f2:   85 c0                   test   %eax,%eax
  3095.   1021f4:   0f 84 e4 00 00 00       je     1022de <terminal_write_color+0xfe>
  3096.   1021fa:   c1 e3 08                shl    $0x8,%ebx
  3097.   1021fd:   01 d0                   add    %edx,%eax
  3098.   1021ff:   89 55 e0                mov    %edx,-0x20(%ebp)
  3099.   102202:   8b 35 18 b0 10 00       mov    0x10b018,%esi
  3100.   102208:   66 89 5d dc             mov    %bx,-0x24(%ebp)
  3101.   10220c:   8b 0d 1c b0 10 00       mov    0x10b01c,%ecx
  3102.   102212:   31 db                   xor    %ebx,%ebx
  3103.   102214:   89 45 d8                mov    %eax,-0x28(%ebp)
  3104.   102217:   8b 3d 20 b0 10 00       mov    0x10b020,%edi
  3105.   10221d:   c6 45 df 00             movb   $0x0,-0x21(%ebp)
  3106.   102221:   eb 2d                   jmp    102250 <terminal_write_color+0x70>
  3107.   102223:   3c 09                   cmp    $0x9,%al
  3108.   102225:   0f 85 e3 00 00 00       jne    10230e <terminal_write_color+0x12e>
  3109.   10222b:   83 c6 04                add    $0x4,%esi
  3110.   10222e:   c6 45 df 01             movb   $0x1,-0x21(%ebp)
  3111.   102232:   83 e6 fc                and    $0xfffffffc,%esi
  3112.   102235:   83 fe 50                cmp    $0x50,%esi
  3113.   102238:   75 05                   jne    10223f <terminal_write_color+0x5f>
  3114.   10223a:   be 4c 00 00 00          mov    $0x4c,%esi
  3115.   10223f:   83 f9 19                cmp    $0x19,%ecx
  3116.   102242:   74 34                   je     102278 <terminal_write_color+0x98>
  3117.   102244:   83 45 e0 01             addl   $0x1,-0x20(%ebp)
  3118.   102248:   8b 45 e0                mov    -0x20(%ebp),%eax
  3119.   10224b:   3b 45 d8                cmp    -0x28(%ebp),%eax
  3120.   10224e:   74 78                   je     1022c8 <terminal_write_color+0xe8>
  3121.   102250:   8b 45 e0                mov    -0x20(%ebp),%eax
  3122.   102253:   0f b6 00                movzbl (%eax),%eax
  3123.   102256:   3c 0a                   cmp    $0xa,%al
  3124.   102258:   0f 84 df 00 00 00       je     10233d <terminal_write_color+0x15d>
  3125.   10225e:   0f 8f 86 00 00 00       jg     1022ea <terminal_write_color+0x10a>
  3126.   102264:   3c 08                   cmp    $0x8,%al
  3127.   102266:   75 bb                   jne    102223 <terminal_write_color+0x43>
  3128.   102268:   85 f6                   test   %esi,%esi
  3129.   10226a:   74 d3                   je     10223f <terminal_write_color+0x5f>
  3130.   10226c:   c6 45 df 01             movb   $0x1,-0x21(%ebp)
  3131.   102270:   83 ee 01                sub    $0x1,%esi
  3132.   102273:   83 f9 19                cmp    $0x19,%ecx
  3133.   102276:   75 cc                   jne    102244 <terminal_write_color+0x64>
  3134.   102278:   31 db                   xor    %ebx,%ebx
  3135.   10227a:   31 c9                   xor    %ecx,%ecx
  3136.   10227c:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3137.   102280:   89 5d e4                mov    %ebx,-0x1c(%ebp)
  3138.   102283:   8d 04 5f                lea    (%edi,%ebx,2),%eax
  3139.   102286:   ba 01 00 00 00          mov    $0x1,%edx
  3140.   10228b:   83 f9 18                cmp    $0x18,%ecx
  3141.   10228e:   74 1a                   je     1022aa <terminal_write_color+0xca>
  3142.   102290:   0f b7 98 a0 00 00 00    movzwl 0xa0(%eax),%ebx
  3143.   102297:   66 89 18                mov    %bx,(%eax)
  3144.   10229a:   83 fa 50                cmp    $0x50,%edx
  3145.   10229d:   74 61                   je     102300 <terminal_write_color+0x120>
  3146.   10229f:   83 c2 01                add    $0x1,%edx
  3147.   1022a2:   83 c0 02                add    $0x2,%eax
  3148.   1022a5:   83 f9 18                cmp    $0x18,%ecx
  3149.   1022a8:   75 e6                   jne    102290 <terminal_write_color+0xb0>
  3150.   1022aa:   bb 20 07 00 00          mov    $0x720,%ebx
  3151.   1022af:   66 89 18                mov    %bx,(%eax)
  3152.   1022b2:   83 fa 50                cmp    $0x50,%edx
  3153.   1022b5:   75 e8                   jne    10229f <terminal_write_color+0xbf>
  3154.   1022b7:   83 45 e0 01             addl   $0x1,-0x20(%ebp)
  3155.   1022bb:   bb 01 00 00 00          mov    $0x1,%ebx
  3156.   1022c0:   8b 45 e0                mov    -0x20(%ebp),%eax
  3157.   1022c3:   3b 45 d8                cmp    -0x28(%ebp),%eax
  3158.   1022c6:   75 88                   jne    102250 <terminal_write_color+0x70>
  3159.   1022c8:   84 db                   test   %bl,%bl
  3160.   1022ca:   74 06                   je     1022d2 <terminal_write_color+0xf2>
  3161.   1022cc:   89 0d 1c b0 10 00       mov    %ecx,0x10b01c
  3162.   1022d2:   80 7d df 00             cmpb   $0x0,-0x21(%ebp)
  3163.   1022d6:   74 06                   je     1022de <terminal_write_color+0xfe>
  3164.   1022d8:   89 35 18 b0 10 00       mov    %esi,0x10b018
  3165.   1022de:   83 c4 1c                add    $0x1c,%esp
  3166.   1022e1:   5b                      pop    %ebx
  3167.   1022e2:   5e                      pop    %esi
  3168.   1022e3:   5f                      pop    %edi
  3169.   1022e4:   5d                      pop    %ebp
  3170.   1022e5:   e9 b6 fd ff ff          jmp    1020a0 <_update_cursor>
  3171.   1022ea:   3c 0d                   cmp    $0xd,%al
  3172.   1022ec:   75 20                   jne    10230e <terminal_write_color+0x12e>
  3173.   1022ee:   c6 45 df 01             movb   $0x1,-0x21(%ebp)
  3174.   1022f2:   31 f6                   xor    %esi,%esi
  3175.   1022f4:   e9 46 ff ff ff          jmp    10223f <terminal_write_color+0x5f>
  3176.   1022f9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3177.   102300:   8b 5d e4                mov    -0x1c(%ebp),%ebx
  3178.   102303:   83 c1 01                add    $0x1,%ecx
  3179.   102306:   83 c3 50                add    $0x50,%ebx
  3180.   102309:   e9 72 ff ff ff          jmp    102280 <terminal_write_color+0xa0>
  3181.   10230e:   8d 14 89                lea    (%ecx,%ecx,4),%edx
  3182.   102311:   66 0b 45 dc             or     -0x24(%ebp),%ax
  3183.   102315:   c6 45 df 01             movb   $0x1,-0x21(%ebp)
  3184.   102319:   c1 e2 04                shl    $0x4,%edx
  3185.   10231c:   01 f2                   add    %esi,%edx
  3186.   10231e:   83 c6 01                add    $0x1,%esi
  3187.   102321:   66 89 04 57             mov    %ax,(%edi,%edx,2)
  3188.   102325:   83 fe 50                cmp    $0x50,%esi
  3189.   102328:   0f 85 11 ff ff ff       jne    10223f <terminal_write_color+0x5f>
  3190.   10232e:   83 c1 01                add    $0x1,%ecx
  3191.   102331:   bb 01 00 00 00          mov    $0x1,%ebx
  3192.   102336:   31 f6                   xor    %esi,%esi
  3193.   102338:   e9 02 ff ff ff          jmp    10223f <terminal_write_color+0x5f>
  3194.   10233d:   c6 45 df 01             movb   $0x1,-0x21(%ebp)
  3195.   102341:   83 c1 01                add    $0x1,%ecx
  3196.   102344:   bb 01 00 00 00          mov    $0x1,%ebx
  3197.   102349:   31 f6                   xor    %esi,%esi
  3198.   10234b:   e9 ef fe ff ff          jmp    10223f <terminal_write_color+0x5f>
  3199.  
  3200. 00102350 <terminal_write>:
  3201.   102350:   55                      push   %ebp
  3202.   102351:   89 e5                   mov    %esp,%ebp
  3203.   102353:   83 ec 0c                sub    $0xc,%esp
  3204.   102356:   6a 07                   push   $0x7
  3205.   102358:   ff 75 0c                push   0xc(%ebp)
  3206.   10235b:   ff 75 08                push   0x8(%ebp)
  3207.   10235e:   e8 7d fe ff ff          call   1021e0 <terminal_write_color>
  3208.   102363:   83 c4 10                add    $0x10,%esp
  3209.   102366:   c9                      leave  
  3210.   102367:   c3                      ret    
  3211.   102368:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3212.   10236f:   90                      nop
  3213.  
  3214. 00102370 <terminal_erase>:
  3215.   102370:   8b 15 18 b0 10 00       mov    0x10b018,%edx
  3216.   102376:   a1 1c b0 10 00          mov    0x10b01c,%eax
  3217.   10237b:   85 d2                   test   %edx,%edx
  3218.   10237d:   74 31                   je     1023b0 <terminal_erase+0x40>
  3219.   10237f:   83 ea 01                sub    $0x1,%edx
  3220.   102382:   89 15 18 b0 10 00       mov    %edx,0x10b018
  3221.   102388:   8d 04 80                lea    (%eax,%eax,4),%eax
  3222.   10238b:   b9 20 07 00 00          mov    $0x720,%ecx
  3223.   102390:   c1 e0 04                shl    $0x4,%eax
  3224.   102393:   01 d0                   add    %edx,%eax
  3225.   102395:   8b 15 20 b0 10 00       mov    0x10b020,%edx
  3226.   10239b:   66 89 0c 42             mov    %cx,(%edx,%eax,2)
  3227.   10239f:   e9 fc fc ff ff          jmp    1020a0 <_update_cursor>
  3228.   1023a4:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3229.   1023ab:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3230.   1023af:   90                      nop
  3231.   1023b0:   31 d2                   xor    %edx,%edx
  3232.   1023b2:   85 c0                   test   %eax,%eax
  3233.   1023b4:   74 d2                   je     102388 <terminal_erase+0x18>
  3234.   1023b6:   83 e8 01                sub    $0x1,%eax
  3235.   1023b9:   ba 4f 00 00 00          mov    $0x4f,%edx
  3236.   1023be:   c7 05 18 b0 10 00 4f    movl   $0x4f,0x10b018
  3237.   1023c5:   00 00 00
  3238.   1023c8:   a3 1c b0 10 00          mov    %eax,0x10b01c
  3239.   1023cd:   eb b9                   jmp    102388 <terminal_erase+0x18>
  3240.   1023cf:   90                      nop
  3241.  
  3242. 001023d0 <terminal_clear>:
  3243.   1023d0:   8b 0d 20 b0 10 00       mov    0x10b020,%ecx
  3244.   1023d6:   8d 91 a0 00 00 00       lea    0xa0(%ecx),%edx
  3245.   1023dc:   81 c1 40 10 00 00       add    $0x1040,%ecx
  3246.   1023e2:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3247.   1023e9:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3248.   1023f0:   8d 82 60 ff ff ff       lea    -0xa0(%edx),%eax
  3249.   1023f6:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3250.   1023fd:   8d 76 00                lea    0x0(%esi),%esi
  3251.   102400:   66 c7 00 20 07          movw   $0x720,(%eax)
  3252.   102405:   83 c0 02                add    $0x2,%eax
  3253.   102408:   39 d0                   cmp    %edx,%eax
  3254.   10240a:   75 f4                   jne    102400 <terminal_clear+0x30>
  3255.   10240c:   8d 90 a0 00 00 00       lea    0xa0(%eax),%edx
  3256.   102412:   39 ca                   cmp    %ecx,%edx
  3257.   102414:   75 da                   jne    1023f0 <terminal_clear+0x20>
  3258.   102416:   c7 05 1c b0 10 00 00    movl   $0x0,0x10b01c
  3259.   10241d:   00 00 00
  3260.   102420:   c7 05 18 b0 10 00 00    movl   $0x0,0x10b018
  3261.   102427:   00 00 00
  3262.   10242a:   e9 71 fc ff ff          jmp    1020a0 <_update_cursor>
  3263.   10242f:   90                      nop
  3264.  
  3265. 00102430 <idt_init>:
  3266.   102430:   55                      push   %ebp
  3267.   102431:   89 e5                   mov    %esp,%ebp
  3268.   102433:   83 ec 10                sub    $0x10,%esp
  3269.   102436:   6a 11                   push   $0x11
  3270.   102438:   6a 20                   push   $0x20
  3271.   10243a:   e8 91 e1 ff ff          call   1005d0 <outb>
  3272.   10243f:   58                      pop    %eax
  3273.   102440:   5a                      pop    %edx
  3274.   102441:   6a 11                   push   $0x11
  3275.   102443:   68 a0 00 00 00          push   $0xa0
  3276.   102448:   e8 83 e1 ff ff          call   1005d0 <outb>
  3277.   10244d:   59                      pop    %ecx
  3278.   10244e:   58                      pop    %eax
  3279.   10244f:   6a 20                   push   $0x20
  3280.   102451:   6a 21                   push   $0x21
  3281.   102453:   e8 78 e1 ff ff          call   1005d0 <outb>
  3282.   102458:   58                      pop    %eax
  3283.   102459:   5a                      pop    %edx
  3284.   10245a:   6a 28                   push   $0x28
  3285.   10245c:   68 a1 00 00 00          push   $0xa1
  3286.   102461:   e8 6a e1 ff ff          call   1005d0 <outb>
  3287.   102466:   59                      pop    %ecx
  3288.   102467:   58                      pop    %eax
  3289.   102468:   6a 04                   push   $0x4
  3290.   10246a:   6a 21                   push   $0x21
  3291.   10246c:   e8 5f e1 ff ff          call   1005d0 <outb>
  3292.   102471:   58                      pop    %eax
  3293.   102472:   5a                      pop    %edx
  3294.   102473:   6a 02                   push   $0x2
  3295.   102475:   68 a1 00 00 00          push   $0xa1
  3296.   10247a:   e8 51 e1 ff ff          call   1005d0 <outb>
  3297.   10247f:   59                      pop    %ecx
  3298.   102480:   58                      pop    %eax
  3299.   102481:   6a 01                   push   $0x1
  3300.   102483:   6a 21                   push   $0x21
  3301.   102485:   e8 46 e1 ff ff          call   1005d0 <outb>
  3302.   10248a:   58                      pop    %eax
  3303.   10248b:   5a                      pop    %edx
  3304.   10248c:   6a 01                   push   $0x1
  3305.   10248e:   68 a1 00 00 00          push   $0xa1
  3306.   102493:   e8 38 e1 ff ff          call   1005d0 <outb>
  3307.   102498:   59                      pop    %ecx
  3308.   102499:   58                      pop    %eax
  3309.   10249a:   6a 00                   push   $0x0
  3310.   10249c:   6a 21                   push   $0x21
  3311.   10249e:   e8 2d e1 ff ff          call   1005d0 <outb>
  3312.   1024a3:   58                      pop    %eax
  3313.   1024a4:   5a                      pop    %edx
  3314.   1024a5:   6a 00                   push   $0x0
  3315.   1024a7:   68 a1 00 00 00          push   $0xa1
  3316.   1024ac:   e8 1f e1 ff ff          call   1005d0 <outb>
  3317.   1024b1:   83 c4 0c                add    $0xc,%esp
  3318.   1024b4:   68 00 08 00 00          push   $0x800
  3319.   1024b9:   6a 00                   push   $0x0
  3320.   1024bb:   68 60 b0 10 00          push   $0x10b060
  3321.   1024c0:   e8 9b f6 ff ff          call   101b60 <memset>
  3322.   1024c5:   b8 26 00 10 00          mov    $0x100026,%eax
  3323.   1024ca:   b9 08 00 00 00          mov    $0x8,%ecx
  3324.   1024cf:   c7 05 62 b0 10 00 08    movl   $0x8e000008,0x10b062
  3325.   1024d6:   00 00 8e
  3326.   1024d9:   66 a3 60 b0 10 00       mov    %ax,0x10b060
  3327.   1024df:   c1 e8 10                shr    $0x10,%eax
  3328.   1024e2:   ba 08 00 00 00          mov    $0x8,%edx
  3329.   1024e7:   66 a3 66 b0 10 00       mov    %ax,0x10b066
  3330.   1024ed:   b8 2f 00 10 00          mov    $0x10002f,%eax
  3331.   1024f2:   66 a3 68 b0 10 00       mov    %ax,0x10b068
  3332.   1024f8:   c1 e8 10                shr    $0x10,%eax
  3333.   1024fb:   66 a3 6e b0 10 00       mov    %ax,0x10b06e
  3334.   102501:   b8 38 00 10 00          mov    $0x100038,%eax
  3335.   102506:   66 a3 70 b0 10 00       mov    %ax,0x10b070
  3336.   10250c:   c1 e8 10                shr    $0x10,%eax
  3337.   10250f:   66 a3 76 b0 10 00       mov    %ax,0x10b076
  3338.   102515:   b8 41 00 10 00          mov    $0x100041,%eax
  3339.   10251a:   66 a3 78 b0 10 00       mov    %ax,0x10b078
  3340.   102520:   c1 e8 10                shr    $0x10,%eax
  3341.   102523:   66 a3 7e b0 10 00       mov    %ax,0x10b07e
  3342.   102529:   b8 4a 00 10 00          mov    $0x10004a,%eax
  3343.   10252e:   66 a3 80 b0 10 00       mov    %ax,0x10b080
  3344.   102534:   c1 e8 10                shr    $0x10,%eax
  3345.   102537:   66 a3 86 b0 10 00       mov    %ax,0x10b086
  3346.   10253d:   b8 53 00 10 00          mov    $0x100053,%eax
  3347.   102542:   66 a3 88 b0 10 00       mov    %ax,0x10b088
  3348.   102548:   c1 e8 10                shr    $0x10,%eax
  3349.   10254b:   66 a3 8e b0 10 00       mov    %ax,0x10b08e
  3350.   102551:   b8 5c 00 10 00          mov    $0x10005c,%eax
  3351.   102556:   66 a3 90 b0 10 00       mov    %ax,0x10b090
  3352.   10255c:   c1 e8 10                shr    $0x10,%eax
  3353.   10255f:   66 a3 96 b0 10 00       mov    %ax,0x10b096
  3354.   102565:   b8 65 00 10 00          mov    $0x100065,%eax
  3355.   10256a:   66 a3 98 b0 10 00       mov    %ax,0x10b098
  3356.   102570:   c1 e8 10                shr    $0x10,%eax
  3357.   102573:   66 a3 9e b0 10 00       mov    %ax,0x10b09e
  3358.   102579:   b8 6e 00 10 00          mov    $0x10006e,%eax
  3359.   10257e:   66 a3 a0 b0 10 00       mov    %ax,0x10b0a0
  3360.   102584:   c1 e8 10                shr    $0x10,%eax
  3361.   102587:   66 a3 a6 b0 10 00       mov    %ax,0x10b0a6
  3362.   10258d:   b8 75 00 10 00          mov    $0x100075,%eax
  3363.   102592:   66 a3 a8 b0 10 00       mov    %ax,0x10b0a8
  3364.   102598:   c1 e8 10                shr    $0x10,%eax
  3365.   10259b:   66 a3 ae b0 10 00       mov    %ax,0x10b0ae
  3366.   1025a1:   b8 7e 00 10 00          mov    $0x10007e,%eax
  3367.   1025a6:   66 a3 b0 b0 10 00       mov    %ax,0x10b0b0
  3368.   1025ac:   c1 e8 10                shr    $0x10,%eax
  3369.   1025af:   c7 05 6a b0 10 00 08    movl   $0x8e000008,0x10b06a
  3370.   1025b6:   00 00 8e
  3371.   1025b9:   c7 05 72 b0 10 00 08    movl   $0x8e000008,0x10b072
  3372.   1025c0:   00 00 8e
  3373.   1025c3:   c7 05 7a b0 10 00 08    movl   $0x8e000008,0x10b07a
  3374.   1025ca:   00 00 8e
  3375.   1025cd:   c7 05 82 b0 10 00 08    movl   $0x8e000008,0x10b082
  3376.   1025d4:   00 00 8e
  3377.   1025d7:   c7 05 8a b0 10 00 08    movl   $0x8e000008,0x10b08a
  3378.   1025de:   00 00 8e
  3379.   1025e1:   c7 05 92 b0 10 00 08    movl   $0x8e000008,0x10b092
  3380.   1025e8:   00 00 8e
  3381.   1025eb:   c7 05 9a b0 10 00 08    movl   $0x8e000008,0x10b09a
  3382.   1025f2:   00 00 8e
  3383.   1025f5:   c7 05 a2 b0 10 00 08    movl   $0x8e000008,0x10b0a2
  3384.   1025fc:   00 00 8e
  3385.   1025ff:   c7 05 aa b0 10 00 08    movl   $0x8e000008,0x10b0aa
  3386.   102606:   00 00 8e
  3387.   102609:   c7 05 b2 b0 10 00 08    movl   $0x8e000008,0x10b0b2
  3388.   102610:   00 00 8e
  3389.   102613:   66 a3 b6 b0 10 00       mov    %ax,0x10b0b6
  3390.   102619:   b8 85 00 10 00          mov    $0x100085,%eax
  3391.   10261e:   66 a3 b8 b0 10 00       mov    %ax,0x10b0b8
  3392.   102624:   c1 e8 10                shr    $0x10,%eax
  3393.   102627:   66 a3 be b0 10 00       mov    %ax,0x10b0be
  3394.   10262d:   b8 8c 00 10 00          mov    $0x10008c,%eax
  3395.   102632:   66 a3 c0 b0 10 00       mov    %ax,0x10b0c0
  3396.   102638:   c1 e8 10                shr    $0x10,%eax
  3397.   10263b:   66 a3 c6 b0 10 00       mov    %ax,0x10b0c6
  3398.   102641:   b8 93 00 10 00          mov    $0x100093,%eax
  3399.   102646:   66 a3 c8 b0 10 00       mov    %ax,0x10b0c8
  3400.   10264c:   c1 e8 10                shr    $0x10,%eax
  3401.   10264f:   66 a3 ce b0 10 00       mov    %ax,0x10b0ce
  3402.   102655:   b8 9a 00 10 00          mov    $0x10009a,%eax
  3403.   10265a:   66 a3 d0 b0 10 00       mov    %ax,0x10b0d0
  3404.   102660:   c1 e8 10                shr    $0x10,%eax
  3405.   102663:   66 a3 d6 b0 10 00       mov    %ax,0x10b0d6
  3406.   102669:   b8 a1 00 10 00          mov    $0x1000a1,%eax
  3407.   10266e:   66 a3 d8 b0 10 00       mov    %ax,0x10b0d8
  3408.   102674:   c1 e8 10                shr    $0x10,%eax
  3409.   102677:   66 a3 de b0 10 00       mov    %ax,0x10b0de
  3410.   10267d:   b8 aa 00 10 00          mov    $0x1000aa,%eax
  3411.   102682:   66 a3 e0 b0 10 00       mov    %ax,0x10b0e0
  3412.   102688:   c1 e8 10                shr    $0x10,%eax
  3413.   10268b:   66 a3 e6 b0 10 00       mov    %ax,0x10b0e6
  3414.   102691:   b8 b3 00 10 00          mov    $0x1000b3,%eax
  3415.   102696:   66 a3 e8 b0 10 00       mov    %ax,0x10b0e8
  3416.   10269c:   c1 e8 10                shr    $0x10,%eax
  3417.   10269f:   66 a3 ee b0 10 00       mov    %ax,0x10b0ee
  3418.   1026a5:   b8 ba 00 10 00          mov    $0x1000ba,%eax
  3419.   1026aa:   66 a3 f0 b0 10 00       mov    %ax,0x10b0f0
  3420.   1026b0:   c1 e8 10                shr    $0x10,%eax
  3421.   1026b3:   66 a3 f6 b0 10 00       mov    %ax,0x10b0f6
  3422.   1026b9:   b8 c3 00 10 00          mov    $0x1000c3,%eax
  3423.   1026be:   66 a3 f8 b0 10 00       mov    %ax,0x10b0f8
  3424.   1026c4:   c1 e8 10                shr    $0x10,%eax
  3425.   1026c7:   66 a3 fe b0 10 00       mov    %ax,0x10b0fe
  3426.   1026cd:   b8 cc 00 10 00          mov    $0x1000cc,%eax
  3427.   1026d2:   66 a3 00 b1 10 00       mov    %ax,0x10b100
  3428.   1026d8:   c1 e8 10                shr    $0x10,%eax
  3429.   1026db:   66 a3 06 b1 10 00       mov    %ax,0x10b106
  3430.   1026e1:   b8 d5 00 10 00          mov    $0x1000d5,%eax
  3431.   1026e6:   66 a3 08 b1 10 00       mov    %ax,0x10b108
  3432.   1026ec:   c1 e8 10                shr    $0x10,%eax
  3433.   1026ef:   c7 05 ba b0 10 00 08    movl   $0x8e000008,0x10b0ba
  3434.   1026f6:   00 00 8e
  3435.   1026f9:   c7 05 c2 b0 10 00 08    movl   $0x8e000008,0x10b0c2
  3436.   102700:   00 00 8e
  3437.   102703:   c7 05 ca b0 10 00 08    movl   $0x8e000008,0x10b0ca
  3438.   10270a:   00 00 8e
  3439.   10270d:   c7 05 d2 b0 10 00 08    movl   $0x8e000008,0x10b0d2
  3440.   102714:   00 00 8e
  3441.   102717:   c7 05 da b0 10 00 08    movl   $0x8e000008,0x10b0da
  3442.   10271e:   00 00 8e
  3443.   102721:   c7 05 e2 b0 10 00 08    movl   $0x8e000008,0x10b0e2
  3444.   102728:   00 00 8e
  3445.   10272b:   c7 05 ea b0 10 00 08    movl   $0x8e000008,0x10b0ea
  3446.   102732:   00 00 8e
  3447.   102735:   c7 05 f2 b0 10 00 08    movl   $0x8e000008,0x10b0f2
  3448.   10273c:   00 00 8e
  3449.   10273f:   c7 05 fa b0 10 00 08    movl   $0x8e000008,0x10b0fa
  3450.   102746:   00 00 8e
  3451.   102749:   c7 05 02 b1 10 00 08    movl   $0x8e000008,0x10b102
  3452.   102750:   00 00 8e
  3453.   102753:   c7 05 0a b1 10 00 08    movl   $0x8e000008,0x10b10a
  3454.   10275a:   00 00 8e
  3455.   10275d:   66 a3 0e b1 10 00       mov    %ax,0x10b10e
  3456.   102763:   b8 dc 00 10 00          mov    $0x1000dc,%eax
  3457.   102768:   66 a3 10 b1 10 00       mov    %ax,0x10b110
  3458.   10276e:   c1 e8 10                shr    $0x10,%eax
  3459.   102771:   66 a3 16 b1 10 00       mov    %ax,0x10b116
  3460.   102777:   b8 e5 00 10 00          mov    $0x1000e5,%eax
  3461.   10277c:   66 a3 18 b1 10 00       mov    %ax,0x10b118
  3462.   102782:   c1 e8 10                shr    $0x10,%eax
  3463.   102785:   66 a3 1e b1 10 00       mov    %ax,0x10b11e
  3464.   10278b:   b8 ee 00 10 00          mov    $0x1000ee,%eax
  3465.   102790:   66 a3 20 b1 10 00       mov    %ax,0x10b120
  3466.   102796:   c1 e8 10                shr    $0x10,%eax
  3467.   102799:   66 a3 26 b1 10 00       mov    %ax,0x10b126
  3468.   10279f:   b8 f7 00 10 00          mov    $0x1000f7,%eax
  3469.   1027a4:   66 a3 28 b1 10 00       mov    %ax,0x10b128
  3470.   1027aa:   c1 e8 10                shr    $0x10,%eax
  3471.   1027ad:   66 a3 2e b1 10 00       mov    %ax,0x10b12e
  3472.   1027b3:   b8 00 01 10 00          mov    $0x100100,%eax
  3473.   1027b8:   66 a3 30 b1 10 00       mov    %ax,0x10b130
  3474.   1027be:   c1 e8 10                shr    $0x10,%eax
  3475.   1027c1:   66 a3 36 b1 10 00       mov    %ax,0x10b136
  3476.   1027c7:   b8 06 01 10 00          mov    $0x100106,%eax
  3477.   1027cc:   66 a3 38 b1 10 00       mov    %ax,0x10b138
  3478.   1027d2:   c1 e8 10                shr    $0x10,%eax
  3479.   1027d5:   66 a3 3e b1 10 00       mov    %ax,0x10b13e
  3480.   1027db:   b8 0c 01 10 00          mov    $0x10010c,%eax
  3481.   1027e0:   66 a3 40 b1 10 00       mov    %ax,0x10b140
  3482.   1027e6:   c1 e8 10                shr    $0x10,%eax
  3483.   1027e9:   66 a3 46 b1 10 00       mov    %ax,0x10b146
  3484.   1027ef:   b8 12 01 10 00          mov    $0x100112,%eax
  3485.   1027f4:   66 a3 48 b1 10 00       mov    %ax,0x10b148
  3486.   1027fa:   c1 e8 10                shr    $0x10,%eax
  3487.   1027fd:   66 a3 4e b1 10 00       mov    %ax,0x10b14e
  3488.   102803:   b8 18 01 10 00          mov    $0x100118,%eax
  3489.   102808:   66 a3 50 b1 10 00       mov    %ax,0x10b150
  3490.   10280e:   c1 e8 10                shr    $0x10,%eax
  3491.   102811:   66 a3 56 b1 10 00       mov    %ax,0x10b156
  3492.   102817:   b8 1e 01 10 00          mov    $0x10011e,%eax
  3493.   10281c:   66 a3 58 b1 10 00       mov    %ax,0x10b158
  3494.   102822:   c1 e8 10                shr    $0x10,%eax
  3495.   102825:   66 a3 5e b1 10 00       mov    %ax,0x10b15e
  3496.   10282b:   b8 24 01 10 00          mov    $0x100124,%eax
  3497.   102830:   66 89 0d 2a b1 10 00    mov    %cx,0x10b12a
  3498.   102837:   b9 00 8e ff ff          mov    $0xffff8e00,%ecx
  3499.   10283c:   c7 05 12 b1 10 00 08    movl   $0x8e000008,0x10b112
  3500.   102843:   00 00 8e
  3501.   102846:   c7 05 1a b1 10 00 08    movl   $0x8e000008,0x10b11a
  3502.   10284d:   00 00 8e
  3503.   102850:   c7 05 22 b1 10 00 08    movl   $0x8e000008,0x10b122
  3504.   102857:   00 00 8e
  3505.   10285a:   c6 05 2c b1 10 00 00    movb   $0x0,0x10b12c
  3506.   102861:   c6 05 2d b1 10 00 8e    movb   $0x8e,0x10b12d
  3507.   102868:   c7 05 32 b1 10 00 08    movl   $0x8e000008,0x10b132
  3508.   10286f:   00 00 8e
  3509.   102872:   c7 05 3a b1 10 00 08    movl   $0x8e000008,0x10b13a
  3510.   102879:   00 00 8e
  3511.   10287c:   c7 05 42 b1 10 00 08    movl   $0x8e000008,0x10b142
  3512.   102883:   00 00 8e
  3513.   102886:   c7 05 4a b1 10 00 08    movl   $0x8e000008,0x10b14a
  3514.   10288d:   00 00 8e
  3515.   102890:   c7 05 52 b1 10 00 08    movl   $0x8e000008,0x10b152
  3516.   102897:   00 00 8e
  3517.   10289a:   c7 05 5a b1 10 00 08    movl   $0x8e000008,0x10b15a
  3518.   1028a1:   00 00 8e
  3519.   1028a4:   66 a3 60 b1 10 00       mov    %ax,0x10b160
  3520.   1028aa:   c1 e8 10                shr    $0x10,%eax
  3521.   1028ad:   66 a3 66 b1 10 00       mov    %ax,0x10b166
  3522.   1028b3:   b8 2a 01 10 00          mov    $0x10012a,%eax
  3523.   1028b8:   66 a3 68 b1 10 00       mov    %ax,0x10b168
  3524.   1028be:   c1 e8 10                shr    $0x10,%eax
  3525.   1028c1:   66 a3 6e b1 10 00       mov    %ax,0x10b16e
  3526.   1028c7:   b8 30 01 10 00          mov    $0x100130,%eax
  3527.   1028cc:   66 a3 70 b1 10 00       mov    %ax,0x10b170
  3528.   1028d2:   c1 e8 10                shr    $0x10,%eax
  3529.   1028d5:   66 a3 76 b1 10 00       mov    %ax,0x10b176
  3530.   1028db:   b8 36 01 10 00          mov    $0x100136,%eax
  3531.   1028e0:   66 a3 78 b1 10 00       mov    %ax,0x10b178
  3532.   1028e6:   c1 e8 10                shr    $0x10,%eax
  3533.   1028e9:   66 a3 7e b1 10 00       mov    %ax,0x10b17e
  3534.   1028ef:   b8 3c 01 10 00          mov    $0x10013c,%eax
  3535.   1028f4:   66 a3 80 b1 10 00       mov    %ax,0x10b180
  3536.   1028fa:   c1 e8 10                shr    $0x10,%eax
  3537.   1028fd:   66 a3 86 b1 10 00       mov    %ax,0x10b186
  3538.   102903:   b8 42 01 10 00          mov    $0x100142,%eax
  3539.   102908:   66 a3 88 b1 10 00       mov    %ax,0x10b188
  3540.   10290e:   c1 e8 10                shr    $0x10,%eax
  3541.   102911:   66 a3 8e b1 10 00       mov    %ax,0x10b18e
  3542.   102917:   b8 48 01 10 00          mov    $0x100148,%eax
  3543.   10291c:   66 a3 90 b1 10 00       mov    %ax,0x10b190
  3544.   102922:   c1 e8 10                shr    $0x10,%eax
  3545.   102925:   66 a3 96 b1 10 00       mov    %ax,0x10b196
  3546.   10292b:   b8 4e 01 10 00          mov    $0x10014e,%eax
  3547.   102930:   66 a3 98 b1 10 00       mov    %ax,0x10b198
  3548.   102936:   c1 e8 10                shr    $0x10,%eax
  3549.   102939:   66 a3 9e b1 10 00       mov    %ax,0x10b19e
  3550.   10293f:   b8 54 01 10 00          mov    $0x100154,%eax
  3551.   102944:   66 a3 a0 b1 10 00       mov    %ax,0x10b1a0
  3552.   10294a:   c1 e8 10                shr    $0x10,%eax
  3553.   10294d:   66 a3 a6 b1 10 00       mov    %ax,0x10b1a6
  3554.   102953:   b8 5a 01 10 00          mov    $0x10015a,%eax
  3555.   102958:   66 a3 a8 b1 10 00       mov    %ax,0x10b1a8
  3556.   10295e:   c1 e8 10                shr    $0x10,%eax
  3557.   102961:   66 a3 ae b1 10 00       mov    %ax,0x10b1ae
  3558.   102967:   b8 60 01 10 00          mov    $0x100160,%eax
  3559.   10296c:   66 a3 b0 b1 10 00       mov    %ax,0x10b1b0
  3560.   102972:   c1 e8 10                shr    $0x10,%eax
  3561.   102975:   66 89 15 92 b1 10 00    mov    %dx,0x10b192
  3562.   10297c:   66 89 0d 94 b1 10 00    mov    %cx,0x10b194
  3563.   102983:   c7 05 62 b1 10 00 08    movl   $0x8e000008,0x10b162
  3564.   10298a:   00 00 8e
  3565.   10298d:   c7 05 6a b1 10 00 08    movl   $0x8e000008,0x10b16a
  3566.   102994:   00 00 8e
  3567.   102997:   c7 05 72 b1 10 00 08    movl   $0x8e000008,0x10b172
  3568.   10299e:   00 00 8e
  3569.   1029a1:   c7 05 7a b1 10 00 08    movl   $0x8e000008,0x10b17a
  3570.   1029a8:   00 00 8e
  3571.   1029ab:   c7 05 82 b1 10 00 08    movl   $0x8e000008,0x10b182
  3572.   1029b2:   00 00 8e
  3573.   1029b5:   c7 05 8a b1 10 00 08    movl   $0x8e000008,0x10b18a
  3574.   1029bc:   00 00 8e
  3575.   1029bf:   c7 05 9a b1 10 00 08    movl   $0x8e000008,0x10b19a
  3576.   1029c6:   00 00 8e
  3577.   1029c9:   c7 05 a2 b1 10 00 08    movl   $0x8e000008,0x10b1a2
  3578.   1029d0:   00 00 8e
  3579.   1029d3:   c7 05 aa b1 10 00 08    movl   $0x8e000008,0x10b1aa
  3580.   1029da:   00 00 8e
  3581.   1029dd:   c7 05 b2 b1 10 00 08    movl   $0x8e000008,0x10b1b2
  3582.   1029e4:   00 00 8e
  3583.   1029e7:   66 a3 b6 b1 10 00       mov    %ax,0x10b1b6
  3584.   1029ed:   b8 66 01 10 00          mov    $0x100166,%eax
  3585.   1029f2:   66 a3 b8 b1 10 00       mov    %ax,0x10b1b8
  3586.   1029f8:   c1 e8 10                shr    $0x10,%eax
  3587.   1029fb:   66 a3 be b1 10 00       mov    %ax,0x10b1be
  3588.   102a01:   b8 6c 01 10 00          mov    $0x10016c,%eax
  3589.   102a06:   66 a3 c0 b1 10 00       mov    %ax,0x10b1c0
  3590.   102a0c:   c1 e8 10                shr    $0x10,%eax
  3591.   102a0f:   66 a3 c6 b1 10 00       mov    %ax,0x10b1c6
  3592.   102a15:   b8 72 01 10 00          mov    $0x100172,%eax
  3593.   102a1a:   66 a3 c8 b1 10 00       mov    %ax,0x10b1c8
  3594.   102a20:   c1 e8 10                shr    $0x10,%eax
  3595.   102a23:   66 a3 ce b1 10 00       mov    %ax,0x10b1ce
  3596.   102a29:   b8 78 01 10 00          mov    $0x100178,%eax
  3597.   102a2e:   66 a3 d0 b1 10 00       mov    %ax,0x10b1d0
  3598.   102a34:   c1 e8 10                shr    $0x10,%eax
  3599.   102a37:   66 a3 d6 b1 10 00       mov    %ax,0x10b1d6
  3600.   102a3d:   b8 7e 01 10 00          mov    $0x10017e,%eax
  3601.   102a42:   66 a3 d8 b1 10 00       mov    %ax,0x10b1d8
  3602.   102a48:   c1 e8 10                shr    $0x10,%eax
  3603.   102a4b:   66 a3 de b1 10 00       mov    %ax,0x10b1de
  3604.   102a51:   b8 ff 07 00 00          mov    $0x7ff,%eax
  3605.   102a56:   c7 04 24 40 b0 10 00    movl   $0x10b040,(%esp)
  3606.   102a5d:   c7 05 ba b1 10 00 08    movl   $0x8e000008,0x10b1ba
  3607.   102a64:   00 00 8e
  3608.   102a67:   c7 05 c2 b1 10 00 08    movl   $0x8e000008,0x10b1c2
  3609.   102a6e:   00 00 8e
  3610.   102a71:   c7 05 ca b1 10 00 08    movl   $0x8e000008,0x10b1ca
  3611.   102a78:   00 00 8e
  3612.   102a7b:   c7 05 d2 b1 10 00 08    movl   $0x8e000008,0x10b1d2
  3613.   102a82:   00 00 8e
  3614.   102a85:   c7 05 da b1 10 00 08    movl   $0x8e000008,0x10b1da
  3615.   102a8c:   00 00 8e
  3616.   102a8f:   66 a3 40 b0 10 00       mov    %ax,0x10b040
  3617.   102a95:   c7 05 42 b0 10 00 60    movl   $0x10b060,0x10b042
  3618.   102a9c:   b0 10 00
  3619.   102a9f:   e8 7a d5 ff ff          call   10001e <idt_load>
  3620.   102aa4:   83 c4 10                add    $0x10,%esp
  3621.   102aa7:   c9                      leave  
  3622.   102aa8:   c3                      ret    
  3623.   102aa9:   66 90                   xchg   %ax,%ax
  3624.   102aab:   66 90                   xchg   %ax,%ax
  3625.   102aad:   66 90                   xchg   %ax,%ax
  3626.   102aaf:   90                      nop
  3627.  
  3628. 00102ab0 <isr_register>:
  3629.   102ab0:   55                      push   %ebp
  3630.   102ab1:   89 e5                   mov    %esp,%ebp
  3631.   102ab3:   83 ec 08                sub    $0x8,%esp
  3632.   102ab6:   0f b6 45 08             movzbl 0x8(%ebp),%eax
  3633.   102aba:   8b 14 85 60 b8 10 00    mov    0x10b860(,%eax,4),%edx
  3634.   102ac1:   85 d2                   test   %edx,%edx
  3635.   102ac3:   74 3e                   je     102b03 <isr_register+0x53>
  3636.   102ac5:   83 ec 04                sub    $0x4,%esp
  3637.   102ac8:   50                      push   %eax
  3638.   102ac9:   68 bc 43 10 00          push   $0x1043bc
  3639.   102ace:   6a 04                   push   $0x4
  3640.   102ad0:   e8 eb e8 ff ff          call   1013c0 <cprintf>
  3641.   102ad5:   fa                      cli    
  3642.   102ad6:   c7 04 24 1b 00 00 00    movl   $0x1b,(%esp)
  3643.   102add:   68 22 43 10 00          push   $0x104322
  3644.   102ae2:   68 34 42 10 00          push   $0x104234
  3645.   102ae7:   68 f8 43 10 00          push   $0x1043f8
  3646.   102aec:   6a 05                   push   $0x5
  3647.   102aee:   e8 cd e8 ff ff          call   1013c0 <cprintf>
  3648.   102af3:   83 c4 20                add    $0x20,%esp
  3649.   102af6:   e8 f5 d9 ff ff          call   1004f0 <stack_trace>
  3650.   102afb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3651.   102aff:   90                      nop
  3652.   102b00:   f4                      hlt    
  3653.   102b01:   eb fd                   jmp    102b00 <isr_register+0x50>
  3654.   102b03:   8b 55 0c                mov    0xc(%ebp),%edx
  3655.   102b06:   89 14 85 60 b8 10 00    mov    %edx,0x10b860(,%eax,4)
  3656.   102b0d:   c9                      leave  
  3657.   102b0e:   c3                      ret    
  3658.   102b0f:   90                      nop
  3659.  
  3660. 00102b10 <isr_handler>:
  3661.   102b10:   55                      push   %ebp
  3662.   102b11:   89 e5                   mov    %esp,%ebp
  3663.   102b13:   57                      push   %edi
  3664.   102b14:   56                      push   %esi
  3665.   102b15:   53                      push   %ebx
  3666.   102b16:   83 ec 0c                sub    $0xc,%esp
  3667.   102b19:   8b 5d 08                mov    0x8(%ebp),%ebx
  3668.   102b1c:   8b 43 24                mov    0x24(%ebx),%eax
  3669.   102b1f:   3c 1f                   cmp    $0x1f,%al
  3670.   102b21:   77 1d                   ja     102b40 <isr_handler+0x30>
  3671.   102b23:   0f b6 c0                movzbl %al,%eax
  3672.   102b26:   8b 14 85 60 b8 10 00    mov    0x10b860(,%eax,4),%edx
  3673.   102b2d:   85 d2                   test   %edx,%edx
  3674.   102b2f:   74 70                   je     102ba1 <isr_handler+0x91>
  3675.   102b31:   89 5d 08                mov    %ebx,0x8(%ebp)
  3676.   102b34:   8d 65 f4                lea    -0xc(%ebp),%esp
  3677.   102b37:   5b                      pop    %ebx
  3678.   102b38:   5e                      pop    %esi
  3679.   102b39:   5f                      pop    %edi
  3680.   102b3a:   5d                      pop    %ebp
  3681.   102b3b:   ff e2                   jmp    *%edx
  3682.   102b3d:   8d 76 00                lea    0x0(%esi),%esi
  3683.   102b40:   3c 2f                   cmp    $0x2f,%al
  3684.   102b42:   77 2d                   ja     102b71 <isr_handler+0x61>
  3685.   102b44:   0f b6 f8                movzbl %al,%edi
  3686.   102b47:   8d 70 e0                lea    -0x20(%eax),%esi
  3687.   102b4a:   8b 14 bd 60 b8 10 00    mov    0x10b860(,%edi,4),%edx
  3688.   102b51:   85 d2                   test   %edx,%edx
  3689.   102b53:   0f 84 ab 00 00 00       je     102c04 <isr_handler+0xf4>
  3690.   102b59:   83 f8 20                cmp    $0x20,%eax
  3691.   102b5c:   0f 84 81 00 00 00       je     102be3 <isr_handler+0xd3>
  3692.   102b62:   83 ec 0c                sub    $0xc,%esp
  3693.   102b65:   53                      push   %ebx
  3694.   102b66:   ff d2                   call   *%edx
  3695.   102b68:   83 c4 10                add    $0x10,%esp
  3696.   102b6b:   83 7b 24 20             cmpl   $0x20,0x24(%ebx)
  3697.   102b6f:   75 0f                   jne    102b80 <isr_handler+0x70>
  3698.   102b71:   8d 65 f4                lea    -0xc(%ebp),%esp
  3699.   102b74:   5b                      pop    %ebx
  3700.   102b75:   5e                      pop    %esi
  3701.   102b76:   5f                      pop    %edi
  3702.   102b77:   5d                      pop    %ebp
  3703.   102b78:   c3                      ret    
  3704.   102b79:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3705.   102b80:   89 f0                   mov    %esi,%eax
  3706.   102b82:   3c 07                   cmp    $0x7,%al
  3707.   102b84:   0f 87 b9 00 00 00       ja     102c43 <isr_handler+0x133>
  3708.   102b8a:   83 ec 08                sub    $0x8,%esp
  3709.   102b8d:   6a 20                   push   $0x20
  3710.   102b8f:   6a 20                   push   $0x20
  3711.   102b91:   e8 3a da ff ff          call   1005d0 <outb>
  3712.   102b96:   83 c4 10                add    $0x10,%esp
  3713.   102b99:   8d 65 f4                lea    -0xc(%ebp),%esp
  3714.   102b9c:   5b                      pop    %ebx
  3715.   102b9d:   5e                      pop    %esi
  3716.   102b9e:   5f                      pop    %edi
  3717.   102b9f:   5d                      pop    %ebp
  3718.   102ba0:   c3                      ret    
  3719.   102ba1:   83 ec 04                sub    $0x4,%esp
  3720.   102ba4:   50                      push   %eax
  3721.   102ba5:   68 34 44 10 00          push   $0x104434
  3722.   102baa:   6a 04                   push   $0x4
  3723.   102bac:   e8 0f e8 ff ff          call   1013c0 <cprintf>
  3724.   102bb1:   fa                      cli    
  3725.   102bb2:   c7 04 24 3d 00 00 00    movl   $0x3d,(%esp)
  3726.   102bb9:   68 22 43 10 00          push   $0x104322
  3727.   102bbe:   68 28 42 10 00          push   $0x104228
  3728.   102bc3:   68 f8 43 10 00          push   $0x1043f8
  3729.   102bc8:   6a 05                   push   $0x5
  3730.   102bca:   e8 f1 e7 ff ff          call   1013c0 <cprintf>
  3731.   102bcf:   83 c4 20                add    $0x20,%esp
  3732.   102bd2:   e8 19 d9 ff ff          call   1004f0 <stack_trace>
  3733.   102bd7:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3734.   102bde:   66 90                   xchg   %ax,%ax
  3735.   102be0:   f4                      hlt    
  3736.   102be1:   eb fd                   jmp    102be0 <isr_handler+0xd0>
  3737.   102be3:   89 f0                   mov    %esi,%eax
  3738.   102be5:   3c 07                   cmp    $0x7,%al
  3739.   102be7:   77 71                   ja     102c5a <isr_handler+0x14a>
  3740.   102be9:   83 ec 08                sub    $0x8,%esp
  3741.   102bec:   6a 20                   push   $0x20
  3742.   102bee:   6a 20                   push   $0x20
  3743.   102bf0:   e8 db d9 ff ff          call   1005d0 <outb>
  3744.   102bf5:   8b 14 bd 60 b8 10 00    mov    0x10b860(,%edi,4),%edx
  3745.   102bfc:   83 c4 10                add    $0x10,%esp
  3746.   102bff:   e9 5e ff ff ff          jmp    102b62 <isr_handler+0x52>
  3747.   102c04:   89 f0                   mov    %esi,%eax
  3748.   102c06:   83 ec 04                sub    $0x4,%esp
  3749.   102c09:   0f b6 f0                movzbl %al,%esi
  3750.   102c0c:   56                      push   %esi
  3751.   102c0d:   68 60 44 10 00          push   $0x104460
  3752.   102c12:   6a 04                   push   $0x4
  3753.   102c14:   e8 a7 e7 ff ff          call   1013c0 <cprintf>
  3754.   102c19:   fa                      cli    
  3755.   102c1a:   c7 04 24 47 00 00 00    movl   $0x47,(%esp)
  3756.   102c21:   68 22 43 10 00          push   $0x104322
  3757.   102c26:   68 28 42 10 00          push   $0x104228
  3758.   102c2b:   68 f8 43 10 00          push   $0x1043f8
  3759.   102c30:   6a 05                   push   $0x5
  3760.   102c32:   e8 89 e7 ff ff          call   1013c0 <cprintf>
  3761.   102c37:   83 c4 20                add    $0x20,%esp
  3762.   102c3a:   e8 b1 d8 ff ff          call   1004f0 <stack_trace>
  3763.   102c3f:   90                      nop
  3764.   102c40:   f4                      hlt    
  3765.   102c41:   eb fd                   jmp    102c40 <isr_handler+0x130>
  3766.   102c43:   83 ec 08                sub    $0x8,%esp
  3767.   102c46:   6a 20                   push   $0x20
  3768.   102c48:   68 a0 00 00 00          push   $0xa0
  3769.   102c4d:   e8 7e d9 ff ff          call   1005d0 <outb>
  3770.   102c52:   83 c4 10                add    $0x10,%esp
  3771.   102c55:   e9 30 ff ff ff          jmp    102b8a <isr_handler+0x7a>
  3772.   102c5a:   83 ec 08                sub    $0x8,%esp
  3773.   102c5d:   6a 20                   push   $0x20
  3774.   102c5f:   68 a0 00 00 00          push   $0xa0
  3775.   102c64:   e8 67 d9 ff ff          call   1005d0 <outb>
  3776.   102c69:   83 c4 10                add    $0x10,%esp
  3777.   102c6c:   e9 78 ff ff ff          jmp    102be9 <isr_handler+0xd9>
  3778.   102c71:   66 90                   xchg   %ax,%ax
  3779.   102c73:   66 90                   xchg   %ax,%ax
  3780.   102c75:   66 90                   xchg   %ax,%ax
  3781.   102c77:   66 90                   xchg   %ax,%ax
  3782.   102c79:   66 90                   xchg   %ax,%ax
  3783.   102c7b:   66 90                   xchg   %ax,%ax
  3784.   102c7d:   66 90                   xchg   %ax,%ax
  3785.   102c7f:   90                      nop
  3786.  
  3787. 00102c80 <kernel_main>:
  3788.   102c80:   55                      push   %ebp
  3789.   102c81:   89 e5                   mov    %esp,%ebp
  3790.   102c83:   53                      push   %ebx
  3791.   102c84:   83 ec 04                sub    $0x4,%esp
  3792.   102c87:   8b 5d 08                mov    0x8(%ebp),%ebx
  3793.   102c8a:   e8 71 f4 ff ff          call   102100 <terminal_init>
  3794.   102c8f:   81 fb 02 b0 ad 2b       cmp    $0x2badb002,%ebx
  3795.   102c95:   74 3c                   je     102cd3 <kernel_main+0x53>
  3796.   102c97:   51                      push   %ecx
  3797.   102c98:   53                      push   %ebx
  3798.   102c99:   68 88 44 10 00          push   $0x104488
  3799.   102c9e:   6a 04                   push   $0x4
  3800.   102ca0:   e8 1b e7 ff ff          call   1013c0 <cprintf>
  3801.   102ca5:   fa                      cli    
  3802.   102ca6:   c7 04 24 12 00 00 00    movl   $0x12,(%esp)
  3803.   102cad:   68 36 43 10 00          push   $0x104336
  3804.   102cb2:   68 44 42 10 00          push   $0x104244
  3805.   102cb7:   68 f8 43 10 00          push   $0x1043f8
  3806.   102cbc:   6a 05                   push   $0x5
  3807.   102cbe:   e8 fd e6 ff ff          call   1013c0 <cprintf>
  3808.   102cc3:   83 c4 20                add    $0x20,%esp
  3809.   102cc6:   e8 25 d8 ff ff          call   1004f0 <stack_trace>
  3810.   102ccb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3811.   102ccf:   90                      nop
  3812.   102cd0:   f4                      hlt    
  3813.   102cd1:   eb fd                   jmp    102cd0 <kernel_main+0x50>
  3814.   102cd3:   83 ec 0c                sub    $0xc,%esp
  3815.   102cd6:   ff 75 0c                push   0xc(%ebp)
  3816.   102cd9:   e8 42 d7 ff ff          call   100420 <debug_init>
  3817.   102cde:   e8 7d 00 00 00          call   102d60 <gdt_init>
  3818.   102ce3:   e8 48 f7 ff ff          call   102430 <idt_init>
  3819.   102ce8:   e8 63 f3 ff ff          call   102050 <timer_init>
  3820.   102ced:   e8 2e f3 ff ff          call   102020 <keyboard_init>
  3821.   102cf2:   31 c0                   xor    %eax,%eax
  3822.   102cf4:   f7 f0                   div    %eax
  3823.   102cf6:   e8 35 03 00 00          call   103030 <paging_init>
  3824.   102cfb:   83 c4 0c                add    $0xc,%esp
  3825.   102cfe:   68 80 00 00 00          push   $0x80
  3826.   102d03:   68 b8 44 10 00          push   $0x1044b8
  3827.   102d08:   6a 03                   push   $0x3
  3828.   102d0a:   e8 b1 e6 ff ff          call   1013c0 <cprintf>
  3829.   102d0f:   83 c4 0c                add    $0xc,%esp
  3830.   102d12:   6a 08                   push   $0x8
  3831.   102d14:   68 e8 44 10 00          push   $0x1044e8
  3832.   102d19:   6a 03                   push   $0x3
  3833.   102d1b:   e8 a0 e6 ff ff          call   1013c0 <cprintf>
  3834.   102d20:   fb                      sti    
  3835.   102d21:   c7 04 24 18 45 10 00    movl   $0x104518,(%esp)
  3836.   102d28:   e8 73 e6 ff ff          call   1013a0 <printf>
  3837.   102d2d:   58                      pop    %eax
  3838.   102d2e:   5a                      pop    %edx
  3839.   102d2f:   ff 35 23 01 de bc       push   0xbcde0123
  3840.   102d35:   68 41 43 10 00          push   $0x104341
  3841.   102d3a:   e8 61 e6 ff ff          call   1013a0 <printf>
  3842.   102d3f:   fb                      sti    
  3843.   102d40:   83 c4 10                add    $0x10,%esp
  3844.   102d43:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3845.   102d4a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  3846.   102d50:   f4                      hlt    
  3847.   102d51:   eb fd                   jmp    102d50 <kernel_main+0xd0>
  3848.   102d53:   66 90                   xchg   %ax,%ax
  3849.   102d55:   66 90                   xchg   %ax,%ax
  3850.   102d57:   66 90                   xchg   %ax,%ax
  3851.   102d59:   66 90                   xchg   %ax,%ax
  3852.   102d5b:   66 90                   xchg   %ax,%ax
  3853.   102d5d:   66 90                   xchg   %ax,%ax
  3854.   102d5f:   90                      nop
  3855.  
  3856. 00102d60 <gdt_init>:
  3857.   102d60:   55                      push   %ebp
  3858.   102d61:   b8 2f 00 00 00          mov    $0x2f,%eax
  3859.   102d66:   89 e5                   mov    %esp,%ebp
  3860.   102d68:   83 ec 0c                sub    $0xc,%esp
  3861.   102d6b:   66 a3 60 bc 10 00       mov    %ax,0x10bc60
  3862.   102d71:   6a 08                   push   $0x8
  3863.   102d73:   6a 10                   push   $0x10
  3864.   102d75:   68 60 bc 10 00          push   $0x10bc60
  3865.   102d7a:   c7 05 80 bc 10 00 00    movl   $0x0,0x10bc80
  3866.   102d81:   00 00 00
  3867.   102d84:   c7 05 84 bc 10 00 00    movl   $0x0,0x10bc84
  3868.   102d8b:   00 00 00
  3869.   102d8e:   c7 05 88 bc 10 00 ff    movl   $0xffff,0x10bc88
  3870.   102d95:   ff 00 00
  3871.   102d98:   c7 05 8c bc 10 00 00    movl   $0xcf9a00,0x10bc8c
  3872.   102d9f:   9a cf 00
  3873.   102da2:   c7 05 90 bc 10 00 ff    movl   $0xffff,0x10bc90
  3874.   102da9:   ff 00 00
  3875.   102dac:   c7 05 94 bc 10 00 00    movl   $0xcf9200,0x10bc94
  3876.   102db3:   92 cf 00
  3877.   102db6:   c7 05 98 bc 10 00 ff    movl   $0xffff,0x10bc98
  3878.   102dbd:   ff 00 00
  3879.   102dc0:   c7 05 9c bc 10 00 00    movl   $0xcffa00,0x10bc9c
  3880.   102dc7:   fa cf 00
  3881.   102dca:   c7 05 a0 bc 10 00 ff    movl   $0xffff,0x10bca0
  3882.   102dd1:   ff 00 00
  3883.   102dd4:   c7 05 a4 bc 10 00 00    movl   $0xcff200,0x10bca4
  3884.   102ddb:   f2 cf 00
  3885.   102dde:   c7 05 62 bc 10 00 80    movl   $0x10bc80,0x10bc62
  3886.   102de5:   bc 10 00
  3887.   102de8:   e8 c1 d3 ff ff          call   1001ae <gdt_load>
  3888.   102ded:   83 c4 10                add    $0x10,%esp
  3889.   102df0:   c9                      leave  
  3890.   102df1:   c3                      ret    
  3891.   102df2:   66 90                   xchg   %ax,%ax
  3892.   102df4:   66 90                   xchg   %ax,%ax
  3893.   102df6:   66 90                   xchg   %ax,%ax
  3894.   102df8:   66 90                   xchg   %ax,%ax
  3895.   102dfa:   66 90                   xchg   %ax,%ax
  3896.   102dfc:   66 90                   xchg   %ax,%ax
  3897.   102dfe:   66 90                   xchg   %ax,%ax
  3898.  
  3899. 00102e00 <page_fault_handler>:
  3900.   102e00:   55                      push   %ebp
  3901.   102e01:   0f 20 d1                mov    %cr2,%ecx
  3902.   102e04:   89 e5                   mov    %esp,%ebp
  3903.   102e06:   83 ec 10                sub    $0x10,%esp
  3904.   102e09:   8b 45 08                mov    0x8(%ebp),%eax
  3905.   102e0c:   8b 40 28                mov    0x28(%eax),%eax
  3906.   102e0f:   89 c2                   mov    %eax,%edx
  3907.   102e11:   c1 ea 02                shr    $0x2,%edx
  3908.   102e14:   83 e2 01                and    $0x1,%edx
  3909.   102e17:   52                      push   %edx
  3910.   102e18:   89 c2                   mov    %eax,%edx
  3911.   102e1a:   83 e0 01                and    $0x1,%eax
  3912.   102e1d:   d1 ea                   shr    %edx
  3913.   102e1f:   83 e2 01                and    $0x1,%edx
  3914.   102e22:   52                      push   %edx
  3915.   102e23:   50                      push   %eax
  3916.   102e24:   51                      push   %ecx
  3917.   102e25:   68 40 45 10 00          push   $0x104540
  3918.   102e2a:   6a 03                   push   $0x3
  3919.   102e2c:   e8 8f e5 ff ff          call   1013c0 <cprintf>
  3920.   102e31:   fa                      cli    
  3921.   102e32:   83 c4 18                add    $0x18,%esp
  3922.   102e35:   68 9c 45 10 00          push   $0x10459c
  3923.   102e3a:   6a 05                   push   $0x5
  3924.   102e3c:   e8 7f e5 ff ff          call   1013c0 <cprintf>
  3925.   102e41:   e8 aa d6 ff ff          call   1004f0 <stack_trace>
  3926.   102e46:   83 c4 10                add    $0x10,%esp
  3927.   102e49:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3928.   102e50:   f4                      hlt    
  3929.   102e51:   eb fd                   jmp    102e50 <page_fault_handler+0x50>
  3930.   102e53:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3931.   102e5a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  3932.  
  3933. 00102e60 <_kalloc_temp.constprop.0>:
  3934.   102e60:   89 c2                   mov    %eax,%edx
  3935.   102e62:   a1 b4 bc 10 00          mov    0x10bcb4,%eax
  3936.   102e67:   84 d2                   test   %dl,%dl
  3937.   102e69:   74 07                   je     102e72 <_kalloc_temp.constprop.0+0x12>
  3938.   102e6b:   a9 ff 0f 00 00          test   $0xfff,%eax
  3939.   102e70:   75 15                   jne    102e87 <_kalloc_temp.constprop.0+0x27>
  3940.   102e72:   8d 90 00 10 00 00       lea    0x1000(%eax),%edx
  3941.   102e78:   81 fa 00 00 80 00       cmp    $0x800000,%edx
  3942.   102e7e:   77 24                   ja     102ea4 <_kalloc_temp.constprop.0+0x44>
  3943.   102e80:   89 15 b4 bc 10 00       mov    %edx,0x10bcb4
  3944.   102e86:   c3                      ret    
  3945.   102e87:   05 ff 0f 00 00          add    $0xfff,%eax
  3946.   102e8c:   25 00 f0 ff ff          and    $0xfffff000,%eax
  3947.   102e91:   8d 90 00 10 00 00       lea    0x1000(%eax),%edx
  3948.   102e97:   a3 b4 bc 10 00          mov    %eax,0x10bcb4
  3949.   102e9c:   81 fa 00 00 80 00       cmp    $0x800000,%edx
  3950.   102ea2:   76 dc                   jbe    102e80 <_kalloc_temp.constprop.0+0x20>
  3951.   102ea4:   55                      push   %ebp
  3952.   102ea5:   89 e5                   mov    %esp,%ebp
  3953.   102ea7:   83 ec 10                sub    $0x10,%esp
  3954.   102eaa:   68 bc 45 10 00          push   $0x1045bc
  3955.   102eaf:   6a 04                   push   $0x4
  3956.   102eb1:   e8 0a e5 ff ff          call   1013c0 <cprintf>
  3957.   102eb6:   fa                      cli    
  3958.   102eb7:   c7 04 24 18 00 00 00    movl   $0x18,(%esp)
  3959.   102ebe:   68 45 43 10 00          push   $0x104345
  3960.   102ec3:   68 70 42 10 00          push   $0x104270
  3961.   102ec8:   68 f8 43 10 00          push   $0x1043f8
  3962.   102ecd:   6a 05                   push   $0x5
  3963.   102ecf:   e8 ec e4 ff ff          call   1013c0 <cprintf>
  3964.   102ed4:   83 c4 20                add    $0x20,%esp
  3965.   102ed7:   e8 14 d6 ff ff          call   1004f0 <stack_trace>
  3966.   102edc:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  3967.   102ee0:   f4                      hlt    
  3968.   102ee1:   eb fd                   jmp    102ee0 <_kalloc_temp.constprop.0+0x80>
  3969.   102ee3:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  3970.   102eea:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  3971.  
  3972. 00102ef0 <paging_walk_pgdir_at_boot>:
  3973.   102ef0:   55                      push   %ebp
  3974.   102ef1:   89 e5                   mov    %esp,%ebp
  3975.   102ef3:   57                      push   %edi
  3976.   102ef4:   56                      push   %esi
  3977.   102ef5:   53                      push   %ebx
  3978.   102ef6:   83 ec 0c                sub    $0xc,%esp
  3979.   102ef9:   8b 5d 0c                mov    0xc(%ebp),%ebx
  3980.   102efc:   8b 55 08                mov    0x8(%ebp),%edx
  3981.   102eff:   8b 45 10                mov    0x10(%ebp),%eax
  3982.   102f02:   89 de                   mov    %ebx,%esi
  3983.   102f04:   c1 eb 16                shr    $0x16,%ebx
  3984.   102f07:   c1 ee 0c                shr    $0xc,%esi
  3985.   102f0a:   8d 1c 9a                lea    (%edx,%ebx,4),%ebx
  3986.   102f0d:   81 e6 ff 03 00 00       and    $0x3ff,%esi
  3987.   102f13:   f6 03 01                testb  $0x1,(%ebx)
  3988.   102f16:   75 58                   jne    102f70 <paging_walk_pgdir_at_boot+0x80>
  3989.   102f18:   84 c0                   test   %al,%al
  3990.   102f1a:   0f 84 ae 00 00 00       je     102fce <paging_walk_pgdir_at_boot+0xde>
  3991.   102f20:   b8 01 00 00 00          mov    $0x1,%eax
  3992.   102f25:   e8 36 ff ff ff          call   102e60 <_kalloc_temp.constprop.0>
  3993.   102f2a:   89 c7                   mov    %eax,%edi
  3994.   102f2c:   85 c0                   test   %eax,%eax
  3995.   102f2e:   75 6a                   jne    102f9a <paging_walk_pgdir_at_boot+0xaa>
  3996.   102f30:   fa                      cli    
  3997.   102f31:   83 ec 0c                sub    $0xc,%esp
  3998.   102f34:   6a 77                   push   $0x77
  3999.   102f36:   68 45 43 10 00          push   $0x104345
  4000.   102f3b:   68 80 42 10 00          push   $0x104280
  4001.   102f40:   68 5c 43 10 00          push   $0x10435c
  4002.   102f45:   6a 05                   push   $0x5
  4003.   102f47:   e8 74 e4 ff ff          call   1013c0 <cprintf>
  4004.   102f4c:   83 c4 20                add    $0x20,%esp
  4005.   102f4f:   e8 9c d5 ff ff          call   1004f0 <stack_trace>
  4006.   102f54:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4007.   102f5b:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  4008.   102f5f:   90                      nop
  4009.   102f60:   f4                      hlt    
  4010.   102f61:   eb fd                   jmp    102f60 <paging_walk_pgdir_at_boot+0x70>
  4011.   102f63:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4012.   102f6a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4013.   102f70:   0f b6 43 01             movzbl 0x1(%ebx),%eax
  4014.   102f74:   0f b6 53 02             movzbl 0x2(%ebx),%edx
  4015.   102f78:   c0 e8 04                shr    $0x4,%al
  4016.   102f7b:   c1 e2 04                shl    $0x4,%edx
  4017.   102f7e:   0f b6 c0                movzbl %al,%eax
  4018.   102f81:   09 c2                   or     %eax,%edx
  4019.   102f83:   0f b6 43 03             movzbl 0x3(%ebx),%eax
  4020.   102f87:   8d 65 f4                lea    -0xc(%ebp),%esp
  4021.   102f8a:   5b                      pop    %ebx
  4022.   102f8b:   c1 e0 0c                shl    $0xc,%eax
  4023.   102f8e:   09 d0                   or     %edx,%eax
  4024.   102f90:   c1 e0 0c                shl    $0xc,%eax
  4025.   102f93:   8d 04 b0                lea    (%eax,%esi,4),%eax
  4026.   102f96:   5e                      pop    %esi
  4027.   102f97:   5f                      pop    %edi
  4028.   102f98:   5d                      pop    %ebp
  4029.   102f99:   c3                      ret    
  4030.   102f9a:   83 ec 04                sub    $0x4,%esp
  4031.   102f9d:   68 00 10 00 00          push   $0x1000
  4032.   102fa2:   6a 00                   push   $0x0
  4033.   102fa4:   50                      push   %eax
  4034.   102fa5:   e8 b6 eb ff ff          call   101b60 <memset>
  4035.   102faa:   8b 13                   mov    (%ebx),%edx
  4036.   102fac:   89 f8                   mov    %edi,%eax
  4037.   102fae:   83 c4 10                add    $0x10,%esp
  4038.   102fb1:   25 00 f0 ff ff          and    $0xfffff000,%eax
  4039.   102fb6:   83 c8 05                or     $0x5,%eax
  4040.   102fb9:   81 e2 f8 0f 00 00       and    $0xff8,%edx
  4041.   102fbf:   09 d0                   or     %edx,%eax
  4042.   102fc1:   89 03                   mov    %eax,(%ebx)
  4043.   102fc3:   8d 65 f4                lea    -0xc(%ebp),%esp
  4044.   102fc6:   8d 04 b7                lea    (%edi,%esi,4),%eax
  4045.   102fc9:   5b                      pop    %ebx
  4046.   102fca:   5e                      pop    %esi
  4047.   102fcb:   5f                      pop    %edi
  4048.   102fcc:   5d                      pop    %ebp
  4049.   102fcd:   c3                      ret    
  4050.   102fce:   8d 65 f4                lea    -0xc(%ebp),%esp
  4051.   102fd1:   31 c0                   xor    %eax,%eax
  4052.   102fd3:   5b                      pop    %ebx
  4053.   102fd4:   5e                      pop    %esi
  4054.   102fd5:   5f                      pop    %edi
  4055.   102fd6:   5d                      pop    %ebp
  4056.   102fd7:   c3                      ret    
  4057.   102fd8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4058.   102fdf:   90                      nop
  4059.  
  4060. 00102fe0 <paging_switch_pgdir>:
  4061.   102fe0:   55                      push   %ebp
  4062.   102fe1:   89 e5                   mov    %esp,%ebp
  4063.   102fe3:   83 ec 08                sub    $0x8,%esp
  4064.   102fe6:   8b 45 08                mov    0x8(%ebp),%eax
  4065.   102fe9:   85 c0                   test   %eax,%eax
  4066.   102feb:   74 05                   je     102ff2 <paging_switch_pgdir+0x12>
  4067.   102fed:   0f 22 d8                mov    %eax,%cr3
  4068.   102ff0:   c9                      leave  
  4069.   102ff1:   c3                      ret    
  4070.   102ff2:   fa                      cli    
  4071.   102ff3:   83 ec 0c                sub    $0xc,%esp
  4072.   102ff6:   68 8b 00 00 00          push   $0x8b
  4073.   102ffb:   68 45 43 10 00          push   $0x104345
  4074.   103000:   68 5c 42 10 00          push   $0x10425c
  4075.   103005:   68 5c 43 10 00          push   $0x10435c
  4076.   10300a:   6a 05                   push   $0x5
  4077.   10300c:   e8 af e3 ff ff          call   1013c0 <cprintf>
  4078.   103011:   83 c4 20                add    $0x20,%esp
  4079.   103014:   e8 d7 d4 ff ff          call   1004f0 <stack_trace>
  4080.   103019:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4081.   103020:   f4                      hlt    
  4082.   103021:   eb fd                   jmp    103020 <paging_switch_pgdir+0x40>
  4083.   103023:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4084.   10302a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4085.  
  4086. 00103030 <paging_init>:
  4087.   103030:   55                      push   %ebp
  4088.   103031:   89 e5                   mov    %esp,%ebp
  4089.   103033:   57                      push   %edi
  4090.   103034:   56                      push   %esi
  4091.   103035:   53                      push   %ebx
  4092.   103036:   bb 07 00 00 00          mov    $0x7,%ebx
  4093.   10303b:   83 ec 1c                sub    $0x1c,%esp
  4094.   10303e:   a1 00 b0 10 00          mov    0x10b000,%eax
  4095.   103043:   05 ff 0f 00 00          add    $0xfff,%eax
  4096.   103048:   25 00 f0 ff ff          and    $0xfffff000,%eax
  4097.   10304d:   a3 b4 bc 10 00          mov    %eax,0x10bcb4
  4098.   103052:   31 c0                   xor    %eax,%eax
  4099.   103054:   e8 07 fe ff ff          call   102e60 <_kalloc_temp.constprop.0>
  4100.   103059:   83 ec 04                sub    $0x4,%esp
  4101.   10305c:   68 00 10 00 00          push   $0x1000
  4102.   103061:   6a 00                   push   $0x0
  4103.   103063:   50                      push   %eax
  4104.   103064:   a3 b8 bc 10 00          mov    %eax,0x10bcb8
  4105.   103069:   e8 f2 ea ff ff          call   101b60 <memset>
  4106.   10306e:   b8 01 00 00 00          mov    $0x1,%eax
  4107.   103073:   e8 e8 fd ff ff          call   102e60 <_kalloc_temp.constprop.0>
  4108.   103078:   83 c4 0c                add    $0xc,%esp
  4109.   10307b:   68 00 10 00 00          push   $0x1000
  4110.   103080:   6a 00                   push   $0x0
  4111.   103082:   50                      push   %eax
  4112.   103083:   a3 b0 bc 10 00          mov    %eax,0x10bcb0
  4113.   103088:   e8 d3 ea ff ff          call   101b60 <memset>
  4114.   10308d:   c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
  4115.   103094:   83 c4 10                add    $0x10,%esp
  4116.   103097:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4117.   10309e:   66 90                   xchg   %ax,%ax
  4118.   1030a0:   8b 35 b8 bc 10 00       mov    0x10bcb8,%esi
  4119.   1030a6:   31 ff                   xor    %edi,%edi
  4120.   1030a8:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4121.   1030af:   90                      nop
  4122.   1030b0:   0f b6 0c 3e             movzbl (%esi,%edi,1),%ecx
  4123.   1030b4:   80 f9 ff                cmp    $0xff,%cl
  4124.   1030b7:   74 18                   je     1030d1 <paging_init+0xa1>
  4125.   1030b9:   31 c0                   xor    %eax,%eax
  4126.   1030bb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  4127.   1030bf:   90                      nop
  4128.   1030c0:   89 da                   mov    %ebx,%edx
  4129.   1030c2:   29 c2                   sub    %eax,%edx
  4130.   1030c4:   0f a3 d1                bt     %edx,%ecx
  4131.   1030c7:   73 57                   jae    103120 <paging_init+0xf0>
  4132.   1030c9:   83 c0 01                add    $0x1,%eax
  4133.   1030cc:   83 f8 08                cmp    $0x8,%eax
  4134.   1030cf:   75 ef                   jne    1030c0 <paging_init+0x90>
  4135.   1030d1:   83 c7 01                add    $0x1,%edi
  4136.   1030d4:   81 ff 00 10 00 00       cmp    $0x1000,%edi
  4137.   1030da:   75 d4                   jne    1030b0 <paging_init+0x80>
  4138.   1030dc:   fa                      cli    
  4139.   1030dd:   83 ec 0c                sub    $0xc,%esp
  4140.   1030e0:   68 d1 00 00 00          push   $0xd1
  4141.   1030e5:   68 45 43 10 00          push   $0x104345
  4142.   1030ea:   68 50 42 10 00          push   $0x104250
  4143.   1030ef:   68 5c 43 10 00          push   $0x10435c
  4144.   1030f4:   6a 05                   push   $0x5
  4145.   1030f6:   e8 c5 e2 ff ff          call   1013c0 <cprintf>
  4146.   1030fb:   83 c4 20                add    $0x20,%esp
  4147.   1030fe:   e8 ed d3 ff ff          call   1004f0 <stack_trace>
  4148.   103103:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4149.   10310a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4150.   103110:   f4                      hlt    
  4151.   103111:   eb fd                   jmp    103110 <paging_init+0xe0>
  4152.   103113:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4153.   10311a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4154.   103120:   8d 3c f8                lea    (%eax,%edi,8),%edi
  4155.   103123:   b8 01 00 00 00          mov    $0x1,%eax
  4156.   103128:   83 ec 04                sub    $0x4,%esp
  4157.   10312b:   89 f9                   mov    %edi,%ecx
  4158.   10312d:   89 fa                   mov    %edi,%edx
  4159.   10312f:   f7 d1                   not    %ecx
  4160.   103131:   c1 ea 03                shr    $0x3,%edx
  4161.   103134:   83 e1 07                and    $0x7,%ecx
  4162.   103137:   d3 e0                   shl    %cl,%eax
  4163.   103139:   08 04 16                or     %al,(%esi,%edx,1)
  4164.   10313c:   6a 01                   push   $0x1
  4165.   10313e:   ff 75 e4                push   -0x1c(%ebp)
  4166.   103141:   ff 35 b0 bc 10 00       push   0x10bcb0
  4167.   103147:   e8 a4 fd ff ff          call   102ef0 <paging_walk_pgdir_at_boot>
  4168.   10314c:   83 c4 10                add    $0x10,%esp
  4169.   10314f:   85 c0                   test   %eax,%eax
  4170.   103151:   0f 84 ac 00 00 00       je     103203 <paging_init+0x1d3>
  4171.   103157:   8b 10                   mov    (%eax),%edx
  4172.   103159:   c1 e7 0c                shl    $0xc,%edi
  4173.   10315c:   81 45 e4 00 10 00 00    addl   $0x1000,-0x1c(%ebp)
  4174.   103163:   83 cf 01                or     $0x1,%edi
  4175.   103166:   81 e2 f8 0f 00 00       and    $0xff8,%edx
  4176.   10316c:   09 d7                   or     %edx,%edi
  4177.   10316e:   89 38                   mov    %edi,(%eax)
  4178.   103170:   8b 45 e4                mov    -0x1c(%ebp),%eax
  4179.   103173:   3d 00 00 80 00          cmp    $0x800000,%eax
  4180.   103178:   0f 85 22 ff ff ff       jne    1030a0 <paging_init+0x70>
  4181.   10317e:   8b 5d e4                mov    -0x1c(%ebp),%ebx
  4182.   103181:   eb 32                   jmp    1031b5 <paging_init+0x185>
  4183.   103183:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4184.   10318a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4185.   103190:   8b 08                   mov    (%eax),%ecx
  4186.   103192:   89 da                   mov    %ebx,%edx
  4187.   103194:   81 c3 00 10 00 00       add    $0x1000,%ebx
  4188.   10319a:   81 e2 00 f0 ff ff       and    $0xfffff000,%edx
  4189.   1031a0:   83 ca 01                or     $0x1,%edx
  4190.   1031a3:   81 e1 f8 0f 00 00       and    $0xff8,%ecx
  4191.   1031a9:   09 ca                   or     %ecx,%edx
  4192.   1031ab:   89 10                   mov    %edx,(%eax)
  4193.   1031ad:   81 fb 00 00 00 08       cmp    $0x8000000,%ebx
  4194.   1031b3:   74 7e                   je     103233 <paging_init+0x203>
  4195.   1031b5:   83 ec 04                sub    $0x4,%esp
  4196.   1031b8:   6a 01                   push   $0x1
  4197.   1031ba:   53                      push   %ebx
  4198.   1031bb:   ff 35 b0 bc 10 00       push   0x10bcb0
  4199.   1031c1:   e8 2a fd ff ff          call   102ef0 <paging_walk_pgdir_at_boot>
  4200.   1031c6:   83 c4 10                add    $0x10,%esp
  4201.   1031c9:   85 c0                   test   %eax,%eax
  4202.   1031cb:   75 c3                   jne    103190 <paging_init+0x160>
  4203.   1031cd:   fa                      cli    
  4204.   1031ce:   83 ec 0c                sub    $0xc,%esp
  4205.   1031d1:   68 e4 00 00 00          push   $0xe4
  4206.   1031d6:   68 45 43 10 00          push   $0x104345
  4207.   1031db:   68 50 42 10 00          push   $0x104250
  4208.   1031e0:   68 5c 43 10 00          push   $0x10435c
  4209.   1031e5:   6a 05                   push   $0x5
  4210.   1031e7:   e8 d4 e1 ff ff          call   1013c0 <cprintf>
  4211.   1031ec:   83 c4 20                add    $0x20,%esp
  4212.   1031ef:   e8 fc d2 ff ff          call   1004f0 <stack_trace>
  4213.   1031f4:   8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
  4214.   1031fb:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  4215.   1031ff:   90                      nop
  4216.   103200:   f4                      hlt    
  4217.   103201:   eb fd                   jmp    103200 <paging_init+0x1d0>
  4218.   103203:   fa                      cli    
  4219.   103204:   83 ec 0c                sub    $0xc,%esp
  4220.   103207:   68 d3 00 00 00          push   $0xd3
  4221.   10320c:   68 45 43 10 00          push   $0x104345
  4222.   103211:   68 50 42 10 00          push   $0x104250
  4223.   103216:   68 5c 43 10 00          push   $0x10435c
  4224.   10321b:   6a 05                   push   $0x5
  4225.   10321d:   e8 9e e1 ff ff          call   1013c0 <cprintf>
  4226.   103222:   83 c4 20                add    $0x20,%esp
  4227.   103225:   e8 c6 d2 ff ff          call   1004f0 <stack_trace>
  4228.   10322a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  4229.   103230:   f4                      hlt    
  4230.   103231:   eb fd                   jmp    103230 <paging_init+0x200>
  4231.   103233:   83 ec 08                sub    $0x8,%esp
  4232.   103236:   68 00 2e 10 00          push   $0x102e00
  4233.   10323b:   6a 0e                   push   $0xe
  4234.   10323d:   e8 6e f8 ff ff          call   102ab0 <isr_register>
  4235.   103242:   a1 b0 bc 10 00          mov    0x10bcb0,%eax
  4236.   103247:   83 c4 10                add    $0x10,%esp
  4237.   10324a:   85 c0                   test   %eax,%eax
  4238.   10324c:   74 16                   je     103264 <paging_init+0x234>
  4239.   10324e:   0f 22 d8                mov    %eax,%cr3
  4240.   103251:   0f 20 c0                mov    %cr0,%eax
  4241.   103254:   0d 01 00 00 80          or     $0x80000001,%eax
  4242.   103259:   0f 22 c0                mov    %eax,%cr0
  4243.   10325c:   8d 65 f4                lea    -0xc(%ebp),%esp
  4244.   10325f:   5b                      pop    %ebx
  4245.   103260:   5e                      pop    %esi
  4246.   103261:   5f                      pop    %edi
  4247.   103262:   5d                      pop    %ebp
  4248.   103263:   c3                      ret    
  4249.   103264:   fa                      cli    
  4250.   103265:   83 ec 0c                sub    $0xc,%esp
  4251.   103268:   68 8b 00 00 00          push   $0x8b
  4252.   10326d:   68 45 43 10 00          push   $0x104345
  4253.   103272:   68 5c 42 10 00          push   $0x10425c
  4254.   103277:   68 5c 43 10 00          push   $0x10435c
  4255.   10327c:   6a 05                   push   $0x5
  4256.   10327e:   e8 3d e1 ff ff          call   1013c0 <cprintf>
  4257.   103283:   83 c4 20                add    $0x20,%esp
  4258.   103286:   e8 65 d2 ff ff          call   1004f0 <stack_trace>
  4259.   10328b:   f4                      hlt    
  4260.   10328c:   eb fd                   jmp    10328b <paging_init+0x25b>
  4261.   10328e:   47                      inc    %edi
  4262.   10328f:   43                      inc    %ebx
  4263.   103290:   43                      inc    %ebx
  4264.   103291:   3a 20                   cmp    (%eax),%ah
  4265.   103293:   28 47 4e                sub    %al,0x4e(%edi)
  4266.   103296:   55                      push   %ebp
  4267.   103297:   29 20                   sub    %esp,(%eax)
  4268.   103299:   31 31                   xor    %esi,(%ecx)
  4269.   10329b:   2e 31 2e                xor    %ebp,%cs:(%esi)
  4270.   10329e:   30 00                   xor    %al,(%eax)
  4271.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement