
halup.nostrip.dll:     file format pei-i386

Disassembly of section .text:

00011000 <_HalpGrowMapBuffers>:
 *     SizeOfMapBuffers: Size of the map buffers to allocate
 * NOTES:
 *     - Needs to be tested...
 */
{
   11000:	55                   	push   %ebp
	//ULONG PagesToAllocate = BYTES_TO_PAGES(SizeOfMapBuffers);
	
	/* TODO: Allocation */

	return TRUE;
}
   11001:	b8 01 00 00 00       	mov    $0x1,%eax
   11006:	89 e5                	mov    %esp,%ebp
   11008:	5d                   	pop    %ebp
   11009:	c3                   	ret    
   1100a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00011010 <_HalpAllocateAdapterEx@12>:

PADAPTER_OBJECT STDCALL
HalpAllocateAdapterEx(
  ULONG NumberOfMapRegisters,
  BOOLEAN IsMaster,
  BOOLEAN Dma32BitAddresses)
/*
 * FUNCTION: Allocates an ADAPTER_OBJECT, optionally creates the Master Adapter.
 * ARGUMENTS:
 *     - NumberOfMapRegisters: Number of map registers to allocate
 *     - IsMaster: Wether this is a Master Device or not
 *     - Dma32BitAddresses: Wether 32-bit Addresses are supported
 * RETURNS:
 *     - Pointer to Adapter Object, or NULL if failure.
 * BUGS:
 *     - Some stuff is unhandled/incomplete
 */
{
   11010:	55                   	push   %ebp
   11011:	89 e5                	mov    %esp,%ebp
   11013:	56                   	push   %esi
   11014:	53                   	push   %ebx
   11015:	83 ec 30             	sub    $0x30,%esp
	OBJECT_ATTRIBUTES ObjectAttributes;
	ULONG ObjectSize;
	ULONG BitmapSize;
	NTSTATUS Status;
	ULONG AllowedMapRegisters = 64;
	PADAPTER_OBJECT AdapterObject;
	HANDLE Handle;
	
	/* Allocate the Master Adapter if we haven't already 
	   but make sure we're not asked to do it now, and also check if we need it */
	if ((MasterAdapter == NULL) && (!IsMaster) && (NumberOfMapRegisters)) {
   11018:	a1 f0 94 03 00       	mov    0x394f0,%eax
   1101d:	8a 5d 0c             	mov    0xc(%ebp),%bl
   11020:	85 c0                	test   %eax,%eax
   11022:	8b 75 08             	mov    0x8(%ebp),%esi
   11025:	0f 94 c2             	sete   %dl
   11028:	84 db                	test   %bl,%bl
   1102a:	8a 4d 10             	mov    0x10(%ebp),%cl
   1102d:	0f 94 c0             	sete   %al
   11030:	25 ff 00 00 00       	and    $0xff,%eax
   11035:	85 c2                	test   %eax,%edx
   11037:	74 08                	je     11041 <_HalpAllocateAdapterEx@12+0x31>
   11039:	85 f6                	test   %esi,%esi
   1103b:	0f 85 6f 01 00 00    	jne    111b0 <_HalpAllocateAdapterEx@12+0x1a0>
		
		/* Allocate and Save */
		DPRINT("Allocating the Master Adapter Object\n");
		MasterAdapter = HalpAllocateAdapterEx(NumberOfMapRegisters,
						     TRUE,
						     Dma32BitAddresses);
		
		/* Cancel on Failure */
		DPRINT("Checking if Master Adapter was allocated properly\n");
		if (!MasterAdapter) return NULL;
	}
	
	/* Initialize the Object Attributes for the Adapter Object */
	InitializeObjectAttributes(&ObjectAttributes,
				   NULL,
				   OBJ_PERMANENT,
				   NULL,
				   NULL);
	
	/* Check if this is the Master Adapter, in which case we need to allocate the bitmap */
	if (IsMaster) {
		/* Size due to the Bitmap + Bytes in the Bitmap Buffer (8 bytes, 64 bits)*/
		BitmapSize = sizeof(RTL_BITMAP) + (AllowedMapRegisters + 7) / 8;
		
		/* We will put the Bitmap Buffer after the Adapter Object for simplicity */
		ObjectSize = sizeof(ADAPTER_OBJECT) + BitmapSize;
   11041:	80 fb 01             	cmp    $0x1,%bl
	} else {
		ObjectSize = sizeof(ADAPTER_OBJECT);
	}
	
	/* Create and Allocate the Object */
	DPRINT("Creating the Object\n");
	Status = ObCreateObject(KernelMode,
   11044:	8d 45 d4             	lea    0xffffffd4(%ebp),%eax
   11047:	19 d2                	sbb    %edx,%edx
   11049:	83 ec 0c             	sub    $0xc,%esp
   1104c:	83 e2 f0             	and    $0xfffffff0,%edx
   1104f:	c7 45 d8 18 00 00 00 	movl   $0x18,0xffffffd8(%ebp)
   11056:	50                   	push   %eax
   11057:	83 c2 78             	add    $0x78,%edx
   1105a:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   1105d:	6a 00                	push   $0x0
   1105f:	6a 00                	push   $0x0
   11061:	52                   	push   %edx
   11062:	6a 00                	push   $0x0
   11064:	6a 00                	push   $0x0
   11066:	50                   	push   %eax
   11067:	a1 00 b1 03 00       	mov    0x3b100,%eax
   1106c:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   11073:	c7 45 e4 10 00 00 00 	movl   $0x10,0xffffffe4(%ebp)
   1107a:	8b 00                	mov    (%eax),%eax
   1107c:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   11083:	50                   	push   %eax
   11084:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   1108b:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   11092:	6a 00                	push   $0x0
   11094:	e8 97 4f 00 00       	call   16030 <_ObCreateObject@36>
				IoAdapterObjectType,
				&ObjectAttributes,
				KernelMode,
				NULL,
				ObjectSize,
				0,
				0,
				(PVOID)&AdapterObject);
	
	if (!NT_SUCCESS(Status)) return NULL;
   11099:	31 d2                	xor    %edx,%edx
   1109b:	83 c4 0c             	add    $0xc,%esp
   1109e:	85 c0                	test   %eax,%eax
   110a0:	0f 88 80 00 00 00    	js     11126 <_HalpAllocateAdapterEx@12+0x116>
	
	/* Add a Reference */
	DPRINT("Referencing the Object\n");
	Status = ObReferenceObjectByPointer(AdapterObject,
   110a6:	a1 00 b1 03 00       	mov    0x3b100,%eax
   110ab:	6a 00                	push   $0x0
   110ad:	8b 00                	mov    (%eax),%eax
   110af:	50                   	push   %eax
   110b0:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   110b3:	6a 03                	push   $0x3
   110b5:	50                   	push   %eax
   110b6:	e8 85 4f 00 00       	call   16040 <_ObReferenceObjectByPointer@16>
					    FILE_READ_DATA | FILE_WRITE_DATA,
					    IoAdapterObjectType,
					    KernelMode);
	
	if (!NT_SUCCESS(Status)) return NULL;
   110bb:	31 d2                	xor    %edx,%edx
   110bd:	85 c0                	test   %eax,%eax
   110bf:	78 65                	js     11126 <_HalpAllocateAdapterEx@12+0x116>
	
	/* It's a Valid Object, so now we can play with the memory */
	RtlZeroMemory(AdapterObject, sizeof(ADAPTER_OBJECT));
   110c1:	50                   	push   %eax
   110c2:	50                   	push   %eax
   110c3:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   110c6:	6a 68                	push   $0x68
   110c8:	50                   	push   %eax
   110c9:	e8 82 4f 00 00       	call   16050 <_RtlZeroMemory@8>
	
	/* Insert it into the Object Table */
	DPRINT("Inserting the Object\n");
	Status = ObInsertObject(AdapterObject,
   110ce:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   110d1:	50                   	push   %eax
   110d2:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   110d5:	6a 00                	push   $0x0
   110d7:	6a 00                	push   $0x0
   110d9:	6a 03                	push   $0x3
   110db:	6a 00                	push   $0x0
   110dd:	50                   	push   %eax
   110de:	e8 7d 4f 00 00       	call   16060 <_ObInsertObject@24>
				NULL,
				FILE_READ_DATA | FILE_WRITE_DATA,
				0,
				NULL,
				&Handle);
	
	if (!NT_SUCCESS(Status)) return NULL;
   110e3:	5a                   	pop    %edx
   110e4:	31 d2                	xor    %edx,%edx
   110e6:	59                   	pop    %ecx
   110e7:	85 c0                	test   %eax,%eax
   110e9:	78 3b                	js     11126 <_HalpAllocateAdapterEx@12+0x116>
	
	/* We don't want the handle */
	NtClose(Handle);	
   110eb:	83 ec 0c             	sub    $0xc,%esp
   110ee:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
   110f1:	51                   	push   %ecx
   110f2:	e8 79 4f 00 00       	call   16070 <_NtClose@4>
	
	/* Set up the Adapter Object fields */
	AdapterObject->MapRegistersPerChannel = 1;
   110f7:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
	
	/* Set the Master if needed (master only needed if we use Map Registers) */
	if (NumberOfMapRegisters) AdapterObject->MasterAdapter = MasterAdapter;
   110fa:	83 c4 0c             	add    $0xc,%esp
   110fd:	85 f6                	test   %esi,%esi
   110ff:	c7 42 0c 01 00 00 00 	movl   $0x1,0xc(%edx)
   11106:	74 08                	je     11110 <_HalpAllocateAdapterEx@12+0x100>
   11108:	a1 f0 94 03 00       	mov    0x394f0,%eax
   1110d:	89 42 08             	mov    %eax,0x8(%edx)
	
	/* Initalize the Channel Wait queue, which every adapter has */
	DPRINT("Initializing the Device Queue of the Object\n");
	KeInitializeDeviceQueue(&AdapterObject->ChannelWaitQueue);
   11110:	83 ec 0c             	sub    $0xc,%esp
   11113:	8d 42 24             	lea    0x24(%edx),%eax
   11116:	50                   	push   %eax
   11117:	e8 64 4f 00 00       	call   16080 <_KeInitializeDeviceQueue@4>
	
	/* Initialize the SpinLock, Queue and Bitmap, which are kept in the Master Adapter only */
	if (IsMaster) {
   1111c:	83 c4 0c             	add    $0xc,%esp
   1111f:	84 db                	test   %bl,%bl
   11121:	75 0e                	jne    11131 <_HalpAllocateAdapterEx@12+0x121>
		
		DPRINT("Initializing the Master Adapter Stuff\n");
		KeInitializeSpinLock(&AdapterObject->SpinLock);
		InitializeListHead(&AdapterObject->AdapterQueue);
		
		/* As said previously, we put them here for simplicity */
		AdapterObject->MapRegisters = (PVOID)(AdapterObject + 1);
		
		/* Set up Bitmap */
		RtlInitializeBitMap(AdapterObject->MapRegisters,
				    (PULONG)(AdapterObject->MapRegisters + 1),
				    AllowedMapRegisters);
				    
		/* Reset the Bitmap */	
		RtlSetAllBits(AdapterObject->MapRegisters);
		AdapterObject->NumberOfMapRegisters = 0;
		AdapterObject->CommittedMapRegisters = 0;
		
		/* Allocate Memory for the Map Registers */
		AdapterObject->MapRegisterBase = ExAllocatePool(NonPagedPool,
								AllowedMapRegisters * sizeof(DWORD));
		
		/* Clear them */
		RtlZeroMemory(AdapterObject->MapRegisterBase, AllowedMapRegisters * sizeof(DWORD));
		
		/* Allocate the contigous memory */
		DPRINT("Allocating Buffers\n");
		HalpGrowMapBuffers(AdapterObject, 0x1000000);
	}
	
	DPRINT("Adapter Object allocated\n");
	return AdapterObject;	
   11123:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
}
   11126:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11129:	89 d0                	mov    %edx,%eax
   1112b:	5b                   	pop    %ebx
   1112c:	5e                   	pop    %esi
   1112d:	5d                   	pop    %ebp
   1112e:	c2 0c 00             	ret    $0xc
   11131:	83 ec 0c             	sub    $0xc,%esp
   11134:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11137:	83 c0 44             	add    $0x44,%eax
   1113a:	50                   	push   %eax
   1113b:	e8 50 4f 00 00       	call   16090 <_KeInitializeSpinLock@4>
   11140:	58                   	pop    %eax
   11141:	5a                   	pop    %edx
   11142:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   11145:	8d 42 3c             	lea    0x3c(%edx),%eax
   11148:	89 42 3c             	mov    %eax,0x3c(%edx)
   1114b:	89 40 04             	mov    %eax,0x4(%eax)
		KeInitializeSpinLock(&AdapterObject->SpinLock);
		InitializeListHead(&AdapterObject->AdapterQueue);
		
		/* As said previously, we put them here for simplicity */
		AdapterObject->MapRegisters = (PVOID)(AdapterObject + 1);
   1114e:	8d 42 68             	lea    0x68(%edx),%eax
   11151:	89 42 48             	mov    %eax,0x48(%edx)
		
		/* Set up Bitmap */
		RtlInitializeBitMap(AdapterObject->MapRegisters,
   11154:	6a 40                	push   $0x40
   11156:	8b 42 48             	mov    0x48(%edx),%eax
   11159:	83 c0 08             	add    $0x8,%eax
   1115c:	50                   	push   %eax
   1115d:	8b 42 48             	mov    0x48(%edx),%eax
   11160:	50                   	push   %eax
   11161:	e8 3a 4f 00 00       	call   160a0 <_RtlInitializeBitMap@12>
				    (PULONG)(AdapterObject->MapRegisters + 1),
				    AllowedMapRegisters);
				    
		/* Reset the Bitmap */	
		RtlSetAllBits(AdapterObject->MapRegisters);
   11166:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11169:	56                   	push   %esi
   1116a:	56                   	push   %esi
   1116b:	8b 58 48             	mov    0x48(%eax),%ebx
   1116e:	53                   	push   %ebx
   1116f:	e8 3c 4f 00 00       	call   160b0 <_RtlSetAllBits@4>
		AdapterObject->NumberOfMapRegisters = 0;
   11174:	8b 5d d4             	mov    0xffffffd4(%ebp),%ebx
   11177:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
		AdapterObject->CommittedMapRegisters = 0;
   1117e:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
		
		/* Allocate Memory for the Map Registers */
		AdapterObject->MapRegisterBase = ExAllocatePool(NonPagedPool,
   11185:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
   1118c:	6a 00                	push   $0x0
   1118e:	e8 2d 4f 00 00       	call   160c0 <_ExAllocatePool@8>
   11193:	89 43 14             	mov    %eax,0x14(%ebx)
								AllowedMapRegisters * sizeof(DWORD));
		
		/* Clear them */
		RtlZeroMemory(AdapterObject->MapRegisterBase, AllowedMapRegisters * sizeof(DWORD));
   11196:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11199:	68 00 01 00 00       	push   $0x100
   1119e:	8b 48 14             	mov    0x14(%eax),%ecx
   111a1:	51                   	push   %ecx
   111a2:	e8 a9 4e 00 00       	call   16050 <_RtlZeroMemory@8>
		
		/* Allocate the contigous memory */
		DPRINT("Allocating Buffers\n");
		HalpGrowMapBuffers(AdapterObject, 0x1000000);
   111a7:	58                   	pop    %eax
   111a8:	5a                   	pop    %edx
   111a9:	e9 75 ff ff ff       	jmp    11123 <_HalpAllocateAdapterEx@12+0x113>
   111ae:	89 f6                	mov    %esi,%esi
   111b0:	50                   	push   %eax
   111b1:	31 c0                	xor    %eax,%eax
   111b3:	88 c8                	mov    %cl,%al
   111b5:	50                   	push   %eax
   111b6:	6a 01                	push   $0x1
   111b8:	56                   	push   %esi
   111b9:	e8 52 fe ff ff       	call   11010 <_HalpAllocateAdapterEx@12>
   111be:	5a                   	pop    %edx
   111bf:	a3 f0 94 03 00       	mov    %eax,0x394f0
   111c4:	31 d2                	xor    %edx,%edx
   111c6:	85 c0                	test   %eax,%eax
   111c8:	0f 85 73 fe ff ff    	jne    11041 <_HalpAllocateAdapterEx@12+0x31>
   111ce:	e9 53 ff ff ff       	jmp    11126 <_HalpAllocateAdapterEx@12+0x116>
   111d3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   111d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000111e0 <_IoFlushAdapterBuffers@24>:
	}
	
	DPRINT("Adapter Object allocated\n");
	return AdapterObject;	
}


BOOLEAN STDCALL
IoFlushAdapterBuffers (
  PADAPTER_OBJECT	AdapterObject,
  PMDL		Mdl,
  PVOID		MapRegisterBase,
  PVOID		CurrentVa,
  ULONG		Length,
  BOOLEAN		WriteToDevice)
/*
 * FUNCTION: flush any data remaining in the dma controller's memory into the host memory
 * ARGUMENTS:
 *     AdapterObject: the adapter object to flush
 *     Mdl: original MDL to flush data into
 *     MapRegisterBase: map register base that was just used by IoMapTransfer, etc
 *     CurrentVa: offset into Mdl to be flushed into, same as was passed to IoMapTransfer
 *     Length: length of the buffer to be flushed into
 *     WriteToDevice: True if it's a write, False if it's a read
 * RETURNS:
 *     TRUE in all cases
 * NOTES:
 *     - This copies data from the map register-backed buffer to the user's target buffer.
 *       Data is not in the user buffer until this is called.
 *     - This is only meaningful on a read operation.  Return immediately for a write.
 */
{
   111e0:	55                   	push   %ebp
   111e1:	89 e5                	mov    %esp,%ebp
   111e3:	57                   	push   %edi
   111e4:	56                   	push   %esi
   111e5:	53                   	push   %ebx
   111e6:	83 ec 0c             	sub    $0xc,%esp
   111e9:	8b 7d 10             	mov    0x10(%ebp),%edi
   111ec:	8b 55 08             	mov    0x8(%ebp),%edx
   111ef:	8b 75 0c             	mov    0xc(%ebp),%esi
   111f2:	8a 5d 1c             	mov    0x1c(%ebp),%bl
  ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
  
  /* this can happen if the card supports scatter/gather */
  if(!MapRegisterBase)
   111f5:	85 ff                	test   %edi,%edi
   111f7:	74 4f                	je     11248 <_IoFlushAdapterBuffers@24+0x68>
    return TRUE;

  /* mask out (disable) the dma channel */
  if (AdapterObject->AdapterNumber == 1) {
   111f9:	80 7a 51 01          	cmpb   $0x1,0x51(%edx)
   111fd:	74 58                	je     11257 <_IoFlushAdapterBuffers@24+0x77>
  
  		/* Set this for Ease */
  		PDMA1_CONTROL DmaControl1 = AdapterObject->AdapterBaseVa;
	
		/* Set Channel */
		WRITE_PORT_UCHAR(&DmaControl1->SingleMask, AdapterObject->ChannelNumber | DMA_SETMASK);
  } else {
  		/* Set this for Ease */
  		PDMA2_CONTROL DmaControl2 = AdapterObject->AdapterBaseVa;
	
		/* Set Channel */
		WRITE_PORT_UCHAR(&DmaControl2->SingleMask, (AdapterObject->ChannelNumber - 4) | DMA_SETMASK);
   111ff:	51                   	push   %ecx
   11200:	51                   	push   %ecx
   11201:	8a 42 50             	mov    0x50(%edx),%al
   11204:	83 e8 04             	sub    $0x4,%eax
   11207:	83 c8 04             	or     $0x4,%eax
   1120a:	25 ff 00 00 00       	and    $0xff,%eax
   1120f:	50                   	push   %eax
   11210:	8b 42 10             	mov    0x10(%edx),%eax
   11213:	83 c0 14             	add    $0x14,%eax
   11216:	50                   	push   %eax
   11217:	e8 54 3f 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
  }
  
  if(WriteToDevice)
   1121c:	84 db                	test   %bl,%bl
   1121e:	58                   	pop    %eax
   1121f:	5a                   	pop    %edx
   11220:	75 26                	jne    11248 <_IoFlushAdapterBuffers@24+0x68>
    return TRUE;
    
  memcpy( 
   11222:	8b 5e 18             	mov    0x18(%esi),%ebx
   11225:	8b 4e 10             	mov    0x10(%esi),%ecx
   11228:	66 8b 46 06          	mov    0x6(%esi),%ax
   1122c:	01 cb                	add    %ecx,%ebx
   1122e:	a8 05                	test   $0x5,%al
   11230:	74 3e                	je     11270 <_IoFlushAdapterBuffers@24+0x90>
   11232:	8b 45 14             	mov    0x14(%ebp),%eax
   11235:	8b 56 0c             	mov    0xc(%esi),%edx
   11238:	01 d0                	add    %edx,%eax
   1123a:	29 d8                	sub    %ebx,%eax
   1123c:	8b 55 18             	mov    0x18(%ebp),%edx
   1123f:	51                   	push   %ecx
   11240:	52                   	push   %edx
   11241:	57                   	push   %edi
   11242:	50                   	push   %eax
   11243:	e8 f8 4e 00 00       	call   16140 <_memcpy>
        (PVOID)((DWORD)MmGetSystemAddressForMdl( Mdl ) + (DWORD)CurrentVa - (DWORD)MmGetMdlVirtualAddress( Mdl )), 
      MapRegisterBase, Length );

  return TRUE;
}
   11248:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1124b:	b8 01 00 00 00       	mov    $0x1,%eax
   11250:	5b                   	pop    %ebx
   11251:	5e                   	pop    %esi
   11252:	5f                   	pop    %edi
   11253:	5d                   	pop    %ebp
   11254:	c2 18 00             	ret    $0x18
   11257:	50                   	push   %eax
   11258:	50                   	push   %eax
   11259:	8a 42 50             	mov    0x50(%edx),%al
   1125c:	83 c8 04             	or     $0x4,%eax
   1125f:	25 ff 00 00 00       	and    $0xff,%eax
   11264:	50                   	push   %eax
   11265:	8b 42 10             	mov    0x10(%edx),%eax
   11268:	83 c0 0a             	add    $0xa,%eax
   1126b:	eb a9                	jmp    11216 <_IoFlushAdapterBuffers@24+0x36>
   1126d:	8d 76 00             	lea    0x0(%esi),%esi
   11270:	50                   	push   %eax
   11271:	50                   	push   %eax
   11272:	6a 00                	push   $0x0
   11274:	56                   	push   %esi
   11275:	e8 56 4e 00 00       	call   160d0 <_MmMapLockedPages@8>
   1127a:	8b 75 14             	mov    0x14(%ebp),%esi
   1127d:	5a                   	pop    %edx
   1127e:	01 f0                	add    %esi,%eax
   11280:	59                   	pop    %ecx
   11281:	eb b7                	jmp    1123a <_IoFlushAdapterBuffers@24+0x5a>
   11283:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11289:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011290 <_IoFreeMapRegisters@12>:


VOID STDCALL
IoFreeAdapterChannel (PADAPTER_OBJECT	AdapterObject)
/*
 * FUNCTION: frees DMA resources allocated by IoAllocateAdapterChannel
 * ARGUMENTS:
 *     AdapterObject: Adapter object with resources to free
 * NOTES:
 *     - This function releases the DMA adapter and optionally the map registers
 *     - After releasing the adapter, it checks the adapter's queue and runs
 *       each queued device object in series until the queue is empty
 *     - This is the only way the device queue is emptied.
 */
{
  LARGE_INTEGER MaxAddress;
  LARGE_INTEGER MinAddress;
  LARGE_INTEGER BoundryAddressMultiple;
  PWAIT_CONTEXT_BLOCK WaitContextBlock;
  IO_ALLOCATION_ACTION Retval;

  while(1)
    {
      /* To keep map registers, call here with the following set to 0 */
      if(AdapterObject->CommittedMapRegisters)
        IoFreeMapRegisters(AdapterObject, AdapterObject->MapRegisterBase, AdapterObject->CommittedMapRegisters);

      if(!(WaitContextBlock = (PWAIT_CONTEXT_BLOCK)KeRemoveDeviceQueue(&AdapterObject->ChannelWaitQueue)))
        break;

      /*
       * the following should really be done elsewhere since this
       * function really can't return an error code.  FIXME.
       */

      /* 24-bit max address due to 16-bit dma controllers */
      MinAddress.QuadPart = 0x0000000;
      MaxAddress.QuadPart = 0x1000000;
      BoundryAddressMultiple.QuadPart = 0;

      AdapterObject->MapRegisterBase = MmAllocateContiguousAlignedMemory( 
          WaitContextBlock->NumberOfMapRegisters * PAGE_SIZE,
          MinAddress,
          MaxAddress,
          BoundryAddressMultiple,
          MmCached,
          0x10000 );

      if(!AdapterObject->MapRegisterBase)
        return;

      /* call the adapter control routine */
      Retval = ((PDRIVER_CONTROL)WaitContextBlock->DeviceRoutine)(WaitContextBlock->DeviceObject, WaitContextBlock->CurrentIrp,
          AdapterObject->MapRegisterBase, WaitContextBlock->DeviceContext);

      if(Retval == KeepObject)
        {
          /* we're done until the caller manually calls IoFreeAdapterChannel */
          break;
        }
      else if(Retval == DeallocateObjectKeepRegisters)
        {
          /* hide the map registers so they aren't deallocated next time around */
          AdapterObject->CommittedMapRegisters = 0;
        }
    }
}


VOID STDCALL
IoFreeMapRegisters (
  IN PADAPTER_OBJECT	AdapterObject,
  IN PVOID		MapRegisterBase,
  IN ULONG		NumberOfMapRegisters)
/*
 * FUNCTION: free map registers reserved by the system for a DMA
 * ARGUMENTS:
 *     AdapterObject: dma adapter to free map registers on
 *     MapRegisterBase: hadle to map registers to free
 *     NumberOfRegisters: number of map registers to be freed
 * NOTES:
 *     - XXX real windows has a funky interdependence between IoFreeMapRegisters 
 *       and IoFreeAdapterChannel 
 * BUGS:
 *     - needs to be improved to use a real map register implementation
 */
{
   11290:	55                   	push   %ebp
   11291:	89 e5                	mov    %esp,%ebp
   11293:	53                   	push   %ebx
   11294:	50                   	push   %eax
   11295:	8b 5d 08             	mov    0x8(%ebp),%ebx
  if( AdapterObject->CommittedMapRegisters )
   11298:	8b 43 1c             	mov    0x1c(%ebx),%eax
   1129b:	85 c0                	test   %eax,%eax
   1129d:	75 07                	jne    112a6 <_IoFreeMapRegisters@12+0x16>
    {
      MmFreeContiguousMemory(AdapterObject->MapRegisterBase);
      AdapterObject->MapRegisterBase = 0;
    }
}
   1129f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   112a2:	c9                   	leave  
   112a3:	c2 0c 00             	ret    $0xc
   112a6:	83 ec 0c             	sub    $0xc,%esp
   112a9:	8b 43 14             	mov    0x14(%ebx),%eax
   112ac:	50                   	push   %eax
   112ad:	e8 2e 4e 00 00       	call   160e0 <_MmFreeContiguousMemory@4>
   112b2:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
   112b9:	83 c4 0c             	add    $0xc,%esp
   112bc:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   112bf:	c9                   	leave  
   112c0:	c2 0c 00             	ret    $0xc
   112c3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   112c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000112d0 <_IoFreeAdapterChannel@4>:
   112d0:	55                   	push   %ebp
   112d1:	89 e5                	mov    %esp,%ebp
   112d3:	57                   	push   %edi
   112d4:	56                   	push   %esi
   112d5:	53                   	push   %ebx
   112d6:	83 ec 0c             	sub    $0xc,%esp
   112d9:	8b 75 08             	mov    0x8(%ebp),%esi
   112dc:	8d 7e 24             	lea    0x24(%esi),%edi
   112df:	90                   	nop    
   112e0:	8b 46 1c             	mov    0x1c(%esi),%eax
   112e3:	85 c0                	test   %eax,%eax
   112e5:	75 69                	jne    11350 <_IoFreeAdapterChannel@4+0x80>
   112e7:	83 ec 0c             	sub    $0xc,%esp
   112ea:	57                   	push   %edi
   112eb:	e8 00 4e 00 00       	call   160f0 <_KeRemoveDeviceQueue@4>
   112f0:	83 c4 0c             	add    $0xc,%esp
   112f3:	89 c3                	mov    %eax,%ebx
   112f5:	85 c0                	test   %eax,%eax
   112f7:	74 76                	je     1136f <_IoFreeAdapterChannel@4+0x9f>
   112f9:	83 ec 0c             	sub    $0xc,%esp
   112fc:	68 00 00 01 00       	push   $0x10000
   11301:	6a 01                	push   $0x1
   11303:	6a 00                	push   $0x0
   11305:	6a 00                	push   $0x0
   11307:	6a 00                	push   $0x0
   11309:	68 00 00 00 01       	push   $0x1000000
   1130e:	6a 00                	push   $0x0
   11310:	6a 00                	push   $0x0
   11312:	8b 40 18             	mov    0x18(%eax),%eax
   11315:	c1 e0 0c             	shl    $0xc,%eax
   11318:	50                   	push   %eax
   11319:	e8 e2 4d 00 00       	call   16100 <_MmAllocateContiguousAlignedMemory@36>
   1131e:	83 c4 0c             	add    $0xc,%esp
   11321:	85 c0                	test   %eax,%eax
   11323:	89 46 14             	mov    %eax,0x14(%esi)
   11326:	74 47                	je     1136f <_IoFreeAdapterChannel@4+0x9f>
   11328:	8b 53 14             	mov    0x14(%ebx),%edx
   1132b:	52                   	push   %edx
   1132c:	50                   	push   %eax
   1132d:	8b 43 20             	mov    0x20(%ebx),%eax
   11330:	50                   	push   %eax
   11331:	8b 43 1c             	mov    0x1c(%ebx),%eax
   11334:	50                   	push   %eax
   11335:	ff 53 10             	call   *0x10(%ebx)
   11338:	83 f8 01             	cmp    $0x1,%eax
   1133b:	74 32                	je     1136f <_IoFreeAdapterChannel@4+0x9f>
   1133d:	83 f8 03             	cmp    $0x3,%eax
   11340:	75 9e                	jne    112e0 <_IoFreeAdapterChannel@4+0x10>
   11342:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
   11349:	8b 46 1c             	mov    0x1c(%esi),%eax
   1134c:	85 c0                	test   %eax,%eax
   1134e:	74 97                	je     112e7 <_IoFreeAdapterChannel@4+0x17>
   11350:	52                   	push   %edx
   11351:	50                   	push   %eax
   11352:	8b 5e 14             	mov    0x14(%esi),%ebx
   11355:	53                   	push   %ebx
   11356:	56                   	push   %esi
   11357:	e8 34 ff ff ff       	call   11290 <_IoFreeMapRegisters@12>
   1135c:	59                   	pop    %ecx
   1135d:	83 ec 0c             	sub    $0xc,%esp
   11360:	57                   	push   %edi
   11361:	e8 8a 4d 00 00       	call   160f0 <_KeRemoveDeviceQueue@4>
   11366:	83 c4 0c             	add    $0xc,%esp
   11369:	89 c3                	mov    %eax,%ebx
   1136b:	85 c0                	test   %eax,%eax
   1136d:	75 8a                	jne    112f9 <_IoFreeAdapterChannel@4+0x29>
   1136f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11372:	5b                   	pop    %ebx
   11373:	5e                   	pop    %esi
   11374:	5f                   	pop    %edi
   11375:	5d                   	pop    %ebp
   11376:	c2 04 00             	ret    $0x4
   11379:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011380 <_HalAllocateAdapterChannel@16>:
   11380:	55                   	push   %ebp
   11381:	89 e5                	mov    %esp,%ebp
   11383:	57                   	push   %edi
   11384:	56                   	push   %esi
   11385:	53                   	push   %ebx
   11386:	83 ec 14             	sub    $0x14,%esp
   11389:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1138c:	8b 7d 08             	mov    0x8(%ebp),%edi
   1138f:	8b 45 14             	mov    0x14(%ebp),%eax
   11392:	8b 75 10             	mov    0x10(%ebp),%esi
   11395:	89 43 10             	mov    %eax,0x10(%ebx)
   11398:	89 73 18             	mov    %esi,0x18(%ebx)
   1139b:	8d 47 24             	lea    0x24(%edi),%eax
   1139e:	53                   	push   %ebx
   1139f:	50                   	push   %eax
   113a0:	e8 6b 4d 00 00       	call   16110 <_KeInsertDeviceQueue@8>
   113a5:	59                   	pop    %ecx
   113a6:	5a                   	pop    %edx
   113a7:	31 d2                	xor    %edx,%edx
   113a9:	84 c0                	test   %al,%al
   113ab:	74 13                	je     113c0 <_HalAllocateAdapterChannel@16+0x40>
   113ad:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   113b0:	89 d0                	mov    %edx,%eax
   113b2:	5b                   	pop    %ebx
   113b3:	5e                   	pop    %esi
   113b4:	5f                   	pop    %edi
   113b5:	5d                   	pop    %ebp
   113b6:	c2 10 00             	ret    $0x10
   113b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   113c0:	83 ec 0c             	sub    $0xc,%esp
   113c3:	89 f0                	mov    %esi,%eax
   113c5:	c1 e0 0c             	shl    $0xc,%eax
   113c8:	68 00 00 01 00       	push   $0x10000
   113cd:	6a 01                	push   $0x1
   113cf:	6a 00                	push   $0x0
   113d1:	6a 00                	push   $0x0
   113d3:	6a 00                	push   $0x0
   113d5:	68 00 00 00 01       	push   $0x1000000
   113da:	6a 00                	push   $0x0
   113dc:	6a 00                	push   $0x0
   113de:	50                   	push   %eax
   113df:	e8 1c 4d 00 00       	call   16100 <_MmAllocateContiguousAlignedMemory@36>
   113e4:	ba 9a 00 00 c0       	mov    $0xc000009a,%edx
   113e9:	83 c4 0c             	add    $0xc,%esp
   113ec:	89 47 14             	mov    %eax,0x14(%edi)
   113ef:	85 c0                	test   %eax,%eax
   113f1:	74 ba                	je     113ad <_HalAllocateAdapterChannel@16+0x2d>
   113f3:	8b 53 14             	mov    0x14(%ebx),%edx
   113f6:	89 77 1c             	mov    %esi,0x1c(%edi)
   113f9:	52                   	push   %edx
   113fa:	50                   	push   %eax
   113fb:	8b 73 20             	mov    0x20(%ebx),%esi
   113fe:	56                   	push   %esi
   113ff:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
   11402:	51                   	push   %ecx
   11403:	ff 55 14             	call   *0x14(%ebp)
   11406:	83 f8 02             	cmp    $0x2,%eax
   11409:	74 1a                	je     11425 <_HalAllocateAdapterChannel@16+0xa5>
   1140b:	83 f8 03             	cmp    $0x3,%eax
   1140e:	74 0e                	je     1141e <_HalAllocateAdapterChannel@16+0x9e>
   11410:	31 d2                	xor    %edx,%edx
   11412:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11415:	89 d0                	mov    %edx,%eax
   11417:	5b                   	pop    %ebx
   11418:	5e                   	pop    %esi
   11419:	5f                   	pop    %edi
   1141a:	5d                   	pop    %ebp
   1141b:	c2 10 00             	ret    $0x10
   1141e:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
   11425:	83 ec 0c             	sub    $0xc,%esp
   11428:	57                   	push   %edi
   11429:	e8 a2 fe ff ff       	call   112d0 <_IoFreeAdapterChannel@4>
   1142e:	31 d2                	xor    %edx,%edx
   11430:	83 c4 0c             	add    $0xc,%esp
   11433:	eb dd                	jmp    11412 <_HalAllocateAdapterChannel@16+0x92>
   11435:	8d 74 26 00          	lea    0x0(%esi),%esi
   11439:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011440 <_IoMapTransfer@24>:


PHYSICAL_ADDRESS  STDCALL
IoMapTransfer (
  IN PADAPTER_OBJECT	AdapterObject,
  IN PMDL		Mdl,
  IN PVOID		MapRegisterBase,
  IN PVOID		CurrentVa,
  IN OUT PULONG		Length,
  IN BOOLEAN		WriteToDevice)
/*
 * FUNCTION: map a dma for transfer and do the dma if it's a slave
 * ARGUMENTS:
 *     AdapterObject: adapter object to do the dma on. busmaster may pass NULL.
 *     Mdl: locked-down user buffer to DMA in to or out of
 *     MapRegisterBase: handle to map registers to use for this dma. allways NULL
 *      when doing s/g.
 *     CurrentVa: index into Mdl to transfer into/out of
 *     Length: length of transfer in/out. Only modified on out when doing s/g.
 *     WriteToDevice: TRUE if it's an output dma, FALSE otherwise
 * RETURNS: 
 *     If a busmaster: A logical address that can be used to program a dma controller
 *     Otherwise: nothing meaningful
 * NOTES:
 *     - This function does a copyover to contiguous memory <16MB
 *     - If it's a slave transfer, this function actually performs it.
 * BUGS:
 *     - If the controller supports scatter/gather, the copyover should not happen
 */
{
   11440:	55                   	push   %ebp
   11441:	89 e5                	mov    %esp,%ebp
   11443:	57                   	push   %edi
   11444:	56                   	push   %esi
   11445:	53                   	push   %ebx
   11446:	83 ec 2c             	sub    $0x2c,%esp
  PHYSICAL_ADDRESS Address;
  KIRQL OldIrql;
  ULONG LengthShift = 0;
   11449:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   11450:	8a 45 1c             	mov    0x1c(%ebp),%al

  Address.QuadPart = 0;

  /* Isa System (slave) DMA? */
  if (MapRegisterBase && !AdapterObject->MasterDevice)
   11453:	8b 75 10             	mov    0x10(%ebp),%esi
   11456:	8b 7d 08             	mov    0x8(%ebp),%edi
   11459:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1145c:	88 45 ee             	mov    %al,0xffffffee(%ebp)
   1145f:	85 f6                	test   %esi,%esi
   11461:	74 0a                	je     1146d <_IoMapTransfer@24+0x2d>
   11463:	80 7f 56 00          	cmpb   $0x0,0x56(%edi)
   11467:	0f 84 25 01 00 00    	je     11592 <_IoMapTransfer@24+0x152>
  {
    KeAcquireSpinLock(&AdapterObject->SpinLock, &OldIrql);

    /*
     * FIXME: Handle case when doing common-buffer System DMA. In this case,
     * the buffer described by MDL is already phys. contiguous and below
     * 16 mega. Driver makes a one-shot call to IoMapTransfer during init.
     * to program controller with the common-buffer.
     *
     * UPDATE: Common buffer support is in place, but it's not done in a
     * clean way. We use the buffer passed by the MDL in case that the
     * adapter object is marked as auto initialize. I'm not sure if this
     * is correct and if not, how to do it properly. Note that it's also
     * possible to allocate the common buffer with different adapter object
     * and IoMapTransfer must still work in this case. Eventually this should
     * be cleaned up somehow or at least this comment modified to reflect
     * the reality.
     * -- Filip Navara, 19/07/2004     
     */

    /* if it is a write to the device, copy the caller buffer to the low buffer */
    if (WriteToDevice && !AdapterObject->AdapterMode.AutoInitialize)
    {
      memcpy(MapRegisterBase,
             (char*)MmGetSystemAddressForMdl(Mdl) + ((ULONG)CurrentVa - (ULONG)MmGetMdlVirtualAddress(Mdl)),
	           *Length );
    }

    /* Writer Adapter Mode, transfer type */
    AdapterObject->AdapterMode.TransferType = (WriteToDevice ? WRITE_TRANSFER : READ_TRANSFER);

    /* program up the dma controller, and return */
    if (!AdapterObject->AdapterMode.AutoInitialize) {
      Address = MmGetPhysicalAddress( MapRegisterBase );
    } else {
      Address = MmGetPhysicalAddress( CurrentVa );
    }
    
    /* 16-bit DMA has a shifted length */
    if (AdapterObject->Width16Bits) {
      LengthShift = 1;
    }
     
    /* Make the Transfer */
    if (AdapterObject->AdapterNumber == 1) {
    
    	PDMA1_CONTROL DmaControl1 = AdapterObject->AdapterBaseVa; /* For Writing Less Code */
    	
	/* Mask the Channel */
	WRITE_PORT_UCHAR(&DmaControl1->SingleMask, AdapterObject->ChannelNumber | DMA_SETMASK);

	/* Reset Register */
	WRITE_PORT_UCHAR(&DmaControl1->ClearBytePointer, 0);
	
	/* Set the Mode */
	WRITE_PORT_UCHAR(&DmaControl1->Mode, AdapterObject->AdapterModeByte);
	
	/* Set the Page Register */
	WRITE_PORT_UCHAR(AdapterObject->PagePort, (UCHAR)(Address.u.LowPart >> 16));

	/* Set the Offset Register (apparently always 0 for us if I trust the previous comment) */
	WRITE_PORT_UCHAR(&DmaControl1->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseAddress, 0);
	WRITE_PORT_UCHAR(&DmaControl1->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseAddress, 0);
	
	/* Set the Length */
 	WRITE_PORT_UCHAR(&DmaControl1->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseCount,
			(UCHAR)((*Length >> LengthShift) - 1));
	WRITE_PORT_UCHAR(&DmaControl1->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseCount,
			(UCHAR)(((*Length >> LengthShift) - 1) >> 8));
			
	/* Unmask the Channel */
	WRITE_PORT_UCHAR(&DmaControl1->SingleMask, AdapterObject->ChannelNumber | DMA_CLEARMASK);
    } else {
        PDMA2_CONTROL DmaControl2 = AdapterObject->AdapterBaseVa; /* For Writing Less Code */
    	
	/* Mask the Channel */
	WRITE_PORT_UCHAR(&DmaControl2->SingleMask, AdapterObject->ChannelNumber | DMA_SETMASK);

	/* Reset Register */
	WRITE_PORT_UCHAR(&DmaControl2->ClearBytePointer, 0);
	
	/* Set the Mode */
	WRITE_PORT_UCHAR(&DmaControl2->Mode, AdapterObject->AdapterModeByte);
	
	/* Set the Page Register */
	WRITE_PORT_UCHAR(AdapterObject->PagePort, (UCHAR)(Address.u.LowPart >> 16));

	/* Set the Offset Register (apparently always 0 for us if I trust the previous comment) */
	WRITE_PORT_UCHAR(&DmaControl2->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseAddress, 0);
	WRITE_PORT_UCHAR(&DmaControl2->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseAddress, 0);
	
	/* Set the Length */
 	WRITE_PORT_UCHAR(&DmaControl2->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseCount,
			(UCHAR)((*Length >> LengthShift) - 1));
	WRITE_PORT_UCHAR(&DmaControl2->DmaAddressCount[AdapterObject->ChannelNumber].DmaBaseCount,
			(UCHAR)(((*Length >> LengthShift) - 1) >> 8));
			
	/* Unmask the Channel */
	WRITE_PORT_UCHAR(&DmaControl2->SingleMask, AdapterObject->ChannelNumber | DMA_CLEARMASK);
    }
	
    /* Release Spinlock */
    KeReleaseSpinLock(&AdapterObject->SpinLock, OldIrql);

    /* 
    NOTE: Return value should be ignored when doing System DMA.
    Maybe return some more obvious invalid address here (thou returning 
    MapRegisterBase is also wrong;-)to catch invalid use?
    */
    Address.QuadPart = (ULONG)MapRegisterBase;
    return Address;
  }
  

  /* 
  Busmaster with s/g support?   
  NOTE: old docs allowed busmasters to pass a NULL Adapter. In this case, MapRegisterBase 
  being NULL is used to detect a s/g busmaster.
  */
  if ((!AdapterObject && !MapRegisterBase) ||
   1146d:	8b 45 10             	mov    0x10(%ebp),%eax
   11470:	85 ff                	test   %edi,%edi
   11472:	0f 94 c2             	sete   %dl
   11475:	85 c0                	test   %eax,%eax
   11477:	0f 94 c0             	sete   %al
   1147a:	25 ff 00 00 00       	and    $0xff,%eax
   1147f:	85 c2                	test   %eax,%edx
   11481:	0f 84 7d 00 00 00    	je     11504 <_IoMapTransfer@24+0xc4>
      (AdapterObject && AdapterObject->MasterDevice && AdapterObject->ScatterGather))
  {
    /* 
    Just return the passed VA's corresponding phys. address. 
    Update length to the number of phys. contiguous bytes found.
    */
  
    PULONG MdlPages;
    ULONG MdlPageIndex, PhysContiguousLen;
    ULONG PhysAddress;
    
    MdlPages = (PULONG)(Mdl + 1);
    
    /* Get VA's corresponding mdl phys. page index */
    MdlPageIndex = ((ULONG)CurrentVa - (ULONG)Mdl->StartVa) / PAGE_SIZE;
   11487:	8b 73 10             	mov    0x10(%ebx),%esi
   1148a:	8b 55 14             	mov    0x14(%ebp),%edx
   1148d:	29 f2                	sub    %esi,%edx
   1148f:	8d 7b 1c             	lea    0x1c(%ebx),%edi
   11492:	c1 ea 0c             	shr    $0xc,%edx
   
    /* Get phys. page containing the VA */
    PhysAddress = MdlPages[MdlPageIndex];
    
    PhysContiguousLen = PAGE_SIZE - BYTE_OFFSET(CurrentVa);
    
    /* VA to map may span several contiguous phys. pages (unlikely) */
    while (PhysContiguousLen < *Length &&
           MdlPages[MdlPageIndex++] + PAGE_SIZE == MdlPages[MdlPageIndex])
    {
      /* 
      Note that allways adding PAGE_SIZE may make PhysContiguousLen greater
      than Length if buffer doesn't end on page boundary. Take this
      into consideration below. 
      */
      PhysContiguousLen += PAGE_SIZE; 
   11495:	8b 4d 18             	mov    0x18(%ebp),%ecx
   11498:	bb 00 10 00 00       	mov    $0x1000,%ebx
   1149d:	8b 04 97             	mov    (%edi,%edx,4),%eax
   114a0:	8b 31                	mov    (%ecx),%esi
   114a2:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   114a5:	8b 45 14             	mov    0x14(%ebp),%eax
   114a8:	25 ff 0f 00 00       	and    $0xfff,%eax
   114ad:	29 c3                	sub    %eax,%ebx
   114af:	39 de                	cmp    %ebx,%esi
   114b1:	76 31                	jbe    114e4 <_IoMapTransfer@24+0xa4>
   114b3:	42                   	inc    %edx
   114b4:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   114b7:	05 00 10 00 00       	add    $0x1000,%eax
   114bc:	8b 0c 97             	mov    (%edi,%edx,4),%ecx
   114bf:	39 c8                	cmp    %ecx,%eax
   114c1:	75 18                	jne    114db <_IoMapTransfer@24+0x9b>
   114c3:	81 c3 00 10 00 00    	add    $0x1000,%ebx
   114c9:	39 de                	cmp    %ebx,%esi
   114cb:	76 17                	jbe    114e4 <_IoMapTransfer@24+0xa4>
   114cd:	8d 81 00 10 00 00    	lea    0x1000(%ecx),%eax
   114d3:	42                   	inc    %edx
   114d4:	8b 0c 97             	mov    (%edi,%edx,4),%ecx
   114d7:	39 c8                	cmp    %ecx,%eax
   114d9:	74 e8                	je     114c3 <_IoMapTransfer@24+0x83>
    }
    
    if (PhysContiguousLen < *Length)
   114db:	39 de                	cmp    %ebx,%esi
   114dd:	76 05                	jbe    114e4 <_IoMapTransfer@24+0xa4>
    {
      *Length = PhysContiguousLen;
   114df:	8b 45 18             	mov    0x18(%ebp),%eax
   114e2:	89 18                	mov    %ebx,(%eax)
    }
    
    //add offset to phys. page address
    Address.QuadPart = PhysAddress + BYTE_OFFSET(CurrentVa);
   114e4:	8b 4d 14             	mov    0x14(%ebp),%ecx
   114e7:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   114ea:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
   114f0:	89 4d 14             	mov    %ecx,0x14(%ebp)
   114f3:	8b 45 14             	mov    0x14(%ebp),%eax
   114f6:	01 d0                	add    %edx,%eax
    return Address;
  }
  
  
  /* 
  Busmaster without s/g support? 
  NOTE: old docs allowed busmasters to pass a NULL Adapter. In this case, MapRegisterBase 
  not being NULL is used to detect a non s/g busmaster.
  */
  if ((!AdapterObject && MapRegisterBase) ||
      (AdapterObject && AdapterObject->MasterDevice && !AdapterObject->ScatterGather))
  {
    /*
    NOTE: Busmasters doing common-buffer DMA shouldn't call IoMapTransfer, but I don't
    know if it's illegal... Maybe figure out what to do in this case...
    */

    if( WriteToDevice )
    {
      memcpy(MapRegisterBase,
             (char*)MmGetSystemAddressForMdl(Mdl) + ((ULONG)CurrentVa - (ULONG)MmGetMdlVirtualAddress(Mdl)),
             *Length );
    }

    return MmGetPhysicalAddress(MapRegisterBase);
  }

  DPRINT("IoMapTransfer: Unsupported operation\n");
  KEBUGCHECK(0);
  return Address;
}
   114f8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   114fb:	31 d2                	xor    %edx,%edx
   114fd:	5b                   	pop    %ebx
   114fe:	5e                   	pop    %esi
   114ff:	5f                   	pop    %edi
   11500:	5d                   	pop    %ebp
   11501:	c2 18 00             	ret    $0x18
   11504:	85 ff                	test   %edi,%edi
   11506:	74 0a                	je     11512 <_IoMapTransfer@24+0xd2>
   11508:	80 7f 56 00          	cmpb   $0x0,0x56(%edi)
   1150c:	0f 85 ee 01 00 00    	jne    11700 <_IoMapTransfer@24+0x2c0>
   11512:	8b 45 10             	mov    0x10(%ebp),%eax
   11515:	85 ff                	test   %edi,%edi
   11517:	0f 94 c2             	sete   %dl
   1151a:	85 c0                	test   %eax,%eax
   1151c:	0f 95 c0             	setne  %al
   1151f:	25 ff 00 00 00       	and    $0xff,%eax
   11524:	85 c2                	test   %eax,%edx
   11526:	75 1c                	jne    11544 <_IoMapTransfer@24+0x104>
   11528:	85 ff                	test   %edi,%edi
   1152a:	0f 84 a0 02 00 00    	je     117d0 <_IoMapTransfer@24+0x390>
   11530:	80 7f 56 00          	cmpb   $0x0,0x56(%edi)
   11534:	0f 84 96 02 00 00    	je     117d0 <_IoMapTransfer@24+0x390>
   1153a:	80 7f 58 00          	cmpb   $0x0,0x58(%edi)
   1153e:	0f 85 8c 02 00 00    	jne    117d0 <_IoMapTransfer@24+0x390>
   11544:	80 7d ee 00          	cmpb   $0x0,0xffffffee(%ebp)
   11548:	74 32                	je     1157c <_IoMapTransfer@24+0x13c>
   1154a:	8b 43 10             	mov    0x10(%ebx),%eax
   1154d:	8b 75 14             	mov    0x14(%ebp),%esi
   11550:	29 c6                	sub    %eax,%esi
   11552:	8b 43 18             	mov    0x18(%ebx),%eax
   11555:	29 c6                	sub    %eax,%esi
   11557:	66 8b 43 06          	mov    0x6(%ebx),%ax
   1155b:	a8 05                	test   $0x5,%al
   1155d:	0f 84 a6 02 00 00    	je     11809 <_IoMapTransfer@24+0x3c9>
   11563:	8b 43 0c             	mov    0xc(%ebx),%eax
   11566:	52                   	push   %edx
   11567:	8b 55 18             	mov    0x18(%ebp),%edx
   1156a:	01 f0                	add    %esi,%eax
   1156c:	8b 3a                	mov    (%edx),%edi
   1156e:	57                   	push   %edi
   1156f:	50                   	push   %eax
   11570:	8b 75 10             	mov    0x10(%ebp),%esi
   11573:	56                   	push   %esi
   11574:	e8 c7 4b 00 00       	call   16140 <_memcpy>
   11579:	83 c4 10             	add    $0x10,%esp
   1157c:	83 ec 0c             	sub    $0xc,%esp
   1157f:	8b 5d 10             	mov    0x10(%ebp),%ebx
   11582:	53                   	push   %ebx
   11583:	e8 98 4b 00 00       	call   16120 <_MmGetPhysicalAddress@4>
   11588:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1158b:	5b                   	pop    %ebx
   1158c:	5e                   	pop    %esi
   1158d:	5f                   	pop    %edi
   1158e:	5d                   	pop    %ebp
   1158f:	c2 18 00             	ret    $0x18
   11592:	8d 57 44             	lea    0x44(%edi),%edx
   11595:	8d 45 ef             	lea    0xffffffef(%ebp),%eax
   11598:	51                   	push   %ecx
   11599:	51                   	push   %ecx
   1159a:	50                   	push   %eax
   1159b:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
   1159e:	52                   	push   %edx
   1159f:	e8 2c 3d 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   115a4:	80 7d ee 00          	cmpb   $0x0,0xffffffee(%ebp)
   115a8:	58                   	pop    %eax
   115a9:	5a                   	pop    %edx
   115aa:	0f 84 60 01 00 00    	je     11710 <_IoMapTransfer@24+0x2d0>
   115b0:	8a 47 54             	mov    0x54(%edi),%al
   115b3:	a8 10                	test   $0x10,%al
   115b5:	75 35                	jne    115ec <_IoMapTransfer@24+0x1ac>
   115b7:	8b 43 10             	mov    0x10(%ebx),%eax
   115ba:	8b 75 14             	mov    0x14(%ebp),%esi
   115bd:	29 c6                	sub    %eax,%esi
   115bf:	8b 43 18             	mov    0x18(%ebx),%eax
   115c2:	29 c6                	sub    %eax,%esi
   115c4:	66 8b 43 06          	mov    0x6(%ebx),%ax
   115c8:	a8 05                	test   $0x5,%al
   115ca:	0f 84 28 02 00 00    	je     117f8 <_IoMapTransfer@24+0x3b8>
   115d0:	8b 43 0c             	mov    0xc(%ebx),%eax
   115d3:	52                   	push   %edx
   115d4:	8b 4d 18             	mov    0x18(%ebp),%ecx
   115d7:	01 f0                	add    %esi,%eax
   115d9:	8b 31                	mov    (%ecx),%esi
   115db:	56                   	push   %esi
   115dc:	50                   	push   %eax
   115dd:	8b 5d 10             	mov    0x10(%ebp),%ebx
   115e0:	53                   	push   %ebx
   115e1:	e8 5a 4b 00 00       	call   16140 <_memcpy>
   115e6:	83 c4 10             	add    $0x10,%esp
   115e9:	8a 47 54             	mov    0x54(%edi),%al
   115ec:	b2 02                	mov    $0x2,%dl
   115ee:	80 7d ee 00          	cmpb   $0x0,0xffffffee(%ebp)
   115f2:	75 02                	jne    115f6 <_IoMapTransfer@24+0x1b6>
   115f4:	b2 01                	mov    $0x1,%dl
   115f6:	c1 e2 02             	shl    $0x2,%edx
   115f9:	83 e0 f3             	and    $0xfffffff3,%eax
   115fc:	09 d0                	or     %edx,%eax
   115fe:	88 47 54             	mov    %al,0x54(%edi)
   11601:	a8 10                	test   $0x10,%al
   11603:	0f 85 0f 01 00 00    	jne    11718 <_IoMapTransfer@24+0x2d8>
   11609:	83 ec 0c             	sub    $0xc,%esp
   1160c:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1160f:	51                   	push   %ecx
   11610:	e8 0b 4b 00 00       	call   16120 <_MmGetPhysicalAddress@4>
   11615:	83 c4 0c             	add    $0xc,%esp
   11618:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1161b:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
   1161e:	80 7f 57 00          	cmpb   $0x0,0x57(%edi)
   11622:	74 07                	je     1162b <_IoMapTransfer@24+0x1eb>
   11624:	c7 45 dc 01 00 00 00 	movl   $0x1,0xffffffdc(%ebp)
   1162b:	80 7f 51 01          	cmpb   $0x1,0x51(%edi)
   1162f:	0f 84 ef 00 00 00    	je     11724 <_IoMapTransfer@24+0x2e4>
   11635:	8b 5f 10             	mov    0x10(%edi),%ebx
   11638:	50                   	push   %eax
   11639:	50                   	push   %eax
   1163a:	8a 47 50             	mov    0x50(%edi),%al
   1163d:	8d 73 14             	lea    0x14(%ebx),%esi
   11640:	83 c8 04             	or     $0x4,%eax
   11643:	25 ff 00 00 00       	and    $0xff,%eax
   11648:	50                   	push   %eax
   11649:	56                   	push   %esi
   1164a:	e8 21 3b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1164f:	8d 43 18             	lea    0x18(%ebx),%eax
   11652:	6a 00                	push   $0x0
   11654:	50                   	push   %eax
   11655:	e8 16 3b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1165a:	31 c0                	xor    %eax,%eax
   1165c:	8a 47 54             	mov    0x54(%edi),%al
   1165f:	50                   	push   %eax
   11660:	8d 43 16             	lea    0x16(%ebx),%eax
   11663:	50                   	push   %eax
   11664:	e8 07 3b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11669:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   1166c:	c1 e8 10             	shr    $0x10,%eax
   1166f:	25 ff 00 00 00       	and    $0xff,%eax
   11674:	50                   	push   %eax
   11675:	8b 47 4c             	mov    0x4c(%edi),%eax
   11678:	50                   	push   %eax
   11679:	e8 f2 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1167e:	31 c0                	xor    %eax,%eax
   11680:	6a 00                	push   $0x0
   11682:	8a 47 50             	mov    0x50(%edi),%al
   11685:	8d 04 83             	lea    (%ebx,%eax,4),%eax
   11688:	50                   	push   %eax
   11689:	e8 e2 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1168e:	31 c0                	xor    %eax,%eax
   11690:	6a 00                	push   $0x0
   11692:	8a 47 50             	mov    0x50(%edi),%al
   11695:	8d 04 83             	lea    (%ebx,%eax,4),%eax
   11698:	50                   	push   %eax
   11699:	e8 d2 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1169e:	8b 55 18             	mov    0x18(%ebp),%edx
   116a1:	8a 4d dc             	mov    0xffffffdc(%ebp),%cl
   116a4:	8b 02                	mov    (%edx),%eax
   116a6:	d3 e8                	shr    %cl,%eax
   116a8:	48                   	dec    %eax
   116a9:	25 ff 00 00 00       	and    $0xff,%eax
   116ae:	50                   	push   %eax
   116af:	31 c0                	xor    %eax,%eax
   116b1:	8a 47 50             	mov    0x50(%edi),%al
   116b4:	8d 44 83 02          	lea    0x2(%ebx,%eax,4),%eax
   116b8:	50                   	push   %eax
   116b9:	e8 b2 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   116be:	8b 55 18             	mov    0x18(%ebp),%edx
   116c1:	8a 4d dc             	mov    0xffffffdc(%ebp),%cl
   116c4:	8b 02                	mov    (%edx),%eax
   116c6:	d3 e8                	shr    %cl,%eax
   116c8:	48                   	dec    %eax
   116c9:	0f b6 c4             	movzbl %ah,%eax
   116cc:	50                   	push   %eax
   116cd:	31 c0                	xor    %eax,%eax
   116cf:	8a 47 50             	mov    0x50(%edi),%al
   116d2:	8d 44 83 02          	lea    0x2(%ebx,%eax,4),%eax
   116d6:	50                   	push   %eax
   116d7:	e8 94 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   116dc:	31 c0                	xor    %eax,%eax
   116de:	8a 47 50             	mov    0x50(%edi),%al
   116e1:	50                   	push   %eax
   116e2:	56                   	push   %esi
   116e3:	e8 88 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   116e8:	31 c0                	xor    %eax,%eax
   116ea:	8a 45 ef             	mov    0xffffffef(%ebp),%al
   116ed:	50                   	push   %eax
   116ee:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   116f1:	50                   	push   %eax
   116f2:	e8 49 3c 00 00       	call   15340 <_KeReleaseSpinLock@8>
   116f7:	8b 45 10             	mov    0x10(%ebp),%eax
   116fa:	e9 f9 fd ff ff       	jmp    114f8 <_IoMapTransfer@24+0xb8>
   116ff:	90                   	nop    
   11700:	80 7f 58 00          	cmpb   $0x0,0x58(%edi)
   11704:	0f 84 08 fe ff ff    	je     11512 <_IoMapTransfer@24+0xd2>
   1170a:	e9 78 fd ff ff       	jmp    11487 <_IoMapTransfer@24+0x47>
   1170f:	90                   	nop    
   11710:	8a 47 54             	mov    0x54(%edi),%al
   11713:	e9 dc fe ff ff       	jmp    115f4 <_IoMapTransfer@24+0x1b4>
   11718:	83 ec 0c             	sub    $0xc,%esp
   1171b:	8b 55 14             	mov    0x14(%ebp),%edx
   1171e:	52                   	push   %edx
   1171f:	e9 ec fe ff ff       	jmp    11610 <_IoMapTransfer@24+0x1d0>
   11724:	8b 5f 10             	mov    0x10(%edi),%ebx
   11727:	50                   	push   %eax
   11728:	50                   	push   %eax
   11729:	8a 47 50             	mov    0x50(%edi),%al
   1172c:	8d 73 0a             	lea    0xa(%ebx),%esi
   1172f:	83 c8 04             	or     $0x4,%eax
   11732:	25 ff 00 00 00       	and    $0xff,%eax
   11737:	50                   	push   %eax
   11738:	56                   	push   %esi
   11739:	e8 32 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1173e:	8d 43 0c             	lea    0xc(%ebx),%eax
   11741:	6a 00                	push   $0x0
   11743:	50                   	push   %eax
   11744:	e8 27 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11749:	31 c0                	xor    %eax,%eax
   1174b:	8a 47 54             	mov    0x54(%edi),%al
   1174e:	50                   	push   %eax
   1174f:	8d 43 0b             	lea    0xb(%ebx),%eax
   11752:	50                   	push   %eax
   11753:	e8 18 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11758:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   1175b:	c1 e8 10             	shr    $0x10,%eax
   1175e:	25 ff 00 00 00       	and    $0xff,%eax
   11763:	50                   	push   %eax
   11764:	8b 47 4c             	mov    0x4c(%edi),%eax
   11767:	50                   	push   %eax
   11768:	e8 03 3a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1176d:	31 c0                	xor    %eax,%eax
   1176f:	6a 00                	push   $0x0
   11771:	8a 47 50             	mov    0x50(%edi),%al
   11774:	8d 04 43             	lea    (%ebx,%eax,2),%eax
   11777:	50                   	push   %eax
   11778:	e8 f3 39 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1177d:	31 c0                	xor    %eax,%eax
   1177f:	6a 00                	push   $0x0
   11781:	8a 47 50             	mov    0x50(%edi),%al
   11784:	8d 04 43             	lea    (%ebx,%eax,2),%eax
   11787:	50                   	push   %eax
   11788:	e8 e3 39 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1178d:	8b 55 18             	mov    0x18(%ebp),%edx
   11790:	8a 4d dc             	mov    0xffffffdc(%ebp),%cl
   11793:	8b 02                	mov    (%edx),%eax
   11795:	d3 e8                	shr    %cl,%eax
   11797:	48                   	dec    %eax
   11798:	25 ff 00 00 00       	and    $0xff,%eax
   1179d:	50                   	push   %eax
   1179e:	31 c0                	xor    %eax,%eax
   117a0:	8a 47 50             	mov    0x50(%edi),%al
   117a3:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
   117a7:	50                   	push   %eax
   117a8:	e8 c3 39 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   117ad:	8b 55 18             	mov    0x18(%ebp),%edx
   117b0:	8a 4d dc             	mov    0xffffffdc(%ebp),%cl
   117b3:	8b 02                	mov    (%edx),%eax
   117b5:	d3 e8                	shr    %cl,%eax
   117b7:	48                   	dec    %eax
   117b8:	0f b6 c4             	movzbl %ah,%eax
   117bb:	50                   	push   %eax
   117bc:	31 c0                	xor    %eax,%eax
   117be:	8a 47 50             	mov    0x50(%edi),%al
   117c1:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
   117c5:	e9 0c ff ff ff       	jmp    116d6 <_IoMapTransfer@24+0x296>
   117ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   117d0:	51                   	push   %ecx
   117d1:	68 a4 02 00 00       	push   $0x2a4
   117d6:	68 00 80 01 00       	push   $0x18000
   117db:	68 15 80 01 00       	push   $0x18015
   117e0:	e8 6b 49 00 00       	call   16150 <_DbgPrint>
   117e5:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   117ec:	e8 3f 49 00 00       	call   16130 <_KeBugCheck@4>
   117f1:	31 c0                	xor    %eax,%eax
   117f3:	e9 00 fd ff ff       	jmp    114f8 <_IoMapTransfer@24+0xb8>
   117f8:	50                   	push   %eax
   117f9:	50                   	push   %eax
   117fa:	6a 00                	push   $0x0
   117fc:	53                   	push   %ebx
   117fd:	e8 ce 48 00 00       	call   160d0 <_MmMapLockedPages@8>
   11802:	59                   	pop    %ecx
   11803:	5b                   	pop    %ebx
   11804:	e9 ca fd ff ff       	jmp    115d3 <_IoMapTransfer@24+0x193>
   11809:	57                   	push   %edi
   1180a:	57                   	push   %edi
   1180b:	6a 00                	push   $0x0
   1180d:	53                   	push   %ebx
   1180e:	e8 bd 48 00 00       	call   160d0 <_MmMapLockedPages@8>
   11813:	59                   	pop    %ecx
   11814:	5b                   	pop    %ebx
   11815:	e9 4c fd ff ff       	jmp    11566 <_IoMapTransfer@24+0x126>
   1181a:	90                   	nop    
   1181b:	90                   	nop    
   1181c:	90                   	nop    
   1181d:	90                   	nop    
   1181e:	90                   	nop    
   1181f:	90                   	nop    

00011820 <_HalMakeBeep@4>:
   11820:	55                   	push   %ebp
   11821:	89 e5                	mov    %esp,%ebp
   11823:	56                   	push   %esi
   11824:	53                   	push   %ebx
   11825:	8b 5d 08             	mov    0x8(%ebp),%ebx
   11828:	9c                   	pushf  
   11829:	5e                   	pop    %esi
   1182a:	fa                   	cli    
   1182b:	83 ec 0c             	sub    $0xc,%esp
   1182e:	6a 61                	push   $0x61
   11830:	e8 8b 38 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   11835:	25 fc 00 00 00       	and    $0xfc,%eax
   1183a:	89 04 24             	mov    %eax,(%esp)
   1183d:	6a 61                	push   $0x61
   1183f:	e8 2c 39 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11844:	85 db                	test   %ebx,%ebx
   11846:	58                   	pop    %eax
   11847:	5a                   	pop    %edx
   11848:	74 67                	je     118b1 <_HalMakeBeep@4+0x91>
   1184a:	31 d2                	xor    %edx,%edx
   1184c:	b8 cf 34 12 00       	mov    $0x1234cf,%eax
   11851:	f7 f3                	div    %ebx
   11853:	89 c3                	mov    %eax,%ebx
   11855:	3d 00 00 01 00       	cmp    $0x10000,%eax
   1185a:	76 14                	jbe    11870 <_HalMakeBeep@4+0x50>
   1185c:	56                   	push   %esi
   1185d:	9d                   	popf   
   1185e:	31 c0                	xor    %eax,%eax
   11860:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11863:	5b                   	pop    %ebx
   11864:	5e                   	pop    %esi
   11865:	5d                   	pop    %ebp
   11866:	c2 04 00             	ret    $0x4
   11869:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   11870:	50                   	push   %eax
   11871:	50                   	push   %eax
   11872:	68 b6 00 00 00       	push   $0xb6
   11877:	6a 43                	push   $0x43
   11879:	e8 f2 38 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1187e:	31 c0                	xor    %eax,%eax
   11880:	88 d8                	mov    %bl,%al
   11882:	50                   	push   %eax
   11883:	6a 42                	push   $0x42
   11885:	e8 e6 38 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1188a:	0f b6 c7             	movzbl %bh,%eax
   1188d:	50                   	push   %eax
   1188e:	6a 42                	push   $0x42
   11890:	e8 db 38 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11895:	51                   	push   %ecx
   11896:	6a 61                	push   $0x61
   11898:	e8 23 38 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1189d:	83 c8 03             	or     $0x3,%eax
   118a0:	25 ff 00 00 00       	and    $0xff,%eax
   118a5:	89 04 24             	mov    %eax,(%esp)
   118a8:	6a 61                	push   $0x61
   118aa:	e8 c1 38 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   118af:	58                   	pop    %eax
   118b0:	5a                   	pop    %edx
   118b1:	56                   	push   %esi
   118b2:	9d                   	popf   
   118b3:	b8 01 00 00 00       	mov    $0x1,%eax
   118b8:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   118bb:	5b                   	pop    %ebx
   118bc:	5e                   	pop    %esi
   118bd:	5d                   	pop    %ebp
   118be:	c2 04 00             	ret    $0x4
   118c1:	90                   	nop    
   118c2:	90                   	nop    
   118c3:	90                   	nop    
   118c4:	90                   	nop    
   118c5:	90                   	nop    
   118c6:	90                   	nop    
   118c7:	90                   	nop    
   118c8:	90                   	nop    
   118c9:	90                   	nop    
   118ca:	90                   	nop    
   118cb:	90                   	nop    
   118cc:	90                   	nop    
   118cd:	90                   	nop    
   118ce:	90                   	nop    
   118cf:	90                   	nop    

000118d0 <_HalpNoAdjustResourceList@12>:
   118d0:	55                   	push   %ebp
   118d1:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   118d6:	89 e5                	mov    %esp,%ebp
   118d8:	5d                   	pop    %ebp
   118d9:	c2 0c 00             	ret    $0xc
   118dc:	8d 74 26 00          	lea    0x0(%esi),%esi

000118e0 <_HalpNoAssignSlotResources@32>:
   118e0:	55                   	push   %ebp
   118e1:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
   118e6:	89 e5                	mov    %esp,%ebp
   118e8:	5d                   	pop    %ebp
   118e9:	c2 20 00             	ret    $0x20
   118ec:	8d 74 26 00          	lea    0x0(%esi),%esi

000118f0 <_HalpNoBusData@24>:
   118f0:	55                   	push   %ebp
   118f1:	31 c0                	xor    %eax,%eax
   118f3:	89 e5                	mov    %esp,%ebp
   118f5:	5d                   	pop    %ebp
   118f6:	c2 18 00             	ret    $0x18
   118f9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011900 <_HalpNoGetInterruptVector@24>:
   11900:	55                   	push   %ebp
   11901:	31 c0                	xor    %eax,%eax
   11903:	89 e5                	mov    %esp,%ebp
   11905:	5d                   	pop    %ebp
   11906:	c2 18 00             	ret    $0x18
   11909:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011910 <_HalpNoTranslateBusAddress@24>:
   11910:	55                   	push   %ebp
   11911:	31 c0                	xor    %eax,%eax
   11913:	89 e5                	mov    %esp,%ebp
   11915:	5d                   	pop    %ebp
   11916:	c2 18 00             	ret    $0x18
   11919:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011920 <_HalpAllocateBusHandler>:
   11920:	55                   	push   %ebp
   11921:	89 e5                	mov    %esp,%ebp
   11923:	53                   	push   %ebx
   11924:	50                   	push   %eax
   11925:	50                   	push   %eax
   11926:	68 42 55 53 48       	push   $0x48535542
   1192b:	6a 30                	push   $0x30
   1192d:	6a 00                	push   $0x0
   1192f:	e8 2c 48 00 00       	call   16160 <_ExAllocatePoolWithTag@12>
   11934:	89 c3                	mov    %eax,%ebx
   11936:	58                   	pop    %eax
   11937:	31 c0                	xor    %eax,%eax
   11939:	85 db                	test   %ebx,%ebx
   1193b:	74 60                	je     1199d <_HalpAllocateBusHandler+0x7d>
   1193d:	51                   	push   %ecx
   1193e:	51                   	push   %ecx
   1193f:	6a 30                	push   $0x30
   11941:	53                   	push   %ebx
   11942:	e8 09 47 00 00       	call   16050 <_RtlZeroMemory@8>
static __inline VOID
InsertTailList(
	IN PLIST_ENTRY  ListHead,
	IN PLIST_ENTRY  Entry)
{
   11947:	58                   	pop    %eax
	PLIST_ENTRY OldBlink;
	OldBlink = ListHead->Blink;
   11948:	a1 14 95 03 00       	mov    0x39514,%eax
   1194d:	5a                   	pop    %edx
	Entry->Flink = ListHead;
	Entry->Blink = OldBlink;
   1194e:	89 43 04             	mov    %eax,0x4(%ebx)
   11951:	c7 03 10 95 03 00    	movl   $0x39510,(%ebx)
	OldBlink->Flink = Entry;
   11957:	89 18                	mov    %ebx,(%eax)
   11959:	8b 45 08             	mov    0x8(%ebp),%eax
   1195c:	89 1d 14 95 03 00    	mov    %ebx,0x39514
   11962:	89 43 08             	mov    %eax,0x8(%ebx)
   11965:	8b 45 0c             	mov    0xc(%ebp),%eax
   11968:	89 43 0c             	mov    %eax,0xc(%ebx)
   1196b:	8b 45 10             	mov    0x10(%ebp),%eax
   1196e:	89 43 10             	mov    %eax,0x10(%ebx)
   11971:	c7 43 18 f0 18 01 00 	movl   $0x118f0,0x18(%ebx)
   11978:	c7 43 1c f0 18 01 00 	movl   $0x118f0,0x1c(%ebx)
   1197f:	c7 43 20 d0 18 01 00 	movl   $0x118d0,0x20(%ebx)
   11986:	c7 43 24 e0 18 01 00 	movl   $0x118e0,0x24(%ebx)
   1198d:	c7 43 28 00 19 01 00 	movl   $0x11900,0x28(%ebx)
   11994:	c7 43 2c 10 19 01 00 	movl   $0x11910,0x2c(%ebx)
   1199b:	89 d8                	mov    %ebx,%eax
   1199d:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   119a0:	c9                   	leave  
   119a1:	c3                   	ret    
   119a2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   119a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000119b0 <_HalpInitBusHandlers>:
   119b0:	55                   	push   %ebp
   119b1:	89 e5                	mov    %esp,%ebp
   119b3:	83 ec 14             	sub    $0x14,%esp
   119b6:	68 00 90 01 00       	push   $0x19000
   119bb:	e8 d0 46 00 00       	call   16090 <_KeInitializeSpinLock@4>
 */
static __inline VOID
InitializeListHead(
	IN PLIST_ENTRY  ListHead)
{
   119c0:	58                   	pop    %eax
   119c1:	a1 fc b0 03 00       	mov    0x3b0fc,%eax
 */
static __inline VOID
InitializeListHead(
	IN PLIST_ENTRY  ListHead)
{
   119c6:	5a                   	pop    %edx
	ListHead->Flink = ListHead->Blink = ListHead;
   119c7:	c7 05 14 95 03 00 10 	movl   $0x39510,0x39514
   119ce:	95 03 00 
   119d1:	c7 40 04 b0 53 01 00 	movl   $0x153b0,0x4(%eax)
static __inline VOID
InitializeListHead(
	IN PLIST_ENTRY  ListHead)
{
	ListHead->Flink = ListHead->Blink = ListHead;
   119d8:	c7 05 10 95 03 00 10 	movl   $0x39510,0x39510
   119df:	95 03 00 
   119e2:	6a 00                	push   $0x0
   119e4:	6a ff                	push   $0xffffffff
   119e6:	6a 00                	push   $0x0
   119e8:	e8 33 ff ff ff       	call   11920 <_HalpAllocateBusHandler>
   119ed:	83 c4 10             	add    $0x10,%esp
   119f0:	85 c0                	test   %eax,%eax
   119f2:	74 6c                	je     11a60 <_HalpInitBusHandlers+0xb0>
   119f4:	c7 40 28 60 53 01 00 	movl   $0x15360,0x28(%eax)
   119fb:	c7 40 2c 80 53 01 00 	movl   $0x15380,0x2c(%eax)
   11a02:	50                   	push   %eax
   11a03:	6a 00                	push   $0x0
   11a05:	6a 00                	push   $0x0
   11a07:	6a ff                	push   $0xffffffff
   11a09:	e8 12 ff ff ff       	call   11920 <_HalpAllocateBusHandler>
   11a0e:	83 c4 10             	add    $0x10,%esp
   11a11:	85 c0                	test   %eax,%eax
   11a13:	74 4b                	je     11a60 <_HalpInitBusHandlers+0xb0>
   11a15:	c7 40 18 d0 59 01 00 	movl   $0x159d0,0x18(%eax)
   11a1c:	c7 40 1c f0 5a 01 00 	movl   $0x15af0,0x1c(%eax)
   11a23:	50                   	push   %eax
   11a24:	6a 00                	push   $0x0
   11a26:	6a ff                	push   $0xffffffff
   11a28:	6a 01                	push   $0x1
   11a2a:	e8 f1 fe ff ff       	call   11920 <_HalpAllocateBusHandler>
   11a2f:	83 c4 10             	add    $0x10,%esp
   11a32:	85 c0                	test   %eax,%eax
   11a34:	74 2a                	je     11a60 <_HalpInitBusHandlers+0xb0>
   11a36:	c7 40 28 00 37 01 00 	movl   $0x13700,0x28(%eax)
   11a3d:	c7 40 2c 90 36 01 00 	movl   $0x13690,0x2c(%eax)
   11a44:	50                   	push   %eax
   11a45:	6a 00                	push   $0x0
   11a47:	6a 02                	push   $0x2
   11a49:	6a 03                	push   $0x3
   11a4b:	e8 d0 fe ff ff       	call   11920 <_HalpAllocateBusHandler>
   11a50:	83 c4 10             	add    $0x10,%esp
   11a53:	85 c0                	test   %eax,%eax
   11a55:	74 09                	je     11a60 <_HalpInitBusHandlers+0xb0>
   11a57:	c7 40 18 c0 3d 01 00 	movl   $0x13dc0,0x18(%eax)
   11a5e:	89 f6                	mov    %esi,%esi
   11a60:	c9                   	leave  
   11a61:	c3                   	ret    
   11a62:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   11a69:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011a70 <@HaliHandlerForBus@8>:
   11a70:	55                   	push   %ebp
   11a71:	89 e5                	mov    %esp,%ebp
   11a73:	57                   	push   %edi
   11a74:	56                   	push   %esi
   11a75:	53                   	push   %ebx
   11a76:	83 ec 14             	sub    $0x14,%esp
   11a79:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   11a7c:	89 d7                	mov    %edx,%edi
   11a7e:	89 ce                	mov    %ecx,%esi
   11a80:	50                   	push   %eax
   11a81:	68 00 90 01 00       	push   $0x19000
   11a86:	e8 45 38 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   11a8b:	8b 1d 10 95 03 00    	mov    0x39510,%ebx
   11a91:	58                   	pop    %eax
   11a92:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11a98:	5a                   	pop    %edx
   11a99:	74 14                	je     11aaf <@HaliHandlerForBus@8+0x3f>
   11a9b:	90                   	nop    
   11a9c:	8d 74 26 00          	lea    0x0(%esi),%esi
   11aa0:	39 73 08             	cmp    %esi,0x8(%ebx)
   11aa3:	74 2b                	je     11ad0 <@HaliHandlerForBus@8+0x60>
   11aa5:	8b 1b                	mov    (%ebx),%ebx
   11aa7:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11aad:	75 f1                	jne    11aa0 <@HaliHandlerForBus@8+0x30>
   11aaf:	31 c0                	xor    %eax,%eax
   11ab1:	51                   	push   %ecx
   11ab2:	51                   	push   %ecx
   11ab3:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11ab6:	50                   	push   %eax
   11ab7:	68 00 90 01 00       	push   $0x19000
   11abc:	e8 7f 38 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11ac1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11ac4:	31 c0                	xor    %eax,%eax
   11ac6:	5b                   	pop    %ebx
   11ac7:	5e                   	pop    %esi
   11ac8:	5f                   	pop    %edi
   11ac9:	5d                   	pop    %ebp
   11aca:	c3                   	ret    
   11acb:	90                   	nop    
   11acc:	8d 74 26 00          	lea    0x0(%esi),%esi
   11ad0:	39 7b 10             	cmp    %edi,0x10(%ebx)
   11ad3:	75 d0                	jne    11aa5 <@HaliHandlerForBus@8+0x35>
   11ad5:	31 c0                	xor    %eax,%eax
   11ad7:	56                   	push   %esi
   11ad8:	56                   	push   %esi
   11ad9:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11adc:	50                   	push   %eax
   11add:	68 00 90 01 00       	push   $0x19000
   11ae2:	e8 59 38 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11ae7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11aea:	89 d8                	mov    %ebx,%eax
   11aec:	5b                   	pop    %ebx
   11aed:	5e                   	pop    %esi
   11aee:	5f                   	pop    %edi
   11aef:	5d                   	pop    %ebp
   11af0:	c3                   	ret    
   11af1:	eb 0d                	jmp    11b00 <@HaliHandlerForConfigSpace@8>
   11af3:	90                   	nop    
   11af4:	90                   	nop    
   11af5:	90                   	nop    
   11af6:	90                   	nop    
   11af7:	90                   	nop    
   11af8:	90                   	nop    
   11af9:	90                   	nop    
   11afa:	90                   	nop    
   11afb:	90                   	nop    
   11afc:	90                   	nop    
   11afd:	90                   	nop    
   11afe:	90                   	nop    
   11aff:	90                   	nop    

00011b00 <@HaliHandlerForConfigSpace@8>:
   11b00:	55                   	push   %ebp
   11b01:	89 e5                	mov    %esp,%ebp
   11b03:	57                   	push   %edi
   11b04:	56                   	push   %esi
   11b05:	53                   	push   %ebx
   11b06:	83 ec 14             	sub    $0x14,%esp
   11b09:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   11b0c:	89 d7                	mov    %edx,%edi
   11b0e:	89 ce                	mov    %ecx,%esi
   11b10:	50                   	push   %eax
   11b11:	68 00 90 01 00       	push   $0x19000
   11b16:	e8 b5 37 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   11b1b:	8b 1d 10 95 03 00    	mov    0x39510,%ebx
   11b21:	58                   	pop    %eax
   11b22:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11b28:	5a                   	pop    %edx
   11b29:	74 14                	je     11b3f <@HaliHandlerForConfigSpace@8+0x3f>
   11b2b:	90                   	nop    
   11b2c:	8d 74 26 00          	lea    0x0(%esi),%esi
   11b30:	39 73 0c             	cmp    %esi,0xc(%ebx)
   11b33:	74 2b                	je     11b60 <@HaliHandlerForConfigSpace@8+0x60>
   11b35:	8b 1b                	mov    (%ebx),%ebx
   11b37:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11b3d:	75 f1                	jne    11b30 <@HaliHandlerForConfigSpace@8+0x30>
   11b3f:	31 c0                	xor    %eax,%eax
   11b41:	51                   	push   %ecx
   11b42:	51                   	push   %ecx
   11b43:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11b46:	50                   	push   %eax
   11b47:	68 00 90 01 00       	push   $0x19000
   11b4c:	e8 ef 37 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11b51:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11b54:	31 c0                	xor    %eax,%eax
   11b56:	5b                   	pop    %ebx
   11b57:	5e                   	pop    %esi
   11b58:	5f                   	pop    %edi
   11b59:	5d                   	pop    %ebp
   11b5a:	c3                   	ret    
   11b5b:	90                   	nop    
   11b5c:	8d 74 26 00          	lea    0x0(%esi),%esi
   11b60:	39 7b 10             	cmp    %edi,0x10(%ebx)
   11b63:	75 d0                	jne    11b35 <@HaliHandlerForConfigSpace@8+0x35>
   11b65:	31 c0                	xor    %eax,%eax
   11b67:	56                   	push   %esi
   11b68:	56                   	push   %esi
   11b69:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11b6c:	50                   	push   %eax
   11b6d:	68 00 90 01 00       	push   $0x19000
   11b72:	e8 c9 37 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11b77:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11b7a:	89 d8                	mov    %ebx,%eax
   11b7c:	5b                   	pop    %ebx
   11b7d:	5e                   	pop    %esi
   11b7e:	5f                   	pop    %edi
   11b7f:	5d                   	pop    %ebp
   11b80:	c3                   	ret    
   11b81:	eb 0d                	jmp    11b90 <@HaliReferenceHandlerForBus@8>
   11b83:	90                   	nop    
   11b84:	90                   	nop    
   11b85:	90                   	nop    
   11b86:	90                   	nop    
   11b87:	90                   	nop    
   11b88:	90                   	nop    
   11b89:	90                   	nop    
   11b8a:	90                   	nop    
   11b8b:	90                   	nop    
   11b8c:	90                   	nop    
   11b8d:	90                   	nop    
   11b8e:	90                   	nop    
   11b8f:	90                   	nop    

00011b90 <@HaliReferenceHandlerForBus@8>:
   11b90:	55                   	push   %ebp
   11b91:	89 e5                	mov    %esp,%ebp
   11b93:	57                   	push   %edi
   11b94:	56                   	push   %esi
   11b95:	53                   	push   %ebx
   11b96:	83 ec 14             	sub    $0x14,%esp
   11b99:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   11b9c:	89 d7                	mov    %edx,%edi
   11b9e:	89 ce                	mov    %ecx,%esi
   11ba0:	50                   	push   %eax
   11ba1:	68 00 90 01 00       	push   $0x19000
   11ba6:	e8 25 37 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   11bab:	8b 1d 10 95 03 00    	mov    0x39510,%ebx
   11bb1:	58                   	pop    %eax
   11bb2:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11bb8:	5a                   	pop    %edx
   11bb9:	74 14                	je     11bcf <@HaliReferenceHandlerForBus@8+0x3f>
   11bbb:	90                   	nop    
   11bbc:	8d 74 26 00          	lea    0x0(%esi),%esi
   11bc0:	39 73 08             	cmp    %esi,0x8(%ebx)
   11bc3:	74 2b                	je     11bf0 <@HaliReferenceHandlerForBus@8+0x60>
   11bc5:	8b 1b                	mov    (%ebx),%ebx
   11bc7:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11bcd:	75 f1                	jne    11bc0 <@HaliReferenceHandlerForBus@8+0x30>
   11bcf:	31 c0                	xor    %eax,%eax
   11bd1:	51                   	push   %ecx
   11bd2:	51                   	push   %ecx
   11bd3:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11bd6:	50                   	push   %eax
   11bd7:	68 00 90 01 00       	push   $0x19000
   11bdc:	e8 5f 37 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11be1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11be4:	31 c0                	xor    %eax,%eax
   11be6:	5b                   	pop    %ebx
   11be7:	5e                   	pop    %esi
   11be8:	5f                   	pop    %edi
   11be9:	5d                   	pop    %ebp
   11bea:	c3                   	ret    
   11beb:	90                   	nop    
   11bec:	8d 74 26 00          	lea    0x0(%esi),%esi
   11bf0:	39 7b 10             	cmp    %edi,0x10(%ebx)
   11bf3:	75 d0                	jne    11bc5 <@HaliReferenceHandlerForBus@8+0x35>
   11bf5:	8b 7b 14             	mov    0x14(%ebx),%edi
   11bf8:	47                   	inc    %edi
   11bf9:	31 c0                	xor    %eax,%eax
   11bfb:	89 7b 14             	mov    %edi,0x14(%ebx)
   11bfe:	56                   	push   %esi
   11bff:	56                   	push   %esi
   11c00:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11c03:	50                   	push   %eax
   11c04:	68 00 90 01 00       	push   $0x19000
   11c09:	e8 32 37 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11c0e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11c11:	89 d8                	mov    %ebx,%eax
   11c13:	5b                   	pop    %ebx
   11c14:	5e                   	pop    %esi
   11c15:	5f                   	pop    %edi
   11c16:	5d                   	pop    %ebp
   11c17:	c3                   	ret    
   11c18:	90                   	nop    
   11c19:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011c20 <@HaliReferenceHandlerForConfigSpace@8>:
   11c20:	55                   	push   %ebp
   11c21:	89 e5                	mov    %esp,%ebp
   11c23:	57                   	push   %edi
   11c24:	56                   	push   %esi
   11c25:	53                   	push   %ebx
   11c26:	83 ec 14             	sub    $0x14,%esp
   11c29:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   11c2c:	89 d7                	mov    %edx,%edi
   11c2e:	89 ce                	mov    %ecx,%esi
   11c30:	50                   	push   %eax
   11c31:	68 00 90 01 00       	push   $0x19000
   11c36:	e8 95 36 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   11c3b:	8b 1d 10 95 03 00    	mov    0x39510,%ebx
   11c41:	58                   	pop    %eax
   11c42:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11c48:	5a                   	pop    %edx
   11c49:	74 14                	je     11c5f <@HaliReferenceHandlerForConfigSpace@8+0x3f>
   11c4b:	90                   	nop    
   11c4c:	8d 74 26 00          	lea    0x0(%esi),%esi
   11c50:	39 73 0c             	cmp    %esi,0xc(%ebx)
   11c53:	74 2b                	je     11c80 <@HaliReferenceHandlerForConfigSpace@8+0x60>
   11c55:	8b 1b                	mov    (%ebx),%ebx
   11c57:	81 fb 10 95 03 00    	cmp    $0x39510,%ebx
   11c5d:	75 f1                	jne    11c50 <@HaliReferenceHandlerForConfigSpace@8+0x30>
   11c5f:	31 c0                	xor    %eax,%eax
   11c61:	51                   	push   %ecx
   11c62:	51                   	push   %ecx
   11c63:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11c66:	50                   	push   %eax
   11c67:	68 00 90 01 00       	push   $0x19000
   11c6c:	e8 cf 36 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11c71:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11c74:	31 c0                	xor    %eax,%eax
   11c76:	5b                   	pop    %ebx
   11c77:	5e                   	pop    %esi
   11c78:	5f                   	pop    %edi
   11c79:	5d                   	pop    %ebp
   11c7a:	c3                   	ret    
   11c7b:	90                   	nop    
   11c7c:	8d 74 26 00          	lea    0x0(%esi),%esi
   11c80:	39 7b 10             	cmp    %edi,0x10(%ebx)
   11c83:	75 d0                	jne    11c55 <@HaliReferenceHandlerForConfigSpace@8+0x35>
   11c85:	8b 7b 14             	mov    0x14(%ebx),%edi
   11c88:	47                   	inc    %edi
   11c89:	31 c0                	xor    %eax,%eax
   11c8b:	89 7b 14             	mov    %edi,0x14(%ebx)
   11c8e:	56                   	push   %esi
   11c8f:	56                   	push   %esi
   11c90:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   11c93:	50                   	push   %eax
   11c94:	68 00 90 01 00       	push   $0x19000
   11c99:	e8 a2 36 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11c9e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11ca1:	89 d8                	mov    %ebx,%eax
   11ca3:	5b                   	pop    %ebx
   11ca4:	5e                   	pop    %esi
   11ca5:	5f                   	pop    %edi
   11ca6:	5d                   	pop    %ebp
   11ca7:	c3                   	ret    
   11ca8:	90                   	nop    
   11ca9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00011cb0 <@HaliDereferenceBusHandler@4>:
   11cb0:	55                   	push   %ebp
   11cb1:	89 e5                	mov    %esp,%ebp
   11cb3:	53                   	push   %ebx
   11cb4:	83 ec 0c             	sub    $0xc,%esp
   11cb7:	89 cb                	mov    %ecx,%ebx
   11cb9:	8d 45 fb             	lea    0xfffffffb(%ebp),%eax
   11cbc:	50                   	push   %eax
   11cbd:	68 00 90 01 00       	push   $0x19000
   11cc2:	e8 09 36 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   11cc7:	8b 4b 14             	mov    0x14(%ebx),%ecx
   11cca:	49                   	dec    %ecx
   11ccb:	31 c0                	xor    %eax,%eax
   11ccd:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
   11cd0:	89 4b 14             	mov    %ecx,0x14(%ebx)
   11cd3:	50                   	push   %eax
   11cd4:	68 00 90 01 00       	push   $0x19000
   11cd9:	e8 62 36 00 00       	call   15340 <_KeReleaseSpinLock@8>
   11cde:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   11ce1:	c9                   	leave  
   11ce2:	c3                   	ret    
   11ce3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11ce9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011cf0 <_HalAdjustResourceList@4>:
   11cf0:	55                   	push   %ebp
   11cf1:	89 e5                	mov    %esp,%ebp
   11cf3:	56                   	push   %esi
   11cf4:	53                   	push   %ebx
   11cf5:	8b 5d 08             	mov    0x8(%ebp),%ebx
   11cf8:	8b 53 08             	mov    0x8(%ebx),%edx
   11cfb:	8b 4b 04             	mov    0x4(%ebx),%ecx
   11cfe:	e8 8d fe ff ff       	call   11b90 <@HaliReferenceHandlerForBus@8>
   11d03:	89 c6                	mov    %eax,%esi
   11d05:	31 c0                	xor    %eax,%eax
   11d07:	85 f6                	test   %esi,%esi
   11d09:	74 16                	je     11d21 <_HalAdjustResourceList@4+0x31>
   11d0b:	50                   	push   %eax
   11d0c:	53                   	push   %ebx
   11d0d:	8b 43 08             	mov    0x8(%ebx),%eax
   11d10:	50                   	push   %eax
   11d11:	56                   	push   %esi
   11d12:	ff 56 20             	call   *0x20(%esi)
   11d15:	89 f1                	mov    %esi,%ecx
   11d17:	89 c3                	mov    %eax,%ebx
   11d19:	58                   	pop    %eax
   11d1a:	e8 91 ff ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11d1f:	89 d8                	mov    %ebx,%eax
   11d21:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11d24:	5b                   	pop    %ebx
   11d25:	5e                   	pop    %esi
   11d26:	5d                   	pop    %ebp
   11d27:	c2 04 00             	ret    $0x4
   11d2a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00011d30 <_HalAssignSlotResources@32>:
   11d30:	55                   	push   %ebp
   11d31:	89 e5                	mov    %esp,%ebp
   11d33:	56                   	push   %esi
   11d34:	53                   	push   %ebx
   11d35:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
   11d38:	8b 4d 18             	mov    0x18(%ebp),%ecx
   11d3b:	89 da                	mov    %ebx,%edx
   11d3d:	e8 4e fe ff ff       	call   11b90 <@HaliReferenceHandlerForBus@8>
   11d42:	89 c6                	mov    %eax,%esi
   11d44:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
   11d49:	85 f6                	test   %esi,%esi
   11d4b:	74 28                	je     11d75 <_HalAssignSlotResources@32+0x45>
   11d4d:	8b 45 24             	mov    0x24(%ebp),%eax
   11d50:	8b 4d 20             	mov    0x20(%ebp),%ecx
   11d53:	50                   	push   %eax
   11d54:	8b 55 14             	mov    0x14(%ebp),%edx
   11d57:	8b 45 10             	mov    0x10(%ebp),%eax
   11d5a:	51                   	push   %ecx
   11d5b:	52                   	push   %edx
   11d5c:	50                   	push   %eax
   11d5d:	8b 45 0c             	mov    0xc(%ebp),%eax
   11d60:	50                   	push   %eax
   11d61:	8b 45 08             	mov    0x8(%ebp),%eax
   11d64:	50                   	push   %eax
   11d65:	53                   	push   %ebx
   11d66:	56                   	push   %esi
   11d67:	ff 56 24             	call   *0x24(%esi)
   11d6a:	89 f1                	mov    %esi,%ecx
   11d6c:	89 c3                	mov    %eax,%ebx
   11d6e:	e8 3d ff ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11d73:	89 d8                	mov    %ebx,%eax
   11d75:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11d78:	5b                   	pop    %ebx
   11d79:	5e                   	pop    %esi
   11d7a:	5d                   	pop    %ebp
   11d7b:	c2 20 00             	ret    $0x20
   11d7e:	89 f6                	mov    %esi,%esi

00011d80 <_HalGetBusDataByOffset@24>:
   11d80:	55                   	push   %ebp
   11d81:	89 e5                	mov    %esp,%ebp
   11d83:	56                   	push   %esi
   11d84:	53                   	push   %ebx
   11d85:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   11d88:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11d8b:	89 da                	mov    %ebx,%edx
   11d8d:	e8 8e fe ff ff       	call   11c20 <@HaliReferenceHandlerForConfigSpace@8>
   11d92:	89 c6                	mov    %eax,%esi
   11d94:	31 c0                	xor    %eax,%eax
   11d96:	85 f6                	test   %esi,%esi
   11d98:	74 24                	je     11dbe <_HalGetBusDataByOffset@24+0x3e>
   11d9a:	50                   	push   %eax
   11d9b:	50                   	push   %eax
   11d9c:	8b 45 1c             	mov    0x1c(%ebp),%eax
   11d9f:	50                   	push   %eax
   11da0:	8b 45 18             	mov    0x18(%ebp),%eax
   11da3:	50                   	push   %eax
   11da4:	8b 4d 10             	mov    0x10(%ebp),%ecx
   11da7:	8b 45 14             	mov    0x14(%ebp),%eax
   11daa:	50                   	push   %eax
   11dab:	51                   	push   %ecx
   11dac:	53                   	push   %ebx
   11dad:	56                   	push   %esi
   11dae:	ff 56 18             	call   *0x18(%esi)
   11db1:	89 f1                	mov    %esi,%ecx
   11db3:	89 c3                	mov    %eax,%ebx
   11db5:	58                   	pop    %eax
   11db6:	5a                   	pop    %edx
   11db7:	e8 f4 fe ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11dbc:	89 d8                	mov    %ebx,%eax
   11dbe:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11dc1:	5b                   	pop    %ebx
   11dc2:	5e                   	pop    %esi
   11dc3:	5d                   	pop    %ebp
   11dc4:	c2 18 00             	ret    $0x18
   11dc7:	89 f6                	mov    %esi,%esi
   11dc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011dd0 <_HalGetBusData@20>:
   11dd0:	55                   	push   %ebp
   11dd1:	89 e5                	mov    %esp,%ebp
   11dd3:	83 ec 10             	sub    $0x10,%esp
   11dd6:	8b 45 18             	mov    0x18(%ebp),%eax
   11dd9:	8b 4d 14             	mov    0x14(%ebp),%ecx
   11ddc:	50                   	push   %eax
   11ddd:	8b 55 10             	mov    0x10(%ebp),%edx
   11de0:	8b 45 0c             	mov    0xc(%ebp),%eax
   11de3:	6a 00                	push   $0x0
   11de5:	51                   	push   %ecx
   11de6:	52                   	push   %edx
   11de7:	50                   	push   %eax
   11de8:	8b 45 08             	mov    0x8(%ebp),%eax
   11deb:	50                   	push   %eax
   11dec:	e8 8f ff ff ff       	call   11d80 <_HalGetBusDataByOffset@24>
   11df1:	c9                   	leave  
   11df2:	c2 14 00             	ret    $0x14
   11df5:	8d 74 26 00          	lea    0x0(%esi),%esi
   11df9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011e00 <_HalGetInterruptVector@24>:
   11e00:	55                   	push   %ebp
   11e01:	89 e5                	mov    %esp,%ebp
   11e03:	56                   	push   %esi
   11e04:	53                   	push   %ebx
   11e05:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   11e08:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11e0b:	89 da                	mov    %ebx,%edx
   11e0d:	e8 7e fd ff ff       	call   11b90 <@HaliReferenceHandlerForBus@8>
   11e12:	89 c6                	mov    %eax,%esi
   11e14:	31 c0                	xor    %eax,%eax
   11e16:	85 f6                	test   %esi,%esi
   11e18:	74 24                	je     11e3e <_HalGetInterruptVector@24+0x3e>
   11e1a:	50                   	push   %eax
   11e1b:	50                   	push   %eax
   11e1c:	8b 45 1c             	mov    0x1c(%ebp),%eax
   11e1f:	50                   	push   %eax
   11e20:	8b 45 18             	mov    0x18(%ebp),%eax
   11e23:	50                   	push   %eax
   11e24:	8b 4d 10             	mov    0x10(%ebp),%ecx
   11e27:	8b 45 14             	mov    0x14(%ebp),%eax
   11e2a:	50                   	push   %eax
   11e2b:	51                   	push   %ecx
   11e2c:	53                   	push   %ebx
   11e2d:	56                   	push   %esi
   11e2e:	ff 56 28             	call   *0x28(%esi)
   11e31:	89 f1                	mov    %esi,%ecx
   11e33:	89 c3                	mov    %eax,%ebx
   11e35:	58                   	pop    %eax
   11e36:	5a                   	pop    %edx
   11e37:	e8 74 fe ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11e3c:	89 d8                	mov    %ebx,%eax
   11e3e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11e41:	5b                   	pop    %ebx
   11e42:	5e                   	pop    %esi
   11e43:	5d                   	pop    %ebp
   11e44:	c2 18 00             	ret    $0x18
   11e47:	89 f6                	mov    %esi,%esi
   11e49:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011e50 <_HalSetBusDataByOffset@24>:
   11e50:	55                   	push   %ebp
   11e51:	89 e5                	mov    %esp,%ebp
   11e53:	56                   	push   %esi
   11e54:	53                   	push   %ebx
   11e55:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   11e58:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11e5b:	89 da                	mov    %ebx,%edx
   11e5d:	e8 be fd ff ff       	call   11c20 <@HaliReferenceHandlerForConfigSpace@8>
   11e62:	89 c6                	mov    %eax,%esi
   11e64:	31 c0                	xor    %eax,%eax
   11e66:	85 f6                	test   %esi,%esi
   11e68:	74 24                	je     11e8e <_HalSetBusDataByOffset@24+0x3e>
   11e6a:	50                   	push   %eax
   11e6b:	50                   	push   %eax
   11e6c:	8b 45 1c             	mov    0x1c(%ebp),%eax
   11e6f:	50                   	push   %eax
   11e70:	8b 45 18             	mov    0x18(%ebp),%eax
   11e73:	50                   	push   %eax
   11e74:	8b 4d 10             	mov    0x10(%ebp),%ecx
   11e77:	8b 45 14             	mov    0x14(%ebp),%eax
   11e7a:	50                   	push   %eax
   11e7b:	51                   	push   %ecx
   11e7c:	53                   	push   %ebx
   11e7d:	56                   	push   %esi
   11e7e:	ff 56 1c             	call   *0x1c(%esi)
   11e81:	89 f1                	mov    %esi,%ecx
   11e83:	89 c3                	mov    %eax,%ebx
   11e85:	58                   	pop    %eax
   11e86:	5a                   	pop    %edx
   11e87:	e8 24 fe ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11e8c:	89 d8                	mov    %ebx,%eax
   11e8e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11e91:	5b                   	pop    %ebx
   11e92:	5e                   	pop    %esi
   11e93:	5d                   	pop    %ebp
   11e94:	c2 18 00             	ret    $0x18
   11e97:	89 f6                	mov    %esi,%esi
   11e99:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011ea0 <_HalSetBusData@20>:
   11ea0:	55                   	push   %ebp
   11ea1:	89 e5                	mov    %esp,%ebp
   11ea3:	83 ec 10             	sub    $0x10,%esp
   11ea6:	8b 45 18             	mov    0x18(%ebp),%eax
   11ea9:	8b 4d 14             	mov    0x14(%ebp),%ecx
   11eac:	50                   	push   %eax
   11ead:	8b 55 10             	mov    0x10(%ebp),%edx
   11eb0:	8b 45 0c             	mov    0xc(%ebp),%eax
   11eb3:	6a 00                	push   $0x0
   11eb5:	51                   	push   %ecx
   11eb6:	52                   	push   %edx
   11eb7:	50                   	push   %eax
   11eb8:	8b 45 08             	mov    0x8(%ebp),%eax
   11ebb:	50                   	push   %eax
   11ebc:	e8 8f ff ff ff       	call   11e50 <_HalSetBusDataByOffset@24>
   11ec1:	c9                   	leave  
   11ec2:	c2 14 00             	ret    $0x14
   11ec5:	8d 74 26 00          	lea    0x0(%esi),%esi
   11ec9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011ed0 <_HalTranslateBusAddress@24>:
   11ed0:	55                   	push   %ebp
   11ed1:	89 e5                	mov    %esp,%ebp
   11ed3:	56                   	push   %esi
   11ed4:	53                   	push   %ebx
   11ed5:	8b 75 0c             	mov    0xc(%ebp),%esi
   11ed8:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11edb:	89 f2                	mov    %esi,%edx
   11edd:	e8 ae fc ff ff       	call   11b90 <@HaliReferenceHandlerForBus@8>
   11ee2:	89 c3                	mov    %eax,%ebx
   11ee4:	31 c0                	xor    %eax,%eax
   11ee6:	85 db                	test   %ebx,%ebx
   11ee8:	74 29                	je     11f13 <_HalTranslateBusAddress@24+0x43>
   11eea:	50                   	push   %eax
   11eeb:	50                   	push   %eax
   11eec:	8b 45 1c             	mov    0x1c(%ebp),%eax
   11eef:	50                   	push   %eax
   11ef0:	8b 45 18             	mov    0x18(%ebp),%eax
   11ef3:	50                   	push   %eax
   11ef4:	8b 4d 10             	mov    0x10(%ebp),%ecx
   11ef7:	8b 45 14             	mov    0x14(%ebp),%eax
   11efa:	50                   	push   %eax
   11efb:	51                   	push   %ecx
   11efc:	56                   	push   %esi
   11efd:	53                   	push   %ebx
   11efe:	ff 53 2c             	call   *0x2c(%ebx)
   11f01:	89 d9                	mov    %ebx,%ecx
   11f03:	89 c6                	mov    %eax,%esi
   11f05:	58                   	pop    %eax
   11f06:	5a                   	pop    %edx
   11f07:	e8 a4 fd ff ff       	call   11cb0 <@HaliDereferenceBusHandler@4>
   11f0c:	89 f0                	mov    %esi,%eax
   11f0e:	25 ff 00 00 00       	and    $0xff,%eax
   11f13:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11f16:	5b                   	pop    %ebx
   11f17:	5e                   	pop    %esi
   11f18:	5d                   	pop    %ebp
   11f19:	c2 18 00             	ret    $0x18
   11f1c:	90                   	nop    
   11f1d:	90                   	nop    
   11f1e:	90                   	nop    
   11f1f:	90                   	nop    

00011f20 <@HalClearDisplay@4>:
   11f20:	a1 04 70 01 00       	mov    0x17004,%eax
   11f25:	8b 15 08 70 01 00    	mov    0x17008,%edx
   11f2b:	0f af d0             	imul   %eax,%edx
   11f2e:	55                   	push   %ebp
   11f2f:	83 fa 00             	cmp    $0x0,%edx
   11f32:	89 e5                	mov    %esp,%ebp
   11f34:	53                   	push   %ebx
   11f35:	88 cb                	mov    %cl,%bl
   11f37:	8b 0d 40 90 01 00    	mov    0x19040,%ecx
   11f3d:	76 11                	jbe    11f50 <@HalClearDisplay@4+0x30>
   11f3f:	89 d8                	mov    %ebx,%eax
   11f41:	c1 e0 08             	shl    $0x8,%eax
   11f44:	83 c0 20             	add    $0x20,%eax
   11f47:	66 89 01             	mov    %ax,(%ecx)
   11f4a:	83 c1 02             	add    $0x2,%ecx
   11f4d:	4a                   	dec    %edx
   11f4e:	75 f7                	jne    11f47 <@HalClearDisplay@4+0x27>
   11f50:	5b                   	pop    %ebx
   11f51:	c7 05 20 90 01 00 00 	movl   $0x0,0x19020
   11f58:	00 00 00 
   11f5b:	c7 05 10 90 01 00 00 	movl   $0x0,0x19010
   11f62:	00 00 00 
   11f65:	5d                   	pop    %ebp
   11f66:	c3                   	ret    
   11f67:	89 f6                	mov    %esi,%esi
   11f69:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011f70 <_HalDisablePalette>:
   11f70:	55                   	push   %ebp
   11f71:	89 e5                	mov    %esp,%ebp
   11f73:	83 ec 14             	sub    $0x14,%esp
   11f76:	68 da 03 00 00       	push   $0x3da
   11f7b:	e8 40 31 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   11f80:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
   11f87:	68 c0 03 00 00       	push   $0x3c0
   11f8c:	e8 df 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11f91:	c6 05 60 90 01 00 00 	movb   $0x0,0x19060
   11f98:	c9                   	leave  
   11f99:	c3                   	ret    
   11f9a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00011fa0 <_HalEnablePalette>:
   11fa0:	55                   	push   %ebp
   11fa1:	89 e5                	mov    %esp,%ebp
   11fa3:	83 ec 14             	sub    $0x14,%esp
   11fa6:	68 da 03 00 00       	push   $0x3da
   11fab:	e8 10 31 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   11fb0:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   11fb7:	68 c0 03 00 00       	push   $0x3c0
   11fbc:	e8 af 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11fc1:	c6 05 60 90 01 00 01 	movb   $0x1,0x19060
   11fc8:	c9                   	leave  
   11fc9:	c3                   	ret    
   11fca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00011fd0 <@HalReadGc@4>:
   11fd0:	55                   	push   %ebp
   11fd1:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   11fd7:	89 e5                	mov    %esp,%ebp
   11fd9:	83 ec 10             	sub    $0x10,%esp
   11fdc:	51                   	push   %ecx
   11fdd:	68 ce 03 00 00       	push   $0x3ce
   11fe2:	e8 89 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   11fe7:	50                   	push   %eax
   11fe8:	68 cf 03 00 00       	push   $0x3cf
   11fed:	e8 ce 30 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   11ff2:	c9                   	leave  
   11ff3:	25 ff 00 00 00       	and    $0xff,%eax
   11ff8:	c3                   	ret    
   11ff9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012000 <@HalWriteGc@8>:
   12000:	55                   	push   %ebp
   12001:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   12007:	89 e5                	mov    %esp,%ebp
   12009:	53                   	push   %ebx
   1200a:	83 ec 0c             	sub    $0xc,%esp
   1200d:	88 d3                	mov    %dl,%bl
   1200f:	51                   	push   %ecx
   12010:	68 ce 03 00 00       	push   $0x3ce
   12015:	e8 56 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1201a:	31 c0                	xor    %eax,%eax
   1201c:	88 d8                	mov    %bl,%al
   1201e:	50                   	push   %eax
   1201f:	68 cf 03 00 00       	push   $0x3cf
   12024:	e8 47 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12029:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1202c:	c9                   	leave  
   1202d:	c3                   	ret    
   1202e:	89 f6                	mov    %esi,%esi

00012030 <@HalReadSeq@4>:
   12030:	55                   	push   %ebp
   12031:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   12037:	89 e5                	mov    %esp,%ebp
   12039:	83 ec 10             	sub    $0x10,%esp
   1203c:	51                   	push   %ecx
   1203d:	68 c4 03 00 00       	push   $0x3c4
   12042:	e8 29 31 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12047:	52                   	push   %edx
   12048:	68 c5 03 00 00       	push   $0x3c5
   1204d:	e8 6e 30 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12052:	c9                   	leave  
   12053:	25 ff 00 00 00       	and    $0xff,%eax
   12058:	c3                   	ret    
   12059:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012060 <@HalWriteSeq@8>:
   12060:	55                   	push   %ebp
   12061:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   12067:	89 e5                	mov    %esp,%ebp
   12069:	53                   	push   %ebx
   1206a:	83 ec 0c             	sub    $0xc,%esp
   1206d:	88 d3                	mov    %dl,%bl
   1206f:	51                   	push   %ecx
   12070:	68 c4 03 00 00       	push   $0x3c4
   12075:	e8 f6 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1207a:	31 c0                	xor    %eax,%eax
   1207c:	88 d8                	mov    %bl,%al
   1207e:	50                   	push   %eax
   1207f:	68 c5 03 00 00       	push   $0x3c5
   12084:	e8 e7 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12089:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1208c:	c9                   	leave  
   1208d:	c3                   	ret    
   1208e:	89 f6                	mov    %esi,%esi

00012090 <@HalWriteAc@8>:
   12090:	55                   	push   %ebp
   12091:	89 e5                	mov    %esp,%ebp
   12093:	56                   	push   %esi
   12094:	80 3d 60 90 01 00 00 	cmpb   $0x0,0x19060
   1209b:	53                   	push   %ebx
   1209c:	89 d6                	mov    %edx,%esi
   1209e:	89 cb                	mov    %ecx,%ebx
   120a0:	74 3e                	je     120e0 <@HalWriteAc@8+0x50>
   120a2:	83 e3 df             	and    $0xffffffdf,%ebx
   120a5:	83 ec 0c             	sub    $0xc,%esp
   120a8:	68 da 03 00 00       	push   $0x3da
   120ad:	e8 0e 30 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   120b2:	31 c0                	xor    %eax,%eax
   120b4:	88 d8                	mov    %bl,%al
   120b6:	89 04 24             	mov    %eax,(%esp)
   120b9:	68 c0 03 00 00       	push   $0x3c0
   120be:	e8 ad 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   120c3:	89 f0                	mov    %esi,%eax
   120c5:	25 ff 00 00 00       	and    $0xff,%eax
   120ca:	50                   	push   %eax
   120cb:	68 c0 03 00 00       	push   $0x3c0
   120d0:	e8 9b 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   120d5:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   120d8:	5b                   	pop    %ebx
   120d9:	5e                   	pop    %esi
   120da:	5d                   	pop    %ebp
   120db:	c3                   	ret    
   120dc:	8d 74 26 00          	lea    0x0(%esi),%esi
   120e0:	83 cb 20             	or     $0x20,%ebx
   120e3:	eb c0                	jmp    120a5 <@HalWriteAc@8+0x15>
   120e5:	8d 74 26 00          	lea    0x0(%esi),%esi
   120e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000120f0 <@HalReadAc@4>:
   120f0:	55                   	push   %ebp
   120f1:	89 e5                	mov    %esp,%ebp
   120f3:	53                   	push   %ebx
   120f4:	53                   	push   %ebx
   120f5:	80 3d 60 90 01 00 00 	cmpb   $0x0,0x19060
   120fc:	89 cb                	mov    %ecx,%ebx
   120fe:	74 36                	je     12136 <@HalReadAc@4+0x46>
   12100:	83 e3 df             	and    $0xffffffdf,%ebx
   12103:	83 ec 0c             	sub    $0xc,%esp
   12106:	68 da 03 00 00       	push   $0x3da
   1210b:	e8 b0 2f 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12110:	31 c0                	xor    %eax,%eax
   12112:	88 d8                	mov    %bl,%al
   12114:	89 04 24             	mov    %eax,(%esp)
   12117:	68 c0 03 00 00       	push   $0x3c0
   1211c:	e8 4f 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12121:	51                   	push   %ecx
   12122:	68 c1 03 00 00       	push   $0x3c1
   12127:	e8 94 2f 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1212c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1212f:	25 ff 00 00 00       	and    $0xff,%eax
   12134:	c9                   	leave  
   12135:	c3                   	ret    
   12136:	83 cb 20             	or     $0x20,%ebx
   12139:	eb c8                	jmp    12103 <@HalReadAc@4+0x13>
   1213b:	90                   	nop    
   1213c:	8d 74 26 00          	lea    0x0(%esi),%esi

00012140 <@HalWriteCrtc@8>:
   12140:	55                   	push   %ebp
   12141:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   12147:	89 e5                	mov    %esp,%ebp
   12149:	53                   	push   %ebx
   1214a:	83 ec 0c             	sub    $0xc,%esp
   1214d:	88 d3                	mov    %dl,%bl
   1214f:	51                   	push   %ecx
   12150:	68 d4 03 00 00       	push   $0x3d4
   12155:	e8 16 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1215a:	31 c0                	xor    %eax,%eax
   1215c:	88 d8                	mov    %bl,%al
   1215e:	50                   	push   %eax
   1215f:	68 d5 03 00 00       	push   $0x3d5
   12164:	e8 07 30 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12169:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1216c:	c9                   	leave  
   1216d:	c3                   	ret    
   1216e:	89 f6                	mov    %esi,%esi

00012170 <@HalResetSeq@4>:
   12170:	55                   	push   %ebp
   12171:	ba 01 00 00 00       	mov    $0x1,%edx
   12176:	89 e5                	mov    %esp,%ebp
   12178:	84 c9                	test   %cl,%cl
   1217a:	74 08                	je     12184 <@HalResetSeq@4+0x14>
   1217c:	31 c9                	xor    %ecx,%ecx
   1217e:	5d                   	pop    %ebp
   1217f:	e9 dc fe ff ff       	jmp    12060 <@HalWriteSeq@8>
   12184:	ba 03 00 00 00       	mov    $0x3,%edx
   12189:	31 c9                	xor    %ecx,%ecx
   1218b:	5d                   	pop    %ebp
   1218c:	e9 cf fe ff ff       	jmp    12060 <@HalWriteSeq@8>
   12191:	eb 0d                	jmp    121a0 <@HalBlankScreen@4>
   12193:	90                   	nop    
   12194:	90                   	nop    
   12195:	90                   	nop    
   12196:	90                   	nop    
   12197:	90                   	nop    
   12198:	90                   	nop    
   12199:	90                   	nop    
   1219a:	90                   	nop    
   1219b:	90                   	nop    
   1219c:	90                   	nop    
   1219d:	90                   	nop    
   1219e:	90                   	nop    
   1219f:	90                   	nop    

000121a0 <@HalBlankScreen@4>:
   121a0:	55                   	push   %ebp
   121a1:	89 e5                	mov    %esp,%ebp
   121a3:	56                   	push   %esi
   121a4:	53                   	push   %ebx
   121a5:	89 cb                	mov    %ecx,%ebx
   121a7:	b9 01 00 00 00       	mov    $0x1,%ecx
   121ac:	e8 7f fe ff ff       	call   12030 <@HalReadSeq@4>
   121b1:	84 db                	test   %bl,%bl
   121b3:	89 c6                	mov    %eax,%esi
   121b5:	74 29                	je     121e0 <@HalBlankScreen@4+0x40>
   121b7:	83 e6 df             	and    $0xffffffdf,%esi
   121ba:	b9 01 00 00 00       	mov    $0x1,%ecx
   121bf:	e8 ac ff ff ff       	call   12170 <@HalResetSeq@4>
   121c4:	89 f2                	mov    %esi,%edx
   121c6:	b9 01 00 00 00       	mov    $0x1,%ecx
   121cb:	81 e2 ff 00 00 00    	and    $0xff,%edx
   121d1:	e8 8a fe ff ff       	call   12060 <@HalWriteSeq@8>
   121d6:	31 c9                	xor    %ecx,%ecx
   121d8:	5b                   	pop    %ebx
   121d9:	5e                   	pop    %esi
   121da:	5d                   	pop    %ebp
   121db:	eb 93                	jmp    12170 <@HalResetSeq@4>
   121dd:	8d 76 00             	lea    0x0(%esi),%esi
   121e0:	83 ce 20             	or     $0x20,%esi
   121e3:	b9 01 00 00 00       	mov    $0x1,%ecx
   121e8:	e8 83 ff ff ff       	call   12170 <@HalResetSeq@4>
   121ed:	89 f2                	mov    %esi,%edx
   121ef:	b9 01 00 00 00       	mov    $0x1,%ecx
   121f4:	81 e2 ff 00 00 00    	and    $0xff,%edx
   121fa:	e8 61 fe ff ff       	call   12060 <@HalWriteSeq@8>
   121ff:	31 c9                	xor    %ecx,%ecx
   12201:	5b                   	pop    %ebx
   12202:	5e                   	pop    %esi
   12203:	5d                   	pop    %ebp
   12204:	e9 67 ff ff ff       	jmp    12170 <@HalResetSeq@4>
   12209:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012210 <_HalDacDelay>:
   12210:	55                   	push   %ebp
   12211:	89 e5                	mov    %esp,%ebp
   12213:	83 ec 14             	sub    $0x14,%esp
   12216:	68 da 03 00 00       	push   $0x3da
   1221b:	e8 a0 2e 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12220:	68 da 03 00 00       	push   $0x3da
   12225:	e8 96 2e 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1222a:	c9                   	leave  
   1222b:	c3                   	ret    
   1222c:	8d 74 26 00          	lea    0x0(%esi),%esi

00012230 <@HalInitializeDisplay@4>:
   12230:	55                   	push   %ebp
   12231:	89 e5                	mov    %esp,%ebp
   12233:	57                   	push   %edi
   12234:	56                   	push   %esi
   12235:	53                   	push   %ebx
   12236:	83 ec 0c             	sub    $0xc,%esp
   12239:	80 3d 30 90 01 00 00 	cmpb   $0x0,0x19030
   12240:	74 08                	je     1224a <@HalInitializeDisplay@4+0x1a>
   12242:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12245:	5b                   	pop    %ebx
   12246:	5e                   	pop    %esi
   12247:	5f                   	pop    %edi
   12248:	5d                   	pop    %ebp
   12249:	c3                   	ret    
   1224a:	31 d2                	xor    %edx,%edx
   1224c:	b8 00 00 0a 00       	mov    $0xa0000,%eax
   12251:	6a 00                	push   $0x0
   12253:	68 00 00 02 00       	push   $0x20000
   12258:	52                   	push   %edx
   12259:	50                   	push   %eax
   1225a:	e8 11 3f 00 00       	call   16170 <_MmMapIoSpace@16>
   1225f:	a3 70 90 01 00       	mov    %eax,0x19070
   12264:	85 c0                	test   %eax,%eax
   12266:	74 da                	je     12242 <@HalInitializeDisplay@4+0x12>
   12268:	05 00 80 01 00       	add    $0x18000,%eax
   1226d:	c7 05 20 90 01 00 00 	movl   $0x0,0x19020
   12274:	00 00 00 
   12277:	a3 40 90 01 00       	mov    %eax,0x19040
   1227c:	c7 05 10 90 01 00 00 	movl   $0x0,0x19010
   12283:	00 00 00 
   12286:	50                   	push   %eax
   12287:	50                   	push   %eax
   12288:	6a 01                	push   $0x1
   1228a:	68 d4 03 00 00       	push   $0x3d4
   1228f:	e8 dc 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12294:	50                   	push   %eax
   12295:	68 d5 03 00 00       	push   $0x3d5
   1229a:	e8 21 2e 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1229f:	25 ff 00 00 00       	and    $0xff,%eax
   122a4:	40                   	inc    %eax
   122a5:	a3 08 70 01 00       	mov    %eax,0x17008
   122aa:	c7 04 24 12 00 00 00 	movl   $0x12,(%esp)
   122b1:	68 d4 03 00 00       	push   $0x3d4
   122b6:	e8 b5 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   122bb:	57                   	push   %edi
   122bc:	68 d5 03 00 00       	push   $0x3d5
   122c1:	e8 fa 2d 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   122c6:	25 ff 00 00 00       	and    $0xff,%eax
   122cb:	a3 04 70 01 00       	mov    %eax,0x17004
   122d0:	c7 04 24 07 00 00 00 	movl   $0x7,(%esp)
   122d7:	68 d4 03 00 00       	push   $0x3d4
   122dc:	e8 8f 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   122e1:	56                   	push   %esi
   122e2:	68 d5 03 00 00       	push   $0x3d5
   122e7:	e8 d4 2d 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   122ec:	8b 1d 04 70 01 00    	mov    0x17004,%ebx
   122f2:	25 ff 00 00 00       	and    $0xff,%eax
   122f7:	89 c2                	mov    %eax,%edx
   122f9:	83 e0 40             	and    $0x40,%eax
   122fc:	c1 e0 03             	shl    $0x3,%eax
   122ff:	83 e2 02             	and    $0x2,%edx
   12302:	c1 e2 07             	shl    $0x7,%edx
   12305:	09 c2                	or     %eax,%edx
   12307:	09 da                	or     %ebx,%edx
   12309:	42                   	inc    %edx
   1230a:	89 15 04 70 01 00    	mov    %edx,0x17004
   12310:	c7 04 24 09 00 00 00 	movl   $0x9,(%esp)
   12317:	68 d4 03 00 00       	push   $0x3d4
   1231c:	e8 4f 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12321:	51                   	push   %ecx
   12322:	68 d5 03 00 00       	push   $0x3d5
   12327:	e8 94 2d 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1232c:	8b 1d 04 70 01 00    	mov    0x17004,%ebx
   12332:	83 e0 1f             	and    $0x1f,%eax
   12335:	31 d2                	xor    %edx,%edx
   12337:	8d 48 01             	lea    0x1(%eax),%ecx
   1233a:	89 d8                	mov    %ebx,%eax
   1233c:	f7 f1                	div    %ecx
   1233e:	31 c9                	xor    %ecx,%ecx
   12340:	a3 04 70 01 00       	mov    %eax,0x17004
   12345:	e8 d6 fb ff ff       	call   11f20 <@HalClearDisplay@4>
   1234a:	c6 05 30 90 01 00 01 	movb   $0x1,0x19030
   12351:	c7 04 24 ff 00 00 00 	movl   $0xff,(%esp)
   12358:	68 c6 03 00 00       	push   $0x3c6
   1235d:	e8 0e 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12362:	31 db                	xor    %ebx,%ebx
   12364:	6a 00                	push   $0x0
   12366:	68 c7 03 00 00       	push   $0x3c7
   1236b:	e8 00 2e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12370:	58                   	pop    %eax
   12371:	5a                   	pop    %edx
   12372:	83 ec 0c             	sub    $0xc,%esp
   12375:	68 c9 03 00 00       	push   $0x3c9
   1237a:	e8 41 2d 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1237f:	83 c4 0c             	add    $0xc,%esp
   12382:	88 83 90 90 01 00    	mov    %al,0x19090(%ebx)
   12388:	43                   	inc    %ebx
   12389:	e8 82 fe ff ff       	call   12210 <_HalDacDelay>
   1238e:	81 fb ff 02 00 00    	cmp    $0x2ff,%ebx
   12394:	76 dc                	jbe    12372 <@HalInitializeDisplay@4+0x142>
   12396:	83 ec 0c             	sub    $0xc,%esp
   12399:	31 db                	xor    %ebx,%ebx
   1239b:	68 cc 03 00 00       	push   $0x3cc
   123a0:	e8 1b 2d 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   123a5:	83 c4 0c             	add    $0xc,%esp
   123a8:	a2 90 93 01 00       	mov    %al,0x19390
   123ad:	31 c0                	xor    %eax,%eax
   123af:	88 d8                	mov    %bl,%al
   123b1:	57                   	push   %edi
   123b2:	57                   	push   %edi
   123b3:	50                   	push   %eax
   123b4:	68 d4 03 00 00       	push   $0x3d4
   123b9:	e8 b2 2d 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   123be:	56                   	push   %esi
   123bf:	68 d5 03 00 00       	push   $0x3d5
   123c4:	e8 f7 2c 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   123c9:	83 c4 0c             	add    $0xc,%esp
   123cc:	88 83 a0 93 01 00    	mov    %al,0x193a0(%ebx)
   123d2:	43                   	inc    %ebx
   123d3:	83 fb 18             	cmp    $0x18,%ebx
   123d6:	76 d5                	jbe    123ad <@HalInitializeDisplay@4+0x17d>
   123d8:	e8 c3 fb ff ff       	call   11fa0 <_HalEnablePalette>
   123dd:	31 db                	xor    %ebx,%ebx
   123df:	89 d9                	mov    %ebx,%ecx
   123e1:	e8 0a fd ff ff       	call   120f0 <@HalReadAc@4>
   123e6:	88 83 c0 93 01 00    	mov    %al,0x193c0(%ebx)
   123ec:	43                   	inc    %ebx
   123ed:	83 fb 14             	cmp    $0x14,%ebx
   123f0:	76 ed                	jbe    123df <@HalInitializeDisplay@4+0x1af>
   123f2:	e8 79 fb ff ff       	call   11f70 <_HalDisablePalette>
   123f7:	31 db                	xor    %ebx,%ebx
   123f9:	89 d9                	mov    %ebx,%ecx
   123fb:	e8 d0 fb ff ff       	call   11fd0 <@HalReadGc@4>
   12400:	88 83 e0 93 01 00    	mov    %al,0x193e0(%ebx)
   12406:	43                   	inc    %ebx
   12407:	83 fb 08             	cmp    $0x8,%ebx
   1240a:	76 ed                	jbe    123f9 <@HalInitializeDisplay@4+0x1c9>
   1240c:	31 db                	xor    %ebx,%ebx
   1240e:	89 d9                	mov    %ebx,%ecx
   12410:	e8 1b fc ff ff       	call   12030 <@HalReadSeq@4>
   12415:	88 83 f0 93 01 00    	mov    %al,0x193f0(%ebx)
   1241b:	43                   	inc    %ebx
   1241c:	83 fb 04             	cmp    $0x4,%ebx
   1241f:	76 ed                	jbe    1240e <@HalInitializeDisplay@4+0x1de>
   12421:	b9 10 00 00 00       	mov    $0x10,%ecx
   12426:	e8 c5 fc ff ff       	call   120f0 <@HalReadAc@4>
   1242b:	89 c7                	mov    %eax,%edi
   1242d:	a8 01                	test   $0x1,%al
   1242f:	0f 85 0d fe ff ff    	jne    12242 <@HalInitializeDisplay@4+0x12>
   12435:	83 ec 0c             	sub    $0xc,%esp
   12438:	31 db                	xor    %ebx,%ebx
   1243a:	be 00 94 01 00       	mov    $0x19400,%esi
   1243f:	68 cc 03 00 00       	push   $0x3cc
   12444:	e8 77 2c 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12449:	b9 04 00 00 00       	mov    $0x4,%ecx
   1244e:	83 c4 0c             	add    $0xc,%esp
   12451:	88 45 ef             	mov    %al,0xffffffef(%ebp)
   12454:	e8 77 fb ff ff       	call   11fd0 <@HalReadGc@4>
   12459:	b9 05 00 00 00       	mov    $0x5,%ecx
   1245e:	88 45 ee             	mov    %al,0xffffffee(%ebp)
   12461:	e8 6a fb ff ff       	call   11fd0 <@HalReadGc@4>
   12466:	b9 06 00 00 00       	mov    $0x6,%ecx
   1246b:	88 45 ed             	mov    %al,0xffffffed(%ebp)
   1246e:	e8 5d fb ff ff       	call   11fd0 <@HalReadGc@4>
   12473:	b9 02 00 00 00       	mov    $0x2,%ecx
   12478:	88 45 ec             	mov    %al,0xffffffec(%ebp)
   1247b:	e8 b0 fb ff ff       	call   12030 <@HalReadSeq@4>
   12480:	b9 04 00 00 00       	mov    $0x4,%ecx
   12485:	88 45 eb             	mov    %al,0xffffffeb(%ebp)
   12488:	e8 a3 fb ff ff       	call   12030 <@HalReadSeq@4>
   1248d:	88 45 ea             	mov    %al,0xffffffea(%ebp)
   12490:	51                   	push   %ecx
   12491:	51                   	push   %ecx
   12492:	8a 45 ef             	mov    0xffffffef(%ebp),%al
   12495:	83 c8 01             	or     $0x1,%eax
   12498:	25 ff 00 00 00       	and    $0xff,%eax
   1249d:	50                   	push   %eax
   1249e:	68 c2 03 00 00       	push   $0x3c2
   124a3:	e8 c8 2c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   124a8:	31 c9                	xor    %ecx,%ecx
   124aa:	58                   	pop    %eax
   124ab:	5a                   	pop    %edx
   124ac:	e8 ef fc ff ff       	call   121a0 <@HalBlankScreen@4>
   124b1:	88 d9                	mov    %bl,%cl
   124b3:	ba 04 00 00 00       	mov    $0x4,%edx
   124b8:	d3 e2                	shl    %cl,%edx
   124ba:	81 e2 ff 00 00 00    	and    $0xff,%edx
   124c0:	b9 02 00 00 00       	mov    $0x2,%ecx
   124c5:	e8 96 fb ff ff       	call   12060 <@HalWriteSeq@8>
   124ca:	ba 06 00 00 00       	mov    $0x6,%edx
   124cf:	b9 04 00 00 00       	mov    $0x4,%ecx
   124d4:	e8 87 fb ff ff       	call   12060 <@HalWriteSeq@8>
   124d9:	8d 53 02             	lea    0x2(%ebx),%edx
   124dc:	81 e2 ff 00 00 00    	and    $0xff,%edx
   124e2:	b9 04 00 00 00       	mov    $0x4,%ecx
   124e7:	e8 14 fb ff ff       	call   12000 <@HalWriteGc@8>
   124ec:	31 d2                	xor    %edx,%edx
   124ee:	b9 05 00 00 00       	mov    $0x5,%ecx
   124f3:	43                   	inc    %ebx
   124f4:	e8 07 fb ff ff       	call   12000 <@HalWriteGc@8>
   124f9:	ba 05 00 00 00       	mov    $0x5,%edx
   124fe:	b9 06 00 00 00       	mov    $0x6,%ecx
   12503:	e8 f8 fa ff ff       	call   12000 <@HalWriteGc@8>
   12508:	50                   	push   %eax
   12509:	68 00 00 01 00       	push   $0x10000
   1250e:	a1 70 90 01 00       	mov    0x19070,%eax
   12513:	50                   	push   %eax
   12514:	56                   	push   %esi
   12515:	81 c6 00 00 01 00    	add    $0x10000,%esi
   1251b:	e8 20 3c 00 00       	call   16140 <_memcpy>
   12520:	83 c4 10             	add    $0x10,%esp
   12523:	83 fb 01             	cmp    $0x1,%ebx
   12526:	76 89                	jbe    124b1 <@HalInitializeDisplay@4+0x281>
   12528:	89 fa                	mov    %edi,%edx
   1252a:	b9 10 00 00 00       	mov    $0x10,%ecx
   1252f:	81 e2 ff 00 00 00    	and    $0xff,%edx
   12535:	e8 56 fb ff ff       	call   12090 <@HalWriteAc@8>
   1253a:	31 d2                	xor    %edx,%edx
   1253c:	8a 55 eb             	mov    0xffffffeb(%ebp),%dl
   1253f:	b9 02 00 00 00       	mov    $0x2,%ecx
   12544:	e8 17 fb ff ff       	call   12060 <@HalWriteSeq@8>
   12549:	31 d2                	xor    %edx,%edx
   1254b:	8a 55 ea             	mov    0xffffffea(%ebp),%dl
   1254e:	b9 04 00 00 00       	mov    $0x4,%ecx
   12553:	e8 08 fb ff ff       	call   12060 <@HalWriteSeq@8>
   12558:	31 d2                	xor    %edx,%edx
   1255a:	8a 55 ee             	mov    0xffffffee(%ebp),%dl
   1255d:	b9 04 00 00 00       	mov    $0x4,%ecx
   12562:	e8 99 fa ff ff       	call   12000 <@HalWriteGc@8>
   12567:	31 d2                	xor    %edx,%edx
   12569:	8a 55 ed             	mov    0xffffffed(%ebp),%dl
   1256c:	b9 05 00 00 00       	mov    $0x5,%ecx
   12571:	e8 8a fa ff ff       	call   12000 <@HalWriteGc@8>
   12576:	31 d2                	xor    %edx,%edx
   12578:	8a 55 ec             	mov    0xffffffec(%ebp),%dl
   1257b:	b9 06 00 00 00       	mov    $0x6,%ecx
   12580:	e8 7b fa ff ff       	call   12000 <@HalWriteGc@8>
   12585:	50                   	push   %eax
   12586:	50                   	push   %eax
   12587:	31 c0                	xor    %eax,%eax
   12589:	8a 45 ef             	mov    0xffffffef(%ebp),%al
   1258c:	50                   	push   %eax
   1258d:	68 c2 03 00 00       	push   $0x3c2
   12592:	e8 d9 2b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12597:	b9 01 00 00 00       	mov    $0x1,%ecx
   1259c:	5e                   	pop    %esi
   1259d:	5f                   	pop    %edi
   1259e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   125a1:	5b                   	pop    %ebx
   125a2:	5e                   	pop    %esi
   125a3:	5f                   	pop    %edi
   125a4:	5d                   	pop    %ebp
   125a5:	e9 f6 fb ff ff       	jmp    121a0 <@HalBlankScreen@4>
   125aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

000125b0 <_HalReleaseDisplayOwnership@0>:
   125b0:	55                   	push   %ebp
   125b1:	89 e5                	mov    %esp,%ebp
   125b3:	57                   	push   %edi
   125b4:	56                   	push   %esi
   125b5:	53                   	push   %ebx
   125b6:	83 ec 0c             	sub    $0xc,%esp
   125b9:	a1 50 90 01 00       	mov    0x19050,%eax
   125be:	85 c0                	test   %eax,%eax
   125c0:	74 39                	je     125fb <_HalReleaseDisplayOwnership@0+0x4b>
   125c2:	80 3d 00 70 01 00 01 	cmpb   $0x1,0x17000
   125c9:	74 30                	je     125fb <_HalReleaseDisplayOwnership@0+0x4b>
   125cb:	57                   	push   %edi
   125cc:	57                   	push   %edi
   125cd:	8b 35 04 70 01 00    	mov    0x17004,%esi
   125d3:	56                   	push   %esi
   125d4:	8b 1d 08 70 01 00    	mov    0x17008,%ebx
   125da:	53                   	push   %ebx
   125db:	ff d0                	call   *%eax
   125dd:	5a                   	pop    %edx
   125de:	84 c0                	test   %al,%al
   125e0:	59                   	pop    %ecx
   125e1:	74 20                	je     12603 <_HalReleaseDisplayOwnership@0+0x53>
   125e3:	c6 05 00 70 01 00 01 	movb   $0x1,0x17000
   125ea:	b9 17 00 00 00       	mov    $0x17,%ecx
   125ef:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   125f2:	5b                   	pop    %ebx
   125f3:	5e                   	pop    %esi
   125f4:	5f                   	pop    %edi
   125f5:	5d                   	pop    %ebp
   125f6:	e9 25 f9 ff ff       	jmp    11f20 <@HalClearDisplay@4>
   125fb:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   125fe:	5b                   	pop    %ebx
   125ff:	5e                   	pop    %esi
   12600:	5f                   	pop    %edi
   12601:	5d                   	pop    %ebp
   12602:	c3                   	ret    
   12603:	31 c0                	xor    %eax,%eax
   12605:	57                   	push   %edi
   12606:	57                   	push   %edi
   12607:	a0 90 93 01 00       	mov    0x19390,%al
   1260c:	50                   	push   %eax
   1260d:	68 c2 03 00 00       	push   $0x3c2
   12612:	e8 59 2b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12617:	5b                   	pop    %ebx
   12618:	bb 01 00 00 00       	mov    $0x1,%ebx
   1261d:	5e                   	pop    %esi
   1261e:	31 d2                	xor    %edx,%edx
   12620:	89 d9                	mov    %ebx,%ecx
   12622:	8a 93 f0 93 01 00    	mov    0x193f0(%ebx),%dl
   12628:	43                   	inc    %ebx
   12629:	e8 32 fa ff ff       	call   12060 <@HalWriteSeq@8>
   1262e:	83 fb 04             	cmp    $0x4,%ebx
   12631:	76 eb                	jbe    1261e <_HalReleaseDisplayOwnership@0+0x6e>
   12633:	31 d2                	xor    %edx,%edx
   12635:	b9 11 00 00 00       	mov    $0x11,%ecx
   1263a:	8a 15 b1 93 01 00    	mov    0x193b1,%dl
   12640:	31 db                	xor    %ebx,%ebx
   12642:	83 e2 7f             	and    $0x7f,%edx
   12645:	e8 f6 fa ff ff       	call   12140 <@HalWriteCrtc@8>
   1264a:	31 d2                	xor    %edx,%edx
   1264c:	89 d9                	mov    %ebx,%ecx
   1264e:	8a 93 a0 93 01 00    	mov    0x193a0(%ebx),%dl
   12654:	43                   	inc    %ebx
   12655:	e8 e6 fa ff ff       	call   12140 <@HalWriteCrtc@8>
   1265a:	83 fb 18             	cmp    $0x18,%ebx
   1265d:	76 eb                	jbe    1264a <_HalReleaseDisplayOwnership@0+0x9a>
   1265f:	31 db                	xor    %ebx,%ebx
   12661:	31 d2                	xor    %edx,%edx
   12663:	89 d9                	mov    %ebx,%ecx
   12665:	8a 93 e0 93 01 00    	mov    0x193e0(%ebx),%dl
   1266b:	43                   	inc    %ebx
   1266c:	e8 8f f9 ff ff       	call   12000 <@HalWriteGc@8>
   12671:	83 fb 08             	cmp    $0x8,%ebx
   12674:	76 eb                	jbe    12661 <_HalReleaseDisplayOwnership@0+0xb1>
   12676:	e8 25 f9 ff ff       	call   11fa0 <_HalEnablePalette>
   1267b:	31 db                	xor    %ebx,%ebx
   1267d:	31 d2                	xor    %edx,%edx
   1267f:	89 d9                	mov    %ebx,%ecx
   12681:	8a 93 c0 93 01 00    	mov    0x193c0(%ebx),%dl
   12687:	43                   	inc    %ebx
   12688:	e8 03 fa ff ff       	call   12090 <@HalWriteAc@8>
   1268d:	83 fb 14             	cmp    $0x14,%ebx
   12690:	76 eb                	jbe    1267d <_HalReleaseDisplayOwnership@0+0xcd>
   12692:	e8 d9 f8 ff ff       	call   11f70 <_HalDisablePalette>
   12697:	83 ec 0c             	sub    $0xc,%esp
   1269a:	68 cc 03 00 00       	push   $0x3cc
   1269f:	e8 1c 2a 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   126a4:	b9 10 00 00 00       	mov    $0x10,%ecx
   126a9:	83 c4 0c             	add    $0xc,%esp
   126ac:	89 c7                	mov    %eax,%edi
   126ae:	e8 3d fa ff ff       	call   120f0 <@HalReadAc@4>
   126b3:	b9 01 00 00 00       	mov    $0x1,%ecx
   126b8:	31 db                	xor    %ebx,%ebx
   126ba:	88 45 f3             	mov    %al,0xfffffff3(%ebp)
   126bd:	be 00 94 01 00       	mov    $0x19400,%esi
   126c2:	e8 09 f9 ff ff       	call   11fd0 <@HalReadGc@4>
   126c7:	b9 03 00 00 00       	mov    $0x3,%ecx
   126cc:	88 45 f2             	mov    %al,0xfffffff2(%ebp)
   126cf:	e8 fc f8 ff ff       	call   11fd0 <@HalReadGc@4>
   126d4:	b9 04 00 00 00       	mov    $0x4,%ecx
   126d9:	88 45 f1             	mov    %al,0xfffffff1(%ebp)
   126dc:	e8 ef f8 ff ff       	call   11fd0 <@HalReadGc@4>
   126e1:	b9 05 00 00 00       	mov    $0x5,%ecx
   126e6:	88 45 f0             	mov    %al,0xfffffff0(%ebp)
   126e9:	e8 e2 f8 ff ff       	call   11fd0 <@HalReadGc@4>
   126ee:	b9 06 00 00 00       	mov    $0x6,%ecx
   126f3:	88 45 ef             	mov    %al,0xffffffef(%ebp)
   126f6:	e8 d5 f8 ff ff       	call   11fd0 <@HalReadGc@4>
   126fb:	b9 08 00 00 00       	mov    $0x8,%ecx
   12700:	88 45 ee             	mov    %al,0xffffffee(%ebp)
   12703:	e8 c8 f8 ff ff       	call   11fd0 <@HalReadGc@4>
   12708:	b9 02 00 00 00       	mov    $0x2,%ecx
   1270d:	88 45 ed             	mov    %al,0xffffffed(%ebp)
   12710:	e8 1b f9 ff ff       	call   12030 <@HalReadSeq@4>
   12715:	b9 04 00 00 00       	mov    $0x4,%ecx
   1271a:	88 45 ec             	mov    %al,0xffffffec(%ebp)
   1271d:	e8 0e f9 ff ff       	call   12030 <@HalReadSeq@4>
   12722:	88 45 eb             	mov    %al,0xffffffeb(%ebp)
   12725:	89 f8                	mov    %edi,%eax
   12727:	83 c8 10             	or     $0x10,%eax
   1272a:	51                   	push   %ecx
   1272b:	25 ff 00 00 00       	and    $0xff,%eax
   12730:	51                   	push   %ecx
   12731:	50                   	push   %eax
   12732:	68 c2 03 00 00       	push   $0x3c2
   12737:	e8 34 2a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1273c:	31 c9                	xor    %ecx,%ecx
   1273e:	58                   	pop    %eax
   1273f:	5a                   	pop    %edx
   12740:	e8 5b fa ff ff       	call   121a0 <@HalBlankScreen@4>
   12745:	31 d2                	xor    %edx,%edx
   12747:	b9 03 00 00 00       	mov    $0x3,%ecx
   1274c:	e8 af f8 ff ff       	call   12000 <@HalWriteGc@8>
   12751:	ba ff 00 00 00       	mov    $0xff,%edx
   12756:	b9 08 00 00 00       	mov    $0x8,%ecx
   1275b:	e8 a0 f8 ff ff       	call   12000 <@HalWriteGc@8>
   12760:	31 d2                	xor    %edx,%edx
   12762:	b9 01 00 00 00       	mov    $0x1,%ecx
   12767:	e8 94 f8 ff ff       	call   12000 <@HalWriteGc@8>
   1276c:	88 d9                	mov    %bl,%cl
   1276e:	ba 04 00 00 00       	mov    $0x4,%edx
   12773:	d3 e2                	shl    %cl,%edx
   12775:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1277b:	b9 02 00 00 00       	mov    $0x2,%ecx
   12780:	e8 db f8 ff ff       	call   12060 <@HalWriteSeq@8>
   12785:	ba 06 00 00 00       	mov    $0x6,%edx
   1278a:	b9 04 00 00 00       	mov    $0x4,%ecx
   1278f:	e8 cc f8 ff ff       	call   12060 <@HalWriteSeq@8>
   12794:	8d 53 02             	lea    0x2(%ebx),%edx
   12797:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1279d:	b9 04 00 00 00       	mov    $0x4,%ecx
   127a2:	e8 59 f8 ff ff       	call   12000 <@HalWriteGc@8>
   127a7:	31 d2                	xor    %edx,%edx
   127a9:	b9 05 00 00 00       	mov    $0x5,%ecx
   127ae:	43                   	inc    %ebx
   127af:	e8 4c f8 ff ff       	call   12000 <@HalWriteGc@8>
   127b4:	ba 05 00 00 00       	mov    $0x5,%edx
   127b9:	b9 06 00 00 00       	mov    $0x6,%ecx
   127be:	e8 3d f8 ff ff       	call   12000 <@HalWriteGc@8>
   127c3:	50                   	push   %eax
   127c4:	68 00 00 01 00       	push   $0x10000
   127c9:	56                   	push   %esi
   127ca:	81 c6 00 00 01 00    	add    $0x10000,%esi
   127d0:	a1 70 90 01 00       	mov    0x19070,%eax
   127d5:	50                   	push   %eax
   127d6:	e8 65 39 00 00       	call   16140 <_memcpy>
   127db:	83 c4 10             	add    $0x10,%esp
   127de:	83 fb 01             	cmp    $0x1,%ebx
   127e1:	76 89                	jbe    1276c <_HalReleaseDisplayOwnership@0+0x1bc>
   127e3:	b9 01 00 00 00       	mov    $0x1,%ecx
   127e8:	e8 b3 f9 ff ff       	call   121a0 <@HalBlankScreen@4>
   127ed:	89 f8                	mov    %edi,%eax
   127ef:	25 ff 00 00 00       	and    $0xff,%eax
   127f4:	51                   	push   %ecx
   127f5:	51                   	push   %ecx
   127f6:	50                   	push   %eax
   127f7:	68 c2 03 00 00       	push   $0x3c2
   127fc:	e8 6f 29 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12801:	b9 10 00 00 00       	mov    $0x10,%ecx
   12806:	58                   	pop    %eax
   12807:	5a                   	pop    %edx
   12808:	31 d2                	xor    %edx,%edx
   1280a:	8a 55 f3             	mov    0xfffffff3(%ebp),%dl
   1280d:	e8 7e f8 ff ff       	call   12090 <@HalWriteAc@8>
   12812:	31 d2                	xor    %edx,%edx
   12814:	8a 55 f2             	mov    0xfffffff2(%ebp),%dl
   12817:	b9 01 00 00 00       	mov    $0x1,%ecx
   1281c:	e8 df f7 ff ff       	call   12000 <@HalWriteGc@8>
   12821:	31 d2                	xor    %edx,%edx
   12823:	8a 55 f1             	mov    0xfffffff1(%ebp),%dl
   12826:	b9 03 00 00 00       	mov    $0x3,%ecx
   1282b:	e8 d0 f7 ff ff       	call   12000 <@HalWriteGc@8>
   12830:	31 d2                	xor    %edx,%edx
   12832:	8a 55 f0             	mov    0xfffffff0(%ebp),%dl
   12835:	b9 04 00 00 00       	mov    $0x4,%ecx
   1283a:	e8 c1 f7 ff ff       	call   12000 <@HalWriteGc@8>
   1283f:	31 d2                	xor    %edx,%edx
   12841:	8a 55 ef             	mov    0xffffffef(%ebp),%dl
   12844:	b9 05 00 00 00       	mov    $0x5,%ecx
   12849:	e8 b2 f7 ff ff       	call   12000 <@HalWriteGc@8>
   1284e:	31 d2                	xor    %edx,%edx
   12850:	8a 55 ee             	mov    0xffffffee(%ebp),%dl
   12853:	b9 06 00 00 00       	mov    $0x6,%ecx
   12858:	e8 a3 f7 ff ff       	call   12000 <@HalWriteGc@8>
   1285d:	31 d2                	xor    %edx,%edx
   1285f:	8a 55 ed             	mov    0xffffffed(%ebp),%dl
   12862:	b9 08 00 00 00       	mov    $0x8,%ecx
   12867:	e8 94 f7 ff ff       	call   12000 <@HalWriteGc@8>
   1286c:	31 d2                	xor    %edx,%edx
   1286e:	8a 55 ec             	mov    0xffffffec(%ebp),%dl
   12871:	b9 02 00 00 00       	mov    $0x2,%ecx
   12876:	e8 e5 f7 ff ff       	call   12060 <@HalWriteSeq@8>
   1287b:	31 d2                	xor    %edx,%edx
   1287d:	8a 55 eb             	mov    0xffffffeb(%ebp),%dl
   12880:	b9 04 00 00 00       	mov    $0x4,%ecx
   12885:	e8 d6 f7 ff ff       	call   12060 <@HalWriteSeq@8>
   1288a:	57                   	push   %edi
   1288b:	57                   	push   %edi
   1288c:	68 ff 00 00 00       	push   $0xff
   12891:	68 c6 03 00 00       	push   $0x3c6
   12896:	e8 d5 28 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1289b:	6a 00                	push   $0x0
   1289d:	68 c8 03 00 00       	push   $0x3c8
   128a2:	e8 c9 28 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   128a7:	5b                   	pop    %ebx
   128a8:	31 db                	xor    %ebx,%ebx
   128aa:	5e                   	pop    %esi
   128ab:	90                   	nop    
   128ac:	8d 74 26 00          	lea    0x0(%esi),%esi
   128b0:	31 c0                	xor    %eax,%eax
   128b2:	51                   	push   %ecx
   128b3:	51                   	push   %ecx
   128b4:	8a 83 90 90 01 00    	mov    0x19090(%ebx),%al
   128ba:	43                   	inc    %ebx
   128bb:	50                   	push   %eax
   128bc:	68 c9 03 00 00       	push   $0x3c9
   128c1:	e8 aa 28 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   128c6:	58                   	pop    %eax
   128c7:	5a                   	pop    %edx
   128c8:	e8 43 f9 ff ff       	call   12210 <_HalDacDelay>
   128cd:	81 fb ff 02 00 00    	cmp    $0x2ff,%ebx
   128d3:	76 db                	jbe    128b0 <_HalReleaseDisplayOwnership@0+0x300>
   128d5:	e8 96 f6 ff ff       	call   11f70 <_HalDisablePalette>
   128da:	e9 04 fd ff ff       	jmp    125e3 <_HalReleaseDisplayOwnership@0+0x33>
   128df:	90                   	nop    

000128e0 <_HalAcquireDisplayOwnership@4>:
   128e0:	55                   	push   %ebp
   128e1:	c6 05 00 70 01 00 00 	movb   $0x0,0x17000
   128e8:	89 e5                	mov    %esp,%ebp
   128ea:	8b 45 08             	mov    0x8(%ebp),%eax
   128ed:	5d                   	pop    %ebp
   128ee:	a3 50 90 01 00       	mov    %eax,0x19050
   128f3:	c2 04 00             	ret    $0x4
   128f6:	8d 76 00             	lea    0x0(%esi),%esi
   128f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012900 <_HalDisplayString@4>:
   12900:	55                   	push   %ebp
   12901:	89 e5                	mov    %esp,%ebp
   12903:	57                   	push   %edi
   12904:	56                   	push   %esi
   12905:	53                   	push   %ebx
   12906:	83 ec 1c             	sub    $0x1c,%esp
   12909:	80 3d 00 70 01 00 00 	cmpb   $0x0,0x17000
   12910:	74 09                	je     1291b <_HalDisplayString@4+0x1b>
   12912:	80 3d 30 90 01 00 00 	cmpb   $0x0,0x19030
   12919:	75 0a                	jne    12925 <_HalDisplayString@4+0x25>
   1291b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1291e:	5b                   	pop    %ebx
   1291f:	5e                   	pop    %esi
   12920:	5f                   	pop    %edi
   12921:	5d                   	pop    %ebp
   12922:	c2 04 00             	ret    $0x4
   12925:	8b 45 08             	mov    0x8(%ebp),%eax
   12928:	b9 1f 00 00 00       	mov    $0x1f,%ecx
   1292d:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   12930:	e8 2b 0a 00 00       	call   13360 <@KfRaiseIrql@4>
   12935:	b9 80 90 01 00       	mov    $0x19080,%ecx
   1293a:	88 45 ef             	mov    %al,0xffffffef(%ebp)
   1293d:	e8 3e 38 00 00       	call   16180 <@KiAcquireSpinLock@4>
   12942:	9c                   	pushf  
   12943:	8f 45 e8             	popl   0xffffffe8(%ebp)
   12946:	fa                   	cli    
   12947:	52                   	push   %edx
   12948:	52                   	push   %edx
   12949:	6a 0e                	push   $0xe
   1294b:	68 d4 03 00 00       	push   $0x3d4
   12950:	e8 1b 28 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12955:	31 db                	xor    %ebx,%ebx
   12957:	50                   	push   %eax
   12958:	68 d5 03 00 00       	push   $0x3d5
   1295d:	e8 5e 27 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12962:	88 c3                	mov    %al,%bl
   12964:	c1 e3 08             	shl    $0x8,%ebx
   12967:	c7 04 24 0f 00 00 00 	movl   $0xf,(%esp)
   1296e:	68 d4 03 00 00       	push   $0x3d4
   12973:	e8 f8 27 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12978:	50                   	push   %eax
   12979:	68 d5 03 00 00       	push   $0x3d5
   1297e:	e8 3d 27 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12983:	31 d2                	xor    %edx,%edx
   12985:	25 ff 00 00 00       	and    $0xff,%eax
   1298a:	8b 3d 08 70 01 00    	mov    0x17008,%edi
   12990:	01 c3                	add    %eax,%ebx
   12992:	83 c4 0c             	add    $0xc,%esp
   12995:	89 d8                	mov    %ebx,%eax
   12997:	f7 f7                	div    %edi
   12999:	89 15 20 90 01 00    	mov    %edx,0x19020
   1299f:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
   129a2:	a3 10 90 01 00       	mov    %eax,0x19010
   129a7:	89 c6                	mov    %eax,%esi
   129a9:	8a 02                	mov    (%edx),%al
   129ab:	84 c0                	test   %al,%al
   129ad:	0f 84 d8 00 00 00    	je     12a8b <_HalDisplayString@4+0x18b>
   129b3:	8b 1d 04 70 01 00    	mov    0x17004,%ebx
   129b9:	89 5d e4             	mov    %ebx,0xffffffe4(%ebp)
   129bc:	eb 16                	jmp    129d4 <_HalDisplayString@4+0xd4>
   129be:	89 f6                	mov    %esi,%esi
   129c0:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   129c3:	40                   	inc    %eax
   129c4:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   129c7:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
   129ca:	8a 02                	mov    (%edx),%al
   129cc:	84 c0                	test   %al,%al
   129ce:	0f 84 b7 00 00 00    	je     12a8b <_HalDisplayString@4+0x18b>
   129d4:	3c 0a                	cmp    $0xa,%al
   129d6:	74 31                	je     12a09 <_HalDisplayString@4+0x109>
   129d8:	3c 08                	cmp    $0x8,%al
   129da:	0f 84 9a 00 00 00    	je     12a7a <_HalDisplayString@4+0x17a>
   129e0:	3c 0d                	cmp    $0xd,%al
   129e2:	74 36                	je     12a1a <_HalDisplayString@4+0x11a>
   129e4:	89 f1                	mov    %esi,%ecx
   129e6:	8b 1d 20 90 01 00    	mov    0x19020,%ebx
   129ec:	0f af cf             	imul   %edi,%ecx
   129ef:	66 98                	cbtw   
   129f1:	01 d9                	add    %ebx,%ecx
   129f3:	8b 15 40 90 01 00    	mov    0x19040,%edx
   129f9:	05 00 17 00 00       	add    $0x1700,%eax
   129fe:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
   12a02:	8d 43 01             	lea    0x1(%ebx),%eax
   12a05:	39 f8                	cmp    %edi,%eax
   12a07:	72 7b                	jb     12a84 <_HalDisplayString@4+0x184>
   12a09:	46                   	inc    %esi
   12a0a:	c7 05 20 90 01 00 00 	movl   $0x0,0x19020
   12a11:	00 00 00 
   12a14:	89 35 10 90 01 00    	mov    %esi,0x19010
   12a1a:	3b 75 e4             	cmp    0xffffffe4(%ebp),%esi
   12a1d:	72 a1                	jb     129c0 <_HalDisplayString@4+0xc0>
   12a1f:	8b 15 40 90 01 00    	mov    0x19040,%edx
   12a25:	50                   	push   %eax
   12a26:	8b 5d e4             	mov    0xffffffe4(%ebp),%ebx
   12a29:	8d 0c 7a             	lea    (%edx,%edi,2),%ecx
   12a2c:	8d 44 1b fe          	lea    0xfffffffe(%ebx,%ebx,1),%eax
   12a30:	0f af c7             	imul   %edi,%eax
   12a33:	50                   	push   %eax
   12a34:	51                   	push   %ecx
   12a35:	52                   	push   %edx
   12a36:	e8 55 37 00 00       	call   16190 <_RtlMoveMemory@12>
   12a3b:	58                   	pop    %eax
   12a3c:	a1 04 70 01 00       	mov    0x17004,%eax
   12a41:	8b 3d 08 70 01 00    	mov    0x17008,%edi
   12a47:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   12a4a:	8d 4c 00 fe          	lea    0xfffffffe(%eax,%eax,1),%ecx
   12a4e:	a1 40 90 01 00       	mov    0x19040,%eax
   12a53:	0f af cf             	imul   %edi,%ecx
   12a56:	01 c1                	add    %eax,%ecx
   12a58:	83 ff 00             	cmp    $0x0,%edi
   12a5b:	7e 0e                	jle    12a6b <_HalDisplayString@4+0x16b>
   12a5d:	89 f8                	mov    %edi,%eax
   12a5f:	90                   	nop    
   12a60:	66 c7 01 20 17       	movw   $0x1720,(%ecx)
   12a65:	83 c1 02             	add    $0x2,%ecx
   12a68:	48                   	dec    %eax
   12a69:	75 f5                	jne    12a60 <_HalDisplayString@4+0x160>
   12a6b:	8b 75 e4             	mov    0xffffffe4(%ebp),%esi
   12a6e:	4e                   	dec    %esi
   12a6f:	89 35 10 90 01 00    	mov    %esi,0x19010
   12a75:	e9 46 ff ff ff       	jmp    129c0 <_HalDisplayString@4+0xc0>
   12a7a:	a1 20 90 01 00       	mov    0x19020,%eax
   12a7f:	85 c0                	test   %eax,%eax
   12a81:	74 97                	je     12a1a <_HalDisplayString@4+0x11a>
   12a83:	48                   	dec    %eax
   12a84:	a3 20 90 01 00       	mov    %eax,0x19020
   12a89:	eb 8f                	jmp    12a1a <_HalDisplayString@4+0x11a>
   12a8b:	89 f3                	mov    %esi,%ebx
   12a8d:	0f af df             	imul   %edi,%ebx
   12a90:	8b 35 20 90 01 00    	mov    0x19020,%esi
   12a96:	51                   	push   %ecx
   12a97:	51                   	push   %ecx
   12a98:	6a 0f                	push   $0xf
   12a9a:	68 d4 03 00 00       	push   $0x3d4
   12a9f:	e8 cc 26 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12aa4:	01 f3                	add    %esi,%ebx
   12aa6:	31 c0                	xor    %eax,%eax
   12aa8:	88 d8                	mov    %bl,%al
   12aaa:	50                   	push   %eax
   12aab:	68 d5 03 00 00       	push   $0x3d5
   12ab0:	e8 bb 26 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12ab5:	6a 0e                	push   $0xe
   12ab7:	68 d4 03 00 00       	push   $0x3d4
   12abc:	e8 af 26 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12ac1:	0f b6 c7             	movzbl %bh,%eax
   12ac4:	50                   	push   %eax
   12ac5:	68 d5 03 00 00       	push   $0x3d5
   12aca:	e8 a1 26 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12acf:	ff 75 e8             	pushl  0xffffffe8(%ebp)
   12ad2:	9d                   	popf   
   12ad3:	b9 80 90 01 00       	mov    $0x19080,%ecx
   12ad8:	58                   	pop    %eax
   12ad9:	5a                   	pop    %edx
   12ada:	e8 c1 36 00 00       	call   161a0 <@KiReleaseSpinLock@4>
   12adf:	31 c9                	xor    %ecx,%ecx
   12ae1:	8a 4d ef             	mov    0xffffffef(%ebp),%cl
   12ae4:	e8 e7 07 00 00       	call   132d0 <@KfLowerIrql@4>
   12ae9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12aec:	5b                   	pop    %ebx
   12aed:	5e                   	pop    %esi
   12aee:	5f                   	pop    %edi
   12aef:	5d                   	pop    %ebp
   12af0:	c2 04 00             	ret    $0x4
   12af3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   12af9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012b00 <_HalQueryDisplayParameters@16>:
   12b00:	55                   	push   %ebp
   12b01:	89 e5                	mov    %esp,%ebp
   12b03:	56                   	push   %esi
   12b04:	53                   	push   %ebx
   12b05:	8b 55 08             	mov    0x8(%ebp),%edx
   12b08:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   12b0b:	8b 5d 10             	mov    0x10(%ebp),%ebx
   12b0e:	8b 75 14             	mov    0x14(%ebp),%esi
   12b11:	85 d2                	test   %edx,%edx
   12b13:	74 07                	je     12b1c <_HalQueryDisplayParameters@16+0x1c>
   12b15:	a1 08 70 01 00       	mov    0x17008,%eax
   12b1a:	89 02                	mov    %eax,(%edx)
   12b1c:	85 c9                	test   %ecx,%ecx
   12b1e:	74 07                	je     12b27 <_HalQueryDisplayParameters@16+0x27>
   12b20:	a1 04 70 01 00       	mov    0x17004,%eax
   12b25:	89 01                	mov    %eax,(%ecx)
   12b27:	85 db                	test   %ebx,%ebx
   12b29:	74 07                	je     12b32 <_HalQueryDisplayParameters@16+0x32>
   12b2b:	a1 20 90 01 00       	mov    0x19020,%eax
   12b30:	89 03                	mov    %eax,(%ebx)
   12b32:	85 f6                	test   %esi,%esi
   12b34:	74 07                	je     12b3d <_HalQueryDisplayParameters@16+0x3d>
   12b36:	a1 10 90 01 00       	mov    0x19010,%eax
   12b3b:	89 06                	mov    %eax,(%esi)
   12b3d:	5b                   	pop    %ebx
   12b3e:	5e                   	pop    %esi
   12b3f:	5d                   	pop    %ebp
   12b40:	c2 10 00             	ret    $0x10
   12b43:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   12b49:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012b50 <_HalSetDisplayParameters@8>:
   12b50:	55                   	push   %ebp
   12b51:	8b 15 08 70 01 00    	mov    0x17008,%edx
   12b57:	89 e5                	mov    %esp,%ebp
   12b59:	8b 45 08             	mov    0x8(%ebp),%eax
   12b5c:	39 d0                	cmp    %edx,%eax
   12b5e:	72 03                	jb     12b63 <_HalSetDisplayParameters@8+0x13>
   12b60:	8d 42 ff             	lea    0xffffffff(%edx),%eax
   12b63:	a3 20 90 01 00       	mov    %eax,0x19020
   12b68:	8b 15 04 70 01 00    	mov    0x17004,%edx
   12b6e:	8b 45 0c             	mov    0xc(%ebp),%eax
   12b71:	39 d0                	cmp    %edx,%eax
   12b73:	72 03                	jb     12b78 <_HalSetDisplayParameters@8+0x28>
   12b75:	8d 42 ff             	lea    0xffffffff(%edx),%eax
   12b78:	a3 10 90 01 00       	mov    %eax,0x19010
   12b7d:	5d                   	pop    %ebp
   12b7e:	c2 08 00             	ret    $0x8
   12b81:	eb 0d                	jmp    12b90 <_HalQueryDisplayOwnership@0>
   12b83:	90                   	nop    
   12b84:	90                   	nop    
   12b85:	90                   	nop    
   12b86:	90                   	nop    
   12b87:	90                   	nop    
   12b88:	90                   	nop    
   12b89:	90                   	nop    
   12b8a:	90                   	nop    
   12b8b:	90                   	nop    
   12b8c:	90                   	nop    
   12b8d:	90                   	nop    
   12b8e:	90                   	nop    
   12b8f:	90                   	nop    

00012b90 <_HalQueryDisplayOwnership@0>:
   12b90:	80 3d 00 70 01 00 00 	cmpb   $0x0,0x17000
   12b97:	0f 94 c0             	sete   %al
   12b9a:	55                   	push   %ebp
   12b9b:	25 ff 00 00 00       	and    $0xff,%eax
   12ba0:	89 e5                	mov    %esp,%ebp
   12ba2:	5d                   	pop    %ebp
   12ba3:	c3                   	ret    
   12ba4:	90                   	nop    
   12ba5:	90                   	nop    
   12ba6:	90                   	nop    
   12ba7:	90                   	nop    
   12ba8:	90                   	nop    
   12ba9:	90                   	nop    
   12baa:	90                   	nop    
   12bab:	90                   	nop    
   12bac:	90                   	nop    
   12bad:	90                   	nop    
   12bae:	90                   	nop    
   12baf:	90                   	nop    

00012bb0 <_HalpInitDma>:
   12bb0:	55                   	push   %ebp
   12bb1:	89 e5                	mov    %esp,%ebp
   12bb3:	5d                   	pop    %ebp
   12bb4:	c3                   	ret    
   12bb5:	8d 74 26 00          	lea    0x0(%esi),%esi
   12bb9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012bc0 <_HalAllocateCommonBuffer@16>:
   12bc0:	55                   	push   %ebp
   12bc1:	89 e5                	mov    %esp,%ebp
   12bc3:	53                   	push   %ebx
   12bc4:	52                   	push   %edx
   12bc5:	31 c9                	xor    %ecx,%ecx
   12bc7:	8b 5d 08             	mov    0x8(%ebp),%ebx
   12bca:	8a 45 14             	mov    0x14(%ebp),%al
   12bcd:	80 7b 5a 00          	cmpb   $0x0,0x5a(%ebx)
   12bd1:	74 06                	je     12bd9 <_HalAllocateCommonBuffer@16+0x19>
   12bd3:	80 7b 56 00          	cmpb   $0x0,0x56(%ebx)
   12bd7:	75 57                	jne    12c30 <_HalAllocateCommonBuffer@16+0x70>
   12bd9:	ba ff ff ff 00       	mov    $0xffffff,%edx
   12bde:	83 ec 0c             	sub    $0xc,%esp
   12be1:	84 c0                	test   %al,%al
   12be3:	0f 95 c0             	setne  %al
   12be6:	25 ff 00 00 00       	and    $0xff,%eax
   12beb:	68 00 00 01 00       	push   $0x10000
   12bf0:	50                   	push   %eax
   12bf1:	8b 45 0c             	mov    0xc(%ebp),%eax
   12bf4:	6a 00                	push   $0x0
   12bf6:	6a 00                	push   $0x0
   12bf8:	51                   	push   %ecx
   12bf9:	52                   	push   %edx
   12bfa:	6a 00                	push   $0x0
   12bfc:	6a 00                	push   $0x0
   12bfe:	50                   	push   %eax
   12bff:	e8 fc 34 00 00       	call   16100 <_MmAllocateContiguousAlignedMemory@36>
   12c04:	89 c3                	mov    %eax,%ebx
   12c06:	83 c4 0c             	add    $0xc,%esp
   12c09:	31 c0                	xor    %eax,%eax
   12c0b:	85 db                	test   %ebx,%ebx
   12c0d:	74 13                	je     12c22 <_HalAllocateCommonBuffer@16+0x62>
   12c0f:	83 ec 0c             	sub    $0xc,%esp
   12c12:	53                   	push   %ebx
   12c13:	e8 08 35 00 00       	call   16120 <_MmGetPhysicalAddress@4>
   12c18:	8b 4d 10             	mov    0x10(%ebp),%ecx
   12c1b:	89 01                	mov    %eax,(%ecx)
   12c1d:	89 51 04             	mov    %edx,0x4(%ecx)
   12c20:	89 d8                	mov    %ebx,%eax
   12c22:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   12c25:	c9                   	leave  
   12c26:	c2 10 00             	ret    $0x10
   12c29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   12c30:	83 ca ff             	or     $0xffffffff,%edx
   12c33:	eb a9                	jmp    12bde <_HalAllocateCommonBuffer@16+0x1e>
   12c35:	8d 74 26 00          	lea    0x0(%esi),%esi
   12c39:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012c40 <_HalFlushCommonBuffer@32>:
   12c40:	55                   	push   %ebp
   12c41:	b8 01 00 00 00       	mov    $0x1,%eax
   12c46:	89 e5                	mov    %esp,%ebp
   12c48:	5d                   	pop    %ebp
   12c49:	c2 20 00             	ret    $0x20
   12c4c:	8d 74 26 00          	lea    0x0(%esi),%esi

00012c50 <_HalFreeCommonBuffer@24>:
   12c50:	55                   	push   %ebp
   12c51:	89 e5                	mov    %esp,%ebp
   12c53:	83 ec 14             	sub    $0x14,%esp
   12c56:	8b 4d 18             	mov    0x18(%ebp),%ecx
   12c59:	51                   	push   %ecx
   12c5a:	e8 81 34 00 00       	call   160e0 <_MmFreeContiguousMemory@4>
   12c5f:	c9                   	leave  
   12c60:	c2 18 00             	ret    $0x18
   12c63:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   12c69:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012c70 <_HalGetAdapter@8>:
   12c70:	55                   	push   %ebp
   12c71:	31 c0                	xor    %eax,%eax
   12c73:	89 e5                	mov    %esp,%ebp
   12c75:	57                   	push   %edi
   12c76:	56                   	push   %esi
   12c77:	53                   	push   %ebx
   12c78:	83 ec 0c             	sub    $0xc,%esp
   12c7b:	8b 5d 08             	mov    0x8(%ebp),%ebx
   12c7e:	8b 13                	mov    (%ebx),%edx
   12c80:	85 d2                	test   %edx,%edx
   12c82:	0f 85 d4 00 00 00    	jne    12d5c <_HalGetAdapter@8+0xec>
   12c88:	8b 53 14             	mov    0x14(%ebx),%edx
   12c8b:	83 fa 05             	cmp    $0x5,%edx
   12c8e:	0f 84 8f 01 00 00    	je     12e23 <_HalGetAdapter@8+0x1b3>
   12c94:	80 7b 05 00          	cmpb   $0x0,0x5(%ebx)
   12c98:	0f 84 c8 00 00 00    	je     12d66 <_HalGetAdapter@8+0xf6>
   12c9e:	8b 45 0c             	mov    0xc(%ebp),%eax
   12ca1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   12ca7:	50                   	push   %eax
   12ca8:	50                   	push   %eax
   12ca9:	6a 2a                	push   $0x2a
   12cab:	68 81 00 00 00       	push   $0x81
   12cb0:	e8 bb 24 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12cb5:	50                   	push   %eax
   12cb6:	68 81 00 00 00       	push   $0x81
   12cbb:	e8 00 24 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12cc0:	83 c4 0c             	add    $0xc,%esp
   12cc3:	3c 2a                	cmp    $0x2a,%al
   12cc5:	0f 84 c8 00 00 00    	je     12d93 <_HalGetAdapter@8+0x123>
   12ccb:	8b 43 20             	mov    0x20(%ebx),%eax
   12cce:	89 c2                	mov    %eax,%edx
   12cd0:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
   12cd6:	c1 ea 0c             	shr    $0xc,%edx
   12cd9:	a9 ff 0f 00 00       	test   $0xfff,%eax
   12cde:	0f 84 d2 00 00 00    	je     12db6 <_HalGetAdapter@8+0x146>
   12ce4:	8d 72 02             	lea    0x2(%edx),%esi
   12ce7:	8b 55 0c             	mov    0xc(%ebp),%edx
   12cea:	89 32                	mov    %esi,(%edx)
   12cec:	8b 53 10             	mov    0x10(%ebx),%edx
   12cef:	89 d0                	mov    %edx,%eax
   12cf1:	c1 e8 02             	shr    $0x2,%eax
   12cf4:	83 e0 01             	and    $0x1,%eax
   12cf7:	83 f8 01             	cmp    $0x1,%eax
   12cfa:	8b 04 95 20 95 03 00 	mov    0x39520(,%edx,4),%eax
   12d01:	19 ff                	sbb    %edi,%edi
   12d03:	83 c7 02             	add    $0x2,%edi
   12d06:	85 c0                	test   %eax,%eax
   12d08:	0f 84 d2 00 00 00    	je     12de0 <_HalGetAdapter@8+0x170>
   12d0e:	89 c1                	mov    %eax,%ecx
   12d10:	80 78 55 00          	cmpb   $0x0,0x55(%eax)
   12d14:	74 0a                	je     12d20 <_HalGetAdapter@8+0xb0>
   12d16:	3b 70 0c             	cmp    0xc(%eax),%esi
   12d19:	0f 87 13 01 00 00    	ja     12e32 <_HalGetAdapter@8+0x1c2>
   12d1f:	90                   	nop    
   12d20:	4f                   	dec    %edi
   12d21:	0f 94 c0             	sete   %al
   12d24:	25 ff 00 00 00       	and    $0xff,%eax
   12d29:	48                   	dec    %eax
   12d2a:	25 c0 00 00 00       	and    $0xc0,%eax
   12d2f:	89 41 10             	mov    %eax,0x10(%ecx)
   12d32:	8a 43 09             	mov    0x9(%ebx),%al
   12d35:	88 41 59             	mov    %al,0x59(%ecx)
   12d38:	8a 43 08             	mov    0x8(%ebx),%al
   12d3b:	88 41 5a             	mov    %al,0x5a(%ecx)
   12d3e:	8a 43 0b             	mov    0xb(%ebx),%al
   12d41:	88 41 5b             	mov    %al,0x5b(%ecx)
   12d44:	8a 43 05             	mov    0x5(%ebx),%al
   12d47:	88 41 58             	mov    %al,0x58(%ecx)
   12d4a:	8a 43 04             	mov    0x4(%ebx),%al
   12d4d:	88 41 56             	mov    %al,0x56(%ecx)
   12d50:	83 7b 14 05          	cmpl   $0x5,0x14(%ebx)
   12d54:	74 04                	je     12d5a <_HalGetAdapter@8+0xea>
   12d56:	c6 41 5c 01          	movb   $0x1,0x5c(%ecx)
   12d5a:	89 c8                	mov    %ecx,%eax
   12d5c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12d5f:	5b                   	pop    %ebx
   12d60:	5e                   	pop    %esi
   12d61:	5f                   	pop    %edi
   12d62:	5d                   	pop    %ebp
   12d63:	c2 08 00             	ret    $0x8
   12d66:	83 fa 05             	cmp    $0x5,%edx
   12d69:	0f 84 2f ff ff ff    	je     12c9e <_HalGetAdapter@8+0x2e>
   12d6f:	50                   	push   %eax
   12d70:	50                   	push   %eax
   12d71:	6a 2a                	push   $0x2a
   12d73:	68 81 00 00 00       	push   $0x81
   12d78:	e8 f3 23 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12d7d:	50                   	push   %eax
   12d7e:	68 81 00 00 00       	push   $0x81
   12d83:	e8 38 23 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12d88:	83 c4 0c             	add    $0xc,%esp
   12d8b:	3c 2a                	cmp    $0x2a,%al
   12d8d:	0f 85 38 ff ff ff    	jne    12ccb <_HalGetAdapter@8+0x5b>
   12d93:	8b 43 20             	mov    0x20(%ebx),%eax
   12d96:	c7 05 00 95 03 00 01 	movl   $0x1,0x39500
   12d9d:	00 00 00 
   12da0:	89 c2                	mov    %eax,%edx
   12da2:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
   12da8:	c1 ea 0c             	shr    $0xc,%edx
   12dab:	a9 ff 0f 00 00       	test   $0xfff,%eax
   12db0:	0f 85 2e ff ff ff    	jne    12ce4 <_HalGetAdapter@8+0x74>
   12db6:	8d 72 01             	lea    0x1(%edx),%esi
   12db9:	8b 55 0c             	mov    0xc(%ebp),%edx
   12dbc:	89 32                	mov    %esi,(%edx)
   12dbe:	8b 53 10             	mov    0x10(%ebx),%edx
   12dc1:	89 d0                	mov    %edx,%eax
   12dc3:	c1 e8 02             	shr    $0x2,%eax
   12dc6:	83 e0 01             	and    $0x1,%eax
   12dc9:	83 f8 01             	cmp    $0x1,%eax
   12dcc:	8b 04 95 20 95 03 00 	mov    0x39520(,%edx,4),%eax
   12dd3:	19 ff                	sbb    %edi,%edi
   12dd5:	83 c7 02             	add    $0x2,%edi
   12dd8:	85 c0                	test   %eax,%eax
   12dda:	0f 85 2e ff ff ff    	jne    12d0e <_HalGetAdapter@8+0x9e>
   12de0:	50                   	push   %eax
   12de1:	31 c0                	xor    %eax,%eax
   12de3:	8a 43 08             	mov    0x8(%ebx),%al
   12de6:	50                   	push   %eax
   12de7:	6a 00                	push   $0x0
   12de9:	56                   	push   %esi
   12dea:	e8 21 e2 ff ff       	call   11010 <_HalpAllocateAdapterEx@12>
   12def:	89 c1                	mov    %eax,%ecx
   12df1:	58                   	pop    %eax
   12df2:	31 c0                	xor    %eax,%eax
   12df4:	85 c9                	test   %ecx,%ecx
   12df6:	0f 84 60 ff ff ff    	je     12d5c <_HalGetAdapter@8+0xec>
   12dfc:	8b 43 10             	mov    0x10(%ebx),%eax
   12dff:	8b 75 0c             	mov    0xc(%ebp),%esi
   12e02:	89 0c 85 20 95 03 00 	mov    %ecx,0x39520(,%eax,4)
   12e09:	8b 06                	mov    (%esi),%eax
   12e0b:	85 c0                	test   %eax,%eax
   12e0d:	75 31                	jne    12e40 <_HalGetAdapter@8+0x1d0>
   12e0f:	c6 41 55 00          	movb   $0x0,0x55(%ecx)
   12e13:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
   12e17:	74 4b                	je     12e64 <_HalGetAdapter@8+0x1f4>
   12e19:	8b 06                	mov    (%esi),%eax
   12e1b:	89 41 0c             	mov    %eax,0xc(%ecx)
   12e1e:	e9 fd fe ff ff       	jmp    12d20 <_HalGetAdapter@8+0xb0>
   12e23:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
   12e27:	0f 85 67 fe ff ff    	jne    12c94 <_HalGetAdapter@8+0x24>
   12e2d:	e9 2a ff ff ff       	jmp    12d5c <_HalGetAdapter@8+0xec>
   12e32:	89 70 0c             	mov    %esi,0xc(%eax)
   12e35:	e9 e6 fe ff ff       	jmp    12d20 <_HalGetAdapter@8+0xb0>
   12e3a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   12e40:	c6 41 55 01          	movb   $0x1,0x55(%ecx)
   12e44:	8b 55 0c             	mov    0xc(%ebp),%edx
   12e47:	8b 75 0c             	mov    0xc(%ebp),%esi
   12e4a:	8b 02                	mov    (%edx),%eax
   12e4c:	8b 15 f0 94 03 00    	mov    0x394f0,%edx
   12e52:	89 41 0c             	mov    %eax,0xc(%ecx)
   12e55:	8b 06                	mov    (%esi),%eax
   12e57:	8b 72 1c             	mov    0x1c(%edx),%esi
   12e5a:	01 c6                	add    %eax,%esi
   12e5c:	89 72 1c             	mov    %esi,0x1c(%edx)
   12e5f:	e9 bc fe ff ff       	jmp    12d20 <_HalGetAdapter@8+0xb0>
   12e64:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
   12e6b:	e9 b0 fe ff ff       	jmp    12d20 <_HalGetAdapter@8+0xb0>

00012e70 <_HalReadDmaCounter@4>:
   12e70:	55                   	push   %ebp
   12e71:	89 e5                	mov    %esp,%ebp
   12e73:	57                   	push   %edi
   12e74:	56                   	push   %esi
   12e75:	53                   	push   %ebx
   12e76:	83 ec 14             	sub    $0x14,%esp
   12e79:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   12e7c:	8b 7d 08             	mov    0x8(%ebp),%edi
   12e7f:	50                   	push   %eax
   12e80:	8b 47 08             	mov    0x8(%edi),%eax
   12e83:	83 c0 44             	add    $0x44,%eax
   12e86:	50                   	push   %eax
   12e87:	e8 44 24 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   12e8c:	80 7f 51 01          	cmpb   $0x1,0x51(%edi)
   12e90:	58                   	pop    %eax
   12e91:	5a                   	pop    %edx
   12e92:	74 6c                	je     12f00 <_HalReadDmaCounter@4+0x90>
   12e94:	8b 5f 10             	mov    0x10(%edi),%ebx
   12e97:	50                   	push   %eax
   12e98:	50                   	push   %eax
   12e99:	8d 43 18             	lea    0x18(%ebx),%eax
   12e9c:	6a 00                	push   $0x0
   12e9e:	50                   	push   %eax
   12e9f:	e8 cc 22 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12ea4:	31 c0                	xor    %eax,%eax
   12ea6:	56                   	push   %esi
   12ea7:	8a 47 50             	mov    0x50(%edi),%al
   12eaa:	8d 44 83 02          	lea    0x2(%ebx,%eax,4),%eax
   12eae:	50                   	push   %eax
   12eaf:	e8 0c 22 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12eb4:	25 ff 00 00 00       	and    $0xff,%eax
   12eb9:	89 c6                	mov    %eax,%esi
   12ebb:	31 c0                	xor    %eax,%eax
   12ebd:	8a 47 50             	mov    0x50(%edi),%al
   12ec0:	8d 44 83 02          	lea    0x2(%ebx,%eax,4),%eax
   12ec4:	50                   	push   %eax
   12ec5:	e8 f6 21 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12eca:	25 ff 00 00 00       	and    $0xff,%eax
   12ecf:	83 c4 0c             	add    $0xc,%esp
   12ed2:	c1 e0 08             	shl    $0x8,%eax
   12ed5:	09 c6                	or     %eax,%esi
   12ed7:	46                   	inc    %esi
   12ed8:	80 7f 57 00          	cmpb   $0x0,0x57(%edi)
   12edc:	74 02                	je     12ee0 <_HalReadDmaCounter@4+0x70>
   12ede:	01 f6                	add    %esi,%esi
   12ee0:	31 c0                	xor    %eax,%eax
   12ee2:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   12ee5:	51                   	push   %ecx
   12ee6:	51                   	push   %ecx
   12ee7:	50                   	push   %eax
   12ee8:	8b 47 08             	mov    0x8(%edi),%eax
   12eeb:	83 c0 44             	add    $0x44,%eax
   12eee:	50                   	push   %eax
   12eef:	e8 4c 24 00 00       	call   15340 <_KeReleaseSpinLock@8>
   12ef4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12ef7:	89 f0                	mov    %esi,%eax
   12ef9:	5b                   	pop    %ebx
   12efa:	5e                   	pop    %esi
   12efb:	5f                   	pop    %edi
   12efc:	5d                   	pop    %ebp
   12efd:	c2 04 00             	ret    $0x4
   12f00:	8b 5f 10             	mov    0x10(%edi),%ebx
   12f03:	50                   	push   %eax
   12f04:	50                   	push   %eax
   12f05:	8d 43 0c             	lea    0xc(%ebx),%eax
   12f08:	6a 00                	push   $0x0
   12f0a:	50                   	push   %eax
   12f0b:	e8 60 22 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   12f10:	50                   	push   %eax
   12f11:	31 c0                	xor    %eax,%eax
   12f13:	8a 47 50             	mov    0x50(%edi),%al
   12f16:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
   12f1a:	50                   	push   %eax
   12f1b:	e8 a0 21 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   12f20:	25 ff 00 00 00       	and    $0xff,%eax
   12f25:	89 c6                	mov    %eax,%esi
   12f27:	31 c0                	xor    %eax,%eax
   12f29:	8a 47 50             	mov    0x50(%edi),%al
   12f2c:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
   12f30:	eb 92                	jmp    12ec4 <_HalReadDmaCounter@4+0x54>
   12f32:	90                   	nop    
   12f33:	90                   	nop    
   12f34:	90                   	nop    
   12f35:	90                   	nop    
   12f36:	90                   	nop    
   12f37:	90                   	nop    
   12f38:	90                   	nop    
   12f39:	90                   	nop    
   12f3a:	90                   	nop    
   12f3b:	90                   	nop    
   12f3c:	90                   	nop    
   12f3d:	90                   	nop    
   12f3e:	90                   	nop    
   12f3f:	90                   	nop    

00012f40 <_IoAssignDriveLetters@16>:
   12f40:	55                   	push   %ebp
   12f41:	89 e5                	mov    %esp,%ebp
   12f43:	83 ec 10             	sub    $0x10,%esp
   12f46:	8b 45 14             	mov    0x14(%ebp),%eax
   12f49:	8b 4d 08             	mov    0x8(%ebp),%ecx
   12f4c:	50                   	push   %eax
   12f4d:	8b 45 10             	mov    0x10(%ebp),%eax
   12f50:	50                   	push   %eax
   12f51:	a1 fc b0 03 00       	mov    0x3b0fc,%eax
   12f56:	8b 55 0c             	mov    0xc(%ebp),%edx
   12f59:	ff 50 18             	call   *0x18(%eax)
   12f5c:	c9                   	leave  
   12f5d:	c2 10 00             	ret    $0x10

00012f60 <_HalpStartEnumerator>:
   12f60:	55                   	push   %ebp
   12f61:	89 e5                	mov    %esp,%ebp
   12f63:	5d                   	pop    %ebp
   12f64:	c3                   	ret    
   12f65:	90                   	nop    
   12f66:	90                   	nop    
   12f67:	90                   	nop    
   12f68:	90                   	nop    
   12f69:	90                   	nop    
   12f6a:	90                   	nop    
   12f6b:	90                   	nop    
   12f6c:	90                   	nop    
   12f6d:	90                   	nop    
   12f6e:	90                   	nop    
   12f6f:	90                   	nop    

00012f70 <@ExAcquireFastMutex@4>:
   12f70:	55                   	push   %ebp
   12f71:	89 e5                	mov    %esp,%ebp
   12f73:	53                   	push   %ebx
   12f74:	89 cb                	mov    %ecx,%ebx
   12f76:	52                   	push   %edx
   12f77:	e8 34 32 00 00       	call   161b0 <_KeEnterCriticalRegion@0>
   12f7c:	89 d9                	mov    %ebx,%ecx
   12f7e:	58                   	pop    %eax
   12f7f:	5b                   	pop    %ebx
   12f80:	5d                   	pop    %ebp
   12f81:	e9 3a 32 00 00       	jmp    161c0 <@ExAcquireFastMutexUnsafe@4>
   12f86:	8d 76 00             	lea    0x0(%esi),%esi
   12f89:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012f90 <@ExReleaseFastMutex@4>:
   12f90:	55                   	push   %ebp
   12f91:	89 e5                	mov    %esp,%ebp
   12f93:	50                   	push   %eax
   12f94:	50                   	push   %eax
   12f95:	e8 36 32 00 00       	call   161d0 <@ExReleaseFastMutexUnsafe@4>
   12f9a:	c9                   	leave  
   12f9b:	e9 40 32 00 00       	jmp    161e0 <_KeLeaveCriticalRegion@0>

00012fa0 <@ExTryToAcquireFastMutex@4>:
   12fa0:	55                   	push   %ebp
   12fa1:	89 e5                	mov    %esp,%ebp
   12fa3:	53                   	push   %ebx
   12fa4:	53                   	push   %ebx
   12fa5:	89 cb                	mov    %ecx,%ebx
   12fa7:	e8 04 32 00 00       	call   161b0 <_KeEnterCriticalRegion@0>
   12fac:	31 d2                	xor    %edx,%edx
   12fae:	89 d9                	mov    %ebx,%ecx
   12fb0:	e8 3b 32 00 00       	call   161f0 <@InterlockedExchange@8>
   12fb5:	48                   	dec    %eax
   12fb6:	74 0b                	je     12fc3 <@ExTryToAcquireFastMutex@4+0x23>
   12fb8:	e8 23 32 00 00       	call   161e0 <_KeLeaveCriticalRegion@0>
   12fbd:	31 c0                	xor    %eax,%eax
   12fbf:	5a                   	pop    %edx
   12fc0:	5b                   	pop    %ebx
   12fc1:	5d                   	pop    %ebp
   12fc2:	c3                   	ret    
   12fc3:	e8 38 32 00 00       	call   16200 <_KeGetCurrentThread@0>
   12fc8:	89 43 04             	mov    %eax,0x4(%ebx)
   12fcb:	b8 01 00 00 00       	mov    $0x1,%eax
   12fd0:	5a                   	pop    %edx
   12fd1:	5b                   	pop    %ebx
   12fd2:	5d                   	pop    %ebp
   12fd3:	c3                   	ret    
   12fd4:	90                   	nop    
   12fd5:	90                   	nop    
   12fd6:	90                   	nop    
   12fd7:	90                   	nop    
   12fd8:	90                   	nop    
   12fd9:	90                   	nop    
   12fda:	90                   	nop    
   12fdb:	90                   	nop    
   12fdc:	90                   	nop    
   12fdd:	90                   	nop    
   12fde:	90                   	nop    
   12fdf:	90                   	nop    

00012fe0 <_DriverEntry@8>:
   12fe0:	55                   	push   %ebp
   12fe1:	31 c0                	xor    %eax,%eax
   12fe3:	89 e5                	mov    %esp,%ebp
   12fe5:	5d                   	pop    %ebp
   12fe6:	c2 08 00             	ret    $0x8
   12fe9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012ff0 <_HalInitSystem@8>:
   12ff0:	55                   	push   %ebp
   12ff1:	89 e5                	mov    %esp,%ebp
   12ff3:	50                   	push   %eax
   12ff4:	50                   	push   %eax
   12ff5:	8b 45 08             	mov    0x8(%ebp),%eax
   12ff8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   12ffb:	85 c0                	test   %eax,%eax
   12ffd:	74 13                	je     13012 <_HalInitSystem@8+0x22>
   12fff:	83 f8 01             	cmp    $0x1,%eax
   13002:	74 2c                	je     13030 <_HalInitSystem@8+0x40>
   13004:	83 f8 02             	cmp    $0x2,%eax
   13007:	74 44                	je     1304d <_HalInitSystem@8+0x5d>
   13009:	b8 01 00 00 00       	mov    $0x1,%eax
   1300e:	c9                   	leave  
   1300f:	c2 08 00             	ret    $0x8
   13012:	51                   	push   %ecx
   13013:	51                   	push   %ecx
   13014:	6a 04                	push   $0x4
   13016:	68 40 95 03 00       	push   $0x39540
   1301b:	e8 30 30 00 00       	call   16050 <_RtlZeroMemory@8>
   13020:	58                   	pop    %eax
   13021:	5a                   	pop    %edx
   13022:	e8 f9 2f 00 00       	call   16020 <_HalpInitPhase0>
   13027:	b8 01 00 00 00       	mov    $0x1,%eax
   1302c:	c9                   	leave  
   1302d:	c2 08 00             	ret    $0x8
   13030:	e8 fb f1 ff ff       	call   12230 <@HalInitializeDisplay@4>
   13035:	e8 76 e9 ff ff       	call   119b0 <_HalpInitBusHandlers>
   1303a:	e8 71 fb ff ff       	call   12bb0 <_HalpInitDma>
   1303f:	e8 1c ff ff ff       	call   12f60 <_HalpStartEnumerator>
   13044:	b8 01 00 00 00       	mov    $0x1,%eax
   13049:	c9                   	leave  
   1304a:	c2 08 00             	ret    $0x8
   1304d:	b9 17 00 00 00       	mov    $0x17,%ecx
   13052:	e8 c9 ee ff ff       	call   11f20 <@HalClearDisplay@4>
   13057:	6a 00                	push   $0x0
   13059:	68 00 10 00 00       	push   $0x1000
   1305e:	6a 00                	push   $0x0
   13060:	6a 00                	push   $0x0
   13062:	e8 09 31 00 00       	call   16170 <_MmMapIoSpace@16>
   13067:	a3 00 94 03 00       	mov    %eax,0x39400
   1306c:	eb 9b                	jmp    13009 <_HalInitSystem@8+0x19>
   1306e:	90                   	nop    
   1306f:	90                   	nop    

00013070 <_HalRequestIpi@4>:
   13070:	55                   	push   %ebp
   13071:	89 e5                	mov    %esp,%ebp
   13073:	5d                   	pop    %ebp
   13074:	c2 04 00             	ret    $0x4
   13077:	90                   	nop    
   13078:	90                   	nop    
   13079:	90                   	nop    
   1307a:	90                   	nop    
   1307b:	90                   	nop    
   1307c:	90                   	nop    
   1307d:	90                   	nop    
   1307e:	90                   	nop    
   1307f:	90                   	nop    

00013080 <_KeGetCurrentIrql@0>:
   13080:	55                   	push   %ebp
   13081:	31 c0                	xor    %eax,%eax
   13083:	a0 24 00 00 ff       	mov    0xff000024,%al
   13088:	89 e5                	mov    %esp,%ebp
   1308a:	5d                   	pop    %ebp
   1308b:	c3                   	ret    
   1308c:	8d 74 26 00          	lea    0x0(%esi),%esi

00013090 <_HalpInitPICs>:
   13090:	fc                   	cld    
   13091:	55                   	push   %ebp
   13092:	31 c0                	xor    %eax,%eax
   13094:	89 e5                	mov    %esp,%ebp
   13096:	b9 10 00 00 00       	mov    $0x10,%ecx
   1309b:	57                   	push   %edi
   1309c:	bf 20 94 03 00       	mov    $0x39420,%edi
   130a1:	83 ec 0c             	sub    $0xc,%esp
   130a4:	f3 ab                	repz stos %eax,%es:(%edi)
   130a6:	6a 11                	push   $0x11
   130a8:	6a 20                	push   $0x20
   130aa:	e8 c1 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130af:	6a 11                	push   $0x11
   130b1:	68 a0 00 00 00       	push   $0xa0
   130b6:	e8 b5 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130bb:	6a 40                	push   $0x40
   130bd:	6a 21                	push   $0x21
   130bf:	e8 ac 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130c4:	6a 48                	push   $0x48
   130c6:	68 a1 00 00 00       	push   $0xa1
   130cb:	e8 a0 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130d0:	6a 04                	push   $0x4
   130d2:	6a 21                	push   $0x21
   130d4:	e8 97 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130d9:	6a 02                	push   $0x2
   130db:	68 a1 00 00 00       	push   $0xa1
   130e0:	e8 8b 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130e5:	6a 01                	push   $0x1
   130e7:	6a 21                	push   $0x21
   130e9:	e8 82 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130ee:	6a 01                	push   $0x1
   130f0:	68 a1 00 00 00       	push   $0xa1
   130f5:	e8 76 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   130fa:	31 c0                	xor    %eax,%eax
   130fc:	a0 10 70 01 00       	mov    0x17010,%al
   13101:	50                   	push   %eax
   13102:	6a 21                	push   $0x21
   13104:	e8 67 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13109:	31 c0                	xor    %eax,%eax
   1310b:	a0 11 70 01 00       	mov    0x17011,%al
   13110:	50                   	push   %eax
   13111:	68 a1 00 00 00       	push   $0xa1
   13116:	e8 55 20 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1311b:	fb                   	sti    
   1311c:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
   1311f:	c9                   	leave  
   13120:	c3                   	ret    
   13121:	eb 0d                	jmp    13130 <_HalpEndSystemInterrupt>
   13123:	90                   	nop    
   13124:	90                   	nop    
   13125:	90                   	nop    
   13126:	90                   	nop    
   13127:	90                   	nop    
   13128:	90                   	nop    
   13129:	90                   	nop    
   1312a:	90                   	nop    
   1312b:	90                   	nop    
   1312c:	90                   	nop    
   1312d:	90                   	nop    
   1312e:	90                   	nop    
   1312f:	90                   	nop    

00013130 <_HalpEndSystemInterrupt>:
   13130:	55                   	push   %ebp
   13131:	89 e5                	mov    %esp,%ebp
   13133:	56                   	push   %esi
   13134:	53                   	push   %ebx
   13135:	83 ec 44             	sub    $0x44,%esp
   13138:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
   1313b:	8a 5d 08             	mov    0x8(%ebp),%bl
   1313e:	6a 40                	push   $0x40
   13140:	68 12 70 01 00       	push   $0x17012
   13145:	50                   	push   %eax
   13146:	e8 f5 2f 00 00       	call   16140 <_memcpy>
   1314b:	9c                   	pushf  
   1314c:	5e                   	pop    %esi
   1314d:	fa                   	cli    
   1314e:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   13154:	66 8b 44 5d b8       	mov    0xffffffb8(%ebp,%ebx,2),%ax
   13159:	66 21 05 10 94 03 00 	and    %ax,0x39410
   13160:	58                   	pop    %eax
   13161:	a0 10 94 03 00       	mov    0x39410,%al
   13166:	5a                   	pop    %edx
   13167:	0a 05 10 70 01 00    	or     0x17010,%al
   1316d:	25 ff 00 00 00       	and    $0xff,%eax
   13172:	50                   	push   %eax
   13173:	6a 21                	push   $0x21
   13175:	e8 f6 1f 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1317a:	a0 11 94 03 00       	mov    0x39411,%al
   1317f:	0a 05 11 70 01 00    	or     0x17011,%al
   13185:	25 ff 00 00 00       	and    $0xff,%eax
   1318a:	50                   	push   %eax
   1318b:	68 a1 00 00 00       	push   $0xa1
   13190:	e8 db 1f 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13195:	56                   	push   %esi
   13196:	9d                   	popf   
   13197:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1319a:	5b                   	pop    %ebx
   1319b:	5e                   	pop    %esi
   1319c:	5d                   	pop    %ebp
   1319d:	c3                   	ret    
   1319e:	89 f6                	mov    %esi,%esi

000131a0 <_HalpLowerIrql>:
   131a0:	55                   	push   %ebp
   131a1:	89 e5                	mov    %esp,%ebp
   131a3:	57                   	push   %edi
   131a4:	56                   	push   %esi
   131a5:	53                   	push   %ebx
   131a6:	83 ec 0c             	sub    $0xc,%esp
   131a9:	88 45 f3             	mov    %al,0xfffffff3(%ebp)
   131ac:	3c 1a                	cmp    $0x1a,%al
   131ae:	0f 87 97 00 00 00    	ja     1324b <_HalpLowerIrql+0xab>
   131b4:	c7 45 ec 1b 00 00 00 	movl   $0x1b,0xffffffec(%ebp)
   131bb:	31 c0                	xor    %eax,%eax
   131bd:	8b 7d ec             	mov    0xffffffec(%ebp),%edi
   131c0:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   131c3:	29 c7                	sub    %eax,%edi
   131c5:	89 7d ec             	mov    %edi,0xffffffec(%ebp)
   131c8:	83 7d ec 10          	cmpl   $0x10,0xffffffec(%ebp)
   131cc:	0f 8f 86 00 00 00    	jg     13258 <_HalpLowerIrql+0xb8>
   131d2:	31 db                	xor    %ebx,%ebx
   131d4:	3b 5d ec             	cmp    0xffffffec(%ebp),%ebx
   131d7:	73 69                	jae    13242 <_HalpLowerIrql+0xa2>
   131d9:	89 c7                	mov    %eax,%edi
   131db:	90                   	nop    
   131dc:	8d 74 26 00          	lea    0x0(%esi),%esi
   131e0:	8b 34 9d 20 94 03 00 	mov    0x39420(,%ebx,4),%esi
   131e7:	85 f6                	test   %esi,%esi
   131e9:	74 51                	je     1323c <_HalpLowerIrql+0x9c>
   131eb:	b0 1b                	mov    $0x1b,%al
   131ed:	28 d8                	sub    %bl,%al
   131ef:	a2 24 00 00 ff       	mov    %al,0xff000024
   131f4:	8b 04 9d 20 94 03 00 	mov    0x39420(,%ebx,4),%eax
   131fb:	85 c0                	test   %eax,%eax
   131fd:	74 21                	je     13220 <_HalpLowerIrql+0x80>
   131ff:	8d 73 40             	lea    0x40(%ebx),%esi
   13202:	48                   	dec    %eax
   13203:	89 04 9d 20 94 03 00 	mov    %eax,0x39420(,%ebx,4)
   1320a:	51                   	push   %ecx
   1320b:	51                   	push   %ecx
   1320c:	57                   	push   %edi
   1320d:	56                   	push   %esi
   1320e:	e8 fd 2f 00 00       	call   16210 <_KiInterruptDispatch2@8>
   13213:	58                   	pop    %eax
   13214:	8b 04 9d 20 94 03 00 	mov    0x39420(,%ebx,4),%eax
   1321b:	5a                   	pop    %edx
   1321c:	85 c0                	test   %eax,%eax
   1321e:	75 e2                	jne    13202 <_HalpLowerIrql+0x62>
   13220:	a0 24 00 00 ff       	mov    0xff000024,%al
   13225:	83 ec 0c             	sub    $0xc,%esp
   13228:	48                   	dec    %eax
   13229:	a2 24 00 00 ff       	mov    %al,0xff000024
   1322e:	25 ff 00 00 00       	and    $0xff,%eax
   13233:	50                   	push   %eax
   13234:	e8 f7 fe ff ff       	call   13130 <_HalpEndSystemInterrupt>
   13239:	83 c4 10             	add    $0x10,%esp
   1323c:	43                   	inc    %ebx
   1323d:	3b 5d ec             	cmp    0xffffffec(%ebp),%ebx
   13240:	72 9e                	jb     131e0 <_HalpLowerIrql+0x40>
   13242:	80 7d f3 01          	cmpb   $0x1,0xfffffff3(%ebp)
   13246:	76 1c                	jbe    13264 <_HalpLowerIrql+0xc4>
   13248:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   1324b:	a2 24 00 00 ff       	mov    %al,0xff000024
   13250:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13253:	5b                   	pop    %ebx
   13254:	5e                   	pop    %esi
   13255:	5f                   	pop    %edi
   13256:	5d                   	pop    %ebp
   13257:	c3                   	ret    
   13258:	c7 45 ec 10 00 00 00 	movl   $0x10,0xffffffec(%ebp)
   1325f:	e9 6e ff ff ff       	jmp    131d2 <_HalpLowerIrql+0x32>
   13264:	8b 35 98 00 00 ff    	mov    0xff000098,%esi
   1326a:	85 f6                	test   %esi,%esi
   1326c:	75 25                	jne    13293 <_HalpLowerIrql+0xf3>
   1326e:	c6 05 24 00 00 ff 01 	movb   $0x1,0xff000024
   13275:	80 7d f3 01          	cmpb   $0x1,0xfffffff3(%ebp)
   13279:	74 d5                	je     13250 <_HalpLowerIrql+0xb0>
   1327b:	e8 80 2f 00 00       	call   16200 <_KeGetCurrentThread@0>
   13280:	85 c0                	test   %eax,%eax
   13282:	75 27                	jne    132ab <_HalpLowerIrql+0x10b>
   13284:	c6 05 24 00 00 ff 00 	movb   $0x0,0xff000024
   1328b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1328e:	5b                   	pop    %ebx
   1328f:	5e                   	pop    %esi
   13290:	5f                   	pop    %edi
   13291:	5d                   	pop    %ebp
   13292:	c3                   	ret    
   13293:	c6 05 24 00 00 ff 02 	movb   $0x2,0xff000024
   1329a:	c7 05 98 00 00 ff 00 	movl   $0x0,0xff000098
   132a1:	00 00 00 
   132a4:	e8 77 2f 00 00       	call   16220 <_KiDispatchInterrupt@0>
   132a9:	eb c3                	jmp    1326e <_HalpLowerIrql+0xce>
   132ab:	e8 50 2f 00 00       	call   16200 <_KeGetCurrentThread@0>
   132b0:	80 78 49 00          	cmpb   $0x0,0x49(%eax)
   132b4:	74 ce                	je     13284 <_HalpLowerIrql+0xe4>
   132b6:	53                   	push   %ebx
   132b7:	6a 00                	push   $0x0
   132b9:	6a 00                	push   $0x0
   132bb:	6a 00                	push   $0x0
   132bd:	e8 6e 2f 00 00       	call   16230 <_KiDeliverApc@12>
   132c2:	59                   	pop    %ecx
   132c3:	eb bf                	jmp    13284 <_HalpLowerIrql+0xe4>
   132c5:	8d 74 26 00          	lea    0x0(%esi),%esi
   132c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000132d0 <@KfLowerIrql@4>:
   132d0:	55                   	push   %ebp
   132d1:	89 e5                	mov    %esp,%ebp
   132d3:	50                   	push   %eax
   132d4:	50                   	push   %eax
   132d5:	a0 24 00 00 ff       	mov    0xff000024,%al
   132da:	38 c8                	cmp    %cl,%al
   132dc:	73 4a                	jae    13328 <@KfLowerIrql@4+0x58>
   132de:	83 ec 0c             	sub    $0xc,%esp
   132e1:	25 ff 00 00 00       	and    $0xff,%eax
   132e6:	50                   	push   %eax
   132e7:	31 c0                	xor    %eax,%eax
   132e9:	88 c8                	mov    %cl,%al
   132eb:	50                   	push   %eax
   132ec:	68 d9 00 00 00       	push   $0xd9
   132f1:	68 30 80 01 00       	push   $0x18030
   132f6:	68 44 80 01 00       	push   $0x18044
   132fb:	e8 50 2e 00 00       	call   16150 <_DbgPrint>
   13300:	83 c4 1c             	add    $0x1c,%esp
   13303:	68 da 00 00 00       	push   $0xda
   13308:	68 30 80 01 00       	push   $0x18030
   1330d:	68 67 80 01 00       	push   $0x18067
   13312:	e8 39 2e 00 00       	call   16150 <_DbgPrint>
   13317:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1331e:	e8 0d 2e 00 00       	call   16130 <_KeBugCheck@4>
   13323:	83 c4 0c             	add    $0xc,%esp
   13326:	eb fe                	jmp    13326 <@KfLowerIrql@4+0x56>
   13328:	31 c0                	xor    %eax,%eax
   1332a:	c9                   	leave  
   1332b:	88 c8                	mov    %cl,%al
   1332d:	e9 6e fe ff ff       	jmp    131a0 <_HalpLowerIrql>
   13332:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   13339:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013340 <_KeLowerIrql@4>:
   13340:	55                   	push   %ebp
   13341:	89 e5                	mov    %esp,%ebp
   13343:	31 c9                	xor    %ecx,%ecx
   13345:	50                   	push   %eax
   13346:	50                   	push   %eax
   13347:	8a 4d 08             	mov    0x8(%ebp),%cl
   1334a:	e8 81 ff ff ff       	call   132d0 <@KfLowerIrql@4>
   1334f:	c9                   	leave  
   13350:	c2 04 00             	ret    $0x4
   13353:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   13359:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013360 <@KfRaiseIrql@4>:
   13360:	55                   	push   %ebp
   13361:	89 e5                	mov    %esp,%ebp
   13363:	50                   	push   %eax
   13364:	50                   	push   %eax
   13365:	88 c8                	mov    %cl,%al
   13367:	8a 15 24 00 00 ff    	mov    0xff000024,%dl
   1336d:	38 ca                	cmp    %cl,%dl
   1336f:	77 0c                	ja     1337d <@KfRaiseIrql@4+0x1d>
   13371:	31 c0                	xor    %eax,%eax
   13373:	88 0d 24 00 00 ff    	mov    %cl,0xff000024
   13379:	88 d0                	mov    %dl,%al
   1337b:	c9                   	leave  
   1337c:	c3                   	ret    
   1337d:	83 ec 0c             	sub    $0xc,%esp
   13380:	25 ff 00 00 00       	and    $0xff,%eax
   13385:	50                   	push   %eax
   13386:	31 c0                	xor    %eax,%eax
   13388:	88 d0                	mov    %dl,%al
   1338a:	50                   	push   %eax
   1338b:	68 14 01 00 00       	push   $0x114
   13390:	68 30 80 01 00       	push   $0x18030
   13395:	68 7c 80 01 00       	push   $0x1807c
   1339a:	e8 b1 2d 00 00       	call   16150 <_DbgPrint>
   1339f:	83 c4 1c             	add    $0x1c,%esp
   133a2:	68 15 01 00 00       	push   $0x115
   133a7:	68 30 80 01 00       	push   $0x18030
   133ac:	68 67 80 01 00       	push   $0x18067
   133b1:	e8 9a 2d 00 00       	call   16150 <_DbgPrint>
   133b6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   133bd:	e8 6e 2d 00 00       	call   16130 <_KeBugCheck@4>
   133c2:	83 c4 0c             	add    $0xc,%esp
   133c5:	eb fe                	jmp    133c5 <@KfRaiseIrql@4+0x65>
   133c7:	89 f6                	mov    %esi,%esi
   133c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000133d0 <_KeRaiseIrql@8>:
   133d0:	55                   	push   %ebp
   133d1:	89 e5                	mov    %esp,%ebp
   133d3:	31 c9                	xor    %ecx,%ecx
   133d5:	50                   	push   %eax
   133d6:	50                   	push   %eax
   133d7:	8a 4d 08             	mov    0x8(%ebp),%cl
   133da:	e8 81 ff ff ff       	call   13360 <@KfRaiseIrql@4>
   133df:	8b 55 0c             	mov    0xc(%ebp),%edx
   133e2:	88 02                	mov    %al,(%edx)
   133e4:	c9                   	leave  
   133e5:	c2 08 00             	ret    $0x8
   133e8:	90                   	nop    
   133e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000133f0 <_KeRaiseIrqlToDpcLevel@0>:
   133f0:	55                   	push   %ebp
   133f1:	b9 02 00 00 00       	mov    $0x2,%ecx
   133f6:	89 e5                	mov    %esp,%ebp
   133f8:	50                   	push   %eax
   133f9:	50                   	push   %eax
   133fa:	e8 61 ff ff ff       	call   13360 <@KfRaiseIrql@4>
   133ff:	c9                   	leave  
   13400:	25 ff 00 00 00       	and    $0xff,%eax
   13405:	c3                   	ret    
   13406:	8d 76 00             	lea    0x0(%esi),%esi
   13409:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013410 <_KeRaiseIrqlToSynchLevel@0>:
   13410:	55                   	push   %ebp
   13411:	b9 1c 00 00 00       	mov    $0x1c,%ecx
   13416:	89 e5                	mov    %esp,%ebp
   13418:	50                   	push   %eax
   13419:	50                   	push   %eax
   1341a:	e8 41 ff ff ff       	call   13360 <@KfRaiseIrql@4>
   1341f:	c9                   	leave  
   13420:	25 ff 00 00 00       	and    $0xff,%eax
   13425:	c3                   	ret    
   13426:	8d 76 00             	lea    0x0(%esi),%esi
   13429:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013430 <_HalBeginSystemInterrupt@12>:
   13430:	55                   	push   %ebp
   13431:	89 e5                	mov    %esp,%ebp
   13433:	53                   	push   %ebx
   13434:	50                   	push   %eax
   13435:	8b 5d 08             	mov    0x8(%ebp),%ebx
   13438:	8a 45 0c             	mov    0xc(%ebp),%al
   1343b:	83 eb 40             	sub    $0x40,%ebx
   1343e:	88 45 fb             	mov    %al,0xfffffffb(%ebp)
   13441:	31 c0                	xor    %eax,%eax
   13443:	83 fb 0f             	cmp    $0xf,%ebx
   13446:	77 65                	ja     134ad <_HalBeginSystemInterrupt@12+0x7d>
   13448:	b0 01                	mov    $0x1,%al
   1344a:	88 d9                	mov    %bl,%cl
   1344c:	d3 e0                	shl    %cl,%eax
   1344e:	83 e0 fe             	and    $0xfffffffe,%eax
   13451:	66 09 05 10 94 03 00 	or     %ax,0x39410
   13458:	83 fb 07             	cmp    $0x7,%ebx
   1345b:	76 57                	jbe    134b4 <_HalBeginSystemInterrupt@12+0x84>
   1345d:	50                   	push   %eax
   1345e:	50                   	push   %eax
   1345f:	a0 11 94 03 00       	mov    0x39411,%al
   13464:	0a 05 11 70 01 00    	or     0x17011,%al
   1346a:	25 ff 00 00 00       	and    $0xff,%eax
   1346f:	50                   	push   %eax
   13470:	68 a1 00 00 00       	push   $0xa1
   13475:	e8 f6 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1347a:	6a 20                	push   $0x20
   1347c:	6a 20                	push   $0x20
   1347e:	e8 ed 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13483:	6a 20                	push   $0x20
   13485:	68 a0 00 00 00       	push   $0xa0
   1348a:	e8 e1 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1348f:	8a 15 24 00 00 ff    	mov    0xff000024,%dl
   13495:	59                   	pop    %ecx
   13496:	3a 55 fb             	cmp    0xfffffffb(%ebp),%dl
   13499:	58                   	pop    %eax
   1349a:	72 48                	jb     134e4 <_HalBeginSystemInterrupt@12+0xb4>
   1349c:	8b 14 9d 20 94 03 00 	mov    0x39420(,%ebx,4),%edx
   134a3:	31 c0                	xor    %eax,%eax
   134a5:	42                   	inc    %edx
   134a6:	89 14 9d 20 94 03 00 	mov    %edx,0x39420(,%ebx,4)
   134ad:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   134b0:	c9                   	leave  
   134b1:	c2 0c 00             	ret    $0xc
   134b4:	50                   	push   %eax
   134b5:	50                   	push   %eax
   134b6:	a0 10 94 03 00       	mov    0x39410,%al
   134bb:	0a 05 10 70 01 00    	or     0x17010,%al
   134c1:	25 ff 00 00 00       	and    $0xff,%eax
   134c6:	50                   	push   %eax
   134c7:	6a 21                	push   $0x21
   134c9:	e8 a2 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   134ce:	6a 20                	push   $0x20
   134d0:	6a 20                	push   $0x20
   134d2:	e8 99 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   134d7:	8a 15 24 00 00 ff    	mov    0xff000024,%dl
   134dd:	59                   	pop    %ecx
   134de:	3a 55 fb             	cmp    0xfffffffb(%ebp),%dl
   134e1:	58                   	pop    %eax
   134e2:	73 b8                	jae    1349c <_HalBeginSystemInterrupt@12+0x6c>
   134e4:	8b 45 10             	mov    0x10(%ebp),%eax
   134e7:	88 10                	mov    %dl,(%eax)
   134e9:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
   134ec:	a2 24 00 00 ff       	mov    %al,0xff000024
   134f1:	b8 01 00 00 00       	mov    $0x1,%eax
   134f6:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   134f9:	c9                   	leave  
   134fa:	c2 0c 00             	ret    $0xc
   134fd:	8d 76 00             	lea    0x0(%esi),%esi

00013500 <_HalEndSystemInterrupt@8>:
   13500:	55                   	push   %ebp
   13501:	89 e5                	mov    %esp,%ebp
   13503:	53                   	push   %ebx
   13504:	31 db                	xor    %ebx,%ebx
   13506:	50                   	push   %eax
   13507:	8a 5d 08             	mov    0x8(%ebp),%bl
   1350a:	89 d8                	mov    %ebx,%eax
   1350c:	e8 8f fc ff ff       	call   131a0 <_HalpLowerIrql>
   13511:	83 ec 0c             	sub    $0xc,%esp
   13514:	53                   	push   %ebx
   13515:	e8 16 fc ff ff       	call   13130 <_HalpEndSystemInterrupt>
   1351a:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1351d:	c9                   	leave  
   1351e:	c2 08 00             	ret    $0x8
   13521:	eb 0d                	jmp    13530 <_HalDisableSystemInterrupt@8>
   13523:	90                   	nop    
   13524:	90                   	nop    
   13525:	90                   	nop    
   13526:	90                   	nop    
   13527:	90                   	nop    
   13528:	90                   	nop    
   13529:	90                   	nop    
   1352a:	90                   	nop    
   1352b:	90                   	nop    
   1352c:	90                   	nop    
   1352d:	90                   	nop    
   1352e:	90                   	nop    
   1352f:	90                   	nop    

00013530 <_HalDisableSystemInterrupt@8>:
   13530:	55                   	push   %ebp
   13531:	89 e5                	mov    %esp,%ebp
   13533:	50                   	push   %eax
   13534:	50                   	push   %eax
   13535:	31 c0                	xor    %eax,%eax
   13537:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1353a:	83 e9 40             	sub    $0x40,%ecx
   1353d:	83 f9 0f             	cmp    $0xf,%ecx
   13540:	77 34                	ja     13576 <_HalDisableSystemInterrupt@8+0x46>
   13542:	b0 01                	mov    $0x1,%al
   13544:	d3 e0                	shl    %cl,%eax
   13546:	66 09 05 10 70 01 00 	or     %ax,0x17010
   1354d:	83 f9 07             	cmp    $0x7,%ecx
   13550:	76 2e                	jbe    13580 <_HalDisableSystemInterrupt@8+0x50>
   13552:	a0 11 94 03 00       	mov    0x39411,%al
   13557:	0a 05 11 70 01 00    	or     0x17011,%al
   1355d:	51                   	push   %ecx
   1355e:	25 ff 00 00 00       	and    $0xff,%eax
   13563:	51                   	push   %ecx
   13564:	50                   	push   %eax
   13565:	68 a1 00 00 00       	push   $0xa1
   1356a:	e8 01 1c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1356f:	58                   	pop    %eax
   13570:	b8 01 00 00 00       	mov    $0x1,%eax
   13575:	5a                   	pop    %edx
   13576:	c9                   	leave  
   13577:	c2 08 00             	ret    $0x8
   1357a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   13580:	50                   	push   %eax
   13581:	50                   	push   %eax
   13582:	a0 11 94 03 00       	mov    0x39411,%al
   13587:	0a 05 10 70 01 00    	or     0x17010,%al
   1358d:	25 ff 00 00 00       	and    $0xff,%eax
   13592:	50                   	push   %eax
   13593:	6a 21                	push   $0x21
   13595:	eb d3                	jmp    1356a <_HalDisableSystemInterrupt@8+0x3a>
   13597:	89 f6                	mov    %esi,%esi
   13599:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000135a0 <_HalEnableSystemInterrupt@12>:
   135a0:	55                   	push   %ebp
   135a1:	89 e5                	mov    %esp,%ebp
   135a3:	50                   	push   %eax
   135a4:	50                   	push   %eax
   135a5:	31 c0                	xor    %eax,%eax
   135a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   135aa:	83 e9 40             	sub    $0x40,%ecx
   135ad:	83 f9 0f             	cmp    $0xf,%ecx
   135b0:	77 37                	ja     135e9 <_HalEnableSystemInterrupt@12+0x49>
   135b2:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
   135b7:	d3 c0                	rol    %cl,%eax
   135b9:	66 21 05 10 70 01 00 	and    %ax,0x17010
   135c0:	83 f9 07             	cmp    $0x7,%ecx
   135c3:	76 2b                	jbe    135f0 <_HalEnableSystemInterrupt@12+0x50>
   135c5:	a0 11 94 03 00       	mov    0x39411,%al
   135ca:	0a 05 11 70 01 00    	or     0x17011,%al
   135d0:	51                   	push   %ecx
   135d1:	25 ff 00 00 00       	and    $0xff,%eax
   135d6:	51                   	push   %ecx
   135d7:	50                   	push   %eax
   135d8:	68 a1 00 00 00       	push   $0xa1
   135dd:	e8 8e 1b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   135e2:	58                   	pop    %eax
   135e3:	b8 01 00 00 00       	mov    $0x1,%eax
   135e8:	5a                   	pop    %edx
   135e9:	c9                   	leave  
   135ea:	c2 0c 00             	ret    $0xc
   135ed:	8d 76 00             	lea    0x0(%esi),%esi
   135f0:	50                   	push   %eax
   135f1:	50                   	push   %eax
   135f2:	a0 10 94 03 00       	mov    0x39410,%al
   135f7:	0a 05 10 70 01 00    	or     0x17010,%al
   135fd:	25 ff 00 00 00       	and    $0xff,%eax
   13602:	50                   	push   %eax
   13603:	6a 21                	push   $0x21
   13605:	eb d6                	jmp    135dd <_HalEnableSystemInterrupt@12+0x3d>
   13607:	89 f6                	mov    %esi,%esi
   13609:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013610 <@HalRequestSoftwareInterrupt@4>:
   13610:	55                   	push   %ebp
   13611:	89 e5                	mov    %esp,%ebp
   13613:	50                   	push   %eax
   13614:	50                   	push   %eax
   13615:	31 c0                	xor    %eax,%eax
   13617:	88 c8                	mov    %cl,%al
   13619:	83 f8 01             	cmp    $0x1,%eax
   1361c:	74 32                	je     13650 <@HalRequestSoftwareInterrupt@4+0x40>
   1361e:	83 f8 02             	cmp    $0x2,%eax
   13621:	74 3d                	je     13660 <@HalRequestSoftwareInterrupt@4+0x50>
   13623:	50                   	push   %eax
   13624:	68 db 01 00 00       	push   $0x1db
   13629:	68 30 80 01 00       	push   $0x18030
   1362e:	68 67 80 01 00       	push   $0x18067
   13633:	e8 18 2b 00 00       	call   16150 <_DbgPrint>
   13638:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1363f:	e8 ec 2a 00 00       	call   16130 <_KeBugCheck@4>
   13644:	83 c4 0c             	add    $0xc,%esp
   13647:	c9                   	leave  
   13648:	c3                   	ret    
   13649:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   13650:	c7 05 94 00 00 ff 01 	movl   $0x1,0xff000094
   13657:	00 00 00 
   1365a:	c9                   	leave  
   1365b:	c3                   	ret    
   1365c:	8d 74 26 00          	lea    0x0(%esi),%esi
   13660:	c7 05 98 00 00 ff 01 	movl   $0x1,0xff000098
   13667:	00 00 00 
   1366a:	c9                   	leave  
   1366b:	c3                   	ret    
   1366c:	90                   	nop    
   1366d:	90                   	nop    
   1366e:	90                   	nop    
   1366f:	90                   	nop    

00013670 <_HalIsaProbe>:
   13670:	55                   	push   %ebp
   13671:	89 e5                	mov    %esp,%ebp
   13673:	83 ec 14             	sub    $0x14,%esp
   13676:	68 a0 80 01 00       	push   $0x180a0
   1367b:	e8 d0 2a 00 00       	call   16150 <_DbgPrint>
   13680:	b8 01 00 00 00       	mov    $0x1,%eax
   13685:	c9                   	leave  
   13686:	c3                   	ret    
   13687:	89 f6                	mov    %esi,%esi
   13689:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013690 <_HalpTranslateIsaBusAddress@24>:
   13690:	55                   	push   %ebp
   13691:	89 e5                	mov    %esp,%ebp
   13693:	57                   	push   %edi
   13694:	56                   	push   %esi
   13695:	53                   	push   %ebx
   13696:	83 ec 14             	sub    $0x14,%esp
   13699:	8b 7d 1c             	mov    0x1c(%ebp),%edi
   1369c:	8b 5d 10             	mov    0x10(%ebp),%ebx
   1369f:	8b 75 14             	mov    0x14(%ebp),%esi
   136a2:	57                   	push   %edi
   136a3:	8b 45 18             	mov    0x18(%ebp),%eax
   136a6:	50                   	push   %eax
   136a7:	56                   	push   %esi
   136a8:	8b 45 0c             	mov    0xc(%ebp),%eax
   136ab:	53                   	push   %ebx
   136ac:	50                   	push   %eax
   136ad:	6a 05                	push   $0x5
   136af:	e8 1c e8 ff ff       	call   11ed0 <_HalTranslateBusAddress@24>
   136b4:	5a                   	pop    %edx
   136b5:	84 c0                	test   %al,%al
   136b7:	59                   	pop    %ecx
   136b8:	74 16                	je     136d0 <_HalpTranslateIsaBusAddress@24+0x40>
   136ba:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   136bd:	25 ff 00 00 00       	and    $0xff,%eax
   136c2:	5b                   	pop    %ebx
   136c3:	5e                   	pop    %esi
   136c4:	5f                   	pop    %edi
   136c5:	5d                   	pop    %ebp
   136c6:	c2 18 00             	ret    $0x18
   136c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   136d0:	51                   	push   %ecx
   136d1:	51                   	push   %ecx
   136d2:	57                   	push   %edi
   136d3:	8b 55 18             	mov    0x18(%ebp),%edx
   136d6:	52                   	push   %edx
   136d7:	56                   	push   %esi
   136d8:	8b 45 0c             	mov    0xc(%ebp),%eax
   136db:	53                   	push   %ebx
   136dc:	50                   	push   %eax
   136dd:	6a 00                	push   $0x0
   136df:	e8 ec e7 ff ff       	call   11ed0 <_HalTranslateBusAddress@24>
   136e4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   136e7:	25 ff 00 00 00       	and    $0xff,%eax
   136ec:	5b                   	pop    %ebx
   136ed:	5e                   	pop    %esi
   136ee:	5f                   	pop    %edi
   136ef:	5d                   	pop    %ebp
   136f0:	c2 18 00             	ret    $0x18
   136f3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   136f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013700 <_HalpGetIsaInterruptVector@24>:
   13700:	55                   	push   %ebp
   13701:	b2 5b                	mov    $0x5b,%dl
   13703:	89 e5                	mov    %esp,%ebp
   13705:	8b 45 14             	mov    0x14(%ebp),%eax
   13708:	8b 4d 18             	mov    0x18(%ebp),%ecx
   1370b:	83 c0 40             	add    $0x40,%eax
   1370e:	28 c2                	sub    %al,%dl
   13710:	88 11                	mov    %dl,(%ecx)
   13712:	8b 55 1c             	mov    0x1c(%ebp),%edx
   13715:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
   1371b:	5d                   	pop    %ebp
   1371c:	c2 18 00             	ret    $0x18
   1371f:	90                   	nop    

00013720 <_KdpDoesComPortExist>:
   13720:	55                   	push   %ebp
   13721:	89 e5                	mov    %esp,%ebp
   13723:	57                   	push   %edi
   13724:	56                   	push   %esi
   13725:	53                   	push   %ebx
   13726:	83 ec 18             	sub    $0x18,%esp
   13729:	8d 70 04             	lea    0x4(%eax),%esi
   1372c:	89 c7                	mov    %eax,%edi
   1372e:	c6 45 f3 00          	movb   $0x0,0xfffffff3(%ebp)
   13732:	56                   	push   %esi
   13733:	e8 88 19 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13738:	8d 5f 06             	lea    0x6(%edi),%ebx
   1373b:	88 45 f2             	mov    %al,0xfffffff2(%ebp)
   1373e:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
   13745:	56                   	push   %esi
   13746:	e8 25 1a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1374b:	6a 10                	push   $0x10
   1374d:	56                   	push   %esi
   1374e:	e8 1d 1a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13753:	50                   	push   %eax
   13754:	53                   	push   %ebx
   13755:	e8 66 19 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1375a:	83 c4 0c             	add    $0xc,%esp
   1375d:	a8 f0                	test   $0xf0,%al
   1375f:	74 1f                	je     13780 <_KdpDoesComPortExist+0x60>
   13761:	50                   	push   %eax
   13762:	50                   	push   %eax
   13763:	31 c0                	xor    %eax,%eax
   13765:	8a 45 f2             	mov    0xfffffff2(%ebp),%al
   13768:	50                   	push   %eax
   13769:	56                   	push   %esi
   1376a:	e8 01 1a 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1376f:	31 c0                	xor    %eax,%eax
   13771:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   13774:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13777:	5b                   	pop    %ebx
   13778:	5e                   	pop    %esi
   13779:	5f                   	pop    %edi
   1377a:	5d                   	pop    %ebp
   1377b:	c3                   	ret    
   1377c:	8d 74 26 00          	lea    0x0(%esi),%esi
   13780:	50                   	push   %eax
   13781:	50                   	push   %eax
   13782:	6a 1f                	push   $0x1f
   13784:	56                   	push   %esi
   13785:	e8 e6 19 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1378a:	50                   	push   %eax
   1378b:	53                   	push   %ebx
   1378c:	e8 2f 19 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13791:	25 f0 00 00 00       	and    $0xf0,%eax
   13796:	83 c4 0c             	add    $0xc,%esp
   13799:	3d f0 00 00 00       	cmp    $0xf0,%eax
   1379e:	75 c1                	jne    13761 <_KdpDoesComPortExist+0x41>
   137a0:	8d 5f 02             	lea    0x2(%edi),%ebx
   137a3:	50                   	push   %eax
   137a4:	50                   	push   %eax
   137a5:	6a 07                	push   $0x7
   137a7:	53                   	push   %ebx
   137a8:	e8 c3 19 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   137ad:	6a 00                	push   $0x0
   137af:	53                   	push   %ebx
   137b0:	e8 bb 19 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   137b5:	53                   	push   %ebx
   137b6:	57                   	push   %edi
   137b7:	e8 04 19 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   137bc:	8d 47 01             	lea    0x1(%edi),%eax
   137bf:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   137c6:	50                   	push   %eax
   137c7:	e8 a4 19 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   137cc:	c6 45 f3 01          	movb   $0x1,0xfffffff3(%ebp)
   137d0:	5a                   	pop    %edx
   137d1:	59                   	pop    %ecx
   137d2:	eb 8d                	jmp    13761 <_KdpDoesComPortExist+0x41>
   137d4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   137da:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

000137e0 <_KdPortInitialize@12>:
   137e0:	55                   	push   %ebp
   137e1:	89 e5                	mov    %esp,%ebp
   137e3:	57                   	push   %edi
   137e4:	56                   	push   %esi
   137e5:	53                   	push   %ebx
   137e6:	83 ec 7c             	sub    $0x7c,%esp
   137e9:	c7 45 c8 00 00 00 00 	movl   $0x0,0xffffffc8(%ebp)
   137f0:	8b 5d 08             	mov    0x8(%ebp),%ebx
   137f3:	c7 45 cc f8 03 00 00 	movl   $0x3f8,0xffffffcc(%ebp)
   137fa:	c7 45 d0 f8 02 00 00 	movl   $0x2f8,0xffffffd0(%ebp)
   13801:	c7 45 d4 e8 03 00 00 	movl   $0x3e8,0xffffffd4(%ebp)
   13808:	c7 45 d8 e8 02 00 00 	movl   $0x2e8,0xffffffd8(%ebp)
   1380f:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13816:	75 51                	jne    13869 <_KdPortInitialize@12+0x89>
   13818:	8b 43 04             	mov    0x4(%ebx),%eax
   1381b:	85 c0                	test   %eax,%eax
   1381d:	0f 85 10 01 00 00    	jne    13933 <_KdPortInitialize@12+0x153>
   13823:	8b 03                	mov    (%ebx),%eax
   13825:	c7 05 98 94 03 00 00 	movl   $0x4b00,0x39498
   1382c:	4b 00 00 
   1382f:	85 c0                	test   %eax,%eax
   13831:	0f 85 0b 01 00 00    	jne    13942 <_KdPortInitialize@12+0x162>
   13837:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   1383a:	e8 e1 fe ff ff       	call   13720 <_KdpDoesComPortExist>
   1383f:	84 c0                	test   %al,%al
   13841:	0f 84 21 01 00 00    	je     13968 <_KdPortInitialize@12+0x188>
   13847:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   1384a:	c7 05 88 94 03 00 02 	movl   $0x2,0x39488
   13851:	00 00 00 
   13854:	a3 68 94 03 00       	mov    %eax,0x39468
   13859:	89 43 08             	mov    %eax,0x8(%ebx)
   1385c:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
   13862:	c6 05 78 94 03 00 01 	movb   $0x1,0x39478
   13869:	50                   	push   %eax
   1386a:	50                   	push   %eax
   1386b:	6a 03                	push   $0x3
   1386d:	a1 68 94 03 00       	mov    0x39468,%eax
   13872:	bb 00 c2 01 00       	mov    $0x1c200,%ebx
   13877:	83 c0 04             	add    $0x4,%eax
   1387a:	50                   	push   %eax
   1387b:	e8 f0 18 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13880:	57                   	push   %edi
   13881:	a1 68 94 03 00       	mov    0x39468,%eax
   13886:	83 c0 03             	add    $0x3,%eax
   13889:	50                   	push   %eax
   1388a:	e8 31 18 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   1388f:	83 c8 80             	or     $0xffffff80,%eax
   13892:	25 ff 00 00 00       	and    $0xff,%eax
   13897:	89 04 24             	mov    %eax,(%esp)
   1389a:	a1 68 94 03 00       	mov    0x39468,%eax
   1389f:	83 c0 03             	add    $0x3,%eax
   138a2:	50                   	push   %eax
   138a3:	e8 c8 18 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   138a8:	89 d8                	mov    %ebx,%eax
   138aa:	31 d2                	xor    %edx,%edx
   138ac:	f7 35 98 94 03 00    	divl   0x39498
   138b2:	89 c3                	mov    %eax,%ebx
   138b4:	31 c0                	xor    %eax,%eax
   138b6:	88 d8                	mov    %bl,%al
   138b8:	50                   	push   %eax
   138b9:	8b 35 68 94 03 00    	mov    0x39468,%esi
   138bf:	56                   	push   %esi
   138c0:	e8 ab 18 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   138c5:	0f b6 df             	movzbl %bh,%ebx
   138c8:	53                   	push   %ebx
   138c9:	a1 68 94 03 00       	mov    0x39468,%eax
   138ce:	40                   	inc    %eax
   138cf:	50                   	push   %eax
   138d0:	e8 9b 18 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   138d5:	6a 03                	push   $0x3
   138d7:	a1 68 94 03 00       	mov    0x39468,%eax
   138dc:	83 c0 03             	add    $0x3,%eax
   138df:	50                   	push   %eax
   138e0:	e8 8b 18 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   138e5:	53                   	push   %ebx
   138e6:	8d 9d 78 ff ff ff    	lea    0xffffff78(%ebp),%ebx
   138ec:	8b 0d 68 94 03 00    	mov    0x39468,%ecx
   138f2:	51                   	push   %ecx
   138f3:	e8 c8 17 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   138f8:	a1 68 94 03 00       	mov    0x39468,%eax
   138fd:	8b 15 98 94 03 00    	mov    0x39498,%edx
   13903:	a3 60 94 03 00       	mov    %eax,0x39460
   13908:	52                   	push   %edx
   13909:	50                   	push   %eax
   1390a:	a1 88 94 03 00       	mov    0x39488,%eax
   1390f:	50                   	push   %eax
   13910:	68 c0 80 01 00       	push   $0x180c0
   13915:	53                   	push   %ebx
   13916:	e8 25 29 00 00       	call   16240 <_sprintf>
   1391b:	83 c4 14             	add    $0x14,%esp
   1391e:	53                   	push   %ebx
   1391f:	e8 dc ef ff ff       	call   12900 <_HalDisplayString@4>
   13924:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13927:	b8 01 00 00 00       	mov    $0x1,%eax
   1392c:	5b                   	pop    %ebx
   1392d:	5e                   	pop    %esi
   1392e:	5f                   	pop    %edi
   1392f:	5d                   	pop    %ebp
   13930:	c2 0c 00             	ret    $0xc
   13933:	a3 98 94 03 00       	mov    %eax,0x39498
   13938:	8b 03                	mov    (%ebx),%eax
   1393a:	85 c0                	test   %eax,%eax
   1393c:	0f 84 f5 fe ff ff    	je     13837 <_KdPortInitialize@12+0x57>
   13942:	8b 44 85 c8          	mov    0xffffffc8(%ebp,%eax,4),%eax
   13946:	e8 d5 fd ff ff       	call   13720 <_KdpDoesComPortExist>
   1394b:	84 c0                	test   %al,%al
   1394d:	74 45                	je     13994 <_KdPortInitialize@12+0x1b4>
   1394f:	8b 03                	mov    (%ebx),%eax
   13951:	a3 88 94 03 00       	mov    %eax,0x39488
   13956:	8b 54 85 c8          	mov    0xffffffc8(%ebp,%eax,4),%edx
   1395a:	89 15 68 94 03 00    	mov    %edx,0x39468
   13960:	89 53 08             	mov    %edx,0x8(%ebx)
   13963:	e9 fa fe ff ff       	jmp    13862 <_KdPortInitialize@12+0x82>
   13968:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1396b:	e8 b0 fd ff ff       	call   13720 <_KdpDoesComPortExist>
   13970:	84 c0                	test   %al,%al
   13972:	74 4e                	je     139c2 <_KdPortInitialize@12+0x1e2>
   13974:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   13977:	c7 05 88 94 03 00 01 	movl   $0x1,0x39488
   1397e:	00 00 00 
   13981:	a3 68 94 03 00       	mov    %eax,0x39468
   13986:	89 43 08             	mov    %eax,0x8(%ebx)
   13989:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
   1398f:	e9 ce fe ff ff       	jmp    13862 <_KdPortInitialize@12+0x82>
   13994:	fc                   	cld    
   13995:	be f8 80 01 00       	mov    $0x180f8,%esi
   1399a:	8d bd 78 ff ff ff    	lea    0xffffff78(%ebp),%edi
   139a0:	b9 0b 00 00 00       	mov    $0xb,%ecx
   139a5:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   139a7:	83 ec 0c             	sub    $0xc,%esp
   139aa:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
   139b0:	50                   	push   %eax
   139b1:	e8 4a ef ff ff       	call   12900 <_HalDisplayString@4>
   139b6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   139b9:	31 c0                	xor    %eax,%eax
   139bb:	5b                   	pop    %ebx
   139bc:	5e                   	pop    %esi
   139bd:	5f                   	pop    %edi
   139be:	5d                   	pop    %ebp
   139bf:	c2 0c 00             	ret    $0xc
   139c2:	fc                   	cld    
   139c3:	be 24 81 01 00       	mov    $0x18124,%esi
   139c8:	8d bd 78 ff ff ff    	lea    0xffffff78(%ebp),%edi
   139ce:	b9 0a 00 00 00       	mov    $0xa,%ecx
   139d3:	a0 4c 81 01 00       	mov    0x1814c,%al
   139d8:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   139da:	88 07                	mov    %al,(%edi)
   139dc:	eb c9                	jmp    139a7 <_KdPortInitialize@12+0x1c7>
   139de:	89 f6                	mov    %esi,%esi

000139e0 <_KdPortInitializeEx@12>:
   139e0:	55                   	push   %ebp
   139e1:	89 e5                	mov    %esp,%ebp
   139e3:	57                   	push   %edi
   139e4:	56                   	push   %esi
   139e5:	53                   	push   %ebx
   139e6:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
   139ec:	c7 45 c8 00 00 00 00 	movl   $0x0,0xffffffc8(%ebp)
   139f3:	8b 7d 08             	mov    0x8(%ebp),%edi
   139f6:	c7 45 cc f8 03 00 00 	movl   $0x3f8,0xffffffcc(%ebp)
   139fd:	c7 45 d0 f8 02 00 00 	movl   $0x2f8,0xffffffd0(%ebp)
   13a04:	c7 45 d4 e8 03 00 00 	movl   $0x3e8,0xffffffd4(%ebp)
   13a0b:	c7 45 d8 e8 02 00 00 	movl   $0x2e8,0xffffffd8(%ebp)
   13a12:	8b 57 04             	mov    0x4(%edi),%edx
   13a15:	85 d2                	test   %edx,%edx
   13a17:	75 07                	jne    13a20 <_KdPortInitializeEx@12+0x40>
   13a19:	c7 47 04 00 4b 00 00 	movl   $0x4b00,0x4(%edi)
   13a20:	8b 17                	mov    (%edi),%edx
   13a22:	31 c0                	xor    %eax,%eax
   13a24:	85 d2                	test   %edx,%edx
   13a26:	75 0a                	jne    13a32 <_KdPortInitializeEx@12+0x52>
   13a28:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13a2b:	5b                   	pop    %ebx
   13a2c:	5e                   	pop    %esi
   13a2d:	5f                   	pop    %edi
   13a2e:	5d                   	pop    %ebp
   13a2f:	c2 0c 00             	ret    $0xc
   13a32:	8b 44 95 c8          	mov    0xffffffc8(%ebp,%edx,4),%eax
   13a36:	e8 e5 fc ff ff       	call   13720 <_KdpDoesComPortExist>
   13a3b:	84 c0                	test   %al,%al
   13a3d:	75 37                	jne    13a76 <_KdPortInitializeEx@12+0x96>
   13a3f:	8d 95 78 ff ff ff    	lea    0xffffff78(%ebp),%edx
   13a45:	be 50 81 01 00       	mov    $0x18150,%esi
   13a4a:	fc                   	cld    
   13a4b:	89 d7                	mov    %edx,%edi
   13a4d:	b9 0b 00 00 00       	mov    $0xb,%ecx
   13a52:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   13a54:	a0 7c 81 01 00       	mov    0x1817c,%al
   13a59:	83 ec 0c             	sub    $0xc,%esp
   13a5c:	88 07                	mov    %al,(%edi)
   13a5e:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
   13a64:	50                   	push   %eax
   13a65:	e8 96 ee ff ff       	call   12900 <_HalDisplayString@4>
   13a6a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13a6d:	31 c0                	xor    %eax,%eax
   13a6f:	5b                   	pop    %ebx
   13a70:	5e                   	pop    %esi
   13a71:	5f                   	pop    %edi
   13a72:	5d                   	pop    %ebp
   13a73:	c2 0c 00             	ret    $0xc
   13a76:	8b 07                	mov    (%edi),%eax
   13a78:	bb 00 c2 01 00       	mov    $0x1c200,%ebx
   13a7d:	8b 74 85 c8          	mov    0xffffffc8(%ebp,%eax,4),%esi
   13a81:	89 77 08             	mov    %esi,0x8(%edi)
   13a84:	50                   	push   %eax
   13a85:	50                   	push   %eax
   13a86:	8d 46 04             	lea    0x4(%esi),%eax
   13a89:	6a 03                	push   $0x3
   13a8b:	50                   	push   %eax
   13a8c:	e8 df 16 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13a91:	50                   	push   %eax
   13a92:	8d 46 03             	lea    0x3(%esi),%eax
   13a95:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
   13a9b:	50                   	push   %eax
   13a9c:	e8 1f 16 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13aa1:	83 c8 80             	or     $0xffffff80,%eax
   13aa4:	25 ff 00 00 00       	and    $0xff,%eax
   13aa9:	89 04 24             	mov    %eax,(%esp)
   13aac:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
   13ab2:	50                   	push   %eax
   13ab3:	e8 b8 16 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13ab8:	89 d8                	mov    %ebx,%eax
   13aba:	31 d2                	xor    %edx,%edx
   13abc:	f7 77 04             	divl   0x4(%edi)
   13abf:	89 c3                	mov    %eax,%ebx
   13ac1:	31 c0                	xor    %eax,%eax
   13ac3:	88 d8                	mov    %bl,%al
   13ac5:	50                   	push   %eax
   13ac6:	56                   	push   %esi
   13ac7:	e8 a4 16 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13acc:	8d 46 01             	lea    0x1(%esi),%eax
   13acf:	0f b6 df             	movzbl %bh,%ebx
   13ad2:	53                   	push   %ebx
   13ad3:	50                   	push   %eax
   13ad4:	e8 97 16 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13ad9:	6a 03                	push   $0x3
   13adb:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
   13ae1:	50                   	push   %eax
   13ae2:	e8 89 16 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13ae7:	50                   	push   %eax
   13ae8:	56                   	push   %esi
   13ae9:	e8 d2 15 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13aee:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13af1:	b8 01 00 00 00       	mov    $0x1,%eax
   13af6:	5b                   	pop    %ebx
   13af7:	5e                   	pop    %esi
   13af8:	5f                   	pop    %edi
   13af9:	5d                   	pop    %ebp
   13afa:	c2 0c 00             	ret    $0xc
   13afd:	8d 76 00             	lea    0x0(%esi),%esi

00013b00 <_KdPortGetByte@4>:
   13b00:	55                   	push   %ebp
   13b01:	89 e5                	mov    %esp,%ebp
   13b03:	50                   	push   %eax
   13b04:	50                   	push   %eax
   13b05:	31 d2                	xor    %edx,%edx
   13b07:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13b0e:	75 06                	jne    13b16 <_KdPortGetByte@4+0x16>
   13b10:	89 d0                	mov    %edx,%eax
   13b12:	c9                   	leave  
   13b13:	c2 04 00             	ret    $0x4
   13b16:	83 ec 0c             	sub    $0xc,%esp
   13b19:	a1 68 94 03 00       	mov    0x39468,%eax
   13b1e:	83 c0 05             	add    $0x5,%eax
   13b21:	50                   	push   %eax
   13b22:	e8 99 15 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13b27:	31 d2                	xor    %edx,%edx
   13b29:	83 c4 0c             	add    $0xc,%esp
   13b2c:	a8 01                	test   $0x1,%al
   13b2e:	74 e0                	je     13b10 <_KdPortGetByte@4+0x10>
   13b30:	83 ec 0c             	sub    $0xc,%esp
   13b33:	8b 0d 68 94 03 00    	mov    0x39468,%ecx
   13b39:	51                   	push   %ecx
   13b3a:	e8 81 15 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13b3f:	8b 55 08             	mov    0x8(%ebp),%edx
   13b42:	88 02                	mov    %al,(%edx)
   13b44:	ba 01 00 00 00       	mov    $0x1,%edx
   13b49:	eb c5                	jmp    13b10 <_KdPortGetByte@4+0x10>
   13b4b:	90                   	nop    
   13b4c:	8d 74 26 00          	lea    0x0(%esi),%esi

00013b50 <_KdPortGetByteEx@8>:
   13b50:	55                   	push   %ebp
   13b51:	89 e5                	mov    %esp,%ebp
   13b53:	53                   	push   %ebx
   13b54:	83 ec 10             	sub    $0x10,%esp
   13b57:	8b 45 08             	mov    0x8(%ebp),%eax
   13b5a:	8b 58 08             	mov    0x8(%eax),%ebx
   13b5d:	8d 43 05             	lea    0x5(%ebx),%eax
   13b60:	50                   	push   %eax
   13b61:	e8 5a 15 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13b66:	31 d2                	xor    %edx,%edx
   13b68:	83 c4 0c             	add    $0xc,%esp
   13b6b:	a8 01                	test   $0x1,%al
   13b6d:	75 09                	jne    13b78 <_KdPortGetByteEx@8+0x28>
   13b6f:	89 d0                	mov    %edx,%eax
   13b71:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13b74:	c9                   	leave  
   13b75:	c2 08 00             	ret    $0x8
   13b78:	83 ec 0c             	sub    $0xc,%esp
   13b7b:	53                   	push   %ebx
   13b7c:	e8 3f 15 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13b81:	8b 55 0c             	mov    0xc(%ebp),%edx
   13b84:	88 02                	mov    %al,(%edx)
   13b86:	ba 01 00 00 00       	mov    $0x1,%edx
   13b8b:	89 d0                	mov    %edx,%eax
   13b8d:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13b90:	c9                   	leave  
   13b91:	c2 08 00             	ret    $0x8
   13b94:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   13b9a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00013ba0 <_KdPortPollByte@4>:
   13ba0:	55                   	push   %ebp
   13ba1:	89 e5                	mov    %esp,%ebp
   13ba3:	50                   	push   %eax
   13ba4:	50                   	push   %eax
   13ba5:	31 c0                	xor    %eax,%eax
   13ba7:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13bae:	75 04                	jne    13bb4 <_KdPortPollByte@4+0x14>
   13bb0:	c9                   	leave  
   13bb1:	c2 04 00             	ret    $0x4
   13bb4:	83 ec 0c             	sub    $0xc,%esp
   13bb7:	a1 68 94 03 00       	mov    0x39468,%eax
   13bbc:	83 c0 05             	add    $0x5,%eax
   13bbf:	50                   	push   %eax
   13bc0:	e8 fb 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13bc5:	83 c4 0c             	add    $0xc,%esp
   13bc8:	a8 01                	test   $0x1,%al
   13bca:	74 e8                	je     13bb4 <_KdPortPollByte@4+0x14>
   13bcc:	83 ec 0c             	sub    $0xc,%esp
   13bcf:	a1 68 94 03 00       	mov    0x39468,%eax
   13bd4:	50                   	push   %eax
   13bd5:	e8 e6 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13bda:	8b 55 08             	mov    0x8(%ebp),%edx
   13bdd:	88 02                	mov    %al,(%edx)
   13bdf:	b8 01 00 00 00       	mov    $0x1,%eax
   13be4:	c9                   	leave  
   13be5:	c2 04 00             	ret    $0x4
   13be8:	90                   	nop    
   13be9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00013bf0 <_KdPortPollByteEx@8>:
   13bf0:	55                   	push   %ebp
   13bf1:	89 e5                	mov    %esp,%ebp
   13bf3:	56                   	push   %esi
   13bf4:	53                   	push   %ebx
   13bf5:	8b 45 08             	mov    0x8(%ebp),%eax
   13bf8:	8b 70 08             	mov    0x8(%eax),%esi
   13bfb:	8d 5e 05             	lea    0x5(%esi),%ebx
   13bfe:	89 f6                	mov    %esi,%esi
   13c00:	83 ec 0c             	sub    $0xc,%esp
   13c03:	53                   	push   %ebx
   13c04:	e8 b7 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13c09:	83 c4 0c             	add    $0xc,%esp
   13c0c:	a8 01                	test   $0x1,%al
   13c0e:	74 f0                	je     13c00 <_KdPortPollByteEx@8+0x10>
   13c10:	83 ec 0c             	sub    $0xc,%esp
   13c13:	56                   	push   %esi
   13c14:	e8 a7 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13c19:	8b 55 0c             	mov    0xc(%ebp),%edx
   13c1c:	88 02                	mov    %al,(%edx)
   13c1e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   13c21:	b8 01 00 00 00       	mov    $0x1,%eax
   13c26:	5b                   	pop    %ebx
   13c27:	5e                   	pop    %esi
   13c28:	5d                   	pop    %ebp
   13c29:	c2 08 00             	ret    $0x8
   13c2c:	8d 74 26 00          	lea    0x0(%esi),%esi

00013c30 <_KdPortPutByte@4>:
   13c30:	55                   	push   %ebp
   13c31:	89 e5                	mov    %esp,%ebp
   13c33:	53                   	push   %ebx
   13c34:	50                   	push   %eax
   13c35:	8a 5d 08             	mov    0x8(%ebp),%bl
   13c38:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13c3f:	75 07                	jne    13c48 <_KdPortPutByte@4+0x18>
   13c41:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13c44:	c9                   	leave  
   13c45:	c2 04 00             	ret    $0x4
   13c48:	83 ec 0c             	sub    $0xc,%esp
   13c4b:	a1 68 94 03 00       	mov    0x39468,%eax
   13c50:	83 c0 05             	add    $0x5,%eax
   13c53:	50                   	push   %eax
   13c54:	e8 67 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13c59:	83 c4 0c             	add    $0xc,%esp
   13c5c:	a8 20                	test   $0x20,%al
   13c5e:	74 e8                	je     13c48 <_KdPortPutByte@4+0x18>
   13c60:	50                   	push   %eax
   13c61:	50                   	push   %eax
   13c62:	31 c0                	xor    %eax,%eax
   13c64:	88 d8                	mov    %bl,%al
   13c66:	50                   	push   %eax
   13c67:	a1 68 94 03 00       	mov    0x39468,%eax
   13c6c:	50                   	push   %eax
   13c6d:	e8 fe 14 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13c72:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13c75:	c9                   	leave  
   13c76:	c2 04 00             	ret    $0x4
   13c79:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00013c80 <_KdPortPutByteEx@8>:
   13c80:	55                   	push   %ebp
   13c81:	89 e5                	mov    %esp,%ebp
   13c83:	57                   	push   %edi
   13c84:	56                   	push   %esi
   13c85:	53                   	push   %ebx
   13c86:	83 ec 0c             	sub    $0xc,%esp
   13c89:	8b 45 08             	mov    0x8(%ebp),%eax
   13c8c:	0f b6 7d 0c          	movzbl 0xc(%ebp),%edi
   13c90:	8b 70 08             	mov    0x8(%eax),%esi
   13c93:	8d 5e 05             	lea    0x5(%esi),%ebx
   13c96:	83 ec 0c             	sub    $0xc,%esp
   13c99:	53                   	push   %ebx
   13c9a:	e8 21 14 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13c9f:	83 c4 0c             	add    $0xc,%esp
   13ca2:	a8 20                	test   $0x20,%al
   13ca4:	74 f0                	je     13c96 <_KdPortPutByteEx@8+0x16>
   13ca6:	89 f8                	mov    %edi,%eax
   13ca8:	89 75 08             	mov    %esi,0x8(%ebp)
   13cab:	25 ff 00 00 00       	and    $0xff,%eax
   13cb0:	89 45 0c             	mov    %eax,0xc(%ebp)
   13cb3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13cb6:	5b                   	pop    %ebx
   13cb7:	5e                   	pop    %esi
   13cb8:	5f                   	pop    %edi
   13cb9:	5d                   	pop    %ebp
   13cba:	e9 b1 14 00 00       	jmp    15170 <_WRITE_PORT_UCHAR@8>
   13cbf:	90                   	nop    

00013cc0 <_KdPortRestore@0>:
   13cc0:	55                   	push   %ebp
   13cc1:	89 e5                	mov    %esp,%ebp
   13cc3:	5d                   	pop    %ebp
   13cc4:	c3                   	ret    
   13cc5:	8d 74 26 00          	lea    0x0(%esi),%esi
   13cc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013cd0 <_KdPortSave@0>:
   13cd0:	55                   	push   %ebp
   13cd1:	89 e5                	mov    %esp,%ebp
   13cd3:	5d                   	pop    %ebp
   13cd4:	c3                   	ret    
   13cd5:	8d 74 26 00          	lea    0x0(%esi),%esi
   13cd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013ce0 <_KdPortDisableInterrupts@0>:
   13ce0:	55                   	push   %ebp
   13ce1:	89 e5                	mov    %esp,%ebp
   13ce3:	51                   	push   %ecx
   13ce4:	51                   	push   %ecx
   13ce5:	31 c0                	xor    %eax,%eax
   13ce7:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13cee:	75 02                	jne    13cf2 <_KdPortDisableInterrupts@0+0x12>
   13cf0:	c9                   	leave  
   13cf1:	c3                   	ret    
   13cf2:	a1 68 94 03 00       	mov    0x39468,%eax
   13cf7:	83 ec 0c             	sub    $0xc,%esp
   13cfa:	83 c0 04             	add    $0x4,%eax
   13cfd:	50                   	push   %eax
   13cfe:	e8 bd 13 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13d03:	25 f3 00 00 00       	and    $0xf3,%eax
   13d08:	89 04 24             	mov    %eax,(%esp)
   13d0b:	a1 68 94 03 00       	mov    0x39468,%eax
   13d10:	83 c0 04             	add    $0x4,%eax
   13d13:	50                   	push   %eax
   13d14:	e8 57 14 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13d19:	52                   	push   %edx
   13d1a:	a1 68 94 03 00       	mov    0x39468,%eax
   13d1f:	40                   	inc    %eax
   13d20:	50                   	push   %eax
   13d21:	e8 9a 13 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13d26:	25 f0 00 00 00       	and    $0xf0,%eax
   13d2b:	89 04 24             	mov    %eax,(%esp)
   13d2e:	a1 68 94 03 00       	mov    0x39468,%eax
   13d33:	40                   	inc    %eax
   13d34:	50                   	push   %eax
   13d35:	e8 36 14 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13d3a:	b8 01 00 00 00       	mov    $0x1,%eax
   13d3f:	c9                   	leave  
   13d40:	c3                   	ret    
   13d41:	eb 0d                	jmp    13d50 <_KdPortEnableInterrupts@0>
   13d43:	90                   	nop    
   13d44:	90                   	nop    
   13d45:	90                   	nop    
   13d46:	90                   	nop    
   13d47:	90                   	nop    
   13d48:	90                   	nop    
   13d49:	90                   	nop    
   13d4a:	90                   	nop    
   13d4b:	90                   	nop    
   13d4c:	90                   	nop    
   13d4d:	90                   	nop    
   13d4e:	90                   	nop    
   13d4f:	90                   	nop    

00013d50 <_KdPortEnableInterrupts@0>:
   13d50:	55                   	push   %ebp
   13d51:	89 e5                	mov    %esp,%ebp
   13d53:	50                   	push   %eax
   13d54:	50                   	push   %eax
   13d55:	31 c0                	xor    %eax,%eax
   13d57:	80 3d 78 94 03 00 00 	cmpb   $0x0,0x39478
   13d5e:	75 02                	jne    13d62 <_KdPortEnableInterrupts@0+0x12>
   13d60:	c9                   	leave  
   13d61:	c3                   	ret    
   13d62:	a1 68 94 03 00       	mov    0x39468,%eax
   13d67:	83 ec 0c             	sub    $0xc,%esp
   13d6a:	40                   	inc    %eax
   13d6b:	50                   	push   %eax
   13d6c:	e8 4f 13 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13d71:	83 e0 f0             	and    $0xfffffff0,%eax
   13d74:	83 c8 01             	or     $0x1,%eax
   13d77:	25 ff 00 00 00       	and    $0xff,%eax
   13d7c:	89 04 24             	mov    %eax,(%esp)
   13d7f:	a1 68 94 03 00       	mov    0x39468,%eax
   13d84:	40                   	inc    %eax
   13d85:	50                   	push   %eax
   13d86:	e8 e5 13 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13d8b:	50                   	push   %eax
   13d8c:	a1 68 94 03 00       	mov    0x39468,%eax
   13d91:	83 c0 04             	add    $0x4,%eax
   13d94:	50                   	push   %eax
   13d95:	e8 26 13 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13d9a:	83 e0 ef             	and    $0xffffffef,%eax
   13d9d:	83 c8 0c             	or     $0xc,%eax
   13da0:	25 ff 00 00 00       	and    $0xff,%eax
   13da5:	89 04 24             	mov    %eax,(%esp)
   13da8:	a1 68 94 03 00       	mov    0x39468,%eax
   13dad:	83 c0 04             	add    $0x4,%eax
   13db0:	50                   	push   %eax
   13db1:	e8 ba 13 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13db6:	b8 01 00 00 00       	mov    $0x1,%eax
   13dbb:	c9                   	leave  
   13dbc:	c3                   	ret    
   13dbd:	90                   	nop    
   13dbe:	90                   	nop    
   13dbf:	90                   	nop    

00013dc0 <_HalpGetMicroChannelData@24>:
   13dc0:	55                   	push   %ebp
   13dc1:	89 e5                	mov    %esp,%ebp
   13dc3:	57                   	push   %edi
   13dc4:	56                   	push   %esi
   13dc5:	53                   	push   %ebx
   13dc6:	83 ec 0c             	sub    $0xc,%esp
   13dc9:	8b 4d 10             	mov    0x10(%ebp),%ecx
   13dcc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   13dcf:	85 db                	test   %ebx,%ebx
   13dd1:	8b 75 14             	mov    0x14(%ebp),%esi
   13dd4:	0f 95 c2             	setne  %dl
   13dd7:	85 c9                	test   %ecx,%ecx
   13dd9:	0f 94 c0             	sete   %al
   13ddc:	09 d0                	or     %edx,%eax
   13dde:	a8 01                	test   $0x1,%al
   13de0:	75 13                	jne    13df5 <_HalpGetMicroChannelData@24+0x35>
   13de2:	83 f9 08             	cmp    $0x8,%ecx
   13de5:	0f 97 c2             	seta   %dl
   13de8:	83 7d 1c 05          	cmpl   $0x5,0x1c(%ebp)
   13dec:	0f 96 c0             	setbe  %al
   13def:	09 d0                	or     %edx,%eax
   13df1:	a8 01                	test   $0x1,%al
   13df3:	74 0c                	je     13e01 <_HalpGetMicroChannelData@24+0x41>
   13df5:	31 c0                	xor    %eax,%eax
   13df7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13dfa:	5b                   	pop    %ebx
   13dfb:	5e                   	pop    %esi
   13dfc:	5f                   	pop    %edi
   13dfd:	5d                   	pop    %ebp
   13dfe:	c2 18 00             	ret    $0x18
   13e01:	8d 59 ff             	lea    0xffffffff(%ecx),%ebx
   13e04:	89 d8                	mov    %ebx,%eax
   13e06:	52                   	push   %edx
   13e07:	83 c8 08             	or     $0x8,%eax
   13e0a:	52                   	push   %edx
   13e0b:	83 e0 0f             	and    $0xf,%eax
   13e0e:	83 e3 07             	and    $0x7,%ebx
   13e11:	50                   	push   %eax
   13e12:	68 96 00 00 00       	push   $0x96
   13e17:	e8 54 13 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13e1c:	50                   	push   %eax
   13e1d:	68 01 01 00 00       	push   $0x101
   13e22:	e8 99 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e27:	25 ff 00 00 00       	and    $0xff,%eax
   13e2c:	89 c7                	mov    %eax,%edi
   13e2e:	68 00 01 00 00       	push   $0x100
   13e33:	c1 e7 08             	shl    $0x8,%edi
   13e36:	e8 85 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e3b:	25 ff 00 00 00       	and    $0xff,%eax
   13e40:	01 f8                	add    %edi,%eax
   13e42:	66 89 06             	mov    %ax,(%esi)
   13e45:	68 02 01 00 00       	push   $0x102
   13e4a:	e8 71 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e4f:	88 46 02             	mov    %al,0x2(%esi)
   13e52:	68 03 01 00 00       	push   $0x103
   13e57:	e8 64 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e5c:	88 46 03             	mov    %al,0x3(%esi)
   13e5f:	68 04 01 00 00       	push   $0x104
   13e64:	e8 57 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e69:	88 46 04             	mov    %al,0x4(%esi)
   13e6c:	68 05 01 00 00       	push   $0x105
   13e71:	e8 4a 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e76:	88 46 05             	mov    %al,0x5(%esi)
   13e79:	89 1c 24             	mov    %ebx,(%esp)
   13e7c:	68 96 00 00 00       	push   $0x96
   13e81:	e8 ea 12 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13e86:	b8 06 00 00 00       	mov    $0x6,%eax
   13e8b:	e9 67 ff ff ff       	jmp    13df7 <_HalpGetMicroChannelData@24+0x37>

00013e90 <_HalHandleNMI@4>:
   13e90:	55                   	push   %ebp
   13e91:	89 e5                	mov    %esp,%ebp
   13e93:	53                   	push   %ebx
   13e94:	83 ec 10             	sub    $0x10,%esp
   13e97:	6a 61                	push   $0x61
   13e99:	e8 22 12 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13e9e:	88 c3                	mov    %al,%bl
   13ea0:	68 80 81 01 00       	push   $0x18180
   13ea5:	e8 56 ea ff ff       	call   12900 <_HalDisplayString@4>
   13eaa:	68 9c 81 01 00       	push   $0x1819c
   13eaf:	e8 4c ea ff ff       	call   12900 <_HalDisplayString@4>
   13eb4:	83 c4 0c             	add    $0xc,%esp
   13eb7:	84 db                	test   %bl,%bl
   13eb9:	78 55                	js     13f10 <_HalHandleNMI@4+0x80>
   13ebb:	83 e3 40             	and    $0x40,%ebx
   13ebe:	75 20                	jne    13ee0 <_HalHandleNMI@4+0x50>
   13ec0:	83 ec 0c             	sub    $0xc,%esp
   13ec3:	68 c4 81 01 00       	push   $0x181c4
   13ec8:	e8 33 ea ff ff       	call   12900 <_HalDisplayString@4>
   13ecd:	83 c4 0c             	add    $0xc,%esp
   13ed0:	e8 7b 23 00 00       	call   16250 <_KeEnterKernelDebugger@0>
   13ed5:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13ed8:	c9                   	leave  
   13ed9:	c2 04 00             	ret    $0x4
   13edc:	8d 74 26 00          	lea    0x0(%esi),%esi
   13ee0:	83 ec 0c             	sub    $0xc,%esp
   13ee3:	68 e4 81 01 00       	push   $0x181e4
   13ee8:	e8 13 ea ff ff       	call   12900 <_HalDisplayString@4>
   13eed:	83 c4 0c             	add    $0xc,%esp
   13ef0:	83 ec 0c             	sub    $0xc,%esp
   13ef3:	68 c4 81 01 00       	push   $0x181c4
   13ef8:	e8 03 ea ff ff       	call   12900 <_HalDisplayString@4>
   13efd:	83 c4 0c             	add    $0xc,%esp
   13f00:	e8 4b 23 00 00       	call   16250 <_KeEnterKernelDebugger@0>
   13f05:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   13f08:	c9                   	leave  
   13f09:	c2 04 00             	ret    $0x4
   13f0c:	8d 74 26 00          	lea    0x0(%esi),%esi
   13f10:	83 ec 0c             	sub    $0xc,%esp
   13f13:	68 00 82 01 00       	push   $0x18200
   13f18:	e8 e3 e9 ff ff       	call   12900 <_HalDisplayString@4>
   13f1d:	83 c4 0c             	add    $0xc,%esp
   13f20:	eb 99                	jmp    13ebb <_HalHandleNMI@4+0x2b>
   13f22:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   13f29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013f30 <_HalProcessorIdle@0>:
   13f30:	55                   	push   %ebp
   13f31:	89 e5                	mov    %esp,%ebp
   13f33:	fb                   	sti    
   13f34:	f4                   	hlt    
   13f35:	5d                   	pop    %ebp
   13f36:	c3                   	ret    
   13f37:	89 f6                	mov    %esi,%esi
   13f39:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00013f40 <@HalSystemVectorDispatchEntry@12>:
   13f40:	55                   	push   %ebp
   13f41:	31 c0                	xor    %eax,%eax
   13f43:	89 e5                	mov    %esp,%ebp
   13f45:	5d                   	pop    %ebp
   13f46:	c2 04 00             	ret    $0x4
   13f49:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00013f50 <_KeFlushWriteBuffer@0>:
   13f50:	55                   	push   %ebp
   13f51:	89 e5                	mov    %esp,%ebp
   13f53:	5d                   	pop    %ebp
   13f54:	c3                   	ret    
   13f55:	90                   	nop    
   13f56:	90                   	nop    
   13f57:	90                   	nop    
   13f58:	90                   	nop    
   13f59:	90                   	nop    
   13f5a:	90                   	nop    
   13f5b:	90                   	nop    
   13f5c:	90                   	nop    
   13f5d:	90                   	nop    
   13f5e:	90                   	nop    
   13f5f:	90                   	nop    

00013f60 <_ReadPciConfigUchar>:
   13f60:	55                   	push   %ebp
   13f61:	89 e5                	mov    %esp,%ebp
   13f63:	57                   	push   %edi
   13f64:	56                   	push   %esi
   13f65:	53                   	push   %ebx
   13f66:	83 ec 0c             	sub    $0xc,%esp
   13f69:	89 c6                	mov    %eax,%esi
   13f6b:	a1 b0 94 03 00       	mov    0x394b0,%eax
   13f70:	88 d3                	mov    %dl,%bl
   13f72:	0f b6 7d 08          	movzbl 0x8(%ebp),%edi
   13f76:	83 f8 01             	cmp    $0x1,%eax
   13f79:	0f 84 a1 00 00 00    	je     14020 <_ReadPciConfigUchar+0xc0>
   13f7f:	83 f8 02             	cmp    $0x2,%eax
   13f82:	0f 85 88 00 00 00    	jne    14010 <_ReadPciConfigUchar+0xb0>
   13f88:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   13f8b:	52                   	push   %edx
   13f8c:	52                   	push   %edx
   13f8d:	50                   	push   %eax
   13f8e:	68 c0 94 03 00       	push   $0x394c0
   13f93:	e8 38 13 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   13f98:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   13f9e:	89 d8                	mov    %ebx,%eax
   13fa0:	83 e3 1f             	and    $0x1f,%ebx
   13fa3:	c1 e3 08             	shl    $0x8,%ebx
   13fa6:	25 e0 00 00 00       	and    $0xe0,%eax
   13fab:	c1 f8 04             	sar    $0x4,%eax
   13fae:	0c f0                	or     $0xf0,%al
   13fb0:	50                   	push   %eax
   13fb1:	68 f8 0c 00 00       	push   $0xcf8
   13fb6:	e8 b5 11 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13fbb:	89 f0                	mov    %esi,%eax
   13fbd:	25 ff 00 00 00       	and    $0xff,%eax
   13fc2:	50                   	push   %eax
   13fc3:	68 fa 0c 00 00       	push   $0xcfa
   13fc8:	e8 a3 11 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13fcd:	50                   	push   %eax
   13fce:	89 f8                	mov    %edi,%eax
   13fd0:	25 ff 00 00 00       	and    $0xff,%eax
   13fd5:	09 c3                	or     %eax,%ebx
   13fd7:	80 cf c0             	or     $0xc0,%bh
   13fda:	53                   	push   %ebx
   13fdb:	e8 e0 10 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   13fe0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   13fe3:	88 01                	mov    %al,(%ecx)
   13fe5:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   13fec:	68 f8 0c 00 00       	push   $0xcf8
   13ff1:	e8 7a 11 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   13ff6:	31 c0                	xor    %eax,%eax
   13ff8:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   13ffb:	50                   	push   %eax
   13ffc:	68 c0 94 03 00       	push   $0x394c0
   14001:	e8 3a 13 00 00       	call   15340 <_KeReleaseSpinLock@8>
   14006:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14009:	31 c0                	xor    %eax,%eax
   1400b:	5b                   	pop    %ebx
   1400c:	5e                   	pop    %esi
   1400d:	5f                   	pop    %edi
   1400e:	5d                   	pop    %ebp
   1400f:	c3                   	ret    
   14010:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14013:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   14018:	5b                   	pop    %ebx
   14019:	5e                   	pop    %esi
   1401a:	5f                   	pop    %edi
   1401b:	5d                   	pop    %ebp
   1401c:	c3                   	ret    
   1401d:	8d 76 00             	lea    0x0(%esi),%esi
   14020:	50                   	push   %eax
   14021:	50                   	push   %eax
   14022:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14025:	50                   	push   %eax
   14026:	68 c0 94 03 00       	push   $0x394c0
   1402b:	e8 a0 12 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14030:	31 c9                	xor    %ecx,%ecx
   14032:	88 d9                	mov    %bl,%cl
   14034:	89 f2                	mov    %esi,%edx
   14036:	89 c8                	mov    %ecx,%eax
   14038:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1403e:	83 e0 1f             	and    $0x1f,%eax
   14041:	89 fb                	mov    %edi,%ebx
   14043:	c1 e0 0b             	shl    $0xb,%eax
   14046:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   1404c:	c1 e2 10             	shl    $0x10,%edx
   1404f:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   14055:	c1 e1 03             	shl    $0x3,%ecx
   14058:	09 c2                	or     %eax,%edx
   1405a:	89 d8                	mov    %ebx,%eax
   1405c:	09 ca                	or     %ecx,%edx
   1405e:	83 e0 fc             	and    $0xfffffffc,%eax
   14061:	81 cb fc 0c 00 00    	or     $0xcfc,%ebx
   14067:	09 c2                	or     %eax,%edx
   14069:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   1406f:	52                   	push   %edx
   14070:	68 f8 0c 00 00       	push   $0xcf8
   14075:	e8 26 11 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   1407a:	51                   	push   %ecx
   1407b:	53                   	push   %ebx
   1407c:	e8 3f 10 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   14081:	8b 55 0c             	mov    0xc(%ebp),%edx
   14084:	88 02                	mov    %al,(%edx)
   14086:	31 c0                	xor    %eax,%eax
   14088:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   1408b:	89 04 24             	mov    %eax,(%esp)
   1408e:	68 c0 94 03 00       	push   $0x394c0
   14093:	e8 a8 12 00 00       	call   15340 <_KeReleaseSpinLock@8>
   14098:	e9 69 ff ff ff       	jmp    14006 <_ReadPciConfigUchar+0xa6>
   1409d:	8d 76 00             	lea    0x0(%esi),%esi

000140a0 <_ReadPciConfigUshort>:
   140a0:	55                   	push   %ebp
   140a1:	89 e5                	mov    %esp,%ebp
   140a3:	57                   	push   %edi
   140a4:	56                   	push   %esi
   140a5:	53                   	push   %ebx
   140a6:	83 ec 0c             	sub    $0xc,%esp
   140a9:	89 c7                	mov    %eax,%edi
   140ab:	8a 45 08             	mov    0x8(%ebp),%al
   140ae:	88 d3                	mov    %dl,%bl
   140b0:	25 ff 00 00 00       	and    $0xff,%eax
   140b5:	89 c6                	mov    %eax,%esi
   140b7:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   140bc:	f7 c6 01 00 00 00    	test   $0x1,%esi
   140c2:	0f 85 91 00 00 00    	jne    14159 <_ReadPciConfigUshort+0xb9>
   140c8:	a1 b0 94 03 00       	mov    0x394b0,%eax
   140cd:	83 f8 01             	cmp    $0x1,%eax
   140d0:	0f 84 9a 00 00 00    	je     14170 <_ReadPciConfigUshort+0xd0>
   140d6:	83 f8 02             	cmp    $0x2,%eax
   140d9:	0f 85 82 00 00 00    	jne    14161 <_ReadPciConfigUshort+0xc1>
   140df:	50                   	push   %eax
   140e0:	50                   	push   %eax
   140e1:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   140e4:	50                   	push   %eax
   140e5:	68 c0 94 03 00       	push   $0x394c0
   140ea:	e8 e1 11 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   140ef:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   140f5:	89 d8                	mov    %ebx,%eax
   140f7:	83 e3 1f             	and    $0x1f,%ebx
   140fa:	c1 e3 08             	shl    $0x8,%ebx
   140fd:	25 e0 00 00 00       	and    $0xe0,%eax
   14102:	c1 f8 04             	sar    $0x4,%eax
   14105:	09 f3                	or     %esi,%ebx
   14107:	0c f0                	or     $0xf0,%al
   14109:	80 cf c0             	or     $0xc0,%bh
   1410c:	50                   	push   %eax
   1410d:	68 f8 0c 00 00       	push   $0xcf8
   14112:	e8 59 10 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14117:	89 f8                	mov    %edi,%eax
   14119:	25 ff 00 00 00       	and    $0xff,%eax
   1411e:	50                   	push   %eax
   1411f:	68 fa 0c 00 00       	push   $0xcfa
   14124:	e8 47 10 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14129:	50                   	push   %eax
   1412a:	53                   	push   %ebx
   1412b:	e8 b0 0f 00 00       	call   150e0 <_READ_PORT_USHORT@4>
   14130:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   14133:	66 89 01             	mov    %ax,(%ecx)
   14136:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1413d:	68 f8 0c 00 00       	push   $0xcf8
   14142:	e8 29 10 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14147:	31 c0                	xor    %eax,%eax
   14149:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   1414c:	50                   	push   %eax
   1414d:	68 c0 94 03 00       	push   $0x394c0
   14152:	e8 e9 11 00 00       	call   15340 <_KeReleaseSpinLock@8>
   14157:	31 c0                	xor    %eax,%eax
   14159:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1415c:	5b                   	pop    %ebx
   1415d:	5e                   	pop    %esi
   1415e:	5f                   	pop    %edi
   1415f:	5d                   	pop    %ebp
   14160:	c3                   	ret    
   14161:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14164:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   14169:	5b                   	pop    %ebx
   1416a:	5e                   	pop    %esi
   1416b:	5f                   	pop    %edi
   1416c:	5d                   	pop    %ebp
   1416d:	c3                   	ret    
   1416e:	89 f6                	mov    %esi,%esi
   14170:	50                   	push   %eax
   14171:	50                   	push   %eax
   14172:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14175:	50                   	push   %eax
   14176:	68 c0 94 03 00       	push   $0x394c0
   1417b:	e8 50 11 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14180:	31 c9                	xor    %ecx,%ecx
   14182:	88 d9                	mov    %bl,%cl
   14184:	89 fa                	mov    %edi,%edx
   14186:	89 c8                	mov    %ecx,%eax
   14188:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1418e:	83 e0 1f             	and    $0x1f,%eax
   14191:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   14197:	c1 e0 0b             	shl    $0xb,%eax
   1419a:	c1 e2 10             	shl    $0x10,%edx
   1419d:	c1 e1 03             	shl    $0x3,%ecx
   141a0:	09 c2                	or     %eax,%edx
   141a2:	89 f0                	mov    %esi,%eax
   141a4:	09 ca                	or     %ecx,%edx
   141a6:	83 e0 fc             	and    $0xfffffffc,%eax
   141a9:	83 e6 02             	and    $0x2,%esi
   141ac:	09 c2                	or     %eax,%edx
   141ae:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   141b4:	52                   	push   %edx
   141b5:	68 f8 0c 00 00       	push   $0xcf8
   141ba:	e8 e1 0f 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   141bf:	50                   	push   %eax
   141c0:	8d 04 36             	lea    (%esi,%esi,1),%eax
   141c3:	05 fc 0c 00 00       	add    $0xcfc,%eax
   141c8:	50                   	push   %eax
   141c9:	e8 12 0f 00 00       	call   150e0 <_READ_PORT_USHORT@4>
   141ce:	8b 55 0c             	mov    0xc(%ebp),%edx
   141d1:	66 89 02             	mov    %ax,(%edx)
   141d4:	31 c0                	xor    %eax,%eax
   141d6:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   141d9:	89 04 24             	mov    %eax,(%esp)
   141dc:	68 c0 94 03 00       	push   $0x394c0
   141e1:	e8 5a 11 00 00       	call   15340 <_KeReleaseSpinLock@8>
   141e6:	e9 6c ff ff ff       	jmp    14157 <_ReadPciConfigUshort+0xb7>
   141eb:	90                   	nop    
   141ec:	8d 74 26 00          	lea    0x0(%esi),%esi

000141f0 <_ReadPciConfigUlong>:
   141f0:	55                   	push   %ebp
   141f1:	89 e5                	mov    %esp,%ebp
   141f3:	57                   	push   %edi
   141f4:	56                   	push   %esi
   141f5:	53                   	push   %ebx
   141f6:	83 ec 0c             	sub    $0xc,%esp
   141f9:	89 c7                	mov    %eax,%edi
   141fb:	8a 45 08             	mov    0x8(%ebp),%al
   141fe:	88 d3                	mov    %dl,%bl
   14200:	25 ff 00 00 00       	and    $0xff,%eax
   14205:	89 c6                	mov    %eax,%esi
   14207:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   1420c:	f7 c6 03 00 00 00    	test   $0x3,%esi
   14212:	0f 85 90 00 00 00    	jne    142a8 <_ReadPciConfigUlong+0xb8>
   14218:	a1 b0 94 03 00       	mov    0x394b0,%eax
   1421d:	83 f8 01             	cmp    $0x1,%eax
   14220:	0f 84 9a 00 00 00    	je     142c0 <_ReadPciConfigUlong+0xd0>
   14226:	83 f8 02             	cmp    $0x2,%eax
   14229:	0f 85 81 00 00 00    	jne    142b0 <_ReadPciConfigUlong+0xc0>
   1422f:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14232:	52                   	push   %edx
   14233:	52                   	push   %edx
   14234:	50                   	push   %eax
   14235:	68 c0 94 03 00       	push   $0x394c0
   1423a:	e8 91 10 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   1423f:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   14245:	89 d8                	mov    %ebx,%eax
   14247:	83 e3 1f             	and    $0x1f,%ebx
   1424a:	c1 e3 08             	shl    $0x8,%ebx
   1424d:	25 e0 00 00 00       	and    $0xe0,%eax
   14252:	c1 f8 04             	sar    $0x4,%eax
   14255:	09 f3                	or     %esi,%ebx
   14257:	0c f0                	or     $0xf0,%al
   14259:	80 cf c0             	or     $0xc0,%bh
   1425c:	50                   	push   %eax
   1425d:	68 f8 0c 00 00       	push   $0xcf8
   14262:	e8 09 0f 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14267:	89 f8                	mov    %edi,%eax
   14269:	25 ff 00 00 00       	and    $0xff,%eax
   1426e:	50                   	push   %eax
   1426f:	68 fa 0c 00 00       	push   $0xcfa
   14274:	e8 f7 0e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14279:	50                   	push   %eax
   1427a:	53                   	push   %ebx
   1427b:	e8 80 0e 00 00       	call   15100 <_READ_PORT_ULONG@4>
   14280:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   14283:	89 01                	mov    %eax,(%ecx)
   14285:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1428c:	68 f8 0c 00 00       	push   $0xcf8
   14291:	e8 da 0e 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14296:	31 c0                	xor    %eax,%eax
   14298:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   1429b:	50                   	push   %eax
   1429c:	68 c0 94 03 00       	push   $0x394c0
   142a1:	e8 9a 10 00 00       	call   15340 <_KeReleaseSpinLock@8>
   142a6:	31 c0                	xor    %eax,%eax
   142a8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   142ab:	5b                   	pop    %ebx
   142ac:	5e                   	pop    %esi
   142ad:	5f                   	pop    %edi
   142ae:	5d                   	pop    %ebp
   142af:	c3                   	ret    
   142b0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   142b3:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   142b8:	5b                   	pop    %ebx
   142b9:	5e                   	pop    %esi
   142ba:	5f                   	pop    %edi
   142bb:	5d                   	pop    %ebp
   142bc:	c3                   	ret    
   142bd:	8d 76 00             	lea    0x0(%esi),%esi
   142c0:	50                   	push   %eax
   142c1:	50                   	push   %eax
   142c2:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   142c5:	50                   	push   %eax
   142c6:	68 c0 94 03 00       	push   $0x394c0
   142cb:	e8 00 10 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   142d0:	31 c9                	xor    %ecx,%ecx
   142d2:	88 d9                	mov    %bl,%cl
   142d4:	89 fa                	mov    %edi,%edx
   142d6:	89 c8                	mov    %ecx,%eax
   142d8:	81 e2 ff 00 00 00    	and    $0xff,%edx
   142de:	83 e0 1f             	and    $0x1f,%eax
   142e1:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   142e7:	c1 e0 0b             	shl    $0xb,%eax
   142ea:	83 e6 fc             	and    $0xfffffffc,%esi
   142ed:	c1 e2 10             	shl    $0x10,%edx
   142f0:	c1 e1 03             	shl    $0x3,%ecx
   142f3:	09 c2                	or     %eax,%edx
   142f5:	09 ca                	or     %ecx,%edx
   142f7:	09 f2                	or     %esi,%edx
   142f9:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   142ff:	52                   	push   %edx
   14300:	68 f8 0c 00 00       	push   $0xcf8
   14305:	e8 96 0e 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   1430a:	51                   	push   %ecx
   1430b:	68 fc 0c 00 00       	push   $0xcfc
   14310:	e8 eb 0d 00 00       	call   15100 <_READ_PORT_ULONG@4>
   14315:	8b 55 0c             	mov    0xc(%ebp),%edx
   14318:	89 02                	mov    %eax,(%edx)
   1431a:	31 c0                	xor    %eax,%eax
   1431c:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   1431f:	89 04 24             	mov    %eax,(%esp)
   14322:	68 c0 94 03 00       	push   $0x394c0
   14327:	e8 14 10 00 00       	call   15340 <_KeReleaseSpinLock@8>
   1432c:	e9 75 ff ff ff       	jmp    142a6 <_ReadPciConfigUlong+0xb6>
   14331:	eb 0d                	jmp    14340 <_WritePciConfigUchar>
   14333:	90                   	nop    
   14334:	90                   	nop    
   14335:	90                   	nop    
   14336:	90                   	nop    
   14337:	90                   	nop    
   14338:	90                   	nop    
   14339:	90                   	nop    
   1433a:	90                   	nop    
   1433b:	90                   	nop    
   1433c:	90                   	nop    
   1433d:	90                   	nop    
   1433e:	90                   	nop    
   1433f:	90                   	nop    

00014340 <_WritePciConfigUchar>:
   14340:	55                   	push   %ebp
   14341:	89 e5                	mov    %esp,%ebp
   14343:	57                   	push   %edi
   14344:	56                   	push   %esi
   14345:	53                   	push   %ebx
   14346:	83 ec 0c             	sub    $0xc,%esp
   14349:	89 c6                	mov    %eax,%esi
   1434b:	8a 45 0c             	mov    0xc(%ebp),%al
   1434e:	88 d3                	mov    %dl,%bl
   14350:	88 45 f2             	mov    %al,0xfffffff2(%ebp)
   14353:	a1 b0 94 03 00       	mov    0x394b0,%eax
   14358:	0f b6 7d 08          	movzbl 0x8(%ebp),%edi
   1435c:	83 f8 01             	cmp    $0x1,%eax
   1435f:	0f 84 9b 00 00 00    	je     14400 <_WritePciConfigUchar+0xc0>
   14365:	83 f8 02             	cmp    $0x2,%eax
   14368:	0f 85 83 00 00 00    	jne    143f1 <_WritePciConfigUchar+0xb1>
   1436e:	50                   	push   %eax
   1436f:	50                   	push   %eax
   14370:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14373:	50                   	push   %eax
   14374:	68 c0 94 03 00       	push   $0x394c0
   14379:	e8 52 0f 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   1437e:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   14384:	89 d8                	mov    %ebx,%eax
   14386:	83 e3 1f             	and    $0x1f,%ebx
   14389:	c1 e3 08             	shl    $0x8,%ebx
   1438c:	25 e0 00 00 00       	and    $0xe0,%eax
   14391:	c1 f8 04             	sar    $0x4,%eax
   14394:	0c f0                	or     $0xf0,%al
   14396:	50                   	push   %eax
   14397:	68 f8 0c 00 00       	push   $0xcf8
   1439c:	e8 cf 0d 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   143a1:	89 f0                	mov    %esi,%eax
   143a3:	25 ff 00 00 00       	and    $0xff,%eax
   143a8:	50                   	push   %eax
   143a9:	68 fa 0c 00 00       	push   $0xcfa
   143ae:	e8 bd 0d 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   143b3:	31 c0                	xor    %eax,%eax
   143b5:	8a 45 f2             	mov    0xfffffff2(%ebp),%al
   143b8:	50                   	push   %eax
   143b9:	89 f8                	mov    %edi,%eax
   143bb:	25 ff 00 00 00       	and    $0xff,%eax
   143c0:	09 c3                	or     %eax,%ebx
   143c2:	80 cf c0             	or     $0xc0,%bh
   143c5:	53                   	push   %ebx
   143c6:	e8 a5 0d 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   143cb:	6a 00                	push   $0x0
   143cd:	68 f8 0c 00 00       	push   $0xcf8
   143d2:	e8 99 0d 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   143d7:	31 c0                	xor    %eax,%eax
   143d9:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   143dc:	50                   	push   %eax
   143dd:	68 c0 94 03 00       	push   $0x394c0
   143e2:	e8 59 0f 00 00       	call   15340 <_KeReleaseSpinLock@8>
   143e7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   143ea:	31 c0                	xor    %eax,%eax
   143ec:	5b                   	pop    %ebx
   143ed:	5e                   	pop    %esi
   143ee:	5f                   	pop    %edi
   143ef:	5d                   	pop    %ebp
   143f0:	c3                   	ret    
   143f1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   143f4:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   143f9:	5b                   	pop    %ebx
   143fa:	5e                   	pop    %esi
   143fb:	5f                   	pop    %edi
   143fc:	5d                   	pop    %ebp
   143fd:	c3                   	ret    
   143fe:	89 f6                	mov    %esi,%esi
   14400:	50                   	push   %eax
   14401:	50                   	push   %eax
   14402:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14405:	50                   	push   %eax
   14406:	68 c0 94 03 00       	push   $0x394c0
   1440b:	e8 c0 0e 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14410:	31 c9                	xor    %ecx,%ecx
   14412:	88 d9                	mov    %bl,%cl
   14414:	89 f2                	mov    %esi,%edx
   14416:	89 c8                	mov    %ecx,%eax
   14418:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1441e:	83 e0 1f             	and    $0x1f,%eax
   14421:	89 fb                	mov    %edi,%ebx
   14423:	c1 e0 0b             	shl    $0xb,%eax
   14426:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   1442c:	c1 e2 10             	shl    $0x10,%edx
   1442f:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   14435:	c1 e1 03             	shl    $0x3,%ecx
   14438:	09 c2                	or     %eax,%edx
   1443a:	89 d8                	mov    %ebx,%eax
   1443c:	09 ca                	or     %ecx,%edx
   1443e:	83 e0 fc             	and    $0xfffffffc,%eax
   14441:	81 cb fc 0c 00 00    	or     $0xcfc,%ebx
   14447:	09 c2                	or     %eax,%edx
   14449:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   1444f:	52                   	push   %edx
   14450:	68 f8 0c 00 00       	push   $0xcf8
   14455:	e8 46 0d 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   1445a:	31 c0                	xor    %eax,%eax
   1445c:	8a 45 f2             	mov    0xfffffff2(%ebp),%al
   1445f:	50                   	push   %eax
   14460:	53                   	push   %ebx
   14461:	e9 6c ff ff ff       	jmp    143d2 <_WritePciConfigUchar+0x92>
   14466:	8d 76 00             	lea    0x0(%esi),%esi
   14469:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00014470 <_WritePciConfigUshort>:
   14470:	55                   	push   %ebp
   14471:	89 e5                	mov    %esp,%ebp
   14473:	57                   	push   %edi
   14474:	56                   	push   %esi
   14475:	53                   	push   %ebx
   14476:	83 ec 0c             	sub    $0xc,%esp
   14479:	89 c7                	mov    %eax,%edi
   1447b:	8b 45 0c             	mov    0xc(%ebp),%eax
   1447e:	88 d3                	mov    %dl,%bl
   14480:	66 89 45 f0          	mov    %ax,0xfffffff0(%ebp)
   14484:	8a 45 08             	mov    0x8(%ebp),%al
   14487:	25 ff 00 00 00       	and    $0xff,%eax
   1448c:	89 c6                	mov    %eax,%esi
   1448e:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   14493:	f7 c6 01 00 00 00    	test   $0x1,%esi
   14499:	0f 85 8e 00 00 00    	jne    1452d <_WritePciConfigUshort+0xbd>
   1449f:	a1 b0 94 03 00       	mov    0x394b0,%eax
   144a4:	83 f8 01             	cmp    $0x1,%eax
   144a7:	0f 84 95 00 00 00    	je     14542 <_WritePciConfigUshort+0xd2>
   144ad:	83 f8 02             	cmp    $0x2,%eax
   144b0:	0f 85 7f 00 00 00    	jne    14535 <_WritePciConfigUshort+0xc5>
   144b6:	50                   	push   %eax
   144b7:	50                   	push   %eax
   144b8:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   144bb:	50                   	push   %eax
   144bc:	68 c0 94 03 00       	push   $0x394c0
   144c1:	e8 0a 0e 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   144c6:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   144cc:	89 d8                	mov    %ebx,%eax
   144ce:	83 e3 1f             	and    $0x1f,%ebx
   144d1:	c1 e3 08             	shl    $0x8,%ebx
   144d4:	25 e0 00 00 00       	and    $0xe0,%eax
   144d9:	c1 f8 04             	sar    $0x4,%eax
   144dc:	09 f3                	or     %esi,%ebx
   144de:	0c f0                	or     $0xf0,%al
   144e0:	80 cf c0             	or     $0xc0,%bh
   144e3:	50                   	push   %eax
   144e4:	68 f8 0c 00 00       	push   $0xcf8
   144e9:	e8 82 0c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   144ee:	89 f8                	mov    %edi,%eax
   144f0:	25 ff 00 00 00       	and    $0xff,%eax
   144f5:	50                   	push   %eax
   144f6:	68 fa 0c 00 00       	push   $0xcfa
   144fb:	e8 70 0c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14500:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   14503:	25 ff ff 00 00       	and    $0xffff,%eax
   14508:	50                   	push   %eax
   14509:	53                   	push   %ebx
   1450a:	e8 71 0c 00 00       	call   15180 <_WRITE_PORT_USHORT@8>
   1450f:	6a 00                	push   $0x0
   14511:	68 f8 0c 00 00       	push   $0xcf8
   14516:	e8 55 0c 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1451b:	31 c0                	xor    %eax,%eax
   1451d:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   14520:	50                   	push   %eax
   14521:	68 c0 94 03 00       	push   $0x394c0
   14526:	e8 15 0e 00 00       	call   15340 <_KeReleaseSpinLock@8>
   1452b:	31 c0                	xor    %eax,%eax
   1452d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14530:	5b                   	pop    %ebx
   14531:	5e                   	pop    %esi
   14532:	5f                   	pop    %edi
   14533:	5d                   	pop    %ebp
   14534:	c3                   	ret    
   14535:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14538:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   1453d:	5b                   	pop    %ebx
   1453e:	5e                   	pop    %esi
   1453f:	5f                   	pop    %edi
   14540:	5d                   	pop    %ebp
   14541:	c3                   	ret    
   14542:	50                   	push   %eax
   14543:	50                   	push   %eax
   14544:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14547:	50                   	push   %eax
   14548:	68 c0 94 03 00       	push   $0x394c0
   1454d:	e8 7e 0d 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14552:	31 c9                	xor    %ecx,%ecx
   14554:	88 d9                	mov    %bl,%cl
   14556:	89 fa                	mov    %edi,%edx
   14558:	89 c8                	mov    %ecx,%eax
   1455a:	81 e2 ff 00 00 00    	and    $0xff,%edx
   14560:	83 e0 1f             	and    $0x1f,%eax
   14563:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   14569:	c1 e0 0b             	shl    $0xb,%eax
   1456c:	c1 e2 10             	shl    $0x10,%edx
   1456f:	c1 e1 03             	shl    $0x3,%ecx
   14572:	09 c2                	or     %eax,%edx
   14574:	89 f0                	mov    %esi,%eax
   14576:	09 ca                	or     %ecx,%edx
   14578:	83 e0 fc             	and    $0xfffffffc,%eax
   1457b:	83 e6 02             	and    $0x2,%esi
   1457e:	09 c2                	or     %eax,%edx
   14580:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   14586:	52                   	push   %edx
   14587:	68 f8 0c 00 00       	push   $0xcf8
   1458c:	e8 0f 0c 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   14591:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   14594:	25 ff ff 00 00       	and    $0xffff,%eax
   14599:	50                   	push   %eax
   1459a:	8d 04 36             	lea    (%esi,%esi,1),%eax
   1459d:	05 fc 0c 00 00       	add    $0xcfc,%eax
   145a2:	50                   	push   %eax
   145a3:	e8 d8 0b 00 00       	call   15180 <_WRITE_PORT_USHORT@8>
   145a8:	e9 6e ff ff ff       	jmp    1451b <_WritePciConfigUshort+0xab>
   145ad:	8d 76 00             	lea    0x0(%esi),%esi

000145b0 <_WritePciConfigUlong>:
   145b0:	55                   	push   %ebp
   145b1:	89 e5                	mov    %esp,%ebp
   145b3:	57                   	push   %edi
   145b4:	56                   	push   %esi
   145b5:	53                   	push   %ebx
   145b6:	83 ec 0c             	sub    $0xc,%esp
   145b9:	89 c7                	mov    %eax,%edi
   145bb:	8a 45 08             	mov    0x8(%ebp),%al
   145be:	88 d3                	mov    %dl,%bl
   145c0:	25 ff 00 00 00       	and    $0xff,%eax
   145c5:	89 c6                	mov    %eax,%esi
   145c7:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   145cc:	f7 c6 03 00 00 00    	test   $0x3,%esi
   145d2:	0f 85 85 00 00 00    	jne    1465d <_WritePciConfigUlong+0xad>
   145d8:	a1 b0 94 03 00       	mov    0x394b0,%eax
   145dd:	83 f8 01             	cmp    $0x1,%eax
   145e0:	0f 84 8c 00 00 00    	je     14672 <_WritePciConfigUlong+0xc2>
   145e6:	83 f8 02             	cmp    $0x2,%eax
   145e9:	75 7a                	jne    14665 <_WritePciConfigUlong+0xb5>
   145eb:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   145ee:	52                   	push   %edx
   145ef:	52                   	push   %edx
   145f0:	50                   	push   %eax
   145f1:	68 c0 94 03 00       	push   $0x394c0
   145f6:	e8 d5 0c 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   145fb:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   14601:	89 d8                	mov    %ebx,%eax
   14603:	83 e3 1f             	and    $0x1f,%ebx
   14606:	c1 e3 08             	shl    $0x8,%ebx
   14609:	25 e0 00 00 00       	and    $0xe0,%eax
   1460e:	c1 f8 04             	sar    $0x4,%eax
   14611:	09 f3                	or     %esi,%ebx
   14613:	0c f0                	or     $0xf0,%al
   14615:	80 cf c0             	or     $0xc0,%bh
   14618:	50                   	push   %eax
   14619:	68 f8 0c 00 00       	push   $0xcf8
   1461e:	e8 4d 0b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14623:	89 f8                	mov    %edi,%eax
   14625:	25 ff 00 00 00       	and    $0xff,%eax
   1462a:	50                   	push   %eax
   1462b:	68 fa 0c 00 00       	push   $0xcfa
   14630:	e8 3b 0b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14635:	8b 45 0c             	mov    0xc(%ebp),%eax
   14638:	50                   	push   %eax
   14639:	53                   	push   %ebx
   1463a:	e8 61 0b 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   1463f:	6a 00                	push   $0x0
   14641:	68 f8 0c 00 00       	push   $0xcf8
   14646:	e8 25 0b 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   1464b:	31 c0                	xor    %eax,%eax
   1464d:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   14650:	50                   	push   %eax
   14651:	68 c0 94 03 00       	push   $0x394c0
   14656:	e8 e5 0c 00 00       	call   15340 <_KeReleaseSpinLock@8>
   1465b:	31 c0                	xor    %eax,%eax
   1465d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14660:	5b                   	pop    %ebx
   14661:	5e                   	pop    %esi
   14662:	5f                   	pop    %edi
   14663:	5d                   	pop    %ebp
   14664:	c3                   	ret    
   14665:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14668:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   1466d:	5b                   	pop    %ebx
   1466e:	5e                   	pop    %esi
   1466f:	5f                   	pop    %edi
   14670:	5d                   	pop    %ebp
   14671:	c3                   	ret    
   14672:	50                   	push   %eax
   14673:	50                   	push   %eax
   14674:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   14677:	50                   	push   %eax
   14678:	68 c0 94 03 00       	push   $0x394c0
   1467d:	e8 4e 0c 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14682:	31 c9                	xor    %ecx,%ecx
   14684:	88 d9                	mov    %bl,%cl
   14686:	89 fa                	mov    %edi,%edx
   14688:	89 c8                	mov    %ecx,%eax
   1468a:	81 e2 ff 00 00 00    	and    $0xff,%edx
   14690:	83 e0 1f             	and    $0x1f,%eax
   14693:	81 e1 e0 00 00 00    	and    $0xe0,%ecx
   14699:	c1 e0 0b             	shl    $0xb,%eax
   1469c:	83 e6 fc             	and    $0xfffffffc,%esi
   1469f:	c1 e2 10             	shl    $0x10,%edx
   146a2:	c1 e1 03             	shl    $0x3,%ecx
   146a5:	09 c2                	or     %eax,%edx
   146a7:	09 ca                	or     %ecx,%edx
   146a9:	09 f2                	or     %esi,%edx
   146ab:	81 ca 00 00 00 80    	or     $0x80000000,%edx
   146b1:	52                   	push   %edx
   146b2:	68 f8 0c 00 00       	push   $0xcf8
   146b7:	e8 e4 0a 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   146bc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   146bf:	51                   	push   %ecx
   146c0:	68 fc 0c 00 00       	push   $0xcfc
   146c5:	e8 d6 0a 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   146ca:	e9 7c ff ff ff       	jmp    1464b <_WritePciConfigUlong+0x9b>
   146cf:	90                   	nop    

000146d0 <_HalpGetPciData@24>:
   146d0:	55                   	push   %ebp
   146d1:	89 e5                	mov    %esp,%ebp
   146d3:	57                   	push   %edi
   146d4:	56                   	push   %esi
   146d5:	53                   	push   %ebx
   146d6:	83 ec 2c             	sub    $0x2c,%esp
   146d9:	8b 7d 1c             	mov    0x1c(%ebp),%edi
   146dc:	8b 45 14             	mov    0x14(%ebp),%eax
   146df:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   146e2:	8b 75 18             	mov    0x18(%ebp),%esi
   146e5:	89 fb                	mov    %edi,%ebx
   146e7:	85 ff                	test   %edi,%edi
   146e9:	74 09                	je     146f4 <_HalpGetPciData@24+0x24>
   146eb:	a1 b0 94 03 00       	mov    0x394b0,%eax
   146f0:	85 c0                	test   %eax,%eax
   146f2:	75 0e                	jne    14702 <_HalpGetPciData@24+0x32>
   146f4:	31 c9                	xor    %ecx,%ecx
   146f6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   146f9:	89 c8                	mov    %ecx,%eax
   146fb:	5b                   	pop    %ebx
   146fc:	5e                   	pop    %esi
   146fd:	5f                   	pop    %edi
   146fe:	5d                   	pop    %ebp
   146ff:	c2 18 00             	ret    $0x18
   14702:	50                   	push   %eax
   14703:	50                   	push   %eax
   14704:	8b 45 10             	mov    0x10(%ebp),%eax
   14707:	83 e0 1f             	and    $0x1f,%eax
   1470a:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   1470d:	8a 45 0c             	mov    0xc(%ebp),%al
   14710:	25 ff 00 00 00       	and    $0xff,%eax
   14715:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   14718:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1471b:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1471e:	50                   	push   %eax
   1471f:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   14722:	6a 00                	push   $0x0
   14724:	e8 c7 fa ff ff       	call   141f0 <_ReadPciConfigUlong>
   14729:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1472c:	83 c4 10             	add    $0x10,%esp
   1472f:	83 f8 ff             	cmp    $0xffffffff,%eax
   14732:	0f 94 c2             	sete   %dl
   14735:	85 c0                	test   %eax,%eax
   14737:	0f 94 c0             	sete   %al
   1473a:	09 d0                	or     %edx,%eax
   1473c:	a8 01                	test   $0x1,%al
   1473e:	74 23                	je     14763 <_HalpGetPciData@24+0x93>
   14740:	0b 75 0c             	or     0xc(%ebp),%esi
   14743:	0f 94 c2             	sete   %dl
   14746:	83 ff 01             	cmp    $0x1,%edi
   14749:	0f 97 c0             	seta   %al
   1474c:	25 ff 00 00 00       	and    $0xff,%eax
   14751:	31 c9                	xor    %ecx,%ecx
   14753:	85 c2                	test   %eax,%edx
   14755:	74 9f                	je     146f6 <_HalpGetPciData@24+0x26>
   14757:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1475a:	b1 02                	mov    $0x2,%cl
   1475c:	66 c7 00 ff ff       	movw   $0xffff,(%eax)
   14761:	eb 93                	jmp    146f6 <_HalpGetPciData@24+0x26>
   14763:	50                   	push   %eax
   14764:	50                   	push   %eax
   14765:	8d 45 ef             	lea    0xffffffef(%ebp),%eax
   14768:	50                   	push   %eax
   14769:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   1476c:	6a 0e                	push   $0xe
   1476e:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   14771:	e8 ea f7 ff ff       	call   13f60 <_ReadPciConfigUchar>
   14776:	83 c4 10             	add    $0x10,%esp
   14779:	80 7d ef 00          	cmpb   $0x0,0xffffffef(%ebp)
   1477d:	78 0a                	js     14789 <_HalpGetPciData@24+0xb9>
   1477f:	f6 45 10 e0          	testb  $0xe0,0x10(%ebp)
   14783:	74 04                	je     14789 <_HalpGetPciData@24+0xb9>
   14785:	85 f6                	test   %esi,%esi
   14787:	eb ba                	jmp    14743 <_HalpGetPciData@24+0x73>
   14789:	50                   	push   %eax
   1478a:	50                   	push   %eax
   1478b:	8a 45 10             	mov    0x10(%ebp),%al
   1478e:	25 ff 00 00 00       	and    $0xff,%eax
   14793:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   14796:	8a 45 0c             	mov    0xc(%ebp),%al
   14799:	25 ff 00 00 00       	and    $0xff,%eax
   1479e:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   147a1:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   147a4:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   147a7:	50                   	push   %eax
   147a8:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   147ab:	6a 00                	push   $0x0
   147ad:	e8 3e fa ff ff       	call   141f0 <_ReadPciConfigUlong>
   147b2:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   147b5:	83 c4 10             	add    $0x10,%esp
   147b8:	83 f8 ff             	cmp    $0xffffffff,%eax
   147bb:	0f 94 c2             	sete   %dl
   147be:	85 c0                	test   %eax,%eax
   147c0:	0f 94 c0             	sete   %al
   147c3:	09 d0                	or     %edx,%eax
   147c5:	a8 01                	test   $0x1,%al
   147c7:	74 27                	je     147f0 <_HalpGetPciData@24+0x120>
   147c9:	8b 45 0c             	mov    0xc(%ebp),%eax
   147cc:	0b 45 18             	or     0x18(%ebp),%eax
   147cf:	0f 94 c2             	sete   %dl
   147d2:	83 ff 01             	cmp    $0x1,%edi
   147d5:	0f 97 c0             	seta   %al
   147d8:	25 ff 00 00 00       	and    $0xff,%eax
   147dd:	31 c9                	xor    %ecx,%ecx
   147df:	85 c2                	test   %eax,%edx
   147e1:	0f 84 0f ff ff ff    	je     146f6 <_HalpGetPciData@24+0x26>
   147e7:	8b 45 14             	mov    0x14(%ebp),%eax
   147ea:	e9 6b ff ff ff       	jmp    1475a <_HalpGetPciData@24+0x8a>
   147ef:	90                   	nop    
   147f0:	85 ff                	test   %edi,%edi
   147f2:	0f 95 c0             	setne  %al
   147f5:	25 ff 00 00 00       	and    $0xff,%eax
   147fa:	85 45 18             	test   %eax,0x18(%ebp)
   147fd:	0f 85 f7 00 00 00    	jne    148fa <_HalpGetPciData@24+0x22a>
   14803:	89 f2                	mov    %esi,%edx
   14805:	d1 ea                	shr    %edx
   14807:	83 fb 01             	cmp    $0x1,%ebx
   1480a:	0f 97 c0             	seta   %al
   1480d:	25 ff 00 00 00       	and    $0xff,%eax
   14812:	85 d0                	test   %edx,%eax
   14814:	0f 85 b0 00 00 00    	jne    148ca <_HalpGetPciData@24+0x1fa>
   1481a:	83 fb 03             	cmp    $0x3,%ebx
   1481d:	76 3c                	jbe    1485b <_HalpGetPciData@24+0x18b>
   1481f:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   14822:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   14825:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   14828:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
   1482b:	50                   	push   %eax
   1482c:	50                   	push   %eax
   1482d:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   14830:	50                   	push   %eax
   14831:	89 f0                	mov    %esi,%eax
   14833:	25 ff 00 00 00       	and    $0xff,%eax
   14838:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   1483b:	50                   	push   %eax
   1483c:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   1483f:	e8 ac f9 ff ff       	call   141f0 <_ReadPciConfigUlong>
   14844:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   14847:	83 c0 04             	add    $0x4,%eax
   1484a:	83 eb 04             	sub    $0x4,%ebx
   1484d:	83 c6 04             	add    $0x4,%esi
   14850:	83 c4 10             	add    $0x10,%esp
   14853:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   14856:	83 fb 03             	cmp    $0x3,%ebx
   14859:	77 d0                	ja     1482b <_HalpGetPciData@24+0x15b>
   1485b:	83 fb 01             	cmp    $0x1,%ebx
   1485e:	77 38                	ja     14898 <_HalpGetPciData@24+0x1c8>
   14860:	85 db                	test   %ebx,%ebx
   14862:	75 09                	jne    1486d <_HalpGetPciData@24+0x19d>
   14864:	89 f9                	mov    %edi,%ecx
   14866:	29 d9                	sub    %ebx,%ecx
   14868:	e9 89 fe ff ff       	jmp    146f6 <_HalpGetPciData@24+0x26>
   1486d:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   14870:	31 d2                	xor    %edx,%edx
   14872:	50                   	push   %eax
   14873:	50                   	push   %eax
   14874:	31 c0                	xor    %eax,%eax
   14876:	51                   	push   %ecx
   14877:	89 f1                	mov    %esi,%ecx
   14879:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   1487f:	8a 55 10             	mov    0x10(%ebp),%dl
   14882:	8a 45 0c             	mov    0xc(%ebp),%al
   14885:	51                   	push   %ecx
   14886:	e8 d5 f6 ff ff       	call   13f60 <_ReadPciConfigUchar>
   1488b:	4b                   	dec    %ebx
   1488c:	89 f9                	mov    %edi,%ecx
   1488e:	83 c4 10             	add    $0x10,%esp
   14891:	29 d9                	sub    %ebx,%ecx
   14893:	e9 5e fe ff ff       	jmp    146f6 <_HalpGetPciData@24+0x26>
   14898:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   1489b:	31 d2                	xor    %edx,%edx
   1489d:	50                   	push   %eax
   1489e:	50                   	push   %eax
   1489f:	31 c0                	xor    %eax,%eax
   148a1:	51                   	push   %ecx
   148a2:	89 f1                	mov    %esi,%ecx
   148a4:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   148aa:	8a 55 10             	mov    0x10(%ebp),%dl
   148ad:	8a 45 0c             	mov    0xc(%ebp),%al
   148b0:	51                   	push   %ecx
   148b1:	e8 ea f7 ff ff       	call   140a0 <_ReadPciConfigUshort>
   148b6:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   148b9:	83 c0 02             	add    $0x2,%eax
   148bc:	83 c6 02             	add    $0x2,%esi
   148bf:	83 eb 02             	sub    $0x2,%ebx
   148c2:	83 c4 10             	add    $0x10,%esp
   148c5:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   148c8:	eb 96                	jmp    14860 <_HalpGetPciData@24+0x190>
   148ca:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   148cd:	52                   	push   %edx
   148ce:	52                   	push   %edx
   148cf:	50                   	push   %eax
   148d0:	89 f0                	mov    %esi,%eax
   148d2:	25 ff 00 00 00       	and    $0xff,%eax
   148d7:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   148da:	50                   	push   %eax
   148db:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   148de:	e8 bd f7 ff ff       	call   140a0 <_ReadPciConfigUshort>
   148e3:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   148e6:	83 c0 02             	add    $0x2,%eax
   148e9:	83 c6 02             	add    $0x2,%esi
   148ec:	83 eb 02             	sub    $0x2,%ebx
   148ef:	83 c4 10             	add    $0x10,%esp
   148f2:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   148f5:	e9 20 ff ff ff       	jmp    1481a <_HalpGetPciData@24+0x14a>
   148fa:	31 c0                	xor    %eax,%eax
   148fc:	8b 4d 14             	mov    0x14(%ebp),%ecx
   148ff:	8a 45 18             	mov    0x18(%ebp),%al
   14902:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   14905:	53                   	push   %ebx
   14906:	53                   	push   %ebx
   14907:	51                   	push   %ecx
   14908:	50                   	push   %eax
   14909:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   1490c:	e8 4f f6 ff ff       	call   13f60 <_ReadPciConfigUchar>
   14911:	8b 45 14             	mov    0x14(%ebp),%eax
   14914:	8b 75 18             	mov    0x18(%ebp),%esi
   14917:	40                   	inc    %eax
   14918:	46                   	inc    %esi
   14919:	8d 5f ff             	lea    0xffffffff(%edi),%ebx
   1491c:	83 c4 10             	add    $0x10,%esp
   1491f:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   14922:	e9 dc fe ff ff       	jmp    14803 <_HalpGetPciData@24+0x133>
   14927:	89 f6                	mov    %esi,%esi
   14929:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00014930 <_HalpSetPciData@24>:
   14930:	55                   	push   %ebp
   14931:	89 e5                	mov    %esp,%ebp
   14933:	57                   	push   %edi
   14934:	56                   	push   %esi
   14935:	53                   	push   %ebx
   14936:	83 ec 2c             	sub    $0x2c,%esp
   14939:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
   1493c:	8b 7d 14             	mov    0x14(%ebp),%edi
   1493f:	8b 75 18             	mov    0x18(%ebp),%esi
   14942:	85 db                	test   %ebx,%ebx
   14944:	74 0a                	je     14950 <_HalpSetPciData@24+0x20>
   14946:	8b 15 b0 94 03 00    	mov    0x394b0,%edx
   1494c:	85 d2                	test   %edx,%edx
   1494e:	75 10                	jne    14960 <_HalpSetPciData@24+0x30>
   14950:	31 d2                	xor    %edx,%edx
   14952:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14955:	89 d0                	mov    %edx,%eax
   14957:	5b                   	pop    %ebx
   14958:	5e                   	pop    %esi
   14959:	5f                   	pop    %edi
   1495a:	5d                   	pop    %ebp
   1495b:	c2 18 00             	ret    $0x18
   1495e:	89 f6                	mov    %esi,%esi
   14960:	8a 55 0c             	mov    0xc(%ebp),%dl
   14963:	50                   	push   %eax
   14964:	50                   	push   %eax
   14965:	8b 45 10             	mov    0x10(%ebp),%eax
   14968:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1496e:	83 e0 1f             	and    $0x1f,%eax
   14971:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
   14974:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   14977:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1497a:	50                   	push   %eax
   1497b:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   1497e:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   14981:	6a 00                	push   $0x0
   14983:	e8 68 f8 ff ff       	call   141f0 <_ReadPciConfigUlong>
   14988:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1498b:	83 c4 10             	add    $0x10,%esp
   1498e:	83 f8 ff             	cmp    $0xffffffff,%eax
   14991:	0f 94 c2             	sete   %dl
   14994:	85 c0                	test   %eax,%eax
   14996:	0f 94 c0             	sete   %al
   14999:	09 d0                	or     %edx,%eax
   1499b:	31 d2                	xor    %edx,%edx
   1499d:	a8 01                	test   $0x1,%al
   1499f:	75 b1                	jne    14952 <_HalpSetPciData@24+0x22>
   149a1:	50                   	push   %eax
   149a2:	50                   	push   %eax
   149a3:	8d 45 ef             	lea    0xffffffef(%ebp),%eax
   149a6:	50                   	push   %eax
   149a7:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   149aa:	6a 0e                	push   $0xe
   149ac:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   149af:	e8 ac f5 ff ff       	call   13f60 <_ReadPciConfigUchar>
   149b4:	83 c4 10             	add    $0x10,%esp
   149b7:	80 7d ef 00          	cmpb   $0x0,0xffffffef(%ebp)
   149bb:	78 08                	js     149c5 <_HalpSetPciData@24+0x95>
   149bd:	31 d2                	xor    %edx,%edx
   149bf:	f6 45 10 e0          	testb  $0xe0,0x10(%ebp)
   149c3:	75 8d                	jne    14952 <_HalpSetPciData@24+0x22>
   149c5:	8a 55 10             	mov    0x10(%ebp),%dl
   149c8:	81 e2 ff 00 00 00    	and    $0xff,%edx
   149ce:	50                   	push   %eax
   149cf:	89 55 e0             	mov    %edx,0xffffffe0(%ebp)
   149d2:	50                   	push   %eax
   149d3:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
   149d6:	8a 45 0c             	mov    0xc(%ebp),%al
   149d9:	52                   	push   %edx
   149da:	25 ff 00 00 00       	and    $0xff,%eax
   149df:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   149e2:	6a 00                	push   $0x0
   149e4:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   149e7:	e8 04 f8 ff ff       	call   141f0 <_ReadPciConfigUlong>
   149ec:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   149ef:	83 c4 10             	add    $0x10,%esp
   149f2:	83 f8 ff             	cmp    $0xffffffff,%eax
   149f5:	0f 94 c2             	sete   %dl
   149f8:	85 c0                	test   %eax,%eax
   149fa:	0f 94 c0             	sete   %al
   149fd:	09 d0                	or     %edx,%eax
   149ff:	31 d2                	xor    %edx,%edx
   14a01:	a8 01                	test   $0x1,%al
   14a03:	0f 85 49 ff ff ff    	jne    14952 <_HalpSetPciData@24+0x22>
   14a09:	8b 45 1c             	mov    0x1c(%ebp),%eax
   14a0c:	85 c0                	test   %eax,%eax
   14a0e:	0f 95 c0             	setne  %al
   14a11:	25 ff 00 00 00       	and    $0xff,%eax
   14a16:	85 45 18             	test   %eax,0x18(%ebp)
   14a19:	0f 85 f2 00 00 00    	jne    14b11 <_HalpSetPciData@24+0x1e1>
   14a1f:	89 f2                	mov    %esi,%edx
   14a21:	d1 ea                	shr    %edx
   14a23:	83 fb 01             	cmp    $0x1,%ebx
   14a26:	0f 97 c0             	seta   %al
   14a29:	25 ff 00 00 00       	and    $0xff,%eax
   14a2e:	85 d0                	test   %edx,%eax
   14a30:	0f 85 ac 00 00 00    	jne    14ae2 <_HalpSetPciData@24+0x1b2>
   14a36:	83 fb 03             	cmp    $0x3,%ebx
   14a39:	76 35                	jbe    14a70 <_HalpSetPciData@24+0x140>
   14a3b:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   14a3e:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   14a41:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   14a44:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
   14a47:	89 f0                	mov    %esi,%eax
   14a49:	51                   	push   %ecx
   14a4a:	51                   	push   %ecx
   14a4b:	8b 17                	mov    (%edi),%edx
   14a4d:	25 ff 00 00 00       	and    $0xff,%eax
   14a52:	52                   	push   %edx
   14a53:	83 eb 04             	sub    $0x4,%ebx
   14a56:	50                   	push   %eax
   14a57:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   14a5a:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   14a5d:	83 c7 04             	add    $0x4,%edi
   14a60:	e8 4b fb ff ff       	call   145b0 <_WritePciConfigUlong>
   14a65:	83 c6 04             	add    $0x4,%esi
   14a68:	83 c4 10             	add    $0x10,%esp
   14a6b:	83 fb 03             	cmp    $0x3,%ebx
   14a6e:	77 d7                	ja     14a47 <_HalpSetPciData@24+0x117>
   14a70:	83 fb 01             	cmp    $0x1,%ebx
   14a73:	77 3b                	ja     14ab0 <_HalpSetPciData@24+0x180>
   14a75:	85 db                	test   %ebx,%ebx
   14a77:	75 0a                	jne    14a83 <_HalpSetPciData@24+0x153>
   14a79:	8b 55 1c             	mov    0x1c(%ebp),%edx
   14a7c:	29 da                	sub    %ebx,%edx
   14a7e:	e9 cf fe ff ff       	jmp    14952 <_HalpSetPciData@24+0x22>
   14a83:	31 c9                	xor    %ecx,%ecx
   14a85:	50                   	push   %eax
   14a86:	50                   	push   %eax
   14a87:	8a 0f                	mov    (%edi),%cl
   14a89:	31 d2                	xor    %edx,%edx
   14a8b:	51                   	push   %ecx
   14a8c:	31 c0                	xor    %eax,%eax
   14a8e:	89 f1                	mov    %esi,%ecx
   14a90:	8a 55 10             	mov    0x10(%ebp),%dl
   14a93:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   14a99:	8a 45 0c             	mov    0xc(%ebp),%al
   14a9c:	51                   	push   %ecx
   14a9d:	e8 9e f8 ff ff       	call   14340 <_WritePciConfigUchar>
   14aa2:	4b                   	dec    %ebx
   14aa3:	8b 55 1c             	mov    0x1c(%ebp),%edx
   14aa6:	83 c4 10             	add    $0x10,%esp
   14aa9:	29 da                	sub    %ebx,%edx
   14aab:	e9 a2 fe ff ff       	jmp    14952 <_HalpSetPciData@24+0x22>
   14ab0:	50                   	push   %eax
   14ab1:	50                   	push   %eax
   14ab2:	31 d2                	xor    %edx,%edx
   14ab4:	66 8b 0f             	mov    (%edi),%cx
   14ab7:	31 c0                	xor    %eax,%eax
   14ab9:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   14abf:	8a 55 10             	mov    0x10(%ebp),%dl
   14ac2:	51                   	push   %ecx
   14ac3:	89 f1                	mov    %esi,%ecx
   14ac5:	81 e1 ff 00 00 00    	and    $0xff,%ecx
   14acb:	8a 45 0c             	mov    0xc(%ebp),%al
   14ace:	51                   	push   %ecx
   14acf:	e8 9c f9 ff ff       	call   14470 <_WritePciConfigUshort>
   14ad4:	83 c7 02             	add    $0x2,%edi
   14ad7:	83 c6 02             	add    $0x2,%esi
   14ada:	83 eb 02             	sub    $0x2,%ebx
   14add:	83 c4 10             	add    $0x10,%esp
   14ae0:	eb 93                	jmp    14a75 <_HalpSetPciData@24+0x145>
   14ae2:	50                   	push   %eax
   14ae3:	50                   	push   %eax
   14ae4:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   14ae7:	66 8b 07             	mov    (%edi),%ax
   14aea:	83 eb 02             	sub    $0x2,%ebx
   14aed:	25 ff ff 00 00       	and    $0xffff,%eax
   14af2:	83 c7 02             	add    $0x2,%edi
   14af5:	50                   	push   %eax
   14af6:	89 f0                	mov    %esi,%eax
   14af8:	25 ff 00 00 00       	and    $0xff,%eax
   14afd:	83 c6 02             	add    $0x2,%esi
   14b00:	50                   	push   %eax
   14b01:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   14b04:	e8 67 f9 ff ff       	call   14470 <_WritePciConfigUshort>
   14b09:	83 c4 10             	add    $0x10,%esp
   14b0c:	e9 25 ff ff ff       	jmp    14a36 <_HalpSetPciData@24+0x106>
   14b11:	8b 55 14             	mov    0x14(%ebp),%edx
   14b14:	50                   	push   %eax
   14b15:	50                   	push   %eax
   14b16:	31 c0                	xor    %eax,%eax
   14b18:	8a 02                	mov    (%edx),%al
   14b1a:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   14b1d:	50                   	push   %eax
   14b1e:	31 c0                	xor    %eax,%eax
   14b20:	8a 45 18             	mov    0x18(%ebp),%al
   14b23:	50                   	push   %eax
   14b24:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   14b27:	e8 14 f8 ff ff       	call   14340 <_WritePciConfigUchar>
   14b2c:	8b 7d 14             	mov    0x14(%ebp),%edi
   14b2f:	8b 75 18             	mov    0x18(%ebp),%esi
   14b32:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
   14b35:	47                   	inc    %edi
   14b36:	46                   	inc    %esi
   14b37:	4b                   	dec    %ebx
   14b38:	83 c4 10             	add    $0x10,%esp
   14b3b:	e9 df fe ff ff       	jmp    14a1f <_HalpSetPciData@24+0xef>

00014b40 <_HalpGetPciInterruptVector@24>:
   14b40:	55                   	push   %ebp
   14b41:	b2 5b                	mov    $0x5b,%dl
   14b43:	89 e5                	mov    %esp,%ebp
   14b45:	8b 45 14             	mov    0x14(%ebp),%eax
   14b48:	8b 4d 18             	mov    0x18(%ebp),%ecx
   14b4b:	83 c0 40             	add    $0x40,%eax
   14b4e:	28 c2                	sub    %al,%dl
   14b50:	88 11                	mov    %dl,(%ecx)
   14b52:	8b 55 1c             	mov    0x1c(%ebp),%edx
   14b55:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
   14b5b:	5d                   	pop    %ebp
   14b5c:	c2 18 00             	ret    $0x18
   14b5f:	90                   	nop    

00014b60 <_HalpTranslatePciAddress@24>:
   14b60:	55                   	push   %ebp
   14b61:	89 e5                	mov    %esp,%ebp
   14b63:	8b 45 18             	mov    0x18(%ebp),%eax
   14b66:	8b 00                	mov    (%eax),%eax
   14b68:	85 c0                	test   %eax,%eax
   14b6a:	74 05                	je     14b71 <_HalpTranslatePciAddress@24+0x11>
   14b6c:	31 d2                	xor    %edx,%edx
   14b6e:	48                   	dec    %eax
   14b6f:	75 13                	jne    14b84 <_HalpTranslatePciAddress@24+0x24>
   14b71:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
   14b74:	8b 55 14             	mov    0x14(%ebp),%edx
   14b77:	8b 45 10             	mov    0x10(%ebp),%eax
   14b7a:	89 01                	mov    %eax,(%ecx)
   14b7c:	89 51 04             	mov    %edx,0x4(%ecx)
   14b7f:	ba 01 00 00 00       	mov    $0x1,%edx
   14b84:	89 d0                	mov    %edx,%eax
   14b86:	5d                   	pop    %ebp
   14b87:	c2 18 00             	ret    $0x18
   14b8a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00014b90 <_PciSize@8>:
   14b90:	21 c2                	and    %eax,%edx
   14b92:	55                   	push   %ebp
   14b93:	89 d0                	mov    %edx,%eax
   14b95:	89 e5                	mov    %esp,%ebp
   14b97:	f7 d8                	neg    %eax
   14b99:	21 c2                	and    %eax,%edx
   14b9b:	5d                   	pop    %ebp
   14b9c:	89 d0                	mov    %edx,%eax
   14b9e:	c3                   	ret    
   14b9f:	90                   	nop    

00014ba0 <_HalpAssignPciSlotResources@32>:
   14ba0:	55                   	push   %ebp
   14ba1:	89 e5                	mov    %esp,%ebp
   14ba3:	57                   	push   %edi
   14ba4:	56                   	push   %esi
   14ba5:	53                   	push   %ebx
   14ba6:	81 ec 44 01 00 00    	sub    $0x144,%esp
   14bac:	8d 85 e8 fe ff ff    	lea    0xfffffee8(%ebp),%eax
   14bb2:	8b 5d 20             	mov    0x20(%ebp),%ebx
   14bb5:	c7 85 c0 fe ff ff 00 	movl   $0x0,0xfffffec0(%ebp)
   14bbc:	00 00 00 
   14bbf:	6a 40                	push   $0x40
   14bc1:	6a 00                	push   $0x0
   14bc3:	50                   	push   %eax
   14bc4:	8b 45 0c             	mov    0xc(%ebp),%eax
   14bc7:	53                   	push   %ebx
   14bc8:	50                   	push   %eax
   14bc9:	8b 45 08             	mov    0x8(%ebp),%eax
   14bcc:	50                   	push   %eax
   14bcd:	e8 fe fa ff ff       	call   146d0 <_HalpGetPciData@24>
   14bd2:	b9 01 00 00 c0       	mov    $0xc0000001,%ecx
   14bd7:	5e                   	pop    %esi
   14bd8:	83 f8 40             	cmp    $0x40,%eax
   14bdb:	5f                   	pop    %edi
   14bdc:	0f 85 f0 01 00 00    	jne    14dd2 <_HalpAssignPciSlotResources@32+0x232>
   14be2:	31 c0                	xor    %eax,%eax
   14be4:	31 f6                	xor    %esi,%esi
   14be6:	88 d8                	mov    %bl,%al
   14be8:	c7 85 c4 fe ff ff 00 	movl   $0x0,0xfffffec4(%ebp)
   14bef:	00 00 00 
   14bf2:	89 85 bc fe ff ff    	mov    %eax,0xfffffebc(%ebp)
   14bf8:	8a 45 0c             	mov    0xc(%ebp),%al
   14bfb:	25 ff 00 00 00       	and    $0xff,%eax
   14c00:	89 85 b8 fe ff ff    	mov    %eax,0xfffffeb8(%ebp)
   14c06:	eb 0e                	jmp    14c16 <_HalpAssignPciSlotResources@32+0x76>
   14c08:	85 c0                	test   %eax,%eax
   14c0a:	0f 85 20 01 00 00    	jne    14d30 <_HalpAssignPciSlotResources@32+0x190>
   14c10:	46                   	inc    %esi
   14c11:	83 fe 05             	cmp    $0x5,%esi
   14c14:	77 1d                	ja     14c33 <_HalpAssignPciSlotResources@32+0x93>
   14c16:	8b 84 b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%eax
   14c1d:	83 f8 ff             	cmp    $0xffffffff,%eax
   14c20:	75 e6                	jne    14c08 <_HalpAssignPciSlotResources@32+0x68>
   14c22:	c7 84 b5 f8 fe ff ff 	movl   $0x0,0xfffffef8(%ebp,%esi,4)
   14c29:	00 00 00 00 
   14c2d:	46                   	inc    %esi
   14c2e:	83 fe 05             	cmp    $0x5,%esi
   14c31:	76 e3                	jbe    14c16 <_HalpAssignPciSlotResources@32+0x76>
   14c33:	80 bd 24 ff ff ff 01 	cmpb   $0x1,0xffffff24(%ebp)
   14c3a:	83 9d c4 fe ff ff ff 	sbbl   $0xffffffff,0xfffffec4(%ebp)
   14c41:	50                   	push   %eax
   14c42:	8b 85 c4 fe ff ff    	mov    0xfffffec4(%ebp),%eax
   14c48:	68 50 43 49 48       	push   $0x48494350
   14c4d:	c1 e0 04             	shl    $0x4,%eax
   14c50:	83 c0 14             	add    $0x14,%eax
   14c53:	50                   	push   %eax
   14c54:	6a 01                	push   $0x1
   14c56:	e8 05 15 00 00       	call   16160 <_ExAllocatePoolWithTag@12>
   14c5b:	b9 17 00 00 c0       	mov    $0xc0000017,%ecx
   14c60:	89 c2                	mov    %eax,%edx
   14c62:	8b 45 24             	mov    0x24(%ebp),%eax
   14c65:	85 d2                	test   %edx,%edx
   14c67:	89 10                	mov    %edx,(%eax)
   14c69:	58                   	pop    %eax
   14c6a:	0f 84 62 01 00 00    	je     14dd2 <_HalpAssignPciSlotResources@32+0x232>
   14c70:	8b 45 0c             	mov    0xc(%ebp),%eax
   14c73:	8d 5a 14             	lea    0x14(%edx),%ebx
   14c76:	89 42 08             	mov    %eax,0x8(%edx)
   14c79:	31 f6                	xor    %esi,%esi
   14c7b:	8b 85 c4 fe ff ff    	mov    0xfffffec4(%ebp),%eax
   14c81:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
   14c87:	c7 42 04 05 00 00 00 	movl   $0x5,0x4(%edx)
   14c8e:	66 c7 42 0c 01 00    	movw   $0x1,0xc(%edx)
   14c94:	66 c7 42 0e 01 00    	movw   $0x1,0xe(%edx)
   14c9a:	89 42 10             	mov    %eax,0x10(%edx)
   14c9d:	eb 41                	jmp    14ce0 <_HalpAssignPciSlotResources@32+0x140>
   14c9f:	90                   	nop    
   14ca0:	c6 03 03             	movb   $0x3,(%ebx)
   14ca3:	c6 43 01 01          	movb   $0x1,0x1(%ebx)
   14ca7:	66 c7 43 02 00 00    	movw   $0x0,0x2(%ebx)
   14cad:	31 d2                	xor    %edx,%edx
   14caf:	8b 84 b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%eax
   14cb6:	89 53 08             	mov    %edx,0x8(%ebx)
   14cb9:	83 e0 f0             	and    $0xfffffff0,%eax
   14cbc:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
   14cc1:	89 43 04             	mov    %eax,0x4(%ebx)
   14cc4:	8b 84 b5 c8 fe ff ff 	mov    0xfffffec8(%ebp,%esi,4),%eax
   14ccb:	e8 c0 fe ff ff       	call   14b90 <_PciSize@8>
   14cd0:	89 43 0c             	mov    %eax,0xc(%ebx)
   14cd3:	83 c3 10             	add    $0x10,%ebx
   14cd6:	46                   	inc    %esi
   14cd7:	83 fe 05             	cmp    $0x5,%esi
   14cda:	0f 87 00 01 00 00    	ja     14de0 <_HalpAssignPciSlotResources@32+0x240>
   14ce0:	8b 84 b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%eax
   14ce7:	85 c0                	test   %eax,%eax
   14ce9:	74 eb                	je     14cd6 <_HalpAssignPciSlotResources@32+0x136>
   14ceb:	a8 01                	test   $0x1,%al
   14ced:	74 b1                	je     14ca0 <_HalpAssignPciSlotResources@32+0x100>
   14cef:	a8 01                	test   $0x1,%al
   14cf1:	0f 84 24 01 00 00    	je     14e1b <_HalpAssignPciSlotResources@32+0x27b>
   14cf7:	c6 03 01             	movb   $0x1,(%ebx)
   14cfa:	c6 43 01 01          	movb   $0x1,0x1(%ebx)
   14cfe:	66 c7 43 02 01 00    	movw   $0x1,0x2(%ebx)
   14d04:	ba fc ff 00 00       	mov    $0xfffc,%edx
   14d09:	8b 84 b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%eax
   14d10:	83 e0 fc             	and    $0xfffffffc,%eax
   14d13:	89 84 b5 f8 fe ff ff 	mov    %eax,0xfffffef8(%ebp,%esi,4)
   14d1a:	89 43 04             	mov    %eax,0x4(%ebx)
   14d1d:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
   14d24:	8b 84 b5 c8 fe ff ff 	mov    0xfffffec8(%ebp,%esi,4),%eax
   14d2b:	eb 9e                	jmp    14ccb <_HalpAssignPciSlotResources@32+0x12b>
   14d2d:	8d 76 00             	lea    0x0(%esi),%esi
   14d30:	8d 3c b5 00 00 00 00 	lea    0x0(,%esi,4),%edi
   14d37:	8b 8d c4 fe ff ff    	mov    0xfffffec4(%ebp),%ecx
   14d3d:	31 db                	xor    %ebx,%ebx
   14d3f:	41                   	inc    %ecx
   14d40:	8d 47 10             	lea    0x10(%edi),%eax
   14d43:	88 c3                	mov    %al,%bl
   14d45:	52                   	push   %edx
   14d46:	8b 85 b8 fe ff ff    	mov    0xfffffeb8(%ebp),%eax
   14d4c:	52                   	push   %edx
   14d4d:	8b 95 bc fe ff ff    	mov    0xfffffebc(%ebp),%edx
   14d53:	6a ff                	push   $0xffffffff
   14d55:	89 8d c4 fe ff ff    	mov    %ecx,0xfffffec4(%ebp)
   14d5b:	53                   	push   %ebx
   14d5c:	e8 4f f8 ff ff       	call   145b0 <_WritePciConfigUlong>
   14d61:	83 c4 10             	add    $0x10,%esp
   14d64:	85 c0                	test   %eax,%eax
   14d66:	89 85 c0 fe ff ff    	mov    %eax,0xfffffec0(%ebp)
   14d6c:	0f 88 b0 00 00 00    	js     14e22 <_HalpAssignPciSlotResources@32+0x282>
   14d72:	50                   	push   %eax
   14d73:	50                   	push   %eax
   14d74:	8d 84 3d c8 fe ff ff 	lea    0xfffffec8(%ebp,%edi,1),%eax
   14d7b:	50                   	push   %eax
   14d7c:	8b 95 bc fe ff ff    	mov    0xfffffebc(%ebp),%edx
   14d82:	8b 85 b8 fe ff ff    	mov    0xfffffeb8(%ebp),%eax
   14d88:	53                   	push   %ebx
   14d89:	e8 62 f4 ff ff       	call   141f0 <_ReadPciConfigUlong>
   14d8e:	83 c4 10             	add    $0x10,%esp
   14d91:	85 c0                	test   %eax,%eax
   14d93:	89 85 c0 fe ff ff    	mov    %eax,0xfffffec0(%ebp)
   14d99:	0f 88 83 00 00 00    	js     14e22 <_HalpAssignPciSlotResources@32+0x282>
   14d9f:	50                   	push   %eax
   14da0:	50                   	push   %eax
   14da1:	8b 84 b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%eax
   14da8:	50                   	push   %eax
   14da9:	8b 95 bc fe ff ff    	mov    0xfffffebc(%ebp),%edx
   14daf:	8b 85 b8 fe ff ff    	mov    0xfffffeb8(%ebp),%eax
   14db5:	53                   	push   %ebx
   14db6:	e8 f5 f7 ff ff       	call   145b0 <_WritePciConfigUlong>
   14dbb:	83 c4 10             	add    $0x10,%esp
   14dbe:	85 c0                	test   %eax,%eax
   14dc0:	89 85 c0 fe ff ff    	mov    %eax,0xfffffec0(%ebp)
   14dc6:	0f 89 44 fe ff ff    	jns    14c10 <_HalpAssignPciSlotResources@32+0x70>
   14dcc:	8b 8d c0 fe ff ff    	mov    0xfffffec0(%ebp),%ecx
   14dd2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14dd5:	89 c8                	mov    %ecx,%eax
   14dd7:	5b                   	pop    %ebx
   14dd8:	5e                   	pop    %esi
   14dd9:	5f                   	pop    %edi
   14dda:	5d                   	pop    %ebp
   14ddb:	c2 20 00             	ret    $0x20
   14dde:	89 f6                	mov    %esi,%esi
   14de0:	80 bd 24 ff ff ff 00 	cmpb   $0x0,0xffffff24(%ebp)
   14de7:	74 e3                	je     14dcc <_HalpAssignPciSlotResources@32+0x22c>
   14de9:	c6 03 02             	movb   $0x2,(%ebx)
   14dec:	c6 43 01 03          	movb   $0x3,0x1(%ebx)
   14df0:	66 c7 43 02 00 00    	movw   $0x0,0x2(%ebx)
   14df6:	31 c0                	xor    %eax,%eax
   14df8:	8a 85 24 ff ff ff    	mov    0xffffff24(%ebp),%al
   14dfe:	89 43 04             	mov    %eax,0x4(%ebx)
   14e01:	31 c0                	xor    %eax,%eax
   14e03:	8a 85 24 ff ff ff    	mov    0xffffff24(%ebp),%al
   14e09:	c7 43 0c ff ff ff ff 	movl   $0xffffffff,0xc(%ebx)
   14e10:	89 43 08             	mov    %eax,0x8(%ebx)
   14e13:	8b 8d c0 fe ff ff    	mov    0xfffffec0(%ebp),%ecx
   14e19:	eb b7                	jmp    14dd2 <_HalpAssignPciSlotResources@32+0x232>
   14e1b:	b9 01 00 00 c0       	mov    $0xc0000001,%ecx
   14e20:	eb b0                	jmp    14dd2 <_HalpAssignPciSlotResources@32+0x232>
   14e22:	8b 8c b5 f8 fe ff ff 	mov    0xfffffef8(%ebp,%esi,4),%ecx
   14e29:	8b 95 bc fe ff ff    	mov    0xfffffebc(%ebp),%edx
   14e2f:	8b 85 b8 fe ff ff    	mov    0xfffffeb8(%ebp),%eax
   14e35:	57                   	push   %edi
   14e36:	57                   	push   %edi
   14e37:	51                   	push   %ecx
   14e38:	53                   	push   %ebx
   14e39:	e8 72 f7 ff ff       	call   145b0 <_WritePciConfigUlong>
   14e3e:	eb 8c                	jmp    14dcc <_HalpAssignPciSlotResources@32+0x22c>

00014e40 <_HalpInitPciBus>:
   14e40:	55                   	push   %ebp
   14e41:	89 e5                	mov    %esp,%ebp
   14e43:	53                   	push   %ebx
   14e44:	83 ec 10             	sub    $0x10,%esp
   14e47:	68 c0 94 03 00       	push   $0x394c0
   14e4c:	e8 3f 12 00 00       	call   16090 <_KeInitializeSpinLock@4>
   14e51:	8d 45 fb             	lea    0xfffffffb(%ebp),%eax
   14e54:	89 04 24             	mov    %eax,(%esp)
   14e57:	68 c0 94 03 00       	push   $0x394c0
   14e5c:	e8 6f 04 00 00       	call   152d0 <_KeAcquireSpinLock@8>
   14e61:	6a 01                	push   $0x1
   14e63:	68 fb 0c 00 00       	push   $0xcfb
   14e68:	e8 03 03 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14e6d:	50                   	push   %eax
   14e6e:	68 f8 0c 00 00       	push   $0xcf8
   14e73:	e8 88 02 00 00       	call   15100 <_READ_PORT_ULONG@4>
   14e78:	89 c3                	mov    %eax,%ebx
   14e7a:	c7 04 24 00 00 00 80 	movl   $0x80000000,(%esp)
   14e81:	68 f8 0c 00 00       	push   $0xcf8
   14e86:	e8 15 03 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   14e8b:	50                   	push   %eax
   14e8c:	68 f8 0c 00 00       	push   $0xcf8
   14e91:	e8 6a 02 00 00       	call   15100 <_READ_PORT_ULONG@4>
   14e96:	83 c4 0c             	add    $0xc,%esp
   14e99:	3d 00 00 00 80       	cmp    $0x80000000,%eax
   14e9e:	0f 84 6d 01 00 00    	je     15011 <_HalpInitPciBus+0x1d1>
   14ea4:	50                   	push   %eax
   14ea5:	50                   	push   %eax
   14ea6:	53                   	push   %ebx
   14ea7:	68 f8 0c 00 00       	push   $0xcf8
   14eac:	e8 ef 02 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   14eb1:	6a 00                	push   $0x0
   14eb3:	68 fb 0c 00 00       	push   $0xcfb
   14eb8:	e8 b3 02 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14ebd:	6a 00                	push   $0x0
   14ebf:	68 f8 0c 00 00       	push   $0xcf8
   14ec4:	e8 a7 02 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14ec9:	6a 00                	push   $0x0
   14ecb:	68 fa 0c 00 00       	push   $0xcfa
   14ed0:	e8 9b 02 00 00       	call   15170 <_WRITE_PORT_UCHAR@8>
   14ed5:	50                   	push   %eax
   14ed6:	68 f8 0c 00 00       	push   $0xcf8
   14edb:	e8 e0 01 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   14ee0:	83 c4 0c             	add    $0xc,%esp
   14ee3:	84 c0                	test   %al,%al
   14ee5:	74 29                	je     14f10 <_HalpInitPciBus+0xd0>
   14ee7:	31 c0                	xor    %eax,%eax
   14ee9:	51                   	push   %ecx
   14eea:	51                   	push   %ecx
   14eeb:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
   14eee:	50                   	push   %eax
   14eef:	68 c0 94 03 00       	push   $0x394c0
   14ef4:	e8 47 04 00 00       	call   15340 <_KeReleaseSpinLock@8>
   14ef9:	58                   	pop    %eax
   14efa:	31 c0                	xor    %eax,%eax
   14efc:	5a                   	pop    %edx
   14efd:	a3 b0 94 03 00       	mov    %eax,0x394b0
   14f02:	85 c0                	test   %eax,%eax
   14f04:	75 40                	jne    14f46 <_HalpInitPciBus+0x106>
   14f06:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   14f09:	c9                   	leave  
   14f0a:	c3                   	ret    
   14f0b:	90                   	nop    
   14f0c:	8d 74 26 00          	lea    0x0(%esi),%esi
   14f10:	83 ec 0c             	sub    $0xc,%esp
   14f13:	68 fb 0c 00 00       	push   $0xcfb
   14f18:	e8 a3 01 00 00       	call   150c0 <_READ_PORT_UCHAR@4>
   14f1d:	83 c4 0c             	add    $0xc,%esp
   14f20:	84 c0                	test   %al,%al
   14f22:	75 c3                	jne    14ee7 <_HalpInitPciBus+0xa7>
   14f24:	50                   	push   %eax
   14f25:	50                   	push   %eax
   14f26:	31 c0                	xor    %eax,%eax
   14f28:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
   14f2b:	50                   	push   %eax
   14f2c:	68 c0 94 03 00       	push   $0x394c0
   14f31:	e8 0a 04 00 00       	call   15340 <_KeReleaseSpinLock@8>
   14f36:	5b                   	pop    %ebx
   14f37:	58                   	pop    %eax
   14f38:	b8 02 00 00 00       	mov    $0x2,%eax
   14f3d:	a3 b0 94 03 00       	mov    %eax,0x394b0
   14f42:	85 c0                	test   %eax,%eax
   14f44:	74 c0                	je     14f06 <_HalpInitPciBus+0xc6>
   14f46:	53                   	push   %ebx
   14f47:	6a 00                	push   $0x0
   14f49:	6a 04                	push   $0x4
   14f4b:	6a 05                	push   $0x5
   14f4d:	e8 ce c9 ff ff       	call   11920 <_HalpAllocateBusHandler>
   14f52:	8b 15 40 95 03 00    	mov    0x39540,%edx
   14f58:	83 c4 10             	add    $0x10,%esp
   14f5b:	c7 40 18 d0 46 01 00 	movl   $0x146d0,0x18(%eax)
   14f62:	c7 40 1c 30 49 01 00 	movl   $0x14930,0x1c(%eax)
   14f69:	c7 40 28 40 4b 01 00 	movl   $0x14b40,0x28(%eax)
   14f70:	c7 40 2c 60 4b 01 00 	movl   $0x14b60,0x2c(%eax)
   14f77:	c7 40 24 a0 4b 01 00 	movl   $0x14ba0,0x24(%eax)
   14f7e:	85 d2                	test   %edx,%edx
   14f80:	0f 85 c3 00 00 00    	jne    15049 <_HalpInitPciBus+0x209>
   14f86:	53                   	push   %ebx
   14f87:	6a 01                	push   $0x1
   14f89:	6a 04                	push   $0x4
   14f8b:	6a 05                	push   $0x5
   14f8d:	e8 8e c9 ff ff       	call   11920 <_HalpAllocateBusHandler>
   14f92:	8b 15 40 95 03 00    	mov    0x39540,%edx
   14f98:	83 c4 10             	add    $0x10,%esp
   14f9b:	c7 40 18 d0 46 01 00 	movl   $0x146d0,0x18(%eax)
   14fa2:	c7 40 1c 30 49 01 00 	movl   $0x14930,0x1c(%eax)
   14fa9:	c7 40 28 40 4b 01 00 	movl   $0x14b40,0x28(%eax)
   14fb0:	c7 40 2c 60 4b 01 00 	movl   $0x14b60,0x2c(%eax)
   14fb7:	c7 40 24 a0 4b 01 00 	movl   $0x14ba0,0x24(%eax)
   14fbe:	85 d2                	test   %edx,%edx
   14fc0:	75 78                	jne    1503a <_HalpInitPciBus+0x1fa>
   14fc2:	53                   	push   %ebx
   14fc3:	6a 02                	push   $0x2
   14fc5:	6a 04                	push   $0x4
   14fc7:	6a 05                	push   $0x5
   14fc9:	e8 52 c9 ff ff       	call   11920 <_HalpAllocateBusHandler>
   14fce:	8b 15 40 95 03 00    	mov    0x39540,%edx
   14fd4:	83 c4 10             	add    $0x10,%esp
   14fd7:	c7 40 18 d0 46 01 00 	movl   $0x146d0,0x18(%eax)
   14fde:	c7 40 1c 30 49 01 00 	movl   $0x14930,0x1c(%eax)
   14fe5:	c7 40 28 40 4b 01 00 	movl   $0x14b40,0x28(%eax)
   14fec:	c7 40 2c 60 4b 01 00 	movl   $0x14b60,0x2c(%eax)
   14ff3:	c7 40 24 a0 4b 01 00 	movl   $0x14ba0,0x24(%eax)
   14ffa:	85 d2                	test   %edx,%edx
   14ffc:	0f 84 04 ff ff ff    	je     14f06 <_HalpInitPciBus+0xc6>
   15002:	51                   	push   %ecx
   15003:	51                   	push   %ecx
   15004:	50                   	push   %eax
   15005:	6a 02                	push   $0x2
   15007:	ff d2                	call   *%edx
   15009:	83 c4 10             	add    $0x10,%esp
   1500c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1500f:	c9                   	leave  
   15010:	c3                   	ret    
   15011:	51                   	push   %ecx
   15012:	51                   	push   %ecx
   15013:	53                   	push   %ebx
   15014:	68 f8 0c 00 00       	push   $0xcf8
   15019:	e8 82 01 00 00       	call   151a0 <_WRITE_PORT_ULONG@8>
   1501e:	31 c0                	xor    %eax,%eax
   15020:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
   15023:	50                   	push   %eax
   15024:	68 c0 94 03 00       	push   $0x394c0
   15029:	e8 12 03 00 00       	call   15340 <_KeReleaseSpinLock@8>
   1502e:	58                   	pop    %eax
   1502f:	b8 01 00 00 00       	mov    $0x1,%eax
   15034:	5a                   	pop    %edx
   15035:	e9 c3 fe ff ff       	jmp    14efd <_HalpInitPciBus+0xbd>
   1503a:	51                   	push   %ecx
   1503b:	51                   	push   %ecx
   1503c:	50                   	push   %eax
   1503d:	6a 01                	push   $0x1
   1503f:	ff d2                	call   *%edx
   15041:	83 c4 10             	add    $0x10,%esp
   15044:	e9 79 ff ff ff       	jmp    14fc2 <_HalpInitPciBus+0x182>
   15049:	51                   	push   %ecx
   1504a:	51                   	push   %ecx
   1504b:	50                   	push   %eax
   1504c:	6a 00                	push   $0x0
   1504e:	ff d2                	call   *%edx
   15050:	83 c4 10             	add    $0x10,%esp
   15053:	e9 2e ff ff ff       	jmp    14f86 <_HalpInitPciBus+0x146>
   15058:	90                   	nop    
   15059:	90                   	nop    
   1505a:	90                   	nop    
   1505b:	90                   	nop    
   1505c:	90                   	nop    
   1505d:	90                   	nop    
   1505e:	90                   	nop    
   1505f:	90                   	nop    

00015060 <_READ_PORT_BUFFER_UCHAR@12>:
   15060:	55                   	push   %ebp
   15061:	89 e5                	mov    %esp,%ebp
   15063:	57                   	push   %edi
   15064:	8b 55 08             	mov    0x8(%ebp),%edx
   15067:	8b 7d 0c             	mov    0xc(%ebp),%edi
   1506a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1506d:	fc                   	cld    
   1506e:	f3 6c                	repz insb (%dx),%es:(%edi)
   15070:	5f                   	pop    %edi
   15071:	5d                   	pop    %ebp
   15072:	c2 0c 00             	ret    $0xc
   15075:	8d 74 26 00          	lea    0x0(%esi),%esi
   15079:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015080 <_READ_PORT_BUFFER_USHORT@12>:
   15080:	55                   	push   %ebp
   15081:	89 e5                	mov    %esp,%ebp
   15083:	57                   	push   %edi
   15084:	8b 55 08             	mov    0x8(%ebp),%edx
   15087:	8b 7d 0c             	mov    0xc(%ebp),%edi
   1508a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1508d:	fc                   	cld    
   1508e:	f3 66 6d             	repz insw (%dx),%es:(%edi)
   15091:	5f                   	pop    %edi
   15092:	5d                   	pop    %ebp
   15093:	c2 0c 00             	ret    $0xc
   15096:	8d 76 00             	lea    0x0(%esi),%esi
   15099:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000150a0 <_READ_PORT_BUFFER_ULONG@12>:
   150a0:	55                   	push   %ebp
   150a1:	89 e5                	mov    %esp,%ebp
   150a3:	57                   	push   %edi
   150a4:	8b 55 08             	mov    0x8(%ebp),%edx
   150a7:	8b 7d 0c             	mov    0xc(%ebp),%edi
   150aa:	8b 4d 10             	mov    0x10(%ebp),%ecx
   150ad:	fc                   	cld    
   150ae:	f3 6d                	repz insl (%dx),%es:(%edi)
   150b0:	5f                   	pop    %edi
   150b1:	5d                   	pop    %ebp
   150b2:	c2 0c 00             	ret    $0xc
   150b5:	8d 74 26 00          	lea    0x0(%esi),%esi
   150b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000150c0 <_READ_PORT_UCHAR@4>:
   150c0:	55                   	push   %ebp
   150c1:	89 e5                	mov    %esp,%ebp
   150c3:	8b 55 08             	mov    0x8(%ebp),%edx
   150c6:	ec                   	in     (%dx),%al
   150c7:	e6 80                	out    %al,$0x80
   150c9:	25 ff 00 00 00       	and    $0xff,%eax
   150ce:	5d                   	pop    %ebp
   150cf:	c2 04 00             	ret    $0x4
   150d2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   150d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000150e0 <_READ_PORT_USHORT@4>:
   150e0:	55                   	push   %ebp
   150e1:	89 e5                	mov    %esp,%ebp
   150e3:	8b 55 08             	mov    0x8(%ebp),%edx
   150e6:	66 ed                	in     (%dx),%ax
   150e8:	e6 80                	out    %al,$0x80
   150ea:	25 ff ff 00 00       	and    $0xffff,%eax
   150ef:	5d                   	pop    %ebp
   150f0:	c2 04 00             	ret    $0x4
   150f3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   150f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015100 <_READ_PORT_ULONG@4>:
   15100:	55                   	push   %ebp
   15101:	89 e5                	mov    %esp,%ebp
   15103:	8b 55 08             	mov    0x8(%ebp),%edx
   15106:	ed                   	in     (%dx),%eax
   15107:	e6 80                	out    %al,$0x80
   15109:	5d                   	pop    %ebp
   1510a:	c2 04 00             	ret    $0x4
   1510d:	8d 76 00             	lea    0x0(%esi),%esi

00015110 <_WRITE_PORT_BUFFER_UCHAR@12>:
   15110:	55                   	push   %ebp
   15111:	89 e5                	mov    %esp,%ebp
   15113:	56                   	push   %esi
   15114:	8b 55 08             	mov    0x8(%ebp),%edx
   15117:	8b 75 0c             	mov    0xc(%ebp),%esi
   1511a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1511d:	fc                   	cld    
   1511e:	f3 6e                	repz outsb %ds:(%esi),(%dx)
   15120:	5e                   	pop    %esi
   15121:	5d                   	pop    %ebp
   15122:	c2 0c 00             	ret    $0xc
   15125:	8d 74 26 00          	lea    0x0(%esi),%esi
   15129:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015130 <_WRITE_PORT_BUFFER_USHORT@12>:
   15130:	55                   	push   %ebp
   15131:	89 e5                	mov    %esp,%ebp
   15133:	56                   	push   %esi
   15134:	8b 55 08             	mov    0x8(%ebp),%edx
   15137:	8b 75 0c             	mov    0xc(%ebp),%esi
   1513a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1513d:	fc                   	cld    
   1513e:	f3 66 6f             	repz outsw %ds:(%esi),(%dx)
   15141:	5e                   	pop    %esi
   15142:	5d                   	pop    %ebp
   15143:	c2 0c 00             	ret    $0xc
   15146:	8d 76 00             	lea    0x0(%esi),%esi
   15149:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015150 <_WRITE_PORT_BUFFER_ULONG@12>:
   15150:	55                   	push   %ebp
   15151:	89 e5                	mov    %esp,%ebp
   15153:	56                   	push   %esi
   15154:	8b 55 08             	mov    0x8(%ebp),%edx
   15157:	8b 75 0c             	mov    0xc(%ebp),%esi
   1515a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1515d:	fc                   	cld    
   1515e:	f3 6f                	repz outsl %ds:(%esi),(%dx)
   15160:	5e                   	pop    %esi
   15161:	5d                   	pop    %ebp
   15162:	c2 0c 00             	ret    $0xc
   15165:	8d 74 26 00          	lea    0x0(%esi),%esi
   15169:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015170 <_WRITE_PORT_UCHAR@8>:
   15170:	55                   	push   %ebp
   15171:	89 e5                	mov    %esp,%ebp
   15173:	8b 55 08             	mov    0x8(%ebp),%edx
   15176:	8a 45 0c             	mov    0xc(%ebp),%al
   15179:	ee                   	out    %al,(%dx)
   1517a:	e6 80                	out    %al,$0x80
   1517c:	5d                   	pop    %ebp
   1517d:	c2 08 00             	ret    $0x8

00015180 <_WRITE_PORT_USHORT@8>:
   15180:	55                   	push   %ebp
   15181:	89 e5                	mov    %esp,%ebp
   15183:	8b 55 08             	mov    0x8(%ebp),%edx
   15186:	8b 45 0c             	mov    0xc(%ebp),%eax
   15189:	66 ef                	out    %ax,(%dx)
   1518b:	e6 80                	out    %al,$0x80
   1518d:	5d                   	pop    %ebp
   1518e:	c2 08 00             	ret    $0x8
   15191:	eb 0d                	jmp    151a0 <_WRITE_PORT_ULONG@8>
   15193:	90                   	nop    
   15194:	90                   	nop    
   15195:	90                   	nop    
   15196:	90                   	nop    
   15197:	90                   	nop    
   15198:	90                   	nop    
   15199:	90                   	nop    
   1519a:	90                   	nop    
   1519b:	90                   	nop    
   1519c:	90                   	nop    
   1519d:	90                   	nop    
   1519e:	90                   	nop    
   1519f:	90                   	nop    

000151a0 <_WRITE_PORT_ULONG@8>:
   151a0:	55                   	push   %ebp
   151a1:	89 e5                	mov    %esp,%ebp
   151a3:	8b 55 08             	mov    0x8(%ebp),%edx
   151a6:	8b 45 0c             	mov    0xc(%ebp),%eax
   151a9:	ef                   	out    %eax,(%dx)
   151aa:	e6 80                	out    %al,$0x80
   151ac:	5d                   	pop    %ebp
   151ad:	c2 08 00             	ret    $0x8

000151b0 <_HalInitializeProcessor@8>:
   151b0:	55                   	push   %ebp
   151b1:	89 e5                	mov    %esp,%ebp
   151b3:	5d                   	pop    %ebp
   151b4:	c2 08 00             	ret    $0x8
   151b7:	89 f6                	mov    %esi,%esi
   151b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000151c0 <_HalAllProcessorsStarted@0>:
   151c0:	55                   	push   %ebp
   151c1:	b8 01 00 00 00       	mov    $0x1,%eax
   151c6:	89 e5                	mov    %esp,%ebp
   151c8:	5d                   	pop    %ebp
   151c9:	c3                   	ret    
   151ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

000151d0 <_HalStartNextProcessor@8>:
   151d0:	55                   	push   %ebp
   151d1:	b8 01 00 00 00       	mov    $0x1,%eax
   151d6:	89 e5                	mov    %esp,%ebp
   151d8:	5d                   	pop    %ebp
   151d9:	c2 08 00             	ret    $0x8
   151dc:	90                   	nop    
   151dd:	90                   	nop    
   151de:	90                   	nop    
   151df:	90                   	nop    

000151e0 <_HalReturnToFirmware@4>:
   151e0:	55                   	push   %ebp
   151e1:	89 e5                	mov    %esp,%ebp
   151e3:	50                   	push   %eax
   151e4:	50                   	push   %eax
   151e5:	8b 45 08             	mov    0x8(%ebp),%eax
   151e8:	83 f8 01             	cmp    $0x1,%eax
   151eb:	0f 84 86 00 00 00    	je     15277 <_HalReturnToFirmware@4+0x97>
   151f1:	83 f8 03             	cmp    $0x3,%eax
   151f4:	74 04                	je     151fa <_HalReturnToFirmware@4+0x1a>
   151f6:	c9                   	leave  
   151f7:	c2 04 00             	ret    $0x4
   151fa:	e8 b1 d3 ff ff       	call   125b0 <_HalReleaseDisplayOwnership@0>
   151ff:	a1 00 94 03 00       	mov    0x39400,%eax
   15204:	c6 80 72 04 00 00 34 	movb   $0x34,0x472(%eax)
   1520b:	a1 00 94 03 00       	mov    0x39400,%eax
   15210:	c6 80 73 04 00 00 12 	movb   $0x12,0x473(%eax)
   15217:	fa                   	cli    
   15218:	50                   	push   %eax
   15219:	50                   	push   %eax
   1521a:	6a 0b                	push   $0xb
   1521c:	6a 70                	push   $0x70
   1521e:	e8 4d ff ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15223:	50                   	push   %eax
   15224:	6a 71                	push   $0x71
   15226:	e8 95 fe ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   1522b:	25 bf 00 00 00       	and    $0xbf,%eax
   15230:	89 04 24             	mov    %eax,(%esp)
   15233:	6a 71                	push   $0x71
   15235:	e8 36 ff ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   1523a:	6a 0a                	push   $0xa
   1523c:	6a 70                	push   $0x70
   1523e:	e8 2d ff ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15243:	51                   	push   %ecx
   15244:	6a 71                	push   $0x71
   15246:	e8 75 fe ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   1524b:	83 c8 06             	or     $0x6,%eax
   1524e:	25 f6 00 00 00       	and    $0xf6,%eax
   15253:	89 04 24             	mov    %eax,(%esp)
   15256:	6a 71                	push   $0x71
   15258:	e8 13 ff ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   1525d:	6a 15                	push   $0x15
   1525f:	6a 70                	push   $0x70
   15261:	e8 0a ff ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15266:	68 fe 00 00 00       	push   $0xfe
   1526b:	6a 64                	push   $0x64
   1526d:	e8 fe fe ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15272:	58                   	pop    %eax
   15273:	5a                   	pop    %edx
   15274:	f4                   	hlt    
   15275:	eb fe                	jmp    15275 <_HalReturnToFirmware@4+0x95>
   15277:	83 ec 0c             	sub    $0xc,%esp
   1527a:	68 30 82 01 00       	push   $0x18230
   1527f:	e8 cc 0e 00 00       	call   16150 <_DbgPrint>
   15284:	e8 d7 0f 00 00       	call   16260 <_DbgBreakPoint@0>
   15289:	83 c4 10             	add    $0x10,%esp
   1528c:	c9                   	leave  
   1528d:	c2 04 00             	ret    $0x4

00015290 <_HalReportResourceUsage@0>:
   15290:	55                   	push   %ebp
   15291:	89 e5                	mov    %esp,%ebp
   15293:	5d                   	pop    %ebp
   15294:	e9 a7 fb ff ff       	jmp    14e40 <_HalpInitPciBus>
   15299:	90                   	nop    
   1529a:	90                   	nop    
   1529b:	90                   	nop    
   1529c:	90                   	nop    
   1529d:	90                   	nop    
   1529e:	90                   	nop    
   1529f:	90                   	nop    

000152a0 <@KfAcquireSpinLock@4>:
   152a0:	55                   	push   %ebp
   152a1:	89 e5                	mov    %esp,%ebp
   152a3:	56                   	push   %esi
   152a4:	89 ce                	mov    %ecx,%esi
   152a6:	b9 02 00 00 00       	mov    $0x2,%ecx
   152ab:	53                   	push   %ebx
   152ac:	e8 af e0 ff ff       	call   13360 <@KfRaiseIrql@4>
   152b1:	89 f1                	mov    %esi,%ecx
   152b3:	88 c3                	mov    %al,%bl
   152b5:	e8 c6 0e 00 00       	call   16180 <@KiAcquireSpinLock@4>
   152ba:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   152c0:	89 d8                	mov    %ebx,%eax
   152c2:	5b                   	pop    %ebx
   152c3:	5e                   	pop    %esi
   152c4:	5d                   	pop    %ebp
   152c5:	c3                   	ret    
   152c6:	8d 76 00             	lea    0x0(%esi),%esi
   152c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000152d0 <_KeAcquireSpinLock@8>:
   152d0:	55                   	push   %ebp
   152d1:	89 e5                	mov    %esp,%ebp
   152d3:	50                   	push   %eax
   152d4:	50                   	push   %eax
   152d5:	8b 4d 08             	mov    0x8(%ebp),%ecx
   152d8:	e8 c3 ff ff ff       	call   152a0 <@KfAcquireSpinLock@4>
   152dd:	8b 55 0c             	mov    0xc(%ebp),%edx
   152e0:	88 02                	mov    %al,(%edx)
   152e2:	c9                   	leave  
   152e3:	c2 08 00             	ret    $0x8
   152e6:	8d 76 00             	lea    0x0(%esi),%esi
   152e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000152f0 <@KeAcquireSpinLockRaiseToSynch@4>:
   152f0:	55                   	push   %ebp
   152f1:	89 e5                	mov    %esp,%ebp
   152f3:	56                   	push   %esi
   152f4:	89 ce                	mov    %ecx,%esi
   152f6:	b9 1c 00 00 00       	mov    $0x1c,%ecx
   152fb:	53                   	push   %ebx
   152fc:	e8 5f e0 ff ff       	call   13360 <@KfRaiseIrql@4>
   15301:	89 f1                	mov    %esi,%ecx
   15303:	88 c3                	mov    %al,%bl
   15305:	e8 76 0e 00 00       	call   16180 <@KiAcquireSpinLock@4>
   1530a:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   15310:	89 d8                	mov    %ebx,%eax
   15312:	5b                   	pop    %ebx
   15313:	5e                   	pop    %esi
   15314:	5d                   	pop    %ebp
   15315:	c3                   	ret    
   15316:	8d 76 00             	lea    0x0(%esi),%esi
   15319:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015320 <@KfReleaseSpinLock@8>:
   15320:	55                   	push   %ebp
   15321:	89 e5                	mov    %esp,%ebp
   15323:	53                   	push   %ebx
   15324:	53                   	push   %ebx
   15325:	88 d3                	mov    %dl,%bl
   15327:	e8 74 0e 00 00       	call   161a0 <@KiReleaseSpinLock@4>
   1532c:	31 c9                	xor    %ecx,%ecx
   1532e:	5a                   	pop    %edx
   1532f:	88 d9                	mov    %bl,%cl
   15331:	5b                   	pop    %ebx
   15332:	5d                   	pop    %ebp
   15333:	e9 98 df ff ff       	jmp    132d0 <@KfLowerIrql@4>
   15338:	90                   	nop    
   15339:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015340 <_KeReleaseSpinLock@8>:
   15340:	55                   	push   %ebp
   15341:	89 e5                	mov    %esp,%ebp
   15343:	31 d2                	xor    %edx,%edx
   15345:	50                   	push   %eax
   15346:	50                   	push   %eax
   15347:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1534a:	8a 55 0c             	mov    0xc(%ebp),%dl
   1534d:	e8 ce ff ff ff       	call   15320 <@KfReleaseSpinLock@8>
   15352:	c9                   	leave  
   15353:	c2 08 00             	ret    $0x8
   15356:	90                   	nop    
   15357:	90                   	nop    
   15358:	90                   	nop    
   15359:	90                   	nop    
   1535a:	90                   	nop    
   1535b:	90                   	nop    
   1535c:	90                   	nop    
   1535d:	90                   	nop    
   1535e:	90                   	nop    
   1535f:	90                   	nop    

00015360 <_HalpGetSystemInterruptVector@24>:
   15360:	55                   	push   %ebp
   15361:	b2 5b                	mov    $0x5b,%dl
   15363:	89 e5                	mov    %esp,%ebp
   15365:	8b 45 14             	mov    0x14(%ebp),%eax
   15368:	8b 4d 18             	mov    0x18(%ebp),%ecx
   1536b:	83 c0 40             	add    $0x40,%eax
   1536e:	28 c2                	sub    %al,%dl
   15370:	88 11                	mov    %dl,(%ecx)
   15372:	8b 55 1c             	mov    0x1c(%ebp),%edx
   15375:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
   1537b:	5d                   	pop    %ebp
   1537c:	c2 18 00             	ret    $0x18
   1537f:	90                   	nop    

00015380 <_HalpTranslateSystemBusAddress@24>:
   15380:	55                   	push   %ebp
   15381:	89 e5                	mov    %esp,%ebp
   15383:	8b 45 18             	mov    0x18(%ebp),%eax
   15386:	8b 00                	mov    (%eax),%eax
   15388:	85 c0                	test   %eax,%eax
   1538a:	74 05                	je     15391 <_HalpTranslateSystemBusAddress@24+0x11>
   1538c:	31 d2                	xor    %edx,%edx
   1538e:	48                   	dec    %eax
   1538f:	75 13                	jne    153a4 <_HalpTranslateSystemBusAddress@24+0x24>
   15391:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
   15394:	8b 55 14             	mov    0x14(%ebp),%edx
   15397:	8b 45 10             	mov    0x10(%ebp),%eax
   1539a:	89 01                	mov    %eax,(%ecx)
   1539c:	89 51 04             	mov    %edx,0x4(%ecx)
   1539f:	ba 01 00 00 00       	mov    $0x1,%edx
   153a4:	89 d0                	mov    %edx,%eax
   153a6:	5d                   	pop    %ebp
   153a7:	c2 18 00             	ret    $0x18
   153aa:	90                   	nop    
   153ab:	90                   	nop    
   153ac:	90                   	nop    
   153ad:	90                   	nop    
   153ae:	90                   	nop    
   153af:	90                   	nop    

000153b0 <_HalpQuerySystemInformation@16>:
   153b0:	55                   	push   %ebp
   153b1:	89 e5                	mov    %esp,%ebp
   153b3:	83 ec 0c             	sub    $0xc,%esp
   153b6:	6a 20                	push   $0x20
   153b8:	68 50 82 01 00       	push   $0x18250
   153bd:	68 65 82 01 00       	push   $0x18265
   153c2:	e8 89 0d 00 00       	call   16150 <_DbgPrint>
   153c7:	c7 04 24 70 82 01 00 	movl   $0x18270,(%esp)
   153ce:	e8 7d 0d 00 00       	call   16150 <_DbgPrint>
   153d3:	8b 45 14             	mov    0x14(%ebp),%eax
   153d6:	83 c4 10             	add    $0x10,%esp
   153d9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   153df:	b8 48 01 00 c0       	mov    $0xc0000148,%eax
   153e4:	c9                   	leave  
   153e5:	c2 10 00             	ret    $0x10
   153e8:	90                   	nop    
   153e9:	90                   	nop    
   153ea:	90                   	nop    
   153eb:	90                   	nop    
   153ec:	90                   	nop    
   153ed:	90                   	nop    
   153ee:	90                   	nop    
   153ef:	90                   	nop    

000153f0 <_HalpQueryCMOS>:
   153f0:	55                   	push   %ebp
   153f1:	83 c8 80             	or     $0xffffff80,%eax
   153f4:	89 e5                	mov    %esp,%ebp
   153f6:	56                   	push   %esi
   153f7:	53                   	push   %ebx
   153f8:	9c                   	pushf  
   153f9:	5e                   	pop    %esi
   153fa:	fa                   	cli    
   153fb:	25 ff 00 00 00       	and    $0xff,%eax
   15400:	52                   	push   %edx
   15401:	52                   	push   %edx
   15402:	50                   	push   %eax
   15403:	6a 70                	push   $0x70
   15405:	e8 66 fd ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   1540a:	50                   	push   %eax
   1540b:	6a 71                	push   $0x71
   1540d:	e8 ae fc ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   15412:	88 c3                	mov    %al,%bl
   15414:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1541b:	6a 70                	push   $0x70
   1541d:	e8 4e fd ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15422:	56                   	push   %esi
   15423:	9d                   	popf   
   15424:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   1542a:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1542d:	89 d8                	mov    %ebx,%eax
   1542f:	5b                   	pop    %ebx
   15430:	5e                   	pop    %esi
   15431:	5d                   	pop    %ebp
   15432:	c3                   	ret    
   15433:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15439:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015440 <_HalpSetCMOS>:
   15440:	55                   	push   %ebp
   15441:	83 c8 80             	or     $0xffffff80,%eax
   15444:	89 e5                	mov    %esp,%ebp
   15446:	56                   	push   %esi
   15447:	89 d6                	mov    %edx,%esi
   15449:	53                   	push   %ebx
   1544a:	9c                   	pushf  
   1544b:	5b                   	pop    %ebx
   1544c:	fa                   	cli    
   1544d:	25 ff 00 00 00       	and    $0xff,%eax
   15452:	51                   	push   %ecx
   15453:	51                   	push   %ecx
   15454:	50                   	push   %eax
   15455:	6a 70                	push   $0x70
   15457:	e8 14 fd ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   1545c:	89 f0                	mov    %esi,%eax
   1545e:	25 ff 00 00 00       	and    $0xff,%eax
   15463:	50                   	push   %eax
   15464:	6a 71                	push   $0x71
   15466:	e8 05 fd ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   1546b:	6a 00                	push   $0x0
   1546d:	6a 70                	push   $0x70
   1546f:	e8 fc fc ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15474:	53                   	push   %ebx
   15475:	9d                   	popf   
   15476:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   15479:	5b                   	pop    %ebx
   1547a:	5e                   	pop    %esi
   1547b:	5d                   	pop    %ebp
   1547c:	c3                   	ret    
   1547d:	8d 76 00             	lea    0x0(%esi),%esi

00015480 <_HalQueryRealTimeClock@4>:
   15480:	55                   	push   %ebp
   15481:	89 e5                	mov    %esp,%ebp
   15483:	56                   	push   %esi
   15484:	53                   	push   %ebx
   15485:	83 ec 18             	sub    $0x18,%esp
   15488:	8d 45 f7             	lea    0xfffffff7(%ebp),%eax
   1548b:	8b 75 08             	mov    0x8(%ebp),%esi
   1548e:	50                   	push   %eax
   1548f:	68 d0 94 03 00       	push   $0x394d0
   15494:	e8 37 fe ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15499:	58                   	pop    %eax
   1549a:	5a                   	pop    %edx
   1549b:	90                   	nop    
   1549c:	8d 74 26 00          	lea    0x0(%esi),%esi
   154a0:	b8 0a 00 00 00       	mov    $0xa,%eax
   154a5:	e8 46 ff ff ff       	call   153f0 <_HalpQueryCMOS>
   154aa:	84 c0                	test   %al,%al
   154ac:	78 f2                	js     154a0 <_HalQueryRealTimeClock@4+0x20>
   154ae:	31 c0                	xor    %eax,%eax
   154b0:	e8 3b ff ff ff       	call   153f0 <_HalpQueryCMOS>
   154b5:	25 f0 00 00 00       	and    $0xf0,%eax
   154ba:	c1 f8 04             	sar    $0x4,%eax
   154bd:	8d 04 80             	lea    (%eax,%eax,4),%eax
   154c0:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   154c3:	31 c0                	xor    %eax,%eax
   154c5:	e8 26 ff ff ff       	call   153f0 <_HalpQueryCMOS>
   154ca:	83 e0 0f             	and    $0xf,%eax
   154cd:	01 d8                	add    %ebx,%eax
   154cf:	66 89 46 0a          	mov    %ax,0xa(%esi)
   154d3:	b8 02 00 00 00       	mov    $0x2,%eax
   154d8:	e8 13 ff ff ff       	call   153f0 <_HalpQueryCMOS>
   154dd:	25 f0 00 00 00       	and    $0xf0,%eax
   154e2:	c1 f8 04             	sar    $0x4,%eax
   154e5:	8d 04 80             	lea    (%eax,%eax,4),%eax
   154e8:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   154eb:	b8 02 00 00 00       	mov    $0x2,%eax
   154f0:	e8 fb fe ff ff       	call   153f0 <_HalpQueryCMOS>
   154f5:	83 e0 0f             	and    $0xf,%eax
   154f8:	01 d8                	add    %ebx,%eax
   154fa:	66 89 46 08          	mov    %ax,0x8(%esi)
   154fe:	b8 04 00 00 00       	mov    $0x4,%eax
   15503:	e8 e8 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   15508:	25 f0 00 00 00       	and    $0xf0,%eax
   1550d:	c1 f8 04             	sar    $0x4,%eax
   15510:	8d 04 80             	lea    (%eax,%eax,4),%eax
   15513:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   15516:	b8 04 00 00 00       	mov    $0x4,%eax
   1551b:	e8 d0 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   15520:	83 e0 0f             	and    $0xf,%eax
   15523:	01 d8                	add    %ebx,%eax
   15525:	66 89 46 06          	mov    %ax,0x6(%esi)
   15529:	b8 06 00 00 00       	mov    $0x6,%eax
   1552e:	e8 bd fe ff ff       	call   153f0 <_HalpQueryCMOS>
   15533:	25 f0 00 00 00       	and    $0xf0,%eax
   15538:	c1 f8 04             	sar    $0x4,%eax
   1553b:	8d 04 80             	lea    (%eax,%eax,4),%eax
   1553e:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   15541:	b8 06 00 00 00       	mov    $0x6,%eax
   15546:	e8 a5 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   1554b:	83 e0 0f             	and    $0xf,%eax
   1554e:	01 d8                	add    %ebx,%eax
   15550:	66 89 46 0e          	mov    %ax,0xe(%esi)
   15554:	b8 07 00 00 00       	mov    $0x7,%eax
   15559:	e8 92 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   1555e:	25 f0 00 00 00       	and    $0xf0,%eax
   15563:	c1 f8 04             	sar    $0x4,%eax
   15566:	8d 04 80             	lea    (%eax,%eax,4),%eax
   15569:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   1556c:	b8 07 00 00 00       	mov    $0x7,%eax
   15571:	e8 7a fe ff ff       	call   153f0 <_HalpQueryCMOS>
   15576:	83 e0 0f             	and    $0xf,%eax
   15579:	01 d8                	add    %ebx,%eax
   1557b:	66 89 46 04          	mov    %ax,0x4(%esi)
   1557f:	b8 08 00 00 00       	mov    $0x8,%eax
   15584:	e8 67 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   15589:	25 f0 00 00 00       	and    $0xf0,%eax
   1558e:	c1 f8 04             	sar    $0x4,%eax
   15591:	8d 04 80             	lea    (%eax,%eax,4),%eax
   15594:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   15597:	b8 08 00 00 00       	mov    $0x8,%eax
   1559c:	e8 4f fe ff ff       	call   153f0 <_HalpQueryCMOS>
   155a1:	83 e0 0f             	and    $0xf,%eax
   155a4:	01 d8                	add    %ebx,%eax
   155a6:	66 89 46 02          	mov    %ax,0x2(%esi)
   155aa:	b8 09 00 00 00       	mov    $0x9,%eax
   155af:	e8 3c fe ff ff       	call   153f0 <_HalpQueryCMOS>
   155b4:	25 f0 00 00 00       	and    $0xf0,%eax
   155b9:	c1 f8 04             	sar    $0x4,%eax
   155bc:	8d 04 80             	lea    (%eax,%eax,4),%eax
   155bf:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
   155c2:	b8 09 00 00 00       	mov    $0x9,%eax
   155c7:	e8 24 fe ff ff       	call   153f0 <_HalpQueryCMOS>
   155cc:	83 e0 0f             	and    $0xf,%eax
   155cf:	01 d8                	add    %ebx,%eax
   155d1:	66 83 f8 50          	cmp    $0x50,%ax
   155d5:	76 29                	jbe    15600 <_HalQueryRealTimeClock@4+0x180>
   155d7:	05 6c 07 00 00       	add    $0x76c,%eax
   155dc:	66 89 06             	mov    %ax,(%esi)
   155df:	53                   	push   %ebx
   155e0:	31 c0                	xor    %eax,%eax
   155e2:	53                   	push   %ebx
   155e3:	8a 45 f7             	mov    0xfffffff7(%ebp),%al
   155e6:	50                   	push   %eax
   155e7:	68 d0 94 03 00       	push   $0x394d0
   155ec:	e8 4f fd ff ff       	call   15340 <_KeReleaseSpinLock@8>
   155f1:	66 c7 46 0c 00 00    	movw   $0x0,0xc(%esi)
   155f7:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   155fa:	5b                   	pop    %ebx
   155fb:	5e                   	pop    %esi
   155fc:	5d                   	pop    %ebp
   155fd:	c2 04 00             	ret    $0x4
   15600:	05 d0 07 00 00       	add    $0x7d0,%eax
   15605:	66 89 06             	mov    %ax,(%esi)
   15608:	53                   	push   %ebx
   15609:	31 c0                	xor    %eax,%eax
   1560b:	53                   	push   %ebx
   1560c:	8a 45 f7             	mov    0xfffffff7(%ebp),%al
   1560f:	50                   	push   %eax
   15610:	68 d0 94 03 00       	push   $0x394d0
   15615:	e8 26 fd ff ff       	call   15340 <_KeReleaseSpinLock@8>
   1561a:	66 c7 46 0c 00 00    	movw   $0x0,0xc(%esi)
   15620:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   15623:	5b                   	pop    %ebx
   15624:	5e                   	pop    %esi
   15625:	5d                   	pop    %ebp
   15626:	c2 04 00             	ret    $0x4
   15629:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015630 <_HalSetRealTimeClock@4>:
   15630:	55                   	push   %ebp
   15631:	89 e5                	mov    %esp,%ebp
   15633:	57                   	push   %edi
   15634:	56                   	push   %esi
   15635:	53                   	push   %ebx
   15636:	83 ec 14             	sub    $0x14,%esp
   15639:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   1563c:	8b 75 08             	mov    0x8(%ebp),%esi
   1563f:	50                   	push   %eax
   15640:	68 d0 94 03 00       	push   $0x394d0
   15645:	e8 86 fc ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   1564a:	5b                   	pop    %ebx
   1564b:	5f                   	pop    %edi
   1564c:	8d 74 26 00          	lea    0x0(%esi),%esi
   15650:	b8 0a 00 00 00       	mov    $0xa,%eax
   15655:	e8 96 fd ff ff       	call   153f0 <_HalpQueryCMOS>
   1565a:	84 c0                	test   %al,%al
   1565c:	78 f2                	js     15650 <_HalSetRealTimeClock@4+0x20>
   1565e:	66 8b 5e 0a          	mov    0xa(%esi),%bx
   15662:	bf 0a 00 00 00       	mov    $0xa,%edi
   15667:	89 d9                	mov    %ebx,%ecx
   15669:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1566f:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   15672:	89 c2                	mov    %eax,%edx
   15674:	c1 e2 04             	shl    $0x4,%edx
   15677:	01 d0                	add    %edx,%eax
   15679:	89 c2                	mov    %eax,%edx
   1567b:	c1 e2 08             	shl    $0x8,%edx
   1567e:	01 d0                	add    %edx,%eax
   15680:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   15683:	c1 e8 10             	shr    $0x10,%eax
   15686:	66 c1 e8 03          	shr    $0x3,%ax
   1568a:	88 c2                	mov    %al,%dl
   1568c:	c1 e2 04             	shl    $0x4,%edx
   1568f:	8d 04 80             	lea    (%eax,%eax,4),%eax
   15692:	01 c0                	add    %eax,%eax
   15694:	66 29 c3             	sub    %ax,%bx
   15697:	31 c0                	xor    %eax,%eax
   15699:	01 da                	add    %ebx,%edx
   1569b:	81 e2 ff 00 00 00    	and    $0xff,%edx
   156a1:	e8 9a fd ff ff       	call   15440 <_HalpSetCMOS>
   156a6:	66 8b 5e 08          	mov    0x8(%esi),%bx
   156aa:	89 d9                	mov    %ebx,%ecx
   156ac:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   156b2:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   156b5:	89 c2                	mov    %eax,%edx
   156b7:	c1 e2 04             	shl    $0x4,%edx
   156ba:	01 d0                	add    %edx,%eax
   156bc:	89 c2                	mov    %eax,%edx
   156be:	c1 e2 08             	shl    $0x8,%edx
   156c1:	01 d0                	add    %edx,%eax
   156c3:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   156c6:	c1 e8 10             	shr    $0x10,%eax
   156c9:	66 c1 e8 03          	shr    $0x3,%ax
   156cd:	88 c2                	mov    %al,%dl
   156cf:	c1 e2 04             	shl    $0x4,%edx
   156d2:	8d 04 80             	lea    (%eax,%eax,4),%eax
   156d5:	01 c0                	add    %eax,%eax
   156d7:	66 29 c3             	sub    %ax,%bx
   156da:	b8 02 00 00 00       	mov    $0x2,%eax
   156df:	01 da                	add    %ebx,%edx
   156e1:	81 e2 ff 00 00 00    	and    $0xff,%edx
   156e7:	e8 54 fd ff ff       	call   15440 <_HalpSetCMOS>
   156ec:	66 8b 5e 06          	mov    0x6(%esi),%bx
   156f0:	89 d9                	mov    %ebx,%ecx
   156f2:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   156f8:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   156fb:	89 c2                	mov    %eax,%edx
   156fd:	c1 e2 04             	shl    $0x4,%edx
   15700:	01 d0                	add    %edx,%eax
   15702:	89 c2                	mov    %eax,%edx
   15704:	c1 e2 08             	shl    $0x8,%edx
   15707:	01 d0                	add    %edx,%eax
   15709:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   1570c:	c1 e8 10             	shr    $0x10,%eax
   1570f:	66 c1 e8 03          	shr    $0x3,%ax
   15713:	88 c2                	mov    %al,%dl
   15715:	c1 e2 04             	shl    $0x4,%edx
   15718:	8d 04 80             	lea    (%eax,%eax,4),%eax
   1571b:	01 c0                	add    %eax,%eax
   1571d:	66 29 c3             	sub    %ax,%bx
   15720:	b8 04 00 00 00       	mov    $0x4,%eax
   15725:	01 da                	add    %ebx,%edx
   15727:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1572d:	e8 0e fd ff ff       	call   15440 <_HalpSetCMOS>
   15732:	66 8b 5e 0e          	mov    0xe(%esi),%bx
   15736:	89 d9                	mov    %ebx,%ecx
   15738:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1573e:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   15741:	89 c2                	mov    %eax,%edx
   15743:	c1 e2 04             	shl    $0x4,%edx
   15746:	01 d0                	add    %edx,%eax
   15748:	89 c2                	mov    %eax,%edx
   1574a:	c1 e2 08             	shl    $0x8,%edx
   1574d:	01 d0                	add    %edx,%eax
   1574f:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   15752:	c1 e8 10             	shr    $0x10,%eax
   15755:	66 c1 e8 03          	shr    $0x3,%ax
   15759:	88 c2                	mov    %al,%dl
   1575b:	c1 e2 04             	shl    $0x4,%edx
   1575e:	8d 04 80             	lea    (%eax,%eax,4),%eax
   15761:	01 c0                	add    %eax,%eax
   15763:	66 29 c3             	sub    %ax,%bx
   15766:	b8 06 00 00 00       	mov    $0x6,%eax
   1576b:	01 da                	add    %ebx,%edx
   1576d:	81 e2 ff 00 00 00    	and    $0xff,%edx
   15773:	e8 c8 fc ff ff       	call   15440 <_HalpSetCMOS>
   15778:	66 8b 5e 04          	mov    0x4(%esi),%bx
   1577c:	89 d9                	mov    %ebx,%ecx
   1577e:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   15784:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   15787:	89 c2                	mov    %eax,%edx
   15789:	c1 e2 04             	shl    $0x4,%edx
   1578c:	01 d0                	add    %edx,%eax
   1578e:	89 c2                	mov    %eax,%edx
   15790:	c1 e2 08             	shl    $0x8,%edx
   15793:	01 d0                	add    %edx,%eax
   15795:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   15798:	c1 e8 10             	shr    $0x10,%eax
   1579b:	66 c1 e8 03          	shr    $0x3,%ax
   1579f:	88 c2                	mov    %al,%dl
   157a1:	c1 e2 04             	shl    $0x4,%edx
   157a4:	8d 04 80             	lea    (%eax,%eax,4),%eax
   157a7:	01 c0                	add    %eax,%eax
   157a9:	66 29 c3             	sub    %ax,%bx
   157ac:	b8 07 00 00 00       	mov    $0x7,%eax
   157b1:	01 da                	add    %ebx,%edx
   157b3:	81 e2 ff 00 00 00    	and    $0xff,%edx
   157b9:	e8 82 fc ff ff       	call   15440 <_HalpSetCMOS>
   157be:	66 8b 5e 02          	mov    0x2(%esi),%bx
   157c2:	89 d9                	mov    %ebx,%ecx
   157c4:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   157ca:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   157cd:	89 c2                	mov    %eax,%edx
   157cf:	c1 e2 04             	shl    $0x4,%edx
   157d2:	01 d0                	add    %edx,%eax
   157d4:	89 c2                	mov    %eax,%edx
   157d6:	c1 e2 08             	shl    $0x8,%edx
   157d9:	01 d0                	add    %edx,%eax
   157db:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   157de:	c1 e8 10             	shr    $0x10,%eax
   157e1:	66 c1 e8 03          	shr    $0x3,%ax
   157e5:	88 c2                	mov    %al,%dl
   157e7:	c1 e2 04             	shl    $0x4,%edx
   157ea:	8d 04 80             	lea    (%eax,%eax,4),%eax
   157ed:	01 c0                	add    %eax,%eax
   157ef:	66 29 c3             	sub    %ax,%bx
   157f2:	b8 08 00 00 00       	mov    $0x8,%eax
   157f7:	01 da                	add    %ebx,%edx
   157f9:	81 e2 ff 00 00 00    	and    $0xff,%edx
   157ff:	e8 3c fc ff ff       	call   15440 <_HalpSetCMOS>
   15804:	66 8b 06             	mov    (%esi),%ax
   15807:	31 f6                	xor    %esi,%esi
   15809:	b9 64 00 00 00       	mov    $0x64,%ecx
   1580e:	89 f2                	mov    %esi,%edx
   15810:	66 f7 f1             	div    %cx
   15813:	89 d1                	mov    %edx,%ecx
   15815:	89 d3                	mov    %edx,%ebx
   15817:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1581d:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
   15820:	89 d0                	mov    %edx,%eax
   15822:	c1 e0 04             	shl    $0x4,%eax
   15825:	01 c2                	add    %eax,%edx
   15827:	89 d0                	mov    %edx,%eax
   15829:	c1 e0 08             	shl    $0x8,%eax
   1582c:	01 c2                	add    %eax,%edx
   1582e:	89 d8                	mov    %ebx,%eax
   15830:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
   15833:	89 f2                	mov    %esi,%edx
   15835:	66 f7 f7             	div    %di
   15838:	c1 e9 13             	shr    $0x13,%ecx
   1583b:	89 d6                	mov    %edx,%esi
   1583d:	c1 e1 04             	shl    $0x4,%ecx
   15840:	b8 09 00 00 00       	mov    $0x9,%eax
   15845:	8d 14 31             	lea    (%ecx,%esi,1),%edx
   15848:	81 e2 ff 00 00 00    	and    $0xff,%edx
   1584e:	e8 ed fb ff ff       	call   15440 <_HalpSetCMOS>
   15853:	31 c0                	xor    %eax,%eax
   15855:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   15858:	51                   	push   %ecx
   15859:	51                   	push   %ecx
   1585a:	50                   	push   %eax
   1585b:	68 d0 94 03 00       	push   $0x394d0
   15860:	e8 db fa ff ff       	call   15340 <_KeReleaseSpinLock@8>
   15865:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15868:	5b                   	pop    %ebx
   15869:	5e                   	pop    %esi
   1586a:	5f                   	pop    %edi
   1586b:	5d                   	pop    %ebp
   1586c:	c2 04 00             	ret    $0x4
   1586f:	90                   	nop    

00015870 <_HalGetEnvironmentVariable@12>:
   15870:	55                   	push   %ebp
   15871:	89 e5                	mov    %esp,%ebp
   15873:	56                   	push   %esi
   15874:	53                   	push   %ebx
   15875:	83 ec 18             	sub    $0x18,%esp
   15878:	8b 75 0c             	mov    0xc(%ebp),%esi
   1587b:	8b 5d 10             	mov    0x10(%ebp),%ebx
   1587e:	68 a0 82 01 00       	push   $0x182a0
   15883:	8b 45 08             	mov    0x8(%ebp),%eax
   15886:	50                   	push   %eax
   15887:	e8 f4 09 00 00       	call   16280 <__stricmp>
   1588c:	83 c4 10             	add    $0x10,%esp
   1588f:	31 d2                	xor    %edx,%edx
   15891:	85 c0                	test   %eax,%eax
   15893:	74 0b                	je     158a0 <_HalGetEnvironmentVariable@12+0x30>
   15895:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   15898:	89 d0                	mov    %edx,%eax
   1589a:	5b                   	pop    %ebx
   1589b:	5e                   	pop    %esi
   1589c:	5d                   	pop    %ebp
   1589d:	c2 0c 00             	ret    $0xc
   158a0:	8d 45 f7             	lea    0xfffffff7(%ebp),%eax
   158a3:	51                   	push   %ecx
   158a4:	51                   	push   %ecx
   158a5:	50                   	push   %eax
   158a6:	68 d0 94 03 00       	push   $0x394d0
   158ab:	e8 20 fa ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   158b0:	58                   	pop    %eax
   158b1:	b8 0b 00 00 00       	mov    $0xb,%eax
   158b6:	5a                   	pop    %edx
   158b7:	e8 34 fb ff ff       	call   153f0 <_HalpQueryCMOS>
   158bc:	a8 01                	test   $0x1,%al
   158be:	75 36                	jne    158f6 <_HalGetEnvironmentVariable@12+0x86>
   158c0:	89 d8                	mov    %ebx,%eax
   158c2:	25 ff ff 00 00       	and    $0xffff,%eax
   158c7:	51                   	push   %ecx
   158c8:	50                   	push   %eax
   158c9:	68 ae 82 01 00       	push   $0x182ae
   158ce:	56                   	push   %esi
   158cf:	e8 9c 09 00 00       	call   16270 <_strncpy>
   158d4:	58                   	pop    %eax
   158d5:	31 c0                	xor    %eax,%eax
   158d7:	8a 45 f7             	mov    0xfffffff7(%ebp),%al
   158da:	5a                   	pop    %edx
   158db:	50                   	push   %eax
   158dc:	68 d0 94 03 00       	push   $0x394d0
   158e1:	e8 5a fa ff ff       	call   15340 <_KeReleaseSpinLock@8>
   158e6:	ba 01 00 00 00       	mov    $0x1,%edx
   158eb:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   158ee:	89 d0                	mov    %edx,%eax
   158f0:	5b                   	pop    %ebx
   158f1:	5e                   	pop    %esi
   158f2:	5d                   	pop    %ebp
   158f3:	c2 0c 00             	ret    $0xc
   158f6:	50                   	push   %eax
   158f7:	89 d8                	mov    %ebx,%eax
   158f9:	25 ff ff 00 00       	and    $0xffff,%eax
   158fe:	50                   	push   %eax
   158ff:	68 b3 82 01 00       	push   $0x182b3
   15904:	eb c8                	jmp    158ce <_HalGetEnvironmentVariable@12+0x5e>
   15906:	8d 76 00             	lea    0x0(%esi),%esi
   15909:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015910 <_HalSetEnvironmentVariable@8>:
   15910:	55                   	push   %ebp
   15911:	89 e5                	mov    %esp,%ebp
   15913:	57                   	push   %edi
   15914:	56                   	push   %esi
   15915:	53                   	push   %ebx
   15916:	83 ec 14             	sub    $0x14,%esp
   15919:	bf 01 00 00 00       	mov    $0x1,%edi
   1591e:	8b 75 0c             	mov    0xc(%ebp),%esi
   15921:	68 a0 82 01 00       	push   $0x182a0
   15926:	8b 5d 08             	mov    0x8(%ebp),%ebx
   15929:	53                   	push   %ebx
   1592a:	e8 51 09 00 00       	call   16280 <__stricmp>
   1592f:	83 c4 10             	add    $0x10,%esp
   15932:	31 d2                	xor    %edx,%edx
   15934:	85 c0                	test   %eax,%eax
   15936:	74 0c                	je     15944 <_HalSetEnvironmentVariable@8+0x34>
   15938:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1593b:	89 d0                	mov    %edx,%eax
   1593d:	5b                   	pop    %ebx
   1593e:	5e                   	pop    %esi
   1593f:	5f                   	pop    %edi
   15940:	5d                   	pop    %ebp
   15941:	c2 08 00             	ret    $0x8
   15944:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   15947:	51                   	push   %ecx
   15948:	51                   	push   %ecx
   15949:	50                   	push   %eax
   1594a:	68 d0 94 03 00       	push   $0x394d0
   1594f:	e8 7c f9 ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15954:	58                   	pop    %eax
   15955:	b8 0b 00 00 00       	mov    $0xb,%eax
   1595a:	5a                   	pop    %edx
   1595b:	e8 90 fa ff ff       	call   153f0 <_HalpQueryCMOS>
   15960:	88 c3                	mov    %al,%bl
   15962:	50                   	push   %eax
   15963:	50                   	push   %eax
   15964:	68 ae 82 01 00       	push   $0x182ae
   15969:	56                   	push   %esi
   1596a:	e8 11 09 00 00       	call   16280 <__stricmp>
   1596f:	83 c4 10             	add    $0x10,%esp
   15972:	85 c0                	test   %eax,%eax
   15974:	74 3c                	je     159b2 <_HalSetEnvironmentVariable@8+0xa2>
   15976:	50                   	push   %eax
   15977:	50                   	push   %eax
   15978:	68 b3 82 01 00       	push   $0x182b3
   1597d:	56                   	push   %esi
   1597e:	e8 fd 08 00 00       	call   16280 <__stricmp>
   15983:	83 c4 10             	add    $0x10,%esp
   15986:	85 c0                	test   %eax,%eax
   15988:	74 38                	je     159c2 <_HalSetEnvironmentVariable@8+0xb2>
   1598a:	31 ff                	xor    %edi,%edi
   1598c:	50                   	push   %eax
   1598d:	50                   	push   %eax
   1598e:	31 c0                	xor    %eax,%eax
   15990:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   15993:	50                   	push   %eax
   15994:	68 d0 94 03 00       	push   $0x394d0
   15999:	e8 a2 f9 ff ff       	call   15340 <_KeReleaseSpinLock@8>
   1599e:	89 fa                	mov    %edi,%edx
   159a0:	81 e2 ff 00 00 00    	and    $0xff,%edx
   159a6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   159a9:	89 d0                	mov    %edx,%eax
   159ab:	5b                   	pop    %ebx
   159ac:	5e                   	pop    %esi
   159ad:	5f                   	pop    %edi
   159ae:	5d                   	pop    %ebp
   159af:	c2 08 00             	ret    $0x8
   159b2:	83 cb 01             	or     $0x1,%ebx
   159b5:	31 d2                	xor    %edx,%edx
   159b7:	88 da                	mov    %bl,%dl
   159b9:	b0 0b                	mov    $0xb,%al
   159bb:	e8 80 fa ff ff       	call   15440 <_HalpSetCMOS>
   159c0:	eb ca                	jmp    1598c <_HalSetEnvironmentVariable@8+0x7c>
   159c2:	89 da                	mov    %ebx,%edx
   159c4:	81 e2 fe 00 00 00    	and    $0xfe,%edx
   159ca:	eb ed                	jmp    159b9 <_HalSetEnvironmentVariable@8+0xa9>
   159cc:	8d 74 26 00          	lea    0x0(%esi),%esi

000159d0 <_HalpGetCmosData@24>:
   159d0:	55                   	push   %ebp
   159d1:	89 e5                	mov    %esp,%ebp
   159d3:	57                   	push   %edi
   159d4:	56                   	push   %esi
   159d5:	53                   	push   %ebx
   159d6:	83 ec 0c             	sub    $0xc,%esp
   159d9:	8b 45 14             	mov    0x14(%ebp),%eax
   159dc:	8b 75 1c             	mov    0x1c(%ebp),%esi
   159df:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   159e2:	8b 55 0c             	mov    0xc(%ebp),%edx
   159e5:	31 c0                	xor    %eax,%eax
   159e7:	8b 7d 10             	mov    0x10(%ebp),%edi
   159ea:	85 f6                	test   %esi,%esi
   159ec:	74 12                	je     15a00 <_HalpGetCmosData@24+0x30>
   159ee:	85 d2                	test   %edx,%edx
   159f0:	74 1e                	je     15a10 <_HalpGetCmosData@24+0x40>
   159f2:	4a                   	dec    %edx
   159f3:	74 7e                	je     15a73 <_HalpGetCmosData@24+0xa3>
   159f5:	8b 45 1c             	mov    0x1c(%ebp),%eax
   159f8:	29 f0                	sub    %esi,%eax
   159fa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15a00:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15a03:	5b                   	pop    %ebx
   15a04:	5e                   	pop    %esi
   15a05:	5f                   	pop    %edi
   15a06:	5d                   	pop    %ebp
   15a07:	c2 18 00             	ret    $0x18
   15a0a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15a10:	50                   	push   %eax
   15a11:	50                   	push   %eax
   15a12:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   15a15:	50                   	push   %eax
   15a16:	68 d0 94 03 00       	push   $0x394d0
   15a1b:	e8 b0 f8 ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15a20:	81 ff ff 00 00 00    	cmp    $0xff,%edi
   15a26:	5b                   	pop    %ebx
   15a27:	58                   	pop    %eax
   15a28:	76 1b                	jbe    15a45 <_HalpGetCmosData@24+0x75>
   15a2a:	50                   	push   %eax
   15a2b:	50                   	push   %eax
   15a2c:	31 c0                	xor    %eax,%eax
   15a2e:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   15a31:	50                   	push   %eax
   15a32:	68 d0 94 03 00       	push   $0x394d0
   15a37:	e8 04 f9 ff ff       	call   15340 <_KeReleaseSpinLock@8>
   15a3c:	5f                   	pop    %edi
   15a3d:	58                   	pop    %eax
   15a3e:	8b 45 1c             	mov    0x1c(%ebp),%eax
   15a41:	29 f0                	sub    %esi,%eax
   15a43:	eb bb                	jmp    15a00 <_HalpGetCmosData@24+0x30>
   15a45:	89 f8                	mov    %edi,%eax
   15a47:	47                   	inc    %edi
   15a48:	25 ff 00 00 00       	and    $0xff,%eax
   15a4d:	e8 9e f9 ff ff       	call   153f0 <_HalpQueryCMOS>
   15a52:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   15a55:	88 02                	mov    %al,(%edx)
   15a57:	42                   	inc    %edx
   15a58:	4e                   	dec    %esi
   15a59:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   15a5c:	0f 95 c2             	setne  %dl
   15a5f:	81 ff ff 00 00 00    	cmp    $0xff,%edi
   15a65:	0f 96 c0             	setbe  %al
   15a68:	25 ff 00 00 00       	and    $0xff,%eax
   15a6d:	85 c2                	test   %eax,%edx
   15a6f:	75 d4                	jne    15a45 <_HalpGetCmosData@24+0x75>
   15a71:	eb b7                	jmp    15a2a <_HalpGetCmosData@24+0x5a>
   15a73:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   15a76:	51                   	push   %ecx
   15a77:	51                   	push   %ecx
   15a78:	50                   	push   %eax
   15a79:	68 d0 94 03 00       	push   $0x394d0
   15a7e:	e8 4d f8 ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15a83:	81 ff ff 0f 00 00    	cmp    $0xfff,%edi
   15a89:	58                   	pop    %eax
   15a8a:	5a                   	pop    %edx
   15a8b:	77 9d                	ja     15a2a <_HalpGetCmosData@24+0x5a>
   15a8d:	8d 76 00             	lea    0x0(%esi),%esi
   15a90:	89 fb                	mov    %edi,%ebx
   15a92:	9c                   	pushf  
   15a93:	8f 45 e8             	popl   0xffffffe8(%ebp)
   15a96:	fa                   	cli    
   15a97:	50                   	push   %eax
   15a98:	50                   	push   %eax
   15a99:	31 c0                	xor    %eax,%eax
   15a9b:	88 d8                	mov    %bl,%al
   15a9d:	50                   	push   %eax
   15a9e:	6a 74                	push   $0x74
   15aa0:	e8 cb f6 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15aa5:	0f b6 df             	movzbl %bh,%ebx
   15aa8:	53                   	push   %ebx
   15aa9:	6a 75                	push   $0x75
   15aab:	e8 c0 f6 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15ab0:	50                   	push   %eax
   15ab1:	6a 76                	push   $0x76
   15ab3:	e8 08 f6 ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   15ab8:	83 c4 0c             	add    $0xc,%esp
   15abb:	ff 75 e8             	pushl  0xffffffe8(%ebp)
   15abe:	9d                   	popf   
   15abf:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   15ac2:	47                   	inc    %edi
   15ac3:	88 02                	mov    %al,(%edx)
   15ac5:	42                   	inc    %edx
   15ac6:	4e                   	dec    %esi
   15ac7:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   15aca:	0f 95 c2             	setne  %dl
   15acd:	81 ff ff 0f 00 00    	cmp    $0xfff,%edi
   15ad3:	0f 96 c0             	setbe  %al
   15ad6:	25 ff 00 00 00       	and    $0xff,%eax
   15adb:	85 c2                	test   %eax,%edx
   15add:	75 b1                	jne    15a90 <_HalpGetCmosData@24+0xc0>
   15adf:	e9 46 ff ff ff       	jmp    15a2a <_HalpGetCmosData@24+0x5a>
   15ae4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15aea:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00015af0 <_HalpSetCmosData@24>:
   15af0:	55                   	push   %ebp
   15af1:	89 e5                	mov    %esp,%ebp
   15af3:	57                   	push   %edi
   15af4:	56                   	push   %esi
   15af5:	53                   	push   %ebx
   15af6:	83 ec 1c             	sub    $0x1c,%esp
   15af9:	8b 45 14             	mov    0x14(%ebp),%eax
   15afc:	8b 75 1c             	mov    0x1c(%ebp),%esi
   15aff:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   15b02:	8b 55 0c             	mov    0xc(%ebp),%edx
   15b05:	31 c0                	xor    %eax,%eax
   15b07:	8b 7d 10             	mov    0x10(%ebp),%edi
   15b0a:	85 f6                	test   %esi,%esi
   15b0c:	74 12                	je     15b20 <_HalpSetCmosData@24+0x30>
   15b0e:	85 d2                	test   %edx,%edx
   15b10:	74 1e                	je     15b30 <_HalpSetCmosData@24+0x40>
   15b12:	4a                   	dec    %edx
   15b13:	0f 84 7f 00 00 00    	je     15b98 <_HalpSetCmosData@24+0xa8>
   15b19:	8b 45 1c             	mov    0x1c(%ebp),%eax
   15b1c:	29 f0                	sub    %esi,%eax
   15b1e:	89 f6                	mov    %esi,%esi
   15b20:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15b23:	5b                   	pop    %ebx
   15b24:	5e                   	pop    %esi
   15b25:	5f                   	pop    %edi
   15b26:	5d                   	pop    %ebp
   15b27:	c2 18 00             	ret    $0x18
   15b2a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15b30:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   15b33:	51                   	push   %ecx
   15b34:	51                   	push   %ecx
   15b35:	50                   	push   %eax
   15b36:	68 d0 94 03 00       	push   $0x394d0
   15b3b:	e8 90 f7 ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15b40:	81 ff ff 00 00 00    	cmp    $0xff,%edi
   15b46:	58                   	pop    %eax
   15b47:	5a                   	pop    %edx
   15b48:	76 1b                	jbe    15b65 <_HalpSetCmosData@24+0x75>
   15b4a:	31 c0                	xor    %eax,%eax
   15b4c:	8a 45 f3             	mov    0xfffffff3(%ebp),%al
   15b4f:	51                   	push   %ecx
   15b50:	51                   	push   %ecx
   15b51:	50                   	push   %eax
   15b52:	68 d0 94 03 00       	push   $0x394d0
   15b57:	e8 e4 f7 ff ff       	call   15340 <_KeReleaseSpinLock@8>
   15b5c:	58                   	pop    %eax
   15b5d:	8b 45 1c             	mov    0x1c(%ebp),%eax
   15b60:	5a                   	pop    %edx
   15b61:	29 f0                	sub    %esi,%eax
   15b63:	eb bb                	jmp    15b20 <_HalpSetCmosData@24+0x30>
   15b65:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15b68:	31 d2                	xor    %edx,%edx
   15b6a:	8a 10                	mov    (%eax),%dl
   15b6c:	89 f8                	mov    %edi,%eax
   15b6e:	25 ff 00 00 00       	and    $0xff,%eax
   15b73:	47                   	inc    %edi
   15b74:	e8 c7 f8 ff ff       	call   15440 <_HalpSetCMOS>
   15b79:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15b7c:	40                   	inc    %eax
   15b7d:	4e                   	dec    %esi
   15b7e:	0f 95 c2             	setne  %dl
   15b81:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   15b84:	81 ff ff 00 00 00    	cmp    $0xff,%edi
   15b8a:	0f 96 c0             	setbe  %al
   15b8d:	25 ff 00 00 00       	and    $0xff,%eax
   15b92:	85 c2                	test   %eax,%edx
   15b94:	75 cf                	jne    15b65 <_HalpSetCmosData@24+0x75>
   15b96:	eb b2                	jmp    15b4a <_HalpSetCmosData@24+0x5a>
   15b98:	50                   	push   %eax
   15b99:	50                   	push   %eax
   15b9a:	8d 45 f3             	lea    0xfffffff3(%ebp),%eax
   15b9d:	50                   	push   %eax
   15b9e:	68 d0 94 03 00       	push   $0x394d0
   15ba3:	e8 28 f7 ff ff       	call   152d0 <_KeAcquireSpinLock@8>
   15ba8:	81 ff ff 0f 00 00    	cmp    $0xfff,%edi
   15bae:	5b                   	pop    %ebx
   15baf:	58                   	pop    %eax
   15bb0:	77 98                	ja     15b4a <_HalpSetCmosData@24+0x5a>
   15bb2:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15bb5:	89 fb                	mov    %edi,%ebx
   15bb7:	8a 00                	mov    (%eax),%al
   15bb9:	88 45 eb             	mov    %al,0xffffffeb(%ebp)
   15bbc:	9c                   	pushf  
   15bbd:	8f 45 e4             	popl   0xffffffe4(%ebp)
   15bc0:	fa                   	cli    
   15bc1:	31 c0                	xor    %eax,%eax
   15bc3:	88 d8                	mov    %bl,%al
   15bc5:	51                   	push   %ecx
   15bc6:	51                   	push   %ecx
   15bc7:	50                   	push   %eax
   15bc8:	6a 74                	push   $0x74
   15bca:	e8 a1 f5 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15bcf:	0f b6 df             	movzbl %bh,%ebx
   15bd2:	53                   	push   %ebx
   15bd3:	6a 75                	push   $0x75
   15bd5:	e8 96 f5 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15bda:	31 c0                	xor    %eax,%eax
   15bdc:	8a 45 eb             	mov    0xffffffeb(%ebp),%al
   15bdf:	50                   	push   %eax
   15be0:	6a 76                	push   $0x76
   15be2:	e8 89 f5 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15be7:	58                   	pop    %eax
   15be8:	5a                   	pop    %edx
   15be9:	ff 75 e4             	pushl  0xffffffe4(%ebp)
   15bec:	9d                   	popf   
   15bed:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   15bf0:	47                   	inc    %edi
   15bf1:	43                   	inc    %ebx
   15bf2:	4e                   	dec    %esi
   15bf3:	0f 95 c2             	setne  %dl
   15bf6:	81 ff ff 0f 00 00    	cmp    $0xfff,%edi
   15bfc:	89 5d ec             	mov    %ebx,0xffffffec(%ebp)
   15bff:	0f 96 c0             	setbe  %al
   15c02:	25 ff 00 00 00       	and    $0xff,%eax
   15c07:	85 c2                	test   %eax,%edx
   15c09:	75 a7                	jne    15bb2 <_HalpSetCmosData@24+0xc2>
   15c0b:	e9 3a ff ff ff       	jmp    15b4a <_HalpSetCmosData@24+0x5a>

00015c10 <___KeStallExecutionProcessor@4>:
   15c10:	55                   	push   %ebp
   15c11:	89 e5                	mov    %esp,%ebp
   15c13:	8b 55 08             	mov    0x8(%ebp),%edx
   15c16:	85 d2                	test   %edx,%edx
   15c18:	74 05                	je     15c1f <ROSL1+0x3>
   15c1a:	89 d0                	mov    %edx,%eax

00015c1c <ROSL1>:
   15c1c:	48                   	dec    %eax
   15c1d:	75 fd                	jne    15c1c <ROSL1>
   15c1f:	5d                   	pop    %ebp
   15c20:	c2 04 00             	ret    $0x4
   15c23:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15c29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015c30 <_KeStallExecutionProcessor@4>:
   15c30:	55                   	push   %ebp
   15c31:	89 e5                	mov    %esp,%ebp
   15c33:	57                   	push   %edi
   15c34:	56                   	push   %esi
   15c35:	53                   	push   %ebx
   15c36:	83 ec 0c             	sub    $0xc,%esp
   15c39:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   15c40:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   15c47:	8b 4d 08             	mov    0x8(%ebp),%ecx
   15c4a:	f6 05 d0 08 00 ff 10 	testb  $0x10,0xff0008d0
   15c51:	74 33                	je     15c86 <_KeStallExecutionProcessor@4+0x56>
   15c53:	0f 31                	rdtsc  
   15c55:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   15c58:	89 c8                	mov    %ecx,%eax
   15c5a:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   15c5d:	f7 25 cc 08 00 ff    	mull   0xff0008cc
   15c63:	89 c1                	mov    %eax,%ecx
   15c65:	89 d3                	mov    %edx,%ebx
   15c67:	03 4d e8             	add    0xffffffe8(%ebp),%ecx
   15c6a:	13 5d ec             	adc    0xffffffec(%ebp),%ebx
   15c6d:	8d 76 00             	lea    0x0(%esi),%esi
   15c70:	0f 31                	rdtsc  
   15c72:	39 da                	cmp    %ebx,%edx
   15c74:	7f 06                	jg     15c7c <_KeStallExecutionProcessor@4+0x4c>
   15c76:	7c f8                	jl     15c70 <_KeStallExecutionProcessor@4+0x40>
   15c78:	39 c8                	cmp    %ecx,%eax
   15c7a:	72 f4                	jb     15c70 <_KeStallExecutionProcessor@4+0x40>
   15c7c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15c7f:	5b                   	pop    %ebx
   15c80:	5e                   	pop    %esi
   15c81:	5f                   	pop    %edi
   15c82:	5d                   	pop    %ebp
   15c83:	c2 04 00             	ret    $0x4
   15c86:	8b 15 4c 00 00 ff    	mov    0xff00004c,%edx
   15c8c:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
   15c91:	0f af d1             	imul   %ecx,%edx
   15c94:	f7 e2                	mul    %edx
   15c96:	c1 ea 06             	shr    $0x6,%edx
   15c99:	89 55 08             	mov    %edx,0x8(%ebp)
   15c9c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15c9f:	5b                   	pop    %ebx
   15ca0:	5e                   	pop    %esi
   15ca1:	5f                   	pop    %edi
   15ca2:	5d                   	pop    %ebp
   15ca3:	e9 68 ff ff ff       	jmp    15c10 <___KeStallExecutionProcessor@4>
   15ca8:	90                   	nop    
   15ca9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015cb0 <_Read8254Timer>:
   15cb0:	55                   	push   %ebp
   15cb1:	89 e5                	mov    %esp,%ebp
   15cb3:	56                   	push   %esi
   15cb4:	53                   	push   %ebx
   15cb5:	9c                   	pushf  
   15cb6:	5e                   	pop    %esi
   15cb7:	fa                   	cli    
   15cb8:	52                   	push   %edx
   15cb9:	52                   	push   %edx
   15cba:	6a 00                	push   $0x0
   15cbc:	6a 43                	push   $0x43
   15cbe:	e8 ad f4 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15cc3:	50                   	push   %eax
   15cc4:	6a 40                	push   $0x40
   15cc6:	e8 f5 f3 ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   15ccb:	88 c3                	mov    %al,%bl
   15ccd:	6a 40                	push   $0x40
   15ccf:	e8 ec f3 ff ff       	call   150c0 <_READ_PORT_UCHAR@4>
   15cd4:	25 ff 00 00 00       	and    $0xff,%eax
   15cd9:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   15cdf:	c1 e0 08             	shl    $0x8,%eax
   15ce2:	09 c3                	or     %eax,%ebx
   15ce4:	56                   	push   %esi
   15ce5:	9d                   	popf   
   15ce6:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   15ce9:	89 d8                	mov    %ebx,%eax
   15ceb:	5b                   	pop    %ebx
   15cec:	5e                   	pop    %esi
   15ced:	5d                   	pop    %ebp
   15cee:	c3                   	ret    
   15cef:	90                   	nop    

00015cf0 <_WaitFor8254Wraparound>:
   15cf0:	55                   	push   %ebp
   15cf1:	89 e5                	mov    %esp,%ebp
   15cf3:	53                   	push   %ebx
   15cf4:	53                   	push   %ebx
   15cf5:	e8 b6 ff ff ff       	call   15cb0 <_Read8254Timer>
   15cfa:	89 c2                	mov    %eax,%edx
   15cfc:	8d 74 26 00          	lea    0x0(%esi),%esi
   15d00:	89 d3                	mov    %edx,%ebx
   15d02:	e8 a9 ff ff ff       	call   15cb0 <_Read8254Timer>
   15d07:	89 c2                	mov    %eax,%edx
   15d09:	29 d8                	sub    %ebx,%eax
   15d0b:	3d 2b 01 00 00       	cmp    $0x12b,%eax
   15d10:	7e ee                	jle    15d00 <_WaitFor8254Wraparound+0x10>
   15d12:	59                   	pop    %ecx
   15d13:	5b                   	pop    %ebx
   15d14:	5d                   	pop    %ebp
   15d15:	c3                   	ret    
   15d16:	8d 76 00             	lea    0x0(%esi),%esi
   15d19:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015d20 <_HalpCalibrateStallExecution>:
   15d20:	55                   	push   %ebp
   15d21:	89 e5                	mov    %esp,%ebp
   15d23:	57                   	push   %edi
   15d24:	56                   	push   %esi
   15d25:	53                   	push   %ebx
   15d26:	83 ec 0c             	sub    $0xc,%esp
   15d29:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   15d30:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   15d37:	80 3d e0 94 03 00 00 	cmpb   $0x0,0x394e0
   15d3e:	74 08                	je     15d48 <_HalpCalibrateStallExecution+0x28>
   15d40:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15d43:	5b                   	pop    %ebx
   15d44:	5e                   	pop    %esi
   15d45:	5f                   	pop    %edi
   15d46:	5d                   	pop    %ebp
   15d47:	c3                   	ret    
   15d48:	c6 05 e0 94 03 00 01 	movb   $0x1,0x394e0
   15d4f:	50                   	push   %eax
   15d50:	50                   	push   %eax
   15d51:	6a 34                	push   $0x34
   15d53:	6a 43                	push   $0x43
   15d55:	e8 16 f4 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15d5a:	bf 00 00 00 ff       	mov    $0xff000000,%edi
   15d5f:	68 9b 00 00 00       	push   $0x9b
   15d64:	6a 40                	push   $0x40
   15d66:	e8 05 f4 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15d6b:	6a 2e                	push   $0x2e
   15d6d:	6a 40                	push   $0x40
   15d6f:	e8 fc f3 ff ff       	call   15170 <_WRITE_PORT_UCHAR@8>
   15d74:	f6 05 d0 08 00 ff 10 	testb  $0x10,0xff0008d0
   15d7b:	5e                   	pop    %esi
   15d7c:	58                   	pop    %eax
   15d7d:	0f 85 01 01 00 00    	jne    15e84 <_HalpCalibrateStallExecution+0x164>
   15d83:	83 ec 0c             	sub    $0xc,%esp
   15d86:	68 c0 82 01 00       	push   $0x182c0
   15d8b:	e8 c0 03 00 00       	call   16150 <_DbgPrint>
   15d90:	e8 5b ff ff ff       	call   15cf0 <_WaitFor8254Wraparound>
   15d95:	c7 05 4c 00 00 ff 01 	movl   $0x1,0xff00004c
   15d9c:	00 00 00 
   15d9f:	83 c4 10             	add    $0x10,%esp
   15da2:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15da7:	01 c0                	add    %eax,%eax
   15da9:	89 47 4c             	mov    %eax,0x4c(%edi)
   15dac:	e8 3f ff ff ff       	call   15cf0 <_WaitFor8254Wraparound>
   15db1:	8b 0d 4c 00 00 ff    	mov    0xff00004c,%ecx
   15db7:	51                   	push   %ecx
   15db8:	e8 53 fe ff ff       	call   15c10 <___KeStallExecutionProcessor@4>
   15dbd:	e8 ee fe ff ff       	call   15cb0 <_Read8254Timer>
   15dc2:	3d 4d 17 00 00       	cmp    $0x174d,%eax
   15dc7:	77 d9                	ja     15da2 <_HalpCalibrateStallExecution+0x82>
   15dc9:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15dce:	d1 e8                	shr    %eax
   15dd0:	31 f6                	xor    %esi,%esi
   15dd2:	89 47 4c             	mov    %eax,0x4c(%edi)
   15dd5:	52                   	push   %edx
   15dd6:	52                   	push   %edx
   15dd7:	50                   	push   %eax
   15dd8:	68 dc 82 01 00       	push   $0x182dc
   15ddd:	e8 6e 03 00 00       	call   16150 <_DbgPrint>
   15de2:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15de7:	83 c4 10             	add    $0x10,%esp
   15dea:	89 c3                	mov    %eax,%ebx
   15dec:	eb 07                	jmp    15df5 <_HalpCalibrateStallExecution+0xd5>
   15dee:	89 f6                	mov    %esi,%esi
   15df0:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15df5:	d1 eb                	shr    %ebx
   15df7:	74 3c                	je     15e35 <_HalpCalibrateStallExecution+0x115>
   15df9:	09 d8                	or     %ebx,%eax
   15dfb:	89 47 4c             	mov    %eax,0x4c(%edi)
   15dfe:	e8 ed fe ff ff       	call   15cf0 <_WaitFor8254Wraparound>
   15e03:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15e08:	50                   	push   %eax
   15e09:	e8 02 fe ff ff       	call   15c10 <___KeStallExecutionProcessor@4>
   15e0e:	e8 9d fe ff ff       	call   15cb0 <_Read8254Timer>
   15e13:	3d 4d 17 00 00       	cmp    $0x174d,%eax
   15e18:	77 10                	ja     15e2a <_HalpCalibrateStallExecution+0x10a>
   15e1a:	89 d8                	mov    %ebx,%eax
   15e1c:	8b 0d 4c 00 00 ff    	mov    0xff00004c,%ecx
   15e22:	83 f0 ff             	xor    $0xffffffff,%eax
   15e25:	21 c8                	and    %ecx,%eax
   15e27:	89 47 4c             	mov    %eax,0x4c(%edi)
   15e2a:	46                   	inc    %esi
   15e2b:	83 fe 07             	cmp    $0x7,%esi
   15e2e:	76 c0                	jbe    15df0 <_HalpCalibrateStallExecution+0xd0>
   15e30:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15e35:	ba cd cc cc cc       	mov    $0xcccccccd,%edx
   15e3a:	83 ec 0c             	sub    $0xc,%esp
   15e3d:	f7 e2                	mul    %edx
   15e3f:	c1 ea 02             	shr    $0x2,%edx
   15e42:	89 57 4c             	mov    %edx,0x4c(%edi)
   15e45:	68 ec 82 01 00       	push   $0x182ec
   15e4a:	e8 01 03 00 00       	call   16150 <_DbgPrint>
   15e4f:	58                   	pop    %eax
   15e50:	a1 4c 00 00 ff       	mov    0xff00004c,%eax
   15e55:	5a                   	pop    %edx
   15e56:	50                   	push   %eax
   15e57:	68 ef 82 01 00       	push   $0x182ef
   15e5c:	e8 ef 02 00 00       	call   16150 <_DbgPrint>
   15e61:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
   15e66:	f7 25 4c 00 00 ff    	mull   0xff00004c
   15e6c:	c1 ea 04             	shr    $0x4,%edx
   15e6f:	5e                   	pop    %esi
   15e70:	5f                   	pop    %edi
   15e71:	52                   	push   %edx
   15e72:	68 00 83 01 00       	push   $0x18300
   15e77:	e8 d4 02 00 00       	call   16150 <_DbgPrint>
   15e7c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15e7f:	5b                   	pop    %ebx
   15e80:	5e                   	pop    %esi
   15e81:	5f                   	pop    %edi
   15e82:	5d                   	pop    %ebp
   15e83:	c3                   	ret    
   15e84:	e8 67 fe ff ff       	call   15cf0 <_WaitFor8254Wraparound>
   15e89:	0f 31                	rdtsc  
   15e8b:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   15e8e:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   15e91:	e8 5a fe ff ff       	call   15cf0 <_WaitFor8254Wraparound>
   15e96:	0f 31                	rdtsc  
   15e98:	8b 5d e8             	mov    0xffffffe8(%ebp),%ebx
   15e9b:	89 c2                	mov    %eax,%edx
   15e9d:	29 da                	sub    %ebx,%edx
   15e9f:	b8 59 17 b7 d1       	mov    $0xd1b71759,%eax
   15ea4:	f7 e2                	mul    %edx
   15ea6:	c1 ea 0d             	shr    $0xd,%edx
   15ea9:	89 15 cc 08 00 ff    	mov    %edx,0xff0008cc
   15eaf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15eb2:	5b                   	pop    %ebx
   15eb3:	5e                   	pop    %esi
   15eb4:	5f                   	pop    %edi
   15eb5:	5d                   	pop    %ebp
   15eb6:	c3                   	ret    
   15eb7:	89 f6                	mov    %esi,%esi
   15eb9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015ec0 <_HalCalibratePerformanceCounter@4>:
   15ec0:	55                   	push   %ebp
   15ec1:	89 e5                	mov    %esp,%ebp
   15ec3:	53                   	push   %ebx
   15ec4:	9c                   	pushf  
   15ec5:	5b                   	pop    %ebx
   15ec6:	fa                   	cli    
   15ec7:	8b 45 08             	mov    0x8(%ebp),%eax
   15eca:	50                   	push   %eax
   15ecb:	e8 40 fd ff ff       	call   15c10 <___KeStallExecutionProcessor@4>
   15ed0:	53                   	push   %ebx
   15ed1:	9d                   	popf   
   15ed2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   15ed5:	c9                   	leave  
   15ed6:	c2 04 00             	ret    $0x4
   15ed9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015ee0 <_KeQueryPerformanceCounter@4>:
   15ee0:	55                   	push   %ebp
   15ee1:	89 e5                	mov    %esp,%ebp
   15ee3:	57                   	push   %edi
   15ee4:	56                   	push   %esi
   15ee5:	53                   	push   %ebx
   15ee6:	83 ec 1c             	sub    $0x1c,%esp
   15ee9:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   15ef0:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   15ef7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   15efa:	9c                   	pushf  
   15efb:	58                   	pop    %eax
   15efc:	fa                   	cli    
   15efd:	f6 05 d0 08 00 ff 10 	testb  $0x10,0xff0008d0
   15f04:	74 2e                	je     15f34 <_KeQueryPerformanceCounter@4+0x54>
   15f06:	50                   	push   %eax
   15f07:	9d                   	popf   
   15f08:	85 c9                	test   %ecx,%ecx
   15f0a:	74 10                	je     15f1c <_KeQueryPerformanceCounter@4+0x3c>
   15f0c:	b8 40 42 0f 00       	mov    $0xf4240,%eax
   15f11:	f7 25 cc 08 00 ff    	mull   0xff0008cc
   15f17:	89 01                	mov    %eax,(%ecx)
   15f19:	89 51 04             	mov    %edx,0x4(%ecx)
   15f1c:	0f 31                	rdtsc  
   15f1e:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   15f21:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   15f24:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15f27:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   15f2a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15f2d:	5b                   	pop    %ebx
   15f2e:	5e                   	pop    %esi
   15f2f:	5f                   	pop    %edi
   15f30:	5d                   	pop    %ebp
   15f31:	c2 04 00             	ret    $0x4
   15f34:	50                   	push   %eax
   15f35:	9d                   	popf   
   15f36:	85 c9                	test   %ecx,%ecx
   15f38:	74 0d                	je     15f47 <_KeQueryPerformanceCounter@4+0x67>
   15f3a:	c7 01 de 34 12 00    	movl   $0x1234de,(%ecx)
   15f40:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
   15f47:	8d 7d e0             	lea    0xffffffe0(%ebp),%edi
   15f4a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15f50:	83 ec 0c             	sub    $0xc,%esp
   15f53:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   15f56:	52                   	push   %edx
   15f57:	e8 34 03 00 00       	call   16290 <_KeQueryTickCount@4>
   15f5c:	83 c4 0c             	add    $0xc,%esp
   15f5f:	e8 4c fd ff ff       	call   15cb0 <_Read8254Timer>
   15f64:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   15f67:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   15f6a:	0f a4 d1 03          	shld   $0x3,%edx,%ecx
   15f6e:	c1 e2 03             	shl    $0x3,%edx
   15f71:	03 55 e8             	add    0xffffffe8(%ebp),%edx
   15f74:	13 4d ec             	adc    0xffffffec(%ebp),%ecx
   15f77:	0f a4 d1 02          	shld   $0x2,%edx,%ecx
   15f7b:	c1 e2 02             	shl    $0x2,%edx
   15f7e:	03 55 e8             	add    0xffffffe8(%ebp),%edx
   15f81:	13 4d ec             	adc    0xffffffec(%ebp),%ecx
   15f84:	0f a4 d1 02          	shld   $0x2,%edx,%ecx
   15f88:	c1 e2 02             	shl    $0x2,%edx
   15f8b:	03 55 e8             	add    0xffffffe8(%ebp),%edx
   15f8e:	13 4d ec             	adc    0xffffffec(%ebp),%ecx
   15f91:	0f a4 d1 03          	shld   $0x3,%edx,%ecx
   15f95:	c1 e2 03             	shl    $0x3,%edx
   15f98:	03 55 e8             	add    0xffffffe8(%ebp),%edx
   15f9b:	13 4d ec             	adc    0xffffffec(%ebp),%ecx
   15f9e:	89 d3                	mov    %edx,%ebx
   15fa0:	c1 e3 02             	shl    $0x2,%ebx
   15fa3:	89 ce                	mov    %ecx,%esi
   15fa5:	89 5d d8             	mov    %ebx,0xffffffd8(%ebp)
   15fa8:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   15fab:	0f a4 d6 02          	shld   $0x2,%edx,%esi
   15faf:	01 55 d8             	add    %edx,0xffffffd8(%ebp)
   15fb2:	89 75 dc             	mov    %esi,0xffffffdc(%ebp)
   15fb5:	11 4d dc             	adc    %ecx,0xffffffdc(%ebp)
   15fb8:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   15fbb:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   15fbe:	0f a4 d1 01          	shld   $0x1,%edx,%ecx
   15fc2:	01 d2                	add    %edx,%edx
   15fc4:	89 4d dc             	mov    %ecx,0xffffffdc(%ebp)
   15fc7:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
   15fca:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   15fcd:	01 4d d8             	add    %ecx,0xffffffd8(%ebp)
   15fd0:	ba 9b 2e 00 00       	mov    $0x2e9b,%edx
   15fd5:	11 5d dc             	adc    %ebx,0xffffffdc(%ebp)
   15fd8:	29 c2                	sub    %eax,%edx
   15fda:	89 d0                	mov    %edx,%eax
   15fdc:	31 d2                	xor    %edx,%edx
   15fde:	01 45 d8             	add    %eax,0xffffffd8(%ebp)
   15fe1:	11 55 dc             	adc    %edx,0xffffffdc(%ebp)
   15fe4:	83 ec 0c             	sub    $0xc,%esp
   15fe7:	57                   	push   %edi
   15fe8:	e8 a3 02 00 00       	call   16290 <_KeQueryTickCount@4>
   15fed:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   15ff0:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   15ff3:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   15ff6:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   15ff9:	89 de                	mov    %ebx,%esi
   15ffb:	31 c8                	xor    %ecx,%eax
   15ffd:	31 d6                	xor    %edx,%esi
   15fff:	83 c4 0c             	add    $0xc,%esp
   16002:	09 c6                	or     %eax,%esi
   16004:	0f 85 46 ff ff ff    	jne    15f50 <_KeQueryPerformanceCounter@4+0x70>
   1600a:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   1600d:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   16010:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16013:	5b                   	pop    %ebx
   16014:	5e                   	pop    %esi
   16015:	5f                   	pop    %edi
   16016:	5d                   	pop    %ebp
   16017:	c2 04 00             	ret    $0x4
   1601a:	90                   	nop    
   1601b:	90                   	nop    
   1601c:	90                   	nop    
   1601d:	90                   	nop    
   1601e:	90                   	nop    
   1601f:	90                   	nop    

00016020 <_HalpInitPhase0>:
/* FUNCTIONS ***************************************************************/

VOID
HalpInitPhase0(VOID)
{
   16020:	55                   	push   %ebp
   16021:	89 e5                	mov    %esp,%ebp
   16023:	50                   	push   %eax
   16024:	50                   	push   %eax
  HalpInitPICs();
   16025:	e8 66 d0 ff ff       	call   13090 <_HalpInitPICs>

  /* Setup busy waiting */
  HalpCalibrateStallExecution();
   1602a:	c9                   	leave  
   1602b:	e9 f0 fc ff ff       	jmp    15d20 <_HalpCalibrateStallExecution>

00016030 <_ObCreateObject@36>:
   16030:	ff 25 50 b1 03 00    	jmp    *0x3b150
   16036:	90                   	nop    
   16037:	90                   	nop    
	...

00016040 <_ObReferenceObjectByPointer@16>:
   16040:	ff 25 58 b1 03 00    	jmp    *0x3b158
   16046:	90                   	nop    
   16047:	90                   	nop    
	...

00016050 <_RtlZeroMemory@8>:
   16050:	ff 25 68 b1 03 00    	jmp    *0x3b168
   16056:	90                   	nop    
   16057:	90                   	nop    
	...

00016060 <_ObInsertObject@24>:
   16060:	ff 25 54 b1 03 00    	jmp    *0x3b154
   16066:	90                   	nop    
   16067:	90                   	nop    
	...

00016070 <_NtClose@4>:
   16070:	ff 25 4c b1 03 00    	jmp    *0x3b14c
   16076:	90                   	nop    
   16077:	90                   	nop    
	...

00016080 <_KeInitializeDeviceQueue@4>:
   16080:	ff 25 14 b1 03 00    	jmp    *0x3b114
   16086:	90                   	nop    
   16087:	90                   	nop    
	...

00016090 <_KeInitializeSpinLock@4>:
   16090:	ff 25 18 b1 03 00    	jmp    *0x3b118
   16096:	90                   	nop    
   16097:	90                   	nop    
	...

000160a0 <_RtlInitializeBitMap@12>:
   160a0:	ff 25 5c b1 03 00    	jmp    *0x3b15c
   160a6:	90                   	nop    
   160a7:	90                   	nop    
	...

000160b0 <_RtlSetAllBits@4>:
   160b0:	ff 25 64 b1 03 00    	jmp    *0x3b164
   160b6:	90                   	nop    
   160b7:	90                   	nop    
	...

000160c0 <_ExAllocatePool@8>:
   160c0:	ff 25 f4 b0 03 00    	jmp    *0x3b0f4
   160c6:	90                   	nop    
   160c7:	90                   	nop    
	...

000160d0 <_MmMapLockedPages@8>:
   160d0:	ff 25 48 b1 03 00    	jmp    *0x3b148
   160d6:	90                   	nop    
   160d7:	90                   	nop    
	...

000160e0 <_MmFreeContiguousMemory@4>:
   160e0:	ff 25 3c b1 03 00    	jmp    *0x3b13c
   160e6:	90                   	nop    
   160e7:	90                   	nop    
	...

000160f0 <_KeRemoveDeviceQueue@4>:
   160f0:	ff 25 28 b1 03 00    	jmp    *0x3b128
   160f6:	90                   	nop    
   160f7:	90                   	nop    
	...

00016100 <_MmAllocateContiguousAlignedMemory@36>:
   16100:	ff 25 38 b1 03 00    	jmp    *0x3b138
   16106:	90                   	nop    
   16107:	90                   	nop    
	...

00016110 <_KeInsertDeviceQueue@8>:
   16110:	ff 25 1c b1 03 00    	jmp    *0x3b11c
   16116:	90                   	nop    
   16117:	90                   	nop    
	...

00016120 <_MmGetPhysicalAddress@4>:
   16120:	ff 25 40 b1 03 00    	jmp    *0x3b140
   16126:	90                   	nop    
   16127:	90                   	nop    
	...

00016130 <_KeBugCheck@4>:
   16130:	ff 25 04 b1 03 00    	jmp    *0x3b104
   16136:	90                   	nop    
   16137:	90                   	nop    
	...

00016140 <_memcpy>:
   16140:	ff 25 70 b1 03 00    	jmp    *0x3b170
   16146:	90                   	nop    
   16147:	90                   	nop    
	...

00016150 <_DbgPrint>:
   16150:	ff 25 f0 b0 03 00    	jmp    *0x3b0f0
   16156:	90                   	nop    
   16157:	90                   	nop    
	...

00016160 <_ExAllocatePoolWithTag@12>:
   16160:	ff 25 f8 b0 03 00    	jmp    *0x3b0f8
   16166:	90                   	nop    
   16167:	90                   	nop    
	...

00016170 <_MmMapIoSpace@16>:
   16170:	ff 25 44 b1 03 00    	jmp    *0x3b144
   16176:	90                   	nop    
   16177:	90                   	nop    
	...

00016180 <@KiAcquireSpinLock@4>:
   16180:	ff 25 e4 b0 03 00    	jmp    *0x3b0e4
   16186:	90                   	nop    
   16187:	90                   	nop    
	...

00016190 <_RtlMoveMemory@12>:
   16190:	ff 25 60 b1 03 00    	jmp    *0x3b160
   16196:	90                   	nop    
   16197:	90                   	nop    
	...

000161a0 <@KiReleaseSpinLock@4>:
   161a0:	ff 25 e8 b0 03 00    	jmp    *0x3b0e8
   161a6:	90                   	nop    
   161a7:	90                   	nop    
	...

000161b0 <_KeEnterCriticalRegion@0>:
   161b0:	ff 25 08 b1 03 00    	jmp    *0x3b108
   161b6:	90                   	nop    
   161b7:	90                   	nop    
	...

000161c0 <@ExAcquireFastMutexUnsafe@4>:
   161c0:	ff 25 d8 b0 03 00    	jmp    *0x3b0d8
   161c6:	90                   	nop    
   161c7:	90                   	nop    
	...

000161d0 <@ExReleaseFastMutexUnsafe@4>:
   161d0:	ff 25 dc b0 03 00    	jmp    *0x3b0dc
   161d6:	90                   	nop    
   161d7:	90                   	nop    
	...

000161e0 <_KeLeaveCriticalRegion@0>:
   161e0:	ff 25 20 b1 03 00    	jmp    *0x3b120
   161e6:	90                   	nop    
   161e7:	90                   	nop    
	...

000161f0 <@InterlockedExchange@8>:
   161f0:	ff 25 e0 b0 03 00    	jmp    *0x3b0e0
   161f6:	90                   	nop    
   161f7:	90                   	nop    
	...

00016200 <_KeGetCurrentThread@0>:
   16200:	ff 25 10 b1 03 00    	jmp    *0x3b110
   16206:	90                   	nop    
   16207:	90                   	nop    
	...

00016210 <_KiInterruptDispatch2@8>:
   16210:	ff 25 34 b1 03 00    	jmp    *0x3b134
   16216:	90                   	nop    
   16217:	90                   	nop    
	...

00016220 <_KiDispatchInterrupt@0>:
   16220:	ff 25 30 b1 03 00    	jmp    *0x3b130
   16226:	90                   	nop    
   16227:	90                   	nop    
	...

00016230 <_KiDeliverApc@12>:
   16230:	ff 25 2c b1 03 00    	jmp    *0x3b12c
   16236:	90                   	nop    
   16237:	90                   	nop    
	...

00016240 <_sprintf>:
   16240:	ff 25 74 b1 03 00    	jmp    *0x3b174
   16246:	90                   	nop    
   16247:	90                   	nop    
	...

00016250 <_KeEnterKernelDebugger@0>:
   16250:	ff 25 0c b1 03 00    	jmp    *0x3b10c
   16256:	90                   	nop    
   16257:	90                   	nop    
	...

00016260 <_DbgBreakPoint@0>:
   16260:	ff 25 ec b0 03 00    	jmp    *0x3b0ec
   16266:	90                   	nop    
   16267:	90                   	nop    
	...

00016270 <_strncpy>:
   16270:	ff 25 78 b1 03 00    	jmp    *0x3b178
   16276:	90                   	nop    
   16277:	90                   	nop    
	...

00016280 <__stricmp>:
   16280:	ff 25 6c b1 03 00    	jmp    *0x3b16c
   16286:	90                   	nop    
   16287:	90                   	nop    
	...

00016290 <_KeQueryTickCount@4>:
   16290:	ff 25 24 b1 03 00    	jmp    *0x3b124
   16296:	90                   	nop    
   16297:	90                   	nop    
	...

000162a0 <__CTOR_LIST__>:
   162a0:	ff                   	(bad)  
   162a1:	ff                   	(bad)  
   162a2:	ff                   	(bad)  
   162a3:	ff 00                	incl   (%eax)
   162a5:	00 00                	add    %al,(%eax)
	...

000162a8 <__DTOR_LIST__>:
   162a8:	ff                   	(bad)  
   162a9:	ff                   	(bad)  
   162aa:	ff                   	(bad)  
   162ab:	ff 00                	incl   (%eax)
   162ad:	00 00                	add    %al,(%eax)
	...
