luxos/bochs/dump.txt

10673 lines
541 KiB
Plaintext

kernel.bin: file format elf32-i386
Disassembly of section .text:
001020a0 <TimeHandler>:
1020a0: 53 push ebx
1020a1: 83 ec 18 sub esp,0x18
1020a4: 8b 1d 08 d0 10 00 mov ebx,DWORD PTR ds:0x10d008
1020aa: 85 db test ebx,ebx
1020ac: 74 4c je 1020fa <TimeHandler+0x5a>
1020ae: 8b 0d 04 d0 10 00 mov ecx,DWORD PTR ds:0x10d004
1020b4: b8 e8 03 00 00 mov eax,0x3e8
1020b9: ba 00 00 00 00 mov edx,0x0
1020be: f7 f3 div ebx
1020c0: 01 c1 add ecx,eax
1020c2: 89 0d 04 d0 10 00 mov DWORD PTR ds:0x10d004,ecx
1020c8: a1 04 d0 10 00 mov eax,ds:0x10d004
1020cd: 3d ff 5b 26 05 cmp eax,0x5265bff
1020d2: 76 1a jbe 1020ee <TimeHandler+0x4e>
1020d4: a1 00 d0 10 00 mov eax,ds:0x10d000
1020d9: 40 inc eax
1020da: a3 00 d0 10 00 mov ds:0x10d000,eax
1020df: a1 04 d0 10 00 mov eax,ds:0x10d004
1020e4: 2d 00 5c 26 05 sub eax,0x5265c00
1020e9: a3 04 d0 10 00 mov ds:0x10d004,eax
1020ee: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1020f2: 89 04 24 mov DWORD PTR [esp],eax
1020f5: e8 2a 6e 00 00 call 108f24 <TaskSwitch>
1020fa: 83 c4 18 add esp,0x18
1020fd: 5b pop ebx
1020fe: c3 ret
...
00102100 <CmosRead>:
102100: 83 ec 1c sub esp,0x1c
102103: 8a 44 24 20 mov al,BYTE PTR [esp+0x20]
102107: e6 70 out 0x70,al
102109: e6 80 out 0x80,al
10210b: c7 04 24 71 00 00 00 mov DWORD PTR [esp],0x71
102112: e8 c1 6a 00 00 call 108bd8 <inportb>
102117: 83 c4 1c add esp,0x1c
10211a: c3 ret
0010211b <CmosWrite>:
10211b: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
10211f: e6 70 out 0x70,al
102121: e6 80 out 0x80,al
102123: 8a 44 24 08 mov al,BYTE PTR [esp+0x8]
102127: e6 71 out 0x71,al
102129: c3 ret
0010212a <CmosSetRTC>:
10212a: 55 push ebp
10212b: 57 push edi
10212c: 56 push esi
10212d: 53 push ebx
10212e: 83 ec 2c sub esp,0x2c
102131: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40]
102135: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
10213c: e8 bf ff ff ff call 102100 <CmosRead>
102141: a8 04 test al,0x4
102143: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f]
102148: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
10214f: e8 ac ff ff ff call 102100 <CmosRead>
102154: bd 02 00 00 00 mov ebp,0x2
102159: 21 c5 and ebp,eax
10215b: 8b 0b mov ecx,DWORD PTR [ebx]
10215d: bf 64 00 00 00 mov edi,0x64
102162: 89 c8 mov eax,ecx
102164: 89 ca mov edx,ecx
102166: c1 fa 1f sar edx,0x1f
102169: f7 ff idiv edi
10216b: 89 d6 mov esi,edx
10216d: ba 1f 85 eb 51 mov edx,0x51eb851f
102172: 89 c8 mov eax,ecx
102174: f7 ea imul edx
102176: c1 fa 05 sar edx,0x5
102179: c1 f9 1f sar ecx,0x1f
10217c: 28 ca sub dl,cl
10217e: 89 d7 mov edi,edx
102180: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
102185: 74 66 je 1021ed <CmosSetRTC+0xc3>
102187: 31 c0 xor eax,eax
102189: 8a 43 09 mov al,BYTE PTR [ebx+0x9]
10218c: 8d 14 80 lea edx,[eax+eax*4]
10218f: 8d 04 d0 lea eax,[eax+edx*8]
102192: 8d 04 80 lea eax,[eax+eax*4]
102195: 66 c1 e8 0b shr ax,0xb
102199: 88 c2 mov dl,al
10219b: c1 e2 04 shl edx,0x4
10219e: 8d 04 80 lea eax,[eax+eax*4]
1021a1: 01 c0 add eax,eax
1021a3: 8a 4b 09 mov cl,BYTE PTR [ebx+0x9]
1021a6: 28 c1 sub cl,al
1021a8: 88 c8 mov al,cl
1021aa: 09 d0 or eax,edx
1021ac: 25 ff 00 00 00 and eax,0xff
1021b1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1021b5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1021bc: e8 5a ff ff ff call 10211b <CmosWrite>
1021c1: 31 c0 xor eax,eax
1021c3: 8a 43 08 mov al,BYTE PTR [ebx+0x8]
1021c6: 8d 14 80 lea edx,[eax+eax*4]
1021c9: 8d 04 d0 lea eax,[eax+edx*8]
1021cc: 8d 14 80 lea edx,[eax+eax*4]
1021cf: 66 c1 ea 0b shr dx,0xb
1021d3: 88 d0 mov al,dl
1021d5: c1 e0 04 shl eax,0x4
1021d8: 8d 14 92 lea edx,[edx+edx*4]
1021db: 01 d2 add edx,edx
1021dd: 8a 4b 08 mov cl,BYTE PTR [ebx+0x8]
1021e0: 28 d1 sub cl,dl
1021e2: 88 ca mov dl,cl
1021e4: 09 d0 or eax,edx
1021e6: 25 ff 00 00 00 and eax,0xff
1021eb: eb 1a jmp 102207 <CmosSetRTC+0xdd>
1021ed: 31 c0 xor eax,eax
1021ef: 8a 43 09 mov al,BYTE PTR [ebx+0x9]
1021f2: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1021f6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1021fd: e8 19 ff ff ff call 10211b <CmosWrite>
102202: 31 c0 xor eax,eax
102204: 8a 43 08 mov al,BYTE PTR [ebx+0x8]
102207: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10220b: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
102212: e8 04 ff ff ff call 10211b <CmosWrite>
102217: 85 ed test ebp,ebp
102219: 0f 85 8a 00 00 00 jne 1022a9 <CmosSetRTC+0x17f>
10221f: 8a 4b 07 mov cl,BYTE PTR [ebx+0x7]
102222: 80 f9 0c cmp cl,0xc
102225: 76 5d jbe 102284 <CmosSetRTC+0x15a>
102227: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
10222c: 74 39 je 102267 <CmosSetRTC+0x13d>
10222e: 81 e1 ff 00 00 00 and ecx,0xff
102234: 83 e9 0c sub ecx,0xc
102237: 66 bd 0a 00 mov bp,0xa
10223b: 89 c8 mov eax,ecx
10223d: 89 ca mov edx,ecx
10223f: c1 fa 1f sar edx,0x1f
102242: f7 fd idiv ebp
102244: 83 ca 80 or edx,0xffffff80
102247: 89 d5 mov ebp,edx
102249: ba 67 66 66 66 mov edx,0x66666667
10224e: 89 c8 mov eax,ecx
102250: f7 ea imul edx
102252: c1 fa 02 sar edx,0x2
102255: c1 f9 1f sar ecx,0x1f
102258: 29 ca sub edx,ecx
10225a: c1 e2 04 shl edx,0x4
10225d: 09 d5 or ebp,edx
10225f: 81 e5 ff 00 00 00 and ebp,0xff
102265: eb 0b jmp 102272 <CmosSetRTC+0x148>
102267: 83 c9 80 or ecx,0xffffff80
10226a: 81 e1 ff 00 00 00 and ecx,0xff
102270: 89 cd mov ebp,ecx
102272: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
102276: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10227d: e8 99 fe ff ff call 10211b <CmosWrite>
102282: eb 6b jmp 1022ef <CmosSetRTC+0x1c5>
102284: 84 c9 test cl,cl
102286: 75 21 jne 1022a9 <CmosSetRTC+0x17f>
102288: 80 7c 24 1f 01 cmp BYTE PTR [esp+0x1f],0x1
10228d: 19 c0 sbb eax,eax
10228f: 83 e0 fa and eax,0xfffffffa
102292: 05 92 00 00 00 add eax,0x92
102297: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10229b: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
1022a2: e8 74 fe ff ff call 10211b <CmosWrite>
1022a7: eb 46 jmp 1022ef <CmosSetRTC+0x1c5>
1022a9: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
1022ae: 74 2a je 1022da <CmosSetRTC+0x1b0>
1022b0: 31 c0 xor eax,eax
1022b2: 8a 43 07 mov al,BYTE PTR [ebx+0x7]
1022b5: 8d 14 80 lea edx,[eax+eax*4]
1022b8: 8d 04 d0 lea eax,[eax+edx*8]
1022bb: 8d 14 80 lea edx,[eax+eax*4]
1022be: 66 c1 ea 0b shr dx,0xb
1022c2: 88 d1 mov cl,dl
1022c4: c1 e1 04 shl ecx,0x4
1022c7: 8d 14 92 lea edx,[edx+edx*4]
1022ca: 01 d2 add edx,edx
1022cc: 8a 43 07 mov al,BYTE PTR [ebx+0x7]
1022cf: 28 d0 sub al,dl
1022d1: 09 c8 or eax,ecx
1022d3: 25 ff 00 00 00 and eax,0xff
1022d8: eb 05 jmp 1022df <CmosSetRTC+0x1b5>
1022da: 31 c0 xor eax,eax
1022dc: 8a 43 07 mov al,BYTE PTR [ebx+0x7]
1022df: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1022e3: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
1022ea: e8 2c fe ff ff call 10211b <CmosWrite>
1022ef: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
1022f4: 0f 84 e0 00 00 00 je 1023da <CmosSetRTC+0x2b0>
1022fa: 31 c0 xor eax,eax
1022fc: 8a 43 06 mov al,BYTE PTR [ebx+0x6]
1022ff: 8d 14 80 lea edx,[eax+eax*4]
102302: 8d 04 d0 lea eax,[eax+edx*8]
102305: 8d 04 80 lea eax,[eax+eax*4]
102308: 66 c1 e8 0b shr ax,0xb
10230c: 88 c2 mov dl,al
10230e: c1 e2 04 shl edx,0x4
102311: 8d 04 80 lea eax,[eax+eax*4]
102314: 01 c0 add eax,eax
102316: 8a 4b 06 mov cl,BYTE PTR [ebx+0x6]
102319: 28 c1 sub cl,al
10231b: 88 c8 mov al,cl
10231d: 09 d0 or eax,edx
10231f: 25 ff 00 00 00 and eax,0xff
102324: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
102328: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
10232f: e8 e7 fd ff ff call 10211b <CmosWrite>
102334: 8a 53 04 mov dl,BYTE PTR [ebx+0x4]
102337: 31 c0 xor eax,eax
102339: 88 d0 mov al,dl
10233b: 8d 0c 80 lea ecx,[eax+eax*4]
10233e: 8d 04 c8 lea eax,[eax+ecx*8]
102341: 8d 04 80 lea eax,[eax+eax*4]
102344: 66 c1 e8 0b shr ax,0xb
102348: 88 c1 mov cl,al
10234a: c1 e1 04 shl ecx,0x4
10234d: 8d 04 80 lea eax,[eax+eax*4]
102350: 01 c0 add eax,eax
102352: 28 c2 sub dl,al
102354: 09 ca or edx,ecx
102356: 81 e2 ff 00 00 00 and edx,0xff
10235c: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
102360: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
102367: e8 af fd ff ff call 10211b <CmosWrite>
10236c: 89 f0 mov eax,esi
10236e: 25 ff 00 00 00 and eax,0xff
102373: 8d 14 80 lea edx,[eax+eax*4]
102376: 8d 04 d0 lea eax,[eax+edx*8]
102379: 8d 04 80 lea eax,[eax+eax*4]
10237c: 66 c1 e8 0b shr ax,0xb
102380: 88 c2 mov dl,al
102382: c1 e2 04 shl edx,0x4
102385: 8d 04 80 lea eax,[eax+eax*4]
102388: 01 c0 add eax,eax
10238a: 89 f1 mov ecx,esi
10238c: 28 c1 sub cl,al
10238e: 88 c8 mov al,cl
102390: 09 c2 or edx,eax
102392: 89 d6 mov esi,edx
102394: 81 e6 ff 00 00 00 and esi,0xff
10239a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10239e: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
1023a5: e8 71 fd ff ff call 10211b <CmosWrite>
1023aa: 89 f8 mov eax,edi
1023ac: 25 ff 00 00 00 and eax,0xff
1023b1: 8d 14 80 lea edx,[eax+eax*4]
1023b4: 8d 04 d0 lea eax,[eax+edx*8]
1023b7: 8d 04 80 lea eax,[eax+eax*4]
1023ba: 66 c1 e8 0b shr ax,0xb
1023be: 88 c2 mov dl,al
1023c0: c1 e2 04 shl edx,0x4
1023c3: 8d 04 80 lea eax,[eax+eax*4]
1023c6: 01 c0 add eax,eax
1023c8: 89 f9 mov ecx,edi
1023ca: 28 c1 sub cl,al
1023cc: 88 c8 mov al,cl
1023ce: 09 c2 or edx,eax
1023d0: 89 d7 mov edi,edx
1023d2: 81 e7 ff 00 00 00 and edi,0xff
1023d8: eb 46 jmp 102420 <CmosSetRTC+0x2f6>
1023da: 31 c0 xor eax,eax
1023dc: 8a 43 06 mov al,BYTE PTR [ebx+0x6]
1023df: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1023e3: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
1023ea: e8 2c fd ff ff call 10211b <CmosWrite>
1023ef: 31 c0 xor eax,eax
1023f1: 8a 43 04 mov al,BYTE PTR [ebx+0x4]
1023f4: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1023f8: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
1023ff: e8 17 fd ff ff call 10211b <CmosWrite>
102404: 81 e6 ff 00 00 00 and esi,0xff
10240a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10240e: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
102415: e8 01 fd ff ff call 10211b <CmosWrite>
10241a: 81 e7 ff 00 00 00 and edi,0xff
102420: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi
102424: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32
10242b: e8 eb fc ff ff call 10211b <CmosWrite>
102430: 83 c4 2c add esp,0x2c
102433: 5b pop ebx
102434: 5e pop esi
102435: 5f pop edi
102436: 5d pop ebp
102437: c3 ret
00102438 <CmosGetRTC>:
102438: 57 push edi
102439: 56 push esi
10243a: 53 push ebx
10243b: 83 ec 20 sub esp,0x20
10243e: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
102442: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
102449: e8 b2 fc ff ff call 102100 <CmosRead>
10244e: a8 04 test al,0x4
102450: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f]
102455: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
10245c: e8 9f fc ff ff call 102100 <CmosRead>
102461: be 02 00 00 00 mov esi,0x2
102466: 21 c6 and esi,eax
102468: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
10246d: 74 51 je 1024c0 <CmosGetRTC+0x88>
10246f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
102476: e8 85 fc ff ff call 102100 <CmosRead>
10247b: 89 c7 mov edi,eax
10247d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
102484: e8 77 fc ff ff call 102100 <CmosRead>
102489: c0 e8 04 shr al,0x4
10248c: 8d 04 80 lea eax,[eax+eax*4]
10248f: 83 e7 0f and edi,0xf
102492: 8d 04 47 lea eax,[edi+eax*2]
102495: 88 43 09 mov BYTE PTR [ebx+0x9],al
102498: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
10249f: e8 5c fc ff ff call 102100 <CmosRead>
1024a4: 89 c7 mov edi,eax
1024a6: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
1024ad: e8 4e fc ff ff call 102100 <CmosRead>
1024b2: c0 e8 04 shr al,0x4
1024b5: 8d 04 80 lea eax,[eax+eax*4]
1024b8: 83 e7 0f and edi,0xf
1024bb: 8d 04 47 lea eax,[edi+eax*2]
1024be: eb 1b jmp 1024db <CmosGetRTC+0xa3>
1024c0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1024c7: e8 34 fc ff ff call 102100 <CmosRead>
1024cc: 88 43 09 mov BYTE PTR [ebx+0x9],al
1024cf: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
1024d6: e8 25 fc ff ff call 102100 <CmosRead>
1024db: 88 43 08 mov BYTE PTR [ebx+0x8],al
1024de: 85 f6 test esi,esi
1024e0: 75 7c jne 10255e <CmosGetRTC+0x126>
1024e2: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
1024e9: e8 12 fc ff ff call 102100 <CmosRead>
1024ee: a8 50 test al,0x50
1024f0: 74 6c je 10255e <CmosGetRTC+0x126>
1024f2: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
1024f7: 74 4e je 102547 <CmosGetRTC+0x10f>
1024f9: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
102500: e8 fb fb ff ff call 102100 <CmosRead>
102505: 89 c6 mov esi,eax
102507: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10250e: e8 ed fb ff ff call 102100 <CmosRead>
102513: 31 d2 xor edx,edx
102515: 88 c2 mov dl,al
102517: 83 c2 80 add edx,0xffffff80
10251a: 89 d0 mov eax,edx
10251c: c1 f8 1f sar eax,0x1f
10251f: c1 e8 1c shr eax,0x1c
102522: 01 d0 add eax,edx
102524: c1 e8 04 shr eax,0x4
102527: 8d 04 80 lea eax,[eax+eax*4]
10252a: 81 e6 ff 00 00 00 and esi,0xff
102530: 83 c6 80 add esi,0xffffff80
102533: 89 f2 mov edx,esi
102535: c1 fa 1f sar edx,0x1f
102538: c1 ea 1c shr edx,0x1c
10253b: 01 d6 add esi,edx
10253d: 83 e6 0f and esi,0xf
102540: 29 d6 sub esi,edx
102542: 8d 04 46 lea eax,[esi+eax*2]
102545: eb 0f jmp 102556 <CmosGetRTC+0x11e>
102547: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10254e: e8 ad fb ff ff call 102100 <CmosRead>
102553: 83 c0 80 add eax,0xffffff80
102556: 83 c0 0c add eax,0xc
102559: 88 43 07 mov BYTE PTR [ebx+0x7],al
10255c: eb 3e jmp 10259c <CmosGetRTC+0x164>
10255e: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
102563: 74 28 je 10258d <CmosGetRTC+0x155>
102565: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10256c: e8 8f fb ff ff call 102100 <CmosRead>
102571: 89 c6 mov esi,eax
102573: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10257a: e8 81 fb ff ff call 102100 <CmosRead>
10257f: c0 e8 04 shr al,0x4
102582: 8d 04 80 lea eax,[eax+eax*4]
102585: 83 e6 0f and esi,0xf
102588: 8d 04 46 lea eax,[esi+eax*2]
10258b: eb 0c jmp 102599 <CmosGetRTC+0x161>
10258d: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
102594: e8 67 fb ff ff call 102100 <CmosRead>
102599: 88 43 07 mov BYTE PTR [ebx+0x7],al
10259c: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
1025a1: 0f 84 de 00 00 00 je 102685 <CmosGetRTC+0x24d>
1025a7: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6
1025ae: e8 4d fb ff ff call 102100 <CmosRead>
1025b3: 89 c6 mov esi,eax
1025b5: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6
1025bc: e8 3f fb ff ff call 102100 <CmosRead>
1025c1: c0 e8 04 shr al,0x4
1025c4: 8d 04 80 lea eax,[eax+eax*4]
1025c7: 83 e6 0f and esi,0xf
1025ca: 8d 04 46 lea eax,[esi+eax*2]
1025cd: 88 43 05 mov BYTE PTR [ebx+0x5],al
1025d0: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
1025d7: e8 24 fb ff ff call 102100 <CmosRead>
1025dc: 89 c6 mov esi,eax
1025de: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
1025e5: e8 16 fb ff ff call 102100 <CmosRead>
1025ea: c0 e8 04 shr al,0x4
1025ed: 8d 04 80 lea eax,[eax+eax*4]
1025f0: 83 e6 0f and esi,0xf
1025f3: 8d 04 46 lea eax,[esi+eax*2]
1025f6: 88 43 06 mov BYTE PTR [ebx+0x6],al
1025f9: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
102600: e8 fb fa ff ff call 102100 <CmosRead>
102605: 89 c6 mov esi,eax
102607: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
10260e: e8 ed fa ff ff call 102100 <CmosRead>
102613: c0 e8 04 shr al,0x4
102616: 8d 04 80 lea eax,[eax+eax*4]
102619: 83 e6 0f and esi,0xf
10261c: 8d 04 46 lea eax,[esi+eax*2]
10261f: 88 43 04 mov BYTE PTR [ebx+0x4],al
102622: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
102629: e8 d2 fa ff ff call 102100 <CmosRead>
10262e: 89 c6 mov esi,eax
102630: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
102637: e8 c4 fa ff ff call 102100 <CmosRead>
10263c: 83 e6 0f and esi,0xf
10263f: c0 e8 04 shr al,0x4
102642: 25 ff 00 00 00 and eax,0xff
102647: 8d 04 80 lea eax,[eax+eax*4]
10264a: 8d 34 46 lea esi,[esi+eax*2]
10264d: 89 33 mov DWORD PTR [ebx],esi
10264f: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32
102656: e8 a5 fa ff ff call 102100 <CmosRead>
10265b: 89 c7 mov edi,eax
10265d: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32
102664: e8 97 fa ff ff call 102100 <CmosRead>
102669: 83 e7 0f and edi,0xf
10266c: c0 e8 04 shr al,0x4
10266f: 25 ff 00 00 00 and eax,0xff
102674: 8d 04 80 lea eax,[eax+eax*4]
102677: 8d 04 47 lea eax,[edi+eax*2]
10267a: 8d 04 80 lea eax,[eax+eax*4]
10267d: 8d 04 80 lea eax,[eax+eax*4]
102680: c1 e0 02 shl eax,0x2
102683: eb 5c jmp 1026e1 <CmosGetRTC+0x2a9>
102685: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6
10268c: e8 6f fa ff ff call 102100 <CmosRead>
102691: 88 43 05 mov BYTE PTR [ebx+0x5],al
102694: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
10269b: e8 60 fa ff ff call 102100 <CmosRead>
1026a0: 88 43 06 mov BYTE PTR [ebx+0x6],al
1026a3: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
1026aa: e8 51 fa ff ff call 102100 <CmosRead>
1026af: 88 43 04 mov BYTE PTR [ebx+0x4],al
1026b2: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
1026b9: e8 42 fa ff ff call 102100 <CmosRead>
1026be: 25 ff 00 00 00 and eax,0xff
1026c3: 89 c6 mov esi,eax
1026c5: 89 03 mov DWORD PTR [ebx],eax
1026c7: c7 04 24 32 00 00 00 mov DWORD PTR [esp],0x32
1026ce: e8 2d fa ff ff call 102100 <CmosRead>
1026d3: 25 ff 00 00 00 and eax,0xff
1026d8: 8d 04 80 lea eax,[eax+eax*4]
1026db: 8d 04 80 lea eax,[eax+eax*4]
1026de: c1 e0 02 shl eax,0x2
1026e1: 01 c6 add esi,eax
1026e3: 89 33 mov DWORD PTR [ebx],esi
1026e5: 83 c4 20 add esp,0x20
1026e8: 5b pop ebx
1026e9: 5e pop esi
1026ea: 5f pop edi
1026eb: c3 ret
001026ec <ConsoleScroll>:
1026ec: 55 push ebp
1026ed: 57 push edi
1026ee: 56 push esi
1026ef: 53 push ebx
1026f0: 83 ec 04 sub esp,0x4
1026f3: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
1026f7: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008
1026fd: 89 04 24 mov DWORD PTR [esp],eax
102700: 39 c8 cmp eax,ecx
102702: 76 03 jbe 102707 <ConsoleScroll+0x1b>
102704: 89 0c 24 mov DWORD PTR [esp],ecx
102707: 2b 0c 24 sub ecx,DWORD PTR [esp]
10270a: 74 56 je 102762 <ConsoleScroll+0x76>
10270c: 8b 34 24 mov esi,DWORD PTR [esp]
10270f: 01 f6 add esi,esi
102711: bd 00 00 00 00 mov ebp,0x0
102716: eb 34 jmp 10274c <ConsoleScroll+0x60>
102718: 89 f3 mov ebx,esi
10271a: 0f af d8 imul ebx,eax
10271d: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c
102723: 01 d1 add ecx,edx
102725: 8a 1c 19 mov bl,BYTE PTR [ecx+ebx*1]
102728: 0f af c7 imul eax,edi
10272b: 88 1c 01 mov BYTE PTR [ecx+eax*1],bl
10272e: 42 inc edx
10272f: a1 04 c0 10 00 mov eax,ds:0x10c004
102734: 8d 0c 00 lea ecx,[eax+eax*1]
102737: 39 d1 cmp ecx,edx
102739: 77 dd ja 102718 <ConsoleScroll+0x2c>
10273b: 45 inc ebp
10273c: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008
102742: 2b 0c 24 sub ecx,DWORD PTR [esp]
102745: 83 c6 02 add esi,0x2
102748: 39 e9 cmp ecx,ebp
10274a: 76 16 jbe 102762 <ConsoleScroll+0x76>
10274c: a1 04 c0 10 00 mov eax,ds:0x10c004
102751: 89 c2 mov edx,eax
102753: 01 d2 add edx,edx
102755: 74 e4 je 10273b <ConsoleScroll+0x4f>
102757: 8d 7c 2d 00 lea edi,[ebp+ebp*1+0x0]
10275b: ba 00 00 00 00 mov edx,0x0
102760: eb b6 jmp 102718 <ConsoleScroll+0x2c>
102762: 39 0d 08 c0 10 00 cmp DWORD PTR ds:0x10c008,ecx
102768: 77 40 ja 1027aa <ConsoleScroll+0xbe>
10276a: eb 4f jmp 1027bb <ConsoleScroll+0xcf>
10276c: 0f af d1 imul edx,ecx
10276f: 01 c2 add edx,eax
102771: 8b 1d 0c c0 10 00 mov ebx,DWORD PTR ds:0x10c00c
102777: c6 04 53 00 mov BYTE PTR [ebx+edx*2],0x0
10277b: 89 cb mov ebx,ecx
10277d: 0f af 1d 04 c0 10 00 imul ebx,DWORD PTR ds:0x10c004
102784: 01 c3 add ebx,eax
102786: 8b 35 0c c0 10 00 mov esi,DWORD PTR ds:0x10c00c
10278c: 8a 15 00 c0 10 00 mov dl,BYTE PTR ds:0x10c000
102792: 88 54 5e 01 mov BYTE PTR [esi+ebx*2+0x1],dl
102796: 40 inc eax
102797: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
10279d: 39 c2 cmp edx,eax
10279f: 77 cb ja 10276c <ConsoleScroll+0x80>
1027a1: 41 inc ecx
1027a2: 39 0d 08 c0 10 00 cmp DWORD PTR ds:0x10c008,ecx
1027a8: 76 11 jbe 1027bb <ConsoleScroll+0xcf>
1027aa: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
1027b0: b8 00 00 00 00 mov eax,0x0
1027b5: 85 d2 test edx,edx
1027b7: 75 b3 jne 10276c <ConsoleScroll+0x80>
1027b9: eb e6 jmp 1027a1 <ConsoleScroll+0xb5>
1027bb: 8b 04 24 mov eax,DWORD PTR [esp]
1027be: 29 05 3c da 10 00 sub DWORD PTR ds:0x10da3c,eax
1027c4: 83 c4 04 add esp,0x4
1027c7: 5b pop ebx
1027c8: 5e pop esi
1027c9: 5f pop edi
1027ca: 5d pop ebp
1027cb: c3 ret
001027cc <ConsoleGetCursor>:
1027cc: 53 push ebx
1027cd: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
1027d1: 8b 0d 38 da 10 00 mov ecx,DWORD PTR ds:0x10da38
1027d7: 8b 1d 3c da 10 00 mov ebx,DWORD PTR ds:0x10da3c
1027dd: 89 08 mov DWORD PTR [eax],ecx
1027df: 89 58 04 mov DWORD PTR [eax+0x4],ebx
1027e2: 5b pop ebx
1027e3: c2 04 00 ret 0x4
001027e6 <ConsoleSetCursor>:
1027e6: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
1027ea: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
1027ee: a3 38 da 10 00 mov ds:0x10da38,eax
1027f3: 89 15 3c da 10 00 mov DWORD PTR ds:0x10da3c,edx
1027f9: c3 ret
001027fa <ConsoleCursorIncreasePos>:
1027fa: 57 push edi
1027fb: 56 push esi
1027fc: 53 push ebx
1027fd: 83 ec 04 sub esp,0x4
102800: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
102804: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004
10280a: ba 00 00 00 00 mov edx,0x0
10280f: f7 f1 div ecx
102811: 01 05 3c da 10 00 add DWORD PTR ds:0x10da3c,eax
102817: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38
10281d: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx
102823: 89 ce mov esi,ecx
102825: 39 ca cmp edx,ecx
102827: 7c 1f jl 102848 <ConsoleCursorIncreasePos+0x4e>
102829: a1 3c da 10 00 mov eax,ds:0x10da3c
10282e: 29 ca sub edx,ecx
102830: eb 02 jmp 102834 <ConsoleCursorIncreasePos+0x3a>
102832: 89 da mov edx,ebx
102834: 40 inc eax
102835: 89 d3 mov ebx,edx
102837: 29 cb sub ebx,ecx
102839: 39 f2 cmp edx,esi
10283b: 7d f5 jge 102832 <ConsoleCursorIncreasePos+0x38>
10283d: a3 3c da 10 00 mov ds:0x10da3c,eax
102842: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx
102848: 8b 15 38 da 10 00 mov edx,DWORD PTR ds:0x10da38
10284e: 85 d2 test edx,edx
102850: 79 1b jns 10286d <ConsoleCursorIncreasePos+0x73>
102852: 8b 1d 3c da 10 00 mov ebx,DWORD PTR ds:0x10da3c
102858: 4b dec ebx
102859: 8d 04 0a lea eax,[edx+ecx*1]
10285c: 89 c2 mov edx,eax
10285e: 85 c0 test eax,eax
102860: 78 f6 js 102858 <ConsoleCursorIncreasePos+0x5e>
102862: 89 1d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebx
102868: a3 38 da 10 00 mov ds:0x10da38,eax
10286d: a1 08 c0 10 00 mov eax,ds:0x10c008
102872: 39 05 3c da 10 00 cmp DWORD PTR ds:0x10da3c,eax
102878: 7c 0c jl 102886 <ConsoleCursorIncreasePos+0x8c>
10287a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
102881: e8 66 fe ff ff call 1026ec <ConsoleScroll>
102886: 83 c4 04 add esp,0x4
102889: 5b pop ebx
10288a: 5e pop esi
10288b: 5f pop edi
10288c: c3 ret
0010288d <ConsoleCursorNewline>:
10288d: 83 ec 04 sub esp,0x4
102890: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0
102897: 00 00 00
10289a: a1 3c da 10 00 mov eax,ds:0x10da3c
10289f: 40 inc eax
1028a0: a3 3c da 10 00 mov ds:0x10da3c,eax
1028a5: 3b 05 08 c0 10 00 cmp eax,DWORD PTR ds:0x10c008
1028ab: 7c 0c jl 1028b9 <ConsoleCursorNewline+0x2c>
1028ad: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1028b4: e8 33 fe ff ff call 1026ec <ConsoleScroll>
1028b9: 83 c4 04 add esp,0x4
1028bc: c3 ret
001028bd <ConsoleCursorUpdateHardware>:
1028bd: 56 push esi
1028be: 53 push ebx
1028bf: 8b 35 3c da 10 00 mov esi,DWORD PTR ds:0x10da3c
1028c5: 0f af 35 04 c0 10 00 imul esi,DWORD PTR ds:0x10c004
1028cc: 03 35 38 da 10 00 add esi,DWORD PTR ds:0x10da38
1028d2: 66 8b 0d 63 04 00 00 mov cx,WORD PTR ds:0x463
1028d9: b0 0e mov al,0xe
1028db: 89 ca mov edx,ecx
1028dd: ee out dx,al
1028de: 8d 59 01 lea ebx,[ecx+0x1]
1028e1: 89 f0 mov eax,esi
1028e3: 66 c1 e8 08 shr ax,0x8
1028e7: 89 da mov edx,ebx
1028e9: ee out dx,al
1028ea: b0 0f mov al,0xf
1028ec: 89 ca mov edx,ecx
1028ee: ee out dx,al
1028ef: 89 da mov edx,ebx
1028f1: 89 f0 mov eax,esi
1028f3: ee out dx,al
1028f4: 5b pop ebx
1028f5: 5e pop esi
1028f6: c3 ret
001028f7 <ConsoleClear>:
1028f7: 53 push ebx
1028f8: a1 08 c0 10 00 mov eax,ds:0x10c008
1028fd: 0f af 05 04 c0 10 00 imul eax,DWORD PTR ds:0x10c004
102904: 85 c0 test eax,eax
102906: 74 38 je 102940 <ConsoleClear+0x49>
102908: ba 01 00 00 00 mov edx,0x1
10290d: b8 00 00 00 00 mov eax,0x0
102912: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c
102918: c6 04 41 00 mov BYTE PTR [ecx+eax*2],0x0
10291c: 8b 0d 0c c0 10 00 mov ecx,DWORD PTR ds:0x10c00c
102922: 8a 1d 00 c0 10 00 mov bl,BYTE PTR ds:0x10c000
102928: 88 1c 11 mov BYTE PTR [ecx+edx*1],bl
10292b: 40 inc eax
10292c: 83 c2 02 add edx,0x2
10292f: 8b 0d 08 c0 10 00 mov ecx,DWORD PTR ds:0x10c008
102935: 0f af 0d 04 c0 10 00 imul ecx,DWORD PTR ds:0x10c004
10293c: 39 c1 cmp ecx,eax
10293e: 77 d2 ja 102912 <ConsoleClear+0x1b>
102940: c7 05 3c da 10 00 00 mov DWORD PTR ds:0x10da3c,0x0
102947: 00 00 00
10294a: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0
102951: 00 00 00
102954: e8 64 ff ff ff call 1028bd <ConsoleCursorUpdateHardware>
102959: 5b pop ebx
10295a: c3 ret
0010295b <Color>:
10295b: 31 c0 xor eax,eax
10295d: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
102961: c1 e0 04 shl eax,0x4
102964: 0b 44 24 08 or eax,DWORD PTR [esp+0x8]
102968: c3 ret
00102969 <ConsoleSetDefaultColor>:
102969: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
10296d: a2 00 c0 10 00 mov ds:0x10c000,al
102972: c3 ret
00102973 <ConsoleGetDefaultColor>:
102973: a0 00 c0 10 00 mov al,ds:0x10c000
102978: c3 ret
00102979 <ConsoleGetSize>:
102979: 53 push ebx
10297a: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
10297e: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004
102984: 8b 1d 08 c0 10 00 mov ebx,DWORD PTR ds:0x10c008
10298a: 89 08 mov DWORD PTR [eax],ecx
10298c: 89 58 04 mov DWORD PTR [eax+0x4],ebx
10298f: 5b pop ebx
102990: c2 04 00 ret 0x4
00102993 <ConsoleCursorGoto>:
102993: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
102997: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
10299b: 85 d2 test edx,edx
10299d: 78 0e js 1029ad <ConsoleCursorGoto+0x1a>
10299f: 39 15 04 c0 10 00 cmp DWORD PTR ds:0x10c004,edx
1029a5: 7e 06 jle 1029ad <ConsoleCursorGoto+0x1a>
1029a7: 89 15 38 da 10 00 mov DWORD PTR ds:0x10da38,edx
1029ad: 85 c0 test eax,eax
1029af: 78 0d js 1029be <ConsoleCursorGoto+0x2b>
1029b1: 39 05 08 c0 10 00 cmp DWORD PTR ds:0x10c008,eax
1029b7: 7e 05 jle 1029be <ConsoleCursorGoto+0x2b>
1029b9: a3 3c da 10 00 mov ds:0x10da3c,eax
1029be: c3 ret
...
001029c0 <_next_word_index>:
1029c0: 53 push ebx
1029c1: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
1029c5: 8b 44 24 10 mov eax,DWORD PTR [esp+0x10]
1029c9: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14]
1029cd: 83 7c 24 0c 00 cmp DWORD PTR [esp+0xc],0x0
1029d2: 79 73 jns 102a47 <_next_word_index+0x87>
1029d4: 48 dec eax
1029d5: 31 c9 xor ecx,ecx
1029d7: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1]
1029da: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1]
1029e0: 81 e1 ff 00 00 00 and ecx,0xff
1029e6: f6 c1 0a test cl,0xa
1029e9: 74 1f je 102a0a <_next_word_index+0x4a>
1029eb: 85 c0 test eax,eax
1029ed: 7e 1b jle 102a0a <_next_word_index+0x4a>
1029ef: 48 dec eax
1029f0: 31 c9 xor ecx,ecx
1029f2: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1]
1029f5: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1]
1029fb: 81 e1 ff 00 00 00 and ecx,0xff
102a01: f6 c1 0a test cl,0xa
102a04: 74 04 je 102a0a <_next_word_index+0x4a>
102a06: 85 c0 test eax,eax
102a08: 7f e5 jg 1029ef <_next_word_index+0x2f>
102a0a: 31 c9 xor ecx,ecx
102a0c: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1]
102a0f: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1]
102a15: 81 e1 ff 00 00 00 and ecx,0xff
102a1b: f6 c1 d0 test cl,0xd0
102a1e: 74 1f je 102a3f <_next_word_index+0x7f>
102a20: 85 c0 test eax,eax
102a22: 7e 1b jle 102a3f <_next_word_index+0x7f>
102a24: 48 dec eax
102a25: 31 c9 xor ecx,ecx
102a27: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1]
102a2a: 8a 89 e1 c0 10 00 mov cl,BYTE PTR [ecx+0x10c0e1]
102a30: 81 e1 ff 00 00 00 and ecx,0xff
102a36: f6 c1 d0 test cl,0xd0
102a39: 74 04 je 102a3f <_next_word_index+0x7f>
102a3b: 85 c0 test eax,eax
102a3d: 7f e5 jg 102a24 <_next_word_index+0x64>
102a3f: 83 f8 01 cmp eax,0x1
102a42: 83 d8 ff sbb eax,0xffffffff
102a45: eb 6b jmp 102ab2 <_next_word_index+0xf2>
102a47: 40 inc eax
102a48: 31 db xor ebx,ebx
102a4a: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1]
102a4d: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1]
102a53: 81 e3 ff 00 00 00 and ebx,0xff
102a59: f6 c3 d0 test bl,0xd0
102a5c: 74 1f je 102a7d <_next_word_index+0xbd>
102a5e: 39 c8 cmp eax,ecx
102a60: 7d 1b jge 102a7d <_next_word_index+0xbd>
102a62: 40 inc eax
102a63: 31 db xor ebx,ebx
102a65: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1]
102a68: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1]
102a6e: 81 e3 ff 00 00 00 and ebx,0xff
102a74: f6 c3 d0 test bl,0xd0
102a77: 74 04 je 102a7d <_next_word_index+0xbd>
102a79: 39 c1 cmp ecx,eax
102a7b: 7f e5 jg 102a62 <_next_word_index+0xa2>
102a7d: 31 db xor ebx,ebx
102a7f: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1]
102a82: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1]
102a88: 81 e3 ff 00 00 00 and ebx,0xff
102a8e: f6 c3 0a test bl,0xa
102a91: 74 1f je 102ab2 <_next_word_index+0xf2>
102a93: 39 c1 cmp ecx,eax
102a95: 7e 1b jle 102ab2 <_next_word_index+0xf2>
102a97: 40 inc eax
102a98: 31 db xor ebx,ebx
102a9a: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1]
102a9d: 8a 9b e1 c0 10 00 mov bl,BYTE PTR [ebx+0x10c0e1]
102aa3: 81 e3 ff 00 00 00 and ebx,0xff
102aa9: f6 c3 0a test bl,0xa
102aac: 74 04 je 102ab2 <_next_word_index+0xf2>
102aae: 39 c1 cmp ecx,eax
102ab0: 7f e5 jg 102a97 <_next_word_index+0xd7>
102ab2: 5b pop ebx
102ab3: c3 ret
00102ab4 <_string_crop>:
102ab4: 55 push ebp
102ab5: 57 push edi
102ab6: 56 push esi
102ab7: 53 push ebx
102ab8: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14]
102abc: 8b 6c 24 18 mov ebp,DWORD PTR [esp+0x18]
102ac0: 8b 7c 24 1c mov edi,DWORD PTR [esp+0x1c]
102ac4: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
102ac8: 8b 11 mov edx,DWORD PTR [ecx]
102aca: 39 d7 cmp edi,edx
102acc: 7d 15 jge 102ae3 <_string_crop+0x2f>
102ace: 89 f8 mov eax,edi
102ad0: 89 ee mov esi,ebp
102ad2: 29 fe sub esi,edi
102ad4: 01 de add esi,ebx
102ad6: 8a 14 03 mov dl,BYTE PTR [ebx+eax*1]
102ad9: 88 14 06 mov BYTE PTR [esi+eax*1],dl
102adc: 40 inc eax
102add: 8b 11 mov edx,DWORD PTR [ecx]
102adf: 39 c2 cmp edx,eax
102ae1: 7f f3 jg 102ad6 <_string_crop+0x22>
102ae3: 29 fd sub ebp,edi
102ae5: 01 ea add edx,ebp
102ae7: 89 11 mov DWORD PTR [ecx],edx
102ae9: c6 04 13 00 mov BYTE PTR [ebx+edx*1],0x0
102aed: 5b pop ebx
102aee: 5e pop esi
102aef: 5f pop edi
102af0: 5d pop ebp
102af1: c3 ret
00102af2 <_string_insert>:
102af2: 56 push esi
102af3: 53 push ebx
102af4: 83 ec 04 sub esp,0x4
102af7: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10]
102afb: 8b 4c 24 18 mov ecx,DWORD PTR [esp+0x18]
102aff: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c]
102b03: 8a 44 24 14 mov al,BYTE PTR [esp+0x14]
102b07: 88 44 24 03 mov BYTE PTR [esp+0x3],al
102b0b: 8b 06 mov eax,DWORD PTR [esi]
102b0d: 39 c8 cmp eax,ecx
102b0f: 7e 0c jle 102b1d <_string_insert+0x2b>
102b11: 8a 5c 02 ff mov bl,BYTE PTR [edx+eax*1-0x1]
102b15: 88 1c 02 mov BYTE PTR [edx+eax*1],bl
102b18: 48 dec eax
102b19: 39 c1 cmp ecx,eax
102b1b: 7c f4 jl 102b11 <_string_insert+0x1f>
102b1d: 8a 44 24 03 mov al,BYTE PTR [esp+0x3]
102b21: 88 04 0a mov BYTE PTR [edx+ecx*1],al
102b24: 8b 06 mov eax,DWORD PTR [esi]
102b26: 40 inc eax
102b27: 89 06 mov DWORD PTR [esi],eax
102b29: c6 04 02 00 mov BYTE PTR [edx+eax*1],0x0
102b2d: 83 c4 04 add esp,0x4
102b30: 5b pop ebx
102b31: 5e pop esi
102b32: c3 ret
00102b33 <ConsoleReadString>:
102b33: 55 push ebp
102b34: 57 push edi
102b35: 56 push esi
102b36: 53 push ebx
102b37: 83 ec 3c sub esp,0x3c
102b3a: 8a 44 24 58 mov al,BYTE PTR [esp+0x58]
102b3e: 88 44 24 1d mov BYTE PTR [esp+0x1d],al
102b42: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0
102b49: 00
102b4a: 8b 3d 38 da 10 00 mov edi,DWORD PTR ds:0x10da38
102b50: 8b 2d 3c da 10 00 mov ebp,DWORD PTR ds:0x10da3c
102b56: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102b5a: c6 02 00 mov BYTE PTR [edx],0x0
102b5d: be 00 00 00 00 mov esi,0x0
102b62: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0
102b69: 00
102b6a: 8d 44 24 1e lea eax,[esp+0x1e]
102b6e: 89 04 24 mov DWORD PTR [esp],eax
102b71: e8 68 60 00 00 call 108bde <ReadKey>
102b76: 83 ec 04 sub esp,0x4
102b79: 66 8b 44 24 1e mov ax,WORD PTR [esp+0x1e]
102b7e: 88 44 24 1c mov BYTE PTR [esp+0x1c],al
102b82: 0f b6 c4 movzx eax,ah
102b85: 83 e8 5f sub eax,0x5f
102b88: 3c 08 cmp al,0x8
102b8a: 0f 87 d5 01 00 00 ja 102d65 <ConsoleReadString+0x232>
102b90: 25 ff 00 00 00 and eax,0xff
102b95: ff 24 85 0c 9c 10 00 jmp DWORD PTR [eax*4+0x109c0c]
102b9c: 83 7c 24 18 00 cmp DWORD PTR [esp+0x18],0x0
102ba1: 0f 8e 01 02 00 00 jle 102da8 <ConsoleReadString+0x275>
102ba7: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c
102bae: e8 4a 42 00 00 call 106dfd <KeyboardGetKeyStatus>
102bb3: 84 c0 test al,al
102bb5: 75 10 jne 102bc7 <ConsoleReadString+0x94>
102bb7: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14
102bbe: e8 3a 42 00 00 call 106dfd <KeyboardGetKeyStatus>
102bc3: 84 c0 test al,al
102bc5: 74 2d je 102bf4 <ConsoleReadString+0xc1>
102bc7: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
102bcb: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
102bcf: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102bd3: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102bd7: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
102bde: ff
102bdf: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102be3: 89 14 24 mov DWORD PTR [esp],edx
102be6: e8 d5 fd ff ff call 1029c0 <_next_word_index>
102beb: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
102bef: e9 b4 01 00 00 jmp 102da8 <ConsoleReadString+0x275>
102bf4: ff 4c 24 18 dec DWORD PTR [esp+0x18]
102bf8: e9 ab 01 00 00 jmp 102da8 <ConsoleReadString+0x275>
102bfd: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102c01: 3b 44 24 2c cmp eax,DWORD PTR [esp+0x2c]
102c05: 0f 8d 9d 01 00 00 jge 102da8 <ConsoleReadString+0x275>
102c0b: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c
102c12: e8 e6 41 00 00 call 106dfd <KeyboardGetKeyStatus>
102c17: 84 c0 test al,al
102c19: 75 10 jne 102c2b <ConsoleReadString+0xf8>
102c1b: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14
102c22: e8 d6 41 00 00 call 106dfd <KeyboardGetKeyStatus>
102c27: 84 c0 test al,al
102c29: 74 2d je 102c58 <ConsoleReadString+0x125>
102c2b: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
102c2f: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
102c33: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102c37: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102c3b: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
102c42: 00
102c43: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102c47: 89 14 24 mov DWORD PTR [esp],edx
102c4a: e8 71 fd ff ff call 1029c0 <_next_word_index>
102c4f: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
102c53: e9 50 01 00 00 jmp 102da8 <ConsoleReadString+0x275>
102c58: ff 44 24 18 inc DWORD PTR [esp+0x18]
102c5c: e9 47 01 00 00 jmp 102da8 <ConsoleReadString+0x275>
102c61: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102c65: 3b 44 24 2c cmp eax,DWORD PTR [esp+0x2c]
102c69: 0f 84 39 01 00 00 je 102da8 <ConsoleReadString+0x275>
102c6f: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c
102c76: e8 82 41 00 00 call 106dfd <KeyboardGetKeyStatus>
102c7b: 84 c0 test al,al
102c7d: 75 17 jne 102c96 <ConsoleReadString+0x163>
102c7f: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14
102c86: e8 72 41 00 00 call 106dfd <KeyboardGetKeyStatus>
102c8b: 88 c2 mov dl,al
102c8d: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102c91: 40 inc eax
102c92: 84 d2 test dl,dl
102c94: 74 24 je 102cba <ConsoleReadString+0x187>
102c96: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
102c9a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
102c9e: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102ca2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102ca6: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
102cad: 00
102cae: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102cb2: 89 14 24 mov DWORD PTR [esp],edx
102cb5: e8 06 fd ff ff call 1029c0 <_next_word_index>
102cba: 8d 54 24 2c lea edx,[esp+0x2c]
102cbe: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
102cc2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102cc6: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102cca: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
102cce: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102cd2: 89 14 24 mov DWORD PTR [esp],edx
102cd5: e8 da fd ff ff call 102ab4 <_string_crop>
102cda: e9 c9 00 00 00 jmp 102da8 <ConsoleReadString+0x275>
102cdf: 83 7c 24 18 00 cmp DWORD PTR [esp+0x18],0x0
102ce4: 0f 84 be 00 00 00 je 102da8 <ConsoleReadString+0x275>
102cea: c7 04 24 5c 00 00 00 mov DWORD PTR [esp],0x5c
102cf1: e8 07 41 00 00 call 106dfd <KeyboardGetKeyStatus>
102cf6: 84 c0 test al,al
102cf8: 75 15 jne 102d0f <ConsoleReadString+0x1dc>
102cfa: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14
102d01: e8 f7 40 00 00 call 106dfd <KeyboardGetKeyStatus>
102d06: 8b 5c 24 18 mov ebx,DWORD PTR [esp+0x18]
102d0a: 4b dec ebx
102d0b: 84 c0 test al,al
102d0d: 74 26 je 102d35 <ConsoleReadString+0x202>
102d0f: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
102d13: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
102d17: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102d1b: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102d1f: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
102d26: ff
102d27: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102d2b: 89 14 24 mov DWORD PTR [esp],edx
102d2e: e8 8d fc ff ff call 1029c0 <_next_word_index>
102d33: 89 c3 mov ebx,eax
102d35: 8d 44 24 2c lea eax,[esp+0x2c]
102d39: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
102d3d: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102d41: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
102d45: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
102d49: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102d4d: 89 14 24 mov DWORD PTR [esp],edx
102d50: e8 5f fd ff ff call 102ab4 <_string_crop>
102d55: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx
102d59: eb 4d jmp 102da8 <ConsoleReadString+0x275>
102d5b: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
102d5f: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
102d63: eb 43 jmp 102da8 <ConsoleReadString+0x275>
102d65: 80 7c 24 1c 00 cmp BYTE PTR [esp+0x1c],0x0
102d6a: 74 3c je 102da8 <ConsoleReadString+0x275>
102d6c: 0f be 44 24 1c movsx eax,BYTE PTR [esp+0x1c]
102d71: f6 80 e1 c0 10 00 01 test BYTE PTR [eax+0x10c0e1],0x1
102d78: 75 2e jne 102da8 <ConsoleReadString+0x275>
102d7a: 8d 54 24 2c lea edx,[esp+0x2c]
102d7e: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
102d82: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18]
102d86: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
102d8a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
102d8e: 8b 44 24 50 mov eax,DWORD PTR [esp+0x50]
102d92: 89 04 24 mov DWORD PTR [esp],eax
102d95: e8 58 fd ff ff call 102af2 <_string_insert>
102d9a: ff 44 24 18 inc DWORD PTR [esp+0x18]
102d9e: eb 08 jmp 102da8 <ConsoleReadString+0x275>
102da0: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0
102da7: 00
102da8: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi
102dae: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp
102db4: 3b 74 24 2c cmp esi,DWORD PTR [esp+0x2c]
102db8: 7e 1a jle 102dd4 <ConsoleReadString+0x2a1>
102dba: 85 f6 test esi,esi
102dbc: 7e 16 jle 102dd4 <ConsoleReadString+0x2a1>
102dbe: bb 00 00 00 00 mov ebx,0x0
102dc3: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20
102dca: e8 6d 00 00 00 call 102e3c <_write_char>
102dcf: 43 inc ebx
102dd0: 39 f3 cmp ebx,esi
102dd2: 75 ef jne 102dc3 <ConsoleReadString+0x290>
102dd4: 8b 74 24 2c mov esi,DWORD PTR [esp+0x2c]
102dd8: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi
102dde: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp
102de4: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
102de8: 89 14 24 mov DWORD PTR [esp],edx
102deb: e8 22 01 00 00 call 102f12 <_write_string>
102df0: 89 3d 38 da 10 00 mov DWORD PTR ds:0x10da38,edi
102df6: 89 2d 3c da 10 00 mov DWORD PTR ds:0x10da3c,ebp
102dfc: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
102e00: 89 04 24 mov DWORD PTR [esp],eax
102e03: e8 f2 f9 ff ff call 1027fa <ConsoleCursorIncreasePos>
102e08: e8 b0 fa ff ff call 1028bd <ConsoleCursorUpdateHardware>
102e0d: 8a 54 24 1c mov dl,BYTE PTR [esp+0x1c]
102e11: 38 54 24 1d cmp BYTE PTR [esp+0x1d],dl
102e15: 74 0e je 102e25 <ConsoleReadString+0x2f2>
102e17: 8b 44 24 54 mov eax,DWORD PTR [esp+0x54]
102e1b: 39 44 24 2c cmp DWORD PTR [esp+0x2c],eax
102e1f: 0f 8c 45 fd ff ff jl 102b6a <ConsoleReadString+0x37>
102e25: c7 04 24 0a 00 00 00 mov DWORD PTR [esp],0xa
102e2c: e8 16 01 00 00 call 102f47 <ConsoleWriteChar>
102e31: 83 c4 3c add esp,0x3c
102e34: 5b pop ebx
102e35: 5e pop esi
102e36: 5f pop edi
102e37: 5d pop ebp
102e38: c3 ret
102e39: 00 00 add BYTE PTR [eax],al
...
00102e3c <_write_char>:
102e3c: 83 ec 1c sub esp,0x1c
102e3f: 8a 44 24 20 mov al,BYTE PTR [esp+0x20]
102e43: 3c 09 cmp al,0x9
102e45: 74 2d je 102e74 <_write_char+0x38>
102e47: 3c 09 cmp al,0x9
102e49: 7f 06 jg 102e51 <_write_char+0x15>
102e4b: 3c 08 cmp al,0x8
102e4d: 75 75 jne 102ec4 <_write_char+0x88>
102e4f: eb 49 jmp 102e9a <_write_char+0x5e>
102e51: 3c 0a cmp al,0xa
102e53: 74 06 je 102e5b <_write_char+0x1f>
102e55: 3c 0d cmp al,0xd
102e57: 75 6b jne 102ec4 <_write_char+0x88>
102e59: eb 0a jmp 102e65 <_write_char+0x29>
102e5b: e8 2d fa ff ff call 10288d <ConsoleCursorNewline>
102e60: e9 a9 00 00 00 jmp 102f0e <_write_char+0xd2>
102e65: c7 05 38 da 10 00 00 mov DWORD PTR ds:0x10da38,0x0
102e6c: 00 00 00
102e6f: e9 9a 00 00 00 jmp 102f0e <_write_char+0xd2>
102e74: 8b 0d 38 da 10 00 mov ecx,DWORD PTR ds:0x10da38
102e7a: b8 ab aa aa aa mov eax,0xaaaaaaab
102e7f: f7 e1 mul ecx
102e81: 89 d0 mov eax,edx
102e83: c1 e8 02 shr eax,0x2
102e86: 8d 04 40 lea eax,[eax+eax*2]
102e89: 01 c0 add eax,eax
102e8b: 29 c8 sub eax,ecx
102e8d: 8d 40 06 lea eax,[eax+0x6]
102e90: 89 04 24 mov DWORD PTR [esp],eax
102e93: e8 62 f9 ff ff call 1027fa <ConsoleCursorIncreasePos>
102e98: eb 74 jmp 102f0e <_write_char+0xd2>
102e9a: c7 04 24 ff ff ff ff mov DWORD PTR [esp],0xffffffff
102ea1: e8 54 f9 ff ff call 1027fa <ConsoleCursorIncreasePos>
102ea6: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
102eac: 0f af 15 3c da 10 00 imul edx,DWORD PTR ds:0x10da3c
102eb3: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38
102eb9: a1 0c c0 10 00 mov eax,ds:0x10c00c
102ebe: c6 04 50 00 mov BYTE PTR [eax+edx*2],0x0
102ec2: eb 4a jmp 102f0e <_write_char+0xd2>
102ec4: 8b 0d 04 c0 10 00 mov ecx,DWORD PTR ds:0x10c004
102eca: 0f af 0d 3c da 10 00 imul ecx,DWORD PTR ds:0x10da3c
102ed1: 03 0d 38 da 10 00 add ecx,DWORD PTR ds:0x10da38
102ed7: 8b 15 0c c0 10 00 mov edx,DWORD PTR ds:0x10c00c
102edd: 88 04 4a mov BYTE PTR [edx+ecx*2],al
102ee0: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
102ee6: 0f af 15 3c da 10 00 imul edx,DWORD PTR ds:0x10da3c
102eed: 03 15 38 da 10 00 add edx,DWORD PTR ds:0x10da38
102ef3: a1 0c c0 10 00 mov eax,ds:0x10c00c
102ef8: 8a 0d 00 c0 10 00 mov cl,BYTE PTR ds:0x10c000
102efe: 88 4c 50 01 mov BYTE PTR [eax+edx*2+0x1],cl
102f02: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
102f09: e8 ec f8 ff ff call 1027fa <ConsoleCursorIncreasePos>
102f0e: 83 c4 1c add esp,0x1c
102f11: c3 ret
00102f12 <_write_string>:
102f12: 57 push edi
102f13: 56 push esi
102f14: 53 push ebx
102f15: 83 ec 10 sub esp,0x10
102f18: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
102f1c: 89 34 24 mov DWORD PTR [esp],esi
102f1f: e8 ec 5d 00 00 call 108d10 <strlen>
102f24: 89 c7 mov edi,eax
102f26: 85 c0 test eax,eax
102f28: 7e 16 jle 102f40 <_write_string+0x2e>
102f2a: bb 00 00 00 00 mov ebx,0x0
102f2f: 0f be 04 1e movsx eax,BYTE PTR [esi+ebx*1]
102f33: 89 04 24 mov DWORD PTR [esp],eax
102f36: e8 01 ff ff ff call 102e3c <_write_char>
102f3b: 43 inc ebx
102f3c: 39 df cmp edi,ebx
102f3e: 75 ef jne 102f2f <_write_string+0x1d>
102f40: 83 c4 10 add esp,0x10
102f43: 5b pop ebx
102f44: 5e pop esi
102f45: 5f pop edi
102f46: c3 ret
00102f47 <ConsoleWriteChar>:
102f47: 83 ec 1c sub esp,0x1c
102f4a: 0f be 44 24 20 movsx eax,BYTE PTR [esp+0x20]
102f4f: 89 04 24 mov DWORD PTR [esp],eax
102f52: e8 e5 fe ff ff call 102e3c <_write_char>
102f57: e8 61 f9 ff ff call 1028bd <ConsoleCursorUpdateHardware>
102f5c: 83 c4 1c add esp,0x1c
102f5f: c3 ret
00102f60 <ConsoleWriteString>:
102f60: 83 ec 1c sub esp,0x1c
102f63: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
102f67: 89 04 24 mov DWORD PTR [esp],eax
102f6a: e8 a3 ff ff ff call 102f12 <_write_string>
102f6f: e8 49 f9 ff ff call 1028bd <ConsoleCursorUpdateHardware>
102f74: 83 c4 1c add esp,0x1c
102f77: c3 ret
00102f78 <ConsoleWrite>:
102f78: 55 push ebp
102f79: 57 push edi
102f7a: 56 push esi
102f7b: 53 push ebx
102f7c: 83 ec 4c sub esp,0x4c
102f7f: 8b 54 24 60 mov edx,DWORD PTR [esp+0x60]
102f83: b8 00 00 00 00 mov eax,0x0
102f88: 85 d2 test edx,edx
102f8a: 0f 84 7c 01 00 00 je 10310c <ConsoleWrite+0x194>
102f90: 80 3a 00 cmp BYTE PTR [edx],0x0
102f93: 0f 84 73 01 00 00 je 10310c <ConsoleWrite+0x194>
102f99: 89 14 24 mov DWORD PTR [esp],edx
102f9c: e8 6f 5d 00 00 call 108d10 <strlen>
102fa1: 89 c7 mov edi,eax
102fa3: a0 00 c0 10 00 mov al,ds:0x10c000
102fa8: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
102fac: 85 ff test edi,edi
102fae: 0f 84 3c 01 00 00 je 1030f0 <ConsoleWrite+0x178>
102fb4: bb 00 00 00 00 mov ebx,0x0
102fb9: 8d 74 24 64 lea esi,[esp+0x64]
102fbd: 8d 6c 24 20 lea ebp,[esp+0x20]
102fc1: 8b 54 24 60 mov edx,DWORD PTR [esp+0x60]
102fc5: 8a 04 1a mov al,BYTE PTR [edx+ebx*1]
102fc8: 3c 25 cmp al,0x25
102fca: 74 10 je 102fdc <ConsoleWrite+0x64>
102fcc: 0f be c0 movsx eax,al
102fcf: 89 04 24 mov DWORD PTR [esp],eax
102fd2: e8 65 fe ff ff call 102e3c <_write_char>
102fd7: e9 09 01 00 00 jmp 1030e5 <ConsoleWrite+0x16d>
102fdc: 43 inc ebx
102fdd: 8a 04 1a mov al,BYTE PTR [edx+ebx*1]
102fe0: 3c 69 cmp al,0x69
102fe2: 74 76 je 10305a <ConsoleWrite+0xe2>
102fe4: 3c 69 cmp al,0x69
102fe6: 7f 27 jg 10300f <ConsoleWrite+0x97>
102fe8: 3c 63 cmp al,0x63
102fea: 74 39 je 103025 <ConsoleWrite+0xad>
102fec: 3c 63 cmp al,0x63
102fee: 7f 15 jg 103005 <ConsoleWrite+0x8d>
102ff0: 3c 23 cmp al,0x23
102ff2: 0f 84 e3 00 00 00 je 1030db <ConsoleWrite+0x163>
102ff8: 3c 58 cmp al,0x58
102ffa: 0f 85 07 01 00 00 jne 103107 <ConsoleWrite+0x18f>
103000: e9 80 00 00 00 jmp 103085 <ConsoleWrite+0x10d>
103005: 3c 64 cmp al,0x64
103007: 0f 85 fa 00 00 00 jne 103107 <ConsoleWrite+0x18f>
10300d: eb 4b jmp 10305a <ConsoleWrite+0xe2>
10300f: 3c 75 cmp al,0x75
103011: 0f 84 99 00 00 00 je 1030b0 <ConsoleWrite+0x138>
103017: 3c 78 cmp al,0x78
103019: 74 6a je 103085 <ConsoleWrite+0x10d>
10301b: 3c 73 cmp al,0x73
10301d: 0f 85 e4 00 00 00 jne 103107 <ConsoleWrite+0x18f>
103023: eb 1b jmp 103040 <ConsoleWrite+0xc8>
103025: 8d 46 04 lea eax,[esi+0x4]
103028: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
10302c: 0f be 06 movsx eax,BYTE PTR [esi]
10302f: 89 04 24 mov DWORD PTR [esp],eax
103032: e8 05 fe ff ff call 102e3c <_write_char>
103037: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
10303b: e9 a5 00 00 00 jmp 1030e5 <ConsoleWrite+0x16d>
103040: 8d 46 04 lea eax,[esi+0x4]
103043: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
103047: 8b 06 mov eax,DWORD PTR [esi]
103049: 89 04 24 mov DWORD PTR [esp],eax
10304c: e8 c1 fe ff ff call 102f12 <_write_string>
103051: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
103055: e9 8b 00 00 00 jmp 1030e5 <ConsoleWrite+0x16d>
10305a: 8d 46 04 lea eax,[esi+0x4]
10305d: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
103061: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa
103068: 00
103069: 8b 06 mov eax,DWORD PTR [esi]
10306b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10306f: 89 2c 24 mov DWORD PTR [esp],ebp
103072: e8 e9 12 00 00 call 104360 <ConvertIntToString>
103077: 89 2c 24 mov DWORD PTR [esp],ebp
10307a: e8 93 fe ff ff call 102f12 <_write_string>
10307f: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
103083: eb 60 jmp 1030e5 <ConsoleWrite+0x16d>
103085: 8d 46 04 lea eax,[esi+0x4]
103088: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
10308c: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10
103093: 00
103094: 8b 06 mov eax,DWORD PTR [esi]
103096: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10309a: 89 2c 24 mov DWORD PTR [esp],ebp
10309d: e8 3e 13 00 00 call 1043e0 <ConvertUIntToString>
1030a2: 89 2c 24 mov DWORD PTR [esp],ebp
1030a5: e8 68 fe ff ff call 102f12 <_write_string>
1030aa: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
1030ae: eb 35 jmp 1030e5 <ConsoleWrite+0x16d>
1030b0: 8d 46 04 lea eax,[esi+0x4]
1030b3: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
1030b7: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa
1030be: 00
1030bf: 8b 06 mov eax,DWORD PTR [esi]
1030c1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1030c5: 89 2c 24 mov DWORD PTR [esp],ebp
1030c8: e8 13 13 00 00 call 1043e0 <ConvertUIntToString>
1030cd: 89 2c 24 mov DWORD PTR [esp],ebp
1030d0: e8 3d fe ff ff call 102f12 <_write_string>
1030d5: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
1030d9: eb 0a jmp 1030e5 <ConsoleWrite+0x16d>
1030db: 8a 06 mov al,BYTE PTR [esi]
1030dd: a2 00 c0 10 00 mov ds:0x10c000,al
1030e2: 8d 76 04 lea esi,[esi+0x4]
1030e5: 43 inc ebx
1030e6: 39 df cmp edi,ebx
1030e8: 0f 87 d3 fe ff ff ja 102fc1 <ConsoleWrite+0x49>
1030ee: eb 05 jmp 1030f5 <ConsoleWrite+0x17d>
1030f0: bb 00 00 00 00 mov ebx,0x0
1030f5: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f]
1030f9: a2 00 c0 10 00 mov ds:0x10c000,al
1030fe: e8 ba f7 ff ff call 1028bd <ConsoleCursorUpdateHardware>
103103: 89 d8 mov eax,ebx
103105: eb 05 jmp 10310c <ConsoleWrite+0x194>
103107: b8 01 00 00 00 mov eax,0x1
10310c: 83 c4 4c add esp,0x4c
10310f: 5b pop ebx
103110: 5e pop esi
103111: 5f pop edi
103112: 5d pop ebp
103113: c3 ret
00103114 <ConsoleSetChar>:
103114: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
10311a: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8]
10311f: 03 54 24 04 add edx,DWORD PTR [esp+0x4]
103123: a1 0c c0 10 00 mov eax,ds:0x10c00c
103128: 8b 4c 24 0c mov ecx,DWORD PTR [esp+0xc]
10312c: 88 0c 50 mov BYTE PTR [eax+edx*2],cl
10312f: c3 ret
00103130 <ConsoleSetColor>:
103130: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
103136: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8]
10313b: 03 54 24 04 add edx,DWORD PTR [esp+0x4]
10313f: a1 0c c0 10 00 mov eax,ds:0x10c00c
103144: 8b 4c 24 0c mov ecx,DWORD PTR [esp+0xc]
103148: 88 4c 50 01 mov BYTE PTR [eax+edx*2+0x1],cl
10314c: c3 ret
0010314d <ConsoleGetChar>:
10314d: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
103153: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8]
103158: 03 54 24 04 add edx,DWORD PTR [esp+0x4]
10315c: a1 0c c0 10 00 mov eax,ds:0x10c00c
103161: 8a 04 50 mov al,BYTE PTR [eax+edx*2]
103164: c3 ret
00103165 <ConsoleGetColor>:
103165: 8b 15 04 c0 10 00 mov edx,DWORD PTR ds:0x10c004
10316b: 0f af 54 24 08 imul edx,DWORD PTR [esp+0x8]
103170: 03 54 24 04 add edx,DWORD PTR [esp+0x4]
103174: a1 0c c0 10 00 mov eax,ds:0x10c00c
103179: 8a 44 50 01 mov al,BYTE PTR [eax+edx*2+0x1]
10317d: c3 ret
...
00103180 <task>:
103180: 55 push ebp
103181: 57 push edi
103182: 56 push esi
103183: 53 push ebx
103184: 83 ec 1c sub esp,0x1c
103187: bf 05 00 00 00 mov edi,0x5
10318c: bd 01 00 00 00 mov ebp,0x1
103191: bb 00 00 00 00 mov ebx,0x0
103196: 89 3c 24 mov DWORD PTR [esp],edi
103199: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
10319d: e8 f1 f7 ff ff call 102993 <ConsoleCursorGoto>
1031a2: 8d 73 01 lea esi,[ebx+0x1]
1031a5: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
1031a9: c7 04 24 e3 9e 10 00 mov DWORD PTR [esp],0x109ee3
1031b0: e8 c3 fd ff ff call 102f78 <ConsoleWrite>
1031b5: 89 f3 mov ebx,esi
1031b7: eb dd jmp 103196 <task+0x16>
001031b9 <CommandOsver>:
1031b9: 53 push ebx
1031ba: 83 ec 28 sub esp,0x28
1031bd: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
1031c4: 00
1031c5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1031cc: e8 8a f7 ff ff call 10295b <Color>
1031d1: 88 c3 mov bl,al
1031d3: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe
1031da: 00
1031db: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1031e2: e8 74 f7 ff ff call 10295b <Color>
1031e7: 81 e3 ff 00 00 00 and ebx,0xff
1031ed: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx
1031f1: c7 44 24 08 30 9c 10 mov DWORD PTR [esp+0x8],0x109c30
1031f8: 00
1031f9: 25 ff 00 00 00 and eax,0xff
1031fe: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103202: c7 04 24 7c 9f 10 00 mov DWORD PTR [esp],0x109f7c
103209: e8 6a fd ff ff call 102f78 <ConsoleWrite>
10320e: bb 1e 00 00 00 mov ebx,0x1e
103213: c7 44 24 08 cd 00 00 mov DWORD PTR [esp+0x8],0xcd
10321a: 00
10321b: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
103222: 00
103223: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
10322a: e8 49 fd ff ff call 102f78 <ConsoleWrite>
10322f: 4b dec ebx
103230: 75 e1 jne 103213 <CommandOsver+0x5a>
103232: c7 44 24 0c 39 9c 10 mov DWORD PTR [esp+0xc],0x109c39
103239: 00
10323a: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
103241: 00
103242: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
103249: 00
10324a: c7 04 24 49 9c 10 00 mov DWORD PTR [esp],0x109c49
103251: e8 22 fd ff ff call 102f78 <ConsoleWrite>
103256: c7 44 24 0c 5e 9c 10 mov DWORD PTR [esp+0xc],0x109c5e
10325d: 00
10325e: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
103265: 00
103266: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
10326d: 00
10326e: c7 04 24 67 9c 10 00 mov DWORD PTR [esp],0x109c67
103275: e8 fe fc ff ff call 102f78 <ConsoleWrite>
10327a: c7 44 24 18 76 9c 10 mov DWORD PTR [esp+0x18],0x109c76
103281: 00
103282: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7
103289: 00
10328a: c7 44 24 10 08 00 00 mov DWORD PTR [esp+0x10],0x8
103291: 00
103292: c7 44 24 0c 7f 9c 10 mov DWORD PTR [esp+0xc],0x109c7f
103299: 00
10329a: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
1032a1: 00
1032a2: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
1032a9: 00
1032aa: c7 04 24 8b 9c 10 00 mov DWORD PTR [esp],0x109c8b
1032b1: e8 c2 fc ff ff call 102f78 <ConsoleWrite>
1032b6: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
1032bd: 00
1032be: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
1032c5: 00
1032c6: c7 04 24 9c 9f 10 00 mov DWORD PTR [esp],0x109f9c
1032cd: e8 a6 fc ff ff call 102f78 <ConsoleWrite>
1032d2: 83 c4 28 add esp,0x28
1032d5: 5b pop ebx
1032d6: c3 ret
001032d7 <CommandTime>:
1032d7: 55 push ebp
1032d8: 57 push edi
1032d9: 56 push esi
1032da: 53 push ebx
1032db: 81 ec ac 00 00 00 sub esp,0xac
1032e1: 8d 7c 24 6c lea edi,[esp+0x6c]
1032e5: be 60 a2 10 00 mov esi,0x10a260
1032ea: b9 0d 00 00 00 mov ecx,0xd
1032ef: f3 a5 rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi]
1032f1: 8d 7c 24 4c lea edi,[esp+0x4c]
1032f5: be a0 a2 10 00 mov esi,0x10a2a0
1032fa: b1 08 mov cl,0x8
1032fc: f3 a5 rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi]
1032fe: 8d 44 24 38 lea eax,[esp+0x38]
103302: 89 04 24 mov DWORD PTR [esp],eax
103305: e8 46 60 00 00 call 109350 <TimeGetInternalTime>
10330a: 83 ec 04 sub esp,0x4
10330d: 8d 44 24 40 lea eax,[esp+0x40]
103311: 8b 4c 24 38 mov ecx,DWORD PTR [esp+0x38]
103315: 8b 5c 24 3c mov ebx,DWORD PTR [esp+0x3c]
103319: 89 4c 24 04 mov DWORD PTR [esp+0x4],ecx
10331d: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
103321: 89 04 24 mov DWORD PTR [esp],eax
103324: e8 2e 5e 00 00 call 109157 <ConvertTimeSystemToTime>
103329: 83 ec 04 sub esp,0x4
10332c: 0f b6 74 24 48 movzx esi,BYTE PTR [esp+0x48]
103331: 8a 5c 24 49 mov bl,BYTE PTR [esp+0x49]
103335: 88 5c 24 33 mov BYTE PTR [esp+0x33],bl
103339: 66 8b 5c 24 4a mov bx,WORD PTR [esp+0x4a]
10333e: c7 04 24 a6 9c 10 00 mov DWORD PTR [esp],0x109ca6
103345: e8 2e fc ff ff call 102f78 <ConsoleWrite>
10334a: 31 c0 xor eax,eax
10334c: 8a 44 24 47 mov al,BYTE PTR [esp+0x47]
103350: 89 44 24 34 mov DWORD PTR [esp+0x34],eax
103354: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa
10335b: 00
10335c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103363: e8 f3 f5 ff ff call 10295b <Color>
103368: 89 da mov edx,ebx
10336a: 81 e2 ff ff 00 00 and edx,0xffff
103370: 8d 0c 52 lea ecx,[edx+edx*2]
103373: 89 cf mov edi,ecx
103375: c1 e7 04 shl edi,0x4
103378: 01 f9 add ecx,edi
10337a: 89 cf mov edi,ecx
10337c: c1 e7 08 shl edi,0x8
10337f: 01 f9 add ecx,edi
103381: 8d 14 8a lea edx,[edx+ecx*4]
103384: c1 ea 13 shr edx,0x13
103387: 8d 0c 92 lea ecx,[edx+edx*4]
10338a: 01 c9 add ecx,ecx
10338c: 89 df mov edi,ebx
10338e: 66 29 cf sub di,cx
103391: 89 f9 mov ecx,edi
103393: 81 e1 ff ff 00 00 and ecx,0xffff
103399: 89 4c 24 24 mov DWORD PTR [esp+0x24],ecx
10339d: 89 d1 mov ecx,edx
10339f: 81 e1 ff ff 00 00 and ecx,0xffff
1033a5: 8d 3c 49 lea edi,[ecx+ecx*2]
1033a8: 89 fd mov ebp,edi
1033aa: c1 e5 04 shl ebp,0x4
1033ad: 01 ef add edi,ebp
1033af: 89 fd mov ebp,edi
1033b1: c1 e5 08 shl ebp,0x8
1033b4: 01 ef add edi,ebp
1033b6: 8d 0c b9 lea ecx,[ecx+edi*4]
1033b9: c1 e9 13 shr ecx,0x13
1033bc: 8d 0c 89 lea ecx,[ecx+ecx*4]
1033bf: 01 c9 add ecx,ecx
1033c1: 66 29 ca sub dx,cx
1033c4: 81 e2 ff ff 00 00 and edx,0xffff
1033ca: 89 54 24 20 mov DWORD PTR [esp+0x20],edx
1033ce: 66 c1 eb 02 shr bx,0x2
1033d2: 81 e3 ff ff 00 00 and ebx,0xffff
1033d8: 8d 14 9b lea edx,[ebx+ebx*4]
1033db: 8d 14 d3 lea edx,[ebx+edx*8]
1033de: c1 e2 05 shl edx,0x5
1033e1: 29 da sub edx,ebx
1033e3: c1 e2 02 shl edx,0x2
1033e6: 29 da sub edx,ebx
1033e8: c1 ea 11 shr edx,0x11
1033eb: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx
1033ef: 31 d2 xor edx,edx
1033f1: 8a 54 24 33 mov dl,BYTE PTR [esp+0x33]
1033f5: 8d 0c 92 lea ecx,[edx+edx*4]
1033f8: 8d 14 ca lea edx,[edx+ecx*8]
1033fb: 8d 14 92 lea edx,[edx+edx*4]
1033fe: 66 c1 ea 0b shr dx,0xb
103402: 8d 0c 92 lea ecx,[edx+edx*4]
103405: 01 c9 add ecx,ecx
103407: 8a 5c 24 33 mov bl,BYTE PTR [esp+0x33]
10340b: 28 cb sub bl,cl
10340d: 88 d9 mov cl,bl
10340f: 81 e1 ff 00 00 00 and ecx,0xff
103415: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx
103419: 81 e2 ff 00 00 00 and edx,0xff
10341f: 89 54 24 14 mov DWORD PTR [esp+0x14],edx
103423: 89 f2 mov edx,esi
103425: 81 e2 ff 00 00 00 and edx,0xff
10342b: 8d 0c 92 lea ecx,[edx+edx*4]
10342e: 8d 14 ca lea edx,[edx+ecx*8]
103431: 8d 14 92 lea edx,[edx+edx*4]
103434: 66 c1 ea 0b shr dx,0xb
103438: 8d 0c 92 lea ecx,[edx+edx*4]
10343b: 01 c9 add ecx,ecx
10343d: 89 f3 mov ebx,esi
10343f: 28 cb sub bl,cl
103441: 89 de mov esi,ebx
103443: 81 e6 ff 00 00 00 and esi,0xff
103449: 89 74 24 10 mov DWORD PTR [esp+0x10],esi
10344d: 81 e2 ff 00 00 00 and edx,0xff
103453: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
103457: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
10345b: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi
10345f: 25 ff 00 00 00 and eax,0xff
103464: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103468: c7 04 24 b5 9c 10 00 mov DWORD PTR [esp],0x109cb5
10346f: e8 04 fb ff ff call 102f78 <ConsoleWrite>
103474: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40]
103478: 8a 44 24 46 mov al,BYTE PTR [esp+0x46]
10347c: 25 ff 00 00 00 and eax,0xff
103481: 89 c6 mov esi,eax
103483: 31 c0 xor eax,eax
103485: 8a 44 24 44 mov al,BYTE PTR [esp+0x44]
103489: 8b 7c 84 6c mov edi,DWORD PTR [esp+eax*4+0x6c]
10348d: 31 c0 xor eax,eax
10348f: 8a 44 24 45 mov al,BYTE PTR [esp+0x45]
103493: 8b 6c 84 4c mov ebp,DWORD PTR [esp+eax*4+0x4c]
103497: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa
10349e: 00
10349f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1034a6: e8 b0 f4 ff ff call 10295b <Color>
1034ab: 89 5c 24 14 mov DWORD PTR [esp+0x14],ebx
1034af: 89 74 24 10 mov DWORD PTR [esp+0x10],esi
1034b3: 89 7c 24 0c mov DWORD PTR [esp+0xc],edi
1034b7: 89 6c 24 08 mov DWORD PTR [esp+0x8],ebp
1034bb: 25 ff 00 00 00 and eax,0xff
1034c0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1034c4: c7 04 24 cc 9c 10 00 mov DWORD PTR [esp],0x109ccc
1034cb: e8 a8 fa ff ff call 102f78 <ConsoleWrite>
1034d0: 81 c4 ac 00 00 00 add esp,0xac
1034d6: 5b pop ebx
1034d7: 5e pop esi
1034d8: 5f pop edi
1034d9: 5d pop ebp
1034da: c3 ret
001034db <CommandHelp>:
1034db: 56 push esi
1034dc: 53 push ebx
1034dd: 83 ec 14 sub esp,0x14
1034e0: 83 7c 24 24 01 cmp DWORD PTR [esp+0x24],0x1
1034e5: 7f 59 jg 103540 <CommandHelp+0x65>
1034e7: c7 04 24 72 9d 10 00 mov DWORD PTR [esp],0x109d72
1034ee: e8 85 fa ff ff call 102f78 <ConsoleWrite>
1034f3: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0
1034fa: 7e 78 jle 103574 <CommandHelp+0x99>
1034fc: bb 00 00 00 00 mov ebx,0x0
103501: 8b 34 9d 40 c0 10 00 mov esi,DWORD PTR [ebx*4+0x10c040]
103508: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
10350f: 00
103510: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103517: e8 3f f4 ff ff call 10295b <Color>
10351c: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
103520: 25 ff 00 00 00 and eax,0xff
103525: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103529: c7 04 24 87 9d 10 00 mov DWORD PTR [esp],0x109d87
103530: e8 43 fa ff ff call 102f78 <ConsoleWrite>
103535: 43 inc ebx
103536: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx
10353c: 7f c3 jg 103501 <CommandHelp+0x26>
10353e: eb 34 jmp 103574 <CommandHelp+0x99>
103540: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
103544: 8b 58 04 mov ebx,DWORD PTR [eax+0x4]
103547: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
10354e: 00
10354f: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103556: e8 00 f4 ff ff call 10295b <Color>
10355b: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
10355f: 25 ff 00 00 00 and eax,0xff
103564: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103568: c7 04 24 c0 9f 10 00 mov DWORD PTR [esp],0x109fc0
10356f: e8 04 fa ff ff call 102f78 <ConsoleWrite>
103574: 83 c4 14 add esp,0x14
103577: 5b pop ebx
103578: 5e pop esi
103579: c3 ret
0010357a <hex>:
10357a: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
10357e: 8d 42 37 lea eax,[edx+0x37]
103581: 83 fa 09 cmp edx,0x9
103584: 7f 03 jg 103589 <hex+0xf>
103586: 8d 42 30 lea eax,[edx+0x30]
103589: c3 ret
0010358a <CommandDump>:
10358a: 55 push ebp
10358b: 57 push edi
10358c: 56 push esi
10358d: 53 push ebx
10358e: 83 ec 4c sub esp,0x4c
103591: 8b 5c 24 60 mov ebx,DWORD PTR [esp+0x60]
103595: 8b 44 24 64 mov eax,DWORD PTR [esp+0x64]
103599: 83 f8 02 cmp eax,0x2
10359c: 7f 55 jg 1035f3 <CommandDump+0x69>
10359e: c7 44 24 0c 07 00 00 mov DWORD PTR [esp+0xc],0x7
1035a5: 00
1035a6: c7 44 24 08 0f 00 00 mov DWORD PTR [esp+0x8],0xf
1035ad: 00
1035ae: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
1035b5: 00
1035b6: c7 04 24 f4 9f 10 00 mov DWORD PTR [esp],0x109ff4
1035bd: e8 b6 f9 ff ff call 102f78 <ConsoleWrite>
1035c2: c7 44 24 10 08 00 00 mov DWORD PTR [esp+0x10],0x8
1035c9: 00
1035ca: c7 44 24 0c 07 00 00 mov DWORD PTR [esp+0xc],0x7
1035d1: 00
1035d2: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1035d9: 00
1035da: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
1035e1: 00
1035e2: c7 04 24 34 a0 10 00 mov DWORD PTR [esp],0x10a034
1035e9: e8 8a f9 ff ff call 102f78 <ConsoleWrite>
1035ee: e9 70 02 00 00 jmp 103863 <CommandDump+0x2d9>
1035f3: c7 44 24 38 01 00 00 mov DWORD PTR [esp+0x38],0x1
1035fa: 00
1035fb: 83 f8 04 cmp eax,0x4
1035fe: 75 21 jne 103621 <CommandDump+0x97>
103600: c7 44 24 04 90 9d 10 mov DWORD PTR [esp+0x4],0x109d90
103607: 00
103608: 8b 43 0c mov eax,DWORD PTR [ebx+0xc]
10360b: 89 04 24 mov DWORD PTR [esp],eax
10360e: e8 11 57 00 00 call 108d24 <strcmp>
103613: 85 c0 test eax,eax
103615: 0f 95 c0 setne al
103618: 25 ff 00 00 00 and eax,0xff
10361d: 89 44 24 38 mov DWORD PTR [esp+0x38],eax
103621: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103624: 89 04 24 mov DWORD PTR [esp],eax
103627: e8 8e 0e 00 00 call 1044ba <ConvertStringToIntHex>
10362c: 89 c7 mov edi,eax
10362e: 8b 43 08 mov eax,DWORD PTR [ebx+0x8]
103631: 89 04 24 mov DWORD PTR [esp],eax
103634: e8 81 0e 00 00 call 1044ba <ConvertStringToIntHex>
103639: 89 44 24 34 mov DWORD PTR [esp+0x34],eax
10363d: 39 c7 cmp edi,eax
10363f: 0f 87 1e 02 00 00 ja 103863 <CommandDump+0x2d9>
103645: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0
10364c: 00
10364d: eb 04 jmp 103653 <CommandDump+0xc9>
10364f: 8b 7c 24 30 mov edi,DWORD PTR [esp+0x30]
103653: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
10365a: 00
10365b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103662: e8 f4 f2 ff ff call 10295b <Color>
103667: 88 c3 mov bl,al
103669: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd
103670: 00
103671: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103678: e8 de f2 ff ff call 10295b <Color>
10367d: 81 e3 ff 00 00 00 and ebx,0xff
103683: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx
103687: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi
10368b: 25 ff 00 00 00 and eax,0xff
103690: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103694: c7 04 24 93 9d 10 00 mov DWORD PTR [esp],0x109d93
10369b: e8 d8 f8 ff ff call 102f78 <ConsoleWrite>
1036a0: 8d 57 10 lea edx,[edi+0x10]
1036a3: 89 54 24 30 mov DWORD PTR [esp+0x30],edx
1036a7: 39 d7 cmp edi,edx
1036a9: 0f 83 a3 01 00 00 jae 103852 <CommandDump+0x2c8>
1036af: bb 00 00 00 00 mov ebx,0x0
1036b4: 89 fd mov ebp,edi
1036b6: 8a 44 1d 00 mov al,BYTE PTR [ebp+ebx*1+0x0]
1036ba: 84 c0 test al,al
1036bc: 75 2b jne 1036e9 <CommandDump+0x15f>
1036be: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
1036c5: 00
1036c6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1036cd: e8 89 f2 ff ff call 10295b <Color>
1036d2: 25 ff 00 00 00 and eax,0xff
1036d7: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1036db: c7 04 24 9d 9d 10 00 mov DWORD PTR [esp],0x109d9d
1036e2: e8 91 f8 ff ff call 102f78 <ConsoleWrite>
1036e7: eb 5b jmp 103744 <CommandDump+0x1ba>
1036e9: 89 c2 mov edx,eax
1036eb: 83 e2 0f and edx,0xf
1036ee: 8d 4a 37 lea ecx,[edx+0x37]
1036f1: 83 fa 09 cmp edx,0x9
1036f4: 7f 03 jg 1036f9 <CommandDump+0x16f>
1036f6: 8d 4a 30 lea ecx,[edx+0x30]
1036f9: 0f be f9 movsx edi,cl
1036fc: c0 e8 04 shr al,0x4
1036ff: 31 d2 xor edx,edx
103701: 88 c2 mov dl,al
103703: 8d 70 37 lea esi,[eax+0x37]
103706: 83 fa 09 cmp edx,0x9
103709: 7f 03 jg 10370e <CommandDump+0x184>
10370b: 8d 70 30 lea esi,[eax+0x30]
10370e: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
103715: 00
103716: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10371d: e8 39 f2 ff ff call 10295b <Color>
103722: 89 7c 24 0c mov DWORD PTR [esp+0xc],edi
103726: 89 f2 mov edx,esi
103728: 0f be f2 movsx esi,dl
10372b: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
10372f: 25 ff 00 00 00 and eax,0xff
103734: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103738: c7 04 24 a3 9d 10 00 mov DWORD PTR [esp],0x109da3
10373f: e8 34 f8 ff ff call 102f78 <ConsoleWrite>
103744: 43 inc ebx
103745: 83 fb 10 cmp ebx,0x10
103748: 0f 85 68 ff ff ff jne 1036b6 <CommandDump+0x12c>
10374e: 89 ef mov edi,ebp
103750: c7 04 24 9a 9d 10 00 mov DWORD PTR [esp],0x109d9a
103757: e8 1c f8 ff ff call 102f78 <ConsoleWrite>
10375c: b3 00 mov bl,0x0
10375e: 0f b6 34 1f movzx esi,BYTE PTR [edi+ebx*1]
103762: 89 f0 mov eax,esi
103764: 3c 1f cmp al,0x1f
103766: 77 0e ja 103776 <CommandDump+0x1ec>
103768: c7 04 24 cf 9e 10 00 mov DWORD PTR [esp],0x109ecf
10376f: e8 04 f8 ff ff call 102f78 <ConsoleWrite>
103774: eb 33 jmp 1037a9 <CommandDump+0x21f>
103776: c7 44 24 04 0a 00 00 mov DWORD PTR [esp+0x4],0xa
10377d: 00
10377e: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103785: e8 d1 f1 ff ff call 10295b <Color>
10378a: 81 e6 ff 00 00 00 and esi,0xff
103790: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
103794: 25 ff 00 00 00 and eax,0xff
103799: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10379d: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
1037a4: e8 cf f7 ff ff call 102f78 <ConsoleWrite>
1037a9: 43 inc ebx
1037aa: 83 fb 10 cmp ebx,0x10
1037ad: 75 af jne 10375e <CommandDump+0x1d4>
1037af: c7 04 24 ac 9d 10 00 mov DWORD PTR [esp],0x109dac
1037b6: e8 bd f7 ff ff call 102f78 <ConsoleWrite>
1037bb: ff 44 24 2c inc DWORD PTR [esp+0x2c]
1037bf: b8 a3 8b 2e ba mov eax,0xba2e8ba3
1037c4: f7 64 24 2c mul DWORD PTR [esp+0x2c]
1037c8: 89 44 24 20 mov DWORD PTR [esp+0x20],eax
1037cc: 89 54 24 24 mov DWORD PTR [esp+0x24],edx
1037d0: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
1037d4: c1 e8 04 shr eax,0x4
1037d7: 8d 14 80 lea edx,[eax+eax*4]
1037da: 8d 04 50 lea eax,[eax+edx*2]
1037dd: 01 c0 add eax,eax
1037df: 39 44 24 2c cmp DWORD PTR [esp+0x2c],eax
1037e3: 75 5d jne 103842 <CommandDump+0x2b8>
1037e5: 83 7c 24 38 00 cmp DWORD PTR [esp+0x38],0x0
1037ea: 74 56 je 103842 <CommandDump+0x2b8>
1037ec: c7 44 24 14 08 00 00 mov DWORD PTR [esp+0x14],0x8
1037f3: 00
1037f4: c7 44 24 10 07 00 00 mov DWORD PTR [esp+0x10],0x7
1037fb: 00
1037fc: c7 44 24 0c 08 00 00 mov DWORD PTR [esp+0xc],0x8
103803: 00
103804: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
10380b: 00
10380c: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
103813: 00
103814: c7 04 24 64 a0 10 00 mov DWORD PTR [esp],0x10a064
10381b: e8 58 f7 ff ff call 102f78 <ConsoleWrite>
103820: 8d 54 24 3e lea edx,[esp+0x3e]
103824: 89 14 24 mov DWORD PTR [esp],edx
103827: e8 b2 53 00 00 call 108bde <ReadKey>
10382c: 83 ec 04 sub esp,0x4
10382f: 80 7c 24 3f 76 cmp BYTE PTR [esp+0x3f],0x76
103834: 74 2d je 103863 <CommandDump+0x2d9>
103836: c7 04 24 ab 9d 10 00 mov DWORD PTR [esp],0x109dab
10383d: e8 36 f7 ff ff call 102f78 <ConsoleWrite>
103842: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
103846: 39 44 24 34 cmp DWORD PTR [esp+0x34],eax
10384a: 0f 83 ff fd ff ff jae 10364f <CommandDump+0xc5>
103850: eb 11 jmp 103863 <CommandDump+0x2d9>
103852: c7 04 24 9a 9d 10 00 mov DWORD PTR [esp],0x109d9a
103859: e8 1a f7 ff ff call 102f78 <ConsoleWrite>
10385e: e9 4c ff ff ff jmp 1037af <CommandDump+0x225>
103863: 83 c4 4c add esp,0x4c
103866: 5b pop ebx
103867: 5e pop esi
103868: 5f pop edi
103869: 5d pop ebp
10386a: c3 ret
0010386b <_CommandMemPrintMemmap>:
10386b: 55 push ebp
10386c: 57 push edi
10386d: 56 push esi
10386e: 53 push ebx
10386f: 83 ec 3c sub esp,0x3c
103872: c7 44 24 04 04 00 00 mov DWORD PTR [esp+0x4],0x4
103879: 00
10387a: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
103881: e8 d5 f0 ff ff call 10295b <Color>
103886: 89 c6 mov esi,eax
103888: e8 5b 4b 00 00 call 1083e8 <MemoryGetFramesTotal>
10388d: 89 44 24 28 mov DWORD PTR [esp+0x28],eax
103891: bb 50 00 00 00 mov ebx,0x50
103896: c7 44 24 08 dc 00 00 mov DWORD PTR [esp+0x8],0xdc
10389d: 00
10389e: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
1038a5: 00
1038a6: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
1038ad: e8 c6 f6 ff ff call 102f78 <ConsoleWrite>
1038b2: 4b dec ebx
1038b3: 75 e1 jne 103896 <_CommandMemPrintMemmap+0x2b>
1038b5: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
1038b9: 89 44 24 20 mov DWORD PTR [esp+0x20],eax
1038bd: c7 44 24 24 20 03 00 mov DWORD PTR [esp+0x24],0x320
1038c4: 00
1038c5: bb 00 00 00 00 mov ebx,0x0
1038ca: 89 f0 mov eax,esi
1038cc: 25 ff 00 00 00 and eax,0xff
1038d1: 89 44 24 2c mov DWORD PTR [esp+0x2c],eax
1038d5: b8 1f 85 eb 51 mov eax,0x51eb851f
1038da: f7 64 24 20 mul DWORD PTR [esp+0x20]
1038de: c1 ea 08 shr edx,0x8
1038e1: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx
1038e5: 89 d7 mov edi,edx
1038e7: 89 d5 mov ebp,edx
1038e9: 29 dd sub ebp,ebx
1038eb: be 00 00 00 00 mov esi,0x0
1038f0: 39 da cmp edx,ebx
1038f2: 7e 1d jle 103911 <_CommandMemPrintMemmap+0xa6>
1038f4: 89 1c 24 mov DWORD PTR [esp],ebx
1038f7: e8 8f 45 00 00 call 107e8b <MemPhGetBlock>
1038fc: 85 c0 test eax,eax
1038fe: 0f 95 c0 setne al
103901: 25 ff 00 00 00 and eax,0xff
103906: 01 c6 add esi,eax
103908: 43 inc ebx
103909: 39 df cmp edi,ebx
10390b: 7f e7 jg 1038f4 <_CommandMemPrintMemmap+0x89>
10390d: 8b 5c 24 1c mov ebx,DWORD PTR [esp+0x1c]
103911: ba 67 66 66 66 mov edx,0x66666667
103916: 89 e8 mov eax,ebp
103918: f7 ea imul edx
10391a: d1 fa sar edx,1
10391c: 89 e8 mov eax,ebp
10391e: c1 f8 1f sar eax,0x1f
103921: 29 c2 sub edx,eax
103923: b0 20 mov al,0x20
103925: 39 f2 cmp edx,esi
103927: 7d 53 jge 10397c <_CommandMemPrintMemmap+0x111>
103929: 8d 0c ad 00 00 00 00 lea ecx,[ebp*4+0x0]
103930: ba 67 66 66 66 mov edx,0x66666667
103935: 89 c8 mov eax,ecx
103937: f7 ea imul edx
103939: d1 fa sar edx,1
10393b: c1 f9 1f sar ecx,0x1f
10393e: 29 ca sub edx,ecx
103940: b0 db mov al,0xdb
103942: 39 f2 cmp edx,esi
103944: 7c 36 jl 10397c <_CommandMemPrintMemmap+0x111>
103946: 8d 4c 2d 00 lea ecx,[ebp+ebp*1+0x0]
10394a: ba 67 66 66 66 mov edx,0x66666667
10394f: 89 c8 mov eax,ecx
103951: f7 ea imul edx
103953: d1 fa sar edx,1
103955: c1 f9 1f sar ecx,0x1f
103958: 29 ca sub edx,ecx
10395a: b0 b0 mov al,0xb0
10395c: 39 f2 cmp edx,esi
10395e: 7d 1c jge 10397c <_CommandMemPrintMemmap+0x111>
103960: 8d 4c 6d 00 lea ecx,[ebp+ebp*2+0x0]
103964: ba 67 66 66 66 mov edx,0x66666667
103969: 89 c8 mov eax,ecx
10396b: f7 ea imul edx
10396d: d1 fa sar edx,1
10396f: c1 f9 1f sar ecx,0x1f
103972: 29 ca sub edx,ecx
103974: 39 f2 cmp edx,esi
103976: 0f 9c c0 setl al
103979: 83 e8 4f sub eax,0x4f
10397c: 0f be c0 movsx eax,al
10397f: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103983: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
103987: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10398b: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
103992: e8 e1 f5 ff ff call 102f78 <ConsoleWrite>
103997: 43 inc ebx
103998: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
10399c: 01 44 24 20 add DWORD PTR [esp+0x20],eax
1039a0: ff 4c 24 24 dec DWORD PTR [esp+0x24]
1039a4: 0f 85 2b ff ff ff jne 1038d5 <_CommandMemPrintMemmap+0x6a>
1039aa: bb 50 00 00 00 mov ebx,0x50
1039af: c7 44 24 08 df 00 00 mov DWORD PTR [esp+0x8],0xdf
1039b6: 00
1039b7: c7 44 24 04 08 00 00 mov DWORD PTR [esp+0x4],0x8
1039be: 00
1039bf: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
1039c6: e8 ad f5 ff ff call 102f78 <ConsoleWrite>
1039cb: 4b dec ebx
1039cc: 75 e1 jne 1039af <_CommandMemPrintMemmap+0x144>
1039ce: 83 c4 3c add esp,0x3c
1039d1: 5b pop ebx
1039d2: 5e pop esi
1039d3: 5f pop edi
1039d4: 5d pop ebp
1039d5: c3 ret
001039d6 <CommandMem>:
1039d6: 56 push esi
1039d7: 53 push ebx
1039d8: 83 ec 14 sub esp,0x14
1039db: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20]
1039df: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24]
1039e3: 83 fe 01 cmp esi,0x1
1039e6: 0f 8f 8e 00 00 00 jg 103a7a <CommandMem+0xa4>
1039ec: c7 04 24 af 9d 10 00 mov DWORD PTR [esp],0x109daf
1039f3: e8 80 f5 ff ff call 102f78 <ConsoleWrite>
1039f8: e8 6e fe ff ff call 10386b <_CommandMemPrintMemmap>
1039fd: e8 f2 49 00 00 call 1083f4 <MemoryGetFramesFree>
103a02: 89 c3 mov ebx,eax
103a04: e8 c1 49 00 00 call 1083ca <MemoryGetFree>
103a09: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx
103a0d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103a11: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd
103a18: 00
103a19: c7 04 24 a4 a0 10 00 mov DWORD PTR [esp],0x10a0a4
103a20: e8 53 f5 ff ff call 102f78 <ConsoleWrite>
103a25: e8 c4 49 00 00 call 1083ee <MemoryGetFramesUsed>
103a2a: 89 c3 mov ebx,eax
103a2c: e8 a8 49 00 00 call 1083d9 <MemoryGetUsed>
103a31: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx
103a35: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103a39: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd
103a40: 00
103a41: c7 04 24 c4 a0 10 00 mov DWORD PTR [esp],0x10a0c4
103a48: e8 2b f5 ff ff call 102f78 <ConsoleWrite>
103a4d: e8 96 49 00 00 call 1083e8 <MemoryGetFramesTotal>
103a52: 89 c3 mov ebx,eax
103a54: e8 6b 49 00 00 call 1083c4 <MemoryGetTotal>
103a59: 89 5c 24 0c mov DWORD PTR [esp+0xc],ebx
103a5d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103a61: c7 44 24 04 0d 00 00 mov DWORD PTR [esp+0x4],0xd
103a68: 00
103a69: c7 04 24 e8 a0 10 00 mov DWORD PTR [esp],0x10a0e8
103a70: e8 03 f5 ff ff call 102f78 <ConsoleWrite>
103a75: e9 be 00 00 00 jmp 103b38 <CommandMem+0x162>
103a7a: c7 44 24 04 c5 9d 10 mov DWORD PTR [esp+0x4],0x109dc5
103a81: 00
103a82: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103a85: 89 04 24 mov DWORD PTR [esp],eax
103a88: e8 97 52 00 00 call 108d24 <strcmp>
103a8d: 85 c0 test eax,eax
103a8f: 75 40 jne 103ad1 <CommandMem+0xfb>
103a91: 83 fe 02 cmp esi,0x2
103a94: 7f 0e jg 103aa4 <CommandMem+0xce>
103a96: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
103a9d: e8 5f 47 00 00 call 108201 <kmalloc>
103aa2: eb 13 jmp 103ab7 <CommandMem+0xe1>
103aa4: 8b 43 08 mov eax,DWORD PTR [ebx+0x8]
103aa7: 89 04 24 mov DWORD PTR [esp],eax
103aaa: e8 df 09 00 00 call 10448e <ConvertStringToUInt>
103aaf: 89 04 24 mov DWORD PTR [esp],eax
103ab2: e8 4a 47 00 00 call 108201 <kmalloc>
103ab7: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103abb: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
103ac2: 00
103ac3: c7 04 24 cb 9d 10 00 mov DWORD PTR [esp],0x109dcb
103aca: e8 a9 f4 ff ff call 102f78 <ConsoleWrite>
103acf: eb 67 jmp 103b38 <CommandMem+0x162>
103ad1: c7 44 24 04 e5 9d 10 mov DWORD PTR [esp+0x4],0x109de5
103ad8: 00
103ad9: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103adc: 89 04 24 mov DWORD PTR [esp],eax
103adf: e8 40 52 00 00 call 108d24 <strcmp>
103ae4: 85 c0 test eax,eax
103ae6: 75 3c jne 103b24 <CommandMem+0x14e>
103ae8: 83 fe 02 cmp esi,0x2
103aeb: 7f 16 jg 103b03 <CommandMem+0x12d>
103aed: c7 44 24 04 04 00 00 mov DWORD PTR [esp+0x4],0x4
103af4: 00
103af5: c7 04 24 0c a1 10 00 mov DWORD PTR [esp],0x10a10c
103afc: e8 77 f4 ff ff call 102f78 <ConsoleWrite>
103b01: eb 35 jmp 103b38 <CommandMem+0x162>
103b03: 8b 43 08 mov eax,DWORD PTR [ebx+0x8]
103b06: 89 04 24 mov DWORD PTR [esp],eax
103b09: e8 ac 09 00 00 call 1044ba <ConvertStringToIntHex>
103b0e: 89 04 24 mov DWORD PTR [esp],eax
103b11: e8 52 48 00 00 call 108368 <kfree>
103b16: c7 04 24 ea 9d 10 00 mov DWORD PTR [esp],0x109dea
103b1d: e8 56 f4 ff ff call 102f78 <ConsoleWrite>
103b22: eb 14 jmp 103b38 <CommandMem+0x162>
103b24: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103b2b: 00
103b2c: c7 04 24 34 a1 10 00 mov DWORD PTR [esp],0x10a134
103b33: e8 40 f4 ff ff call 102f78 <ConsoleWrite>
103b38: 83 c4 14 add esp,0x14
103b3b: 5b pop ebx
103b3c: 5e pop esi
103b3d: c3 ret
00103b3e <CommandCrash>:
103b3e: 83 ec 1c sub esp,0x1c
103b41: b8 0a 00 00 00 mov eax,0xa
103b46: b9 00 00 00 00 mov ecx,0x0
103b4b: 89 c2 mov edx,eax
103b4d: c1 fa 1f sar edx,0x1f
103b50: f7 f9 idiv ecx
103b52: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103b56: c7 04 24 f1 9d 10 00 mov DWORD PTR [esp],0x109df1
103b5d: e8 16 f4 ff ff call 102f78 <ConsoleWrite>
103b62: 83 c4 1c add esp,0x1c
103b65: c3 ret
00103b66 <CommandMouse>:
103b66: 53 push ebx
103b67: 83 ec 28 sub esp,0x28
103b6a: 8d 44 24 14 lea eax,[esp+0x14]
103b6e: 89 04 24 mov DWORD PTR [esp],eax
103b71: e8 40 4d 00 00 call 1088b6 <MouseGetState>
103b76: 83 ec 04 sub esp,0x4
103b79: 8a 5c 24 14 mov bl,BYTE PTR [esp+0x14]
103b7d: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
103b81: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103b85: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
103b89: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103b8d: c7 04 24 f4 9d 10 00 mov DWORD PTR [esp],0x109df4
103b94: e8 df f3 ff ff call 102f78 <ConsoleWrite>
103b99: 84 db test bl,bl
103b9b: 75 13 jne 103bb0 <CommandMouse+0x4a>
103b9d: c7 04 24 07 9e 10 00 mov DWORD PTR [esp],0x109e07
103ba4: e8 cf f3 ff ff call 102f78 <ConsoleWrite>
103ba9: bb 00 00 00 00 mov ebx,0x0
103bae: eb 28 jmp 103bd8 <CommandMouse+0x72>
103bb0: 81 e3 ff 00 00 00 and ebx,0xff
103bb6: f6 c3 01 test bl,0x1
103bb9: 74 0c je 103bc7 <CommandMouse+0x61>
103bbb: c7 04 24 0e 9e 10 00 mov DWORD PTR [esp],0x109e0e
103bc2: e8 b1 f3 ff ff call 102f78 <ConsoleWrite>
103bc7: f6 c3 02 test bl,0x2
103bca: 74 0c je 103bd8 <CommandMouse+0x72>
103bcc: c7 04 24 15 9e 10 00 mov DWORD PTR [esp],0x109e15
103bd3: e8 a0 f3 ff ff call 102f78 <ConsoleWrite>
103bd8: f6 c3 04 test bl,0x4
103bdb: 74 0c je 103be9 <CommandMouse+0x83>
103bdd: c7 04 24 1d 9e 10 00 mov DWORD PTR [esp],0x109e1d
103be4: e8 8f f3 ff ff call 102f78 <ConsoleWrite>
103be9: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53
103bf0: e8 83 f3 ff ff call 102f78 <ConsoleWrite>
103bf5: 83 c4 28 add esp,0x28
103bf8: 5b pop ebx
103bf9: c3 ret
00103bfa <CommandRead>:
103bfa: 83 ec 1c sub esp,0x1c
103bfd: 83 7c 24 24 01 cmp DWORD PTR [esp+0x24],0x1
103c02: 7f 16 jg 103c1a <CommandRead+0x20>
103c04: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103c0b: 00
103c0c: c7 04 24 70 a1 10 00 mov DWORD PTR [esp],0x10a170
103c13: e8 60 f3 ff ff call 102f78 <ConsoleWrite>
103c18: eb 2f jmp 103c49 <CommandRead+0x4f>
103c1a: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
103c1e: 8b 40 04 mov eax,DWORD PTR [eax+0x4]
103c21: 89 04 24 mov DWORD PTR [esp],eax
103c24: e8 65 08 00 00 call 10448e <ConvertStringToUInt>
103c29: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103c2d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103c34: e8 f6 1a 00 00 call 10572f <FloppyRead>
103c39: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103c3d: c7 04 24 23 9e 10 00 mov DWORD PTR [esp],0x109e23
103c44: e8 2f f3 ff ff call 102f78 <ConsoleWrite>
103c49: 83 c4 1c add esp,0x1c
103c4c: c3 ret
00103c4d <CommandDir>:
103c4d: 57 push edi
103c4e: 56 push esi
103c4f: 53 push ebx
103c50: 83 ec 60 sub esp,0x60
103c53: 8b 5c 24 70 mov ebx,DWORD PTR [esp+0x70]
103c57: 83 7c 24 74 01 cmp DWORD PTR [esp+0x74],0x1
103c5c: 7f 4a jg 103ca8 <CommandDir+0x5b>
103c5e: c7 04 24 41 9e 10 00 mov DWORD PTR [esp],0x109e41
103c65: e8 0e f3 ff ff call 102f78 <ConsoleWrite>
103c6a: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103c71: e8 6d 5f 00 00 call 109be3 <VfsGetMountPoint>
103c76: 85 c0 test eax,eax
103c78: 0f 84 42 01 00 00 je 103dc0 <CommandDir+0x173>
103c7e: bb 01 00 00 00 mov ebx,0x1
103c83: 83 c0 08 add eax,0x8
103c86: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103c8a: c7 04 24 55 9e 10 00 mov DWORD PTR [esp],0x109e55
103c91: e8 e2 f2 ff ff call 102f78 <ConsoleWrite>
103c96: 89 1c 24 mov DWORD PTR [esp],ebx
103c99: e8 45 5f 00 00 call 109be3 <VfsGetMountPoint>
103c9e: 43 inc ebx
103c9f: 85 c0 test eax,eax
103ca1: 75 e0 jne 103c83 <CommandDir+0x36>
103ca3: e9 18 01 00 00 jmp 103dc0 <CommandDir+0x173>
103ca8: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103cab: 89 04 24 mov DWORD PTR [esp],eax
103cae: e8 1a 5d 00 00 call 1099cd <VfsTest>
103cb3: 85 c0 test eax,eax
103cb5: 75 19 jne 103cd0 <CommandDir+0x83>
103cb7: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103cbe: 00
103cbf: c7 04 24 60 9e 10 00 mov DWORD PTR [esp],0x109e60
103cc6: e8 ad f2 ff ff call 102f78 <ConsoleWrite>
103ccb: e9 f0 00 00 00 jmp 103dc0 <CommandDir+0x173>
103cd0: 8b 80 00 01 00 00 mov eax,DWORD PTR [eax+0x100]
103cd6: 83 e0 07 and eax,0x7
103cd9: 83 f8 01 cmp eax,0x1
103cdc: 75 19 jne 103cf7 <CommandDir+0xaa>
103cde: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103ce5: 00
103ce6: c7 04 24 73 9e 10 00 mov DWORD PTR [esp],0x109e73
103ced: e8 86 f2 ff ff call 102f78 <ConsoleWrite>
103cf2: e9 c9 00 00 00 jmp 103dc0 <CommandDir+0x173>
103cf7: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103cfa: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103cfe: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
103d05: 00
103d06: c7 04 24 89 9e 10 00 mov DWORD PTR [esp],0x109e89
103d0d: e8 66 f2 ff ff call 102f78 <ConsoleWrite>
103d12: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103d15: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103d19: 8d 5c 24 18 lea ebx,[esp+0x18]
103d1d: 89 1c 24 mov DWORD PTR [esp],ebx
103d20: e8 27 5c 00 00 call 10994c <VfsOpen>
103d25: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
103d2c: 00
103d2d: 89 1c 24 mov DWORD PTR [esp],ebx
103d30: e8 3b 5e 00 00 call 109b70 <VfsReadDirectory>
103d35: 89 c3 mov ebx,eax
103d37: 85 c0 test eax,eax
103d39: 74 79 je 103db4 <CommandDir+0x167>
103d3b: be 01 00 00 00 mov esi,0x1
103d40: 8d 7c 24 18 lea edi,[esp+0x18]
103d44: b8 3d 9e 10 00 mov eax,0x109e3d
103d49: f6 83 00 01 00 00 01 test BYTE PTR [ebx+0x100],0x1
103d50: 74 05 je 103d57 <CommandDir+0x10a>
103d52: b8 39 9e 10 00 mov eax,0x109e39
103d57: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103d5b: c7 04 24 a6 9e 10 00 mov DWORD PTR [esp],0x109ea6
103d62: e8 11 f2 ff ff call 102f78 <ConsoleWrite>
103d67: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
103d6b: c7 04 24 ad 9e 10 00 mov DWORD PTR [esp],0x109ead
103d72: e8 01 f2 ff ff call 102f78 <ConsoleWrite>
103d77: c7 04 24 3c 00 00 00 mov DWORD PTR [esp],0x3c
103d7e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
103d85: ff
103d86: e8 08 ec ff ff call 102993 <ConsoleCursorGoto>
103d8b: 8b 83 0c 01 00 00 mov eax,DWORD PTR [ebx+0x10c]
103d91: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103d95: c7 04 24 b0 9e 10 00 mov DWORD PTR [esp],0x109eb0
103d9c: e8 d7 f1 ff ff call 102f78 <ConsoleWrite>
103da1: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
103da5: 89 3c 24 mov DWORD PTR [esp],edi
103da8: e8 c3 5d 00 00 call 109b70 <VfsReadDirectory>
103dad: 89 c3 mov ebx,eax
103daf: 46 inc esi
103db0: 85 c0 test eax,eax
103db2: 75 90 jne 103d44 <CommandDir+0xf7>
103db4: 8d 44 24 18 lea eax,[esp+0x18]
103db8: 89 04 24 mov DWORD PTR [esp],eax
103dbb: e8 79 5c 00 00 call 109a39 <VfsClose>
103dc0: 83 c4 60 add esp,0x60
103dc3: 5b pop ebx
103dc4: 5e pop esi
103dc5: 5f pop edi
103dc6: c3 ret
00103dc7 <CommandCat>:
103dc7: 55 push ebp
103dc8: 57 push edi
103dc9: 56 push esi
103dca: 53 push ebx
103dcb: 83 ec 6c sub esp,0x6c
103dce: 8b 9c 24 80 00 00 00 mov ebx,DWORD PTR [esp+0x80]
103dd5: 83 bc 24 84 00 00 00 cmp DWORD PTR [esp+0x84],0x1
103ddc: 01
103ddd: 7f 19 jg 103df8 <CommandCat+0x31>
103ddf: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103de6: 00
103de7: c7 04 24 94 a1 10 00 mov DWORD PTR [esp],0x10a194
103dee: e8 85 f1 ff ff call 102f78 <ConsoleWrite>
103df3: e9 c7 00 00 00 jmp 103ebf <CommandCat+0xf8>
103df8: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103dfb: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103dff: 8d 44 24 18 lea eax,[esp+0x18]
103e03: 89 04 24 mov DWORD PTR [esp],eax
103e06: e8 41 5b 00 00 call 10994c <VfsOpen>
103e0b: 85 c0 test eax,eax
103e0d: 75 20 jne 103e2f <CommandCat+0x68>
103e0f: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103e12: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103e16: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103e1d: 00
103e1e: c7 04 24 ba 9e 10 00 mov DWORD PTR [esp],0x109eba
103e25: e8 4e f1 ff ff call 102f78 <ConsoleWrite>
103e2a: e9 90 00 00 00 jmp 103ebf <CommandCat+0xf8>
103e2f: c7 04 24 00 01 00 00 mov DWORD PTR [esp],0x100
103e36: e8 c6 43 00 00 call 108201 <kmalloc>
103e3b: 89 c6 mov esi,eax
103e3d: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
103e40: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103e44: c7 04 24 d1 9e 10 00 mov DWORD PTR [esp],0x109ed1
103e4b: e8 28 f1 ff ff call 102f78 <ConsoleWrite>
103e50: 8d 6c 24 18 lea ebp,[esp+0x18]
103e54: eb 27 jmp 103e7d <CommandCat+0xb6>
103e56: bf 00 00 00 00 mov edi,0x0
103e5b: 31 c0 xor eax,eax
103e5d: 8a 04 3e mov al,BYTE PTR [esi+edi*1]
103e60: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103e64: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
103e6b: 00
103e6c: c7 04 24 34 9c 10 00 mov DWORD PTR [esp],0x109c34
103e73: e8 00 f1 ff ff call 102f78 <ConsoleWrite>
103e78: 47 inc edi
103e79: 39 df cmp edi,ebx
103e7b: 75 de jne 103e5b <CommandCat+0x94>
103e7d: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
103e81: c7 44 24 08 00 01 00 mov DWORD PTR [esp+0x8],0x100
103e88: 00
103e89: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
103e90: 00
103e91: 89 2c 24 mov DWORD PTR [esp],ebp
103e94: e8 f9 5b 00 00 call 109a92 <VfsRead>
103e99: 89 c3 mov ebx,eax
103e9b: 85 c0 test eax,eax
103e9d: 75 b7 jne 103e56 <CommandCat+0x8f>
103e9f: c7 04 24 c4 a1 10 00 mov DWORD PTR [esp],0x10a1c4
103ea6: e8 cd f0 ff ff call 102f78 <ConsoleWrite>
103eab: 89 34 24 mov DWORD PTR [esp],esi
103eae: e8 b5 44 00 00 call 108368 <kfree>
103eb3: 8d 44 24 18 lea eax,[esp+0x18]
103eb7: 89 04 24 mov DWORD PTR [esp],eax
103eba: e8 7a 5b 00 00 call 109a39 <VfsClose>
103ebf: 83 c4 6c add esp,0x6c
103ec2: 5b pop ebx
103ec3: 5e pop esi
103ec4: 5f pop edi
103ec5: 5d pop ebp
103ec6: c3 ret
00103ec7 <CommandTask>:
103ec7: 55 push ebp
103ec8: 57 push edi
103ec9: 56 push esi
103eca: 53 push ebx
103ecb: 83 ec 1c sub esp,0x1c
103ece: e8 24 ea ff ff call 1028f7 <ConsoleClear>
103ed3: c7 04 24 80 31 10 00 mov DWORD PTR [esp],0x103180
103eda: e8 fe 50 00 00 call 108fdd <TaskCreate>
103edf: bf 05 00 00 00 mov edi,0x5
103ee4: bd 02 00 00 00 mov ebp,0x2
103ee9: bb 00 00 00 00 mov ebx,0x0
103eee: 89 3c 24 mov DWORD PTR [esp],edi
103ef1: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
103ef5: e8 99 ea ff ff call 102993 <ConsoleCursorGoto>
103efa: 8d 73 01 lea esi,[ebx+0x1]
103efd: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
103f01: c7 44 24 04 09 00 00 mov DWORD PTR [esp+0x4],0x9
103f08: 00
103f09: c7 04 24 e1 9e 10 00 mov DWORD PTR [esp],0x109ee1
103f10: e8 63 f0 ff ff call 102f78 <ConsoleWrite>
103f15: 89 f3 mov ebx,esi
103f17: eb d5 jmp 103eee <CommandTask+0x27>
00103f19 <_command_does_not_exist>:
103f19: 55 push ebp
103f1a: 57 push edi
103f1b: 56 push esi
103f1c: 53 push ebx
103f1d: 83 ec 2c sub esp,0x2c
103f20: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40]
103f24: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0
103f2b: 7e 72 jle 103f9f <_command_does_not_exist+0x86>
103f2d: bb 00 00 00 00 mov ebx,0x0
103f32: bd 00 00 00 00 mov ebp,0x0
103f37: 89 34 24 mov DWORD PTR [esp],esi
103f3a: e8 d1 4d 00 00 call 108d10 <strlen>
103f3f: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
103f43: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040]
103f4a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
103f4e: 89 34 24 mov DWORD PTR [esp],esi
103f51: e8 10 4e 00 00 call 108d66 <strncmp>
103f56: 85 c0 test eax,eax
103f58: 75 03 jne 103f5d <_command_does_not_exist+0x44>
103f5a: 45 inc ebp
103f5b: 89 df mov edi,ebx
103f5d: 43 inc ebx
103f5e: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx
103f64: 7f d1 jg 103f37 <_command_does_not_exist+0x1e>
103f66: 83 fd 01 cmp ebp,0x1
103f69: 75 39 jne 103fa4 <_command_does_not_exist+0x8b>
103f6b: c7 44 24 10 0e 00 00 mov DWORD PTR [esp+0x10],0xe
103f72: 00
103f73: 8b 04 bd 40 c0 10 00 mov eax,DWORD PTR [edi*4+0x10c040]
103f7a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
103f7e: c7 44 24 08 0f 00 00 mov DWORD PTR [esp+0x8],0xf
103f85: 00
103f86: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe
103f8d: 00
103f8e: c7 04 24 f4 9e 10 00 mov DWORD PTR [esp],0x109ef4
103f95: e8 de ef ff ff call 102f78 <ConsoleWrite>
103f9a: e9 02 01 00 00 jmp 1040a1 <_command_does_not_exist+0x188>
103f9f: bd 00 00 00 00 mov ebp,0x0
103fa4: 89 34 24 mov DWORD PTR [esp],esi
103fa7: e8 64 4d 00 00 call 108d10 <strlen>
103fac: 83 f8 14 cmp eax,0x14
103faf: 76 10 jbe 103fc1 <_command_does_not_exist+0xa8>
103fb1: c6 46 14 2e mov BYTE PTR [esi+0x14],0x2e
103fb5: c6 46 13 2e mov BYTE PTR [esi+0x13],0x2e
103fb9: c6 46 12 2e mov BYTE PTR [esi+0x12],0x2e
103fbd: c6 46 15 00 mov BYTE PTR [esi+0x15],0x0
103fc1: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103fc8: 00
103fc9: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103fd0: e8 86 e9 ff ff call 10295b <Color>
103fd5: 88 c3 mov bl,al
103fd7: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
103fde: 00
103fdf: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103fe6: e8 70 e9 ff ff call 10295b <Color>
103feb: 89 c7 mov edi,eax
103fed: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
103ff4: 00
103ff5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
103ffc: e8 5a e9 ff ff call 10295b <Color>
104001: 81 e3 ff 00 00 00 and ebx,0xff
104007: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx
10400b: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
10400f: 81 e7 ff 00 00 00 and edi,0xff
104015: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi
104019: 25 ff 00 00 00 and eax,0xff
10401e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104022: c7 04 24 e4 a1 10 00 mov DWORD PTR [esp],0x10a1e4
104029: e8 4a ef ff ff call 102f78 <ConsoleWrite>
10402e: bf ff ff ff ff mov edi,0xffffffff
104033: 85 ed test ebp,ebp
104035: 7e 6a jle 1040a1 <_command_does_not_exist+0x188>
104037: c7 04 24 0c 9f 10 00 mov DWORD PTR [esp],0x109f0c
10403e: e8 35 ef ff ff call 102f78 <ConsoleWrite>
104043: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0
10404a: 7e 55 jle 1040a1 <_command_does_not_exist+0x188>
10404c: bb 00 00 00 00 mov ebx,0x0
104051: 89 34 24 mov DWORD PTR [esp],esi
104054: e8 b7 4c 00 00 call 108d10 <strlen>
104059: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
10405d: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040]
104064: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104068: 89 34 24 mov DWORD PTR [esp],esi
10406b: e8 f6 4c 00 00 call 108d66 <strncmp>
104070: 85 c0 test eax,eax
104072: 75 1f jne 104093 <_command_does_not_exist+0x17a>
104074: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040]
10407b: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
10407f: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe
104086: 00
104087: c7 04 24 20 9f 10 00 mov DWORD PTR [esp],0x109f20
10408e: e8 e5 ee ff ff call 102f78 <ConsoleWrite>
104093: 43 inc ebx
104094: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx
10409a: 7f b5 jg 104051 <_command_does_not_exist+0x138>
10409c: bf ff ff ff ff mov edi,0xffffffff
1040a1: 89 f8 mov eax,edi
1040a3: 83 c4 2c add esp,0x2c
1040a6: 5b pop ebx
1040a7: 5e pop esi
1040a8: 5f pop edi
1040a9: 5d pop ebp
1040aa: c3 ret
001040ab <_process_command>:
1040ab: 55 push ebp
1040ac: 57 push edi
1040ad: 56 push esi
1040ae: 53 push ebx
1040af: 83 ec 2c sub esp,0x2c
1040b2: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40]
1040b6: 8b 6c 24 44 mov ebp,DWORD PTR [esp+0x44]
1040ba: 85 ed test ebp,ebp
1040bc: 74 10 je 1040ce <_process_command+0x23>
1040be: bf ff ff ff ff mov edi,0xffffffff
1040c3: 83 3d 20 c0 10 00 00 cmp DWORD PTR ds:0x10c020,0x0
1040ca: 7f 30 jg 1040fc <_process_command+0x51>
1040cc: eb 61 jmp 10412f <_process_command+0x84>
1040ce: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
1040d5: 00
1040d6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1040dd: e8 79 e8 ff ff call 10295b <Color>
1040e2: 25 ff 00 00 00 and eax,0xff
1040e7: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1040eb: c7 04 24 08 a2 10 00 mov DWORD PTR [esp],0x10a208
1040f2: e8 81 ee ff ff call 102f78 <ConsoleWrite>
1040f7: e9 6d 01 00 00 jmp 104269 <_process_command+0x1be>
1040fc: bb 00 00 00 00 mov ebx,0x0
104101: bf ff ff ff ff mov edi,0xffffffff
104106: 8b 04 9d 40 c0 10 00 mov eax,DWORD PTR [ebx*4+0x10c040]
10410d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104111: 8b 06 mov eax,DWORD PTR [esi]
104113: 89 04 24 mov DWORD PTR [esp],eax
104116: e8 09 4c 00 00 call 108d24 <strcmp>
10411b: 85 c0 test eax,eax
10411d: 75 02 jne 104121 <_process_command+0x76>
10411f: 89 df mov edi,ebx
104121: 43 inc ebx
104122: 39 1d 20 c0 10 00 cmp DWORD PTR ds:0x10c020,ebx
104128: 7e 05 jle 10412f <_process_command+0x84>
10412a: 83 ff ff cmp edi,0xffffffff
10412d: 74 d7 je 104106 <_process_command+0x5b>
10412f: 47 inc edi
104130: 83 ff 0e cmp edi,0xe
104133: 0f 87 c1 00 00 00 ja 1041fa <_process_command+0x14f>
104139: ff 24 bd c0 a2 10 00 jmp DWORD PTR [edi*4+0x10a2c0]
104140: 8b 06 mov eax,DWORD PTR [esi]
104142: 89 04 24 mov DWORD PTR [esp],eax
104145: e8 cf fd ff ff call 103f19 <_command_does_not_exist>
10414a: 89 c7 mov edi,eax
10414c: 83 f8 ff cmp eax,0xffffffff
10414f: 75 de jne 10412f <_process_command+0x84>
104151: e9 13 01 00 00 jmp 104269 <_process_command+0x1be>
104156: e8 5e f0 ff ff call 1031b9 <CommandOsver>
10415b: e9 09 01 00 00 jmp 104269 <_process_command+0x1be>
104160: e8 72 f1 ff ff call 1032d7 <CommandTime>
104165: e9 ff 00 00 00 jmp 104269 <_process_command+0x1be>
10416a: e8 88 e7 ff ff call 1028f7 <ConsoleClear>
10416f: e9 f5 00 00 00 jmp 104269 <_process_command+0x1be>
104174: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
104178: 89 34 24 mov DWORD PTR [esp],esi
10417b: e8 5b f3 ff ff call 1034db <CommandHelp>
104180: e9 e4 00 00 00 jmp 104269 <_process_command+0x1be>
104185: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
104189: 89 34 24 mov DWORD PTR [esp],esi
10418c: e8 f9 f3 ff ff call 10358a <CommandDump>
104191: e9 d3 00 00 00 jmp 104269 <_process_command+0x1be>
104196: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
10419a: 89 34 24 mov DWORD PTR [esp],esi
10419d: e8 34 f8 ff ff call 1039d6 <CommandMem>
1041a2: e9 c2 00 00 00 jmp 104269 <_process_command+0x1be>
1041a7: e8 92 f9 ff ff call 103b3e <CommandCrash>
1041ac: e9 b8 00 00 00 jmp 104269 <_process_command+0x1be>
1041b1: e8 b0 f9 ff ff call 103b66 <CommandMouse>
1041b6: e9 ae 00 00 00 jmp 104269 <_process_command+0x1be>
1041bb: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
1041bf: 89 34 24 mov DWORD PTR [esp],esi
1041c2: e8 33 fa ff ff call 103bfa <CommandRead>
1041c7: e9 9d 00 00 00 jmp 104269 <_process_command+0x1be>
1041cc: e8 16 4d 00 00 call 108ee7 <SystemReboot>
1041d1: e9 93 00 00 00 jmp 104269 <_process_command+0x1be>
1041d6: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
1041da: 89 34 24 mov DWORD PTR [esp],esi
1041dd: e8 6b fa ff ff call 103c4d <CommandDir>
1041e2: e9 82 00 00 00 jmp 104269 <_process_command+0x1be>
1041e7: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
1041eb: 89 34 24 mov DWORD PTR [esp],esi
1041ee: e8 d4 fb ff ff call 103dc7 <CommandCat>
1041f3: eb 74 jmp 104269 <_process_command+0x1be>
1041f5: e8 cd fc ff ff call 103ec7 <CommandTask>
1041fa: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
104201: 00
104202: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104209: e8 4d e7 ff ff call 10295b <Color>
10420e: 89 c7 mov edi,eax
104210: 8b 36 mov esi,DWORD PTR [esi]
104212: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
104219: 00
10421a: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104221: e8 35 e7 ff ff call 10295b <Color>
104226: 88 c3 mov bl,al
104228: c7 44 24 04 0c 00 00 mov DWORD PTR [esp+0x4],0xc
10422f: 00
104230: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104237: e8 1f e7 ff ff call 10295b <Color>
10423c: 81 e7 ff 00 00 00 and edi,0xff
104242: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi
104246: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
10424a: 81 e3 ff 00 00 00 and ebx,0xff
104250: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
104254: 25 ff 00 00 00 and eax,0xff
104259: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10425d: c7 04 24 28 a2 10 00 mov DWORD PTR [esp],0x10a228
104264: e8 0f ed ff ff call 102f78 <ConsoleWrite>
104269: 83 c4 2c add esp,0x2c
10426c: 5b pop ebx
10426d: 5e pop esi
10426e: 5f pop edi
10426f: 5d pop ebp
104270: c3 ret
00104271 <ConsoleMain>:
104271: 56 push esi
104272: 53 push ebx
104273: 81 ec 94 02 00 00 sub esp,0x294
104279: e8 3b ef ff ff call 1031b9 <CommandOsver>
10427e: 8d 9c 24 90 00 00 00 lea ebx,[esp+0x90]
104285: c7 44 24 04 0e 00 00 mov DWORD PTR [esp+0x4],0xe
10428c: 00
10428d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104294: e8 c2 e6 ff ff call 10295b <Color>
104299: 25 ff 00 00 00 and eax,0xff
10429e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1042a2: c7 04 24 29 9f 10 00 mov DWORD PTR [esp],0x109f29
1042a9: e8 ca ec ff ff call 102f78 <ConsoleWrite>
1042ae: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa
1042b5: 00
1042b6: c7 44 24 04 00 02 00 mov DWORD PTR [esp+0x4],0x200
1042bd: 00
1042be: 89 1c 24 mov DWORD PTR [esp],ebx
1042c1: e8 6d e8 ff ff call 102b33 <ConsoleReadString>
1042c6: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx
1042ca: 89 1c 24 mov DWORD PTR [esp],ebx
1042cd: e8 3e 4a 00 00 call 108d10 <strlen>
1042d2: be 00 00 00 00 mov esi,0x0
1042d7: ba 00 00 00 00 mov edx,0x0
1042dc: eb 49 jmp 104327 <ConsoleMain+0xb6>
1042de: c6 04 1a 00 mov BYTE PTR [edx+ebx*1],0x0
1042e2: 42 inc edx
1042e3: 39 d0 cmp eax,edx
1042e5: 7e 0d jle 1042f4 <ConsoleMain+0x83>
1042e7: 0f be 0c 1a movsx ecx,BYTE PTR [edx+ebx*1]
1042eb: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2
1042f2: 75 ea jne 1042de <ConsoleMain+0x6d>
1042f4: 39 c2 cmp edx,eax
1042f6: 74 52 je 10434a <ConsoleMain+0xd9>
1042f8: 8d 0c 13 lea ecx,[ebx+edx*1]
1042fb: 89 4c b4 10 mov DWORD PTR [esp+esi*4+0x10],ecx
1042ff: 46 inc esi
104300: 39 d0 cmp eax,edx
104302: 7e 23 jle 104327 <ConsoleMain+0xb6>
104304: 0f be 8c 14 90 00 00 movsx ecx,BYTE PTR [esp+edx*1+0x90]
10430b: 00
10430c: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2
104313: 75 12 jne 104327 <ConsoleMain+0xb6>
104315: 42 inc edx
104316: 39 d0 cmp eax,edx
104318: 7e 0d jle 104327 <ConsoleMain+0xb6>
10431a: 0f be 0c 1a movsx ecx,BYTE PTR [edx+ebx*1]
10431e: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2
104325: 74 ee je 104315 <ConsoleMain+0xa4>
104327: 39 c2 cmp edx,eax
104329: 0f 9c c1 setl cl
10432c: 7d 1c jge 10434a <ConsoleMain+0xd9>
10432e: 83 fe 1f cmp esi,0x1f
104331: 7f 17 jg 10434a <ConsoleMain+0xd9>
104333: 84 c9 test cl,cl
104335: 74 bd je 1042f4 <ConsoleMain+0x83>
104337: 0f be 8c 14 90 00 00 movsx ecx,BYTE PTR [esp+edx*1+0x90]
10433e: 00
10433f: f6 81 e1 c0 10 00 02 test BYTE PTR [ecx+0x10c0e1],0x2
104346: 75 96 jne 1042de <ConsoleMain+0x6d>
104348: eb aa jmp 1042f4 <ConsoleMain+0x83>
10434a: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10434e: 8d 44 24 10 lea eax,[esp+0x10]
104352: 89 04 24 mov DWORD PTR [esp],eax
104355: e8 51 fd ff ff call 1040ab <_process_command>
10435a: e9 26 ff ff ff jmp 104285 <ConsoleMain+0x14>
...
00104360 <ConvertIntToString>:
104360: 55 push ebp
104361: 57 push edi
104362: 56 push esi
104363: 53 push ebx
104364: 83 ec 2c sub esp,0x2c
104367: 8b 5c 24 40 mov ebx,DWORD PTR [esp+0x40]
10436b: 8b 6c 24 44 mov ebp,DWORD PTR [esp+0x44]
10436f: 8b 74 24 48 mov esi,DWORD PTR [esp+0x48]
104373: 89 f7 mov edi,esi
104375: 8d 46 fe lea eax,[esi-0x2]
104378: 83 f8 22 cmp eax,0x22
10437b: 77 54 ja 1043d1 <ConvertIntToString+0x71>
10437d: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
104381: 89 2c 24 mov DWORD PTR [esp],ebp
104384: e8 53 45 00 00 call 1088dc <numlen>
104389: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
10438d: 89 e8 mov eax,ebp
10438f: c1 e8 1f shr eax,0x1f
104392: 74 0e je 1043a2 <ConvertIntToString+0x42>
104394: 83 fe 0a cmp esi,0xa
104397: 75 09 jne 1043a2 <ConvertIntToString+0x42>
104399: c6 03 2d mov BYTE PTR [ebx],0x2d
10439c: 66 be 01 00 mov si,0x1
1043a0: eb 05 jmp 1043a7 <ConvertIntToString+0x47>
1043a2: be 00 00 00 00 mov esi,0x0
1043a7: 8b 4c 24 1c mov ecx,DWORD PTR [esp+0x1c]
1043ab: 49 dec ecx
1043ac: 39 ce cmp esi,ecx
1043ae: 7f 17 jg 1043c7 <ConvertIntToString+0x67>
1043b0: 89 e8 mov eax,ebp
1043b2: ba 00 00 00 00 mov edx,0x0
1043b7: f7 f7 div edi
1043b9: 8a 92 fc a2 10 00 mov dl,BYTE PTR [edx+0x10a2fc]
1043bf: 88 14 0b mov BYTE PTR [ebx+ecx*1],dl
1043c2: 49 dec ecx
1043c3: 39 ce cmp esi,ecx
1043c5: 7e eb jle 1043b2 <ConvertIntToString+0x52>
1043c7: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
1043cb: c6 04 03 00 mov BYTE PTR [ebx+eax*1],0x0
1043cf: eb 05 jmp 1043d6 <ConvertIntToString+0x76>
1043d1: bd 00 00 00 00 mov ebp,0x0
1043d6: 89 e8 mov eax,ebp
1043d8: 83 c4 2c add esp,0x2c
1043db: 5b pop ebx
1043dc: 5e pop esi
1043dd: 5f pop edi
1043de: 5d pop ebp
1043df: c3 ret
001043e0 <ConvertUIntToString>:
1043e0: 55 push ebp
1043e1: 57 push edi
1043e2: 56 push esi
1043e3: 53 push ebx
1043e4: 83 ec 1c sub esp,0x1c
1043e7: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30]
1043eb: 8b 5c 24 34 mov ebx,DWORD PTR [esp+0x34]
1043ef: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38]
1043f3: 89 c7 mov edi,eax
1043f5: 8d 50 fe lea edx,[eax-0x2]
1043f8: 83 fa 22 cmp edx,0x22
1043fb: 77 33 ja 104430 <ConvertUIntToString+0x50>
1043fd: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104401: 89 1c 24 mov DWORD PTR [esp],ebx
104404: e8 11 45 00 00 call 10891a <unumlen>
104409: 89 c5 mov ebp,eax
10440b: 89 c1 mov ecx,eax
10440d: 49 dec ecx
10440e: 78 1a js 10442a <ConvertUIntToString+0x4a>
104410: 89 d8 mov eax,ebx
104412: ba 00 00 00 00 mov edx,0x0
104417: f7 f7 div edi
104419: 89 c3 mov ebx,eax
10441b: 8a 92 fc a2 10 00 mov dl,BYTE PTR [edx+0x10a2fc]
104421: 88 14 0e mov BYTE PTR [esi+ecx*1],dl
104424: 49 dec ecx
104425: 83 f9 ff cmp ecx,0xffffffff
104428: 75 e6 jne 104410 <ConvertUIntToString+0x30>
10442a: c6 04 2e 00 mov BYTE PTR [esi+ebp*1],0x0
10442e: eb 05 jmp 104435 <ConvertUIntToString+0x55>
104430: bb 00 00 00 00 mov ebx,0x0
104435: 89 d8 mov eax,ebx
104437: 83 c4 1c add esp,0x1c
10443a: 5b pop ebx
10443b: 5e pop esi
10443c: 5f pop edi
10443d: 5d pop ebp
10443e: c3 ret
0010443f <ConvertStringToInt>:
10443f: 53 push ebx
104440: 83 ec 04 sub esp,0x4
104443: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
104447: 8a 10 mov dl,BYTE PTR [eax]
104449: 88 54 24 03 mov BYTE PTR [esp+0x3],dl
10444d: 80 fa 2d cmp dl,0x2d
104450: 0f 94 c1 sete cl
104453: 81 e1 ff 00 00 00 and ecx,0xff
104459: 01 c1 add ecx,eax
10445b: 8a 11 mov dl,BYTE PTR [ecx]
10445d: 8d 5a d0 lea ebx,[edx-0x30]
104460: b8 00 00 00 00 mov eax,0x0
104465: 80 fb 09 cmp bl,0x9
104468: 77 16 ja 104480 <ConvertStringToInt+0x41>
10446a: 8d 04 80 lea eax,[eax+eax*4]
10446d: 0f be d2 movsx edx,dl
104470: 8d 44 42 d0 lea eax,[edx+eax*2-0x30]
104474: 8a 51 01 mov dl,BYTE PTR [ecx+0x1]
104477: 41 inc ecx
104478: 8d 5a d0 lea ebx,[edx-0x30]
10447b: 80 fb 09 cmp bl,0x9
10447e: 76 ea jbe 10446a <ConvertStringToInt+0x2b>
104480: 80 7c 24 03 2d cmp BYTE PTR [esp+0x3],0x2d
104485: 75 02 jne 104489 <ConvertStringToInt+0x4a>
104487: f7 d8 neg eax
104489: 83 c4 04 add esp,0x4
10448c: 5b pop ebx
10448d: c3 ret
0010448e <ConvertStringToUInt>:
10448e: 53 push ebx
10448f: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8]
104493: 8a 11 mov dl,BYTE PTR [ecx]
104495: 8d 5a d0 lea ebx,[edx-0x30]
104498: b8 00 00 00 00 mov eax,0x0
10449d: 80 fb 09 cmp bl,0x9
1044a0: 77 16 ja 1044b8 <ConvertStringToUInt+0x2a>
1044a2: 8d 04 80 lea eax,[eax+eax*4]
1044a5: 0f be d2 movsx edx,dl
1044a8: 8d 44 42 d0 lea eax,[edx+eax*2-0x30]
1044ac: 8a 51 01 mov dl,BYTE PTR [ecx+0x1]
1044af: 41 inc ecx
1044b0: 8d 5a d0 lea ebx,[edx-0x30]
1044b3: 80 fb 09 cmp bl,0x9
1044b6: 76 ea jbe 1044a2 <ConvertStringToUInt+0x14>
1044b8: 5b pop ebx
1044b9: c3 ret
001044ba <ConvertStringToIntHex>:
1044ba: 57 push edi
1044bb: 56 push esi
1044bc: 53 push ebx
1044bd: 83 ec 04 sub esp,0x4
1044c0: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
1044c4: 8a 50 01 mov dl,BYTE PTR [eax+0x1]
1044c7: 80 fa 78 cmp dl,0x78
1044ca: 74 0a je 1044d6 <ConvertStringToIntHex+0x1c>
1044cc: b9 00 00 00 00 mov ecx,0x0
1044d1: 80 fa 58 cmp dl,0x58
1044d4: 75 05 jne 1044db <ConvertStringToIntHex+0x21>
1044d6: b9 02 00 00 00 mov ecx,0x2
1044db: 8d 3c 08 lea edi,[eax+ecx*1]
1044de: b8 00 00 00 00 mov eax,0x0
1044e3: eb 30 jmp 104515 <ConvertStringToIntHex+0x5b>
1044e5: c1 e0 04 shl eax,0x4
1044e8: 84 db test bl,bl
1044ea: 74 09 je 1044f5 <ConvertStringToIntHex+0x3b>
1044ec: 0f be d2 movsx edx,dl
1044ef: 8d 44 10 d0 lea eax,[eax+edx*1-0x30]
1044f3: eb 1f jmp 104514 <ConvertStringToIntHex+0x5a>
1044f5: 80 7c 24 03 00 cmp BYTE PTR [esp+0x3],0x0
1044fa: 74 09 je 104505 <ConvertStringToIntHex+0x4b>
1044fc: 0f be d2 movsx edx,dl
1044ff: 8d 44 10 a9 lea eax,[eax+edx*1-0x57]
104503: eb 0f jmp 104514 <ConvertStringToIntHex+0x5a>
104505: 8d 5a bf lea ebx,[edx-0x41]
104508: 80 fb 05 cmp bl,0x5
10450b: 77 07 ja 104514 <ConvertStringToIntHex+0x5a>
10450d: 0f be d2 movsx edx,dl
104510: 8d 44 10 c9 lea eax,[eax+edx*1-0x37]
104514: 47 inc edi
104515: 8a 17 mov dl,BYTE PTR [edi]
104517: 8d 5a d0 lea ebx,[edx-0x30]
10451a: 80 fb 09 cmp bl,0x9
10451d: 0f 96 c3 setbe bl
104520: 8d 72 9f lea esi,[edx-0x61]
104523: 89 f1 mov ecx,esi
104525: 80 f9 05 cmp cl,0x5
104528: 0f 96 44 24 03 setbe BYTE PTR [esp+0x3]
10452d: 84 db test bl,bl
10452f: 75 b4 jne 1044e5 <ConvertStringToIntHex+0x2b>
104531: 80 7c 24 03 00 cmp BYTE PTR [esp+0x3],0x0
104536: 75 ad jne 1044e5 <ConvertStringToIntHex+0x2b>
104538: 8d 72 bf lea esi,[edx-0x41]
10453b: 89 f1 mov ecx,esi
10453d: 80 f9 05 cmp cl,0x5
104540: 76 a3 jbe 1044e5 <ConvertStringToIntHex+0x2b>
104542: 83 c4 04 add esp,0x4
104545: 5b pop ebx
104546: 5e pop esi
104547: 5f pop edi
104548: c3 ret
104549: 00 00 add BYTE PTR [eax],al
...
0010454c <CrashMessage>:
10454c: 56 push esi
10454d: 53 push ebx
10454e: 83 ec 14 sub esp,0x14
104551: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
104555: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc
10455c: e8 08 e4 ff ff call 102969 <ConsoleSetDefaultColor>
104561: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53
104568: e8 0b ea ff ff call 102f78 <ConsoleWrite>
10456d: bb 50 00 00 00 mov ebx,0x50
104572: c7 44 24 04 cd 00 00 mov DWORD PTR [esp+0x4],0xcd
104579: 00
10457a: c7 04 24 36 9c 10 00 mov DWORD PTR [esp],0x109c36
104581: e8 f2 e9 ff ff call 102f78 <ConsoleWrite>
104586: 4b dec ebx
104587: 75 e9 jne 104572 <CrashMessage+0x26>
104589: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
104590: 00
104591: c7 04 24 94 a5 10 00 mov DWORD PTR [esp],0x10a594
104598: e8 db e9 ff ff call 102f78 <ConsoleWrite>
10459d: c7 04 24 c0 a5 10 00 mov DWORD PTR [esp],0x10a5c0
1045a4: e8 cf e9 ff ff call 102f78 <ConsoleWrite>
1045a9: 8b 46 30 mov eax,DWORD PTR [esi+0x30]
1045ac: 83 f8 13 cmp eax,0x13
1045af: 77 25 ja 1045d6 <CrashMessage+0x8a>
1045b1: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
1045b5: 8b 04 85 80 c0 10 00 mov eax,DWORD PTR [eax*4+0x10c080]
1045bc: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
1045c0: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
1045c7: 00
1045c8: c7 04 24 28 a3 10 00 mov DWORD PTR [esp],0x10a328
1045cf: e8 a4 e9 ff ff call 102f78 <ConsoleWrite>
1045d4: eb 18 jmp 1045ee <CrashMessage+0xa2>
1045d6: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
1045da: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
1045e1: 00
1045e2: c7 04 24 35 a3 10 00 mov DWORD PTR [esp],0x10a335
1045e9: e8 8a e9 ff ff call 102f78 <ConsoleWrite>
1045ee: c7 04 24 e4 a5 10 00 mov DWORD PTR [esp],0x10a5e4
1045f5: e8 7e e9 ff ff call 102f78 <ConsoleWrite>
1045fa: c7 04 24 18 a6 10 00 mov DWORD PTR [esp],0x10a618
104601: e8 72 e9 ff ff call 102f78 <ConsoleWrite>
104606: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf
10460d: e8 57 e3 ff ff call 102969 <ConsoleSetDefaultColor>
104612: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
104619: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104620: ff
104621: e8 6d e3 ff ff call 102993 <ConsoleCursorGoto>
104626: 8b 46 2c mov eax,DWORD PTR [esi+0x2c]
104629: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10462d: c7 04 24 3d a3 10 00 mov DWORD PTR [esp],0x10a33d
104634: e8 3f e9 ff ff call 102f78 <ConsoleWrite>
104639: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
104640: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104647: ff
104648: e8 46 e3 ff ff call 102993 <ConsoleCursorGoto>
10464d: 8b 46 20 mov eax,DWORD PTR [esi+0x20]
104650: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104654: c7 04 24 46 a3 10 00 mov DWORD PTR [esp],0x10a346
10465b: e8 18 e9 ff ff call 102f78 <ConsoleWrite>
104660: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
104667: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
10466e: ff
10466f: e8 1f e3 ff ff call 102993 <ConsoleCursorGoto>
104674: 8b 46 28 mov eax,DWORD PTR [esi+0x28]
104677: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10467b: c7 04 24 4f a3 10 00 mov DWORD PTR [esp],0x10a34f
104682: e8 f1 e8 ff ff call 102f78 <ConsoleWrite>
104687: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a
10468e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104695: ff
104696: e8 f8 e2 ff ff call 102993 <ConsoleCursorGoto>
10469b: 8b 46 24 mov eax,DWORD PTR [esi+0x24]
10469e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1046a2: c7 04 24 58 a3 10 00 mov DWORD PTR [esp],0x10a358
1046a9: e8 ca e8 ff ff call 102f78 <ConsoleWrite>
1046ae: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
1046b5: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1046bc: ff
1046bd: e8 d1 e2 ff ff call 102993 <ConsoleCursorGoto>
1046c2: 8b 46 10 mov eax,DWORD PTR [esi+0x10]
1046c5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1046c9: c7 04 24 62 a3 10 00 mov DWORD PTR [esp],0x10a362
1046d0: e8 a3 e8 ff ff call 102f78 <ConsoleWrite>
1046d5: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
1046dc: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1046e3: ff
1046e4: e8 aa e2 ff ff call 102993 <ConsoleCursorGoto>
1046e9: 8b 46 14 mov eax,DWORD PTR [esi+0x14]
1046ec: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1046f0: c7 04 24 6b a3 10 00 mov DWORD PTR [esp],0x10a36b
1046f7: e8 7c e8 ff ff call 102f78 <ConsoleWrite>
1046fc: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
104703: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
10470a: ff
10470b: e8 83 e2 ff ff call 102993 <ConsoleCursorGoto>
104710: 8b 46 18 mov eax,DWORD PTR [esi+0x18]
104713: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104717: c7 04 24 74 a3 10 00 mov DWORD PTR [esp],0x10a374
10471e: e8 55 e8 ff ff call 102f78 <ConsoleWrite>
104723: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a
10472a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104731: ff
104732: e8 5c e2 ff ff call 102993 <ConsoleCursorGoto>
104737: 8b 46 1c mov eax,DWORD PTR [esi+0x1c]
10473a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10473e: c7 04 24 b7 a3 10 00 mov DWORD PTR [esp],0x10a3b7
104745: e8 2e e8 ff ff call 102f78 <ConsoleWrite>
10474a: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
104751: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104758: ff
104759: e8 35 e2 ff ff call 102993 <ConsoleCursorGoto>
10475e: 8b 06 mov eax,DWORD PTR [esi]
104760: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104764: c7 04 24 ab a3 10 00 mov DWORD PTR [esp],0x10a3ab
10476b: e8 08 e8 ff ff call 102f78 <ConsoleWrite>
104770: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
104777: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
10477e: ff
10477f: e8 0f e2 ff ff call 102993 <ConsoleCursorGoto>
104784: 8b 46 04 mov eax,DWORD PTR [esi+0x4]
104787: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10478b: c7 04 24 7d a3 10 00 mov DWORD PTR [esp],0x10a37d
104792: e8 e1 e7 ff ff call 102f78 <ConsoleWrite>
104797: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
10479e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1047a5: ff
1047a6: e8 e8 e1 ff ff call 102993 <ConsoleCursorGoto>
1047ab: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
1047ae: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1047b2: c7 04 24 85 a3 10 00 mov DWORD PTR [esp],0x10a385
1047b9: e8 ba e7 ff ff call 102f78 <ConsoleWrite>
1047be: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a
1047c5: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1047cc: ff
1047cd: e8 c1 e1 ff ff call 102993 <ConsoleCursorGoto>
1047d2: 8b 46 0c mov eax,DWORD PTR [esi+0xc]
1047d5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1047d9: c7 04 24 8d a3 10 00 mov DWORD PTR [esp],0x10a38d
1047e0: e8 93 e7 ff ff call 102f78 <ConsoleWrite>
1047e5: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
1047ec: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1047f3: ff
1047f4: e8 9a e1 ff ff call 102993 <ConsoleCursorGoto>
1047f9: 8b 46 38 mov eax,DWORD PTR [esi+0x38]
1047fc: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104800: c7 04 24 96 a3 10 00 mov DWORD PTR [esp],0x10a396
104807: e8 6c e7 ff ff call 102f78 <ConsoleWrite>
10480c: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
104813: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
10481a: ff
10481b: e8 73 e1 ff ff call 102993 <ConsoleCursorGoto>
104820: 8b 46 3c mov eax,DWORD PTR [esi+0x3c]
104823: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104827: c7 04 24 9f a3 10 00 mov DWORD PTR [esp],0x10a39f
10482e: e8 45 e7 ff ff call 102f78 <ConsoleWrite>
104833: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
10483a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104841: ff
104842: e8 4c e1 ff ff call 102993 <ConsoleCursorGoto>
104847: 8b 46 40 mov eax,DWORD PTR [esi+0x40]
10484a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10484e: c7 04 24 a7 a3 10 00 mov DWORD PTR [esp],0x10a3a7
104855: e8 1e e7 ff ff call 102f78 <ConsoleWrite>
10485a: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a
104861: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104868: ff
104869: e8 25 e1 ff ff call 102993 <ConsoleCursorGoto>
10486e: 8b 46 44 mov eax,DWORD PTR [esi+0x44]
104871: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104875: c7 04 24 b3 a3 10 00 mov DWORD PTR [esp],0x10a3b3
10487c: e8 f7 e6 ff ff call 102f78 <ConsoleWrite>
104881: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
104888: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
10488f: ff
104890: e8 fe e0 ff ff call 102993 <ConsoleCursorGoto>
104895: 8b 46 48 mov eax,DWORD PTR [esi+0x48]
104898: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10489c: c7 04 24 c1 a3 10 00 mov DWORD PTR [esp],0x10a3c1
1048a3: e8 d0 e6 ff ff call 102f78 <ConsoleWrite>
1048a8: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
1048af: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1048b6: ff
1048b7: e8 d7 e0 ff ff call 102993 <ConsoleCursorGoto>
1048bc: 8b 46 30 mov eax,DWORD PTR [esi+0x30]
1048bf: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1048c3: c7 04 24 c9 a3 10 00 mov DWORD PTR [esp],0x10a3c9
1048ca: e8 a9 e6 ff ff call 102f78 <ConsoleWrite>
1048cf: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
1048d6: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
1048dd: ff
1048de: e8 b0 e0 ff ff call 102993 <ConsoleCursorGoto>
1048e3: 8b 46 34 mov eax,DWORD PTR [esi+0x34]
1048e6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1048ea: c7 04 24 d5 a3 10 00 mov DWORD PTR [esp],0x10a3d5
1048f1: e8 82 e6 ff ff call 102f78 <ConsoleWrite>
1048f6: 83 7e 30 0e cmp DWORD PTR [esi+0x30],0xe
1048fa: 0f 85 c9 00 00 00 jne 1049c9 <CrashMessage+0x47d>
104900: 0f 20 d3 mov ebx,cr2
104903: c7 04 24 3a 00 00 00 mov DWORD PTR [esp],0x3a
10490a: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104911: ff
104912: e8 7c e0 ff ff call 102993 <ConsoleCursorGoto>
104917: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
10491b: c7 04 24 e3 a3 10 00 mov DWORD PTR [esp],0x10a3e3
104922: e8 51 e6 ff ff call 102f78 <ConsoleWrite>
104927: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10492e: c7 44 24 04 ff ff ff mov DWORD PTR [esp+0x4],0xffffffff
104935: ff
104936: e8 58 e0 ff ff call 102993 <ConsoleCursorGoto>
10493b: c7 04 24 f1 a3 10 00 mov DWORD PTR [esp],0x10a3f1
104942: e8 31 e6 ff ff call 102f78 <ConsoleWrite>
104947: f6 46 34 01 test BYTE PTR [esi+0x34],0x1
10494b: 75 14 jne 104961 <CrashMessage+0x415>
10494d: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
104954: 00
104955: c7 04 24 fa a3 10 00 mov DWORD PTR [esp],0x10a3fa
10495c: e8 17 e6 ff ff call 102f78 <ConsoleWrite>
104961: f6 46 34 02 test BYTE PTR [esi+0x34],0x2
104965: 74 14 je 10497b <CrashMessage+0x42f>
104967: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
10496e: 00
10496f: c7 04 24 0f a4 10 00 mov DWORD PTR [esp],0x10a40f
104976: e8 fd e5 ff ff call 102f78 <ConsoleWrite>
10497b: f6 46 34 04 test BYTE PTR [esi+0x34],0x4
10497f: 74 14 je 104995 <CrashMessage+0x449>
104981: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
104988: 00
104989: c7 04 24 23 a4 10 00 mov DWORD PTR [esp],0x10a423
104990: e8 e3 e5 ff ff call 102f78 <ConsoleWrite>
104995: f6 46 34 08 test BYTE PTR [esi+0x34],0x8
104999: 74 14 je 1049af <CrashMessage+0x463>
10499b: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
1049a2: 00
1049a3: c7 04 24 44 a6 10 00 mov DWORD PTR [esp],0x10a644
1049aa: e8 c9 e5 ff ff call 102f78 <ConsoleWrite>
1049af: f6 46 34 10 test BYTE PTR [esi+0x34],0x10
1049b3: 74 14 je 1049c9 <CrashMessage+0x47d>
1049b5: c7 44 24 04 07 00 00 mov DWORD PTR [esp+0x4],0x7
1049bc: 00
1049bd: c7 04 24 38 a4 10 00 mov DWORD PTR [esp],0x10a438
1049c4: e8 af e5 ff ff call 102f78 <ConsoleWrite>
1049c9: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc
1049d0: e8 94 df ff ff call 102969 <ConsoleSetDefaultColor>
1049d5: c7 04 24 53 9e 10 00 mov DWORD PTR [esp],0x109e53
1049dc: e8 97 e5 ff ff call 102f78 <ConsoleWrite>
1049e1: bb 50 00 00 00 mov ebx,0x50
1049e6: c7 44 24 04 cd 00 00 mov DWORD PTR [esp+0x4],0xcd
1049ed: 00
1049ee: c7 04 24 36 9c 10 00 mov DWORD PTR [esp],0x109c36
1049f5: e8 7e e5 ff ff call 102f78 <ConsoleWrite>
1049fa: 4b dec ebx
1049fb: 75 e9 jne 1049e6 <CrashMessage+0x49a>
1049fd: 83 c4 14 add esp,0x14
104a00: 5b pop ebx
104a01: 5e pop esi
104a02: c3 ret
...
00104a04 <toupper>:
104a04: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
104a08: 80 b8 e1 c0 10 00 00 cmp BYTE PTR [eax+0x10c0e1],0x0
104a0f: 79 03 jns 104a14 <toupper+0x10>
104a11: 83 e8 20 sub eax,0x20
104a14: c3 ret
00104a15 <tolower>:
104a15: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
104a19: f6 80 e1 c0 10 00 40 test BYTE PTR [eax+0x10c0e1],0x40
104a20: 74 03 je 104a25 <tolower+0x10>
104a22: 83 c0 20 add eax,0x20
104a25: c3 ret
...
00104a28 <DmaSetAddress>:
104a28: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4]
104a2c: 8a 44 24 08 mov al,BYTE PTR [esp+0x8]
104a30: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc]
104a34: 80 fa 07 cmp dl,0x7
104a37: 77 49 ja 104a82 <DmaSetAddress+0x5a>
104a39: 81 e2 ff 00 00 00 and edx,0xff
104a3f: ff 24 95 6c a6 10 00 jmp DWORD PTR [edx*4+0x10a66c]
104a46: ba 00 00 00 00 mov edx,0x0
104a4b: eb 2f jmp 104a7c <DmaSetAddress+0x54>
104a4d: ba 04 00 00 00 mov edx,0x4
104a52: eb 28 jmp 104a7c <DmaSetAddress+0x54>
104a54: ba 06 00 00 00 mov edx,0x6
104a59: eb 21 jmp 104a7c <DmaSetAddress+0x54>
104a5b: ba c0 00 00 00 mov edx,0xc0
104a60: eb 1a jmp 104a7c <DmaSetAddress+0x54>
104a62: ba c4 00 00 00 mov edx,0xc4
104a67: eb 13 jmp 104a7c <DmaSetAddress+0x54>
104a69: ba c8 00 00 00 mov edx,0xc8
104a6e: eb 0c jmp 104a7c <DmaSetAddress+0x54>
104a70: ba cc 00 00 00 mov edx,0xcc
104a75: eb 05 jmp 104a7c <DmaSetAddress+0x54>
104a77: ba 02 00 00 00 mov edx,0x2
104a7c: ee out dx,al
104a7d: e6 80 out 0x80,al
104a7f: 88 c8 mov al,cl
104a81: ee out dx,al
104a82: c3 ret
00104a83 <DmaSetCount>:
104a83: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4]
104a87: 8a 44 24 08 mov al,BYTE PTR [esp+0x8]
104a8b: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc]
104a8f: 80 fa 07 cmp dl,0x7
104a92: 77 49 ja 104add <DmaSetCount+0x5a>
104a94: 81 e2 ff 00 00 00 and edx,0xff
104a9a: ff 24 95 8c a6 10 00 jmp DWORD PTR [edx*4+0x10a68c]
104aa1: ba 01 00 00 00 mov edx,0x1
104aa6: eb 2f jmp 104ad7 <DmaSetCount+0x54>
104aa8: ba 05 00 00 00 mov edx,0x5
104aad: eb 28 jmp 104ad7 <DmaSetCount+0x54>
104aaf: ba 07 00 00 00 mov edx,0x7
104ab4: eb 21 jmp 104ad7 <DmaSetCount+0x54>
104ab6: ba c2 00 00 00 mov edx,0xc2
104abb: eb 1a jmp 104ad7 <DmaSetCount+0x54>
104abd: ba c6 00 00 00 mov edx,0xc6
104ac2: eb 13 jmp 104ad7 <DmaSetCount+0x54>
104ac4: ba ca 00 00 00 mov edx,0xca
104ac9: eb 0c jmp 104ad7 <DmaSetCount+0x54>
104acb: ba ce 00 00 00 mov edx,0xce
104ad0: eb 05 jmp 104ad7 <DmaSetCount+0x54>
104ad2: ba 03 00 00 00 mov edx,0x3
104ad7: ee out dx,al
104ad8: e6 80 out 0x80,al
104ada: 88 c8 mov al,cl
104adc: ee out dx,al
104add: c3 ret
00104ade <DmaSetExternalPageRegisters>:
104ade: 8a 54 24 04 mov dl,BYTE PTR [esp+0x4]
104ae2: 8a 44 24 08 mov al,BYTE PTR [esp+0x8]
104ae6: 80 fa 07 cmp dl,0x7
104ae9: 77 36 ja 104b21 <DmaSetExternalPageRegisters+0x43>
104aeb: 81 e2 ff 00 00 00 and edx,0xff
104af1: ff 24 95 ac a6 10 00 jmp DWORD PTR [edx*4+0x10a6ac]
104af8: ba 83 00 00 00 mov edx,0x83
104afd: eb 21 jmp 104b20 <DmaSetExternalPageRegisters+0x42>
104aff: ba 82 00 00 00 mov edx,0x82
104b04: eb 1a jmp 104b20 <DmaSetExternalPageRegisters+0x42>
104b06: ba 8b 00 00 00 mov edx,0x8b
104b0b: eb 13 jmp 104b20 <DmaSetExternalPageRegisters+0x42>
104b0d: ba 89 00 00 00 mov edx,0x89
104b12: eb 0c jmp 104b20 <DmaSetExternalPageRegisters+0x42>
104b14: ba 8a 00 00 00 mov edx,0x8a
104b19: eb 05 jmp 104b20 <DmaSetExternalPageRegisters+0x42>
104b1b: ba 81 00 00 00 mov edx,0x81
104b20: ee out dx,al
104b21: c3 ret
00104b22 <DmaResetFlipFlop>:
104b22: ba d8 00 00 00 mov edx,0xd8
104b27: 80 7c 24 04 03 cmp BYTE PTR [esp+0x4],0x3
104b2c: 77 02 ja 104b30 <DmaResetFlipFlop+0xe>
104b2e: b2 0c mov dl,0xc
104b30: b0 00 mov al,0x0
104b32: ee out dx,al
104b33: c3 ret
00104b34 <DmaReset>:
104b34: b0 00 mov al,0x0
104b36: e6 0d out 0xd,al
104b38: c3 ret
00104b39 <DmaUnmaskAll>:
104b39: b0 00 mov al,0x0
104b3b: e6 0e out 0xe,al
104b3d: c3 ret
00104b3e <DmaMaskChannel>:
104b3e: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
104b42: 3c 07 cmp al,0x7
104b44: 77 12 ja 104b58 <DmaMaskChannel+0x1a>
104b46: ba d4 00 00 00 mov edx,0xd4
104b4b: 3c 03 cmp al,0x3
104b4d: 77 02 ja 104b51 <DmaMaskChannel+0x13>
104b4f: b2 0a mov dl,0xa
104b51: 83 e0 03 and eax,0x3
104b54: 83 c8 04 or eax,0x4
104b57: ee out dx,al
104b58: c3 ret
00104b59 <DmaUnmaskChannel>:
104b59: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
104b5d: 3c 07 cmp al,0x7
104b5f: 77 0f ja 104b70 <DmaUnmaskChannel+0x17>
104b61: ba d4 00 00 00 mov edx,0xd4
104b66: 3c 03 cmp al,0x3
104b68: 77 02 ja 104b6c <DmaUnmaskChannel+0x13>
104b6a: b2 0a mov dl,0xa
104b6c: 83 e0 03 and eax,0x3
104b6f: ee out dx,al
104b70: c3 ret
00104b71 <DmaSetMode>:
104b71: 56 push esi
104b72: 53 push ebx
104b73: 83 ec 08 sub esp,0x8
104b76: 8a 44 24 14 mov al,BYTE PTR [esp+0x14]
104b7a: 88 44 24 07 mov BYTE PTR [esp+0x7],al
104b7e: 0f b6 74 24 18 movzx esi,BYTE PTR [esp+0x18]
104b83: 3c 07 cmp al,0x7
104b85: 77 2c ja 104bb3 <DmaSetMode+0x42>
104b87: bb d6 00 00 00 mov ebx,0xd6
104b8c: 3c 03 cmp al,0x3
104b8e: 77 02 ja 104b92 <DmaSetMode+0x21>
104b90: b3 0b mov bl,0xb
104b92: 31 c0 xor eax,eax
104b94: 8a 44 24 07 mov al,BYTE PTR [esp+0x7]
104b98: 89 04 24 mov DWORD PTR [esp],eax
104b9b: e8 9e ff ff ff call 104b3e <DmaMaskChannel>
104ba0: 8a 44 24 07 mov al,BYTE PTR [esp+0x7]
104ba4: 83 e0 03 and eax,0x3
104ba7: 09 c6 or esi,eax
104ba9: 89 da mov edx,ebx
104bab: 89 f0 mov eax,esi
104bad: ee out dx,al
104bae: e8 86 ff ff ff call 104b39 <DmaUnmaskAll>
104bb3: 83 c4 08 add esp,0x8
104bb6: 5b pop ebx
104bb7: 5e pop esi
104bb8: c3 ret
104bb9: 00 00 add BYTE PTR [eax],al
...
00104bbc <DriversInstall_Clock>:
104bbc: 83 ec 5c sub esp,0x5c
104bbf: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64
104bc6: e8 d9 3f 00 00 call 108ba4 <PitSetFrequency>
104bcb: 8d 44 24 44 lea eax,[esp+0x44]
104bcf: 89 04 24 mov DWORD PTR [esp],eax
104bd2: e8 61 d8 ff ff call 102438 <CmosGetRTC>
104bd7: 8d 44 24 38 lea eax,[esp+0x38]
104bdb: 8b 54 24 44 mov edx,DWORD PTR [esp+0x44]
104bdf: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
104be3: 8b 54 24 48 mov edx,DWORD PTR [esp+0x48]
104be7: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
104beb: 8b 54 24 4c mov edx,DWORD PTR [esp+0x4c]
104bef: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
104bf3: 89 04 24 mov DWORD PTR [esp],eax
104bf6: e8 8d 44 00 00 call 109088 <ConvertTimeToTimeSystem>
104bfb: 83 ec 04 sub esp,0x4
104bfe: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38]
104c02: 8b 54 24 3c mov edx,DWORD PTR [esp+0x3c]
104c06: 89 04 24 mov DWORD PTR [esp],eax
104c09: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
104c0d: e8 58 47 00 00 call 10936a <TimeSetInternalTime>
104c12: 66 8b 44 24 4e mov ax,WORD PTR [esp+0x4e]
104c17: 25 ff ff 00 00 and eax,0xffff
104c1c: 89 44 24 28 mov DWORD PTR [esp+0x28],eax
104c20: 31 c0 xor eax,eax
104c22: 8a 44 24 4d mov al,BYTE PTR [esp+0x4d]
104c26: 89 44 24 24 mov DWORD PTR [esp+0x24],eax
104c2a: 31 c0 xor eax,eax
104c2c: 8a 44 24 4c mov al,BYTE PTR [esp+0x4c]
104c30: 89 44 24 20 mov DWORD PTR [esp+0x20],eax
104c34: 31 c0 xor eax,eax
104c36: 8a 44 24 4b mov al,BYTE PTR [esp+0x4b]
104c3a: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
104c3e: 8b 44 24 44 mov eax,DWORD PTR [esp+0x44]
104c42: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
104c46: 31 c0 xor eax,eax
104c48: 8a 44 24 4a mov al,BYTE PTR [esp+0x4a]
104c4c: 89 44 24 14 mov DWORD PTR [esp+0x14],eax
104c50: 31 c0 xor eax,eax
104c52: 8a 44 24 48 mov al,BYTE PTR [esp+0x48]
104c56: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
104c5a: c7 44 24 0c 0b 00 00 mov DWORD PTR [esp+0xc],0xb
104c61: 00
104c62: c7 44 24 08 cc a6 10 mov DWORD PTR [esp+0x8],0x10a6cc
104c69: 00
104c6a: c7 44 24 04 1a a7 10 mov DWORD PTR [esp+0x4],0x10a71a
104c71: 00
104c72: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104c79: e8 2a 26 00 00 call 1072a8 <LogWrite>
104c7e: 83 c4 5c add esp,0x5c
104c81: c3 ret
00104c82 <DriversInstall>:
104c82: 83 ec 1c sub esp,0x1c
104c85: e8 32 ff ff ff call 104bbc <DriversInstall_Clock>
104c8a: c7 44 24 08 f4 a6 10 mov DWORD PTR [esp+0x8],0x10a6f4
104c91: 00
104c92: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
104c99: 00
104c9a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
104ca1: e8 02 26 00 00 call 1072a8 <LogWrite>
104ca6: 83 c4 1c add esp,0x1c
104ca9: c3 ret
...
00104cac <DynamicArrayCreate>:
104cac: 53 push ebx
104cad: 83 ec 18 sub esp,0x18
104cb0: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
104cb4: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
104cb8: 89 43 04 mov DWORD PTR [ebx+0x4],eax
104cbb: c7 43 08 00 00 00 00 mov DWORD PTR [ebx+0x8],0x0
104cc2: c7 43 0c 10 00 00 00 mov DWORD PTR [ebx+0xc],0x10
104cc9: c1 e0 04 shl eax,0x4
104ccc: 89 04 24 mov DWORD PTR [esp],eax
104ccf: e8 2d 35 00 00 call 108201 <kmalloc>
104cd4: 89 03 mov DWORD PTR [ebx],eax
104cd6: 83 c4 18 add esp,0x18
104cd9: 5b pop ebx
104cda: c3 ret
00104cdb <DynamicArrayPush>:
104cdb: 53 push ebx
104cdc: 83 ec 18 sub esp,0x18
104cdf: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
104ce3: 8b 43 0c mov eax,DWORD PTR [ebx+0xc]
104ce6: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8]
104ce9: 77 1a ja 104d05 <DynamicArrayPush+0x2a>
104ceb: 83 c0 10 add eax,0x10
104cee: 89 43 0c mov DWORD PTR [ebx+0xc],eax
104cf1: 0f af 43 04 imul eax,DWORD PTR [ebx+0x4]
104cf5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104cf9: 8b 03 mov eax,DWORD PTR [ebx]
104cfb: 89 04 24 mov DWORD PTR [esp],eax
104cfe: e8 2a 36 00 00 call 10832d <kmrealloc>
104d03: 89 03 mov DWORD PTR [ebx],eax
104d05: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
104d08: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
104d0c: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
104d10: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
104d14: 0f af 43 08 imul eax,DWORD PTR [ebx+0x8]
104d18: 03 03 add eax,DWORD PTR [ebx]
104d1a: 89 04 24 mov DWORD PTR [esp],eax
104d1d: e8 e6 32 00 00 call 108008 <memcpy>
104d22: ff 43 08 inc DWORD PTR [ebx+0x8]
104d25: 83 c4 18 add esp,0x18
104d28: 5b pop ebx
104d29: c3 ret
00104d2a <DynamicArrayPop>:
104d2a: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
104d2e: ff 48 08 dec DWORD PTR [eax+0x8]
104d31: c3 ret
00104d32 <DynamicArrayInsert>:
104d32: 57 push edi
104d33: 56 push esi
104d34: 53 push ebx
104d35: 83 ec 10 sub esp,0x10
104d38: 8b 5c 24 28 mov ebx,DWORD PTR [esp+0x28]
104d3c: 8b 43 0c mov eax,DWORD PTR [ebx+0xc]
104d3f: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8]
104d42: 77 1a ja 104d5e <DynamicArrayInsert+0x2c>
104d44: 83 c0 10 add eax,0x10
104d47: 89 43 0c mov DWORD PTR [ebx+0xc],eax
104d4a: 0f af 43 04 imul eax,DWORD PTR [ebx+0x4]
104d4e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104d52: 8b 03 mov eax,DWORD PTR [ebx]
104d54: 89 04 24 mov DWORD PTR [esp],eax
104d57: e8 d1 35 00 00 call 10832d <kmrealloc>
104d5c: 89 03 mov DWORD PTR [ebx],eax
104d5e: 8b 13 mov edx,DWORD PTR [ebx]
104d60: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
104d63: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24]
104d67: 0f af f0 imul esi,eax
104d6a: 0f af 43 08 imul eax,DWORD PTR [ebx+0x8]
104d6e: 48 dec eax
104d6f: 39 c6 cmp esi,eax
104d71: 77 12 ja 104d85 <DynamicArrayInsert+0x53>
104d73: 8d 0c 02 lea ecx,[edx+eax*1]
104d76: 89 cf mov edi,ecx
104d78: 03 7b 04 add edi,DWORD PTR [ebx+0x4]
104d7b: 8a 0c 02 mov cl,BYTE PTR [edx+eax*1]
104d7e: 88 0f mov BYTE PTR [edi],cl
104d80: 48 dec eax
104d81: 39 c6 cmp esi,eax
104d83: 76 ee jbe 104d73 <DynamicArrayInsert+0x41>
104d85: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
104d88: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
104d8c: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
104d90: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
104d94: 03 33 add esi,DWORD PTR [ebx]
104d96: 89 34 24 mov DWORD PTR [esp],esi
104d99: e8 6a 32 00 00 call 108008 <memcpy>
104d9e: ff 43 08 inc DWORD PTR [ebx+0x8]
104da1: 83 c4 10 add esp,0x10
104da4: 5b pop ebx
104da5: 5e pop esi
104da6: 5f pop edi
104da7: c3 ret
00104da8 <DynamicArrayRemove>:
104da8: 56 push esi
104da9: 53 push ebx
104daa: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
104dae: 8b 13 mov edx,DWORD PTR [ebx]
104db0: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
104db3: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
104db7: 0f af c1 imul eax,ecx
104dba: 8b 73 08 mov esi,DWORD PTR [ebx+0x8]
104dbd: 4e dec esi
104dbe: 0f af f1 imul esi,ecx
104dc1: 39 f0 cmp eax,esi
104dc3: 73 10 jae 104dd5 <DynamicArrayRemove+0x2d>
104dc5: 8d 0c 02 lea ecx,[edx+eax*1]
104dc8: 03 4b 04 add ecx,DWORD PTR [ebx+0x4]
104dcb: 8a 09 mov cl,BYTE PTR [ecx]
104dcd: 88 0c 02 mov BYTE PTR [edx+eax*1],cl
104dd0: 40 inc eax
104dd1: 39 c6 cmp esi,eax
104dd3: 77 f0 ja 104dc5 <DynamicArrayRemove+0x1d>
104dd5: ff 4b 08 dec DWORD PTR [ebx+0x8]
104dd8: 5b pop ebx
104dd9: 5e pop esi
104dda: c3 ret
00104ddb <DynamicArraySwap>:
104ddb: 56 push esi
104ddc: 53 push ebx
104ddd: 83 ec 04 sub esp,0x4
104de0: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
104de4: 8b 16 mov edx,DWORD PTR [esi]
104de6: 8b 46 04 mov eax,DWORD PTR [esi+0x4]
104de9: 8b 4c 24 10 mov ecx,DWORD PTR [esp+0x10]
104ded: 0f af c8 imul ecx,eax
104df0: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14]
104df4: 0f af d8 imul ebx,eax
104df7: 85 c0 test eax,eax
104df9: 74 23 je 104e1e <DynamicArraySwap+0x43>
104dfb: b8 00 00 00 00 mov eax,0x0
104e00: 01 d1 add ecx,edx
104e02: 01 da add edx,ebx
104e04: 8a 1c 01 mov bl,BYTE PTR [ecx+eax*1]
104e07: 88 5c 24 03 mov BYTE PTR [esp+0x3],bl
104e0b: 8a 1c 02 mov bl,BYTE PTR [edx+eax*1]
104e0e: 88 1c 01 mov BYTE PTR [ecx+eax*1],bl
104e11: 8a 5c 24 03 mov bl,BYTE PTR [esp+0x3]
104e15: 88 1c 02 mov BYTE PTR [edx+eax*1],bl
104e18: 40 inc eax
104e19: 39 46 04 cmp DWORD PTR [esi+0x4],eax
104e1c: 77 e6 ja 104e04 <DynamicArraySwap+0x29>
104e1e: 83 c4 04 add esp,0x4
104e21: 5b pop ebx
104e22: 5e pop esi
104e23: c3 ret
00104e24 <DynamicArrayDispose>:
104e24: 53 push ebx
104e25: 83 ec 18 sub esp,0x18
104e28: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20]
104e2c: 8b 03 mov eax,DWORD PTR [ebx]
104e2e: 89 04 24 mov DWORD PTR [esp],eax
104e31: e8 32 35 00 00 call 108368 <kfree>
104e36: c7 43 0c 00 00 00 00 mov DWORD PTR [ebx+0xc],0x0
104e3d: c7 43 08 00 00 00 00 mov DWORD PTR [ebx+0x8],0x0
104e44: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0
104e4b: 83 c4 18 add esp,0x18
104e4e: 5b pop ebx
104e4f: c3 ret
00104e50 <FloppyIrqHandler>:
104e50: c6 05 0e d0 10 00 01 mov BYTE PTR ds:0x10d00e,0x1
104e57: c3 ret
00104e58 <FloppyWaitIrq>:
104e58: 83 ec 1c sub esp,0x1c
104e5b: a1 a0 c2 10 00 mov eax,ds:0x10c2a0
104e60: 89 04 24 mov DWORD PTR [esp],eax
104e63: e8 26 45 00 00 call 10938e <TimerStart>
104e68: a0 0e d0 10 00 mov al,ds:0x10d00e
104e6d: 84 c0 test al,al
104e6f: 75 09 jne 104e7a <FloppyWaitIrq+0x22>
104e71: e8 67 45 00 00 call 1093dd <TimerIsDone>
104e76: 84 c0 test al,al
104e78: 74 ee je 104e68 <FloppyWaitIrq+0x10>
104e7a: a0 0e d0 10 00 mov al,ds:0x10d00e
104e7f: 84 c0 test al,al
104e81: 75 25 jne 104ea8 <FloppyWaitIrq+0x50>
104e83: a1 a0 c2 10 00 mov eax,ds:0x10c2a0
104e88: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
104e8c: c7 44 24 08 29 a7 10 mov DWORD PTR [esp+0x8],0x10a729
104e93: 00
104e94: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
104e9b: 00
104e9c: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
104ea3: e8 00 24 00 00 call 1072a8 <LogWrite>
104ea8: 83 c4 1c add esp,0x1c
104eab: c3 ret
00104eac <FloppyInitDma>:
104eac: 83 ec 1c sub esp,0x1c
104eaf: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104eb6: e8 83 fc ff ff call 104b3e <DmaMaskChannel>
104ebb: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104ec2: e8 5b fc ff ff call 104b22 <DmaResetFlipFlop>
104ec7: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10
104ece: 00
104ecf: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
104ed6: 00
104ed7: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104ede: e8 45 fb ff ff call 104a28 <DmaSetAddress>
104ee3: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104eea: e8 33 fc ff ff call 104b22 <DmaResetFlipFlop>
104eef: c7 44 24 08 23 00 00 mov DWORD PTR [esp+0x8],0x23
104ef6: 00
104ef7: c7 44 24 04 ff 00 00 mov DWORD PTR [esp+0x4],0xff
104efe: 00
104eff: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104f06: e8 78 fb ff ff call 104a83 <DmaSetCount>
104f0b: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
104f12: 00
104f13: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104f1a: e8 bf fb ff ff call 104ade <DmaSetExternalPageRegisters>
104f1f: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
104f26: e8 2e fc ff ff call 104b59 <DmaUnmaskChannel>
104f2b: 83 c4 1c add esp,0x1c
104f2e: c3 ret
00104f2f <FloppySendCommand>:
104f2f: 53 push ebx
104f30: 83 ec 28 sub esp,0x28
104f33: 8a 44 24 30 mov al,BYTE PTR [esp+0x30]
104f37: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
104f3b: bb 88 13 00 00 mov ebx,0x1388
104f40: eb 03 jmp 104f45 <FloppySendCommand+0x16>
104f42: 4b dec ebx
104f43: 74 10 je 104f55 <FloppySendCommand+0x26>
104f45: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4
104f4c: e8 87 3c 00 00 call 108bd8 <inportb>
104f51: 84 c0 test al,al
104f53: 79 ed jns 104f42 <FloppySendCommand+0x13>
104f55: ba f5 03 00 00 mov edx,0x3f5
104f5a: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f]
104f5e: ee out dx,al
104f5f: 83 c4 28 add esp,0x28
104f62: 5b pop ebx
104f63: c3 ret
00104f64 <FloppyConfigure>:
104f64: 83 ec 1c sub esp,0x1c
104f67: c7 04 24 13 00 00 00 mov DWORD PTR [esp],0x13
104f6e: e8 bc ff ff ff call 104f2f <FloppySendCommand>
104f73: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104f7a: e8 b0 ff ff ff call 104f2f <FloppySendCommand>
104f7f: c7 04 24 47 00 00 00 mov DWORD PTR [esp],0x47
104f86: e8 a4 ff ff ff call 104f2f <FloppySendCommand>
104f8b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
104f92: e8 98 ff ff ff call 104f2f <FloppySendCommand>
104f97: 83 c4 1c add esp,0x1c
104f9a: c3 ret
00104f9b <FloppyReadData>:
104f9b: 53 push ebx
104f9c: 83 ec 18 sub esp,0x18
104f9f: bb 88 13 00 00 mov ebx,0x1388
104fa4: eb 03 jmp 104fa9 <FloppyReadData+0xe>
104fa6: 4b dec ebx
104fa7: 74 10 je 104fb9 <FloppyReadData+0x1e>
104fa9: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4
104fb0: e8 23 3c 00 00 call 108bd8 <inportb>
104fb5: 84 c0 test al,al
104fb7: 79 ed jns 104fa6 <FloppyReadData+0xb>
104fb9: c7 04 24 f5 03 00 00 mov DWORD PTR [esp],0x3f5
104fc0: e8 13 3c 00 00 call 108bd8 <inportb>
104fc5: 83 c4 18 add esp,0x18
104fc8: 5b pop ebx
104fc9: c3 ret
00104fca <FloppySenseInterrupt>:
104fca: 83 ec 1c sub esp,0x1c
104fcd: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
104fd4: e8 56 ff ff ff call 104f2f <FloppySendCommand>
104fd9: e8 bd ff ff ff call 104f9b <FloppyReadData>
104fde: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
104fe2: 88 02 mov BYTE PTR [edx],al
104fe4: e8 b2 ff ff ff call 104f9b <FloppyReadData>
104fe9: 8b 54 24 24 mov edx,DWORD PTR [esp+0x24]
104fed: 88 02 mov BYTE PTR [edx],al
104fef: 83 c4 1c add esp,0x1c
104ff2: c3 ret
00104ff3 <FloppySpecify>:
104ff3: 53 push ebx
104ff4: 83 ec 18 sub esp,0x18
104ff7: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20]
104ffb: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
105002: e8 28 ff ff ff call 104f2f <FloppySendCommand>
105007: 81 e3 ff 00 00 00 and ebx,0xff
10500d: 8d 04 9b lea eax,[ebx+ebx*4]
105010: 8d 1c c5 f0 c1 10 00 lea ebx,[eax*8+0x10c1f0]
105017: 31 c0 xor eax,eax
105019: 8a 43 03 mov al,BYTE PTR [ebx+0x3]
10501c: c1 e0 04 shl eax,0x4
10501f: 0a 43 05 or al,BYTE PTR [ebx+0x5]
105022: 25 ff 00 00 00 and eax,0xff
105027: 89 04 24 mov DWORD PTR [esp],eax
10502a: e8 00 ff ff ff call 104f2f <FloppySendCommand>
10502f: 8a 43 04 mov al,BYTE PTR [ebx+0x4]
105032: 01 c0 add eax,eax
105034: 25 ff 00 00 00 and eax,0xff
105039: 89 04 24 mov DWORD PTR [esp],eax
10503c: e8 ee fe ff ff call 104f2f <FloppySendCommand>
105041: 83 c4 18 add esp,0x18
105044: 5b pop ebx
105045: c3 ret
00105046 <FloppyMotor>:
105046: 56 push esi
105047: 53 push ebx
105048: 83 ec 24 sub esp,0x24
10504b: 8a 5c 24 30 mov bl,BYTE PTR [esp+0x30]
10504f: 8a 44 24 34 mov al,BYTE PTR [esp+0x34]
105053: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
105057: 80 fb 01 cmp bl,0x1
10505a: 0f 87 af 00 00 00 ja 10510f <FloppyMotor+0xc9>
105060: 0f b6 35 0d d0 10 00 movzx esi,BYTE PTR ds:0x10d00d
105067: 84 db test bl,bl
105069: 75 07 jne 105072 <FloppyMotor+0x2c>
10506b: 0f b6 35 0c d0 10 00 movzx esi,BYTE PTR ds:0x10d00c
105072: c7 04 24 f2 03 00 00 mov DWORD PTR [esp],0x3f2
105079: e8 5a 3b 00 00 call 108bd8 <inportb>
10507e: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
105083: 74 14 je 105099 <FloppyMotor+0x53>
105085: 81 e3 ff 00 00 00 and ebx,0xff
10508b: 8d 4b 04 lea ecx,[ebx+0x4]
10508e: ba 01 00 00 00 mov edx,0x1
105093: d3 e2 shl edx,cl
105095: 09 d0 or eax,edx
105097: eb 12 jmp 1050ab <FloppyMotor+0x65>
105099: 81 e3 ff 00 00 00 and ebx,0xff
10509f: 8d 4b 04 lea ecx,[ebx+0x4]
1050a2: ba fe ff ff ff mov edx,0xfffffffe
1050a7: d3 c2 rol edx,cl
1050a9: 21 d0 and eax,edx
1050ab: ba f2 03 00 00 mov edx,0x3f2
1050b0: ee out dx,al
1050b1: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
1050b6: 74 1a je 1050d2 <FloppyMotor+0x8c>
1050b8: 81 e6 ff 00 00 00 and esi,0xff
1050be: 8d 04 b6 lea eax,[esi+esi*4]
1050c1: 8b 04 c5 f8 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1f8]
1050c8: 89 04 24 mov DWORD PTR [esp],eax
1050cb: e8 be 42 00 00 call 10938e <TimerStart>
1050d0: eb 18 jmp 1050ea <FloppyMotor+0xa4>
1050d2: 81 e6 ff 00 00 00 and esi,0xff
1050d8: 8d 04 b6 lea eax,[esi+esi*4]
1050db: 8b 04 c5 fc c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1fc]
1050e2: 89 04 24 mov DWORD PTR [esp],eax
1050e5: e8 a4 42 00 00 call 10938e <TimerStart>
1050ea: c7 44 24 08 3f a7 10 mov DWORD PTR [esp+0x8],0x10a73f
1050f1: 00
1050f2: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
1050f9: 00
1050fa: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105101: e8 a2 21 00 00 call 1072a8 <LogWrite>
105106: e8 d2 42 00 00 call 1093dd <TimerIsDone>
10510b: 84 c0 test al,al
10510d: 74 f7 je 105106 <FloppyMotor+0xc0>
10510f: 83 c4 24 add esp,0x24
105112: 5b pop ebx
105113: 5e pop esi
105114: c3 ret
00105115 <FloppySelectDrive>:
105115: 83 ec 1c sub esp,0x1c
105118: 8a 44 24 20 mov al,BYTE PTR [esp+0x20]
10511c: 3c 01 cmp al,0x1
10511e: 77 3a ja 10515a <FloppySelectDrive+0x45>
105120: 8a 0d 0d d0 10 00 mov cl,BYTE PTR ds:0x10d00d
105126: 84 c0 test al,al
105128: 75 06 jne 105130 <FloppySelectDrive+0x1b>
10512a: 8a 0d 0c d0 10 00 mov cl,BYTE PTR ds:0x10d00c
105130: 81 e1 ff 00 00 00 and ecx,0xff
105136: 8d 04 89 lea eax,[ecx+ecx*4]
105139: 8a 04 c5 f1 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1f1]
105140: ba f7 03 00 00 mov edx,0x3f7
105145: ee out dx,al
105146: 89 0c 24 mov DWORD PTR [esp],ecx
105149: e8 a5 fe ff ff call 104ff3 <FloppySpecify>
10514e: c7 04 24 f2 03 00 00 mov DWORD PTR [esp],0x3f2
105155: e8 7e 3a 00 00 call 108bd8 <inportb>
10515a: 83 c4 1c add esp,0x1c
10515d: c3 ret
0010515e <FloppyRecalibrate>:
10515e: 57 push edi
10515f: 56 push esi
105160: 53 push ebx
105161: 83 ec 20 sub esp,0x20
105164: 8a 44 24 30 mov al,BYTE PTR [esp+0x30]
105168: 3c 01 cmp al,0x1
10516a: 77 74 ja 1051e0 <FloppyRecalibrate+0x82>
10516c: b3 0a mov bl,0xa
10516e: 25 ff 00 00 00 and eax,0xff
105173: 89 c6 mov esi,eax
105175: 8d 7c 24 1e lea edi,[esp+0x1e]
105179: 31 d2 xor edx,edx
10517b: 88 da mov dl,bl
10517d: b8 0b 00 00 00 mov eax,0xb
105182: 29 d0 sub eax,edx
105184: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
105188: c7 44 24 08 55 a7 10 mov DWORD PTR [esp+0x8],0x10a755
10518f: 00
105190: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
105197: 00
105198: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10519f: e8 04 21 00 00 call 1072a8 <LogWrite>
1051a4: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0
1051ab: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
1051b2: e8 78 fd ff ff call 104f2f <FloppySendCommand>
1051b7: 89 34 24 mov DWORD PTR [esp],esi
1051ba: e8 70 fd ff ff call 104f2f <FloppySendCommand>
1051bf: e8 94 fc ff ff call 104e58 <FloppyWaitIrq>
1051c4: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi
1051c8: 8d 44 24 1f lea eax,[esp+0x1f]
1051cc: 89 04 24 mov DWORD PTR [esp],eax
1051cf: e8 f6 fd ff ff call 104fca <FloppySenseInterrupt>
1051d4: 4b dec ebx
1051d5: f6 44 24 1f 20 test BYTE PTR [esp+0x1f],0x20
1051da: 75 04 jne 1051e0 <FloppyRecalibrate+0x82>
1051dc: 84 db test bl,bl
1051de: 75 99 jne 105179 <FloppyRecalibrate+0x1b>
1051e0: 83 c4 20 add esp,0x20
1051e3: 5b pop ebx
1051e4: 5e pop esi
1051e5: 5f pop edi
1051e6: c3 ret
001051e7 <FloppyReset>:
1051e7: 83 ec 1c sub esp,0x1c
1051ea: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0
1051f1: c7 44 24 08 73 a7 10 mov DWORD PTR [esp+0x8],0x10a773
1051f8: 00
1051f9: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
105200: 00
105201: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105208: e8 9b 20 00 00 call 1072a8 <LogWrite>
10520d: b0 00 mov al,0x0
10520f: ba f2 03 00 00 mov edx,0x3f2
105214: ee out dx,al
105215: b8 e8 03 00 00 mov eax,0x3e8
10521a: 48 dec eax
10521b: 75 fd jne 10521a <FloppyReset+0x33>
10521d: b0 0c mov al,0xc
10521f: ba f2 03 00 00 mov edx,0x3f2
105224: ee out dx,al
105225: 0f be 05 0c d0 10 00 movsx eax,BYTE PTR ds:0x10d00c
10522c: 89 04 24 mov DWORD PTR [esp],eax
10522f: e8 24 fc ff ff call 104e58 <FloppyWaitIrq>
105234: 80 3d 0c d0 10 00 00 cmp BYTE PTR ds:0x10d00c,0x0
10523b: 74 40 je 10527d <FloppyReset+0x96>
10523d: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
105244: 00
105245: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10524c: e8 f5 fd ff ff call 105046 <FloppyMotor>
105251: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105258: e8 b8 fe ff ff call 105115 <FloppySelectDrive>
10525d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105264: e8 f5 fe ff ff call 10515e <FloppyRecalibrate>
105269: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105270: 00
105271: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105278: e8 c9 fd ff ff call 105046 <FloppyMotor>
10527d: 80 3d 0d d0 10 00 00 cmp BYTE PTR ds:0x10d00d,0x0
105284: 74 40 je 1052c6 <FloppyReset+0xdf>
105286: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
10528d: 00
10528e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
105295: e8 ac fd ff ff call 105046 <FloppyMotor>
10529a: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1052a1: e8 6f fe ff ff call 105115 <FloppySelectDrive>
1052a6: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1052ad: e8 ac fe ff ff call 10515e <FloppyRecalibrate>
1052b2: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
1052b9: 00
1052ba: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1052c1: e8 80 fd ff ff call 105046 <FloppyMotor>
1052c6: 83 c4 1c add esp,0x1c
1052c9: c3 ret
001052ca <FloppyInitialize>:
1052ca: 57 push edi
1052cb: 56 push esi
1052cc: 53 push ebx
1052cd: 83 ec 30 sub esp,0x30
1052d0: c7 04 24 10 00 00 00 mov DWORD PTR [esp],0x10
1052d7: e8 24 ce ff ff call 102100 <CmosRead>
1052dc: 88 c2 mov dl,al
1052de: c0 ea 04 shr dl,0x4
1052e1: 88 15 0c d0 10 00 mov BYTE PTR ds:0x10d00c,dl
1052e7: 83 e0 0f and eax,0xf
1052ea: a2 0d d0 10 00 mov ds:0x10d00d,al
1052ef: 80 fa 06 cmp dl,0x6
1052f2: 7e 07 jle 1052fb <FloppyInitialize+0x31>
1052f4: c6 05 0c d0 10 00 00 mov BYTE PTR ds:0x10d00c,0x0
1052fb: 3c 06 cmp al,0x6
1052fd: 7e 07 jle 105306 <FloppyInitialize+0x3c>
1052ff: c6 05 0d d0 10 00 00 mov BYTE PTR ds:0x10d00d,0x0
105306: 80 3d 0c d0 10 00 00 cmp BYTE PTR ds:0x10d00c,0x0
10530d: 75 32 jne 105341 <FloppyInitialize+0x77>
10530f: 80 3d 0d d0 10 00 00 cmp BYTE PTR ds:0x10d00d,0x0
105316: 75 29 jne 105341 <FloppyInitialize+0x77>
105318: c7 44 24 08 f0 a7 10 mov DWORD PTR [esp+0x8],0x10a7f0
10531f: 00
105320: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
105327: 00
105328: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
10532f: e8 74 1f 00 00 call 1072a8 <LogWrite>
105334: b0 00 mov al,0x0
105336: ba f2 03 00 00 mov edx,0x3f2
10533b: ee out dx,al
10533c: e9 7f 01 00 00 jmp 1054c0 <FloppyInitialize+0x1f6>
105341: 0f be 05 0d d0 10 00 movsx eax,BYTE PTR ds:0x10d00d
105348: 8d 04 80 lea eax,[eax+eax*4]
10534b: 8b 34 c5 04 c2 10 00 mov esi,DWORD PTR [eax*8+0x10c204]
105352: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
105359: 00
10535a: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
105361: e8 f5 d5 ff ff call 10295b <Color>
105366: 88 c3 mov bl,al
105368: 0f be 05 0c d0 10 00 movsx eax,BYTE PTR ds:0x10d00c
10536f: 8d 04 80 lea eax,[eax+eax*4]
105372: 8b 3c c5 04 c2 10 00 mov edi,DWORD PTR [eax*8+0x10c204]
105379: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
105380: 00
105381: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
105388: e8 ce d5 ff ff call 10295b <Color>
10538d: 89 74 24 20 mov DWORD PTR [esp+0x20],esi
105391: 81 e3 ff 00 00 00 and ebx,0xff
105397: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx
10539b: c7 44 24 18 0b 00 00 mov DWORD PTR [esp+0x18],0xb
1053a2: 00
1053a3: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi
1053a7: 25 ff 00 00 00 and eax,0xff
1053ac: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1053b0: c7 44 24 0c 0b 00 00 mov DWORD PTR [esp+0xc],0xb
1053b7: 00
1053b8: c7 44 24 08 14 a8 10 mov DWORD PTR [esp+0x8],0x10a814
1053bf: 00
1053c0: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
1053c7: 00
1053c8: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1053cf: e8 d4 1e 00 00 call 1072a8 <LogWrite>
1053d4: e8 0e fe ff ff call 1051e7 <FloppyReset>
1053d9: e8 86 fb ff ff call 104f64 <FloppyConfigure>
1053de: c7 04 24 94 00 00 00 mov DWORD PTR [esp],0x94
1053e5: e8 45 fb ff ff call 104f2f <FloppySendCommand>
1053ea: e8 ac fb ff ff call 104f9b <FloppyReadData>
1053ef: 80 3d 0c d0 10 00 04 cmp BYTE PTR ds:0x10d00c,0x4
1053f6: 7e 18 jle 105410 <FloppyInitialize+0x146>
1053f8: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12
1053ff: e8 2b fb ff ff call 104f2f <FloppySendCommand>
105404: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
10540b: e8 1f fb ff ff call 104f2f <FloppySendCommand>
105410: 80 3d 0d d0 10 00 04 cmp BYTE PTR ds:0x10d00d,0x4
105417: 7e 18 jle 105431 <FloppyInitialize+0x167>
105419: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12
105420: e8 0a fb ff ff call 104f2f <FloppySendCommand>
105425: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
10542c: e8 fe fa ff ff call 104f2f <FloppySendCommand>
105431: e8 76 fa ff ff call 104eac <FloppyInitDma>
105436: a0 0c d0 10 00 mov al,ds:0x10d00c
10543b: 84 c0 test al,al
10543d: 74 3c je 10547b <FloppyInitialize+0x1b1>
10543f: 0f be c0 movsx eax,al
105442: 8d 04 80 lea eax,[eax+eax*4]
105445: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4]
10544c: c1 e0 09 shl eax,0x9
10544f: 3d 00 24 00 00 cmp eax,0x2400
105454: 76 05 jbe 10545b <FloppyInitialize+0x191>
105456: b8 00 24 00 00 mov eax,0x2400
10545b: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
10545f: c7 44 24 08 e4 5a 10 mov DWORD PTR [esp+0x8],0x105ae4
105466: 00
105467: c7 44 24 04 ee 58 10 mov DWORD PTR [esp+0x4],0x1058ee
10546e: 00
10546f: c7 04 24 81 a7 10 00 mov DWORD PTR [esp],0x10a781
105476: e8 7a 42 00 00 call 1096f5 <VfsMount>
10547b: a0 0d d0 10 00 mov al,ds:0x10d00d
105480: 84 c0 test al,al
105482: 74 3c je 1054c0 <FloppyInitialize+0x1f6>
105484: 0f be c0 movsx eax,al
105487: 8d 04 80 lea eax,[eax+eax*4]
10548a: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4]
105491: c1 e0 09 shl eax,0x9
105494: 3d 00 24 00 00 cmp eax,0x2400
105499: 76 05 jbe 1054a0 <FloppyInitialize+0x1d6>
10549b: b8 00 24 00 00 mov eax,0x2400
1054a0: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
1054a4: c7 44 24 08 ad 5a 10 mov DWORD PTR [esp+0x8],0x105aad
1054ab: 00
1054ac: c7 44 24 04 ac 58 10 mov DWORD PTR [esp+0x4],0x1058ac
1054b3: 00
1054b4: c7 04 24 85 a7 10 00 mov DWORD PTR [esp],0x10a785
1054bb: e8 35 42 00 00 call 1096f5 <VfsMount>
1054c0: 83 c4 30 add esp,0x30
1054c3: 5b pop ebx
1054c4: 5e pop esi
1054c5: 5f pop edi
1054c6: c3 ret
001054c7 <FloppySeek>:
1054c7: 55 push ebp
1054c8: 57 push edi
1054c9: 56 push esi
1054ca: 53 push ebx
1054cb: 83 ec 2c sub esp,0x2c
1054ce: 8a 44 24 40 mov al,BYTE PTR [esp+0x40]
1054d2: 0f b6 74 24 44 movzx esi,BYTE PTR [esp+0x44]
1054d7: 8a 54 24 48 mov dl,BYTE PTR [esp+0x48]
1054db: 3c 01 cmp al,0x1
1054dd: 0f 87 8f 00 00 00 ja 105572 <FloppySeek+0xab>
1054e3: 8d 3c 95 00 00 00 00 lea edi,[edx*4+0x0]
1054ea: 09 f8 or eax,edi
1054ec: 25 ff 00 00 00 and eax,0xff
1054f1: 89 c7 mov edi,eax
1054f3: b3 0a mov bl,0xa
1054f5: 89 f0 mov eax,esi
1054f7: 25 ff 00 00 00 and eax,0xff
1054fc: 89 c5 mov ebp,eax
1054fe: 31 d2 xor edx,edx
105500: 88 da mov dl,bl
105502: b8 0b 00 00 00 mov eax,0xb
105507: 29 d0 sub eax,edx
105509: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
10550d: c7 44 24 08 89 a7 10 mov DWORD PTR [esp+0x8],0x10a789
105514: 00
105515: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
10551c: 00
10551d: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105524: e8 7f 1d 00 00 call 1072a8 <LogWrite>
105529: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0
105530: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf
105537: e8 f3 f9 ff ff call 104f2f <FloppySendCommand>
10553c: 89 3c 24 mov DWORD PTR [esp],edi
10553f: e8 eb f9 ff ff call 104f2f <FloppySendCommand>
105544: 89 2c 24 mov DWORD PTR [esp],ebp
105547: e8 e3 f9 ff ff call 104f2f <FloppySendCommand>
10554c: e8 07 f9 ff ff call 104e58 <FloppyWaitIrq>
105551: 8d 44 24 1e lea eax,[esp+0x1e]
105555: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105559: 8d 44 24 1f lea eax,[esp+0x1f]
10555d: 89 04 24 mov DWORD PTR [esp],eax
105560: e8 65 fa ff ff call 104fca <FloppySenseInterrupt>
105565: 4b dec ebx
105566: 89 f0 mov eax,esi
105568: 38 44 24 1e cmp BYTE PTR [esp+0x1e],al
10556c: 74 04 je 105572 <FloppySeek+0xab>
10556e: 84 db test bl,bl
105570: 75 8c jne 1054fe <FloppySeek+0x37>
105572: 83 c4 2c add esp,0x2c
105575: 5b pop ebx
105576: 5e pop esi
105577: 5f pop edi
105578: 5d pop ebp
105579: c3 ret
0010557a <FloppyRW>:
10557a: 55 push ebp
10557b: 57 push edi
10557c: 56 push esi
10557d: 53 push ebx
10557e: 83 ec 3c sub esp,0x3c
105581: 8a 44 24 50 mov al,BYTE PTR [esp+0x50]
105585: 88 44 24 15 mov BYTE PTR [esp+0x15],al
105589: 8a 54 24 54 mov dl,BYTE PTR [esp+0x54]
10558d: 8a 4c 24 58 mov cl,BYTE PTR [esp+0x58]
105591: 8a 44 24 5c mov al,BYTE PTR [esp+0x5c]
105595: 88 44 24 16 mov BYTE PTR [esp+0x16],al
105599: 8a 44 24 60 mov al,BYTE PTR [esp+0x60]
10559d: 88 44 24 17 mov BYTE PTR [esp+0x17],al
1055a1: 80 fa 01 cmp dl,0x1
1055a4: 0f 87 7d 01 00 00 ja 105727 <FloppyRW+0x1ad>
1055aa: a0 0d d0 10 00 mov al,ds:0x10d00d
1055af: 84 d2 test dl,dl
1055b1: 75 05 jne 1055b8 <FloppyRW+0x3e>
1055b3: a0 0c d0 10 00 mov al,ds:0x10d00c
1055b8: 81 e1 ff 00 00 00 and ecx,0xff
1055be: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx
1055c2: c1 e1 02 shl ecx,0x2
1055c5: 09 ca or edx,ecx
1055c7: 81 e2 ff 00 00 00 and edx,0xff
1055cd: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx
1055d1: c6 44 24 14 0a mov BYTE PTR [esp+0x14],0xa
1055d6: 25 ff 00 00 00 and eax,0xff
1055db: 89 c7 mov edi,eax
1055dd: 8d 2c 85 00 00 00 00 lea ebp,[eax*4+0x0]
1055e4: 31 c0 xor eax,eax
1055e6: 8a 44 24 14 mov al,BYTE PTR [esp+0x14]
1055ea: ba 0b 00 00 00 mov edx,0xb
1055ef: 29 c2 sub edx,eax
1055f1: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
1055f5: c7 44 24 08 44 a8 10 mov DWORD PTR [esp+0x8],0x10a844
1055fc: 00
1055fd: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
105604: 00
105605: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10560c: e8 97 1c 00 00 call 1072a8 <LogWrite>
105611: c6 05 0e d0 10 00 00 mov BYTE PTR ds:0x10d00e,0x0
105618: 80 7c 24 15 00 cmp BYTE PTR [esp+0x15],0x0
10561d: 74 0e je 10562d <FloppyRW+0xb3>
10561f: c7 04 24 c5 00 00 00 mov DWORD PTR [esp],0xc5
105626: e8 04 f9 ff ff call 104f2f <FloppySendCommand>
10562b: eb 0c jmp 105639 <FloppyRW+0xbf>
10562d: c7 04 24 c6 00 00 00 mov DWORD PTR [esp],0xc6
105634: e8 f6 f8 ff ff call 104f2f <FloppySendCommand>
105639: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
10563d: 89 04 24 mov DWORD PTR [esp],eax
105640: e8 ea f8 ff ff call 104f2f <FloppySendCommand>
105645: 31 c0 xor eax,eax
105647: 8a 44 24 16 mov al,BYTE PTR [esp+0x16]
10564b: 89 04 24 mov DWORD PTR [esp],eax
10564e: e8 dc f8 ff ff call 104f2f <FloppySendCommand>
105653: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
105657: 89 04 24 mov DWORD PTR [esp],eax
10565a: e8 d0 f8 ff ff call 104f2f <FloppySendCommand>
10565f: 31 c0 xor eax,eax
105661: 8a 44 24 17 mov al,BYTE PTR [esp+0x17]
105665: 89 04 24 mov DWORD PTR [esp],eax
105668: e8 c2 f8 ff ff call 104f2f <FloppySendCommand>
10566d: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105674: e8 b6 f8 ff ff call 104f2f <FloppySendCommand>
105679: 8d 44 3d 00 lea eax,[ebp+edi*1+0x0]
10567d: 8a 04 c5 e4 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1e4]
105684: 25 ff 00 00 00 and eax,0xff
105689: 89 04 24 mov DWORD PTR [esp],eax
10568c: e8 9e f8 ff ff call 104f2f <FloppySendCommand>
105691: 8d 44 3d 00 lea eax,[ebp+edi*1+0x0]
105695: 8a 04 c5 f0 c1 10 00 mov al,BYTE PTR [eax*8+0x10c1f0]
10569c: 25 ff 00 00 00 and eax,0xff
1056a1: 89 04 24 mov DWORD PTR [esp],eax
1056a4: e8 86 f8 ff ff call 104f2f <FloppySendCommand>
1056a9: c7 04 24 ff 00 00 00 mov DWORD PTR [esp],0xff
1056b0: e8 7a f8 ff ff call 104f2f <FloppySendCommand>
1056b5: e8 9e f7 ff ff call 104e58 <FloppyWaitIrq>
1056ba: 8d 5c 24 29 lea ebx,[esp+0x29]
1056be: 8d 74 24 30 lea esi,[esp+0x30]
1056c2: e8 d4 f8 ff ff call 104f9b <FloppyReadData>
1056c7: 88 03 mov BYTE PTR [ebx],al
1056c9: 43 inc ebx
1056ca: 39 f3 cmp ebx,esi
1056cc: 75 f4 jne 1056c2 <FloppyRW+0x148>
1056ce: 31 c0 xor eax,eax
1056d0: 8a 44 24 2a mov al,BYTE PTR [esp+0x2a]
1056d4: a8 02 test al,0x2
1056d6: 74 1e je 1056f6 <FloppyRW+0x17c>
1056d8: c7 44 24 08 6c a8 10 mov DWORD PTR [esp+0x8],0x10a86c
1056df: 00
1056e0: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
1056e7: 00
1056e8: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1056ef: e8 b4 1b 00 00 call 1072a8 <LogWrite>
1056f4: eb 31 jmp 105727 <FloppyRW+0x1ad>
1056f6: 8a 4c 24 29 mov cl,BYTE PTR [esp+0x29]
1056fa: b2 01 mov dl,0x1
1056fc: a8 b5 test al,0xb5
1056fe: 75 06 jne 105706 <FloppyRW+0x18c>
105700: f6 c1 c8 test cl,0xc8
105703: 0f 95 c2 setne dl
105706: 31 c0 xor eax,eax
105708: 8a 44 24 2b mov al,BYTE PTR [esp+0x2b]
10570c: a8 77 test al,0x77
10570e: 74 02 je 105712 <FloppyRW+0x198>
105710: b2 01 mov dl,0x1
105712: f6 44 24 2f 02 test BYTE PTR [esp+0x2f],0x2
105717: 75 0e jne 105727 <FloppyRW+0x1ad>
105719: fe 4c 24 14 dec BYTE PTR [esp+0x14]
10571d: 74 08 je 105727 <FloppyRW+0x1ad>
10571f: 84 d2 test dl,dl
105721: 0f 84 bd fe ff ff je 1055e4 <FloppyRW+0x6a>
105727: 83 c4 3c add esp,0x3c
10572a: 5b pop ebx
10572b: 5e pop esi
10572c: 5f pop edi
10572d: 5d pop ebp
10572e: c3 ret
0010572f <FloppyRead>:
10572f: 56 push esi
105730: 53 push ebx
105731: 83 ec 34 sub esp,0x34
105734: 8b 74 24 44 mov esi,DWORD PTR [esp+0x44]
105738: 8a 5c 24 40 mov bl,BYTE PTR [esp+0x40]
10573c: b8 00 00 00 00 mov eax,0x0
105741: 80 fb 01 cmp bl,0x1
105744: 0f 87 5c 01 00 00 ja 1058a6 <FloppyRead+0x177>
10574a: a0 0d d0 10 00 mov al,ds:0x10d00d
10574f: 84 db test bl,bl
105751: 75 05 jne 105758 <FloppyRead+0x29>
105753: a0 0c d0 10 00 mov al,ds:0x10d00c
105758: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0
10575f: 00
105760: c7 44 24 28 00 00 00 mov DWORD PTR [esp+0x28],0x0
105767: 00
105768: c7 44 24 24 01 00 00 mov DWORD PTR [esp+0x24],0x1
10576f: 00
105770: 8d 54 24 24 lea edx,[esp+0x24]
105774: 89 54 24 10 mov DWORD PTR [esp+0x10],edx
105778: 8d 54 24 28 lea edx,[esp+0x28]
10577c: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
105780: 8d 54 24 2c lea edx,[esp+0x2c]
105784: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
105788: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10578c: 25 ff 00 00 00 and eax,0xff
105791: 8d 04 80 lea eax,[eax+eax*4]
105794: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4]
10579b: 89 04 24 mov DWORD PTR [esp],eax
10579e: e8 29 35 00 00 call 108ccc <ConvertLbaToChs>
1057a3: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
1057a7: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
1057ab: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
1057af: 89 44 24 14 mov DWORD PTR [esp+0x14],eax
1057b3: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
1057b7: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1057bb: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
1057bf: c7 44 24 08 90 a8 10 mov DWORD PTR [esp+0x8],0x10a890
1057c6: 00
1057c7: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
1057ce: 00
1057cf: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1057d6: e8 cd 1a 00 00 call 1072a8 <LogWrite>
1057db: e8 cc f6 ff ff call 104eac <FloppyInitDma>
1057e0: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4
1057e7: e8 ec 33 00 00 call 108bd8 <inportb>
1057ec: 25 c0 00 00 00 and eax,0xc0
1057f1: 3d 80 00 00 00 cmp eax,0x80
1057f6: 74 05 je 1057fd <FloppyRead+0xce>
1057f8: e8 ea f9 ff ff call 1051e7 <FloppyReset>
1057fd: 81 e3 ff 00 00 00 and ebx,0xff
105803: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
10580a: 00
10580b: 89 1c 24 mov DWORD PTR [esp],ebx
10580e: e8 33 f8 ff ff call 105046 <FloppyMotor>
105813: 89 1c 24 mov DWORD PTR [esp],ebx
105816: e8 fa f8 ff ff call 105115 <FloppySelectDrive>
10581b: 31 c0 xor eax,eax
10581d: 8a 44 24 28 mov al,BYTE PTR [esp+0x28]
105821: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
105825: 31 c0 xor eax,eax
105827: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c]
10582b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10582f: 89 1c 24 mov DWORD PTR [esp],ebx
105832: e8 90 fc ff ff call 1054c7 <FloppySeek>
105837: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
10583e: e8 fb f2 ff ff call 104b3e <DmaMaskChannel>
105843: c7 44 24 04 46 00 00 mov DWORD PTR [esp+0x4],0x46
10584a: 00
10584b: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105852: e8 1a f3 ff ff call 104b71 <DmaSetMode>
105857: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
10585e: e8 f6 f2 ff ff call 104b59 <DmaUnmaskChannel>
105863: 31 c0 xor eax,eax
105865: 8a 44 24 24 mov al,BYTE PTR [esp+0x24]
105869: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
10586d: 31 c0 xor eax,eax
10586f: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c]
105873: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
105877: 31 c0 xor eax,eax
105879: 8a 44 24 28 mov al,BYTE PTR [esp+0x28]
10587d: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
105881: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
105885: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10588c: e8 e9 fc ff ff call 10557a <FloppyRW>
105891: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105898: 00
105899: 89 1c 24 mov DWORD PTR [esp],ebx
10589c: e8 a5 f7 ff ff call 105046 <FloppyMotor>
1058a1: b8 00 10 00 00 mov eax,0x1000
1058a6: 83 c4 34 add esp,0x34
1058a9: 5b pop ebx
1058aa: 5e pop esi
1058ab: c3 ret
001058ac <Floppy1ReadRoutine>:
1058ac: 53 push ebx
1058ad: 83 ec 18 sub esp,0x18
1058b0: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
1058b4: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1058b8: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1058bc: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1058c3: e8 67 fe ff ff call 10572f <FloppyRead>
1058c8: ba 00 00 00 00 mov edx,0x0
1058cd: 85 c0 test eax,eax
1058cf: 74 16 je 1058e7 <Floppy1ReadRoutine+0x3b>
1058d1: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400
1058d8: 00
1058d9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1058dd: 89 1c 24 mov DWORD PTR [esp],ebx
1058e0: e8 23 27 00 00 call 108008 <memcpy>
1058e5: 89 da mov edx,ebx
1058e7: 89 d0 mov eax,edx
1058e9: 83 c4 18 add esp,0x18
1058ec: 5b pop ebx
1058ed: c3 ret
001058ee <Floppy0ReadRoutine>:
1058ee: 53 push ebx
1058ef: 83 ec 18 sub esp,0x18
1058f2: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
1058f6: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1058fa: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1058fe: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105905: e8 25 fe ff ff call 10572f <FloppyRead>
10590a: ba 00 00 00 00 mov edx,0x0
10590f: 85 c0 test eax,eax
105911: 74 16 je 105929 <Floppy0ReadRoutine+0x3b>
105913: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400
10591a: 00
10591b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10591f: 89 1c 24 mov DWORD PTR [esp],ebx
105922: e8 e1 26 00 00 call 108008 <memcpy>
105927: 89 da mov edx,ebx
105929: 89 d0 mov eax,edx
10592b: 83 c4 18 add esp,0x18
10592e: 5b pop ebx
10592f: c3 ret
00105930 <FloppyWrite>:
105930: 56 push esi
105931: 53 push ebx
105932: 83 ec 34 sub esp,0x34
105935: 8b 74 24 44 mov esi,DWORD PTR [esp+0x44]
105939: 8a 5c 24 40 mov bl,BYTE PTR [esp+0x40]
10593d: b8 00 00 00 00 mov eax,0x0
105942: 80 fb 01 cmp bl,0x1
105945: 0f 87 5c 01 00 00 ja 105aa7 <FloppyWrite+0x177>
10594b: a0 0d d0 10 00 mov al,ds:0x10d00d
105950: 84 db test bl,bl
105952: 75 05 jne 105959 <FloppyWrite+0x29>
105954: a0 0c d0 10 00 mov al,ds:0x10d00c
105959: c7 44 24 2c 00 00 00 mov DWORD PTR [esp+0x2c],0x0
105960: 00
105961: c7 44 24 28 00 00 00 mov DWORD PTR [esp+0x28],0x0
105968: 00
105969: c7 44 24 24 01 00 00 mov DWORD PTR [esp+0x24],0x1
105970: 00
105971: 8d 54 24 24 lea edx,[esp+0x24]
105975: 89 54 24 10 mov DWORD PTR [esp+0x10],edx
105979: 8d 54 24 28 lea edx,[esp+0x28]
10597d: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
105981: 8d 54 24 2c lea edx,[esp+0x2c]
105985: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
105989: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10598d: 25 ff 00 00 00 and eax,0xff
105992: 8d 04 80 lea eax,[eax+eax*4]
105995: 8b 04 c5 e4 c1 10 00 mov eax,DWORD PTR [eax*8+0x10c1e4]
10599c: 89 04 24 mov DWORD PTR [esp],eax
10599f: e8 28 33 00 00 call 108ccc <ConvertLbaToChs>
1059a4: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
1059a8: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
1059ac: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
1059b0: 89 44 24 14 mov DWORD PTR [esp+0x14],eax
1059b4: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
1059b8: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1059bc: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
1059c0: c7 44 24 08 90 a8 10 mov DWORD PTR [esp+0x8],0x10a890
1059c7: 00
1059c8: c7 44 24 04 22 a7 10 mov DWORD PTR [esp+0x4],0x10a722
1059cf: 00
1059d0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1059d7: e8 cc 18 00 00 call 1072a8 <LogWrite>
1059dc: e8 cb f4 ff ff call 104eac <FloppyInitDma>
1059e1: c7 04 24 f4 03 00 00 mov DWORD PTR [esp],0x3f4
1059e8: e8 eb 31 00 00 call 108bd8 <inportb>
1059ed: 25 c0 00 00 00 and eax,0xc0
1059f2: 3d 80 00 00 00 cmp eax,0x80
1059f7: 74 05 je 1059fe <FloppyWrite+0xce>
1059f9: e8 e9 f7 ff ff call 1051e7 <FloppyReset>
1059fe: 81 e3 ff 00 00 00 and ebx,0xff
105a04: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
105a0b: 00
105a0c: 89 1c 24 mov DWORD PTR [esp],ebx
105a0f: e8 32 f6 ff ff call 105046 <FloppyMotor>
105a14: 89 1c 24 mov DWORD PTR [esp],ebx
105a17: e8 f9 f6 ff ff call 105115 <FloppySelectDrive>
105a1c: 31 c0 xor eax,eax
105a1e: 8a 44 24 28 mov al,BYTE PTR [esp+0x28]
105a22: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
105a26: 31 c0 xor eax,eax
105a28: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c]
105a2c: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105a30: 89 1c 24 mov DWORD PTR [esp],ebx
105a33: e8 8f fa ff ff call 1054c7 <FloppySeek>
105a38: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105a3f: e8 fa f0 ff ff call 104b3e <DmaMaskChannel>
105a44: c7 44 24 04 4a 00 00 mov DWORD PTR [esp+0x4],0x4a
105a4b: 00
105a4c: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105a53: e8 19 f1 ff ff call 104b71 <DmaSetMode>
105a58: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105a5f: e8 f5 f0 ff ff call 104b59 <DmaUnmaskChannel>
105a64: 31 c0 xor eax,eax
105a66: 8a 44 24 24 mov al,BYTE PTR [esp+0x24]
105a6a: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
105a6e: 31 c0 xor eax,eax
105a70: 8a 44 24 2c mov al,BYTE PTR [esp+0x2c]
105a74: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
105a78: 31 c0 xor eax,eax
105a7a: 8a 44 24 28 mov al,BYTE PTR [esp+0x28]
105a7e: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
105a82: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
105a86: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105a8d: e8 e8 fa ff ff call 10557a <FloppyRW>
105a92: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105a99: 00
105a9a: 89 1c 24 mov DWORD PTR [esp],ebx
105a9d: e8 a4 f5 ff ff call 105046 <FloppyMotor>
105aa2: b8 00 10 00 00 mov eax,0x1000
105aa7: 83 c4 34 add esp,0x34
105aaa: 5b pop ebx
105aab: 5e pop esi
105aac: c3 ret
00105aad <Floppy1WriteRoutine>:
105aad: 83 ec 1c sub esp,0x1c
105ab0: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400
105ab7: 00
105ab8: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
105abc: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105ac0: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000
105ac7: e8 3c 25 00 00 call 108008 <memcpy>
105acc: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
105ad0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105ad4: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
105adb: e8 50 fe ff ff call 105930 <FloppyWrite>
105ae0: 83 c4 1c add esp,0x1c
105ae3: c3 ret
00105ae4 <Floppy0WriteRoutine>:
105ae4: 83 ec 1c sub esp,0x1c
105ae7: c7 44 24 08 00 24 00 mov DWORD PTR [esp+0x8],0x2400
105aee: 00
105aef: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
105af3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105af7: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000
105afe: e8 05 25 00 00 call 108008 <memcpy>
105b03: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
105b07: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105b0b: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105b12: e8 19 fe ff ff call 105930 <FloppyWrite>
105b17: 83 c4 1c add esp,0x1c
105b1a: c3 ret
105b1b: 00 00 add BYTE PTR [eax],al
105b1d: 00 00 add BYTE PTR [eax],al
...
00105b20 <GdtFlush>:
105b20: 0f 01 15 20 d0 10 00 lgdtd ds:0x10d020
105b27: 66 b8 10 00 mov ax,0x10
105b2b: 8e d8 mov ds,eax
105b2d: 8e c0 mov es,eax
105b2f: 8e e0 mov fs,eax
105b31: 8e e8 mov gs,eax
105b33: 8e d0 mov ss,eax
105b35: ea 3c 5b 10 00 08 00 jmp 0x8:0x105b3c
00105b3c <flush2>:
105b3c: c3 ret
105b3d: 00 00 add BYTE PTR [eax],al
...
00105b40 <GdtSetGate>:
105b40: 55 push ebp
105b41: 57 push edi
105b42: 56 push esi
105b43: 53 push ebx
105b44: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
105b48: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18]
105b4c: 8b 6c 24 1c mov ebp,DWORD PTR [esp+0x1c]
105b50: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20]
105b54: 0f b6 74 24 24 movzx esi,BYTE PTR [esp+0x24]
105b59: 83 f8 04 cmp eax,0x4
105b5c: 7f 43 jg 105ba1 <GdtSetGate+0x61>
105b5e: 66 89 14 c5 42 d0 10 mov WORD PTR [eax*8+0x10d042],dx
105b65: 00
105b66: 89 d7 mov edi,edx
105b68: c1 ef 10 shr edi,0x10
105b6b: 89 f9 mov ecx,edi
105b6d: 88 0c c5 44 d0 10 00 mov BYTE PTR [eax*8+0x10d044],cl
105b74: c1 ea 18 shr edx,0x18
105b77: 88 14 c5 47 d0 10 00 mov BYTE PTR [eax*8+0x10d047],dl
105b7e: 66 89 2c c5 40 d0 10 mov WORD PTR [eax*8+0x10d040],bp
105b85: 00
105b86: 83 e6 f0 and esi,0xfffffff0
105b89: 89 e9 mov ecx,ebp
105b8b: c1 e9 10 shr ecx,0x10
105b8e: 83 e1 0f and ecx,0xf
105b91: 09 f1 or ecx,esi
105b93: 88 0c c5 46 d0 10 00 mov BYTE PTR [eax*8+0x10d046],cl
105b9a: 88 1c c5 45 d0 10 00 mov BYTE PTR [eax*8+0x10d045],bl
105ba1: 5b pop ebx
105ba2: 5e pop esi
105ba3: 5f pop edi
105ba4: 5d pop ebp
105ba5: c3 ret
00105ba6 <GdtGetGate>:
105ba6: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
105baa: b8 00 00 00 00 mov eax,0x0
105baf: 83 fa 05 cmp edx,0x5
105bb2: 7f 07 jg 105bbb <GdtGetGate+0x15>
105bb4: 8d 04 d5 40 d0 10 00 lea eax,[edx*8+0x10d040]
105bbb: c3 ret
00105bbc <GdtInstall>:
105bbc: 83 ec 2c sub esp,0x2c
105bbf: 66 c7 05 20 d0 10 00 mov WORD PTR ds:0x10d020,0x17
105bc6: 17 00
105bc8: c7 05 22 d0 10 00 40 mov DWORD PTR ds:0x10d022,0x10d040
105bcf: d0 10 00
105bd2: c7 44 24 10 00 00 00 mov DWORD PTR [esp+0x10],0x0
105bd9: 00
105bda: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0
105be1: 00
105be2: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
105be9: 00
105bea: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105bf1: 00
105bf2: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105bf9: e8 42 ff ff ff call 105b40 <GdtSetGate>
105bfe: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf
105c05: 00
105c06: c7 44 24 0c 9a 00 00 mov DWORD PTR [esp+0xc],0x9a
105c0d: 00
105c0e: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff
105c15: ff
105c16: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105c1d: 00
105c1e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
105c25: e8 16 ff ff ff call 105b40 <GdtSetGate>
105c2a: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf
105c31: 00
105c32: c7 44 24 0c 92 00 00 mov DWORD PTR [esp+0xc],0x92
105c39: 00
105c3a: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff
105c41: ff
105c42: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105c49: 00
105c4a: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
105c51: e8 ea fe ff ff call 105b40 <GdtSetGate>
105c56: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf
105c5d: 00
105c5e: c7 44 24 0c fa 00 00 mov DWORD PTR [esp+0xc],0xfa
105c65: 00
105c66: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff
105c6d: ff
105c6e: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105c75: 00
105c76: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
105c7d: e8 be fe ff ff call 105b40 <GdtSetGate>
105c82: c7 44 24 10 cf 00 00 mov DWORD PTR [esp+0x10],0xcf
105c89: 00
105c8a: c7 44 24 0c f2 00 00 mov DWORD PTR [esp+0xc],0xf2
105c91: 00
105c92: c7 44 24 08 ff ff ff mov DWORD PTR [esp+0x8],0xffffffff
105c99: ff
105c9a: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105ca1: 00
105ca2: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
105ca9: e8 92 fe ff ff call 105b40 <GdtSetGate>
105cae: e8 6d fe ff ff call 105b20 <GdtFlush>
105cb3: 83 c4 2c add esp,0x2c
105cb6: c3 ret
...
00105cb8 <HalInitialize>:
105cb8: 83 ec 1c sub esp,0x1c
105cbb: e8 fc fe ff ff call 105bbc <GdtInstall>
105cc0: c7 44 24 08 bc a8 10 mov DWORD PTR [esp+0x8],0x10a8bc
105cc7: 00
105cc8: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105ccf: 00
105cd0: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105cd7: e8 cc 15 00 00 call 1072a8 <LogWrite>
105cdc: e8 72 01 00 00 call 105e53 <IdtInstall>
105ce1: c7 44 24 08 cf a8 10 mov DWORD PTR [esp+0x8],0x10a8cf
105ce8: 00
105ce9: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105cf0: 00
105cf1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105cf8: e8 ab 15 00 00 call 1072a8 <LogWrite>
105cfd: e8 ce 0b 00 00 call 1068d0 <IsrsInstall>
105d02: c7 44 24 08 de a8 10 mov DWORD PTR [esp+0x8],0x10a8de
105d09: 00
105d0a: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105d11: 00
105d12: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105d19: e8 8a 15 00 00 call 1072a8 <LogWrite>
105d1e: e8 09 07 00 00 call 10642c <IrqInstall>
105d23: c7 44 24 08 ee a8 10 mov DWORD PTR [esp+0x8],0x10a8ee
105d2a: 00
105d2b: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105d32: 00
105d33: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105d3a: e8 69 15 00 00 call 1072a8 <LogWrite>
105d3f: fb sti
105d40: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd
105d47: 00
105d48: c7 44 24 08 fe a8 10 mov DWORD PTR [esp+0x8],0x10a8fe
105d4f: 00
105d50: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105d57: 00
105d58: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105d5f: e8 44 15 00 00 call 1072a8 <LogWrite>
105d64: c7 44 24 04 a0 20 10 mov DWORD PTR [esp+0x4],0x1020a0
105d6b: 00
105d6c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105d73: e8 94 06 00 00 call 10640c <IrqInstallHandler>
105d78: c7 44 24 04 00 71 10 mov DWORD PTR [esp+0x4],0x107100
105d7f: 00
105d80: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
105d87: e8 80 06 00 00 call 10640c <IrqInstallHandler>
105d8c: c7 44 24 04 1c 86 10 mov DWORD PTR [esp+0x4],0x10861c
105d93: 00
105d94: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc
105d9b: e8 6c 06 00 00 call 10640c <IrqInstallHandler>
105da0: e8 cb 13 00 00 call 107170 <KeyboardInstallA>
105da5: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa
105dac: 00
105dad: c7 44 24 08 24 a9 10 mov DWORD PTR [esp+0x8],0x10a924
105db4: 00
105db5: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105dbc: 00
105dbd: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105dc4: e8 df 14 00 00 call 1072a8 <LogWrite>
105dc9: e8 d2 13 00 00 call 1071a0 <KeyboardInstallB>
105dce: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa
105dd5: 00
105dd6: c7 44 24 08 1b a9 10 mov DWORD PTR [esp+0x8],0x10a91b
105ddd: 00
105dde: c7 44 24 04 cb a8 10 mov DWORD PTR [esp+0x4],0x10a8cb
105de5: 00
105de6: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105ded: e8 b6 14 00 00 call 1072a8 <LogWrite>
105df2: e8 19 36 00 00 call 109410 <VfsInstall>
105df7: 83 c4 1c add esp,0x1c
105dfa: c3 ret
105dfb: 00 00 add BYTE PTR [eax],al
105dfd: 00 00 add BYTE PTR [eax],al
...
00105e00 <IdtLoad>:
105e00: 0f 01 1d 80 d0 10 00 lidtd ds:0x10d080
105e07: c3 ret
00105e08 <IdtSetGate>:
105e08: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
105e0c: 31 c0 xor eax,eax
105e0e: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
105e12: 66 89 14 c5 a0 d0 10 mov WORD PTR [eax*8+0x10d0a0],dx
105e19: 00
105e1a: c1 ea 10 shr edx,0x10
105e1d: 66 89 14 c5 a6 d0 10 mov WORD PTR [eax*8+0x10d0a6],dx
105e24: 00
105e25: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc]
105e29: 66 89 14 c5 a2 d0 10 mov WORD PTR [eax*8+0x10d0a2],dx
105e30: 00
105e31: c6 04 c5 a4 d0 10 00 mov BYTE PTR [eax*8+0x10d0a4],0x0
105e38: 00
105e39: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10]
105e3d: 88 14 c5 a5 d0 10 00 mov BYTE PTR [eax*8+0x10d0a5],dl
105e44: c3 ret
00105e45 <IdtGetGate>:
105e45: 31 c0 xor eax,eax
105e47: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
105e4b: 8d 04 c5 a0 d0 10 00 lea eax,[eax*8+0x10d0a0]
105e52: c3 ret
00105e53 <IdtInstall>:
105e53: 83 ec 1c sub esp,0x1c
105e56: 66 c7 05 80 d0 10 00 mov WORD PTR ds:0x10d080,0x7ff
105e5d: ff 07
105e5f: c7 05 82 d0 10 00 a0 mov DWORD PTR ds:0x10d082,0x10d0a0
105e66: d0 10 00
105e69: c7 44 24 08 00 08 00 mov DWORD PTR [esp+0x8],0x800
105e70: 00
105e71: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
105e78: 00
105e79: c7 04 24 a0 d0 10 00 mov DWORD PTR [esp],0x10d0a0
105e80: e8 f2 21 00 00 call 108077 <memset>
105e85: e8 76 ff ff ff call 105e00 <IdtLoad>
105e8a: 83 c4 1c add esp,0x1c
105e8d: c3 ret
...
00105e90 <luxInitrdDevRead>:
105e90: b8 90 aa 23 cc mov eax,0xcc23aa90
105e95: c3 ret
00105e96 <luxClose>:
105e96: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
105e9a: c7 40 24 00 00 00 00 mov DWORD PTR [eax+0x24],0x0
105ea1: c7 40 20 00 00 00 00 mov DWORD PTR [eax+0x20],0x0
105ea8: c7 40 1c 00 00 00 00 mov DWORD PTR [eax+0x1c],0x0
105eaf: c3 ret
00105eb0 <luxReadDir>:
105eb0: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc]
105eb4: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
105eb8: 8b 48 1c mov ecx,DWORD PTR [eax+0x1c]
105ebb: b8 00 00 00 00 mov eax,0x0
105ec0: 39 11 cmp DWORD PTR [ecx],edx
105ec2: 76 0e jbe 105ed2 <luxReadDir+0x22>
105ec4: 8d 04 92 lea eax,[edx+edx*4]
105ec7: 89 c2 mov edx,eax
105ec9: c1 e2 04 shl edx,0x4
105ecc: 29 c2 sub edx,eax
105ece: 8d 44 91 04 lea eax,[ecx+edx*4+0x4]
105ed2: c3 ret
00105ed3 <luxRead>:
105ed3: 56 push esi
105ed4: 53 push ebx
105ed5: 83 ec 14 sub esp,0x14
105ed8: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
105edc: 8b 43 20 mov eax,DWORD PTR [ebx+0x20]
105edf: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c]
105ee3: 0f af 54 24 28 imul edx,DWORD PTR [esp+0x28]
105ee8: 8b 4b 24 mov ecx,DWORD PTR [ebx+0x24]
105eeb: 29 c1 sub ecx,eax
105eed: 89 d6 mov esi,edx
105eef: 39 ca cmp edx,ecx
105ef1: 76 02 jbe 105ef5 <luxRead+0x22>
105ef3: 89 ce mov esi,ecx
105ef5: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
105ef9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105efd: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
105f01: 89 04 24 mov DWORD PTR [esp],eax
105f04: e8 ff 20 00 00 call 108008 <memcpy>
105f09: 01 73 20 add DWORD PTR [ebx+0x20],esi
105f0c: 89 f0 mov eax,esi
105f0e: 83 c4 14 add esp,0x14
105f11: 5b pop ebx
105f12: 5e pop esi
105f13: c3 ret
00105f14 <luxDetect>:
105f14: 56 push esi
105f15: 53 push ebx
105f16: 83 ec 14 sub esp,0x14
105f19: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20]
105f1d: 8b 43 48 mov eax,DWORD PTR [ebx+0x48]
105f20: 89 04 24 mov DWORD PTR [esp],eax
105f23: e8 d9 22 00 00 call 108201 <kmalloc>
105f28: 89 c6 mov esi,eax
105f2a: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
105f2e: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
105f35: ff 53 4c call DWORD PTR [ebx+0x4c]
105f38: 89 c3 mov ebx,eax
105f3a: 89 34 24 mov DWORD PTR [esp],esi
105f3d: e8 26 24 00 00 call 108368 <kfree>
105f42: 81 fb 90 aa 23 cc cmp ebx,0xcc23aa90
105f48: 0f 94 c0 sete al
105f4b: 25 ff 00 00 00 and eax,0xff
105f50: 83 c4 14 add esp,0x14
105f53: 5b pop ebx
105f54: 5e pop esi
105f55: c3 ret
00105f56 <luxGetFile>:
105f56: 55 push ebp
105f57: 57 push edi
105f58: 56 push esi
105f59: 53 push ebx
105f5a: 83 ec 3c sub esp,0x3c
105f5d: 8b 44 24 50 mov eax,DWORD PTR [esp+0x50]
105f61: 89 04 24 mov DWORD PTR [esp],eax
105f64: e8 a7 2d 00 00 call 108d10 <strlen>
105f69: 89 44 24 28 mov DWORD PTR [esp+0x28],eax
105f6d: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
105f71: 80 7c 02 ff 2f cmp BYTE PTR [edx+eax*1-0x1],0x2f
105f76: 0f 94 c0 sete al
105f79: 25 ff 00 00 00 and eax,0xff
105f7e: 29 44 24 28 sub DWORD PTR [esp+0x28],eax
105f82: 75 4f jne 105fd3 <luxGetFile+0x7d>
105f84: c7 05 a0 d9 10 00 68 mov DWORD PTR ds:0x10d9a0,0xb68
105f8b: 0b 00 00
105f8e: c7 05 a8 d9 10 00 00 mov DWORD PTR ds:0x10d9a8,0x0
105f95: 00 00 00
105f98: c7 05 a4 d9 10 00 00 mov DWORD PTR ds:0x10d9a4,0x0
105f9f: 00 00 00
105fa2: 8b 54 24 54 mov edx,DWORD PTR [esp+0x54]
105fa6: 8b 42 0a mov eax,DWORD PTR [edx+0xa]
105fa9: 8d 04 80 lea eax,[eax+eax*4]
105fac: 89 c2 mov edx,eax
105fae: c1 e2 04 shl edx,0x4
105fb1: 29 c2 sub edx,eax
105fb3: 8d 04 95 04 00 00 00 lea eax,[edx*4+0x4]
105fba: a3 ac d9 10 00 mov ds:0x10d9ac,eax
105fbf: c7 05 c8 d9 10 00 0a mov DWORD PTR ds:0x10d9c8,0xa
105fc6: 00 00 00
105fc9: b8 a0 d8 10 00 mov eax,0x10d8a0
105fce: e9 31 01 00 00 jmp 106104 <luxGetFile+0x1ae>
105fd3: b8 00 00 00 00 mov eax,0x0
105fd8: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
105fdc: 80 3a 2f cmp BYTE PTR [edx],0x2f
105fdf: 0f 85 1f 01 00 00 jne 106104 <luxGetFile+0x1ae>
105fe5: 8b 5c 24 54 mov ebx,DWORD PTR [esp+0x54]
105fe9: 83 c3 0a add ebx,0xa
105fec: c7 44 24 20 00 00 00 mov DWORD PTR [esp+0x20],0x0
105ff3: 00
105ff4: 8b 54 24 50 mov edx,DWORD PTR [esp+0x50]
105ff8: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
105ffc: 8d 7c 02 01 lea edi,[edx+eax*1+0x1]
106000: c7 44 24 04 2f 00 00 mov DWORD PTR [esp+0x4],0x2f
106007: 00
106008: 89 3c 24 mov DWORD PTR [esp],edi
10600b: e8 5c 2e 00 00 call 108e6c <strchr>
106010: 89 44 24 24 mov DWORD PTR [esp+0x24],eax
106014: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
106018: 89 44 24 20 mov DWORD PTR [esp+0x20],eax
10601c: 83 7c 24 24 00 cmp DWORD PTR [esp+0x24],0x0
106021: 74 1c je 10603f <luxGetFile+0xe9>
106023: 8b 54 24 24 mov edx,DWORD PTR [esp+0x24]
106027: 2b 54 24 50 sub edx,DWORD PTR [esp+0x50]
10602b: 89 54 24 20 mov DWORD PTR [esp+0x20],edx
10602f: 39 d0 cmp eax,edx
106031: 77 0c ja 10603f <luxGetFile+0xe9>
106033: 89 44 24 20 mov DWORD PTR [esp+0x20],eax
106037: c7 44 24 24 00 00 00 mov DWORD PTR [esp+0x24],0x0
10603e: 00
10603f: 8b 13 mov edx,DWORD PTR [ebx]
106041: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx
106045: 83 c3 04 add ebx,0x4
106048: 89 5c 24 2c mov DWORD PTR [esp+0x2c],ebx
10604c: 85 d2 test edx,edx
10604e: 0f 84 9d 00 00 00 je 1060f1 <luxGetFile+0x19b>
106054: bd ff ff ff ff mov ebp,0xffffffff
106059: be 00 00 00 00 mov esi,0x0
10605e: 89 1c 24 mov DWORD PTR [esp],ebx
106061: e8 aa 2c 00 00 call 108d10 <strlen>
106066: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
10606a: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi
10606e: 89 1c 24 mov DWORD PTR [esp],ebx
106071: e8 f0 2c 00 00 call 108d66 <strncmp>
106076: 85 c0 test eax,eax
106078: 75 02 jne 10607c <luxGetFile+0x126>
10607a: 89 f5 mov ebp,esi
10607c: 46 inc esi
10607d: 81 c3 2c 01 00 00 add ebx,0x12c
106083: 39 74 24 1c cmp DWORD PTR [esp+0x1c],esi
106087: 76 05 jbe 10608e <luxGetFile+0x138>
106089: 83 fd ff cmp ebp,0xffffffff
10608c: 74 d0 je 10605e <luxGetFile+0x108>
10608e: 83 fd ff cmp ebp,0xffffffff
106091: 74 65 je 1060f8 <luxGetFile+0x1a2>
106093: 83 7c 24 24 00 cmp DWORD PTR [esp+0x24],0x0
106098: 75 16 jne 1060b0 <luxGetFile+0x15a>
10609a: 8d 44 ad 00 lea eax,[ebp+ebp*4+0x0]
10609e: 89 c2 mov edx,eax
1060a0: c1 e2 04 shl edx,0x4
1060a3: 29 c2 sub edx,eax
1060a5: 89 d0 mov eax,edx
1060a7: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c]
1060ab: 8d 04 82 lea eax,[edx+eax*4]
1060ae: eb 54 jmp 106104 <luxGetFile+0x1ae>
1060b0: 8d 44 ad 00 lea eax,[ebp+ebp*4+0x0]
1060b4: 89 c2 mov edx,eax
1060b6: c1 e2 04 shl edx,0x4
1060b9: 29 c2 sub edx,eax
1060bb: 89 d0 mov eax,edx
1060bd: 8b 54 24 2c mov edx,DWORD PTR [esp+0x2c]
1060c1: 8d 04 82 lea eax,[edx+eax*4]
1060c4: 8b 90 00 01 00 00 mov edx,DWORD PTR [eax+0x100]
1060ca: 83 e2 07 and edx,0x7
1060cd: 83 fa 02 cmp edx,0x2
1060d0: 75 2d jne 1060ff <luxGetFile+0x1a9>
1060d2: 8b 5c 24 54 mov ebx,DWORD PTR [esp+0x54]
1060d6: 03 98 28 01 00 00 add ebx,DWORD PTR [eax+0x128]
1060dc: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1060e0: 39 44 24 28 cmp DWORD PTR [esp+0x28],eax
1060e4: 0f 87 0a ff ff ff ja 105ff4 <luxGetFile+0x9e>
1060ea: b8 00 00 00 00 mov eax,0x0
1060ef: eb 13 jmp 106104 <luxGetFile+0x1ae>
1060f1: b8 00 00 00 00 mov eax,0x0
1060f6: eb 0c jmp 106104 <luxGetFile+0x1ae>
1060f8: b8 00 00 00 00 mov eax,0x0
1060fd: eb 05 jmp 106104 <luxGetFile+0x1ae>
1060ff: b8 00 00 00 00 mov eax,0x0
106104: 83 c4 3c add esp,0x3c
106107: 5b pop ebx
106108: 5e pop esi
106109: 5f pop edi
10610a: 5d pop ebp
10610b: c3 ret
0010610c <luxOpen>:
10610c: 56 push esi
10610d: 53 push ebx
10610e: 83 ec 14 sub esp,0x14
106111: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
106115: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
106119: 8b 46 54 mov eax,DWORD PTR [esi+0x54]
10611c: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
106120: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
106124: 89 04 24 mov DWORD PTR [esp],eax
106127: e8 2a fe ff ff call 105f56 <luxGetFile>
10612c: 85 c0 test eax,eax
10612e: 74 41 je 106171 <luxOpen+0x65>
106130: 89 43 08 mov DWORD PTR [ebx+0x8],eax
106133: 8b 90 00 01 00 00 mov edx,DWORD PTR [eax+0x100]
106139: 89 53 0c mov DWORD PTR [ebx+0xc],edx
10613c: 8b 90 08 01 00 00 mov edx,DWORD PTR [eax+0x108]
106142: 89 53 14 mov DWORD PTR [ebx+0x14],edx
106145: 8b 90 04 01 00 00 mov edx,DWORD PTR [eax+0x104]
10614b: 89 53 10 mov DWORD PTR [ebx+0x10],edx
10614e: 8b 90 0c 01 00 00 mov edx,DWORD PTR [eax+0x10c]
106154: 89 53 18 mov DWORD PTR [ebx+0x18],edx
106157: 8b 90 28 01 00 00 mov edx,DWORD PTR [eax+0x128]
10615d: 03 56 54 add edx,DWORD PTR [esi+0x54]
106160: 89 53 1c mov DWORD PTR [ebx+0x1c],edx
106163: 89 53 20 mov DWORD PTR [ebx+0x20],edx
106166: 03 90 0c 01 00 00 add edx,DWORD PTR [eax+0x10c]
10616c: 89 53 24 mov DWORD PTR [ebx+0x24],edx
10616f: eb 05 jmp 106176 <luxOpen+0x6a>
106171: bb 00 00 00 00 mov ebx,0x0
106176: 89 d8 mov eax,ebx
106178: 83 c4 14 add esp,0x14
10617b: 5b pop ebx
10617c: 5e pop esi
10617d: c3 ret
0010617e <luxTest>:
10617e: 83 ec 1c sub esp,0x1c
106181: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
106185: 8b 40 54 mov eax,DWORD PTR [eax+0x54]
106188: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10618c: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
106190: 89 04 24 mov DWORD PTR [esp],eax
106193: e8 be fd ff ff call 105f56 <luxGetFile>
106198: 83 c4 1c add esp,0x1c
10619b: c3 ret
0010619c <luxInitrdInstall>:
10619c: 55 push ebp
10619d: 57 push edi
10619e: 56 push esi
10619f: 53 push ebx
1061a0: 83 ec 5c sub esp,0x5c
1061a3: 8b 6c 24 70 mov ebp,DWORD PTR [esp+0x70]
1061a7: 8d 7c 24 18 lea edi,[esp+0x18]
1061ab: b9 0e 00 00 00 mov ecx,0xe
1061b0: b8 00 00 00 00 mov eax,0x0
1061b5: f3 ab rep stos DWORD PTR es:[edi],eax
1061b7: c7 44 24 1c 6c 75 78 mov DWORD PTR [esp+0x1c],0x6978756c
1061be: 69
1061bf: c7 44 24 20 6e 69 74 mov DWORD PTR [esp+0x20],0x7274696e
1061c6: 72
1061c7: c7 44 24 24 64 00 00 mov DWORD PTR [esp+0x24],0x64
1061ce: 00
1061cf: c7 44 24 2c 14 5f 10 mov DWORD PTR [esp+0x2c],0x105f14
1061d6: 00
1061d7: c7 44 24 38 0c 61 10 mov DWORD PTR [esp+0x38],0x10610c
1061de: 00
1061df: c7 44 24 3c 96 5e 10 mov DWORD PTR [esp+0x3c],0x105e96
1061e6: 00
1061e7: c7 44 24 40 d3 5e 10 mov DWORD PTR [esp+0x40],0x105ed3
1061ee: 00
1061ef: c7 44 24 48 7e 61 10 mov DWORD PTR [esp+0x48],0x10617e
1061f6: 00
1061f7: c7 44 24 4c b0 5e 10 mov DWORD PTR [esp+0x4c],0x105eb0
1061fe: 00
1061ff: 8d 44 24 18 lea eax,[esp+0x18]
106203: 89 04 24 mov DWORD PTR [esp],eax
106206: e8 6c 32 00 00 call 109477 <VfsInstallFs>
10620b: f6 45 00 08 test BYTE PTR [ebp+0x0],0x8
10620f: 75 21 jne 106232 <luxInitrdInstall+0x96>
106211: c7 44 24 08 44 a9 10 mov DWORD PTR [esp+0x8],0x10a944
106218: 00
106219: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b
106220: 00
106221: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
106228: e8 7b 10 00 00 call 1072a8 <LogWrite>
10622d: e9 9a 00 00 00 jmp 1062cc <luxInitrdInstall+0x130>
106232: 8b 5d 18 mov ebx,DWORD PTR [ebp+0x18]
106235: 83 7d 14 00 cmp DWORD PTR [ebp+0x14],0x0
106239: 0f 84 8d 00 00 00 je 1062cc <luxInitrdInstall+0x130>
10623f: be 00 00 00 00 mov esi,0x0
106244: 8b 03 mov eax,DWORD PTR [ebx]
106246: 81 38 90 aa 23 cc cmp DWORD PTR [eax],0xcc23aa90
10624c: 75 51 jne 10629f <luxInitrdInstall+0x103>
10624e: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
106252: c7 44 24 08 62 a9 10 mov DWORD PTR [esp+0x8],0x10a962
106259: 00
10625a: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b
106261: 00
106262: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
106269: e8 3a 10 00 00 call 1072a8 <LogWrite>
10626e: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0
106275: 00
106276: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
10627d: 00
10627e: c7 44 24 04 90 5e 10 mov DWORD PTR [esp+0x4],0x105e90
106285: 00
106286: c7 04 24 7f a9 10 00 mov DWORD PTR [esp],0x10a97f
10628d: e8 63 34 00 00 call 1096f5 <VfsMount>
106292: 8b 13 mov edx,DWORD PTR [ebx]
106294: 89 50 54 mov DWORD PTR [eax+0x54],edx
106297: 8b 53 04 mov edx,DWORD PTR [ebx+0x4]
10629a: 89 50 58 mov DWORD PTR [eax+0x58],edx
10629d: eb 20 jmp 1062bf <luxInitrdInstall+0x123>
10629f: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
1062a3: c7 44 24 08 88 a9 10 mov DWORD PTR [esp+0x8],0x10a988
1062aa: 00
1062ab: c7 44 24 04 5b a9 10 mov DWORD PTR [esp+0x4],0x10a95b
1062b2: 00
1062b3: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1062ba: e8 e9 0f 00 00 call 1072a8 <LogWrite>
1062bf: 46 inc esi
1062c0: 83 c3 10 add ebx,0x10
1062c3: 39 75 14 cmp DWORD PTR [ebp+0x14],esi
1062c6: 0f 87 78 ff ff ff ja 106244 <luxInitrdInstall+0xa8>
1062cc: 83 c4 5c add esp,0x5c
1062cf: 5b pop ebx
1062d0: 5e pop esi
1062d1: 5f pop edi
1062d2: 5d pop ebp
1062d3: c3 ret
...
001062e0 <Irq_0>:
1062e0: fa cli
1062e1: 68 00 00 00 00 push 0x0
1062e6: 68 20 00 00 00 push 0x20
1062eb: e9 f0 00 00 00 jmp 1063e0 <irq_common_stub>
001062f0 <Irq_1>:
1062f0: fa cli
1062f1: 68 00 00 00 00 push 0x0
1062f6: 68 21 00 00 00 push 0x21
1062fb: e9 e0 00 00 00 jmp 1063e0 <irq_common_stub>
00106300 <Irq_2>:
106300: fa cli
106301: 68 00 00 00 00 push 0x0
106306: 68 22 00 00 00 push 0x22
10630b: e9 d0 00 00 00 jmp 1063e0 <irq_common_stub>
00106310 <Irq_3>:
106310: fa cli
106311: 68 00 00 00 00 push 0x0
106316: 68 23 00 00 00 push 0x23
10631b: e9 c0 00 00 00 jmp 1063e0 <irq_common_stub>
00106320 <Irq_4>:
106320: fa cli
106321: 68 00 00 00 00 push 0x0
106326: 68 24 00 00 00 push 0x24
10632b: e9 b0 00 00 00 jmp 1063e0 <irq_common_stub>
00106330 <Irq_5>:
106330: fa cli
106331: 68 00 00 00 00 push 0x0
106336: 68 25 00 00 00 push 0x25
10633b: e9 a0 00 00 00 jmp 1063e0 <irq_common_stub>
00106340 <Irq_6>:
106340: fa cli
106341: 68 00 00 00 00 push 0x0
106346: 68 26 00 00 00 push 0x26
10634b: e9 90 00 00 00 jmp 1063e0 <irq_common_stub>
00106350 <Irq_7>:
106350: fa cli
106351: 68 00 00 00 00 push 0x0
106356: 68 27 00 00 00 push 0x27
10635b: e9 80 00 00 00 jmp 1063e0 <irq_common_stub>
00106360 <Irq_8>:
106360: fa cli
106361: 68 00 00 00 00 push 0x0
106366: 68 28 00 00 00 push 0x28
10636b: e9 70 00 00 00 jmp 1063e0 <irq_common_stub>
00106370 <Irq_9>:
106370: fa cli
106371: 68 00 00 00 00 push 0x0
106376: 68 29 00 00 00 push 0x29
10637b: e9 60 00 00 00 jmp 1063e0 <irq_common_stub>
00106380 <Irq_10>:
106380: fa cli
106381: 68 00 00 00 00 push 0x0
106386: 68 2a 00 00 00 push 0x2a
10638b: e9 50 00 00 00 jmp 1063e0 <irq_common_stub>
00106390 <Irq_11>:
106390: fa cli
106391: 68 00 00 00 00 push 0x0
106396: 68 2b 00 00 00 push 0x2b
10639b: e9 40 00 00 00 jmp 1063e0 <irq_common_stub>
001063a0 <Irq_12>:
1063a0: fa cli
1063a1: 68 00 00 00 00 push 0x0
1063a6: 68 2c 00 00 00 push 0x2c
1063ab: e9 30 00 00 00 jmp 1063e0 <irq_common_stub>
001063b0 <Irq_13>:
1063b0: fa cli
1063b1: 68 00 00 00 00 push 0x0
1063b6: 68 2d 00 00 00 push 0x2d
1063bb: e9 20 00 00 00 jmp 1063e0 <irq_common_stub>
001063c0 <Irq_14>:
1063c0: fa cli
1063c1: 68 00 00 00 00 push 0x0
1063c6: 68 2e 00 00 00 push 0x2e
1063cb: e9 10 00 00 00 jmp 1063e0 <irq_common_stub>
001063d0 <Irq_15>:
1063d0: fa cli
1063d1: 68 00 00 00 00 push 0x0
1063d6: 68 2f 00 00 00 push 0x2f
1063db: e9 00 00 00 00 jmp 1063e0 <irq_common_stub>
001063e0 <irq_common_stub>:
1063e0: 60 pusha
1063e1: 1e push ds
1063e2: 06 push es
1063e3: 0f a0 push fs
1063e5: 0f a8 push gs
1063e7: 66 b8 10 00 mov ax,0x10
1063eb: 8e d8 mov ds,eax
1063ed: 8e c0 mov es,eax
1063ef: 8e e0 mov fs,eax
1063f1: 8e e8 mov gs,eax
1063f3: 89 e0 mov eax,esp
1063f5: 50 push eax
1063f6: b8 87 66 10 00 mov eax,0x106687
1063fb: ff d0 call eax
1063fd: 58 pop eax
1063fe: 0f a9 pop gs
106400: 0f a1 pop fs
106402: 07 pop es
106403: 1f pop ds
106404: 61 popa
106405: 81 c4 08 00 00 00 add esp,0x8
10640b: cf iret
0010640c <IrqInstallHandler>:
10640c: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
106410: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
106414: 89 14 85 40 da 10 00 mov DWORD PTR [eax*4+0x10da40],edx
10641b: c3 ret
0010641c <IrqUninstallHandler>:
10641c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
106420: c7 04 85 40 da 10 00 mov DWORD PTR [eax*4+0x10da40],0x0
106427: 00 00 00 00
10642b: c3 ret
0010642c <IrqInstall>:
10642c: 83 ec 1c sub esp,0x1c
10642f: c7 44 24 04 28 00 00 mov DWORD PTR [esp+0x4],0x28
106436: 00
106437: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20
10643e: e8 39 27 00 00 call 108b7c <PicRemap>
106443: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10644a: 00
10644b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106452: 00
106453: c7 44 24 04 e0 62 10 mov DWORD PTR [esp+0x4],0x1062e0
10645a: 00
10645b: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20
106462: e8 a1 f9 ff ff call 105e08 <IdtSetGate>
106467: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10646e: 00
10646f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106476: 00
106477: c7 44 24 04 f0 62 10 mov DWORD PTR [esp+0x4],0x1062f0
10647e: 00
10647f: c7 04 24 21 00 00 00 mov DWORD PTR [esp],0x21
106486: e8 7d f9 ff ff call 105e08 <IdtSetGate>
10648b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106492: 00
106493: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10649a: 00
10649b: c7 44 24 04 00 63 10 mov DWORD PTR [esp+0x4],0x106300
1064a2: 00
1064a3: c7 04 24 22 00 00 00 mov DWORD PTR [esp],0x22
1064aa: e8 59 f9 ff ff call 105e08 <IdtSetGate>
1064af: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1064b6: 00
1064b7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1064be: 00
1064bf: c7 44 24 04 10 63 10 mov DWORD PTR [esp+0x4],0x106310
1064c6: 00
1064c7: c7 04 24 23 00 00 00 mov DWORD PTR [esp],0x23
1064ce: e8 35 f9 ff ff call 105e08 <IdtSetGate>
1064d3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1064da: 00
1064db: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1064e2: 00
1064e3: c7 44 24 04 20 63 10 mov DWORD PTR [esp+0x4],0x106320
1064ea: 00
1064eb: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24
1064f2: e8 11 f9 ff ff call 105e08 <IdtSetGate>
1064f7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1064fe: 00
1064ff: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106506: 00
106507: c7 44 24 04 30 63 10 mov DWORD PTR [esp+0x4],0x106330
10650e: 00
10650f: c7 04 24 25 00 00 00 mov DWORD PTR [esp],0x25
106516: e8 ed f8 ff ff call 105e08 <IdtSetGate>
10651b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106522: 00
106523: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10652a: 00
10652b: c7 44 24 04 40 63 10 mov DWORD PTR [esp+0x4],0x106340
106532: 00
106533: c7 04 24 26 00 00 00 mov DWORD PTR [esp],0x26
10653a: e8 c9 f8 ff ff call 105e08 <IdtSetGate>
10653f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106546: 00
106547: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10654e: 00
10654f: c7 44 24 04 50 63 10 mov DWORD PTR [esp+0x4],0x106350
106556: 00
106557: c7 04 24 27 00 00 00 mov DWORD PTR [esp],0x27
10655e: e8 a5 f8 ff ff call 105e08 <IdtSetGate>
106563: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10656a: 00
10656b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106572: 00
106573: c7 44 24 04 60 63 10 mov DWORD PTR [esp+0x4],0x106360
10657a: 00
10657b: c7 04 24 28 00 00 00 mov DWORD PTR [esp],0x28
106582: e8 81 f8 ff ff call 105e08 <IdtSetGate>
106587: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10658e: 00
10658f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106596: 00
106597: c7 44 24 04 70 63 10 mov DWORD PTR [esp+0x4],0x106370
10659e: 00
10659f: c7 04 24 29 00 00 00 mov DWORD PTR [esp],0x29
1065a6: e8 5d f8 ff ff call 105e08 <IdtSetGate>
1065ab: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1065b2: 00
1065b3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1065ba: 00
1065bb: c7 44 24 04 80 63 10 mov DWORD PTR [esp+0x4],0x106380
1065c2: 00
1065c3: c7 04 24 2a 00 00 00 mov DWORD PTR [esp],0x2a
1065ca: e8 39 f8 ff ff call 105e08 <IdtSetGate>
1065cf: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1065d6: 00
1065d7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1065de: 00
1065df: c7 44 24 04 90 63 10 mov DWORD PTR [esp+0x4],0x106390
1065e6: 00
1065e7: c7 04 24 2b 00 00 00 mov DWORD PTR [esp],0x2b
1065ee: e8 15 f8 ff ff call 105e08 <IdtSetGate>
1065f3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1065fa: 00
1065fb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106602: 00
106603: c7 44 24 04 a0 63 10 mov DWORD PTR [esp+0x4],0x1063a0
10660a: 00
10660b: c7 04 24 2c 00 00 00 mov DWORD PTR [esp],0x2c
106612: e8 f1 f7 ff ff call 105e08 <IdtSetGate>
106617: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10661e: 00
10661f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106626: 00
106627: c7 44 24 04 b0 63 10 mov DWORD PTR [esp+0x4],0x1063b0
10662e: 00
10662f: c7 04 24 2d 00 00 00 mov DWORD PTR [esp],0x2d
106636: e8 cd f7 ff ff call 105e08 <IdtSetGate>
10663b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106642: 00
106643: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10664a: 00
10664b: c7 44 24 04 c0 63 10 mov DWORD PTR [esp+0x4],0x1063c0
106652: 00
106653: c7 04 24 2e 00 00 00 mov DWORD PTR [esp],0x2e
10665a: e8 a9 f7 ff ff call 105e08 <IdtSetGate>
10665f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106666: 00
106667: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10666e: 00
10666f: c7 44 24 04 d0 63 10 mov DWORD PTR [esp+0x4],0x1063d0
106676: 00
106677: c7 04 24 2f 00 00 00 mov DWORD PTR [esp],0x2f
10667e: e8 85 f7 ff ff call 105e08 <IdtSetGate>
106683: 83 c4 1c add esp,0x1c
106686: c3 ret
00106687 <IrqHandler>:
106687: 53 push ebx
106688: 83 ec 18 sub esp,0x18
10668b: 8b 5c 24 20 mov ebx,DWORD PTR [esp+0x20]
10668f: 8b 43 30 mov eax,DWORD PTR [ebx+0x30]
106692: 8b 04 85 c0 d9 10 00 mov eax,DWORD PTR [eax*4+0x10d9c0]
106699: 85 c0 test eax,eax
10669b: 74 05 je 1066a2 <IrqHandler+0x1b>
10669d: 89 1c 24 mov DWORD PTR [esp],ebx
1066a0: ff d0 call eax
1066a2: 83 7b 30 27 cmp DWORD PTR [ebx+0x30],0x27
1066a6: 76 04 jbe 1066ac <IrqHandler+0x25>
1066a8: b0 20 mov al,0x20
1066aa: e6 a0 out 0xa0,al
1066ac: b0 20 mov al,0x20
1066ae: e6 20 out 0x20,al
1066b0: 83 c4 18 add esp,0x18
1066b3: 5b pop ebx
1066b4: c3 ret
...
001066c0 <isr_exception_0>:
1066c0: fa cli
1066c1: 68 00 00 00 00 push 0x0
1066c6: 68 00 00 00 00 push 0x0
1066cb: e9 d2 01 00 00 jmp 1068a2 <isr_common_stub>
001066d0 <isr_exception_1>:
1066d0: fa cli
1066d1: 68 00 00 00 00 push 0x0
1066d6: 68 01 00 00 00 push 0x1
1066db: e9 c2 01 00 00 jmp 1068a2 <isr_common_stub>
001066e0 <isr_exception_2>:
1066e0: fa cli
1066e1: 68 00 00 00 00 push 0x0
1066e6: 68 02 00 00 00 push 0x2
1066eb: e9 b2 01 00 00 jmp 1068a2 <isr_common_stub>
001066f0 <isr_exception_3>:
1066f0: fa cli
1066f1: 68 00 00 00 00 push 0x0
1066f6: 68 03 00 00 00 push 0x3
1066fb: e9 a2 01 00 00 jmp 1068a2 <isr_common_stub>
00106700 <isr_exception_4>:
106700: fa cli
106701: 68 00 00 00 00 push 0x0
106706: 68 04 00 00 00 push 0x4
10670b: e9 92 01 00 00 jmp 1068a2 <isr_common_stub>
00106710 <isr_exception_5>:
106710: fa cli
106711: 68 00 00 00 00 push 0x0
106716: 68 05 00 00 00 push 0x5
10671b: e9 82 01 00 00 jmp 1068a2 <isr_common_stub>
00106720 <isr_exception_6>:
106720: fa cli
106721: 68 00 00 00 00 push 0x0
106726: 68 06 00 00 00 push 0x6
10672b: e9 72 01 00 00 jmp 1068a2 <isr_common_stub>
00106730 <isr_exception_7>:
106730: fa cli
106731: 68 00 00 00 00 push 0x0
106736: 68 07 00 00 00 push 0x7
10673b: e9 62 01 00 00 jmp 1068a2 <isr_common_stub>
00106740 <isr_exception_8>:
106740: fa cli
106741: 68 08 00 00 00 push 0x8
106746: e9 57 01 00 00 jmp 1068a2 <isr_common_stub>
0010674b <isr_exception_9>:
10674b: fa cli
10674c: 68 00 00 00 00 push 0x0
106751: 68 09 00 00 00 push 0x9
106756: e9 47 01 00 00 jmp 1068a2 <isr_common_stub>
0010675b <isr_exception_10>:
10675b: fa cli
10675c: 68 0a 00 00 00 push 0xa
106761: e9 3c 01 00 00 jmp 1068a2 <isr_common_stub>
00106766 <isr_exception_11>:
106766: fa cli
106767: 68 0b 00 00 00 push 0xb
10676c: e9 31 01 00 00 jmp 1068a2 <isr_common_stub>
00106771 <isr_exception_12>:
106771: fa cli
106772: 68 0c 00 00 00 push 0xc
106777: e9 26 01 00 00 jmp 1068a2 <isr_common_stub>
0010677c <isr_exception_13>:
10677c: fa cli
10677d: 68 0d 00 00 00 push 0xd
106782: e9 1b 01 00 00 jmp 1068a2 <isr_common_stub>
00106787 <isr_exception_14>:
106787: fa cli
106788: 68 0e 00 00 00 push 0xe
10678d: e9 10 01 00 00 jmp 1068a2 <isr_common_stub>
00106792 <isr_exception_15>:
106792: fa cli
106793: 68 00 00 00 00 push 0x0
106798: 68 0f 00 00 00 push 0xf
10679d: e9 00 01 00 00 jmp 1068a2 <isr_common_stub>
001067a2 <isr_exception_16>:
1067a2: fa cli
1067a3: 68 00 00 00 00 push 0x0
1067a8: 68 10 00 00 00 push 0x10
1067ad: e9 f0 00 00 00 jmp 1068a2 <isr_common_stub>
001067b2 <isr_exception_17>:
1067b2: fa cli
1067b3: 68 00 00 00 00 push 0x0
1067b8: 68 11 00 00 00 push 0x11
1067bd: e9 e0 00 00 00 jmp 1068a2 <isr_common_stub>
001067c2 <isr_exception_18>:
1067c2: fa cli
1067c3: 68 00 00 00 00 push 0x0
1067c8: 68 12 00 00 00 push 0x12
1067cd: e9 d0 00 00 00 jmp 1068a2 <isr_common_stub>
001067d2 <isr_exception_19>:
1067d2: fa cli
1067d3: 68 00 00 00 00 push 0x0
1067d8: 68 13 00 00 00 push 0x13
1067dd: e9 c0 00 00 00 jmp 1068a2 <isr_common_stub>
001067e2 <isr_exception_20>:
1067e2: fa cli
1067e3: 68 00 00 00 00 push 0x0
1067e8: 68 14 00 00 00 push 0x14
1067ed: e9 b0 00 00 00 jmp 1068a2 <isr_common_stub>
001067f2 <isr_exception_21>:
1067f2: fa cli
1067f3: 68 00 00 00 00 push 0x0
1067f8: 68 15 00 00 00 push 0x15
1067fd: e9 a0 00 00 00 jmp 1068a2 <isr_common_stub>
00106802 <isr_exception_22>:
106802: fa cli
106803: 68 00 00 00 00 push 0x0
106808: 68 16 00 00 00 push 0x16
10680d: e9 90 00 00 00 jmp 1068a2 <isr_common_stub>
00106812 <isr_exception_23>:
106812: fa cli
106813: 68 00 00 00 00 push 0x0
106818: 68 17 00 00 00 push 0x17
10681d: e9 80 00 00 00 jmp 1068a2 <isr_common_stub>
00106822 <isr_exception_24>:
106822: fa cli
106823: 68 00 00 00 00 push 0x0
106828: 68 18 00 00 00 push 0x18
10682d: e9 70 00 00 00 jmp 1068a2 <isr_common_stub>
00106832 <isr_exception_25>:
106832: fa cli
106833: 68 00 00 00 00 push 0x0
106838: 68 19 00 00 00 push 0x19
10683d: e9 60 00 00 00 jmp 1068a2 <isr_common_stub>
00106842 <isr_exception_26>:
106842: fa cli
106843: 68 00 00 00 00 push 0x0
106848: 68 1a 00 00 00 push 0x1a
10684d: e9 50 00 00 00 jmp 1068a2 <isr_common_stub>
00106852 <isr_exception_27>:
106852: fa cli
106853: 68 00 00 00 00 push 0x0
106858: 68 1b 00 00 00 push 0x1b
10685d: e9 40 00 00 00 jmp 1068a2 <isr_common_stub>
00106862 <isr_exception_28>:
106862: fa cli
106863: 68 00 00 00 00 push 0x0
106868: 68 1c 00 00 00 push 0x1c
10686d: e9 30 00 00 00 jmp 1068a2 <isr_common_stub>
00106872 <isr_exception_29>:
106872: fa cli
106873: 68 00 00 00 00 push 0x0
106878: 68 1d 00 00 00 push 0x1d
10687d: e9 20 00 00 00 jmp 1068a2 <isr_common_stub>
00106882 <isr_exception_30>:
106882: fa cli
106883: 68 00 00 00 00 push 0x0
106888: 68 1e 00 00 00 push 0x1e
10688d: e9 10 00 00 00 jmp 1068a2 <isr_common_stub>
00106892 <isr_exception_31>:
106892: fa cli
106893: 68 00 00 00 00 push 0x0
106898: 68 1f 00 00 00 push 0x1f
10689d: e9 00 00 00 00 jmp 1068a2 <isr_common_stub>
001068a2 <isr_common_stub>:
1068a2: 60 pusha
1068a3: 1e push ds
1068a4: 06 push es
1068a5: 0f a0 push fs
1068a7: 0f a8 push gs
1068a9: 66 b8 10 00 mov ax,0x10
1068ad: 8e d8 mov ds,eax
1068af: 8e c0 mov es,eax
1068b1: 8e e0 mov fs,eax
1068b3: 8e e8 mov gs,eax
1068b5: 89 e0 mov eax,esp
1068b7: 50 push eax
1068b8: b8 81 6d 10 00 mov eax,0x106d81
1068bd: ff d0 call eax
1068bf: 58 pop eax
1068c0: 0f a9 pop gs
1068c2: 0f a1 pop fs
1068c4: 07 pop es
1068c5: 1f pop ds
1068c6: 61 popa
1068c7: 81 c4 08 00 00 00 add esp,0x8
1068cd: cf iret
...
001068d0 <IsrsInstall>:
1068d0: 83 ec 1c sub esp,0x1c
1068d3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1068da: 00
1068db: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1068e2: 00
1068e3: c7 44 24 04 c0 66 10 mov DWORD PTR [esp+0x4],0x1066c0
1068ea: 00
1068eb: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1068f2: e8 11 f5 ff ff call 105e08 <IdtSetGate>
1068f7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1068fe: 00
1068ff: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106906: 00
106907: c7 44 24 04 d0 66 10 mov DWORD PTR [esp+0x4],0x1066d0
10690e: 00
10690f: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
106916: e8 ed f4 ff ff call 105e08 <IdtSetGate>
10691b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106922: 00
106923: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10692a: 00
10692b: c7 44 24 04 e0 66 10 mov DWORD PTR [esp+0x4],0x1066e0
106932: 00
106933: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
10693a: e8 c9 f4 ff ff call 105e08 <IdtSetGate>
10693f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106946: 00
106947: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
10694e: 00
10694f: c7 44 24 04 f0 66 10 mov DWORD PTR [esp+0x4],0x1066f0
106956: 00
106957: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
10695e: e8 a5 f4 ff ff call 105e08 <IdtSetGate>
106963: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10696a: 00
10696b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106972: 00
106973: c7 44 24 04 00 67 10 mov DWORD PTR [esp+0x4],0x106700
10697a: 00
10697b: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
106982: e8 81 f4 ff ff call 105e08 <IdtSetGate>
106987: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
10698e: 00
10698f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106996: 00
106997: c7 44 24 04 10 67 10 mov DWORD PTR [esp+0x4],0x106710
10699e: 00
10699f: c7 04 24 05 00 00 00 mov DWORD PTR [esp],0x5
1069a6: e8 5d f4 ff ff call 105e08 <IdtSetGate>
1069ab: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1069b2: 00
1069b3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1069ba: 00
1069bb: c7 44 24 04 20 67 10 mov DWORD PTR [esp+0x4],0x106720
1069c2: 00
1069c3: c7 04 24 06 00 00 00 mov DWORD PTR [esp],0x6
1069ca: e8 39 f4 ff ff call 105e08 <IdtSetGate>
1069cf: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1069d6: 00
1069d7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
1069de: 00
1069df: c7 44 24 04 30 67 10 mov DWORD PTR [esp+0x4],0x106730
1069e6: 00
1069e7: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
1069ee: e8 15 f4 ff ff call 105e08 <IdtSetGate>
1069f3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
1069fa: 00
1069fb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106a02: 00
106a03: c7 44 24 04 40 67 10 mov DWORD PTR [esp+0x4],0x106740
106a0a: 00
106a0b: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
106a12: e8 f1 f3 ff ff call 105e08 <IdtSetGate>
106a17: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106a1e: 00
106a1f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106a26: 00
106a27: c7 44 24 04 4b 67 10 mov DWORD PTR [esp+0x4],0x10674b
106a2e: 00
106a2f: c7 04 24 09 00 00 00 mov DWORD PTR [esp],0x9
106a36: e8 cd f3 ff ff call 105e08 <IdtSetGate>
106a3b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106a42: 00
106a43: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106a4a: 00
106a4b: c7 44 24 04 5b 67 10 mov DWORD PTR [esp+0x4],0x10675b
106a52: 00
106a53: c7 04 24 0a 00 00 00 mov DWORD PTR [esp],0xa
106a5a: e8 a9 f3 ff ff call 105e08 <IdtSetGate>
106a5f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106a66: 00
106a67: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106a6e: 00
106a6f: c7 44 24 04 66 67 10 mov DWORD PTR [esp+0x4],0x106766
106a76: 00
106a77: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
106a7e: e8 85 f3 ff ff call 105e08 <IdtSetGate>
106a83: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106a8a: 00
106a8b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106a92: 00
106a93: c7 44 24 04 71 67 10 mov DWORD PTR [esp+0x4],0x106771
106a9a: 00
106a9b: c7 04 24 0c 00 00 00 mov DWORD PTR [esp],0xc
106aa2: e8 61 f3 ff ff call 105e08 <IdtSetGate>
106aa7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106aae: 00
106aaf: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106ab6: 00
106ab7: c7 44 24 04 7c 67 10 mov DWORD PTR [esp+0x4],0x10677c
106abe: 00
106abf: c7 04 24 0d 00 00 00 mov DWORD PTR [esp],0xd
106ac6: e8 3d f3 ff ff call 105e08 <IdtSetGate>
106acb: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106ad2: 00
106ad3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106ada: 00
106adb: c7 44 24 04 87 67 10 mov DWORD PTR [esp+0x4],0x106787
106ae2: 00
106ae3: c7 04 24 0e 00 00 00 mov DWORD PTR [esp],0xe
106aea: e8 19 f3 ff ff call 105e08 <IdtSetGate>
106aef: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106af6: 00
106af7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106afe: 00
106aff: c7 44 24 04 92 67 10 mov DWORD PTR [esp+0x4],0x106792
106b06: 00
106b07: c7 04 24 0f 00 00 00 mov DWORD PTR [esp],0xf
106b0e: e8 f5 f2 ff ff call 105e08 <IdtSetGate>
106b13: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106b1a: 00
106b1b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106b22: 00
106b23: c7 44 24 04 a2 67 10 mov DWORD PTR [esp+0x4],0x1067a2
106b2a: 00
106b2b: c7 04 24 10 00 00 00 mov DWORD PTR [esp],0x10
106b32: e8 d1 f2 ff ff call 105e08 <IdtSetGate>
106b37: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106b3e: 00
106b3f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106b46: 00
106b47: c7 44 24 04 b2 67 10 mov DWORD PTR [esp+0x4],0x1067b2
106b4e: 00
106b4f: c7 04 24 11 00 00 00 mov DWORD PTR [esp],0x11
106b56: e8 ad f2 ff ff call 105e08 <IdtSetGate>
106b5b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106b62: 00
106b63: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106b6a: 00
106b6b: c7 44 24 04 c2 67 10 mov DWORD PTR [esp+0x4],0x1067c2
106b72: 00
106b73: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12
106b7a: e8 89 f2 ff ff call 105e08 <IdtSetGate>
106b7f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106b86: 00
106b87: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106b8e: 00
106b8f: c7 44 24 04 d2 67 10 mov DWORD PTR [esp+0x4],0x1067d2
106b96: 00
106b97: c7 04 24 13 00 00 00 mov DWORD PTR [esp],0x13
106b9e: e8 65 f2 ff ff call 105e08 <IdtSetGate>
106ba3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106baa: 00
106bab: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106bb2: 00
106bb3: c7 44 24 04 e2 67 10 mov DWORD PTR [esp+0x4],0x1067e2
106bba: 00
106bbb: c7 04 24 14 00 00 00 mov DWORD PTR [esp],0x14
106bc2: e8 41 f2 ff ff call 105e08 <IdtSetGate>
106bc7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106bce: 00
106bcf: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106bd6: 00
106bd7: c7 44 24 04 f2 67 10 mov DWORD PTR [esp+0x4],0x1067f2
106bde: 00
106bdf: c7 04 24 15 00 00 00 mov DWORD PTR [esp],0x15
106be6: e8 1d f2 ff ff call 105e08 <IdtSetGate>
106beb: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106bf2: 00
106bf3: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106bfa: 00
106bfb: c7 44 24 04 02 68 10 mov DWORD PTR [esp+0x4],0x106802
106c02: 00
106c03: c7 04 24 16 00 00 00 mov DWORD PTR [esp],0x16
106c0a: e8 f9 f1 ff ff call 105e08 <IdtSetGate>
106c0f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106c16: 00
106c17: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106c1e: 00
106c1f: c7 44 24 04 12 68 10 mov DWORD PTR [esp+0x4],0x106812
106c26: 00
106c27: c7 04 24 17 00 00 00 mov DWORD PTR [esp],0x17
106c2e: e8 d5 f1 ff ff call 105e08 <IdtSetGate>
106c33: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106c3a: 00
106c3b: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106c42: 00
106c43: c7 44 24 04 22 68 10 mov DWORD PTR [esp+0x4],0x106822
106c4a: 00
106c4b: c7 04 24 18 00 00 00 mov DWORD PTR [esp],0x18
106c52: e8 b1 f1 ff ff call 105e08 <IdtSetGate>
106c57: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106c5e: 00
106c5f: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106c66: 00
106c67: c7 44 24 04 32 68 10 mov DWORD PTR [esp+0x4],0x106832
106c6e: 00
106c6f: c7 04 24 19 00 00 00 mov DWORD PTR [esp],0x19
106c76: e8 8d f1 ff ff call 105e08 <IdtSetGate>
106c7b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106c82: 00
106c83: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106c8a: 00
106c8b: c7 44 24 04 42 68 10 mov DWORD PTR [esp+0x4],0x106842
106c92: 00
106c93: c7 04 24 1a 00 00 00 mov DWORD PTR [esp],0x1a
106c9a: e8 69 f1 ff ff call 105e08 <IdtSetGate>
106c9f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106ca6: 00
106ca7: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106cae: 00
106caf: c7 44 24 04 52 68 10 mov DWORD PTR [esp+0x4],0x106852
106cb6: 00
106cb7: c7 04 24 1b 00 00 00 mov DWORD PTR [esp],0x1b
106cbe: e8 45 f1 ff ff call 105e08 <IdtSetGate>
106cc3: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106cca: 00
106ccb: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106cd2: 00
106cd3: c7 44 24 04 62 68 10 mov DWORD PTR [esp+0x4],0x106862
106cda: 00
106cdb: c7 04 24 1c 00 00 00 mov DWORD PTR [esp],0x1c
106ce2: e8 21 f1 ff ff call 105e08 <IdtSetGate>
106ce7: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106cee: 00
106cef: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106cf6: 00
106cf7: c7 44 24 04 72 68 10 mov DWORD PTR [esp+0x4],0x106872
106cfe: 00
106cff: c7 04 24 1d 00 00 00 mov DWORD PTR [esp],0x1d
106d06: e8 fd f0 ff ff call 105e08 <IdtSetGate>
106d0b: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106d12: 00
106d13: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106d1a: 00
106d1b: c7 44 24 04 82 68 10 mov DWORD PTR [esp+0x4],0x106882
106d22: 00
106d23: c7 04 24 1e 00 00 00 mov DWORD PTR [esp],0x1e
106d2a: e8 d9 f0 ff ff call 105e08 <IdtSetGate>
106d2f: c7 44 24 0c 8e 00 00 mov DWORD PTR [esp+0xc],0x8e
106d36: 00
106d37: c7 44 24 08 08 00 00 mov DWORD PTR [esp+0x8],0x8
106d3e: 00
106d3f: c7 44 24 04 92 68 10 mov DWORD PTR [esp+0x4],0x106892
106d46: 00
106d47: c7 04 24 1f 00 00 00 mov DWORD PTR [esp],0x1f
106d4e: e8 b5 f0 ff ff call 105e08 <IdtSetGate>
106d53: 83 c4 1c add esp,0x1c
106d56: c3 ret
00106d57 <IsrsInstallHandler>:
106d57: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
106d5b: 83 f8 1f cmp eax,0x1f
106d5e: 7f 0b jg 106d6b <IsrsInstallHandler+0x14>
106d60: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
106d64: 89 14 85 80 da 10 00 mov DWORD PTR [eax*4+0x10da80],edx
106d6b: c3 ret
00106d6c <IsrsUninstallHandler>:
106d6c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
106d70: 83 f8 1f cmp eax,0x1f
106d73: 7f 0b jg 106d80 <IsrsUninstallHandler+0x14>
106d75: c7 04 85 80 da 10 00 mov DWORD PTR [eax*4+0x10da80],0x0
106d7c: 00 00 00 00
106d80: c3 ret
00106d81 <IsrsFaultHandler>:
106d81: 83 ec 1c sub esp,0x1c
106d84: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
106d88: 8b 42 30 mov eax,DWORD PTR [edx+0x30]
106d8b: 83 f8 1f cmp eax,0x1f
106d8e: 77 1c ja 106dac <IsrsFaultHandler+0x2b>
106d90: 8b 04 85 80 da 10 00 mov eax,DWORD PTR [eax*4+0x10da80]
106d97: 85 c0 test eax,eax
106d99: 75 0c jne 106da7 <IsrsFaultHandler+0x26>
106d9b: 89 14 24 mov DWORD PTR [esp],edx
106d9e: e8 a9 d7 ff ff call 10454c <CrashMessage>
106da3: fa cli
106da4: f4 hlt
106da5: eb 05 jmp 106dac <IsrsFaultHandler+0x2b>
106da7: 89 14 24 mov DWORD PTR [esp],edx
106daa: ff d0 call eax
106dac: 83 c4 1c add esp,0x1c
106daf: c3 ret
00106db0 <KeyboardSetKeyStatus>:
106db0: 56 push esi
106db1: 53 push ebx
106db2: 8a 44 24 0c mov al,BYTE PTR [esp+0xc]
106db6: c0 e8 03 shr al,0x3
106db9: 25 ff 00 00 00 and eax,0xff
106dbe: 8a 4c 24 0c mov cl,BYTE PTR [esp+0xc]
106dc2: 83 e1 07 and ecx,0x7
106dc5: 80 7c 24 10 00 cmp BYTE PTR [esp+0x10],0x0
106dca: 74 17 je 106de3 <KeyboardSetKeyStatus+0x33>
106dcc: 8a 90 cc d9 10 00 mov dl,BYTE PTR [eax+0x10d9cc]
106dd2: be 01 00 00 00 mov esi,0x1
106dd7: d3 e6 shl esi,cl
106dd9: 09 f2 or edx,esi
106ddb: 88 90 cc d9 10 00 mov BYTE PTR [eax+0x10d9cc],dl
106de1: eb 17 jmp 106dfa <KeyboardSetKeyStatus+0x4a>
106de3: 8a 90 cc d9 10 00 mov dl,BYTE PTR [eax+0x10d9cc]
106de9: bb 01 00 00 00 mov ebx,0x1
106dee: d3 e3 shl ebx,cl
106df0: f7 d3 not ebx
106df2: 21 da and edx,ebx
106df4: 88 90 cc d9 10 00 mov BYTE PTR [eax+0x10d9cc],dl
106dfa: 5b pop ebx
106dfb: 5e pop esi
106dfc: c3 ret
00106dfd <KeyboardGetKeyStatus>:
106dfd: 8a 44 24 04 mov al,BYTE PTR [esp+0x4]
106e01: c0 e8 03 shr al,0x3
106e04: 25 ff 00 00 00 and eax,0xff
106e09: 8a 80 cc d9 10 00 mov al,BYTE PTR [eax+0x10d9cc]
106e0f: 8a 4c 24 04 mov cl,BYTE PTR [esp+0x4]
106e13: 83 e1 07 and ecx,0x7
106e16: ba 01 00 00 00 mov edx,0x1
106e1b: d3 e2 shl edx,cl
106e1d: 21 d0 and eax,edx
106e1f: c3 ret
00106e20 <KeyboardWaitOutport>:
106e20: 53 push ebx
106e21: 83 ec 18 sub esp,0x18
106e24: bb 41 0d 03 00 mov ebx,0x30d41
106e29: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64
106e30: e8 a3 1d 00 00 call 108bd8 <inportb>
106e35: a8 02 test al,0x2
106e37: 74 03 je 106e3c <KeyboardWaitOutport+0x1c>
106e39: 4b dec ebx
106e3a: 75 ed jne 106e29 <KeyboardWaitOutport+0x9>
106e3c: 83 c4 18 add esp,0x18
106e3f: 5b pop ebx
106e40: c3 ret
00106e41 <KeyboardSetScancodeSet>:
106e41: 53 push ebx
106e42: 83 ec 08 sub esp,0x8
106e45: 8a 5c 24 10 mov bl,BYTE PTR [esp+0x10]
106e49: 8d 43 ff lea eax,[ebx-0x1]
106e4c: 3c 02 cmp al,0x2
106e4e: 77 18 ja 106e68 <KeyboardSetScancodeSet+0x27>
106e50: e8 cb ff ff ff call 106e20 <KeyboardWaitOutport>
106e55: b0 f0 mov al,0xf0
106e57: e6 60 out 0x60,al
106e59: e8 c2 ff ff ff call 106e20 <KeyboardWaitOutport>
106e5e: 88 d8 mov al,bl
106e60: e6 60 out 0x60,al
106e62: 88 1d f8 c2 10 00 mov BYTE PTR ds:0x10c2f8,bl
106e68: 83 c4 08 add esp,0x8
106e6b: 5b pop ebx
106e6c: c3 ret
00106e6d <KeyboardSetRepeatRate>:
106e6d: 53 push ebx
106e6e: 83 ec 18 sub esp,0x18
106e71: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20]
106e75: 8a 44 24 24 mov al,BYTE PTR [esp+0x24]
106e79: 88 44 24 0f mov BYTE PTR [esp+0xf],al
106e7d: 80 fb 03 cmp bl,0x3
106e80: 77 1d ja 106e9f <KeyboardSetRepeatRate+0x32>
106e82: 3c 1f cmp al,0x1f
106e84: 77 19 ja 106e9f <KeyboardSetRepeatRate+0x32>
106e86: e8 95 ff ff ff call 106e20 <KeyboardWaitOutport>
106e8b: b0 f3 mov al,0xf3
106e8d: e6 60 out 0x60,al
106e8f: e8 8c ff ff ff call 106e20 <KeyboardWaitOutport>
106e94: 88 d8 mov al,bl
106e96: c1 e0 05 shl eax,0x5
106e99: 0a 44 24 0f or al,BYTE PTR [esp+0xf]
106e9d: e6 60 out 0x60,al
106e9f: 83 c4 18 add esp,0x18
106ea2: 5b pop ebx
106ea3: c3 ret
00106ea4 <KeyboardSetLEDs>:
106ea4: 56 push esi
106ea5: 53 push ebx
106ea6: 83 ec 04 sub esp,0x4
106ea9: 80 7c 24 14 01 cmp BYTE PTR [esp+0x14],0x1
106eae: 19 c0 sbb eax,eax
106eb0: f7 d0 not eax
106eb2: 83 e0 02 and eax,0x2
106eb5: 80 7c 24 10 00 cmp BYTE PTR [esp+0x10],0x0
106eba: 0f 95 c3 setne bl
106ebd: 09 d8 or eax,ebx
106ebf: 89 c6 mov esi,eax
106ec1: 80 7c 24 18 01 cmp BYTE PTR [esp+0x18],0x1
106ec6: 19 db sbb ebx,ebx
106ec8: f7 d3 not ebx
106eca: 83 e3 04 and ebx,0x4
106ecd: e8 4e ff ff ff call 106e20 <KeyboardWaitOutport>
106ed2: b0 ed mov al,0xed
106ed4: e6 60 out 0x60,al
106ed6: e8 45 ff ff ff call 106e20 <KeyboardWaitOutport>
106edb: 09 f3 or ebx,esi
106edd: 88 d8 mov al,bl
106edf: e6 60 out 0x60,al
106ee1: 83 c4 04 add esp,0x4
106ee4: 5b pop ebx
106ee5: 5e pop esi
106ee6: c3 ret
00106ee7 <_process_scancode>:
106ee7: 53 push ebx
106ee8: 83 ec 18 sub esp,0x18
106eeb: 8a 5c 24 20 mov bl,BYTE PTR [esp+0x20]
106eef: 80 fb e1 cmp bl,0xe1
106ef2: 0f 84 a4 00 00 00 je 106f9c <_process_scancode+0xb5>
106ef8: 80 fb e1 cmp bl,0xe1
106efb: 77 45 ja 106f42 <_process_scancode+0x5b>
106efd: 80 fb 7e cmp bl,0x7e
106f00: 0f 84 a2 00 00 00 je 106fa8 <_process_scancode+0xc1>
106f06: 80 fb 7e cmp bl,0x7e
106f09: 77 1b ja 106f26 <_process_scancode+0x3f>
106f0b: 80 fb 58 cmp bl,0x58
106f0e: 0f 84 c0 00 00 00 je 106fd4 <_process_scancode+0xed>
106f14: 80 fb 77 cmp bl,0x77
106f17: 0f 84 a1 00 00 00 je 106fbe <_process_scancode+0xd7>
106f1d: 84 db test bl,bl
106f1f: 74 55 je 106f76 <_process_scancode+0x8f>
106f21: e9 c6 00 00 00 jmp 106fec <_process_scancode+0x105>
106f26: 80 fb aa cmp bl,0xaa
106f29: 0f 84 cc 01 00 00 je 1070fb <_process_scancode+0x214>
106f2f: 80 fb e0 cmp bl,0xe0
106f32: 74 5c je 106f90 <_process_scancode+0xa9>
106f34: 80 fb 83 cmp bl,0x83
106f37: 0f 85 af 00 00 00 jne 106fec <_process_scancode+0x105>
106f3d: e9 a8 00 00 00 jmp 106fea <_process_scancode+0x103>
106f42: 80 fb fd cmp bl,0xfd
106f45: 77 21 ja 106f68 <_process_scancode+0x81>
106f47: 80 fb fc cmp bl,0xfc
106f4a: 73 2a jae 106f76 <_process_scancode+0x8f>
106f4c: 80 fb f0 cmp bl,0xf0
106f4f: 74 33 je 106f84 <_process_scancode+0x9d>
106f51: 80 fb fa cmp bl,0xfa
106f54: 0f 84 a1 01 00 00 je 1070fb <_process_scancode+0x214>
106f5a: 80 fb ee cmp bl,0xee
106f5d: 0f 85 89 00 00 00 jne 106fec <_process_scancode+0x105>
106f63: e9 93 01 00 00 jmp 1070fb <_process_scancode+0x214>
106f68: 80 fb fe cmp bl,0xfe
106f6b: 0f 84 8a 01 00 00 je 1070fb <_process_scancode+0x214>
106f71: 80 fb ff cmp bl,0xff
106f74: 75 76 jne 106fec <_process_scancode+0x105>
106f76: e8 a5 fe ff ff call 106e20 <KeyboardWaitOutport>
106f7b: b0 f4 mov al,0xf4
106f7d: e6 60 out 0x60,al
106f7f: e9 77 01 00 00 jmp 1070fb <_process_scancode+0x214>
106f84: 80 0d de d9 10 00 01 or BYTE PTR ds:0x10d9de,0x1
106f8b: e9 6b 01 00 00 jmp 1070fb <_process_scancode+0x214>
106f90: 80 0d de d9 10 00 02 or BYTE PTR ds:0x10d9de,0x2
106f97: e9 5f 01 00 00 jmp 1070fb <_process_scancode+0x214>
106f9c: 80 0d de d9 10 00 04 or BYTE PTR ds:0x10d9de,0x4
106fa3: e9 53 01 00 00 jmp 1070fb <_process_scancode+0x214>
106fa8: a0 de d9 10 00 mov al,ds:0x10d9de
106fad: a8 01 test al,0x1
106faf: 75 3b jne 106fec <_process_scancode+0x105>
106fb1: 83 f0 08 xor eax,0x8
106fb4: 83 c8 40 or eax,0x40
106fb7: a2 de d9 10 00 mov ds:0x10d9de,al
106fbc: eb 2e jmp 106fec <_process_scancode+0x105>
106fbe: a0 de d9 10 00 mov al,ds:0x10d9de
106fc3: a8 01 test al,0x1
106fc5: 75 25 jne 106fec <_process_scancode+0x105>
106fc7: 83 f0 10 xor eax,0x10
106fca: 83 c8 40 or eax,0x40
106fcd: a2 de d9 10 00 mov ds:0x10d9de,al
106fd2: eb 18 jmp 106fec <_process_scancode+0x105>
106fd4: a0 de d9 10 00 mov al,ds:0x10d9de
106fd9: a8 01 test al,0x1
106fdb: 75 0f jne 106fec <_process_scancode+0x105>
106fdd: 83 f0 20 xor eax,0x20
106fe0: 83 c8 40 or eax,0x40
106fe3: a2 de d9 10 00 mov ds:0x10d9de,al
106fe8: eb 02 jmp 106fec <_process_scancode+0x105>
106fea: b3 02 mov bl,0x2
106fec: 31 c0 xor eax,eax
106fee: a0 de d9 10 00 mov al,ds:0x10d9de
106ff3: a8 02 test al,0x2
106ff5: 0f 84 a2 00 00 00 je 10709d <_process_scancode+0x1b6>
106ffb: 8d 53 f0 lea edx,[ebx-0x10]
106ffe: 80 fa 6d cmp dl,0x6d
107001: 0f 87 96 00 00 00 ja 10709d <_process_scancode+0x1b6>
107007: 81 e2 ff 00 00 00 and edx,0xff
10700d: ff 24 95 c0 a9 10 00 jmp DWORD PTR [edx*4+0x10a9c0]
107014: b3 53 mov bl,0x53
107016: e9 82 00 00 00 jmp 10709d <_process_scancode+0x1b6>
10701b: b3 5c mov bl,0x5c
10701d: eb 7e jmp 10709d <_process_scancode+0x1b6>
10701f: b3 0f mov bl,0xf
107021: eb 7a jmp 10709d <_process_scancode+0x1b6>
107023: b3 51 mov bl,0x51
107025: eb 76 jmp 10709d <_process_scancode+0x1b6>
107027: b3 50 mov bl,0x50
107029: eb 72 jmp 10709d <_process_scancode+0x1b6>
10702b: b3 18 mov bl,0x18
10702d: eb 6e jmp 10709d <_process_scancode+0x1b6>
10702f: b3 6e mov bl,0x6e
107031: eb 6a jmp 10709d <_process_scancode+0x1b6>
107033: b3 4f mov bl,0x4f
107035: eb 66 jmp 10709d <_process_scancode+0x1b6>
107037: b3 28 mov bl,0x28
107039: eb 62 jmp 10709d <_process_scancode+0x1b6>
10703b: b3 48 mov bl,0x48
10703d: eb 5e jmp 10709d <_process_scancode+0x1b6>
10703f: b3 17 mov bl,0x17
107041: eb 5a jmp 10709d <_process_scancode+0x1b6>
107043: b3 13 mov bl,0x13
107045: eb 56 jmp 10709d <_process_scancode+0x1b6>
107047: b3 47 mov bl,0x47
107049: eb 52 jmp 10709d <_process_scancode+0x1b6>
10704b: b3 39 mov bl,0x39
10704d: eb 4e jmp 10709d <_process_scancode+0x1b6>
10704f: b3 10 mov bl,0x10
107051: eb 4a jmp 10709d <_process_scancode+0x1b6>
107053: b3 30 mov bl,0x30
107055: eb 46 jmp 10709d <_process_scancode+0x1b6>
107057: b3 20 mov bl,0x20
107059: eb 42 jmp 10709d <_process_scancode+0x1b6>
10705b: b3 6a mov bl,0x6a
10705d: eb 3e jmp 10709d <_process_scancode+0x1b6>
10705f: b3 08 mov bl,0x8
107061: eb 3a jmp 10709d <_process_scancode+0x1b6>
107063: b3 19 mov bl,0x19
107065: eb 36 jmp 10709d <_process_scancode+0x1b6>
107067: b3 6d mov bl,0x6d
107069: eb 32 jmp 10709d <_process_scancode+0x1b6>
10706b: b3 40 mov bl,0x40
10706d: eb 2e jmp 10709d <_process_scancode+0x1b6>
10706f: b3 61 mov bl,0x61
107071: eb 2a jmp 10709d <_process_scancode+0x1b6>
107073: b3 64 mov bl,0x64
107075: eb 26 jmp 10709d <_process_scancode+0x1b6>
107077: b3 60 mov bl,0x60
107079: eb 22 jmp 10709d <_process_scancode+0x1b6>
10707b: b3 5e mov bl,0x5e
10707d: eb 1e jmp 10709d <_process_scancode+0x1b6>
10707f: b3 5f mov bl,0x5f
107081: eb 1a jmp 10709d <_process_scancode+0x1b6>
107083: b3 65 mov bl,0x65
107085: eb 16 jmp 10709d <_process_scancode+0x1b6>
107087: b3 67 mov bl,0x67
107089: eb 12 jmp 10709d <_process_scancode+0x1b6>
10708b: b3 68 mov bl,0x68
10708d: eb 0e jmp 10709d <_process_scancode+0x1b6>
10708f: b3 63 mov bl,0x63
107091: eb 0a jmp 10709d <_process_scancode+0x1b6>
107093: b3 56 mov bl,0x56
107095: eb 06 jmp 10709d <_process_scancode+0x1b6>
107097: b3 62 mov bl,0x62
107099: eb 02 jmp 10709d <_process_scancode+0x1b6>
10709b: b3 38 mov bl,0x38
10709d: a8 04 test al,0x4
10709f: 74 28 je 1070c9 <_process_scancode+0x1e2>
1070a1: a8 01 test al,0x1
1070a3: 0f 94 c0 sete al
1070a6: 25 ff 00 00 00 and eax,0xff
1070ab: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1070af: c7 04 24 57 00 00 00 mov DWORD PTR [esp],0x57
1070b6: e8 f5 fc ff ff call 106db0 <KeyboardSetKeyStatus>
1070bb: 80 fb 77 cmp bl,0x77
1070be: 75 3b jne 1070fb <_process_scancode+0x214>
1070c0: c6 05 de d9 10 00 00 mov BYTE PTR ds:0x10d9de,0x0
1070c7: eb 32 jmp 1070fb <_process_scancode+0x214>
1070c9: a8 01 test al,0x1
1070cb: 0f 94 c0 sete al
1070ce: 25 ff 00 00 00 and eax,0xff
1070d3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1070d7: 31 c0 xor eax,eax
1070d9: 88 d8 mov al,bl
1070db: 89 04 24 mov DWORD PTR [esp],eax
1070de: e8 cd fc ff ff call 106db0 <KeyboardSetKeyStatus>
1070e3: 88 1d dd d9 10 00 mov BYTE PTR ds:0x10d9dd,bl
1070e9: a0 de d9 10 00 mov al,ds:0x10d9de
1070ee: a2 dc d9 10 00 mov ds:0x10d9dc,al
1070f3: 83 e0 f8 and eax,0xfffffff8
1070f6: a2 de d9 10 00 mov ds:0x10d9de,al
1070fb: 83 c4 18 add esp,0x18
1070fe: 5b pop ebx
1070ff: c3 ret
00107100 <KeyboardHandler>:
107100: 83 ec 1c sub esp,0x1c
107103: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
10710a: e8 c9 1a 00 00 call 108bd8 <inportb>
10710f: 25 ff 00 00 00 and eax,0xff
107114: 89 04 24 mov DWORD PTR [esp],eax
107117: e8 cb fd ff ff call 106ee7 <_process_scancode>
10711c: 31 c0 xor eax,eax
10711e: a0 de d9 10 00 mov al,ds:0x10d9de
107123: a8 40 test al,0x40
107125: 74 24 je 10714b <KeyboardHandler+0x4b>
107127: 89 c2 mov edx,eax
107129: 83 e2 20 and edx,0x20
10712c: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
107130: 89 c2 mov edx,eax
107132: 83 e2 10 and edx,0x10
107135: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
107139: 83 e0 08 and eax,0x8
10713c: 89 04 24 mov DWORD PTR [esp],eax
10713f: e8 60 fd ff ff call 106ea4 <KeyboardSetLEDs>
107144: 80 25 de d9 10 00 bf and BYTE PTR ds:0x10d9de,0xbf
10714b: 83 c4 1c add esp,0x1c
10714e: c3 ret
0010714f <KeyboardWaitInport>:
10714f: 53 push ebx
107150: 83 ec 18 sub esp,0x18
107153: bb 41 0d 03 00 mov ebx,0x30d41
107158: c7 04 24 64 00 00 00 mov DWORD PTR [esp],0x64
10715f: e8 74 1a 00 00 call 108bd8 <inportb>
107164: a8 01 test al,0x1
107166: 75 03 jne 10716b <KeyboardWaitInport+0x1c>
107168: 4b dec ebx
107169: 75 ed jne 107158 <KeyboardWaitInport+0x9>
10716b: 83 c4 18 add esp,0x18
10716e: 5b pop ebx
10716f: c3 ret
00107170 <KeyboardInstallA>:
107170: 83 ec 0c sub esp,0xc
107173: e8 a8 fc ff ff call 106e20 <KeyboardWaitOutport>
107178: b0 ff mov al,0xff
10717a: e6 60 out 0x60,al
10717c: c6 05 dc d9 10 00 00 mov BYTE PTR ds:0x10d9dc,0x0
107183: c6 05 de d9 10 00 00 mov BYTE PTR ds:0x10d9de,0x0
10718a: b8 00 00 00 00 mov eax,0x0
10718f: c6 80 cc d9 10 00 00 mov BYTE PTR [eax+0x10d9cc],0x0
107196: 40 inc eax
107197: 83 f8 10 cmp eax,0x10
10719a: 75 f3 jne 10718f <KeyboardInstallA+0x1f>
10719c: 83 c4 0c add esp,0xc
10719f: c3 ret
001071a0 <KeyboardInstallB>:
1071a0: 53 push ebx
1071a1: 83 ec 18 sub esp,0x18
1071a4: e8 a6 ff ff ff call 10714f <KeyboardWaitInport>
1071a9: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
1071b0: e8 23 1a 00 00 call 108bd8 <inportb>
1071b5: 3c aa cmp al,0xaa
1071b7: 74 04 je 1071bd <KeyboardInstallB+0x1d>
1071b9: 3c fc cmp al,0xfc
1071bb: 75 ec jne 1071a9 <KeyboardInstallB+0x9>
1071bd: 3c fc cmp al,0xfc
1071bf: 74 54 je 107215 <KeyboardInstallB+0x75>
1071c1: c7 44 24 04 0b 00 00 mov DWORD PTR [esp+0x4],0xb
1071c8: 00
1071c9: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1071d0: e8 98 fc ff ff call 106e6d <KeyboardSetRepeatRate>
1071d5: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
1071dc: e8 60 fc ff ff call 106e41 <KeyboardSetScancodeSet>
1071e1: e8 3a fc ff ff call 106e20 <KeyboardWaitOutport>
1071e6: b0 20 mov al,0x20
1071e8: e6 64 out 0x64,al
1071ea: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
1071f1: e8 e2 19 00 00 call 108bd8 <inportb>
1071f6: 88 c3 mov bl,al
1071f8: 3c fa cmp al,0xfa
1071fa: 74 ee je 1071ea <KeyboardInstallB+0x4a>
1071fc: 3c aa cmp al,0xaa
1071fe: 74 ea je 1071ea <KeyboardInstallB+0x4a>
107200: e8 1b fc ff ff call 106e20 <KeyboardWaitOutport>
107205: b0 60 mov al,0x60
107207: e6 64 out 0x64,al
107209: e8 12 fc ff ff call 106e20 <KeyboardWaitOutport>
10720e: 88 d8 mov al,bl
107210: 83 e0 bf and eax,0xffffffbf
107213: e6 60 out 0x60,al
107215: 83 c4 18 add esp,0x18
107218: 5b pop ebx
107219: c3 ret
10721a: 00 00 add BYTE PTR [eax],al
10721c: 00 00 add BYTE PTR [eax],al
...
00107220 <start>:
107220: 66 87 db xchg bx,bx
107223: 89 c1 mov ecx,eax
107225: bc 00 1b 11 00 mov esp,0x111b00
10722a: 81 f9 02 b0 ad 2b cmp ecx,0x2badb002
107230: 75 09 jne 10723b <start.bad>
107232: 54 push esp
107233: 53 push ebx
107234: e8 0b 03 00 00 call 107544 <k_main>
107239: fa cli
10723a: f4 hlt
0010723b <start.bad>:
10723b: e8 b7 b6 ff ff call 1028f7 <ConsoleClear>
107240: e8 74 bf ff ff call 1031b9 <CommandOsver>
107245: a1 a5 72 10 00 mov eax,ds:0x1072a5
10724a: 50 push eax
10724b: 68 57 72 10 00 push 0x107257
107250: e8 23 bd ff ff call 102f78 <ConsoleWrite>
107255: fa cli
107256: f4 hlt
00107257 <ErrorString>:
107257: 0a 25 23 21 20 46 or ah,BYTE PTR ds:0x46202123
10725d: 61 popa
10725e: 74 61 je 1072c1 <LogWrite+0x19>
107260: 6c ins BYTE PTR es:[edi],dx
107261: 20 65 72 and BYTE PTR [ebp+0x72],ah
107264: 72 6f jb 1072d5 <LogWrite+0x2d>
107266: 72 3a jb 1072a2 <ErrorString+0x4b>
107268: 20 4e 6f and BYTE PTR [esi+0x6f],cl
10726b: 74 20 je 10728d <ErrorString+0x36>
10726d: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f]
107270: 74 65 je 1072d7 <LogWrite+0x2f>
107272: 64 20 77 69 and BYTE PTR fs:[edi+0x69],dh
107276: 74 68 je 1072e0 <LogWrite+0x38>
107278: 20 6d 75 and BYTE PTR [ebp+0x75],ch
10727b: 6c ins BYTE PTR es:[edi],dx
10727c: 74 69 je 1072e7 <LogWrite+0x3f>
10727e: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f]
107281: 74 20 je 1072a3 <ErrorString+0x4c>
107283: 63 6f 6d arpl WORD PTR [edi+0x6d],bp
107286: 70 6c jo 1072f4 <LogWrite+0x4c>
107288: 69 61 6e 74 20 62 6f imul esp,DWORD PTR [ecx+0x6e],0x6f622074
10728f: 6f outs dx,DWORD PTR ds:[esi]
107290: 74 6c je 1072fe <LogWrite+0x56>
107292: 6f outs dx,DWORD PTR ds:[esi]
107293: 61 popa
107294: 64 fs
107295: 65 gs
107296: 72 20 jb 1072b8 <LogWrite+0x10>
107298: 28 65 2e sub BYTE PTR [ebp+0x2e],ah
10729b: 67 2e 20 47 52 and BYTE PTR cs:[bx+0x52],al
1072a0: 55 push ebp
1072a1: 42 inc edx
1072a2: 29 2e sub DWORD PTR [esi],ebp
...
001072a5 <ErrorColor>:
1072a5: 0c 00 or al,0x0
...
001072a8 <LogWrite>:
1072a8: 55 push ebp
1072a9: 57 push edi
1072aa: 56 push esi
1072ab: 53 push ebx
1072ac: 83 ec 4c sub esp,0x4c
1072af: 8b 74 24 64 mov esi,DWORD PTR [esp+0x64]
1072b3: 8a 5c 24 60 mov bl,BYTE PTR [esp+0x60]
1072b7: 8b 54 24 68 mov edx,DWORD PTR [esp+0x68]
1072bb: b8 00 00 00 00 mov eax,0x0
1072c0: 85 d2 test edx,edx
1072c2: 0f 84 2e 02 00 00 je 1074f6 <LogWrite+0x24e>
1072c8: 80 3a 00 cmp BYTE PTR [edx],0x0
1072cb: 0f 84 20 02 00 00 je 1074f1 <LogWrite+0x249>
1072d1: 85 f6 test esi,esi
1072d3: 0f 84 18 02 00 00 je 1074f1 <LogWrite+0x249>
1072d9: 80 3e 00 cmp BYTE PTR [esi],0x0
1072dc: 0f 84 14 02 00 00 je 1074f6 <LogWrite+0x24e>
1072e2: 89 14 24 mov DWORD PTR [esp],edx
1072e5: e8 26 1a 00 00 call 108d10 <strlen>
1072ea: 89 c5 mov ebp,eax
1072ec: a0 00 c0 10 00 mov al,ds:0x10c000
1072f1: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
1072f5: a1 00 c3 10 00 mov eax,ds:0x10c300
1072fa: 84 db test bl,bl
1072fc: 0f 94 44 24 18 sete BYTE PTR [esp+0x18]
107301: 85 c0 test eax,eax
107303: 74 35 je 10733a <LogWrite+0x92>
107305: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0
10730a: 74 2e je 10733a <LogWrite+0x92>
10730c: bf 00 00 00 00 mov edi,0x0
107311: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
107315: 89 34 24 mov DWORD PTR [esp],esi
107318: e8 ba 1a 00 00 call 108dd7 <strcasecmp>
10731d: 85 c0 test eax,eax
10731f: 0f 84 d9 01 00 00 je 1074fe <LogWrite+0x256>
107325: 47 inc edi
107326: 8b 04 bd 00 c3 10 00 mov eax,DWORD PTR [edi*4+0x10c300]
10732d: 85 c0 test eax,eax
10732f: 74 0e je 10733f <LogWrite+0x97>
107331: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0
107336: 75 d9 jne 107311 <LogWrite+0x69>
107338: eb 05 jmp 10733f <LogWrite+0x97>
10733a: bf 00 00 00 00 mov edi,0x0
10733f: b8 00 00 00 00 mov eax,0x0
107344: 84 db test bl,bl
107346: 0f 84 aa 01 00 00 je 1074f6 <LogWrite+0x24e>
10734c: 84 db test bl,bl
10734e: 74 16 je 107366 <LogWrite+0xbe>
107350: c7 44 24 04 0f 00 00 mov DWORD PTR [esp+0x4],0xf
107357: 00
107358: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
10735f: e8 f7 b5 ff ff call 10295b <Color>
107364: eb 1b jmp 107381 <LogWrite+0xd9>
107366: b8 89 88 88 88 mov eax,0x88888889
10736b: f7 e7 mul edi
10736d: 89 d0 mov eax,edx
10736f: c1 e8 03 shr eax,0x3
107372: 89 c2 mov edx,eax
107374: c1 e2 04 shl edx,0x4
107377: 89 f9 mov ecx,edi
107379: 28 d1 sub cl,dl
10737b: 88 ca mov dl,cl
10737d: 8d 44 02 01 lea eax,[edx+eax*1+0x1]
107381: a2 00 c0 10 00 mov ds:0x10c000,al
107386: c7 04 24 5b 00 00 00 mov DWORD PTR [esp],0x5b
10738d: e8 aa ba ff ff call 102e3c <_write_char>
107392: 89 34 24 mov DWORD PTR [esp],esi
107395: e8 78 bb ff ff call 102f12 <_write_string>
10739a: c7 04 24 5d 00 00 00 mov DWORD PTR [esp],0x5d
1073a1: e8 96 ba ff ff call 102e3c <_write_char>
1073a6: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f]
1073aa: a2 00 c0 10 00 mov ds:0x10c000,al
1073af: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20
1073b6: e8 81 ba ff ff call 102e3c <_write_char>
1073bb: bb 00 00 00 00 mov ebx,0x0
1073c0: 85 ed test ebp,ebp
1073c2: 0f 84 16 01 00 00 je 1074de <LogWrite+0x236>
1073c8: 8d 74 24 6c lea esi,[esp+0x6c]
1073cc: 8d 7c 24 20 lea edi,[esp+0x20]
1073d0: 8b 44 24 68 mov eax,DWORD PTR [esp+0x68]
1073d4: 8a 14 18 mov dl,BYTE PTR [eax+ebx*1]
1073d7: 80 fa 25 cmp dl,0x25
1073da: 74 10 je 1073ec <LogWrite+0x144>
1073dc: 0f be d2 movsx edx,dl
1073df: 89 14 24 mov DWORD PTR [esp],edx
1073e2: e8 55 ba ff ff call 102e3c <_write_char>
1073e7: e9 e9 00 00 00 jmp 1074d5 <LogWrite+0x22d>
1073ec: 43 inc ebx
1073ed: 8a 04 18 mov al,BYTE PTR [eax+ebx*1]
1073f0: 83 e8 23 sub eax,0x23
1073f3: 3c 55 cmp al,0x55
1073f5: 0f 87 da 00 00 00 ja 1074d5 <LogWrite+0x22d>
1073fb: 25 ff 00 00 00 and eax,0xff
107400: ff 24 85 80 ac 10 00 jmp DWORD PTR [eax*4+0x10ac80]
107407: 8d 4e 04 lea ecx,[esi+0x4]
10740a: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx
10740e: 0f be 06 movsx eax,BYTE PTR [esi]
107411: 89 04 24 mov DWORD PTR [esp],eax
107414: e8 23 ba ff ff call 102e3c <_write_char>
107419: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
10741d: e9 b3 00 00 00 jmp 1074d5 <LogWrite+0x22d>
107422: 8d 46 04 lea eax,[esi+0x4]
107425: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
107429: 8b 06 mov eax,DWORD PTR [esi]
10742b: 89 04 24 mov DWORD PTR [esp],eax
10742e: e8 df ba ff ff call 102f12 <_write_string>
107433: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
107437: e9 99 00 00 00 jmp 1074d5 <LogWrite+0x22d>
10743c: 8d 4e 04 lea ecx,[esi+0x4]
10743f: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx
107443: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa
10744a: 00
10744b: 8b 06 mov eax,DWORD PTR [esi]
10744d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
107451: 89 3c 24 mov DWORD PTR [esp],edi
107454: e8 07 cf ff ff call 104360 <ConvertIntToString>
107459: 89 3c 24 mov DWORD PTR [esp],edi
10745c: e8 b1 ba ff ff call 102f12 <_write_string>
107461: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
107465: eb 6e jmp 1074d5 <LogWrite+0x22d>
107467: 8d 46 04 lea eax,[esi+0x4]
10746a: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
10746e: c7 44 24 08 10 00 00 mov DWORD PTR [esp+0x8],0x10
107475: 00
107476: 8b 06 mov eax,DWORD PTR [esi]
107478: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10747c: 89 3c 24 mov DWORD PTR [esp],edi
10747f: e8 5c cf ff ff call 1043e0 <ConvertUIntToString>
107484: 89 3c 24 mov DWORD PTR [esp],edi
107487: e8 86 ba ff ff call 102f12 <_write_string>
10748c: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
107490: eb 43 jmp 1074d5 <LogWrite+0x22d>
107492: 8d 4e 04 lea ecx,[esi+0x4]
107495: 89 4c 24 18 mov DWORD PTR [esp+0x18],ecx
107499: c7 44 24 08 0a 00 00 mov DWORD PTR [esp+0x8],0xa
1074a0: 00
1074a1: 8b 06 mov eax,DWORD PTR [esi]
1074a3: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1074a7: 89 3c 24 mov DWORD PTR [esp],edi
1074aa: e8 31 cf ff ff call 1043e0 <ConvertUIntToString>
1074af: 89 3c 24 mov DWORD PTR [esp],edi
1074b2: e8 5b ba ff ff call 102f12 <_write_string>
1074b7: 8b 74 24 18 mov esi,DWORD PTR [esp+0x18]
1074bb: eb 18 jmp 1074d5 <LogWrite+0x22d>
1074bd: 8a 06 mov al,BYTE PTR [esi]
1074bf: a2 00 c0 10 00 mov ds:0x10c000,al
1074c4: 8d 76 04 lea esi,[esi+0x4]
1074c7: eb 0c jmp 1074d5 <LogWrite+0x22d>
1074c9: c7 04 24 25 00 00 00 mov DWORD PTR [esp],0x25
1074d0: e8 67 b9 ff ff call 102e3c <_write_char>
1074d5: 43 inc ebx
1074d6: 39 dd cmp ebp,ebx
1074d8: 0f 87 f2 fe ff ff ja 1073d0 <LogWrite+0x128>
1074de: 8a 4c 24 1f mov cl,BYTE PTR [esp+0x1f]
1074e2: 88 0d 00 c0 10 00 mov BYTE PTR ds:0x10c000,cl
1074e8: e8 d0 b3 ff ff call 1028bd <ConsoleCursorUpdateHardware>
1074ed: 89 d8 mov eax,ebx
1074ef: eb 05 jmp 1074f6 <LogWrite+0x24e>
1074f1: b8 00 00 00 00 mov eax,0x0
1074f6: 83 c4 4c add esp,0x4c
1074f9: 5b pop ebx
1074fa: 5e pop esi
1074fb: 5f pop edi
1074fc: 5d pop ebp
1074fd: c3 ret
1074fe: 47 inc edi
1074ff: e9 48 fe ff ff jmp 10734c <LogWrite+0xa4>
00107504 <LogAssert>:
107504: 83 ec 2c sub esp,0x2c
107507: 83 7c 24 30 00 cmp DWORD PTR [esp+0x30],0x0
10750c: 75 31 jne 10753f <LogAssert+0x3b>
10750e: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38]
107512: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
107516: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34]
10751a: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
10751e: c7 44 24 08 d8 ad 10 mov DWORD PTR [esp+0x8],0x10add8
107525: 00
107526: c7 44 24 04 fe ad 10 mov DWORD PTR [esp+0x4],0x10adfe
10752d: 00
10752e: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
107535: e8 6e fd ff ff call 1072a8 <LogWrite>
10753a: e8 a5 19 00 00 call 108ee4 <SystemPanic>
10753f: 83 c4 2c add esp,0x2c
107542: c3 ret
...
00107544 <k_main>:
107544: 57 push edi
107545: 56 push esi
107546: 53 push ebx
107547: 83 ec 10 sub esp,0x10
10754a: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
10754e: bb 00 20 11 00 mov ebx,0x112000
107553: f6 06 08 test BYTE PTR [esi],0x8
107556: 74 20 je 107578 <k_main+0x34>
107558: 8b 46 18 mov eax,DWORD PTR [esi+0x18]
10755b: 8b 7e 14 mov edi,DWORD PTR [esi+0x14]
10755e: 85 ff test edi,edi
107560: 74 16 je 107578 <k_main+0x34>
107562: ba 00 00 00 00 mov edx,0x0
107567: 8b 48 04 mov ecx,DWORD PTR [eax+0x4]
10756a: 39 cb cmp ebx,ecx
10756c: 73 02 jae 107570 <k_main+0x2c>
10756e: 89 cb mov ebx,ecx
107570: 42 inc edx
107571: 83 c0 10 add eax,0x10
107574: 39 fa cmp edx,edi
107576: 75 ef jne 107567 <k_main+0x23>
107578: e8 7a b3 ff ff call 1028f7 <ConsoleClear>
10757d: 89 1c 24 mov DWORD PTR [esp],ebx
107580: e8 55 10 00 00 call 1085da <MemoryTempInitialize>
107585: 89 34 24 mov DWORD PTR [esp],esi
107588: e8 88 0f 00 00 call 108515 <MemoryInitialize>
10758d: e8 b7 1a 00 00 call 109049 <TaskInitialize>
107592: e8 21 e7 ff ff call 105cb8 <HalInitialize>
107597: 89 34 24 mov DWORD PTR [esp],esi
10759a: e8 fd eb ff ff call 10619c <luxInitrdInstall>
10759f: e8 de d6 ff ff call 104c82 <DriversInstall>
1075a4: c7 44 24 08 28 ae 10 mov DWORD PTR [esp+0x8],0x10ae28
1075ab: 00
1075ac: c7 44 24 04 49 ae 10 mov DWORD PTR [esp+0x4],0x10ae49
1075b3: 00
1075b4: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1075bb: e8 e8 fc ff ff call 1072a8 <LogWrite>
1075c0: e8 ac cc ff ff call 104271 <ConsoleMain>
1075c5: 83 c4 10 add esp,0x10
1075c8: 5b pop ebx
1075c9: 5e pop esi
1075ca: 5f pop edi
1075cb: c3 ret
001075cc <MemHeapCompare>:
1075cc: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
1075d0: 8b 48 08 mov ecx,DWORD PTR [eax+0x8]
1075d3: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
1075d7: 8b 50 08 mov edx,DWORD PTR [eax+0x8]
1075da: b8 01 00 00 00 mov eax,0x1
1075df: 39 d1 cmp ecx,edx
1075e1: 77 0b ja 1075ee <MemHeapCompare+0x22>
1075e3: 39 d1 cmp ecx,edx
1075e5: 0f 94 c0 sete al
1075e8: 25 ff 00 00 00 and eax,0xff
1075ed: 48 dec eax
1075ee: c3 ret
001075ef <MemHeapFindSmallestHole>:
1075ef: 57 push edi
1075f0: 56 push esi
1075f1: 53 push ebx
1075f2: 83 ec 20 sub esp,0x20
1075f5: 8b 7c 24 30 mov edi,DWORD PTR [esp+0x30]
1075f9: 8b 74 24 38 mov esi,DWORD PTR [esp+0x38]
1075fd: 8a 44 24 34 mov al,BYTE PTR [esp+0x34]
107601: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
107605: bb ff ff ff ff mov ebx,0xffffffff
10760a: 83 7e 04 00 cmp DWORD PTR [esi+0x4],0x0
10760e: 74 3e je 10764e <MemHeapFindSmallestHole+0x5f>
107610: bb 00 00 00 00 mov ebx,0x0
107615: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
107619: 89 1c 24 mov DWORD PTR [esp],ebx
10761c: e8 0c 15 00 00 call 108b2d <OrderedArrayLookup>
107621: 80 7c 24 1f 00 cmp BYTE PTR [esp+0x1f],0x0
107626: 74 16 je 10763e <MemHeapFindSmallestHole+0x4f>
107628: 8d 50 0c lea edx,[eax+0xc]
10762b: f7 da neg edx
10762d: 81 e2 ff 0f 00 00 and edx,0xfff
107633: 8b 40 08 mov eax,DWORD PTR [eax+0x8]
107636: 29 d0 sub eax,edx
107638: 39 f8 cmp eax,edi
10763a: 72 07 jb 107643 <MemHeapFindSmallestHole+0x54>
10763c: eb 10 jmp 10764e <MemHeapFindSmallestHole+0x5f>
10763e: 3b 78 08 cmp edi,DWORD PTR [eax+0x8]
107641: 76 0b jbe 10764e <MemHeapFindSmallestHole+0x5f>
107643: 43 inc ebx
107644: 39 5e 04 cmp DWORD PTR [esi+0x4],ebx
107647: 77 cc ja 107615 <MemHeapFindSmallestHole+0x26>
107649: bb ff ff ff ff mov ebx,0xffffffff
10764e: 89 d8 mov eax,ebx
107650: 83 c4 20 add esp,0x20
107653: 5b pop ebx
107654: 5e pop esi
107655: 5f pop edi
107656: c3 ret
00107657 <MemHeapHeaderSetup>:
107657: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
10765b: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514
107661: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
107665: 88 50 04 mov BYTE PTR [eax+0x4],dl
107668: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
10766c: 89 50 08 mov DWORD PTR [eax+0x8],edx
10766f: c3 ret
00107670 <MemHeapFooterSetup>:
107670: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
107674: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514
10767a: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
10767e: 89 50 04 mov DWORD PTR [eax+0x4],edx
107681: c3 ret
00107682 <MemHeapCreate>:
107682: 57 push edi
107683: 56 push esi
107684: 53 push ebx
107685: 83 ec 30 sub esp,0x30
107688: 8b 74 24 40 mov esi,DWORD PTR [esp+0x40]
10768c: 8b 7c 24 44 mov edi,DWORD PTR [esp+0x44]
107690: 8a 44 24 4c mov al,BYTE PTR [esp+0x4c]
107694: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
107698: 89 f8 mov eax,edi
10769a: 09 f0 or eax,esi
10769c: bb 00 00 00 00 mov ebx,0x0
1076a1: a9 ff 0f 00 00 test eax,0xfff
1076a6: 0f 85 95 00 00 00 jne 107741 <MemHeapCreate+0xbf>
1076ac: c7 04 24 20 00 00 00 mov DWORD PTR [esp],0x20
1076b3: e8 49 0b 00 00 call 108201 <kmalloc>
1076b8: 89 c3 mov ebx,eax
1076ba: 8d 44 24 20 lea eax,[esp+0x20]
1076be: c7 44 24 0c cc 75 10 mov DWORD PTR [esp+0xc],0x1075cc
1076c5: 00
1076c6: c7 44 24 08 00 00 02 mov DWORD PTR [esp+0x8],0x20000
1076cd: 00
1076ce: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
1076d2: 89 04 24 mov DWORD PTR [esp],eax
1076d5: e8 e0 12 00 00 call 1089ba <OrderedArrayPlace>
1076da: 83 ec 04 sub esp,0x4
1076dd: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1076e1: 89 03 mov DWORD PTR [ebx],eax
1076e3: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
1076e7: 89 43 04 mov DWORD PTR [ebx+0x4],eax
1076ea: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
1076ee: 89 43 08 mov DWORD PTR [ebx+0x8],eax
1076f1: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
1076f5: 89 43 0c mov DWORD PTR [ebx+0xc],eax
1076f8: 81 c6 00 00 08 00 add esi,0x80000
1076fe: f7 c6 ff 0f 00 00 test esi,0xfff
107704: 74 0c je 107712 <MemHeapCreate+0x90>
107706: 81 e6 00 f0 ff ff and esi,0xfffff000
10770c: 81 c6 00 10 00 00 add esi,0x1000
107712: 89 73 10 mov DWORD PTR [ebx+0x10],esi
107715: 89 7b 14 mov DWORD PTR [ebx+0x14],edi
107718: 8a 44 24 1f mov al,BYTE PTR [esp+0x1f]
10771c: 88 43 1c mov BYTE PTR [ebx+0x1c],al
10771f: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48]
107723: 89 43 18 mov DWORD PTR [ebx+0x18],eax
107726: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514
10772c: c6 46 04 00 mov BYTE PTR [esi+0x4],0x0
107730: 29 f7 sub edi,esi
107732: 89 7e 08 mov DWORD PTR [esi+0x8],edi
107735: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107739: 89 34 24 mov DWORD PTR [esp],esi
10773c: e8 83 13 00 00 call 108ac4 <OrderedArrayInsert>
107741: 89 d8 mov eax,ebx
107743: 83 c4 30 add esp,0x30
107746: 5b pop ebx
107747: 5e pop esi
107748: 5f pop edi
107749: c3 ret
0010774a <MemHeapExpand>:
10774a: 55 push ebp
10774b: 57 push edi
10774c: 56 push esi
10774d: 53 push ebx
10774e: 83 ec 1c sub esp,0x1c
107751: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
107755: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38]
107759: 8b 77 14 mov esi,DWORD PTR [edi+0x14]
10775c: 8b 57 10 mov edx,DWORD PTR [edi+0x10]
10775f: 89 f0 mov eax,esi
107761: 29 d0 sub eax,edx
107763: 3b 44 24 30 cmp eax,DWORD PTR [esp+0x30]
107767: 73 61 jae 1077ca <MemHeapExpand+0x80>
107769: f7 44 24 30 ff 0f 00 test DWORD PTR [esp+0x30],0xfff
107770: 00
107771: 74 14 je 107787 <MemHeapExpand+0x3d>
107773: 8b 4c 24 30 mov ecx,DWORD PTR [esp+0x30]
107777: 81 e1 00 f0 ff ff and ecx,0xfffff000
10777d: 81 c1 00 10 00 00 add ecx,0x1000
107783: 89 4c 24 30 mov DWORD PTR [esp+0x30],ecx
107787: 03 54 24 30 add edx,DWORD PTR [esp+0x30]
10778b: 3b 57 18 cmp edx,DWORD PTR [edi+0x18]
10778e: 73 3a jae 1077ca <MemHeapExpand+0x80>
107790: 39 d6 cmp esi,edx
107792: 73 2f jae 1077c3 <MemHeapExpand+0x79>
107794: 31 db xor ebx,ebx
107796: 8a 5f 1c mov bl,BYTE PTR [edi+0x1c]
107799: e8 05 07 00 00 call 107ea3 <MemPhAllocateBlock>
10779e: 89 6c 24 0c mov DWORD PTR [esp+0xc],ebp
1077a2: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
1077a6: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
1077aa: 89 04 24 mov DWORD PTR [esp],eax
1077ad: e8 94 04 00 00 call 107c46 <PagingMapPage>
1077b2: 81 c6 00 10 00 00 add esi,0x1000
1077b8: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30]
1077bc: 03 57 10 add edx,DWORD PTR [edi+0x10]
1077bf: 39 f2 cmp edx,esi
1077c1: 77 d1 ja 107794 <MemHeapExpand+0x4a>
1077c3: 89 57 14 mov DWORD PTR [edi+0x14],edx
1077c6: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
1077ca: 83 c4 1c add esp,0x1c
1077cd: 5b pop ebx
1077ce: 5e pop esi
1077cf: 5f pop edi
1077d0: 5d pop ebp
1077d1: c3 ret
001077d2 <MemHeapContract>:
1077d2: 55 push ebp
1077d3: 57 push edi
1077d4: 56 push esi
1077d5: 53 push ebx
1077d6: 83 ec 1c sub esp,0x1c
1077d9: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30]
1077dd: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
1077e1: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38]
1077e5: 8b 5f 14 mov ebx,DWORD PTR [edi+0x14]
1077e8: 8b 47 10 mov eax,DWORD PTR [edi+0x10]
1077eb: 89 de mov esi,ebx
1077ed: 29 c6 sub esi,eax
1077ef: 39 d6 cmp esi,edx
1077f1: 76 4d jbe 107840 <MemHeapContract+0x6e>
1077f3: f7 c2 ff 0f 00 00 test edx,0xfff
1077f9: 74 0c je 107807 <MemHeapContract+0x35>
1077fb: 81 e2 00 f0 ff ff and edx,0xfffff000
107801: 81 c2 00 10 00 00 add edx,0x1000
107807: 89 d6 mov esi,edx
107809: 81 fa 00 00 07 00 cmp edx,0x70000
10780f: 73 05 jae 107816 <MemHeapContract+0x44>
107811: be 00 00 07 00 mov esi,0x70000
107816: 81 eb 00 10 00 00 sub ebx,0x1000
10781c: 01 f0 add eax,esi
10781e: 39 d8 cmp eax,ebx
107820: 73 1b jae 10783d <MemHeapContract+0x6b>
107822: 89 6c 24 04 mov DWORD PTR [esp+0x4],ebp
107826: 89 1c 24 mov DWORD PTR [esp],ebx
107829: e8 4e 05 00 00 call 107d7c <PagingUnmapPage>
10782e: 81 eb 00 10 00 00 sub ebx,0x1000
107834: 89 f0 mov eax,esi
107836: 03 47 10 add eax,DWORD PTR [edi+0x10]
107839: 39 d8 cmp eax,ebx
10783b: 72 e5 jb 107822 <MemHeapContract+0x50>
10783d: 89 47 14 mov DWORD PTR [edi+0x14],eax
107840: 89 f0 mov eax,esi
107842: 83 c4 1c add esp,0x1c
107845: 5b pop ebx
107846: 5e pop esi
107847: 5f pop edi
107848: 5d pop ebp
107849: c3 ret
0010784a <MemHeapAlloc>:
10784a: 55 push ebp
10784b: 57 push edi
10784c: 56 push esi
10784d: 53 push ebx
10784e: 83 ec 3c sub esp,0x3c
107851: 8b 6c 24 50 mov ebp,DWORD PTR [esp+0x50]
107855: 8b 5c 24 58 mov ebx,DWORD PTR [esp+0x58]
107859: 8a 44 24 54 mov al,BYTE PTR [esp+0x54]
10785d: 88 44 24 18 mov BYTE PTR [esp+0x18],al
107861: 85 ed test ebp,ebp
107863: 0f 84 f6 01 00 00 je 107a5f <MemHeapAlloc+0x215>
107869: 85 db test ebx,ebx
10786b: 0f 84 ee 01 00 00 je 107a5f <MemHeapAlloc+0x215>
107871: 8d 7d 14 lea edi,[ebp+0x14]
107874: 88 c2 mov dl,al
107876: 81 e2 ff 00 00 00 and edx,0xff
10787c: 89 54 24 20 mov DWORD PTR [esp+0x20],edx
107880: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
107884: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
107888: 89 3c 24 mov DWORD PTR [esp],edi
10788b: e8 5f fd ff ff call 1075ef <MemHeapFindSmallestHole>
107890: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
107894: 83 f8 ff cmp eax,0xffffffff
107897: 0f 85 e9 00 00 00 jne 107986 <MemHeapAlloc+0x13c>
10789d: 8b 4b 14 mov ecx,DWORD PTR [ebx+0x14]
1078a0: 89 4c 24 1c mov DWORD PTR [esp+0x1c],ecx
1078a4: 2b 4b 10 sub ecx,DWORD PTR [ebx+0x10]
1078a7: 89 4c 24 24 mov DWORD PTR [esp+0x24],ecx
1078ab: 8b 44 24 5c mov eax,DWORD PTR [esp+0x5c]
1078af: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
1078b3: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
1078b7: 01 cf add edi,ecx
1078b9: 89 3c 24 mov DWORD PTR [esp],edi
1078bc: e8 89 fe ff ff call 10774a <MemHeapExpand>
1078c1: 8b 43 14 mov eax,DWORD PTR [ebx+0x14]
1078c4: 2b 43 10 sub eax,DWORD PTR [ebx+0x10]
1078c7: 89 44 24 28 mov DWORD PTR [esp+0x28],eax
1078cb: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0
1078cf: 74 40 je 107911 <MemHeapAlloc+0xc7>
1078d1: bf 00 00 00 00 mov edi,0x0
1078d6: c7 44 24 18 00 00 00 mov DWORD PTR [esp+0x18],0x0
1078dd: 00
1078de: be 00 00 00 00 mov esi,0x0
1078e3: 89 6c 24 2c mov DWORD PTR [esp+0x2c],ebp
1078e7: 89 dd mov ebp,ebx
1078e9: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
1078ed: 89 34 24 mov DWORD PTR [esp],esi
1078f0: e8 38 12 00 00 call 108b2d <OrderedArrayLookup>
1078f5: 39 f8 cmp eax,edi
1078f7: 76 06 jbe 1078ff <MemHeapAlloc+0xb5>
1078f9: 89 c7 mov edi,eax
1078fb: 89 74 24 18 mov DWORD PTR [esp+0x18],esi
1078ff: 46 inc esi
107900: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
107903: 39 f0 cmp eax,esi
107905: 77 e0 ja 1078e7 <MemHeapAlloc+0x9d>
107907: 89 ee mov esi,ebp
107909: 8b 6c 24 2c mov ebp,DWORD PTR [esp+0x2c]
10790d: 85 c0 test eax,eax
10790f: 75 27 jne 107938 <MemHeapAlloc+0xee>
107911: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c]
107915: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514
10791b: c6 46 04 00 mov BYTE PTR [esi+0x4],0x0
10791f: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
107923: 2b 44 24 24 sub eax,DWORD PTR [esp+0x24]
107927: 89 46 08 mov DWORD PTR [esi+0x8],eax
10792a: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
10792e: 89 34 24 mov DWORD PTR [esp],esi
107931: e8 8e 11 00 00 call 108ac4 <OrderedArrayInsert>
107936: eb 1d jmp 107955 <MemHeapAlloc+0x10b>
107938: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
10793c: 8b 4c 24 18 mov ecx,DWORD PTR [esp+0x18]
107940: 89 0c 24 mov DWORD PTR [esp],ecx
107943: e8 e5 11 00 00 call 108b2d <OrderedArrayLookup>
107948: 89 c6 mov esi,eax
10794a: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
10794e: 2b 44 24 24 sub eax,DWORD PTR [esp+0x24]
107952: 89 46 08 mov DWORD PTR [esi+0x8],eax
107955: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
107958: 8d 44 06 f8 lea eax,[esi+eax*1-0x8]
10795c: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514
107962: 89 70 04 mov DWORD PTR [eax+0x4],esi
107965: 8b 44 24 5c mov eax,DWORD PTR [esp+0x5c]
107969: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
10796d: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
107971: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
107975: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
107979: 89 2c 24 mov DWORD PTR [esp],ebp
10797c: e8 c9 fe ff ff call 10784a <MemHeapAlloc>
107981: e9 de 00 00 00 jmp 107a64 <MemHeapAlloc+0x21a>
107986: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
10798a: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
10798e: 89 04 24 mov DWORD PTR [esp],eax
107991: e8 97 11 00 00 call 108b2d <OrderedArrayLookup>
107996: 89 c6 mov esi,eax
107998: 8b 56 08 mov edx,DWORD PTR [esi+0x8]
10799b: 89 54 24 14 mov DWORD PTR [esp+0x14],edx
10799f: 29 fa sub edx,edi
1079a1: 83 fa 14 cmp edx,0x14
1079a4: 77 06 ja 1079ac <MemHeapAlloc+0x162>
1079a6: 01 d5 add ebp,edx
1079a8: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14]
1079ac: 80 7c 24 18 00 cmp BYTE PTR [esp+0x18],0x0
1079b1: 74 43 je 1079f6 <MemHeapAlloc+0x1ac>
1079b3: 89 f2 mov edx,esi
1079b5: 81 e2 00 f0 ff ff and edx,0xfffff000
1079bb: 74 39 je 1079f6 <MemHeapAlloc+0x1ac>
1079bd: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514
1079c3: c6 40 04 00 mov BYTE PTR [eax+0x4],0x0
1079c7: 81 e6 ff 0f 00 00 and esi,0xfff
1079cd: b9 f4 0f 00 00 mov ecx,0xff4
1079d2: 29 f1 sub ecx,esi
1079d4: 89 48 08 mov DWORD PTR [eax+0x8],ecx
1079d7: c7 82 ec 0f 00 00 14 mov DWORD PTR [edx+0xfec],0x50dbe514
1079de: e5 db 50
1079e1: 89 82 f0 0f 00 00 mov DWORD PTR [edx+0xff0],eax
1079e7: 8b 48 08 mov ecx,DWORD PTR [eax+0x8]
1079ea: 29 4c 24 14 sub DWORD PTR [esp+0x14],ecx
1079ee: 8d b2 f4 0f 00 00 lea esi,[edx+0xff4]
1079f4: eb 10 jmp 107a06 <MemHeapAlloc+0x1bc>
1079f6: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
1079fa: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
1079fe: 89 04 24 mov DWORD PTR [esp],eax
107a01: e8 3f 11 00 00 call 108b45 <OrderedArrayDeleteIndex>
107a06: 01 f5 add ebp,esi
107a08: c7 06 14 e5 db 50 mov DWORD PTR [esi],0x50dbe514
107a0e: c6 46 04 01 mov BYTE PTR [esi+0x4],0x1
107a12: 89 7e 08 mov DWORD PTR [esi+0x8],edi
107a15: c7 45 0c 14 e5 db 50 mov DWORD PTR [ebp+0xc],0x50dbe514
107a1c: 89 75 10 mov DWORD PTR [ebp+0x10],esi
107a1f: 39 7c 24 14 cmp DWORD PTR [esp+0x14],edi
107a23: 74 35 je 107a5a <MemHeapAlloc+0x210>
107a25: 8d 45 14 lea eax,[ebp+0x14]
107a28: 8b 54 24 14 mov edx,DWORD PTR [esp+0x14]
107a2c: 29 fa sub edx,edi
107a2e: c7 45 14 14 e5 db 50 mov DWORD PTR [ebp+0x14],0x50dbe514
107a35: c6 40 04 00 mov BYTE PTR [eax+0x4],0x0
107a39: 89 50 08 mov DWORD PTR [eax+0x8],edx
107a3c: 8d 54 10 f8 lea edx,[eax+edx*1-0x8]
107a40: 3b 53 14 cmp edx,DWORD PTR [ebx+0x14]
107a43: 73 09 jae 107a4e <MemHeapAlloc+0x204>
107a45: c7 02 14 e5 db 50 mov DWORD PTR [edx],0x50dbe514
107a4b: 89 42 04 mov DWORD PTR [edx+0x4],eax
107a4e: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107a52: 89 04 24 mov DWORD PTR [esp],eax
107a55: e8 6a 10 00 00 call 108ac4 <OrderedArrayInsert>
107a5a: 8d 46 0c lea eax,[esi+0xc]
107a5d: eb 05 jmp 107a64 <MemHeapAlloc+0x21a>
107a5f: b8 00 00 00 00 mov eax,0x0
107a64: 83 c4 3c add esp,0x3c
107a67: 5b pop ebx
107a68: 5e pop esi
107a69: 5f pop edi
107a6a: 5d pop ebp
107a6b: c3 ret
00107a6c <MemHeapFree>:
107a6c: 55 push ebp
107a6d: 57 push edi
107a6e: 56 push esi
107a6f: 53 push ebx
107a70: 83 ec 2c sub esp,0x2c
107a73: 8b 44 24 40 mov eax,DWORD PTR [esp+0x40]
107a77: 8b 5c 24 44 mov ebx,DWORD PTR [esp+0x44]
107a7b: 85 c0 test eax,eax
107a7d: 0f 84 86 01 00 00 je 107c09 <MemHeapFree+0x19d>
107a83: 85 db test ebx,ebx
107a85: 0f 84 7e 01 00 00 je 107c09 <MemHeapFree+0x19d>
107a8b: 8d 68 f4 lea ebp,[eax-0xc]
107a8e: 89 ef mov edi,ebp
107a90: 8b 50 fc mov edx,DWORD PTR [eax-0x4]
107a93: 81 78 f4 14 e5 db 50 cmp DWORD PTR [eax-0xc],0x50dbe514
107a9a: 0f 85 69 01 00 00 jne 107c09 <MemHeapFree+0x19d>
107aa0: 8d 74 15 00 lea esi,[ebp+edx*1+0x0]
107aa4: 8d 4e f8 lea ecx,[esi-0x8]
107aa7: 81 7e f8 14 e5 db 50 cmp DWORD PTR [esi-0x8],0x50dbe514
107aae: 0f 85 55 01 00 00 jne 107c09 <MemHeapFree+0x19d>
107ab4: c6 40 f8 00 mov BYTE PTR [eax-0x8],0x0
107ab8: c6 44 24 13 01 mov BYTE PTR [esp+0x13],0x1
107abd: 81 78 ec 14 e5 db 50 cmp DWORD PTR [eax-0x14],0x50dbe514
107ac4: 75 16 jne 107adc <MemHeapFree+0x70>
107ac6: 8b 40 f0 mov eax,DWORD PTR [eax-0x10]
107ac9: 80 78 04 00 cmp BYTE PTR [eax+0x4],0x0
107acd: 75 0d jne 107adc <MemHeapFree+0x70>
107acf: 89 41 04 mov DWORD PTR [ecx+0x4],eax
107ad2: 01 50 08 add DWORD PTR [eax+0x8],edx
107ad5: 89 c7 mov edi,eax
107ad7: c6 44 24 13 00 mov BYTE PTR [esp+0x13],0x0
107adc: 3b 73 14 cmp esi,DWORD PTR [ebx+0x14]
107adf: 73 73 jae 107b54 <MemHeapFree+0xe8>
107ae1: 81 3e 14 e5 db 50 cmp DWORD PTR [esi],0x50dbe514
107ae7: 75 6b jne 107b54 <MemHeapFree+0xe8>
107ae9: 80 7e 04 00 cmp BYTE PTR [esi+0x4],0x0
107aed: 75 65 jne 107b54 <MemHeapFree+0xe8>
107aef: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
107af2: 01 47 08 add DWORD PTR [edi+0x8],eax
107af5: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
107af8: 8d 44 06 f8 lea eax,[esi+eax*1-0x8]
107afc: 89 44 24 14 mov DWORD PTR [esp+0x14],eax
107b00: bd 00 00 00 00 mov ebp,0x0
107b05: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0
107b09: 75 10 jne 107b1b <MemHeapFree+0xaf>
107b0b: e9 f0 00 00 00 jmp 107c00 <MemHeapFree+0x194>
107b10: 45 inc ebp
107b11: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp
107b14: 77 0b ja 107b21 <MemHeapFree+0xb5>
107b16: e9 df 00 00 00 jmp 107bfa <MemHeapFree+0x18e>
107b1b: 89 7c 24 18 mov DWORD PTR [esp+0x18],edi
107b1f: 89 f7 mov edi,esi
107b21: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107b25: 89 2c 24 mov DWORD PTR [esp],ebp
107b28: e8 00 10 00 00 call 108b2d <OrderedArrayLookup>
107b2d: 39 c7 cmp edi,eax
107b2f: 75 df jne 107b10 <MemHeapFree+0xa4>
107b31: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx
107b35: 89 fe mov esi,edi
107b37: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18]
107b3b: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14]
107b3f: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp
107b42: 76 10 jbe 107b54 <MemHeapFree+0xe8>
107b44: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107b48: 89 2c 24 mov DWORD PTR [esp],ebp
107b4b: e8 f5 0f 00 00 call 108b45 <OrderedArrayDeleteIndex>
107b50: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14]
107b54: 8d 69 08 lea ebp,[ecx+0x8]
107b57: 3b 6b 14 cmp ebp,DWORD PTR [ebx+0x14]
107b5a: 0f 85 85 00 00 00 jne 107be5 <MemHeapFree+0x179>
107b60: 2b 6b 10 sub ebp,DWORD PTR [ebx+0x10]
107b63: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48]
107b67: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
107b6b: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107b6f: 8b 47 08 mov eax,DWORD PTR [edi+0x8]
107b72: 8d 44 07 f8 lea eax,[edi+eax*1-0x8]
107b76: 89 04 24 mov DWORD PTR [esp],eax
107b79: e8 54 fc ff ff call 1077d2 <MemHeapContract>
107b7e: 8b 57 08 mov edx,DWORD PTR [edi+0x8]
107b81: 89 e9 mov ecx,ebp
107b83: 29 c1 sub ecx,eax
107b85: 39 ca cmp edx,ecx
107b87: 77 0d ja 107b96 <MemHeapFree+0x12a>
107b89: bd 00 00 00 00 mov ebp,0x0
107b8e: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0
107b92: 75 20 jne 107bb4 <MemHeapFree+0x148>
107b94: eb 4f jmp 107be5 <MemHeapFree+0x179>
107b96: 29 ea sub edx,ebp
107b98: 01 d0 add eax,edx
107b9a: 89 47 08 mov DWORD PTR [edi+0x8],eax
107b9d: 8d 44 07 f8 lea eax,[edi+eax*1-0x8]
107ba1: c7 00 14 e5 db 50 mov DWORD PTR [eax],0x50dbe514
107ba7: 89 78 04 mov DWORD PTR [eax+0x4],edi
107baa: eb 39 jmp 107be5 <MemHeapFree+0x179>
107bac: 45 inc ebp
107bad: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp
107bb0: 77 08 ja 107bba <MemHeapFree+0x14e>
107bb2: eb 2d jmp 107be1 <MemHeapFree+0x175>
107bb4: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi
107bb8: 89 f7 mov edi,esi
107bba: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107bbe: 89 2c 24 mov DWORD PTR [esp],ebp
107bc1: e8 67 0f 00 00 call 108b2d <OrderedArrayLookup>
107bc6: 39 c7 cmp edi,eax
107bc8: 75 e2 jne 107bac <MemHeapFree+0x140>
107bca: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14]
107bce: 39 6b 04 cmp DWORD PTR [ebx+0x4],ebp
107bd1: 76 12 jbe 107be5 <MemHeapFree+0x179>
107bd3: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107bd7: 89 2c 24 mov DWORD PTR [esp],ebp
107bda: e8 66 0f 00 00 call 108b45 <OrderedArrayDeleteIndex>
107bdf: eb 04 jmp 107be5 <MemHeapFree+0x179>
107be1: 8b 7c 24 14 mov edi,DWORD PTR [esp+0x14]
107be5: 80 7c 24 13 00 cmp BYTE PTR [esp+0x13],0x0
107bea: 74 1d je 107c09 <MemHeapFree+0x19d>
107bec: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107bf0: 89 3c 24 mov DWORD PTR [esp],edi
107bf3: e8 cc 0e 00 00 call 108ac4 <OrderedArrayInsert>
107bf8: eb 0f jmp 107c09 <MemHeapFree+0x19d>
107bfa: 89 fe mov esi,edi
107bfc: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18]
107c00: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14]
107c04: e9 4b ff ff ff jmp 107b54 <MemHeapFree+0xe8>
107c09: 83 c4 2c add esp,0x2c
107c0c: 5b pop ebx
107c0d: 5e pop esi
107c0e: 5f pop edi
107c0f: 5d pop ebp
107c10: c3 ret
107c11: 00 00 add BYTE PTR [eax],al
...
00107c14 <PagingEnable>:
107c14: 0f 20 c0 mov eax,cr0
107c17: 0d 00 00 00 80 or eax,0x80000000
107c1c: 0f 22 c0 mov cr0,eax
107c1f: c3 ret
00107c20 <PagingDisable>:
107c20: 0f 20 c0 mov eax,cr0
107c23: 25 ff ff ff 7f and eax,0x7fffffff
107c28: 0f 22 c0 mov cr0,eax
107c2b: c3 ret
00107c2c <PagingSwitchDirectory>:
107c2c: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
107c30: a3 e8 d9 10 00 mov ds:0x10d9e8,eax
107c35: 8b 80 00 20 00 00 mov eax,DWORD PTR [eax+0x2000]
107c3b: 0f 22 d8 mov cr3,eax
107c3e: c3 ret
00107c3f <PagingFlushTlb>:
107c3f: 0f 20 d8 mov eax,cr3
107c42: 0f 22 d8 mov cr3,eax
107c45: c3 ret
00107c46 <PagingMapPage>:
107c46: 55 push ebp
107c47: 57 push edi
107c48: 56 push esi
107c49: 53 push ebx
107c4a: 83 ec 3c sub esp,0x3c
107c4d: 8b 7c 24 54 mov edi,DWORD PTR [esp+0x54]
107c51: 8b 5c 24 5c mov ebx,DWORD PTR [esp+0x5c]
107c55: 89 fe mov esi,edi
107c57: c1 ee 16 shr esi,0x16
107c5a: c1 ef 0c shr edi,0xc
107c5d: 81 e7 ff 03 00 00 and edi,0x3ff
107c63: 8b 6c 24 50 mov ebp,DWORD PTR [esp+0x50]
107c67: 81 e5 00 f0 ff ff and ebp,0xfffff000
107c6d: 8b 44 24 58 mov eax,DWORD PTR [esp+0x58]
107c71: 25 ff 0f 00 00 and eax,0xfff
107c76: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
107c7a: 83 3c b3 00 cmp DWORD PTR [ebx+esi*4],0x0
107c7e: 75 45 jne 107cc5 <PagingMapPage+0x7f>
107c80: 8d 44 24 2c lea eax,[esp+0x2c]
107c84: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
107c88: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000
107c8f: e8 4c 06 00 00 call 1082e0 <kmalloc_ap>
107c94: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
107c98: c7 44 24 08 00 10 00 mov DWORD PTR [esp+0x8],0x1000
107c9f: 00
107ca0: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
107ca7: 00
107ca8: 89 04 24 mov DWORD PTR [esp],eax
107cab: e8 c7 03 00 00 call 108077 <memset>
107cb0: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
107cb4: 89 04 b3 mov DWORD PTR [ebx+esi*4],eax
107cb7: 8b 44 24 2c mov eax,DWORD PTR [esp+0x2c]
107cbb: 83 c8 07 or eax,0x7
107cbe: 89 84 b3 00 10 00 00 mov DWORD PTR [ebx+esi*4+0x1000],eax
107cc5: 8b 04 b3 mov eax,DWORD PTR [ebx+esi*4]
107cc8: 83 cd 01 or ebp,0x1
107ccb: 0b 6c 24 18 or ebp,DWORD PTR [esp+0x18]
107ccf: 89 2c b8 mov DWORD PTR [eax+edi*4],ebp
107cd2: 3b 1d e8 d9 10 00 cmp ebx,DWORD PTR ds:0x10d9e8
107cd8: 75 05 jne 107cdf <PagingMapPage+0x99>
107cda: e8 60 ff ff ff call 107c3f <PagingFlushTlb>
107cdf: 83 c4 3c add esp,0x3c
107ce2: 5b pop ebx
107ce3: 5e pop esi
107ce4: 5f pop edi
107ce5: 5d pop ebp
107ce6: c3 ret
00107ce7 <PagingInitialize>:
107ce7: 57 push edi
107ce8: 56 push esi
107ce9: 53 push ebx
107cea: 83 ec 10 sub esp,0x10
107ced: 8b 7c 24 20 mov edi,DWORD PTR [esp+0x20]
107cf1: c7 04 24 04 20 00 00 mov DWORD PTR [esp],0x2004
107cf8: e8 4d 05 00 00 call 10824a <kmalloc_a>
107cfd: 89 c6 mov esi,eax
107cff: c7 44 24 08 04 20 00 mov DWORD PTR [esp+0x8],0x2004
107d06: 00
107d07: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
107d0e: 00
107d0f: 89 04 24 mov DWORD PTR [esp],eax
107d12: e8 60 03 00 00 call 108077 <memset>
107d17: 89 35 e4 d9 10 00 mov DWORD PTR ds:0x10d9e4,esi
107d1d: 8d 86 00 10 00 00 lea eax,[esi+0x1000]
107d23: 89 86 00 20 00 00 mov DWORD PTR [esi+0x2000],eax
107d29: bb 00 00 00 00 mov ebx,0x0
107d2e: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
107d32: c7 44 24 08 02 00 00 mov DWORD PTR [esp+0x8],0x2
107d39: 00
107d3a: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
107d3e: 89 1c 24 mov DWORD PTR [esp],ebx
107d41: e8 00 ff ff ff call 107c46 <PagingMapPage>
107d46: 81 c3 00 10 00 00 add ebx,0x1000
107d4c: 8b 07 mov eax,DWORD PTR [edi]
107d4e: 8d 90 00 04 00 00 lea edx,[eax+0x400]
107d54: 39 da cmp edx,ebx
107d56: 73 d6 jae 107d2e <PagingInitialize+0x47>
107d58: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
107d5c: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
107d63: e8 5b 02 00 00 call 107fc3 <MemPhReserveBlocks>
107d68: 89 34 24 mov DWORD PTR [esp],esi
107d6b: e8 bc fe ff ff call 107c2c <PagingSwitchDirectory>
107d70: e8 9f fe ff ff call 107c14 <PagingEnable>
107d75: 83 c4 10 add esp,0x10
107d78: 5b pop ebx
107d79: 5e pop esi
107d7a: 5f pop edi
107d7b: c3 ret
00107d7c <PagingUnmapPage>:
107d7c: 53 push ebx
107d7d: 83 ec 18 sub esp,0x18
107d80: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
107d84: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
107d88: 89 d0 mov eax,edx
107d8a: c1 e8 16 shr eax,0x16
107d8d: 8b 04 83 mov eax,DWORD PTR [ebx+eax*4]
107d90: 85 c0 test eax,eax
107d92: 74 32 je 107dc6 <PagingUnmapPage+0x4a>
107d94: c1 ea 0c shr edx,0xc
107d97: 81 e2 ff 03 00 00 and edx,0x3ff
107d9d: 8b 0c 90 mov ecx,DWORD PTR [eax+edx*4]
107da0: 85 c9 test ecx,ecx
107da2: 74 22 je 107dc6 <PagingUnmapPage+0x4a>
107da4: c7 04 90 00 00 00 00 mov DWORD PTR [eax+edx*4],0x0
107dab: 81 e1 00 f0 ff ff and ecx,0xfffff000
107db1: 89 0c 24 mov DWORD PTR [esp],ecx
107db4: e8 68 01 00 00 call 107f21 <MemPhFreeBlock>
107db9: 3b 1d e8 d9 10 00 cmp ebx,DWORD PTR ds:0x10d9e8
107dbf: 75 05 jne 107dc6 <PagingUnmapPage+0x4a>
107dc1: e8 79 fe ff ff call 107c3f <PagingFlushTlb>
107dc6: 83 c4 18 add esp,0x18
107dc9: 5b pop ebx
107dca: c3 ret
00107dcb <PagingGetPhysical>:
107dcb: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4]
107dcf: 89 ca mov edx,ecx
107dd1: c1 ea 16 shr edx,0x16
107dd4: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
107dd8: 8b 14 90 mov edx,DWORD PTR [eax+edx*4]
107ddb: b8 00 00 00 00 mov eax,0x0
107de0: 85 d2 test edx,edx
107de2: 74 17 je 107dfb <PagingGetPhysical+0x30>
107de4: c1 e9 0c shr ecx,0xc
107de7: 81 e1 ff 03 00 00 and ecx,0x3ff
107ded: 8b 14 8a mov edx,DWORD PTR [edx+ecx*4]
107df0: 85 d2 test edx,edx
107df2: 74 07 je 107dfb <PagingGetPhysical+0x30>
107df4: 89 d0 mov eax,edx
107df6: 25 00 f0 ff ff and eax,0xfffff000
107dfb: c3 ret
00107dfc <ConvertIndexToBlock>:
107dfc: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
107e00: 89 c1 mov ecx,eax
107e02: c1 e9 05 shr ecx,0x5
107e05: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
107e09: 89 0a mov DWORD PTR [edx],ecx
107e0b: 83 e0 1f and eax,0x1f
107e0e: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc]
107e12: 89 02 mov DWORD PTR [edx],eax
107e14: c3 ret
00107e15 <ConvertBlockToIndex>:
107e15: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
107e19: c1 e0 05 shl eax,0x5
107e1c: 0b 44 24 08 or eax,DWORD PTR [esp+0x8]
107e20: c3 ret
00107e21 <MemPhSetBlock>:
107e21: 53 push ebx
107e22: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8]
107e26: 89 c8 mov eax,ecx
107e28: c1 e8 05 shr eax,0x5
107e2b: 83 e1 1f and ecx,0x1f
107e2e: 80 7c 24 0c 00 cmp BYTE PTR [esp+0xc],0x0
107e33: 74 2a je 107e5f <MemPhSetBlock+0x3e>
107e35: c1 e0 02 shl eax,0x2
107e38: 03 05 f4 d9 10 00 add eax,DWORD PTR ds:0x10d9f4
107e3e: bb 01 00 00 00 mov ebx,0x1
107e43: d3 e3 shl ebx,cl
107e45: 89 da mov edx,ebx
107e47: 23 10 and edx,DWORD PTR [eax]
107e49: 83 fa 01 cmp edx,0x1
107e4c: 0f 92 c2 setb dl
107e4f: 81 e2 ff 00 00 00 and edx,0xff
107e55: 01 15 f0 d9 10 00 add DWORD PTR ds:0x10d9f0,edx
107e5b: 09 18 or DWORD PTR [eax],ebx
107e5d: eb 2a jmp 107e89 <MemPhSetBlock+0x68>
107e5f: c1 e0 02 shl eax,0x2
107e62: 03 05 f4 d9 10 00 add eax,DWORD PTR ds:0x10d9f4
107e68: ba 01 00 00 00 mov edx,0x1
107e6d: d3 e2 shl edx,cl
107e6f: 89 d1 mov ecx,edx
107e71: 23 08 and ecx,DWORD PTR [eax]
107e73: 83 f9 01 cmp ecx,0x1
107e76: 8b 0d f0 d9 10 00 mov ecx,DWORD PTR ds:0x10d9f0
107e7c: 83 d1 ff adc ecx,0xffffffff
107e7f: 89 0d f0 d9 10 00 mov DWORD PTR ds:0x10d9f0,ecx
107e85: f7 d2 not edx
107e87: 21 10 and DWORD PTR [eax],edx
107e89: 5b pop ebx
107e8a: c3 ret
00107e8b <MemPhGetBlock>:
107e8b: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4]
107e8f: b8 01 00 00 00 mov eax,0x1
107e94: d3 e0 shl eax,cl
107e96: c1 e9 05 shr ecx,0x5
107e99: 8b 15 f4 d9 10 00 mov edx,DWORD PTR ds:0x10d9f4
107e9f: 23 04 8a and eax,DWORD PTR [edx+ecx*4]
107ea2: c3 ret
00107ea3 <MemPhAllocateBlock>:
107ea3: 56 push esi
107ea4: 53 push ebx
107ea5: 83 ec 08 sub esp,0x8
107ea8: 8b 35 f8 d9 10 00 mov esi,DWORD PTR ds:0x10d9f8
107eae: b8 ff ff ff ff mov eax,0xffffffff
107eb3: c1 ee 05 shr esi,0x5
107eb6: 74 63 je 107f1b <MemPhAllocateBlock+0x78>
107eb8: 8b 0d f4 d9 10 00 mov ecx,DWORD PTR ds:0x10d9f4
107ebe: 8b 11 mov edx,DWORD PTR [ecx]
107ec0: b8 00 00 00 00 mov eax,0x0
107ec5: 83 fa ff cmp edx,0xffffffff
107ec8: 74 47 je 107f11 <MemPhAllocateBlock+0x6e>
107eca: eb 0a jmp 107ed6 <MemPhAllocateBlock+0x33>
107ecc: 8b 14 81 mov edx,DWORD PTR [ecx+eax*4]
107ecf: 83 fa ff cmp edx,0xffffffff
107ed2: 74 3d je 107f11 <MemPhAllocateBlock+0x6e>
107ed4: eb 05 jmp 107edb <MemPhAllocateBlock+0x38>
107ed6: b8 00 00 00 00 mov eax,0x0
107edb: b9 00 00 00 00 mov ecx,0x0
107ee0: f6 c2 01 test dl,0x1
107ee3: 74 0e je 107ef3 <MemPhAllocateBlock+0x50>
107ee5: be 01 00 00 00 mov esi,0x1
107eea: 41 inc ecx
107eeb: 89 f3 mov ebx,esi
107eed: d3 e3 shl ebx,cl
107eef: 85 d3 test ebx,edx
107ef1: 75 f7 jne 107eea <MemPhAllocateBlock+0x47>
107ef3: 89 c3 mov ebx,eax
107ef5: c1 e3 05 shl ebx,0x5
107ef8: 09 cb or ebx,ecx
107efa: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
107f01: 00
107f02: 89 1c 24 mov DWORD PTR [esp],ebx
107f05: e8 17 ff ff ff call 107e21 <MemPhSetBlock>
107f0a: 89 d8 mov eax,ebx
107f0c: c1 e0 0c shl eax,0xc
107f0f: eb 0a jmp 107f1b <MemPhAllocateBlock+0x78>
107f11: 40 inc eax
107f12: 39 f0 cmp eax,esi
107f14: 75 b6 jne 107ecc <MemPhAllocateBlock+0x29>
107f16: b8 ff ff ff ff mov eax,0xffffffff
107f1b: 83 c4 08 add esp,0x8
107f1e: 5b pop ebx
107f1f: 5e pop esi
107f20: c3 ret
00107f21 <MemPhFreeBlock>:
107f21: 83 ec 08 sub esp,0x8
107f24: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
107f28: c1 e8 0c shr eax,0xc
107f2b: 74 10 je 107f3d <MemPhFreeBlock+0x1c>
107f2d: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
107f34: 00
107f35: 89 04 24 mov DWORD PTR [esp],eax
107f38: e8 e4 fe ff ff call 107e21 <MemPhSetBlock>
107f3d: 83 c4 08 add esp,0x8
107f40: c3 ret
00107f41 <MemPhInitialize>:
107f41: 53 push ebx
107f42: 83 ec 28 sub esp,0x28
107f45: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
107f49: 89 d8 mov eax,ebx
107f4b: c1 e8 02 shr eax,0x2
107f4e: a3 f8 d9 10 00 mov ds:0x10d9f8,eax
107f53: 89 1d ec d9 10 00 mov DWORD PTR ds:0x10d9ec,ebx
107f59: 89 d8 mov eax,ebx
107f5b: c1 e8 07 shr eax,0x7
107f5e: 8d 04 85 04 00 00 00 lea eax,[eax*4+0x4]
107f65: 89 04 24 mov DWORD PTR [esp],eax
107f68: e8 94 02 00 00 call 108201 <kmalloc>
107f6d: a3 f4 d9 10 00 mov ds:0x10d9f4,eax
107f72: 8b 15 f8 d9 10 00 mov edx,DWORD PTR ds:0x10d9f8
107f78: c1 ea 05 shr edx,0x5
107f7b: 8d 14 95 04 00 00 00 lea edx,[edx*4+0x4]
107f82: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
107f86: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
107f8d: 00
107f8e: 89 04 24 mov DWORD PTR [esp],eax
107f91: e8 e1 00 00 00 call 108077 <memset>
107f96: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx
107f9a: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa
107fa1: 00
107fa2: c7 44 24 08 54 ae 10 mov DWORD PTR [esp+0x8],0x10ae54
107fa9: 00
107faa: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
107fb1: 00
107fb2: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
107fb9: e8 ea f2 ff ff call 1072a8 <LogWrite>
107fbe: 83 c4 28 add esp,0x28
107fc1: 5b pop ebx
107fc2: c3 ret
00107fc3 <MemPhReserveBlocks>:
107fc3: 56 push esi
107fc4: 53 push ebx
107fc5: 83 ec 08 sub esp,0x8
107fc8: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
107fcc: 8b 5c 24 14 mov ebx,DWORD PTR [esp+0x14]
107fd0: c1 eb 0c shr ebx,0xc
107fd3: 89 c6 mov esi,eax
107fd5: c1 ee 0c shr esi,0xc
107fd8: 01 de add esi,ebx
107fda: a9 ff 0f 00 00 test eax,0xfff
107fdf: 0f 95 c0 setne al
107fe2: 25 ff 00 00 00 and eax,0xff
107fe7: 01 c6 add esi,eax
107fe9: 39 f3 cmp ebx,esi
107feb: 73 15 jae 108002 <MemPhReserveBlocks+0x3f>
107fed: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
107ff4: 00
107ff5: 89 1c 24 mov DWORD PTR [esp],ebx
107ff8: e8 24 fe ff ff call 107e21 <MemPhSetBlock>
107ffd: 43 inc ebx
107ffe: 39 de cmp esi,ebx
108000: 77 eb ja 107fed <MemPhReserveBlocks+0x2a>
108002: 83 c4 08 add esp,0x8
108005: 5b pop ebx
108006: 5e pop esi
108007: c3 ret
00108008 <memcpy>:
108008: 56 push esi
108009: 53 push ebx
10800a: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
10800e: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
108012: 8b 74 24 14 mov esi,DWORD PTR [esp+0x14]
108016: 85 f6 test esi,esi
108018: 74 10 je 10802a <memcpy+0x22>
10801a: ba 00 00 00 00 mov edx,0x0
10801f: 8a 0c 13 mov cl,BYTE PTR [ebx+edx*1]
108022: 88 0c 10 mov BYTE PTR [eax+edx*1],cl
108025: 42 inc edx
108026: 39 f2 cmp edx,esi
108028: 75 f5 jne 10801f <memcpy+0x17>
10802a: 5b pop ebx
10802b: 5e pop esi
10802c: c3 ret
0010802d <memcmp>:
10802d: 57 push edi
10802e: 56 push esi
10802f: 53 push ebx
108030: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
108034: 8b 74 24 14 mov esi,DWORD PTR [esp+0x14]
108038: 8b 7c 24 18 mov edi,DWORD PTR [esp+0x18]
10803c: b8 00 00 00 00 mov eax,0x0
108041: 85 ff test edi,edi
108043: 74 2e je 108073 <memcmp+0x46>
108045: 8a 0b mov cl,BYTE PTR [ebx]
108047: 8a 16 mov dl,BYTE PTR [esi]
108049: 38 d1 cmp cl,dl
10804b: 74 17 je 108064 <memcmp+0x37>
10804d: eb 0c jmp 10805b <memcmp+0x2e>
10804f: 8a 4c 03 01 mov cl,BYTE PTR [ebx+eax*1+0x1]
108053: 40 inc eax
108054: 8a 14 06 mov dl,BYTE PTR [esi+eax*1]
108057: 38 d1 cmp cl,dl
108059: 74 0f je 10806a <memcmp+0x3d>
10805b: 38 d1 cmp cl,dl
10805d: 19 c0 sbb eax,eax
10805f: 83 c8 01 or eax,0x1
108062: eb 0f jmp 108073 <memcmp+0x46>
108064: 4f dec edi
108065: b8 00 00 00 00 mov eax,0x0
10806a: 39 f8 cmp eax,edi
10806c: 75 e1 jne 10804f <memcmp+0x22>
10806e: b8 00 00 00 00 mov eax,0x0
108073: 5b pop ebx
108074: 5e pop esi
108075: 5f pop edi
108076: c3 ret
00108077 <memset>:
108077: 53 push ebx
108078: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
10807c: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10]
108080: 8a 5c 24 0c mov bl,BYTE PTR [esp+0xc]
108084: 85 d2 test edx,edx
108086: 74 08 je 108090 <memset+0x19>
108088: 89 c1 mov ecx,eax
10808a: 88 19 mov BYTE PTR [ecx],bl
10808c: 41 inc ecx
10808d: 4a dec edx
10808e: 75 fa jne 10808a <memset+0x13>
108090: 5b pop ebx
108091: c3 ret
...
00108094 <_malloc_init1>:
108094: 53 push ebx
108095: 83 ec 28 sub esp,0x28
108098: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
10809c: 8b 1d 04 1b 11 00 mov ebx,DWORD PTR ds:0x111b04
1080a2: 80 7c 24 34 00 cmp BYTE PTR [esp+0x34],0x0
1080a7: 74 16 je 1080bf <_malloc_init1+0x2b>
1080a9: f7 c3 ff 0f 00 00 test ebx,0xfff
1080af: 74 53 je 108104 <_malloc_init1+0x70>
1080b1: 81 e3 00 f0 ff ff and ebx,0xfffff000
1080b7: 81 c3 00 10 00 00 add ebx,0x1000
1080bd: eb 45 jmp 108104 <_malloc_init1+0x70>
1080bf: 8d 14 18 lea edx,[eax+ebx*1]
1080c2: 89 15 04 1b 11 00 mov DWORD PTR ds:0x111b04,edx
1080c8: ba 8b ae 10 00 mov edx,0x10ae8b
1080cd: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx
1080d1: 89 54 24 14 mov DWORD PTR [esp+0x14],edx
1080d5: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1080d9: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd
1080e0: 00
1080e1: c7 44 24 08 90 ae 10 mov DWORD PTR [esp+0x8],0x10ae90
1080e8: 00
1080e9: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
1080f0: 00
1080f1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1080f8: e8 ab f1 ff ff call 1072a8 <LogWrite>
1080fd: 89 d8 mov eax,ebx
1080ff: 83 c4 28 add esp,0x28
108102: 5b pop ebx
108103: c3 ret
108104: 8d 14 03 lea edx,[ebx+eax*1]
108107: 89 15 04 1b 11 00 mov DWORD PTR ds:0x111b04,edx
10810d: ba 54 9e 10 00 mov edx,0x109e54
108112: eb b9 jmp 1080cd <_malloc_init1+0x39>
00108114 <_malloc_init2>:
108114: 55 push ebp
108115: 57 push edi
108116: 56 push esi
108117: 53 push ebx
108118: 83 ec 2c sub esp,0x2c
10811b: 8b 7c 24 40 mov edi,DWORD PTR [esp+0x40]
10811f: 8b 6c 24 48 mov ebp,DWORD PTR [esp+0x48]
108123: 0f b6 74 24 44 movzx esi,BYTE PTR [esp+0x44]
108128: a1 e4 d9 10 00 mov eax,ds:0x10d9e4
10812d: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
108131: a1 e0 d9 10 00 mov eax,ds:0x10d9e0
108136: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
10813a: 89 f0 mov eax,esi
10813c: 25 ff 00 00 00 and eax,0xff
108141: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
108145: 89 3c 24 mov DWORD PTR [esp],edi
108148: e8 fd f6 ff ff call 10784a <MemHeapAlloc>
10814d: 89 c3 mov ebx,eax
10814f: 85 ed test ebp,ebp
108151: 74 64 je 1081b7 <_malloc_init2+0xa3>
108153: a1 e4 d9 10 00 mov eax,ds:0x10d9e4
108158: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10815c: 89 1c 24 mov DWORD PTR [esp],ebx
10815f: e8 67 fc ff ff call 107dcb <PagingGetPhysical>
108164: 89 da mov edx,ebx
108166: 81 e2 ff 0f 00 00 and edx,0xfff
10816c: 01 d0 add eax,edx
10816e: 89 45 00 mov DWORD PTR [ebp+0x0],eax
108171: ba 8b ae 10 00 mov edx,0x10ae8b
108176: 89 f1 mov ecx,esi
108178: 84 c9 test cl,cl
10817a: 74 05 je 108181 <_malloc_init2+0x6d>
10817c: ba 54 9e 10 00 mov edx,0x109e54
108181: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
108185: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx
108189: 89 54 24 14 mov DWORD PTR [esp+0x14],edx
10818d: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi
108191: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd
108198: 00
108199: c7 44 24 08 d0 ae 10 mov DWORD PTR [esp+0x8],0x10aed0
1081a0: 00
1081a1: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
1081a8: 00
1081a9: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1081b0: e8 f3 f0 ff ff call 1072a8 <LogWrite>
1081b5: eb 40 jmp 1081f7 <_malloc_init2+0xe3>
1081b7: b8 8b ae 10 00 mov eax,0x10ae8b
1081bc: 89 f2 mov edx,esi
1081be: 84 d2 test dl,dl
1081c0: 74 05 je 1081c7 <_malloc_init2+0xb3>
1081c2: b8 54 9e 10 00 mov eax,0x109e54
1081c7: 89 5c 24 18 mov DWORD PTR [esp+0x18],ebx
1081cb: 89 44 24 14 mov DWORD PTR [esp+0x14],eax
1081cf: 89 7c 24 10 mov DWORD PTR [esp+0x10],edi
1081d3: c7 44 24 0c 0d 00 00 mov DWORD PTR [esp+0xc],0xd
1081da: 00
1081db: c7 44 24 08 14 af 10 mov DWORD PTR [esp+0x8],0x10af14
1081e2: 00
1081e3: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
1081ea: 00
1081eb: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1081f2: e8 b1 f0 ff ff call 1072a8 <LogWrite>
1081f7: 89 d8 mov eax,ebx
1081f9: 83 c4 2c add esp,0x2c
1081fc: 5b pop ebx
1081fd: 5e pop esi
1081fe: 5f pop edi
1081ff: 5d pop ebp
108200: c3 ret
00108201 <kmalloc>:
108201: 83 ec 1c sub esp,0x1c
108204: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
108208: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00
10820e: b8 00 00 00 00 mov eax,0x0
108213: 84 d2 test dl,dl
108215: 74 2f je 108246 <kmalloc+0x45>
108217: 80 fa 01 cmp dl,0x1
10821a: 75 12 jne 10822e <kmalloc+0x2d>
10821c: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
108223: 00
108224: 89 0c 24 mov DWORD PTR [esp],ecx
108227: e8 68 fe ff ff call 108094 <_malloc_init1>
10822c: eb 18 jmp 108246 <kmalloc+0x45>
10822e: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
108235: 00
108236: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
10823d: 00
10823e: 89 0c 24 mov DWORD PTR [esp],ecx
108241: e8 ce fe ff ff call 108114 <_malloc_init2>
108246: 83 c4 1c add esp,0x1c
108249: c3 ret
0010824a <kmalloc_a>:
10824a: 83 ec 1c sub esp,0x1c
10824d: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
108251: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00
108257: b8 00 00 00 00 mov eax,0x0
10825c: 84 d2 test dl,dl
10825e: 74 2f je 10828f <kmalloc_a+0x45>
108260: 80 fa 01 cmp dl,0x1
108263: 75 12 jne 108277 <kmalloc_a+0x2d>
108265: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
10826c: 00
10826d: 89 0c 24 mov DWORD PTR [esp],ecx
108270: e8 1f fe ff ff call 108094 <_malloc_init1>
108275: eb 18 jmp 10828f <kmalloc_a+0x45>
108277: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
10827e: 00
10827f: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
108286: 00
108287: 89 0c 24 mov DWORD PTR [esp],ecx
10828a: e8 85 fe ff ff call 108114 <_malloc_init2>
10828f: 83 c4 1c add esp,0x1c
108292: c3 ret
00108293 <kmalloc_p>:
108293: 53 push ebx
108294: 83 ec 18 sub esp,0x18
108297: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
10829b: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
10829f: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00
1082a5: b8 00 00 00 00 mov eax,0x0
1082aa: 84 d2 test dl,dl
1082ac: 74 2d je 1082db <kmalloc_p+0x48>
1082ae: 80 fa 01 cmp dl,0x1
1082b1: 75 14 jne 1082c7 <kmalloc_p+0x34>
1082b3: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
1082ba: 00
1082bb: 89 0c 24 mov DWORD PTR [esp],ecx
1082be: e8 d1 fd ff ff call 108094 <_malloc_init1>
1082c3: 89 03 mov DWORD PTR [ebx],eax
1082c5: eb 14 jmp 1082db <kmalloc_p+0x48>
1082c7: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
1082cb: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
1082d2: 00
1082d3: 89 0c 24 mov DWORD PTR [esp],ecx
1082d6: e8 39 fe ff ff call 108114 <_malloc_init2>
1082db: 83 c4 18 add esp,0x18
1082de: 5b pop ebx
1082df: c3 ret
001082e0 <kmalloc_ap>:
1082e0: 53 push ebx
1082e1: 83 ec 18 sub esp,0x18
1082e4: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
1082e8: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
1082ec: 8a 15 00 1b 11 00 mov dl,BYTE PTR ds:0x111b00
1082f2: b8 00 00 00 00 mov eax,0x0
1082f7: 84 d2 test dl,dl
1082f9: 74 2d je 108328 <kmalloc_ap+0x48>
1082fb: 80 fa 01 cmp dl,0x1
1082fe: 75 14 jne 108314 <kmalloc_ap+0x34>
108300: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
108307: 00
108308: 89 0c 24 mov DWORD PTR [esp],ecx
10830b: e8 84 fd ff ff call 108094 <_malloc_init1>
108310: 89 03 mov DWORD PTR [ebx],eax
108312: eb 14 jmp 108328 <kmalloc_ap+0x48>
108314: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
108318: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
10831f: 00
108320: 89 0c 24 mov DWORD PTR [esp],ecx
108323: e8 ec fd ff ff call 108114 <_malloc_init2>
108328: 83 c4 18 add esp,0x18
10832b: 5b pop ebx
10832c: c3 ret
0010832d <kmrealloc>:
10832d: 57 push edi
10832e: 56 push esi
10832f: 53 push ebx
108330: 83 ec 10 sub esp,0x10
108333: 8b 7c 24 20 mov edi,DWORD PTR [esp+0x20]
108337: 8b 74 24 24 mov esi,DWORD PTR [esp+0x24]
10833b: 89 34 24 mov DWORD PTR [esp],esi
10833e: e8 be fe ff ff call 108201 <kmalloc>
108343: 89 c3 mov ebx,eax
108345: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
108349: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi
10834d: 89 04 24 mov DWORD PTR [esp],eax
108350: e8 b3 fc ff ff call 108008 <memcpy>
108355: 89 3c 24 mov DWORD PTR [esp],edi
108358: e8 0b 00 00 00 call 108368 <kfree>
10835d: 89 d8 mov eax,ebx
10835f: 83 c4 10 add esp,0x10
108362: 5b pop ebx
108363: 5e pop esi
108364: 5f pop edi
108365: c3 ret
...
00108368 <kfree>:
108368: 83 ec 2c sub esp,0x2c
10836b: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
10836f: 80 3d 00 1b 11 00 01 cmp BYTE PTR ds:0x111b00,0x1
108376: 77 2a ja 1083a2 <kfree+0x3a>
108378: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
10837c: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc
108383: 00
108384: c7 44 24 08 4c af 10 mov DWORD PTR [esp+0x8],0x10af4c
10838b: 00
10838c: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
108393: 00
108394: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
10839b: e8 08 ef ff ff call 1072a8 <LogWrite>
1083a0: eb 1c jmp 1083be <kfree+0x56>
1083a2: 8b 15 e4 d9 10 00 mov edx,DWORD PTR ds:0x10d9e4
1083a8: 89 54 24 08 mov DWORD PTR [esp+0x8],edx
1083ac: 8b 15 e0 d9 10 00 mov edx,DWORD PTR ds:0x10d9e0
1083b2: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
1083b6: 89 04 24 mov DWORD PTR [esp],eax
1083b9: e8 ae f6 ff ff call 107a6c <MemHeapFree>
1083be: 83 c4 2c add esp,0x2c
1083c1: c3 ret
...
001083c4 <MemoryGetTotal>:
1083c4: a1 ec d9 10 00 mov eax,ds:0x10d9ec
1083c9: c3 ret
001083ca <MemoryGetFree>:
1083ca: a1 f8 d9 10 00 mov eax,ds:0x10d9f8
1083cf: 2b 05 f0 d9 10 00 sub eax,DWORD PTR ds:0x10d9f0
1083d5: c1 e0 02 shl eax,0x2
1083d8: c3 ret
001083d9 <MemoryGetUsed>:
1083d9: a1 f0 d9 10 00 mov eax,ds:0x10d9f0
1083de: c1 e0 02 shl eax,0x2
1083e1: c3 ret
001083e2 <MemoryGetFrameSize>:
1083e2: b8 04 00 00 00 mov eax,0x4
1083e7: c3 ret
001083e8 <MemoryGetFramesTotal>:
1083e8: a1 f8 d9 10 00 mov eax,ds:0x10d9f8
1083ed: c3 ret
001083ee <MemoryGetFramesUsed>:
1083ee: a1 f0 d9 10 00 mov eax,ds:0x10d9f0
1083f3: c3 ret
001083f4 <MemoryGetFramesFree>:
1083f4: a1 f8 d9 10 00 mov eax,ds:0x10d9f8
1083f9: 2b 05 f0 d9 10 00 sub eax,DWORD PTR ds:0x10d9f0
1083ff: c3 ret
00108400 <_memory_get_total_mem>:
108400: 56 push esi
108401: 53 push ebx
108402: 83 ec 24 sub esp,0x24
108405: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
108409: f6 00 01 test BYTE PTR [eax],0x1
10840c: 74 0b je 108419 <_memory_get_total_mem+0x19>
10840e: 8b 58 08 mov ebx,DWORD PTR [eax+0x8]
108411: 81 c3 00 04 00 00 add ebx,0x400
108417: eb 57 jmp 108470 <_memory_get_total_mem+0x70>
108419: c7 04 24 30 00 00 00 mov DWORD PTR [esp],0x30
108420: e8 db 9c ff ff call 102100 <CmosRead>
108425: 89 c6 mov esi,eax
108427: c7 04 24 31 00 00 00 mov DWORD PTR [esp],0x31
10842e: e8 cd 9c ff ff call 102100 <CmosRead>
108433: 31 db xor ebx,ebx
108435: 88 c3 mov bl,al
108437: c1 e3 08 shl ebx,0x8
10843a: 81 e6 ff 00 00 00 and esi,0xff
108440: 09 f3 or ebx,esi
108442: 81 c3 00 04 00 00 add ebx,0x400
108448: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx
10844c: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc
108453: 00
108454: c7 44 24 08 94 af 10 mov DWORD PTR [esp+0x8],0x10af94
10845b: 00
10845c: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
108463: 00
108464: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
10846b: e8 38 ee ff ff call 1072a8 <LogWrite>
108470: 89 d8 mov eax,ebx
108472: 83 c4 24 add esp,0x24
108475: 5b pop ebx
108476: 5e pop esi
108477: c3 ret
00108478 <_memory_reserve_system>:
108478: 57 push edi
108479: 56 push esi
10847a: 53 push ebx
10847b: 83 ec 20 sub esp,0x20
10847e: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30]
108482: 66 87 db xchg bx,bx
108485: f6 06 40 test BYTE PTR [esi],0x40
108488: 74 3c je 1084c6 <_memory_reserve_system+0x4e>
10848a: 8b 5e 30 mov ebx,DWORD PTR [esi+0x30]
10848d: 89 df mov edi,ebx
10848f: 89 d8 mov eax,ebx
108491: 03 46 2c add eax,DWORD PTR [esi+0x2c]
108494: 39 c3 cmp ebx,eax
108496: 73 76 jae 10850e <_memory_reserve_system+0x96>
108498: 83 7b 14 01 cmp DWORD PTR [ebx+0x14],0x1
10849c: 76 12 jbe 1084b0 <_memory_reserve_system+0x38>
10849e: 8b 43 0c mov eax,DWORD PTR [ebx+0xc]
1084a1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1084a5: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
1084a8: 89 04 24 mov DWORD PTR [esp],eax
1084ab: e8 13 fb ff ff call 107fc3 <MemPhReserveBlocks>
1084b0: 8b 03 mov eax,DWORD PTR [ebx]
1084b2: 8d 44 07 04 lea eax,[edi+eax*1+0x4]
1084b6: 89 c3 mov ebx,eax
1084b8: 89 c7 mov edi,eax
1084ba: 8b 56 2c mov edx,DWORD PTR [esi+0x2c]
1084bd: 03 56 30 add edx,DWORD PTR [esi+0x30]
1084c0: 39 d0 cmp eax,edx
1084c2: 72 d4 jb 108498 <_memory_reserve_system+0x20>
1084c4: eb 48 jmp 10850e <_memory_reserve_system+0x96>
1084c6: c7 44 24 14 0c 00 00 mov DWORD PTR [esp+0x14],0xc
1084cd: 00
1084ce: c7 44 24 10 0f 00 00 mov DWORD PTR [esp+0x10],0xf
1084d5: 00
1084d6: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc
1084dd: 00
1084de: c7 44 24 08 d4 af 10 mov DWORD PTR [esp+0x8],0x10afd4
1084e5: 00
1084e6: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
1084ed: 00
1084ee: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1084f5: e8 ae ed ff ff call 1072a8 <LogWrite>
1084fa: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0x100000
108501: 00
108502: c7 04 24 00 00 f0 00 mov DWORD PTR [esp],0xf00000
108509: e8 b5 fa ff ff call 107fc3 <MemPhReserveBlocks>
10850e: 83 c4 20 add esp,0x20
108511: 5b pop ebx
108512: 5e pop esi
108513: 5f pop edi
108514: c3 ret
00108515 <MemoryInitialize>:
108515: 56 push esi
108516: 53 push ebx
108517: 83 ec 24 sub esp,0x24
10851a: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
10851e: 89 1c 24 mov DWORD PTR [esp],ebx
108521: e8 da fe ff ff call 108400 <_memory_get_total_mem>
108526: 8b 15 04 1b 11 00 mov edx,DWORD PTR ds:0x111b04
10852c: 81 c2 00 00 08 00 add edx,0x80000
108532: 89 54 24 1c mov DWORD PTR [esp+0x1c],edx
108536: 89 04 24 mov DWORD PTR [esp],eax
108539: e8 03 fa ff ff call 107f41 <MemPhInitialize>
10853e: 8d 44 24 1c lea eax,[esp+0x1c]
108542: 89 04 24 mov DWORD PTR [esp],eax
108545: e8 9d f7 ff ff call 107ce7 <PagingInitialize>
10854a: 89 1c 24 mov DWORD PTR [esp],ebx
10854d: e8 26 ff ff ff call 108478 <_memory_reserve_system>
108552: bb 00 00 00 c0 mov ebx,0xc0000000
108557: 8b 35 e4 d9 10 00 mov esi,DWORD PTR ds:0x10d9e4
10855d: e8 41 f9 ff ff call 107ea3 <MemPhAllocateBlock>
108562: 89 74 24 0c mov DWORD PTR [esp+0xc],esi
108566: c7 44 24 08 02 00 00 mov DWORD PTR [esp+0x8],0x2
10856d: 00
10856e: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
108572: 89 04 24 mov DWORD PTR [esp],eax
108575: e8 cc f6 ff ff call 107c46 <PagingMapPage>
10857a: 81 c3 00 10 00 00 add ebx,0x1000
108580: 81 fb 00 10 10 c0 cmp ebx,0xc0101000
108586: 75 cf jne 108557 <MemoryInitialize+0x42>
108588: c7 44 24 0c 03 00 00 mov DWORD PTR [esp+0xc],0x3
10858f: 00
108590: c7 44 24 08 00 f0 ff mov DWORD PTR [esp+0x8],0xcffff000
108597: cf
108598: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0xc0100000
10859f: c0
1085a0: c7 04 24 00 00 00 c0 mov DWORD PTR [esp],0xc0000000
1085a7: e8 d6 f0 ff ff call 107682 <MemHeapCreate>
1085ac: a3 e0 d9 10 00 mov ds:0x10d9e0,eax
1085b1: c7 44 24 08 43 b0 10 mov DWORD PTR [esp+0x8],0x10b043
1085b8: 00
1085b9: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
1085c0: 00
1085c1: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1085c8: e8 db ec ff ff call 1072a8 <LogWrite>
1085cd: c6 05 00 1b 11 00 02 mov BYTE PTR ds:0x111b00,0x2
1085d4: 83 c4 24 add esp,0x24
1085d7: 5b pop ebx
1085d8: 5e pop esi
1085d9: c3 ret
001085da <MemoryTempInitialize>:
1085da: 83 ec 2c sub esp,0x2c
1085dd: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
1085e1: c6 05 00 1b 11 00 01 mov BYTE PTR ds:0x111b00,0x1
1085e8: a3 04 1b 11 00 mov ds:0x111b04,eax
1085ed: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1085f1: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf
1085f8: 00
1085f9: c7 44 24 08 04 b0 10 mov DWORD PTR [esp+0x8],0x10b004
108600: 00
108601: c7 44 24 04 87 ae 10 mov DWORD PTR [esp+0x4],0x10ae87
108608: 00
108609: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
108610: e8 93 ec ff ff call 1072a8 <LogWrite>
108615: 83 c4 2c add esp,0x2c
108618: c3 ret
108619: 00 00 add BYTE PTR [eax],al
...
0010861c <MouseHandler>:
10861c: 83 ec 1c sub esp,0x1c
10861f: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
108626: e8 ad 05 00 00 call 108bd8 <inportb>
10862b: 8a 15 20 1b 11 00 mov dl,BYTE PTR ds:0x111b20
108631: 84 d2 test dl,dl
108633: 75 20 jne 108655 <MouseHandler+0x39>
108635: 84 c0 test al,al
108637: 0f 84 99 01 00 00 je 1087d6 <MouseHandler+0x1ba>
10863d: 3c fa cmp al,0xfa
10863f: 0f 84 91 01 00 00 je 1087d6 <MouseHandler+0x1ba>
108645: 3c ff cmp al,0xff
108647: 0f 84 89 01 00 00 je 1087d6 <MouseHandler+0x1ba>
10864d: 3c aa cmp al,0xaa
10864f: 0f 84 81 01 00 00 je 1087d6 <MouseHandler+0x1ba>
108655: 31 c9 xor ecx,ecx
108657: 88 d1 mov cl,dl
108659: 88 81 fc d9 10 00 mov BYTE PTR [ecx+0x10d9fc],al
10865f: 42 inc edx
108660: 88 15 20 1b 11 00 mov BYTE PTR ds:0x111b20,dl
108666: 3a 15 2c c3 10 00 cmp dl,BYTE PTR ds:0x10c32c
10866c: 0f 82 64 01 00 00 jb 1087d6 <MouseHandler+0x1ba>
108672: c6 05 20 1b 11 00 00 mov BYTE PTR ds:0x111b20,0x0
108679: 31 c0 xor eax,eax
10867b: a0 fc d9 10 00 mov al,ds:0x10d9fc
108680: a8 c0 test al,0xc0
108682: 0f 85 4e 01 00 00 jne 1087d6 <MouseHandler+0x1ba>
108688: a8 10 test al,0x10
10868a: 74 10 je 10869c <MouseHandler+0x80>
10868c: 31 d2 xor edx,edx
10868e: 8a 15 fd d9 10 00 mov dl,BYTE PTR ds:0x10d9fd
108694: 81 ca 00 ff ff ff or edx,0xffffff00
10869a: eb 08 jmp 1086a4 <MouseHandler+0x88>
10869c: 31 d2 xor edx,edx
10869e: 8a 15 fd d9 10 00 mov dl,BYTE PTR ds:0x10d9fd
1086a4: a8 20 test al,0x20
1086a6: 74 10 je 1086b8 <MouseHandler+0x9c>
1086a8: 31 c0 xor eax,eax
1086aa: a0 fe d9 10 00 mov al,ds:0x10d9fe
1086af: 0d 00 ff ff ff or eax,0xffffff00
1086b4: f7 d8 neg eax
1086b6: eb 09 jmp 1086c1 <MouseHandler+0xa5>
1086b8: 31 c0 xor eax,eax
1086ba: a0 fe d9 10 00 mov al,ds:0x10d9fe
1086bf: f7 d8 neg eax
1086c1: 83 fa 07 cmp edx,0x7
1086c4: 7f 07 jg 1086cd <MouseHandler+0xb1>
1086c6: 83 fa f9 cmp edx,0xfffffff9
1086c9: 7c 09 jl 1086d4 <MouseHandler+0xb8>
1086cb: eb 0c jmp 1086d9 <MouseHandler+0xbd>
1086cd: ba 08 00 00 00 mov edx,0x8
1086d2: eb 05 jmp 1086d9 <MouseHandler+0xbd>
1086d4: ba f8 ff ff ff mov edx,0xfffffff8
1086d9: 83 f8 07 cmp eax,0x7
1086dc: 7f 07 jg 1086e5 <MouseHandler+0xc9>
1086de: 83 f8 f9 cmp eax,0xfffffff9
1086e1: 7c 09 jl 1086ec <MouseHandler+0xd0>
1086e3: eb 0c jmp 1086f1 <MouseHandler+0xd5>
1086e5: b8 08 00 00 00 mov eax,0x8
1086ea: eb 05 jmp 1086f1 <MouseHandler+0xd5>
1086ec: b8 f8 ff ff ff mov eax,0xfffffff8
1086f1: 03 15 18 1b 11 00 add edx,DWORD PTR ds:0x111b18
1086f7: 89 15 18 1b 11 00 mov DWORD PTR ds:0x111b18,edx
1086fd: 03 05 1c 1b 11 00 add eax,DWORD PTR ds:0x111b1c
108703: a3 1c 1b 11 00 mov ds:0x111b1c,eax
108708: 8b 0d 10 1b 11 00 mov ecx,DWORD PTR ds:0x111b10
10870e: 39 ca cmp edx,ecx
108710: 7d 06 jge 108718 <MouseHandler+0xfc>
108712: 89 0d 18 1b 11 00 mov DWORD PTR ds:0x111b18,ecx
108718: 8b 15 14 1b 11 00 mov edx,DWORD PTR ds:0x111b14
10871e: 39 d0 cmp eax,edx
108720: 7d 06 jge 108728 <MouseHandler+0x10c>
108722: 89 15 1c 1b 11 00 mov DWORD PTR ds:0x111b1c,edx
108728: a1 24 c3 10 00 mov eax,ds:0x10c324
10872d: 39 05 18 1b 11 00 cmp DWORD PTR ds:0x111b18,eax
108733: 7c 06 jl 10873b <MouseHandler+0x11f>
108735: 48 dec eax
108736: a3 18 1b 11 00 mov ds:0x111b18,eax
10873b: a1 28 c3 10 00 mov eax,ds:0x10c328
108740: 39 05 1c 1b 11 00 cmp DWORD PTR ds:0x111b1c,eax
108746: 7c 06 jl 10874e <MouseHandler+0x132>
108748: 48 dec eax
108749: a3 1c 1b 11 00 mov ds:0x111b1c,eax
10874e: a1 08 1b 11 00 mov eax,ds:0x111b08
108753: 8b 15 0c 1b 11 00 mov edx,DWORD PTR ds:0x111b0c
108759: 89 04 24 mov DWORD PTR [esp],eax
10875c: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
108760: e8 00 aa ff ff call 103165 <ConsoleGetColor>
108765: f7 d0 not eax
108767: 25 ff 00 00 00 and eax,0xff
10876c: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
108770: a1 08 1b 11 00 mov eax,ds:0x111b08
108775: 8b 15 0c 1b 11 00 mov edx,DWORD PTR ds:0x111b0c
10877b: 89 04 24 mov DWORD PTR [esp],eax
10877e: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
108782: e8 a9 a9 ff ff call 103130 <ConsoleSetColor>
108787: a1 18 1b 11 00 mov eax,ds:0x111b18
10878c: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c
108792: 89 04 24 mov DWORD PTR [esp],eax
108795: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
108799: e8 c7 a9 ff ff call 103165 <ConsoleGetColor>
10879e: f7 d0 not eax
1087a0: 25 ff 00 00 00 and eax,0xff
1087a5: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
1087a9: a1 18 1b 11 00 mov eax,ds:0x111b18
1087ae: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c
1087b4: 89 04 24 mov DWORD PTR [esp],eax
1087b7: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
1087bb: e8 70 a9 ff ff call 103130 <ConsoleSetColor>
1087c0: a1 18 1b 11 00 mov eax,ds:0x111b18
1087c5: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c
1087cb: a3 08 1b 11 00 mov ds:0x111b08,eax
1087d0: 89 15 0c 1b 11 00 mov DWORD PTR ds:0x111b0c,edx
1087d6: 83 c4 1c add esp,0x1c
1087d9: c3 ret
001087da <MouseSendCommand>:
1087da: 53 push ebx
1087db: 83 ec 08 sub esp,0x8
1087de: 8a 5c 24 10 mov bl,BYTE PTR [esp+0x10]
1087e2: e8 39 e6 ff ff call 106e20 <KeyboardWaitOutport>
1087e7: b0 d4 mov al,0xd4
1087e9: e6 64 out 0x64,al
1087eb: e8 30 e6 ff ff call 106e20 <KeyboardWaitOutport>
1087f0: 88 d8 mov al,bl
1087f2: e6 60 out 0x60,al
1087f4: 83 c4 08 add esp,0x8
1087f7: 5b pop ebx
1087f8: c3 ret
001087f9 <MouseReadData>:
1087f9: 83 ec 1c sub esp,0x1c
1087fc: e8 4e e9 ff ff call 10714f <KeyboardWaitInport>
108801: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
108808: e8 cb 03 00 00 call 108bd8 <inportb>
10880d: 83 c4 1c add esp,0x1c
108810: c3 ret
00108811 <MouseInstall>:
108811: 53 push ebx
108812: 83 ec 18 sub esp,0x18
108815: e8 06 e6 ff ff call 106e20 <KeyboardWaitOutport>
10881a: b0 a8 mov al,0xa8
10881c: e6 64 out 0x64,al
10881e: e8 fd e5 ff ff call 106e20 <KeyboardWaitOutport>
108823: b0 20 mov al,0x20
108825: e6 64 out 0x64,al
108827: e8 23 e9 ff ff call 10714f <KeyboardWaitInport>
10882c: c7 04 24 60 00 00 00 mov DWORD PTR [esp],0x60
108833: e8 a0 03 00 00 call 108bd8 <inportb>
108838: 88 c3 mov bl,al
10883a: 83 cb 02 or ebx,0x2
10883d: e8 de e5 ff ff call 106e20 <KeyboardWaitOutport>
108842: b0 60 mov al,0x60
108844: e6 64 out 0x64,al
108846: e8 d5 e5 ff ff call 106e20 <KeyboardWaitOutport>
10884b: 88 d8 mov al,bl
10884d: 83 e0 df and eax,0xffffffdf
108850: e6 60 out 0x60,al
108852: c7 04 24 ff 00 00 00 mov DWORD PTR [esp],0xff
108859: e8 7c ff ff ff call 1087da <MouseSendCommand>
10885e: e8 96 ff ff ff call 1087f9 <MouseReadData>
108863: e8 91 ff ff ff call 1087f9 <MouseReadData>
108868: c7 04 24 f6 00 00 00 mov DWORD PTR [esp],0xf6
10886f: e8 66 ff ff ff call 1087da <MouseSendCommand>
108874: e8 80 ff ff ff call 1087f9 <MouseReadData>
108879: c7 04 24 f4 00 00 00 mov DWORD PTR [esp],0xf4
108880: e8 55 ff ff ff call 1087da <MouseSendCommand>
108885: e8 6f ff ff ff call 1087f9 <MouseReadData>
10888a: 83 c4 18 add esp,0x18
10888d: 5b pop ebx
10888e: c3 ret
0010888f <MouseSetLimits>:
10888f: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
108893: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
108897: a3 10 1b 11 00 mov ds:0x111b10,eax
10889c: 89 15 14 1b 11 00 mov DWORD PTR ds:0x111b14,edx
1088a2: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
1088a6: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10]
1088aa: a3 24 c3 10 00 mov ds:0x10c324,eax
1088af: 89 15 28 c3 10 00 mov DWORD PTR ds:0x10c328,edx
1088b5: c3 ret
001088b6 <MouseGetState>:
1088b6: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
1088ba: 8a 15 fc d9 10 00 mov dl,BYTE PTR ds:0x10d9fc
1088c0: 83 e2 07 and edx,0x7
1088c3: 88 10 mov BYTE PTR [eax],dl
1088c5: 8b 15 18 1b 11 00 mov edx,DWORD PTR ds:0x111b18
1088cb: 89 50 04 mov DWORD PTR [eax+0x4],edx
1088ce: 8b 15 1c 1b 11 00 mov edx,DWORD PTR ds:0x111b1c
1088d4: 89 50 08 mov DWORD PTR [eax+0x8],edx
1088d7: c2 04 00 ret 0x4
...
001088dc <numlen>:
1088dc: 56 push esi
1088dd: 53 push ebx
1088de: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
1088e2: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
1088e6: b9 00 00 00 00 mov ecx,0x0
1088eb: 83 fb 01 cmp ebx,0x1
1088ee: 7e 25 jle 108915 <numlen+0x39>
1088f0: b1 01 mov cl,0x1
1088f2: 85 c0 test eax,eax
1088f4: 74 1f je 108915 <numlen+0x39>
1088f6: 89 c1 mov ecx,eax
1088f8: c1 e9 1f shr ecx,0x1f
1088fb: 83 fb 0a cmp ebx,0xa
1088fe: 0f 94 c2 sete dl
108901: 81 e2 ff 00 00 00 and edx,0xff
108907: 21 d1 and ecx,edx
108909: 89 c2 mov edx,eax
10890b: c1 fa 1f sar edx,0x1f
10890e: f7 fb idiv ebx
108910: 41 inc ecx
108911: 85 c0 test eax,eax
108913: 75 f4 jne 108909 <numlen+0x2d>
108915: 89 c8 mov eax,ecx
108917: 5b pop ebx
108918: 5e pop esi
108919: c3 ret
0010891a <unumlen>:
10891a: 56 push esi
10891b: 53 push ebx
10891c: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
108920: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
108924: b9 00 00 00 00 mov ecx,0x0
108929: 83 fb 01 cmp ebx,0x1
10892c: 7e 14 jle 108942 <unumlen+0x28>
10892e: b1 01 mov cl,0x1
108930: 85 c0 test eax,eax
108932: 74 0e je 108942 <unumlen+0x28>
108934: b1 00 mov cl,0x0
108936: ba 00 00 00 00 mov edx,0x0
10893b: f7 f3 div ebx
10893d: 41 inc ecx
10893e: 85 c0 test eax,eax
108940: 75 f4 jne 108936 <unumlen+0x1c>
108942: 89 c8 mov eax,ecx
108944: 5b pop ebx
108945: 5e pop esi
108946: c3 ret
...
00108948 <StandardComparePredicate>:
108948: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4]
10894c: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
108950: b8 01 00 00 00 mov eax,0x1
108955: 39 d1 cmp ecx,edx
108957: 77 0b ja 108964 <StandardComparePredicate+0x1c>
108959: 39 d1 cmp ecx,edx
10895b: 0f 94 c0 sete al
10895e: 25 ff 00 00 00 and eax,0xff
108963: 48 dec eax
108964: c3 ret
00108965 <OrderedArrayCreate>:
108965: 55 push ebp
108966: 57 push edi
108967: 56 push esi
108968: 53 push ebx
108969: 83 ec 1c sub esp,0x1c
10896c: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
108970: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
108974: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38]
108978: 89 3c 24 mov DWORD PTR [esp],edi
10897b: e8 81 f8 ff ff call 108201 <kmalloc>
108980: 89 c6 mov esi,eax
108982: 89 7c 24 08 mov DWORD PTR [esp+0x8],edi
108986: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
10898d: 00
10898e: 89 04 24 mov DWORD PTR [esp],eax
108991: e8 e1 f6 ff ff call 108077 <memset>
108996: 85 ed test ebp,ebp
108998: 75 05 jne 10899f <OrderedArrayCreate+0x3a>
10899a: bd 48 89 10 00 mov ebp,0x108948
10899f: 89 33 mov DWORD PTR [ebx],esi
1089a1: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0
1089a8: 89 7b 08 mov DWORD PTR [ebx+0x8],edi
1089ab: 89 6b 0c mov DWORD PTR [ebx+0xc],ebp
1089ae: 89 d8 mov eax,ebx
1089b0: 83 c4 1c add esp,0x1c
1089b3: 5b pop ebx
1089b4: 5e pop esi
1089b5: 5f pop edi
1089b6: 5d pop ebp
1089b7: c2 04 00 ret 0x4
001089ba <OrderedArrayPlace>:
1089ba: 55 push ebp
1089bb: 57 push edi
1089bc: 56 push esi
1089bd: 53 push ebx
1089be: 83 ec 1c sub esp,0x1c
1089c1: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
1089c5: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
1089c9: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38]
1089cd: 8b 74 24 3c mov esi,DWORD PTR [esp+0x3c]
1089d1: 89 6c 24 08 mov DWORD PTR [esp+0x8],ebp
1089d5: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
1089dc: 00
1089dd: 89 3c 24 mov DWORD PTR [esp],edi
1089e0: e8 92 f6 ff ff call 108077 <memset>
1089e5: 85 f6 test esi,esi
1089e7: 75 05 jne 1089ee <OrderedArrayPlace+0x34>
1089e9: be 48 89 10 00 mov esi,0x108948
1089ee: 89 3b mov DWORD PTR [ebx],edi
1089f0: c7 43 04 00 00 00 00 mov DWORD PTR [ebx+0x4],0x0
1089f7: 89 6b 08 mov DWORD PTR [ebx+0x8],ebp
1089fa: 89 73 0c mov DWORD PTR [ebx+0xc],esi
1089fd: 89 d8 mov eax,ebx
1089ff: 83 c4 1c add esp,0x1c
108a02: 5b pop ebx
108a03: 5e pop esi
108a04: 5f pop edi
108a05: 5d pop ebp
108a06: c2 04 00 ret 0x4
00108a09 <OrderedArrayDispose>:
108a09: 83 ec 1c sub esp,0x1c
108a0c: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
108a10: 8b 00 mov eax,DWORD PTR [eax]
108a12: 89 04 24 mov DWORD PTR [esp],eax
108a15: e8 4e f9 ff ff call 108368 <kfree>
108a1a: 83 c4 1c add esp,0x1c
108a1d: c3 ret
00108a1e <OrderedArrayBinarySearch>:
108a1e: 55 push ebp
108a1f: 57 push edi
108a20: 56 push esi
108a21: 53 push ebx
108a22: 83 ec 1c sub esp,0x1c
108a25: 8b 74 24 34 mov esi,DWORD PTR [esp+0x34]
108a29: 8b 6c 24 38 mov ebp,DWORD PTR [esp+0x38]
108a2d: bb 00 00 00 00 mov ebx,0x0
108a32: 83 7c 24 3c 00 cmp DWORD PTR [esp+0x3c],0x0
108a37: 74 45 je 108a7e <OrderedArrayBinarySearch+0x60>
108a39: 85 ed test ebp,ebp
108a3b: 74 34 je 108a71 <OrderedArrayBinarySearch+0x53>
108a3d: bf 00 00 00 00 mov edi,0x0
108a42: 89 eb mov ebx,ebp
108a44: 29 fb sub ebx,edi
108a46: d1 eb shr ebx,1
108a48: 01 fb add ebx,edi
108a4a: 8b 04 9e mov eax,DWORD PTR [esi+ebx*4]
108a4d: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
108a51: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
108a55: 89 04 24 mov DWORD PTR [esp],eax
108a58: ff 54 24 3c call DWORD PTR [esp+0x3c]
108a5c: 85 c0 test eax,eax
108a5e: 7e 05 jle 108a65 <OrderedArrayBinarySearch+0x47>
108a60: 8d 7b 01 lea edi,[ebx+0x1]
108a63: eb 06 jmp 108a6b <OrderedArrayBinarySearch+0x4d>
108a65: 85 c0 test eax,eax
108a67: 79 15 jns 108a7e <OrderedArrayBinarySearch+0x60>
108a69: 89 dd mov ebp,ebx
108a6b: 39 ef cmp edi,ebp
108a6d: 72 d3 jb 108a42 <OrderedArrayBinarySearch+0x24>
108a6f: eb 05 jmp 108a76 <OrderedArrayBinarySearch+0x58>
108a71: bf 00 00 00 00 mov edi,0x0
108a76: 29 fd sub ebp,edi
108a78: d1 ed shr ebp,1
108a7a: 8d 5c 3d 00 lea ebx,[ebp+edi*1+0x0]
108a7e: 89 d8 mov eax,ebx
108a80: 83 c4 1c add esp,0x1c
108a83: 5b pop ebx
108a84: 5e pop esi
108a85: 5f pop edi
108a86: 5d pop ebp
108a87: c3 ret
00108a88 <OrderedArraySearch>:
108a88: 56 push esi
108a89: 53 push ebx
108a8a: 83 ec 14 sub esp,0x14
108a8d: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
108a91: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
108a95: 8b 44 24 28 mov eax,DWORD PTR [esp+0x28]
108a99: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
108a9d: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
108aa0: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
108aa4: 8b 03 mov eax,DWORD PTR [ebx]
108aa6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
108aaa: 89 34 24 mov DWORD PTR [esp],esi
108aad: e8 6c ff ff ff call 108a1e <OrderedArrayBinarySearch>
108ab2: 8b 13 mov edx,DWORD PTR [ebx]
108ab4: 39 34 82 cmp DWORD PTR [edx+eax*4],esi
108ab7: 74 05 je 108abe <OrderedArraySearch+0x36>
108ab9: b8 ff ff ff ff mov eax,0xffffffff
108abe: 83 c4 14 add esp,0x14
108ac1: 5b pop ebx
108ac2: 5e pop esi
108ac3: c3 ret
00108ac4 <OrderedArrayInsert>:
108ac4: 55 push ebp
108ac5: 57 push edi
108ac6: 56 push esi
108ac7: 53 push ebx
108ac8: 83 ec 1c sub esp,0x1c
108acb: 8b 74 24 30 mov esi,DWORD PTR [esp+0x30]
108acf: 8b 5c 24 34 mov ebx,DWORD PTR [esp+0x34]
108ad3: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
108ad6: 3b 43 08 cmp eax,DWORD PTR [ebx+0x8]
108ad9: 73 4a jae 108b25 <OrderedArrayInsert+0x61>
108adb: 8b 53 0c mov edx,DWORD PTR [ebx+0xc]
108ade: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
108ae2: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
108ae6: 8b 03 mov eax,DWORD PTR [ebx]
108ae8: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
108aec: 89 34 24 mov DWORD PTR [esp],esi
108aef: e8 2a ff ff ff call 108a1e <OrderedArrayBinarySearch>
108af4: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
108af7: 39 c8 cmp eax,ecx
108af9: 73 22 jae 108b1d <OrderedArrayInsert+0x59>
108afb: 85 c9 test ecx,ecx
108afd: 74 1e je 108b1d <OrderedArrayInsert+0x59>
108aff: 8d 14 8d 00 00 00 00 lea edx,[ecx*4+0x0]
108b06: 8b 3b mov edi,DWORD PTR [ebx]
108b08: 8b 6c 17 fc mov ebp,DWORD PTR [edi+edx*1-0x4]
108b0c: 89 2c 17 mov DWORD PTR [edi+edx*1],ebp
108b0f: 49 dec ecx
108b10: 39 c8 cmp eax,ecx
108b12: 73 09 jae 108b1d <OrderedArrayInsert+0x59>
108b14: 83 ea 04 sub edx,0x4
108b17: 83 7b 04 00 cmp DWORD PTR [ebx+0x4],0x0
108b1b: 75 e9 jne 108b06 <OrderedArrayInsert+0x42>
108b1d: 8b 13 mov edx,DWORD PTR [ebx]
108b1f: 89 34 82 mov DWORD PTR [edx+eax*4],esi
108b22: ff 43 04 inc DWORD PTR [ebx+0x4]
108b25: 83 c4 1c add esp,0x1c
108b28: 5b pop ebx
108b29: 5e pop esi
108b2a: 5f pop edi
108b2b: 5d pop ebp
108b2c: c3 ret
00108b2d <OrderedArrayLookup>:
108b2d: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
108b31: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8]
108b35: b8 00 00 00 00 mov eax,0x0
108b3a: 39 51 04 cmp DWORD PTR [ecx+0x4],edx
108b3d: 76 05 jbe 108b44 <OrderedArrayLookup+0x17>
108b3f: 8b 01 mov eax,DWORD PTR [ecx]
108b41: 8b 04 90 mov eax,DWORD PTR [eax+edx*4]
108b44: c3 ret
00108b45 <OrderedArrayDeleteIndex>:
108b45: 56 push esi
108b46: 53 push ebx
108b47: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
108b4b: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
108b4f: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
108b52: 39 c1 cmp ecx,eax
108b54: 76 23 jbe 108b79 <OrderedArrayDeleteIndex+0x34>
108b56: 8d 50 01 lea edx,[eax+0x1]
108b59: 39 d1 cmp ecx,edx
108b5b: 76 18 jbe 108b75 <OrderedArrayDeleteIndex+0x30>
108b5d: c1 e0 02 shl eax,0x2
108b60: 8b 0b mov ecx,DWORD PTR [ebx]
108b62: 8d 34 01 lea esi,[ecx+eax*1]
108b65: 83 c0 04 add eax,0x4
108b68: 8b 0c 01 mov ecx,DWORD PTR [ecx+eax*1]
108b6b: 89 0e mov DWORD PTR [esi],ecx
108b6d: 42 inc edx
108b6e: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
108b71: 39 d1 cmp ecx,edx
108b73: 77 eb ja 108b60 <OrderedArrayDeleteIndex+0x1b>
108b75: 49 dec ecx
108b76: 89 4b 04 mov DWORD PTR [ebx+0x4],ecx
108b79: 5b pop ebx
108b7a: 5e pop esi
108b7b: c3 ret
00108b7c <PicRemap>:
108b7c: b0 11 mov al,0x11
108b7e: e6 20 out 0x20,al
108b80: e6 a0 out 0xa0,al
108b82: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
108b86: e6 21 out 0x21,al
108b88: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
108b8c: e6 a1 out 0xa1,al
108b8e: b0 04 mov al,0x4
108b90: e6 21 out 0x21,al
108b92: b0 02 mov al,0x2
108b94: e6 a1 out 0xa1,al
108b96: b0 01 mov al,0x1
108b98: e6 21 out 0x21,al
108b9a: e6 a1 out 0xa1,al
108b9c: b0 00 mov al,0x0
108b9e: e6 21 out 0x21,al
108ba0: c3 ret
108ba1: 00 00 add BYTE PTR [eax],al
...
00108ba4 <PitSetFrequency>:
108ba4: 53 push ebx
108ba5: 83 ec 18 sub esp,0x18
108ba8: 8b 4c 24 20 mov ecx,DWORD PTR [esp+0x20]
108bac: bb dc 34 12 00 mov ebx,0x1234dc
108bb1: 89 d8 mov eax,ebx
108bb3: ba 00 00 00 00 mov edx,0x0
108bb8: f7 f1 div ecx
108bba: 89 c3 mov ebx,eax
108bbc: b0 36 mov al,0x36
108bbe: e6 43 out 0x43,al
108bc0: 88 d8 mov al,bl
108bc2: e6 40 out 0x40,al
108bc4: 89 d8 mov eax,ebx
108bc6: c1 e8 08 shr eax,0x8
108bc9: e6 40 out 0x40,al
108bcb: 89 0c 24 mov DWORD PTR [esp],ecx
108bce: e8 b1 07 00 00 call 109384 <TimeSetInternalFrequency>
108bd3: 83 c4 18 add esp,0x18
108bd6: 5b pop ebx
108bd7: c3 ret
00108bd8 <inportb>:
108bd8: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
108bdc: ec in al,dx
108bdd: c3 ret
00108bde <ReadKey>:
108bde: 56 push esi
108bdf: 53 push ebx
108be0: 83 ec 14 sub esp,0x14
108be3: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
108be7: c6 05 dd d9 10 00 ff mov BYTE PTR ds:0x10d9dd,0xff
108bee: a0 dd d9 10 00 mov al,ds:0x10d9dd
108bf3: 3c ff cmp al,0xff
108bf5: 74 f7 je 108bee <ReadKey+0x10>
108bf7: 8a 1d dd d9 10 00 mov bl,BYTE PTR ds:0x10d9dd
108bfd: a0 dc d9 10 00 mov al,ds:0x10d9dc
108c02: a8 01 test al,0x1
108c04: 75 e1 jne 108be7 <ReadKey+0x9>
108c06: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12
108c0d: e8 eb e1 ff ff call 106dfd <KeyboardGetKeyStatus>
108c12: 84 c0 test al,al
108c14: 75 10 jne 108c26 <ReadKey+0x48>
108c16: c7 04 24 59 00 00 00 mov DWORD PTR [esp],0x59
108c1d: e8 db e1 ff ff call 106dfd <KeyboardGetKeyStatus>
108c22: 84 c0 test al,al
108c24: 74 0c je 108c32 <ReadKey+0x54>
108c26: 31 c0 xor eax,eax
108c28: 88 d8 mov al,bl
108c2a: 8a 80 80 ab 10 00 mov al,BYTE PTR [eax+0x10ab80]
108c30: eb 0a jmp 108c3c <ReadKey+0x5e>
108c32: 31 c0 xor eax,eax
108c34: 88 d8 mov al,bl
108c36: 8a 80 00 ac 10 00 mov al,BYTE PTR [eax+0x10ac00]
108c3c: 88 06 mov BYTE PTR [esi],al
108c3e: 88 5e 01 mov BYTE PTR [esi+0x1],bl
108c41: 89 f0 mov eax,esi
108c43: 83 c4 14 add esp,0x14
108c46: 5b pop ebx
108c47: 5e pop esi
108c48: c2 04 00 ret 0x4
00108c4b <ReadKeyEvent>:
108c4b: 56 push esi
108c4c: 53 push ebx
108c4d: 83 ec 24 sub esp,0x24
108c50: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
108c54: c6 05 dd d9 10 00 ff mov BYTE PTR ds:0x10d9dd,0xff
108c5b: a0 dd d9 10 00 mov al,ds:0x10d9dd
108c60: 3c ff cmp al,0xff
108c62: 74 f7 je 108c5b <ReadKeyEvent+0x10>
108c64: 0f b6 35 dd d9 10 00 movzx esi,BYTE PTR ds:0x10d9dd
108c6b: a0 dc d9 10 00 mov al,ds:0x10d9dc
108c70: a8 01 test al,0x1
108c72: 0f 94 44 24 1f sete BYTE PTR [esp+0x1f]
108c77: c7 04 24 12 00 00 00 mov DWORD PTR [esp],0x12
108c7e: e8 7a e1 ff ff call 106dfd <KeyboardGetKeyStatus>
108c83: 84 c0 test al,al
108c85: 75 10 jne 108c97 <ReadKeyEvent+0x4c>
108c87: c7 04 24 59 00 00 00 mov DWORD PTR [esp],0x59
108c8e: e8 6a e1 ff ff call 106dfd <KeyboardGetKeyStatus>
108c93: 84 c0 test al,al
108c95: 74 0f je 108ca6 <ReadKeyEvent+0x5b>
108c97: 89 f0 mov eax,esi
108c99: 25 ff 00 00 00 and eax,0xff
108c9e: 8a 80 80 ab 10 00 mov al,BYTE PTR [eax+0x10ab80]
108ca4: eb 0d jmp 108cb3 <ReadKeyEvent+0x68>
108ca6: 89 f0 mov eax,esi
108ca8: 25 ff 00 00 00 and eax,0xff
108cad: 8a 80 00 ac 10 00 mov al,BYTE PTR [eax+0x10ac00]
108cb3: 8a 54 24 1f mov dl,BYTE PTR [esp+0x1f]
108cb7: 88 13 mov BYTE PTR [ebx],dl
108cb9: 88 43 01 mov BYTE PTR [ebx+0x1],al
108cbc: 89 f0 mov eax,esi
108cbe: 88 43 02 mov BYTE PTR [ebx+0x2],al
108cc1: 89 d8 mov eax,ebx
108cc3: 83 c4 24 add esp,0x24
108cc6: 5b pop ebx
108cc7: 5e pop esi
108cc8: c2 04 00 ret 0x4
...
00108ccc <ConvertLbaToChs>:
108ccc: 53 push ebx
108ccd: 8b 4c 24 08 mov ecx,DWORD PTR [esp+0x8]
108cd1: 85 c9 test ecx,ecx
108cd3: 74 37 je 108d0c <ConvertLbaToChs+0x40>
108cd5: 8d 1c 09 lea ebx,[ecx+ecx*1]
108cd8: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
108cdc: ba 00 00 00 00 mov edx,0x0
108ce1: f7 f3 div ebx
108ce3: 89 c3 mov ebx,eax
108ce5: 89 d0 mov eax,edx
108ce7: ba 00 00 00 00 mov edx,0x0
108cec: f7 f1 div ecx
108cee: 8b 54 24 14 mov edx,DWORD PTR [esp+0x14]
108cf2: 89 02 mov DWORD PTR [edx],eax
108cf4: 8b 44 24 10 mov eax,DWORD PTR [esp+0x10]
108cf8: 89 18 mov DWORD PTR [eax],ebx
108cfa: 8b 44 24 0c mov eax,DWORD PTR [esp+0xc]
108cfe: ba 00 00 00 00 mov edx,0x0
108d03: f7 f1 div ecx
108d05: 42 inc edx
108d06: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
108d0a: 89 10 mov DWORD PTR [eax],edx
108d0c: 5b pop ebx
108d0d: c3 ret
...
00108d10 <strlen>:
108d10: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
108d14: 89 d0 mov eax,edx
108d16: 80 3a 00 cmp BYTE PTR [edx],0x0
108d19: 74 06 je 108d21 <strlen+0x11>
108d1b: 40 inc eax
108d1c: 80 38 00 cmp BYTE PTR [eax],0x0
108d1f: 75 fa jne 108d1b <strlen+0xb>
108d21: 29 d0 sub eax,edx
108d23: c3 ret
00108d24 <strcmp>:
108d24: 53 push ebx
108d25: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
108d29: 8b 54 24 0c mov edx,DWORD PTR [esp+0xc]
108d2d: 8a 08 mov cl,BYTE PTR [eax]
108d2f: 84 c9 test cl,cl
108d31: 74 1c je 108d4f <strcmp+0x2b>
108d33: 8a 1a mov bl,BYTE PTR [edx]
108d35: 84 db test bl,bl
108d37: 74 16 je 108d4f <strcmp+0x2b>
108d39: 38 d9 cmp cl,bl
108d3b: 75 12 jne 108d4f <strcmp+0x2b>
108d3d: 40 inc eax
108d3e: 42 inc edx
108d3f: 8a 08 mov cl,BYTE PTR [eax]
108d41: 84 c9 test cl,cl
108d43: 74 0a je 108d4f <strcmp+0x2b>
108d45: 8a 1a mov bl,BYTE PTR [edx]
108d47: 84 db test bl,bl
108d49: 74 04 je 108d4f <strcmp+0x2b>
108d4b: 38 d9 cmp cl,bl
108d4d: 74 ee je 108d3d <strcmp+0x19>
108d4f: 8a 08 mov cl,BYTE PTR [eax]
108d51: 8a 12 mov dl,BYTE PTR [edx]
108d53: b8 ff ff ff ff mov eax,0xffffffff
108d58: 38 d1 cmp cl,dl
108d5a: 72 08 jb 108d64 <strcmp+0x40>
108d5c: 0f 97 c0 seta al
108d5f: 25 ff 00 00 00 and eax,0xff
108d64: 5b pop ebx
108d65: c3 ret
00108d66 <strncmp>:
108d66: 57 push edi
108d67: 56 push esi
108d68: 53 push ebx
108d69: 8b 5c 24 10 mov ebx,DWORD PTR [esp+0x10]
108d6d: 8b 4c 24 14 mov ecx,DWORD PTR [esp+0x14]
108d71: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18]
108d75: b8 00 00 00 00 mov eax,0x0
108d7a: 85 d2 test edx,edx
108d7c: 74 55 je 108dd3 <strncmp+0x6d>
108d7e: 0f b6 33 movzx esi,BYTE PTR [ebx]
108d81: 89 f0 mov eax,esi
108d83: 3a 01 cmp al,BYTE PTR [ecx]
108d85: 75 29 jne 108db0 <strncmp+0x4a>
108d87: b8 00 00 00 00 mov eax,0x0
108d8c: 89 d7 mov edi,edx
108d8e: 4f dec edi
108d8f: 74 42 je 108dd3 <strncmp+0x6d>
108d91: 89 f0 mov eax,esi
108d93: eb 05 jmp 108d9a <strncmp+0x34>
108d95: 4f dec edi
108d96: 74 2f je 108dc7 <strncmp+0x61>
108d98: 89 c6 mov esi,eax
108d9a: 89 f2 mov edx,esi
108d9c: 38 d0 cmp al,dl
108d9e: 75 04 jne 108da4 <strncmp+0x3e>
108da0: 84 c0 test al,al
108da2: 74 2a je 108dce <strncmp+0x68>
108da4: 43 inc ebx
108da5: 41 inc ecx
108da6: 85 ff test edi,edi
108da8: 74 06 je 108db0 <strncmp+0x4a>
108daa: 8a 03 mov al,BYTE PTR [ebx]
108dac: 3a 01 cmp al,BYTE PTR [ecx]
108dae: 74 e5 je 108d95 <strncmp+0x2f>
108db0: 8a 1b mov bl,BYTE PTR [ebx]
108db2: 8a 11 mov dl,BYTE PTR [ecx]
108db4: b8 ff ff ff ff mov eax,0xffffffff
108db9: 38 d3 cmp bl,dl
108dbb: 72 16 jb 108dd3 <strncmp+0x6d>
108dbd: 0f 97 c0 seta al
108dc0: 25 ff 00 00 00 and eax,0xff
108dc5: eb 0c jmp 108dd3 <strncmp+0x6d>
108dc7: b8 00 00 00 00 mov eax,0x0
108dcc: eb 05 jmp 108dd3 <strncmp+0x6d>
108dce: b8 00 00 00 00 mov eax,0x0
108dd3: 5b pop ebx
108dd4: 5e pop esi
108dd5: 5f pop edi
108dd6: c3 ret
00108dd7 <strcasecmp>:
108dd7: 57 push edi
108dd8: 56 push esi
108dd9: 53 push ebx
108dda: 83 ec 10 sub esp,0x10
108ddd: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
108de1: 8b 5c 24 24 mov ebx,DWORD PTR [esp+0x24]
108de5: 8a 06 mov al,BYTE PTR [esi]
108de7: 84 c0 test al,al
108de9: 74 30 je 108e1b <strcasecmp+0x44>
108deb: 80 3b 00 cmp BYTE PTR [ebx],0x0
108dee: 75 0f jne 108dff <strcasecmp+0x28>
108df0: eb 29 jmp 108e1b <strcasecmp+0x44>
108df2: 46 inc esi
108df3: 43 inc ebx
108df4: 8a 06 mov al,BYTE PTR [esi]
108df6: 84 c0 test al,al
108df8: 74 21 je 108e1b <strcasecmp+0x44>
108dfa: 80 3b 00 cmp BYTE PTR [ebx],0x0
108dfd: 74 1c je 108e1b <strcasecmp+0x44>
108dff: 0f be c0 movsx eax,al
108e02: 89 04 24 mov DWORD PTR [esp],eax
108e05: e8 0b bc ff ff call 104a15 <tolower>
108e0a: 89 c7 mov edi,eax
108e0c: 0f be 03 movsx eax,BYTE PTR [ebx]
108e0f: 89 04 24 mov DWORD PTR [esp],eax
108e12: e8 fe bb ff ff call 104a15 <tolower>
108e17: 39 c7 cmp edi,eax
108e19: 74 d7 je 108df2 <strcasecmp+0x1b>
108e1b: 31 c0 xor eax,eax
108e1d: 8a 06 mov al,BYTE PTR [esi]
108e1f: 89 04 24 mov DWORD PTR [esp],eax
108e22: e8 ee bb ff ff call 104a15 <tolower>
108e27: 89 c6 mov esi,eax
108e29: 31 c0 xor eax,eax
108e2b: 8a 03 mov al,BYTE PTR [ebx]
108e2d: 89 04 24 mov DWORD PTR [esp],eax
108e30: e8 e0 bb ff ff call 104a15 <tolower>
108e35: 88 c2 mov dl,al
108e37: b8 ff ff ff ff mov eax,0xffffffff
108e3c: 89 f1 mov ecx,esi
108e3e: 38 d1 cmp cl,dl
108e40: 72 08 jb 108e4a <strcasecmp+0x73>
108e42: 0f 97 c0 seta al
108e45: 25 ff 00 00 00 and eax,0xff
108e4a: 83 c4 10 add esp,0x10
108e4d: 5b pop ebx
108e4e: 5e pop esi
108e4f: 5f pop edi
108e50: c3 ret
00108e51 <strcpy>:
108e51: 53 push ebx
108e52: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
108e56: 8b 5c 24 0c mov ebx,DWORD PTR [esp+0xc]
108e5a: ba 00 00 00 00 mov edx,0x0
108e5f: 8a 0c 13 mov cl,BYTE PTR [ebx+edx*1]
108e62: 88 0c 10 mov BYTE PTR [eax+edx*1],cl
108e65: 42 inc edx
108e66: 84 c9 test cl,cl
108e68: 75 f5 jne 108e5f <strcpy+0xe>
108e6a: 5b pop ebx
108e6b: c3 ret
00108e6c <strchr>:
108e6c: 53 push ebx
108e6d: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
108e71: 8b 5c 24 0c mov ebx,DWORD PTR [esp+0xc]
108e75: 8a 10 mov dl,BYTE PTR [eax]
108e77: 84 d2 test dl,dl
108e79: 74 13 je 108e8e <strchr+0x22>
108e7b: 88 d9 mov cl,bl
108e7d: 38 da cmp dl,bl
108e7f: 74 1c je 108e9d <strchr+0x31>
108e81: 40 inc eax
108e82: 8a 10 mov dl,BYTE PTR [eax]
108e84: 84 d2 test dl,dl
108e86: 74 06 je 108e8e <strchr+0x22>
108e88: 38 ca cmp dl,cl
108e8a: 75 f5 jne 108e81 <strchr+0x15>
108e8c: eb 0f jmp 108e9d <strchr+0x31>
108e8e: 38 da cmp dl,bl
108e90: 0f 94 c2 sete dl
108e93: 81 e2 ff 00 00 00 and edx,0xff
108e99: f7 da neg edx
108e9b: 21 d0 and eax,edx
108e9d: 5b pop ebx
108e9e: c3 ret
00108e9f <strrchr>:
108e9f: 56 push esi
108ea0: 53 push ebx
108ea1: 83 ec 08 sub esp,0x8
108ea4: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
108ea8: 8b 5c 24 18 mov ebx,DWORD PTR [esp+0x18]
108eac: be 00 00 00 00 mov esi,0x0
108eb1: 85 db test ebx,ebx
108eb3: 75 16 jne 108ecb <strrchr+0x2c>
108eb5: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
108ebc: 00
108ebd: 89 04 24 mov DWORD PTR [esp],eax
108ec0: e8 a7 ff ff ff call 108e6c <strchr>
108ec5: 89 c6 mov esi,eax
108ec7: eb 12 jmp 108edb <strrchr+0x3c>
108ec9: 89 c6 mov esi,eax
108ecb: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
108ecf: 89 04 24 mov DWORD PTR [esp],eax
108ed2: e8 95 ff ff ff call 108e6c <strchr>
108ed7: 85 c0 test eax,eax
108ed9: 75 ee jne 108ec9 <strrchr+0x2a>
108edb: 89 f0 mov eax,esi
108edd: 83 c4 08 add esp,0x8
108ee0: 5b pop ebx
108ee1: 5e pop esi
108ee2: c3 ret
...
00108ee4 <SystemPanic>:
108ee4: fa cli
108ee5: f4 hlt
108ee6: c3 ret
00108ee7 <SystemReboot>:
108ee7: 83 ec 1c sub esp,0x1c
108eea: c7 44 24 08 5e b0 10 mov DWORD PTR [esp+0x8],0x10b05e
108ef1: 00
108ef2: c7 44 24 04 73 b0 10 mov DWORD PTR [esp+0x4],0x10b073
108ef9: 00
108efa: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
108f01: e8 a2 e3 ff ff call 1072a8 <LogWrite>
108f06: e8 15 df ff ff call 106e20 <KeyboardWaitOutport>
108f0b: b0 fe mov al,0xfe
108f0d: e6 64 out 0x64,al
108f0f: e8 d0 ff ff ff call 108ee4 <SystemPanic>
108f14: 83 c4 1c add esp,0x1c
108f17: c3 ret
...
00108f20 <TaskReadEip>:
108f20: 58 pop eax
108f21: 50 push eax
108f22: c3 ret
...
00108f24 <TaskSwitch>:
108f24: 56 push esi
108f25: 53 push ebx
108f26: 83 ec 14 sub esp,0x14
108f29: 66 87 db xchg bx,bx
108f2c: 83 3d 00 da 10 00 00 cmp DWORD PTR ds:0x10da00,0x0
108f33: 74 56 je 108f8b <TaskSwitch+0x67>
108f35: e8 e6 ff ff ff call 108f20 <TaskReadEip>
108f3a: 3d ef cd ab 00 cmp eax,0xabcdef
108f3f: 74 4a je 108f8b <TaskSwitch+0x67>
108f41: 89 e1 mov ecx,esp
108f43: 8b 15 04 da 10 00 mov edx,DWORD PTR ds:0x10da04
108f49: 89 4a 08 mov DWORD PTR [edx+0x8],ecx
108f4c: 89 e9 mov ecx,ebp
108f4e: 89 4a 0c mov DWORD PTR [edx+0xc],ecx
108f51: 89 42 04 mov DWORD PTR [edx+0x4],eax
108f54: 8b 42 20 mov eax,DWORD PTR [edx+0x20]
108f57: 85 c0 test eax,eax
108f59: 75 05 jne 108f60 <TaskSwitch+0x3c>
108f5b: a1 00 da 10 00 mov eax,ds:0x10da00
108f60: a3 04 da 10 00 mov ds:0x10da04,eax
108f65: 8b 40 10 mov eax,DWORD PTR [eax+0x10]
108f68: 89 04 24 mov DWORD PTR [esp],eax
108f6b: e8 bc ec ff ff call 107c2c <PagingSwitchDirectory>
108f70: a1 04 da 10 00 mov eax,ds:0x10da04
108f75: 8b 50 0c mov edx,DWORD PTR [eax+0xc]
108f78: 8b 58 08 mov ebx,DWORD PTR [eax+0x8]
108f7b: 8b 70 04 mov esi,DWORD PTR [eax+0x4]
108f7e: 89 d5 mov ebp,edx
108f80: 89 dc mov esp,ebx
108f82: 89 f1 mov ecx,esi
108f84: b8 ef cd ab 00 mov eax,0xabcdef
108f89: ff e1 jmp ecx
108f8b: 83 c4 14 add esp,0x14
108f8e: 5b pop ebx
108f8f: 5e pop esi
108f90: c3 ret
00108f91 <TaskEnd>:
108f91: 53 push ebx
108f92: 83 ec 18 sub esp,0x18
108f95: 8b 15 04 da 10 00 mov edx,DWORD PTR ds:0x10da04
108f9b: 8b 1a mov ebx,DWORD PTR [edx]
108f9d: a1 00 da 10 00 mov eax,ds:0x10da00
108fa2: 3b 18 cmp ebx,DWORD PTR [eax]
108fa4: 75 0c jne 108fb2 <TaskEnd+0x21>
108fa6: 8b 40 20 mov eax,DWORD PTR [eax+0x20]
108fa9: a3 00 da 10 00 mov ds:0x10da00,eax
108fae: eb 13 jmp 108fc3 <TaskEnd+0x32>
108fb0: 89 c8 mov eax,ecx
108fb2: 8b 48 20 mov ecx,DWORD PTR [eax+0x20]
108fb5: 85 c9 test ecx,ecx
108fb7: 74 04 je 108fbd <TaskEnd+0x2c>
108fb9: 3b 19 cmp ebx,DWORD PTR [ecx]
108fbb: 75 f3 jne 108fb0 <TaskEnd+0x1f>
108fbd: 8b 4a 20 mov ecx,DWORD PTR [edx+0x20]
108fc0: 89 48 20 mov DWORD PTR [eax+0x20],ecx
108fc3: 8b 42 14 mov eax,DWORD PTR [edx+0x14]
108fc6: 89 04 24 mov DWORD PTR [esp],eax
108fc9: e8 9a f3 ff ff call 108368 <kfree>
108fce: a1 04 da 10 00 mov eax,ds:0x10da04
108fd3: 89 04 24 mov DWORD PTR [esp],eax
108fd6: e8 8d f3 ff ff call 108368 <kfree>
108fdb: eb fe jmp 108fdb <TaskEnd+0x4a>
00108fdd <TaskCreate>:
108fdd: 53 push ebx
108fde: 83 ec 18 sub esp,0x18
108fe1: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24
108fe8: e8 14 f2 ff ff call 108201 <kmalloc>
108fed: 89 c3 mov ebx,eax
108fef: c7 04 24 00 10 00 00 mov DWORD PTR [esp],0x1000
108ff6: e8 06 f2 ff ff call 108201 <kmalloc>
108ffb: 89 43 14 mov DWORD PTR [ebx+0x14],eax
108ffe: 05 00 10 00 00 add eax,0x1000
109003: 89 43 18 mov DWORD PTR [ebx+0x18],eax
109006: c7 43 20 00 00 00 00 mov DWORD PTR [ebx+0x20],0x0
10900d: a1 e4 d9 10 00 mov eax,ds:0x10d9e4
109012: 89 43 10 mov DWORD PTR [ebx+0x10],eax
109015: a1 30 c3 10 00 mov eax,ds:0x10c330
10901a: 89 03 mov DWORD PTR [ebx],eax
10901c: 40 inc eax
10901d: a3 30 c3 10 00 mov ds:0x10c330,eax
109022: a1 00 da 10 00 mov eax,ds:0x10da00
109027: 85 c0 test eax,eax
109029: 74 19 je 109044 <TaskCreate+0x67>
10902b: 8b 50 20 mov edx,DWORD PTR [eax+0x20]
10902e: 85 d2 test edx,edx
109030: 75 04 jne 109036 <TaskCreate+0x59>
109032: eb 0b jmp 10903f <TaskCreate+0x62>
109034: 89 c2 mov edx,eax
109036: 8b 42 20 mov eax,DWORD PTR [edx+0x20]
109039: 85 c0 test eax,eax
10903b: 75 f7 jne 109034 <TaskCreate+0x57>
10903d: eb 02 jmp 109041 <TaskCreate+0x64>
10903f: 89 c2 mov edx,eax
109041: 89 5a 20 mov DWORD PTR [edx+0x20],ebx
109044: 83 c4 18 add esp,0x18
109047: 5b pop ebx
109048: c3 ret
00109049 <TaskInitialize>:
109049: 83 ec 1c sub esp,0x1c
10904c: c7 04 24 24 00 00 00 mov DWORD PTR [esp],0x24
109053: e8 a9 f1 ff ff call 108201 <kmalloc>
109058: 8b 15 30 c3 10 00 mov edx,DWORD PTR ds:0x10c330
10905e: 89 10 mov DWORD PTR [eax],edx
109060: 42 inc edx
109061: 89 15 30 c3 10 00 mov DWORD PTR ds:0x10c330,edx
109067: 8b 15 e4 d9 10 00 mov edx,DWORD PTR ds:0x10d9e4
10906d: 89 50 10 mov DWORD PTR [eax+0x10],edx
109070: c7 40 20 00 00 00 00 mov DWORD PTR [eax+0x20],0x0
109077: a3 04 da 10 00 mov ds:0x10da04,eax
10907c: a3 00 da 10 00 mov ds:0x10da00,eax
109081: 83 c4 1c add esp,0x1c
109084: c3 ret
109085: 00 00 add BYTE PTR [eax],al
...
00109088 <ConvertTimeToTimeSystem>:
109088: 55 push ebp
109089: 57 push edi
10908a: 56 push esi
10908b: 53 push ebx
10908c: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
109090: 0f b6 7c 24 1c movzx edi,BYTE PTR [esp+0x1c]
109095: 0f b6 74 24 1e movzx esi,BYTE PTR [esp+0x1e]
10909a: 8b 54 24 18 mov edx,DWORD PTR [esp+0x18]
10909e: 31 c9 xor ecx,ecx
1090a0: 8a 4c 24 1f mov cl,BYTE PTR [esp+0x1f]
1090a4: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090a7: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090aa: 8d 1c 89 lea ebx,[ecx+ecx*4]
1090ad: 89 d9 mov ecx,ebx
1090af: c1 e1 04 shl ecx,0x4
1090b2: 29 d9 sub ecx,ebx
1090b4: 89 cd mov ebp,ecx
1090b6: c1 e5 04 shl ebp,0x4
1090b9: 29 cd sub ebp,ecx
1090bb: c1 e5 07 shl ebp,0x7
1090be: 31 c9 xor ecx,ecx
1090c0: 8a 4c 24 20 mov cl,BYTE PTR [esp+0x20]
1090c4: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090c7: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090ca: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090cd: 89 cb mov ebx,ecx
1090cf: c1 e3 04 shl ebx,0x4
1090d2: 29 cb sub ebx,ecx
1090d4: c1 e3 05 shl ebx,0x5
1090d7: 01 dd add ebp,ebx
1090d9: 66 8b 5c 24 22 mov bx,WORD PTR [esp+0x22]
1090de: 81 e3 ff ff 00 00 and ebx,0xffff
1090e4: 01 eb add ebx,ebp
1090e6: 31 c9 xor ecx,ecx
1090e8: 8a 4c 24 21 mov cl,BYTE PTR [esp+0x21]
1090ec: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090ef: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090f2: 8d 0c 89 lea ecx,[ecx+ecx*4]
1090f5: 8d 1c cb lea ebx,[ebx+ecx*8]
1090f8: 4a dec edx
1090f9: 79 0b jns 109106 <ConvertTimeToTimeSystem+0x7e>
1090fb: c7 00 00 00 00 00 mov DWORD PTR [eax],0x0
109101: 89 58 04 mov DWORD PTR [eax+0x4],ebx
109104: eb 4a jmp 109150 <ConvertTimeToTimeSystem+0xc8>
109106: 4f dec edi
109107: 81 e7 ff 00 00 00 and edi,0xff
10910d: 0f bf bc 3f 7a b0 10 movsx edi,WORD PTR [edi+edi*1+0x10b07a]
109114: 00
109115: 89 d5 mov ebp,edx
109117: c1 fd 1f sar ebp,0x1f
10911a: c1 ed 1e shr ebp,0x1e
10911d: 01 ea add edx,ebp
10911f: 89 d1 mov ecx,edx
109121: 83 e1 03 and ecx,0x3
109124: 29 e9 sub ecx,ebp
109126: 8d 2c c9 lea ebp,[ecx+ecx*8]
109129: 8d 0c e9 lea ecx,[ecx+ebp*8]
10912c: 8d 0c 89 lea ecx,[ecx+ecx*4]
10912f: 01 cf add edi,ecx
109131: 4e dec esi
109132: 81 e6 ff 00 00 00 and esi,0xff
109138: 01 f7 add edi,esi
10913a: c1 fa 02 sar edx,0x2
10913d: 8d 0c d2 lea ecx,[edx+edx*8]
109140: 8d 0c ca lea ecx,[edx+ecx*8]
109143: 8d 0c 89 lea ecx,[ecx+ecx*4]
109146: 8d 14 8a lea edx,[edx+ecx*4]
109149: 01 d7 add edi,edx
10914b: 89 38 mov DWORD PTR [eax],edi
10914d: 89 58 04 mov DWORD PTR [eax+0x4],ebx
109150: 5b pop ebx
109151: 5e pop esi
109152: 5f pop edi
109153: 5d pop ebp
109154: c2 04 00 ret 0x4
00109157 <ConvertTimeSystemToTime>:
109157: 55 push ebp
109158: 57 push edi
109159: 56 push esi
10915a: 53 push ebx
10915b: 83 ec 34 sub esp,0x34
10915e: 8b 7c 24 4c mov edi,DWORD PTR [esp+0x4c]
109162: 8b 74 24 50 mov esi,DWORD PTR [esp+0x50]
109166: 89 7c 24 14 mov DWORD PTR [esp+0x14],edi
10916a: b8 d3 4d 62 10 mov eax,0x10624dd3
10916f: f7 e6 mul esi
109171: 89 d1 mov ecx,edx
109173: c1 e9 06 shr ecx,0x6
109176: 8d 04 89 lea eax,[ecx+ecx*4]
109179: 8d 04 80 lea eax,[eax+eax*4]
10917c: 8d 04 80 lea eax,[eax+eax*4]
10917f: c1 e0 03 shl eax,0x3
109182: 89 f2 mov edx,esi
109184: 66 29 c2 sub dx,ax
109187: 66 89 54 24 1c mov WORD PTR [esp+0x1c],dx
10918c: bb 89 88 88 88 mov ebx,0x88888889
109191: 89 c8 mov eax,ecx
109193: f7 e3 mul ebx
109195: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
109199: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
10919d: c1 e8 05 shr eax,0x5
1091a0: 89 c2 mov edx,eax
1091a2: c1 e2 06 shl edx,0x6
1091a5: 8d 04 81 lea eax,[ecx+eax*4]
1091a8: 28 d0 sub al,dl
1091aa: 88 44 24 1e mov BYTE PTR [esp+0x1e],al
1091ae: b9 73 b2 e7 45 mov ecx,0x45e7b273
1091b3: 89 f0 mov eax,esi
1091b5: f7 e1 mul ecx
1091b7: 89 d1 mov ecx,edx
1091b9: c1 e9 0e shr ecx,0xe
1091bc: 89 c8 mov eax,ecx
1091be: f7 e3 mul ebx
1091c0: 89 04 24 mov DWORD PTR [esp],eax
1091c3: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
1091c7: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
1091cb: c1 e8 05 shr eax,0x5
1091ce: 89 c2 mov edx,eax
1091d0: c1 e2 06 shl edx,0x6
1091d3: 8d 04 81 lea eax,[ecx+eax*4]
1091d6: 28 d0 sub al,dl
1091d8: 88 44 24 1f mov BYTE PTR [esp+0x1f],al
1091dc: ba b1 7c 21 95 mov edx,0x95217cb1
1091e1: 89 f0 mov eax,esi
1091e3: f7 e2 mul edx
1091e5: c1 ea 15 shr edx,0x15
1091e8: 88 54 24 20 mov BYTE PTR [esp+0x20],dl
1091ec: b8 73 b0 6d 16 mov eax,0x166db073
1091f1: f7 e7 mul edi
1091f3: 89 d1 mov ecx,edx
1091f5: c1 e9 07 shr ecx,0x7
1091f8: 89 cb mov ebx,ecx
1091fa: 8d 04 c9 lea eax,[ecx+ecx*8]
1091fd: 8d 04 c1 lea eax,[ecx+eax*8]
109200: 8d 04 80 lea eax,[eax+eax*4]
109203: 8d 04 81 lea eax,[ecx+eax*4]
109206: 89 f9 mov ecx,edi
109208: 29 c1 sub ecx,eax
10920a: be 6d 01 00 00 mov esi,0x16d
10920f: 89 c8 mov eax,ecx
109211: ba 00 00 00 00 mov edx,0x0
109216: f7 f6 div esi
109218: 89 54 24 18 mov DWORD PTR [esp+0x18],edx
10921c: 89 54 24 0c mov DWORD PTR [esp+0xc],edx
109220: ba 61 f3 19 67 mov edx,0x6719f361
109225: 89 c8 mov eax,ecx
109227: f7 e2 mul edx
109229: 29 d1 sub ecx,edx
10922b: d1 e9 shr ecx,1
10922d: 01 d1 add ecx,edx
10922f: c1 e9 08 shr ecx,0x8
109232: 8d 4c 99 01 lea ecx,[ecx+ebx*4+0x1]
109236: 89 4c 24 10 mov DWORD PTR [esp+0x10],ecx
10923a: b1 0b mov cl,0xb
10923c: 8b 54 24 10 mov edx,DWORD PTR [esp+0x10]
109240: 83 e2 03 and edx,0x3
109243: eb 02 jmp 109247 <ConvertTimeSystemToTime+0xf0>
109245: 89 e9 mov ecx,ebp
109247: 31 c0 xor eax,eax
109249: 88 c8 mov al,cl
10924b: 66 8b 9c 00 7a b0 10 mov bx,WORD PTR [eax+eax*1+0x10b07a]
109252: 00
109253: 0f bf fb movsx edi,bx
109256: 89 d6 mov esi,edx
109258: b8 00 00 00 00 mov eax,0x0
10925d: 85 d2 test edx,edx
10925f: 75 0b jne 10926c <ConvertTimeSystemToTime+0x115>
109261: 80 f9 01 cmp cl,0x1
109264: 0f 97 c0 seta al
109267: 25 ff 00 00 00 and eax,0xff
10926c: 8d 69 ff lea ebp,[ecx-0x1]
10926f: 01 f8 add eax,edi
109271: 39 44 24 0c cmp DWORD PTR [esp+0xc],eax
109275: 7c ce jl 109245 <ConvertTimeSystemToTime+0xee>
109277: bd 07 00 00 00 mov ebp,0x7
10927c: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
109280: ba 00 00 00 00 mov edx,0x0
109285: f7 f5 div ebp
109287: 89 d7 mov edi,edx
109289: 0f b6 6c 24 18 movzx ebp,BYTE PTR [esp+0x18]
10928e: ba 00 00 00 00 mov edx,0x0
109293: 85 f6 test esi,esi
109295: 75 0c jne 1092a3 <ConvertTimeSystemToTime+0x14c>
109297: 80 f9 01 cmp cl,0x1
10929a: 0f 97 c2 seta dl
10929d: 81 e2 ff 00 00 00 and edx,0xff
1092a3: 8b 74 24 10 mov esi,DWORD PTR [esp+0x10]
1092a7: 8b 44 24 48 mov eax,DWORD PTR [esp+0x48]
1092ab: 89 30 mov DWORD PTR [eax],esi
1092ad: 41 inc ecx
1092ae: 88 48 04 mov BYTE PTR [eax+0x4],cl
1092b1: 8d 47 01 lea eax,[edi+0x1]
1092b4: 8b 4c 24 48 mov ecx,DWORD PTR [esp+0x48]
1092b8: 88 41 05 mov BYTE PTR [ecx+0x5],al
1092bb: 8d 45 01 lea eax,[ebp+0x1]
1092be: 28 d8 sub al,bl
1092c0: 28 d0 sub al,dl
1092c2: 88 41 06 mov BYTE PTR [ecx+0x6],al
1092c5: 8a 44 24 20 mov al,BYTE PTR [esp+0x20]
1092c9: 88 41 07 mov BYTE PTR [ecx+0x7],al
1092cc: 8a 54 24 1f mov dl,BYTE PTR [esp+0x1f]
1092d0: 88 51 08 mov BYTE PTR [ecx+0x8],dl
1092d3: 8a 44 24 1e mov al,BYTE PTR [esp+0x1e]
1092d7: 88 41 09 mov BYTE PTR [ecx+0x9],al
1092da: 8b 74 24 1c mov esi,DWORD PTR [esp+0x1c]
1092de: 66 89 71 0a mov WORD PTR [ecx+0xa],si
1092e2: 89 c8 mov eax,ecx
1092e4: 83 c4 34 add esp,0x34
1092e7: 5b pop ebx
1092e8: 5e pop esi
1092e9: 5f pop edi
1092ea: 5d pop ebp
1092eb: c2 04 00 ret 0x4
001092ee <TimeCalculateWeekday>:
1092ee: 57 push edi
1092ef: 56 push esi
1092f0: 53 push ebx
1092f1: 8b 74 24 10 mov esi,DWORD PTR [esp+0x10]
1092f5: 4e dec esi
1092f6: 31 d2 xor edx,edx
1092f8: 8a 54 24 16 mov dl,BYTE PTR [esp+0x16]
1092fc: 31 c0 xor eax,eax
1092fe: 8a 44 24 14 mov al,BYTE PTR [esp+0x14]
109302: 0f bf 84 00 78 b0 10 movsx eax,WORD PTR [eax+eax*1+0x10b078]
109309: 00
10930a: 8d 54 02 ff lea edx,[edx+eax*1-0x1]
10930e: 89 f3 mov ebx,esi
109310: c1 fb 1f sar ebx,0x1f
109313: c1 eb 1e shr ebx,0x1e
109316: 01 de add esi,ebx
109318: 89 f1 mov ecx,esi
10931a: c1 f9 02 sar ecx,0x2
10931d: 8d 04 c9 lea eax,[ecx+ecx*8]
109320: 8d 3c c1 lea edi,[ecx+eax*8]
109323: 8d 04 bf lea eax,[edi+edi*4]
109326: 8d 04 81 lea eax,[ecx+eax*4]
109329: 01 d0 add eax,edx
10932b: 89 f1 mov ecx,esi
10932d: 83 e1 03 and ecx,0x3
109330: 29 d9 sub ecx,ebx
109332: 8d 14 c9 lea edx,[ecx+ecx*8]
109335: 8d 0c d1 lea ecx,[ecx+edx*8]
109338: 8d 0c 89 lea ecx,[ecx+ecx*4]
10933b: 01 c8 add eax,ecx
10933d: b9 07 00 00 00 mov ecx,0x7
109342: ba 00 00 00 00 mov edx,0x0
109347: f7 f1 div ecx
109349: 8d 42 01 lea eax,[edx+0x1]
10934c: 5b pop ebx
10934d: 5e pop esi
10934e: 5f pop edi
10934f: c3 ret
00109350 <TimeGetInternalTime>:
109350: 53 push ebx
109351: 8b 44 24 08 mov eax,DWORD PTR [esp+0x8]
109355: 8b 0d 00 d0 10 00 mov ecx,DWORD PTR ds:0x10d000
10935b: 8b 1d 04 d0 10 00 mov ebx,DWORD PTR ds:0x10d004
109361: 89 08 mov DWORD PTR [eax],ecx
109363: 89 58 04 mov DWORD PTR [eax+0x4],ebx
109366: 5b pop ebx
109367: c2 04 00 ret 0x4
0010936a <TimeSetInternalTime>:
10936a: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
10936e: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
109372: a3 00 d0 10 00 mov ds:0x10d000,eax
109377: 89 15 04 d0 10 00 mov DWORD PTR ds:0x10d004,edx
10937d: c3 ret
0010937e <TimeGetInternalFrequency>:
10937e: a1 08 d0 10 00 mov eax,ds:0x10d008
109383: c3 ret
00109384 <TimeSetInternalFrequency>:
109384: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
109388: a3 08 d0 10 00 mov ds:0x10d008,eax
10938d: c3 ret
0010938e <TimerStart>:
10938e: 83 ec 10 sub esp,0x10
109391: 8d 44 24 04 lea eax,[esp+0x4]
109395: 89 04 24 mov DWORD PTR [esp],eax
109398: e8 b3 ff ff ff call 109350 <TimeGetInternalTime>
10939d: 83 ec 04 sub esp,0x4
1093a0: 8b 44 24 04 mov eax,DWORD PTR [esp+0x4]
1093a4: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
1093a8: a3 08 da 10 00 mov ds:0x10da08,eax
1093ad: 89 15 0c da 10 00 mov DWORD PTR ds:0x10da0c,edx
1093b3: 8b 44 24 14 mov eax,DWORD PTR [esp+0x14]
1093b7: 03 05 0c da 10 00 add eax,DWORD PTR ds:0x10da0c
1093bd: a3 0c da 10 00 mov ds:0x10da0c,eax
1093c2: 3d ff 5b 26 05 cmp eax,0x5265bff
1093c7: 76 10 jbe 1093d9 <TimerStart+0x4b>
1093c9: ff 05 08 da 10 00 inc DWORD PTR ds:0x10da08
1093cf: 2d 00 5c 26 05 sub eax,0x5265c00
1093d4: a3 0c da 10 00 mov ds:0x10da0c,eax
1093d9: 83 c4 10 add esp,0x10
1093dc: c3 ret
001093dd <TimerIsDone>:
1093dd: 83 ec 10 sub esp,0x10
1093e0: 8d 44 24 04 lea eax,[esp+0x4]
1093e4: 89 04 24 mov DWORD PTR [esp],eax
1093e7: e8 64 ff ff ff call 109350 <TimeGetInternalTime>
1093ec: 83 ec 04 sub esp,0x4
1093ef: 8b 54 24 08 mov edx,DWORD PTR [esp+0x8]
1093f3: b0 01 mov al,0x1
1093f5: 8b 4c 24 04 mov ecx,DWORD PTR [esp+0x4]
1093f9: 39 0d 08 da 10 00 cmp DWORD PTR ds:0x10da08,ecx
1093ff: 72 09 jb 10940a <TimerIsDone+0x2d>
109401: 39 15 0c da 10 00 cmp DWORD PTR ds:0x10da0c,edx
109407: 0f 96 c0 setbe al
10940a: 83 c4 10 add esp,0x10
10940d: c3 ret
...
00109410 <VfsInstall>:
109410: 83 ec 1c sub esp,0x1c
109413: c7 44 24 04 14 da 10 mov DWORD PTR [esp+0x4],0x10da14
10941a: 00
10941b: c7 04 24 38 00 00 00 mov DWORD PTR [esp],0x38
109422: e8 85 b8 ff ff call 104cac <DynamicArrayCreate>
109427: c7 44 24 04 28 da 10 mov DWORD PTR [esp+0x4],0x10da28
10942e: 00
10942f: c7 04 24 74 00 00 00 mov DWORD PTR [esp],0x74
109436: e8 71 b8 ff ff call 104cac <DynamicArrayCreate>
10943b: a1 14 da 10 00 mov eax,ds:0x10da14
109440: a3 24 da 10 00 mov ds:0x10da24,eax
109445: a1 28 da 10 00 mov eax,ds:0x10da28
10944a: a3 10 da 10 00 mov ds:0x10da10,eax
10944f: c7 44 24 0c 0a 00 00 mov DWORD PTR [esp+0xc],0xa
109456: 00
109457: c7 44 24 08 94 b0 10 mov DWORD PTR [esp+0x8],0x10b094
10945e: 00
10945f: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac
109466: 00
109467: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
10946e: e8 35 de ff ff call 1072a8 <LogWrite>
109473: 83 c4 1c add esp,0x1c
109476: c3 ret
00109477 <VfsInstallFs>:
109477: 53 push ebx
109478: 83 ec 28 sub esp,0x28
10947b: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
10947f: a1 1c da 10 00 mov eax,ds:0x10da1c
109484: 89 03 mov DWORD PTR [ebx],eax
109486: c7 44 24 04 14 da 10 mov DWORD PTR [esp+0x4],0x10da14
10948d: 00
10948e: 89 1c 24 mov DWORD PTR [esp],ebx
109491: e8 45 b8 ff ff call 104cdb <DynamicArrayPush>
109496: 8b 03 mov eax,DWORD PTR [ebx]
109498: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
10949c: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7
1094a3: 00
1094a4: 83 c3 04 add ebx,0x4
1094a7: 89 5c 24 10 mov DWORD PTR [esp+0x10],ebx
1094ab: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf
1094b2: 00
1094b3: c7 44 24 08 b0 b0 10 mov DWORD PTR [esp+0x8],0x10b0b0
1094ba: 00
1094bb: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac
1094c2: 00
1094c3: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1094ca: e8 d9 dd ff ff call 1072a8 <LogWrite>
1094cf: 83 c4 28 add esp,0x28
1094d2: 5b pop ebx
1094d3: c3 ret
001094d4 <_VfsFindDevice>:
1094d4: 56 push esi
1094d5: 53 push ebx
1094d6: 83 ec 14 sub esp,0x14
1094d9: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
1094dd: bb ff ff ff ff mov ebx,0xffffffff
1094e2: 83 3d 30 da 10 00 00 cmp DWORD PTR ds:0x10da30,0x0
1094e9: 74 47 je 109532 <_VfsFindDevice+0x5e>
1094eb: b8 00 00 00 00 mov eax,0x0
1094f0: bb 00 00 00 00 mov ebx,0x0
1094f5: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0]
1094fc: 29 c2 sub edx,eax
1094fe: 8d 04 90 lea eax,[eax+edx*4]
109501: c1 e0 02 shl eax,0x2
109504: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
10950a: 83 38 ff cmp DWORD PTR [eax],0xffffffff
10950d: 74 13 je 109522 <_VfsFindDevice+0x4e>
10950f: 83 c0 08 add eax,0x8
109512: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
109516: 89 34 24 mov DWORD PTR [esp],esi
109519: e8 06 f8 ff ff call 108d24 <strcmp>
10951e: 85 c0 test eax,eax
109520: 74 10 je 109532 <_VfsFindDevice+0x5e>
109522: 43 inc ebx
109523: 89 d8 mov eax,ebx
109525: 3b 1d 30 da 10 00 cmp ebx,DWORD PTR ds:0x10da30
10952b: 72 c8 jb 1094f5 <_VfsFindDevice+0x21>
10952d: bb ff ff ff ff mov ebx,0xffffffff
109532: 89 d8 mov eax,ebx
109534: 83 c4 14 add esp,0x14
109537: 5b pop ebx
109538: 5e pop esi
109539: c3 ret
0010953a <_VfsGetDevice>:
10953a: 55 push ebp
10953b: 57 push edi
10953c: 56 push esi
10953d: 53 push ebx
10953e: 83 ec 1c sub esp,0x1c
109541: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
109545: 8b 7c 24 34 mov edi,DWORD PTR [esp+0x34]
109549: 85 db test ebx,ebx
10954b: 74 05 je 109552 <_VfsGetDevice+0x18>
10954d: 80 3b 2f cmp BYTE PTR [ebx],0x2f
109550: 74 10 je 109562 <_VfsGetDevice+0x28>
109552: c7 07 ff ff ff ff mov DWORD PTR [edi],0xffffffff
109558: b8 00 00 00 00 mov eax,0x0
10955d: e9 a4 00 00 00 jmp 109606 <_VfsGetDevice+0xcc>
109562: b8 00 00 00 00 mov eax,0x0
109567: 80 7b 01 00 cmp BYTE PTR [ebx+0x1],0x0
10956b: 0f 84 95 00 00 00 je 109606 <_VfsGetDevice+0xcc>
109571: 8d 6b 01 lea ebp,[ebx+0x1]
109574: 89 2c 24 mov DWORD PTR [esp],ebp
109577: e8 94 f7 ff ff call 108d10 <strlen>
10957c: 89 c6 mov esi,eax
10957e: 85 c0 test eax,eax
109580: 7e 24 jle 1095a6 <_VfsGetDevice+0x6c>
109582: be ff ff ff ff mov esi,0xffffffff
109587: ba 00 00 00 00 mov edx,0x0
10958c: 80 7c 13 01 2f cmp BYTE PTR [ebx+edx*1+0x1],0x2f
109591: 75 02 jne 109595 <_VfsGetDevice+0x5b>
109593: 89 d6 mov esi,edx
109595: 42 inc edx
109596: 39 d0 cmp eax,edx
109598: 7e 05 jle 10959f <_VfsGetDevice+0x65>
10959a: 83 fe ff cmp esi,0xffffffff
10959d: 74 ed je 10958c <_VfsGetDevice+0x52>
10959f: 83 fe ff cmp esi,0xffffffff
1095a2: 75 02 jne 1095a6 <_VfsGetDevice+0x6c>
1095a4: 89 c6 mov esi,eax
1095a6: c7 07 ff ff ff ff mov DWORD PTR [edi],0xffffffff
1095ac: 83 3d 30 da 10 00 00 cmp DWORD PTR ds:0x10da30,0x0
1095b3: 74 4d je 109602 <_VfsGetDevice+0xc8>
1095b5: b8 00 00 00 00 mov eax,0x0
1095ba: bb 00 00 00 00 mov ebx,0x0
1095bf: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0]
1095c6: 29 c2 sub edx,eax
1095c8: 8d 04 90 lea eax,[eax+edx*4]
1095cb: c1 e0 02 shl eax,0x2
1095ce: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
1095d4: 83 38 ff cmp DWORD PTR [eax],0xffffffff
1095d7: 74 19 je 1095f2 <_VfsGetDevice+0xb8>
1095d9: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
1095dd: 83 c0 08 add eax,0x8
1095e0: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1095e4: 89 2c 24 mov DWORD PTR [esp],ebp
1095e7: e8 7a f7 ff ff call 108d66 <strncmp>
1095ec: 85 c0 test eax,eax
1095ee: 75 02 jne 1095f2 <_VfsGetDevice+0xb8>
1095f0: 89 1f mov DWORD PTR [edi],ebx
1095f2: 43 inc ebx
1095f3: 89 d8 mov eax,ebx
1095f5: 3b 1d 30 da 10 00 cmp ebx,DWORD PTR ds:0x10da30
1095fb: 73 05 jae 109602 <_VfsGetDevice+0xc8>
1095fd: 83 3f ff cmp DWORD PTR [edi],0xffffffff
109600: 74 bd je 1095bf <_VfsGetDevice+0x85>
109602: 8d 44 35 00 lea eax,[ebp+esi*1+0x0]
109606: 83 c4 1c add esp,0x1c
109609: 5b pop ebx
10960a: 5e pop esi
10960b: 5f pop edi
10960c: 5d pop ebp
10960d: c3 ret
0010960e <_VfsDetectFs>:
10960e: 56 push esi
10960f: 53 push ebx
109610: 83 ec 14 sub esp,0x14
109613: 8b 74 24 20 mov esi,DWORD PTR [esp+0x20]
109617: bb ff ff ff ff mov ebx,0xffffffff
10961c: 83 3d 1c da 10 00 00 cmp DWORD PTR ds:0x10da1c,0x0
109623: 74 3c je 109661 <_VfsDetectFs+0x53>
109625: b8 00 00 00 00 mov eax,0x0
10962a: bb 00 00 00 00 mov ebx,0x0
10962f: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0]
109636: c1 e0 06 shl eax,0x6
109639: 29 d0 sub eax,edx
10963b: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109641: 8b 40 14 mov eax,DWORD PTR [eax+0x14]
109644: 85 c0 test eax,eax
109646: 74 09 je 109651 <_VfsDetectFs+0x43>
109648: 89 34 24 mov DWORD PTR [esp],esi
10964b: ff d0 call eax
10964d: 85 c0 test eax,eax
10964f: 75 10 jne 109661 <_VfsDetectFs+0x53>
109651: 43 inc ebx
109652: 89 d8 mov eax,ebx
109654: 3b 1d 1c da 10 00 cmp ebx,DWORD PTR ds:0x10da1c
10965a: 72 d3 jb 10962f <_VfsDetectFs+0x21>
10965c: bb ff ff ff ff mov ebx,0xffffffff
109661: 89 d8 mov eax,ebx
109663: 83 c4 14 add esp,0x14
109666: 5b pop ebx
109667: 5e pop esi
109668: c3 ret
00109669 <VfsTestDevname>:
109669: 55 push ebp
10966a: 57 push edi
10966b: 56 push esi
10966c: 53 push ebx
10966d: 83 ec 2c sub esp,0x2c
109670: 8b 7c 24 40 mov edi,DWORD PTR [esp+0x40]
109674: 89 3c 24 mov DWORD PTR [esp],edi
109677: e8 58 fe ff ff call 1094d4 <_VfsFindDevice>
10967c: 83 f8 ff cmp eax,0xffffffff
10967f: 0f 94 c3 sete bl
109682: 89 3c 24 mov DWORD PTR [esp],edi
109685: e8 86 f6 ff ff call 108d10 <strlen>
10968a: c6 44 07 01 00 mov BYTE PTR [edi+eax*1+0x1],0x0
10968f: 84 db test bl,bl
109691: 75 56 jne 1096e9 <VfsTestDevname+0x80>
109693: be 30 00 00 00 mov esi,0x30
109698: 01 f8 add eax,edi
10969a: 89 44 24 1c mov DWORD PTR [esp+0x1c],eax
10969e: 8b 6c 24 1c mov ebp,DWORD PTR [esp+0x1c]
1096a2: 89 f0 mov eax,esi
1096a4: 88 45 00 mov BYTE PTR [ebp+0x0],al
1096a7: 89 3c 24 mov DWORD PTR [esp],edi
1096aa: e8 25 fe ff ff call 1094d4 <_VfsFindDevice>
1096af: 83 f8 ff cmp eax,0xffffffff
1096b2: 0f 94 c3 sete bl
1096b5: 46 inc esi
1096b6: 89 f2 mov edx,esi
1096b8: 80 fa 39 cmp dl,0x39
1096bb: 7f 04 jg 1096c1 <VfsTestDevname+0x58>
1096bd: 84 db test bl,bl
1096bf: 74 dd je 10969e <VfsTestDevname+0x35>
1096c1: 84 db test bl,bl
1096c3: 75 24 jne 1096e9 <VfsTestDevname+0x80>
1096c5: be 61 00 00 00 mov esi,0x61
1096ca: 89 f0 mov eax,esi
1096cc: 88 45 00 mov BYTE PTR [ebp+0x0],al
1096cf: 89 3c 24 mov DWORD PTR [esp],edi
1096d2: e8 fd fd ff ff call 1094d4 <_VfsFindDevice>
1096d7: 83 f8 ff cmp eax,0xffffffff
1096da: 0f 94 c3 sete bl
1096dd: 46 inc esi
1096de: 89 f2 mov edx,esi
1096e0: 80 fa 7a cmp dl,0x7a
1096e3: 7f 04 jg 1096e9 <VfsTestDevname+0x80>
1096e5: 84 db test bl,bl
1096e7: 74 e1 je 1096ca <VfsTestDevname+0x61>
1096e9: 31 c0 xor eax,eax
1096eb: 88 d8 mov al,bl
1096ed: 83 c4 2c add esp,0x2c
1096f0: 5b pop ebx
1096f1: 5e pop esi
1096f2: 5f pop edi
1096f3: 5d pop ebp
1096f4: c3 ret
001096f5 <VfsMount>:
1096f5: 56 push esi
1096f6: 53 push ebx
1096f7: 81 ec b4 00 00 00 sub esp,0xb4
1096fd: 8b b4 24 c0 00 00 00 mov esi,DWORD PTR [esp+0xc0]
109704: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
109708: 8d 5c 24 3c lea ebx,[esp+0x3c]
10970c: 8d 44 24 44 lea eax,[esp+0x44]
109710: 89 04 24 mov DWORD PTR [esp],eax
109713: e8 39 f7 ff ff call 108e51 <strcpy>
109718: 8b 84 24 cc 00 00 00 mov eax,DWORD PTR [esp+0xcc]
10971f: 89 84 24 84 00 00 00 mov DWORD PTR [esp+0x84],eax
109726: 8b 84 24 c4 00 00 00 mov eax,DWORD PTR [esp+0xc4]
10972d: 89 84 24 88 00 00 00 mov DWORD PTR [esp+0x88],eax
109734: 8b 84 24 c8 00 00 00 mov eax,DWORD PTR [esp+0xc8]
10973b: 89 84 24 8c 00 00 00 mov DWORD PTR [esp+0x8c],eax
109742: 89 1c 24 mov DWORD PTR [esp],ebx
109745: e8 c4 fe ff ff call 10960e <_VfsDetectFs>
10974a: 89 c3 mov ebx,eax
10974c: 83 f8 ff cmp eax,0xffffffff
10974f: 75 32 jne 109783 <VfsMount+0x8e>
109751: 89 74 24 10 mov DWORD PTR [esp+0x10],esi
109755: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc
10975c: 00
10975d: c7 44 24 08 d8 b0 10 mov DWORD PTR [esp+0x8],0x10b0d8
109764: 00
109765: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac
10976c: 00
10976d: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
109774: e8 2f db ff ff call 1072a8 <LogWrite>
109779: b8 00 00 00 00 mov eax,0x0
10977e: e9 67 01 00 00 jmp 1098ea <VfsMount+0x1f5>
109783: 89 44 24 40 mov DWORD PTR [esp+0x40],eax
109787: 8d 44 24 44 lea eax,[esp+0x44]
10978b: 89 04 24 mov DWORD PTR [esp],eax
10978e: e8 d6 fe ff ff call 109669 <VfsTestDevname>
109793: 85 c0 test eax,eax
109795: 74 0c je 1097a3 <VfsMount+0xae>
109797: 8b 35 30 da 10 00 mov esi,DWORD PTR ds:0x10da30
10979d: 85 f6 test esi,esi
10979f: 75 34 jne 1097d5 <VfsMount+0xe0>
1097a1: eb 5b jmp 1097fe <VfsMount+0x109>
1097a3: 89 74 24 10 mov DWORD PTR [esp+0x10],esi
1097a7: c7 44 24 0c 0c 00 00 mov DWORD PTR [esp+0xc],0xc
1097ae: 00
1097af: c7 44 24 08 14 b1 10 mov DWORD PTR [esp+0x8],0x10b114
1097b6: 00
1097b7: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac
1097be: 00
1097bf: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
1097c6: e8 dd da ff ff call 1072a8 <LogWrite>
1097cb: b8 00 00 00 00 mov eax,0x0
1097d0: e9 15 01 00 00 jmp 1098ea <VfsMount+0x1f5>
1097d5: 8b 15 10 da 10 00 mov edx,DWORD PTR ds:0x10da10
1097db: b8 00 00 00 00 mov eax,0x0
1097e0: b9 ff ff ff ff mov ecx,0xffffffff
1097e5: 83 3a ff cmp DWORD PTR [edx],0xffffffff
1097e8: 75 02 jne 1097ec <VfsMount+0xf7>
1097ea: 89 c1 mov ecx,eax
1097ec: 40 inc eax
1097ed: 83 c2 74 add edx,0x74
1097f0: 39 f0 cmp eax,esi
1097f2: 73 05 jae 1097f9 <VfsMount+0x104>
1097f4: 83 f9 ff cmp ecx,0xffffffff
1097f7: 74 ec je 1097e5 <VfsMount+0xf0>
1097f9: 83 f9 ff cmp ecx,0xffffffff
1097fc: 75 1a jne 109818 <VfsMount+0x123>
1097fe: 89 74 24 3c mov DWORD PTR [esp+0x3c],esi
109802: c7 44 24 04 28 da 10 mov DWORD PTR [esp+0x4],0x10da28
109809: 00
10980a: 8d 44 24 3c lea eax,[esp+0x3c]
10980e: 89 04 24 mov DWORD PTR [esp],eax
109811: e8 c5 b4 ff ff call 104cdb <DynamicArrayPush>
109816: eb 31 jmp 109849 <VfsMount+0x154>
109818: 89 4c 24 3c mov DWORD PTR [esp+0x3c],ecx
10981c: c7 44 24 08 74 00 00 mov DWORD PTR [esp+0x8],0x74
109823: 00
109824: 8d 44 24 3c lea eax,[esp+0x3c]
109828: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
10982c: 8d 04 cd 00 00 00 00 lea eax,[ecx*8+0x0]
109833: 29 c8 sub eax,ecx
109835: 8d 04 81 lea eax,[ecx+eax*4]
109838: c1 e0 02 shl eax,0x2
10983b: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
109841: 89 04 24 mov DWORD PTR [esp],eax
109844: e8 bf e7 ff ff call 108008 <memcpy>
109849: 8d 04 dd 00 00 00 00 lea eax,[ebx*8+0x0]
109850: c1 e3 06 shl ebx,0x6
109853: 29 c3 sub ebx,eax
109855: a1 24 da 10 00 mov eax,ds:0x10da24
10985a: 8b 54 18 18 mov edx,DWORD PTR [eax+ebx*1+0x18]
10985e: 85 d2 test edx,edx
109860: 74 1e je 109880 <VfsMount+0x18b>
109862: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c]
109866: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
10986d: 29 c1 sub ecx,eax
10986f: 8d 04 88 lea eax,[eax+ecx*4]
109872: c1 e0 02 shl eax,0x2
109875: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
10987b: 89 04 24 mov DWORD PTR [esp],eax
10987e: ff d2 call edx
109880: c7 44 24 20 07 00 00 mov DWORD PTR [esp+0x20],0x7
109887: 00
109888: 03 1d 24 da 10 00 add ebx,DWORD PTR ds:0x10da24
10988e: 83 c3 04 add ebx,0x4
109891: 89 5c 24 1c mov DWORD PTR [esp+0x1c],ebx
109895: c7 44 24 18 0f 00 00 mov DWORD PTR [esp+0x18],0xf
10989c: 00
10989d: c7 44 24 14 07 00 00 mov DWORD PTR [esp+0x14],0x7
1098a4: 00
1098a5: 8d 44 24 44 lea eax,[esp+0x44]
1098a9: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
1098ad: c7 44 24 0c 0f 00 00 mov DWORD PTR [esp+0xc],0xf
1098b4: 00
1098b5: c7 44 24 08 3c b1 10 mov DWORD PTR [esp+0x8],0x10b13c
1098bc: 00
1098bd: c7 44 24 04 ac b0 10 mov DWORD PTR [esp+0x4],0x10b0ac
1098c4: 00
1098c5: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
1098cc: e8 d7 d9 ff ff call 1072a8 <LogWrite>
1098d1: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c]
1098d5: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0]
1098dc: 29 c2 sub edx,eax
1098de: 8d 04 90 lea eax,[eax+edx*4]
1098e1: c1 e0 02 shl eax,0x2
1098e4: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
1098ea: 81 c4 b4 00 00 00 add esp,0xb4
1098f0: 5b pop ebx
1098f1: 5e pop esi
1098f2: c3 ret
001098f3 <VfsUnmount>:
1098f3: 53 push ebx
1098f4: 83 ec 18 sub esp,0x18
1098f7: 8b 44 24 20 mov eax,DWORD PTR [esp+0x20]
1098fb: 8d 14 c5 00 00 00 00 lea edx,[eax*8+0x0]
109902: 29 c2 sub edx,eax
109904: 8d 1c 90 lea ebx,[eax+edx*4]
109907: c1 e3 02 shl ebx,0x2
10990a: 8b 15 10 da 10 00 mov edx,DWORD PTR ds:0x10da10
109910: 01 da add edx,ebx
109912: 8b 42 04 mov eax,DWORD PTR [edx+0x4]
109915: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
10991c: c1 e0 06 shl eax,0x6
10991f: 29 c8 sub eax,ecx
109921: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109927: 8b 40 1c mov eax,DWORD PTR [eax+0x1c]
10992a: 85 c0 test eax,eax
10992c: 74 0d je 10993b <VfsUnmount+0x48>
10992e: c7 44 24 04 00 00 00 mov DWORD PTR [esp+0x4],0x0
109935: 00
109936: 89 14 24 mov DWORD PTR [esp],edx
109939: ff d0 call eax
10993b: a1 10 da 10 00 mov eax,ds:0x10da10
109940: c7 04 18 ff ff ff ff mov DWORD PTR [eax+ebx*1],0xffffffff
109947: 83 c4 18 add esp,0x18
10994a: 5b pop ebx
10994b: c3 ret
0010994c <VfsOpen>:
10994c: 56 push esi
10994d: 53 push ebx
10994e: 83 ec 24 sub esp,0x24
109951: 8b 5c 24 30 mov ebx,DWORD PTR [esp+0x30]
109955: b8 00 00 00 00 mov eax,0x0
10995a: 85 db test ebx,ebx
10995c: 74 69 je 1099c7 <VfsOpen+0x7b>
10995e: 8d 44 24 1c lea eax,[esp+0x1c]
109962: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
109966: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34]
10996a: 89 04 24 mov DWORD PTR [esp],eax
10996d: e8 c8 fb ff ff call 10953a <_VfsGetDevice>
109972: 89 c6 mov esi,eax
109974: 8b 54 24 1c mov edx,DWORD PTR [esp+0x1c]
109978: 89 13 mov DWORD PTR [ebx],edx
10997a: b8 00 00 00 00 mov eax,0x0
10997f: 83 fa ff cmp edx,0xffffffff
109982: 74 43 je 1099c7 <VfsOpen+0x7b>
109984: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0]
10998b: 29 d0 sub eax,edx
10998d: 8d 0c 82 lea ecx,[edx+eax*4]
109990: c1 e1 02 shl ecx,0x2
109993: 03 0d 10 da 10 00 add ecx,DWORD PTR ds:0x10da10
109999: 8b 51 04 mov edx,DWORD PTR [ecx+0x4]
10999c: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0]
1099a3: c1 e2 06 shl edx,0x6
1099a6: 29 c2 sub edx,eax
1099a8: 03 15 24 da 10 00 add edx,DWORD PTR ds:0x10da24
1099ae: 8b 52 20 mov edx,DWORD PTR [edx+0x20]
1099b1: b8 00 00 00 00 mov eax,0x0
1099b6: 85 d2 test edx,edx
1099b8: 74 0d je 1099c7 <VfsOpen+0x7b>
1099ba: 89 74 24 08 mov DWORD PTR [esp+0x8],esi
1099be: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
1099c2: 89 0c 24 mov DWORD PTR [esp],ecx
1099c5: ff d2 call edx
1099c7: 83 c4 24 add esp,0x24
1099ca: 5b pop ebx
1099cb: 5e pop esi
1099cc: c3 ret
001099cd <VfsTest>:
1099cd: 53 push ebx
1099ce: 83 ec 28 sub esp,0x28
1099d1: 8d 44 24 1c lea eax,[esp+0x1c]
1099d5: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
1099d9: 8b 44 24 30 mov eax,DWORD PTR [esp+0x30]
1099dd: 89 04 24 mov DWORD PTR [esp],eax
1099e0: e8 55 fb ff ff call 10953a <_VfsGetDevice>
1099e5: 89 c3 mov ebx,eax
1099e7: 8b 54 24 1c mov edx,DWORD PTR [esp+0x1c]
1099eb: b8 00 00 00 00 mov eax,0x0
1099f0: 83 fa ff cmp edx,0xffffffff
1099f3: 74 3f je 109a34 <VfsTest+0x67>
1099f5: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0]
1099fc: 29 d0 sub eax,edx
1099fe: 8d 0c 82 lea ecx,[edx+eax*4]
109a01: c1 e1 02 shl ecx,0x2
109a04: 03 0d 10 da 10 00 add ecx,DWORD PTR ds:0x10da10
109a0a: 8b 51 04 mov edx,DWORD PTR [ecx+0x4]
109a0d: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0]
109a14: c1 e2 06 shl edx,0x6
109a17: 29 c2 sub edx,eax
109a19: 03 15 24 da 10 00 add edx,DWORD PTR ds:0x10da24
109a1f: 8b 52 30 mov edx,DWORD PTR [edx+0x30]
109a22: b8 00 00 00 00 mov eax,0x0
109a27: 85 d2 test edx,edx
109a29: 74 09 je 109a34 <VfsTest+0x67>
109a2b: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
109a2f: 89 0c 24 mov DWORD PTR [esp],ecx
109a32: ff d2 call edx
109a34: 83 c4 28 add esp,0x28
109a37: 5b pop ebx
109a38: c3 ret
00109a39 <VfsClose>:
109a39: 53 push ebx
109a3a: 83 ec 18 sub esp,0x18
109a3d: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
109a41: 85 d2 test edx,edx
109a43: 74 43 je 109a88 <VfsClose+0x4f>
109a45: 8b 02 mov eax,DWORD PTR [edx]
109a47: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109a4e: 29 c1 sub ecx,eax
109a50: 8d 1c 88 lea ebx,[eax+ecx*4]
109a53: c1 e3 02 shl ebx,0x2
109a56: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10
109a5c: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
109a5f: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109a66: c1 e0 06 shl eax,0x6
109a69: 29 c8 sub eax,ecx
109a6b: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109a71: 8b 48 24 mov ecx,DWORD PTR [eax+0x24]
109a74: b8 00 00 00 00 mov eax,0x0
109a79: 85 c9 test ecx,ecx
109a7b: 74 10 je 109a8d <VfsClose+0x54>
109a7d: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
109a81: 89 1c 24 mov DWORD PTR [esp],ebx
109a84: ff d1 call ecx
109a86: eb 05 jmp 109a8d <VfsClose+0x54>
109a88: b8 00 00 00 00 mov eax,0x0
109a8d: 83 c4 18 add esp,0x18
109a90: 5b pop ebx
109a91: c3 ret
00109a92 <VfsRead>:
109a92: 53 push ebx
109a93: 83 ec 28 sub esp,0x28
109a96: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30]
109a9a: b8 00 00 00 00 mov eax,0x0
109a9f: 85 d2 test edx,edx
109aa1: 74 59 je 109afc <VfsRead+0x6a>
109aa3: 8b 02 mov eax,DWORD PTR [edx]
109aa5: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109aac: 29 c1 sub ecx,eax
109aae: 8d 1c 88 lea ebx,[eax+ecx*4]
109ab1: c1 e3 02 shl ebx,0x2
109ab4: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10
109aba: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
109abd: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109ac4: c1 e0 06 shl eax,0x6
109ac7: 29 c8 sub eax,ecx
109ac9: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109acf: 8b 48 28 mov ecx,DWORD PTR [eax+0x28]
109ad2: b8 00 00 00 00 mov eax,0x0
109ad7: 85 c9 test ecx,ecx
109ad9: 74 21 je 109afc <VfsRead+0x6a>
109adb: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c]
109adf: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
109ae3: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38]
109ae7: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
109aeb: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34]
109aef: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
109af3: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
109af7: 89 1c 24 mov DWORD PTR [esp],ebx
109afa: ff d1 call ecx
109afc: 83 c4 28 add esp,0x28
109aff: 5b pop ebx
109b00: c3 ret
00109b01 <VfsWrite>:
109b01: 53 push ebx
109b02: 83 ec 28 sub esp,0x28
109b05: 8b 54 24 30 mov edx,DWORD PTR [esp+0x30]
109b09: b8 00 00 00 00 mov eax,0x0
109b0e: 85 d2 test edx,edx
109b10: 74 59 je 109b6b <VfsWrite+0x6a>
109b12: 8b 02 mov eax,DWORD PTR [edx]
109b14: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109b1b: 29 c1 sub ecx,eax
109b1d: 8d 1c 88 lea ebx,[eax+ecx*4]
109b20: c1 e3 02 shl ebx,0x2
109b23: 03 1d 10 da 10 00 add ebx,DWORD PTR ds:0x10da10
109b29: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
109b2c: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109b33: c1 e0 06 shl eax,0x6
109b36: 29 c8 sub eax,ecx
109b38: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109b3e: 8b 48 2c mov ecx,DWORD PTR [eax+0x2c]
109b41: b8 00 00 00 00 mov eax,0x0
109b46: 85 c9 test ecx,ecx
109b48: 74 21 je 109b6b <VfsWrite+0x6a>
109b4a: 8b 44 24 3c mov eax,DWORD PTR [esp+0x3c]
109b4e: 89 44 24 10 mov DWORD PTR [esp+0x10],eax
109b52: 8b 44 24 38 mov eax,DWORD PTR [esp+0x38]
109b56: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
109b5a: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34]
109b5e: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
109b62: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
109b66: 89 1c 24 mov DWORD PTR [esp],ebx
109b69: ff d1 call ecx
109b6b: 83 c4 28 add esp,0x28
109b6e: 5b pop ebx
109b6f: c3 ret
00109b70 <VfsReadDirectory>:
109b70: 56 push esi
109b71: 53 push ebx
109b72: 83 ec 14 sub esp,0x14
109b75: 8b 54 24 20 mov edx,DWORD PTR [esp+0x20]
109b79: 85 d2 test edx,edx
109b7b: 74 5b je 109bd8 <VfsReadDirectory+0x68>
109b7d: 8b 35 10 da 10 00 mov esi,DWORD PTR ds:0x10da10
109b83: 8b 0a mov ecx,DWORD PTR [edx]
109b85: 8b 5a 0c mov ebx,DWORD PTR [edx+0xc]
109b88: 83 e3 07 and ebx,0x7
109b8b: b8 00 00 00 00 mov eax,0x0
109b90: 83 fb 01 cmp ebx,0x1
109b93: 74 48 je 109bdd <VfsReadDirectory+0x6d>
109b95: 8d 04 cd 00 00 00 00 lea eax,[ecx*8+0x0]
109b9c: 29 c8 sub eax,ecx
109b9e: 8d 04 81 lea eax,[ecx+eax*4]
109ba1: 8d 1c 86 lea ebx,[esi+eax*4]
109ba4: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
109ba7: 8d 0c c5 00 00 00 00 lea ecx,[eax*8+0x0]
109bae: c1 e0 06 shl eax,0x6
109bb1: 29 c8 sub eax,ecx
109bb3: 03 05 24 da 10 00 add eax,DWORD PTR ds:0x10da24
109bb9: 8b 48 34 mov ecx,DWORD PTR [eax+0x34]
109bbc: b8 00 00 00 00 mov eax,0x0
109bc1: 85 c9 test ecx,ecx
109bc3: 74 18 je 109bdd <VfsReadDirectory+0x6d>
109bc5: 8b 44 24 24 mov eax,DWORD PTR [esp+0x24]
109bc9: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
109bcd: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
109bd1: 89 1c 24 mov DWORD PTR [esp],ebx
109bd4: ff d1 call ecx
109bd6: eb 05 jmp 109bdd <VfsReadDirectory+0x6d>
109bd8: b8 00 00 00 00 mov eax,0x0
109bdd: 83 c4 14 add esp,0x14
109be0: 5b pop ebx
109be1: 5e pop esi
109be2: c3 ret
00109be3 <VfsGetMountPoint>:
109be3: 8b 54 24 04 mov edx,DWORD PTR [esp+0x4]
109be7: b8 00 00 00 00 mov eax,0x0
109bec: 39 15 30 da 10 00 cmp DWORD PTR ds:0x10da30,edx
109bf2: 76 15 jbe 109c09 <VfsGetMountPoint+0x26>
109bf4: 8d 04 d5 00 00 00 00 lea eax,[edx*8+0x0]
109bfb: 29 d0 sub eax,edx
109bfd: 8d 04 82 lea eax,[edx+eax*4]
109c00: c1 e0 02 shl eax,0x2
109c03: 03 05 10 da 10 00 add eax,DWORD PTR ds:0x10da10
109c09: c3 ret
109c0a: 00 00 add BYTE PTR [eax],al
109c0c: 61 popa
109c0d: 2c 10 sub al,0x10
109c0f: 00 a0 2d 10 00 5b add BYTE PTR [eax+0x5b00102d],ah
109c15: 2d 10 00 65 2d sub eax,0x2d650010
109c1a: 10 00 adc BYTE PTR [eax],al
109c1c: 65 gs
109c1d: 2d 10 00 9c 2b sub eax,0x2b9c0010
109c22: 10 00 adc BYTE PTR [eax],al
109c24: 65 gs
109c25: 2d 10 00 df 2c sub eax,0x2cdf0010
109c2a: 10 00 adc BYTE PTR [eax],al
109c2c: fd std
109c2d: 2b 10 sub edx,DWORD PTR [eax]
109c2f: 00 6c 75 78 add BYTE PTR [ebp+esi*2+0x78],ch
109c33: 00 25 23 25 63 00 add BYTE PTR ds:0x632523,ah
109c39: 30 2e xor BYTE PTR [esi],ch
109c3b: 31 20 xor DWORD PTR [eax],esp
109c3d: 5b pop ebx
109c3e: 70 72 jo 109cb2 <VfsGetMountPoint+0xcf>
109c40: 65 gs
109c41: 2d 41 6c 70 68 sub eax,0x68706c41
109c46: 61 popa
109c47: 5d pop ebp
109c48: 00 0a add BYTE PTR [edx],cl
109c4a: 25 23 4f 53 20 and eax,0x20534f23
109c4f: 76 65 jbe 109cb6 <VfsGetMountPoint+0xd3>
109c51: 72 73 jb 109cc6 <VfsGetMountPoint+0xe3>
109c53: 69 6f 6e 3a 20 25 23 imul ebp,DWORD PTR [edi+0x6e],0x2325203a
109c5a: 25 73 0a 00 30 and eax,0x30000a73
109c5f: 2e 31 2e xor DWORD PTR cs:[esi],ebp
109c62: 31 2e xor DWORD PTR [esi],ebp
109c64: 34 38 xor al,0x38
109c66: 00 25 23 42 75 69 add BYTE PTR ds:0x69754223,ah
109c6c: 6c ins BYTE PTR es:[edi],dx
109c6d: 64 3a 20 cmp ah,BYTE PTR fs:[eax]
109c70: 25 23 25 73 20 and eax,0x20732523
109c75: 00 31 add BYTE PTR [ecx],dh
109c77: 32 3a xor bh,BYTE PTR [edx]
109c79: 32 32 xor dh,BYTE PTR [edx]
109c7b: 3a 32 cmp dh,BYTE PTR [edx]
109c7d: 38 00 cmp BYTE PTR [eax],al
109c7f: 53 push ebx
109c80: 65 gs
109c81: 70 20 jo 109ca3 <VfsGetMountPoint+0xc0>
109c83: 32 30 xor dh,BYTE PTR [eax]
109c85: 20 32 and BYTE PTR [edx],dh
109c87: 30 31 xor BYTE PTR [ecx],dh
109c89: 31 00 xor DWORD PTR [eax],eax
109c8b: 25 23 62 75 69 and eax,0x69756223
109c90: 6c ins BYTE PTR es:[edi],dx
109c91: 74 20 je 109cb3 <VfsGetMountPoint+0xd0>
109c93: 6f outs dx,DWORD PTR ds:[esi]
109c94: 6e outs dx,BYTE PTR ds:[esi]
109c95: 20 25 23 25 73 20 and BYTE PTR ds:0x20732523,ah
109c9b: 25 23 61 74 20 and eax,0x20746123
109ca0: 25 23 25 73 0a and eax,0xa732523
109ca5: 00 43 75 add BYTE PTR [ebx+0x75],al
109ca8: 72 72 jb 109d1c <VfsGetMountPoint+0x139>
109caa: 65 6e outs dx,BYTE PTR gs:[esi]
109cac: 74 20 je 109cce <VfsGetMountPoint+0xeb>
109cae: 74 69 je 109d19 <VfsGetMountPoint+0x136>
109cb0: 6d ins DWORD PTR es:[edi],dx
109cb1: 65 3a 20 cmp ah,BYTE PTR gs:[eax]
109cb4: 00 25 23 25 64 3a add BYTE PTR ds:0x3a642523,ah
109cba: 25 64 25 64 3a and eax,0x3a642564
109cbf: 25 64 25 64 2e and eax,0x2e642564
109cc4: 25 64 25 64 25 and eax,0x25642564
109cc9: 64 0a 00 or al,BYTE PTR fs:[eax]
109ccc: 44 inc esp
109ccd: 61 popa
109cce: 74 65 je 109d35 <VfsGetMountPoint+0x152>
109cd0: 3a 20 cmp ah,BYTE PTR [eax]
109cd2: 25 23 25 73 2c and eax,0x2c732523
109cd7: 20 25 73 20 25 64 and BYTE PTR ds:0x64252073,ah
109cdd: 2c 20 sub al,0x20
109cdf: 25 64 0a 00 4a and eax,0x4a000a64
109ce4: 61 popa
109ce5: 6e outs dx,BYTE PTR ds:[esi]
109ce6: 75 61 jne 109d49 <VfsGetMountPoint+0x166>
109ce8: 72 79 jb 109d63 <VfsGetMountPoint+0x180>
109cea: 00 46 65 add BYTE PTR [esi+0x65],al
109ced: 62 72 75 bound esi,QWORD PTR [edx+0x75]
109cf0: 61 popa
109cf1: 72 79 jb 109d6c <VfsGetMountPoint+0x189>
109cf3: 00 4d 61 add BYTE PTR [ebp+0x61],cl
109cf6: 72 63 jb 109d5b <VfsGetMountPoint+0x178>
109cf8: 68 00 41 70 72 push 0x72704100
109cfd: 69 6c 00 4d 61 79 00 imul ebp,DWORD PTR [eax+eax*1+0x4d],0x4a007961
109d04: 4a
109d05: 75 6e jne 109d75 <VfsGetMountPoint+0x192>
109d07: 65 00 4a 75 add BYTE PTR gs:[edx+0x75],cl
109d0b: 6c ins BYTE PTR es:[edi],dx
109d0c: 79 00 jns 109d0e <VfsGetMountPoint+0x12b>
109d0e: 41 inc ecx
109d0f: 75 67 jne 109d78 <VfsGetMountPoint+0x195>
109d11: 75 73 jne 109d86 <VfsGetMountPoint+0x1a3>
109d13: 74 00 je 109d15 <VfsGetMountPoint+0x132>
109d15: 53 push ebx
109d16: 65 gs
109d17: 70 74 jo 109d8d <VfsGetMountPoint+0x1aa>
109d19: 65 gs
109d1a: 6d ins DWORD PTR es:[edi],dx
109d1b: 62 65 72 bound esp,QWORD PTR [ebp+0x72]
109d1e: 00 4f 63 add BYTE PTR [edi+0x63],cl
109d21: 74 6f je 109d92 <VfsGetMountPoint+0x1af>
109d23: 62 65 72 bound esp,QWORD PTR [ebp+0x72]
109d26: 00 4e 6f add BYTE PTR [esi+0x6f],cl
109d29: 76 65 jbe 109d90 <VfsGetMountPoint+0x1ad>
109d2b: 6d ins DWORD PTR es:[edi],dx
109d2c: 62 65 72 bound esp,QWORD PTR [ebp+0x72]
109d2f: 00 44 65 63 add BYTE PTR [ebp+eiz*2+0x63],al
109d33: 65 gs
109d34: 6d ins DWORD PTR es:[edi],dx
109d35: 62 65 72 bound esp,QWORD PTR [ebp+0x72]
109d38: 00 4d 6f add BYTE PTR [ebp+0x6f],cl
109d3b: 6e outs dx,BYTE PTR ds:[esi]
109d3c: 64 fs
109d3d: 61 popa
109d3e: 79 00 jns 109d40 <VfsGetMountPoint+0x15d>
109d40: 54 push esp
109d41: 75 65 jne 109da8 <VfsGetMountPoint+0x1c5>
109d43: 73 64 jae 109da9 <VfsGetMountPoint+0x1c6>
109d45: 61 popa
109d46: 79 00 jns 109d48 <VfsGetMountPoint+0x165>
109d48: 57 push edi
109d49: 65 64 6e gs outs dx,BYTE PTR fs:gs:[esi]
109d4c: 65 gs
109d4d: 73 64 jae 109db3 <VfsGetMountPoint+0x1d0>
109d4f: 61 popa
109d50: 79 00 jns 109d52 <VfsGetMountPoint+0x16f>
109d52: 54 push esp
109d53: 68 75 72 73 64 push 0x64737275
109d58: 61 popa
109d59: 79 00 jns 109d5b <VfsGetMountPoint+0x178>
109d5b: 46 inc esi
109d5c: 72 69 jb 109dc7 <VfsGetMountPoint+0x1e4>
109d5e: 64 fs
109d5f: 61 popa
109d60: 79 00 jns 109d62 <VfsGetMountPoint+0x17f>
109d62: 53 push ebx
109d63: 61 popa
109d64: 74 75 je 109ddb <VfsGetMountPoint+0x1f8>
109d66: 72 64 jb 109dcc <VfsGetMountPoint+0x1e9>
109d68: 61 popa
109d69: 79 00 jns 109d6b <VfsGetMountPoint+0x188>
109d6b: 53 push ebx
109d6c: 75 6e jne 109ddc <VfsGetMountPoint+0x1f9>
109d6e: 64 fs
109d6f: 61 popa
109d70: 79 00 jns 109d72 <VfsGetMountPoint+0x18f>
109d72: 41 inc ecx
109d73: 76 61 jbe 109dd6 <VfsGetMountPoint+0x1f3>
109d75: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6320656c
109d7c: 63
109d7d: 6f outs dx,DWORD PTR ds:[esi]
109d7e: 6d ins DWORD PTR es:[edi],dx
109d7f: 6d ins DWORD PTR es:[edi],dx
109d80: 61 popa
109d81: 6e outs dx,BYTE PTR ds:[esi]
109d82: 64 fs
109d83: 73 3a jae 109dbf <VfsGetMountPoint+0x1dc>
109d85: 0a 00 or al,BYTE PTR [eax]
109d87: 20 3e and BYTE PTR [esi],bh
109d89: 20 25 23 25 73 0a and BYTE PTR ds:0xa732523,ah
109d8f: 00 21 add BYTE PTR [ecx],ah
109d91: 70 00 jo 109d93 <VfsGetMountPoint+0x1b0>
109d93: 25 23 25 78 25 and eax,0x25782523
109d98: 23 3a and edi,DWORD PTR [edx]
109d9a: 20 20 and BYTE PTR [eax],ah
109d9c: 00 25 23 30 30 20 add BYTE PTR ds:0x20303023,ah
109da2: 00 25 23 25 63 25 add BYTE PTR ds:0x25632523,ah
109da8: 63 20 arpl WORD PTR [eax],sp
109daa: 00 0a add BYTE PTR [edx],cl
109dac: 0a 0d 00 50 68 79 or cl,BYTE PTR ds:0x79685000
109db2: 73 69 jae 109e1d <VfsGetMountPoint+0x23a>
109db4: 63 61 6c arpl WORD PTR [ecx+0x6c],sp
109db7: 20 6d 65 and BYTE PTR [ebp+0x65],ch
109dba: 6d ins DWORD PTR es:[edi],dx
109dbb: 6f outs dx,DWORD PTR ds:[esi]
109dbc: 72 79 jb 109e37 <VfsGetMountPoint+0x254>
109dbe: 20 6d 61 and BYTE PTR [ebp+0x61],ch
109dc1: 70 3a jo 109dfd <VfsGetMountPoint+0x21a>
109dc3: 0a 00 or al,BYTE PTR [eax]
109dc5: 61 popa
109dc6: 6c ins BYTE PTR es:[edi],dx
109dc7: 6c ins BYTE PTR es:[edi],dx
109dc8: 6f outs dx,DWORD PTR ds:[esi]
109dc9: 63 00 arpl WORD PTR [eax],ax
109dcb: 52 push edx
109dcc: 65 gs
109dcd: 74 75 je 109e44 <VfsGetMountPoint+0x261>
109dcf: 72 6e jb 109e3f <VfsGetMountPoint+0x25c>
109dd1: 65 64 20 61 64 gs and BYTE PTR fs:gs:[ecx+0x64],ah
109dd6: 64 fs
109dd7: 72 65 jb 109e3e <VfsGetMountPoint+0x25b>
109dd9: 73 73 jae 109e4e <VfsGetMountPoint+0x26b>
109ddb: 3a 20 cmp ah,BYTE PTR [eax]
109ddd: 25 23 30 78 25 and eax,0x25783023
109de2: 78 0a js 109dee <VfsGetMountPoint+0x20b>
109de4: 00 66 72 add BYTE PTR [esi+0x72],ah
109de7: 65 65 00 44 6f 6e gs add BYTE PTR gs:[edi+ebp*2+0x6e],al
109ded: 65 2e 0a 00 gs or al,BYTE PTR cs:gs:[eax]
109df1: 25 64 00 58 3d and eax,0x3d580064
109df6: 25 64 20 59 3d and eax,0x3d592064
109dfb: 25 64 20 42 75 and eax,0x75422064
109e00: 74 74 je 109e76 <VfsGetMountPoint+0x293>
109e02: 6f outs dx,DWORD PTR ds:[esi]
109e03: 6e outs dx,BYTE PTR ds:[esi]
109e04: 73 3d jae 109e43 <VfsGetMountPoint+0x260>
109e06: 00 3c 6e add BYTE PTR [esi+ebp*2],bh
109e09: 6f outs dx,DWORD PTR ds:[esi]
109e0a: 6e outs dx,BYTE PTR ds:[esi]
109e0b: 65 3e 00 3c 6c gs add BYTE PTR ds:gs:[esp+ebp*2],bh
109e10: 65 gs
109e11: 66 data16
109e12: 74 3e je 109e52 <VfsGetMountPoint+0x26f>
109e14: 00 3c 72 add BYTE PTR [edx+esi*2],bh
109e17: 69 67 68 74 3e 00 3c imul esp,DWORD PTR [edi+0x68],0x3c003e74
109e1e: 6d ins DWORD PTR es:[edi],dx
109e1f: 69 64 3e 00 52 65 74 imul esp,DWORD PTR [esi+edi*1+0x0],0x75746552
109e26: 75
109e27: 72 6e jb 109e97 <VfsGetMountPoint+0x2b4>
109e29: 65 64 20 76 61 gs and BYTE PTR fs:gs:[esi+0x61],dh
109e2e: 6c ins BYTE PTR es:[edi],dx
109e2f: 75 65 jne 109e96 <VfsGetMountPoint+0x2b3>
109e31: 3a 20 cmp ah,BYTE PTR [eax]
109e33: 30 78 25 xor BYTE PTR [eax+0x25],bh
109e36: 78 0a js 109e42 <VfsGetMountPoint+0x25f>
109e38: 00 46 49 add BYTE PTR [esi+0x49],al
109e3b: 4c dec esp
109e3c: 00 44 49 52 add BYTE PTR [ecx+ecx*2+0x52],al
109e40: 00 43 6f add BYTE PTR [ebx+0x6f],al
109e43: 6e outs dx,BYTE PTR ds:[esi]
109e44: 74 65 je 109eab <VfsGetMountPoint+0x2c8>
109e46: 6e outs dx,BYTE PTR ds:[esi]
109e47: 74 20 je 109e69 <VfsGetMountPoint+0x286>
109e49: 6f outs dx,DWORD PTR ds:[esi]
109e4a: 66 data16
109e4b: 20 72 6f and BYTE PTR [edx+0x6f],dh
109e4e: 6f outs dx,DWORD PTR ds:[esi]
109e4f: 74 3a je 109e8b <VfsGetMountPoint+0x2a8>
109e51: 20 0a and BYTE PTR [edx],cl
109e53: 0a 00 or al,BYTE PTR [eax]
109e55: 09 5b 44 or DWORD PTR [ebx+0x44],ebx
109e58: 45 inc ebp
109e59: 56 push esi
109e5a: 5d pop ebp
109e5b: 20 25 73 0a 00 25 and BYTE PTR ds:0x25000a73,ah
109e61: 23 21 and esp,DWORD PTR [ecx]
109e63: 20 49 6e and BYTE PTR [ecx+0x6e],cl
109e66: 76 61 jbe 109ec9 <VfsGetMountPoint+0x2e6>
109e68: 6c ins BYTE PTR es:[edi],dx
109e69: 69 64 20 70 61 74 68 imul esp,DWORD PTR [eax+eiz*1+0x70],0x21687461
109e70: 21
109e71: 0a 00 or al,BYTE PTR [eax]
109e73: 25 23 21 20 4e and eax,0x4e202123
109e78: 6f outs dx,DWORD PTR ds:[esi]
109e79: 74 20 je 109e9b <VfsGetMountPoint+0x2b8>
109e7b: 61 popa
109e7c: 20 64 69 72 and BYTE PTR [ecx+ebp*2+0x72],ah
109e80: 65 63 74 6f 72 arpl WORD PTR gs:[edi+ebp*2+0x72],si
109e85: 79 21 jns 109ea8 <VfsGetMountPoint+0x2c5>
109e87: 0a 00 or al,BYTE PTR [eax]
109e89: 43 inc ebx
109e8a: 6f outs dx,DWORD PTR ds:[esi]
109e8b: 6e outs dx,BYTE PTR ds:[esi]
109e8c: 74 65 je 109ef3 <VfsGetMountPoint+0x310>
109e8e: 6e outs dx,BYTE PTR ds:[esi]
109e8f: 74 20 je 109eb1 <VfsGetMountPoint+0x2ce>
109e91: 6f outs dx,DWORD PTR ds:[esi]
109e92: 66 data16
109e93: 20 64 69 72 and BYTE PTR [ecx+ebp*2+0x72],ah
109e97: 65 63 74 6f 72 arpl WORD PTR gs:[edi+ebp*2+0x72],si
109e9c: 79 20 jns 109ebe <VfsGetMountPoint+0x2db>
109e9e: 25 23 25 73 3a and eax,0x3a732523
109ea3: 0a 0a or cl,BYTE PTR [edx]
109ea5: 00 09 add BYTE PTR [ecx],cl
109ea7: 5b pop ebx
109ea8: 25 73 5d 20 00 and eax,0x205d73
109ead: 25 73 00 25 75 and eax,0x75250073
109eb2: 20 62 79 and BYTE PTR [edx+0x79],ah
109eb5: 74 65 je 109f1c <VfsGetMountPoint+0x339>
109eb7: 73 0a jae 109ec3 <VfsGetMountPoint+0x2e0>
109eb9: 00 25 23 21 20 49 add BYTE PTR ds:0x49202123,ah
109ebf: 6e outs dx,BYTE PTR ds:[esi]
109ec0: 76 61 jbe 109f23 <VfsGetMountPoint+0x340>
109ec2: 6c ins BYTE PTR es:[edi],dx
109ec3: 69 64 20 66 69 6c 65 imul esp,DWORD PTR [eax+eiz*1+0x66],0x3a656c69
109eca: 3a
109ecb: 20 25 73 0a 2e 00 and BYTE PTR ds:0x2e0a73,ah
109ed1: 2d 2d 2d 2d 5b sub eax,0x5b2d2d2d
109ed6: 25 73 5d 2d 2d and eax,0x2d2d5d73
109edb: 2d 2d 2d 2d 0a sub eax,0xa2d2d2d
109ee0: 00 25 23 48 65 6c add BYTE PTR ds:0x6c654823,ah
109ee6: 6c ins BYTE PTR es:[edi],dx
109ee7: 6f outs dx,DWORD PTR ds:[esi]
109ee8: 20 77 6f and BYTE PTR [edi+0x6f],dh
109eeb: 72 6c jb 109f59 <VfsGetMountPoint+0x376>
109eed: 64 21 20 and DWORD PTR fs:[eax],esp
109ef0: 25 75 20 00 25 and eax,0x25002075
109ef5: 23 44 69 64 and eax,DWORD PTR [ecx+ebp*2+0x64]
109ef9: 20 79 6f and BYTE PTR [ecx+0x6f],bh
109efc: 75 20 jne 109f1e <VfsGetMountPoint+0x33b>
109efe: 6d ins DWORD PTR es:[edi],dx
109eff: 65 gs
109f00: 61 popa
109f01: 6e outs dx,BYTE PTR ds:[esi]
109f02: 20 25 23 25 73 25 and BYTE PTR ds:0x25732523,ah
109f08: 23 3f and edi,DWORD PTR [edi]
109f0a: 0a 00 or al,BYTE PTR [eax]
109f0c: 41 inc ecx
109f0d: 76 61 jbe 109f70 <VfsGetMountPoint+0x38d>
109f0f: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6f20656c
109f16: 6f
109f17: 70 74 jo 109f8d <VfsGetMountPoint+0x3aa>
109f19: 69 6f 6e 73 3a 0a 00 imul ebp,DWORD PTR [edi+0x6e],0xa3a73
109f20: 09 3e or DWORD PTR [esi],edi
109f22: 25 23 20 25 73 and eax,0x73252023
109f27: 0a 00 or al,BYTE PTR [eax]
109f29: 0a 25 23 5d 20 00 or ah,BYTE PTR ds:0x205d23
109f2f: 6f outs dx,DWORD PTR ds:[esi]
109f30: 73 76 jae 109fa8 <VfsGetMountPoint+0x3c5>
109f32: 65 gs
109f33: 72 00 jb 109f35 <VfsGetMountPoint+0x352>
109f35: 74 69 je 109fa0 <VfsGetMountPoint+0x3bd>
109f37: 6d ins DWORD PTR es:[edi],dx
109f38: 65 00 63 6c add BYTE PTR gs:[ebx+0x6c],ah
109f3c: 73 00 jae 109f3e <VfsGetMountPoint+0x35b>
109f3e: 68 65 6c 70 00 push 0x706c65
109f43: 64 fs
109f44: 75 6d jne 109fb3 <VfsGetMountPoint+0x3d0>
109f46: 70 00 jo 109f48 <VfsGetMountPoint+0x365>
109f48: 6d ins DWORD PTR es:[edi],dx
109f49: 65 gs
109f4a: 6d ins DWORD PTR es:[edi],dx
109f4b: 00 63 72 add BYTE PTR [ebx+0x72],ah
109f4e: 61 popa
109f4f: 73 68 jae 109fb9 <VfsGetMountPoint+0x3d6>
109f51: 00 6d 6f add BYTE PTR [ebp+0x6f],ch
109f54: 75 73 jne 109fc9 <VfsGetMountPoint+0x3e6>
109f56: 65 00 72 65 add BYTE PTR gs:[edx+0x65],dh
109f5a: 61 popa
109f5b: 64 00 72 65 add BYTE PTR fs:[edx+0x65],dh
109f5f: 62 6f 6f bound ebp,QWORD PTR [edi+0x6f]
109f62: 74 00 je 109f64 <VfsGetMountPoint+0x381>
109f64: 72 65 jb 109fcb <VfsGetMountPoint+0x3e8>
109f66: 73 74 jae 109fdc <VfsGetMountPoint+0x3f9>
109f68: 61 popa
109f69: 72 74 jb 109fdf <VfsGetMountPoint+0x3fc>
109f6b: 00 64 69 72 add BYTE PTR [ecx+ebp*2+0x72],ah
109f6f: 00 63 61 add BYTE PTR [ebx+0x61],ah
109f72: 74 00 je 109f74 <VfsGetMountPoint+0x391>
109f74: 74 61 je 109fd7 <VfsGetMountPoint+0x3f4>
109f76: 73 6b jae 109fe3 <VfsGetMountPoint+0x400>
109f78: 00 00 add BYTE PTR [eax],al
109f7a: 00 00 add BYTE PTR [eax],al
109f7c: 25 23 25 73 25 and eax,0x25732523
109f81: 23 20 and esp,DWORD PTR [eax]
109f83: 33 32 xor esi,DWORD PTR [edx]
109f85: 62 69 74 bound ebp,QWORD PTR [ecx+0x74]
109f88: 20 6f 70 and BYTE PTR [edi+0x70],ch
109f8b: 65 gs
109f8c: 72 61 jb 109fef <VfsGetMountPoint+0x40c>
109f8e: 74 69 je 109ff9 <VfsGetMountPoint+0x416>
109f90: 6e outs dx,BYTE PTR ds:[esi]
109f91: 67 20 73 79 and BYTE PTR [bp+di+0x79],dh
109f95: 73 74 jae 10a00b <VfsGetMountPoint+0x428>
109f97: 65 gs
109f98: 6d ins DWORD PTR es:[edi],dx
109f99: 0a 00 or al,BYTE PTR [eax]
109f9b: 00 25 23 28 63 29 add BYTE PTR ds:0x29632823,ah
109fa1: 20 43 6f and BYTE PTR [ebx+0x6f],al
109fa4: 70 79 jo 10a01f <VfsGetMountPoint+0x43c>
109fa6: 72 69 jb 10a011 <VfsGetMountPoint+0x42e>
109fa8: 67 68 74 20 25 23 addr16 push 0x23252074
109fae: 43 inc ebx
109faf: 54 push esp
109fb0: 41 inc ecx
109fb1: 20 53 79 and BYTE PTR [ebx+0x79],dl
109fb4: 73 74 jae 10a02a <VfsGetMountPoint+0x447>
109fb6: 65 gs
109fb7: 6d ins DWORD PTR es:[edi],dx
109fb8: 73 20 jae 109fda <VfsGetMountPoint+0x3f7>
109fba: 49 dec ecx
109fbb: 6e outs dx,BYTE PTR ds:[esi]
109fbc: 63 2e arpl WORD PTR [esi],bp
109fbe: 0a 00 or al,BYTE PTR [eax]
109fc0: 25 23 21 20 48 and eax,0x48202123
109fc5: 65 gs
109fc6: 6c ins BYTE PTR es:[edi],dx
109fc7: 70 20 jo 109fe9 <VfsGetMountPoint+0x406>
109fc9: 66 6f outs dx,WORD PTR ds:[esi]
109fcb: 72 20 jb 109fed <VfsGetMountPoint+0x40a>
109fcd: 25 73 20 63 6f and eax,0x6f632073
109fd2: 6d ins DWORD PTR es:[edi],dx
109fd3: 6d ins DWORD PTR es:[edi],dx
109fd4: 61 popa
109fd5: 6e outs dx,BYTE PTR ds:[esi]
109fd6: 64 20 69 73 and BYTE PTR fs:[ecx+0x73],ch
109fda: 20 6e 6f and BYTE PTR [esi+0x6f],ch
109fdd: 74 20 je 109fff <VfsGetMountPoint+0x41c>
109fdf: 69 6d 70 6c 65 6d 65 imul ebp,DWORD PTR [ebp+0x70],0x656d656c
109fe6: 6e outs dx,BYTE PTR ds:[esi]
109fe7: 74 65 je 10a04e <VfsGetMountPoint+0x46b>
109fe9: 64 20 79 65 and BYTE PTR fs:[ecx+0x65],bh
109fed: 74 2e je 10a01d <VfsGetMountPoint+0x43a>
109fef: 0a 00 or al,BYTE PTR [eax]
109ff1: 00 00 add BYTE PTR [eax],al
109ff3: 00 25 23 21 20 43 add BYTE PTR ds:0x43202123,ah
109ff9: 6f outs dx,DWORD PTR ds:[esi]
109ffa: 72 72 jb 10a06e <VfsGetMountPoint+0x48b>
109ffc: 65 63 74 20 73 arpl WORD PTR gs:[eax+eiz*1+0x73],si
10a001: 79 6e jns 10a071 <VfsGetMountPoint+0x48e>
10a003: 74 61 je 10a066 <VfsGetMountPoint+0x483>
10a005: 78 3a js 10a041 <VfsGetMountPoint+0x45e>
10a007: 20 20 and BYTE PTR [eax],ah
10a009: 25 23 64 75 6d and eax,0x6d756423
10a00e: 70 20 jo 10a030 <VfsGetMountPoint+0x44d>
10a010: 25 23 5b 73 74 and eax,0x74735b23
10a015: 61 popa
10a016: 72 74 jb 10a08c <VfsGetMountPoint+0x4a9>
10a018: 5f pop edi
10a019: 61 popa
10a01a: 64 fs
10a01b: 64 fs
10a01c: 72 65 jb 10a083 <VfsGetMountPoint+0x4a0>
10a01e: 73 73 jae 10a093 <VfsGetMountPoint+0x4b0>
10a020: 5d pop ebp
10a021: 20 5b 65 and BYTE PTR [ebx+0x65],bl
10a024: 6e outs dx,BYTE PTR ds:[esi]
10a025: 64 fs
10a026: 5f pop edi
10a027: 61 popa
10a028: 64 fs
10a029: 64 fs
10a02a: 72 65 jb 10a091 <VfsGetMountPoint+0x4ae>
10a02c: 73 73 jae 10a0a1 <VfsGetMountPoint+0x4be>
10a02e: 5d pop ebp
10a02f: 0a 00 or al,BYTE PTR [eax]
10a031: 00 00 add BYTE PTR [eax],al
10a033: 00 25 23 53 74 61 add BYTE PTR ds:0x61745323,ah
10a039: 72 74 jb 10a0af <VfsGetMountPoint+0x4cc>
10a03b: 20 25 23 61 6e 64 and BYTE PTR ds:0x646e6123,ah
10a041: 20 25 23 65 6e 64 and BYTE PTR ds:0x646e6523,ah
10a047: 20 25 23 61 64 64 and BYTE PTR ds:0x64646123,ah
10a04d: 72 65 jb 10a0b4 <VfsGetMountPoint+0x4d1>
10a04f: 73 73 jae 10a0c4 <VfsGetMountPoint+0x4e1>
10a051: 65 gs
10a052: 73 20 jae 10a074 <VfsGetMountPoint+0x491>
10a054: 61 popa
10a055: 72 65 jb 10a0bc <VfsGetMountPoint+0x4d9>
10a057: 20 69 6e and BYTE PTR [ecx+0x6e],ch
10a05a: 20 68 65 and BYTE PTR [eax+0x65],ch
10a05d: 78 2e js 10a08d <VfsGetMountPoint+0x4aa>
10a05f: 0a 00 or al,BYTE PTR [eax]
10a061: 00 00 add BYTE PTR [eax],al
10a063: 00 0a add BYTE PTR [edx],cl
10a065: 0d 25 23 50 72 or eax,0x72502325
10a06a: 65 gs
10a06b: 73 73 jae 10a0e0 <VfsGetMountPoint+0x4fd>
10a06d: 20 25 23 61 6e 79 and BYTE PTR ds:0x796e6123,ah
10a073: 20 6b 65 and BYTE PTR [ebx+0x65],ch
10a076: 79 20 jns 10a098 <VfsGetMountPoint+0x4b5>
10a078: 25 23 74 6f 20 and eax,0x206f7423
10a07d: 63 6f 6e arpl WORD PTR [edi+0x6e],bp
10a080: 74 69 je 10a0eb <VfsGetMountPoint+0x508>
10a082: 6e outs dx,BYTE PTR ds:[esi]
10a083: 75 65 jne 10a0ea <VfsGetMountPoint+0x507>
10a085: 20 73 63 and BYTE PTR [ebx+0x63],dh
10a088: 72 6f jb 10a0f9 <VfsGetMountPoint+0x516>
10a08a: 6c ins BYTE PTR es:[edi],dx
10a08b: 6c ins BYTE PTR es:[edi],dx
10a08c: 69 6e 67 2c 20 25 23 imul ebp,DWORD PTR [esi+0x67],0x2325202c
10a093: 45 inc ebp
10a094: 73 63 jae 10a0f9 <VfsGetMountPoint+0x516>
10a096: 20 25 23 74 6f 20 and BYTE PTR ds:0x206f7423,ah
10a09c: 65 gs
10a09d: 78 69 js 10a108 <VfsGetMountPoint+0x525>
10a09f: 74 2e je 10a0cf <VfsGetMountPoint+0x4ec>
10a0a1: 00 00 add BYTE PTR [eax],al
10a0a3: 00 46 72 add BYTE PTR [esi+0x72],al
10a0a6: 65 65 20 73 70 gs and BYTE PTR gs:[ebx+0x70],dh
10a0ab: 61 popa
10a0ac: 63 65 3a arpl WORD PTR [ebp+0x3a],sp
10a0af: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah
10a0b5: 62 20 bound esp,QWORD PTR [eax]
10a0b7: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah
10a0bd: 61 popa
10a0be: 6d ins DWORD PTR es:[edi],dx
10a0bf: 65 gs
10a0c0: 73 29 jae 10a0eb <VfsGetMountPoint+0x508>
10a0c2: 0a 00 or al,BYTE PTR [eax]
10a0c4: 55 push ebp
10a0c5: 73 65 jae 10a12c <VfsGetMountPoint+0x549>
10a0c7: 64 20 73 70 and BYTE PTR fs:[ebx+0x70],dh
10a0cb: 61 popa
10a0cc: 63 65 3a arpl WORD PTR [ebp+0x3a],sp
10a0cf: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah
10a0d5: 62 20 bound esp,QWORD PTR [eax]
10a0d7: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah
10a0dd: 61 popa
10a0de: 6d ins DWORD PTR es:[edi],dx
10a0df: 65 gs
10a0e0: 73 29 jae 10a10b <VfsGetMountPoint+0x528>
10a0e2: 0a 0a or cl,BYTE PTR [edx]
10a0e4: 00 00 add BYTE PTR [eax],al
10a0e6: 00 00 add BYTE PTR [eax],al
10a0e8: 54 push esp
10a0e9: 6f outs dx,DWORD PTR ds:[esi]
10a0ea: 74 61 je 10a14d <VfsGetMountPoint+0x56a>
10a0ec: 6c ins BYTE PTR es:[edi],dx
10a0ed: 20 73 70 and BYTE PTR [ebx+0x70],dh
10a0f0: 61 popa
10a0f1: 63 65 3a arpl WORD PTR [ebp+0x3a],sp
10a0f4: 20 25 23 25 75 6b and BYTE PTR ds:0x6b752523,ah
10a0fa: 62 20 bound esp,QWORD PTR [eax]
10a0fc: 28 25 75 20 66 72 sub BYTE PTR ds:0x72662075,ah
10a102: 61 popa
10a103: 6d ins DWORD PTR es:[edi],dx
10a104: 65 gs
10a105: 73 29 jae 10a130 <VfsGetMountPoint+0x54d>
10a107: 0a 00 or al,BYTE PTR [eax]
10a109: 00 00 add BYTE PTR [eax],al
10a10b: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah
10a111: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69
10a118: 70 61 jo 10a17b <VfsGetMountPoint+0x598>
10a11a: 72 61 jb 10a17d <VfsGetMountPoint+0x59a>
10a11c: 6d ins DWORD PTR es:[edi],dx
10a11d: 65 gs
10a11e: 74 65 je 10a185 <VfsGetMountPoint+0x5a2>
10a120: 72 3a jb 10a15c <VfsGetMountPoint+0x579>
10a122: 20 61 64 and BYTE PTR [ecx+0x64],ah
10a125: 64 fs
10a126: 72 65 jb 10a18d <VfsGetMountPoint+0x5aa>
10a128: 73 73 jae 10a19d <VfsGetMountPoint+0x5ba>
10a12a: 20 74 6f 20 and BYTE PTR [edi+ebp*2+0x20],dh
10a12e: 66 data16
10a12f: 72 65 jb 10a196 <VfsGetMountPoint+0x5b3>
10a131: 65 2e 00 25 23 21 20 gs add BYTE PTR cs:gs:0x49202123,ah
10a138: 49
10a139: 6e outs dx,BYTE PTR ds:[esi]
10a13a: 76 61 jbe 10a19d <VfsGetMountPoint+0x5ba>
10a13c: 6c ins BYTE PTR es:[edi],dx
10a13d: 69 64 20 63 6f 6d 6d imul esp,DWORD PTR [eax+eiz*1+0x63],0x616d6d6f
10a144: 61
10a145: 6e outs dx,BYTE PTR ds:[esi]
10a146: 64 2e 20 41 76 fs and BYTE PTR cs:fs:[ecx+0x76],al
10a14b: 61 popa
10a14c: 69 6c 61 62 6c 65 20 imul ebp,DWORD PTR [ecx+eiz*2+0x62],0x6320656c
10a153: 63
10a154: 6f outs dx,DWORD PTR ds:[esi]
10a155: 6d ins DWORD PTR es:[edi],dx
10a156: 6d ins DWORD PTR es:[edi],dx
10a157: 61 popa
10a158: 6e outs dx,BYTE PTR ds:[esi]
10a159: 64 fs
10a15a: 73 20 jae 10a17c <VfsGetMountPoint+0x599>
10a15c: 61 popa
10a15d: 72 65 jb 10a1c4 <VfsGetMountPoint+0x5e1>
10a15f: 3a 20 cmp ah,BYTE PTR [eax]
10a161: 61 popa
10a162: 6c ins BYTE PTR es:[edi],dx
10a163: 6c ins BYTE PTR es:[edi],dx
10a164: 6f outs dx,DWORD PTR ds:[esi]
10a165: 63 2c 20 arpl WORD PTR [eax+eiz*1],bp
10a168: 66 data16
10a169: 72 65 jb 10a1d0 <VfsGetMountPoint+0x5ed>
10a16b: 65 2e 00 00 gs add BYTE PTR cs:gs:[eax],al
10a16f: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah
10a175: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69
10a17c: 70 61 jo 10a1df <VfsGetMountPoint+0x5fc>
10a17e: 72 61 jb 10a1e1 <VfsGetMountPoint+0x5fe>
10a180: 6d ins DWORD PTR es:[edi],dx
10a181: 65 gs
10a182: 74 65 je 10a1e9 <VfsGetMountPoint+0x606>
10a184: 72 20 jb 10a1a6 <VfsGetMountPoint+0x5c3>
10a186: 2d 20 73 65 63 sub eax,0x63657320
10a18b: 74 6f je 10a1fc <VfsGetMountPoint+0x619>
10a18d: 72 21 jb 10a1b0 <VfsGetMountPoint+0x5cd>
10a18f: 0a 00 or al,BYTE PTR [eax]
10a191: 00 00 add BYTE PTR [eax],al
10a193: 00 25 23 21 20 4d add BYTE PTR ds:0x4d202123,ah
10a199: 69 73 73 69 6e 67 20 imul esi,DWORD PTR [ebx+0x73],0x20676e69
10a1a0: 70 61 jo 10a203 <VfsGetMountPoint+0x620>
10a1a2: 72 61 jb 10a205 <VfsGetMountPoint+0x622>
10a1a4: 6d ins DWORD PTR es:[edi],dx
10a1a5: 65 gs
10a1a6: 74 65 je 10a20d <VfsGetMountPoint+0x62a>
10a1a8: 72 20 jb 10a1ca <VfsGetMountPoint+0x5e7>
10a1aa: 2d 20 63 6f 6d sub eax,0x6d6f6320
10a1af: 70 6c jo 10a21d <VfsGetMountPoint+0x63a>
10a1b1: 65 gs
10a1b2: 74 65 je 10a219 <VfsGetMountPoint+0x636>
10a1b4: 20 66 69 and BYTE PTR [esi+0x69],ah
10a1b7: 6c ins BYTE PTR es:[edi],dx
10a1b8: 65 20 70 61 and BYTE PTR gs:[eax+0x61],dh
10a1bc: 74 68 je 10a226 <VfsGetMountPoint+0x643>
10a1be: 2e 0a 00 or al,BYTE PTR cs:[eax]
10a1c1: 00 00 add BYTE PTR [eax],al
10a1c3: 00 0a add BYTE PTR [edx],cl
10a1c5: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d
10a1ca: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d
10a1cf: 2d 2d 5b 45 4f sub eax,0x4f455b2d
10a1d4: 46 inc esi
10a1d5: 5d pop ebp
10a1d6: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d
10a1db: 2d 2d 2d 2d 2d sub eax,0x2d2d2d2d
10a1e0: 2d 2d 0a 00 25 sub eax,0x25000a2d
10a1e5: 23 21 and esp,DWORD PTR [ecx]
10a1e7: 20 43 6f and BYTE PTR [ebx+0x6f],al
10a1ea: 6d ins DWORD PTR es:[edi],dx
10a1eb: 6d ins DWORD PTR es:[edi],dx
10a1ec: 61 popa
10a1ed: 6e outs dx,BYTE PTR ds:[esi]
10a1ee: 64 20 25 23 25 73 25 and BYTE PTR fs:0x25732523,ah
10a1f5: 23 20 and esp,DWORD PTR [eax]
10a1f7: 64 6f outs dx,DWORD PTR fs:[esi]
10a1f9: 65 gs
10a1fa: 73 20 jae 10a21c <VfsGetMountPoint+0x639>
10a1fc: 6e outs dx,BYTE PTR ds:[esi]
10a1fd: 6f outs dx,DWORD PTR ds:[esi]
10a1fe: 74 20 je 10a220 <VfsGetMountPoint+0x63d>
10a200: 65 gs
10a201: 78 69 js 10a26c <VfsGetMountPoint+0x689>
10a203: 73 74 jae 10a279 <VfsGetMountPoint+0x696>
10a205: 21 0a and DWORD PTR [edx],ecx
10a207: 00 25 23 21 20 59 add BYTE PTR ds:0x59202123,ah
10a20d: 6f outs dx,DWORD PTR ds:[esi]
10a20e: 75 20 jne 10a230 <VfsGetMountPoint+0x64d>
10a210: 6d ins DWORD PTR es:[edi],dx
10a211: 75 73 jne 10a286 <VfsGetMountPoint+0x6a3>
10a213: 74 20 je 10a235 <VfsGetMountPoint+0x652>
10a215: 65 6e outs dx,BYTE PTR gs:[esi]
10a217: 74 65 je 10a27e <VfsGetMountPoint+0x69b>
10a219: 72 20 jb 10a23b <VfsGetMountPoint+0x658>
10a21b: 61 popa
10a21c: 20 63 6f and BYTE PTR [ebx+0x6f],ah
10a21f: 6d ins DWORD PTR es:[edi],dx
10a220: 6d ins DWORD PTR es:[edi],dx
10a221: 61 popa
10a222: 6e outs dx,BYTE PTR ds:[esi]
10a223: 64 21 0a and DWORD PTR fs:[edx],ecx
10a226: 00 00 add BYTE PTR [eax],al
10a228: 25 23 21 20 43 and eax,0x43202123
10a22d: 6f outs dx,DWORD PTR ds:[esi]
10a22e: 6d ins DWORD PTR es:[edi],dx
10a22f: 6d ins DWORD PTR es:[edi],dx
10a230: 61 popa
10a231: 6e outs dx,BYTE PTR ds:[esi]
10a232: 64 20 25 23 25 73 25 and BYTE PTR fs:0x25732523,ah
10a239: 23 20 and esp,DWORD PTR [eax]
10a23b: 77 61 ja 10a29e <VfsGetMountPoint+0x6bb>
10a23d: 73 20 jae 10a25f <VfsGetMountPoint+0x67c>
10a23f: 6e outs dx,BYTE PTR ds:[esi]
10a240: 6f outs dx,DWORD PTR ds:[esi]
10a241: 74 20 je 10a263 <VfsGetMountPoint+0x680>
10a243: 69 6d 70 6c 65 6d 65 imul ebp,DWORD PTR [ebp+0x70],0x656d656c
10a24a: 6e outs dx,BYTE PTR ds:[esi]
10a24b: 74 65 je 10a2b2 <VfsGetMountPoint+0x6cf>
10a24d: 64 20 28 and BYTE PTR fs:[eax],ch
10a250: 79 65 jns 10a2b7 <VfsGetMountPoint+0x6d4>
10a252: 74 29 je 10a27d <VfsGetMountPoint+0x69a>
10a254: 21 0a and DWORD PTR [edx],ecx
...
10a25e: 00 00 add BYTE PTR [eax],al
10a260: 54 push esp
10a261: 9e sahf
10a262: 10 00 adc BYTE PTR [eax],al
10a264: e3 9c jecxz 10a202 <VfsGetMountPoint+0x61f>
10a266: 10 00 adc BYTE PTR [eax],al
10a268: eb 9c jmp 10a206 <VfsGetMountPoint+0x623>
10a26a: 10 00 adc BYTE PTR [eax],al
10a26c: f4 hlt
10a26d: 9c pushf
10a26e: 10 00 adc BYTE PTR [eax],al
10a270: fa cli
10a271: 9c pushf
10a272: 10 00 adc BYTE PTR [eax],al
10a274: 00 9d 10 00 04 9d add BYTE PTR [ebp-0x62fbfff0],bl
10a27a: 10 00 adc BYTE PTR [eax],al
10a27c: 09 9d 10 00 0e 9d or DWORD PTR [ebp-0x62f1fff0],ebx
10a282: 10 00 adc BYTE PTR [eax],al
10a284: 15 9d 10 00 1f adc eax,0x1f00109d
10a289: 9d popf
10a28a: 10 00 adc BYTE PTR [eax],al
10a28c: 27 daa
10a28d: 9d popf
10a28e: 10 00 adc BYTE PTR [eax],al
10a290: 30 9d 10 00 00 00 xor BYTE PTR [ebp+0x10],bl
...
10a29e: 00 00 add BYTE PTR [eax],al
10a2a0: 54 push esp
10a2a1: 9e sahf
10a2a2: 10 00 adc BYTE PTR [eax],al
10a2a4: 39 9d 10 00 40 9d cmp DWORD PTR [ebp-0x62bffff0],ebx
10a2aa: 10 00 adc BYTE PTR [eax],al
10a2ac: 48 dec eax
10a2ad: 9d popf
10a2ae: 10 00 adc BYTE PTR [eax],al
10a2b0: 52 push edx
10a2b1: 9d popf
10a2b2: 10 00 adc BYTE PTR [eax],al
10a2b4: 5b pop ebx
10a2b5: 9d popf
10a2b6: 10 00 adc BYTE PTR [eax],al
10a2b8: 62 9d 10 00 6b 9d bound ebx,QWORD PTR [ebp-0x6294fff0]
10a2be: 10 00 adc BYTE PTR [eax],al
10a2c0: 40 inc eax
10a2c1: 41 inc ecx
10a2c2: 10 00 adc BYTE PTR [eax],al
10a2c4: 56 push esi
10a2c5: 41 inc ecx
10a2c6: 10 00 adc BYTE PTR [eax],al
10a2c8: 60 pusha
10a2c9: 41 inc ecx
10a2ca: 10 00 adc BYTE PTR [eax],al
10a2cc: 6a 41 push 0x41
10a2ce: 10 00 adc BYTE PTR [eax],al
10a2d0: 74 41 je 10a313 <VfsGetMountPoint+0x730>
10a2d2: 10 00 adc BYTE PTR [eax],al
10a2d4: 85 41 10 test DWORD PTR [ecx+0x10],eax
10a2d7: 00 96 41 10 00 a7 add BYTE PTR [esi-0x58ffefbf],dl
10a2dd: 41 inc ecx
10a2de: 10 00 adc BYTE PTR [eax],al
10a2e0: b1 41 mov cl,0x41
10a2e2: 10 00 adc BYTE PTR [eax],al
10a2e4: bb 41 10 00 cc mov ebx,0xcc001041
10a2e9: 41 inc ecx
10a2ea: 10 00 adc BYTE PTR [eax],al
10a2ec: cc int3
10a2ed: 41 inc ecx
10a2ee: 10 00 adc BYTE PTR [eax],al
10a2f0: d6 (bad)
10a2f1: 41 inc ecx
10a2f2: 10 00 adc BYTE PTR [eax],al
10a2f4: e7 41 out 0x41,eax
10a2f6: 10 00 adc BYTE PTR [eax],al
10a2f8: f5 cmc
10a2f9: 41 inc ecx
10a2fa: 10 00 adc BYTE PTR [eax],al
10a2fc: 30 31 xor BYTE PTR [ecx],dh
10a2fe: 32 33 xor dh,BYTE PTR [ebx]
10a300: 34 35 xor al,0x35
10a302: 36 ss
10a303: 37 aaa
10a304: 38 39 cmp BYTE PTR [ecx],bh
10a306: 61 popa
10a307: 62 63 64 bound esp,QWORD PTR [ebx+0x64]
10a30a: 65 gs
10a30b: 66 67 68 69 6a addr16 pushw 0x6a69
10a310: 6b 6c 6d 6e 6f imul ebp,DWORD PTR [ebp+ebp*2+0x6e],0x6f
10a315: 70 71 jo 10a388 <_Numbers+0x64>
10a317: 72 73 jb 10a38c <_Numbers+0x68>
10a319: 74 75 je 10a390 <_Numbers+0x6c>
10a31b: 76 77 jbe 10a394 <_Numbers+0x70>
10a31d: 78 79 js 10a398 <_Numbers+0x74>
10a31f: 7a 00 jp 10a321 <VfsGetMountPoint+0x73e>
10a321: 00 00 add BYTE PTR [eax],al
...
0010a324 <_Numbers>:
10a324: fc a2 10 00 25 23 25 73 20 28 49 4e 54 25 75 29 ....%#%s (INT%u)
10a334: 00 25 23 49 4e 54 25 75 00 65 61 78 3d 30 78 25 .%#INT%u.eax=0x%
10a344: 78 00 65 62 78 3d 30 78 25 78 00 65 63 78 3d 30 x.ebx=0x%x.ecx=0
10a354: 78 25 78 00 65 64 78 3d 30 78 25 78 0a 00 65 64 x%x.edx=0x%x..ed
10a364: 69 3d 30 78 25 78 00 65 73 69 3d 30 78 25 78 00 i=0x%x.esi=0x%x.
10a374: 65 62 70 3d 30 78 25 78 00 66 73 3d 30 78 25 78 ebp=0x%x.fs=0x%x
10a384: 00 65 73 3d 30 78 25 78 00 64 73 3d 30 78 25 78 .es=0x%x.ds=0x%x
10a394: 0a 00 65 69 70 3d 30 78 25 78 00 63 73 3d 30 78 ..eip=0x%x.cs=0x
10a3a4: 25 78 00 65 66 6c 61 67 73 3d 30 78 25 78 00 75 %x.eflags=0x%x.u
10a3b4: 73 65 72 65 73 70 3d 30 78 25 78 0a 00 73 73 3d seresp=0x%x..ss=
10a3c4: 30 78 25 78 00 69 6e 74 5f 6e 6f 3d 30 78 25 78 0x%x.int_no=0x%x
10a3d4: 00 65 72 72 5f 63 6f 64 65 3d 30 78 25 78 00 61 .err_code=0x%x.a
10a3e4: 64 64 72 65 73 73 3d 30 78 25 78 0a 00 72 65 61 ddress=0x%x..rea
10a3f4: 73 6f 6e 3a 20 00 25 23 50 41 47 45 5f 4e 4f 54 son: .%#PAGE_NOT
10a404: 5f 50 52 45 53 45 4e 54 3b 20 00 25 23 57 52 49 _PRESENT; .%#WRI
10a414: 54 45 5f 4f 50 45 52 41 54 49 4f 4e 3b 20 00 25 TE_OPERATION; .%
10a424: 23 43 50 55 5f 49 4e 5f 55 53 45 52 5f 4d 4f 44 #CPU_IN_USER_MOD
10a434: 45 3b 20 00 25 23 49 4e 53 54 52 55 43 54 49 4f E; .%#INSTRUCTIO
10a444: 4e 5f 46 45 54 43 48 3b 20 00 44 69 76 69 73 69 N_FETCH; .Divisi
10a454: 6f 6e 20 62 79 20 7a 65 72 6f 00 44 65 62 75 67 on by zero.Debug
10a464: 67 65 72 00 4e 6f 6e 20 6d 61 73 6b 61 62 6c 65 ger.Non maskable
10a474: 20 69 6e 74 65 72 72 75 70 74 00 42 72 65 61 6b interrupt.Break
10a484: 70 6f 69 6e 74 00 4f 76 65 72 66 6c 6f 77 00 42 point.Overflow.B
10a494: 6f 75 6e 64 73 00 49 6e 76 61 6c 69 64 20 6f 70 ounds.Invalid op
10a4a4: 63 6f 64 65 00 43 6f 70 72 6f 63 65 73 73 6f 72 code.Coprocessor
10a4b4: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 00 44 not available.D
10a4c4: 6f 75 62 6c 65 20 66 61 75 6c 74 00 43 6f 70 72 ouble fault.Copr
10a4d4: 6f 63 65 73 73 6f 72 20 73 65 67 6d 65 6e 74 20 ocessor segment
10a4e4: 6f 76 65 72 72 75 6e 00 49 6e 76 61 6c 69 64 20 overrun.Invalid
10a4f4: 74 61 73 6b 20 73 74 61 74 65 20 73 65 67 6d 65 task state segme
10a504: 6e 74 00 53 65 67 6d 65 6e 74 20 6e 6f 74 20 70 nt.Segment not p
10a514: 72 65 73 65 6e 74 00 53 74 61 63 6b 20 66 61 75 resent.Stack fau
10a524: 6c 74 00 47 65 6e 65 72 61 6c 20 70 72 6f 74 65 lt.General prote
10a534: 63 74 69 6f 6e 20 66 61 75 6c 74 00 50 61 67 65 ction fault.Page
10a544: 20 66 61 75 6c 74 00 4d 61 74 68 20 66 61 75 6c fault.Math faul
10a554: 74 00 41 6c 69 67 6e 6d 65 6e 74 20 63 68 65 63 t.Alignment chec
10a564: 6b 00 4d 61 63 68 69 6e 65 20 63 68 65 63 6b 00 k.Machine check.
10a574: 53 49 4d 44 20 66 6c 6f 61 74 69 6e 67 2d 70 6f SIMD floating-po
10a584: 69 6e 74 20 65 78 63 65 70 74 69 6f 6e 00 00 00 int exception...
10a594: 25 23 09 09 09 09 53 6f 6d 65 74 68 69 6e 67 20 %#....Something
10a5a4: 77 65 6e 74 20 74 65 72 72 69 62 6c 79 20 77 72 went terribly wr
10a5b4: 6f 6e 67 20 3a 28 0a 0a 00 00 00 00 54 68 65 72 ong :(......Ther
10a5c4: 65 20 77 61 73 20 61 6e 20 75 6e 68 61 6e 64 6c e was an unhandl
10a5d4: 65 64 20 65 78 63 65 70 74 69 6f 6e 3a 20 00 00 ed exception: ..
10a5e4: 0a 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 .To protect your
10a5f4: 20 63 6f 6d 70 75 74 65 72 2c 20 69 74 20 68 61 computer, it ha
10a604: 64 20 74 6f 20 62 65 20 68 61 6c 74 65 64 2e 0a d to be halted..
10a614: 0a 00 00 00 48 65 72 65 2c 20 74 68 69 73 20 6d ....Here, this m
10a624: 69 67 68 74 20 68 65 6c 70 20 66 69 6e 64 20 74 ight help find t
10a634: 68 65 20 70 72 6f 62 6c 65 6d 3a 0a 00 00 00 00 he problem:.....
10a644: 25 23 43 50 55 5f 52 45 53 45 52 56 45 44 5f 50 %#CPU_RESERVED_P
10a654: 41 47 45 5f 45 4e 54 52 59 5f 4f 56 45 52 57 52 AGE_ENTRY_OVERWR
10a664: 49 54 54 45 4e 3b 20 00 46 4a 10 00 77 4a 10 00 ITTEN; .FJ..wJ..
10a674: 4d 4a 10 00 54 4a 10 00 5b 4a 10 00 62 4a 10 00 MJ..TJ..[J..bJ..
10a684: 69 4a 10 00 70 4a 10 00 a1 4a 10 00 d2 4a 10 00 iJ..pJ...J...J..
10a694: a8 4a 10 00 af 4a 10 00 b6 4a 10 00 bd 4a 10 00 .J...J...J...J..
10a6a4: c4 4a 10 00 cb 4a 10 00 21 4b 10 00 f8 4a 10 00 .J...J..!K...J..
10a6b4: 1b 4b 10 00 ff 4a 10 00 21 4b 10 00 06 4b 10 00 .K...J..!K...K..
10a6c4: 0d 4b 10 00 14 4b 10 00 52 65 61 64 20 52 54 43 .K...K..Read RTC
10a6d4: 20 74 69 6d 65 3a 20 25 23 25 75 2f 25 75 2f 25 time: %#%u/%u/%
10a6e4: 75 20 25 75 3a 25 75 3a 25 75 2e 25 75 0a 00 00 u %u:%u:%u.%u...
10a6f4: 46 6c 6f 70 70 79 20 64 72 69 76 65 72 20 69 73 Floppy driver is
10a704: 20 63 75 72 72 65 6e 74 6c 79 20 64 69 73 61 62 currently disab
10a714: 6c 65 64 2e 0a 00 44 72 69 76 65 72 73 00 46 6c led...Drivers.Fl
10a724: 6f 70 70 79 00 49 72 71 20 74 69 6d 65 6f 75 74 oppy.Irq timeout
10a734: 20 5b 25 75 6d 73 5d 20 21 0a 00 57 61 69 74 69 [%ums] !..Waiti
10a744: 6e 67 20 66 6f 72 20 6d 6f 74 6f 72 2e 2e 2e 0a ng for motor....
10a754: 00 52 65 63 61 6c 69 62 72 61 74 69 6e 67 3a 20 .Recalibrating:
10a764: 61 74 74 65 6d 70 74 20 25 75 2f 31 30 0a 00 52 attempt %u/10..R
10a774: 65 73 65 74 74 69 6e 67 2e 2e 2e 0a 00 66 64 30 esetting.....fd0
10a784: 00 66 64 31 00 53 65 65 6b 69 6e 67 3a 20 61 74 .fd1.Seeking: at
10a794: 74 65 6d 70 74 20 25 75 2f 31 30 0a 00 6e 6f 6e tempt %u/10..non
10a7a4: 65 00 35 2e 32 35 22 20 33 36 30 6b 00 35 2e 32 e.5.25" 360k.5.2
10a7b4: 35 22 20 31 2e 32 4d 00 33 2e 35 22 20 37 32 30 5" 1.2M.3.5" 720
10a7c4: 6b 00 33 2e 35 22 20 31 2e 34 34 4d 00 33 2e 35 k.3.5" 1.44M.3.5
10a7d4: 22 20 32 2e 38 38 4d 20 41 4d 49 20 42 49 4f 53 " 2.88M AMI BIOS
10a7e4: 00 33 2e 35 22 20 32 2e 38 38 4d 00 4e 6f 20 73 .3.5" 2.88M.No s
10a7f4: 75 70 70 6f 72 74 65 64 20 66 6c 6f 70 70 79 20 upported floppy
10a804: 64 72 69 76 65 73 20 66 6f 75 6e 64 2e 00 00 00 drives found....
10a814: 44 65 74 65 63 74 65 64 20 66 6c 6f 70 70 79 20 Detected floppy
10a824: 64 72 69 76 65 73 3a 20 25 23 66 64 30 3d 25 23 drives: %#fd0=%#
10a834: 25 73 20 25 23 66 64 31 3d 25 23 25 73 0a 00 00 %s %#fd1=%#%s...
10a844: 52 65 61 64 2f 77 72 69 74 65 20 6f 70 65 72 61 Read/write opera
10a854: 74 69 6f 6e 3a 20 61 74 74 65 6d 70 74 20 25 75 tion: attempt %u
10a864: 2f 31 30 0a 00 00 00 00 45 72 72 6f 72 3a 20 64 /10.....Error: d
10a874: 69 73 6b 20 69 73 20 77 72 69 74 65 20 70 72 6f isk is write pro
10a884: 74 65 63 74 65 64 21 0a 00 00 00 00 43 6f 6e 76 tected!.....Conv
10a894: 65 72 74 65 64 20 4c 42 41 3d 25 75 20 74 6f 20 erted LBA=%u to
10a8a4: 43 79 6c 3d 25 75 20 48 65 61 64 3d 25 75 20 53 Cyl=%u Head=%u S
10a8b4: 65 63 74 3d 25 75 0a 00 49 6e 73 74 61 6c 6c 65 ect=%u..Installe
10a8c4: 64 20 47 44 54 0a 00 48 41 4c 00 49 6e 73 74 61 d GDT..HAL.Insta
10a8d4: 6c 6c 65 64 20 49 44 54 0a 00 49 6e 73 74 61 6c lled IDT..Instal
10a8e4: 6c 65 64 20 49 53 52 73 0a 00 49 6e 73 74 61 6c led ISRs..Instal
10a8f4: 6c 65 64 20 49 52 51 73 0a 00 25 23 49 6e 74 65 led IRQs..%#Inte
10a904: 72 72 75 70 74 73 20 61 72 65 20 73 74 61 72 74 rrupts are start
10a914: 65 64 2e 2e 2e 0a 00 25 23 5b 32 2f 32 5d 0a 00 ed.....%#[2/2]..
10a924: 49 6e 73 74 61 6c 6c 69 6e 67 20 6b 65 79 62 6f Installing keybo
10a934: 61 72 64 2e 2e 2e 20 25 23 5b 31 2f 32 5d 20 00 ard... %#[1/2] .
10a944: 4e 6f 20 62 6f 6f 74 20 6d 6f 64 75 6c 65 73 20 No boot modules
10a954: 66 6f 75 6e 64 21 00 49 6e 69 74 72 64 00 46 6f found!.Initrd.Fo
10a964: 75 6e 64 20 69 6e 69 74 72 64 20 69 6d 61 67 65 und initrd image
10a974: 20 61 74 20 30 78 25 78 2e 0a 00 69 6e 69 74 72 at 0x%x...initr
10a984: 64 00 00 00 46 6f 75 6e 64 20 6d 6f 64 75 6c 65 d...Found module
10a994: 20 40 20 30 78 25 78 2c 20 62 75 74 20 6e 6f 74 @ 0x%x, but not
10a9a4: 20 69 6e 69 74 72 64 20 69 6d 61 67 65 2e 0a 00 initrd image...
...
10a9c0: 9b 70 10 00 14 70 10 00 fb 70 10 00 9d 70 10 00 .p...p...p...p..
10a9d0: 1b 70 10 00 1f 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10a9e0: 23 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 #p...p...p...p..
10a9f0: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aa00: 27 70 10 00 2b 70 10 00 9d 70 10 00 2f 70 10 00 'p..+p...p../p..
10aa10: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aa20: 33 70 10 00 9d 70 10 00 9d 70 10 00 37 70 10 00 3p...p...p..7p..
10aa30: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aa40: 3b 70 10 00 9d 70 10 00 3f 70 10 00 9d 70 10 00 ;p...p..?p...p..
10aa50: 43 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 Cp...p...p...p..
10aa60: 47 70 10 00 9d 70 10 00 4b 70 10 00 4f 70 10 00 Gp...p..Kp..Op..
10aa70: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aa80: 53 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 Sp...p...p...p..
10aa90: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aaa0: 57 70 10 00 9d 70 10 00 5b 70 10 00 9d 70 10 00 Wp...p..[p...p..
10aab0: 9d 70 10 00 5f 70 10 00 9d 70 10 00 9d 70 10 00 .p.._p...p...p..
10aac0: 63 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 cp...p...p...p..
10aad0: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10aae0: 9d 70 10 00 9d 70 10 00 67 70 10 00 9d 70 10 00 .p...p..gp...p..
10aaf0: 9d 70 10 00 9d 70 10 00 6b 70 10 00 9d 70 10 00 .p...p..kp...p..
10ab00: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10ab10: 9d 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10ab20: 9d 70 10 00 6f 70 10 00 9d 70 10 00 73 70 10 00 .p..op...p..sp..
10ab30: 77 70 10 00 9d 70 10 00 9d 70 10 00 9d 70 10 00 wp...p...p...p..
10ab40: 7b 70 10 00 7f 70 10 00 83 70 10 00 9d 70 10 00 {p...p...p...p..
10ab50: 87 70 10 00 8b 70 10 00 9d 70 10 00 9d 70 10 00 .p...p...p...p..
10ab60: 9d 70 10 00 9d 70 10 00 8f 70 10 00 9d 70 10 00 .p...p...p...p..
10ab70: 93 70 10 00 97 70 10 00 00 00 00 00 00 00 00 00 .p...p..........
0010ab80 <KeyboardMapShift>:
...
10ab8c: 00 09 7e 00 00 00 00 00 00 51 21 00 00 00 5a 53 ..~......Q!...ZS
10ab9c: 41 57 40 00 00 43 58 44 45 24 23 00 00 20 56 46 AW@..CXDE$#.. VF
10abac: 54 52 25 00 00 4e 42 48 47 59 5e 00 00 00 4d 4a TR%..NBHGY^...MJ
10abbc: 55 26 2a 00 00 3c 4b 49 4f 29 28 00 00 3e 3f 4c U&*..<KIO)(..>?L
10abcc: 3a 50 5f 00 00 00 22 00 7b 2b 00 00 00 00 0a 7d :P_...".{+.....}
10abdc: 00 7c 00 00 00 00 00 00 00 00 08 00 00 31 2f 34 .|...........1/4
10abec: 37 0a 00 00 30 2e 32 35 36 38 00 00 00 2b 33 2d 7...0.2568...+3-
10abfc: 2a 39 00 00 *9..
0010ac00 <KeyboardMap>:
...
10ac0c: 00 09 60 00 00 00 00 00 00 71 31 00 00 00 7a 73 ..`......q1...zs
10ac1c: 61 77 32 00 00 63 78 64 65 34 33 00 00 20 76 66 aw2..cxde43.. vf
10ac2c: 74 72 35 00 00 6e 62 68 67 79 36 00 00 00 6d 6a tr5..nbhgy6...mj
10ac3c: 75 37 38 00 00 2c 6b 69 6f 30 39 00 00 2e 2f 6c u78..,kio09.../l
10ac4c: 3b 70 2d 00 00 00 27 00 5b 3d 00 00 00 00 0a 5d ;p-...'.[=.....]
10ac5c: 00 5c 00 00 00 00 00 00 00 00 08 00 00 31 2f 34 .\...........1/4
10ac6c: 37 0a 00 00 30 2e 32 35 36 38 00 00 00 2b 33 2d 7...0.2568...+3-
10ac7c: 2a 39 00 00 bd 74 10 00 d5 74 10 00 c9 74 10 00 *9...t...t...t..
10ac8c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ac9c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10acac: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10acbc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10accc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10acdc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10acec: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10acfc: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad0c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad1c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad2c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad3c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad4c: d5 74 10 00 d5 74 10 00 67 74 10 00 d5 74 10 00 .t...t..gt...t..
10ad5c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad6c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10ad7c: d5 74 10 00 07 74 10 00 3c 74 10 00 d5 74 10 00 .t...t..<t...t..
10ad8c: d5 74 10 00 d5 74 10 00 d5 74 10 00 3c 74 10 00 .t...t...t..<t..
10ad9c: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10adac: d5 74 10 00 d5 74 10 00 d5 74 10 00 d5 74 10 00 .t...t...t...t..
10adbc: d5 74 10 00 22 74 10 00 d5 74 10 00 92 74 10 00 .t.."t...t...t..
10adcc: d5 74 10 00 d5 74 10 00 67 74 10 00 41 73 73 65 .t...t..gt..Asse
10addc: 72 74 69 6f 6e 20 66 61 69 6c 65 64 20 69 6e 20 rtion failed in
10adec: 66 69 6c 65 20 25 73 20 6c 69 6e 65 20 25 64 2e file %s line %d.
10adfc: 0a 00 41 73 73 65 72 74 00 64 72 69 76 65 72 73 ..Assert.drivers
10ae0c: 00 68 61 6c 00 66 61 74 00 73 79 73 74 65 6d 00 .hal.fat.system.
10ae1c: 76 66 73 00 63 6f 6e 73 6f 6c 65 00 41 6c 6c 20 vfs.console.All
10ae2c: 72 65 61 64 79 2e 20 53 74 61 72 74 69 6e 67 20 ready. Starting
10ae3c: 63 6f 6e 73 6f 6c 65 2e 2e 2e 0a 0a 00 43 6f 6e console......Con
10ae4c: 73 6f 6c 65 00 00 00 00 25 23 53 74 61 72 74 65 sole....%#Starte
10ae5c: 64 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 d physical memor
10ae6c: 79 20 6d 61 6e 61 67 65 72 20 6f 6b 21 2c 20 66 y manager ok!, f
10ae7c: 6f 75 6e 64 20 25 75 6b 62 0a 00 4d 65 6d 00 6e ound %ukb..Mem.n
10ae8c: 6f 74 20 00 25 23 41 6c 6c 6f 63 61 74 65 64 20 ot .%#Allocated
10ae9c: 25 75 20 62 79 74 65 73 20 28 25 73 70 61 67 65 %u bytes (%spage
10aeac: 20 61 6c 69 67 6e 65 64 29 20 61 74 20 65 6e 64 aligned) at end
10aebc: 20 6f 66 20 6b 65 72 6e 65 6c 20 28 30 78 25 78 of kernel (0x%x
10aecc: 29 2e 0a 00 25 23 41 6c 6c 6f 63 61 74 65 64 20 )...%#Allocated
10aedc: 25 75 20 62 79 74 65 73 20 28 25 73 70 61 67 65 %u bytes (%spage
10aeec: 20 61 6c 69 67 6e 65 64 29 20 61 74 20 61 64 64 aligned) at add
10aefc: 72 65 73 73 20 30 78 25 78 20 28 70 68 79 73 3d ress 0x%x (phys=
10af0c: 25 78 29 2e 0a 00 00 00 25 23 41 6c 6c 6f 63 61 %x).....%#Alloca
10af1c: 74 65 64 20 25 75 20 62 79 74 65 73 20 28 25 73 ted %u bytes (%s
10af2c: 70 61 67 65 20 61 6c 69 67 6e 65 64 29 20 61 74 page aligned) at
10af3c: 20 61 64 64 72 65 73 73 20 30 78 25 78 2e 0a 00 address 0x%x...
10af4c: 25 23 54 72 69 65 64 20 74 6f 20 66 72 65 65 20 %#Tried to free
10af5c: 61 74 20 61 64 64 72 65 73 73 20 30 78 25 78 20 at address 0x%x
10af6c: 77 68 65 6e 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 when memory mana
10af7c: 67 65 72 20 69 73 20 75 6e 69 6e 69 74 69 61 6c ger is uninitial
10af8c: 69 7a 65 64 2e 0a 00 00 25 23 4d 69 73 73 69 6e ized....%#Missin
10af9c: 67 20 6d 65 6d 6f 72 79 20 69 6e 66 6f 20 66 72 g memory info fr
10afac: 6f 6d 20 62 6f 6f 74 6c 6f 61 64 65 72 2e 20 52 om bootloader. R
10afbc: 65 61 64 69 6e 67 20 66 72 6f 6d 20 43 4d 4f 53 eading from CMOS
10afcc: 3a 20 25 75 6b 62 0a 00 25 23 4d 69 73 73 69 6e : %ukb..%#Missin
10afdc: 67 20 25 23 6d 65 6d 6f 72 79 20 6d 61 70 25 23 g %#memory map%#
10afec: 20 69 6e 66 6f 20 66 72 6f 6d 20 62 6f 6f 74 6c info from bootl
10affc: 6f 61 64 65 72 2e 0a 00 49 6e 69 74 69 61 6c 69 oader...Initiali
10b00c: 7a 65 64 20 74 65 6d 70 6f 72 61 72 79 20 6d 65 zed temporary me
10b01c: 6d 6f 72 79 20 6d 61 6e 61 67 65 72 2c 20 61 6c mory manager, al
10b02c: 6c 6f 63 61 74 69 6e 67 20 66 72 6f 6d 20 25 23 locating from %#
10b03c: 30 78 25 78 2e 0a 00 44 6f 6e 65 20 69 6e 69 74 0x%x...Done init
10b04c: 69 61 6c 69 7a 69 6e 67 20 6d 65 6d 6f 72 79 21 ializing memory!
10b05c: 0a 00 52 65 62 6f 6f 74 69 6e 67 20 73 79 73 74 ..Rebooting syst
10b06c: 65 6d 2e 2e 2e 0a 00 53 79 73 74 65 6d 00 em.....System.
0010b07a <MonthLen>:
10b07a: 00 00 1f 00 3b 00 5a 00 78 00 97 00 b5 00 d4 00 ....;.Z.x.......
10b08a: f3 00 11 01 30 01 4e 01 6d 01 25 23 56 66 73 20 ....0.N.m.%#Vfs
10b09a: 6e 6f 77 20 69 6e 20 62 75 73 69 6e 65 73 73 2e now in business.
10b0aa: 0a 00 56 46 53 00 49 6e 73 74 61 6c 6c 65 64 20 ..VFS.Installed
10b0ba: 66 69 6c 65 20 73 79 73 74 65 6d 20 25 23 25 73 file system %#%s
10b0ca: 25 23 20 28 69 64 3d 25 75 29 2e 0a 00 00 25 23 %# (id=%u)....%#
10b0da: 46 61 69 6c 65 64 20 74 6f 20 6d 6f 75 6e 74 20 Failed to mount
10b0ea: 64 65 76 69 63 65 20 25 73 3a 20 63 6f 75 6c 64 device %s: could
10b0fa: 20 6e 6f 74 20 66 69 6e 64 20 61 20 66 69 6c 65 not find a file
10b10a: 20 73 79 73 74 65 6d 2e 0a 00 25 23 46 61 69 6c system...%#Fail
10b11a: 65 64 20 74 6f 20 6d 6f 75 6e 74 20 64 65 76 69 ed to mount devi
10b12a: 63 65 20 25 73 3a 20 62 61 64 20 6e 61 6d 65 2e ce %s: bad name.
10b13a: 0a 00 4d 6f 75 6e 74 65 64 20 64 65 76 69 63 65 ..Mounted device
10b14a: 20 25 23 25 73 25 23 20 75 73 69 6e 67 20 74 68 %#%s%# using th
10b15a: 65 20 25 23 25 73 25 23 20 66 69 6c 65 20 73 79 e %#%s%# file sy
10b16a: 73 74 65 6d 2e 0a 00 00 00 00 stem......