
vfatfs.nostrip.sys:     file format pei-i386

Disassembly of section .text:

00011000 <___crt_xc_end__>:
static NTSTATUS STDCALL
VfatReadWritePartialCompletion (IN PDEVICE_OBJECT DeviceObject,
				IN PIRP Irp,
				IN PVOID Context)
{
   11000:	55                   	push   %ebp
   11001:	89 e5                	mov    %esp,%ebp
   11003:	56                   	push   %esi
   11004:	53                   	push   %ebx
   11005:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   11008:	8b 75 10             	mov    0x10(%ebp),%esi
   1100b:	eb 15                	jmp    11022 <___crt_xc_end__+0x22>
   1100d:	8d 76 00             	lea    0x0(%esi),%esi
  PVFAT_IRP_CONTEXT IrpContext;
  PMDL Mdl;

  DPRINT("VfatReadWritePartialCompletion() called\n");

  IrpContext = (PVFAT_IRP_CONTEXT)Context;

  while ((Mdl = Irp->MdlAddress))
    {
      Irp->MdlAddress = Mdl->Next;
   11010:	8b 02                	mov    (%edx),%eax
      IoFreeMdl(Mdl);
   11012:	83 ec 0c             	sub    $0xc,%esp
   11015:	89 43 04             	mov    %eax,0x4(%ebx)
   11018:	52                   	push   %edx
   11019:	ff 15 b0 02 02 00    	call   *0x202b0
   1101f:	83 c4 0c             	add    $0xc,%esp
   11022:	8b 53 04             	mov    0x4(%ebx),%edx
   11025:	85 d2                	test   %edx,%edx
   11027:	75 e7                	jne    11010 <___crt_xc_end__+0x10>
    }
  if (Irp->PendingReturned)
   11029:	80 7b 21 00          	cmpb   $0x0,0x21(%ebx)
   1102d:	74 09                	je     11038 <___crt_xc_end__+0x38>
    {
      IrpContext->Flags |= IRPCONTEXT_PENDINGRETURNED;
   1102f:	8b 4e 0c             	mov    0xc(%esi),%ecx
   11032:	83 c9 02             	or     $0x2,%ecx
   11035:	89 4e 0c             	mov    %ecx,0xc(%esi)
    }
  if (!NT_SUCCESS(Irp->IoStatus.Status))
   11038:	8b 53 18             	mov    0x18(%ebx),%edx
   1103b:	85 d2                	test   %edx,%edx
   1103d:	78 2b                	js     1106a <___crt_xc_end__+0x6a>
    {
      IrpContext->Irp->IoStatus.Status = Irp->IoStatus.Status;
    }
  if (0 == InterlockedDecrement((PLONG)&IrpContext->RefCount) &&
   1103f:	8d 4e 2c             	lea    0x2c(%esi),%ecx
   11042:	ff 15 ec 01 02 00    	call   *0x201ec
   11048:	85 c0                	test   %eax,%eax
   1104a:	75 06                	jne    11052 <___crt_xc_end__+0x52>
   1104c:	f6 46 0c 02          	testb  $0x2,0xc(%esi)
   11050:	75 1f                	jne    11071 <___crt_xc_end__+0x71>
      IrpContext->Flags & IRPCONTEXT_PENDINGRETURNED)
    {
      KeSetEvent(&IrpContext->Event, IO_NO_INCREMENT, FALSE);
    }
  IoFreeIrp(Irp);
   11052:	83 ec 0c             	sub    $0xc,%esp
   11055:	53                   	push   %ebx
   11056:	ff 15 ac 02 02 00    	call   *0x202ac

  DPRINT("VfatReadWritePartialCompletion() done\n");

  return STATUS_MORE_PROCESSING_REQUIRED;
}
   1105c:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1105f:	b8 16 00 00 c0       	mov    $0xc0000016,%eax
   11064:	5b                   	pop    %ebx
   11065:	5e                   	pop    %esi
   11066:	5d                   	pop    %ebp
   11067:	c2 0c 00             	ret    $0xc
   1106a:	8b 06                	mov    (%esi),%eax
   1106c:	89 50 18             	mov    %edx,0x18(%eax)
   1106f:	eb ce                	jmp    1103f <___crt_xc_end__+0x3f>
   11071:	8d 46 30             	lea    0x30(%esi),%eax
   11074:	52                   	push   %edx
   11075:	6a 00                	push   $0x0
   11077:	6a 00                	push   $0x0
   11079:	50                   	push   %eax
   1107a:	ff 15 f4 02 02 00    	call   *0x202f4
   11080:	58                   	pop    %eax
   11081:	83 ec 0c             	sub    $0xc,%esp
   11084:	53                   	push   %ebx
   11085:	ff 15 ac 02 02 00    	call   *0x202ac
   1108b:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1108e:	b8 16 00 00 c0       	mov    $0xc0000016,%eax
   11093:	5b                   	pop    %ebx
   11094:	5e                   	pop    %esi
   11095:	5d                   	pop    %ebp
   11096:	c2 0c 00             	ret    $0xc
   11099:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000110a0 <_VfatReadDisk>:

NTSTATUS
VfatReadDisk (IN PDEVICE_OBJECT pDeviceObject,
	      IN PLARGE_INTEGER ReadOffset,
	      IN ULONG ReadLength,
	      IN OUT PUCHAR Buffer,
	      IN BOOLEAN Override)
{
   110a0:	55                   	push   %ebp
   110a1:	89 e5                	mov    %esp,%ebp
   110a3:	56                   	push   %esi
   110a4:	53                   	push   %ebx
   110a5:	83 ec 24             	sub    $0x24,%esp
  PIO_STACK_LOCATION Stack;
  PIRP Irp;
  IO_STATUS_BLOCK IoStatus;
  KEVENT event;
  NTSTATUS Status;

  KeInitializeEvent (&event, NotificationEvent, FALSE);
   110a8:	8d 75 e8             	lea    0xffffffe8(%ebp),%esi
   110ab:	8a 45 18             	mov    0x18(%ebp),%al
   110ae:	8b 5d 08             	mov    0x8(%ebp),%ebx
   110b1:	88 45 df             	mov    %al,0xffffffdf(%ebp)
   110b4:	6a 00                	push   $0x0
   110b6:	6a 00                	push   $0x0
   110b8:	56                   	push   %esi
   110b9:	ff 15 e8 02 02 00    	call   *0x202e8

  DPRINT ("VfatReadDisk(pDeviceObject %x, Offset %I64x, Length %d, Buffer %x)\n",
	  pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);

  DPRINT ("Building synchronous FSD Request...\n");
  Irp = IoBuildSynchronousFsdRequest (IRP_MJ_READ,
   110bf:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   110c2:	50                   	push   %eax
   110c3:	8b 45 0c             	mov    0xc(%ebp),%eax
   110c6:	56                   	push   %esi
   110c7:	50                   	push   %eax
   110c8:	8b 45 10             	mov    0x10(%ebp),%eax
   110cb:	50                   	push   %eax
   110cc:	8b 45 14             	mov    0x14(%ebp),%eax
   110cf:	50                   	push   %eax
   110d0:	53                   	push   %ebx
   110d1:	6a 03                	push   $0x3
   110d3:	ff 15 98 02 02 00    	call   *0x20298
   110d9:	89 c2                	mov    %eax,%edx
				      pDeviceObject,
				      Buffer,
				      ReadLength,
				      ReadOffset,
				      &event,
				      &IoStatus);
  if (Irp == NULL)
   110db:	58                   	pop    %eax
   110dc:	85 d2                	test   %edx,%edx
    {
      DPRINT("IoBuildSynchronousFsdRequest failed\n");
      return(STATUS_UNSUCCESSFUL);
   110de:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   110e3:	74 1b                	je     11100 <_VfatReadDisk+0x60>
    }

  if (Override)
   110e5:	80 7d df 00          	cmpb   $0x0,0xffffffdf(%ebp)
   110e9:	75 1c                	jne    11107 <_VfatReadDisk+0x67>
    {
      Stack = IoGetNextIrpStackLocation(Irp);
      Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
    }

  DPRINT ("Calling IO Driver... with irp %x\n", Irp);
  Status = IoCallDriver (pDeviceObject, Irp);
   110eb:	89 d9                	mov    %ebx,%ecx
   110ed:	ff 15 fc 01 02 00    	call   *0x201fc

  DPRINT ("Waiting for IO Operation for %x\n", Irp);
  if (Status == STATUS_PENDING)
   110f3:	3d 03 01 00 00       	cmp    $0x103,%eax
   110f8:	74 26                	je     11120 <_VfatReadDisk+0x80>
    {
      DPRINT ("Operation pending\n");
      KeWaitForSingleObject (&event, Suspended, KernelMode, FALSE, NULL);
      DPRINT ("Getting IO Status... for %x\n", Irp);
      Status = IoStatus.Status;
    }

  if (!NT_SUCCESS (Status))
   110fa:	85 c0                	test   %eax,%eax
   110fc:	78 02                	js     11100 <_VfatReadDisk+0x60>
    {
      DPRINT ("IO failed!!! VfatReadDisk : Error code: %x\n", Status);
      DPRINT ("(pDeviceObject %x, Offset %I64x, Size %d, Buffer %x\n",
	      pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);
      return (Status);
    }
  DPRINT ("Block request succeeded for %x\n", Irp);
  return (STATUS_SUCCESS);
   110fe:	31 c0                	xor    %eax,%eax
}
   11100:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11103:	5b                   	pop    %ebx
   11104:	5e                   	pop    %esi
   11105:	5d                   	pop    %ebp
   11106:	c3                   	ret    
   11107:	8b 42 60             	mov    0x60(%edx),%eax
   1110a:	89 d9                	mov    %ebx,%ecx
   1110c:	83 e8 24             	sub    $0x24,%eax
   1110f:	80 48 02 02          	orb    $0x2,0x2(%eax)
   11113:	ff 15 fc 01 02 00    	call   *0x201fc
   11119:	3d 03 01 00 00       	cmp    $0x103,%eax
   1111e:	75 da                	jne    110fa <_VfatReadDisk+0x5a>
   11120:	83 ec 0c             	sub    $0xc,%esp
   11123:	6a 00                	push   $0x0
   11125:	6a 00                	push   $0x0
   11127:	6a 00                	push   $0x0
   11129:	6a 05                	push   $0x5
   1112b:	56                   	push   %esi
   1112c:	ff 15 f8 02 02 00    	call   *0x202f8
   11132:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   11135:	83 c4 0c             	add    $0xc,%esp
   11138:	eb c0                	jmp    110fa <_VfatReadDisk+0x5a>
   1113a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00011140 <_VfatReadDiskPartial>:

NTSTATUS
VfatReadDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext,
		     IN PLARGE_INTEGER ReadOffset,
		     IN ULONG ReadLength,
		     ULONG BufferOffset,
		     IN BOOLEAN Wait)
{
   11140:	55                   	push   %ebp
   11141:	89 e5                	mov    %esp,%ebp
   11143:	57                   	push   %edi
   11144:	56                   	push   %esi
   11145:	53                   	push   %ebx
   11146:	83 ec 14             	sub    $0x14,%esp
   11149:	8b 7d 08             	mov    0x8(%ebp),%edi
   1114c:	8a 45 18             	mov    0x18(%ebp),%al
   1114f:	88 45 f3             	mov    %al,0xfffffff3(%ebp)
  PIRP Irp;
  PIO_STACK_LOCATION StackPtr;
  NTSTATUS Status;
  PVOID Buffer;

  DPRINT ("VfatReadDiskPartial(IrpContext %x, ReadOffset %I64x, ReadLength %d, BufferOffset %x, Wait %d)\n",
	  IrpContext, ReadOffset->QuadPart, ReadLength, BufferOffset, Wait);

  DPRINT ("Building asynchronous FSD Request...\n");

  Buffer = (PCHAR)MmGetMdlVirtualAddress(IrpContext->Irp->MdlAddress) + BufferOffset;
   11152:	8b 4d 14             	mov    0x14(%ebp),%ecx
   11155:	8b 07                	mov    (%edi),%eax
   11157:	8b 40 04             	mov    0x4(%eax),%eax
   1115a:	8b 58 10             	mov    0x10(%eax),%ebx
   1115d:	8b 70 18             	mov    0x18(%eax),%esi
 
  Irp = IoAllocateIrp(IrpContext->DeviceExt->StorageDevice->StackSize, TRUE);
   11160:	6a 01                	push   $0x1
   11162:	01 de                	add    %ebx,%esi
   11164:	8b 47 08             	mov    0x8(%edi),%eax
   11167:	01 ce                	add    %ecx,%esi
   11169:	8b 80 7c 00 04 00    	mov    0x4007c(%eax),%eax
   1116f:	0f be 40 30          	movsbl 0x30(%eax),%eax
   11173:	50                   	push   %eax
   11174:	ff 15 88 02 02 00    	call   *0x20288
   1117a:	89 c3                	mov    %eax,%ebx
  if (Irp == NULL)
   1117c:	58                   	pop    %eax
   1117d:	85 db                	test   %ebx,%ebx
   1117f:	5a                   	pop    %edx
    {
      DPRINT("IoAllocateIrp failed\n");
      return(STATUS_UNSUCCESSFUL);
   11180:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   11185:	0f 84 d7 00 00 00    	je     11262 <_VfatReadDiskPartial+0x122>
    }

  Irp->UserIosb = NULL;
   1118b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  Irp->Tail.Overlay.Thread = PsGetCurrentThread();
   11192:	ff 15 e4 02 02 00    	call   *0x202e4

  StackPtr = IoGetNextIrpStackLocation(Irp);
  StackPtr->MajorFunction = IRP_MJ_READ;
  StackPtr->MinorFunction = 0;
  StackPtr->Flags = 0;
  StackPtr->Control = 0;
  StackPtr->DeviceObject = IrpContext->DeviceExt->StorageDevice;
  StackPtr->FileObject = NULL;
  StackPtr->CompletionRoutine = NULL;
  StackPtr->Parameters.Read.Length = ReadLength;
  StackPtr->Parameters.Read.ByteOffset = *ReadOffset;

  if (!IoAllocateMdl(Buffer, ReadLength, FALSE, FALSE, Irp))
   11198:	83 ec 0c             	sub    $0xc,%esp
   1119b:	89 43 50             	mov    %eax,0x50(%ebx)
   1119e:	8b 43 60             	mov    0x60(%ebx),%eax
   111a1:	8d 48 dc             	lea    0xffffffdc(%eax),%ecx
   111a4:	c6 40 dc 03          	movb   $0x3,0xffffffdc(%eax)
   111a8:	c6 41 01 00          	movb   $0x0,0x1(%ecx)
   111ac:	c6 41 02 00          	movb   $0x0,0x2(%ecx)
   111b0:	c6 41 03 00          	movb   $0x0,0x3(%ecx)
   111b4:	8b 47 08             	mov    0x8(%edi),%eax
   111b7:	8b 80 7c 00 04 00    	mov    0x4007c(%eax),%eax
   111bd:	c7 41 18 00 00 00 00 	movl   $0x0,0x18(%ecx)
   111c4:	89 41 14             	mov    %eax,0x14(%ecx)
   111c7:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
   111ce:	8b 45 10             	mov    0x10(%ebp),%eax
   111d1:	89 41 04             	mov    %eax,0x4(%ecx)
   111d4:	8b 45 0c             	mov    0xc(%ebp),%eax
   111d7:	8b 50 04             	mov    0x4(%eax),%edx
   111da:	8b 00                	mov    (%eax),%eax
   111dc:	89 41 0c             	mov    %eax,0xc(%ecx)
   111df:	89 51 10             	mov    %edx,0x10(%ecx)
   111e2:	8b 45 10             	mov    0x10(%ebp),%eax
   111e5:	53                   	push   %ebx
   111e6:	6a 00                	push   $0x0
   111e8:	6a 00                	push   $0x0
   111ea:	50                   	push   %eax
   111eb:	56                   	push   %esi
   111ec:	ff 15 8c 02 02 00    	call   *0x2028c
   111f2:	83 c4 0c             	add    $0xc,%esp
   111f5:	85 c0                	test   %eax,%eax
   111f7:	0f 84 b2 00 00 00    	je     112af <_VfatReadDiskPartial+0x16f>
    {
      DPRINT("IoAllocateMdl failed\n");
      IoFreeIrp(Irp);
      return STATUS_UNSUCCESSFUL;
    }

  IoBuildPartialMdl(IrpContext->Irp->MdlAddress, Irp->MdlAddress, Buffer, ReadLength);
   111fd:	8b 45 10             	mov    0x10(%ebp),%eax
   11200:	50                   	push   %eax
   11201:	56                   	push   %esi
   11202:	8b 4b 04             	mov    0x4(%ebx),%ecx
   11205:	51                   	push   %ecx
   11206:	8b 07                	mov    (%edi),%eax
   11208:	8b 50 04             	mov    0x4(%eax),%edx
   1120b:	52                   	push   %edx
   1120c:	ff 15 94 02 02 00    	call   *0x20294

  IoSetCompletionRoutine(Irp,
   11212:	8b 43 60             	mov    0x60(%ebx),%eax
   11215:	83 e8 24             	sub    $0x24,%eax
   11218:	c7 40 1c 00 10 01 00 	movl   $0x11000,0x1c(%eax)
   1121f:	89 78 20             	mov    %edi,0x20(%eax)
   11222:	c6 40 03 e0          	movb   $0xe0,0x3(%eax)
                         VfatReadWritePartialCompletion,
			 IrpContext,
			 TRUE,
			 TRUE,
			 TRUE);

  if (Wait)
   11226:	80 7d f3 00          	cmpb   $0x0,0xfffffff3(%ebp)
   1122a:	75 44                	jne    11270 <_VfatReadDiskPartial+0x130>
    {
      KeInitializeEvent(&IrpContext->Event, NotificationEvent, FALSE);
      IrpContext->RefCount = 1;
    }
  else
    {
      InterlockedIncrement((PLONG)&IrpContext->RefCount);
   1122c:	8d 4f 2c             	lea    0x2c(%edi),%ecx
   1122f:	ff 15 f0 01 02 00    	call   *0x201f0
    }

  DPRINT ("Calling IO Driver... with irp %x\n", Irp);
  Status = IoCallDriver (IrpContext->DeviceExt->StorageDevice, Irp);
   11235:	8b 47 08             	mov    0x8(%edi),%eax
   11238:	89 da                	mov    %ebx,%edx
   1123a:	8b 88 7c 00 04 00    	mov    0x4007c(%eax),%ecx
   11240:	ff 15 fc 01 02 00    	call   *0x201fc

  if (Wait && Status == STATUS_PENDING)
   11246:	80 7d f3 00          	cmpb   $0x0,0xfffffff3(%ebp)
   1124a:	89 c1                	mov    %eax,%ecx
   1124c:	0f 95 c2             	setne  %dl
   1124f:	3d 03 01 00 00       	cmp    $0x103,%eax
   11254:	0f 94 c0             	sete   %al
   11257:	25 ff 00 00 00       	and    $0xff,%eax
   1125c:	85 c2                	test   %eax,%edx
   1125e:	75 30                	jne    11290 <_VfatReadDiskPartial+0x150>
    {
      KeWaitForSingleObject(&IrpContext->Event, Executive, KernelMode, FALSE, NULL);
      Status = IrpContext->Irp->IoStatus.Status;
    }

  DPRINT("%x\n", Status);
  return Status;
   11260:	89 c8                	mov    %ecx,%eax
}
   11262:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11265:	5b                   	pop    %ebx
   11266:	5e                   	pop    %esi
   11267:	5f                   	pop    %edi
   11268:	5d                   	pop    %ebp
   11269:	c3                   	ret    
   1126a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11270:	50                   	push   %eax
   11271:	8d 47 30             	lea    0x30(%edi),%eax
   11274:	6a 00                	push   $0x0
   11276:	6a 00                	push   $0x0
   11278:	50                   	push   %eax
   11279:	ff 15 e8 02 02 00    	call   *0x202e8
   1127f:	c7 47 2c 01 00 00 00 	movl   $0x1,0x2c(%edi)
   11286:	58                   	pop    %eax
   11287:	eb ac                	jmp    11235 <_VfatReadDiskPartial+0xf5>
   11289:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   11290:	83 ec 0c             	sub    $0xc,%esp
   11293:	8d 47 30             	lea    0x30(%edi),%eax
   11296:	6a 00                	push   $0x0
   11298:	6a 00                	push   $0x0
   1129a:	6a 00                	push   $0x0
   1129c:	6a 00                	push   $0x0
   1129e:	50                   	push   %eax
   1129f:	ff 15 f8 02 02 00    	call   *0x202f8
   112a5:	8b 07                	mov    (%edi),%eax
   112a7:	83 c4 0c             	add    $0xc,%esp
   112aa:	8b 48 18             	mov    0x18(%eax),%ecx
   112ad:	eb b1                	jmp    11260 <_VfatReadDiskPartial+0x120>
   112af:	83 ec 0c             	sub    $0xc,%esp
   112b2:	53                   	push   %ebx
   112b3:	ff 15 ac 02 02 00    	call   *0x202ac
   112b9:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   112be:	eb a2                	jmp    11262 <_VfatReadDiskPartial+0x122>

000112c0 <_VfatWriteDiskPartial>:


NTSTATUS
VfatWriteDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext,
		      IN PLARGE_INTEGER WriteOffset,
		      IN ULONG WriteLength,
		      IN ULONG BufferOffset,
		      IN BOOLEAN Wait)
{
   112c0:	55                   	push   %ebp
   112c1:	89 e5                	mov    %esp,%ebp
   112c3:	57                   	push   %edi
   112c4:	56                   	push   %esi
   112c5:	53                   	push   %ebx
   112c6:	83 ec 14             	sub    $0x14,%esp
   112c9:	8b 7d 08             	mov    0x8(%ebp),%edi
   112cc:	8a 45 18             	mov    0x18(%ebp),%al
   112cf:	88 45 f3             	mov    %al,0xfffffff3(%ebp)
  PIRP Irp;
  PIO_STACK_LOCATION StackPtr;
  NTSTATUS Status;
  PVOID Buffer;

  DPRINT ("VfatWriteDiskPartial(IrpContext %x, WriteOffset %I64x, WriteLength %d, BufferOffset %x, Wait %d)\n",
	  IrpContext, WriteOffset->QuadPart, WriteLength, BufferOffset, Wait);

  Buffer = (PCHAR)MmGetMdlVirtualAddress(IrpContext->Irp->MdlAddress) + BufferOffset;
   112d2:	8b 4d 14             	mov    0x14(%ebp),%ecx
   112d5:	8b 07                	mov    (%edi),%eax
   112d7:	8b 40 04             	mov    0x4(%eax),%eax
   112da:	8b 58 10             	mov    0x10(%eax),%ebx
   112dd:	8b 70 18             	mov    0x18(%eax),%esi

  DPRINT ("Building asynchronous FSD Request...\n");
  Irp = IoAllocateIrp(IrpContext->DeviceExt->StorageDevice->StackSize, TRUE);
   112e0:	6a 01                	push   $0x1
   112e2:	01 de                	add    %ebx,%esi
   112e4:	8b 47 08             	mov    0x8(%edi),%eax
   112e7:	01 ce                	add    %ecx,%esi
   112e9:	8b 80 7c 00 04 00    	mov    0x4007c(%eax),%eax
   112ef:	0f be 40 30          	movsbl 0x30(%eax),%eax
   112f3:	50                   	push   %eax
   112f4:	ff 15 88 02 02 00    	call   *0x20288
   112fa:	89 c3                	mov    %eax,%ebx
  if (Irp == NULL)
   112fc:	58                   	pop    %eax
   112fd:	85 db                	test   %ebx,%ebx
   112ff:	5a                   	pop    %edx
    {
      DPRINT("IoAllocateIrp failed\n");
      return(STATUS_UNSUCCESSFUL);
   11300:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   11305:	0f 84 d7 00 00 00    	je     113e2 <_VfatWriteDiskPartial+0x122>
    }

  Irp->UserIosb = NULL;
   1130b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  Irp->Tail.Overlay.Thread = PsGetCurrentThread();
   11312:	ff 15 e4 02 02 00    	call   *0x202e4

  StackPtr = IoGetNextIrpStackLocation(Irp);
  StackPtr->MajorFunction = IRP_MJ_WRITE;
  StackPtr->MinorFunction = 0;
  StackPtr->Flags = 0;
  StackPtr->Control = 0;
  StackPtr->DeviceObject = IrpContext->DeviceExt->StorageDevice;
  StackPtr->FileObject = NULL;
  StackPtr->CompletionRoutine = NULL;
  StackPtr->Parameters.Read.Length = WriteLength;
  StackPtr->Parameters.Read.ByteOffset = *WriteOffset;

  if (!IoAllocateMdl(Buffer, WriteLength, FALSE, FALSE, Irp))
   11318:	83 ec 0c             	sub    $0xc,%esp
   1131b:	89 43 50             	mov    %eax,0x50(%ebx)
   1131e:	8b 43 60             	mov    0x60(%ebx),%eax
   11321:	8d 48 dc             	lea    0xffffffdc(%eax),%ecx
   11324:	c6 40 dc 04          	movb   $0x4,0xffffffdc(%eax)
   11328:	c6 41 01 00          	movb   $0x0,0x1(%ecx)
   1132c:	c6 41 02 00          	movb   $0x0,0x2(%ecx)
   11330:	c6 41 03 00          	movb   $0x0,0x3(%ecx)
   11334:	8b 47 08             	mov    0x8(%edi),%eax
   11337:	8b 80 7c 00 04 00    	mov    0x4007c(%eax),%eax
   1133d:	c7 41 18 00 00 00 00 	movl   $0x0,0x18(%ecx)
   11344:	89 41 14             	mov    %eax,0x14(%ecx)
   11347:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
   1134e:	8b 45 10             	mov    0x10(%ebp),%eax
   11351:	89 41 04             	mov    %eax,0x4(%ecx)
   11354:	8b 45 0c             	mov    0xc(%ebp),%eax
   11357:	8b 50 04             	mov    0x4(%eax),%edx
   1135a:	8b 00                	mov    (%eax),%eax
   1135c:	89 41 0c             	mov    %eax,0xc(%ecx)
   1135f:	89 51 10             	mov    %edx,0x10(%ecx)
   11362:	8b 45 10             	mov    0x10(%ebp),%eax
   11365:	53                   	push   %ebx
   11366:	6a 00                	push   $0x0
   11368:	6a 00                	push   $0x0
   1136a:	50                   	push   %eax
   1136b:	56                   	push   %esi
   1136c:	ff 15 8c 02 02 00    	call   *0x2028c
   11372:	83 c4 0c             	add    $0xc,%esp
   11375:	85 c0                	test   %eax,%eax
   11377:	0f 84 b2 00 00 00    	je     1142f <_VfatWriteDiskPartial+0x16f>
    {
      DPRINT("IoAllocateMdl failed\n");
      IoFreeIrp(Irp);
      return STATUS_UNSUCCESSFUL;
    }
  IoBuildPartialMdl(IrpContext->Irp->MdlAddress, Irp->MdlAddress, Buffer, WriteLength);
   1137d:	8b 45 10             	mov    0x10(%ebp),%eax
   11380:	50                   	push   %eax
   11381:	56                   	push   %esi
   11382:	8b 43 04             	mov    0x4(%ebx),%eax
   11385:	50                   	push   %eax
   11386:	8b 07                	mov    (%edi),%eax
   11388:	8b 40 04             	mov    0x4(%eax),%eax
   1138b:	50                   	push   %eax
   1138c:	ff 15 94 02 02 00    	call   *0x20294

  IoSetCompletionRoutine(Irp,
   11392:	8b 43 60             	mov    0x60(%ebx),%eax
   11395:	83 e8 24             	sub    $0x24,%eax
   11398:	c7 40 1c 00 10 01 00 	movl   $0x11000,0x1c(%eax)
   1139f:	89 78 20             	mov    %edi,0x20(%eax)
   113a2:	c6 40 03 e0          	movb   $0xe0,0x3(%eax)
                         VfatReadWritePartialCompletion,
			 IrpContext,
			 TRUE,
			 TRUE,
			 TRUE);

  if (Wait)
   113a6:	80 7d f3 00          	cmpb   $0x0,0xfffffff3(%ebp)
   113aa:	75 44                	jne    113f0 <_VfatWriteDiskPartial+0x130>
    {
      KeInitializeEvent(&IrpContext->Event, NotificationEvent, FALSE);
      IrpContext->RefCount = 1;
    }
  else
    {
      InterlockedIncrement((PLONG)&IrpContext->RefCount);
   113ac:	8d 4f 2c             	lea    0x2c(%edi),%ecx
   113af:	ff 15 f0 01 02 00    	call   *0x201f0
    }


  DPRINT ("Calling IO Driver...\n");
  Status = IoCallDriver (IrpContext->DeviceExt->StorageDevice, Irp);
   113b5:	8b 47 08             	mov    0x8(%edi),%eax
   113b8:	89 da                	mov    %ebx,%edx
   113ba:	8b 88 7c 00 04 00    	mov    0x4007c(%eax),%ecx
   113c0:	ff 15 fc 01 02 00    	call   *0x201fc
  if (Wait && Status == STATUS_PENDING)
   113c6:	80 7d f3 00          	cmpb   $0x0,0xfffffff3(%ebp)
   113ca:	89 c1                	mov    %eax,%ecx
   113cc:	0f 95 c2             	setne  %dl
   113cf:	3d 03 01 00 00       	cmp    $0x103,%eax
   113d4:	0f 94 c0             	sete   %al
   113d7:	25 ff 00 00 00       	and    $0xff,%eax
   113dc:	85 c2                	test   %eax,%edx
   113de:	75 30                	jne    11410 <_VfatWriteDiskPartial+0x150>
    {
      KeWaitForSingleObject(&IrpContext->Event, Executive, KernelMode, FALSE, NULL);
      Status = IrpContext->Irp->IoStatus.Status;
    }

  return Status;
   113e0:	89 c8                	mov    %ecx,%eax
}
   113e2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   113e5:	5b                   	pop    %ebx
   113e6:	5e                   	pop    %esi
   113e7:	5f                   	pop    %edi
   113e8:	5d                   	pop    %ebp
   113e9:	c3                   	ret    
   113ea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   113f0:	50                   	push   %eax
   113f1:	8d 47 30             	lea    0x30(%edi),%eax
   113f4:	6a 00                	push   $0x0
   113f6:	6a 00                	push   $0x0
   113f8:	50                   	push   %eax
   113f9:	ff 15 e8 02 02 00    	call   *0x202e8
   113ff:	c7 47 2c 01 00 00 00 	movl   $0x1,0x2c(%edi)
   11406:	5e                   	pop    %esi
   11407:	eb ac                	jmp    113b5 <_VfatWriteDiskPartial+0xf5>
   11409:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   11410:	83 ec 0c             	sub    $0xc,%esp
   11413:	8d 47 30             	lea    0x30(%edi),%eax
   11416:	6a 00                	push   $0x0
   11418:	6a 00                	push   $0x0
   1141a:	6a 00                	push   $0x0
   1141c:	6a 00                	push   $0x0
   1141e:	50                   	push   %eax
   1141f:	ff 15 f8 02 02 00    	call   *0x202f8
   11425:	8b 07                	mov    (%edi),%eax
   11427:	83 c4 0c             	add    $0xc,%esp
   1142a:	8b 48 18             	mov    0x18(%eax),%ecx
   1142d:	eb b1                	jmp    113e0 <_VfatWriteDiskPartial+0x120>
   1142f:	83 ec 0c             	sub    $0xc,%esp
   11432:	53                   	push   %ebx
   11433:	ff 15 ac 02 02 00    	call   *0x202ac
   11439:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   1143e:	eb a2                	jmp    113e2 <_VfatWriteDiskPartial+0x122>

00011440 <_VfatBlockDeviceIoControl>:

NTSTATUS
VfatBlockDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
			  IN ULONG CtlCode,
			  IN PVOID InputBuffer OPTIONAL,
			  IN ULONG InputBufferSize,
			  IN OUT PVOID OutputBuffer OPTIONAL,
			  IN OUT PULONG OutputBufferSize,
			  IN BOOLEAN Override)
{
   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 30             	sub    $0x30,%esp
  PIO_STACK_LOCATION Stack;
  KEVENT Event;
  PIRP Irp;
  IO_STATUS_BLOCK IoStatus;
  NTSTATUS Status;

  DPRINT("VfatBlockDeviceIoControl(DeviceObject %x, CtlCode %x, "
         "InputBuffer %x, InputBufferSize %x, OutputBuffer %x, "
         "OutputBufferSize %x (%x)\n", DeviceObject, CtlCode,
         InputBuffer, InputBufferSize, OutputBuffer, OutputBufferSize,
         OutputBufferSize ? *OutputBufferSize : 0);

  KeInitializeEvent (&Event, NotificationEvent, FALSE);
   11449:	8d 75 d8             	lea    0xffffffd8(%ebp),%esi
   1144c:	8a 45 20             	mov    0x20(%ebp),%al
   1144f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
   11452:	88 45 cf             	mov    %al,0xffffffcf(%ebp)
   11455:	6a 00                	push   $0x0
   11457:	8b 7d 08             	mov    0x8(%ebp),%edi
   1145a:	6a 00                	push   $0x0
   1145c:	56                   	push   %esi
   1145d:	ff 15 e8 02 02 00    	call   *0x202e8

  DPRINT("Building device I/O control request ...\n");
  Irp = IoBuildDeviceIoControlRequest(CtlCode,
   11463:	50                   	push   %eax
   11464:	50                   	push   %eax
   11465:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   11468:	50                   	push   %eax
   11469:	31 c0                	xor    %eax,%eax
   1146b:	56                   	push   %esi
   1146c:	85 db                	test   %ebx,%ebx
   1146e:	6a 00                	push   $0x0
   11470:	74 02                	je     11474 <_VfatBlockDeviceIoControl+0x34>
   11472:	8b 03                	mov    (%ebx),%eax
   11474:	50                   	push   %eax
   11475:	8b 45 18             	mov    0x18(%ebp),%eax
   11478:	50                   	push   %eax
   11479:	8b 45 14             	mov    0x14(%ebp),%eax
   1147c:	50                   	push   %eax
   1147d:	8b 45 10             	mov    0x10(%ebp),%eax
   11480:	50                   	push   %eax
   11481:	8b 45 0c             	mov    0xc(%ebp),%eax
   11484:	57                   	push   %edi
   11485:	50                   	push   %eax
   11486:	ff 15 90 02 02 00    	call   *0x20290
   1148c:	89 c2                	mov    %eax,%edx
				      DeviceObject,
				      InputBuffer,
				      InputBufferSize,
				      OutputBuffer,
				      (OutputBufferSize) ? *OutputBufferSize : 0,
				      FALSE,
				      &Event,
				      &IoStatus);
  if (Irp == NULL)
   1148e:	83 c4 0c             	add    $0xc,%esp
    {
      DPRINT("IoBuildDeviceIoControlRequest failed\n");
      return STATUS_INSUFFICIENT_RESOURCES;
   11491:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   11496:	85 d2                	test   %edx,%edx
   11498:	74 22                	je     114bc <_VfatBlockDeviceIoControl+0x7c>
    }

  if (Override)
   1149a:	80 7d cf 00          	cmpb   $0x0,0xffffffcf(%ebp)
   1149e:	75 24                	jne    114c4 <_VfatBlockDeviceIoControl+0x84>
    {
      Stack = IoGetNextIrpStackLocation(Irp);
      Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
    }

  DPRINT ("Calling IO Driver... with irp %x\n", Irp);
  Status = IoCallDriver(DeviceObject, Irp);
   114a0:	89 f9                	mov    %edi,%ecx
   114a2:	ff 15 fc 01 02 00    	call   *0x201fc
   114a8:	89 c2                	mov    %eax,%edx

  DPRINT ("Waiting for IO Operation for %x\n", Irp);
  if (Status == STATUS_PENDING)
   114aa:	3d 03 01 00 00       	cmp    $0x103,%eax
   114af:	74 2e                	je     114df <_VfatBlockDeviceIoControl+0x9f>
    {
      DPRINT ("Operation pending\n");
      KeWaitForSingleObject (&Event, Suspended, KernelMode, FALSE, NULL);
      DPRINT ("Getting IO Status... for %x\n", Irp);

      Status = IoStatus.Status;
    }

  if (OutputBufferSize)
   114b1:	85 db                	test   %ebx,%ebx
   114b3:	74 05                	je     114ba <_VfatBlockDeviceIoControl+0x7a>
    {
      *OutputBufferSize = IoStatus.Information;
   114b5:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   114b8:	89 03                	mov    %eax,(%ebx)
    }

  DPRINT("Returning Status %x\n", Status);

  return Status;
   114ba:	89 d0                	mov    %edx,%eax
}
   114bc:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   114bf:	5b                   	pop    %ebx
   114c0:	5e                   	pop    %esi
   114c1:	5f                   	pop    %edi
   114c2:	5d                   	pop    %ebp
   114c3:	c3                   	ret    
   114c4:	8b 42 60             	mov    0x60(%edx),%eax
   114c7:	89 f9                	mov    %edi,%ecx
   114c9:	83 e8 24             	sub    $0x24,%eax
   114cc:	80 48 02 02          	orb    $0x2,0x2(%eax)
   114d0:	ff 15 fc 01 02 00    	call   *0x201fc
   114d6:	89 c2                	mov    %eax,%edx
   114d8:	3d 03 01 00 00       	cmp    $0x103,%eax
   114dd:	75 d2                	jne    114b1 <_VfatBlockDeviceIoControl+0x71>
   114df:	83 ec 0c             	sub    $0xc,%esp
   114e2:	6a 00                	push   $0x0
   114e4:	6a 00                	push   $0x0
   114e6:	6a 00                	push   $0x0
   114e8:	6a 05                	push   $0x5
   114ea:	56                   	push   %esi
   114eb:	ff 15 f8 02 02 00    	call   *0x202f8
   114f1:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
   114f4:	83 c4 0c             	add    $0xc,%esp
   114f7:	eb b8                	jmp    114b1 <_VfatBlockDeviceIoControl+0x71>
   114f9:	90                   	nop    
   114fa:	90                   	nop    
   114fb:	90                   	nop    
   114fc:	90                   	nop    
   114fd:	90                   	nop    
   114fe:	90                   	nop    
   114ff:	90                   	nop    

00011500 <_VfatCleanup>:
NTSTATUS VfatCleanup (PVFAT_IRP_CONTEXT IrpContext)
/*
 * FUNCTION: Cleans up after a file has been closed.
 */
{
   11500:	55                   	push   %ebp
   11501:	89 e5                	mov    %esp,%ebp
   11503:	57                   	push   %edi
   11504:	56                   	push   %esi
   11505:	53                   	push   %ebx
   11506:	83 ec 0c             	sub    $0xc,%esp
   NTSTATUS Status;

   DPRINT("VfatCleanup(DeviceObject %x, Irp %x)\n", IrpContext->DeviceObject, IrpContext->Irp);

   if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
   11509:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1150e:	8b 5d 08             	mov    0x8(%ebp),%ebx
   11511:	8b 40 04             	mov    0x4(%eax),%eax
   11514:	39 43 04             	cmp    %eax,0x4(%ebx)
   11517:	74 76                	je     1158f <_VfatCleanup+0x8f>
     {
       Status = STATUS_SUCCESS;
       goto ByeBye;
     }

   if (!ExAcquireResourceExclusiveLite (&IrpContext->DeviceExt->DirResource,
   11519:	31 c0                	xor    %eax,%eax
   1151b:	57                   	push   %edi
   1151c:	57                   	push   %edi
   1151d:	8a 43 0c             	mov    0xc(%ebx),%al
   11520:	83 e0 01             	and    $0x1,%eax
   11523:	50                   	push   %eax
   11524:	8b 73 08             	mov    0x8(%ebx),%esi
   11527:	56                   	push   %esi
   11528:	ff 15 3c 02 02 00    	call   *0x2023c
   1152e:	5a                   	pop    %edx
   1152f:	84 c0                	test   %al,%al
   11531:	59                   	pop    %ecx
   11532:	0f 84 88 00 00 00    	je     115c0 <_VfatCleanup+0xc0>
   11538:	8b 7b 28             	mov    0x28(%ebx),%edi
   1153b:	8b 77 0c             	mov    0xc(%edi),%esi
   1153e:	85 f6                	test   %esi,%esi
   11540:	74 44                	je     11586 <_VfatCleanup+0x86>
   11542:	8b 86 e4 00 00 00    	mov    0xe4(%esi),%eax
   11548:	f6 00 10             	testb  $0x10,(%eax)
   1154b:	0f 84 7f 00 00 00    	je     115d0 <_VfatCleanup+0xd0>
   11551:	f6 86 38 01 00 00 20 	testb  $0x20,0x138(%esi)
   11558:	0f 85 a2 00 00 00    	jne    11600 <_VfatCleanup+0x100>
   1155e:	83 ec 0c             	sub    $0xc,%esp
   11561:	57                   	push   %edi
   11562:	e8 79 b0 00 00       	call   1c5e0 <_CcRosReleaseFileCache@4>
   11567:	8b 8e 64 01 00 00    	mov    0x164(%esi),%ecx
   1156d:	8d 86 48 01 00 00    	lea    0x148(%esi),%eax
   11573:	49                   	dec    %ecx
   11574:	89 8e 64 01 00 00    	mov    %ecx,0x164(%esi)
   1157a:	89 04 24             	mov    %eax,(%esp)
   1157d:	57                   	push   %edi
   1157e:	ff 15 c4 02 02 00    	call   *0x202c4
   11584:	58                   	pop    %eax
   11585:	5a                   	pop    %edx
                                        (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
     {
       return VfatQueueRequest (IrpContext);
     }

   Status = VfatCleanupFile(IrpContext);

   ExReleaseResourceLite (&IrpContext->DeviceExt->DirResource);
   11586:	8b 4b 08             	mov    0x8(%ebx),%ecx
   11589:	ff 15 e8 01 02 00    	call   *0x201e8

ByeBye:
   IrpContext->Irp->IoStatus.Status = Status;
   1158f:	8b 03                	mov    (%ebx),%eax
   IrpContext->Irp->IoStatus.Information = 0;

   IoCompleteRequest (IrpContext->Irp, IO_NO_INCREMENT);
   11591:	31 d2                	xor    %edx,%edx
   11593:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
   1159a:	8b 03                	mov    (%ebx),%eax
   1159c:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   115a3:	8b 0b                	mov    (%ebx),%ecx
   115a5:	ff 15 00 02 02 00    	call   *0x20200
   VfatFreeIrpContext(IrpContext);
   115ab:	83 ec 0c             	sub    $0xc,%esp
   115ae:	53                   	push   %ebx
   115af:	e8 7c 94 00 00       	call   1aa30 <_VfatFreeIrpContext>
   return (Status);
}
   115b4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   115b7:	31 c0                	xor    %eax,%eax
   115b9:	5b                   	pop    %ebx
   115ba:	5e                   	pop    %esi
   115bb:	5f                   	pop    %edi
   115bc:	5d                   	pop    %ebp
   115bd:	c3                   	ret    
   115be:	89 f6                	mov    %esi,%esi
   115c0:	89 5d 08             	mov    %ebx,0x8(%ebp)
   115c3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   115c6:	5b                   	pop    %ebx
   115c7:	5e                   	pop    %esi
   115c8:	5f                   	pop    %edi
   115c9:	5d                   	pop    %ebp
   115ca:	e9 51 98 00 00       	jmp    1ae20 <_VfatQueueRequest>
   115cf:	90                   	nop    
   115d0:	80 be 88 01 00 00 00 	cmpb   $0x0,0x188(%esi)
   115d7:	0f 84 74 ff ff ff    	je     11551 <_VfatCleanup+0x51>
   115dd:	6a 00                	push   $0x0
   115df:	50                   	push   %eax
   115e0:	50                   	push   %eax
   115e1:	8b 03                	mov    (%ebx),%eax
   115e3:	50                   	push   %eax
   115e4:	e8 37 b0 00 00       	call   1c620 <_IoGetRequestorProcess@4>
   115e9:	5a                   	pop    %edx
   115ea:	59                   	pop    %ecx
   115eb:	50                   	push   %eax
   115ec:	8d 86 80 01 00 00    	lea    0x180(%esi),%eax
   115f2:	57                   	push   %edi
   115f3:	50                   	push   %eax
   115f4:	e8 37 b0 00 00       	call   1c630 <_FsRtlFastUnlockAll@16>
   115f9:	e9 53 ff ff ff       	jmp    11551 <_VfatCleanup+0x51>
   115fe:	89 f6                	mov    %esi,%esi
   11600:	83 ec 0c             	sub    $0xc,%esp
   11603:	56                   	push   %esi
   11604:	e8 57 28 00 00       	call   13e60 <_VfatUpdateEntry>
   11609:	83 c4 10             	add    $0x10,%esp
   1160c:	e9 4d ff ff ff       	jmp    1155e <_VfatCleanup+0x5e>
   11611:	90                   	nop    
   11612:	90                   	nop    
   11613:	90                   	nop    
   11614:	90                   	nop    
   11615:	90                   	nop    
   11616:	90                   	nop    
   11617:	90                   	nop    
   11618:	90                   	nop    
   11619:	90                   	nop    
   1161a:	90                   	nop    
   1161b:	90                   	nop    
   1161c:	90                   	nop    
   1161d:	90                   	nop    
   1161e:	90                   	nop    
   1161f:	90                   	nop    

00011620 <_VfatCloseFile>:
   11620:	55                   	push   %ebp
   11621:	31 c0                	xor    %eax,%eax
   11623:	89 e5                	mov    %esp,%ebp
   11625:	57                   	push   %edi
   11626:	56                   	push   %esi
   11627:	53                   	push   %ebx
   11628:	83 ec 0c             	sub    $0xc,%esp
   1162b:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
   11632:	8b 75 0c             	mov    0xc(%ebp),%esi
   11635:	8b 5e 0c             	mov    0xc(%esi),%ebx
   11638:	8b 7e 10             	mov    0x10(%esi),%edi
   1163b:	85 db                	test   %ebx,%ebx
   1163d:	74 39                	je     11678 <_VfatCloseFile+0x58>
   1163f:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
   11645:	a8 10                	test   $0x10,%al
   11647:	75 59                	jne    116a2 <_VfatCloseFile+0x82>
   11649:	8b 56 34             	mov    0x34(%esi),%edx
   1164c:	85 d2                	test   %edx,%edx
   1164e:	75 30                	jne    11680 <_VfatCloseFile+0x60>
   11650:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
   11657:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
   1165e:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
   11665:	85 ff                	test   %edi,%edi
   11667:	74 0c                	je     11675 <_VfatCloseFile+0x55>
   11669:	83 ec 0c             	sub    $0xc,%esp
   1166c:	57                   	push   %edi
   1166d:	e8 ae 51 00 00       	call   16820 <_vfatDestroyCCB>
   11672:	83 c4 10             	add    $0x10,%esp
   11675:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   11678:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1167b:	5b                   	pop    %ebx
   1167c:	5e                   	pop    %esi
   1167d:	5f                   	pop    %edi
   1167e:	5d                   	pop    %ebp
   1167f:	c3                   	ret    
   11680:	80 7e 25 00          	cmpb   $0x0,0x25(%esi)
   11684:	74 0b                	je     11691 <_VfatCloseFile+0x71>
   11686:	a8 02                	test   $0x2,%al
   11688:	75 4d                	jne    116d7 <_VfatCloseFile+0xb7>
   1168a:	c7 45 f0 56 00 00 c0 	movl   $0xc0000056,0xfffffff0(%ebp)
   11691:	8b 45 08             	mov    0x8(%ebp),%eax
   11694:	52                   	push   %edx
   11695:	52                   	push   %edx
   11696:	53                   	push   %ebx
   11697:	50                   	push   %eax
   11698:	e8 c3 52 00 00       	call   16960 <_vfatReleaseFCB>
   1169d:	83 c4 10             	add    $0x10,%esp
   116a0:	eb ae                	jmp    11650 <_VfatCloseFile+0x30>
   116a2:	50                   	push   %eax
   116a3:	6a 2a                	push   $0x2a
   116a5:	68 00 e0 01 00       	push   $0x1e000
   116aa:	68 08 e0 01 00       	push   $0x1e008
   116af:	ff 15 38 02 02 00    	call   *0x20238
   116b5:	c7 04 24 11 e0 01 00 	movl   $0x1e011,(%esp)
   116bc:	ff 15 38 02 02 00    	call   *0x20238
   116c2:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
   116c8:	49                   	dec    %ecx
   116c9:	83 c4 10             	add    $0x10,%esp
   116cc:	89 8b 28 01 00 00    	mov    %ecx,0x128(%ebx)
   116d2:	e9 79 ff ff ff       	jmp    11650 <_VfatCloseFile+0x30>
   116d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   116da:	50                   	push   %eax
   116db:	50                   	push   %eax
   116dc:	53                   	push   %ebx
   116dd:	51                   	push   %ecx
   116de:	e8 7d 3b 00 00       	call   15260 <_VfatDelEntry>
   116e3:	83 c4 10             	add    $0x10,%esp
   116e6:	eb a9                	jmp    11691 <_VfatCloseFile+0x71>
   116e8:	90                   	nop    
   116e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000116f0 <_VfatClose>:
   116f0:	55                   	push   %ebp
   116f1:	89 e5                	mov    %esp,%ebp
   116f3:	56                   	push   %esi
   116f4:	53                   	push   %ebx
   116f5:	31 f6                	xor    %esi,%esi
   116f7:	a1 10 f0 01 00       	mov    0x1f010,%eax
   116fc:	8b 5d 08             	mov    0x8(%ebp),%ebx
   116ff:	8b 40 04             	mov    0x4(%eax),%eax
   11702:	39 43 04             	cmp    %eax,0x4(%ebx)
   11705:	74 46                	je     1174d <_VfatClose+0x5d>
   11707:	50                   	push   %eax
   11708:	50                   	push   %eax
   11709:	6a 01                	push   $0x1
   1170b:	8b 73 08             	mov    0x8(%ebx),%esi
   1170e:	56                   	push   %esi
   1170f:	ff 15 3c 02 02 00    	call   *0x2023c
   11715:	5a                   	pop    %edx
   11716:	84 c0                	test   %al,%al
   11718:	59                   	pop    %ecx
   11719:	75 15                	jne    11730 <_VfatClose+0x40>
   1171b:	89 5d 08             	mov    %ebx,0x8(%ebp)

/* EOF */
   1171e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11721:	5b                   	pop    %ebx
   11722:	5e                   	pop    %esi
   11723:	5d                   	pop    %ebp
   11724:	e9 f7 96 00 00       	jmp    1ae20 <_VfatQueueRequest>
   11729:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   11730:	50                   	push   %eax
   11731:	50                   	push   %eax
   11732:	8b 43 28             	mov    0x28(%ebx),%eax
   11735:	50                   	push   %eax
   11736:	8b 43 08             	mov    0x8(%ebx),%eax
   11739:	50                   	push   %eax
   1173a:	e8 e1 fe ff ff       	call   11620 <_VfatCloseFile>
   1173f:	8b 4b 08             	mov    0x8(%ebx),%ecx
   11742:	89 c6                	mov    %eax,%esi
   11744:	ff 15 e8 01 02 00    	call   *0x201e8
   1174a:	83 c4 10             	add    $0x10,%esp
   1174d:	8b 03                	mov    (%ebx),%eax
   1174f:	31 d2                	xor    %edx,%edx
   11751:	89 70 18             	mov    %esi,0x18(%eax)
   11754:	8b 03                	mov    (%ebx),%eax
   11756:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1175d:	8b 0b                	mov    (%ebx),%ecx
   1175f:	ff 15 00 02 02 00    	call   *0x20200
   11765:	83 ec 0c             	sub    $0xc,%esp
   11768:	53                   	push   %ebx
   11769:	e8 c2 92 00 00       	call   1aa30 <_VfatFreeIrpContext>
   1176e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   11771:	89 f0                	mov    %esi,%eax
   11773:	5b                   	pop    %ebx
   11774:	5e                   	pop    %esi
   11775:	5d                   	pop    %ebp
   11776:	c3                   	ret    
   11777:	90                   	nop    
   11778:	90                   	nop    
   11779:	90                   	nop    
   1177a:	90                   	nop    
   1177b:	90                   	nop    
   1177c:	90                   	nop    
   1177d:	90                   	nop    
   1177e:	90                   	nop    
   1177f:	90                   	nop    

00011780 <_vfat8Dot3ToString>:
   11780:	55                   	push   %ebp
   11781:	89 e5                	mov    %esp,%ebp
   11783:	57                   	push   %edi
   11784:	56                   	push   %esi
   11785:	53                   	push   %ebx
   11786:	83 ec 2c             	sub    $0x2c,%esp
   11789:	8b 7d 08             	mov    0x8(%ebp),%edi
   1178c:	8b 75 0c             	mov    0xc(%ebp),%esi
   1178f:	8b 07                	mov    (%edi),%eax
   11791:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   11794:	8b 47 04             	mov    0x4(%edi),%eax
   11797:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   1179a:	66 8b 47 08          	mov    0x8(%edi),%ax
   1179e:	66 89 45 e0          	mov    %ax,0xffffffe0(%ebp)
   117a2:	8a 47 0a             	mov    0xa(%edi),%al
   117a5:	c6 45 e3 00          	movb   $0x0,0xffffffe3(%ebp)
   117a9:	88 45 e2             	mov    %al,0xffffffe2(%ebp)
   117ac:	80 7d d8 05          	cmpb   $0x5,0xffffffd8(%ebp)
   117b0:	0f 84 48 01 00 00    	je     118fe <_vfat8Dot3ToString+0x17e>
   117b6:	31 c9                	xor    %ecx,%ecx
   117b8:	8d 55 d8             	lea    0xffffffd8(%ebp),%edx
   117bb:	80 7d d8 20          	cmpb   $0x20,0xffffffd8(%ebp)
   117bf:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
   117c2:	66 c7 45 d0 00 00    	movw   $0x0,0xffffffd0(%ebp)
   117c8:	eb 1e                	jmp    117e8 <_vfat8Dot3ToString+0x68>
   117ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   117d0:	8d 41 01             	lea    0x1(%ecx),%eax
   117d3:	66 89 45 d0          	mov    %ax,0xffffffd0(%ebp)
   117d7:	89 c1                	mov    %eax,%ecx
   117d9:	66 83 f8 07          	cmp    $0x7,%ax
   117dd:	77 0b                	ja     117ea <_vfat8Dot3ToString+0x6a>
   117df:	25 ff ff 00 00       	and    $0xffff,%eax
   117e4:	80 3c 10 20          	cmpb   $0x20,(%eax,%edx,1)
   117e8:	75 e6                	jne    117d0 <_vfat8Dot3ToString+0x50>
   117ea:	66 89 4d d2          	mov    %cx,0xffffffd2(%ebp)
   117ee:	50                   	push   %eax
   117ef:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   117f2:	6a 00                	push   $0x0
   117f4:	50                   	push   %eax
   117f5:	56                   	push   %esi
   117f6:	e8 55 ae 00 00       	call   1c650 <_RtlOemStringToUnicodeString@12>
   117fb:	f6 47 0c 08          	testb  $0x8,0xc(%edi)
   117ff:	58                   	pop    %eax
   11800:	0f 85 c7 00 00 00    	jne    118cd <_vfat8Dot3ToString+0x14d>
   11806:	80 7d e0 20          	cmpb   $0x20,0xffffffe0(%ebp)
   1180a:	0f 84 d2 00 00 00    	je     118e2 <_vfat8Dot3ToString+0x162>
   11810:	66 8b 1e             	mov    (%esi),%bx
   11813:	8b 56 04             	mov    0x4(%esi),%edx
   11816:	89 d8                	mov    %ebx,%eax
   11818:	66 d1 e8             	shr    %ax
   1181b:	25 ff ff 00 00       	and    $0xffff,%eax
   11820:	8d 14 42             	lea    (%edx,%eax,2),%edx
   11823:	31 c0                	xor    %eax,%eax
   11825:	89 56 04             	mov    %edx,0x4(%esi)
   11828:	8a 47 0b             	mov    0xb(%edi),%al
   1182b:	83 e0 1f             	and    $0x1f,%eax
   1182e:	83 f8 08             	cmp    $0x8,%eax
   11831:	74 11                	je     11844 <_vfat8Dot3ToString+0xc4>
   11833:	66 c7 02 2e 00       	movw   $0x2e,(%edx)
   11838:	83 c3 02             	add    $0x2,%ebx
   1183b:	8b 46 04             	mov    0x4(%esi),%eax
   1183e:	83 c0 02             	add    $0x2,%eax
   11841:	89 46 04             	mov    %eax,0x4(%esi)
   11844:	66 29 5e 02          	sub    %bx,0x2(%esi)
   11848:	66 c7 06 00 00       	movw   $0x0,(%esi)
   1184d:	31 c9                	xor    %ecx,%ecx
   1184f:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   11852:	80 7d e0 20          	cmpb   $0x20,0xffffffe0(%ebp)
   11856:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   11859:	66 c7 45 d0 00 00    	movw   $0x0,0xffffffd0(%ebp)
   1185f:	eb 1e                	jmp    1187f <_vfat8Dot3ToString+0xff>
   11861:	8d 41 01             	lea    0x1(%ecx),%eax
   11864:	66 89 45 d0          	mov    %ax,0xffffffd0(%ebp)
   11868:	89 c1                	mov    %eax,%ecx
   1186a:	66 83 f8 02          	cmp    $0x2,%ax
   1186e:	77 11                	ja     11881 <_vfat8Dot3ToString+0x101>
   11870:	89 c2                	mov    %eax,%edx
   11872:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11875:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1187b:	80 3c 02 20          	cmpb   $0x20,(%edx,%eax,1)
   1187f:	75 e0                	jne    11861 <_vfat8Dot3ToString+0xe1>
   11881:	66 89 4d d2          	mov    %cx,0xffffffd2(%ebp)
   11885:	50                   	push   %eax
   11886:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   11889:	6a 00                	push   $0x0
   1188b:	50                   	push   %eax
   1188c:	56                   	push   %esi
   1188d:	e8 be ad 00 00       	call   1c650 <_RtlOemStringToUnicodeString@12>
   11892:	f6 47 0c 10          	testb  $0x10,0xc(%edi)
   11896:	59                   	pop    %ecx
   11897:	75 6e                	jne    11907 <_vfat8Dot3ToString+0x187>
   11899:	89 d8                	mov    %ebx,%eax
   1189b:	8b 56 04             	mov    0x4(%esi),%edx
   1189e:	66 01 1e             	add    %bx,(%esi)
   118a1:	66 d1 e8             	shr    %ax
   118a4:	66 01 5e 02          	add    %bx,0x2(%esi)
   118a8:	25 ff ff 00 00       	and    $0xffff,%eax
   118ad:	01 c0                	add    %eax,%eax
   118af:	29 c2                	sub    %eax,%edx
   118b1:	66 8b 06             	mov    (%esi),%ax
   118b4:	66 d1 e8             	shr    %ax
   118b7:	89 56 04             	mov    %edx,0x4(%esi)
   118ba:	25 ff ff 00 00       	and    $0xffff,%eax
   118bf:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   118c5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   118c8:	5b                   	pop    %ebx
   118c9:	5e                   	pop    %esi
   118ca:	5f                   	pop    %edi
   118cb:	5d                   	pop    %ebp
   118cc:	c3                   	ret    
   118cd:	50                   	push   %eax
   118ce:	6a 00                	push   $0x0
   118d0:	56                   	push   %esi
   118d1:	56                   	push   %esi
   118d2:	e8 89 ad 00 00       	call   1c660 <_RtlDowncaseUnicodeString@12>
   118d7:	80 7d e0 20          	cmpb   $0x20,0xffffffe0(%ebp)
   118db:	58                   	pop    %eax
   118dc:	0f 85 2e ff ff ff    	jne    11810 <_vfat8Dot3ToString+0x90>
   118e2:	66 8b 06             	mov    (%esi),%ax
   118e5:	8b 56 04             	mov    0x4(%esi),%edx
   118e8:	66 d1 e8             	shr    %ax
   118eb:	25 ff ff 00 00       	and    $0xffff,%eax
   118f0:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   118f6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   118f9:	5b                   	pop    %ebx
   118fa:	5e                   	pop    %esi
   118fb:	5f                   	pop    %edi
   118fc:	5d                   	pop    %ebp
   118fd:	c3                   	ret    
   118fe:	c6 45 d8 e5          	movb   $0xe5,0xffffffd8(%ebp)
   11902:	e9 af fe ff ff       	jmp    117b6 <_vfat8Dot3ToString+0x36>
   11907:	52                   	push   %edx
   11908:	6a 00                	push   $0x0
   1190a:	56                   	push   %esi
   1190b:	56                   	push   %esi
   1190c:	e8 4f ad 00 00       	call   1c660 <_RtlDowncaseUnicodeString@12>
   11911:	58                   	pop    %eax
   11912:	eb 85                	jmp    11899 <_vfat8Dot3ToString+0x119>
   11914:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   1191a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00011920 <_ReadVolumeLabel>:
   11920:	55                   	push   %ebp
   11921:	89 e5                	mov    %esp,%ebp
   11923:	57                   	push   %edi
   11924:	56                   	push   %esi
   11925:	53                   	push   %ebx
   11926:	83 ec 2c             	sub    $0x2c,%esp
   11929:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   11930:	8b 45 0c             	mov    0xc(%ebp),%eax
   11933:	66 c7 45 e8 00 00    	movw   $0x0,0xffffffe8(%ebp)
   11939:	83 c0 18             	add    $0x18,%eax
   1193c:	66 c7 45 ea 40 00    	movw   $0x40,0xffffffea(%ebp)
   11942:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   11945:	8b 45 0c             	mov    0xc(%ebp),%eax
   11948:	31 db                	xor    %ebx,%ebx
   1194a:	be 40 00 00 00       	mov    $0x40,%esi
   1194f:	66 c7 40 18 00 00    	movw   $0x0,0x18(%eax)
   11955:	66 c7 40 06 00 00    	movw   $0x0,0x6(%eax)
   1195b:	8b 55 08             	mov    0x8(%ebp),%edx
   1195e:	c7 45 c8 40 00 00 00 	movl   $0x40,0xffffffc8(%ebp)
   11965:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   1196c:	75 0b                	jne    11979 <_ReadVolumeLabel+0x59>
   1196e:	c7 45 c8 20 00 00 00 	movl   $0x20,0xffffffc8(%ebp)
   11975:	66 be 80 00          	mov    $0x80,%si
   11979:	50                   	push   %eax
   1197a:	50                   	push   %eax
   1197b:	8b 45 08             	mov    0x8(%ebp),%eax
   1197e:	6a 01                	push   $0x1
   11980:	50                   	push   %eax
   11981:	ff 15 3c 02 02 00    	call   *0x2023c
   11987:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1198a:	57                   	push   %edi
   1198b:	51                   	push   %ecx
   1198c:	e8 4f 55 00 00       	call   16ee0 <_vfatOpenRootFCB>
   11991:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11994:	8d 7d e4             	lea    0xffffffe4(%ebp),%edi
   11997:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   1199a:	ff 15 e8 01 02 00    	call   *0x201e8
   119a0:	58                   	pop    %eax
   119a1:	5a                   	pop    %edx
   119a2:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   119a5:	57                   	push   %edi
   119a6:	8d 55 d8             	lea    0xffffffd8(%ebp),%edx
   119a9:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   119ac:	50                   	push   %eax
   119ad:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   119b4:	6a 01                	push   $0x1
   119b6:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   119bd:	68 00 10 00 00       	push   $0x1000
   119c2:	52                   	push   %edx
   119c3:	8b bf 3c 01 00 00    	mov    0x13c(%edi),%edi
   119c9:	57                   	push   %edi
   119ca:	e8 a1 ac 00 00       	call   1c670 <_CcMapData@24>
   119cf:	5a                   	pop    %edx
   119d0:	84 c0                	test   %al,%al
   119d2:	59                   	pop    %ecx
   119d3:	0f 84 e3 00 00 00    	je     11abc <_ReadVolumeLabel+0x19c>
   119d9:	8b 45 08             	mov    0x8(%ebp),%eax
   119dc:	8b 88 cc 00 04 00    	mov    0x400cc(%eax),%ecx
   119e2:	f6 c1 04             	test   $0x4,%cl
   119e5:	0f 84 95 00 00 00    	je     11a80 <_ReadVolumeLabel+0x160>
   119eb:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   119ee:	31 c0                	xor    %eax,%eax
   119f0:	8a 42 01             	mov    0x1(%edx),%al
   119f3:	83 e0 1f             	and    $0x1f,%eax
   119f6:	83 f8 08             	cmp    $0x8,%eax
   119f9:	0f 84 95 00 00 00    	je     11a94 <_ReadVolumeLabel+0x174>
   119ff:	f6 c1 04             	test   $0x4,%cl
   11a02:	0f 84 e8 00 00 00    	je     11af0 <_ReadVolumeLabel+0x1d0>
   11a08:	80 3a ff             	cmpb   $0xff,(%edx)
   11a0b:	0f 84 a4 00 00 00    	je     11ab5 <_ReadVolumeLabel+0x195>
   11a11:	8b 7d c8             	mov    0xffffffc8(%ebp),%edi
   11a14:	43                   	inc    %ebx
   11a15:	8d 04 3a             	lea    (%edx,%edi,1),%eax
   11a18:	31 d2                	xor    %edx,%edx
   11a1a:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   11a1d:	89 d8                	mov    %ebx,%eax
   11a1f:	f7 f6                	div    %esi
   11a21:	85 d2                	test   %edx,%edx
   11a23:	75 bd                	jne    119e2 <_ReadVolumeLabel+0xc2>
   11a25:	83 ec 0c             	sub    $0xc,%esp
   11a28:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   11a2b:	50                   	push   %eax
   11a2c:	e8 4f ac 00 00       	call   1c680 <_CcUnpinData@4>
   11a31:	8b 7d d8             	mov    0xffffffd8(%ebp),%edi
   11a34:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
   11a37:	81 c7 00 10 00 00    	add    $0x1000,%edi
   11a3d:	89 04 24             	mov    %eax,(%esp)
   11a40:	89 7d d8             	mov    %edi,0xffffffd8(%ebp)
   11a43:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
   11a46:	8d 7d d8             	lea    0xffffffd8(%ebp),%edi
   11a49:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   11a4c:	52                   	push   %edx
   11a4d:	6a 01                	push   $0x1
   11a4f:	68 00 10 00 00       	push   $0x1000
   11a54:	57                   	push   %edi
   11a55:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
   11a5b:	51                   	push   %ecx
   11a5c:	e8 0f ac 00 00       	call   1c670 <_CcMapData@24>
   11a61:	5f                   	pop    %edi
   11a62:	84 c0                	test   %al,%al
   11a64:	5a                   	pop    %edx
   11a65:	0f 84 c0 00 00 00    	je     11b2b <_ReadVolumeLabel+0x20b>
   11a6b:	8b 55 08             	mov    0x8(%ebp),%edx
   11a6e:	8b 8a cc 00 04 00    	mov    0x400cc(%edx),%ecx
   11a74:	f6 c1 04             	test   $0x4,%cl
   11a77:	0f 85 6e ff ff ff    	jne    119eb <_ReadVolumeLabel+0xcb>
   11a7d:	8d 76 00             	lea    0x0(%esi),%esi
   11a80:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   11a83:	31 c0                	xor    %eax,%eax
   11a85:	8a 42 0b             	mov    0xb(%edx),%al
   11a88:	83 e0 1f             	and    $0x1f,%eax
   11a8b:	83 f8 08             	cmp    $0x8,%eax
   11a8e:	0f 85 6b ff ff ff    	jne    119ff <_ReadVolumeLabel+0xdf>
   11a94:	83 e1 04             	and    $0x4,%ecx
   11a97:	75 6d                	jne    11b06 <_ReadVolumeLabel+0x1e6>
   11a99:	50                   	push   %eax
   11a9a:	50                   	push   %eax
   11a9b:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   11a9e:	50                   	push   %eax
   11a9f:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   11aa2:	50                   	push   %eax
   11aa3:	e8 d8 fc ff ff       	call   11780 <_vfat8Dot3ToString>
   11aa8:	83 c4 10             	add    $0x10,%esp
   11aab:	8b 55 0c             	mov    0xc(%ebp),%edx
   11aae:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   11ab1:	66 89 42 06          	mov    %ax,0x6(%edx)
   11ab5:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   11ab8:	85 c0                	test   %eax,%eax
   11aba:	75 3c                	jne    11af8 <_ReadVolumeLabel+0x1d8>
   11abc:	8b 5d 08             	mov    0x8(%ebp),%ebx
   11abf:	56                   	push   %esi
   11ac0:	56                   	push   %esi
   11ac1:	6a 01                	push   $0x1
   11ac3:	53                   	push   %ebx
   11ac4:	ff 15 3c 02 02 00    	call   *0x2023c
   11aca:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   11acd:	8b 55 08             	mov    0x8(%ebp),%edx
   11ad0:	51                   	push   %ecx
   11ad1:	52                   	push   %edx
   11ad2:	e8 89 4e 00 00       	call   16960 <_vfatReleaseFCB>
   11ad7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11ada:	ff 15 e8 01 02 00    	call   *0x201e8
   11ae0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11ae3:	31 c0                	xor    %eax,%eax
   11ae5:	5b                   	pop    %ebx
   11ae6:	5e                   	pop    %esi
   11ae7:	5f                   	pop    %edi
   11ae8:	5d                   	pop    %ebp
   11ae9:	c3                   	ret    
   11aea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11af0:	80 3a 00             	cmpb   $0x0,(%edx)
   11af3:	e9 13 ff ff ff       	jmp    11a0b <_ReadVolumeLabel+0xeb>
   11af8:	83 ec 0c             	sub    $0xc,%esp
   11afb:	50                   	push   %eax
   11afc:	e8 7f ab 00 00       	call   1c680 <_CcUnpinData@4>
   11b01:	83 c4 0c             	add    $0xc,%esp
   11b04:	eb b6                	jmp    11abc <_ReadVolumeLabel+0x19c>
   11b06:	8d 42 02             	lea    0x2(%edx),%eax
   11b09:	8d 7d e8             	lea    0xffffffe8(%ebp),%edi
   11b0c:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   11b0f:	31 c0                	xor    %eax,%eax
   11b11:	8a 02                	mov    (%edx),%al
   11b13:	66 89 45 d0          	mov    %ax,0xffffffd0(%ebp)
   11b17:	66 89 45 d2          	mov    %ax,0xffffffd2(%ebp)
   11b1b:	50                   	push   %eax
   11b1c:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   11b1f:	6a 00                	push   $0x0
   11b21:	50                   	push   %eax
   11b22:	57                   	push   %edi
   11b23:	e8 28 ab 00 00       	call   1c650 <_RtlOemStringToUnicodeString@12>
   11b28:	58                   	pop    %eax
   11b29:	eb 80                	jmp    11aab <_ReadVolumeLabel+0x18b>
   11b2b:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   11b32:	eb 81                	jmp    11ab5 <_ReadVolumeLabel+0x195>
   11b34:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11b3a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00011b40 <_FindFile>:
   11b40:	55                   	push   %ebp
   11b41:	89 e5                	mov    %esp,%ebp
   11b43:	57                   	push   %edi
   11b44:	56                   	push   %esi
   11b45:	53                   	push   %ebx
   11b46:	83 ec 34             	sub    $0x34,%esp
   11b49:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   11b50:	8b 5d 14             	mov    0x14(%ebp),%ebx
   11b53:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
   11b57:	68 02 02 00 00       	push   $0x202
   11b5c:	6a 00                	push   $0x0
   11b5e:	ff 15 44 02 02 00    	call   *0x20244
   11b64:	85 c0                	test   %eax,%eax
   11b66:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   11b69:	5e                   	pop    %esi
   11b6a:	5a                   	pop    %edx
   11b6b:	0f 84 9f 03 00 00    	je     11f10 <_FindFile+0x3d0>
   11b71:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11b74:	66 c7 45 e8 00 00    	movw   $0x0,0xffffffe8(%ebp)
   11b7a:	83 ec 0c             	sub    $0xc,%esp
   11b7d:	66 c7 43 48 00 00    	movw   $0x0,0x48(%ebx)
   11b83:	66 c7 43 50 00 00    	movw   $0x0,0x50(%ebx)
   11b89:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   11b8c:	66 c7 45 ea 00 02    	movw   $0x200,0xffffffea(%ebp)
   11b92:	8b 55 10             	mov    0x10(%ebp),%edx
   11b95:	52                   	push   %edx
   11b96:	e8 05 ab 00 00       	call   1c6a0 <_FsRtlDoesNameContainWildCards@4>
   11b9b:	83 c4 0c             	add    $0xc,%esp
   11b9e:	84 c0                	test   %al,%al
   11ba0:	88 45 cf             	mov    %al,0xffffffcf(%ebp)
   11ba3:	0f 85 12 01 00 00    	jne    11cbb <_FindFile+0x17b>
   11ba9:	50                   	push   %eax
   11baa:	50                   	push   %eax
   11bab:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   11bae:	8b 45 0c             	mov    0xc(%ebp),%eax
   11bb1:	05 00 01 00 00       	add    $0x100,%eax
   11bb6:	50                   	push   %eax
   11bb7:	52                   	push   %edx
   11bb8:	ff 15 14 03 02 00    	call   *0x20314
   11bbe:	50                   	push   %eax
   11bbf:	8b 45 0c             	mov    0xc(%ebp),%eax
   11bc2:	50                   	push   %eax
   11bc3:	e8 68 4d 00 00       	call   16930 <_vfatFCBIsRoot>
   11bc8:	83 c4 10             	add    $0x10,%esp
   11bcb:	84 c0                	test   %al,%al
   11bcd:	75 19                	jne    11be8 <_FindFile+0xa8>
   11bcf:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   11bd2:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   11bd5:	66 d1 e8             	shr    %ax
   11bd8:	25 ff ff 00 00       	and    $0xffff,%eax
   11bdd:	66 c7 04 42 5c 00    	movw   $0x5c,(%edx,%eax,2)
   11be3:	66 83 45 e8 02       	addw   $0x2,0xffffffe8(%ebp)
   11be8:	50                   	push   %eax
   11be9:	50                   	push   %eax
   11bea:	8b 45 10             	mov    0x10(%ebp),%eax
   11bed:	50                   	push   %eax
   11bee:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   11bf1:	50                   	push   %eax
   11bf2:	ff 15 08 03 02 00    	call   *0x20308
   11bf8:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   11bfb:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   11bfe:	66 d1 e8             	shr    %ax
   11c01:	25 ff ff 00 00       	and    $0xffff,%eax
   11c06:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   11c0c:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   11c0f:	52                   	push   %edx
   11c10:	8b 45 08             	mov    0x8(%ebp),%eax
   11c13:	50                   	push   %eax
   11c14:	e8 47 4f 00 00       	call   16b60 <_vfatGrabFCBFromTable>
   11c19:	83 c4 10             	add    $0x10,%esp
   11c1c:	85 c0                	test   %eax,%eax
   11c1e:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
   11c21:	0f 84 94 00 00 00    	je     11cbb <_FindFile+0x17b>
   11c27:	8b b0 44 01 00 00    	mov    0x144(%eax),%esi
   11c2d:	f6 80 38 01 00 00 40 	testb  $0x40,0x138(%eax)
   11c34:	0f 85 8d 02 00 00    	jne    11ec7 <_FindFile+0x387>
   11c3a:	39 73 04             	cmp    %esi,0x4(%ebx)
   11c3d:	0f 87 86 01 00 00    	ja     11dc9 <_FindFile+0x289>
   11c43:	56                   	push   %esi
   11c44:	56                   	push   %esi
   11c45:	8d 7b 08             	lea    0x8(%ebx),%edi
   11c48:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   11c4b:	05 e8 00 00 00       	add    $0xe8,%eax
   11c50:	50                   	push   %eax
   11c51:	8d 43 48             	lea    0x48(%ebx),%eax
   11c54:	50                   	push   %eax
   11c55:	ff 15 14 03 02 00    	call   *0x20314
   11c5b:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   11c5e:	05 f0 00 00 00       	add    $0xf0,%eax
   11c63:	50                   	push   %eax
   11c64:	8d 43 50             	lea    0x50(%ebx),%eax
   11c67:	50                   	push   %eax
   11c68:	ff 15 14 03 02 00    	call   *0x20314
   11c6e:	8b 75 d0             	mov    0xffffffd0(%ebp),%esi
   11c71:	b9 10 00 00 00       	mov    $0x10,%ecx
   11c76:	fc                   	cld    
   11c77:	81 c6 a4 00 00 00    	add    $0xa4,%esi
   11c7d:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   11c7f:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
   11c82:	31 f6                	xor    %esi,%esi
   11c84:	8b 82 44 01 00 00    	mov    0x144(%edx),%eax
   11c8a:	89 03                	mov    %eax,(%ebx)
   11c8c:	8b 82 40 01 00 00    	mov    0x140(%edx),%eax
   11c92:	89 43 04             	mov    %eax,0x4(%ebx)
   11c95:	5a                   	pop    %edx
   11c96:	59                   	pop    %ecx
   11c97:	50                   	push   %eax
   11c98:	50                   	push   %eax
   11c99:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   11c9c:	50                   	push   %eax
   11c9d:	8b 45 08             	mov    0x8(%ebp),%eax
   11ca0:	50                   	push   %eax
   11ca1:	e8 ba 4c 00 00       	call   16960 <_vfatReleaseFCB>
   11ca6:	58                   	pop    %eax
   11ca7:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   11caa:	52                   	push   %edx
   11cab:	ff 15 4c 02 02 00    	call   *0x2024c
   11cb1:	89 f0                	mov    %esi,%eax
   11cb3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11cb6:	5b                   	pop    %ebx
   11cb7:	5e                   	pop    %esi
   11cb8:	5f                   	pop    %edi
   11cb9:	5d                   	pop    %ebp
   11cba:	c3                   	ret    
   11cbb:	50                   	push   %eax
   11cbc:	6a 01                	push   $0x1
   11cbe:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   11cc1:	8b 75 10             	mov    0x10(%ebp),%esi
   11cc4:	56                   	push   %esi
   11cc5:	50                   	push   %eax
   11cc6:	ff 15 40 03 02 00    	call   *0x20340
   11ccc:	89 c6                	mov    %eax,%esi
   11cce:	59                   	pop    %ecx
   11ccf:	85 c0                	test   %eax,%eax
   11cd1:	79 55                	jns    11d28 <_FindFile+0x1e8>
   11cd3:	e9 30 02 00 00       	jmp    11f08 <_FindFile+0x3c8>
   11cd8:	31 c0                	xor    %eax,%eax
   11cda:	8a 43 09             	mov    0x9(%ebx),%al
   11cdd:	83 e0 1f             	and    $0x1f,%eax
   11ce0:	83 f8 08             	cmp    $0x8,%eax
   11ce3:	74 3c                	je     11d21 <_FindFile+0x1e1>
   11ce5:	80 7d cf 00          	cmpb   $0x0,0xffffffcf(%ebp)
   11ce9:	0f 84 84 00 00 00    	je     11d73 <_FindFile+0x233>
   11cef:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
   11cf2:	8d 73 48             	lea    0x48(%ebx),%esi
   11cf5:	6a 00                	push   $0x0
   11cf7:	6a 01                	push   $0x1
   11cf9:	56                   	push   %esi
   11cfa:	52                   	push   %edx
   11cfb:	e8 f0 a9 00 00       	call   1c6f0 <_FsRtlIsNameInExpression@16>
   11d00:	84 c0                	test   %al,%al
   11d02:	0f 85 13 01 00 00    	jne    11e1b <_FindFile+0x2db>
   11d08:	8d 43 50             	lea    0x50(%ebx),%eax
   11d0b:	6a 00                	push   $0x0
   11d0d:	6a 01                	push   $0x1
   11d0f:	50                   	push   %eax
   11d10:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   11d13:	50                   	push   %eax
   11d14:	e8 d7 a9 00 00       	call   1c6f0 <_FsRtlIsNameInExpression@16>
   11d19:	84 c0                	test   %al,%al
   11d1b:	0f 85 fa 00 00 00    	jne    11e1b <_FindFile+0x2db>
   11d21:	8b 43 04             	mov    0x4(%ebx),%eax
   11d24:	40                   	inc    %eax
   11d25:	89 43 04             	mov    %eax,0x4(%ebx)
   11d28:	83 ec 0c             	sub    $0xc,%esp
   11d2b:	89 f8                	mov    %edi,%eax
   11d2d:	25 ff 00 00 00       	and    $0xff,%eax
   11d32:	8d 55 dc             	lea    0xffffffdc(%ebp),%edx
   11d35:	50                   	push   %eax
   11d36:	53                   	push   %ebx
   11d37:	8b 45 0c             	mov    0xc(%ebp),%eax
   11d3a:	31 ff                	xor    %edi,%edi
   11d3c:	50                   	push   %eax
   11d3d:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   11d40:	52                   	push   %edx
   11d41:	50                   	push   %eax
   11d42:	8b 55 08             	mov    0x8(%ebp),%edx
   11d45:	ff 92 e0 00 04 00    	call   *0x400e0(%edx)
   11d4b:	83 c4 20             	add    $0x20,%esp
   11d4e:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
   11d53:	0f 84 93 00 00 00    	je     11dec <_FindFile+0x2ac>
   11d59:	8b 45 08             	mov    0x8(%ebp),%eax
   11d5c:	f6 80 cc 00 04 00 04 	testb  $0x4,0x400cc(%eax)
   11d63:	0f 85 6f ff ff ff    	jne    11cd8 <_FindFile+0x198>
   11d69:	31 c0                	xor    %eax,%eax
   11d6b:	8a 43 13             	mov    0x13(%ebx),%al
   11d6e:	e9 6a ff ff ff       	jmp    11cdd <_FindFile+0x19d>
   11d73:	6a 00                	push   $0x0
   11d75:	6a 01                	push   $0x1
   11d77:	8b 45 10             	mov    0x10(%ebp),%eax
   11d7a:	8d 73 48             	lea    0x48(%ebx),%esi
   11d7d:	50                   	push   %eax
   11d7e:	56                   	push   %esi
   11d7f:	e8 7c a9 00 00       	call   1c700 <_FsRtlAreNamesEqual@16>
   11d84:	84 c0                	test   %al,%al
   11d86:	75 15                	jne    11d9d <_FindFile+0x25d>
   11d88:	6a 00                	push   $0x0
   11d8a:	6a 01                	push   $0x1
   11d8c:	8b 45 10             	mov    0x10(%ebp),%eax
   11d8f:	50                   	push   %eax
   11d90:	8d 43 50             	lea    0x50(%ebx),%eax
   11d93:	50                   	push   %eax
   11d94:	e8 67 a9 00 00       	call   1c700 <_FsRtlAreNamesEqual@16>
   11d99:	84 c0                	test   %al,%al
   11d9b:	74 84                	je     11d21 <_FindFile+0x1e1>
   11d9d:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   11da0:	85 c0                	test   %eax,%eax
   11da2:	0f 85 3e 01 00 00    	jne    11ee6 <_FindFile+0x3a6>
   11da8:	83 ec 0c             	sub    $0xc,%esp
   11dab:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
   11dae:	52                   	push   %edx
   11daf:	ff 15 20 03 02 00    	call   *0x20320
   11db5:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11db8:	50                   	push   %eax
   11db9:	ff 15 4c 02 02 00    	call   *0x2024c
   11dbf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11dc2:	31 c0                	xor    %eax,%eax
   11dc4:	5b                   	pop    %ebx
   11dc5:	5e                   	pop    %esi
   11dc6:	5f                   	pop    %edi
   11dc7:	5d                   	pop    %ebp
   11dc8:	c3                   	ret    
   11dc9:	50                   	push   %eax
   11dca:	68 fc 00 00 00       	push   $0xfc
   11dcf:	68 20 e0 01 00       	push   $0x1e020
   11dd4:	68 29 e0 01 00       	push   $0x1e029
   11dd9:	ff 15 38 02 02 00    	call   *0x20238
   11ddf:	be 01 00 00 c0       	mov    $0xc0000001,%esi
   11de4:	83 c4 10             	add    $0x10,%esp
   11de7:	e9 ab fe ff ff       	jmp    11c97 <_FindFile+0x157>
   11dec:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   11def:	85 c0                	test   %eax,%eax
   11df1:	0f 85 00 01 00 00    	jne    11ef7 <_FindFile+0x3b7>
   11df7:	83 ec 0c             	sub    $0xc,%esp
   11dfa:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   11dfd:	50                   	push   %eax
   11dfe:	ff 15 20 03 02 00    	call   *0x20320
   11e04:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   11e07:	50                   	push   %eax
   11e08:	ff 15 4c 02 02 00    	call   *0x2024c
   11e0e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   11e11:	b8 1a 00 00 80       	mov    $0x8000001a,%eax
   11e16:	5b                   	pop    %ebx
   11e17:	5e                   	pop    %esi
   11e18:	5f                   	pop    %edi
   11e19:	5d                   	pop    %ebp
   11e1a:	c3                   	ret    
   11e1b:	80 7d cf 00          	cmpb   $0x0,0xffffffcf(%ebp)
   11e1f:	0f 84 78 ff ff ff    	je     11d9d <_FindFile+0x25d>
   11e25:	50                   	push   %eax
   11e26:	50                   	push   %eax
   11e27:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   11e2a:	8b 45 0c             	mov    0xc(%ebp),%eax
   11e2d:	05 00 01 00 00       	add    $0x100,%eax
   11e32:	50                   	push   %eax
   11e33:	52                   	push   %edx
   11e34:	ff 15 14 03 02 00    	call   *0x20314
   11e3a:	50                   	push   %eax
   11e3b:	8b 45 0c             	mov    0xc(%ebp),%eax
   11e3e:	50                   	push   %eax
   11e3f:	e8 ec 4a 00 00       	call   16930 <_vfatFCBIsRoot>
   11e44:	83 c4 10             	add    $0x10,%esp
   11e47:	84 c0                	test   %al,%al
   11e49:	75 19                	jne    11e64 <_FindFile+0x324>
   11e4b:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   11e4e:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   11e51:	66 d1 e8             	shr    %ax
   11e54:	25 ff ff 00 00       	and    $0xffff,%eax
   11e59:	66 c7 04 42 5c 00    	movw   $0x5c,(%edx,%eax,2)
   11e5f:	66 83 45 e8 02       	addw   $0x2,0xffffffe8(%ebp)
   11e64:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   11e67:	57                   	push   %edi
   11e68:	57                   	push   %edi
   11e69:	56                   	push   %esi
   11e6a:	50                   	push   %eax
   11e6b:	ff 15 08 03 02 00    	call   *0x20308
   11e71:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   11e74:	66 d1 e8             	shr    %ax
   11e77:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   11e7a:	25 ff ff 00 00       	and    $0xffff,%eax
   11e7f:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   11e85:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   11e88:	50                   	push   %eax
   11e89:	8b 4d 08             	mov    0x8(%ebp),%ecx
   11e8c:	51                   	push   %ecx
   11e8d:	e8 ce 4c 00 00       	call   16b60 <_vfatGrabFCBFromTable>
   11e92:	83 c4 10             	add    $0x10,%esp
   11e95:	85 c0                	test   %eax,%eax
   11e97:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
   11e9a:	0f 84 fd fe ff ff    	je     11d9d <_FindFile+0x25d>
   11ea0:	89 c6                	mov    %eax,%esi
   11ea2:	8d 7b 08             	lea    0x8(%ebx),%edi
   11ea5:	fc                   	cld    
   11ea6:	81 c6 a4 00 00 00    	add    $0xa4,%esi
   11eac:	b9 10 00 00 00       	mov    $0x10,%ecx
   11eb1:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   11eb3:	52                   	push   %edx
   11eb4:	52                   	push   %edx
   11eb5:	50                   	push   %eax
   11eb6:	8b 45 08             	mov    0x8(%ebp),%eax
   11eb9:	50                   	push   %eax
   11eba:	e8 a1 4a 00 00       	call   16960 <_vfatReleaseFCB>
   11ebf:	83 c4 10             	add    $0x10,%esp
   11ec2:	e9 d6 fe ff ff       	jmp    11d9d <_FindFile+0x25d>
   11ec7:	83 ec 0c             	sub    $0xc,%esp
   11eca:	8b 7d 0c             	mov    0xc(%ebp),%edi
   11ecd:	57                   	push   %edi
   11ece:	e8 5d 4a 00 00       	call   16930 <_vfatFCBIsRoot>
   11ed3:	83 c4 10             	add    $0x10,%esp
   11ed6:	84 c0                	test   %al,%al
   11ed8:	0f 85 5c fd ff ff    	jne    11c3a <_FindFile+0xfa>
   11ede:	83 c6 02             	add    $0x2,%esi
   11ee1:	e9 54 fd ff ff       	jmp    11c3a <_FindFile+0xfa>
   11ee6:	83 ec 0c             	sub    $0xc,%esp
   11ee9:	50                   	push   %eax
   11eea:	e8 91 a7 00 00       	call   1c680 <_CcUnpinData@4>
   11eef:	83 c4 0c             	add    $0xc,%esp
   11ef2:	e9 b1 fe ff ff       	jmp    11da8 <_FindFile+0x268>
   11ef7:	83 ec 0c             	sub    $0xc,%esp
   11efa:	50                   	push   %eax
   11efb:	e8 80 a7 00 00       	call   1c680 <_CcUnpinData@4>
   11f00:	83 c4 0c             	add    $0xc,%esp
   11f03:	e9 ef fe ff ff       	jmp    11df7 <_FindFile+0x2b7>
   11f08:	83 ec 0c             	sub    $0xc,%esp
   11f0b:	e9 97 fd ff ff       	jmp    11ca7 <_FindFile+0x167>
   11f10:	51                   	push   %ecx
   11f11:	68 cf 00 00 00       	push   $0xcf
   11f16:	68 20 e0 01 00       	push   $0x1e020
   11f1b:	68 29 e0 01 00       	push   $0x1e029
   11f20:	ff 15 38 02 02 00    	call   *0x20238
   11f26:	83 c4 10             	add    $0x10,%esp
   11f29:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   11f2e:	e9 80 fd ff ff       	jmp    11cb3 <_FindFile+0x173>
   11f33:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   11f39:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00011f40 <_VfatOpenFile>:
   11f40:	55                   	push   %ebp
   11f41:	89 e5                	mov    %esp,%ebp
   11f43:	57                   	push   %edi
   11f44:	56                   	push   %esi
   11f45:	53                   	push   %ebx
   11f46:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
   11f4c:	8b 55 0c             	mov    0xc(%ebp),%edx
   11f4f:	8b 75 08             	mov    0x8(%ebp),%esi
   11f52:	8b 7d 10             	mov    0x10(%ebp),%edi
   11f55:	8b 42 20             	mov    0x20(%edx),%eax
   11f58:	85 c0                	test   %eax,%eax
   11f5a:	0f 84 e2 00 00 00    	je     12042 <_VfatOpenFile+0x102>
   11f60:	8b 40 0c             	mov    0xc(%eax),%eax
   11f63:	89 07                	mov    %eax,(%edi)
   11f65:	8b 90 28 01 00 00    	mov    0x128(%eax),%edx
   11f6b:	42                   	inc    %edx
   11f6c:	89 90 28 01 00 00    	mov    %edx,0x128(%eax)
   11f72:	80 be bc 00 04 00 00 	cmpb   $0x0,0x400bc(%esi)
   11f79:	0f 84 d6 00 00 00    	je     12055 <_VfatOpenFile+0x115>
   11f7f:	8b 07                	mov    (%edi),%eax
   11f81:	85 c0                	test   %eax,%eax
   11f83:	0f 85 07 01 00 00    	jne    12090 <_VfatOpenFile+0x150>
   11f89:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
   11f8f:	8d 9d d0 fd ff ff    	lea    0xfffffdd0(%ebp),%ebx
   11f95:	89 85 d4 fd ff ff    	mov    %eax,0xfffffdd4(%ebp)
   11f9b:	8b 45 0c             	mov    0xc(%ebp),%eax
   11f9e:	83 c0 30             	add    $0x30,%eax
   11fa1:	66 c7 85 d0 fd ff ff 	movw   $0x0,0xfffffdd0(%ebp)
   11fa8:	00 00 
   11faa:	66 c7 85 d2 fd ff ff 	movw   $0x208,0xfffffdd2(%ebp)
   11fb1:	08 02 
   11fb3:	51                   	push   %ecx
   11fb4:	51                   	push   %ecx
   11fb5:	50                   	push   %eax
   11fb6:	53                   	push   %ebx
   11fb7:	ff 15 14 03 02 00    	call   *0x20314
   11fbd:	8b 8d d0 fd ff ff    	mov    0xfffffdd0(%ebp),%ecx
   11fc3:	66 83 f9 02          	cmp    $0x2,%cx
   11fc7:	58                   	pop    %eax
   11fc8:	5a                   	pop    %edx
   11fc9:	76 1c                	jbe    11fe7 <_VfatOpenFile+0xa7>
   11fcb:	89 c8                	mov    %ecx,%eax
   11fcd:	8b 95 d4 fd ff ff    	mov    0xfffffdd4(%ebp),%edx
   11fd3:	66 d1 e8             	shr    %ax
   11fd6:	25 ff ff 00 00       	and    $0xffff,%eax
   11fdb:	66 83 7c 42 fe 5c    	cmpw   $0x5c,0xfffffffe(%edx,%eax,2)
   11fe1:	0f 84 cf 00 00 00    	je     120b6 <_VfatOpenFile+0x176>
   11fe7:	66 d1 e9             	shr    %cx
   11fea:	8b 53 04             	mov    0x4(%ebx),%edx
   11fed:	89 c8                	mov    %ecx,%eax
   11fef:	25 ff ff 00 00       	and    $0xffff,%eax
   11ff4:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   11ffa:	8d 85 cc fd ff ff    	lea    0xfffffdcc(%ebp),%eax
   12000:	53                   	push   %ebx
   12001:	50                   	push   %eax
   12002:	57                   	push   %edi
   12003:	56                   	push   %esi
   12004:	e8 47 54 00 00       	call   17450 <_vfatGetFCBForFile>
   12009:	83 c4 10             	add    $0x10,%esp
   1200c:	85 c0                	test   %eax,%eax
   1200e:	78 2a                	js     1203a <_VfatOpenFile+0xfa>
   12010:	8b 85 cc fd ff ff    	mov    0xfffffdcc(%ebp),%eax
   12016:	f6 80 38 01 00 00 02 	testb  $0x2,0x138(%eax)
   1201d:	0f 85 e3 00 00 00    	jne    12106 <_VfatOpenFile+0x1c6>
   12023:	8b 55 0c             	mov    0xc(%ebp),%edx
   12026:	51                   	push   %ecx
   12027:	52                   	push   %edx
   12028:	50                   	push   %eax
   12029:	56                   	push   %esi
   1202a:	e8 21 52 00 00       	call   17250 <_vfatAttachFCBToFileObject>
   1202f:	83 c4 10             	add    $0x10,%esp
   12032:	89 c3                	mov    %eax,%ebx
   12034:	85 c0                	test   %eax,%eax
   12036:	78 6a                	js     120a2 <_VfatOpenFile+0x162>
   12038:	89 d8                	mov    %ebx,%eax
   1203a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1203d:	5b                   	pop    %ebx
   1203e:	5e                   	pop    %esi
   1203f:	5f                   	pop    %edi
   12040:	5d                   	pop    %ebp
   12041:	c3                   	ret    
   12042:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
   12048:	80 be bc 00 04 00 00 	cmpb   $0x0,0x400bc(%esi)
   1204f:	0f 85 2a ff ff ff    	jne    11f7f <_VfatOpenFile+0x3f>
   12055:	50                   	push   %eax
   12056:	6a 00                	push   $0x0
   12058:	6a 00                	push   $0x0
   1205a:	6a 00                	push   $0x0
   1205c:	6a 00                	push   $0x0
   1205e:	6a 00                	push   $0x0
   12060:	68 00 48 07 00       	push   $0x74800
   12065:	8b 86 7c 00 04 00    	mov    0x4007c(%esi),%eax
   1206b:	50                   	push   %eax
   1206c:	e8 cf f3 ff ff       	call   11440 <_VfatBlockDeviceIoControl>
   12071:	83 c4 20             	add    $0x20,%esp
   12074:	89 c3                	mov    %eax,%ebx
   12076:	3d 16 00 00 80       	cmp    $0x80000016,%eax
   1207b:	74 4a                	je     120c7 <_VfatOpenFile+0x187>
   1207d:	85 db                	test   %ebx,%ebx
   1207f:	0f 89 fa fe ff ff    	jns    11f7f <_VfatOpenFile+0x3f>
   12085:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
   1208b:	eb ab                	jmp    12038 <_VfatOpenFile+0xf8>
   1208d:	8d 76 00             	lea    0x0(%esi),%esi
   12090:	8b 98 28 01 00 00    	mov    0x128(%eax),%ebx
   12096:	43                   	inc    %ebx
   12097:	89 98 28 01 00 00    	mov    %ebx,0x128(%eax)
   1209d:	e9 e7 fe ff ff       	jmp    11f89 <_VfatOpenFile+0x49>
   120a2:	8b 8d cc fd ff ff    	mov    0xfffffdcc(%ebp),%ecx
   120a8:	57                   	push   %edi
   120a9:	57                   	push   %edi
   120aa:	51                   	push   %ecx
   120ab:	56                   	push   %esi
   120ac:	e8 af 48 00 00       	call   16960 <_vfatReleaseFCB>
   120b1:	83 c4 10             	add    $0x10,%esp
   120b4:	eb 82                	jmp    12038 <_VfatOpenFile+0xf8>
   120b6:	8d 41 fe             	lea    0xfffffffe(%ecx),%eax
   120b9:	89 c1                	mov    %eax,%ecx
   120bb:	66 89 85 d0 fd ff ff 	mov    %ax,0xfffffdd0(%ebp)
   120c2:	e9 20 ff ff ff       	jmp    11fe7 <_VfatOpenFile+0xa7>
   120c7:	83 ec 10             	sub    $0x10,%esp
   120ca:	ff 15 e4 02 02 00    	call   *0x202e4
   120d0:	89 04 24             	mov    %eax,(%esp)
   120d3:	ff 15 b4 02 02 00    	call   *0x202b4
   120d9:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   120e0:	53                   	push   %ebx
   120e1:	ff 15 e4 02 02 00    	call   *0x202e4
   120e7:	89 04 24             	mov    %eax,(%esp)
   120ea:	e8 41 a6 00 00       	call   1c730 <_IoSetDeviceToVerify@8>
   120ef:	6a 00                	push   $0x0
   120f1:	8b 8e 7c 00 04 00    	mov    0x4007c(%esi),%ecx
   120f7:	51                   	push   %ecx
   120f8:	e8 43 a6 00 00       	call   1c740 <_IoVerifyVolume@8>
   120fd:	89 c3                	mov    %eax,%ebx
   120ff:	58                   	pop    %eax
   12100:	5a                   	pop    %edx
   12101:	e9 77 ff ff ff       	jmp    1207d <_VfatOpenFile+0x13d>
   12106:	53                   	push   %ebx
   12107:	53                   	push   %ebx
   12108:	50                   	push   %eax
   12109:	56                   	push   %esi
   1210a:	e8 51 48 00 00       	call   16960 <_vfatReleaseFCB>
   1210f:	b8 56 00 00 c0       	mov    $0xc0000056,%eax
   12114:	e9 21 ff ff ff       	jmp    1203a <_VfatOpenFile+0xfa>
   12119:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012120 <_VfatCreateFile>:
   12120:	55                   	push   %ebp
   12121:	89 e5                	mov    %esp,%ebp
   12123:	57                   	push   %edi
   12124:	56                   	push   %esi
   12125:	53                   	push   %ebx
   12126:	83 ec 4c             	sub    $0x4c,%esp
   12129:	c7 45 ac 00 00 00 00 	movl   $0x0,0xffffffac(%ebp)
   12130:	8b 45 0c             	mov    0xc(%ebp),%eax
   12133:	8b 40 60             	mov    0x60(%eax),%eax
   12136:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
   12139:	89 c7                	mov    %eax,%edi
   1213b:	8b 50 08             	mov    0x8(%eax),%edx
   1213e:	31 c0                	xor    %eax,%eax
   12140:	89 d1                	mov    %edx,%ecx
   12142:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
   12148:	89 4d b4             	mov    %ecx,0xffffffb4(%ebp)
   1214b:	89 d1                	mov    %edx,%ecx
   1214d:	8a 47 02             	mov    0x2(%edi),%al
   12150:	83 e1 01             	and    $0x1,%ecx
   12153:	d1 e8                	shr    %eax
   12155:	83 e0 01             	and    $0x1,%eax
   12158:	c1 ea 18             	shr    $0x18,%edx
   1215b:	88 45 b3             	mov    %al,0xffffffb3(%ebp)
   1215e:	8b 47 18             	mov    0x18(%edi),%eax
   12161:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
   12164:	8b 45 08             	mov    0x8(%ebp),%eax
   12167:	8b 40 28             	mov    0x28(%eax),%eax
   1216a:	89 55 b8             	mov    %edx,0xffffffb8(%ebp)
   1216d:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
   12170:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
   12175:	0f 94 c0             	sete   %al
   12178:	85 c8                	test   %ecx,%eax
   1217a:	0f 85 5b 01 00 00    	jne    122db <_VfatCreateFile+0x1bb>
   12180:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   12183:	66 8b 42 30          	mov    0x30(%edx),%ax
   12187:	66 85 c0             	test   %ax,%ax
   1218a:	0f 84 55 01 00 00    	je     122e5 <_VfatCreateFile+0x1c5>
   12190:	66 d1 e8             	shr    %ax
   12193:	8b 7d c0             	mov    0xffffffc0(%ebp),%edi
   12196:	25 ff ff 00 00       	and    $0xffff,%eax
   1219b:	8b 77 34             	mov    0x34(%edi),%esi
   1219e:	c6 45 b2 01          	movb   $0x1,0xffffffb2(%ebp)
   121a2:	8d 1c 46             	lea    (%esi,%eax,2),%ebx
   121a5:	89 d8                	mov    %ebx,%eax
   121a7:	8d 7b fe             	lea    0xfffffffe(%ebx),%edi
   121aa:	39 f0                	cmp    %esi,%eax
   121ac:	89 fb                	mov    %edi,%ebx
   121ae:	76 51                	jbe    12201 <_VfatCreateFile+0xe1>
   121b0:	66 8b 0b             	mov    (%ebx),%cx
   121b3:	66 83 f9 5c          	cmp    $0x5c,%cx
   121b7:	0f 84 d8 01 00 00    	je     12395 <_VfatCreateFile+0x275>
   121bd:	39 de                	cmp    %ebx,%esi
   121bf:	0f 84 d0 01 00 00    	je     12395 <_VfatCreateFile+0x275>
   121c5:	66 83 f9 2e          	cmp    $0x2e,%cx
   121c9:	0f 94 c0             	sete   %al
   121cc:	f7 d8                	neg    %eax
   121ce:	20 45 b2             	and    %al,0xffffffb2(%ebp)
   121d1:	66 83 f9 5c          	cmp    $0x5c,%cx
   121d5:	74 21                	je     121f8 <_VfatCreateFile+0xd8>
   121d7:	83 ec 0c             	sub    $0xc,%esp
   121da:	89 c8                	mov    %ecx,%eax
   121dc:	25 ff ff 00 00       	and    $0xffff,%eax
   121e1:	50                   	push   %eax
   121e2:	e8 39 80 00 00       	call   1a220 <_vfatIsLongIllegal>
   121e7:	83 c4 10             	add    $0x10,%esp
   121ea:	84 c0                	test   %al,%al
   121ec:	0f 85 fb 01 00 00    	jne    123ed <_VfatCreateFile+0x2cd>
   121f2:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   121f5:	8b 70 34             	mov    0x34(%eax),%esi
   121f8:	89 d8                	mov    %ebx,%eax
   121fa:	83 eb 02             	sub    $0x2,%ebx
   121fd:	39 f0                	cmp    %esi,%eax
   121ff:	77 af                	ja     121b0 <_VfatCreateFile+0x90>
   12201:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   12204:	56                   	push   %esi
   12205:	50                   	push   %eax
   12206:	8b 5d c0             	mov    0xffffffc0(%ebp),%ebx
   12209:	53                   	push   %ebx
   1220a:	8b 4d bc             	mov    0xffffffbc(%ebp),%ecx
   1220d:	51                   	push   %ecx
   1220e:	e8 2d fd ff ff       	call   11f40 <_VfatOpenFile>
   12213:	83 c4 10             	add    $0x10,%esp
   12216:	3d 3a 00 00 c0       	cmp    $0xc000003a,%eax
   1221b:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
   1221e:	0f 94 c2             	sete   %dl
   12221:	3d 0d 00 00 c0       	cmp    $0xc000000d,%eax
   12226:	0f 94 c0             	sete   %al
   12229:	09 d0                	or     %edx,%eax
   1222b:	a8 01                	test   $0x1,%al
   1222d:	0f 85 92 01 00 00    	jne    123c5 <_VfatCreateFile+0x2a5>
   12233:	81 7d ac 56 00 00 c0 	cmpl   $0xc0000056,0xffffffac(%ebp)
   1223a:	0f 84 85 01 00 00    	je     123c5 <_VfatCreateFile+0x2a5>
   12240:	8b 75 ac             	mov    0xffffffac(%ebp),%esi
   12243:	85 f6                	test   %esi,%esi
   12245:	0f 88 24 03 00 00    	js     1256f <_VfatCreateFile+0x44f>
   1224b:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1224e:	85 c0                	test   %eax,%eax
   12250:	0f 85 3b 02 00 00    	jne    12491 <_VfatCreateFile+0x371>
   12256:	83 7d b8 02          	cmpl   $0x2,0xffffffb8(%ebp)
   1225a:	0f 84 47 04 00 00    	je     126a7 <_VfatCreateFile+0x587>
   12260:	8b 4d c0             	mov    0xffffffc0(%ebp),%ecx
   12263:	8b 41 0c             	mov    0xc(%ecx),%eax
   12266:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   12269:	89 c2                	mov    %eax,%edx
   1226b:	8b b8 64 01 00 00    	mov    0x164(%eax),%edi
   12271:	85 ff                	test   %edi,%edi
   12273:	0f 85 40 02 00 00    	jne    124b9 <_VfatCreateFile+0x399>
   12279:	f6 45 b4 40          	testb  $0x40,0xffffffb4(%ebp)
   1227d:	74 0f                	je     1228e <_VfatCreateFile+0x16e>
   1227f:	8b 82 e4 00 00 00    	mov    0xe4(%edx),%eax
   12285:	f6 00 10             	testb  $0x10,(%eax)
   12288:	0f 85 55 04 00 00    	jne    126e3 <_VfatCreateFile+0x5c3>
   1228e:	f6 45 b4 01          	testb  $0x1,0xffffffb4(%ebp)
   12292:	74 0f                	je     122a3 <_VfatCreateFile+0x183>
   12294:	8b 82 e4 00 00 00    	mov    0xe4(%edx),%eax
   1229a:	f6 00 10             	testb  $0x10,(%eax)
   1229d:	0f 84 27 04 00 00    	je     126ca <_VfatCreateFile+0x5aa>
   122a3:	80 7d b3 00          	cmpb   $0x0,0xffffffb3(%ebp)
   122a7:	0f 84 4f 01 00 00    	je     123fc <_VfatCreateFile+0x2dc>
   122ad:	83 ba 28 01 00 00 01 	cmpl   $0x1,0x128(%edx)
   122b4:	0f 8e eb 01 00 00    	jle    124a5 <_VfatCreateFile+0x385>
   122ba:	f6 82 38 01 00 00 08 	testb  $0x8,0x138(%edx)
   122c1:	0f 85 42 01 00 00    	jne    12409 <_VfatCreateFile+0x2e9>
   122c7:	50                   	push   %eax
   122c8:	50                   	push   %eax
   122c9:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   122cc:	50                   	push   %eax
   122cd:	8b 7d bc             	mov    0xffffffbc(%ebp),%edi
   122d0:	57                   	push   %edi
   122d1:	e8 4a f3 ff ff       	call   11620 <_VfatCloseFile>
   122d6:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
   122db:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   122de:	89 d0                	mov    %edx,%eax
   122e0:	5b                   	pop    %ebx
   122e1:	5e                   	pop    %esi
   122e2:	5f                   	pop    %edi
   122e3:	5d                   	pop    %ebp
   122e4:	c3                   	ret    
   122e5:	8b 52 20             	mov    0x20(%edx),%edx
   122e8:	85 d2                	test   %edx,%edx
   122ea:	0f 85 a0 fe ff ff    	jne    12190 <_VfatCreateFile+0x70>
   122f0:	83 7d b8 02          	cmpl   $0x2,0xffffffb8(%ebp)
   122f4:	0f 94 c2             	sete   %dl
   122f7:	83 7d b8 05          	cmpl   $0x5,0xffffffb8(%ebp)
   122fb:	0f 94 c0             	sete   %al
   122fe:	09 d0                	or     %edx,%eax
   12300:	a8 01                	test   $0x1,%al
   12302:	0f 85 ae 00 00 00    	jne    123b6 <_VfatCreateFile+0x296>
   12308:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   1230b:	85 c0                	test   %eax,%eax
   1230d:	0f 84 a3 00 00 00    	je     123b6 <_VfatCreateFile+0x296>
   12313:	ba 03 01 00 c0       	mov    $0xc0000103,%edx
   12318:	85 c9                	test   %ecx,%ecx
   1231a:	75 bf                	jne    122db <_VfatCreateFile+0x1bb>
   1231c:	8b 4d bc             	mov    0xffffffbc(%ebp),%ecx
   1231f:	8b 81 d0 00 04 00    	mov    0x400d0(%ecx),%eax
   12325:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   12328:	8b 1d 10 f0 01 00    	mov    0x1f010,%ebx
   1232e:	81 c3 a0 00 00 00    	add    $0xa0,%ebx
	PVOID Entry;

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   12334:	89 d9                	mov    %ebx,%ecx
   12336:	8b 43 0c             	mov    0xc(%ebx),%eax
   12339:	40                   	inc    %eax
   1233a:	89 43 0c             	mov    %eax,0xc(%ebx)
   1233d:	ff 15 f4 01 02 00    	call   *0x201f4
   12343:	89 c6                	mov    %eax,%esi
	if (Entry == NULL) {
   12345:	85 c0                	test   %eax,%eax
   12347:	0f 84 17 03 00 00    	je     12664 <_VfatCreateFile+0x544>

  NameU.Buffer = Vpb->VolumeLabel;
  NameU.Length = 0;
  NameU.MaximumLength = sizeof(Vpb->VolumeLabel);
  *(Vpb->VolumeLabel) = 0;
  Vpb->VolumeLabelLength = 0;
  
  if (DeviceExt->Flags & VCB_IS_FATX)
  {
    SizeDirEntry = sizeof(FATX_DIR_ENTRY);
    EntriesPerPage = FATX_ENTRIES_PER_PAGE;
  }
  else
  {
    SizeDirEntry = sizeof(FAT_DIR_ENTRY);
    EntriesPerPage = FAT_ENTRIES_PER_PAGE;
  }

  ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE);
  pFcb = vfatOpenRootFCB (DeviceExt);
  ExReleaseResourceLite (&DeviceExt->DirResource);

  FileOffset.QuadPart = 0;
  if (CcMapData(pFcb->FileObject, &FileOffset, PAGE_SIZE, TRUE, &Context, (PVOID*)&Entry))
  {
     while (TRUE)
     {
       if (ENTRY_VOLUME(DeviceExt, Entry))
       {
          /* copy volume label */
          if (DeviceExt->Flags & VCB_IS_FATX)
          {
            StringO.Buffer = (PCHAR)Entry->FatX.Filename;
            StringO.MaximumLength = StringO.Length = Entry->FatX.FilenameLength;
            RtlOemStringToUnicodeString(&NameU, &StringO, FALSE);
          }
          else
          {
            vfat8Dot3ToString (&Entry->Fat, &NameU);
          }
          Vpb->VolumeLabelLength = NameU.Length;
          break;
       }
       if (ENTRY_END(DeviceExt, Entry))
       {
          break;
       }
       DirIndex++;       
       Entry = (PDIR_ENTRY)((ULONG_PTR)Entry + SizeDirEntry);
       if ((DirIndex % EntriesPerPage) == 0)
       {
	  CcUnpinData(Context);
	  FileOffset.u.LowPart += PAGE_SIZE;
	  if (!CcMapData(pFcb->FileObject, &FileOffset, PAGE_SIZE, TRUE, &Context, (PVOID*)&Entry))
	  {
	     Context = NULL;
	     break;
	  }
       }
     }
     if (Context)
     {
       CcUnpinData(Context);
     }
  }
  ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE);
  vfatReleaseFCB (DeviceExt, pFcb);
  ExReleaseResourceLite (&DeviceExt->DirResource);

  return STATUS_SUCCESS;
}

NTSTATUS
FindFile (PDEVICE_EXTENSION DeviceExt,
          PVFATFCB Parent,
          PUNICODE_STRING FileToFindU,
	  PVFAT_DIRENTRY_CONTEXT DirContext,
	  BOOLEAN First)
/*
 * FUNCTION: Find a file
 */
{
  PWCHAR PathNameBuffer;
  USHORT PathNameBufferLength;
  NTSTATUS Status;
  PVOID Context = NULL;
  PVOID Page;
  PVFATFCB rcFcb;
  BOOLEAN Found;
  UNICODE_STRING PathNameU;
  UNICODE_STRING FileToFindUpcase;
  BOOLEAN WildCard;

  DPRINT ("FindFile(Parent %x, FileToFind '%wZ', DirIndex: %d)\n", 
          Parent, FileToFindU, DirContext->DirIndex);
  DPRINT ("FindFile: Path %wZ)\n",&Parent->PathNameU);
  
  PathNameBufferLength = LONGNAME_MAX_LENGTH * sizeof(WCHAR);
  PathNameBuffer = ExAllocatePool(NonPagedPool, PathNameBufferLength + sizeof(WCHAR));
  if (!PathNameBuffer)
  {
    CHECKPOINT1;
    return STATUS_INSUFFICIENT_RESOURCES;
  }

  PathNameU.Buffer = PathNameBuffer;
  PathNameU.Length = 0;
  PathNameU.MaximumLength = PathNameBufferLength;

  DirContext->LongNameU.Length = 0;
  DirContext->ShortNameU.Length = 0;

  WildCard = FsRtlDoesNameContainWildCards(FileToFindU);

  if (WildCard == FALSE)
    {
      /* if there is no '*?' in the search name, than look first for an existing fcb */
      RtlCopyUnicodeString(&PathNameU, &Parent->PathNameU);
      if (!vfatFCBIsRoot(Parent))
        {
          PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = L'\\';
	  PathNameU.Length += sizeof(WCHAR);
        }
      RtlAppendUnicodeStringToString(&PathNameU, FileToFindU);
      PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = 0;
      rcFcb = vfatGrabFCBFromTable(DeviceExt, &PathNameU);
      if (rcFcb)
        {
	  ULONG startIndex = rcFcb->startIndex;
	  if ((rcFcb->Flags & FCB_IS_FATX_ENTRY) && !vfatFCBIsRoot(Parent))
	    {
	      startIndex += 2;
	    }
	  if(startIndex >= DirContext->DirIndex)
	    {
	      RtlCopyUnicodeString(&DirContext->LongNameU, &rcFcb->LongNameU);
	      RtlCopyUnicodeString(&DirContext->ShortNameU, &rcFcb->ShortNameU);
	      RtlCopyMemory(&DirContext->DirEntry, &rcFcb->entry, sizeof(DIR_ENTRY));
	      DirContext->StartIndex = rcFcb->startIndex;
	      DirContext->DirIndex = rcFcb->dirIndex;
              DPRINT("FindFile: new Name %wZ, DirIndex %d (%d)\n",
	             &DirContext->LongNameU, DirContext->DirIndex, DirContext->StartIndex);
	      Status = STATUS_SUCCESS;
	    }
          else
	    {
	      CHECKPOINT1;
	      Status = STATUS_UNSUCCESSFUL;
	    }
          vfatReleaseFCB(DeviceExt, rcFcb);
	  ExFreePool(PathNameBuffer);
	  return Status;
	}
    }

  /* FsRtlIsNameInExpression need the searched string to be upcase,
   * even if IgnoreCase is specified */
  Status = RtlUpcaseUnicodeString(&FileToFindUpcase, FileToFindU, TRUE);
  if (!NT_SUCCESS(Status))
  {
    CHECKPOINT;
    ExFreePool(PathNameBuffer);
    return Status;
  }
  
  while(TRUE)
    {
      Status = DeviceExt->GetNextDirEntry(&Context, &Page, Parent, DirContext, First);
      First = FALSE;
      if (Status == STATUS_NO_MORE_ENTRIES)
        {
	  break;
        }
      if (ENTRY_VOLUME(DeviceExt, &DirContext->DirEntry))
        {
          DirContext->DirIndex++;
          continue;
        }
      if (WildCard)
        {
          Found = FsRtlIsNameInExpression(&FileToFindUpcase, &DirContext->LongNameU, TRUE, NULL) ||
                  FsRtlIsNameInExpression(&FileToFindUpcase, &DirContext->ShortNameU, TRUE, NULL);
	}
      else
        {
          Found = FsRtlAreNamesEqual(&DirContext->LongNameU, FileToFindU, TRUE, NULL) ||
	          FsRtlAreNamesEqual(&DirContext->ShortNameU, FileToFindU, TRUE, NULL);
	}

      if (Found)
        {
	  if (WildCard)
	    {
              RtlCopyUnicodeString(&PathNameU, &Parent->PathNameU);
              if (!vfatFCBIsRoot(Parent))
                {
                  PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = L'\\';
	          PathNameU.Length += sizeof(WCHAR);
                }
              RtlAppendUnicodeStringToString(&PathNameU, &DirContext->LongNameU);
              PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = 0;
              rcFcb = vfatGrabFCBFromTable(DeviceExt, &PathNameU);
	      if (rcFcb != NULL)
	        {
	          RtlCopyMemory(&DirContext->DirEntry, &rcFcb->entry, sizeof(DIR_ENTRY));
                  vfatReleaseFCB(DeviceExt, rcFcb);
		}
	    }
          DPRINT("%d\n", DirContext->LongNameU.Length);
          DPRINT("FindFile: new Name %wZ, DirIndex %d\n",
	         &DirContext->LongNameU, DirContext->DirIndex);

          if (Context)
	    {
              CcUnpinData(Context);
	    }
          RtlFreeUnicodeString(&FileToFindUpcase);
          ExFreePool(PathNameBuffer);
          return STATUS_SUCCESS;
	}
      DirContext->DirIndex++;
    }

  if (Context)
    {
      CcUnpinData(Context);
    }

  RtlFreeUnicodeString(&FileToFindUpcase);
  ExFreePool(PathNameBuffer);
  return Status;
}

NTSTATUS
VfatOpenFile (PDEVICE_EXTENSION DeviceExt, PFILE_OBJECT FileObject, PVFATFCB* ParentFcb)
/*
 * FUNCTION: Opens a file
 */
{
  PVFATFCB Fcb;
  NTSTATUS Status;
  UNICODE_STRING PathNameU;
  WCHAR Buffer[260];

  DPRINT ("VfatOpenFile(%08lx, %08lx, '%wZ')\n", DeviceExt, FileObject, &FileObject->FileName);

  if (FileObject->RelatedFileObject)
    {
      DPRINT ("'%wZ'\n", &FileObject->RelatedFileObject->FileName);

      *ParentFcb = FileObject->RelatedFileObject->FsContext;
      (*ParentFcb)->RefCount++;
    }
  else
    {
      *ParentFcb = NULL;
    }

  if (!DeviceExt->FatInfo.FixedMedia)
    {
      Status = VfatBlockDeviceIoControl (DeviceExt->StorageDevice,
					 IOCTL_DISK_CHECK_VERIFY,
					 NULL,
					 0,
					 NULL,
					 0,
					 FALSE);

      if (Status == STATUS_VERIFY_REQUIRED) 

        {
          PDEVICE_OBJECT DeviceToVerify;

          DPRINT ("Media change detected!\n");
          DPRINT ("Device %p\n", DeviceExt->StorageDevice);

	  DeviceToVerify = IoGetDeviceToVerify (PsGetCurrentThread ());
	  
	  IoSetDeviceToVerify (PsGetCurrentThread (),
			       NULL);
          Status = IoVerifyVolume (DeviceExt->StorageDevice,
			           FALSE);
	}
      if (!NT_SUCCESS(Status))
	{
	  DPRINT ("Status %lx\n", Status);
	  *ParentFcb = NULL;
	  return Status;
	}
    }

  if (*ParentFcb)
  {
     (*ParentFcb)->RefCount++;
  }

  PathNameU.Buffer = Buffer;
  PathNameU.Length = 0;
  PathNameU.MaximumLength = sizeof(Buffer);
  RtlCopyUnicodeString(&PathNameU, &FileObject->FileName);
  if (PathNameU.Length > sizeof(WCHAR) &&
      PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR) - 1] == L'\\')
    {
      PathNameU.Length -= sizeof(WCHAR);
    }
  PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = 0;

  /*  try first to find an existing FCB in memory  */
  DPRINT ("Checking for existing FCB in memory\n");

  Status = vfatGetFCBForFile (DeviceExt, ParentFcb, &Fcb, &PathNameU);
  if (!NT_SUCCESS (Status))
  {
     DPRINT ("Could not make a new FCB, status: %x\n", Status);
     return  Status;
  }
  if (Fcb->Flags & FCB_DELETE_PENDING)
  {
     vfatReleaseFCB (DeviceExt, Fcb);
     return STATUS_DELETE_PENDING;
  }
  DPRINT ("Attaching FCB to fileObject\n");
  Status = vfatAttachFCBToFileObject (DeviceExt, Fcb, FileObject);
  if (!NT_SUCCESS(Status))
  {
     vfatReleaseFCB (DeviceExt, Fcb);
  }
  return  Status;
}

NTSTATUS
VfatCreateFile (PDEVICE_OBJECT DeviceObject, PIRP Irp)
/*
 * FUNCTION: Create or open a file
 */
{
  PIO_STACK_LOCATION Stack;
  PFILE_OBJECT FileObject;
  NTSTATUS Status = STATUS_SUCCESS;
  PDEVICE_EXTENSION DeviceExt;
  ULONG RequestedDisposition, RequestedOptions;
  PVFATCCB pCcb;
  PVFATFCB pFcb;
  PVFATFCB ParentFcb;
  PWCHAR c, last;
  BOOLEAN PagingFileCreate = FALSE;
  LARGE_INTEGER AllocationSize;
  BOOLEAN Dots;
  UNICODE_STRING FileNameU;
  
  /* Unpack the various parameters. */
  Stack = IoGetCurrentIrpStackLocation (Irp);
  RequestedDisposition = ((Stack->Parameters.Create.Options >> 24) & 0xff);
  RequestedOptions =
    Stack->Parameters.Create.Options & FILE_VALID_OPTION_FLAGS;
  PagingFileCreate = (Stack->Flags & SL_OPEN_PAGING_FILE) ? TRUE : FALSE;
  FileObject = Stack->FileObject;
  DeviceExt = DeviceObject->DeviceExtension;

  /* Check their validity. */
  if (RequestedOptions & FILE_DIRECTORY_FILE &&
      RequestedDisposition == FILE_SUPERSEDE)
    {
      return(STATUS_INVALID_PARAMETER);
    }

  /* This a open operation for the volume itself */
  if (FileObject->FileName.Length == 0 && 
      FileObject->RelatedFileObject == NULL)
    {      
      if (RequestedDisposition == FILE_CREATE ||
	  RequestedDisposition == FILE_OVERWRITE_IF ||
	  RequestedDisposition == FILE_SUPERSEDE)
	{
	  return(STATUS_ACCESS_DENIED);
	}
      if (RequestedOptions & FILE_DIRECTORY_FILE)
	{
	  return(STATUS_NOT_A_DIRECTORY);
	}
      pFcb = DeviceExt->VolumeFcb;
      pCcb = ExAllocateFromNPagedLookasideList(&VfatGlobalData->CcbLookasideList);
      if (pCcb == NULL)
	{
	  return (STATUS_INSUFFICIENT_RESOURCES);
	}
      RtlZeroMemory(pCcb, sizeof(VFATCCB));
   1234d:	fc                   	cld    
   1234e:	8b 45 ac             	mov    0xffffffac(%ebp),%eax
   12351:	89 f7                	mov    %esi,%edi
   12353:	b9 06 00 00 00       	mov    $0x6,%ecx
   12358:	f3 ab                	repz stos %eax,%es:(%edi)
      FileObject->SectionObjectPointer = &pFcb->SectionObjectPointers;
   1235a:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1235d:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   12360:	83 c0 28             	add    $0x28,%eax
   12363:	89 42 14             	mov    %eax,0x14(%edx)
      FileObject->FsContext = pFcb;
   12366:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
      FileObject->FsContext2 = pCcb;
   12369:	89 72 10             	mov    %esi,0x10(%edx)
   1236c:	89 42 0c             	mov    %eax,0xc(%edx)
      pFcb->RefCount++;

      Irp->IoStatus.Information = FILE_OPENED;
      return(STATUS_SUCCESS);
   1236f:	31 d2                	xor    %edx,%edx
   12371:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   12374:	8b b8 28 01 00 00    	mov    0x128(%eax),%edi
   1237a:	47                   	inc    %edi
   1237b:	89 b8 28 01 00 00    	mov    %edi,0x128(%eax)
    }

  /*
   * Check for illegal characters and illegale dot sequences in the file name
   */
  c = FileObject->FileName.Buffer + FileObject->FileName.Length / sizeof(WCHAR);
  last = c - 1;
  Dots = TRUE;
  while (c-- > FileObject->FileName.Buffer)
    {
      if (*c == L'\\' || c == FileObject->FileName.Buffer)
        {
	  if (Dots && last > c)
	    {
              return(STATUS_OBJECT_NAME_INVALID);
	    }
	  last = c - 1;
	  Dots = TRUE;
	}
      else if (*c != L'.')
        {
	  Dots = FALSE;
	}

      if (*c != '\\' && vfatIsLongIllegal(*c)) 
        {
          return(STATUS_OBJECT_NAME_INVALID);
	}
    }

  /* Try opening the file. */
  Status = VfatOpenFile (DeviceExt, FileObject, &ParentFcb);

  /*
   * If the directory containing the file to open doesn't exist then
   * fail immediately
   */
  if (Status == STATUS_OBJECT_PATH_NOT_FOUND ||
      Status == STATUS_INVALID_PARAMETER ||
      Status == STATUS_DELETE_PENDING)
    {
      if (ParentFcb)
      {
         vfatReleaseFCB (DeviceExt, ParentFcb);
      }
      return(Status);
    }

  /*
   * If the file open failed then create the required file
   */
  if (!NT_SUCCESS (Status))
    {
      if (RequestedDisposition == FILE_CREATE ||
	  RequestedDisposition == FILE_OPEN_IF ||
	  RequestedDisposition == FILE_OVERWRITE_IF ||
	  RequestedDisposition == FILE_SUPERSEDE)
	{
	  ULONG Attributes;
	  Attributes = Stack->Parameters.Create.FileAttributes;
          
          vfatSplitPathName(&FileObject->FileName, NULL, &FileNameU);
	  Status = VfatAddEntry (DeviceExt, &FileNameU, &pFcb, ParentFcb, RequestedOptions, 
				 (UCHAR)(Attributes & FILE_ATTRIBUTE_VALID_FLAGS));
          vfatReleaseFCB (DeviceExt, ParentFcb);
	  if (NT_SUCCESS (Status))
	    {
              vfatAttachFCBToFileObject (DeviceExt, pFcb, FileObject);
      
	      Irp->IoStatus.Information = FILE_CREATED;
        
	      VfatSetAllocationSizeInformation(FileObject, 
					       pFcb,
					       DeviceExt,
					       &Irp->Overlay.AllocationSize);
	      VfatSetExtendedAttributes(FileObject, 
					Irp->AssociatedIrp.SystemBuffer,
					Stack->Parameters.Create.EaLength);

	      if (PagingFileCreate)
                {
                  pFcb->Flags |= FCB_IS_PAGE_FILE;
                }
	    }
	  else
	    {
	      return(Status);
	    }
	}
      else
	{
          vfatReleaseFCB (DeviceExt, ParentFcb);
	  return(Status);
	}
    }
  else
    {
      if (ParentFcb)
      {
         vfatReleaseFCB (DeviceExt, ParentFcb);
      }
      /* Otherwise fail if the caller wanted to create a new file  */
      if (RequestedDisposition == FILE_CREATE)
	{
	  Irp->IoStatus.Information = FILE_EXISTS;
	  VfatCloseFile (DeviceExt, FileObject);
	  return(STATUS_OBJECT_NAME_COLLISION);
	}

      pFcb = FileObject->FsContext;

      if (pFcb->OpenHandleCount != 0)
        {
          Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                                      Stack->Parameters.Create.ShareAccess,
                                      FileObject,
                                      &pFcb->FCBShareAccess,
                                      FALSE);
          if (!NT_SUCCESS(Status)) 
            {
              VfatCloseFile (DeviceExt, FileObject);
              return(Status);
            }
        }

      /*
       * Check the file has the requested attributes
       */
      if (RequestedOptions & FILE_NON_DIRECTORY_FILE && 
	  *pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY)
	{
	  VfatCloseFile (DeviceExt, FileObject);
	  return(STATUS_FILE_IS_A_DIRECTORY);
	}
      if (RequestedOptions & FILE_DIRECTORY_FILE && 
	  !(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
	{
	  VfatCloseFile (DeviceExt, FileObject);
	  return(STATUS_NOT_A_DIRECTORY);
	}

      if (PagingFileCreate)
        {
	  /* FIXME:
	   *   Do more checking for page files. It is possible, 
	   *   that the file was opened and closed previously 
	   *   as a normal cached file. In this case, the cache 
	   *   manager has referenced the fileobject and the fcb 
	   *   is held in memory. Try to remove the fileobject 
	   *   from cache manager and use the fcb.
	   */
          if (pFcb->RefCount > 1)
	    {
	      if(!(pFcb->Flags & FCB_IS_PAGE_FILE))
	        {
	          VfatCloseFile(DeviceExt, FileObject);
	          return(STATUS_INVALID_PARAMETER);
		}
	    }
	  else
	    {
	      pFcb->Flags |= FCB_IS_PAGE_FILE;
	    }
	}
      else
        {
	  if (pFcb->Flags & FCB_IS_PAGE_FILE)
	    {
	      VfatCloseFile(DeviceExt, FileObject);
	      return(STATUS_INVALID_PARAMETER);
	    }
	}
        

      if (RequestedDisposition == FILE_OVERWRITE ||
          RequestedDisposition == FILE_OVERWRITE_IF)
	{
	  AllocationSize.QuadPart = 0;
	  Status = VfatSetAllocationSizeInformation (FileObject,
	                                             pFcb,
	                                             DeviceExt,
	                                             &AllocationSize);
	  if (!NT_SUCCESS (Status))
	    {
	      VfatCloseFile (DeviceExt, FileObject);
	      return(Status);
	    }
	}
	
      
      /* Supersede the file */
      if (RequestedDisposition == FILE_SUPERSEDE)
	{
	  LARGE_INTEGER AllocationSize;
	  AllocationSize.QuadPart = 0LL;
          VfatSetAllocationSizeInformation(FileObject, pFcb, DeviceExt, &AllocationSize);
	  Irp->IoStatus.Information = FILE_SUPERSEDED;
	}
      else if (RequestedDisposition == FILE_OVERWRITE || RequestedDisposition == FILE_OVERWRITE_IF)
        {
          Irp->IoStatus.Information = FILE_OVERWRITTEN;
        }
      else
        {
	  Irp->IoStatus.Information = FILE_OPENED;
	}
    }

  if (pFcb->OpenHandleCount == 0)
  {
      IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                   Stack->Parameters.Create.ShareAccess,
                   FileObject,
                   &pFcb->FCBShareAccess);
   }
   else
   {
      IoUpdateShareAccess(
          FileObject,
          &pFcb->FCBShareAccess
         );
      
   }

  pFcb->OpenHandleCount++;
  
  /* FIXME : test write access if requested */

  return(Status);
}
   12381:	89 d0                	mov    %edx,%eax
   12383:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   12386:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
   1238d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12390:	5b                   	pop    %ebx
   12391:	5e                   	pop    %esi
   12392:	5f                   	pop    %edi
   12393:	5d                   	pop    %ebp
   12394:	c3                   	ret    
   12395:	80 7d b2 00          	cmpb   $0x0,0xffffffb2(%ebp)
   12399:	0f 95 c2             	setne  %dl
   1239c:	39 df                	cmp    %ebx,%edi
   1239e:	0f 97 c0             	seta   %al
   123a1:	25 ff 00 00 00       	and    $0xff,%eax
   123a6:	85 c2                	test   %eax,%edx
   123a8:	75 43                	jne    123ed <_VfatCreateFile+0x2cd>
   123aa:	8d 7b fe             	lea    0xfffffffe(%ebx),%edi
   123ad:	c6 45 b2 01          	movb   $0x1,0xffffffb2(%ebp)
   123b1:	e9 1b fe ff ff       	jmp    121d1 <_VfatCreateFile+0xb1>
   123b6:	ba 22 00 00 c0       	mov    $0xc0000022,%edx
   123bb:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   123be:	89 d0                	mov    %edx,%eax
   123c0:	5b                   	pop    %ebx
   123c1:	5e                   	pop    %esi
   123c2:	5f                   	pop    %edi
   123c3:	5d                   	pop    %ebp
   123c4:	c3                   	ret    
   123c5:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   123c8:	85 c0                	test   %eax,%eax
   123ca:	75 0d                	jne    123d9 <_VfatCreateFile+0x2b9>
   123cc:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   123cf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   123d2:	89 d0                	mov    %edx,%eax
   123d4:	5b                   	pop    %ebx
   123d5:	5e                   	pop    %esi
   123d6:	5f                   	pop    %edi
   123d7:	5d                   	pop    %ebp
   123d8:	c3                   	ret    
   123d9:	52                   	push   %edx
   123da:	52                   	push   %edx
   123db:	50                   	push   %eax
   123dc:	8b 7d bc             	mov    0xffffffbc(%ebp),%edi
   123df:	57                   	push   %edi
   123e0:	e8 7b 45 00 00       	call   16960 <_vfatReleaseFCB>
   123e5:	83 c4 10             	add    $0x10,%esp
   123e8:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   123eb:	eb e2                	jmp    123cf <_VfatCreateFile+0x2af>
   123ed:	ba 33 00 00 c0       	mov    $0xc0000033,%edx
   123f2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   123f5:	89 d0                	mov    %edx,%eax
   123f7:	5b                   	pop    %ebx
   123f8:	5e                   	pop    %esi
   123f9:	5f                   	pop    %edi
   123fa:	5d                   	pop    %ebp
   123fb:	c3                   	ret    
   123fc:	f6 82 38 01 00 00 08 	testb  $0x8,0x138(%edx)
   12403:	0f 85 be fe ff ff    	jne    122c7 <_VfatCreateFile+0x1a7>
   12409:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
   1240c:	83 eb 04             	sub    $0x4,%ebx
   1240f:	83 fb 01             	cmp    $0x1,%ebx
   12412:	0f 86 da 00 00 00    	jbe    124f2 <_VfatCreateFile+0x3d2>
   12418:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   1241b:	85 c0                	test   %eax,%eax
   1241d:	0f 84 17 01 00 00    	je     1253a <_VfatCreateFile+0x41a>
   12423:	83 fb 02             	cmp    $0x2,%ebx
   12426:	8b 55 0c             	mov    0xc(%ebp),%edx
   12429:	19 c0                	sbb    %eax,%eax
   1242b:	83 e0 02             	and    $0x2,%eax
   1242e:	40                   	inc    %eax
   1242f:	89 42 1c             	mov    %eax,0x1c(%edx)
   12432:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   12435:	8b b0 64 01 00 00    	mov    0x164(%eax),%esi
   1243b:	85 f6                	test   %esi,%esi
   1243d:	75 3c                	jne    1247b <_VfatCreateFile+0x35b>
   1243f:	05 48 01 00 00       	add    $0x148,%eax
   12444:	50                   	push   %eax
   12445:	8b 5d c0             	mov    0xffffffc0(%ebp),%ebx
   12448:	53                   	push   %ebx
   12449:	8b 4d c4             	mov    0xffffffc4(%ebp),%ecx
   1244c:	66 8b 41 0e          	mov    0xe(%ecx),%ax
   12450:	25 ff ff 00 00       	and    $0xffff,%eax
   12455:	50                   	push   %eax
   12456:	8b 41 04             	mov    0x4(%ecx),%eax
   12459:	8b 48 08             	mov    0x8(%eax),%ecx
   1245c:	51                   	push   %ecx
   1245d:	ff 15 cc 02 02 00    	call   *0x202cc
   12463:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   12466:	8b 88 64 01 00 00    	mov    0x164(%eax),%ecx
   1246c:	41                   	inc    %ecx
   1246d:	89 88 64 01 00 00    	mov    %ecx,0x164(%eax)
   12473:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   12476:	e9 54 ff ff ff       	jmp    123cf <_VfatCreateFile+0x2af>
   1247b:	05 48 01 00 00       	add    $0x148,%eax
   12480:	52                   	push   %edx
   12481:	52                   	push   %edx
   12482:	50                   	push   %eax
   12483:	8b 7d c0             	mov    0xffffffc0(%ebp),%edi
   12486:	57                   	push   %edi
   12487:	ff 15 d0 02 02 00    	call   *0x202d0
   1248d:	5b                   	pop    %ebx
   1248e:	5e                   	pop    %esi
   1248f:	eb d2                	jmp    12463 <_VfatCreateFile+0x343>
   12491:	52                   	push   %edx
   12492:	52                   	push   %edx
   12493:	50                   	push   %eax
   12494:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   12497:	50                   	push   %eax
   12498:	e8 c3 44 00 00       	call   16960 <_vfatReleaseFCB>
   1249d:	83 c4 10             	add    $0x10,%esp
   124a0:	e9 b1 fd ff ff       	jmp    12256 <_VfatCreateFile+0x136>
   124a5:	8b 82 38 01 00 00    	mov    0x138(%edx),%eax
   124ab:	83 c8 08             	or     $0x8,%eax
   124ae:	89 82 38 01 00 00    	mov    %eax,0x138(%edx)
   124b4:	e9 50 ff ff ff       	jmp    12409 <_VfatCreateFile+0x2e9>
   124b9:	83 ec 0c             	sub    $0xc,%esp
   124bc:	8d 80 48 01 00 00    	lea    0x148(%eax),%eax
   124c2:	6a 00                	push   $0x0
   124c4:	50                   	push   %eax
   124c5:	51                   	push   %ecx
   124c6:	8b 7d c4             	mov    0xffffffc4(%ebp),%edi
   124c9:	66 8b 47 0e          	mov    0xe(%edi),%ax
   124cd:	25 ff ff 00 00       	and    $0xffff,%eax
   124d2:	50                   	push   %eax
   124d3:	8b 47 04             	mov    0x4(%edi),%eax
   124d6:	8b 70 08             	mov    0x8(%eax),%esi
   124d9:	56                   	push   %esi
   124da:	ff 15 9c 02 02 00    	call   *0x2029c
   124e0:	83 c4 0c             	add    $0xc,%esp
   124e3:	85 c0                	test   %eax,%eax
   124e5:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
   124e8:	78 39                	js     12523 <_VfatCreateFile+0x403>
   124ea:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   124ed:	e9 87 fd ff ff       	jmp    12279 <_VfatCreateFile+0x159>
   124f2:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   124f5:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
   124fc:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
   12503:	50                   	push   %eax
   12504:	8b 75 bc             	mov    0xffffffbc(%ebp),%esi
   12507:	56                   	push   %esi
   12508:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   1250b:	51                   	push   %ecx
   1250c:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   1250f:	52                   	push   %edx
   12510:	e8 9b 57 00 00       	call   17cb0 <_VfatSetAllocationSizeInformation>
   12515:	83 c4 10             	add    $0x10,%esp
   12518:	85 c0                	test   %eax,%eax
   1251a:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
   1251d:	0f 89 f5 fe ff ff    	jns    12418 <_VfatCreateFile+0x2f8>
   12523:	50                   	push   %eax
   12524:	50                   	push   %eax
   12525:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   12528:	50                   	push   %eax
   12529:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   1252c:	50                   	push   %eax
   1252d:	e8 ee f0 ff ff       	call   11620 <_VfatCloseFile>
   12532:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   12535:	e9 95 fe ff ff       	jmp    123cf <_VfatCreateFile+0x2af>
   1253a:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
   1253d:	c7 45 c8 00 00 00 00 	movl   $0x0,0xffffffc8(%ebp)
   12544:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
   1254b:	50                   	push   %eax
   1254c:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   1254f:	50                   	push   %eax
   12550:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   12553:	50                   	push   %eax
   12554:	8b 7d c0             	mov    0xffffffc0(%ebp),%edi
   12557:	57                   	push   %edi
   12558:	e8 53 57 00 00       	call   17cb0 <_VfatSetAllocationSizeInformation>
   1255d:	8b 45 0c             	mov    0xc(%ebp),%eax
   12560:	83 c4 10             	add    $0x10,%esp
   12563:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1256a:	e9 c3 fe ff ff       	jmp    12432 <_VfatCreateFile+0x312>
   1256f:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   12572:	83 e8 02             	sub    $0x2,%eax
   12575:	83 f8 01             	cmp    $0x1,%eax
   12578:	0f 96 c2             	setbe  %dl
   1257b:	83 7d b8 05          	cmpl   $0x5,0xffffffb8(%ebp)
   1257f:	0f 94 c0             	sete   %al
   12582:	09 d0                	or     %edx,%eax
   12584:	a8 01                	test   $0x1,%al
   12586:	75 0b                	jne    12593 <_VfatCreateFile+0x473>
   12588:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
   1258b:	85 db                	test   %ebx,%ebx
   1258d:	0f 85 fd 00 00 00    	jne    12690 <_VfatCreateFile+0x570>
   12593:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
   12596:	8d 75 e0             	lea    0xffffffe0(%ebp),%esi
   12599:	66 8b 5a 0c          	mov    0xc(%edx),%bx
   1259d:	51                   	push   %ecx
   1259e:	56                   	push   %esi
   1259f:	6a 00                	push   $0x0
   125a1:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   125a4:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
   125aa:	83 c0 30             	add    $0x30,%eax
   125ad:	81 e3 b7 00 00 00    	and    $0xb7,%ebx
   125b3:	50                   	push   %eax
   125b4:	e8 17 3f 00 00       	call   164d0 <_vfatSplitPathName>
   125b9:	58                   	pop    %eax
   125ba:	5a                   	pop    %edx
   125bb:	53                   	push   %ebx
   125bc:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
   125bf:	50                   	push   %eax
   125c0:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   125c3:	50                   	push   %eax
   125c4:	8d 45 dc             	lea    0xffffffdc(%ebp),%eax
   125c7:	50                   	push   %eax
   125c8:	56                   	push   %esi
   125c9:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   125cc:	50                   	push   %eax
   125cd:	e8 ae 29 00 00       	call   14f80 <_VfatAddEntry>
   125d2:	83 c4 18             	add    $0x18,%esp
   125d5:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
   125d8:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   125db:	50                   	push   %eax
   125dc:	8b 7d bc             	mov    0xffffffbc(%ebp),%edi
   125df:	57                   	push   %edi
   125e0:	e8 7b 43 00 00       	call   16960 <_vfatReleaseFCB>
   125e5:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   125e8:	83 c4 10             	add    $0x10,%esp
   125eb:	85 d2                	test   %edx,%edx
   125ed:	0f 88 e8 fc ff ff    	js     122db <_VfatCreateFile+0x1bb>
   125f3:	56                   	push   %esi
   125f4:	8b 5d c0             	mov    0xffffffc0(%ebp),%ebx
   125f7:	53                   	push   %ebx
   125f8:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   125fb:	51                   	push   %ecx
   125fc:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
   125ff:	52                   	push   %edx
   12600:	e8 4b 4c 00 00       	call   17250 <_vfatAttachFCBToFileObject>
   12605:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   12608:	89 c8                	mov    %ecx,%eax
   1260a:	83 c0 30             	add    $0x30,%eax
   1260d:	c7 41 1c 02 00 00 00 	movl   $0x2,0x1c(%ecx)
   12614:	50                   	push   %eax
   12615:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   12618:	50                   	push   %eax
   12619:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1261c:	50                   	push   %eax
   1261d:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   12620:	50                   	push   %eax
   12621:	e8 8a 56 00 00       	call   17cb0 <_VfatSetAllocationSizeInformation>
   12626:	8b 7d c4             	mov    0xffffffc4(%ebp),%edi
   12629:	83 c4 1c             	add    $0x1c,%esp
   1262c:	8b 47 10             	mov    0x10(%edi),%eax
   1262f:	50                   	push   %eax
   12630:	8b 45 0c             	mov    0xc(%ebp),%eax
   12633:	8b 40 0c             	mov    0xc(%eax),%eax
   12636:	50                   	push   %eax
   12637:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   1263a:	50                   	push   %eax
   1263b:	e8 10 9c 00 00       	call   1c250 <_VfatSetExtendedAttributes>
   12640:	83 c4 10             	add    $0x10,%esp
   12643:	80 7d b3 00          	cmpb   $0x0,0xffffffb3(%ebp)
   12647:	0f 84 e5 fd ff ff    	je     12432 <_VfatCreateFile+0x312>
   1264d:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   12650:	8b b8 38 01 00 00    	mov    0x138(%eax),%edi
   12656:	83 cf 08             	or     $0x8,%edi
   12659:	89 b8 38 01 00 00    	mov    %edi,0x138(%eax)
   1265f:	e9 ce fd ff ff       	jmp    12432 <_VfatCreateFile+0x312>

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   12664:	8b 43 10             	mov    0x10(%ebx),%eax
   12667:	40                   	inc    %eax
   12668:	89 43 10             	mov    %eax,0x10(%ebx)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   1266b:	50                   	push   %eax
   1266c:	8b 7b 20             	mov    0x20(%ebx),%edi
   1266f:	57                   	push   %edi
   12670:	8b 73 24             	mov    0x24(%ebx),%esi
   12673:	56                   	push   %esi
   12674:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
   12677:	51                   	push   %ecx
   12678:	ff 53 28             	call   *0x28(%ebx)
   1267b:	5a                   	pop    %edx
   1267c:	89 c6                	mov    %eax,%esi
   1267e:	ba 9a 00 00 c0       	mov    $0xc000009a,%edx
   12683:	85 c0                	test   %eax,%eax
   12685:	0f 85 c2 fc ff ff    	jne    1234d <_VfatCreateFile+0x22d>
   1268b:	e9 4b fc ff ff       	jmp    122db <_VfatCreateFile+0x1bb>
   12690:	56                   	push   %esi
   12691:	56                   	push   %esi
   12692:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   12695:	53                   	push   %ebx
   12696:	8b 4d bc             	mov    0xffffffbc(%ebp),%ecx
   12699:	51                   	push   %ecx
   1269a:	e8 c1 42 00 00       	call   16960 <_vfatReleaseFCB>
   1269f:	8b 55 ac             	mov    0xffffffac(%ebp),%edx
   126a2:	e9 28 fd ff ff       	jmp    123cf <_VfatCreateFile+0x2af>
   126a7:	8b 55 0c             	mov    0xc(%ebp),%edx
   126aa:	c7 42 1c 04 00 00 00 	movl   $0x4,0x1c(%edx)
   126b1:	50                   	push   %eax
   126b2:	50                   	push   %eax
   126b3:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   126b6:	50                   	push   %eax
   126b7:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   126ba:	50                   	push   %eax
   126bb:	e8 60 ef ff ff       	call   11620 <_VfatCloseFile>
   126c0:	ba 35 00 00 c0       	mov    $0xc0000035,%edx
   126c5:	e9 11 fc ff ff       	jmp    122db <_VfatCreateFile+0x1bb>
   126ca:	50                   	push   %eax
   126cb:	50                   	push   %eax
   126cc:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   126cf:	50                   	push   %eax
   126d0:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   126d3:	50                   	push   %eax
   126d4:	e8 47 ef ff ff       	call   11620 <_VfatCloseFile>
   126d9:	ba 03 01 00 c0       	mov    $0xc0000103,%edx
   126de:	e9 f8 fb ff ff       	jmp    122db <_VfatCreateFile+0x1bb>
   126e3:	53                   	push   %ebx
   126e4:	53                   	push   %ebx
   126e5:	8b 4d c0             	mov    0xffffffc0(%ebp),%ecx
   126e8:	51                   	push   %ecx
   126e9:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
   126ec:	52                   	push   %edx
   126ed:	e8 2e ef ff ff       	call   11620 <_VfatCloseFile>
   126f2:	ba ba 00 00 c0       	mov    $0xc00000ba,%edx
   126f7:	e9 df fb ff ff       	jmp    122db <_VfatCreateFile+0x1bb>
   126fc:	8d 74 26 00          	lea    0x0(%esi),%esi

00012700 <_VfatCreate>:


NTSTATUS VfatCreate (PVFAT_IRP_CONTEXT IrpContext)
/*
 * FUNCTION: Create or open a file
 */
{
   12700:	55                   	push   %ebp
   12701:	89 e5                	mov    %esp,%ebp
   12703:	56                   	push   %esi
   12704:	53                   	push   %ebx
  NTSTATUS Status;

  ASSERT(IrpContext);

  if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
   12705:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1270a:	8b 75 08             	mov    0x8(%ebp),%esi
   1270d:	8b 40 04             	mov    0x4(%eax),%eax
   12710:	39 46 04             	cmp    %eax,0x4(%esi)
   12713:	74 6f                	je     12784 <_VfatCreate+0x84>
    {
      /* DeviceObject represents FileSystem instead of logical volume */
      DPRINT ("FsdCreate called with file system\n");
      IrpContext->Irp->IoStatus.Information = FILE_OPENED;
      IrpContext->Irp->IoStatus.Status = STATUS_SUCCESS;
      IoCompleteRequest (IrpContext->Irp, IO_DISK_INCREMENT);
      VfatFreeIrpContext(IrpContext);
      return(STATUS_SUCCESS);
    }

  if (!(IrpContext->Flags & IRPCONTEXT_CANWAIT))
   12715:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
   12719:	75 15                	jne    12730 <_VfatCreate+0x30>
    {
      return(VfatQueueRequest (IrpContext));
   1271b:	89 75 08             	mov    %esi,0x8(%ebp)
    }

  IrpContext->Irp->IoStatus.Information = 0;
  ExAcquireResourceExclusiveLite (&IrpContext->DeviceExt->DirResource, TRUE);
  Status = VfatCreateFile (IrpContext->DeviceObject, IrpContext->Irp);
  ExReleaseResourceLite (&IrpContext->DeviceExt->DirResource);

  IrpContext->Irp->IoStatus.Status = Status;
  IoCompleteRequest (IrpContext->Irp, 
		     (CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT));
  VfatFreeIrpContext(IrpContext);
  return(Status);
}
   1271e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   12721:	5b                   	pop    %ebx
   12722:	5e                   	pop    %esi
   12723:	5d                   	pop    %ebp
   12724:	e9 f7 86 00 00       	jmp    1ae20 <_VfatQueueRequest>
   12729:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   12730:	8b 06                	mov    (%esi),%eax
   12732:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   12739:	50                   	push   %eax
   1273a:	50                   	push   %eax
   1273b:	6a 01                	push   $0x1
   1273d:	8b 46 08             	mov    0x8(%esi),%eax
   12740:	50                   	push   %eax
   12741:	ff 15 3c 02 02 00    	call   *0x2023c
   12747:	8b 1e                	mov    (%esi),%ebx
   12749:	53                   	push   %ebx
   1274a:	8b 4e 04             	mov    0x4(%esi),%ecx
   1274d:	51                   	push   %ecx
   1274e:	e8 cd f9 ff ff       	call   12120 <_VfatCreateFile>
   12753:	8b 4e 08             	mov    0x8(%esi),%ecx
   12756:	89 c3                	mov    %eax,%ebx
   12758:	ff 15 e8 01 02 00    	call   *0x201e8
   1275e:	8b 06                	mov    (%esi),%eax
   12760:	89 da                	mov    %ebx,%edx
   12762:	89 58 18             	mov    %ebx,0x18(%eax)
   12765:	83 f2 ff             	xor    $0xffffffff,%edx
   12768:	8b 0e                	mov    (%esi),%ecx
   1276a:	c1 ea 1f             	shr    $0x1f,%edx
   1276d:	ff 15 00 02 02 00    	call   *0x20200
   12773:	89 34 24             	mov    %esi,(%esp)
   12776:	e8 b5 82 00 00       	call   1aa30 <_VfatFreeIrpContext>
   1277b:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1277e:	89 d8                	mov    %ebx,%eax
   12780:	5b                   	pop    %ebx
   12781:	5e                   	pop    %esi
   12782:	5d                   	pop    %ebp
   12783:	c3                   	ret    
   12784:	8b 06                	mov    (%esi),%eax
   12786:	ba 01 00 00 00       	mov    $0x1,%edx
   1278b:	c7 40 1c 01 00 00 00 	movl   $0x1,0x1c(%eax)
   12792:	8b 06                	mov    (%esi),%eax
   12794:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
   1279b:	8b 0e                	mov    (%esi),%ecx
   1279d:	ff 15 00 02 02 00    	call   *0x20200
   127a3:	83 ec 0c             	sub    $0xc,%esp
   127a6:	56                   	push   %esi
   127a7:	e8 84 82 00 00       	call   1aa30 <_VfatFreeIrpContext>
   127ac:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   127af:	31 c0                	xor    %eax,%eax
   127b1:	5b                   	pop    %ebx
   127b2:	5e                   	pop    %esi
   127b3:	5d                   	pop    %ebp
   127b4:	c3                   	ret    
   127b5:	90                   	nop    
   127b6:	90                   	nop    
   127b7:	90                   	nop    
   127b8:	90                   	nop    
   127b9:	90                   	nop    
   127ba:	90                   	nop    
   127bb:	90                   	nop    
   127bc:	90                   	nop    
   127bd:	90                   	nop    
   127be:	90                   	nop    
   127bf:	90                   	nop    

000127c0 <_FsdDosDateTimeToSystemTime>:
   127c0:	55                   	push   %ebp
   127c1:	31 c0                	xor    %eax,%eax
   127c3:	89 e5                	mov    %esp,%ebp
   127c5:	56                   	push   %esi
   127c6:	53                   	push   %ebx
   127c7:	83 ec 20             	sub    $0x20,%esp
   127ca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   127cd:	8b 55 10             	mov    0x10(%ebp),%edx
   127d0:	8b 75 14             	mov    0x14(%ebp),%esi
   127d3:	66 89 4d e4          	mov    %cx,0xffffffe4(%ebp)
   127d7:	66 89 55 e6          	mov    %dx,0xffffffe6(%ebp)
   127db:	85 f6                	test   %esi,%esi
   127dd:	74 7c                	je     1285b <_FsdDosDateTimeToSystemTime+0x9b>
   127df:	31 c0                	xor    %eax,%eax
   127e1:	66 c7 45 f4 00 00    	movw   $0x0,0xfffffff4(%ebp)
   127e7:	8a 45 e6             	mov    0xffffffe6(%ebp),%al
   127ea:	8d 5d d8             	lea    0xffffffd8(%ebp),%ebx
   127ed:	83 e0 1f             	and    $0x1f,%eax
   127f0:	01 c0                	add    %eax,%eax
   127f2:	66 89 45 f2          	mov    %ax,0xfffffff2(%ebp)
   127f6:	89 d0                	mov    %edx,%eax
   127f8:	66 c1 e8 05          	shr    $0x5,%ax
   127fc:	8b 55 08             	mov    0x8(%ebp),%edx
   127ff:	83 e0 3f             	and    $0x3f,%eax
   12802:	66 89 45 f0          	mov    %ax,0xfffffff0(%ebp)
   12806:	8a 45 e7             	mov    0xffffffe7(%ebp),%al
   12809:	c0 e8 03             	shr    $0x3,%al
   1280c:	25 ff 00 00 00       	and    $0xff,%eax
   12811:	66 89 45 ee          	mov    %ax,0xffffffee(%ebp)
   12815:	31 c0                	xor    %eax,%eax
   12817:	8a 45 e4             	mov    0xffffffe4(%ebp),%al
   1281a:	83 e0 1f             	and    $0x1f,%eax
   1281d:	66 89 45 ec          	mov    %ax,0xffffffec(%ebp)
   12821:	89 c8                	mov    %ecx,%eax
   12823:	66 c1 e8 05          	shr    $0x5,%ax
   12827:	83 e0 0f             	and    $0xf,%eax
   1282a:	66 89 45 ea          	mov    %ax,0xffffffea(%ebp)
   1282e:	8a 45 e5             	mov    0xffffffe5(%ebp),%al
   12831:	d0 e8                	shr    %al
   12833:	83 e0 1f             	and    $0x1f,%eax
   12836:	66 03 82 e4 00 04 00 	add    0x400e4(%edx),%ax
   1283d:	66 89 45 e8          	mov    %ax,0xffffffe8(%ebp)
   12841:	50                   	push   %eax
   12842:	50                   	push   %eax
   12843:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   12846:	53                   	push   %ebx
   12847:	50                   	push   %eax
   12848:	ff 15 34 03 02 00    	call   *0x20334
   1284e:	56                   	push   %esi
   1284f:	53                   	push   %ebx
   12850:	ff 15 58 02 02 00    	call   *0x20258
   12856:	b8 01 00 00 00       	mov    $0x1,%eax
   1285b:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1285e:	5b                   	pop    %ebx
   1285f:	5e                   	pop    %esi
   12860:	5d                   	pop    %ebp
   12861:	c3                   	ret    
   12862:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   12869:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012870 <_FsdSystemTimeToDosDateTime>:
   12870:	55                   	push   %ebp
   12871:	31 c0                	xor    %eax,%eax
   12873:	89 e5                	mov    %esp,%ebp
   12875:	57                   	push   %edi
   12876:	56                   	push   %esi
   12877:	53                   	push   %ebx
   12878:	83 ec 2c             	sub    $0x2c,%esp
   1287b:	8b 55 0c             	mov    0xc(%ebp),%edx
   1287e:	8b 75 10             	mov    0x10(%ebp),%esi
   12881:	8b 7d 14             	mov    0x14(%ebp),%edi
   12884:	85 d2                	test   %edx,%edx
   12886:	0f 84 8b 00 00 00    	je     12917 <_FsdSystemTimeToDosDateTime+0xa7>
   1288c:	53                   	push   %ebx
   1288d:	53                   	push   %ebx
   1288e:	8d 5d d0             	lea    0xffffffd0(%ebp),%ebx
   12891:	53                   	push   %ebx
   12892:	52                   	push   %edx
   12893:	ff 15 60 02 02 00    	call   *0x20260
   12899:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   1289c:	50                   	push   %eax
   1289d:	53                   	push   %ebx
   1289e:	ff 15 38 03 02 00    	call   *0x20338
   128a4:	85 ff                	test   %edi,%edi
   128a6:	5a                   	pop    %edx
   128a7:	59                   	pop    %ecx
   128a8:	74 29                	je     128d3 <_FsdSystemTimeToDosDateTime+0x63>
   128aa:	66 8b 55 e2          	mov    0xffffffe2(%ebp),%dx
   128ae:	66 8b 4d de          	mov    0xffffffde(%ebp),%cx
   128b2:	c1 e1 0b             	shl    $0xb,%ecx
   128b5:	89 d0                	mov    %edx,%eax
   128b7:	66 c1 e8 0f          	shr    $0xf,%ax
   128bb:	01 c2                	add    %eax,%edx
   128bd:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   128c0:	66 d1 fa             	sar    %dx
   128c3:	83 e0 3f             	and    $0x3f,%eax
   128c6:	c1 e0 05             	shl    $0x5,%eax
   128c9:	83 e2 1f             	and    $0x1f,%edx
   128cc:	09 d0                	or     %edx,%eax
   128ce:	09 c8                	or     %ecx,%eax
   128d0:	66 89 07             	mov    %ax,(%edi)
   128d3:	85 f6                	test   %esi,%esi
   128d5:	74 3b                	je     12912 <_FsdSystemTimeToDosDateTime+0xa2>
   128d7:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   128da:	66 8b 0e             	mov    (%esi),%cx
   128dd:	66 8b 45 da          	mov    0xffffffda(%ebp),%ax
   128e1:	83 e2 1f             	and    $0x1f,%edx
   128e4:	81 e1 00 fe ff ff    	and    $0xfffffe00,%ecx
   128ea:	83 e0 0f             	and    $0xf,%eax
   128ed:	c1 e0 05             	shl    $0x5,%eax
   128f0:	09 d1                	or     %edx,%ecx
   128f2:	09 c1                	or     %eax,%ecx
   128f4:	66 89 0e             	mov    %cx,(%esi)
   128f7:	80 e5 c1             	and    $0xc1,%ch
   128fa:	8b 55 08             	mov    0x8(%ebp),%edx
   128fd:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   12900:	66 2b 82 e4 00 04 00 	sub    0x400e4(%edx),%ax
   12907:	83 e0 1f             	and    $0x1f,%eax
   1290a:	c1 e0 09             	shl    $0x9,%eax
   1290d:	09 c1                	or     %eax,%ecx
   1290f:	66 89 0e             	mov    %cx,(%esi)
   12912:	b8 01 00 00 00       	mov    $0x1,%eax
   12917:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1291a:	5b                   	pop    %ebx
   1291b:	5e                   	pop    %esi
   1291c:	5f                   	pop    %edi
   1291d:	5d                   	pop    %ebp
   1291e:	c3                   	ret    
   1291f:	90                   	nop    

00012920 <_VfatGetFileNameInformation>:
   12920:	55                   	push   %ebp
   12921:	ba 05 00 00 80       	mov    $0x80000005,%edx
   12926:	89 e5                	mov    %esp,%ebp
   12928:	56                   	push   %esi
   12929:	53                   	push   %ebx
   1292a:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1292d:	8b 75 0c             	mov    0xc(%ebp),%esi
   12930:	66 8b 43 48          	mov    0x48(%ebx),%ax
   12934:	89 c1                	mov    %eax,%ecx
   12936:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1293c:	8d 41 44             	lea    0x44(%ecx),%eax
   1293f:	3b 45 10             	cmp    0x10(%ebp),%eax
   12942:	77 30                	ja     12974 <_VfatGetFileNameInformation+0x54>
   12944:	89 4e 08             	mov    %ecx,0x8(%esi)
   12947:	66 8b 43 48          	mov    0x48(%ebx),%ax
   1294b:	8d 56 0c             	lea    0xc(%esi),%edx
   1294e:	25 ff ff 00 00       	and    $0xffff,%eax
   12953:	83 c0 47             	add    $0x47,%eax
   12956:	25 fc ff 01 00       	and    $0x1fffc,%eax
   1295b:	89 06                	mov    %eax,(%esi)
   1295d:	66 8b 43 48          	mov    0x48(%ebx),%ax
   12961:	51                   	push   %ecx
   12962:	25 ff ff 00 00       	and    $0xffff,%eax
   12967:	50                   	push   %eax
   12968:	8b 73 4c             	mov    0x4c(%ebx),%esi
   1296b:	56                   	push   %esi
   1296c:	52                   	push   %edx
   1296d:	e8 6e 9e 00 00       	call   1c7e0 <_memcpy>
   12972:	31 d2                	xor    %edx,%edx
   12974:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   12977:	89 d0                	mov    %edx,%eax
   12979:	5b                   	pop    %ebx
   1297a:	5e                   	pop    %esi
   1297b:	5d                   	pop    %ebp
   1297c:	c3                   	ret    
   1297d:	8d 76 00             	lea    0x0(%esi),%esi

00012980 <_VfatGetFileDirectoryInformation>:
   12980:	55                   	push   %ebp
   12981:	b9 05 00 00 80       	mov    $0x80000005,%ecx
   12986:	89 e5                	mov    %esp,%ebp
   12988:	57                   	push   %edi
   12989:	56                   	push   %esi
   1298a:	53                   	push   %ebx
   1298b:	83 ec 0c             	sub    $0xc,%esp
   1298e:	8b 5d 08             	mov    0x8(%ebp),%ebx
   12991:	8b 7d 0c             	mov    0xc(%ebp),%edi
   12994:	8b 75 10             	mov    0x10(%ebp),%esi
   12997:	66 8b 43 48          	mov    0x48(%ebx),%ax
   1299b:	89 c2                	mov    %eax,%edx
   1299d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   129a3:	8d 42 44             	lea    0x44(%edx),%eax
   129a6:	3b 45 14             	cmp    0x14(%ebp),%eax
   129a9:	0f 87 dd 00 00 00    	ja     12a8c <_VfatGetFileDirectoryInformation+0x10c>
   129af:	89 56 3c             	mov    %edx,0x3c(%esi)
   129b2:	66 8b 43 48          	mov    0x48(%ebx),%ax
   129b6:	8d 56 40             	lea    0x40(%esi),%edx
   129b9:	25 ff ff 00 00       	and    $0xffff,%eax
   129be:	83 c0 47             	add    $0x47,%eax
   129c1:	25 fc ff 01 00       	and    $0x1fffc,%eax
   129c6:	89 06                	mov    %eax,(%esi)
   129c8:	66 8b 43 48          	mov    0x48(%ebx),%ax
   129cc:	51                   	push   %ecx
   129cd:	25 ff ff 00 00       	and    $0xffff,%eax
   129d2:	50                   	push   %eax
   129d3:	8b 43 4c             	mov    0x4c(%ebx),%eax
   129d6:	50                   	push   %eax
   129d7:	52                   	push   %edx
   129d8:	e8 03 9e 00 00       	call   1c7e0 <_memcpy>
   129dd:	83 c4 10             	add    $0x10,%esp
   129e0:	f6 87 cc 00 04 00 04 	testb  $0x4,0x400cc(%edi)
   129e7:	0f 84 a9 00 00 00    	je     12a96 <_VfatGetFileDirectoryInformation+0x116>
   129ed:	8d 46 08             	lea    0x8(%esi),%eax
   129f0:	50                   	push   %eax
   129f1:	66 8b 43 40          	mov    0x40(%ebx),%ax
   129f5:	25 ff ff 00 00       	and    $0xffff,%eax
   129fa:	50                   	push   %eax
   129fb:	66 8b 43 42          	mov    0x42(%ebx),%ax
   129ff:	25 ff ff 00 00       	and    $0xffff,%eax
   12a04:	50                   	push   %eax
   12a05:	57                   	push   %edi
   12a06:	e8 b5 fd ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12a0b:	8d 46 10             	lea    0x10(%esi),%eax
   12a0e:	50                   	push   %eax
   12a0f:	66 8b 43 44          	mov    0x44(%ebx),%ax
   12a13:	25 ff ff 00 00       	and    $0xffff,%eax
   12a18:	50                   	push   %eax
   12a19:	66 8b 43 46          	mov    0x46(%ebx),%ax
   12a1d:	25 ff ff 00 00       	and    $0xffff,%eax
   12a22:	50                   	push   %eax
   12a23:	57                   	push   %edi
   12a24:	e8 97 fd ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12a29:	83 c4 20             	add    $0x20,%esp
   12a2c:	8d 46 18             	lea    0x18(%esi),%eax
   12a2f:	50                   	push   %eax
   12a30:	66 8b 43 3c          	mov    0x3c(%ebx),%ax
   12a34:	25 ff ff 00 00       	and    $0xffff,%eax
   12a39:	50                   	push   %eax
   12a3a:	66 8b 43 3e          	mov    0x3e(%ebx),%ax
   12a3e:	25 ff ff 00 00       	and    $0xffff,%eax
   12a43:	50                   	push   %eax
   12a44:	57                   	push   %edi
   12a45:	e8 76 fd ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12a4a:	8b 46 18             	mov    0x18(%esi),%eax
   12a4d:	8b 56 1c             	mov    0x1c(%esi),%edx
   12a50:	89 46 20             	mov    %eax,0x20(%esi)
   12a53:	89 56 24             	mov    %edx,0x24(%esi)
   12a56:	83 c4 10             	add    $0x10,%esp
   12a59:	f6 43 09 10          	testb  $0x10,0x9(%ebx)
   12a5d:	0f 84 c3 00 00 00    	je     12b26 <_VfatGetFileDirectoryInformation+0x1a6>
   12a63:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
   12a6a:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
   12a71:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
   12a78:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
   12a7f:	31 c0                	xor    %eax,%eax
   12a81:	8a 43 09             	mov    0x9(%ebx),%al
   12a84:	83 e0 3f             	and    $0x3f,%eax
   12a87:	31 c9                	xor    %ecx,%ecx
   12a89:	89 46 38             	mov    %eax,0x38(%esi)
   12a8c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12a8f:	89 c8                	mov    %ecx,%eax
   12a91:	5b                   	pop    %ebx
   12a92:	5e                   	pop    %esi
   12a93:	5f                   	pop    %edi
   12a94:	5d                   	pop    %ebp
   12a95:	c3                   	ret    
   12a96:	8d 46 08             	lea    0x8(%esi),%eax
   12a99:	50                   	push   %eax
   12a9a:	66 8b 43 16          	mov    0x16(%ebx),%ax
   12a9e:	25 ff ff 00 00       	and    $0xffff,%eax
   12aa3:	50                   	push   %eax
   12aa4:	66 8b 43 18          	mov    0x18(%ebx),%ax
   12aa8:	25 ff ff 00 00       	and    $0xffff,%eax
   12aad:	50                   	push   %eax
   12aae:	57                   	push   %edi
   12aaf:	e8 0c fd ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12ab4:	8d 46 10             	lea    0x10(%esi),%eax
   12ab7:	50                   	push   %eax
   12ab8:	6a 00                	push   $0x0
   12aba:	66 8b 43 1a          	mov    0x1a(%ebx),%ax
   12abe:	25 ff ff 00 00       	and    $0xffff,%eax
   12ac3:	50                   	push   %eax
   12ac4:	57                   	push   %edi
   12ac5:	e8 f6 fc ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12aca:	83 c4 20             	add    $0x20,%esp
   12acd:	8d 46 18             	lea    0x18(%esi),%eax
   12ad0:	50                   	push   %eax
   12ad1:	66 8b 43 1e          	mov    0x1e(%ebx),%ax
   12ad5:	25 ff ff 00 00       	and    $0xffff,%eax
   12ada:	50                   	push   %eax
   12adb:	66 8b 43 20          	mov    0x20(%ebx),%ax
   12adf:	25 ff ff 00 00       	and    $0xffff,%eax
   12ae4:	50                   	push   %eax
   12ae5:	57                   	push   %edi
   12ae6:	e8 d5 fc ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12aeb:	8b 46 18             	mov    0x18(%esi),%eax
   12aee:	8b 56 1c             	mov    0x1c(%esi),%edx
   12af1:	89 46 20             	mov    %eax,0x20(%esi)
   12af4:	89 56 24             	mov    %edx,0x24(%esi)
   12af7:	83 c4 10             	add    $0x10,%esp
   12afa:	f6 43 13 10          	testb  $0x10,0x13(%ebx)
   12afe:	74 55                	je     12b55 <_VfatGetFileDirectoryInformation+0x1d5>
   12b00:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
   12b07:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
   12b0e:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
   12b15:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
   12b1c:	31 c0                	xor    %eax,%eax
   12b1e:	8a 43 13             	mov    0x13(%ebx),%al
   12b21:	e9 5e ff ff ff       	jmp    12a84 <_VfatGetFileDirectoryInformation+0x104>
   12b26:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
   12b2d:	31 d2                	xor    %edx,%edx
   12b2f:	8b 43 38             	mov    0x38(%ebx),%eax
   12b32:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
   12b39:	89 46 28             	mov    %eax,0x28(%esi)
   12b3c:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12b42:	8b 43 38             	mov    0x38(%ebx),%eax
   12b45:	01 c8                	add    %ecx,%eax
   12b47:	48                   	dec    %eax
   12b48:	f7 f1                	div    %ecx
   12b4a:	0f af c1             	imul   %ecx,%eax
   12b4d:	89 46 30             	mov    %eax,0x30(%esi)
   12b50:	e9 2a ff ff ff       	jmp    12a7f <_VfatGetFileDirectoryInformation+0xff>
   12b55:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
   12b5c:	31 d2                	xor    %edx,%edx
   12b5e:	8b 43 24             	mov    0x24(%ebx),%eax
   12b61:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
   12b68:	89 46 28             	mov    %eax,0x28(%esi)
   12b6b:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12b71:	8b 43 24             	mov    0x24(%ebx),%eax
   12b74:	01 c8                	add    %ecx,%eax
   12b76:	48                   	dec    %eax
   12b77:	f7 f1                	div    %ecx
   12b79:	0f af c1             	imul   %ecx,%eax
   12b7c:	89 46 30             	mov    %eax,0x30(%esi)
   12b7f:	31 c0                	xor    %eax,%eax
   12b81:	8a 43 13             	mov    0x13(%ebx),%al
   12b84:	e9 fb fe ff ff       	jmp    12a84 <_VfatGetFileDirectoryInformation+0x104>
   12b89:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00012b90 <_VfatGetFileFullDirectoryInformation>:
   12b90:	55                   	push   %ebp
   12b91:	b9 05 00 00 80       	mov    $0x80000005,%ecx
   12b96:	89 e5                	mov    %esp,%ebp
   12b98:	57                   	push   %edi
   12b99:	56                   	push   %esi
   12b9a:	53                   	push   %ebx
   12b9b:	83 ec 0c             	sub    $0xc,%esp
   12b9e:	8b 75 08             	mov    0x8(%ebp),%esi
   12ba1:	8b 7d 0c             	mov    0xc(%ebp),%edi
   12ba4:	8b 5d 10             	mov    0x10(%ebp),%ebx
   12ba7:	66 8b 46 48          	mov    0x48(%esi),%ax
   12bab:	89 c2                	mov    %eax,%edx
   12bad:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   12bb3:	8d 42 48             	lea    0x48(%edx),%eax
   12bb6:	3b 45 14             	cmp    0x14(%ebp),%eax
   12bb9:	0f 87 d9 00 00 00    	ja     12c98 <_VfatGetFileFullDirectoryInformation+0x108>
   12bbf:	89 53 3c             	mov    %edx,0x3c(%ebx)
   12bc2:	66 8b 46 48          	mov    0x48(%esi),%ax
   12bc6:	8d 53 44             	lea    0x44(%ebx),%edx
   12bc9:	25 ff ff 00 00       	and    $0xffff,%eax
   12bce:	83 c0 4b             	add    $0x4b,%eax
   12bd1:	25 fc ff 01 00       	and    $0x1fffc,%eax
   12bd6:	89 03                	mov    %eax,(%ebx)
   12bd8:	66 8b 46 48          	mov    0x48(%esi),%ax
   12bdc:	51                   	push   %ecx
   12bdd:	25 ff ff 00 00       	and    $0xffff,%eax
   12be2:	50                   	push   %eax
   12be3:	8b 46 4c             	mov    0x4c(%esi),%eax
   12be6:	50                   	push   %eax
   12be7:	52                   	push   %edx
   12be8:	e8 f3 9b 00 00       	call   1c7e0 <_memcpy>
   12bed:	83 c4 10             	add    $0x10,%esp
   12bf0:	f6 87 cc 00 04 00 04 	testb  $0x4,0x400cc(%edi)
   12bf7:	0f 85 a5 00 00 00    	jne    12ca2 <_VfatGetFileFullDirectoryInformation+0x112>
   12bfd:	8d 43 08             	lea    0x8(%ebx),%eax
   12c00:	50                   	push   %eax
   12c01:	66 8b 46 16          	mov    0x16(%esi),%ax
   12c05:	25 ff ff 00 00       	and    $0xffff,%eax
   12c0a:	50                   	push   %eax
   12c0b:	66 8b 46 18          	mov    0x18(%esi),%ax
   12c0f:	25 ff ff 00 00       	and    $0xffff,%eax
   12c14:	50                   	push   %eax
   12c15:	57                   	push   %edi
   12c16:	e8 a5 fb ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12c1b:	8d 43 10             	lea    0x10(%ebx),%eax
   12c1e:	50                   	push   %eax
   12c1f:	6a 00                	push   $0x0
   12c21:	66 8b 46 1a          	mov    0x1a(%esi),%ax
   12c25:	25 ff ff 00 00       	and    $0xffff,%eax
   12c2a:	50                   	push   %eax
   12c2b:	57                   	push   %edi
   12c2c:	e8 8f fb ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12c31:	83 c4 20             	add    $0x20,%esp
   12c34:	8d 43 18             	lea    0x18(%ebx),%eax
   12c37:	50                   	push   %eax
   12c38:	66 8b 46 1e          	mov    0x1e(%esi),%ax
   12c3c:	25 ff ff 00 00       	and    $0xffff,%eax
   12c41:	50                   	push   %eax
   12c42:	66 8b 46 20          	mov    0x20(%esi),%ax
   12c46:	25 ff ff 00 00       	and    $0xffff,%eax
   12c4b:	50                   	push   %eax
   12c4c:	57                   	push   %edi
   12c4d:	e8 6e fb ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12c52:	8b 43 18             	mov    0x18(%ebx),%eax
   12c55:	8b 53 1c             	mov    0x1c(%ebx),%edx
   12c58:	89 43 20             	mov    %eax,0x20(%ebx)
   12c5b:	89 53 24             	mov    %edx,0x24(%ebx)
   12c5e:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12c65:	8b 46 24             	mov    0x24(%esi),%eax
   12c68:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12c6f:	89 43 28             	mov    %eax,0x28(%ebx)
   12c72:	31 d2                	xor    %edx,%edx
   12c74:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12c7a:	8b 46 24             	mov    0x24(%esi),%eax
   12c7d:	01 c8                	add    %ecx,%eax
   12c7f:	48                   	dec    %eax
   12c80:	f7 f1                	div    %ecx
   12c82:	0f af c1             	imul   %ecx,%eax
   12c85:	89 43 30             	mov    %eax,0x30(%ebx)
   12c88:	31 c0                	xor    %eax,%eax
   12c8a:	8a 46 13             	mov    0x13(%esi),%al
   12c8d:	83 e0 3f             	and    $0x3f,%eax
   12c90:	83 c4 10             	add    $0x10,%esp
   12c93:	89 43 38             	mov    %eax,0x38(%ebx)
   12c96:	31 c9                	xor    %ecx,%ecx
   12c98:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12c9b:	89 c8                	mov    %ecx,%eax
   12c9d:	5b                   	pop    %ebx
   12c9e:	5e                   	pop    %esi
   12c9f:	5f                   	pop    %edi
   12ca0:	5d                   	pop    %ebp
   12ca1:	c3                   	ret    
   12ca2:	8d 43 08             	lea    0x8(%ebx),%eax
   12ca5:	50                   	push   %eax
   12ca6:	66 8b 46 40          	mov    0x40(%esi),%ax
   12caa:	25 ff ff 00 00       	and    $0xffff,%eax
   12caf:	50                   	push   %eax
   12cb0:	66 8b 46 42          	mov    0x42(%esi),%ax
   12cb4:	25 ff ff 00 00       	and    $0xffff,%eax
   12cb9:	50                   	push   %eax
   12cba:	57                   	push   %edi
   12cbb:	e8 00 fb ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12cc0:	8d 43 10             	lea    0x10(%ebx),%eax
   12cc3:	50                   	push   %eax
   12cc4:	66 8b 46 44          	mov    0x44(%esi),%ax
   12cc8:	25 ff ff 00 00       	and    $0xffff,%eax
   12ccd:	50                   	push   %eax
   12cce:	66 8b 46 46          	mov    0x46(%esi),%ax
   12cd2:	25 ff ff 00 00       	and    $0xffff,%eax
   12cd7:	50                   	push   %eax
   12cd8:	57                   	push   %edi
   12cd9:	e8 e2 fa ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12cde:	83 c4 20             	add    $0x20,%esp
   12ce1:	8d 43 18             	lea    0x18(%ebx),%eax
   12ce4:	50                   	push   %eax
   12ce5:	66 8b 46 3c          	mov    0x3c(%esi),%ax
   12ce9:	25 ff ff 00 00       	and    $0xffff,%eax
   12cee:	50                   	push   %eax
   12cef:	66 8b 46 3e          	mov    0x3e(%esi),%ax
   12cf3:	25 ff ff 00 00       	and    $0xffff,%eax
   12cf8:	50                   	push   %eax
   12cf9:	57                   	push   %edi
   12cfa:	e8 c1 fa ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12cff:	8b 43 18             	mov    0x18(%ebx),%eax
   12d02:	8b 53 1c             	mov    0x1c(%ebx),%edx
   12d05:	89 43 20             	mov    %eax,0x20(%ebx)
   12d08:	89 53 24             	mov    %edx,0x24(%ebx)
   12d0b:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12d12:	8b 46 38             	mov    0x38(%esi),%eax
   12d15:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12d1c:	89 43 28             	mov    %eax,0x28(%ebx)
   12d1f:	31 d2                	xor    %edx,%edx
   12d21:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12d27:	8b 46 38             	mov    0x38(%esi),%eax
   12d2a:	01 c8                	add    %ecx,%eax
   12d2c:	48                   	dec    %eax
   12d2d:	f7 f1                	div    %ecx
   12d2f:	0f af c1             	imul   %ecx,%eax
   12d32:	89 43 30             	mov    %eax,0x30(%ebx)
   12d35:	31 c0                	xor    %eax,%eax
   12d37:	8a 46 09             	mov    0x9(%esi),%al
   12d3a:	e9 4e ff ff ff       	jmp    12c8d <_VfatGetFileFullDirectoryInformation+0xfd>
   12d3f:	90                   	nop    

00012d40 <_VfatGetFileBothInformation>:
   12d40:	55                   	push   %ebp
   12d41:	b9 05 00 00 80       	mov    $0x80000005,%ecx
   12d46:	89 e5                	mov    %esp,%ebp
   12d48:	57                   	push   %edi
   12d49:	56                   	push   %esi
   12d4a:	53                   	push   %ebx
   12d4b:	83 ec 0c             	sub    $0xc,%esp
   12d4e:	8b 75 08             	mov    0x8(%ebp),%esi
   12d51:	8b 7d 0c             	mov    0xc(%ebp),%edi
   12d54:	8b 5d 10             	mov    0x10(%ebp),%ebx
   12d57:	66 8b 46 48          	mov    0x48(%esi),%ax
   12d5b:	89 c2                	mov    %eax,%edx
   12d5d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   12d63:	8d 42 60             	lea    0x60(%edx),%eax
   12d66:	3b 45 14             	cmp    0x14(%ebp),%eax
   12d69:	0f 87 eb 00 00 00    	ja     12e5a <_VfatGetFileBothInformation+0x11a>
   12d6f:	f6 87 cc 00 04 00 04 	testb  $0x4,0x400cc(%edi)
   12d76:	0f 84 e8 00 00 00    	je     12e64 <_VfatGetFileBothInformation+0x124>
   12d7c:	89 53 3c             	mov    %edx,0x3c(%ebx)
   12d7f:	66 8b 46 48          	mov    0x48(%esi),%ax
   12d83:	51                   	push   %ecx
   12d84:	25 ff ff 00 00       	and    $0xffff,%eax
   12d89:	8d 53 5e             	lea    0x5e(%ebx),%edx
   12d8c:	50                   	push   %eax
   12d8d:	8b 46 4c             	mov    0x4c(%esi),%eax
   12d90:	50                   	push   %eax
   12d91:	52                   	push   %edx
   12d92:	e8 49 9a 00 00       	call   1c7e0 <_memcpy>
   12d97:	66 8b 46 48          	mov    0x48(%esi),%ax
   12d9b:	25 ff ff 00 00       	and    $0xffff,%eax
   12da0:	66 c7 43 46 00 00    	movw   $0x0,0x46(%ebx)
   12da6:	83 c0 63             	add    $0x63,%eax
   12da9:	c6 43 44 00          	movb   $0x0,0x44(%ebx)
   12dad:	25 fc ff 01 00       	and    $0x1fffc,%eax
   12db2:	89 03                	mov    %eax,(%ebx)
   12db4:	8d 43 08             	lea    0x8(%ebx),%eax
   12db7:	50                   	push   %eax
   12db8:	66 8b 46 40          	mov    0x40(%esi),%ax
   12dbc:	25 ff ff 00 00       	and    $0xffff,%eax
   12dc1:	50                   	push   %eax
   12dc2:	66 8b 46 42          	mov    0x42(%esi),%ax
   12dc6:	25 ff ff 00 00       	and    $0xffff,%eax
   12dcb:	50                   	push   %eax
   12dcc:	57                   	push   %edi
   12dcd:	e8 ee f9 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12dd2:	83 c4 20             	add    $0x20,%esp
   12dd5:	8d 43 10             	lea    0x10(%ebx),%eax
   12dd8:	50                   	push   %eax
   12dd9:	66 8b 46 44          	mov    0x44(%esi),%ax
   12ddd:	25 ff ff 00 00       	and    $0xffff,%eax
   12de2:	50                   	push   %eax
   12de3:	66 8b 46 46          	mov    0x46(%esi),%ax
   12de7:	25 ff ff 00 00       	and    $0xffff,%eax
   12dec:	50                   	push   %eax
   12ded:	57                   	push   %edi
   12dee:	e8 cd f9 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12df3:	8d 43 18             	lea    0x18(%ebx),%eax
   12df6:	50                   	push   %eax
   12df7:	66 8b 46 3c          	mov    0x3c(%esi),%ax
   12dfb:	25 ff ff 00 00       	and    $0xffff,%eax
   12e00:	50                   	push   %eax
   12e01:	66 8b 46 3e          	mov    0x3e(%esi),%ax
   12e05:	25 ff ff 00 00       	and    $0xffff,%eax
   12e0a:	50                   	push   %eax
   12e0b:	57                   	push   %edi
   12e0c:	e8 af f9 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12e11:	8b 43 18             	mov    0x18(%ebx),%eax
   12e14:	8b 53 1c             	mov    0x1c(%ebx),%edx
   12e17:	89 43 20             	mov    %eax,0x20(%ebx)
   12e1a:	89 53 24             	mov    %edx,0x24(%ebx)
   12e1d:	83 c4 20             	add    $0x20,%esp
   12e20:	f6 46 09 10          	testb  $0x10,0x9(%esi)
   12e24:	0f 84 19 01 00 00    	je     12f43 <_VfatGetFileBothInformation+0x203>
   12e2a:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
   12e31:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12e38:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
   12e3f:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12e46:	31 c0                	xor    %eax,%eax
   12e48:	8a 46 09             	mov    0x9(%esi),%al
   12e4b:	83 e0 3f             	and    $0x3f,%eax
   12e4e:	c7 43 40 00 00 00 00 	movl   $0x0,0x40(%ebx)
   12e55:	89 43 38             	mov    %eax,0x38(%ebx)
   12e58:	31 c9                	xor    %ecx,%ecx
   12e5a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   12e5d:	89 c8                	mov    %ecx,%eax
   12e5f:	5b                   	pop    %ebx
   12e60:	5e                   	pop    %esi
   12e61:	5f                   	pop    %edi
   12e62:	5d                   	pop    %ebp
   12e63:	c3                   	ret    
   12e64:	89 53 3c             	mov    %edx,0x3c(%ebx)
   12e67:	66 8b 46 48          	mov    0x48(%esi),%ax
   12e6b:	8d 53 46             	lea    0x46(%ebx),%edx
   12e6e:	25 ff ff 00 00       	and    $0xffff,%eax
   12e73:	83 c0 63             	add    $0x63,%eax
   12e76:	25 fc ff 01 00       	and    $0x1fffc,%eax
   12e7b:	89 03                	mov    %eax,(%ebx)
   12e7d:	66 8b 46 50          	mov    0x50(%esi),%ax
   12e81:	51                   	push   %ecx
   12e82:	25 ff ff 00 00       	and    $0xffff,%eax
   12e87:	50                   	push   %eax
   12e88:	8b 46 54             	mov    0x54(%esi),%eax
   12e8b:	50                   	push   %eax
   12e8c:	52                   	push   %edx
   12e8d:	e8 4e 99 00 00       	call   1c7e0 <_memcpy>
   12e92:	66 8b 46 50          	mov    0x50(%esi),%ax
   12e96:	88 43 44             	mov    %al,0x44(%ebx)
   12e99:	83 c4 0c             	add    $0xc,%esp
   12e9c:	66 8b 46 48          	mov    0x48(%esi),%ax
   12ea0:	8d 53 5e             	lea    0x5e(%ebx),%edx
   12ea3:	25 ff ff 00 00       	and    $0xffff,%eax
   12ea8:	50                   	push   %eax
   12ea9:	8b 46 4c             	mov    0x4c(%esi),%eax
   12eac:	50                   	push   %eax
   12ead:	52                   	push   %edx
   12eae:	e8 2d 99 00 00       	call   1c7e0 <_memcpy>
   12eb3:	8d 43 08             	lea    0x8(%ebx),%eax
   12eb6:	50                   	push   %eax
   12eb7:	66 8b 46 16          	mov    0x16(%esi),%ax
   12ebb:	25 ff ff 00 00       	and    $0xffff,%eax
   12ec0:	50                   	push   %eax
   12ec1:	66 8b 46 18          	mov    0x18(%esi),%ax
   12ec5:	25 ff ff 00 00       	and    $0xffff,%eax
   12eca:	50                   	push   %eax
   12ecb:	57                   	push   %edi
   12ecc:	e8 ef f8 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12ed1:	83 c4 20             	add    $0x20,%esp
   12ed4:	8d 43 10             	lea    0x10(%ebx),%eax
   12ed7:	50                   	push   %eax
   12ed8:	6a 00                	push   $0x0
   12eda:	66 8b 46 1a          	mov    0x1a(%esi),%ax
   12ede:	25 ff ff 00 00       	and    $0xffff,%eax
   12ee3:	50                   	push   %eax
   12ee4:	57                   	push   %edi
   12ee5:	e8 d6 f8 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12eea:	8d 43 18             	lea    0x18(%ebx),%eax
   12eed:	50                   	push   %eax
   12eee:	66 8b 46 1e          	mov    0x1e(%esi),%ax
   12ef2:	25 ff ff 00 00       	and    $0xffff,%eax
   12ef7:	50                   	push   %eax
   12ef8:	66 8b 46 20          	mov    0x20(%esi),%ax
   12efc:	25 ff ff 00 00       	and    $0xffff,%eax
   12f01:	50                   	push   %eax
   12f02:	57                   	push   %edi
   12f03:	e8 b8 f8 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   12f08:	8b 43 18             	mov    0x18(%ebx),%eax
   12f0b:	8b 53 1c             	mov    0x1c(%ebx),%edx
   12f0e:	89 43 20             	mov    %eax,0x20(%ebx)
   12f11:	89 53 24             	mov    %edx,0x24(%ebx)
   12f14:	83 c4 20             	add    $0x20,%esp
   12f17:	f6 46 13 10          	testb  $0x10,0x13(%esi)
   12f1b:	74 55                	je     12f72 <_VfatGetFileBothInformation+0x232>
   12f1d:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
   12f24:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12f2b:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
   12f32:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12f39:	31 c0                	xor    %eax,%eax
   12f3b:	8a 46 13             	mov    0x13(%esi),%al
   12f3e:	e9 08 ff ff ff       	jmp    12e4b <_VfatGetFileBothInformation+0x10b>
   12f43:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12f4a:	31 d2                	xor    %edx,%edx
   12f4c:	8b 46 38             	mov    0x38(%esi),%eax
   12f4f:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12f56:	89 43 28             	mov    %eax,0x28(%ebx)
   12f59:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12f5f:	8b 46 38             	mov    0x38(%esi),%eax
   12f62:	01 c8                	add    %ecx,%eax
   12f64:	48                   	dec    %eax
   12f65:	f7 f1                	div    %ecx
   12f67:	0f af c1             	imul   %ecx,%eax
   12f6a:	89 43 30             	mov    %eax,0x30(%ebx)
   12f6d:	e9 d4 fe ff ff       	jmp    12e46 <_VfatGetFileBothInformation+0x106>
   12f72:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   12f79:	31 d2                	xor    %edx,%edx
   12f7b:	8b 46 24             	mov    0x24(%esi),%eax
   12f7e:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   12f85:	89 43 28             	mov    %eax,0x28(%ebx)
   12f88:	8b 8f ac 00 04 00    	mov    0x400ac(%edi),%ecx
   12f8e:	8b 46 24             	mov    0x24(%esi),%eax
   12f91:	01 c8                	add    %ecx,%eax
   12f93:	48                   	dec    %eax
   12f94:	f7 f1                	div    %ecx
   12f96:	0f af c1             	imul   %ecx,%eax
   12f99:	89 43 30             	mov    %eax,0x30(%ebx)
   12f9c:	31 c0                	xor    %eax,%eax
   12f9e:	8a 46 13             	mov    0x13(%esi),%al
   12fa1:	e9 a5 fe ff ff       	jmp    12e4b <_VfatGetFileBothInformation+0x10b>
   12fa6:	8d 76 00             	lea    0x0(%esi),%esi
   12fa9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00012fb0 <_DoQuery>:
   12fb0:	55                   	push   %ebp
   12fb1:	89 e5                	mov    %esp,%ebp
   12fb3:	57                   	push   %edi
   12fb4:	56                   	push   %esi
   12fb5:	53                   	push   %ebx
   12fb6:	81 ec d8 02 00 00    	sub    $0x2d8,%esp
   12fbc:	c7 85 44 fd ff ff 00 	movl   $0x0,0xfffffd44(%ebp)
   12fc3:	00 00 00 
   12fc6:	8b 45 08             	mov    0x8(%ebp),%eax
   12fc9:	c6 85 3f fd ff ff 00 	movb   $0x0,0xfffffd3f(%ebp)
   12fd0:	89 c2                	mov    %eax,%edx
   12fd2:	31 ff                	xor    %edi,%edi
   12fd4:	8b 58 20             	mov    0x20(%eax),%ebx
   12fd7:	8b 40 28             	mov    0x28(%eax),%eax
   12fda:	8b 70 10             	mov    0x10(%eax),%esi
   12fdd:	8b 40 0c             	mov    0xc(%eax),%eax
   12fe0:	89 85 40 fd ff ff    	mov    %eax,0xfffffd40(%ebp)
   12fe6:	8b 43 04             	mov    0x4(%ebx),%eax
   12fe9:	89 85 54 fd ff ff    	mov    %eax,0xfffffd54(%ebp)
   12fef:	8b 0a                	mov    (%edx),%ecx
   12ff1:	51                   	push   %ecx
   12ff2:	e8 79 7e 00 00       	call   1ae70 <_VfatGetUserBuffer>
   12ff7:	89 85 48 fd ff ff    	mov    %eax,0xfffffd48(%ebp)
   12ffd:	58                   	pop    %eax
   12ffe:	5a                   	pop    %edx
   12fff:	8b 55 08             	mov    0x8(%ebp),%edx
   13002:	31 c0                	xor    %eax,%eax
   13004:	8a 42 0c             	mov    0xc(%edx),%al
   13007:	83 e0 01             	and    $0x1,%eax
   1300a:	50                   	push   %eax
   1300b:	8b 85 40 fd ff ff    	mov    0xfffffd40(%ebp),%eax
   13011:	83 c0 34             	add    $0x34,%eax
   13014:	89 85 38 fd ff ff    	mov    %eax,0xfffffd38(%ebp)
   1301a:	50                   	push   %eax
   1301b:	ff 15 40 02 02 00    	call   *0x20240
   13021:	5a                   	pop    %edx
   13022:	84 c0                	test   %al,%al
   13024:	59                   	pop    %ecx
   13025:	0f 84 eb 01 00 00    	je     13216 <_DoQuery+0x266>
   1302b:	8b 43 08             	mov    0x8(%ebx),%eax
   1302e:	89 85 50 fd ff ff    	mov    %eax,0xfffffd50(%ebp)
   13034:	85 c0                	test   %eax,%eax
   13036:	8b 53 0c             	mov    0xc(%ebx),%edx
   13039:	89 95 4c fd ff ff    	mov    %edx,0xfffffd4c(%ebp)
   1303f:	8b 5b 10             	mov    0x10(%ebx),%ebx
   13042:	0f 84 f8 02 00 00    	je     13340 <_DoQuery+0x390>
   13048:	8b 4e 10             	mov    0x10(%esi),%ecx
   1304b:	85 c9                	test   %ecx,%ecx
   1304d:	0f 84 02 02 00 00    	je     13255 <_DoQuery+0x2a5>
   13053:	8b 55 08             	mov    0x8(%ebp),%edx
   13056:	8b 42 20             	mov    0x20(%edx),%eax
   13059:	8a 40 02             	mov    0x2(%eax),%al
   1305c:	25 ff 00 00 00       	and    $0xff,%eax
   13061:	a8 04                	test   $0x4,%al
   13063:	0f 84 8e 01 00 00    	je     131f7 <_DoQuery+0x247>
   13069:	8b 06                	mov    (%esi),%eax
   1306b:	89 46 08             	mov    %eax,0x8(%esi)
   1306e:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   13071:	c6 85 3e fd ff ff 01 	movb   $0x1,0xfffffd3e(%ebp)
   13078:	8d 85 78 fd ff ff    	lea    0xfffffd78(%ebp),%eax
   1307e:	8b 8d 54 fd ff ff    	mov    0xfffffd54(%ebp),%ecx
   13084:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   13087:	8d 85 58 fd ff ff    	lea    0xfffffd58(%ebp),%eax
   1308d:	66 c7 45 d2 02 02    	movw   $0x202,0xffffffd2(%ebp)
   13093:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   13096:	66 c7 45 da 1a 00    	movw   $0x1a,0xffffffda(%ebp)
   1309c:	85 c9                	test   %ecx,%ecx
   1309e:	0f 8e f4 00 00 00    	jle    13198 <_DoQuery+0x1e8>
   130a4:	8d 46 0c             	lea    0xc(%esi),%eax
   130a7:	89 85 34 fd ff ff    	mov    %eax,0xfffffd34(%ebp)
   130ad:	8d 76 00             	lea    0x0(%esi),%esi
   130b0:	83 ec 0c             	sub    $0xc,%esp
   130b3:	31 c0                	xor    %eax,%eax
   130b5:	8a 85 3e fd ff ff    	mov    0xfffffd3e(%ebp),%al
   130bb:	8d 55 88             	lea    0xffffff88(%ebp),%edx
   130be:	50                   	push   %eax
   130bf:	8b 85 40 fd ff ff    	mov    0xfffffd40(%ebp),%eax
   130c5:	52                   	push   %edx
   130c6:	8b 95 34 fd ff ff    	mov    0xfffffd34(%ebp),%edx
   130cc:	52                   	push   %edx
   130cd:	50                   	push   %eax
   130ce:	8b 45 08             	mov    0x8(%ebp),%eax
   130d1:	8b 40 08             	mov    0x8(%eax),%eax
   130d4:	50                   	push   %eax
   130d5:	e8 66 ea ff ff       	call   11b40 <_FindFile>
   130da:	89 c7                	mov    %eax,%edi
   130dc:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
   130df:	89 46 08             	mov    %eax,0x8(%esi)
   130e2:	83 c4 20             	add    $0x20,%esp
   130e5:	c6 85 3e fd ff ff 00 	movb   $0x0,0xfffffd3e(%ebp)
   130ec:	85 ff                	test   %edi,%edi
   130ee:	0f 88 92 02 00 00    	js     13386 <_DoQuery+0x3d6>
   130f4:	83 bd 4c fd ff ff 02 	cmpl   $0x2,0xfffffd4c(%ebp)
   130fb:	0f 84 ff 01 00 00    	je     13300 <_DoQuery+0x350>
   13101:	0f 87 b9 00 00 00    	ja     131c0 <_DoQuery+0x210>
   13107:	83 bd 4c fd ff ff 01 	cmpl   $0x1,0xfffffd4c(%ebp)
   1310e:	0f 84 9e 01 00 00    	je     132b2 <_DoQuery+0x302>
   13114:	bf 03 00 00 c0       	mov    $0xc0000003,%edi
   13119:	8b 85 48 fd ff ff    	mov    0xfffffd48(%ebp),%eax
   1311f:	89 85 44 fd ff ff    	mov    %eax,0xfffffd44(%ebp)
   13125:	89 d8                	mov    %ebx,%eax
   13127:	8b 95 44 fd ff ff    	mov    0xfffffd44(%ebp),%edx
   1312d:	43                   	inc    %ebx
   1312e:	89 42 04             	mov    %eax,0x4(%edx)
   13131:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
   13134:	40                   	inc    %eax
   13135:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   13138:	89 46 08             	mov    %eax,0x8(%esi)
   1313b:	8b 55 08             	mov    0x8(%ebp),%edx
   1313e:	8b 42 20             	mov    0x20(%edx),%eax
   13141:	f6 40 02 02          	testb  $0x2,0x2(%eax)
   13145:	75 3b                	jne    13182 <_DoQuery+0x1d2>
   13147:	8b 95 44 fd ff ff    	mov    0xfffffd44(%ebp),%edx
   1314d:	8b 8d 54 fd ff ff    	mov    0xfffffd54(%ebp),%ecx
   13153:	8b 02                	mov    (%edx),%eax
   13155:	29 c1                	sub    %eax,%ecx
   13157:	01 d0                	add    %edx,%eax
   13159:	89 8d 54 fd ff ff    	mov    %ecx,0xfffffd54(%ebp)
   1315f:	89 85 48 fd ff ff    	mov    %eax,0xfffffd48(%ebp)
   13165:	8b 85 54 fd ff ff    	mov    0xfffffd54(%ebp),%eax
   1316b:	85 ff                	test   %edi,%edi
   1316d:	0f 94 c2             	sete   %dl
   13170:	85 c0                	test   %eax,%eax
   13172:	0f 9f c0             	setg   %al
   13175:	25 ff 00 00 00       	and    $0xff,%eax
   1317a:	85 c2                	test   %eax,%edx
   1317c:	0f 85 2e ff ff ff    	jne    130b0 <_DoQuery+0x100>
   13182:	8b b5 44 fd ff ff    	mov    0xfffffd44(%ebp),%esi
   13188:	85 f6                	test   %esi,%esi
   1318a:	74 0c                	je     13198 <_DoQuery+0x1e8>
   1318c:	8b 85 44 fd ff ff    	mov    0xfffffd44(%ebp),%eax
   13192:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   13198:	85 db                	test   %ebx,%ebx
   1319a:	8b 8d 38 fd ff ff    	mov    0xfffffd38(%ebp),%ecx
   131a0:	0f 94 c0             	sete   %al
   131a3:	25 ff 00 00 00       	and    $0xff,%eax
   131a8:	f7 d8                	neg    %eax
   131aa:	21 c7                	and    %eax,%edi
   131ac:	ff 15 e8 01 02 00    	call   *0x201e8
   131b2:	89 f8                	mov    %edi,%eax
   131b4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   131b7:	5b                   	pop    %ebx
   131b8:	5e                   	pop    %esi
   131b9:	5f                   	pop    %edi
   131ba:	5d                   	pop    %ebp
   131bb:	c3                   	ret    
   131bc:	8d 74 26 00          	lea    0x0(%esi),%esi
   131c0:	83 bd 4c fd ff ff 03 	cmpl   $0x3,0xfffffd4c(%ebp)
   131c7:	0f 84 53 01 00 00    	je     13320 <_DoQuery+0x370>
   131cd:	83 bd 4c fd ff ff 09 	cmpl   $0x9,0xfffffd4c(%ebp)
   131d4:	0f 85 3a ff ff ff    	jne    13114 <_DoQuery+0x164>
   131da:	50                   	push   %eax
   131db:	8b 85 54 fd ff ff    	mov    0xfffffd54(%ebp),%eax
   131e1:	8d 55 88             	lea    0xffffff88(%ebp),%edx
   131e4:	50                   	push   %eax
   131e5:	8b 85 48 fd ff ff    	mov    0xfffffd48(%ebp),%eax
   131eb:	50                   	push   %eax
   131ec:	52                   	push   %edx
   131ed:	e8 2e f7 ff ff       	call   12920 <_VfatGetFileNameInformation>
   131f2:	e9 d9 00 00 00       	jmp    132d0 <_DoQuery+0x320>
   131f7:	80 bd 3f fd ff ff 00 	cmpb   $0x0,0xfffffd3f(%ebp)
   131fe:	75 42                	jne    13242 <_DoQuery+0x292>
   13200:	a8 01                	test   $0x1,%al
   13202:	75 3e                	jne    13242 <_DoQuery+0x292>
   13204:	8b 46 08             	mov    0x8(%esi),%eax
   13207:	c6 85 3e fd ff ff 00 	movb   $0x0,0xfffffd3e(%ebp)
   1320e:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   13211:	e9 62 fe ff ff       	jmp    13078 <_DoQuery+0xc8>
   13216:	8b b5 54 fd ff ff    	mov    0xfffffd54(%ebp),%esi
   1321c:	8b 55 08             	mov    0x8(%ebp),%edx
   1321f:	57                   	push   %edi
   13220:	6a 01                	push   $0x1
   13222:	56                   	push   %esi
   13223:	8b 1a                	mov    (%edx),%ebx
   13225:	53                   	push   %ebx
   13226:	e8 85 7c 00 00       	call   1aeb0 <_VfatLockUserBuffer>
   1322b:	83 c4 10             	add    $0x10,%esp
   1322e:	89 c7                	mov    %eax,%edi
   13230:	85 c0                	test   %eax,%eax
   13232:	0f 88 7a ff ff ff    	js     131b2 <_DoQuery+0x202>
   13238:	bf 03 01 00 00       	mov    $0x103,%edi
   1323d:	e9 70 ff ff ff       	jmp    131b2 <_DoQuery+0x202>
   13242:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
   13249:	c7 45 8c 00 00 00 00 	movl   $0x0,0xffffff8c(%ebp)
   13250:	e9 1c fe ff ff       	jmp    13071 <_DoQuery+0xc1>
   13255:	c6 85 3f fd ff ff 01 	movb   $0x1,0xfffffd3f(%ebp)
   1325c:	66 8b 00             	mov    (%eax),%ax
   1325f:	83 c0 02             	add    $0x2,%eax
   13262:	66 89 46 0e          	mov    %ax,0xe(%esi)
   13266:	25 ff ff 00 00       	and    $0xffff,%eax
   1326b:	52                   	push   %edx
   1326c:	52                   	push   %edx
   1326d:	50                   	push   %eax
   1326e:	6a 00                	push   $0x0
   13270:	ff 15 44 02 02 00    	call   *0x20244
   13276:	85 c0                	test   %eax,%eax
   13278:	89 46 10             	mov    %eax,0x10(%esi)
   1327b:	5a                   	pop    %edx
   1327c:	59                   	pop    %ecx
   1327d:	0f 84 35 01 00 00    	je     133b8 <_DoQuery+0x408>
   13283:	8b 8d 50 fd ff ff    	mov    0xfffffd50(%ebp),%ecx
   13289:	50                   	push   %eax
   1328a:	50                   	push   %eax
   1328b:	8d 46 0c             	lea    0xc(%esi),%eax
   1328e:	51                   	push   %ecx
   1328f:	50                   	push   %eax
   13290:	ff 15 14 03 02 00    	call   *0x20314
   13296:	66 8b 46 0c          	mov    0xc(%esi),%ax
   1329a:	8b 56 10             	mov    0x10(%esi),%edx
   1329d:	66 d1 e8             	shr    %ax
   132a0:	25 ff ff 00 00       	and    $0xffff,%eax
   132a5:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   132ab:	58                   	pop    %eax
   132ac:	5a                   	pop    %edx
   132ad:	e9 a1 fd ff ff       	jmp    13053 <_DoQuery+0xa3>
   132b2:	8b 85 54 fd ff ff    	mov    0xfffffd54(%ebp),%eax
   132b8:	8b bd 48 fd ff ff    	mov    0xfffffd48(%ebp),%edi
   132be:	50                   	push   %eax
   132bf:	8b 45 08             	mov    0x8(%ebp),%eax
   132c2:	57                   	push   %edi
   132c3:	8d 55 88             	lea    0xffffff88(%ebp),%edx
   132c6:	8b 48 08             	mov    0x8(%eax),%ecx
   132c9:	51                   	push   %ecx
   132ca:	52                   	push   %edx
   132cb:	e8 b0 f6 ff ff       	call   12980 <_VfatGetFileDirectoryInformation>
   132d0:	83 c4 10             	add    $0x10,%esp
   132d3:	89 c7                	mov    %eax,%edi
   132d5:	3d 05 00 00 80       	cmp    $0x80000005,%eax
   132da:	0f 85 39 fe ff ff    	jne    13119 <_DoQuery+0x169>
   132e0:	8b 85 44 fd ff ff    	mov    0xfffffd44(%ebp),%eax
   132e6:	85 c0                	test   %eax,%eax
   132e8:	0f 84 aa fe ff ff    	je     13198 <_DoQuery+0x1e8>
   132ee:	8b 85 44 fd ff ff    	mov    0xfffffd44(%ebp),%eax
   132f4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   132fa:	e9 83 fe ff ff       	jmp    13182 <_DoQuery+0x1d2>
   132ff:	90                   	nop    
   13300:	8b 95 54 fd ff ff    	mov    0xfffffd54(%ebp),%edx
   13306:	8b 85 48 fd ff ff    	mov    0xfffffd48(%ebp),%eax
   1330c:	52                   	push   %edx
   1330d:	50                   	push   %eax
   1330e:	8b 45 08             	mov    0x8(%ebp),%eax
   13311:	8d 55 88             	lea    0xffffff88(%ebp),%edx
   13314:	8b 40 08             	mov    0x8(%eax),%eax
   13317:	50                   	push   %eax
   13318:	52                   	push   %edx
   13319:	e8 72 f8 ff ff       	call   12b90 <_VfatGetFileFullDirectoryInformation>
   1331e:	eb b0                	jmp    132d0 <_DoQuery+0x320>
   13320:	8b 85 54 fd ff ff    	mov    0xfffffd54(%ebp),%eax
   13326:	8d 55 88             	lea    0xffffff88(%ebp),%edx
   13329:	50                   	push   %eax
   1332a:	8b 85 48 fd ff ff    	mov    0xfffffd48(%ebp),%eax
   13330:	50                   	push   %eax
   13331:	8b 45 08             	mov    0x8(%ebp),%eax
   13334:	8b 40 08             	mov    0x8(%eax),%eax
   13337:	50                   	push   %eax
   13338:	52                   	push   %edx
   13339:	e8 02 fa ff ff       	call   12d40 <_VfatGetFileBothInformation>
   1333e:	eb 90                	jmp    132d0 <_DoQuery+0x320>
   13340:	8b 46 10             	mov    0x10(%esi),%eax
   13343:	85 c0                	test   %eax,%eax
   13345:	0f 85 08 fd ff ff    	jne    13053 <_DoQuery+0xa3>
   1334b:	c6 85 3f fd ff ff 01 	movb   $0x1,0xfffffd3f(%ebp)
   13352:	66 c7 46 0e 04 00    	movw   $0x4,0xe(%esi)
   13358:	50                   	push   %eax
   13359:	50                   	push   %eax
   1335a:	6a 04                	push   $0x4
   1335c:	6a 00                	push   $0x0
   1335e:	ff 15 44 02 02 00    	call   *0x20244
   13364:	85 c0                	test   %eax,%eax
   13366:	89 46 10             	mov    %eax,0x10(%esi)
   13369:	5a                   	pop    %edx
   1336a:	59                   	pop    %ecx
   1336b:	74 4b                	je     133b8 <_DoQuery+0x408>
   1336d:	66 c7 00 2a 00       	movw   $0x2a,(%eax)
   13372:	8b 46 10             	mov    0x10(%esi),%eax
   13375:	66 c7 40 02 00 00    	movw   $0x0,0x2(%eax)
   1337b:	66 c7 46 0c 02 00    	movw   $0x2,0xc(%esi)
   13381:	e9 cd fc ff ff       	jmp    13053 <_DoQuery+0xa3>
   13386:	8b b5 44 fd ff ff    	mov    0xfffffd44(%ebp),%esi
   1338c:	85 f6                	test   %esi,%esi
   1338e:	74 0c                	je     1339c <_DoQuery+0x3ec>
   13390:	8b 95 44 fd ff ff    	mov    0xfffffd44(%ebp),%edx
   13396:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   1339c:	bf 06 00 00 80       	mov    $0x80000006,%edi
   133a1:	80 bd 3f fd ff ff 00 	cmpb   $0x0,0xfffffd3f(%ebp)
   133a8:	0f 84 d4 fd ff ff    	je     13182 <_DoQuery+0x1d2>
   133ae:	bf 0f 00 00 c0       	mov    $0xc000000f,%edi
   133b3:	e9 ca fd ff ff       	jmp    13182 <_DoQuery+0x1d2>
   133b8:	8b 8d 38 fd ff ff    	mov    0xfffffd38(%ebp),%ecx
   133be:	ff 15 e8 01 02 00    	call   *0x201e8
   133c4:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   133c9:	e9 e6 fd ff ff       	jmp    131b4 <_DoQuery+0x204>
   133ce:	89 f6                	mov    %esi,%esi

000133d0 <_VfatDirectoryControl>:
   133d0:	55                   	push   %ebp
   133d1:	31 c0                	xor    %eax,%eax
   133d3:	89 e5                	mov    %esp,%ebp
   133d5:	56                   	push   %esi
   133d6:	53                   	push   %ebx
   133d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
   133da:	8a 43 25             	mov    0x25(%ebx),%al
   133dd:	83 f8 01             	cmp    $0x1,%eax
   133e0:	74 4e                	je     13430 <_VfatDirectoryControl+0x60>
   133e2:	be 02 00 00 c0       	mov    $0xc0000002,%esi
   133e7:	83 f8 02             	cmp    $0x2,%eax
   133ea:	74 15                	je     13401 <_VfatDirectoryControl+0x31>
   133ec:	52                   	push   %edx
   133ed:	52                   	push   %edx
   133ee:	50                   	push   %eax
   133ef:	68 30 e0 01 00       	push   $0x1e030
   133f4:	66 be 10 00          	mov    $0x10,%si
   133f8:	ff 15 38 02 02 00    	call   *0x20238
   133fe:	83 c4 10             	add    $0x10,%esp
   13401:	8b 03                	mov    (%ebx),%eax
   13403:	31 d2                	xor    %edx,%edx
   13405:	89 70 18             	mov    %esi,0x18(%eax)
   13408:	8b 03                	mov    (%ebx),%eax
   1340a:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   13411:	8b 0b                	mov    (%ebx),%ecx
   13413:	ff 15 00 02 02 00    	call   *0x20200
   13419:	83 ec 0c             	sub    $0xc,%esp
   1341c:	53                   	push   %ebx
   1341d:	e8 0e 76 00 00       	call   1aa30 <_VfatFreeIrpContext>
   13422:	89 f0                	mov    %esi,%eax
   13424:	83 c4 10             	add    $0x10,%esp
   13427:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1342a:	5b                   	pop    %ebx
   1342b:	5e                   	pop    %esi
   1342c:	5d                   	pop    %ebp
   1342d:	c3                   	ret    
   1342e:	89 f6                	mov    %esi,%esi
   13430:	83 ec 0c             	sub    $0xc,%esp
   13433:	53                   	push   %ebx
   13434:	e8 77 fb ff ff       	call   12fb0 <_DoQuery>
   13439:	83 c4 10             	add    $0x10,%esp
   1343c:	89 c6                	mov    %eax,%esi
   1343e:	3d 03 01 00 00       	cmp    $0x103,%eax
   13443:	75 bc                	jne    13401 <_VfatDirectoryControl+0x31>
   13445:	83 ec 0c             	sub    $0xc,%esp
   13448:	53                   	push   %ebx
   13449:	e8 d2 79 00 00       	call   1ae20 <_VfatQueueRequest>
   1344e:	89 c6                	mov    %eax,%esi
   13450:	eb d0                	jmp    13422 <_VfatDirectoryControl+0x52>
   13452:	90                   	nop    
   13453:	90                   	nop    
   13454:	90                   	nop    
   13455:	90                   	nop    
   13456:	90                   	nop    
   13457:	90                   	nop    
   13458:	90                   	nop    
   13459:	90                   	nop    
   1345a:	90                   	nop    
   1345b:	90                   	nop    
   1345c:	90                   	nop    
   1345d:	90                   	nop    
   1345e:	90                   	nop    
   1345f:	90                   	nop    

00013460 <_vfatDirEntryGetFirstCluster>:
   13460:	55                   	push   %ebp
   13461:	89 e5                	mov    %esp,%ebp
   13463:	8b 55 08             	mov    0x8(%ebp),%edx
   13466:	8b 45 0c             	mov    0xc(%ebp),%eax
   13469:	83 ba b4 00 04 00 03 	cmpl   $0x3,0x400b4(%edx)
   13470:	74 1e                	je     13490 <_vfatDirEntryGetFirstCluster+0x30>
   13472:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   13479:	74 05                	je     13480 <_vfatDirEntryGetFirstCluster+0x20>
   1347b:	8b 40 2c             	mov    0x2c(%eax),%eax
   1347e:	5d                   	pop    %ebp
   1347f:	c3                   	ret    
   13480:	66 8b 40 1a          	mov    0x1a(%eax),%ax
   13484:	5d                   	pop    %ebp
   13485:	25 ff ff 00 00       	and    $0xffff,%eax
   1348a:	c3                   	ret    
   1348b:	90                   	nop    
   1348c:	8d 74 26 00          	lea    0x0(%esi),%esi
   13490:	66 8b 50 1a          	mov    0x1a(%eax),%dx
   13494:	66 8b 40 14          	mov    0x14(%eax),%ax
   13498:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1349e:	5d                   	pop    %ebp
   1349f:	c1 e0 10             	shl    $0x10,%eax
   134a2:	8d 04 02             	lea    (%edx,%eax,1),%eax
   134a5:	c3                   	ret    
   134a6:	8d 76 00             	lea    0x0(%esi),%esi
   134a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000134b0 <_FATIsDirectoryEmpty>:
   134b0:	55                   	push   %ebp
   134b1:	89 e5                	mov    %esp,%ebp
   134b3:	57                   	push   %edi
   134b4:	56                   	push   %esi
   134b5:	53                   	push   %ebx
   134b6:	83 ec 28             	sub    $0x28,%esp
   134b9:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   134c0:	8b 7d 08             	mov    0x8(%ebp),%edi
   134c3:	31 db                	xor    %ebx,%ebx
   134c5:	57                   	push   %edi
   134c6:	e8 65 34 00 00       	call   16930 <_vfatFCBIsRoot>
   134cb:	83 c4 10             	add    $0x10,%esp
   134ce:	84 c0                	test   %al,%al
   134d0:	75 05                	jne    134d7 <_FATIsDirectoryEmpty+0x27>
   134d2:	bb 02 00 00 00       	mov    $0x2,%ebx
   134d7:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   134de:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   134e5:	8b 77 18             	mov    0x18(%edi),%esi
   134e8:	c1 ee 05             	shr    $0x5,%esi
   134eb:	39 f3                	cmp    %esi,%ebx
   134ed:	73 66                	jae    13555 <_FATIsDirectoryEmpty+0xa5>
   134ef:	90                   	nop    
   134f0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   134f3:	85 c0                	test   %eax,%eax
   134f5:	74 11                	je     13508 <_FATIsDirectoryEmpty+0x58>
   134f7:	f6 c3 7f             	test   $0x7f,%bl
   134fa:	75 74                	jne    13570 <_FATIsDirectoryEmpty+0xc0>
   134fc:	83 ec 0c             	sub    $0xc,%esp
   134ff:	50                   	push   %eax
   13500:	e8 7b 91 00 00       	call   1c680 <_CcUnpinData@4>
   13505:	83 c4 0c             	add    $0xc,%esp
   13508:	50                   	push   %eax
   13509:	50                   	push   %eax
   1350a:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1350d:	50                   	push   %eax
   1350e:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13511:	50                   	push   %eax
   13512:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   13515:	6a 01                	push   $0x1
   13517:	68 00 10 00 00       	push   $0x1000
   1351c:	50                   	push   %eax
   1351d:	8b 8f 3c 01 00 00    	mov    0x13c(%edi),%ecx
   13523:	51                   	push   %ecx
   13524:	e8 47 91 00 00       	call   1c670 <_CcMapData@24>
   13529:	59                   	pop    %ecx
   1352a:	84 c0                	test   %al,%al
   1352c:	5a                   	pop    %edx
   1352d:	74 2d                	je     1355c <_FATIsDirectoryEmpty+0xac>
   1352f:	89 d8                	mov    %ebx,%eax
   13531:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   13534:	83 e0 7f             	and    $0x7f,%eax
   13537:	c1 e0 05             	shl    $0x5,%eax
   1353a:	01 d0                	add    %edx,%eax
   1353c:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   1353f:	8a 10                	mov    (%eax),%dl
   13541:	84 d2                	test   %dl,%dl
   13543:	74 3e                	je     13583 <_FATIsDirectoryEmpty+0xd3>
   13545:	80 fa e5             	cmp    $0xe5,%dl
   13548:	75 47                	jne    13591 <_FATIsDirectoryEmpty+0xe1>
   1354a:	83 c0 20             	add    $0x20,%eax
   1354d:	43                   	inc    %ebx
   1354e:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   13551:	39 f3                	cmp    %esi,%ebx
   13553:	72 9b                	jb     134f0 <_FATIsDirectoryEmpty+0x40>
   13555:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13558:	85 c0                	test   %eax,%eax
   1355a:	75 19                	jne    13575 <_FATIsDirectoryEmpty+0xc5>
   1355c:	b8 01 00 00 00       	mov    $0x1,%eax
   13561:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13564:	5b                   	pop    %ebx
   13565:	5e                   	pop    %esi
   13566:	5f                   	pop    %edi
   13567:	5d                   	pop    %ebp
   13568:	c3                   	ret    
   13569:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   13570:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   13573:	eb ca                	jmp    1353f <_FATIsDirectoryEmpty+0x8f>
   13575:	83 ec 0c             	sub    $0xc,%esp
   13578:	50                   	push   %eax
   13579:	e8 02 91 00 00       	call   1c680 <_CcUnpinData@4>
   1357e:	83 c4 0c             	add    $0xc,%esp
   13581:	eb d9                	jmp    1355c <_FATIsDirectoryEmpty+0xac>
   13583:	83 ec 0c             	sub    $0xc,%esp
   13586:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13589:	50                   	push   %eax
   1358a:	e8 f1 90 00 00       	call   1c680 <_CcUnpinData@4>
   1358f:	eb cb                	jmp    1355c <_FATIsDirectoryEmpty+0xac>
   13591:	83 ec 0c             	sub    $0xc,%esp
   13594:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13597:	50                   	push   %eax
   13598:	e8 e3 90 00 00       	call   1c680 <_CcUnpinData@4>
   1359d:	31 c0                	xor    %eax,%eax
   1359f:	eb c0                	jmp    13561 <_FATIsDirectoryEmpty+0xb1>
   135a1:	eb 0d                	jmp    135b0 <_FATXIsDirectoryEmpty>
   135a3:	90                   	nop    
   135a4:	90                   	nop    
   135a5:	90                   	nop    
   135a6:	90                   	nop    
   135a7:	90                   	nop    
   135a8:	90                   	nop    
   135a9:	90                   	nop    
   135aa:	90                   	nop    
   135ab:	90                   	nop    
   135ac:	90                   	nop    
   135ad:	90                   	nop    
   135ae:	90                   	nop    
   135af:	90                   	nop    

000135b0 <_FATXIsDirectoryEmpty>:
   135b0:	55                   	push   %ebp
   135b1:	89 e5                	mov    %esp,%ebp
   135b3:	57                   	push   %edi
   135b4:	56                   	push   %esi
   135b5:	53                   	push   %ebx
   135b6:	83 ec 1c             	sub    $0x1c,%esp
   135b9:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   135c0:	8b 7d 08             	mov    0x8(%ebp),%edi
   135c3:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   135ca:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   135d1:	31 db                	xor    %ebx,%ebx
   135d3:	8b 77 18             	mov    0x18(%edi),%esi
   135d6:	c1 ee 06             	shr    $0x6,%esi
   135d9:	39 f3                	cmp    %esi,%ebx
   135db:	73 69                	jae    13646 <_FATXIsDirectoryEmpty+0x96>
   135dd:	8d 76 00             	lea    0x0(%esi),%esi
   135e0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   135e3:	85 c0                	test   %eax,%eax
   135e5:	74 11                	je     135f8 <_FATXIsDirectoryEmpty+0x48>
   135e7:	f6 c3 3f             	test   $0x3f,%bl
   135ea:	75 74                	jne    13660 <_FATXIsDirectoryEmpty+0xb0>
   135ec:	83 ec 0c             	sub    $0xc,%esp
   135ef:	50                   	push   %eax
   135f0:	e8 8b 90 00 00       	call   1c680 <_CcUnpinData@4>
   135f5:	83 c4 0c             	add    $0xc,%esp
   135f8:	50                   	push   %eax
   135f9:	50                   	push   %eax
   135fa:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   135fd:	50                   	push   %eax
   135fe:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13601:	50                   	push   %eax
   13602:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   13605:	6a 01                	push   $0x1
   13607:	68 00 10 00 00       	push   $0x1000
   1360c:	50                   	push   %eax
   1360d:	8b 8f 3c 01 00 00    	mov    0x13c(%edi),%ecx
   13613:	51                   	push   %ecx
   13614:	e8 57 90 00 00       	call   1c670 <_CcMapData@24>
   13619:	59                   	pop    %ecx
   1361a:	84 c0                	test   %al,%al
   1361c:	5a                   	pop    %edx
   1361d:	74 2e                	je     1364d <_FATXIsDirectoryEmpty+0x9d>
   1361f:	89 d8                	mov    %ebx,%eax
   13621:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   13624:	83 e0 3f             	and    $0x3f,%eax
   13627:	c1 e0 06             	shl    $0x6,%eax
   1362a:	01 d0                	add    %edx,%eax
   1362c:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   1362f:	8a 10                	mov    (%eax),%dl
   13631:	80 fa ff             	cmp    $0xff,%dl
   13634:	74 3d                	je     13673 <_FATXIsDirectoryEmpty+0xc3>
   13636:	80 fa e5             	cmp    $0xe5,%dl
   13639:	75 46                	jne    13681 <_FATXIsDirectoryEmpty+0xd1>
   1363b:	83 c0 40             	add    $0x40,%eax
   1363e:	43                   	inc    %ebx
   1363f:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   13642:	39 f3                	cmp    %esi,%ebx
   13644:	72 9a                	jb     135e0 <_FATXIsDirectoryEmpty+0x30>
   13646:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13649:	85 c0                	test   %eax,%eax
   1364b:	75 18                	jne    13665 <_FATXIsDirectoryEmpty+0xb5>
   1364d:	b8 01 00 00 00       	mov    $0x1,%eax
   13652:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13655:	5b                   	pop    %ebx
   13656:	5e                   	pop    %esi
   13657:	5f                   	pop    %edi
   13658:	5d                   	pop    %ebp
   13659:	c3                   	ret    
   1365a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   13660:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   13663:	eb ca                	jmp    1362f <_FATXIsDirectoryEmpty+0x7f>
   13665:	83 ec 0c             	sub    $0xc,%esp
   13668:	50                   	push   %eax
   13669:	e8 12 90 00 00       	call   1c680 <_CcUnpinData@4>
   1366e:	83 c4 0c             	add    $0xc,%esp
   13671:	eb da                	jmp    1364d <_FATXIsDirectoryEmpty+0x9d>
   13673:	83 ec 0c             	sub    $0xc,%esp
   13676:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13679:	50                   	push   %eax
   1367a:	e8 01 90 00 00       	call   1c680 <_CcUnpinData@4>
   1367f:	eb cc                	jmp    1364d <_FATXIsDirectoryEmpty+0x9d>
   13681:	83 ec 0c             	sub    $0xc,%esp
   13684:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13687:	50                   	push   %eax
   13688:	e8 f3 8f 00 00       	call   1c680 <_CcUnpinData@4>
   1368d:	31 c0                	xor    %eax,%eax
   1368f:	eb c1                	jmp    13652 <_FATXIsDirectoryEmpty+0xa2>
   13691:	eb 0d                	jmp    136a0 <_VfatIsDirectoryEmpty>
   13693:	90                   	nop    
   13694:	90                   	nop    
   13695:	90                   	nop    
   13696:	90                   	nop    
   13697:	90                   	nop    
   13698:	90                   	nop    
   13699:	90                   	nop    
   1369a:	90                   	nop    
   1369b:	90                   	nop    
   1369c:	90                   	nop    
   1369d:	90                   	nop    
   1369e:	90                   	nop    
   1369f:	90                   	nop    

000136a0 <_VfatIsDirectoryEmpty>:
   136a0:	55                   	push   %ebp
   136a1:	89 e5                	mov    %esp,%ebp
   136a3:	50                   	push   %eax
   136a4:	50                   	push   %eax
   136a5:	8b 45 08             	mov    0x8(%ebp),%eax
   136a8:	f6 80 38 01 00 00 40 	testb  $0x40,0x138(%eax)
   136af:	74 10                	je     136c1 <_VfatIsDirectoryEmpty+0x21>
   136b1:	83 ec 0c             	sub    $0xc,%esp
   136b4:	50                   	push   %eax
   136b5:	e8 f6 fe ff ff       	call   135b0 <_FATXIsDirectoryEmpty>
   136ba:	25 ff 00 00 00       	and    $0xff,%eax
   136bf:	c9                   	leave  
   136c0:	c3                   	ret    
   136c1:	83 ec 0c             	sub    $0xc,%esp
   136c4:	50                   	push   %eax
   136c5:	e8 e6 fd ff ff       	call   134b0 <_FATIsDirectoryEmpty>
   136ca:	25 ff 00 00 00       	and    $0xff,%eax
   136cf:	c9                   	leave  
   136d0:	c3                   	ret    
   136d1:	eb 0d                	jmp    136e0 <_FATGetNextDirEntry>
   136d3:	90                   	nop    
   136d4:	90                   	nop    
   136d5:	90                   	nop    
   136d6:	90                   	nop    
   136d7:	90                   	nop    
   136d8:	90                   	nop    
   136d9:	90                   	nop    
   136da:	90                   	nop    
   136db:	90                   	nop    
   136dc:	90                   	nop    
   136dd:	90                   	nop    
   136de:	90                   	nop    
   136df:	90                   	nop    

000136e0 <_FATGetNextDirEntry>:
   136e0:	55                   	push   %ebp
   136e1:	89 e5                	mov    %esp,%ebp
   136e3:	57                   	push   %edi
   136e4:	56                   	push   %esi
   136e5:	53                   	push   %ebx
   136e6:	83 ec 1c             	sub    $0x1c,%esp
   136e9:	c6 45 de 01          	movb   $0x1,0xffffffde(%ebp)
   136ed:	8b 55 14             	mov    0x14(%ebp),%edx
   136f0:	8a 45 18             	mov    0x18(%ebp),%al
   136f3:	88 45 e7             	mov    %al,0xffffffe7(%ebp)
   136f6:	c6 45 dd 00          	movb   $0x0,0xffffffdd(%ebp)
   136fa:	8b 42 4c             	mov    0x4c(%edx),%eax
   136fd:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13702:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   13709:	8b 72 04             	mov    0x4(%edx),%esi
   1370c:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1370f:	89 f0                	mov    %esi,%eax
   13711:	c1 e0 05             	shl    $0x5,%eax
   13714:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   13719:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   1371c:	8b 11                	mov    (%ecx),%edx
   1371e:	85 d2                	test   %edx,%edx
   13720:	74 17                	je     13739 <_FATGetNextDirEntry+0x59>
   13722:	f7 c6 7f 00 00 00    	test   $0x7f,%esi
   13728:	75 4c                	jne    13776 <_FATGetNextDirEntry+0x96>
   1372a:	83 ec 0c             	sub    $0xc,%esp
   1372d:	52                   	push   %edx
   1372e:	e8 4d 8f 00 00       	call   1c680 <_CcUnpinData@4>
   13733:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13736:	83 c4 0c             	add    $0xc,%esp
   13739:	8b 55 10             	mov    0x10(%ebp),%edx
   1373c:	3b 42 18             	cmp    0x18(%edx),%eax
   1373f:	0f 83 2e 01 00 00    	jae    13873 <_FATGetNextDirEntry+0x193>
   13745:	50                   	push   %eax
   13746:	50                   	push   %eax
   13747:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
   1374a:	8b 7d 0c             	mov    0xc(%ebp),%edi
   1374d:	57                   	push   %edi
   1374e:	8b 75 08             	mov    0x8(%ebp),%esi
   13751:	56                   	push   %esi
   13752:	6a 01                	push   $0x1
   13754:	68 00 10 00 00       	push   $0x1000
   13759:	51                   	push   %ecx
   1375a:	8b 9a 3c 01 00 00    	mov    0x13c(%edx),%ebx
   13760:	53                   	push   %ebx
   13761:	e8 0a 8f 00 00       	call   1c670 <_CcMapData@24>
   13766:	5a                   	pop    %edx
   13767:	84 c0                	test   %al,%al
   13769:	59                   	pop    %ecx
   1376a:	0f 84 03 01 00 00    	je     13873 <_FATGetNextDirEntry+0x193>
   13770:	8b 55 14             	mov    0x14(%ebp),%edx
   13773:	8b 72 04             	mov    0x4(%edx),%esi
   13776:	89 f7                	mov    %esi,%edi
   13778:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   1377b:	83 e7 7f             	and    $0x7f,%edi
   1377e:	c1 e7 05             	shl    $0x5,%edi
   13781:	8b 01                	mov    (%ecx),%eax
   13783:	01 c7                	add    %eax,%edi
   13785:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   1378c:	89 fb                	mov    %edi,%ebx
   1378e:	80 7d e7 00          	cmpb   $0x0,0xffffffe7(%ebp)
   13792:	0f 84 27 01 00 00    	je     138bf <_FATGetNextDirEntry+0x1df>
   13798:	eb 0c                	jmp    137a6 <_FATGetNextDirEntry+0xc6>
   1379a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   137a0:	83 ef 20             	sub    $0x20,%edi
   137a3:	83 eb 20             	sub    $0x20,%ebx
   137a6:	85 f6                	test   %esi,%esi
   137a8:	0f 84 db 00 00 00    	je     13889 <_FATGetNextDirEntry+0x1a9>
   137ae:	8a 07                	mov    (%edi),%al
   137b0:	84 c0                	test   %al,%al
   137b2:	0f 84 d1 00 00 00    	je     13889 <_FATGetNextDirEntry+0x1a9>
   137b8:	3c e5                	cmp    $0xe5,%al
   137ba:	0f 84 c9 00 00 00    	je     13889 <_FATGetNextDirEntry+0x1a9>
   137c0:	31 c9                	xor    %ecx,%ecx
   137c2:	8a 45 dd             	mov    0xffffffdd(%ebp),%al
   137c5:	8a 4f 0b             	mov    0xb(%edi),%cl
   137c8:	83 e1 3f             	and    $0x3f,%ecx
   137cb:	83 f9 0f             	cmp    $0xf,%ecx
   137ce:	0f 95 c2             	setne  %dl
   137d1:	83 f0 01             	xor    $0x1,%eax
   137d4:	25 ff 00 00 00       	and    $0xff,%eax
   137d9:	85 c2                	test   %eax,%edx
   137db:	75 12                	jne    137ef <_FATGetNextDirEntry+0x10f>
   137dd:	83 f9 0f             	cmp    $0xf,%ecx
   137e0:	0f 85 a3 00 00 00    	jne    13889 <_FATGetNextDirEntry+0x1a9>
   137e6:	f6 03 40             	testb  $0x40,(%ebx)
   137e9:	0f 85 9a 00 00 00    	jne    13889 <_FATGetNextDirEntry+0x1a9>
   137ef:	8b 45 14             	mov    0x14(%ebp),%eax
   137f2:	4e                   	dec    %esi
   137f3:	89 70 04             	mov    %esi,0x4(%eax)
   137f6:	89 f0                	mov    %esi,%eax
   137f8:	83 e0 7f             	and    $0x7f,%eax
   137fb:	c6 45 dd 01          	movb   $0x1,0xffffffdd(%ebp)
   137ff:	83 f8 7f             	cmp    $0x7f,%eax
   13802:	75 9c                	jne    137a0 <_FATGetNextDirEntry+0xc0>
   13804:	8b 55 08             	mov    0x8(%ebp),%edx
   13807:	83 ec 0c             	sub    $0xc,%esp
   1380a:	8b 02                	mov    (%edx),%eax
   1380c:	50                   	push   %eax
   1380d:	e8 6e 8e 00 00       	call   1c680 <_CcUnpinData@4>
   13812:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13815:	8b 4d 10             	mov    0x10(%ebp),%ecx
   13818:	2d 00 10 00 00       	sub    $0x1000,%eax
   1381d:	83 c4 0c             	add    $0xc,%esp
   13820:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   13823:	3b 41 18             	cmp    0x18(%ecx),%eax
   13826:	0f 83 93 01 00 00    	jae    139bf <_FATGetNextDirEntry+0x2df>
   1382c:	50                   	push   %eax
   1382d:	50                   	push   %eax
   1382e:	8b 45 0c             	mov    0xc(%ebp),%eax
   13831:	50                   	push   %eax
   13832:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13835:	8b 7d 08             	mov    0x8(%ebp),%edi
   13838:	57                   	push   %edi
   13839:	6a 01                	push   $0x1
   1383b:	68 00 10 00 00       	push   $0x1000
   13840:	50                   	push   %eax
   13841:	8b b1 3c 01 00 00    	mov    0x13c(%ecx),%esi
   13847:	56                   	push   %esi
   13848:	e8 23 8e 00 00       	call   1c670 <_CcMapData@24>
   1384d:	59                   	pop    %ecx
   1384e:	84 c0                	test   %al,%al
   13850:	5b                   	pop    %ebx
   13851:	0f 84 68 01 00 00    	je     139bf <_FATGetNextDirEntry+0x2df>
   13857:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1385a:	8b 45 0c             	mov    0xc(%ebp),%eax
   1385d:	8b 71 04             	mov    0x4(%ecx),%esi
   13860:	8b 10                	mov    (%eax),%edx
   13862:	89 f7                	mov    %esi,%edi
   13864:	83 e7 7f             	and    $0x7f,%edi
   13867:	c1 e7 05             	shl    $0x5,%edi
   1386a:	01 d7                	add    %edx,%edi
   1386c:	89 fb                	mov    %edi,%ebx
   1386e:	e9 33 ff ff ff       	jmp    137a6 <_FATGetNextDirEntry+0xc6>
   13873:	8b 45 08             	mov    0x8(%ebp),%eax
   13876:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   1387c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1387f:	b8 1a 00 00 80       	mov    $0x8000001a,%eax
   13884:	5b                   	pop    %ebx
   13885:	5e                   	pop    %esi
   13886:	5f                   	pop    %edi
   13887:	5d                   	pop    %ebp
   13888:	c3                   	ret    
   13889:	80 7d dd 00          	cmpb   $0x0,0xffffffdd(%ebp)
   1388d:	74 30                	je     138bf <_FATGetNextDirEntry+0x1df>
   1388f:	8a 07                	mov    (%edi),%al
   13891:	84 c0                	test   %al,%al
   13893:	74 2a                	je     138bf <_FATGetNextDirEntry+0x1df>
   13895:	3c e5                	cmp    $0xe5,%al
   13897:	74 0d                	je     138a6 <_FATGetNextDirEntry+0x1c6>
   13899:	31 c0                	xor    %eax,%eax
   1389b:	8a 47 0b             	mov    0xb(%edi),%al
   1389e:	83 e0 3f             	and    $0x3f,%eax
   138a1:	83 f8 0f             	cmp    $0xf,%eax
   138a4:	74 19                	je     138bf <_FATGetNextDirEntry+0x1df>
   138a6:	8b 55 14             	mov    0x14(%ebp),%edx
   138a9:	46                   	inc    %esi
   138aa:	f7 c6 7f 00 00 00    	test   $0x7f,%esi
   138b0:	89 72 04             	mov    %esi,0x4(%edx)
   138b3:	0f 84 f2 02 00 00    	je     13bab <_FATGetNextDirEntry+0x4cb>
   138b9:	83 c7 20             	add    $0x20,%edi
   138bc:	83 c3 20             	add    $0x20,%ebx
   138bf:	8b 4d 14             	mov    0x14(%ebp),%ecx
   138c2:	89 31                	mov    %esi,(%ecx)
   138c4:	c6 45 df 00          	movb   $0x0,0xffffffdf(%ebp)
   138c8:	8a 07                	mov    (%edi),%al
   138ca:	84 c0                	test   %al,%al
   138cc:	0f 84 df 00 00 00    	je     139b1 <_FATGetNextDirEntry+0x2d1>
   138d2:	3c e5                	cmp    $0xe5,%al
   138d4:	0f 84 68 01 00 00    	je     13a42 <_FATGetNextDirEntry+0x362>
   138da:	31 c0                	xor    %eax,%eax
   138dc:	8a 47 0b             	mov    0xb(%edi),%al
   138df:	83 e0 3f             	and    $0x3f,%eax
   138e2:	83 f8 0f             	cmp    $0xf,%eax
   138e5:	0f 85 a1 01 00 00    	jne    13a8c <_FATGetNextDirEntry+0x3ac>
   138eb:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   138ee:	85 c0                	test   %eax,%eax
   138f0:	0f 84 6b 01 00 00    	je     13a61 <_FATGetNextDirEntry+0x381>
   138f6:	31 c9                	xor    %ecx,%ecx
   138f8:	b8 01 00 00 00       	mov    $0x1,%eax
   138fd:	8a 0b                	mov    (%ebx),%cl
   138ff:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   13902:	83 e1 1f             	and    $0x1f,%ecx
   13905:	49                   	dec    %ecx
   13906:	d3 e0                	shl    %cl,%eax
   13908:	09 c2                	or     %eax,%edx
   1390a:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
   1390d:	89 55 e0             	mov    %edx,0xffffffe0(%ebp)
   13910:	8d 04 81             	lea    (%ecx,%eax,4),%eax
   13913:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13916:	8b 51 4c             	mov    0x4c(%ecx),%edx
   13919:	8d 04 42             	lea    (%edx,%eax,2),%eax
   1391c:	8b 53 01             	mov    0x1(%ebx),%edx
   1391f:	89 10                	mov    %edx,(%eax)
   13921:	8b 53 05             	mov    0x5(%ebx),%edx
   13924:	89 50 04             	mov    %edx,0x4(%eax)
   13927:	66 8b 53 09          	mov    0x9(%ebx),%dx
   1392b:	66 89 50 08          	mov    %dx,0x8(%eax)
   1392f:	8b 53 0e             	mov    0xe(%ebx),%edx
   13932:	89 50 0a             	mov    %edx,0xa(%eax)
   13935:	8b 53 12             	mov    0x12(%ebx),%edx
   13938:	89 50 0e             	mov    %edx,0xe(%eax)
   1393b:	8b 53 16             	mov    0x16(%ebx),%edx
   1393e:	89 50 12             	mov    %edx,0x12(%eax)
   13941:	8b 53 1c             	mov    0x1c(%ebx),%edx
   13944:	89 50 16             	mov    %edx,0x16(%eax)
   13947:	8a 45 df             	mov    0xffffffdf(%ebp),%al
   1394a:	38 43 0d             	cmp    %al,0xd(%ebx)
   1394d:	0f 84 7d 00 00 00    	je     139d0 <_FATGetNextDirEntry+0x2f0>
   13953:	50                   	push   %eax
   13954:	68 29 01 00 00       	push   $0x129
   13959:	68 60 e0 01 00       	push   $0x1e060
   1395e:	68 6b e0 01 00       	push   $0x1e06b
   13963:	ff 15 38 02 02 00    	call   *0x20238
   13969:	8b 55 14             	mov    0x14(%ebp),%edx
   1396c:	8b 42 4c             	mov    0x4c(%edx),%eax
   1396f:	50                   	push   %eax
   13970:	31 c0                	xor    %eax,%eax
   13972:	8a 43 0d             	mov    0xd(%ebx),%al
   13975:	50                   	push   %eax
   13976:	31 c0                	xor    %eax,%eax
   13978:	8a 45 df             	mov    0xffffffdf(%ebp),%al
   1397b:	50                   	push   %eax
   1397c:	68 74 e0 01 00       	push   $0x1e074
   13981:	ff 15 38 02 02 00    	call   *0x20238
   13987:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1398a:	c6 45 de 00          	movb   $0x0,0xffffffde(%ebp)
   1398e:	83 c4 20             	add    $0x20,%esp
   13991:	8b 71 04             	mov    0x4(%ecx),%esi
   13994:	8b 55 14             	mov    0x14(%ebp),%edx
   13997:	8d 46 01             	lea    0x1(%esi),%eax
   1399a:	a8 7f                	test   $0x7f,%al
   1399c:	89 42 04             	mov    %eax,0x4(%edx)
   1399f:	74 42                	je     139e3 <_FATGetNextDirEntry+0x303>
   139a1:	83 c7 20             	add    $0x20,%edi
   139a4:	83 c3 20             	add    $0x20,%ebx
   139a7:	8a 07                	mov    (%edi),%al
   139a9:	84 c0                	test   %al,%al
   139ab:	0f 85 21 ff ff ff    	jne    138d2 <_FATGetNextDirEntry+0x1f2>
   139b1:	8b 45 08             	mov    0x8(%ebp),%eax
   139b4:	83 ec 0c             	sub    $0xc,%esp
   139b7:	8b 00                	mov    (%eax),%eax
   139b9:	50                   	push   %eax
   139ba:	e8 c1 8c 00 00       	call   1c680 <_CcUnpinData@4>
   139bf:	8b 55 08             	mov    0x8(%ebp),%edx
   139c2:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   139c8:	e9 af fe ff ff       	jmp    1387c <_FATGetNextDirEntry+0x19c>
   139cd:	8d 76 00             	lea    0x0(%esi),%esi
   139d0:	8b 45 14             	mov    0x14(%ebp),%eax
   139d3:	8b 55 14             	mov    0x14(%ebp),%edx
   139d6:	8b 70 04             	mov    0x4(%eax),%esi
   139d9:	8d 46 01             	lea    0x1(%esi),%eax
   139dc:	89 42 04             	mov    %eax,0x4(%edx)
   139df:	a8 7f                	test   $0x7f,%al
   139e1:	75 be                	jne    139a1 <_FATGetNextDirEntry+0x2c1>
   139e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
   139e6:	83 ec 0c             	sub    $0xc,%esp
   139e9:	8b 01                	mov    (%ecx),%eax
   139eb:	50                   	push   %eax
   139ec:	e8 8f 8c 00 00       	call   1c680 <_CcUnpinData@4>
   139f1:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   139f4:	8b 55 10             	mov    0x10(%ebp),%edx
   139f7:	05 00 10 00 00       	add    $0x1000,%eax
   139fc:	83 c4 0c             	add    $0xc,%esp
   139ff:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   13a02:	3b 42 18             	cmp    0x18(%edx),%eax
   13a05:	0f 83 68 fe ff ff    	jae    13873 <_FATGetNextDirEntry+0x193>
   13a0b:	50                   	push   %eax
   13a0c:	50                   	push   %eax
   13a0d:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
   13a10:	8b 7d 0c             	mov    0xc(%ebp),%edi
   13a13:	57                   	push   %edi
   13a14:	8b 75 08             	mov    0x8(%ebp),%esi
   13a17:	56                   	push   %esi
   13a18:	6a 01                	push   $0x1
   13a1a:	68 00 10 00 00       	push   $0x1000
   13a1f:	51                   	push   %ecx
   13a20:	8b 9a 3c 01 00 00    	mov    0x13c(%edx),%ebx
   13a26:	53                   	push   %ebx
   13a27:	e8 44 8c 00 00       	call   1c670 <_CcMapData@24>
   13a2c:	5a                   	pop    %edx
   13a2d:	84 c0                	test   %al,%al
   13a2f:	59                   	pop    %ecx
   13a30:	0f 84 3d fe ff ff    	je     13873 <_FATGetNextDirEntry+0x193>
   13a36:	8b 55 0c             	mov    0xc(%ebp),%edx
   13a39:	8b 3a                	mov    (%edx),%edi
   13a3b:	89 fb                	mov    %edi,%ebx
   13a3d:	e9 86 fe ff ff       	jmp    138c8 <_FATGetNextDirEntry+0x1e8>
   13a42:	8b 55 14             	mov    0x14(%ebp),%edx
   13a45:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   13a4c:	8b 42 4c             	mov    0x4c(%edx),%eax
   13a4f:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13a54:	8b 72 04             	mov    0x4(%edx),%esi
   13a57:	8d 46 01             	lea    0x1(%esi),%eax
   13a5a:	89 02                	mov    %eax,(%edx)
   13a5c:	e9 33 ff ff ff       	jmp    13994 <_FATGetNextDirEntry+0x2b4>
   13a61:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13a64:	66 8b 41 4a          	mov    0x4a(%ecx),%ax
   13a68:	56                   	push   %esi
   13a69:	25 ff ff 00 00       	and    $0xffff,%eax
   13a6e:	50                   	push   %eax
   13a6f:	6a 00                	push   $0x0
   13a71:	8b 49 4c             	mov    0x4c(%ecx),%ecx
   13a74:	51                   	push   %ecx
   13a75:	e8 76 8d 00 00       	call   1c7f0 <_memset>
   13a7a:	8a 43 0d             	mov    0xd(%ebx),%al
   13a7d:	83 c4 10             	add    $0x10,%esp
   13a80:	88 45 df             	mov    %al,0xffffffdf(%ebp)
   13a83:	c6 45 de 01          	movb   $0x1,0xffffffde(%ebp)
   13a87:	e9 6a fe ff ff       	jmp    138f6 <_FATGetNextDirEntry+0x216>
   13a8c:	31 f6                	xor    %esi,%esi
   13a8e:	89 f9                	mov    %edi,%ecx
   13a90:	bb 0a 00 00 00       	mov    $0xa,%ebx
   13a95:	89 f2                	mov    %esi,%edx
   13a97:	81 e2 ff 00 00 00    	and    $0xff,%edx
   13a9d:	89 d0                	mov    %edx,%eax
   13a9f:	d1 ea                	shr    %edx
   13aa1:	83 e0 01             	and    $0x1,%eax
   13aa4:	c1 e0 07             	shl    $0x7,%eax
   13aa7:	09 d0                	or     %edx,%eax
   13aa9:	89 c6                	mov    %eax,%esi
   13aab:	8a 01                	mov    (%ecx),%al
   13aad:	01 c6                	add    %eax,%esi
   13aaf:	41                   	inc    %ecx
   13ab0:	66 4b                	dec    %bx
   13ab2:	79 e1                	jns    13a95 <_FATGetNextDirEntry+0x3b5>
   13ab4:	89 f2                	mov    %esi,%edx
   13ab6:	3a 55 df             	cmp    0xffffffdf(%ebp),%dl
   13ab9:	74 10                	je     13acb <_FATGetNextDirEntry+0x3eb>
   13abb:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13abe:	8b 41 4c             	mov    0x4c(%ecx),%eax
   13ac1:	66 83 38 00          	cmpw   $0x0,(%eax)
   13ac5:	0f 85 97 00 00 00    	jne    13b62 <_FATGetNextDirEntry+0x482>
   13acb:	80 7d de 00          	cmpb   $0x0,0xffffffde(%ebp)
   13acf:	75 0b                	jne    13adc <_FATGetNextDirEntry+0x3fc>
   13ad1:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13ad4:	8b 41 4c             	mov    0x4c(%ecx),%eax
   13ad7:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13adc:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13adf:	8b 07                	mov    (%edi),%eax
   13ae1:	83 ec 0c             	sub    $0xc,%esp
   13ae4:	89 41 08             	mov    %eax,0x8(%ecx)
   13ae7:	8b 47 04             	mov    0x4(%edi),%eax
   13aea:	89 41 0c             	mov    %eax,0xc(%ecx)
   13aed:	8b 47 08             	mov    0x8(%edi),%eax
   13af0:	89 41 10             	mov    %eax,0x10(%ecx)
   13af3:	8b 47 0c             	mov    0xc(%edi),%eax
   13af6:	89 41 14             	mov    %eax,0x14(%ecx)
   13af9:	8b 47 10             	mov    0x10(%edi),%eax
   13afc:	89 41 18             	mov    %eax,0x18(%ecx)
   13aff:	8b 47 14             	mov    0x14(%edi),%eax
   13b02:	89 41 1c             	mov    %eax,0x1c(%ecx)
   13b05:	8b 47 18             	mov    0x18(%edi),%eax
   13b08:	89 41 20             	mov    %eax,0x20(%ecx)
   13b0b:	8b 47 1c             	mov    0x1c(%edi),%eax
   13b0e:	89 41 24             	mov    %eax,0x24(%ecx)
   13b11:	8b 41 4c             	mov    0x4c(%ecx),%eax
   13b14:	50                   	push   %eax
   13b15:	e8 e6 8c 00 00       	call   1c800 <_wcslen>
   13b1a:	8b 55 14             	mov    0x14(%ebp),%edx
   13b1d:	01 c0                	add    %eax,%eax
   13b1f:	89 d3                	mov    %edx,%ebx
   13b21:	66 89 42 48          	mov    %ax,0x48(%edx)
   13b25:	83 c3 50             	add    $0x50,%ebx
   13b28:	5f                   	pop    %edi
   13b29:	58                   	pop    %eax
   13b2a:	89 d0                	mov    %edx,%eax
   13b2c:	53                   	push   %ebx
   13b2d:	83 c0 08             	add    $0x8,%eax
   13b30:	50                   	push   %eax
   13b31:	e8 4a dc ff ff       	call   11780 <_vfat8Dot3ToString>
   13b36:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13b39:	83 c4 10             	add    $0x10,%esp
   13b3c:	66 83 79 48 00       	cmpw   $0x0,0x48(%ecx)
   13b41:	74 0a                	je     13b4d <_FATGetNextDirEntry+0x46d>
   13b43:	31 c0                	xor    %eax,%eax
   13b45:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13b48:	5b                   	pop    %ebx
   13b49:	5e                   	pop    %esi
   13b4a:	5f                   	pop    %edi
   13b4b:	5d                   	pop    %ebp
   13b4c:	c3                   	ret    
   13b4d:	89 c8                	mov    %ecx,%eax
   13b4f:	83 c0 48             	add    $0x48,%eax
   13b52:	56                   	push   %esi
   13b53:	56                   	push   %esi
   13b54:	53                   	push   %ebx
   13b55:	50                   	push   %eax
   13b56:	ff 15 14 03 02 00    	call   *0x20314
   13b5c:	58                   	pop    %eax
   13b5d:	31 c0                	xor    %eax,%eax
   13b5f:	5a                   	pop    %edx
   13b60:	eb e3                	jmp    13b45 <_FATGetNextDirEntry+0x465>
   13b62:	50                   	push   %eax
   13b63:	68 39 01 00 00       	push   $0x139
   13b68:	68 60 e0 01 00       	push   $0x1e060
   13b6d:	68 6b e0 01 00       	push   $0x1e06b
   13b72:	ff 15 38 02 02 00    	call   *0x20238
   13b78:	8b 45 14             	mov    0x14(%ebp),%eax
   13b7b:	8b 40 4c             	mov    0x4c(%eax),%eax
   13b7e:	50                   	push   %eax
   13b7f:	31 c0                	xor    %eax,%eax
   13b81:	8a 45 df             	mov    0xffffffdf(%ebp),%al
   13b84:	50                   	push   %eax
   13b85:	89 f0                	mov    %esi,%eax
   13b87:	25 ff 00 00 00       	and    $0xff,%eax
   13b8c:	50                   	push   %eax
   13b8d:	68 c0 e0 01 00       	push   $0x1e0c0
   13b92:	ff 15 38 02 02 00    	call   *0x20238
   13b98:	8b 55 14             	mov    0x14(%ebp),%edx
   13b9b:	8b 42 4c             	mov    0x4c(%edx),%eax
   13b9e:	83 c4 20             	add    $0x20,%esp
   13ba1:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13ba6:	e9 20 ff ff ff       	jmp    13acb <_FATGetNextDirEntry+0x3eb>
   13bab:	8b 4d 08             	mov    0x8(%ebp),%ecx
   13bae:	83 ec 0c             	sub    $0xc,%esp
   13bb1:	8b 01                	mov    (%ecx),%eax
   13bb3:	50                   	push   %eax
   13bb4:	e8 c7 8a 00 00       	call   1c680 <_CcUnpinData@4>
   13bb9:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13bbc:	8b 55 10             	mov    0x10(%ebp),%edx
   13bbf:	05 00 10 00 00       	add    $0x1000,%eax
   13bc4:	83 c4 0c             	add    $0xc,%esp
   13bc7:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   13bca:	3b 42 18             	cmp    0x18(%edx),%eax
   13bcd:	0f 83 a0 fc ff ff    	jae    13873 <_FATGetNextDirEntry+0x193>
   13bd3:	50                   	push   %eax
   13bd4:	50                   	push   %eax
   13bd5:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
   13bd8:	8b 7d 0c             	mov    0xc(%ebp),%edi
   13bdb:	57                   	push   %edi
   13bdc:	8b 75 08             	mov    0x8(%ebp),%esi
   13bdf:	56                   	push   %esi
   13be0:	6a 01                	push   $0x1
   13be2:	68 00 10 00 00       	push   $0x1000
   13be7:	51                   	push   %ecx
   13be8:	8b 9a 3c 01 00 00    	mov    0x13c(%edx),%ebx
   13bee:	53                   	push   %ebx
   13bef:	e8 7c 8a 00 00       	call   1c670 <_CcMapData@24>
   13bf4:	5a                   	pop    %edx
   13bf5:	84 c0                	test   %al,%al
   13bf7:	59                   	pop    %ecx
   13bf8:	0f 84 75 fc ff ff    	je     13873 <_FATGetNextDirEntry+0x193>
   13bfe:	8b 55 0c             	mov    0xc(%ebp),%edx
   13c01:	8b 4d 14             	mov    0x14(%ebp),%ecx
   13c04:	8b 3a                	mov    (%edx),%edi
   13c06:	8b 71 04             	mov    0x4(%ecx),%esi
   13c09:	89 fb                	mov    %edi,%ebx
   13c0b:	e9 af fc ff ff       	jmp    138bf <_FATGetNextDirEntry+0x1df>

00013c10 <_FATXGetNextDirEntry>:
   13c10:	55                   	push   %ebp
   13c11:	89 e5                	mov    %esp,%ebp
   13c13:	57                   	push   %edi
   13c14:	56                   	push   %esi
   13c15:	53                   	push   %ebx
   13c16:	83 ec 28             	sub    $0x28,%esp
   13c19:	8b 45 14             	mov    0x14(%ebp),%eax
   13c1c:	8b 75 08             	mov    0x8(%ebp),%esi
   13c1f:	8b 58 04             	mov    0x4(%eax),%ebx
   13c22:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   13c29:	8b 45 10             	mov    0x10(%ebp),%eax
   13c2c:	50                   	push   %eax
   13c2d:	e8 fe 2c 00 00       	call   16930 <_vfatFCBIsRoot>
   13c32:	83 c4 10             	add    $0x10,%esp
   13c35:	84 c0                	test   %al,%al
   13c37:	75 18                	jne    13c51 <_FATXGetNextDirEntry+0x41>
   13c39:	8b 55 14             	mov    0x14(%ebp),%edx
   13c3c:	8b 42 04             	mov    0x4(%edx),%eax
   13c3f:	85 c0                	test   %eax,%eax
   13c41:	0f 84 b5 00 00 00    	je     13cfc <_FATXGetNextDirEntry+0xec>
   13c47:	48                   	dec    %eax
   13c48:	0f 84 6a 01 00 00    	je     13db8 <_FATXGetNextDirEntry+0x1a8>
   13c4e:	83 eb 02             	sub    $0x2,%ebx
   13c51:	8b 06                	mov    (%esi),%eax
   13c53:	85 c0                	test   %eax,%eax
   13c55:	75 4c                	jne    13ca3 <_FATXGetNextDirEntry+0x93>
   13c57:	89 d8                	mov    %ebx,%eax
   13c59:	8b 55 10             	mov    0x10(%ebp),%edx
   13c5c:	c1 e0 06             	shl    $0x6,%eax
   13c5f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   13c64:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   13c67:	3b 42 18             	cmp    0x18(%edx),%eax
   13c6a:	73 24                	jae    13c90 <_FATXGetNextDirEntry+0x80>
   13c6c:	50                   	push   %eax
   13c6d:	50                   	push   %eax
   13c6e:	8b 45 0c             	mov    0xc(%ebp),%eax
   13c71:	50                   	push   %eax
   13c72:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13c75:	56                   	push   %esi
   13c76:	6a 01                	push   $0x1
   13c78:	68 00 10 00 00       	push   $0x1000
   13c7d:	50                   	push   %eax
   13c7e:	8b ba 3c 01 00 00    	mov    0x13c(%edx),%edi
   13c84:	57                   	push   %edi
   13c85:	e8 e6 89 00 00       	call   1c670 <_CcMapData@24>
   13c8a:	5a                   	pop    %edx
   13c8b:	84 c0                	test   %al,%al
   13c8d:	59                   	pop    %ecx
   13c8e:	75 1c                	jne    13cac <_FATXGetNextDirEntry+0x9c>
   13c90:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
   13c96:	b8 1a 00 00 80       	mov    $0x8000001a,%eax
   13c9b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13c9e:	5b                   	pop    %ebx
   13c9f:	5e                   	pop    %esi
   13ca0:	5f                   	pop    %edi
   13ca1:	5d                   	pop    %ebp
   13ca2:	c3                   	ret    
   13ca3:	f6 c3 3f             	test   $0x3f,%bl
   13ca6:	0f 84 fb 00 00 00    	je     13da7 <_FATXGetNextDirEntry+0x197>
   13cac:	8b 55 0c             	mov    0xc(%ebp),%edx
   13caf:	89 df                	mov    %ebx,%edi
   13cb1:	83 e7 3f             	and    $0x3f,%edi
   13cb4:	c1 e7 06             	shl    $0x6,%edi
   13cb7:	8b 02                	mov    (%edx),%eax
   13cb9:	8b 55 14             	mov    0x14(%ebp),%edx
   13cbc:	01 c7                	add    %eax,%edi
   13cbe:	8b 42 04             	mov    0x4(%edx),%eax
   13cc1:	89 02                	mov    %eax,(%edx)
   13cc3:	8a 07                	mov    (%edi),%al
   13cc5:	3c ff                	cmp    $0xff,%al
   13cc7:	74 26                	je     13cef <_FATXGetNextDirEntry+0xdf>
   13cc9:	3c e5                	cmp    $0xe5,%al
   13ccb:	0f 85 3b 01 00 00    	jne    13e0c <_FATXGetNextDirEntry+0x1fc>
   13cd1:	8b 45 14             	mov    0x14(%ebp),%eax
   13cd4:	43                   	inc    %ebx
   13cd5:	8b 48 04             	mov    0x4(%eax),%ecx
   13cd8:	8b 10                	mov    (%eax),%edx
   13cda:	41                   	inc    %ecx
   13cdb:	42                   	inc    %edx
   13cdc:	89 48 04             	mov    %ecx,0x4(%eax)
   13cdf:	89 10                	mov    %edx,(%eax)
   13ce1:	f6 c3 3f             	test   $0x3f,%bl
   13ce4:	74 6a                	je     13d50 <_FATXGetNextDirEntry+0x140>
   13ce6:	83 c7 40             	add    $0x40,%edi
   13ce9:	8a 07                	mov    (%edi),%al
   13ceb:	3c ff                	cmp    $0xff,%al
   13ced:	75 da                	jne    13cc9 <_FATXGetNextDirEntry+0xb9>
   13cef:	83 ec 0c             	sub    $0xc,%esp
   13cf2:	8b 06                	mov    (%esi),%eax
   13cf4:	50                   	push   %eax
   13cf5:	e8 86 89 00 00       	call   1c680 <_CcUnpinData@4>
   13cfa:	eb 94                	jmp    13c90 <_FATXGetNextDirEntry+0x80>
   13cfc:	8b 55 14             	mov    0x14(%ebp),%edx
   13cff:	b9 10 00 00 00       	mov    $0x10,%ecx
   13d04:	89 d7                	mov    %edx,%edi
   13d06:	8b 42 54             	mov    0x54(%edx),%eax
   13d09:	83 c7 08             	add    $0x8,%edi
   13d0c:	fc                   	cld    
   13d0d:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13d12:	66 c7 42 50 00 00    	movw   $0x0,0x50(%edx)
   13d18:	8b 42 4c             	mov    0x4c(%edx),%eax
   13d1b:	66 c7 00 2e 00       	movw   $0x2e,(%eax)
   13d20:	66 c7 42 48 02 00    	movw   $0x2,0x48(%edx)
   13d26:	8b 75 10             	mov    0x10(%ebp),%esi
   13d29:	31 c0                	xor    %eax,%eax
   13d2b:	81 c6 a4 00 00 00    	add    $0xa4,%esi
   13d31:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   13d33:	c6 42 0a 2e          	movb   $0x2e,0xa(%edx)
   13d37:	c6 42 08 01          	movb   $0x1,0x8(%edx)
   13d3b:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   13d41:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13d44:	5b                   	pop    %ebx
   13d45:	5e                   	pop    %esi
   13d46:	5f                   	pop    %edi
   13d47:	5d                   	pop    %ebp
   13d48:	c3                   	ret    
   13d49:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   13d50:	83 ec 0c             	sub    $0xc,%esp
   13d53:	8b 06                	mov    (%esi),%eax
   13d55:	50                   	push   %eax
   13d56:	e8 25 89 00 00       	call   1c680 <_CcUnpinData@4>
   13d5b:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   13d5e:	8b 55 10             	mov    0x10(%ebp),%edx
   13d61:	05 00 10 00 00       	add    $0x1000,%eax
   13d66:	83 c4 0c             	add    $0xc,%esp
   13d69:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   13d6c:	3b 42 18             	cmp    0x18(%edx),%eax
   13d6f:	0f 83 1b ff ff ff    	jae    13c90 <_FATXGetNextDirEntry+0x80>
   13d75:	50                   	push   %eax
   13d76:	50                   	push   %eax
   13d77:	8b 45 0c             	mov    0xc(%ebp),%eax
   13d7a:	50                   	push   %eax
   13d7b:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13d7e:	56                   	push   %esi
   13d7f:	6a 01                	push   $0x1
   13d81:	68 00 10 00 00       	push   $0x1000
   13d86:	50                   	push   %eax
   13d87:	8b 82 3c 01 00 00    	mov    0x13c(%edx),%eax
   13d8d:	50                   	push   %eax
   13d8e:	e8 dd 88 00 00       	call   1c670 <_CcMapData@24>
   13d93:	59                   	pop    %ecx
   13d94:	84 c0                	test   %al,%al
   13d96:	5f                   	pop    %edi
   13d97:	0f 84 f3 fe ff ff    	je     13c90 <_FATXGetNextDirEntry+0x80>
   13d9d:	8b 55 0c             	mov    0xc(%ebp),%edx
   13da0:	8b 3a                	mov    (%edx),%edi
   13da2:	e9 1c ff ff ff       	jmp    13cc3 <_FATXGetNextDirEntry+0xb3>
   13da7:	83 ec 0c             	sub    $0xc,%esp
   13daa:	50                   	push   %eax
   13dab:	e8 d0 88 00 00       	call   1c680 <_CcUnpinData@4>
   13db0:	83 c4 0c             	add    $0xc,%esp
   13db3:	e9 9f fe ff ff       	jmp    13c57 <_FATXGetNextDirEntry+0x47>
   13db8:	8b 55 14             	mov    0x14(%ebp),%edx
   13dbb:	b9 10 00 00 00       	mov    $0x10,%ecx
   13dc0:	89 d7                	mov    %edx,%edi
   13dc2:	8b 42 54             	mov    0x54(%edx),%eax
   13dc5:	83 c7 08             	add    $0x8,%edi
   13dc8:	fc                   	cld    
   13dc9:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13dce:	66 c7 42 50 00 00    	movw   $0x0,0x50(%edx)
   13dd4:	8b 42 4c             	mov    0x4c(%edx),%eax
   13dd7:	66 c7 40 02 2e 00    	movw   $0x2e,0x2(%eax)
   13ddd:	66 c7 00 2e 00       	movw   $0x2e,(%eax)
   13de2:	66 c7 42 48 04 00    	movw   $0x4,0x48(%edx)
   13de8:	31 c0                	xor    %eax,%eax
   13dea:	8b 75 10             	mov    0x10(%ebp),%esi
   13ded:	81 c6 a4 00 00 00    	add    $0xa4,%esi
   13df3:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   13df5:	c6 42 0b 2e          	movb   $0x2e,0xb(%edx)
   13df9:	c6 42 0a 2e          	movb   $0x2e,0xa(%edx)
   13dfd:	c6 42 08 02          	movb   $0x2,0x8(%edx)
   13e01:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
   13e07:	e9 35 ff ff ff       	jmp    13d41 <_FATXGetNextDirEntry+0x131>
   13e0c:	8b 45 14             	mov    0x14(%ebp),%eax
   13e0f:	83 c0 08             	add    $0x8,%eax
   13e12:	52                   	push   %edx
   13e13:	6a 40                	push   $0x40
   13e15:	57                   	push   %edi
   13e16:	50                   	push   %eax
   13e17:	e8 c4 89 00 00       	call   1c7e0 <_memcpy>
   13e1c:	8b 55 14             	mov    0x14(%ebp),%edx
   13e1f:	83 c4 0c             	add    $0xc,%esp
   13e22:	8b 42 54             	mov    0x54(%edx),%eax
   13e25:	66 c7 00 00 00       	movw   $0x0,(%eax)
   13e2a:	8d 47 02             	lea    0x2(%edi),%eax
   13e2d:	66 c7 42 50 00 00    	movw   $0x0,0x50(%edx)
   13e33:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   13e36:	31 c0                	xor    %eax,%eax
   13e38:	8a 07                	mov    (%edi),%al
   13e3a:	66 89 45 e2          	mov    %ax,0xffffffe2(%ebp)
   13e3e:	66 89 45 e0          	mov    %ax,0xffffffe0(%ebp)
   13e42:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   13e45:	6a 00                	push   $0x0
   13e47:	50                   	push   %eax
   13e48:	89 d0                	mov    %edx,%eax
   13e4a:	83 c0 48             	add    $0x48,%eax
   13e4d:	50                   	push   %eax
   13e4e:	e8 fd 87 00 00       	call   1c650 <_RtlOemStringToUnicodeString@12>
   13e53:	31 c0                	xor    %eax,%eax
   13e55:	e9 e7 fe ff ff       	jmp    13d41 <_FATXGetNextDirEntry+0x131>
   13e5a:	90                   	nop    
   13e5b:	90                   	nop    
   13e5c:	90                   	nop    
   13e5d:	90                   	nop    
   13e5e:	90                   	nop    
   13e5f:	90                   	nop    

00013e60 <_VfatUpdateEntry>:
   13e60:	55                   	push   %ebp
   13e61:	89 e5                	mov    %esp,%ebp
   13e63:	57                   	push   %edi
   13e64:	56                   	push   %esi
   13e65:	53                   	push   %ebx
   13e66:	83 ec 1c             	sub    $0x1c,%esp
   13e69:	8b 75 08             	mov    0x8(%ebp),%esi
   13e6c:	f6 86 38 01 00 00 40 	testb  $0x40,0x138(%esi)
   13e73:	74 2e                	je     13ea3 <_VfatUpdateEntry+0x43>
   13e75:	bf 40 00 00 00       	mov    $0x40,%edi
   13e7a:	8b 9e 44 01 00 00    	mov    0x144(%esi),%ebx
   13e80:	83 ec 0c             	sub    $0xc,%esp
   13e83:	56                   	push   %esi
   13e84:	e8 a7 2a 00 00       	call   16930 <_vfatFCBIsRoot>
   13e89:	83 c4 10             	add    $0x10,%esp
   13e8c:	84 c0                	test   %al,%al
   13e8e:	75 09                	jne    13e99 <_VfatUpdateEntry+0x39>
   13e90:	f6 86 38 01 00 00 14 	testb  $0x14,0x138(%esi)
   13e97:	74 17                	je     13eb0 <_VfatUpdateEntry+0x50>
   13e99:	31 c0                	xor    %eax,%eax
   13e9b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   13e9e:	5b                   	pop    %ebx
   13e9f:	5e                   	pop    %esi
   13ea0:	5f                   	pop    %edi
   13ea1:	5d                   	pop    %ebp
   13ea2:	c3                   	ret    
   13ea3:	bf 20 00 00 00       	mov    $0x20,%edi
   13ea8:	8b 9e 40 01 00 00    	mov    0x140(%esi),%ebx
   13eae:	eb d0                	jmp    13e80 <_VfatUpdateEntry+0x20>
   13eb0:	0f af df             	imul   %edi,%ebx
   13eb3:	50                   	push   %eax
   13eb4:	50                   	push   %eax
   13eb5:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
   13eb8:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   13ebf:	50                   	push   %eax
   13ec0:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   13ec3:	50                   	push   %eax
   13ec4:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   13ec7:	6a 01                	push   $0x1
   13ec9:	89 5d e8             	mov    %ebx,0xffffffe8(%ebp)
   13ecc:	57                   	push   %edi
   13ecd:	50                   	push   %eax
   13ece:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
   13ed4:	8b 98 3c 01 00 00    	mov    0x13c(%eax),%ebx
   13eda:	53                   	push   %ebx
   13edb:	e8 30 89 00 00       	call   1c810 <_CcPinRead@24>
   13ee0:	5a                   	pop    %edx
   13ee1:	84 c0                	test   %al,%al
   13ee3:	59                   	pop    %ecx
   13ee4:	74 3d                	je     13f23 <_VfatUpdateEntry+0xc3>
   13ee6:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
   13eec:	83 e0 df             	and    $0xffffffdf,%eax
   13eef:	89 86 38 01 00 00    	mov    %eax,0x138(%esi)
   13ef5:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
   13efb:	8b 4d e4             	mov    0xffffffe4(%ebp),%ecx
   13efe:	53                   	push   %ebx
   13eff:	57                   	push   %edi
   13f00:	50                   	push   %eax
   13f01:	51                   	push   %ecx
   13f02:	e8 d9 88 00 00       	call   1c7e0 <_memcpy>
   13f07:	58                   	pop    %eax
   13f08:	8b 7d e0             	mov    0xffffffe0(%ebp),%edi
   13f0b:	5a                   	pop    %edx
   13f0c:	6a 00                	push   $0x0
   13f0e:	57                   	push   %edi
   13f0f:	e8 0c 89 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   13f14:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
   13f17:	56                   	push   %esi
   13f18:	53                   	push   %ebx
   13f19:	e8 62 87 00 00       	call   1c680 <_CcUnpinData@4>
   13f1e:	e9 76 ff ff ff       	jmp    13e99 <_VfatUpdateEntry+0x39>
   13f23:	51                   	push   %ecx
   13f24:	6a 3f                	push   $0x3f
   13f26:	68 10 e1 01 00       	push   $0x1e110
   13f2b:	68 18 e1 01 00       	push   $0x1e118
   13f30:	ff 15 38 02 02 00    	call   *0x20238
   13f36:	58                   	pop    %eax
   13f37:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
   13f3d:	5a                   	pop    %edx
   13f3e:	05 00 01 00 00       	add    $0x100,%eax
   13f43:	50                   	push   %eax
   13f44:	68 21 e1 01 00       	push   $0x1e121
   13f49:	ff 15 38 02 02 00    	call   *0x20238
   13f4f:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   13f54:	e9 42 ff ff ff       	jmp    13e9b <_VfatUpdateEntry+0x3b>
   13f59:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00013f60 <_vfatFindDirSpace>:
   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 2c             	sub    $0x2c,%esp
   13f69:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
   13f70:	8b 45 08             	mov    0x8(%ebp),%eax
   13f73:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   13f7a:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   13f81:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   13f88:	8b 88 cc 00 04 00    	mov    0x400cc(%eax),%ecx
   13f8e:	8b 55 0c             	mov    0xc(%ebp),%edx
   13f91:	89 c8                	mov    %ecx,%eax
   13f93:	c1 e8 02             	shr    $0x2,%eax
   13f96:	83 e0 01             	and    $0x1,%eax
   13f99:	83 f8 01             	cmp    $0x1,%eax
   13f9c:	8b 42 18             	mov    0x18(%edx),%eax
   13f9f:	19 f6                	sbb    %esi,%esi
   13fa1:	31 d2                	xor    %edx,%edx
   13fa3:	83 e6 e0             	and    $0xffffffe0,%esi
   13fa6:	31 db                	xor    %ebx,%ebx
   13fa8:	83 c6 40             	add    $0x40,%esi
   13fab:	f7 f6                	div    %esi
   13fad:	8b 55 08             	mov    0x8(%ebp),%edx
   13fb0:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
   13fb3:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   13fb9:	31 d2                	xor    %edx,%edx
   13fbb:	f7 f6                	div    %esi
   13fbd:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   13fc0:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   13fc3:	39 c3                	cmp    %eax,%ebx
   13fc5:	0f 83 01 01 00 00    	jae    140cc <_vfatFindDirSpace+0x16c>
   13fcb:	31 ff                	xor    %edi,%edi
   13fcd:	eb 34                	jmp    14003 <_vfatFindDirSpace+0xa3>
   13fcf:	90                   	nop    
   13fd0:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   13fd3:	80 38 ff             	cmpb   $0xff,(%eax)
   13fd6:	0f 84 9c 00 00 00    	je     14078 <_vfatFindDirSpace+0x118>
   13fdc:	80 38 e5             	cmpb   $0xe5,(%eax)
   13fdf:	0f 84 db 00 00 00    	je     140c0 <_vfatFindDirSpace+0x160>
   13fe5:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
   13fec:	8b 55 10             	mov    0x10(%ebp),%edx
   13fef:	39 55 d4             	cmp    %edx,0xffffffd4(%ebp)
   13ff2:	0f 84 80 00 00 00    	je     14078 <_vfatFindDirSpace+0x118>
   13ff8:	01 f0                	add    %esi,%eax
   13ffa:	43                   	inc    %ebx
   13ffb:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   13ffe:	3b 5d d0             	cmp    0xffffffd0(%ebp),%ebx
   14001:	73 75                	jae    14078 <_vfatFindDirSpace+0x118>
   14003:	85 ff                	test   %edi,%edi
   14005:	74 17                	je     1401e <_vfatFindDirSpace+0xbe>
   14007:	31 d2                	xor    %edx,%edx
   14009:	89 d8                	mov    %ebx,%eax
   1400b:	f7 75 cc             	divl   0xffffffcc(%ebp)
   1400e:	85 d2                	test   %edx,%edx
   14010:	75 51                	jne    14063 <_vfatFindDirSpace+0x103>
   14012:	83 ec 0c             	sub    $0xc,%esp
   14015:	57                   	push   %edi
   14016:	e8 65 86 00 00       	call   1c680 <_CcUnpinData@4>
   1401b:	83 c4 0c             	add    $0xc,%esp
   1401e:	50                   	push   %eax
   1401f:	50                   	push   %eax
   14020:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   14023:	50                   	push   %eax
   14024:	8b 55 08             	mov    0x8(%ebp),%edx
   14027:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   1402a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   1402d:	50                   	push   %eax
   1402e:	6a 01                	push   $0x1
   14030:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   14036:	50                   	push   %eax
   14037:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   1403a:	50                   	push   %eax
   1403b:	8b b9 3c 01 00 00    	mov    0x13c(%ecx),%edi
   14041:	57                   	push   %edi
   14042:	e8 c9 87 00 00       	call   1c810 <_CcPinRead@24>
   14047:	8b 55 08             	mov    0x8(%ebp),%edx
   1404a:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
   1404d:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   14053:	01 c1                	add    %eax,%ecx
   14055:	89 4d e0             	mov    %ecx,0xffffffe0(%ebp)
   14058:	59                   	pop    %ecx
   14059:	8b 8a cc 00 04 00    	mov    0x400cc(%edx),%ecx
   1405f:	5f                   	pop    %edi
   14060:	8b 7d e8             	mov    0xffffffe8(%ebp),%edi
   14063:	f6 c1 04             	test   $0x4,%cl
   14066:	0f 85 64 ff ff ff    	jne    13fd0 <_vfatFindDirSpace+0x70>
   1406c:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1406f:	80 38 00             	cmpb   $0x0,(%eax)
   14072:	0f 85 64 ff ff ff    	jne    13fdc <_vfatFindDirSpace+0x7c>
   14078:	85 ff                	test   %edi,%edi
   1407a:	75 57                	jne    140d3 <_vfatFindDirSpace+0x173>
   1407c:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1407f:	39 4d d4             	cmp    %ecx,0xffffffd4(%ebp)
   14082:	74 6a                	je     140ee <_vfatFindDirSpace+0x18e>
   14084:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
   14087:	89 d8                	mov    %ebx,%eax
   14089:	29 c8                	sub    %ecx,%eax
   1408b:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1408e:	89 01                	mov    %eax,(%ecx)
   14090:	8b 55 10             	mov    0x10(%ebp),%edx
   14093:	01 d0                	add    %edx,%eax
   14095:	3b 45 d0             	cmp    0xffffffd0(%ebp),%eax
   14098:	77 60                	ja     140fa <_vfatFindDirSpace+0x19a>
   1409a:	0f 82 37 01 00 00    	jb     141d7 <_vfatFindDirSpace+0x277>
   140a0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   140a3:	85 c0                	test   %eax,%eax
   140a5:	0f 85 10 01 00 00    	jne    141bb <_vfatFindDirSpace+0x25b>
   140ab:	90                   	nop    
   140ac:	8d 74 26 00          	lea    0x0(%esi),%esi
   140b0:	ba 01 00 00 00       	mov    $0x1,%edx
   140b5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   140b8:	89 d0                	mov    %edx,%eax
   140ba:	5b                   	pop    %ebx
   140bb:	5e                   	pop    %esi
   140bc:	5f                   	pop    %edi
   140bd:	5d                   	pop    %ebp
   140be:	c3                   	ret    
   140bf:	90                   	nop    
   140c0:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   140c3:	42                   	inc    %edx
   140c4:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
   140c7:	e9 20 ff ff ff       	jmp    13fec <_vfatFindDirSpace+0x8c>
   140cc:	8b 7d e8             	mov    0xffffffe8(%ebp),%edi
   140cf:	85 ff                	test   %edi,%edi
   140d1:	74 a9                	je     1407c <_vfatFindDirSpace+0x11c>
   140d3:	83 ec 0c             	sub    $0xc,%esp
   140d6:	57                   	push   %edi
   140d7:	e8 a4 85 00 00       	call   1c680 <_CcUnpinData@4>
   140dc:	8b 4d 10             	mov    0x10(%ebp),%ecx
   140df:	83 c4 0c             	add    $0xc,%esp
   140e2:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   140e9:	39 4d d4             	cmp    %ecx,0xffffffd4(%ebp)
   140ec:	75 96                	jne    14084 <_vfatFindDirSpace+0x124>
   140ee:	29 cb                	sub    %ecx,%ebx
   140f0:	8b 55 14             	mov    0x14(%ebp),%edx
   140f3:	8d 43 01             	lea    0x1(%ebx),%eax
   140f6:	89 02                	mov    %eax,(%edx)
   140f8:	eb b6                	jmp    140b0 <_vfatFindDirSpace+0x150>
   140fa:	83 ec 0c             	sub    $0xc,%esp
   140fd:	8b 45 0c             	mov    0xc(%ebp),%eax
   14100:	50                   	push   %eax
   14101:	e8 2a 28 00 00       	call   16930 <_vfatFCBIsRoot>
   14106:	83 c4 10             	add    $0x10,%esp
   14109:	84 c0                	test   %al,%al
   1410b:	74 0e                	je     1411b <_vfatFindDirSpace+0x1bb>
   1410d:	8b 45 08             	mov    0x8(%ebp),%eax
   14110:	31 d2                	xor    %edx,%edx
   14112:	83 b8 b4 00 04 00 03 	cmpl   $0x3,0x400b4(%eax)
   14119:	75 9a                	jne    140b5 <_vfatFindDirSpace+0x155>
   1411b:	8b 55 08             	mov    0x8(%ebp),%edx
   1411e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   14121:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   14127:	8b 79 18             	mov    0x18(%ecx),%edi
   1412a:	01 f8                	add    %edi,%eax
   1412c:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   14133:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   14136:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   14139:	50                   	push   %eax
   1413a:	52                   	push   %edx
   1413b:	51                   	push   %ecx
   1413c:	8b b1 3c 01 00 00    	mov    0x13c(%ecx),%esi
   14142:	56                   	push   %esi
   14143:	e8 68 3b 00 00       	call   17cb0 <_VfatSetAllocationSizeInformation>
   14148:	83 c4 10             	add    $0x10,%esp
   1414b:	31 d2                	xor    %edx,%edx
   1414d:	85 c0                	test   %eax,%eax
   1414f:	0f 88 60 ff ff ff    	js     140b5 <_vfatFindDirSpace+0x155>
   14155:	8b 55 0c             	mov    0xc(%ebp),%edx
   14158:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1415b:	8b 42 18             	mov    0x18(%edx),%eax
   1415e:	8b 91 ac 00 04 00    	mov    0x400ac(%ecx),%edx
   14164:	29 d0                	sub    %edx,%eax
   14166:	53                   	push   %ebx
   14167:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1416a:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1416d:	53                   	push   %ebx
   1416e:	50                   	push   %eax
   1416f:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   14172:	50                   	push   %eax
   14173:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   14176:	6a 01                	push   $0x1
   14178:	52                   	push   %edx
   14179:	50                   	push   %eax
   1417a:	8b 45 0c             	mov    0xc(%ebp),%eax
   1417d:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
   14183:	51                   	push   %ecx
   14184:	e8 87 86 00 00       	call   1c810 <_CcPinRead@24>
   14189:	58                   	pop    %eax
   1418a:	5a                   	pop    %edx
   1418b:	8b 55 08             	mov    0x8(%ebp),%edx
   1418e:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   14195:	74 7e                	je     14215 <_vfatFindDirSpace+0x2b5>
   14197:	50                   	push   %eax
   14198:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   1419e:	50                   	push   %eax
   1419f:	68 ff 00 00 00       	push   $0xff
   141a4:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   141a7:	51                   	push   %ecx
   141a8:	e8 43 86 00 00       	call   1c7f0 <_memset>
   141ad:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   141b0:	83 c4 10             	add    $0x10,%esp
   141b3:	85 c0                	test   %eax,%eax
   141b5:	0f 84 f5 fe ff ff    	je     140b0 <_vfatFindDirSpace+0x150>
   141bb:	52                   	push   %edx
   141bc:	52                   	push   %edx
   141bd:	6a 00                	push   $0x0
   141bf:	50                   	push   %eax
   141c0:	e8 5b 86 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   141c5:	50                   	push   %eax
   141c6:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   141c9:	50                   	push   %eax
   141ca:	e8 b1 84 00 00       	call   1c680 <_CcUnpinData@4>
   141cf:	83 c4 0c             	add    $0xc,%esp
   141d2:	e9 d9 fe ff ff       	jmp    140b0 <_vfatFindDirSpace+0x150>
   141d7:	0f af c6             	imul   %esi,%eax
   141da:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   141dd:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   141e0:	53                   	push   %ebx
   141e1:	53                   	push   %ebx
   141e2:	50                   	push   %eax
   141e3:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   141e6:	50                   	push   %eax
   141e7:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   141ea:	6a 01                	push   $0x1
   141ec:	56                   	push   %esi
   141ed:	50                   	push   %eax
   141ee:	8b 45 0c             	mov    0xc(%ebp),%eax
   141f1:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
   141f7:	51                   	push   %ecx
   141f8:	e8 13 86 00 00       	call   1c810 <_CcPinRead@24>
   141fd:	58                   	pop    %eax
   141fe:	5a                   	pop    %edx
   141ff:	8b 55 08             	mov    0x8(%ebp),%edx
   14202:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   14209:	74 04                	je     1420f <_vfatFindDirSpace+0x2af>
   1420b:	57                   	push   %edi
   1420c:	56                   	push   %esi
   1420d:	eb 90                	jmp    1419f <_vfatFindDirSpace+0x23f>
   1420f:	53                   	push   %ebx
   14210:	56                   	push   %esi
   14211:	6a 00                	push   $0x0
   14213:	eb 8f                	jmp    141a4 <_vfatFindDirSpace+0x244>
   14215:	8b 4d 08             	mov    0x8(%ebp),%ecx
   14218:	57                   	push   %edi
   14219:	8b b1 ac 00 04 00    	mov    0x400ac(%ecx),%esi
   1421f:	56                   	push   %esi
   14220:	6a 00                	push   $0x0
   14222:	eb 80                	jmp    141a4 <_vfatFindDirSpace+0x244>
   14224:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   1422a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00014230 <_FATAddEntry>:
   14230:	55                   	push   %ebp
   14231:	89 e5                	mov    %esp,%ebp
   14233:	57                   	push   %edi
   14234:	56                   	push   %esi
   14235:	53                   	push   %ebx
   14236:	81 ec 04 04 00 00    	sub    $0x404,%esp
   1423c:	c7 85 68 fc ff ff 00 	movl   $0x0,0xfffffc68(%ebp)
   14243:	00 00 00 
   14246:	8a 45 1c             	mov    0x1c(%ebp),%al
   14249:	c6 85 5f fc ff ff 00 	movb   $0x0,0xfffffc5f(%ebp)
   14250:	88 85 67 fc ff ff    	mov    %al,0xfffffc67(%ebp)
   14256:	8b 45 0c             	mov    0xc(%ebp),%eax
   14259:	c6 85 48 fc ff ff 00 	movb   $0x0,0xfffffc48(%ebp)
   14260:	c6 85 28 fc ff ff 00 	movb   $0x0,0xfffffc28(%ebp)
   14267:	8b 50 04             	mov    0x4(%eax),%edx
   1426a:	8b 00                	mov    (%eax),%eax
   1426c:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
   1426f:	89 55 c4             	mov    %edx,0xffffffc4(%ebp)
   14272:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   14275:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
   1427a:	66 d1 ea             	shr    %dx
   1427d:	31 f6                	xor    %esi,%esi
   1427f:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   14285:	83 c2 0c             	add    $0xc,%edx
   14288:	f7 e2                	mul    %edx
   1428a:	c1 ea 02             	shr    $0x2,%edx
   1428d:	42                   	inc    %edx
   1428e:	89 d0                	mov    %edx,%eax
   14290:	66 89 95 64 fc ff ff 	mov    %dx,0xfffffc64(%ebp)
   14297:	25 ff ff 00 00       	and    $0xffff,%eax
   1429c:	c1 e0 05             	shl    $0x5,%eax
   1429f:	8d 58 e0             	lea    0xffffffe0(%eax),%ebx
   142a2:	53                   	push   %ebx
   142a3:	6a 00                	push   $0x0
   142a5:	ff 15 44 02 02 00    	call   *0x20244
   142ab:	59                   	pop    %ecx
   142ac:	5f                   	pop    %edi
   142ad:	89 85 60 fc ff ff    	mov    %eax,0xfffffc60(%ebp)
   142b3:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   142b8:	8b 95 60 fc ff ff    	mov    0xfffffc60(%ebp),%edx
   142be:	85 d2                	test   %edx,%edx
   142c0:	0f 84 3b 07 00 00    	je     14a01 <_FATAddEntry+0x7d1>
   142c6:	57                   	push   %edi
   142c7:	53                   	push   %ebx
   142c8:	8b 9d 60 fc ff ff    	mov    0xfffffc60(%ebp),%ebx
   142ce:	6a 00                	push   $0x0
   142d0:	53                   	push   %ebx
   142d1:	e8 1a 85 00 00       	call   1c7f0 <_memset>
   142d6:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   142d9:	89 85 94 fc ff ff    	mov    %eax,0xfffffc94(%ebp)
   142df:	8d 85 48 fd ff ff    	lea    0xfffffd48(%ebp),%eax
   142e5:	fc                   	cld    
   142e6:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   142e9:	8d 7d 80             	lea    0xffffff80(%ebp),%edi
   142ec:	89 f0                	mov    %esi,%eax
   142ee:	b9 08 00 00 00       	mov    $0x8,%ecx
   142f3:	66 c7 85 90 fc ff ff 	movw   $0x0,0xfffffc90(%ebp)
   142fa:	00 00 
   142fc:	66 c7 85 92 fc ff ff 	movw   $0xd,0xfffffc92(%ebp)
   14303:	0d 00 
   14305:	66 c7 45 c8 00 00    	movw   $0x0,0xffffffc8(%ebp)
   1430b:	66 c7 45 ca 1a 00    	movw   $0x1a,0xffffffca(%ebp)
   14311:	f3 ab                	repz stos %eax,%es:(%edi)
   14313:	83 c4 0c             	add    $0xc,%esp
   14316:	8d 8d 90 fc ff ff    	lea    0xfffffc90(%ebp),%ecx
   1431c:	8d 95 8f fc ff ff    	lea    0xfffffc8f(%ebp),%edx
   14322:	8d 7d c0             	lea    0xffffffc0(%ebp),%edi
   14325:	52                   	push   %edx
   14326:	51                   	push   %ecx
   14327:	57                   	push   %edi
   14328:	e8 03 85 00 00       	call   1c830 <_RtlIsNameLegalDOS8Dot3@12>
   1432d:	59                   	pop    %ecx
   1432e:	84 c0                	test   %al,%al
   14330:	0f 85 f2 02 00 00    	jne    14628 <_FATAddEntry+0x3f8>
   14336:	fc                   	cld    
   14337:	89 f0                	mov    %esi,%eax
   14339:	b9 09 00 00 00       	mov    $0x9,%ecx
   1433e:	8d bd 18 fd ff ff    	lea    0xfffffd18(%ebp),%edi
   14344:	c6 85 5f fc ff ff 01 	movb   $0x1,0xfffffc5f(%ebp)
   1434b:	f3 ab                	repz stos %eax,%es:(%edi)
   1434d:	8d 85 68 fd ff ff    	lea    0xfffffd68(%ebp),%eax
   14353:	31 db                	xor    %ebx,%ebx
   14355:	89 85 04 fd ff ff    	mov    %eax,0xfffffd04(%ebp)
   1435b:	8d bd b8 fc ff ff    	lea    0xfffffcb8(%ebp),%edi
   14361:	8d 85 98 fc ff ff    	lea    0xfffffc98(%ebp),%eax
   14367:	66 c7 85 02 fd ff ff 	movw   $0x202,0xfffffd02(%ebp)
   1436e:	02 02 
   14370:	89 85 0c fd ff ff    	mov    %eax,0xfffffd0c(%ebp)
   14376:	66 c7 85 0a fd ff ff 	movw   $0x1a,0xfffffd0a(%ebp)
   1437d:	1a 00 
   1437f:	eb 06                	jmp    14387 <_FATAddEntry+0x157>
   14381:	43                   	inc    %ebx
   14382:	83 fb 63             	cmp    $0x63,%ebx
   14385:	7f 52                	jg     143d9 <_FATAddEntry+0x1a9>
   14387:	8d 55 c8             	lea    0xffffffc8(%ebp),%edx
   1438a:	8d 8d 18 fd ff ff    	lea    0xfffffd18(%ebp),%ecx
   14390:	8d 45 c0             	lea    0xffffffc0(%ebp),%eax
   14393:	52                   	push   %edx
   14394:	51                   	push   %ecx
   14395:	6a 00                	push   $0x0
   14397:	50                   	push   %eax
   14398:	e8 a3 84 00 00       	call   1c840 <_RtlGenerate8dot3Name@16>
   1439d:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   143a0:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   143a3:	66 d1 e8             	shr    %ax
   143a6:	83 ec 0c             	sub    $0xc,%esp
   143a9:	25 ff ff 00 00       	and    $0xffff,%eax
   143ae:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   143b4:	8d 55 c8             	lea    0xffffffc8(%ebp),%edx
   143b7:	6a 01                	push   $0x1
   143b9:	8b 45 08             	mov    0x8(%ebp),%eax
   143bc:	57                   	push   %edi
   143bd:	52                   	push   %edx
   143be:	8b 55 14             	mov    0x14(%ebp),%edx
   143c1:	c7 85 bc fc ff ff 00 	movl   $0x0,0xfffffcbc(%ebp)
   143c8:	00 00 00 
   143cb:	52                   	push   %edx
   143cc:	50                   	push   %eax
   143cd:	e8 6e d7 ff ff       	call   11b40 <_FindFile>
   143d2:	83 c4 20             	add    $0x20,%esp
   143d5:	85 c0                	test   %eax,%eax
   143d7:	79 a8                	jns    14381 <_FATAddEntry+0x151>
   143d9:	83 fb 64             	cmp    $0x64,%ebx
   143dc:	0f 84 7e 09 00 00    	je     14d60 <_FATAddEntry+0xb30>
   143e2:	8d 8d 8f fc ff ff    	lea    0xfffffc8f(%ebp),%ecx
   143e8:	50                   	push   %eax
   143e9:	8d bd 90 fc ff ff    	lea    0xfffffc90(%ebp),%edi
   143ef:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
   143f2:	51                   	push   %ecx
   143f3:	57                   	push   %edi
   143f4:	50                   	push   %eax
   143f5:	e8 36 84 00 00       	call   1c830 <_RtlIsNameLegalDOS8Dot3@12>
   143fa:	8b 85 90 fc ff ff    	mov    0xfffffc90(%ebp),%eax
   14400:	25 ff ff 00 00       	and    $0xffff,%eax
   14405:	c6 44 28 d8 00       	movb   $0x0,0xffffffd8(%eax,%ebp,1)
   1440a:	58                   	pop    %eax
   1440b:	8a 45 d8             	mov    0xffffffd8(%ebp),%al
   1440e:	31 db                	xor    %ebx,%ebx
   14410:	c7 45 80 20 20 20 20 	movl   $0x20202020,0xffffff80(%ebp)
   14417:	c7 45 84 20 20 20 20 	movl   $0x20202020,0xffffff84(%ebp)
   1441e:	66 c7 45 88 20 20    	movw   $0x2020,0xffffff88(%ebp)
   14424:	c6 45 8a 20          	movb   $0x20,0xffffff8a(%ebp)
   14428:	84 c0                	test   %al,%al
   1442a:	0f 84 3b 03 00 00    	je     1476b <_FATAddEntry+0x53b>
   14430:	3c 2e                	cmp    $0x2e,%al
   14432:	0f 84 58 08 00 00    	je     14c90 <_FATAddEntry+0xa60>
   14438:	88 c2                	mov    %al,%dl
   1443a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   14440:	88 54 2b 80          	mov    %dl,0xffffff80(%ebx,%ebp,1)
   14444:	43                   	inc    %ebx
   14445:	83 fb 07             	cmp    $0x7,%ebx
   14448:	0f 8f 82 07 00 00    	jg     14bd0 <_FATAddEntry+0x9a0>
   1444e:	8a 54 2b d8          	mov    0xffffffd8(%ebx,%ebp,1),%dl
   14452:	84 d2                	test   %dl,%dl
   14454:	0f 84 14 03 00 00    	je     1476e <_FATAddEntry+0x53e>
   1445a:	80 fa 2e             	cmp    $0x2e,%dl
   1445d:	75 e1                	jne    14440 <_FATAddEntry+0x210>
   1445f:	43                   	inc    %ebx
   14460:	b9 08 00 00 00       	mov    $0x8,%ecx
   14465:	8a 54 2b d8          	mov    0xffffffd8(%ebx,%ebp,1),%dl
   14469:	84 d2                	test   %dl,%dl
   1446b:	74 13                	je     14480 <_FATAddEntry+0x250>
   1446d:	89 c8                	mov    %ecx,%eax
   1446f:	41                   	inc    %ecx
   14470:	25 ff ff 00 00       	and    $0xffff,%eax
   14475:	43                   	inc    %ebx
   14476:	66 83 f9 0a          	cmp    $0xa,%cx
   1447a:	88 54 28 80          	mov    %dl,0xffffff80(%eax,%ebp,1)
   1447e:	76 e5                	jbe    14465 <_FATAddEntry+0x235>
   14480:	80 7d 80 e5          	cmpb   $0xe5,0xffffff80(%ebp)
   14484:	0f 84 f7 02 00 00    	je     14781 <_FATAddEntry+0x551>
   1448a:	80 bd 5f fc ff ff 00 	cmpb   $0x0,0xfffffc5f(%ebp)
   14491:	0f 85 fb 02 00 00    	jne    14792 <_FATAddEntry+0x562>
   14497:	66 c7 85 64 fc ff ff 	movw   $0x1,0xfffffc64(%ebp)
   1449e:	01 00 
   144a0:	80 bd 48 fc ff ff 00 	cmpb   $0x0,0xfffffc48(%ebp)
   144a7:	74 04                	je     144ad <_FATAddEntry+0x27d>
   144a9:	80 4d 8c 08          	orb    $0x8,0xffffff8c(%ebp)
   144ad:	80 bd 28 fc ff ff 00 	cmpb   $0x0,0xfffffc28(%ebp)
   144b4:	74 04                	je     144ba <_FATAddEntry+0x28a>
   144b6:	80 4d 8c 10          	orb    $0x10,0xffffff8c(%ebp)
   144ba:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
   144be:	0f 84 47 03 00 00    	je     1480b <_FATAddEntry+0x5db>
   144c4:	80 8d 67 fc ff ff 10 	orb    $0x10,0xfffffc67(%ebp)
   144cb:	8a 85 67 fc ff ff    	mov    0xfffffc67(%ebp),%al
   144d1:	88 45 8b             	mov    %al,0xffffff8b(%ebp)
   144d4:	83 ec 0c             	sub    $0xc,%esp
   144d7:	8d b5 80 fc ff ff    	lea    0xfffffc80(%ebp),%esi
   144dd:	56                   	push   %esi
   144de:	ff 15 f0 02 02 00    	call   *0x202f0
   144e4:	83 c4 0c             	add    $0xc,%esp
   144e7:	8d 45 8e             	lea    0xffffff8e(%ebp),%eax
   144ea:	50                   	push   %eax
   144eb:	8d 45 90             	lea    0xffffff90(%ebp),%eax
   144ee:	50                   	push   %eax
   144ef:	8b 45 08             	mov    0x8(%ebp),%eax
   144f2:	56                   	push   %esi
   144f3:	50                   	push   %eax
   144f4:	e8 77 e3 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   144f9:	8b 55 90             	mov    0xffffff90(%ebp),%edx
   144fc:	66 8b 45 8e          	mov    0xffffff8e(%ebp),%ax
   14500:	83 c4 10             	add    $0x10,%esp
   14503:	66 89 55 98          	mov    %dx,0xffffff98(%ebp)
   14507:	66 89 45 96          	mov    %ax,0xffffff96(%ebp)
   1450b:	66 89 55 92          	mov    %dx,0xffffff92(%ebp)
   1450f:	80 bd 5f fc ff ff 00 	cmpb   $0x0,0xfffffc5f(%ebp)
   14516:	0f 84 fd 02 00 00    	je     14819 <_FATAddEntry+0x5e9>
   1451c:	8b 8d 60 fc ff ff    	mov    0xfffffc60(%ebp),%ecx
   14522:	31 db                	xor    %ebx,%ebx
   14524:	c6 41 0d 00          	movb   $0x0,0xd(%ecx)
   14528:	8b bd 60 fc ff ff    	mov    0xfffffc60(%ebp),%edi
   1452e:	31 d2                	xor    %edx,%edx
   14530:	8a 57 0d             	mov    0xd(%edi),%dl
   14533:	89 d0                	mov    %edx,%eax
   14535:	d1 ea                	shr    %edx
   14537:	83 e0 01             	and    $0x1,%eax
   1453a:	c1 e0 07             	shl    $0x7,%eax
   1453d:	09 d0                	or     %edx,%eax
   1453f:	02 44 2b 80          	add    0xffffff80(%ebx,%ebp,1),%al
   14543:	43                   	inc    %ebx
   14544:	88 47 0d             	mov    %al,0xd(%edi)
   14547:	83 fb 0a             	cmp    $0xa,%ebx
   1454a:	7e dc                	jle    14528 <_FATAddEntry+0x2f8>
   1454c:	8b 85 64 fc ff ff    	mov    0xfffffc64(%ebp),%eax
   14552:	25 ff ff 00 00       	and    $0xffff,%eax
   14557:	89 c3                	mov    %eax,%ebx
   14559:	83 eb 02             	sub    $0x2,%ebx
   1455c:	0f 88 b7 02 00 00    	js     14819 <_FATAddEntry+0x5e9>
   14562:	8a 85 64 fc ff ff    	mov    0xfffffc64(%ebp),%al
   14568:	83 c0 3f             	add    $0x3f,%eax
   1456b:	88 85 07 fc ff ff    	mov    %al,0xfffffc07(%ebp)
   14571:	e9 87 00 00 00       	jmp    145fd <_FATAddEntry+0x3cd>
   14576:	8a 85 64 fc ff ff    	mov    0xfffffc64(%ebp),%al
   1457c:	28 d8                	sub    %bl,%al
   1457e:	48                   	dec    %eax
   1457f:	88 04 0a             	mov    %al,(%edx,%ecx,1)
   14582:	8b bd 60 fc ff ff    	mov    0xfffffc60(%ebp),%edi
   14588:	89 d9                	mov    %ebx,%ecx
   1458a:	c1 e1 05             	shl    $0x5,%ecx
   1458d:	8a 47 0d             	mov    0xd(%edi),%al
   14590:	88 44 39 0d          	mov    %al,0xd(%ecx,%edi,1)
   14594:	01 f9                	add    %edi,%ecx
   14596:	8b 85 64 fc ff ff    	mov    0xfffffc64(%ebp),%eax
   1459c:	8b 7d c4             	mov    0xffffffc4(%ebp),%edi
   1459f:	25 ff ff 00 00       	and    $0xffff,%eax
   145a4:	8d 71 01             	lea    0x1(%ecx),%esi
   145a7:	29 d8                	sub    %ebx,%eax
   145a9:	8d 14 40             	lea    (%eax,%eax,2),%edx
   145ac:	8d 14 90             	lea    (%eax,%edx,4),%edx
   145af:	01 d2                	add    %edx,%edx
   145b1:	89 d0                	mov    %edx,%eax
   145b3:	01 f8                	add    %edi,%eax
   145b5:	8d 78 cc             	lea    0xffffffcc(%eax),%edi
   145b8:	8b 40 cc             	mov    0xffffffcc(%eax),%eax
   145bb:	89 41 01             	mov    %eax,0x1(%ecx)
   145be:	8b 47 04             	mov    0x4(%edi),%eax
   145c1:	89 46 04             	mov    %eax,0x4(%esi)
   145c4:	66 8b 47 08          	mov    0x8(%edi),%ax
   145c8:	66 89 46 08          	mov    %ax,0x8(%esi)
   145cc:	89 d0                	mov    %edx,%eax
   145ce:	8b 7d c4             	mov    0xffffffc4(%ebp),%edi
   145d1:	8d 71 0e             	lea    0xe(%ecx),%esi
   145d4:	01 f8                	add    %edi,%eax
   145d6:	8d 78 d6             	lea    0xffffffd6(%eax),%edi
   145d9:	8b 40 d6             	mov    0xffffffd6(%eax),%eax
   145dc:	89 41 0e             	mov    %eax,0xe(%ecx)
   145df:	8b 47 04             	mov    0x4(%edi),%eax
   145e2:	89 46 04             	mov    %eax,0x4(%esi)
   145e5:	8b 47 08             	mov    0x8(%edi),%eax
   145e8:	89 46 08             	mov    %eax,0x8(%esi)
   145eb:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   145ee:	01 c2                	add    %eax,%edx
   145f0:	4b                   	dec    %ebx
   145f1:	8b 42 e2             	mov    0xffffffe2(%edx),%eax
   145f4:	89 41 1c             	mov    %eax,0x1c(%ecx)
   145f7:	0f 88 1c 02 00 00    	js     14819 <_FATAddEntry+0x5e9>
   145fd:	89 da                	mov    %ebx,%edx
   145ff:	8b 8d 60 fc ff ff    	mov    0xfffffc60(%ebp),%ecx
   14605:	c1 e2 05             	shl    $0x5,%edx
   14608:	85 db                	test   %ebx,%ebx
   1460a:	c6 44 0a 0b 0f       	movb   $0xf,0xb(%edx,%ecx,1)
   1460f:	0f 85 61 ff ff ff    	jne    14576 <_FATAddEntry+0x346>
   14615:	8b 95 60 fc ff ff    	mov    0xfffffc60(%ebp),%edx
   1461b:	8a 85 07 fc ff ff    	mov    0xfffffc07(%ebp),%al
   14621:	88 02                	mov    %al,(%edx)
   14623:	e9 5a ff ff ff       	jmp    14582 <_FATAddEntry+0x352>
   14628:	80 bd 8f fc ff ff 00 	cmpb   $0x0,0xfffffc8f(%ebp)
   1462f:	0f 85 01 fd ff ff    	jne    14336 <_FATAddEntry+0x106>
   14635:	8b 85 90 fc ff ff    	mov    0xfffffc90(%ebp),%eax
   1463b:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   1463e:	25 ff ff 00 00       	and    $0xffff,%eax
   14643:	31 db                	xor    %ebx,%ebx
   14645:	66 d1 ea             	shr    %dx
   14648:	66 83 fa 00          	cmp    $0x0,%dx
   1464c:	c6 44 28 d8 00       	movb   $0x0,0xffffffd8(%eax,%ebp,1)
   14651:	76 12                	jbe    14665 <_FATAddEntry+0x435>
   14653:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   14656:	66 83 38 2e          	cmpw   $0x2e,(%eax)
   1465a:	74 09                	je     14665 <_FATAddEntry+0x435>
   1465c:	43                   	inc    %ebx
   1465d:	83 c0 02             	add    $0x2,%eax
   14660:	66 39 da             	cmp    %bx,%dx
   14663:	77 f1                	ja     14656 <_FATAddEntry+0x426>
   14665:	8d 55 c0             	lea    0xffffffc0(%ebp),%edx
   14668:	8d 4d c8             	lea    0xffffffc8(%ebp),%ecx
   1466b:	50                   	push   %eax
   1466c:	6a 00                	push   $0x0
   1466e:	52                   	push   %edx
   1466f:	51                   	push   %ecx
   14670:	e8 eb 7f 00 00       	call   1c660 <_RtlDowncaseUnicodeString@12>
   14675:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   14678:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   1467b:	66 d1 e8             	shr    %ax
   1467e:	89 de                	mov    %ebx,%esi
   14680:	25 ff ff 00 00       	and    $0xffff,%eax
   14685:	81 e6 ff ff 00 00    	and    $0xffff,%esi
   1468b:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   14691:	56                   	push   %esi
   14692:	8b 7d c4             	mov    0xffffffc4(%ebp),%edi
   14695:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   14698:	50                   	push   %eax
   14699:	57                   	push   %edi
   1469a:	e8 d1 81 00 00       	call   1c870 <_wcsncmp>
   1469f:	83 c4 10             	add    $0x10,%esp
   146a2:	85 c0                	test   %eax,%eax
   146a4:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   146a7:	0f 95 85 38 fc ff ff 	setne  0xfffffc38(%ebp)
   146ae:	66 d1 e8             	shr    %ax
   146b1:	31 ff                	xor    %edi,%edi
   146b3:	66 39 d8             	cmp    %bx,%ax
   146b6:	0f 87 22 06 00 00    	ja     14cde <_FATAddEntry+0xaae>
   146bc:	8d 55 c0             	lea    0xffffffc0(%ebp),%edx
   146bf:	8d 4d c8             	lea    0xffffffc8(%ebp),%ecx
   146c2:	50                   	push   %eax
   146c3:	6a 00                	push   $0x0
   146c5:	52                   	push   %edx
   146c6:	51                   	push   %ecx
   146c7:	ff 15 40 03 02 00    	call   *0x20340
   146cd:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   146d0:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   146d3:	66 d1 e8             	shr    %ax
   146d6:	89 de                	mov    %ebx,%esi
   146d8:	25 ff ff 00 00       	and    $0xffff,%eax
   146dd:	81 e6 ff ff 00 00    	and    $0xffff,%esi
   146e3:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   146e9:	56                   	push   %esi
   146ea:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   146ed:	50                   	push   %eax
   146ee:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   146f1:	50                   	push   %eax
   146f2:	e8 79 81 00 00       	call   1c870 <_wcsncmp>
   146f7:	83 c4 10             	add    $0x10,%esp
   146fa:	85 c0                	test   %eax,%eax
   146fc:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   146ff:	0f 95 85 48 fc ff ff 	setne  0xfffffc48(%ebp)
   14706:	66 d1 e8             	shr    %ax
   14709:	c6 85 28 fc ff ff 00 	movb   $0x0,0xfffffc28(%ebp)
   14710:	66 39 d8             	cmp    %bx,%ax
   14713:	0f 87 f1 05 00 00    	ja     14d0a <_FATAddEntry+0xada>
   14719:	8a 85 38 fc ff ff    	mov    0xfffffc38(%ebp),%al
   1471f:	8a 95 48 fc ff ff    	mov    0xfffffc48(%ebp),%dl
   14725:	83 e0 01             	and    $0x1,%eax
   14728:	85 c2                	test   %eax,%edx
   1472a:	75 13                	jne    1473f <_FATAddEntry+0x50f>
   1472c:	89 f8                	mov    %edi,%eax
   1472e:	8a 8d 28 fc ff ff    	mov    0xfffffc28(%ebp),%cl
   14734:	83 e0 01             	and    $0x1,%eax
   14737:	85 c1                	test   %eax,%ecx
   14739:	0f 84 cc fc ff ff    	je     1440b <_FATAddEntry+0x1db>
   1473f:	8a 45 d8             	mov    0xffffffd8(%ebp),%al
   14742:	31 db                	xor    %ebx,%ebx
   14744:	c6 85 5f fc ff ff 01 	movb   $0x1,0xfffffc5f(%ebp)
   1474b:	c7 45 80 20 20 20 20 	movl   $0x20202020,0xffffff80(%ebp)
   14752:	c7 45 84 20 20 20 20 	movl   $0x20202020,0xffffff84(%ebp)
   14759:	66 c7 45 88 20 20    	movw   $0x2020,0xffffff88(%ebp)
   1475f:	c6 45 8a 20          	movb   $0x20,0xffffff8a(%ebp)
   14763:	84 c0                	test   %al,%al
   14765:	0f 85 c5 fc ff ff    	jne    14430 <_FATAddEntry+0x200>
   1476b:	8a 55 d8             	mov    0xffffffd8(%ebp),%dl
   1476e:	80 fa 2e             	cmp    $0x2e,%dl
   14771:	0f 84 e8 fc ff ff    	je     1445f <_FATAddEntry+0x22f>
   14777:	80 7d 80 e5          	cmpb   $0xe5,0xffffff80(%ebp)
   1477b:	0f 85 09 fd ff ff    	jne    1448a <_FATAddEntry+0x25a>
   14781:	c6 45 80 05          	movb   $0x5,0xffffff80(%ebp)
   14785:	80 bd 5f fc ff ff 00 	cmpb   $0x0,0xfffffc5f(%ebp)
   1478c:	0f 84 05 fd ff ff    	je     14497 <_FATAddEntry+0x267>
   14792:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   14795:	8d b5 68 fd ff ff    	lea    0xfffffd68(%ebp),%esi
   1479b:	25 ff ff 00 00       	and    $0xffff,%eax
   147a0:	52                   	push   %edx
   147a1:	50                   	push   %eax
   147a2:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   147a5:	50                   	push   %eax
   147a6:	56                   	push   %esi
   147a7:	e8 34 80 00 00       	call   1c7e0 <_memcpy>
   147ac:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   147af:	66 d1 e8             	shr    %ax
   147b2:	89 75 c4             	mov    %esi,0xffffffc4(%ebp)
   147b5:	25 ff ff 00 00       	and    $0xffff,%eax
   147ba:	66 c7 45 c2 02 02    	movw   $0x202,0xffffffc2(%ebp)
   147c0:	83 c4 0c             	add    $0xc,%esp
   147c3:	66 c7 04 46 00 00    	movw   $0x0,(%esi,%eax,2)
   147c9:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
   147cc:	66 8b 45 c2          	mov    0xffffffc2(%ebp),%ax
   147d0:	89 d1                	mov    %edx,%ecx
   147d2:	25 ff ff 00 00       	and    $0xffff,%eax
   147d7:	66 d1 ea             	shr    %dx
   147da:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   147e0:	29 c8                	sub    %ecx,%eax
   147e2:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   147e8:	83 e8 02             	sub    $0x2,%eax
   147eb:	50                   	push   %eax
   147ec:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   147ef:	68 ff 00 00 00       	push   $0xff
   147f4:	8d 54 50 02          	lea    0x2(%eax,%edx,2),%edx
   147f8:	52                   	push   %edx
   147f9:	e8 f2 7f 00 00       	call   1c7f0 <_memset>
   147fe:	83 c4 10             	add    $0x10,%esp
   14801:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
   14805:	0f 85 b9 fc ff ff    	jne    144c4 <_FATAddEntry+0x294>
   1480b:	8a 95 67 fc ff ff    	mov    0xfffffc67(%ebp),%dl
   14811:	88 55 8b             	mov    %dl,0xffffff8b(%ebp)
   14814:	e9 bb fc ff ff       	jmp    144d4 <_FATAddEntry+0x2a4>
   14819:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
   1481f:	8b 9d 64 fc ff ff    	mov    0xfffffc64(%ebp),%ebx
   14825:	50                   	push   %eax
   14826:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
   1482c:	8b 45 14             	mov    0x14(%ebp),%eax
   1482f:	53                   	push   %ebx
   14830:	50                   	push   %eax
   14831:	8b 45 08             	mov    0x8(%ebp),%eax
   14834:	50                   	push   %eax
   14835:	e8 26 f7 ff ff       	call   13f60 <_vfatFindDirSpace>
   1483a:	83 c4 10             	add    $0x10,%esp
   1483d:	84 c0                	test   %al,%al
   1483f:	0f 84 01 05 00 00    	je     14d46 <_FATAddEntry+0xb16>
   14845:	8b 85 78 ff ff ff    	mov    0xffffff78(%ebp),%eax
   1484b:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
   1484f:	8d 7c 18 ff          	lea    0xffffffff(%eax,%ebx,1),%edi
   14853:	89 bd 7c ff ff ff    	mov    %edi,0xffffff7c(%ebp)
   14859:	0f 85 aa 01 00 00    	jne    14a09 <_FATAddEntry+0x7d9>
   1485f:	8b 4d 08             	mov    0x8(%ebp),%ecx
   14862:	31 d2                	xor    %edx,%edx
   14864:	8b b1 ac 00 04 00    	mov    0x400ac(%ecx),%esi
   1486a:	89 c1                	mov    %eax,%ecx
   1486c:	89 f3                	mov    %esi,%ebx
   1486e:	c7 85 74 fc ff ff 00 	movl   $0x0,0xfffffc74(%ebp)
   14875:	00 00 00 
   14878:	c1 eb 05             	shr    $0x5,%ebx
   1487b:	f7 f3                	div    %ebx
   1487d:	89 85 00 fc ff ff    	mov    %eax,0xfffffc00(%ebp)
   14883:	31 d2                	xor    %edx,%edx
   14885:	c1 e1 05             	shl    $0x5,%ecx
   14888:	89 f8                	mov    %edi,%eax
   1488a:	f7 f3                	div    %ebx
   1488c:	89 8d 70 fc ff ff    	mov    %ecx,0xfffffc70(%ebp)
   14892:	39 85 00 fc ff ff    	cmp    %eax,0xfffffc00(%ebp)
   14898:	0f 84 3b 03 00 00    	je     14bd9 <_FATAddEntry+0x9a9>
   1489e:	89 c8                	mov    %ecx,%eax
   148a0:	31 d2                	xor    %edx,%edx
   148a2:	f7 f6                	div    %esi
   148a4:	29 d6                	sub    %edx,%esi
   148a6:	50                   	push   %eax
   148a7:	89 b5 24 fc ff ff    	mov    %esi,0xfffffc24(%ebp)
   148ad:	50                   	push   %eax
   148ae:	8d bd 6c fc ff ff    	lea    0xfffffc6c(%ebp),%edi
   148b4:	8b 85 24 fc ff ff    	mov    0xfffffc24(%ebp),%eax
   148ba:	89 f3                	mov    %esi,%ebx
   148bc:	8d b5 68 fc ff ff    	lea    0xfffffc68(%ebp),%esi
   148c2:	57                   	push   %edi
   148c3:	8d 8d 70 fc ff ff    	lea    0xfffffc70(%ebp),%ecx
   148c9:	c1 eb 05             	shr    $0x5,%ebx
   148cc:	56                   	push   %esi
   148cd:	6a 01                	push   $0x1
   148cf:	50                   	push   %eax
   148d0:	8b 45 14             	mov    0x14(%ebp),%eax
   148d3:	51                   	push   %ecx
   148d4:	8b 80 3c 01 00 00    	mov    0x13c(%eax),%eax
   148da:	50                   	push   %eax
   148db:	e8 30 7f 00 00       	call   1c810 <_CcPinRead@24>
   148e0:	58                   	pop    %eax
   148e1:	8b 85 24 fc ff ff    	mov    0xfffffc24(%ebp),%eax
   148e7:	8b 8d 6c fc ff ff    	mov    0xfffffc6c(%ebp),%ecx
   148ed:	50                   	push   %eax
   148ee:	8b 85 60 fc ff ff    	mov    0xfffffc60(%ebp),%eax
   148f4:	50                   	push   %eax
   148f5:	51                   	push   %ecx
   148f6:	e8 e5 7e 00 00       	call   1c7e0 <_memcpy>
   148fb:	58                   	pop    %eax
   148fc:	8b 85 68 fc ff ff    	mov    0xfffffc68(%ebp),%eax
   14902:	5a                   	pop    %edx
   14903:	6a 00                	push   $0x0
   14905:	50                   	push   %eax
   14906:	e8 15 7f 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   1490b:	50                   	push   %eax
   1490c:	8b 85 68 fc ff ff    	mov    0xfffffc68(%ebp),%eax
   14912:	50                   	push   %eax
   14913:	e8 68 7d 00 00       	call   1c680 <_CcUnpinData@4>
   14918:	8b 95 24 fc ff ff    	mov    0xfffffc24(%ebp),%edx
   1491e:	8b 85 70 fc ff ff    	mov    0xfffffc70(%ebp),%eax
   14924:	89 3c 24             	mov    %edi,(%esp)
   14927:	8b bd 64 fc ff ff    	mov    0xfffffc64(%ebp),%edi
   1492d:	81 e7 ff ff 00 00    	and    $0xffff,%edi
   14933:	56                   	push   %esi
   14934:	89 fe                	mov    %edi,%esi
   14936:	01 d0                	add    %edx,%eax
   14938:	c1 e6 05             	shl    $0x5,%esi
   1493b:	89 85 70 fc ff ff    	mov    %eax,0xfffffc70(%ebp)
   14941:	89 f0                	mov    %esi,%eax
   14943:	6a 01                	push   $0x1
   14945:	29 d0                	sub    %edx,%eax
   14947:	8b 55 14             	mov    0x14(%ebp),%edx
   1494a:	50                   	push   %eax
   1494b:	8d 85 70 fc ff ff    	lea    0xfffffc70(%ebp),%eax
   14951:	50                   	push   %eax
   14952:	8b 82 3c 01 00 00    	mov    0x13c(%edx),%eax
   14958:	50                   	push   %eax
   14959:	e8 b2 7e 00 00       	call   1c810 <_CcPinRead@24>
   1495e:	8d 47 ff             	lea    0xffffffff(%edi),%eax
   14961:	5a                   	pop    %edx
   14962:	39 d8                	cmp    %ebx,%eax
   14964:	59                   	pop    %ecx
   14965:	0f 8f f8 02 00 00    	jg     14c63 <_FATAddEntry+0xa33>
   1496b:	89 f0                	mov    %esi,%eax
   1496d:	8b b5 6c fc ff ff    	mov    0xfffffc6c(%ebp),%esi
   14973:	01 f0                	add    %esi,%eax
   14975:	8b 55 80             	mov    0xffffff80(%ebp),%edx
   14978:	c1 e3 05             	shl    $0x5,%ebx
   1497b:	29 d8                	sub    %ebx,%eax
   1497d:	89 50 e0             	mov    %edx,0xffffffe0(%eax)
   14980:	8b 55 84             	mov    0xffffff84(%ebp),%edx
   14983:	89 50 e4             	mov    %edx,0xffffffe4(%eax)
   14986:	8b 55 88             	mov    0xffffff88(%ebp),%edx
   14989:	89 50 e8             	mov    %edx,0xffffffe8(%eax)
   1498c:	8b 55 8c             	mov    0xffffff8c(%ebp),%edx
   1498f:	89 50 ec             	mov    %edx,0xffffffec(%eax)
   14992:	8b 55 90             	mov    0xffffff90(%ebp),%edx
   14995:	89 50 f0             	mov    %edx,0xfffffff0(%eax)
   14998:	8b 55 94             	mov    0xffffff94(%ebp),%edx
   1499b:	89 50 f4             	mov    %edx,0xfffffff4(%eax)
   1499e:	8b 55 98             	mov    0xffffff98(%ebp),%edx
   149a1:	89 50 f8             	mov    %edx,0xfffffff8(%eax)
   149a4:	8b 55 9c             	mov    0xffffff9c(%ebp),%edx
   149a7:	89 50 fc             	mov    %edx,0xfffffffc(%eax)
   149aa:	8b 8d 68 fc ff ff    	mov    0xfffffc68(%ebp),%ecx
   149b0:	53                   	push   %ebx
   149b1:	53                   	push   %ebx
   149b2:	6a 00                	push   $0x0
   149b4:	51                   	push   %ecx
   149b5:	e8 66 7e 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   149ba:	8b 85 68 fc ff ff    	mov    0xfffffc68(%ebp),%eax
   149c0:	52                   	push   %edx
   149c1:	50                   	push   %eax
   149c2:	e8 b9 7c 00 00       	call   1c680 <_CcUnpinData@4>
   149c7:	8b 45 10             	mov    0x10(%ebp),%eax
   149ca:	83 c4 0c             	add    $0xc,%esp
   149cd:	8d 8d 78 ff ff ff    	lea    0xffffff78(%ebp),%ecx
   149d3:	50                   	push   %eax
   149d4:	8b 45 14             	mov    0x14(%ebp),%eax
   149d7:	51                   	push   %ecx
   149d8:	50                   	push   %eax
   149d9:	8b 45 08             	mov    0x8(%ebp),%eax
   149dc:	50                   	push   %eax
   149dd:	e8 4e 25 00 00       	call   16f30 <_vfatMakeFCBFromDirEntry>
   149e2:	83 c4 10             	add    $0x10,%esp
   149e5:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
   149e9:	0f 85 80 00 00 00    	jne    14a6f <_FATAddEntry+0x83f>
   149ef:	83 ec 0c             	sub    $0xc,%esp
   149f2:	8b 85 60 fc ff ff    	mov    0xfffffc60(%ebp),%eax
   149f8:	50                   	push   %eax
   149f9:	ff 15 4c 02 02 00    	call   *0x2024c
   149ff:	31 c0                	xor    %eax,%eax
   14a01:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14a04:	5b                   	pop    %ebx
   14a05:	5e                   	pop    %esi
   14a06:	5f                   	pop    %edi
   14a07:	5d                   	pop    %ebp
   14a08:	c3                   	ret    
   14a09:	8d 85 7c fc ff ff    	lea    0xfffffc7c(%ebp),%eax
   14a0f:	6a 01                	push   $0x1
   14a11:	50                   	push   %eax
   14a12:	8b 45 08             	mov    0x8(%ebp),%eax
   14a15:	6a 00                	push   $0x0
   14a17:	c7 85 7c fc ff ff 00 	movl   $0x0,0xfffffc7c(%ebp)
   14a1e:	00 00 00 
   14a21:	50                   	push   %eax
   14a22:	e8 39 40 00 00       	call   18a60 <_NextCluster>
   14a27:	8b 8d 7c fc ff ff    	mov    0xfffffc7c(%ebp),%ecx
   14a2d:	89 c6                	mov    %eax,%esi
   14a2f:	83 c4 10             	add    $0x10,%esp
   14a32:	89 f2                	mov    %esi,%edx
   14a34:	83 f9 ff             	cmp    $0xffffffff,%ecx
   14a37:	0f 94 c0             	sete   %al
   14a3a:	c1 ea 1f             	shr    $0x1f,%edx
   14a3d:	25 ff 00 00 00       	and    $0xff,%eax
   14a42:	09 d0                	or     %edx,%eax
   14a44:	0f 85 4d 02 00 00    	jne    14c97 <_FATAddEntry+0xa67>
   14a4a:	8b 55 08             	mov    0x8(%ebp),%edx
   14a4d:	83 ba b4 00 04 00 03 	cmpl   $0x3,0x400b4(%edx)
   14a54:	0f 84 de 02 00 00    	je     14d38 <_FATAddEntry+0xb08>
   14a5a:	8b 85 78 ff ff ff    	mov    0xffffff78(%ebp),%eax
   14a60:	8b bd 7c ff ff ff    	mov    0xffffff7c(%ebp),%edi
   14a66:	66 89 4d 9a          	mov    %cx,0xffffff9a(%ebp)
   14a6a:	e9 f0 fd ff ff       	jmp    1485f <_FATAddEntry+0x62f>
   14a6f:	8b 55 08             	mov    0x8(%ebp),%edx
   14a72:	8d bd 6c fc ff ff    	lea    0xfffffc6c(%ebp),%edi
   14a78:	50                   	push   %eax
   14a79:	50                   	push   %eax
   14a7a:	8d 85 68 fc ff ff    	lea    0xfffffc68(%ebp),%eax
   14a80:	57                   	push   %edi
   14a81:	c7 85 70 fc ff ff 00 	movl   $0x0,0xfffffc70(%ebp)
   14a88:	00 00 00 
   14a8b:	50                   	push   %eax
   14a8c:	c7 85 74 fc ff ff 00 	movl   $0x0,0xfffffc74(%ebp)
   14a93:	00 00 00 
   14a96:	6a 01                	push   $0x1
   14a98:	8d 8d 70 fc ff ff    	lea    0xfffffc70(%ebp),%ecx
   14a9e:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   14aa4:	8b 7d 10             	mov    0x10(%ebp),%edi
   14aa7:	50                   	push   %eax
   14aa8:	51                   	push   %ecx
   14aa9:	8b 07                	mov    (%edi),%eax
   14aab:	8b b8 3c 01 00 00    	mov    0x13c(%eax),%edi
   14ab1:	57                   	push   %edi
   14ab2:	e8 b9 7b 00 00       	call   1c670 <_CcMapData@24>
   14ab7:	8b 45 08             	mov    0x8(%ebp),%eax
   14aba:	5e                   	pop    %esi
   14abb:	8b 8d 6c fc ff ff    	mov    0xfffffc6c(%ebp),%ecx
   14ac1:	8b 98 ac 00 04 00    	mov    0x400ac(%eax),%ebx
   14ac7:	53                   	push   %ebx
   14ac8:	6a 00                	push   $0x0
   14aca:	51                   	push   %ecx
   14acb:	e8 20 7d 00 00       	call   1c7f0 <_memset>
   14ad0:	8b 95 6c fc ff ff    	mov    0xfffffc6c(%ebp),%edx
   14ad6:	8b 45 8b             	mov    0xffffff8b(%ebp),%eax
   14ad9:	89 42 0b             	mov    %eax,0xb(%edx)
   14adc:	8b 45 8f             	mov    0xffffff8f(%ebp),%eax
   14adf:	89 42 0f             	mov    %eax,0xf(%edx)
   14ae2:	8b 45 93             	mov    0xffffff93(%ebp),%eax
   14ae5:	89 42 13             	mov    %eax,0x13(%edx)
   14ae8:	8b 45 97             	mov    0xffffff97(%ebp),%eax
   14aeb:	89 42 17             	mov    %eax,0x17(%edx)
   14aee:	8b 45 9b             	mov    0xffffff9b(%ebp),%eax
   14af1:	89 42 1b             	mov    %eax,0x1b(%edx)
   14af4:	8a 45 9f             	mov    0xffffff9f(%ebp),%al
   14af7:	88 42 1f             	mov    %al,0x1f(%edx)
   14afa:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14b00:	c7 00 2e 20 20 20    	movl   $0x2020202e,(%eax)
   14b06:	c7 40 04 20 20 20 20 	movl   $0x20202020,0x4(%eax)
   14b0d:	66 c7 40 08 20 20    	movw   $0x2020,0x8(%eax)
   14b13:	c6 40 0a 20          	movb   $0x20,0xa(%eax)
   14b17:	8b 95 6c fc ff ff    	mov    0xfffffc6c(%ebp),%edx
   14b1d:	8b 45 8b             	mov    0xffffff8b(%ebp),%eax
   14b20:	89 42 2b             	mov    %eax,0x2b(%edx)
   14b23:	8b 45 8f             	mov    0xffffff8f(%ebp),%eax
   14b26:	89 42 2f             	mov    %eax,0x2f(%edx)
   14b29:	8b 45 93             	mov    0xffffff93(%ebp),%eax
   14b2c:	89 42 33             	mov    %eax,0x33(%edx)
   14b2f:	8b 45 97             	mov    0xffffff97(%ebp),%eax
   14b32:	89 42 37             	mov    %eax,0x37(%edx)
   14b35:	8b 45 9b             	mov    0xffffff9b(%ebp),%eax
   14b38:	89 42 3b             	mov    %eax,0x3b(%edx)
   14b3b:	8a 45 9f             	mov    0xffffff9f(%ebp),%al
   14b3e:	88 42 3f             	mov    %al,0x3f(%edx)
   14b41:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14b47:	c7 40 20 2e 2e 20 20 	movl   $0x20202e2e,0x20(%eax)
   14b4e:	c7 40 24 20 20 20 20 	movl   $0x20202020,0x24(%eax)
   14b55:	66 c7 40 28 20 20    	movw   $0x2020,0x28(%eax)
   14b5b:	c6 40 2a 20          	movb   $0x20,0x2a(%eax)
   14b5f:	8b 4d 14             	mov    0x14(%ebp),%ecx
   14b62:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14b68:	66 8b 91 be 00 00 00 	mov    0xbe(%ecx),%dx
   14b6f:	66 89 50 3a          	mov    %dx,0x3a(%eax)
   14b73:	66 8b 91 b8 00 00 00 	mov    0xb8(%ecx),%dx
   14b7a:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14b80:	66 89 50 34          	mov    %dx,0x34(%eax)
   14b84:	89 0c 24             	mov    %ecx,(%esp)
   14b87:	e8 a4 1d 00 00       	call   16930 <_vfatFCBIsRoot>
   14b8c:	83 c4 10             	add    $0x10,%esp
   14b8f:	84 c0                	test   %al,%al
   14b91:	74 18                	je     14bab <_FATAddEntry+0x97b>
   14b93:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14b99:	66 c7 40 3a 00 00    	movw   $0x0,0x3a(%eax)
   14b9f:	8b 85 6c fc ff ff    	mov    0xfffffc6c(%ebp),%eax
   14ba5:	66 c7 40 34 00 00    	movw   $0x0,0x34(%eax)
   14bab:	8b 85 68 fc ff ff    	mov    0xfffffc68(%ebp),%eax
   14bb1:	52                   	push   %edx
   14bb2:	52                   	push   %edx
   14bb3:	6a 00                	push   $0x0
   14bb5:	50                   	push   %eax
   14bb6:	e8 65 7c 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   14bbb:	50                   	push   %eax
   14bbc:	8b 85 68 fc ff ff    	mov    0xfffffc68(%ebp),%eax
   14bc2:	50                   	push   %eax
   14bc3:	e8 b8 7a 00 00       	call   1c680 <_CcUnpinData@4>
   14bc8:	83 c4 0c             	add    $0xc,%esp
   14bcb:	e9 1f fe ff ff       	jmp    149ef <_FATAddEntry+0x7bf>
   14bd0:	8a 54 2b d8          	mov    0xffffffd8(%ebx,%ebp,1),%dl
   14bd4:	e9 95 fb ff ff       	jmp    1476e <_FATAddEntry+0x53e>
   14bd9:	8d 8d 6c fc ff ff    	lea    0xfffffc6c(%ebp),%ecx
   14bdf:	8d bd 68 fc ff ff    	lea    0xfffffc68(%ebp),%edi
   14be5:	53                   	push   %ebx
   14be6:	53                   	push   %ebx
   14be7:	51                   	push   %ecx
   14be8:	57                   	push   %edi
   14be9:	8b bd 64 fc ff ff    	mov    0xfffffc64(%ebp),%edi
   14bef:	81 e7 ff ff 00 00    	and    $0xffff,%edi
   14bf5:	8b 55 14             	mov    0x14(%ebp),%edx
   14bf8:	c1 e7 05             	shl    $0x5,%edi
   14bfb:	8d 85 70 fc ff ff    	lea    0xfffffc70(%ebp),%eax
   14c01:	6a 01                	push   $0x1
   14c03:	57                   	push   %edi
   14c04:	50                   	push   %eax
   14c05:	8b 8a 3c 01 00 00    	mov    0x13c(%edx),%ecx
   14c0b:	51                   	push   %ecx
   14c0c:	e8 ff 7b 00 00       	call   1c810 <_CcPinRead@24>
   14c11:	66 83 bd 64 fc ff ff 	cmpw   $0x1,0xfffffc64(%ebp)
   14c18:	01 
   14c19:	58                   	pop    %eax
   14c1a:	5a                   	pop    %edx
   14c1b:	0f 87 9d 00 00 00    	ja     14cbe <_FATAddEntry+0xa8e>
   14c21:	8b 95 6c fc ff ff    	mov    0xfffffc6c(%ebp),%edx
   14c27:	89 f8                	mov    %edi,%eax
   14c29:	01 d0                	add    %edx,%eax
   14c2b:	8b 55 80             	mov    0xffffff80(%ebp),%edx
   14c2e:	89 50 e0             	mov    %edx,0xffffffe0(%eax)
   14c31:	8d 48 e0             	lea    0xffffffe0(%eax),%ecx
   14c34:	8b 45 84             	mov    0xffffff84(%ebp),%eax
   14c37:	89 41 04             	mov    %eax,0x4(%ecx)
   14c3a:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   14c3d:	89 41 08             	mov    %eax,0x8(%ecx)
   14c40:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
   14c43:	89 41 0c             	mov    %eax,0xc(%ecx)
   14c46:	8b 45 90             	mov    0xffffff90(%ebp),%eax
   14c49:	89 41 10             	mov    %eax,0x10(%ecx)
   14c4c:	8b 45 94             	mov    0xffffff94(%ebp),%eax
   14c4f:	89 41 14             	mov    %eax,0x14(%ecx)
   14c52:	8b 45 98             	mov    0xffffff98(%ebp),%eax
   14c55:	89 41 18             	mov    %eax,0x18(%ecx)
   14c58:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
   14c5b:	89 41 1c             	mov    %eax,0x1c(%ecx)
   14c5e:	e9 47 fd ff ff       	jmp    149aa <_FATAddEntry+0x77a>
   14c63:	29 df                	sub    %ebx,%edi
   14c65:	8b 95 24 fc ff ff    	mov    0xfffffc24(%ebp),%edx
   14c6b:	c1 e7 05             	shl    $0x5,%edi
   14c6e:	51                   	push   %ecx
   14c6f:	8d 47 e0             	lea    0xffffffe0(%edi),%eax
   14c72:	8b bd 60 fc ff ff    	mov    0xfffffc60(%ebp),%edi
   14c78:	01 fa                	add    %edi,%edx
   14c7a:	8b bd 6c fc ff ff    	mov    0xfffffc6c(%ebp),%edi
   14c80:	50                   	push   %eax
   14c81:	52                   	push   %edx
   14c82:	57                   	push   %edi
   14c83:	e8 58 7b 00 00       	call   1c7e0 <_memcpy>
   14c88:	83 c4 10             	add    $0x10,%esp
   14c8b:	e9 db fc ff ff       	jmp    1496b <_FATAddEntry+0x73b>
   14c90:	b2 2e                	mov    $0x2e,%dl
   14c92:	e9 d7 fa ff ff       	jmp    1476e <_FATAddEntry+0x53e>
   14c97:	83 ec 0c             	sub    $0xc,%esp
   14c9a:	8b bd 60 fc ff ff    	mov    0xfffffc60(%ebp),%edi
   14ca0:	57                   	push   %edi
   14ca1:	ff 15 4c 02 02 00    	call   *0x2024c
   14ca7:	89 f0                	mov    %esi,%eax
   14ca9:	83 c4 0c             	add    $0xc,%esp
   14cac:	85 f6                	test   %esi,%esi
   14cae:	0f 88 4d fd ff ff    	js     14a01 <_FATAddEntry+0x7d1>
   14cb4:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   14cb9:	e9 43 fd ff ff       	jmp    14a01 <_FATAddEntry+0x7d1>
   14cbe:	8d 47 e0             	lea    0xffffffe0(%edi),%eax
   14cc1:	8b 9d 60 fc ff ff    	mov    0xfffffc60(%ebp),%ebx
   14cc7:	8b 8d 6c fc ff ff    	mov    0xfffffc6c(%ebp),%ecx
   14ccd:	56                   	push   %esi
   14cce:	50                   	push   %eax
   14ccf:	53                   	push   %ebx
   14cd0:	51                   	push   %ecx
   14cd1:	e8 0a 7b 00 00       	call   1c7e0 <_memcpy>
   14cd6:	83 c4 10             	add    $0x10,%esp
   14cd9:	e9 43 ff ff ff       	jmp    14c21 <_FATAddEntry+0x9f1>
   14cde:	25 ff ff 00 00       	and    $0xffff,%eax
   14ce3:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   14ce6:	29 f0                	sub    %esi,%eax
   14ce8:	51                   	push   %ecx
   14ce9:	50                   	push   %eax
   14cea:	8d 04 36             	lea    (%esi,%esi,1),%eax
   14ced:	01 c2                	add    %eax,%edx
   14cef:	52                   	push   %edx
   14cf0:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
   14cf3:	01 d0                	add    %edx,%eax
   14cf5:	50                   	push   %eax
   14cf6:	e8 75 7b 00 00       	call   1c870 <_wcsncmp>
   14cfb:	83 c4 10             	add    $0x10,%esp
   14cfe:	85 c0                	test   %eax,%eax
   14d00:	0f 95 c0             	setne  %al
   14d03:	89 c7                	mov    %eax,%edi
   14d05:	e9 b2 f9 ff ff       	jmp    146bc <_FATAddEntry+0x48c>
   14d0a:	25 ff ff 00 00       	and    $0xffff,%eax
   14d0f:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   14d12:	29 f0                	sub    %esi,%eax
   14d14:	8b 4d c4             	mov    0xffffffc4(%ebp),%ecx
   14d17:	53                   	push   %ebx
   14d18:	50                   	push   %eax
   14d19:	8d 04 36             	lea    (%esi,%esi,1),%eax
   14d1c:	01 c2                	add    %eax,%edx
   14d1e:	01 c8                	add    %ecx,%eax
   14d20:	52                   	push   %edx
   14d21:	50                   	push   %eax
   14d22:	e8 49 7b 00 00       	call   1c870 <_wcsncmp>
   14d27:	83 c4 10             	add    $0x10,%esp
   14d2a:	85 c0                	test   %eax,%eax
   14d2c:	0f 95 85 28 fc ff ff 	setne  0xfffffc28(%ebp)
   14d33:	e9 e1 f9 ff ff       	jmp    14719 <_FATAddEntry+0x4e9>
   14d38:	89 c8                	mov    %ecx,%eax
   14d3a:	c1 e8 10             	shr    $0x10,%eax
   14d3d:	66 89 45 94          	mov    %ax,0xffffff94(%ebp)
   14d41:	e9 14 fd ff ff       	jmp    14a5a <_FATAddEntry+0x82a>
   14d46:	83 ec 0c             	sub    $0xc,%esp
   14d49:	8b 85 60 fc ff ff    	mov    0xfffffc60(%ebp),%eax
   14d4f:	50                   	push   %eax
   14d50:	ff 15 4c 02 02 00    	call   *0x2024c
   14d56:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   14d5b:	e9 a1 fc ff ff       	jmp    14a01 <_FATAddEntry+0x7d1>
   14d60:	83 ec 0c             	sub    $0xc,%esp
   14d63:	8b 85 60 fc ff ff    	mov    0xfffffc60(%ebp),%eax
   14d69:	50                   	push   %eax
   14d6a:	ff 15 4c 02 02 00    	call   *0x2024c
   14d70:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   14d75:	e9 87 fc ff ff       	jmp    14a01 <_FATAddEntry+0x7d1>
   14d7a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00014d80 <_FATXAddEntry>:
   14d80:	55                   	push   %ebp
   14d81:	89 e5                	mov    %esp,%ebp
   14d83:	57                   	push   %edi
   14d84:	56                   	push   %esi
   14d85:	53                   	push   %ebx
   14d86:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
   14d8c:	c7 85 68 ff ff ff 00 	movl   $0x0,0xffffff68(%ebp)
   14d93:	00 00 00 
   14d96:	8b 45 1c             	mov    0x1c(%ebp),%eax
   14d99:	89 85 64 ff ff ff    	mov    %eax,0xffffff64(%ebp)
   14d9f:	8b 45 0c             	mov    0xc(%ebp),%eax
   14da2:	8b 50 04             	mov    0x4(%eax),%edx
   14da5:	8b 00                	mov    (%eax),%eax
   14da7:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
   14daa:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
   14dad:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   14db0:	ba 06 01 00 c0       	mov    $0xc0000106,%edx
   14db5:	66 d1 e8             	shr    %ax
   14db8:	66 83 f8 2a          	cmp    $0x2a,%ax
   14dbc:	0f 87 86 01 00 00    	ja     14f48 <_FATXAddEntry+0x1c8>
   14dc2:	8d 45 88             	lea    0xffffff88(%ebp),%eax
   14dc5:	50                   	push   %eax
   14dc6:	8b 45 14             	mov    0x14(%ebp),%eax
   14dc9:	6a 01                	push   $0x1
   14dcb:	50                   	push   %eax
   14dcc:	8b 45 08             	mov    0x8(%ebp),%eax
   14dcf:	50                   	push   %eax
   14dd0:	e8 8b f1 ff ff       	call   13f60 <_vfatFindDirSpace>
   14dd5:	83 c4 10             	add    $0x10,%esp
   14dd8:	ba 7f 00 00 c0       	mov    $0xc000007f,%edx
   14ddd:	84 c0                	test   %al,%al
   14ddf:	0f 84 63 01 00 00    	je     14f48 <_FATXAddEntry+0x1c8>
   14de5:	83 ec 0c             	sub    $0xc,%esp
   14de8:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   14deb:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   14dee:	8b 45 14             	mov    0x14(%ebp),%eax
   14df1:	50                   	push   %eax
   14df2:	e8 39 1b 00 00       	call   16930 <_vfatFCBIsRoot>
   14df7:	83 c4 10             	add    $0x10,%esp
   14dfa:	84 c0                	test   %al,%al
   14dfc:	0f 84 50 01 00 00    	je     14f52 <_FATXAddEntry+0x1d2>
   14e02:	fc                   	cld    
   14e03:	8d 75 90             	lea    0xffffff90(%ebp),%esi
   14e06:	31 c0                	xor    %eax,%eax
   14e08:	b9 10 00 00 00       	mov    $0x10,%ecx
   14e0d:	89 f7                	mov    %esi,%edi
   14e0f:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   14e16:	66 c7 45 d8 00 00    	movw   $0x0,0xffffffd8(%ebp)
   14e1c:	66 c7 45 da 00 00    	movw   $0x0,0xffffffda(%ebp)
   14e22:	8d 5d 92             	lea    0xffffff92(%ebp),%ebx
   14e25:	f3 ab                	repz stos %eax,%es:(%edi)
   14e27:	57                   	push   %edi
   14e28:	6a 2a                	push   $0x2a
   14e2a:	68 ff 00 00 00       	push   $0xff
   14e2f:	53                   	push   %ebx
   14e30:	e8 bb 79 00 00       	call   1c7f0 <_memset>
   14e35:	83 c4 0c             	add    $0xc,%esp
   14e38:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   14e3b:	6a 00                	push   $0x0
   14e3d:	50                   	push   %eax
   14e3e:	8d 45 80             	lea    0xffffff80(%ebp),%eax
   14e41:	89 5d 84             	mov    %ebx,0xffffff84(%ebp)
   14e44:	c7 45 bc 00 00 00 00 	movl   $0x0,0xffffffbc(%ebp)
   14e4b:	c7 45 c0 00 00 00 00 	movl   $0x0,0xffffffc0(%ebp)
   14e52:	66 c7 45 80 00 00    	movw   $0x0,0xffffff80(%ebp)
   14e58:	66 c7 45 82 2a 00    	movw   $0x2a,0xffffff82(%ebp)
   14e5e:	50                   	push   %eax
   14e5f:	e8 fc 79 00 00       	call   1c860 <_RtlUnicodeStringToOemString@12>
   14e64:	8b 45 80             	mov    0xffffff80(%ebp),%eax
   14e67:	88 45 90             	mov    %al,0xffffff90(%ebp)
   14e6a:	5b                   	pop    %ebx
   14e6b:	8a 85 64 ff ff ff    	mov    0xffffff64(%ebp),%al
   14e71:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
   14e75:	0f 84 f5 00 00 00    	je     14f70 <_FATXAddEntry+0x1f0>
   14e7b:	83 c8 10             	or     $0x10,%eax
   14e7e:	83 ec 0c             	sub    $0xc,%esp
   14e81:	8d 9d 78 ff ff ff    	lea    0xffffff78(%ebp),%ebx
   14e87:	88 45 91             	mov    %al,0xffffff91(%ebp)
   14e8a:	53                   	push   %ebx
   14e8b:	ff 15 f0 02 02 00    	call   *0x202f0
   14e91:	83 c4 0c             	add    $0xc,%esp
   14e94:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
   14e97:	8b 4d 08             	mov    0x8(%ebp),%ecx
   14e9a:	50                   	push   %eax
   14e9b:	8d 45 ca             	lea    0xffffffca(%ebp),%eax
   14e9e:	50                   	push   %eax
   14e9f:	53                   	push   %ebx
   14ea0:	51                   	push   %ecx
   14ea1:	e8 ca d9 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   14ea6:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   14ea9:	66 8b 55 ca          	mov    0xffffffca(%ebp),%dx
   14ead:	66 89 45 c4          	mov    %ax,0xffffffc4(%ebp)
   14eb1:	66 89 45 cc          	mov    %ax,0xffffffcc(%ebp)
   14eb5:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   14eb8:	66 89 55 c6          	mov    %dx,0xffffffc6(%ebp)
   14ebc:	c1 e0 06             	shl    $0x6,%eax
   14ebf:	66 89 55 ce          	mov    %dx,0xffffffce(%ebp)
   14ec3:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
   14ec9:	58                   	pop    %eax
   14eca:	8d 85 6c ff ff ff    	lea    0xffffff6c(%ebp),%eax
   14ed0:	5a                   	pop    %edx
   14ed1:	50                   	push   %eax
   14ed2:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
   14ed8:	50                   	push   %eax
   14ed9:	8d 85 70 ff ff ff    	lea    0xffffff70(%ebp),%eax
   14edf:	6a 01                	push   $0x1
   14ee1:	6a 40                	push   $0x40
   14ee3:	50                   	push   %eax
   14ee4:	8b 45 14             	mov    0x14(%ebp),%eax
   14ee7:	c7 85 74 ff ff ff 00 	movl   $0x0,0xffffff74(%ebp)
   14eee:	00 00 00 
   14ef1:	8b b8 3c 01 00 00    	mov    0x13c(%eax),%edi
   14ef7:	57                   	push   %edi
   14ef8:	e8 13 79 00 00       	call   1c810 <_CcPinRead@24>
   14efd:	8b 9d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ebx
   14f03:	c7 04 24 40 00 00 00 	movl   $0x40,(%esp)
   14f0a:	56                   	push   %esi
   14f0b:	53                   	push   %ebx
   14f0c:	e8 cf 78 00 00       	call   1c7e0 <_memcpy>
   14f11:	5a                   	pop    %edx
   14f12:	8b 85 68 ff ff ff    	mov    0xffffff68(%ebp),%eax
   14f18:	59                   	pop    %ecx
   14f19:	6a 00                	push   $0x0
   14f1b:	50                   	push   %eax
   14f1c:	e8 ff 78 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   14f21:	50                   	push   %eax
   14f22:	8b 85 68 ff ff ff    	mov    0xffffff68(%ebp),%eax
   14f28:	50                   	push   %eax
   14f29:	e8 52 77 00 00       	call   1c680 <_CcUnpinData@4>
   14f2e:	83 c4 0c             	add    $0xc,%esp
   14f31:	8b 45 10             	mov    0x10(%ebp),%eax
   14f34:	50                   	push   %eax
   14f35:	8d 45 88             	lea    0xffffff88(%ebp),%eax
   14f38:	50                   	push   %eax
   14f39:	8b 45 14             	mov    0x14(%ebp),%eax
   14f3c:	50                   	push   %eax
   14f3d:	8b 45 08             	mov    0x8(%ebp),%eax
   14f40:	50                   	push   %eax
   14f41:	e8 ea 1f 00 00       	call   16f30 <_vfatMakeFCBFromDirEntry>
   14f46:	31 d2                	xor    %edx,%edx
   14f48:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   14f4b:	89 d0                	mov    %edx,%eax
   14f4d:	5b                   	pop    %ebx
   14f4e:	5e                   	pop    %esi
   14f4f:	5f                   	pop    %edi
   14f50:	5d                   	pop    %ebp
   14f51:	c3                   	ret    
   14f52:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
   14f55:	83 c0 02             	add    $0x2,%eax
   14f58:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   14f5b:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   14f5e:	83 c0 02             	add    $0x2,%eax
   14f61:	89 45 88             	mov    %eax,0xffffff88(%ebp)
   14f64:	e9 99 fe ff ff       	jmp    14e02 <_FATXAddEntry+0x82>
   14f69:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   14f70:	8a 85 64 ff ff ff    	mov    0xffffff64(%ebp),%al
   14f76:	e9 03 ff ff ff       	jmp    14e7e <_FATXAddEntry+0xfe>
   14f7b:	90                   	nop    
   14f7c:	8d 74 26 00          	lea    0x0(%esi),%esi

00014f80 <_VfatAddEntry>:
   14f80:	55                   	push   %ebp
   14f81:	89 e5                	mov    %esp,%ebp
   14f83:	57                   	push   %edi
   14f84:	56                   	push   %esi
   14f85:	53                   	push   %ebx
   14f86:	8b 55 08             	mov    0x8(%ebp),%edx
   14f89:	8b 7d 0c             	mov    0xc(%ebp),%edi
   14f8c:	8b 75 10             	mov    0x10(%ebp),%esi
   14f8f:	8b 5d 14             	mov    0x14(%ebp),%ebx
   14f92:	8b 4d 18             	mov    0x18(%ebp),%ecx
   14f95:	8a 45 1c             	mov    0x1c(%ebp),%al
   14f98:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   14f9f:	74 11                	je     14fb2 <_VfatAddEntry+0x32>
   14fa1:	25 ff 00 00 00       	and    $0xff,%eax
   14fa6:	89 45 1c             	mov    %eax,0x1c(%ebp)
   14fa9:	5b                   	pop    %ebx
   14faa:	5e                   	pop    %esi
   14fab:	5f                   	pop    %edi
   14fac:	5d                   	pop    %ebp
   14fad:	e9 ce fd ff ff       	jmp    14d80 <_FATXAddEntry>
   14fb2:	25 ff 00 00 00       	and    $0xff,%eax
   14fb7:	89 4d 18             	mov    %ecx,0x18(%ebp)
   14fba:	89 45 1c             	mov    %eax,0x1c(%ebp)
   14fbd:	89 5d 14             	mov    %ebx,0x14(%ebp)
   14fc0:	89 75 10             	mov    %esi,0x10(%ebp)
   14fc3:	89 7d 0c             	mov    %edi,0xc(%ebp)
   14fc6:	89 55 08             	mov    %edx,0x8(%ebp)
   14fc9:	5b                   	pop    %ebx
   14fca:	5e                   	pop    %esi
   14fcb:	5f                   	pop    %edi
   14fcc:	5d                   	pop    %ebp
   14fcd:	e9 5e f2 ff ff       	jmp    14230 <_FATAddEntry>
   14fd2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   14fd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00014fe0 <_FATDelEntry>:
   14fe0:	55                   	push   %ebp
   14fe1:	89 e5                	mov    %esp,%ebp
   14fe3:	57                   	push   %edi
   14fe4:	56                   	push   %esi
   14fe5:	53                   	push   %ebx
   14fe6:	83 ec 1c             	sub    $0x1c,%esp
   14fe9:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   14ff0:	8b 7d 0c             	mov    0xc(%ebp),%edi
   14ff3:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   14ffa:	31 f6                	xor    %esi,%esi
   14ffc:	8b 9f 44 01 00 00    	mov    0x144(%edi),%ebx
   15002:	39 9f 40 01 00 00    	cmp    %ebx,0x140(%edi)
   15008:	0f 82 80 00 00 00    	jb     1508e <_FATDelEntry+0xae>
   1500e:	89 f6                	mov    %esi,%esi
   15010:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   15013:	85 d2                	test   %edx,%edx
   15015:	74 23                	je     1503a <_FATDelEntry+0x5a>
   15017:	89 d8                	mov    %ebx,%eax
   15019:	c1 e0 05             	shl    $0x5,%eax
   1501c:	a9 e0 0f 00 00       	test   $0xfe0,%eax
   15021:	75 4d                	jne    15070 <_FATDelEntry+0x90>
   15023:	50                   	push   %eax
   15024:	50                   	push   %eax
   15025:	6a 00                	push   $0x0
   15027:	52                   	push   %edx
   15028:	e8 f3 77 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   1502d:	50                   	push   %eax
   1502e:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   15031:	50                   	push   %eax
   15032:	e8 49 76 00 00       	call   1c680 <_CcUnpinData@4>
   15037:	83 c4 0c             	add    $0xc,%esp
   1503a:	89 d8                	mov    %ebx,%eax
   1503c:	c1 e0 05             	shl    $0x5,%eax
   1503f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   15044:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   15047:	50                   	push   %eax
   15048:	50                   	push   %eax
   15049:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
   1504c:	50                   	push   %eax
   1504d:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15050:	50                   	push   %eax
   15051:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15054:	6a 01                	push   $0x1
   15056:	68 00 10 00 00       	push   $0x1000
   1505b:	50                   	push   %eax
   1505c:	8b 87 34 01 00 00    	mov    0x134(%edi),%eax
   15062:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
   15068:	51                   	push   %ecx
   15069:	e8 a2 77 00 00       	call   1c810 <_CcPinRead@24>
   1506e:	58                   	pop    %eax
   1506f:	5a                   	pop    %edx
   15070:	89 da                	mov    %ebx,%edx
   15072:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   15075:	83 e2 7f             	and    $0x7f,%edx
   15078:	c1 e2 05             	shl    $0x5,%edx
   1507b:	c6 04 02 e5          	movb   $0xe5,(%edx,%eax,1)
   1507f:	8b 87 40 01 00 00    	mov    0x140(%edi),%eax
   15085:	39 d8                	cmp    %ebx,%eax
   15087:	74 67                	je     150f0 <_FATDelEntry+0x110>
   15089:	43                   	inc    %ebx
   1508a:	39 d8                	cmp    %ebx,%eax
   1508c:	73 82                	jae    15010 <_FATDelEntry+0x30>
   1508e:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   15091:	85 c0                	test   %eax,%eax
   15093:	0f 85 7d 00 00 00    	jne    15116 <_FATDelEntry+0x136>
   15099:	85 f6                	test   %esi,%esi
   1509b:	0f 95 c2             	setne  %dl
   1509e:	83 fe ff             	cmp    $0xffffffff,%esi
   150a1:	0f 95 c0             	setne  %al
   150a4:	25 ff 00 00 00       	and    $0xff,%eax
   150a9:	85 c2                	test   %eax,%edx
   150ab:	74 38                	je     150e5 <_FATDelEntry+0x105>
   150ad:	8d 5d dc             	lea    0xffffffdc(%ebp),%ebx
   150b0:	8b 55 08             	mov    0x8(%ebp),%edx
   150b3:	51                   	push   %ecx
   150b4:	53                   	push   %ebx
   150b5:	56                   	push   %esi
   150b6:	52                   	push   %edx
   150b7:	e8 74 0f 00 00       	call   16030 <_GetNextCluster>
   150bc:	83 c4 0c             	add    $0xc,%esp
   150bf:	8b 45 08             	mov    0x8(%ebp),%eax
   150c2:	6a 00                	push   $0x0
   150c4:	56                   	push   %esi
   150c5:	50                   	push   %eax
   150c6:	e8 75 0e 00 00       	call   15f40 <_WriteCluster>
   150cb:	8b 75 dc             	mov    0xffffffdc(%ebp),%esi
   150ce:	83 c4 10             	add    $0x10,%esp
   150d1:	85 f6                	test   %esi,%esi
   150d3:	0f 95 c2             	setne  %dl
   150d6:	83 fe ff             	cmp    $0xffffffff,%esi
   150d9:	0f 95 c0             	setne  %al
   150dc:	25 ff 00 00 00       	and    $0xff,%eax
   150e1:	85 c2                	test   %eax,%edx
   150e3:	75 cb                	jne    150b0 <_FATDelEntry+0xd0>
   150e5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   150e8:	31 c0                	xor    %eax,%eax
   150ea:	5b                   	pop    %ebx
   150eb:	5e                   	pop    %esi
   150ec:	5f                   	pop    %edi
   150ed:	5d                   	pop    %ebp
   150ee:	c3                   	ret    
   150ef:	90                   	nop    
   150f0:	8b 75 e4             	mov    0xffffffe4(%ebp),%esi
   150f3:	50                   	push   %eax
   150f4:	50                   	push   %eax
   150f5:	89 d0                	mov    %edx,%eax
   150f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   150fa:	01 f0                	add    %esi,%eax
   150fc:	43                   	inc    %ebx
   150fd:	50                   	push   %eax
   150fe:	51                   	push   %ecx
   150ff:	e8 5c e3 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   15104:	83 c4 10             	add    $0x10,%esp
   15107:	89 c6                	mov    %eax,%esi
   15109:	8b 87 40 01 00 00    	mov    0x140(%edi),%eax
   1510f:	39 d8                	cmp    %ebx,%eax
   15111:	e9 76 ff ff ff       	jmp    1508c <_FATDelEntry+0xac>
   15116:	52                   	push   %edx
   15117:	52                   	push   %edx
   15118:	6a 00                	push   $0x0
   1511a:	50                   	push   %eax
   1511b:	e8 00 77 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   15120:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
   15123:	57                   	push   %edi
   15124:	53                   	push   %ebx
   15125:	e8 56 75 00 00       	call   1c680 <_CcUnpinData@4>
   1512a:	83 c4 0c             	add    $0xc,%esp
   1512d:	e9 67 ff ff ff       	jmp    15099 <_FATDelEntry+0xb9>
   15132:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   15139:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015140 <_FATXDelEntry>:
   15140:	55                   	push   %ebp
   15141:	89 e5                	mov    %esp,%ebp
   15143:	57                   	push   %edi
   15144:	56                   	push   %esi
   15145:	53                   	push   %ebx
   15146:	83 ec 24             	sub    $0x24,%esp
   15149:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   15150:	8b 55 0c             	mov    0xc(%ebp),%edx
   15153:	8b 75 08             	mov    0x8(%ebp),%esi
   15156:	8b 9a 44 01 00 00    	mov    0x144(%edx),%ebx
   1515c:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   15163:	89 d8                	mov    %ebx,%eax
   15165:	c1 e0 06             	shl    $0x6,%eax
   15168:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   1516d:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   15170:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
   15173:	50                   	push   %eax
   15174:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15177:	50                   	push   %eax
   15178:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   1517b:	6a 01                	push   $0x1
   1517d:	68 00 10 00 00       	push   $0x1000
   15182:	50                   	push   %eax
   15183:	8b 82 34 01 00 00    	mov    0x134(%edx),%eax
   15189:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
   1518f:	51                   	push   %ecx
   15190:	e8 7b 76 00 00       	call   1c810 <_CcPinRead@24>
   15195:	5f                   	pop    %edi
   15196:	84 c0                	test   %al,%al
   15198:	5a                   	pop    %edx
   15199:	0f 84 8b 00 00 00    	je     1522a <_FATXDelEntry+0xea>
   1519f:	89 d8                	mov    %ebx,%eax
   151a1:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   151a4:	83 e0 3f             	and    $0x3f,%eax
   151a7:	c1 e0 06             	shl    $0x6,%eax
   151aa:	01 d0                	add    %edx,%eax
   151ac:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   151af:	c6 00 e5             	movb   $0xe5,(%eax)
   151b2:	50                   	push   %eax
   151b3:	50                   	push   %eax
   151b4:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   151b7:	50                   	push   %eax
   151b8:	56                   	push   %esi
   151b9:	e8 a2 e2 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   151be:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
   151c1:	89 c3                	mov    %eax,%ebx
   151c3:	5f                   	pop    %edi
   151c4:	58                   	pop    %eax
   151c5:	6a 00                	push   $0x0
   151c7:	51                   	push   %ecx
   151c8:	e8 53 76 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   151cd:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   151d0:	52                   	push   %edx
   151d1:	50                   	push   %eax
   151d2:	e8 a9 74 00 00       	call   1c680 <_CcUnpinData@4>
   151d7:	83 c4 0c             	add    $0xc,%esp
   151da:	85 db                	test   %ebx,%ebx
   151dc:	0f 95 c2             	setne  %dl
   151df:	83 fb ff             	cmp    $0xffffffff,%ebx
   151e2:	0f 95 c0             	setne  %al
   151e5:	25 ff 00 00 00       	and    $0xff,%eax
   151ea:	85 c2                	test   %eax,%edx
   151ec:	74 32                	je     15220 <_FATXDelEntry+0xe0>
   151ee:	8d 7d dc             	lea    0xffffffdc(%ebp),%edi
   151f1:	50                   	push   %eax
   151f2:	57                   	push   %edi
   151f3:	53                   	push   %ebx
   151f4:	56                   	push   %esi
   151f5:	e8 36 0e 00 00       	call   16030 <_GetNextCluster>
   151fa:	83 c4 0c             	add    $0xc,%esp
   151fd:	6a 00                	push   $0x0
   151ff:	53                   	push   %ebx
   15200:	56                   	push   %esi
   15201:	e8 3a 0d 00 00       	call   15f40 <_WriteCluster>
   15206:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   15209:	83 c4 10             	add    $0x10,%esp
   1520c:	85 db                	test   %ebx,%ebx
   1520e:	0f 95 c2             	setne  %dl
   15211:	83 fb ff             	cmp    $0xffffffff,%ebx
   15214:	0f 95 c0             	setne  %al
   15217:	25 ff 00 00 00       	and    $0xff,%eax
   1521c:	85 c2                	test   %eax,%edx
   1521e:	75 d1                	jne    151f1 <_FATXDelEntry+0xb1>
   15220:	31 c0                	xor    %eax,%eax
   15222:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15225:	5b                   	pop    %ebx
   15226:	5e                   	pop    %esi
   15227:	5f                   	pop    %edi
   15228:	5d                   	pop    %ebp
   15229:	c3                   	ret    
   1522a:	56                   	push   %esi
   1522b:	68 b9 02 00 00       	push   $0x2b9
   15230:	68 10 e1 01 00       	push   $0x1e110
   15235:	68 18 e1 01 00       	push   $0x1e118
   1523a:	ff 15 38 02 02 00    	call   *0x20238
   15240:	8b 5d e8             	mov    0xffffffe8(%ebp),%ebx
   15243:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   15246:	68 00 10 00 00       	push   $0x1000
   1524b:	53                   	push   %ebx
   1524c:	51                   	push   %ecx
   1524d:	68 3c e1 01 00       	push   $0x1e13c
   15252:	ff 15 38 02 02 00    	call   *0x20238
   15258:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   1525d:	eb c3                	jmp    15222 <_FATXDelEntry+0xe2>
   1525f:	90                   	nop    

00015260 <_VfatDelEntry>:
   15260:	55                   	push   %ebp
   15261:	89 e5                	mov    %esp,%ebp
   15263:	8b 45 08             	mov    0x8(%ebp),%eax
   15266:	8b 55 0c             	mov    0xc(%ebp),%edx
   15269:	f6 80 cc 00 04 00 04 	testb  $0x4,0x400cc(%eax)
   15270:	74 06                	je     15278 <_VfatDelEntry+0x18>
   15272:	5d                   	pop    %ebp
   15273:	e9 c8 fe ff ff       	jmp    15140 <_FATXDelEntry>
   15278:	89 55 0c             	mov    %edx,0xc(%ebp)
   1527b:	89 45 08             	mov    %eax,0x8(%ebp)
   1527e:	5d                   	pop    %ebp
   1527f:	e9 5c fd ff ff       	jmp    14fe0 <_FATDelEntry>
   15284:	90                   	nop    
   15285:	90                   	nop    
   15286:	90                   	nop    
   15287:	90                   	nop    
   15288:	90                   	nop    
   15289:	90                   	nop    
   1528a:	90                   	nop    
   1528b:	90                   	nop    
   1528c:	90                   	nop    
   1528d:	90                   	nop    
   1528e:	90                   	nop    
   1528f:	90                   	nop    

00015290 <_FAT32GetNextCluster>:
   15290:	55                   	push   %ebp
   15291:	89 e5                	mov    %esp,%ebp
   15293:	57                   	push   %edi
   15294:	56                   	push   %esi
   15295:	53                   	push   %ebx
   15296:	83 ec 1c             	sub    $0x1c,%esp
   15299:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1529c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1529f:	8b b1 ac 00 04 00    	mov    0x400ac(%ecx),%esi
   152a5:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
   152ab:	73 05                	jae    152b2 <_FAT32GetNextCluster+0x22>
   152ad:	be 00 10 00 00       	mov    $0x1000,%esi
   152b2:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
   152b9:	31 d2                	xor    %edx,%edx
   152bb:	89 f8                	mov    %edi,%eax
   152bd:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   152c4:	f7 f6                	div    %esi
   152c6:	89 f8                	mov    %edi,%eax
   152c8:	29 d0                	sub    %edx,%eax
   152ca:	57                   	push   %edi
   152cb:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   152ce:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   152d1:	57                   	push   %edi
   152d2:	50                   	push   %eax
   152d3:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   152d6:	89 d3                	mov    %edx,%ebx
   152d8:	50                   	push   %eax
   152d9:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   152dc:	6a 01                	push   $0x1
   152de:	56                   	push   %esi
   152df:	50                   	push   %eax
   152e0:	8b b1 80 00 04 00    	mov    0x40080(%ecx),%esi
   152e6:	56                   	push   %esi
   152e7:	e8 84 73 00 00       	call   1c670 <_CcMapData@24>
   152ec:	5a                   	pop    %edx
   152ed:	84 c0                	test   %al,%al
   152ef:	59                   	pop    %ecx
   152f0:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   152f5:	74 2a                	je     15321 <_FAT32GetNextCluster+0x91>
   152f7:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   152fa:	8b 1c 18             	mov    (%eax,%ebx,1),%ebx
   152fd:	81 e3 ff ff ff 0f    	and    $0xfffffff,%ebx
   15303:	8d 83 08 00 00 f0    	lea    0xf0000008(%ebx),%eax
   15309:	83 f8 07             	cmp    $0x7,%eax
   1530c:	76 22                	jbe    15330 <_FAT32GetNextCluster+0xa0>
   1530e:	83 ec 0c             	sub    $0xc,%esp
   15311:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15314:	50                   	push   %eax
   15315:	e8 66 73 00 00       	call   1c680 <_CcUnpinData@4>
   1531a:	8b 45 10             	mov    0x10(%ebp),%eax
   1531d:	31 d2                	xor    %edx,%edx
   1531f:	89 18                	mov    %ebx,(%eax)
   15321:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15324:	89 d0                	mov    %edx,%eax
   15326:	5b                   	pop    %ebx
   15327:	5e                   	pop    %esi
   15328:	5f                   	pop    %edi
   15329:	5d                   	pop    %ebp
   1532a:	c3                   	ret    
   1532b:	90                   	nop    
   1532c:	8d 74 26 00          	lea    0x0(%esi),%esi
   15330:	83 cb ff             	or     $0xffffffff,%ebx
   15333:	eb d9                	jmp    1530e <_FAT32GetNextCluster+0x7e>
   15335:	8d 74 26 00          	lea    0x0(%esi),%esi
   15339:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015340 <_FAT16GetNextCluster>:
   15340:	55                   	push   %ebp
   15341:	89 e5                	mov    %esp,%ebp
   15343:	57                   	push   %edi
   15344:	56                   	push   %esi
   15345:	53                   	push   %ebx
   15346:	83 ec 1c             	sub    $0x1c,%esp
   15349:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1534c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1534f:	8b b1 ac 00 04 00    	mov    0x400ac(%ecx),%esi
   15355:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
   1535b:	73 05                	jae    15362 <_FAT16GetNextCluster+0x22>
   1535d:	be 00 10 00 00       	mov    $0x1000,%esi
   15362:	8d 3c 1b             	lea    (%ebx,%ebx,1),%edi
   15365:	31 d2                	xor    %edx,%edx
   15367:	89 f8                	mov    %edi,%eax
   15369:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15370:	f7 f6                	div    %esi
   15372:	89 f8                	mov    %edi,%eax
   15374:	29 d0                	sub    %edx,%eax
   15376:	57                   	push   %edi
   15377:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1537a:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1537d:	57                   	push   %edi
   1537e:	50                   	push   %eax
   1537f:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15382:	89 d3                	mov    %edx,%ebx
   15384:	50                   	push   %eax
   15385:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15388:	6a 01                	push   $0x1
   1538a:	56                   	push   %esi
   1538b:	50                   	push   %eax
   1538c:	8b b1 80 00 04 00    	mov    0x40080(%ecx),%esi
   15392:	56                   	push   %esi
   15393:	e8 d8 72 00 00       	call   1c670 <_CcMapData@24>
   15398:	5a                   	pop    %edx
   15399:	84 c0                	test   %al,%al
   1539b:	59                   	pop    %ecx
   1539c:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   153a1:	74 2d                	je     153d0 <_FAT16GetNextCluster+0x90>
   153a3:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   153a6:	66 8b 04 18          	mov    (%eax,%ebx,1),%ax
   153aa:	89 c3                	mov    %eax,%ebx
   153ac:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
   153b2:	8d 83 08 00 ff ff    	lea    0xffff0008(%ebx),%eax
   153b8:	83 f8 07             	cmp    $0x7,%eax
   153bb:	76 23                	jbe    153e0 <_FAT16GetNextCluster+0xa0>
   153bd:	83 ec 0c             	sub    $0xc,%esp
   153c0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   153c3:	50                   	push   %eax
   153c4:	e8 b7 72 00 00       	call   1c680 <_CcUnpinData@4>
   153c9:	8b 45 10             	mov    0x10(%ebp),%eax
   153cc:	31 d2                	xor    %edx,%edx
   153ce:	89 18                	mov    %ebx,(%eax)
   153d0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   153d3:	89 d0                	mov    %edx,%eax
   153d5:	5b                   	pop    %ebx
   153d6:	5e                   	pop    %esi
   153d7:	5f                   	pop    %edi
   153d8:	5d                   	pop    %ebp
   153d9:	c3                   	ret    
   153da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   153e0:	83 cb ff             	or     $0xffffffff,%ebx
   153e3:	eb d8                	jmp    153bd <_FAT16GetNextCluster+0x7d>
   153e5:	8d 74 26 00          	lea    0x0(%esi),%esi
   153e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000153f0 <_FAT12GetNextCluster>:
   153f0:	55                   	push   %ebp
   153f1:	89 e5                	mov    %esp,%ebp
   153f3:	56                   	push   %esi
   153f4:	53                   	push   %ebx
   153f5:	83 ec 18             	sub    $0x18,%esp
   153f8:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
   153fb:	8b 75 10             	mov    0x10(%ebp),%esi
   153fe:	8b 55 08             	mov    0x8(%ebp),%edx
   15401:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   15404:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
   1540a:	50                   	push   %eax
   1540b:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1540e:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   15415:	50                   	push   %eax
   15416:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   1541d:	6a 01                	push   $0x1
   1541f:	8b 8a 90 00 04 00    	mov    0x40090(%edx),%ecx
   15425:	8b 82 a8 00 04 00    	mov    0x400a8(%edx),%eax
   1542b:	0f af c1             	imul   %ecx,%eax
   1542e:	50                   	push   %eax
   1542f:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15432:	50                   	push   %eax
   15433:	8b 8a 80 00 04 00    	mov    0x40080(%edx),%ecx
   15439:	51                   	push   %ecx
   1543a:	e8 31 72 00 00       	call   1c670 <_CcMapData@24>
   1543f:	59                   	pop    %ecx
   15440:	84 c0                	test   %al,%al
   15442:	5a                   	pop    %edx
   15443:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   15448:	74 40                	je     1548a <_FAT12GetNextCluster+0x9a>
   1544a:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
   1544d:	8b 55 f4             	mov    0xfffffff4(%ebp),%edx
   15450:	c1 e0 02             	shl    $0x2,%eax
   15453:	c1 e8 03             	shr    $0x3,%eax
   15456:	01 d0                	add    %edx,%eax
   15458:	83 e3 01             	and    $0x1,%ebx
   1545b:	74 36                	je     15493 <_FAT12GetNextCluster+0xa3>
   1545d:	66 8b 00             	mov    (%eax),%ax
   15460:	66 c1 e8 04          	shr    $0x4,%ax
   15464:	89 c2                	mov    %eax,%edx
   15466:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1546c:	8d 82 08 f0 ff ff    	lea    0xfffff008(%edx),%eax
   15472:	83 f8 07             	cmp    $0x7,%eax
   15475:	77 03                	ja     1547a <_FAT12GetNextCluster+0x8a>
   15477:	83 ca ff             	or     $0xffffffff,%edx
   1547a:	89 16                	mov    %edx,(%esi)
   1547c:	83 ec 0c             	sub    $0xc,%esp
   1547f:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   15482:	50                   	push   %eax
   15483:	e8 f8 71 00 00       	call   1c680 <_CcUnpinData@4>
   15488:	31 d2                	xor    %edx,%edx
   1548a:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1548d:	89 d0                	mov    %edx,%eax
   1548f:	5b                   	pop    %ebx
   15490:	5e                   	pop    %esi
   15491:	5d                   	pop    %ebp
   15492:	c3                   	ret    
   15493:	66 8b 00             	mov    (%eax),%ax
   15496:	89 c2                	mov    %eax,%edx
   15498:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
   1549e:	eb cc                	jmp    1546c <_FAT12GetNextCluster+0x7c>

000154a0 <_FAT16FindAndMarkAvailableCluster>:
   154a0:	55                   	push   %ebp
   154a1:	89 e5                	mov    %esp,%ebp
   154a3:	57                   	push   %edi
   154a4:	56                   	push   %esi
   154a5:	53                   	push   %ebx
   154a6:	83 ec 2c             	sub    $0x2c,%esp
   154a9:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   154b0:	8b 45 08             	mov    0x8(%ebp),%eax
   154b3:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   154b9:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   154bc:	3d 00 10 00 00       	cmp    $0x1000,%eax
   154c1:	73 07                	jae    154ca <_FAT16FindAndMarkAvailableCluster+0x2a>
   154c3:	c7 45 d4 00 10 00 00 	movl   $0x1000,0xffffffd4(%ebp)
   154ca:	8b 55 08             	mov    0x8(%ebp),%edx
   154cd:	8b 45 0c             	mov    0xc(%ebp),%eax
   154d0:	8b ba b0 00 04 00    	mov    0x400b0(%edx),%edi
   154d6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   154dc:	8b 92 c0 00 04 00    	mov    0x400c0(%edx),%edx
   154e2:	83 c7 02             	add    $0x2,%edi
   154e5:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   154e8:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   154ef:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   154f2:	39 fb                	cmp    %edi,%ebx
   154f4:	0f 83 8a 00 00 00    	jae    15584 <_FAT16FindAndMarkAvailableCluster+0xe4>
   154fa:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
   154fd:	31 d2                	xor    %edx,%edx
   154ff:	89 c8                	mov    %ecx,%eax
   15501:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15508:	f7 75 d4             	divl   0xffffffd4(%ebp)
   1550b:	89 c8                	mov    %ecx,%eax
   1550d:	89 d6                	mov    %edx,%esi
   1550f:	29 d0                	sub    %edx,%eax
   15511:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   15514:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15517:	50                   	push   %eax
   15518:	50                   	push   %eax
   15519:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1551c:	50                   	push   %eax
   1551d:	52                   	push   %edx
   1551e:	6a 01                	push   $0x1
   15520:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   15523:	50                   	push   %eax
   15524:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15527:	50                   	push   %eax
   15528:	8b 55 08             	mov    0x8(%ebp),%edx
   1552b:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   15531:	50                   	push   %eax
   15532:	e8 d9 72 00 00       	call   1c810 <_CcPinRead@24>
   15537:	5a                   	pop    %edx
   15538:	84 c0                	test   %al,%al
   1553a:	59                   	pop    %ecx
   1553b:	0f 84 9f 00 00 00    	je     155e0 <_FAT16FindAndMarkAvailableCluster+0x140>
   15541:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15544:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   15547:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
   1554a:	8d 34 10             	lea    (%eax,%edx,1),%esi
   1554d:	eb 0b                	jmp    1555a <_FAT16FindAndMarkAvailableCluster+0xba>
   1554f:	90                   	nop    
   15550:	66 83 39 00          	cmpw   $0x0,(%ecx)
   15554:	74 56                	je     155ac <_FAT16FindAndMarkAvailableCluster+0x10c>
   15556:	83 c1 02             	add    $0x2,%ecx
   15559:	43                   	inc    %ebx
   1555a:	39 f1                	cmp    %esi,%ecx
   1555c:	0f 92 c2             	setb   %dl
   1555f:	39 fb                	cmp    %edi,%ebx
   15561:	0f 92 c0             	setb   %al
   15564:	25 ff 00 00 00       	and    $0xff,%eax
   15569:	85 c2                	test   %eax,%edx
   1556b:	75 e3                	jne    15550 <_FAT16FindAndMarkAvailableCluster+0xb0>
   1556d:	83 ec 0c             	sub    $0xc,%esp
   15570:	8b 75 e8             	mov    0xffffffe8(%ebp),%esi
   15573:	56                   	push   %esi
   15574:	e8 07 71 00 00       	call   1c680 <_CcUnpinData@4>
   15579:	83 c4 0c             	add    $0xc,%esp
   1557c:	39 fb                	cmp    %edi,%ebx
   1557e:	0f 82 76 ff ff ff    	jb     154fa <_FAT16FindAndMarkAvailableCluster+0x5a>
   15584:	8b 5d d8             	mov    0xffffffd8(%ebp),%ebx
   15587:	8b 7d dc             	mov    0xffffffdc(%ebp),%edi
   1558a:	43                   	inc    %ebx
   1558b:	c7 45 dc 02 00 00 00 	movl   $0x2,0xffffffdc(%ebp)
   15592:	89 5d d8             	mov    %ebx,0xffffffd8(%ebp)
   15595:	83 7d d8 01          	cmpl   $0x1,0xffffffd8(%ebp)
   15599:	0f 86 50 ff ff ff    	jbe    154ef <_FAT16FindAndMarkAvailableCluster+0x4f>
   1559f:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   155a4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   155a7:	5b                   	pop    %ebx
   155a8:	5e                   	pop    %esi
   155a9:	5f                   	pop    %edi
   155aa:	5d                   	pop    %ebp
   155ab:	c3                   	ret    
   155ac:	8b 45 0c             	mov    0xc(%ebp),%eax
   155af:	89 18                	mov    %ebx,(%eax)
   155b1:	8b 55 08             	mov    0x8(%ebp),%edx
   155b4:	89 9a c0 00 04 00    	mov    %ebx,0x400c0(%edx)
   155ba:	66 c7 01 ff ff       	movw   $0xffff,(%ecx)
   155bf:	50                   	push   %eax
   155c0:	50                   	push   %eax
   155c1:	6a 00                	push   $0x0
   155c3:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   155c6:	50                   	push   %eax
   155c7:	e8 54 72 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   155cc:	50                   	push   %eax
   155cd:	8b 7d e8             	mov    0xffffffe8(%ebp),%edi
   155d0:	57                   	push   %edi
   155d1:	e8 aa 70 00 00       	call   1c680 <_CcUnpinData@4>
   155d6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   155d9:	31 c0                	xor    %eax,%eax
   155db:	5b                   	pop    %ebx
   155dc:	5e                   	pop    %esi
   155dd:	5f                   	pop    %edi
   155de:	5d                   	pop    %ebp
   155df:	c3                   	ret    
   155e0:	50                   	push   %eax
   155e1:	68 9c 00 00 00       	push   $0x9c
   155e6:	68 70 e1 01 00       	push   $0x1e170
   155eb:	68 76 e1 01 00       	push   $0x1e176
   155f0:	ff 15 38 02 02 00    	call   *0x20238
   155f6:	83 c4 0c             	add    $0xc,%esp
   155f9:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   155fc:	50                   	push   %eax
   155fd:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   15600:	50                   	push   %eax
   15601:	68 80 e1 01 00       	push   $0x1e180
   15606:	ff 15 38 02 02 00    	call   *0x20238
   1560c:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   15611:	eb 91                	jmp    155a4 <_FAT16FindAndMarkAvailableCluster+0x104>
   15613:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15619:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015620 <_FAT12FindAndMarkAvailableCluster>:
   15620:	55                   	push   %ebp
   15621:	89 e5                	mov    %esp,%ebp
   15623:	57                   	push   %edi
   15624:	56                   	push   %esi
   15625:	53                   	push   %ebx
   15626:	83 ec 24             	sub    $0x24,%esp
   15629:	8b 45 08             	mov    0x8(%ebp),%eax
   1562c:	8b 55 0c             	mov    0xc(%ebp),%edx
   1562f:	8b b0 b0 00 04 00    	mov    0x400b0(%eax),%esi
   15635:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   1563b:	8b 88 c0 00 04 00    	mov    0x400c0(%eax),%ecx
   15641:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15644:	89 4d dc             	mov    %ecx,0xffffffdc(%ebp)
   15647:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   1564e:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15655:	50                   	push   %eax
   15656:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15659:	83 c6 02             	add    $0x2,%esi
   1565c:	50                   	push   %eax
   1565d:	6a 01                	push   $0x1
   1565f:	8b 55 08             	mov    0x8(%ebp),%edx
   15662:	8b 82 a8 00 04 00    	mov    0x400a8(%edx),%eax
   15668:	8b ba 90 00 04 00    	mov    0x40090(%edx),%edi
   1566e:	0f af c7             	imul   %edi,%eax
   15671:	50                   	push   %eax
   15672:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15675:	50                   	push   %eax
   15676:	8b 9a 80 00 04 00    	mov    0x40080(%edx),%ebx
   1567c:	53                   	push   %ebx
   1567d:	e8 8e 71 00 00       	call   1c810 <_CcPinRead@24>
   15682:	5a                   	pop    %edx
   15683:	84 c0                	test   %al,%al
   15685:	59                   	pop    %ecx
   15686:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   1568d:	0f 84 c8 00 00 00    	je     1575b <_FAT12FindAndMarkAvailableCluster+0x13b>
   15693:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   15696:	39 f2                	cmp    %esi,%edx
   15698:	0f 83 82 00 00 00    	jae    15720 <_FAT12FindAndMarkAvailableCluster+0x100>
   1569e:	8d 04 52             	lea    (%edx,%edx,2),%eax
   156a1:	8b 7d ec             	mov    0xffffffec(%ebp),%edi
   156a4:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
   156ab:	eb 17                	jmp    156c4 <_FAT12FindAndMarkAvailableCluster+0xa4>
   156ad:	8d 76 00             	lea    0x0(%esi),%esi
   156b0:	66 8b 03             	mov    (%ebx),%ax
   156b3:	25 ff 0f 00 00       	and    $0xfff,%eax
   156b8:	85 c0                	test   %eax,%eax
   156ba:	74 25                	je     156e1 <_FAT12FindAndMarkAvailableCluster+0xc1>
   156bc:	42                   	inc    %edx
   156bd:	83 c1 0c             	add    $0xc,%ecx
   156c0:	39 f2                	cmp    %esi,%edx
   156c2:	73 5c                	jae    15720 <_FAT12FindAndMarkAvailableCluster+0x100>
   156c4:	89 c8                	mov    %ecx,%eax
   156c6:	c1 e8 03             	shr    $0x3,%eax
   156c9:	f6 c2 01             	test   $0x1,%dl
   156cc:	8d 1c 38             	lea    (%eax,%edi,1),%ebx
   156cf:	74 df                	je     156b0 <_FAT12FindAndMarkAvailableCluster+0x90>
   156d1:	66 8b 03             	mov    (%ebx),%ax
   156d4:	66 c1 e8 04          	shr    $0x4,%ax
   156d8:	25 ff ff 00 00       	and    $0xffff,%eax
   156dd:	85 c0                	test   %eax,%eax
   156df:	75 db                	jne    156bc <_FAT12FindAndMarkAvailableCluster+0x9c>
   156e1:	8b 45 0c             	mov    0xc(%ebp),%eax
   156e4:	89 10                	mov    %edx,(%eax)
   156e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
   156e9:	89 91 c0 00 04 00    	mov    %edx,0x400c0(%ecx)
   156ef:	83 e2 01             	and    $0x1,%edx
   156f2:	74 60                	je     15754 <_FAT12FindAndMarkAvailableCluster+0x134>
   156f4:	66 83 0b f0          	orw    $0xfffffff0,(%ebx)
   156f8:	53                   	push   %ebx
   156f9:	53                   	push   %ebx
   156fa:	6a 00                	push   $0x0
   156fc:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   156ff:	51                   	push   %ecx
   15700:	e8 1b 71 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   15705:	52                   	push   %edx
   15706:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15709:	50                   	push   %eax
   1570a:	e8 71 6f 00 00       	call   1c680 <_CcUnpinData@4>
   1570f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15712:	31 c0                	xor    %eax,%eax
   15714:	5b                   	pop    %ebx
   15715:	5e                   	pop    %esi
   15716:	5f                   	pop    %edi
   15717:	5d                   	pop    %ebp
   15718:	c3                   	ret    
   15719:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   15720:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15723:	8b 75 dc             	mov    0xffffffdc(%ebp),%esi
   15726:	40                   	inc    %eax
   15727:	c7 45 dc 02 00 00 00 	movl   $0x2,0xffffffdc(%ebp)
   1572e:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   15731:	83 7d d8 01          	cmpl   $0x1,0xffffffd8(%ebp)
   15735:	0f 86 58 ff ff ff    	jbe    15693 <_FAT12FindAndMarkAvailableCluster+0x73>
   1573b:	83 ec 0c             	sub    $0xc,%esp
   1573e:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15741:	50                   	push   %eax
   15742:	e8 39 6f 00 00       	call   1c680 <_CcUnpinData@4>
   15747:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   1574c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1574f:	5b                   	pop    %ebx
   15750:	5e                   	pop    %esi
   15751:	5f                   	pop    %edi
   15752:	5d                   	pop    %ebp
   15753:	c3                   	ret    
   15754:	66 81 0b ff 0f       	orw    $0xfff,(%ebx)
   15759:	eb 9d                	jmp    156f8 <_FAT12FindAndMarkAvailableCluster+0xd8>
   1575b:	50                   	push   %eax
   1575c:	68 d0 00 00 00       	push   $0xd0
   15761:	68 70 e1 01 00       	push   $0x1e170
   15766:	68 76 e1 01 00       	push   $0x1e176
   1576b:	ff 15 38 02 02 00    	call   *0x20238
   15771:	8b 4d 08             	mov    0x8(%ebp),%ecx
   15774:	83 c4 0c             	add    $0xc,%esp
   15777:	8b 81 a8 00 04 00    	mov    0x400a8(%ecx),%eax
   1577d:	8b b9 90 00 04 00    	mov    0x40090(%ecx),%edi
   15783:	0f af c7             	imul   %edi,%eax
   15786:	50                   	push   %eax
   15787:	8b 75 e0             	mov    0xffffffe0(%ebp),%esi
   1578a:	56                   	push   %esi
   1578b:	68 80 e1 01 00       	push   $0x1e180
   15790:	ff 15 38 02 02 00    	call   *0x20238
   15796:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   1579b:	eb af                	jmp    1574c <_FAT12FindAndMarkAvailableCluster+0x12c>
   1579d:	8d 76 00             	lea    0x0(%esi),%esi

000157a0 <_FAT32FindAndMarkAvailableCluster>:
   157a0:	55                   	push   %ebp
   157a1:	89 e5                	mov    %esp,%ebp
   157a3:	57                   	push   %edi
   157a4:	56                   	push   %esi
   157a5:	53                   	push   %ebx
   157a6:	83 ec 2c             	sub    $0x2c,%esp
   157a9:	8b 45 08             	mov    0x8(%ebp),%eax
   157ac:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   157b2:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   157b5:	3d 00 10 00 00       	cmp    $0x1000,%eax
   157ba:	73 07                	jae    157c3 <_FAT32FindAndMarkAvailableCluster+0x23>
   157bc:	c7 45 d4 00 10 00 00 	movl   $0x1000,0xffffffd4(%ebp)
   157c3:	8b 55 08             	mov    0x8(%ebp),%edx
   157c6:	8b 45 0c             	mov    0xc(%ebp),%eax
   157c9:	8b ba b0 00 04 00    	mov    0x400b0(%edx),%edi
   157cf:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   157d5:	8b 92 c0 00 04 00    	mov    0x400c0(%edx),%edx
   157db:	83 c7 02             	add    $0x2,%edi
   157de:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   157e1:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   157e8:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   157eb:	39 fb                	cmp    %edi,%ebx
   157ed:	0f 83 93 00 00 00    	jae    15886 <_FAT32FindAndMarkAvailableCluster+0xe6>
   157f3:	8d 0c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%ecx
   157fa:	31 d2                	xor    %edx,%edx
   157fc:	89 c8                	mov    %ecx,%eax
   157fe:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15805:	f7 75 d4             	divl   0xffffffd4(%ebp)
   15808:	89 c8                	mov    %ecx,%eax
   1580a:	89 d6                	mov    %edx,%esi
   1580c:	29 d0                	sub    %edx,%eax
   1580e:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   15811:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15814:	50                   	push   %eax
   15815:	50                   	push   %eax
   15816:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15819:	50                   	push   %eax
   1581a:	52                   	push   %edx
   1581b:	6a 01                	push   $0x1
   1581d:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   15820:	50                   	push   %eax
   15821:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15824:	50                   	push   %eax
   15825:	8b 55 08             	mov    0x8(%ebp),%edx
   15828:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   1582e:	50                   	push   %eax
   1582f:	e8 dc 6f 00 00       	call   1c810 <_CcPinRead@24>
   15834:	5a                   	pop    %edx
   15835:	84 c0                	test   %al,%al
   15837:	59                   	pop    %ecx
   15838:	0f 84 a5 00 00 00    	je     158e3 <_FAT32FindAndMarkAvailableCluster+0x143>
   1583e:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15841:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   15844:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
   15847:	8d 34 10             	lea    (%eax,%edx,1),%esi
   1584a:	eb 10                	jmp    1585c <_FAT32FindAndMarkAvailableCluster+0xbc>
   1584c:	8d 74 26 00          	lea    0x0(%esi),%esi
   15850:	f7 01 ff ff ff 0f    	testl  $0xfffffff,(%ecx)
   15856:	74 56                	je     158ae <_FAT32FindAndMarkAvailableCluster+0x10e>
   15858:	83 c1 04             	add    $0x4,%ecx
   1585b:	43                   	inc    %ebx
   1585c:	39 f1                	cmp    %esi,%ecx
   1585e:	0f 92 c2             	setb   %dl
   15861:	39 fb                	cmp    %edi,%ebx
   15863:	0f 92 c0             	setb   %al
   15866:	25 ff 00 00 00       	and    $0xff,%eax
   1586b:	85 c2                	test   %eax,%edx
   1586d:	75 e1                	jne    15850 <_FAT32FindAndMarkAvailableCluster+0xb0>
   1586f:	83 ec 0c             	sub    $0xc,%esp
   15872:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15875:	50                   	push   %eax
   15876:	e8 05 6e 00 00       	call   1c680 <_CcUnpinData@4>
   1587b:	83 c4 0c             	add    $0xc,%esp
   1587e:	39 fb                	cmp    %edi,%ebx
   15880:	0f 82 6d ff ff ff    	jb     157f3 <_FAT32FindAndMarkAvailableCluster+0x53>
   15886:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15889:	8b 7d dc             	mov    0xffffffdc(%ebp),%edi
   1588c:	40                   	inc    %eax
   1588d:	c7 45 dc 02 00 00 00 	movl   $0x2,0xffffffdc(%ebp)
   15894:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   15897:	83 7d d8 01          	cmpl   $0x1,0xffffffd8(%ebp)
   1589b:	0f 86 47 ff ff ff    	jbe    157e8 <_FAT32FindAndMarkAvailableCluster+0x48>
   158a1:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   158a6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   158a9:	5b                   	pop    %ebx
   158aa:	5e                   	pop    %esi
   158ab:	5f                   	pop    %edi
   158ac:	5d                   	pop    %ebp
   158ad:	c3                   	ret    
   158ae:	8b 45 0c             	mov    0xc(%ebp),%eax
   158b1:	89 18                	mov    %ebx,(%eax)
   158b3:	8b 55 08             	mov    0x8(%ebp),%edx
   158b6:	89 9a c0 00 04 00    	mov    %ebx,0x400c0(%edx)
   158bc:	c7 01 ff ff ff 0f    	movl   $0xfffffff,(%ecx)
   158c2:	50                   	push   %eax
   158c3:	50                   	push   %eax
   158c4:	6a 00                	push   $0x0
   158c6:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   158c9:	50                   	push   %eax
   158ca:	e8 51 6f 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   158cf:	50                   	push   %eax
   158d0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   158d3:	50                   	push   %eax
   158d4:	e8 a7 6d 00 00       	call   1c680 <_CcUnpinData@4>
   158d9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   158dc:	31 c0                	xor    %eax,%eax
   158de:	5b                   	pop    %ebx
   158df:	5e                   	pop    %esi
   158e0:	5f                   	pop    %edi
   158e1:	5d                   	pop    %ebp
   158e2:	c3                   	ret    
   158e3:	53                   	push   %ebx
   158e4:	68 11 01 00 00       	push   $0x111
   158e9:	68 70 e1 01 00       	push   $0x1e170
   158ee:	68 76 e1 01 00       	push   $0x1e176
   158f3:	ff 15 38 02 02 00    	call   *0x20238
   158f9:	83 c4 0c             	add    $0xc,%esp
   158fc:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
   158ff:	51                   	push   %ecx
   15900:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   15903:	52                   	push   %edx
   15904:	68 80 e1 01 00       	push   $0x1e180
   15909:	ff 15 38 02 02 00    	call   *0x20238
   1590f:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   15914:	eb 90                	jmp    158a6 <_FAT32FindAndMarkAvailableCluster+0x106>
   15916:	8d 76 00             	lea    0x0(%esi),%esi
   15919:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015920 <_FAT12CountAvailableClusters>:
   15920:	55                   	push   %ebp
   15921:	89 e5                	mov    %esp,%ebp
   15923:	57                   	push   %edi
   15924:	56                   	push   %esi
   15925:	53                   	push   %ebx
   15926:	83 ec 24             	sub    $0x24,%esp
   15929:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1592c:	8b 55 08             	mov    0x8(%ebp),%edx
   1592f:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   15936:	50                   	push   %eax
   15937:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   1593a:	50                   	push   %eax
   1593b:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15942:	6a 01                	push   $0x1
   15944:	31 ff                	xor    %edi,%edi
   15946:	8b 82 a8 00 04 00    	mov    0x400a8(%edx),%eax
   1594c:	8b b2 90 00 04 00    	mov    0x40090(%edx),%esi
   15952:	0f af c6             	imul   %esi,%eax
   15955:	50                   	push   %eax
   15956:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15959:	50                   	push   %eax
   1595a:	8b 9a 80 00 04 00    	mov    0x40080(%edx),%ebx
   15960:	53                   	push   %ebx
   15961:	e8 0a 6d 00 00       	call   1c670 <_CcMapData@24>
   15966:	5a                   	pop    %edx
   15967:	84 c0                	test   %al,%al
   15969:	59                   	pop    %ecx
   1596a:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   1596f:	74 7d                	je     159ee <_FAT12CountAvailableClusters+0xce>
   15971:	8b 45 08             	mov    0x8(%ebp),%eax
   15974:	ba 02 00 00 00       	mov    $0x2,%edx
   15979:	8b b0 b0 00 04 00    	mov    0x400b0(%eax),%esi
   1597f:	83 c6 02             	add    $0x2,%esi
   15982:	39 f2                	cmp    %esi,%edx
   15984:	73 4a                	jae    159d0 <_FAT12CountAvailableClusters+0xb0>
   15986:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   15989:	b9 18 00 00 00       	mov    $0x18,%ecx
   1598e:	eb 16                	jmp    159a6 <_FAT12CountAvailableClusters+0x86>
   15990:	66 8b 00             	mov    (%eax),%ax
   15993:	25 ff 0f 00 00       	and    $0xfff,%eax
   15998:	83 f8 01             	cmp    $0x1,%eax
   1599b:	83 d7 00             	adc    $0x0,%edi
   1599e:	42                   	inc    %edx
   1599f:	83 c1 0c             	add    $0xc,%ecx
   159a2:	39 f2                	cmp    %esi,%edx
   159a4:	73 2a                	jae    159d0 <_FAT12CountAvailableClusters+0xb0>
   159a6:	89 c8                	mov    %ecx,%eax
   159a8:	c1 e8 03             	shr    $0x3,%eax
   159ab:	01 d8                	add    %ebx,%eax
   159ad:	f6 c2 01             	test   $0x1,%dl
   159b0:	74 de                	je     15990 <_FAT12CountAvailableClusters+0x70>
   159b2:	66 8b 00             	mov    (%eax),%ax
   159b5:	66 c1 e8 04          	shr    $0x4,%ax
   159b9:	25 ff ff 00 00       	and    $0xffff,%eax
   159be:	83 f8 01             	cmp    $0x1,%eax
   159c1:	83 d7 00             	adc    $0x0,%edi
   159c4:	42                   	inc    %edx
   159c5:	83 c1 0c             	add    $0xc,%ecx
   159c8:	39 f2                	cmp    %esi,%edx
   159ca:	72 da                	jb     159a6 <_FAT12CountAvailableClusters+0x86>
   159cc:	8d 74 26 00          	lea    0x0(%esi),%esi
   159d0:	83 ec 0c             	sub    $0xc,%esp
   159d3:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   159d6:	50                   	push   %eax
   159d7:	e8 a4 6c 00 00       	call   1c680 <_CcUnpinData@4>
   159dc:	8b 55 08             	mov    0x8(%ebp),%edx
   159df:	89 ba c4 00 04 00    	mov    %edi,0x400c4(%edx)
   159e5:	c6 82 c8 00 04 00 01 	movb   $0x1,0x400c8(%edx)
   159ec:	31 d2                	xor    %edx,%edx
   159ee:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   159f1:	89 d0                	mov    %edx,%eax
   159f3:	5b                   	pop    %ebx
   159f4:	5e                   	pop    %esi
   159f5:	5f                   	pop    %edi
   159f6:	5d                   	pop    %ebp
   159f7:	c3                   	ret    
   159f8:	90                   	nop    
   159f9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015a00 <_FAT16CountAvailableClusters>:
   15a00:	55                   	push   %ebp
   15a01:	89 e5                	mov    %esp,%ebp
   15a03:	57                   	push   %edi
   15a04:	56                   	push   %esi
   15a05:	53                   	push   %ebx
   15a06:	83 ec 2c             	sub    $0x2c,%esp
   15a09:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   15a10:	8b 45 08             	mov    0x8(%ebp),%eax
   15a13:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   15a1a:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   15a21:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   15a27:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   15a2a:	3d 00 10 00 00       	cmp    $0x1000,%eax
   15a2f:	73 07                	jae    15a38 <_FAT16CountAvailableClusters+0x38>
   15a31:	c7 45 d8 00 10 00 00 	movl   $0x1000,0xffffffd8(%ebp)
   15a38:	8b 55 08             	mov    0x8(%ebp),%edx
   15a3b:	bb 02 00 00 00       	mov    $0x2,%ebx
   15a40:	8b ba b0 00 04 00    	mov    0x400b0(%edx),%edi
   15a46:	83 c7 02             	add    $0x2,%edi
   15a49:	39 fb                	cmp    %edi,%ebx
   15a4b:	0f 83 8a 00 00 00    	jae    15adb <_FAT16CountAvailableClusters+0xdb>
   15a51:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
   15a54:	31 d2                	xor    %edx,%edx
   15a56:	89 c8                	mov    %ecx,%eax
   15a58:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15a5f:	f7 75 d8             	divl   0xffffffd8(%ebp)
   15a62:	89 c8                	mov    %ecx,%eax
   15a64:	89 d6                	mov    %edx,%esi
   15a66:	29 d0                	sub    %edx,%eax
   15a68:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   15a6b:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15a6e:	50                   	push   %eax
   15a6f:	50                   	push   %eax
   15a70:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15a73:	50                   	push   %eax
   15a74:	52                   	push   %edx
   15a75:	6a 01                	push   $0x1
   15a77:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15a7a:	50                   	push   %eax
   15a7b:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15a7e:	50                   	push   %eax
   15a7f:	8b 55 08             	mov    0x8(%ebp),%edx
   15a82:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   15a88:	50                   	push   %eax
   15a89:	e8 e2 6b 00 00       	call   1c670 <_CcMapData@24>
   15a8e:	5a                   	pop    %edx
   15a8f:	84 c0                	test   %al,%al
   15a91:	59                   	pop    %ecx
   15a92:	74 64                	je     15af8 <_FAT16CountAvailableClusters+0xf8>
   15a94:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15a97:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   15a9a:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
   15a9d:	8d 34 10             	lea    (%eax,%edx,1),%esi
   15aa0:	eb 0f                	jmp    15ab1 <_FAT16CountAvailableClusters+0xb1>
   15aa2:	66 8b 01             	mov    (%ecx),%ax
   15aa5:	66 83 f8 01          	cmp    $0x1,%ax
   15aa9:	83 55 dc 00          	adcl   $0x0,0xffffffdc(%ebp)
   15aad:	83 c1 02             	add    $0x2,%ecx
   15ab0:	43                   	inc    %ebx
   15ab1:	39 f1                	cmp    %esi,%ecx
   15ab3:	0f 92 c2             	setb   %dl
   15ab6:	39 fb                	cmp    %edi,%ebx
   15ab8:	0f 92 c0             	setb   %al
   15abb:	25 ff 00 00 00       	and    $0xff,%eax
   15ac0:	85 c2                	test   %eax,%edx
   15ac2:	75 de                	jne    15aa2 <_FAT16CountAvailableClusters+0xa2>
   15ac4:	83 ec 0c             	sub    $0xc,%esp
   15ac7:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15aca:	50                   	push   %eax
   15acb:	e8 b0 6b 00 00       	call   1c680 <_CcUnpinData@4>
   15ad0:	83 c4 0c             	add    $0xc,%esp
   15ad3:	39 fb                	cmp    %edi,%ebx
   15ad5:	0f 82 76 ff ff ff    	jb     15a51 <_FAT16CountAvailableClusters+0x51>
   15adb:	8b 45 08             	mov    0x8(%ebp),%eax
   15ade:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   15ae1:	89 90 c4 00 04 00    	mov    %edx,0x400c4(%eax)
   15ae7:	c6 80 c8 00 04 00 01 	movb   $0x1,0x400c8(%eax)
   15aee:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15af1:	31 c0                	xor    %eax,%eax
   15af3:	5b                   	pop    %ebx
   15af4:	5e                   	pop    %esi
   15af5:	5f                   	pop    %edi
   15af6:	5d                   	pop    %ebp
   15af7:	c3                   	ret    
   15af8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15afb:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   15b00:	5b                   	pop    %ebx
   15b01:	5e                   	pop    %esi
   15b02:	5f                   	pop    %edi
   15b03:	5d                   	pop    %ebp
   15b04:	c3                   	ret    
   15b05:	8d 74 26 00          	lea    0x0(%esi),%esi
   15b09:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015b10 <_FAT32CountAvailableClusters>:
   15b10:	55                   	push   %ebp
   15b11:	89 e5                	mov    %esp,%ebp
   15b13:	57                   	push   %edi
   15b14:	56                   	push   %esi
   15b15:	53                   	push   %ebx
   15b16:	83 ec 2c             	sub    $0x2c,%esp
   15b19:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   15b20:	8b 45 08             	mov    0x8(%ebp),%eax
   15b23:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   15b2a:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   15b31:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   15b37:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   15b3a:	3d 00 10 00 00       	cmp    $0x1000,%eax
   15b3f:	73 07                	jae    15b48 <_FAT32CountAvailableClusters+0x38>
   15b41:	c7 45 d8 00 10 00 00 	movl   $0x1000,0xffffffd8(%ebp)
   15b48:	8b 55 08             	mov    0x8(%ebp),%edx
   15b4b:	bb 02 00 00 00       	mov    $0x2,%ebx
   15b50:	8b ba b0 00 04 00    	mov    0x400b0(%edx),%edi
   15b56:	83 c7 02             	add    $0x2,%edi
   15b59:	39 fb                	cmp    %edi,%ebx
   15b5b:	0f 83 91 00 00 00    	jae    15bf2 <_FAT32CountAvailableClusters+0xe2>
   15b61:	8d 0c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%ecx
   15b68:	31 d2                	xor    %edx,%edx
   15b6a:	89 c8                	mov    %ecx,%eax
   15b6c:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15b73:	f7 75 d8             	divl   0xffffffd8(%ebp)
   15b76:	89 c8                	mov    %ecx,%eax
   15b78:	89 d6                	mov    %edx,%esi
   15b7a:	29 d0                	sub    %edx,%eax
   15b7c:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
   15b7f:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15b82:	50                   	push   %eax
   15b83:	50                   	push   %eax
   15b84:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15b87:	50                   	push   %eax
   15b88:	52                   	push   %edx
   15b89:	6a 01                	push   $0x1
   15b8b:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15b8e:	50                   	push   %eax
   15b8f:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15b92:	50                   	push   %eax
   15b93:	8b 55 08             	mov    0x8(%ebp),%edx
   15b96:	8b 8a 80 00 04 00    	mov    0x40080(%edx),%ecx
   15b9c:	51                   	push   %ecx
   15b9d:	e8 ce 6a 00 00       	call   1c670 <_CcMapData@24>
   15ba2:	59                   	pop    %ecx
   15ba3:	84 c0                	test   %al,%al
   15ba5:	5a                   	pop    %edx
   15ba6:	74 67                	je     15c0f <_FAT32CountAvailableClusters+0xff>
   15ba8:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15bab:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   15bae:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
   15bb1:	8d 34 10             	lea    (%eax,%edx,1),%esi
   15bb4:	eb 12                	jmp    15bc8 <_FAT32CountAvailableClusters+0xb8>
   15bb6:	8b 01                	mov    (%ecx),%eax
   15bb8:	25 ff ff ff 0f       	and    $0xfffffff,%eax
   15bbd:	83 f8 01             	cmp    $0x1,%eax
   15bc0:	83 55 dc 00          	adcl   $0x0,0xffffffdc(%ebp)
   15bc4:	83 c1 04             	add    $0x4,%ecx
   15bc7:	43                   	inc    %ebx
   15bc8:	39 f1                	cmp    %esi,%ecx
   15bca:	0f 92 c2             	setb   %dl
   15bcd:	39 fb                	cmp    %edi,%ebx
   15bcf:	0f 92 c0             	setb   %al
   15bd2:	25 ff 00 00 00       	and    $0xff,%eax
   15bd7:	85 c2                	test   %eax,%edx
   15bd9:	75 db                	jne    15bb6 <_FAT32CountAvailableClusters+0xa6>
   15bdb:	83 ec 0c             	sub    $0xc,%esp
   15bde:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15be1:	50                   	push   %eax
   15be2:	e8 99 6a 00 00       	call   1c680 <_CcUnpinData@4>
   15be7:	83 c4 0c             	add    $0xc,%esp
   15bea:	39 fb                	cmp    %edi,%ebx
   15bec:	0f 82 6f ff ff ff    	jb     15b61 <_FAT32CountAvailableClusters+0x51>
   15bf2:	8b 45 08             	mov    0x8(%ebp),%eax
   15bf5:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   15bf8:	89 90 c4 00 04 00    	mov    %edx,0x400c4(%eax)
   15bfe:	c6 80 c8 00 04 00 01 	movb   $0x1,0x400c8(%eax)
   15c05:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15c08:	31 c0                	xor    %eax,%eax
   15c0a:	5b                   	pop    %ebx
   15c0b:	5e                   	pop    %esi
   15c0c:	5f                   	pop    %edi
   15c0d:	5d                   	pop    %ebp
   15c0e:	c3                   	ret    
   15c0f:	52                   	push   %edx
   15c10:	68 a6 01 00 00       	push   $0x1a6
   15c15:	68 70 e1 01 00       	push   $0x1e170
   15c1a:	68 76 e1 01 00       	push   $0x1e176
   15c1f:	ff 15 38 02 02 00    	call   *0x20238
   15c25:	83 c4 0c             	add    $0xc,%esp
   15c28:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   15c2b:	50                   	push   %eax
   15c2c:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   15c2f:	50                   	push   %eax
   15c30:	68 80 e1 01 00       	push   $0x1e180
   15c35:	ff 15 38 02 02 00    	call   *0x20238
   15c3b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15c3e:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   15c43:	5b                   	pop    %ebx
   15c44:	5e                   	pop    %esi
   15c45:	5f                   	pop    %edi
   15c46:	5d                   	pop    %ebp
   15c47:	c3                   	ret    
   15c48:	90                   	nop    
   15c49:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00015c50 <_CountAvailableClusters>:
   15c50:	55                   	push   %ebp
   15c51:	89 e5                	mov    %esp,%ebp
   15c53:	57                   	push   %edi
   15c54:	56                   	push   %esi
   15c55:	53                   	push   %ebx
   15c56:	83 ec 14             	sub    $0x14,%esp
   15c59:	31 f6                	xor    %esi,%esi
   15c5b:	8b 5d 08             	mov    0x8(%ebp),%ebx
   15c5e:	6a 01                	push   $0x1
   15c60:	8d 7b 38             	lea    0x38(%ebx),%edi
   15c63:	57                   	push   %edi
   15c64:	ff 15 3c 02 02 00    	call   *0x2023c
   15c6a:	80 bb c8 00 04 00 00 	cmpb   $0x0,0x400c8(%ebx)
   15c71:	58                   	pop    %eax
   15c72:	5a                   	pop    %edx
   15c73:	75 2b                	jne    15ca0 <_CountAvailableClusters+0x50>
   15c75:	8b 83 b4 00 04 00    	mov    0x400b4(%ebx),%eax
   15c7b:	83 f8 02             	cmp    $0x2,%eax
   15c7e:	74 54                	je     15cd4 <_CountAvailableClusters+0x84>
   15c80:	83 f8 01             	cmp    $0x1,%eax
   15c83:	0f 94 c2             	sete   %dl
   15c86:	83 f8 04             	cmp    $0x4,%eax
   15c89:	0f 94 c0             	sete   %al
   15c8c:	09 d0                	or     %edx,%eax
   15c8e:	a8 01                	test   $0x1,%al
   15c90:	74 32                	je     15cc4 <_CountAvailableClusters+0x74>
   15c92:	83 ec 0c             	sub    $0xc,%esp
   15c95:	53                   	push   %ebx
   15c96:	e8 65 fd ff ff       	call   15a00 <_FAT16CountAvailableClusters>
   15c9b:	83 c4 10             	add    $0x10,%esp
   15c9e:	89 c6                	mov    %eax,%esi
   15ca0:	8b 45 0c             	mov    0xc(%ebp),%eax
   15ca3:	8b 93 c4 00 04 00    	mov    0x400c4(%ebx),%edx
   15ca9:	89 f9                	mov    %edi,%ecx
   15cab:	89 10                	mov    %edx,(%eax)
   15cad:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
   15cb4:	ff 15 e8 01 02 00    	call   *0x201e8
   15cba:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15cbd:	89 f0                	mov    %esi,%eax
   15cbf:	5b                   	pop    %ebx
   15cc0:	5e                   	pop    %esi
   15cc1:	5f                   	pop    %edi
   15cc2:	5d                   	pop    %ebp
   15cc3:	c3                   	ret    
   15cc4:	83 ec 0c             	sub    $0xc,%esp
   15cc7:	53                   	push   %ebx
   15cc8:	e8 43 fe ff ff       	call   15b10 <_FAT32CountAvailableClusters>
   15ccd:	83 c4 10             	add    $0x10,%esp
   15cd0:	89 c6                	mov    %eax,%esi
   15cd2:	eb cc                	jmp    15ca0 <_CountAvailableClusters+0x50>
   15cd4:	83 ec 0c             	sub    $0xc,%esp
   15cd7:	53                   	push   %ebx
   15cd8:	e8 43 fc ff ff       	call   15920 <_FAT12CountAvailableClusters>
   15cdd:	83 c4 10             	add    $0x10,%esp
   15ce0:	89 c6                	mov    %eax,%esi
   15ce2:	eb bc                	jmp    15ca0 <_CountAvailableClusters+0x50>
   15ce4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   15cea:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00015cf0 <_FAT12WriteCluster>:
   15cf0:	55                   	push   %ebp
   15cf1:	89 e5                	mov    %esp,%ebp
   15cf3:	57                   	push   %edi
   15cf4:	56                   	push   %esi
   15cf5:	53                   	push   %ebx
   15cf6:	83 ec 24             	sub    $0x24,%esp
   15cf9:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15cfc:	8b 55 08             	mov    0x8(%ebp),%edx
   15cff:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   15d06:	50                   	push   %eax
   15d07:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15d0a:	50                   	push   %eax
   15d0b:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15d12:	6a 01                	push   $0x1
   15d14:	8b 7d 0c             	mov    0xc(%ebp),%edi
   15d17:	8b 8a 90 00 04 00    	mov    0x40090(%edx),%ecx
   15d1d:	8b 82 a8 00 04 00    	mov    0x400a8(%edx),%eax
   15d23:	0f af c1             	imul   %ecx,%eax
   15d26:	50                   	push   %eax
   15d27:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15d2a:	50                   	push   %eax
   15d2b:	8b 75 10             	mov    0x10(%ebp),%esi
   15d2e:	8b 9a 80 00 04 00    	mov    0x40080(%edx),%ebx
   15d34:	53                   	push   %ebx
   15d35:	e8 d6 6a 00 00       	call   1c810 <_CcPinRead@24>
   15d3a:	5a                   	pop    %edx
   15d3b:	84 c0                	test   %al,%al
   15d3d:	59                   	pop    %ecx
   15d3e:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   15d43:	74 62                	je     15da7 <_FAT12WriteCluster+0xb7>
   15d45:	8d 04 7f             	lea    (%edi,%edi,2),%eax
   15d48:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   15d4b:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
   15d52:	c1 e9 03             	shr    $0x3,%ecx
   15d55:	83 e7 01             	and    $0x1,%edi
   15d58:	74 57                	je     15db1 <_FAT12WriteCluster+0xc1>
   15d5a:	8a 04 19             	mov    (%ecx,%ebx,1),%al
   15d5d:	31 d2                	xor    %edx,%edx
   15d5f:	c0 e8 04             	shr    $0x4,%al
   15d62:	8a 54 0b 01          	mov    0x1(%ebx,%ecx,1),%dl
   15d66:	c1 e2 04             	shl    $0x4,%edx
   15d69:	25 ff 00 00 00       	and    $0xff,%eax
   15d6e:	01 d0                	add    %edx,%eax
   15d70:	8b 55 14             	mov    0x14(%ebp),%edx
   15d73:	89 02                	mov    %eax,(%edx)
   15d75:	89 f2                	mov    %esi,%edx
   15d77:	c1 e2 04             	shl    $0x4,%edx
   15d7a:	8a 04 19             	mov    (%ecx,%ebx,1),%al
   15d7d:	c1 ee 04             	shr    $0x4,%esi
   15d80:	83 e0 0f             	and    $0xf,%eax
   15d83:	09 d0                	or     %edx,%eax
   15d85:	88 04 19             	mov    %al,(%ecx,%ebx,1)
   15d88:	89 f0                	mov    %esi,%eax
   15d8a:	88 44 0b 01          	mov    %al,0x1(%ebx,%ecx,1)
   15d8e:	8b 75 e8             	mov    0xffffffe8(%ebp),%esi
   15d91:	57                   	push   %edi
   15d92:	57                   	push   %edi
   15d93:	6a 00                	push   $0x0
   15d95:	56                   	push   %esi
   15d96:	e8 85 6a 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   15d9b:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   15d9e:	53                   	push   %ebx
   15d9f:	51                   	push   %ecx
   15da0:	e8 db 68 00 00       	call   1c680 <_CcUnpinData@4>
   15da5:	31 d2                	xor    %edx,%edx
   15da7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15daa:	89 d0                	mov    %edx,%eax
   15dac:	5b                   	pop    %ebx
   15dad:	5e                   	pop    %esi
   15dae:	5f                   	pop    %edi
   15daf:	5d                   	pop    %ebp
   15db0:	c3                   	ret    
   15db1:	31 d2                	xor    %edx,%edx
   15db3:	31 c0                	xor    %eax,%eax
   15db5:	8a 54 0b 01          	mov    0x1(%ebx,%ecx,1),%dl
   15db9:	8a 04 19             	mov    (%ecx,%ebx,1),%al
   15dbc:	83 e2 0f             	and    $0xf,%edx
   15dbf:	c1 e2 08             	shl    $0x8,%edx
   15dc2:	01 d0                	add    %edx,%eax
   15dc4:	8b 55 14             	mov    0x14(%ebp),%edx
   15dc7:	89 02                	mov    %eax,(%edx)
   15dc9:	89 f0                	mov    %esi,%eax
   15dcb:	88 04 19             	mov    %al,(%ecx,%ebx,1)
   15dce:	81 e6 00 0f 00 00    	and    $0xf00,%esi
   15dd4:	c1 ee 08             	shr    $0x8,%esi
   15dd7:	8a 44 0b 01          	mov    0x1(%ebx,%ecx,1),%al
   15ddb:	83 e0 f0             	and    $0xfffffff0,%eax
   15dde:	09 f0                	or     %esi,%eax
   15de0:	eb a8                	jmp    15d8a <_FAT12WriteCluster+0x9a>
   15de2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   15de9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00015df0 <_FAT16WriteCluster>:
   15df0:	55                   	push   %ebp
   15df1:	89 e5                	mov    %esp,%ebp
   15df3:	57                   	push   %edi
   15df4:	56                   	push   %esi
   15df5:	53                   	push   %ebx
   15df6:	83 ec 1c             	sub    $0x1c,%esp
   15df9:	8b 4d 08             	mov    0x8(%ebp),%ecx
   15dfc:	8b b1 ac 00 04 00    	mov    0x400ac(%ecx),%esi
   15e02:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
   15e08:	73 05                	jae    15e0f <_FAT16WriteCluster+0x1f>
   15e0a:	be 00 10 00 00       	mov    $0x1000,%esi
   15e0f:	8b 45 0c             	mov    0xc(%ebp),%eax
   15e12:	31 d2                	xor    %edx,%edx
   15e14:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15e1b:	8d 3c 00             	lea    (%eax,%eax,1),%edi
   15e1e:	89 f8                	mov    %edi,%eax
   15e20:	f7 f6                	div    %esi
   15e22:	89 f8                	mov    %edi,%eax
   15e24:	29 d0                	sub    %edx,%eax
   15e26:	57                   	push   %edi
   15e27:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15e2a:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15e2d:	57                   	push   %edi
   15e2e:	50                   	push   %eax
   15e2f:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15e32:	89 d3                	mov    %edx,%ebx
   15e34:	50                   	push   %eax
   15e35:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15e38:	6a 01                	push   $0x1
   15e3a:	56                   	push   %esi
   15e3b:	50                   	push   %eax
   15e3c:	8b b1 80 00 04 00    	mov    0x40080(%ecx),%esi
   15e42:	56                   	push   %esi
   15e43:	e8 c8 69 00 00       	call   1c810 <_CcPinRead@24>
   15e48:	5a                   	pop    %edx
   15e49:	84 c0                	test   %al,%al
   15e4b:	59                   	pop    %ecx
   15e4c:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   15e51:	74 33                	je     15e86 <_FAT16WriteCluster+0x96>
   15e53:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15e56:	89 d9                	mov    %ebx,%ecx
   15e58:	01 c1                	add    %eax,%ecx
   15e5a:	8b 55 14             	mov    0x14(%ebp),%edx
   15e5d:	66 8b 01             	mov    (%ecx),%ax
   15e60:	25 ff ff 00 00       	and    $0xffff,%eax
   15e65:	89 02                	mov    %eax,(%edx)
   15e67:	8b 45 10             	mov    0x10(%ebp),%eax
   15e6a:	66 89 01             	mov    %ax,(%ecx)
   15e6d:	8b 7d e8             	mov    0xffffffe8(%ebp),%edi
   15e70:	50                   	push   %eax
   15e71:	50                   	push   %eax
   15e72:	6a 00                	push   $0x0
   15e74:	57                   	push   %edi
   15e75:	e8 a6 69 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   15e7a:	8b 5d e8             	mov    0xffffffe8(%ebp),%ebx
   15e7d:	56                   	push   %esi
   15e7e:	53                   	push   %ebx
   15e7f:	e8 fc 67 00 00       	call   1c680 <_CcUnpinData@4>
   15e84:	31 d2                	xor    %edx,%edx
   15e86:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15e89:	89 d0                	mov    %edx,%eax
   15e8b:	5b                   	pop    %ebx
   15e8c:	5e                   	pop    %esi
   15e8d:	5f                   	pop    %edi
   15e8e:	5d                   	pop    %ebp
   15e8f:	c3                   	ret    

00015e90 <_FAT32WriteCluster>:
   15e90:	55                   	push   %ebp
   15e91:	89 e5                	mov    %esp,%ebp
   15e93:	57                   	push   %edi
   15e94:	56                   	push   %esi
   15e95:	53                   	push   %ebx
   15e96:	83 ec 2c             	sub    $0x2c,%esp
   15e99:	8b 4d 08             	mov    0x8(%ebp),%ecx
   15e9c:	8b 5d 10             	mov    0x10(%ebp),%ebx
   15e9f:	8b b9 ac 00 04 00    	mov    0x400ac(%ecx),%edi
   15ea5:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
   15eab:	73 05                	jae    15eb2 <_FAT32WriteCluster+0x22>
   15ead:	bf 00 10 00 00       	mov    $0x1000,%edi
   15eb2:	8b 45 0c             	mov    0xc(%ebp),%eax
   15eb5:	31 d2                	xor    %edx,%edx
   15eb7:	c1 e0 02             	shl    $0x2,%eax
   15eba:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   15ec1:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   15ec4:	f7 f7                	div    %edi
   15ec6:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   15ec9:	89 d6                	mov    %edx,%esi
   15ecb:	29 d0                	sub    %edx,%eax
   15ecd:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   15ed0:	50                   	push   %eax
   15ed1:	50                   	push   %eax
   15ed2:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   15ed5:	50                   	push   %eax
   15ed6:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   15ed9:	50                   	push   %eax
   15eda:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   15edd:	6a 01                	push   $0x1
   15edf:	57                   	push   %edi
   15ee0:	50                   	push   %eax
   15ee1:	8b b9 80 00 04 00    	mov    0x40080(%ecx),%edi
   15ee7:	57                   	push   %edi
   15ee8:	e8 23 69 00 00       	call   1c810 <_CcPinRead@24>
   15eed:	5a                   	pop    %edx
   15eee:	84 c0                	test   %al,%al
   15ef0:	59                   	pop    %ecx
   15ef1:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
   15ef6:	74 3e                	je     15f36 <_FAT32WriteCluster+0xa6>
   15ef8:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15efb:	89 f2                	mov    %esi,%edx
   15efd:	01 c2                	add    %eax,%edx
   15eff:	8b 45 14             	mov    0x14(%ebp),%eax
   15f02:	81 e3 ff ff ff 0f    	and    $0xfffffff,%ebx
   15f08:	8b 0a                	mov    (%edx),%ecx
   15f0a:	81 e1 ff ff ff 0f    	and    $0xfffffff,%ecx
   15f10:	89 08                	mov    %ecx,(%eax)
   15f12:	8b 02                	mov    (%edx),%eax
   15f14:	25 00 00 00 f0       	and    $0xf0000000,%eax
   15f19:	09 d8                	or     %ebx,%eax
   15f1b:	89 02                	mov    %eax,(%edx)
   15f1d:	50                   	push   %eax
   15f1e:	50                   	push   %eax
   15f1f:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15f22:	6a 00                	push   $0x0
   15f24:	50                   	push   %eax
   15f25:	e8 f6 68 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   15f2a:	50                   	push   %eax
   15f2b:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   15f2e:	50                   	push   %eax
   15f2f:	e8 4c 67 00 00       	call   1c680 <_CcUnpinData@4>
   15f34:	31 d2                	xor    %edx,%edx
   15f36:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15f39:	89 d0                	mov    %edx,%eax
   15f3b:	5b                   	pop    %ebx
   15f3c:	5e                   	pop    %esi
   15f3d:	5f                   	pop    %edi
   15f3e:	5d                   	pop    %ebp
   15f3f:	c3                   	ret    

00015f40 <_WriteCluster>:
   15f40:	55                   	push   %ebp
   15f41:	89 e5                	mov    %esp,%ebp
   15f43:	57                   	push   %edi
   15f44:	56                   	push   %esi
   15f45:	53                   	push   %ebx
   15f46:	83 ec 14             	sub    $0x14,%esp
   15f49:	8b 5d 08             	mov    0x8(%ebp),%ebx
   15f4c:	8b 75 10             	mov    0x10(%ebp),%esi
   15f4f:	6a 01                	push   $0x1
   15f51:	8d 7b 38             	lea    0x38(%ebx),%edi
   15f54:	57                   	push   %edi
   15f55:	ff 15 3c 02 02 00    	call   *0x2023c
   15f5b:	58                   	pop    %eax
   15f5c:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   15f5f:	5a                   	pop    %edx
   15f60:	50                   	push   %eax
   15f61:	56                   	push   %esi
   15f62:	8b 45 0c             	mov    0xc(%ebp),%eax
   15f65:	50                   	push   %eax
   15f66:	53                   	push   %ebx
   15f67:	ff 93 dc 00 04 00    	call   *0x400dc(%ebx)
   15f6d:	83 c4 10             	add    $0x10,%esp
   15f70:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   15f73:	80 bb c8 00 04 00 00 	cmpb   $0x0,0x400c8(%ebx)
   15f7a:	74 29                	je     15fa5 <_WriteCluster+0x65>
   15f7c:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   15f7f:	85 c9                	test   %ecx,%ecx
   15f81:	0f 95 c2             	setne  %dl
   15f84:	85 f6                	test   %esi,%esi
   15f86:	0f 94 c0             	sete   %al
   15f89:	25 ff 00 00 00       	and    $0xff,%eax
   15f8e:	85 c2                	test   %eax,%edx
   15f90:	75 26                	jne    15fb8 <_WriteCluster+0x78>
   15f92:	85 c9                	test   %ecx,%ecx
   15f94:	0f 94 c2             	sete   %dl
   15f97:	85 f6                	test   %esi,%esi
   15f99:	0f 95 c0             	setne  %al
   15f9c:	25 ff 00 00 00       	and    $0xff,%eax
   15fa1:	85 c2                	test   %eax,%edx
   15fa3:	75 32                	jne    15fd7 <_WriteCluster+0x97>
   15fa5:	89 f9                	mov    %edi,%ecx
   15fa7:	ff 15 e8 01 02 00    	call   *0x201e8
   15fad:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15fb0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15fb3:	5b                   	pop    %ebx
   15fb4:	5e                   	pop    %esi
   15fb5:	5f                   	pop    %edi
   15fb6:	5d                   	pop    %ebp
   15fb7:	c3                   	ret    
   15fb8:	8d 8b c4 00 04 00    	lea    0x400c4(%ebx),%ecx
   15fbe:	ff 15 f0 01 02 00    	call   *0x201f0
   15fc4:	89 f9                	mov    %edi,%ecx
   15fc6:	ff 15 e8 01 02 00    	call   *0x201e8
   15fcc:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15fcf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15fd2:	5b                   	pop    %ebx
   15fd3:	5e                   	pop    %esi
   15fd4:	5f                   	pop    %edi
   15fd5:	5d                   	pop    %ebp
   15fd6:	c3                   	ret    
   15fd7:	8d 8b c4 00 04 00    	lea    0x400c4(%ebx),%ecx
   15fdd:	ff 15 ec 01 02 00    	call   *0x201ec
   15fe3:	89 f9                	mov    %edi,%ecx
   15fe5:	ff 15 e8 01 02 00    	call   *0x201e8
   15feb:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   15fee:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   15ff1:	5b                   	pop    %ebx
   15ff2:	5e                   	pop    %esi
   15ff3:	5f                   	pop    %edi
   15ff4:	5d                   	pop    %ebp
   15ff5:	c3                   	ret    
   15ff6:	8d 76 00             	lea    0x0(%esi),%esi
   15ff9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016000 <_ClusterToSector>:
   16000:	55                   	push   %ebp
   16001:	89 e5                	mov    %esp,%ebp
   16003:	57                   	push   %edi
   16004:	56                   	push   %esi
   16005:	53                   	push   %ebx
   16006:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   16009:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1600c:	83 e9 02             	sub    $0x2,%ecx
   1600f:	31 ff                	xor    %edi,%edi
   16011:	89 c8                	mov    %ecx,%eax
   16013:	8b b3 9c 00 04 00    	mov    0x4009c(%ebx),%esi
   16019:	f7 a3 a4 00 04 00    	mull   0x400a4(%ebx)
   1601f:	01 c6                	add    %eax,%esi
   16021:	5b                   	pop    %ebx
   16022:	11 d7                	adc    %edx,%edi
   16024:	89 f0                	mov    %esi,%eax
   16026:	89 fa                	mov    %edi,%edx
   16028:	5e                   	pop    %esi
   16029:	5f                   	pop    %edi
   1602a:	5d                   	pop    %ebp
   1602b:	c3                   	ret    
   1602c:	8d 74 26 00          	lea    0x0(%esi),%esi

00016030 <_GetNextCluster>:
   16030:	55                   	push   %ebp
   16031:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   16036:	89 e5                	mov    %esp,%ebp
   16038:	57                   	push   %edi
   16039:	56                   	push   %esi
   1603a:	53                   	push   %ebx
   1603b:	83 ec 0c             	sub    $0xc,%esp
   1603e:	8b 7d 0c             	mov    0xc(%ebp),%edi
   16041:	8b 5d 08             	mov    0x8(%ebp),%ebx
   16044:	85 ff                	test   %edi,%edi
   16046:	74 27                	je     1606f <_GetNextCluster+0x3f>
   16048:	8d 73 38             	lea    0x38(%ebx),%esi
   1604b:	50                   	push   %eax
   1604c:	50                   	push   %eax
   1604d:	6a 01                	push   $0x1
   1604f:	56                   	push   %esi
   16050:	ff 15 40 02 02 00    	call   *0x20240
   16056:	8b 4d 10             	mov    0x10(%ebp),%ecx
   16059:	58                   	pop    %eax
   1605a:	51                   	push   %ecx
   1605b:	57                   	push   %edi
   1605c:	53                   	push   %ebx
   1605d:	ff 93 d4 00 04 00    	call   *0x400d4(%ebx)
   16063:	89 f1                	mov    %esi,%ecx
   16065:	89 c3                	mov    %eax,%ebx
   16067:	ff 15 e8 01 02 00    	call   *0x201e8
   1606d:	89 d8                	mov    %ebx,%eax
   1606f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16072:	5b                   	pop    %ebx
   16073:	5e                   	pop    %esi
   16074:	5f                   	pop    %edi
   16075:	5d                   	pop    %ebp
   16076:	c3                   	ret    
   16077:	89 f6                	mov    %esi,%esi
   16079:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016080 <_GetNextClusterExtend>:
   16080:	55                   	push   %ebp
   16081:	89 e5                	mov    %esp,%ebp
   16083:	57                   	push   %edi
   16084:	56                   	push   %esi
   16085:	53                   	push   %ebx
   16086:	83 ec 14             	sub    $0x14,%esp
   16089:	8b 75 08             	mov    0x8(%ebp),%esi
   1608c:	6a 01                	push   $0x1
   1608e:	8d 7e 38             	lea    0x38(%esi),%edi
   16091:	57                   	push   %edi
   16092:	ff 15 3c 02 02 00    	call   *0x2023c
   16098:	58                   	pop    %eax
   16099:	8b 45 0c             	mov    0xc(%ebp),%eax
   1609c:	5a                   	pop    %edx
   1609d:	85 c0                	test   %eax,%eax
   1609f:	75 30                	jne    160d1 <_GetNextClusterExtend+0x51>
   160a1:	50                   	push   %eax
   160a2:	50                   	push   %eax
   160a3:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   160a6:	50                   	push   %eax
   160a7:	56                   	push   %esi
   160a8:	ff 96 d8 00 04 00    	call   *0x400d8(%esi)
   160ae:	83 c4 10             	add    $0x10,%esp
   160b1:	89 c3                	mov    %eax,%ebx
   160b3:	85 c0                	test   %eax,%eax
   160b5:	78 37                	js     160ee <_GetNextClusterExtend+0x6e>
   160b7:	8b 55 10             	mov    0x10(%ebp),%edx
   160ba:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   160bd:	89 f9                	mov    %edi,%ecx
   160bf:	89 02                	mov    %eax,(%edx)
   160c1:	ff 15 e8 01 02 00    	call   *0x201e8
   160c7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   160ca:	31 c0                	xor    %eax,%eax
   160cc:	5b                   	pop    %ebx
   160cd:	5e                   	pop    %esi
   160ce:	5f                   	pop    %edi
   160cf:	5d                   	pop    %ebp
   160d0:	c3                   	ret    
   160d1:	53                   	push   %ebx
   160d2:	8b 4d 10             	mov    0x10(%ebp),%ecx
   160d5:	51                   	push   %ecx
   160d6:	8b 55 0c             	mov    0xc(%ebp),%edx
   160d9:	52                   	push   %edx
   160da:	56                   	push   %esi
   160db:	ff 96 d4 00 04 00    	call   *0x400d4(%esi)
   160e1:	83 c4 10             	add    $0x10,%esp
   160e4:	89 c3                	mov    %eax,%ebx
   160e6:	8b 45 10             	mov    0x10(%ebp),%eax
   160e9:	83 38 ff             	cmpl   $0xffffffff,(%eax)
   160ec:	74 12                	je     16100 <_GetNextClusterExtend+0x80>
   160ee:	89 f9                	mov    %edi,%ecx
   160f0:	ff 15 e8 01 02 00    	call   *0x201e8
   160f6:	89 d8                	mov    %ebx,%eax
   160f8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   160fb:	5b                   	pop    %ebx
   160fc:	5e                   	pop    %esi
   160fd:	5f                   	pop    %edi
   160fe:	5d                   	pop    %ebp
   160ff:	c3                   	ret    
   16100:	50                   	push   %eax
   16101:	50                   	push   %eax
   16102:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   16105:	50                   	push   %eax
   16106:	56                   	push   %esi
   16107:	ff 96 d8 00 04 00    	call   *0x400d8(%esi)
   1610d:	83 c4 10             	add    $0x10,%esp
   16110:	89 c3                	mov    %eax,%ebx
   16112:	85 c0                	test   %eax,%eax
   16114:	78 d8                	js     160ee <_GetNextClusterExtend+0x6e>
   16116:	50                   	push   %eax
   16117:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1611a:	50                   	push   %eax
   1611b:	8b 45 0c             	mov    0xc(%ebp),%eax
   1611e:	50                   	push   %eax
   1611f:	56                   	push   %esi
   16120:	e8 1b fe ff ff       	call   15f40 <_WriteCluster>
   16125:	8b 55 10             	mov    0x10(%ebp),%edx
   16128:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1612b:	83 c4 10             	add    $0x10,%esp
   1612e:	89 02                	mov    %eax,(%edx)
   16130:	89 f9                	mov    %edi,%ecx
   16132:	ff 15 e8 01 02 00    	call   *0x201e8
   16138:	89 d8                	mov    %ebx,%eax
   1613a:	eb bc                	jmp    160f8 <_GetNextClusterExtend+0x78>
   1613c:	90                   	nop    
   1613d:	90                   	nop    
   1613e:	90                   	nop    
   1613f:	90                   	nop    

00016140 <_VfatFastIoCheckIfPossible@32>:
   16140:	55                   	push   %ebp
   16141:	31 c0                	xor    %eax,%eax
   16143:	89 e5                	mov    %esp,%ebp
   16145:	5d                   	pop    %ebp
   16146:	c2 20 00             	ret    $0x20
   16149:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016150 <_VfatFastIoRead@32>:
   16150:	55                   	push   %ebp
   16151:	31 c0                	xor    %eax,%eax
   16153:	89 e5                	mov    %esp,%ebp
   16155:	5d                   	pop    %ebp
   16156:	c2 20 00             	ret    $0x20
   16159:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016160 <_VfatFastIoWrite@32>:
   16160:	55                   	push   %ebp
   16161:	31 c0                	xor    %eax,%eax
   16163:	89 e5                	mov    %esp,%ebp
   16165:	5d                   	pop    %ebp
   16166:	c2 20 00             	ret    $0x20
   16169:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016170 <_VfatFastIoQueryBasicInfo@20>:
   16170:	55                   	push   %ebp
   16171:	31 c0                	xor    %eax,%eax
   16173:	89 e5                	mov    %esp,%ebp
   16175:	5d                   	pop    %ebp
   16176:	c2 14 00             	ret    $0x14
   16179:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016180 <_VfatFastIoQueryStandardInfo@20>:
   16180:	55                   	push   %ebp
   16181:	31 c0                	xor    %eax,%eax
   16183:	89 e5                	mov    %esp,%ebp
   16185:	5d                   	pop    %ebp
   16186:	c2 14 00             	ret    $0x14
   16189:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016190 <_VfatFastIoLock@36>:
   16190:	55                   	push   %ebp
   16191:	31 c0                	xor    %eax,%eax
   16193:	89 e5                	mov    %esp,%ebp
   16195:	5d                   	pop    %ebp
   16196:	c2 24 00             	ret    $0x24
   16199:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000161a0 <_VfatFastIoUnlockSingle@28>:
   161a0:	55                   	push   %ebp
   161a1:	31 c0                	xor    %eax,%eax
   161a3:	89 e5                	mov    %esp,%ebp
   161a5:	5d                   	pop    %ebp
   161a6:	c2 1c 00             	ret    $0x1c
   161a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000161b0 <_VfatFastIoUnlockAll@16>:
   161b0:	55                   	push   %ebp
   161b1:	31 c0                	xor    %eax,%eax
   161b3:	89 e5                	mov    %esp,%ebp
   161b5:	5d                   	pop    %ebp
   161b6:	c2 10 00             	ret    $0x10
   161b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000161c0 <_VfatFastIoUnlockAllByKey@20>:
   161c0:	55                   	push   %ebp
   161c1:	31 c0                	xor    %eax,%eax
   161c3:	89 e5                	mov    %esp,%ebp
   161c5:	5d                   	pop    %ebp
   161c6:	c2 14 00             	ret    $0x14
   161c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000161d0 <_VfatFastIoDeviceControl@36>:
   161d0:	55                   	push   %ebp
   161d1:	31 c0                	xor    %eax,%eax
   161d3:	89 e5                	mov    %esp,%ebp
   161d5:	5d                   	pop    %ebp
   161d6:	c2 24 00             	ret    $0x24
   161d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000161e0 <_VfatAcquireFileForNtCreateSection@4>:
   161e0:	55                   	push   %ebp
   161e1:	89 e5                	mov    %esp,%ebp
   161e3:	5d                   	pop    %ebp
   161e4:	c2 04 00             	ret    $0x4
   161e7:	89 f6                	mov    %esi,%esi
   161e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000161f0 <_VfatReleaseFileForNtCreateSection@4>:
   161f0:	55                   	push   %ebp
   161f1:	89 e5                	mov    %esp,%ebp
   161f3:	5d                   	pop    %ebp
   161f4:	c2 04 00             	ret    $0x4
   161f7:	89 f6                	mov    %esi,%esi
   161f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016200 <_VfatFastIoDetachDevice@8>:
   16200:	55                   	push   %ebp
   16201:	89 e5                	mov    %esp,%ebp
   16203:	5d                   	pop    %ebp
   16204:	c2 08 00             	ret    $0x8
   16207:	89 f6                	mov    %esi,%esi
   16209:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016210 <_VfatFastIoQueryNetworkOpenInfo@20>:
   16210:	55                   	push   %ebp
   16211:	31 c0                	xor    %eax,%eax
   16213:	89 e5                	mov    %esp,%ebp
   16215:	5d                   	pop    %ebp
   16216:	c2 14 00             	ret    $0x14
   16219:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016220 <_VfatAcquireForModWrite@16>:
   16220:	55                   	push   %ebp
   16221:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   16226:	89 e5                	mov    %esp,%ebp
   16228:	5d                   	pop    %ebp
   16229:	c2 10 00             	ret    $0x10
   1622c:	8d 74 26 00          	lea    0x0(%esi),%esi

00016230 <_VfatMdlRead@28>:
   16230:	55                   	push   %ebp
   16231:	31 c0                	xor    %eax,%eax
   16233:	89 e5                	mov    %esp,%ebp
   16235:	5d                   	pop    %ebp
   16236:	c2 1c 00             	ret    $0x1c
   16239:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016240 <_VfatMdlReadComplete@12>:
   16240:	55                   	push   %ebp
   16241:	31 c0                	xor    %eax,%eax
   16243:	89 e5                	mov    %esp,%ebp
   16245:	5d                   	pop    %ebp
   16246:	c2 0c 00             	ret    $0xc
   16249:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016250 <_VfatPrepareMdlWrite@28>:
   16250:	55                   	push   %ebp
   16251:	31 c0                	xor    %eax,%eax
   16253:	89 e5                	mov    %esp,%ebp
   16255:	5d                   	pop    %ebp
   16256:	c2 1c 00             	ret    $0x1c
   16259:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016260 <_VfatMdlWriteComplete@16>:
   16260:	55                   	push   %ebp
   16261:	31 c0                	xor    %eax,%eax
   16263:	89 e5                	mov    %esp,%ebp
   16265:	5d                   	pop    %ebp
   16266:	c2 10 00             	ret    $0x10
   16269:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016270 <_VfatFastIoReadCompressed@40>:
   16270:	55                   	push   %ebp
   16271:	31 c0                	xor    %eax,%eax
   16273:	89 e5                	mov    %esp,%ebp
   16275:	5d                   	pop    %ebp
   16276:	c2 28 00             	ret    $0x28
   16279:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016280 <_VfatFastIoWriteCompressed@40>:
   16280:	55                   	push   %ebp
   16281:	31 c0                	xor    %eax,%eax
   16283:	89 e5                	mov    %esp,%ebp
   16285:	5d                   	pop    %ebp
   16286:	c2 28 00             	ret    $0x28
   16289:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016290 <_VfatMdlReadCompleteCompressed@12>:
   16290:	55                   	push   %ebp
   16291:	31 c0                	xor    %eax,%eax
   16293:	89 e5                	mov    %esp,%ebp
   16295:	5d                   	pop    %ebp
   16296:	c2 0c 00             	ret    $0xc
   16299:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000162a0 <_VfatMdlWriteCompleteCompressed@16>:
   162a0:	55                   	push   %ebp
   162a1:	31 c0                	xor    %eax,%eax
   162a3:	89 e5                	mov    %esp,%ebp
   162a5:	5d                   	pop    %ebp
   162a6:	c2 10 00             	ret    $0x10
   162a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000162b0 <_VfatFastIoQueryOpen@12>:
   162b0:	55                   	push   %ebp
   162b1:	31 c0                	xor    %eax,%eax
   162b3:	89 e5                	mov    %esp,%ebp
   162b5:	5d                   	pop    %ebp
   162b6:	c2 0c 00             	ret    $0xc
   162b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

000162c0 <_VfatReleaseForModWrite@12>:
   162c0:	55                   	push   %ebp
   162c1:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   162c6:	89 e5                	mov    %esp,%ebp
   162c8:	5d                   	pop    %ebp
   162c9:	c2 0c 00             	ret    $0xc
   162cc:	8d 74 26 00          	lea    0x0(%esi),%esi

000162d0 <_VfatAcquireForCcFlush@8>:
   162d0:	55                   	push   %ebp
   162d1:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   162d6:	89 e5                	mov    %esp,%ebp
   162d8:	5d                   	pop    %ebp
   162d9:	c2 08 00             	ret    $0x8
   162dc:	8d 74 26 00          	lea    0x0(%esi),%esi

000162e0 <_VfatReleaseForCcFlush@8>:
   162e0:	55                   	push   %ebp
   162e1:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
   162e6:	89 e5                	mov    %esp,%ebp
   162e8:	5d                   	pop    %ebp
   162e9:	c2 08 00             	ret    $0x8
   162ec:	8d 74 26 00          	lea    0x0(%esi),%esi

000162f0 <_VfatAcquireForLazyWrite@8>:
   162f0:	55                   	push   %ebp
   162f1:	31 c0                	xor    %eax,%eax
   162f3:	89 e5                	mov    %esp,%ebp
   162f5:	83 ec 10             	sub    $0x10,%esp
   162f8:	8a 45 0c             	mov    0xc(%ebp),%al
   162fb:	50                   	push   %eax
   162fc:	8b 45 08             	mov    0x8(%ebp),%eax
   162ff:	83 c0 34             	add    $0x34,%eax
   16302:	50                   	push   %eax
   16303:	ff 15 3c 02 02 00    	call   *0x2023c
   16309:	84 c0                	test   %al,%al
   1630b:	5a                   	pop    %edx
   1630c:	0f 95 c0             	setne  %al
   1630f:	25 ff 00 00 00       	and    $0xff,%eax
   16314:	59                   	pop    %ecx
   16315:	c9                   	leave  
   16316:	c2 08 00             	ret    $0x8
   16319:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016320 <_VfatReleaseFromLazyWrite@4>:
   16320:	55                   	push   %ebp
   16321:	89 e5                	mov    %esp,%ebp
   16323:	50                   	push   %eax
   16324:	50                   	push   %eax
   16325:	8b 4d 08             	mov    0x8(%ebp),%ecx
   16328:	83 c1 34             	add    $0x34,%ecx
   1632b:	ff 15 e8 01 02 00    	call   *0x201e8
   16331:	c9                   	leave  
   16332:	c2 04 00             	ret    $0x4
   16335:	8d 74 26 00          	lea    0x0(%esi),%esi
   16339:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016340 <_VfatAcquireForReadAhead@8>:
   16340:	55                   	push   %ebp
   16341:	31 c0                	xor    %eax,%eax
   16343:	89 e5                	mov    %esp,%ebp
   16345:	83 ec 10             	sub    $0x10,%esp
   16348:	8a 45 0c             	mov    0xc(%ebp),%al
   1634b:	50                   	push   %eax
   1634c:	8b 45 08             	mov    0x8(%ebp),%eax
   1634f:	83 c0 34             	add    $0x34,%eax
   16352:	50                   	push   %eax
   16353:	ff 15 3c 02 02 00    	call   *0x2023c
   16359:	84 c0                	test   %al,%al
   1635b:	5a                   	pop    %edx
   1635c:	0f 95 c0             	setne  %al
   1635f:	25 ff 00 00 00       	and    $0xff,%eax
   16364:	59                   	pop    %ecx
   16365:	c9                   	leave  
   16366:	c2 08 00             	ret    $0x8
   16369:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016370 <_VfatReleaseFromReadAhead@4>:
   16370:	55                   	push   %ebp
   16371:	89 e5                	mov    %esp,%ebp
   16373:	50                   	push   %eax
   16374:	50                   	push   %eax
   16375:	8b 4d 08             	mov    0x8(%ebp),%ecx
   16378:	83 c1 34             	add    $0x34,%ecx
   1637b:	ff 15 e8 01 02 00    	call   *0x201e8
   16381:	c9                   	leave  
   16382:	c2 04 00             	ret    $0x4
   16385:	8d 74 26 00          	lea    0x0(%esi),%esi
   16389:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016390 <_VfatInitFastIoRoutines>:
   16390:	55                   	push   %ebp
   16391:	89 e5                	mov    %esp,%ebp
   16393:	8b 45 08             	mov    0x8(%ebp),%eax
   16396:	c7 00 70 00 00 00    	movl   $0x70,(%eax)
   1639c:	c7 40 04 40 61 01 00 	movl   $0x16140,0x4(%eax)
   163a3:	c7 40 08 50 61 01 00 	movl   $0x16150,0x8(%eax)
   163aa:	c7 40 0c 60 61 01 00 	movl   $0x16160,0xc(%eax)
   163b1:	c7 40 10 70 61 01 00 	movl   $0x16170,0x10(%eax)
   163b8:	c7 40 14 80 61 01 00 	movl   $0x16180,0x14(%eax)
   163bf:	c7 40 18 90 61 01 00 	movl   $0x16190,0x18(%eax)
   163c6:	c7 40 1c a0 61 01 00 	movl   $0x161a0,0x1c(%eax)
   163cd:	c7 40 20 b0 61 01 00 	movl   $0x161b0,0x20(%eax)
   163d4:	c7 40 24 c0 61 01 00 	movl   $0x161c0,0x24(%eax)
   163db:	c7 40 28 d0 61 01 00 	movl   $0x161d0,0x28(%eax)
   163e2:	c7 40 2c e0 61 01 00 	movl   $0x161e0,0x2c(%eax)
   163e9:	c7 40 30 f0 61 01 00 	movl   $0x161f0,0x30(%eax)
   163f0:	c7 40 34 00 62 01 00 	movl   $0x16200,0x34(%eax)
   163f7:	c7 40 38 10 62 01 00 	movl   $0x16210,0x38(%eax)
   163fe:	c7 40 3c 20 62 01 00 	movl   $0x16220,0x3c(%eax)
   16405:	c7 40 40 30 62 01 00 	movl   $0x16230,0x40(%eax)
   1640c:	c7 40 44 40 62 01 00 	movl   $0x16240,0x44(%eax)
   16413:	c7 40 48 50 62 01 00 	movl   $0x16250,0x48(%eax)
   1641a:	c7 40 4c 60 62 01 00 	movl   $0x16260,0x4c(%eax)
   16421:	c7 40 50 70 62 01 00 	movl   $0x16270,0x50(%eax)
   16428:	c7 40 54 80 62 01 00 	movl   $0x16280,0x54(%eax)
   1642f:	c7 40 58 90 62 01 00 	movl   $0x16290,0x58(%eax)
   16436:	c7 40 5c a0 62 01 00 	movl   $0x162a0,0x5c(%eax)
   1643d:	c7 40 60 b0 62 01 00 	movl   $0x162b0,0x60(%eax)
   16444:	c7 40 64 c0 62 01 00 	movl   $0x162c0,0x64(%eax)
   1644b:	c7 40 68 d0 62 01 00 	movl   $0x162d0,0x68(%eax)
   16452:	c7 40 6c e0 62 01 00 	movl   $0x162e0,0x6c(%eax)
   16459:	5d                   	pop    %ebp
   1645a:	c3                   	ret    
   1645b:	90                   	nop    
   1645c:	90                   	nop    
   1645d:	90                   	nop    
   1645e:	90                   	nop    
   1645f:	90                   	nop    

00016460 <_vfatNameHash>:
   16460:	55                   	push   %ebp
   16461:	89 e5                	mov    %esp,%ebp
   16463:	57                   	push   %edi
   16464:	56                   	push   %esi
   16465:	53                   	push   %ebx
   16466:	83 ec 0c             	sub    $0xc,%esp
   16469:	8b 45 0c             	mov    0xc(%ebp),%eax
   1646c:	8b 75 08             	mov    0x8(%ebp),%esi
   1646f:	8b 58 04             	mov    0x4(%eax),%ebx
   16472:	66 8b 00             	mov    (%eax),%ax
   16475:	66 d1 e8             	shr    %ax
   16478:	25 ff ff 00 00       	and    $0xffff,%eax
   1647d:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
   16480:	39 fb                	cmp    %edi,%ebx
   16482:	73 39                	jae    164bd <_vfatNameHash+0x5d>
   16484:	83 ec 0c             	sub    $0xc,%esp
   16487:	66 8b 03             	mov    (%ebx),%ax
   1648a:	25 ff ff 00 00       	and    $0xffff,%eax
   1648f:	83 c3 02             	add    $0x2,%ebx
   16492:	50                   	push   %eax
   16493:	e8 b8 64 00 00       	call   1c950 <_towlower>
   16498:	89 c2                	mov    %eax,%edx
   1649a:	83 c4 10             	add    $0x10,%esp
   1649d:	66 c1 e8 04          	shr    $0x4,%ax
   164a1:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   164a7:	c1 e2 04             	shl    $0x4,%edx
   164aa:	25 ff ff 00 00       	and    $0xffff,%eax
   164af:	01 f2                	add    %esi,%edx
   164b1:	01 c2                	add    %eax,%edx
   164b3:	8d 04 92             	lea    (%edx,%edx,4),%eax
   164b6:	8d 34 42             	lea    (%edx,%eax,2),%esi
   164b9:	39 fb                	cmp    %edi,%ebx
   164bb:	72 c7                	jb     16484 <_vfatNameHash+0x24>
   164bd:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   164c0:	89 f0                	mov    %esi,%eax
   164c2:	5b                   	pop    %ebx
   164c3:	5e                   	pop    %esi
   164c4:	5f                   	pop    %edi
   164c5:	5d                   	pop    %ebp
   164c6:	c3                   	ret    
   164c7:	89 f6                	mov    %esi,%esi
   164c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000164d0 <_vfatSplitPathName>:
   164d0:	55                   	push   %ebp
   164d1:	89 e5                	mov    %esp,%ebp
   164d3:	57                   	push   %edi
   164d4:	56                   	push   %esi
   164d5:	53                   	push   %ebx
   164d6:	8b 7d 08             	mov    0x8(%ebp),%edi
   164d9:	31 db                	xor    %ebx,%ebx
   164db:	8b 75 10             	mov    0x10(%ebp),%esi
   164de:	66 8b 07             	mov    (%edi),%ax
   164e1:	8b 4f 04             	mov    0x4(%edi),%ecx
   164e4:	66 d1 e8             	shr    %ax
   164e7:	25 ff ff 00 00       	and    $0xffff,%eax
   164ec:	8d 04 41             	lea    (%ecx,%eax,2),%eax
   164ef:	8d 50 fe             	lea    0xfffffffe(%eax),%edx
   164f2:	66 83 78 fe 5c       	cmpw   $0x5c,0xfffffffe(%eax)
   164f7:	74 17                	je     16510 <_vfatSplitPathName+0x40>
   164f9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   16500:	39 d1                	cmp    %edx,%ecx
   16502:	77 0c                	ja     16510 <_vfatSplitPathName+0x40>
   16504:	83 ea 02             	sub    $0x2,%edx
   16507:	43                   	inc    %ebx
   16508:	66 83 3a 5c          	cmpw   $0x5c,(%edx)
   1650c:	75 f2                	jne    16500 <_vfatSplitPathName+0x30>
   1650e:	89 f6                	mov    %esi,%esi
   16510:	85 f6                	test   %esi,%esi
   16512:	74 16                	je     1652a <_vfatSplitPathName+0x5a>
   16514:	8d 42 02             	lea    0x2(%edx),%eax
   16517:	89 46 04             	mov    %eax,0x4(%esi)
   1651a:	89 d8                	mov    %ebx,%eax
   1651c:	25 ff ff 00 00       	and    $0xffff,%eax
   16521:	01 c0                	add    %eax,%eax
   16523:	66 89 46 02          	mov    %ax,0x2(%esi)
   16527:	66 89 06             	mov    %ax,(%esi)
   1652a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   1652d:	85 c9                	test   %ecx,%ecx
   1652f:	74 18                	je     16549 <_vfatSplitPathName+0x79>
   16531:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   16534:	8b 47 04             	mov    0x4(%edi),%eax
   16537:	89 41 04             	mov    %eax,0x4(%ecx)
   1653a:	8b 47 04             	mov    0x4(%edi),%eax
   1653d:	29 c2                	sub    %eax,%edx
   1653f:	8d 42 02             	lea    0x2(%edx),%eax
   16542:	66 89 01             	mov    %ax,(%ecx)
   16545:	66 89 41 02          	mov    %ax,0x2(%ecx)
   16549:	5b                   	pop    %ebx
   1654a:	5e                   	pop    %esi
   1654b:	5f                   	pop    %edi
   1654c:	5d                   	pop    %ebp
   1654d:	c3                   	ret    
   1654e:	89 f6                	mov    %esi,%esi

00016550 <_vfatInitFcb>:
   16550:	55                   	push   %ebp
   16551:	89 e5                	mov    %esp,%ebp
   16553:	57                   	push   %edi
   16554:	56                   	push   %esi
   16555:	53                   	push   %ebx
   16556:	83 ec 0c             	sub    $0xc,%esp
   16559:	31 ff                	xor    %edi,%edi
   1655b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1655e:	8b 75 08             	mov    0x8(%ebp),%esi
   16561:	85 db                	test   %ebx,%ebx
   16563:	74 06                	je     1656b <_vfatInitFcb+0x1b>
   16565:	66 8b 3b             	mov    (%ebx),%di
   16568:	83 c7 02             	add    $0x2,%edi
   1656b:	50                   	push   %eax
   1656c:	50                   	push   %eax
   1656d:	89 f8                	mov    %edi,%eax
   1656f:	25 ff ff 00 00       	and    $0xffff,%eax
   16574:	50                   	push   %eax
   16575:	6a 00                	push   $0x0
   16577:	ff 15 44 02 02 00    	call   *0x20244
   1657d:	89 c2                	mov    %eax,%edx
   1657f:	89 86 08 01 00 00    	mov    %eax,0x108(%esi)
   16585:	85 d2                	test   %edx,%edx
   16587:	58                   	pop    %eax
   16588:	59                   	pop    %ecx
   16589:	0f 84 a1 00 00 00    	je     16630 <_vfatInitFcb+0xe0>
   1658f:	8d 86 0c 01 00 00    	lea    0x10c(%esi),%eax
   16595:	66 c7 86 00 01 00 00 	movw   $0x0,0x100(%esi)
   1659c:	00 00 
   1659e:	89 96 04 01 00 00    	mov    %edx,0x104(%esi)
   165a4:	66 89 be 02 01 00 00 	mov    %di,0x102(%esi)
   165ab:	66 c7 86 f0 00 00 00 	movw   $0x0,0xf0(%esi)
   165b2:	00 00 
   165b4:	89 86 f4 00 00 00    	mov    %eax,0xf4(%esi)
   165ba:	66 c7 86 f2 00 00 00 	movw   $0x1a,0xf2(%esi)
   165c1:	1a 00 
   165c3:	85 db                	test   %ebx,%ebx
   165c5:	74 0a                	je     165d1 <_vfatInitFcb+0x81>
   165c7:	66 83 3b 00          	cmpw   $0x0,(%ebx)
   165cb:	0f 85 b6 00 00 00    	jne    16687 <_vfatInitFcb+0x137>
   165d1:	fc                   	cld    
   165d2:	8d be 48 01 00 00    	lea    0x148(%esi),%edi
   165d8:	b9 07 00 00 00       	mov    $0x7,%ecx
   165dd:	31 c0                	xor    %eax,%eax
   165df:	c7 86 ec 00 00 00 00 	movl   $0x0,0xec(%esi)
   165e6:	00 00 00 
   165e9:	c7 86 fc 00 00 00 00 	movl   $0x0,0xfc(%esi)
   165f0:	00 00 00 
   165f3:	66 c7 86 f8 00 00 00 	movw   $0x0,0xf8(%esi)
   165fa:	00 00 
   165fc:	66 c7 86 fa 00 00 00 	movw   $0x0,0xfa(%esi)
   16603:	00 00 
   16605:	66 c7 86 e8 00 00 00 	movw   $0x0,0xe8(%esi)
   1660c:	00 00 
   1660e:	66 c7 86 ea 00 00 00 	movw   $0x0,0xea(%esi)
   16615:	00 00 
   16617:	f3 ab                	repz stos %eax,%es:(%edi)
   16619:	c7 86 64 01 00 00 00 	movl   $0x0,0x164(%esi)
   16620:	00 00 00 
   16623:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16626:	5b                   	pop    %ebx
   16627:	5e                   	pop    %esi
   16628:	5f                   	pop    %edi
   16629:	5d                   	pop    %ebp
   1662a:	c3                   	ret    
   1662b:	90                   	nop    
   1662c:	8d 74 26 00          	lea    0x0(%esi),%esi
   16630:	51                   	push   %ecx
   16631:	6a 56                	push   $0x56
   16633:	68 b0 e1 01 00       	push   $0x1e1b0
   16638:	68 b6 e1 01 00       	push   $0x1e1b6
   1663d:	ff 15 38 02 02 00    	call   *0x20238
   16643:	58                   	pop    %eax
   16644:	5a                   	pop    %edx
   16645:	53                   	push   %ebx
   16646:	68 c0 e1 01 00       	push   $0x1e1c0
   1664b:	ff 15 38 02 02 00    	call   *0x20238
   16651:	83 c4 0c             	add    $0xc,%esp
   16654:	6a 57                	push   $0x57
   16656:	68 b0 e1 01 00       	push   $0x1e1b0
   1665b:	68 ed e1 01 00       	push   $0x1e1ed
   16660:	ff 15 38 02 02 00    	call   *0x20238
   16666:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1666d:	6a 00                	push   $0x0
   1666f:	53                   	push   %ebx
   16670:	56                   	push   %esi
   16671:	6a 00                	push   $0x0
   16673:	ff 15 dc 02 02 00    	call   *0x202dc
   16679:	8b 96 08 01 00 00    	mov    0x108(%esi),%edx
   1667f:	83 c4 0c             	add    $0xc,%esp
   16682:	e9 08 ff ff ff       	jmp    1658f <_vfatInitFcb+0x3f>
   16687:	89 96 fc 00 00 00    	mov    %edx,0xfc(%esi)
   1668d:	57                   	push   %edi
   1668e:	57                   	push   %edi
   1668f:	53                   	push   %ebx
   16690:	8d 9e 00 01 00 00    	lea    0x100(%esi),%ebx
   16696:	53                   	push   %ebx
   16697:	ff 15 14 03 02 00    	call   *0x20314
   1669d:	8d 86 e8 00 00 00    	lea    0xe8(%esi),%eax
   166a3:	8d be 48 01 00 00    	lea    0x148(%esi),%edi
   166a9:	50                   	push   %eax
   166aa:	8d 86 f8 00 00 00    	lea    0xf8(%esi),%eax
   166b0:	50                   	push   %eax
   166b1:	53                   	push   %ebx
   166b2:	e8 19 fe ff ff       	call   164d0 <_vfatSplitPathName>
   166b7:	b9 07 00 00 00       	mov    $0x7,%ecx
   166bc:	fc                   	cld    
   166bd:	31 c0                	xor    %eax,%eax
   166bf:	83 c4 14             	add    $0x14,%esp
   166c2:	f3 ab                	repz stos %eax,%es:(%edi)
   166c4:	c7 86 64 01 00 00 00 	movl   $0x0,0x164(%esi)
   166cb:	00 00 00 
   166ce:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   166d1:	5b                   	pop    %ebx
   166d2:	5e                   	pop    %esi
   166d3:	5f                   	pop    %edi
   166d4:	5d                   	pop    %ebp
   166d5:	c3                   	ret    
   166d6:	8d 76 00             	lea    0x0(%esi),%esi
   166d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000166e0 <_vfatNewFCB>:
   166e0:	55                   	push   %ebp
   166e1:	89 e5                	mov    %esp,%ebp
   166e3:	57                   	push   %edi
   166e4:	56                   	push   %esi
   166e5:	53                   	push   %ebx
   166e6:	83 ec 0c             	sub    $0xc,%esp

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   166e9:	8b 1d 10 f0 01 00    	mov    0x1f010,%ebx
   166ef:	83 c3 50             	add    $0x50,%ebx
	PVOID Entry;

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   166f2:	89 d9                	mov    %ebx,%ecx
   166f4:	8b 43 0c             	mov    0xc(%ebx),%eax
   166f7:	40                   	inc    %eax
   166f8:	89 43 0c             	mov    %eax,0xc(%ebx)
   166fb:	ff 15 f4 01 02 00    	call   *0x201f4
   16701:	89 c7                	mov    %eax,%edi
	if (Entry == NULL) {
   16703:	85 c0                	test   %eax,%eax
   16705:	0f 84 e5 00 00 00    	je     167f0 <_vfatNewFCB+0x110>
   1670b:	51                   	push   %ecx
   1670c:	68 e4 01 00 00       	push   $0x1e4
   16711:	6a 00                	push   $0x0
   16713:	57                   	push   %edi
   16714:	e8 d7 60 00 00       	call   1c7f0 <_memset>
   16719:	58                   	pop    %eax
   1671a:	8b 75 0c             	mov    0xc(%ebp),%esi
   1671d:	5a                   	pop    %edx
   1671e:	56                   	push   %esi
   1671f:	57                   	push   %edi
   16720:	e8 2b fe ff ff       	call   16550 <_vfatInitFcb>
   16725:	8b 45 08             	mov    0x8(%ebp),%eax
   16728:	83 c4 10             	add    $0x10,%esp
   1672b:	f6 80 cc 00 04 00 04 	testb  $0x4,0x400cc(%eax)
   16732:	0f 85 99 00 00 00    	jne    167d1 <_vfatNewFCB+0xf1>
   16738:	8d 87 af 00 00 00    	lea    0xaf(%edi),%eax
   1673e:	89 87 e4 00 00 00    	mov    %eax,0xe4(%edi)
   16744:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
   1674a:	51                   	push   %ecx
   1674b:	51                   	push   %ecx
   1674c:	50                   	push   %eax
   1674d:	6a 00                	push   $0x0
   1674f:	e8 0c fd ff ff       	call   16460 <_vfatNameHash>
   16754:	8d 77 6c             	lea    0x6c(%edi),%esi
   16757:	89 bf 6c 01 00 00    	mov    %edi,0x16c(%edi)
   1675d:	89 87 68 01 00 00    	mov    %eax,0x168(%edi)
   16763:	89 bf 78 01 00 00    	mov    %edi,0x178(%edi)
   16769:	89 34 24             	mov    %esi,(%esp)
   1676c:	8d 5f 34             	lea    0x34(%edi),%ebx
   1676f:	ff 15 54 02 02 00    	call   *0x20254
   16775:	53                   	push   %ebx
   16776:	ff 15 54 02 02 00    	call   *0x20254
   1677c:	58                   	pop    %eax
   1677d:	8d 87 80 01 00 00    	lea    0x180(%edi),%eax
   16783:	5a                   	pop    %edx
   16784:	6a 00                	push   $0x0
   16786:	6a 00                	push   $0x0
   16788:	50                   	push   %eax
   16789:	e8 12 61 00 00       	call   1c8a0 <_FsRtlInitializeFileLock@12>
   1678e:	c7 87 bc 01 00 00 01 	movl   $0x1,0x1bc(%edi)
   16795:	00 00 00 
   16798:	c7 87 c0 01 00 00 00 	movl   $0x0,0x1c0(%edi)
   1679f:	00 00 00 
   167a2:	c7 87 c4 01 00 00 00 	movl   $0x0,0x1c4(%edi)
   167a9:	00 00 00 
   167ac:	8d 87 c8 01 00 00    	lea    0x1c8(%edi),%eax
   167b2:	6a 00                	push   $0x0
   167b4:	6a 01                	push   $0x1
   167b6:	50                   	push   %eax
   167b7:	ff 15 e8 02 02 00    	call   *0x202e8
   167bd:	89 77 0c             	mov    %esi,0xc(%edi)
   167c0:	89 5f 08             	mov    %ebx,0x8(%edi)
   167c3:	c6 47 05 00          	movb   $0x0,0x5(%edi)
   167c7:	89 f8                	mov    %edi,%eax
   167c9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   167cc:	5b                   	pop    %ebx
   167cd:	5e                   	pop    %esi
   167ce:	5f                   	pop    %edi
   167cf:	5d                   	pop    %ebp
   167d0:	c3                   	ret    
   167d1:	8b 9f 38 01 00 00    	mov    0x138(%edi),%ebx
   167d7:	8d 87 a5 00 00 00    	lea    0xa5(%edi),%eax
   167dd:	83 cb 40             	or     $0x40,%ebx
   167e0:	89 9f 38 01 00 00    	mov    %ebx,0x138(%edi)
   167e6:	e9 53 ff ff ff       	jmp    1673e <_vfatNewFCB+0x5e>
   167eb:	90                   	nop    
   167ec:	8d 74 26 00          	lea    0x0(%esi),%esi

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   167f0:	8b 43 10             	mov    0x10(%ebx),%eax
   167f3:	40                   	inc    %eax
   167f4:	89 43 10             	mov    %eax,0x10(%ebx)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   167f7:	50                   	push   %eax
   167f8:	8b 43 20             	mov    0x20(%ebx),%eax
   167fb:	50                   	push   %eax
   167fc:	8b 7b 24             	mov    0x24(%ebx),%edi
   167ff:	57                   	push   %edi
   16800:	8b 73 1c             	mov    0x1c(%ebx),%esi
   16803:	56                   	push   %esi
   16804:	ff 53 28             	call   *0x28(%ebx)
   16807:	89 c7                	mov    %eax,%edi
   16809:	5b                   	pop    %ebx
   1680a:	31 c0                	xor    %eax,%eax
   1680c:	85 ff                	test   %edi,%edi
   1680e:	0f 85 f7 fe ff ff    	jne    1670b <_vfatNewFCB+0x2b>
   16814:	eb b3                	jmp    167c9 <_vfatNewFCB+0xe9>
   16816:	8d 76 00             	lea    0x0(%esi),%esi
   16819:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016820 <_vfatDestroyCCB>:
   16820:	55                   	push   %ebp
   16821:	89 e5                	mov    %esp,%ebp
   16823:	53                   	push   %ebx
   16824:	52                   	push   %edx
   16825:	8b 5d 08             	mov    0x8(%ebp),%ebx
   16828:	8b 43 10             	mov    0x10(%ebx),%eax
   1682b:	85 c0                	test   %eax,%eax
   1682d:	75 47                	jne    16876 <_vfatDestroyCCB+0x56>
static __inline VOID
ExFreeToNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside,
  IN PVOID  Entry)
{
   1682f:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   16835:	8d 8a a0 00 00 00    	lea    0xa0(%edx),%ecx
  Lookaside->TotalFrees++;
   1683b:	8b 41 14             	mov    0x14(%ecx),%eax
   1683e:	40                   	inc    %eax
   1683f:	89 41 14             	mov    %eax,0x14(%ecx)
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
   16842:	66 8b 41 08          	mov    0x8(%ecx),%ax
   16846:	66 39 82 a0 00 00 00 	cmp    %ax,0xa0(%edx)
   1684d:	73 11                	jae    16860 <_vfatDestroyCCB+0x40>
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   1684f:	a1 f8 01 02 00       	mov    0x201f8,%eax
   16854:	89 da                	mov    %ebx,%edx
   16856:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   16859:	c9                   	leave  
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   1685a:	ff e0                	jmp    *%eax
   1685c:	8d 74 26 00          	lea    0x0(%esi),%esi
   16860:	8b 41 18             	mov    0x18(%ecx),%eax
   16863:	83 ec 0c             	sub    $0xc,%esp
   16866:	40                   	inc    %eax
   16867:	89 41 18             	mov    %eax,0x18(%ecx)
   1686a:	53                   	push   %ebx
   1686b:	ff 51 2c             	call   *0x2c(%ecx)
   1686e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
{
  Lookaside->TotalFrees++;
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
   16871:	83 c4 0c             	add    $0xc,%esp
   16874:	c9                   	leave  
   16875:	c3                   	ret    
   16876:	83 ec 0c             	sub    $0xc,%esp
   16879:	50                   	push   %eax
   1687a:	ff 15 4c 02 02 00    	call   *0x2024c
   16880:	83 c4 0c             	add    $0xc,%esp
   16883:	eb aa                	jmp    1682f <_vfatDestroyCCB+0xf>
   16885:	8d 74 26 00          	lea    0x0(%esi),%esi
   16889:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016890 <_vfatDestroyFCB>:
   16890:	55                   	push   %ebp
   16891:	89 e5                	mov    %esp,%ebp
   16893:	53                   	push   %ebx
   16894:	83 ec 10             	sub    $0x10,%esp
   16897:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1689a:	8d 83 80 01 00 00    	lea    0x180(%ebx),%eax
   168a0:	50                   	push   %eax
   168a1:	e8 1a 60 00 00       	call   1c8c0 <_FsRtlUninitializeFileLock@4>
   168a6:	8b 83 08 01 00 00    	mov    0x108(%ebx),%eax
   168ac:	50                   	push   %eax
   168ad:	ff 15 4c 02 02 00    	call   *0x2024c
   168b3:	8d 43 6c             	lea    0x6c(%ebx),%eax
   168b6:	50                   	push   %eax
   168b7:	ff 15 48 02 02 00    	call   *0x20248
   168bd:	8d 43 34             	lea    0x34(%ebx),%eax
   168c0:	50                   	push   %eax
   168c1:	ff 15 48 02 02 00    	call   *0x20248
static __inline VOID
ExFreeToNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside,
  IN PVOID  Entry)
{
   168c7:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   168cd:	83 c4 0c             	add    $0xc,%esp
   168d0:	8d 4a 50             	lea    0x50(%edx),%ecx
  Lookaside->TotalFrees++;
   168d3:	8b 41 14             	mov    0x14(%ecx),%eax
   168d6:	40                   	inc    %eax
   168d7:	89 41 14             	mov    %eax,0x14(%ecx)
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
   168da:	66 8b 41 08          	mov    0x8(%ecx),%ax
   168de:	66 39 42 50          	cmp    %ax,0x50(%edx)
   168e2:	73 0d                	jae    168f1 <_vfatDestroyFCB+0x61>
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   168e4:	a1 f8 01 02 00       	mov    0x201f8,%eax
   168e9:	89 da                	mov    %ebx,%edx
   168eb:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   168ee:	c9                   	leave  
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   168ef:	ff e0                	jmp    *%eax
   168f1:	8b 41 18             	mov    0x18(%ecx),%eax
   168f4:	83 ec 0c             	sub    $0xc,%esp
   168f7:	40                   	inc    %eax
   168f8:	89 41 18             	mov    %eax,0x18(%ecx)
   168fb:	53                   	push   %ebx
   168fc:	ff 51 2c             	call   *0x2c(%ecx)
   168ff:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
{
  Lookaside->TotalFrees++;
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
   16902:	83 c4 0c             	add    $0xc,%esp
   16905:	c9                   	leave  
   16906:	c3                   	ret    
   16907:	89 f6                	mov    %esi,%esi
   16909:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016910 <_vfatFCBIsDirectory>:
   16910:	55                   	push   %ebp
   16911:	89 e5                	mov    %esp,%ebp
   16913:	8b 45 08             	mov    0x8(%ebp),%eax
   16916:	5d                   	pop    %ebp
   16917:	8b 80 e4 00 00 00    	mov    0xe4(%eax),%eax
   1691d:	8a 00                	mov    (%eax),%al
   1691f:	25 ff 00 00 00       	and    $0xff,%eax
   16924:	83 e0 10             	and    $0x10,%eax
   16927:	c3                   	ret    
   16928:	90                   	nop    
   16929:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016930 <_vfatFCBIsRoot>:
   16930:	55                   	push   %ebp
   16931:	31 d2                	xor    %edx,%edx
   16933:	89 e5                	mov    %esp,%ebp
   16935:	8b 45 08             	mov    0x8(%ebp),%eax
   16938:	66 83 b8 00 01 00 00 	cmpw   $0x2,0x100(%eax)
   1693f:	02 
   16940:	74 04                	je     16946 <_vfatFCBIsRoot+0x16>
   16942:	89 d0                	mov    %edx,%eax
   16944:	5d                   	pop    %ebp
   16945:	c3                   	ret    
   16946:	8b 80 04 01 00 00    	mov    0x104(%eax),%eax
   1694c:	66 83 38 5c          	cmpw   $0x5c,(%eax)
   16950:	75 f0                	jne    16942 <_vfatFCBIsRoot+0x12>
   16952:	b2 01                	mov    $0x1,%dl
   16954:	5d                   	pop    %ebp
   16955:	89 d0                	mov    %edx,%eax
   16957:	c3                   	ret    
   16958:	90                   	nop    
   16959:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00016960 <_vfatReleaseFCB>:
   16960:	55                   	push   %ebp
   16961:	89 e5                	mov    %esp,%ebp
   16963:	57                   	push   %edi
   16964:	56                   	push   %esi
   16965:	53                   	push   %ebx
   16966:	83 ec 0c             	sub    $0xc,%esp
   16969:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1696c:	85 db                	test   %ebx,%ebx
   1696e:	74 30                	je     169a0 <_vfatReleaseFCB+0x40>
   16970:	8b 83 68 01 00 00    	mov    0x168(%ebx),%eax
   16976:	25 ff ff 00 00       	and    $0xffff,%eax
   1697b:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1697e:	8b 83 74 01 00 00    	mov    0x174(%ebx),%eax
   16984:	0f b7 f0             	movzwl %ax,%esi
   16987:	8b 83 28 01 00 00    	mov    0x128(%ebx),%eax
   1698d:	48                   	dec    %eax
   1698e:	89 83 28 01 00 00    	mov    %eax,0x128(%ebx)
   16994:	85 c0                	test   %eax,%eax
   16996:	7e 10                	jle    169a8 <_vfatReleaseFCB+0x48>
   16998:	31 ff                	xor    %edi,%edi
   1699a:	89 fb                	mov    %edi,%ebx
   1699c:	85 db                	test   %ebx,%ebx
   1699e:	75 d0                	jne    16970 <_vfatReleaseFCB+0x10>
   169a0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   169a3:	5b                   	pop    %ebx
   169a4:	5e                   	pop    %esi
   169a5:	5f                   	pop    %edi
   169a6:	5d                   	pop    %ebp
   169a7:	c3                   	ret    
   169a8:	53                   	push   %ebx
   169a9:	e8 62 ff ff ff       	call   16910 <_vfatFCBIsDirectory>
   169ae:	59                   	pop    %ecx
   169af:	84 c0                	test   %al,%al
   169b1:	74 09                	je     169bc <_vfatReleaseFCB+0x5c>
   169b3:	f6 83 38 01 00 00 02 	testb  $0x2,0x138(%ebx)
   169ba:	74 dc                	je     16998 <_vfatReleaseFCB+0x38>
  PLIST_ENTRY OldFlink;
  PLIST_ENTRY OldBlink;

  OldFlink = Entry->Flink;
  OldBlink = Entry->Blink;
   169bc:	8b 83 30 01 00 00    	mov    0x130(%ebx),%eax
   169c2:	8b 93 2c 01 00 00    	mov    0x12c(%ebx),%edx
   169c8:	8b bb 34 01 00 00    	mov    0x134(%ebx),%edi
  PLIST_ENTRY OldBlink;

  OldFlink = Entry->Flink;
  OldBlink = Entry->Blink;
  OldFlink->Blink = OldBlink;
   169ce:	89 42 04             	mov    %eax,0x4(%edx)
  OldBlink->Flink = OldFlink;
   169d1:	89 10                	mov    %edx,(%eax)
   169d3:	8b 83 74 01 00 00    	mov    0x174(%ebx),%eax
   169d9:	39 83 68 01 00 00    	cmp    %eax,0x168(%ebx)
   169df:	74 24                	je     16a05 <_vfatReleaseFCB+0xa5>
   169e1:	8b 45 08             	mov    0x8(%ebp),%eax
   169e4:	8b 54 b0 7c          	mov    0x7c(%eax,%esi,4),%edx
   169e8:	39 5a 04             	cmp    %ebx,0x4(%edx)
   169eb:	75 07                	jne    169f4 <_vfatReleaseFCB+0x94>
   169ed:	e9 ba 00 00 00       	jmp    16aac <_vfatReleaseFCB+0x14c>
   169f2:	89 c2                	mov    %eax,%edx
   169f4:	8b 42 08             	mov    0x8(%edx),%eax
   169f7:	39 58 04             	cmp    %ebx,0x4(%eax)
   169fa:	75 f6                	jne    169f2 <_vfatReleaseFCB+0x92>
   169fc:	8b 83 7c 01 00 00    	mov    0x17c(%ebx),%eax
   16a02:	89 42 08             	mov    %eax,0x8(%edx)
   16a05:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   16a08:	8b 45 08             	mov    0x8(%ebp),%eax
   16a0b:	8b 54 88 7c          	mov    0x7c(%eax,%ecx,4),%edx
   16a0f:	39 5a 04             	cmp    %ebx,0x4(%edx)
   16a12:	75 04                	jne    16a18 <_vfatReleaseFCB+0xb8>
   16a14:	eb 76                	jmp    16a8c <_vfatReleaseFCB+0x12c>
   16a16:	89 c2                	mov    %eax,%edx
   16a18:	8b 42 08             	mov    0x8(%edx),%eax
   16a1b:	39 58 04             	cmp    %ebx,0x4(%eax)
   16a1e:	75 f6                	jne    16a16 <_vfatReleaseFCB+0xb6>
   16a20:	8b 83 70 01 00 00    	mov    0x170(%ebx),%eax
   16a26:	89 42 08             	mov    %eax,0x8(%edx)
   16a29:	53                   	push   %ebx
   16a2a:	e8 e1 fe ff ff       	call   16910 <_vfatFCBIsDirectory>
   16a2f:	5a                   	pop    %edx
   16a30:	84 c0                	test   %al,%al
   16a32:	74 45                	je     16a79 <_vfatReleaseFCB+0x119>
   16a34:	8b 93 3c 01 00 00    	mov    0x13c(%ebx),%edx
   16a3a:	8b 42 14             	mov    0x14(%edx),%eax
   16a3d:	8b 40 04             	mov    0x4(%eax),%eax
   16a40:	85 c0                	test   %eax,%eax
   16a42:	75 54                	jne    16a98 <_vfatReleaseFCB+0x138>
   16a44:	83 ec 0c             	sub    $0xc,%esp
   16a47:	8b 42 10             	mov    0x10(%edx),%eax
   16a4a:	50                   	push   %eax
   16a4b:	e8 d0 fd ff ff       	call   16820 <_vfatDestroyCCB>
   16a50:	8b 83 3c 01 00 00    	mov    0x13c(%ebx),%eax
   16a56:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
   16a5d:	8b 83 3c 01 00 00    	mov    0x13c(%ebx),%eax
   16a63:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
   16a6a:	8b 8b 3c 01 00 00    	mov    0x13c(%ebx),%ecx
   16a70:	ff 15 04 02 02 00    	call   *0x20204
   16a76:	83 c4 10             	add    $0x10,%esp
   16a79:	83 ec 0c             	sub    $0xc,%esp
   16a7c:	53                   	push   %ebx
   16a7d:	e8 0e fe ff ff       	call   16890 <_vfatDestroyFCB>
   16a82:	89 fb                	mov    %edi,%ebx
   16a84:	83 c4 10             	add    $0x10,%esp
   16a87:	e9 10 ff ff ff       	jmp    1699c <_vfatReleaseFCB+0x3c>
   16a8c:	8b 42 08             	mov    0x8(%edx),%eax
   16a8f:	8b 55 08             	mov    0x8(%ebp),%edx
   16a92:	89 44 8a 7c          	mov    %eax,0x7c(%edx,%ecx,4)
   16a96:	eb 91                	jmp    16a29 <_vfatReleaseFCB+0xc9>
   16a98:	83 ec 0c             	sub    $0xc,%esp
   16a9b:	52                   	push   %edx
   16a9c:	e8 3f 5b 00 00       	call   1c5e0 <_CcRosReleaseFileCache@4>
   16aa1:	8b 93 3c 01 00 00    	mov    0x13c(%ebx),%edx
   16aa7:	83 c4 0c             	add    $0xc,%esp
   16aaa:	eb 98                	jmp    16a44 <_vfatReleaseFCB+0xe4>
   16aac:	8b 42 08             	mov    0x8(%edx),%eax
   16aaf:	8b 55 08             	mov    0x8(%ebp),%edx
   16ab2:	89 44 b2 7c          	mov    %eax,0x7c(%edx,%esi,4)
   16ab6:	e9 4a ff ff ff       	jmp    16a05 <_vfatReleaseFCB+0xa5>
   16abb:	90                   	nop    
   16abc:	8d 74 26 00          	lea    0x0(%esi),%esi

00016ac0 <_vfatAddFCBToTable>:
   16ac0:	55                   	push   %ebp
   16ac1:	89 e5                	mov    %esp,%ebp
   16ac3:	57                   	push   %edi
   16ac4:	56                   	push   %esi
   16ac5:	53                   	push   %ebx
   16ac6:	57                   	push   %edi
   16ac7:	8b 75 0c             	mov    0xc(%ebp),%esi
   16aca:	8b 7d 08             	mov    0x8(%ebp),%edi
   16acd:	8b 86 74 01 00 00    	mov    0x174(%esi),%eax
static __inline VOID
InsertTailList(
  IN PLIST_ENTRY  ListHead,
  IN PLIST_ENTRY  Entry)
{ 
   16ad3:	8d 57 74             	lea    0x74(%edi),%edx
   16ad6:	25 ff ff 00 00       	and    $0xffff,%eax
   16adb:	8b 9e 68 01 00 00    	mov    0x168(%esi),%ebx
   16ae1:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
static __inline VOID
InsertTailList(
  IN PLIST_ENTRY  ListHead,
  IN PLIST_ENTRY  Entry)
{ 
   16ae4:	8d 86 2c 01 00 00    	lea    0x12c(%esi),%eax
  PLIST_ENTRY OldBlink;
  OldBlink = ListHead->Blink;
   16aea:	8b 4a 04             	mov    0x4(%edx),%ecx
   16aed:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
{ 
  PLIST_ENTRY OldBlink;
  OldBlink = ListHead->Blink;
  Entry->Flink = ListHead;
  Entry->Blink = OldBlink;
   16af3:	89 48 04             	mov    %ecx,0x4(%eax)
   16af6:	89 96 2c 01 00 00    	mov    %edx,0x12c(%esi)
  OldBlink->Flink = Entry;
  ListHead->Blink = Entry;
   16afc:	89 42 04             	mov    %eax,0x4(%edx)
   16aff:	89 01                	mov    %eax,(%ecx)
   16b01:	8b 44 9f 7c          	mov    0x7c(%edi,%ebx,4),%eax
   16b05:	89 86 70 01 00 00    	mov    %eax,0x170(%esi)
   16b0b:	8d 86 68 01 00 00    	lea    0x168(%esi),%eax
   16b11:	89 44 9f 7c          	mov    %eax,0x7c(%edi,%ebx,4)
   16b15:	8b 86 74 01 00 00    	mov    0x174(%esi),%eax
   16b1b:	39 86 68 01 00 00    	cmp    %eax,0x168(%esi)
   16b21:	74 17                	je     16b3a <_vfatAddFCBToTable+0x7a>
   16b23:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
   16b26:	8b 44 97 7c          	mov    0x7c(%edi,%edx,4),%eax
   16b2a:	89 86 7c 01 00 00    	mov    %eax,0x17c(%esi)
   16b30:	8d 86 74 01 00 00    	lea    0x174(%esi),%eax
   16b36:	89 44 97 7c          	mov    %eax,0x7c(%edi,%edx,4)
   16b3a:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
   16b40:	85 c0                	test   %eax,%eax
   16b42:	74 0d                	je     16b51 <_vfatAddFCBToTable+0x91>
   16b44:	8b b0 28 01 00 00    	mov    0x128(%eax),%esi
   16b4a:	46                   	inc    %esi
   16b4b:	89 b0 28 01 00 00    	mov    %esi,0x128(%eax)
   16b51:	5b                   	pop    %ebx
   16b52:	5b                   	pop    %ebx
   16b53:	5e                   	pop    %esi
   16b54:	5f                   	pop    %edi
   16b55:	5d                   	pop    %ebp
   16b56:	c3                   	ret    
   16b57:	89 f6                	mov    %esi,%esi
   16b59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016b60 <_vfatGrabFCBFromTable>:
   16b60:	55                   	push   %ebp
   16b61:	89 e5                	mov    %esp,%ebp
   16b63:	57                   	push   %edi
   16b64:	56                   	push   %esi
   16b65:	53                   	push   %ebx
   16b66:	83 ec 24             	sub    $0x24,%esp
   16b69:	8b 7d 0c             	mov    0xc(%ebp),%edi
   16b6c:	57                   	push   %edi
   16b6d:	6a 00                	push   $0x0
   16b6f:	e8 ec f8 ff ff       	call   16460 <_vfatNameHash>
   16b74:	83 c4 10             	add    $0x10,%esp
   16b77:	89 c2                	mov    %eax,%edx
   16b79:	89 c6                	mov    %eax,%esi
   16b7b:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   16b81:	8b 45 08             	mov    0x8(%ebp),%eax
   16b84:	8b 5c 90 7c          	mov    0x7c(%eax,%edx,4),%ebx
   16b88:	85 db                	test   %ebx,%ebx
   16b8a:	74 74                	je     16c00 <_vfatGrabFCBFromTable+0xa0>
   16b8c:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   16b8f:	50                   	push   %eax
   16b90:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   16b93:	50                   	push   %eax
   16b94:	57                   	push   %edi
   16b95:	e8 36 f9 ff ff       	call   164d0 <_vfatSplitPathName>
   16b9a:	83 c4 0c             	add    $0xc,%esp
   16b9d:	eb 08                	jmp    16ba7 <_vfatGrabFCBFromTable+0x47>
   16b9f:	90                   	nop    
   16ba0:	8b 5b 08             	mov    0x8(%ebx),%ebx
   16ba3:	85 db                	test   %ebx,%ebx
   16ba5:	74 59                	je     16c00 <_vfatGrabFCBFromTable+0xa0>
   16ba7:	39 33                	cmp    %esi,(%ebx)
   16ba9:	75 f5                	jne    16ba0 <_vfatGrabFCBFromTable+0x40>
   16bab:	8b 7b 04             	mov    0x4(%ebx),%edi
   16bae:	51                   	push   %ecx
   16baf:	6a 01                	push   $0x1
   16bb1:	8d 87 f8 00 00 00    	lea    0xf8(%edi),%eax
   16bb7:	50                   	push   %eax
   16bb8:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   16bbb:	50                   	push   %eax
   16bbc:	ff 15 1c 03 02 00    	call   *0x2031c
   16bc2:	5a                   	pop    %edx
   16bc3:	84 c0                	test   %al,%al
   16bc5:	74 d9                	je     16ba0 <_vfatGrabFCBFromTable+0x40>
   16bc7:	8d 87 e8 00 00 00    	lea    0xe8(%edi),%eax
   16bcd:	39 b7 68 01 00 00    	cmp    %esi,0x168(%edi)
   16bd3:	74 06                	je     16bdb <_vfatGrabFCBFromTable+0x7b>
   16bd5:	8d 87 f0 00 00 00    	lea    0xf0(%edi),%eax
   16bdb:	51                   	push   %ecx
   16bdc:	6a 01                	push   $0x1
   16bde:	50                   	push   %eax
   16bdf:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   16be2:	50                   	push   %eax
   16be3:	ff 15 1c 03 02 00    	call   *0x2031c
   16be9:	5a                   	pop    %edx
   16bea:	84 c0                	test   %al,%al
   16bec:	74 b2                	je     16ba0 <_vfatGrabFCBFromTable+0x40>
   16bee:	8b 87 28 01 00 00    	mov    0x128(%edi),%eax
   16bf4:	40                   	inc    %eax
   16bf5:	89 87 28 01 00 00    	mov    %eax,0x128(%edi)
   16bfb:	89 f8                	mov    %edi,%eax
   16bfd:	eb 03                	jmp    16c02 <_vfatGrabFCBFromTable+0xa2>
   16bff:	90                   	nop    
   16c00:	31 c0                	xor    %eax,%eax
   16c02:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16c05:	5b                   	pop    %ebx
   16c06:	5e                   	pop    %esi
   16c07:	5f                   	pop    %edi
   16c08:	5d                   	pop    %ebp
   16c09:	c3                   	ret    
   16c0a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00016c10 <_vfatFCBInitializeCacheFromVolume>:
   16c10:	55                   	push   %ebp
   16c11:	89 e5                	mov    %esp,%ebp
   16c13:	57                   	push   %edi
   16c14:	56                   	push   %esi
   16c15:	53                   	push   %ebx
   16c16:	83 ec 14             	sub    $0x14,%esp
   16c19:	8b 45 08             	mov    0x8(%ebp),%eax
   16c1c:	8b 75 0c             	mov    0xc(%ebp),%esi
   16c1f:	8b 98 7c 00 04 00    	mov    0x4007c(%eax),%ebx
   16c25:	53                   	push   %ebx
   16c26:	6a 00                	push   $0x0
   16c28:	e8 d3 5c 00 00       	call   1c900 <_IoCreateStreamFileObject@8>

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   16c2d:	8b 3d 10 f0 01 00    	mov    0x1f010,%edi
   16c33:	81 c7 a0 00 00 00    	add    $0xa0,%edi
   16c39:	89 c3                	mov    %eax,%ebx

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   16c3b:	5a                   	pop    %edx
   16c3c:	59                   	pop    %ecx
	PVOID Entry;

	Lookaside->TotalAllocates++;
   16c3d:	8b 47 0c             	mov    0xc(%edi),%eax
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   16c40:	89 f9                	mov    %edi,%ecx
   16c42:	40                   	inc    %eax
   16c43:	89 47 0c             	mov    %eax,0xc(%edi)
   16c46:	ff 15 f4 01 02 00    	call   *0x201f4
   16c4c:	89 c2                	mov    %eax,%edx
	if (Entry == NULL) {
   16c4e:	85 c0                	test   %eax,%eax
   16c50:	0f 84 a8 00 00 00    	je     16cfe <_vfatFCBInitializeCacheFromVolume+0xee>
   16c56:	fc                   	cld    
   16c57:	31 c0                	xor    %eax,%eax
   16c59:	89 d7                	mov    %edx,%edi
   16c5b:	b9 06 00 00 00       	mov    $0x6,%ecx
   16c60:	f3 ab                	repz stos %eax,%es:(%edi)
   16c62:	8d 46 28             	lea    0x28(%esi),%eax
   16c65:	89 73 0c             	mov    %esi,0xc(%ebx)
   16c68:	89 43 14             	mov    %eax,0x14(%ebx)
   16c6b:	89 53 10             	mov    %edx,0x10(%ebx)
   16c6e:	89 9e 3c 01 00 00    	mov    %ebx,0x13c(%esi)
   16c74:	8b 55 08             	mov    0x8(%ebp),%edx
   16c77:	8b 82 ac 00 04 00    	mov    0x400ac(%edx),%eax
   16c7d:	3d 00 10 00 00       	cmp    $0x1000,%eax
   16c82:	72 2c                	jb     16cb0 <_vfatFCBInitializeCacheFromVolume+0xa0>
   16c84:	51                   	push   %ecx
   16c85:	51                   	push   %ecx
   16c86:	50                   	push   %eax
   16c87:	53                   	push   %ebx
   16c88:	e8 83 5c 00 00       	call   1c910 <_CcRosInitializeFileCache@8>
   16c8d:	89 c3                	mov    %eax,%ebx
   16c8f:	58                   	pop    %eax
   16c90:	85 db                	test   %ebx,%ebx
   16c92:	5a                   	pop    %edx
   16c93:	78 31                	js     16cc6 <_vfatFCBInitializeCacheFromVolume+0xb6>
   16c95:	8b be 38 01 00 00    	mov    0x138(%esi),%edi
   16c9b:	89 d8                	mov    %ebx,%eax
   16c9d:	83 cf 01             	or     $0x1,%edi
   16ca0:	89 be 38 01 00 00    	mov    %edi,0x138(%esi)
   16ca6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16ca9:	5b                   	pop    %ebx
   16caa:	5e                   	pop    %esi
   16cab:	5f                   	pop    %edi
   16cac:	5d                   	pop    %ebp
   16cad:	c3                   	ret    
   16cae:	89 f6                	mov    %esi,%esi
   16cb0:	b8 00 10 00 00       	mov    $0x1000,%eax
   16cb5:	51                   	push   %ecx
   16cb6:	51                   	push   %ecx
   16cb7:	50                   	push   %eax
   16cb8:	53                   	push   %ebx
   16cb9:	e8 52 5c 00 00       	call   1c910 <_CcRosInitializeFileCache@8>
   16cbe:	89 c3                	mov    %eax,%ebx
   16cc0:	58                   	pop    %eax
   16cc1:	85 db                	test   %ebx,%ebx
   16cc3:	5a                   	pop    %edx
   16cc4:	79 cf                	jns    16c95 <_vfatFCBInitializeCacheFromVolume+0x85>
   16cc6:	83 ec 0c             	sub    $0xc,%esp
   16cc9:	68 04 e2 01 00       	push   $0x1e204
   16cce:	ff 15 38 02 02 00    	call   *0x20238
   16cd4:	83 c4 0c             	add    $0xc,%esp
   16cd7:	68 6e 01 00 00       	push   $0x16e
   16cdc:	68 b0 e1 01 00       	push   $0x1e1b0
   16ce1:	68 25 e2 01 00       	push   $0x1e225
   16ce6:	ff 15 38 02 02 00    	call   *0x20238
   16cec:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   16cf3:	ff 15 d8 02 02 00    	call   *0x202d8
   16cf9:	83 c4 0c             	add    $0xc,%esp
   16cfc:	eb 97                	jmp    16c95 <_vfatFCBInitializeCacheFromVolume+0x85>

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   16cfe:	8b 47 10             	mov    0x10(%edi),%eax
   16d01:	40                   	inc    %eax
   16d02:	89 47 10             	mov    %eax,0x10(%edi)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   16d05:	50                   	push   %eax
   16d06:	8b 47 20             	mov    0x20(%edi),%eax
   16d09:	50                   	push   %eax
   16d0a:	8b 47 24             	mov    0x24(%edi),%eax
   16d0d:	50                   	push   %eax
   16d0e:	8b 47 1c             	mov    0x1c(%edi),%eax
   16d11:	50                   	push   %eax
   16d12:	ff 57 28             	call   *0x28(%edi)
   16d15:	89 c2                	mov    %eax,%edx
   16d17:	5f                   	pop    %edi
   16d18:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   16d1d:	85 d2                	test   %edx,%edx
   16d1f:	0f 85 31 ff ff ff    	jne    16c56 <_vfatFCBInitializeCacheFromVolume+0x46>
   16d25:	e9 7c ff ff ff       	jmp    16ca6 <_vfatFCBInitializeCacheFromVolume+0x96>
   16d2a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00016d30 <_vfatMakeRootFCB>:
   16d30:	55                   	push   %ebp
   16d31:	89 e5                	mov    %esp,%ebp
   16d33:	57                   	push   %edi
   16d34:	56                   	push   %esi
   16d35:	53                   	push   %ebx
   16d36:	83 ec 24             	sub    $0x24,%esp
   16d39:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   16d3c:	8b 75 08             	mov    0x8(%ebp),%esi
   16d3f:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   16d46:	50                   	push   %eax
   16d47:	66 c7 45 e8 02 00    	movw   $0x2,0xffffffe8(%ebp)
   16d4d:	56                   	push   %esi
   16d4e:	66 c7 45 ea 04 00    	movw   $0x4,0xffffffea(%ebp)
   16d54:	c7 45 ec 3a e2 01 00 	movl   $0x1e23a,0xffffffec(%ebp)
   16d5b:	e8 80 f9 ff ff       	call   166e0 <_vfatNewFCB>
   16d60:	83 c4 10             	add    $0x10,%esp
   16d63:	89 c3                	mov    %eax,%ebx
   16d65:	f6 80 38 01 00 00 40 	testb  $0x40,0x138(%eax)
   16d6c:	0f 85 14 01 00 00    	jne    16e86 <_vfatMakeRootFCB+0x156>
   16d72:	c7 80 a4 00 00 00 20 	movl   $0x20202020,0xa4(%eax)
   16d79:	20 20 20 
   16d7c:	c7 80 a8 00 00 00 20 	movl   $0x20202020,0xa8(%eax)
   16d83:	20 20 20 
   16d86:	66 c7 80 ac 00 00 00 	movw   $0x2020,0xac(%eax)
   16d8d:	20 20 
   16d8f:	c6 80 ae 00 00 00 20 	movb   $0x20,0xae(%eax)
   16d96:	8b 86 a8 00 04 00    	mov    0x400a8(%esi),%eax
   16d9c:	8b be 94 00 04 00    	mov    0x40094(%esi),%edi
   16da2:	0f af c7             	imul   %edi,%eax
   16da5:	c6 83 af 00 00 00 10 	movb   $0x10,0xaf(%ebx)
   16dac:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
   16db2:	83 be b4 00 04 00 03 	cmpl   $0x3,0x400b4(%esi)
   16db9:	74 75                	je     16e30 <_vfatMakeRootFCB+0x100>
   16dbb:	66 c7 83 be 00 00 00 	movw   $0x1,0xbe(%ebx)
   16dc2:	01 00 
   16dc4:	8b 86 a8 00 04 00    	mov    0x400a8(%esi),%eax
   16dca:	8b 96 94 00 04 00    	mov    0x40094(%esi),%edx
   16dd0:	0f af c2             	imul   %edx,%eax
   16dd3:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   16dd6:	8b 83 68 01 00 00    	mov    0x168(%ebx),%eax
   16ddc:	c7 83 28 01 00 00 02 	movl   $0x2,0x128(%ebx)
   16de3:	00 00 00 
   16de6:	89 83 74 01 00 00    	mov    %eax,0x174(%ebx)
   16dec:	c7 83 40 01 00 00 00 	movl   $0x0,0x140(%ebx)
   16df3:	00 00 00 
   16df6:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   16df9:	31 d2                	xor    %edx,%edx
   16dfb:	89 53 1c             	mov    %edx,0x1c(%ebx)
   16dfe:	89 53 24             	mov    %edx,0x24(%ebx)
   16e01:	89 53 14             	mov    %edx,0x14(%ebx)
   16e04:	89 43 18             	mov    %eax,0x18(%ebx)
   16e07:	89 43 20             	mov    %eax,0x20(%ebx)
   16e0a:	89 43 10             	mov    %eax,0x10(%ebx)
   16e0d:	c6 43 05 00          	movb   $0x0,0x5(%ebx)
   16e11:	57                   	push   %edi
   16e12:	57                   	push   %edi
   16e13:	53                   	push   %ebx
   16e14:	56                   	push   %esi
   16e15:	e8 f6 fd ff ff       	call   16c10 <_vfatFCBInitializeCacheFromVolume>
   16e1a:	53                   	push   %ebx
   16e1b:	56                   	push   %esi
   16e1c:	e8 9f fc ff ff       	call   16ac0 <_vfatAddFCBToTable>
   16e21:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   16e24:	89 d8                	mov    %ebx,%eax
   16e26:	5b                   	pop    %ebx
   16e27:	5e                   	pop    %esi
   16e28:	5f                   	pop    %edi
   16e29:	5d                   	pop    %ebp
   16e2a:	c3                   	ret    
   16e2b:	90                   	nop    
   16e2c:	8d 74 26 00          	lea    0x0(%esi),%esi
   16e30:	8b be a0 00 04 00    	mov    0x400a0(%esi),%edi
   16e36:	89 f8                	mov    %edi,%eax
   16e38:	89 7d e4             	mov    %edi,0xffffffe4(%ebp)
   16e3b:	c1 e8 10             	shr    $0x10,%eax
   16e3e:	66 89 bb be 00 00 00 	mov    %di,0xbe(%ebx)
   16e45:	66 89 83 b8 00 00 00 	mov    %ax,0xb8(%ebx)
   16e4c:	83 7d e4 ff          	cmpl   $0xffffffff,0xffffffe4(%ebp)
   16e50:	eb 2d                	jmp    16e7f <_vfatMakeRootFCB+0x14f>
   16e52:	8b 86 ac 00 04 00    	mov    0x400ac(%esi),%eax
   16e58:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
   16e5b:	01 c1                	add    %eax,%ecx
   16e5d:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
   16e60:	6a 00                	push   $0x0
   16e62:	89 4d e0             	mov    %ecx,0xffffffe0(%ebp)
   16e65:	50                   	push   %eax
   16e66:	57                   	push   %edi
   16e67:	56                   	push   %esi
   16e68:	e8 f3 1b 00 00       	call   18a60 <_NextCluster>
   16e6d:	83 c4 10             	add    $0x10,%esp
   16e70:	83 7d e4 ff          	cmpl   $0xffffffff,0xffffffe4(%ebp)
   16e74:	0f 95 c2             	setne  %dl
   16e77:	83 f0 ff             	xor    $0xffffffff,%eax
   16e7a:	c1 e8 1f             	shr    $0x1f,%eax
   16e7d:	85 c2                	test   %eax,%edx
   16e7f:	75 d1                	jne    16e52 <_vfatMakeRootFCB+0x122>
   16e81:	e9 50 ff ff ff       	jmp    16dd6 <_vfatMakeRootFCB+0xa6>
   16e86:	8d 80 a6 00 00 00    	lea    0xa6(%eax),%eax
   16e8c:	57                   	push   %edi
   16e8d:	6a 2a                	push   $0x2a
   16e8f:	6a 20                	push   $0x20
   16e91:	50                   	push   %eax
   16e92:	e8 59 59 00 00       	call   1c7f0 <_memset>
   16e97:	8b 86 a8 00 04 00    	mov    0x400a8(%esi),%eax
   16e9d:	8b 8e 94 00 04 00    	mov    0x40094(%esi),%ecx
   16ea3:	c6 83 a5 00 00 00 10 	movb   $0x10,0xa5(%ebx)
   16eaa:	0f af c1             	imul   %ecx,%eax
   16ead:	c7 83 d0 00 00 00 01 	movl   $0x1,0xd0(%ebx)
   16eb4:	00 00 00 
   16eb7:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
   16ebd:	8b 86 a8 00 04 00    	mov    0x400a8(%esi),%eax
   16ec3:	8b 96 94 00 04 00    	mov    0x40094(%esi),%edx
   16ec9:	0f af c2             	imul   %edx,%eax
   16ecc:	83 c4 10             	add    $0x10,%esp
   16ecf:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   16ed2:	e9 ff fe ff ff       	jmp    16dd6 <_vfatMakeRootFCB+0xa6>
   16ed7:	89 f6                	mov    %esi,%esi
   16ed9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00016ee0 <_vfatOpenRootFCB>:
   16ee0:	55                   	push   %ebp
   16ee1:	89 e5                	mov    %esp,%ebp
   16ee3:	53                   	push   %ebx
   16ee4:	83 ec 1c             	sub    $0x1c,%esp
   16ee7:	8b 5d 08             	mov    0x8(%ebp),%ebx
   16eea:	66 c7 45 f0 02 00    	movw   $0x2,0xfffffff0(%ebp)
   16ef0:	66 c7 45 f2 04 00    	movw   $0x4,0xfffffff2(%ebp)
   16ef6:	c7 45 f4 3a e2 01 00 	movl   $0x1e23a,0xfffffff4(%ebp)
   16efd:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   16f00:	50                   	push   %eax
   16f01:	53                   	push   %ebx
   16f02:	e8 59 fc ff ff       	call   16b60 <_vfatGrabFCBFromTable>
   16f07:	83 c4 10             	add    $0x10,%esp
   16f0a:	85 c0                	test   %eax,%eax
   16f0c:	74 05                	je     16f13 <_vfatOpenRootFCB+0x33>
   16f0e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   16f11:	c9                   	leave  
   16f12:	c3                   	ret    
   16f13:	83 ec 0c             	sub    $0xc,%esp
   16f16:	53                   	push   %ebx
   16f17:	e8 14 fe ff ff       	call   16d30 <_vfatMakeRootFCB>
   16f1c:	83 c4 10             	add    $0x10,%esp
   16f1f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   16f22:	c9                   	leave  
   16f23:	c3                   	ret    
   16f24:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   16f2a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00016f30 <_vfatMakeFCBFromDirEntry>:
   16f30:	55                   	push   %ebp
   16f31:	89 e5                	mov    %esp,%ebp
   16f33:	57                   	push   %edi
   16f34:	56                   	push   %esi
   16f35:	53                   	push   %ebx
   16f36:	83 ec 2c             	sub    $0x2c,%esp
   16f39:	8b 55 0c             	mov    0xc(%ebp),%edx
   16f3c:	8b 5d 10             	mov    0x10(%ebp),%ebx
   16f3f:	66 8b 82 00 01 00 00 	mov    0x100(%edx),%ax
   16f46:	66 8b 53 48          	mov    0x48(%ebx),%dx
   16f4a:	89 c1                	mov    %eax,%ecx
   16f4c:	66 8b 43 50          	mov    0x50(%ebx),%ax
   16f50:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   16f56:	66 39 c2             	cmp    %ax,%dx
   16f59:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
   16f5c:	77 03                	ja     16f61 <_vfatMakeFCBFromDirEntry+0x31>
   16f5e:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
   16f61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   16f64:	51                   	push   %ecx
   16f65:	e8 c6 f9 ff ff       	call   16930 <_vfatFCBIsRoot>
   16f6a:	5a                   	pop    %edx
   16f6b:	84 c0                	test   %al,%al
   16f6d:	75 03                	jne    16f72 <_vfatMakeFCBFromDirEntry+0x42>
   16f6f:	83 c3 02             	add    $0x2,%ebx
   16f72:	66 81 fb 00 02       	cmp    $0x200,%bx
   16f77:	b8 33 00 00 c0       	mov    $0xc0000033,%eax
   16f7c:	0f 87 db 01 00 00    	ja     1715d <_vfatMakeFCBFromDirEntry+0x22d>
   16f82:	89 d8                	mov    %ebx,%eax
   16f84:	25 ff ff 00 00       	and    $0xffff,%eax
   16f89:	57                   	push   %edi
   16f8a:	83 c0 02             	add    $0x2,%eax
   16f8d:	57                   	push   %edi
   16f8e:	50                   	push   %eax
   16f8f:	6a 00                	push   $0x0
   16f91:	ff 15 44 02 02 00    	call   *0x20244
   16f97:	59                   	pop    %ecx
   16f98:	5e                   	pop    %esi
   16f99:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   16f9c:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   16fa1:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   16fa4:	85 d2                	test   %edx,%edx
   16fa6:	0f 84 b1 01 00 00    	je     1715d <_vfatMakeFCBFromDirEntry+0x22d>
   16fac:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   16faf:	66 89 5d ea          	mov    %bx,0xffffffea(%ebp)
   16fb3:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   16fb6:	8b 45 0c             	mov    0xc(%ebp),%eax
   16fb9:	05 00 01 00 00       	add    $0x100,%eax
   16fbe:	8d 75 e8             	lea    0xffffffe8(%ebp),%esi
   16fc1:	66 c7 45 e8 00 00    	movw   $0x0,0xffffffe8(%ebp)
   16fc7:	57                   	push   %edi
   16fc8:	57                   	push   %edi
   16fc9:	50                   	push   %eax
   16fca:	56                   	push   %esi
   16fcb:	ff 15 14 03 02 00    	call   *0x20314
   16fd1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   16fd4:	53                   	push   %ebx
   16fd5:	e8 56 f9 ff ff       	call   16930 <_vfatFCBIsRoot>
   16fda:	83 c4 0c             	add    $0xc,%esp
   16fdd:	84 c0                	test   %al,%al
   16fdf:	0f 84 3f 02 00 00    	je     17224 <_vfatMakeFCBFromDirEntry+0x2f4>
   16fe5:	50                   	push   %eax
   16fe6:	50                   	push   %eax
   16fe7:	56                   	push   %esi
   16fe8:	6a 00                	push   $0x0
   16fea:	e8 71 f4 ff ff       	call   16460 <_vfatNameHash>
   16fef:	8b 55 10             	mov    0x10(%ebp),%edx
   16ff2:	83 c4 10             	add    $0x10,%esp
   16ff5:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   16ff8:	66 83 7a 48 00       	cmpw   $0x0,0x48(%edx)
   16ffd:	0f 85 62 01 00 00    	jne    17165 <_vfatMakeFCBFromDirEntry+0x235>
   17003:	8b 5d 10             	mov    0x10(%ebp),%ebx
   17006:	83 c3 50             	add    $0x50,%ebx
   17009:	51                   	push   %ecx
   1700a:	89 5d d0             	mov    %ebx,0xffffffd0(%ebp)
   1700d:	51                   	push   %ecx
   1700e:	53                   	push   %ebx
   1700f:	56                   	push   %esi
   17010:	ff 15 08 03 02 00    	call   *0x20308
   17016:	58                   	pop    %eax
   17017:	5a                   	pop    %edx
   17018:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1701b:	8b 56 04             	mov    0x4(%esi),%edx
   1701e:	66 d1 e8             	shr    %ax
   17021:	25 ff ff 00 00       	and    $0xffff,%eax
   17026:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   1702c:	50                   	push   %eax
   1702d:	50                   	push   %eax
   1702e:	8b 45 08             	mov    0x8(%ebp),%eax
   17031:	56                   	push   %esi
   17032:	50                   	push   %eax
   17033:	e8 a8 f6 ff ff       	call   166e0 <_vfatNewFCB>
   17038:	8b 75 10             	mov    0x10(%ebp),%esi
   1703b:	89 c3                	mov    %eax,%ebx
   1703d:	fc                   	cld    
   1703e:	8d 80 a4 00 00 00    	lea    0xa4(%eax),%eax
   17044:	83 c6 08             	add    $0x8,%esi
   17047:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   1704a:	89 c7                	mov    %eax,%edi
   1704c:	b9 10 00 00 00       	mov    $0x10,%ecx
   17051:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   17053:	5e                   	pop    %esi
   17054:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
   17057:	5f                   	pop    %edi
   17058:	8d b3 f0 00 00 00    	lea    0xf0(%ebx),%esi
   1705e:	51                   	push   %ecx
   1705f:	56                   	push   %esi
   17060:	ff 15 14 03 02 00    	call   *0x20314
   17066:	58                   	pop    %eax
   17067:	5a                   	pop    %edx
   17068:	8b 55 08             	mov    0x8(%ebp),%edx
   1706b:	f6 82 cc 00 04 00 04 	testb  $0x4,0x400cc(%edx)
   17072:	0f 84 18 01 00 00    	je     17190 <_vfatMakeFCBFromDirEntry+0x260>
   17078:	8b 83 68 01 00 00    	mov    0x168(%ebx),%eax
   1707e:	89 83 74 01 00 00    	mov    %eax,0x174(%ebx)
   17084:	53                   	push   %ebx
   17085:	e8 86 f8 ff ff       	call   16910 <_vfatFCBIsDirectory>
   1708a:	5a                   	pop    %edx
   1708b:	84 c0                	test   %al,%al
   1708d:	0f 85 21 01 00 00    	jne    171b4 <_vfatMakeFCBFromDirEntry+0x284>
   17093:	8b 93 38 01 00 00    	mov    0x138(%ebx),%edx
   17099:	f6 c2 40             	test   $0x40,%dl
   1709c:	0f 84 e2 00 00 00    	je     17184 <_vfatMakeFCBFromDirEntry+0x254>
   170a2:	8b bb d4 00 00 00    	mov    0xd4(%ebx),%edi
   170a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
   170ab:	83 e2 40             	and    $0x40,%edx
   170ae:	8b 41 04             	mov    0x4(%ecx),%eax
   170b1:	89 83 40 01 00 00    	mov    %eax,0x140(%ebx)
   170b7:	8b 01                	mov    (%ecx),%eax
   170b9:	89 83 44 01 00 00    	mov    %eax,0x144(%ebx)
   170bf:	74 2f                	je     170f0 <_vfatMakeFCBFromDirEntry+0x1c0>
   170c1:	8b 45 0c             	mov    0xc(%ebp),%eax
   170c4:	50                   	push   %eax
   170c5:	e8 66 f8 ff ff       	call   16930 <_vfatFCBIsRoot>
   170ca:	5e                   	pop    %esi
   170cb:	84 c0                	test   %al,%al
   170cd:	75 21                	jne    170f0 <_vfatMakeFCBFromDirEntry+0x1c0>
   170cf:	8b 55 10             	mov    0x10(%ebp),%edx
   170d2:	8b 42 04             	mov    0x4(%edx),%eax
   170d5:	83 e8 02             	sub    $0x2,%eax
   170d8:	89 83 40 01 00 00    	mov    %eax,0x140(%ebx)
   170de:	8b 02                	mov    (%edx),%eax
   170e0:	83 e8 02             	sub    $0x2,%eax
   170e3:	89 83 44 01 00 00    	mov    %eax,0x144(%ebx)
   170e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   170f0:	31 d2                	xor    %edx,%edx
   170f2:	89 7b 18             	mov    %edi,0x18(%ebx)
   170f5:	89 53 1c             	mov    %edx,0x1c(%ebx)
   170f8:	89 53 24             	mov    %edx,0x24(%ebx)
   170fb:	89 7b 20             	mov    %edi,0x20(%ebx)
   170fe:	31 d2                	xor    %edx,%edx
   17100:	8b 45 08             	mov    0x8(%ebp),%eax
   17103:	8b 88 ac 00 04 00    	mov    0x400ac(%eax),%ecx
   17109:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
   17110:	8d 44 39 ff          	lea    0xffffffff(%ecx,%edi,1),%eax
   17114:	f7 f1                	div    %ecx
   17116:	0f af c1             	imul   %ecx,%eax
   17119:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
   1711f:	89 43 10             	mov    %eax,0x10(%ebx)
   17122:	41                   	inc    %ecx
   17123:	89 8b 28 01 00 00    	mov    %ecx,0x128(%ebx)
   17129:	53                   	push   %ebx
   1712a:	e8 e1 f7 ff ff       	call   16910 <_vfatFCBIsDirectory>
   1712f:	5a                   	pop    %edx
   17130:	84 c0                	test   %al,%al
   17132:	0f 85 d8 00 00 00    	jne    17210 <_vfatMakeFCBFromDirEntry+0x2e0>
   17138:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   1713b:	89 8b 34 01 00 00    	mov    %ecx,0x134(%ebx)
   17141:	53                   	push   %ebx
   17142:	8b 45 08             	mov    0x8(%ebp),%eax
   17145:	50                   	push   %eax
   17146:	e8 75 f9 ff ff       	call   16ac0 <_vfatAddFCBToTable>
   1714b:	8b 45 14             	mov    0x14(%ebp),%eax
   1714e:	89 18                	mov    %ebx,(%eax)
   17150:	50                   	push   %eax
   17151:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   17154:	50                   	push   %eax
   17155:	ff 15 4c 02 02 00    	call   *0x2024c
   1715b:	31 c0                	xor    %eax,%eax
   1715d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17160:	5b                   	pop    %ebx
   17161:	5e                   	pop    %esi
   17162:	5f                   	pop    %edi
   17163:	5d                   	pop    %ebp
   17164:	c3                   	ret    
   17165:	50                   	push   %eax
   17166:	50                   	push   %eax
   17167:	89 d0                	mov    %edx,%eax
   17169:	83 c0 48             	add    $0x48,%eax
   1716c:	50                   	push   %eax
   1716d:	56                   	push   %esi
   1716e:	ff 15 08 03 02 00    	call   *0x20308
   17174:	8b 4d 10             	mov    0x10(%ebp),%ecx
   17177:	5b                   	pop    %ebx
   17178:	83 c1 50             	add    $0x50,%ecx
   1717b:	5f                   	pop    %edi
   1717c:	89 4d d0             	mov    %ecx,0xffffffd0(%ebp)
   1717f:	e9 94 fe ff ff       	jmp    17018 <_vfatMakeFCBFromDirEntry+0xe8>
   17184:	8b bb c0 00 00 00    	mov    0xc0(%ebx),%edi
   1718a:	e9 19 ff ff ff       	jmp    170a8 <_vfatMakeFCBFromDirEntry+0x178>
   1718f:	90                   	nop    
   17190:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   17193:	57                   	push   %edi
   17194:	57                   	push   %edi
   17195:	56                   	push   %esi
   17196:	51                   	push   %ecx
   17197:	e8 c4 f2 ff ff       	call   16460 <_vfatNameHash>
   1719c:	83 c4 10             	add    $0x10,%esp
   1719f:	89 83 74 01 00 00    	mov    %eax,0x174(%ebx)
   171a5:	53                   	push   %ebx
   171a6:	e8 65 f7 ff ff       	call   16910 <_vfatFCBIsDirectory>
   171ab:	5a                   	pop    %edx
   171ac:	84 c0                	test   %al,%al
   171ae:	0f 84 df fe ff ff    	je     17093 <_vfatMakeFCBFromDirEntry+0x163>
   171b4:	8b 75 d4             	mov    0xffffffd4(%ebp),%esi
   171b7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   171ba:	50                   	push   %eax
   171bb:	50                   	push   %eax
   171bc:	56                   	push   %esi
   171bd:	51                   	push   %ecx
   171be:	e8 9d c2 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   171c3:	31 ff                	xor    %edi,%edi
   171c5:	83 c4 10             	add    $0x10,%esp
   171c8:	89 c6                	mov    %eax,%esi
   171ca:	83 f8 01             	cmp    $0x1,%eax
   171cd:	74 6a                	je     17239 <_vfatMakeFCBFromDirEntry+0x309>
   171cf:	85 c0                	test   %eax,%eax
   171d1:	74 2e                	je     17201 <_vfatMakeFCBFromDirEntry+0x2d1>
   171d3:	83 f8 ff             	cmp    $0xffffffff,%eax
   171d6:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   171d9:	eb 24                	jmp    171ff <_vfatMakeFCBFromDirEntry+0x2cf>
   171db:	90                   	nop    
   171dc:	8d 74 26 00          	lea    0x0(%esi),%esi
   171e0:	8b 45 08             	mov    0x8(%ebp),%eax
   171e3:	8b 90 ac 00 04 00    	mov    0x400ac(%eax),%edx
   171e9:	6a 00                	push   $0x0
   171eb:	01 d7                	add    %edx,%edi
   171ed:	8d 55 e4             	lea    0xffffffe4(%ebp),%edx
   171f0:	52                   	push   %edx
   171f1:	56                   	push   %esi
   171f2:	50                   	push   %eax
   171f3:	e8 68 18 00 00       	call   18a60 <_NextCluster>
   171f8:	83 c4 10             	add    $0x10,%esp
   171fb:	83 7d e4 ff          	cmpl   $0xffffffff,0xffffffe4(%ebp)
   171ff:	75 df                	jne    171e0 <_vfatMakeFCBFromDirEntry+0x2b0>
   17201:	8b 93 38 01 00 00    	mov    0x138(%ebx),%edx
   17207:	e9 9c fe ff ff       	jmp    170a8 <_vfatMakeFCBFromDirEntry+0x178>
   1720c:	8d 74 26 00          	lea    0x0(%esi),%esi
   17210:	50                   	push   %eax
   17211:	50                   	push   %eax
   17212:	8b 45 08             	mov    0x8(%ebp),%eax
   17215:	53                   	push   %ebx
   17216:	50                   	push   %eax
   17217:	e8 f4 f9 ff ff       	call   16c10 <_vfatFCBInitializeCacheFromVolume>
   1721c:	83 c4 10             	add    $0x10,%esp
   1721f:	e9 14 ff ff ff       	jmp    17138 <_vfatMakeFCBFromDirEntry+0x208>
   17224:	51                   	push   %ecx
   17225:	51                   	push   %ecx
   17226:	68 3a e2 01 00       	push   $0x1e23a
   1722b:	56                   	push   %esi
   1722c:	ff 15 0c 03 02 00    	call   *0x2030c
   17232:	58                   	pop    %eax
   17233:	5a                   	pop    %edx
   17234:	e9 ac fd ff ff       	jmp    16fe5 <_vfatMakeFCBFromDirEntry+0xb5>
   17239:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1723c:	8b 81 a8 00 04 00    	mov    0x400a8(%ecx),%eax
   17242:	8b b9 94 00 04 00    	mov    0x40094(%ecx),%edi
   17248:	0f af f8             	imul   %eax,%edi
   1724b:	eb b4                	jmp    17201 <_vfatMakeFCBFromDirEntry+0x2d1>
   1724d:	8d 76 00             	lea    0x0(%esi),%esi

00017250 <_vfatAttachFCBToFileObject>:
   17250:	55                   	push   %ebp
   17251:	89 e5                	mov    %esp,%ebp
   17253:	57                   	push   %edi
   17254:	56                   	push   %esi
   17255:	53                   	push   %ebx
   17256:	83 ec 0c             	sub    $0xc,%esp

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   17259:	8b 3d 10 f0 01 00    	mov    0x1f010,%edi
   1725f:	8b 75 0c             	mov    0xc(%ebp),%esi

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   17262:	81 c7 a0 00 00 00    	add    $0xa0,%edi
   17268:	8b 5d 10             	mov    0x10(%ebp),%ebx
{
	PVOID Entry;

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   1726b:	89 f9                	mov    %edi,%ecx
   1726d:	8b 47 0c             	mov    0xc(%edi),%eax
   17270:	40                   	inc    %eax
   17271:	89 47 0c             	mov    %eax,0xc(%edi)
   17274:	ff 15 f4 01 02 00    	call   *0x201f4
   1727a:	89 c2                	mov    %eax,%edx
	if (Entry == NULL) {
   1727c:	85 c0                	test   %eax,%eax
   1727e:	74 22                	je     172a2 <_vfatAttachFCBToFileObject+0x52>
   17280:	fc                   	cld    
   17281:	31 c0                	xor    %eax,%eax
   17283:	b9 06 00 00 00       	mov    $0x6,%ecx
   17288:	89 d7                	mov    %edx,%edi
   1728a:	f3 ab                	repz stos %eax,%es:(%edi)
   1728c:	8d 46 28             	lea    0x28(%esi),%eax
   1728f:	89 73 0c             	mov    %esi,0xc(%ebx)
   17292:	89 43 14             	mov    %eax,0x14(%ebx)
   17295:	89 53 10             	mov    %edx,0x10(%ebx)
   17298:	31 c0                	xor    %eax,%eax
   1729a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1729d:	5b                   	pop    %ebx
   1729e:	5e                   	pop    %esi
   1729f:	5f                   	pop    %edi
   172a0:	5d                   	pop    %ebp
   172a1:	c3                   	ret    

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   172a2:	8b 47 10             	mov    0x10(%edi),%eax
   172a5:	40                   	inc    %eax
   172a6:	89 47 10             	mov    %eax,0x10(%edi)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   172a9:	50                   	push   %eax
   172aa:	8b 47 20             	mov    0x20(%edi),%eax
   172ad:	50                   	push   %eax
   172ae:	8b 47 24             	mov    0x24(%edi),%eax
   172b1:	50                   	push   %eax
   172b2:	8b 47 1c             	mov    0x1c(%edi),%eax
   172b5:	50                   	push   %eax
   172b6:	ff 57 28             	call   *0x28(%edi)
   172b9:	89 c2                	mov    %eax,%edx
   172bb:	5f                   	pop    %edi
   172bc:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   172c1:	85 d2                	test   %edx,%edx
   172c3:	75 bb                	jne    17280 <_vfatAttachFCBToFileObject+0x30>
   172c5:	eb d3                	jmp    1729a <_vfatAttachFCBToFileObject+0x4a>
   172c7:	89 f6                	mov    %esi,%esi
   172c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

000172d0 <_vfatDirFindFile>:
   172d0:	55                   	push   %ebp
   172d1:	89 e5                	mov    %esp,%ebp
   172d3:	57                   	push   %edi
   172d4:	56                   	push   %esi
   172d5:	53                   	push   %ebx
   172d6:	81 ec ac 02 00 00    	sub    $0x2ac,%esp
   172dc:	8d 85 78 fd ff ff    	lea    0xfffffd78(%ebp),%eax
   172e2:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   172e5:	8b 75 08             	mov    0x8(%ebp),%esi
   172e8:	8d 85 58 fd ff ff    	lea    0xfffffd58(%ebp),%eax
   172ee:	bf 01 00 00 00       	mov    $0x1,%edi
   172f3:	c7 85 50 fd ff ff 00 	movl   $0x0,0xfffffd50(%ebp)
   172fa:	00 00 00 
   172fd:	c7 85 54 fd ff ff 00 	movl   $0x0,0xfffffd54(%ebp)
   17304:	00 00 00 
   17307:	c6 85 4f fd ff ff 00 	movb   $0x0,0xfffffd4f(%ebp)
   1730e:	c7 45 8c 00 00 00 00 	movl   $0x0,0xffffff8c(%ebp)
   17315:	66 c7 45 d0 00 00    	movw   $0x0,0xffffffd0(%ebp)
   1731b:	66 c7 45 d2 08 02    	movw   $0x208,0xffffffd2(%ebp)
   17321:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   17324:	66 c7 45 d8 00 00    	movw   $0x0,0xffffffd8(%ebp)
   1732a:	66 c7 45 da 1a 00    	movw   $0x1a,0xffffffda(%ebp)
   17330:	eb 3c                	jmp    1736e <_vfatDirFindFile+0x9e>
   17332:	31 c0                	xor    %eax,%eax
   17334:	8a 45 91             	mov    0xffffff91(%ebp),%al
   17337:	83 e0 1f             	and    $0x1f,%eax
   1733a:	83 f8 08             	cmp    $0x8,%eax
   1733d:	74 28                	je     17367 <_vfatDirFindFile+0x97>
   1733f:	8d 45 d0             	lea    0xffffffd0(%ebp),%eax
   17342:	52                   	push   %edx
   17343:	6a 01                	push   $0x1
   17345:	50                   	push   %eax
   17346:	8b 45 10             	mov    0x10(%ebp),%eax
   17349:	50                   	push   %eax
   1734a:	ff 15 1c 03 02 00    	call   *0x2031c
   17350:	88 c3                	mov    %al,%bl
   17352:	58                   	pop    %eax
   17353:	84 db                	test   %bl,%bl
   17355:	0f 84 95 00 00 00    	je     173f0 <_vfatDirFindFile+0x120>
   1735b:	0a 9d 4f fd ff ff    	or     0xfffffd4f(%ebp),%bl
   17361:	0f 85 ad 00 00 00    	jne    17414 <_vfatDirFindFile+0x144>
   17367:	8b 55 8c             	mov    0xffffff8c(%ebp),%edx
   1736a:	42                   	inc    %edx
   1736b:	89 55 8c             	mov    %edx,0xffffff8c(%ebp)
   1736e:	83 ec 0c             	sub    $0xc,%esp
   17371:	89 f8                	mov    %edi,%eax
   17373:	25 ff 00 00 00       	and    $0xff,%eax
   17378:	31 ff                	xor    %edi,%edi
   1737a:	50                   	push   %eax
   1737b:	8d 45 88             	lea    0xffffff88(%ebp),%eax
   1737e:	50                   	push   %eax
   1737f:	8d 85 54 fd ff ff    	lea    0xfffffd54(%ebp),%eax
   17385:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   17388:	51                   	push   %ecx
   17389:	50                   	push   %eax
   1738a:	8d 85 50 fd ff ff    	lea    0xfffffd50(%ebp),%eax
   17390:	50                   	push   %eax
   17391:	ff 96 e0 00 04 00    	call   *0x400e0(%esi)
   17397:	83 c4 20             	add    $0x20,%esp
   1739a:	89 c3                	mov    %eax,%ebx
   1739c:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
   173a1:	0f 84 98 00 00 00    	je     1743f <_vfatDirFindFile+0x16f>
   173a7:	85 c0                	test   %eax,%eax
   173a9:	0f 88 86 00 00 00    	js     17435 <_vfatDirFindFile+0x165>
   173af:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   173b2:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   173b5:	66 d1 e8             	shr    %ax
   173b8:	25 ff ff 00 00       	and    $0xffff,%eax
   173bd:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   173c3:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   173c6:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   173c9:	66 d1 e8             	shr    %ax
   173cc:	25 ff ff 00 00       	and    $0xffff,%eax
   173d1:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
   173d7:	f6 86 cc 00 04 00 04 	testb  $0x4,0x400cc(%esi)
   173de:	0f 85 4e ff ff ff    	jne    17332 <_vfatDirFindFile+0x62>
   173e4:	31 c0                	xor    %eax,%eax
   173e6:	8a 45 9b             	mov    0xffffff9b(%ebp),%al
   173e9:	e9 49 ff ff ff       	jmp    17337 <_vfatDirFindFile+0x67>
   173ee:	89 f6                	mov    %esi,%esi
   173f0:	50                   	push   %eax
   173f1:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   173f4:	6a 01                	push   $0x1
   173f6:	50                   	push   %eax
   173f7:	8b 45 10             	mov    0x10(%ebp),%eax
   173fa:	50                   	push   %eax
   173fb:	ff 15 1c 03 02 00    	call   *0x2031c
   17401:	88 85 4f fd ff ff    	mov    %al,0xfffffd4f(%ebp)
   17407:	58                   	pop    %eax
   17408:	0a 9d 4f fd ff ff    	or     0xfffffd4f(%ebp),%bl
   1740e:	0f 84 53 ff ff ff    	je     17367 <_vfatDirFindFile+0x97>
   17414:	8b 45 14             	mov    0x14(%ebp),%eax
   17417:	50                   	push   %eax
   17418:	8d 45 88             	lea    0xffffff88(%ebp),%eax
   1741b:	50                   	push   %eax
   1741c:	8b 7d 0c             	mov    0xc(%ebp),%edi
   1741f:	57                   	push   %edi
   17420:	56                   	push   %esi
   17421:	e8 0a fb ff ff       	call   16f30 <_vfatMakeFCBFromDirEntry>
   17426:	5e                   	pop    %esi
   17427:	8b 8d 50 fd ff ff    	mov    0xfffffd50(%ebp),%ecx
   1742d:	89 c3                	mov    %eax,%ebx
   1742f:	51                   	push   %ecx
   17430:	e8 4b 52 00 00       	call   1c680 <_CcUnpinData@4>
   17435:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17438:	89 d8                	mov    %ebx,%eax
   1743a:	5b                   	pop    %ebx
   1743b:	5e                   	pop    %esi
   1743c:	5f                   	pop    %edi
   1743d:	5d                   	pop    %ebp
   1743e:	c3                   	ret    
   1743f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17442:	b8 34 00 00 c0       	mov    $0xc0000034,%eax
   17447:	5b                   	pop    %ebx
   17448:	5e                   	pop    %esi
   17449:	5f                   	pop    %edi
   1744a:	5d                   	pop    %ebp
   1744b:	c3                   	ret    
   1744c:	8d 74 26 00          	lea    0x0(%esi),%esi

00017450 <_vfatGetFCBForFile>:
   17450:	55                   	push   %ebp
   17451:	89 e5                	mov    %esp,%ebp
   17453:	57                   	push   %edi
   17454:	56                   	push   %esi
   17455:	53                   	push   %ebx
   17456:	83 ec 3c             	sub    $0x3c,%esp
   17459:	66 c7 45 e8 02 00    	movw   $0x2,0xffffffe8(%ebp)
   1745f:	8b 45 0c             	mov    0xc(%ebp),%eax
   17462:	66 c7 45 ea 04 00    	movw   $0x4,0xffffffea(%ebp)
   17468:	c7 45 ec 3a e2 01 00 	movl   $0x1e23a,0xffffffec(%ebp)
   1746f:	8b 38                	mov    (%eax),%edi
   17471:	85 ff                	test   %edi,%edi
   17473:	0f 84 0e 02 00 00    	je     17687 <_vfatGetFCBForFile+0x237>
   17479:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1747c:	89 7d dc             	mov    %edi,0xffffffdc(%ebp)
   1747f:	31 ff                	xor    %edi,%edi
   17481:	8b 51 04             	mov    0x4(%ecx),%edx
   17484:	8d 5a fe             	lea    0xfffffffe(%edx),%ebx
   17487:	89 5d d4             	mov    %ebx,0xffffffd4(%ebp)
   1748a:	66 8b 01             	mov    (%ecx),%ax
   1748d:	66 d1 e8             	shr    %ax
   17490:	25 ff ff 00 00       	and    $0xffff,%eax
   17495:	8d 74 42 fe          	lea    0xfffffffe(%edx,%eax,2),%esi
   17499:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  }

  while (curr <= last)
    {
      if (parentFCB)
        {
          vfatReleaseFCB (pVCB, parentFCB);
          parentFCB = 0;
        }
      //  fail if element in FCB is not a directory
      if (!vfatFCBIsDirectory (FCB))
        {
          DPRINT ("Element in requested path is not a directory\n");

          vfatReleaseFCB (pVCB, FCB);
          FCB = NULL;
          *pParentFCB = NULL;
          *pFCB = NULL;

          return  STATUS_OBJECT_PATH_NOT_FOUND;
	}
      parentFCB = FCB;
      if (prev < curr)
        {
	  Length = (curr - prev) * sizeof(WCHAR);
	  if (Length != parentFCB->LongNameU.Length)
	    {
	      if (pFileNameU->Length + parentFCB->LongNameU.Length - Length > pFileNameU->MaximumLength)
	        {
		  vfatReleaseFCB (pVCB, parentFCB);
		  return STATUS_OBJECT_NAME_INVALID;
		}
	      RtlMoveMemory(prev + parentFCB->LongNameU.Length / sizeof(WCHAR), curr, 
		      pFileNameU->Length - (curr - pFileNameU->Buffer) * sizeof(WCHAR));
	      pFileNameU->Length += (USHORT)(parentFCB->LongNameU.Length - Length);
	      curr = prev + parentFCB->LongNameU.Length / sizeof(WCHAR);
              last = pFileNameU->Buffer + pFileNameU->Length / sizeof(WCHAR) - 1;
	    }
	  RtlCopyMemory(prev, parentFCB->LongNameU.Buffer, parentFCB->LongNameU.Length);
	}
      curr++;      
      prev = curr;
      while (*curr != L'\\' && curr <= last)
        {
	  curr++;
	}
      NameU.Buffer = pFileNameU->Buffer;
      NameU.Length = (curr - NameU.Buffer) * sizeof(WCHAR);
      NameU.MaximumLength = pFileNameU->MaximumLength;
      DPRINT("%wZ\n", &NameU);
      FCB = vfatGrabFCBFromTable(pVCB, &NameU);
      if (FCB == NULL)
        {
	  NameU.Buffer = prev;
          NameU.MaximumLength = NameU.Length = (curr - prev) * sizeof(WCHAR);
	  status = vfatDirFindFile(pVCB, parentFCB, &NameU, &FCB);
          if (status == STATUS_OBJECT_NAME_NOT_FOUND)
            {
              *pFCB = NULL;
	      if (curr > last)
	        {
                  *pParentFCB = parentFCB;
                  return  STATUS_OBJECT_NAME_NOT_FOUND;
		}
              else
                {
                  vfatReleaseFCB (pVCB, parentFCB);
		  *pParentFCB = NULL;
                  return  STATUS_OBJECT_PATH_NOT_FOUND;
                }
	    }
          else if (!NT_SUCCESS (status))
            {
              vfatReleaseFCB (pVCB, parentFCB);
              *pParentFCB = NULL;
              *pFCB = NULL;

              return  status;
   174a0:	39 f3                	cmp    %esi,%ebx
   174a2:	0f 87 c8 01 00 00    	ja     17670 <_vfatGetFCBForFile+0x220>
   174a8:	85 ff                	test   %edi,%edi
   174aa:	74 0f                	je     174bb <_vfatGetFCBForFile+0x6b>
   174ac:	8b 4d 08             	mov    0x8(%ebp),%ecx
   174af:	50                   	push   %eax
   174b0:	50                   	push   %eax
   174b1:	57                   	push   %edi
   174b2:	51                   	push   %ecx
   174b3:	e8 a8 f4 ff ff       	call   16960 <_vfatReleaseFCB>
   174b8:	83 c4 10             	add    $0x10,%esp
   174bb:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   174be:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   174c1:	50                   	push   %eax
   174c2:	e8 49 f4 ff ff       	call   16910 <_vfatFCBIsDirectory>
   174c7:	5a                   	pop    %edx
   174c8:	84 c0                	test   %al,%al
   174ca:	0f 84 10 02 00 00    	je     176e0 <_vfatGetFCBForFile+0x290>
   174d0:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   174d3:	39 5d d4             	cmp    %ebx,0xffffffd4(%ebp)
   174d6:	0f 83 d0 00 00 00    	jae    175ac <_vfatGetFCBForFile+0x15c>
   174dc:	89 da                	mov    %ebx,%edx
   174de:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   174e1:	29 c2                	sub    %eax,%edx
   174e3:	89 55 d0             	mov    %edx,0xffffffd0(%ebp)
   174e6:	66 8b 8f e8 00 00 00 	mov    0xe8(%edi),%cx
   174ed:	89 ca                	mov    %ecx,%edx
   174ef:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   174f5:	3b 55 d0             	cmp    0xffffffd0(%ebp),%edx
   174f8:	0f 84 92 00 00 00    	je     17590 <_vfatGetFCBForFile+0x140>
   174fe:	8b 75 14             	mov    0x14(%ebp),%esi
   17501:	66 8b 06             	mov    (%esi),%ax
   17504:	89 c6                	mov    %eax,%esi
   17506:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   17509:	81 e6 ff ff 00 00    	and    $0xffff,%esi
   1750f:	8d 14 16             	lea    (%esi,%edx,1),%edx
   17512:	29 c2                	sub    %eax,%edx
   17514:	8b 45 14             	mov    0x14(%ebp),%eax
   17517:	66 8b 40 02          	mov    0x2(%eax),%ax
   1751b:	66 89 45 c6          	mov    %ax,0xffffffc6(%ebp)
   1751f:	25 ff ff 00 00       	and    $0xffff,%eax
   17524:	39 c2                	cmp    %eax,%edx
   17526:	0f 87 15 02 00 00    	ja     17741 <_vfatGetFCBForFile+0x2f1>
   1752c:	66 d1 e9             	shr    %cx
   1752f:	8b 55 14             	mov    0x14(%ebp),%edx
   17532:	50                   	push   %eax
   17533:	89 d8                	mov    %ebx,%eax
   17535:	2b 42 04             	sub    0x4(%edx),%eax
   17538:	29 c6                	sub    %eax,%esi
   1753a:	89 c8                	mov    %ecx,%eax
   1753c:	25 ff ff 00 00       	and    $0xffff,%eax
   17541:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
   17544:	56                   	push   %esi
   17545:	53                   	push   %ebx
   17546:	8d 04 41             	lea    (%ecx,%eax,2),%eax
   17549:	50                   	push   %eax
   1754a:	e8 f1 53 00 00       	call   1c940 <_memmove>
   1754f:	66 8b 97 e8 00 00 00 	mov    0xe8(%edi),%dx
   17556:	8b 75 14             	mov    0x14(%ebp),%esi
   17559:	66 2b 55 d0          	sub    0xffffffd0(%ebp),%dx
   1755d:	83 c4 10             	add    $0x10,%esp
   17560:	66 03 16             	add    (%esi),%dx
   17563:	66 89 16             	mov    %dx,(%esi)
   17566:	66 8b 8f e8 00 00 00 	mov    0xe8(%edi),%cx
   1756d:	8b 75 d4             	mov    0xffffffd4(%ebp),%esi
   17570:	66 d1 ea             	shr    %dx
   17573:	89 c8                	mov    %ecx,%eax
   17575:	66 d1 e8             	shr    %ax
   17578:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1757e:	25 ff ff 00 00       	and    $0xffff,%eax
   17583:	8d 1c 46             	lea    (%esi,%eax,2),%ebx
   17586:	8b 75 14             	mov    0x14(%ebp),%esi
   17589:	8b 46 04             	mov    0x4(%esi),%eax
   1758c:	8d 74 50 fe          	lea    0xfffffffe(%eax,%edx,2),%esi
   17590:	89 c8                	mov    %ecx,%eax
   17592:	25 ff ff 00 00       	and    $0xffff,%eax
   17597:	52                   	push   %edx
   17598:	50                   	push   %eax
   17599:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
   1759f:	50                   	push   %eax
   175a0:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   175a3:	50                   	push   %eax
   175a4:	e8 37 52 00 00       	call   1c7e0 <_memcpy>
   175a9:	83 c4 10             	add    $0x10,%esp
   175ac:	83 c3 02             	add    $0x2,%ebx
   175af:	89 5d d4             	mov    %ebx,0xffffffd4(%ebp)
   175b2:	eb 03                	jmp    175b7 <_vfatGetFCBForFile+0x167>
   175b4:	83 c3 02             	add    $0x2,%ebx
   175b7:	66 83 3b 5c          	cmpw   $0x5c,(%ebx)
   175bb:	0f 95 c2             	setne  %dl
   175be:	39 f3                	cmp    %esi,%ebx
   175c0:	0f 96 c0             	setbe  %al
   175c3:	25 ff 00 00 00       	and    $0xff,%eax
   175c8:	85 c2                	test   %eax,%edx
   175ca:	75 e8                	jne    175b4 <_vfatGetFCBForFile+0x164>
   175cc:	8b 55 14             	mov    0x14(%ebp),%edx
   175cf:	89 d9                	mov    %ebx,%ecx
   175d1:	8b 42 04             	mov    0x4(%edx),%eax
   175d4:	29 c1                	sub    %eax,%ecx
   175d6:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   175d9:	66 8b 42 02          	mov    0x2(%edx),%ax
   175dd:	8b 55 08             	mov    0x8(%ebp),%edx
   175e0:	66 89 45 e2          	mov    %ax,0xffffffe2(%ebp)
   175e4:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   175e7:	66 89 4d e0          	mov    %cx,0xffffffe0(%ebp)
   175eb:	51                   	push   %ecx
   175ec:	51                   	push   %ecx
   175ed:	50                   	push   %eax
   175ee:	52                   	push   %edx
   175ef:	e8 6c f5 ff ff       	call   16b60 <_vfatGrabFCBFromTable>
   175f4:	83 c4 10             	add    $0x10,%esp
   175f7:	85 c0                	test   %eax,%eax
   175f9:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   175fc:	0f 85 9e fe ff ff    	jne    174a0 <_vfatGetFCBForFile+0x50>
   17602:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   17605:	89 d8                	mov    %ebx,%eax
   17607:	29 d0                	sub    %edx,%eax
   17609:	8d 4d e0             	lea    0xffffffe0(%ebp),%ecx
   1760c:	66 89 45 e0          	mov    %ax,0xffffffe0(%ebp)
   17610:	66 89 45 e2          	mov    %ax,0xffffffe2(%ebp)
   17614:	8d 45 dc             	lea    0xffffffdc(%ebp),%eax
   17617:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
   1761a:	50                   	push   %eax
   1761b:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1761e:	51                   	push   %ecx
   1761f:	50                   	push   %eax
   17620:	8b 45 08             	mov    0x8(%ebp),%eax
   17623:	50                   	push   %eax
   17624:	e8 a7 fc ff ff       	call   172d0 <_vfatDirFindFile>
   17629:	83 c4 10             	add    $0x10,%esp
   1762c:	3d 34 00 00 c0       	cmp    $0xc0000034,%eax
   17631:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   17634:	0f 84 77 01 00 00    	je     177b1 <_vfatGetFCBForFile+0x361>
   1763a:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   1763d:	85 c0                	test   %eax,%eax
   1763f:	0f 89 5b fe ff ff    	jns    174a0 <_vfatGetFCBForFile+0x50>
   17645:	50                   	push   %eax
   17646:	50                   	push   %eax
   17647:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1764a:	50                   	push   %eax
   1764b:	8b 45 08             	mov    0x8(%ebp),%eax
   1764e:	50                   	push   %eax
   1764f:	e8 0c f3 ff ff       	call   16960 <_vfatReleaseFCB>
   17654:	8b 75 0c             	mov    0xc(%ebp),%esi
   17657:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
   1765d:	8b 45 10             	mov    0x10(%ebp),%eax
   17660:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   17666:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   17669:	eb 14                	jmp    1767f <_vfatGetFCBForFile+0x22f>
   1766b:	90                   	nop    
   1766c:	8d 74 26 00          	lea    0x0(%esi),%esi
	    }
	}
    }

  *pParentFCB = parentFCB;
   17670:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   17673:	89 39                	mov    %edi,(%ecx)
  *pFCB = FCB;
   17675:	8b 75 10             	mov    0x10(%ebp),%esi
   17678:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1767b:	89 06                	mov    %eax,(%esi)

  return  STATUS_SUCCESS;
   1767d:	31 c0                	xor    %eax,%eax
}
   1767f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17682:	5b                   	pop    %ebx
   17683:	5e                   	pop    %esi
   17684:	5f                   	pop    %edi
   17685:	5d                   	pop    %ebp
   17686:	c3                   	ret    
   17687:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   1768a:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1768d:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   17694:	53                   	push   %ebx
   17695:	6a 00                	push   $0x0
   17697:	50                   	push   %eax
   17698:	51                   	push   %ecx
   17699:	ff 15 1c 03 02 00    	call   *0x2031c
   1769f:	5a                   	pop    %edx
   176a0:	84 c0                	test   %al,%al
   176a2:	75 6e                	jne    17712 <_vfatGetFCBForFile+0x2c2>
   176a4:	8b 5d 14             	mov    0x14(%ebp),%ebx
   176a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
   176aa:	56                   	push   %esi
   176ab:	56                   	push   %esi
   176ac:	53                   	push   %ebx
   176ad:	51                   	push   %ecx
   176ae:	e8 ad f4 ff ff       	call   16b60 <_vfatGrabFCBFromTable>
   176b3:	83 c4 10             	add    $0x10,%esp
   176b6:	85 c0                	test   %eax,%eax
   176b8:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   176bb:	0f 84 96 00 00 00    	je     17757 <_vfatGetFCBForFile+0x307>
   176c1:	8b 75 10             	mov    0x10(%ebp),%esi
   176c4:	89 06                	mov    %eax,(%esi)
   176c6:	8b 55 0c             	mov    0xc(%ebp),%edx
   176c9:	8b 80 34 01 00 00    	mov    0x134(%eax),%eax
   176cf:	89 02                	mov    %eax,(%edx)
   176d1:	8b 90 28 01 00 00    	mov    0x128(%eax),%edx
   176d7:	42                   	inc    %edx
   176d8:	89 90 28 01 00 00    	mov    %edx,0x128(%eax)
   176de:	eb 9d                	jmp    1767d <_vfatGetFCBForFile+0x22d>
   176e0:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   176e3:	8b 55 08             	mov    0x8(%ebp),%edx
   176e6:	53                   	push   %ebx
   176e7:	53                   	push   %ebx
   176e8:	51                   	push   %ecx
   176e9:	52                   	push   %edx
   176ea:	e8 71 f2 ff ff       	call   16960 <_vfatReleaseFCB>
   176ef:	8b 75 0c             	mov    0xc(%ebp),%esi
   176f2:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   176f9:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
   176ff:	8b 45 10             	mov    0x10(%ebp),%eax
   17702:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   17708:	b8 3a 00 00 c0       	mov    $0xc000003a,%eax
   1770d:	e9 6d ff ff ff       	jmp    1767f <_vfatGetFCBForFile+0x22f>
   17712:	83 ec 0c             	sub    $0xc,%esp
   17715:	8b 7d 08             	mov    0x8(%ebp),%edi
   17718:	57                   	push   %edi
   17719:	e8 c2 f7 ff ff       	call   16ee0 <_vfatOpenRootFCB>
   1771e:	8b 55 10             	mov    0x10(%ebp),%edx
   17721:	83 c4 10             	add    $0x10,%esp
   17724:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   17727:	83 f8 01             	cmp    $0x1,%eax
   1772a:	89 02                	mov    %eax,(%edx)
   1772c:	19 c0                	sbb    %eax,%eax
   1772e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   17731:	25 3a 00 00 c0       	and    $0xc000003a,%eax
   17736:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
   1773c:	e9 3e ff ff ff       	jmp    1767f <_vfatGetFCBForFile+0x22f>
   17741:	50                   	push   %eax
   17742:	50                   	push   %eax
   17743:	57                   	push   %edi
   17744:	8b 45 08             	mov    0x8(%ebp),%eax
   17747:	50                   	push   %eax
   17748:	e8 13 f2 ff ff       	call   16960 <_vfatReleaseFCB>
   1774d:	b8 33 00 00 c0       	mov    $0xc0000033,%eax
   17752:	e9 28 ff ff ff       	jmp    1767f <_vfatGetFCBForFile+0x22f>
   17757:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1775a:	66 8b 01             	mov    (%ecx),%ax
   1775d:	8b 79 04             	mov    0x4(%ecx),%edi
   17760:	66 d1 e8             	shr    %ax
   17763:	25 ff ff 00 00       	and    $0xffff,%eax
   17768:	8d 04 47             	lea    (%edi,%eax,2),%eax
   1776b:	8d 58 fe             	lea    0xfffffffe(%eax),%ebx
   1776e:	89 de                	mov    %ebx,%esi
   17770:	66 83 78 fe 5c       	cmpw   $0x5c,0xfffffffe(%eax)
   17775:	74 0d                	je     17784 <_vfatGetFCBForFile+0x334>
   17777:	39 df                	cmp    %ebx,%edi
   17779:	73 0d                	jae    17788 <_vfatGetFCBForFile+0x338>
   1777b:	83 eb 02             	sub    $0x2,%ebx
   1777e:	66 83 3b 5c          	cmpw   $0x5c,(%ebx)
   17782:	75 f3                	jne    17777 <_vfatGetFCBForFile+0x327>
   17784:	39 df                	cmp    %ebx,%edi
   17786:	72 6a                	jb     177f2 <_vfatGetFCBForFile+0x3a2>
   17788:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
   1778f:	83 ec 0c             	sub    $0xc,%esp
   17792:	8b 7d 08             	mov    0x8(%ebp),%edi
   17795:	57                   	push   %edi
   17796:	e8 45 f7 ff ff       	call   16ee0 <_vfatOpenRootFCB>
   1779b:	8b 4d 14             	mov    0x14(%ebp),%ecx
   1779e:	83 c4 10             	add    $0x10,%esp
   177a1:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   177a4:	31 ff                	xor    %edi,%edi
   177a6:	8b 59 04             	mov    0x4(%ecx),%ebx
   177a9:	89 5d d4             	mov    %ebx,0xffffffd4(%ebp)
   177ac:	e9 ef fc ff ff       	jmp    174a0 <_vfatGetFCBForFile+0x50>
   177b1:	8b 45 10             	mov    0x10(%ebp),%eax
   177b4:	39 f3                	cmp    %esi,%ebx
   177b6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
   177bc:	76 12                	jbe    177d0 <_vfatGetFCBForFile+0x380>
   177be:	8b 55 0c             	mov    0xc(%ebp),%edx
   177c1:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   177c4:	b8 34 00 00 c0       	mov    $0xc0000034,%eax
   177c9:	89 0a                	mov    %ecx,(%edx)
   177cb:	e9 af fe ff ff       	jmp    1767f <_vfatGetFCBForFile+0x22f>
   177d0:	50                   	push   %eax
   177d1:	50                   	push   %eax
   177d2:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   177d5:	50                   	push   %eax
   177d6:	8b 45 08             	mov    0x8(%ebp),%eax
   177d9:	50                   	push   %eax
   177da:	e8 81 f1 ff ff       	call   16960 <_vfatReleaseFCB>
   177df:	8b 55 0c             	mov    0xc(%ebp),%edx
   177e2:	b8 3a 00 00 c0       	mov    $0xc000003a,%eax
   177e7:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   177ed:	e9 8d fe ff ff       	jmp    1767f <_vfatGetFCBForFile+0x22f>
   177f2:	89 d8                	mov    %ebx,%eax
   177f4:	89 7d e4             	mov    %edi,0xffffffe4(%ebp)
   177f7:	29 f8                	sub    %edi,%eax
   177f9:	66 89 45 e0          	mov    %ax,0xffffffe0(%ebp)
   177fd:	66 89 45 e2          	mov    %ax,0xffffffe2(%ebp)
   17801:	50                   	push   %eax
   17802:	50                   	push   %eax
   17803:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   17806:	50                   	push   %eax
   17807:	8b 45 08             	mov    0x8(%ebp),%eax
   1780a:	50                   	push   %eax
   1780b:	e8 50 f3 ff ff       	call   16b60 <_vfatGrabFCBFromTable>
   17810:	83 c4 10             	add    $0x10,%esp
   17813:	85 c0                	test   %eax,%eax
   17815:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   17818:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   1781b:	0f 84 6e ff ff ff    	je     1778f <_vfatGetFCBForFile+0x33f>
   17821:	8b 45 14             	mov    0x14(%ebp),%eax
   17824:	89 da                	mov    %ebx,%edx
   17826:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   17829:	8b 78 04             	mov    0x4(%eax),%edi
   1782c:	29 fa                	sub    %edi,%edx
   1782e:	89 55 d0             	mov    %edx,0xffffffd0(%ebp)
   17831:	66 8b 81 00 01 00 00 	mov    0x100(%ecx),%ax
   17838:	89 c2                	mov    %eax,%edx
   1783a:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   17840:	3b 55 d0             	cmp    0xffffffd0(%ebp),%edx
   17843:	0f 84 89 00 00 00    	je     178d2 <_vfatGetFCBForFile+0x482>
   17849:	8b 75 14             	mov    0x14(%ebp),%esi
   1784c:	66 8b 06             	mov    (%esi),%ax
   1784f:	89 c1                	mov    %eax,%ecx
   17851:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   17854:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1785a:	8d 14 11             	lea    (%ecx,%edx,1),%edx
   1785d:	29 c2                	sub    %eax,%edx
   1785f:	66 8b 46 02          	mov    0x2(%esi),%ax
   17863:	25 ff ff 00 00       	and    $0xffff,%eax
   17868:	39 c2                	cmp    %eax,%edx
   1786a:	0f 87 98 00 00 00    	ja     17908 <_vfatGetFCBForFile+0x4b8>
   17870:	8b 75 d0             	mov    0xffffffd0(%ebp),%esi
   17873:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   17876:	29 f1                	sub    %esi,%ecx
   17878:	50                   	push   %eax
   17879:	51                   	push   %ecx
   1787a:	53                   	push   %ebx
   1787b:	66 8b 82 00 01 00 00 	mov    0x100(%edx),%ax
   17882:	66 d1 e8             	shr    %ax
   17885:	25 ff ff 00 00       	and    $0xffff,%eax
   1788a:	8d 04 47             	lea    (%edi,%eax,2),%eax
   1788d:	50                   	push   %eax
   1788e:	e8 ad 50 00 00       	call   1c940 <_memmove>
   17893:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   17896:	8b 75 14             	mov    0x14(%ebp),%esi
   17899:	89 4d cc             	mov    %ecx,0xffffffcc(%ebp)
   1789c:	83 c4 10             	add    $0x10,%esp
   1789f:	66 8b 81 00 01 00 00 	mov    0x100(%ecx),%ax
   178a6:	8b 7e 04             	mov    0x4(%esi),%edi
   178a9:	66 2b 45 d0          	sub    0xffffffd0(%ebp),%ax
   178ad:	66 03 06             	add    (%esi),%ax
   178b0:	66 89 06             	mov    %ax,(%esi)
   178b3:	66 d1 e8             	shr    %ax
   178b6:	66 8b 91 00 01 00 00 	mov    0x100(%ecx),%dx
   178bd:	66 d1 ea             	shr    %dx
   178c0:	25 ff ff 00 00       	and    $0xffff,%eax
   178c5:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   178cb:	8d 74 47 fe          	lea    0xfffffffe(%edi,%eax,2),%esi
   178cf:	8d 1c 57             	lea    (%edi,%edx,2),%ebx
   178d2:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   178d5:	66 8b 82 00 01 00 00 	mov    0x100(%edx),%ax
   178dc:	51                   	push   %ecx
   178dd:	25 ff ff 00 00       	and    $0xffff,%eax
   178e2:	50                   	push   %eax
   178e3:	8b 82 04 01 00 00    	mov    0x104(%edx),%eax
   178e9:	50                   	push   %eax
   178ea:	57                   	push   %edi
   178eb:	e8 f0 4e 00 00       	call   1c7e0 <_memcpy>
   178f0:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   178f3:	83 c4 10             	add    $0x10,%esp
   178f6:	85 c0                	test   %eax,%eax
   178f8:	0f 84 91 fe ff ff    	je     1778f <_vfatGetFCBForFile+0x33f>
   178fe:	31 ff                	xor    %edi,%edi
   17900:	89 5d d4             	mov    %ebx,0xffffffd4(%ebp)
   17903:	e9 98 fb ff ff       	jmp    174a0 <_vfatGetFCBForFile+0x50>
   17908:	50                   	push   %eax
   17909:	50                   	push   %eax
   1790a:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1790d:	50                   	push   %eax
   1790e:	e9 31 fe ff ff       	jmp    17744 <_vfatGetFCBForFile+0x2f4>
   17913:	90                   	nop    
   17914:	90                   	nop    
   17915:	90                   	nop    
   17916:	90                   	nop    
   17917:	90                   	nop    
   17918:	90                   	nop    
   17919:	90                   	nop    
   1791a:	90                   	nop    
   1791b:	90                   	nop    
   1791c:	90                   	nop    
   1791d:	90                   	nop    
   1791e:	90                   	nop    
   1791f:	90                   	nop    

00017920 <_VfatGetStandardInformation>:
   17920:	55                   	push   %ebp
   17921:	89 e5                	mov    %esp,%ebp
   17923:	57                   	push   %edi
   17924:	56                   	push   %esi
   17925:	53                   	push   %ebx
   17926:	83 ec 0c             	sub    $0xc,%esp
   17929:	89 c6                	mov    %eax,%esi
   1792b:	8b 7d 08             	mov    0x8(%ebp),%edi
   1792e:	89 d3                	mov    %edx,%ebx
   17930:	b8 05 00 00 80       	mov    $0x80000005,%eax
   17935:	83 3f 17             	cmpl   $0x17,(%edi)
   17938:	76 49                	jbe    17983 <_VfatGetStandardInformation+0x63>
   1793a:	83 ec 0c             	sub    $0xc,%esp
   1793d:	56                   	push   %esi
   1793e:	e8 cd ef ff ff       	call   16910 <_vfatFCBIsDirectory>
   17943:	83 c4 10             	add    $0x10,%esp
   17946:	84 c0                	test   %al,%al
   17948:	75 46                	jne    17990 <_VfatGetStandardInformation+0x70>
   1794a:	8b 46 10             	mov    0x10(%esi),%eax
   1794d:	8b 56 14             	mov    0x14(%esi),%edx
   17950:	89 53 04             	mov    %edx,0x4(%ebx)
   17953:	89 03                	mov    %eax,(%ebx)
   17955:	8b 46 18             	mov    0x18(%esi),%eax
   17958:	8b 56 1c             	mov    0x1c(%esi),%edx
   1795b:	89 53 0c             	mov    %edx,0xc(%ebx)
   1795e:	89 43 08             	mov    %eax,0x8(%ebx)
   17961:	c6 43 15 00          	movb   $0x0,0x15(%ebx)
   17965:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
   1796c:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
   17972:	d1 e8                	shr    %eax
   17974:	83 e0 01             	and    $0x1,%eax
   17977:	88 43 14             	mov    %al,0x14(%ebx)
   1797a:	8b 07                	mov    (%edi),%eax
   1797c:	83 e8 18             	sub    $0x18,%eax
   1797f:	89 07                	mov    %eax,(%edi)
   17981:	31 c0                	xor    %eax,%eax
   17983:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17986:	5b                   	pop    %ebx
   17987:	5e                   	pop    %esi
   17988:	5f                   	pop    %edi
   17989:	5d                   	pop    %ebp
   1798a:	c3                   	ret    
   1798b:	90                   	nop    
   1798c:	8d 74 26 00          	lea    0x0(%esi),%esi
   17990:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
   17996:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
   1799d:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
   179a4:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
   179ab:	c6 43 15 01          	movb   $0x1,0x15(%ebx)
   179af:	eb b4                	jmp    17965 <_VfatGetStandardInformation+0x45>
   179b1:	eb 0d                	jmp    179c0 <_VfatGetPositionInformation>
   179b3:	90                   	nop    
   179b4:	90                   	nop    
   179b5:	90                   	nop    
   179b6:	90                   	nop    
   179b7:	90                   	nop    
   179b8:	90                   	nop    
   179b9:	90                   	nop    
   179ba:	90                   	nop    
   179bb:	90                   	nop    
   179bc:	90                   	nop    
   179bd:	90                   	nop    
   179be:	90                   	nop    
   179bf:	90                   	nop    

000179c0 <_VfatGetPositionInformation>:
   179c0:	55                   	push   %ebp
   179c1:	89 c2                	mov    %eax,%edx
   179c3:	89 e5                	mov    %esp,%ebp
   179c5:	53                   	push   %ebx
   179c6:	b8 05 00 00 80       	mov    $0x80000005,%eax
   179cb:	8b 5d 10             	mov    0x10(%ebp),%ebx
   179ce:	83 3b 07             	cmpl   $0x7,(%ebx)
   179d1:	76 17                	jbe    179ea <_VfatGetPositionInformation+0x2a>
   179d3:	8b 45 0c             	mov    0xc(%ebp),%eax
   179d6:	8b 4a 3c             	mov    0x3c(%edx),%ecx
   179d9:	8b 52 38             	mov    0x38(%edx),%edx
   179dc:	89 10                	mov    %edx,(%eax)
   179de:	89 48 04             	mov    %ecx,0x4(%eax)
   179e1:	8b 13                	mov    (%ebx),%edx
   179e3:	31 c0                	xor    %eax,%eax
   179e5:	83 ea 08             	sub    $0x8,%edx
   179e8:	89 13                	mov    %edx,(%ebx)
   179ea:	5b                   	pop    %ebx
   179eb:	5d                   	pop    %ebp
   179ec:	c3                   	ret    
   179ed:	8d 76 00             	lea    0x0(%esi),%esi

000179f0 <_VfatGetBasicInformation>:
   179f0:	55                   	push   %ebp
   179f1:	89 e5                	mov    %esp,%ebp
   179f3:	57                   	push   %edi
   179f4:	56                   	push   %esi
   179f5:	53                   	push   %ebx
   179f6:	83 ec 0c             	sub    $0xc,%esp
   179f9:	89 d3                	mov    %edx,%ebx
   179fb:	8b 45 08             	mov    0x8(%ebp),%eax
   179fe:	8b 55 10             	mov    0x10(%ebp),%edx
   17a01:	8b 75 0c             	mov    0xc(%ebp),%esi
   17a04:	8b 78 28             	mov    0x28(%eax),%edi
   17a07:	83 3a 27             	cmpl   $0x27,(%edx)
   17a0a:	b8 05 00 00 80       	mov    $0x80000005,%eax
   17a0f:	0f 86 a5 00 00 00    	jbe    17aba <_VfatGetBasicInformation+0xca>
   17a15:	f6 83 38 01 00 00 40 	testb  $0x40,0x138(%ebx)
   17a1c:	0f 85 a0 00 00 00    	jne    17ac2 <_VfatGetBasicInformation+0xd2>
   17a22:	66 8b 83 b2 00 00 00 	mov    0xb2(%ebx),%ax
   17a29:	56                   	push   %esi
   17a2a:	25 ff ff 00 00       	and    $0xffff,%eax
   17a2f:	50                   	push   %eax
   17a30:	66 8b 83 b4 00 00 00 	mov    0xb4(%ebx),%ax
   17a37:	25 ff ff 00 00       	and    $0xffff,%eax
   17a3c:	50                   	push   %eax
   17a3d:	57                   	push   %edi
   17a3e:	e8 7d ad ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   17a43:	8d 46 08             	lea    0x8(%esi),%eax
   17a46:	50                   	push   %eax
   17a47:	66 8b 83 b6 00 00 00 	mov    0xb6(%ebx),%ax
   17a4e:	25 ff ff 00 00       	and    $0xffff,%eax
   17a53:	6a 00                	push   $0x0
   17a55:	50                   	push   %eax
   17a56:	57                   	push   %edi
   17a57:	e8 64 ad ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   17a5c:	83 c4 20             	add    $0x20,%esp
   17a5f:	8d 46 10             	lea    0x10(%esi),%eax
   17a62:	50                   	push   %eax
   17a63:	66 8b 83 ba 00 00 00 	mov    0xba(%ebx),%ax
   17a6a:	25 ff ff 00 00       	and    $0xffff,%eax
   17a6f:	50                   	push   %eax
   17a70:	66 8b 83 bc 00 00 00 	mov    0xbc(%ebx),%ax
   17a77:	25 ff ff 00 00       	and    $0xffff,%eax
   17a7c:	50                   	push   %eax
   17a7d:	57                   	push   %edi
   17a7e:	e8 3d ad ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   17a83:	8b 46 10             	mov    0x10(%esi),%eax
   17a86:	8b 56 14             	mov    0x14(%esi),%edx
   17a89:	89 46 18             	mov    %eax,0x18(%esi)
   17a8c:	89 56 1c             	mov    %edx,0x1c(%esi)
   17a8f:	83 c4 10             	add    $0x10,%esp
   17a92:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
   17a98:	8a 00                	mov    (%eax),%al
   17a9a:	25 ff 00 00 00       	and    $0xff,%eax
   17a9f:	89 c2                	mov    %eax,%edx
   17aa1:	83 e2 3f             	and    $0x3f,%edx
   17aa4:	a8 37                	test   $0x37,%al
   17aa6:	75 03                	jne    17aab <_VfatGetBasicInformation+0xbb>
   17aa8:	80 ca 80             	or     $0x80,%dl
   17aab:	89 56 20             	mov    %edx,0x20(%esi)
   17aae:	8b 45 10             	mov    0x10(%ebp),%eax
   17ab1:	8b 08                	mov    (%eax),%ecx
   17ab3:	83 e9 28             	sub    $0x28,%ecx
   17ab6:	89 08                	mov    %ecx,(%eax)
   17ab8:	31 c0                	xor    %eax,%eax
   17aba:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17abd:	5b                   	pop    %ebx
   17abe:	5e                   	pop    %esi
   17abf:	5f                   	pop    %edi
   17ac0:	5d                   	pop    %ebp
   17ac1:	c3                   	ret    
   17ac2:	66 8b 83 dc 00 00 00 	mov    0xdc(%ebx),%ax
   17ac9:	56                   	push   %esi
   17aca:	25 ff ff 00 00       	and    $0xffff,%eax
   17acf:	50                   	push   %eax
   17ad0:	66 8b 83 de 00 00 00 	mov    0xde(%ebx),%ax
   17ad7:	25 ff ff 00 00       	and    $0xffff,%eax
   17adc:	50                   	push   %eax
   17add:	57                   	push   %edi
   17ade:	e8 dd ac ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   17ae3:	8d 46 08             	lea    0x8(%esi),%eax
   17ae6:	50                   	push   %eax
   17ae7:	66 8b 83 e0 00 00 00 	mov    0xe0(%ebx),%ax
   17aee:	25 ff ff 00 00       	and    $0xffff,%eax
   17af3:	50                   	push   %eax
   17af4:	66 8b 83 e2 00 00 00 	mov    0xe2(%ebx),%ax
   17afb:	25 ff ff 00 00       	and    $0xffff,%eax
   17b00:	50                   	push   %eax
   17b01:	57                   	push   %edi
   17b02:	e8 b9 ac ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   17b07:	83 c4 20             	add    $0x20,%esp
   17b0a:	8d 46 10             	lea    0x10(%esi),%eax
   17b0d:	50                   	push   %eax
   17b0e:	66 8b 83 d8 00 00 00 	mov    0xd8(%ebx),%ax
   17b15:	25 ff ff 00 00       	and    $0xffff,%eax
   17b1a:	50                   	push   %eax
   17b1b:	66 8b 83 da 00 00 00 	mov    0xda(%ebx),%ax
   17b22:	e9 50 ff ff ff       	jmp    17a77 <_VfatGetBasicInformation+0x87>
   17b27:	89 f6                	mov    %esi,%esi
   17b29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00017b30 <_VfatGetNameInformation>:
   17b30:	55                   	push   %ebp
   17b31:	b9 05 00 00 80       	mov    $0x80000005,%ecx
   17b36:	89 e5                	mov    %esp,%ebp
   17b38:	57                   	push   %edi
   17b39:	56                   	push   %esi
   17b3a:	53                   	push   %ebx
   17b3b:	83 ec 0c             	sub    $0xc,%esp
   17b3e:	89 d3                	mov    %edx,%ebx
   17b40:	66 8b 82 00 01 00 00 	mov    0x100(%edx),%ax
   17b47:	8b 7d 10             	mov    0x10(%ebp),%edi
   17b4a:	89 c2                	mov    %eax,%edx
   17b4c:	8b 75 0c             	mov    0xc(%ebp),%esi
   17b4f:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   17b55:	8d 42 0a             	lea    0xa(%edx),%eax
   17b58:	39 07                	cmp    %eax,(%edi)
   17b5a:	72 4e                	jb     17baa <_VfatGetNameInformation+0x7a>
   17b5c:	89 16                	mov    %edx,(%esi)
   17b5e:	66 8b 83 00 01 00 00 	mov    0x100(%ebx),%ax
   17b65:	51                   	push   %ecx
   17b66:	25 ff ff 00 00       	and    $0xffff,%eax
   17b6b:	8d 56 04             	lea    0x4(%esi),%edx
   17b6e:	50                   	push   %eax
   17b6f:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
   17b75:	50                   	push   %eax
   17b76:	52                   	push   %edx
   17b77:	e8 64 4c 00 00       	call   1c7e0 <_memcpy>
   17b7c:	66 8b 83 00 01 00 00 	mov    0x100(%ebx),%ax
   17b83:	66 d1 e8             	shr    %ax
   17b86:	31 c9                	xor    %ecx,%ecx
   17b88:	25 ff ff 00 00       	and    $0xffff,%eax
   17b8d:	66 c7 44 46 04 00 00 	movw   $0x0,0x4(%esi,%eax,2)
   17b94:	66 8b 93 00 01 00 00 	mov    0x100(%ebx),%dx
   17b9b:	8b 07                	mov    (%edi),%eax
   17b9d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   17ba3:	29 d0                	sub    %edx,%eax
   17ba5:	83 e8 0a             	sub    $0xa,%eax
   17ba8:	89 07                	mov    %eax,(%edi)
   17baa:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17bad:	89 c8                	mov    %ecx,%eax
   17baf:	5b                   	pop    %ebx
   17bb0:	5e                   	pop    %esi
   17bb1:	5f                   	pop    %edi
   17bb2:	5d                   	pop    %ebp
   17bb3:	c3                   	ret    
   17bb4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   17bba:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00017bc0 <_VfatGetInternalInformation>:
   17bc0:	55                   	push   %ebp
   17bc1:	b8 05 00 00 80       	mov    $0x80000005,%eax
   17bc6:	89 e5                	mov    %esp,%ebp
   17bc8:	8b 4d 08             	mov    0x8(%ebp),%ecx
   17bcb:	83 39 07             	cmpl   $0x7,(%ecx)
   17bce:	76 16                	jbe    17be6 <_VfatGetInternalInformation+0x26>
   17bd0:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
   17bd6:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
   17bdd:	8b 01                	mov    (%ecx),%eax
   17bdf:	83 e8 08             	sub    $0x8,%eax
   17be2:	89 01                	mov    %eax,(%ecx)
   17be4:	31 c0                	xor    %eax,%eax
   17be6:	5d                   	pop    %ebp
   17be7:	c3                   	ret    
   17be8:	90                   	nop    
   17be9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00017bf0 <_UpdateFileSize>:
   17bf0:	55                   	push   %ebp
   17bf1:	89 e5                	mov    %esp,%ebp
   17bf3:	57                   	push   %edi
   17bf4:	56                   	push   %esi
   17bf5:	53                   	push   %ebx
   17bf6:	83 ec 0c             	sub    $0xc,%esp
   17bf9:	8b 75 10             	mov    0x10(%ebp),%esi
   17bfc:	8b 7d 08             	mov    0x8(%ebp),%edi
   17bff:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   17c02:	8b 4d 14             	mov    0x14(%ebp),%ecx
   17c05:	85 f6                	test   %esi,%esi
   17c07:	74 57                	je     17c60 <_UpdateFileSize+0x70>
   17c09:	8d 44 0e ff          	lea    0xffffffff(%esi,%ecx,1),%eax
   17c0d:	31 d2                	xor    %edx,%edx
   17c0f:	f7 f1                	div    %ecx
   17c11:	0f af c1             	imul   %ecx,%eax
   17c14:	89 43 10             	mov    %eax,0x10(%ebx)
   17c17:	83 ec 0c             	sub    $0xc,%esp
   17c1a:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
   17c21:	53                   	push   %ebx
   17c22:	e8 e9 ec ff ff       	call   16910 <_vfatFCBIsDirectory>
   17c27:	83 c4 10             	add    $0x10,%esp
   17c2a:	84 c0                	test   %al,%al
   17c2c:	75 0f                	jne    17c3d <_UpdateFileSize+0x4d>
   17c2e:	f6 83 38 01 00 00 40 	testb  $0x40,0x138(%ebx)
   17c35:	74 39                	je     17c70 <_UpdateFileSize+0x80>
   17c37:	89 b3 d4 00 00 00    	mov    %esi,0xd4(%ebx)
   17c3d:	31 d2                	xor    %edx,%edx
   17c3f:	89 73 18             	mov    %esi,0x18(%ebx)
   17c42:	89 53 1c             	mov    %edx,0x1c(%ebx)
   17c45:	89 73 20             	mov    %esi,0x20(%ebx)
   17c48:	89 53 24             	mov    %edx,0x24(%ebx)
   17c4b:	8b 47 14             	mov    0x14(%edi),%eax
   17c4e:	8b 70 04             	mov    0x4(%eax),%esi
   17c51:	85 f6                	test   %esi,%esi
   17c53:	75 3b                	jne    17c90 <_UpdateFileSize+0xa0>
   17c55:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17c58:	5b                   	pop    %ebx
   17c59:	5e                   	pop    %esi
   17c5a:	5f                   	pop    %edi
   17c5b:	5d                   	pop    %ebp
   17c5c:	c3                   	ret    
   17c5d:	8d 76 00             	lea    0x0(%esi),%esi
   17c60:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
   17c67:	eb ae                	jmp    17c17 <_UpdateFileSize+0x27>
   17c69:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   17c70:	31 d2                	xor    %edx,%edx
   17c72:	89 b3 c0 00 00 00    	mov    %esi,0xc0(%ebx)
   17c78:	89 73 18             	mov    %esi,0x18(%ebx)
   17c7b:	89 53 1c             	mov    %edx,0x1c(%ebx)
   17c7e:	89 73 20             	mov    %esi,0x20(%ebx)
   17c81:	89 53 24             	mov    %edx,0x24(%ebx)
   17c84:	8b 47 14             	mov    0x14(%edi),%eax
   17c87:	8b 70 04             	mov    0x4(%eax),%esi
   17c8a:	85 f6                	test   %esi,%esi
   17c8c:	74 c7                	je     17c55 <_UpdateFileSize+0x65>
   17c8e:	89 f6                	mov    %esi,%esi
   17c90:	8d 43 10             	lea    0x10(%ebx),%eax
   17c93:	51                   	push   %ecx
   17c94:	51                   	push   %ecx
   17c95:	50                   	push   %eax
   17c96:	57                   	push   %edi
   17c97:	e8 c4 4c 00 00       	call   1c960 <_CcSetFileSizes@8>
   17c9c:	58                   	pop    %eax
   17c9d:	5a                   	pop    %edx
   17c9e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17ca1:	5b                   	pop    %ebx
   17ca2:	5e                   	pop    %esi
   17ca3:	5f                   	pop    %edi
   17ca4:	5d                   	pop    %ebp
   17ca5:	c3                   	ret    
   17ca6:	8d 76 00             	lea    0x0(%esi),%esi
   17ca9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00017cb0 <_VfatSetAllocationSizeInformation>:
   17cb0:	55                   	push   %ebp
   17cb1:	89 e5                	mov    %esp,%ebp
   17cb3:	57                   	push   %edi
   17cb4:	56                   	push   %esi
   17cb5:	53                   	push   %ebx
   17cb6:	83 ec 1c             	sub    $0x1c,%esp
   17cb9:	8b 45 10             	mov    0x10(%ebp),%eax
   17cbc:	8b 4d 14             	mov    0x14(%ebp),%ecx
   17cbf:	8b 7d 0c             	mov    0xc(%ebp),%edi
   17cc2:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   17cc8:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   17ccb:	8b 19                	mov    (%ecx),%ebx
   17ccd:	c6 45 e3 00          	movb   $0x0,0xffffffe3(%ebp)
   17cd1:	f6 87 38 01 00 00 40 	testb  $0x40,0x138(%edi)
   17cd8:	0f 84 1a 01 00 00    	je     17df8 <_VfatSetAllocationSizeInformation+0x148>
   17cde:	8b 97 d4 00 00 00    	mov    0xd4(%edi),%edx
   17ce4:	8b 49 04             	mov    0x4(%ecx),%ecx
   17ce7:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   17cec:	85 c9                	test   %ecx,%ecx
   17cee:	0f 8f fc 00 00 00    	jg     17df0 <_VfatSetAllocationSizeInformation+0x140>
   17cf4:	31 c0                	xor    %eax,%eax
   17cf6:	39 da                	cmp    %ebx,%edx
   17cf8:	0f 84 f2 00 00 00    	je     17df0 <_VfatSetAllocationSizeInformation+0x140>
   17cfe:	50                   	push   %eax
   17cff:	50                   	push   %eax
   17d00:	8d 87 a4 00 00 00    	lea    0xa4(%edi),%eax
   17d06:	50                   	push   %eax
   17d07:	8b 45 10             	mov    0x10(%ebp),%eax
   17d0a:	50                   	push   %eax
   17d0b:	e8 50 b7 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   17d10:	83 c4 10             	add    $0x10,%esp
   17d13:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   17d16:	8b 57 10             	mov    0x10(%edi),%edx
   17d19:	39 da                	cmp    %ebx,%edx
   17d1b:	0f 83 e2 00 00 00    	jae    17e03 <_VfatSetAllocationSizeInformation+0x153>
   17d21:	c6 45 e3 01          	movb   $0x1,0xffffffe3(%ebp)
   17d25:	85 c0                	test   %eax,%eax
   17d27:	0f 84 96 01 00 00    	je     17ec3 <_VfatSetAllocationSizeInformation+0x213>
   17d2d:	8b 87 dc 01 00 00    	mov    0x1dc(%edi),%eax
   17d33:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   17d36:	85 c0                	test   %eax,%eax
   17d38:	74 15                	je     17d4f <_VfatSetAllocationSizeInformation+0x9f>
   17d3a:	89 d1                	mov    %edx,%ecx
   17d3c:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   17d3f:	29 c1                	sub    %eax,%ecx
   17d41:	8b b7 e0 01 00 00    	mov    0x1e0(%edi),%esi
   17d47:	39 f1                	cmp    %esi,%ecx
   17d49:	0f 87 9d 02 00 00    	ja     17fec <_VfatSetAllocationSizeInformation+0x33c>
   17d4f:	83 ec 0c             	sub    $0xc,%esp
   17d52:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   17d55:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
   17d58:	6a 00                	push   $0x0
   17d5a:	50                   	push   %eax
   17d5b:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   17d5e:	29 c2                	sub    %eax,%edx
   17d60:	52                   	push   %edx
   17d61:	56                   	push   %esi
   17d62:	8b 4d 10             	mov    0x10(%ebp),%ecx
   17d65:	51                   	push   %ecx
   17d66:	e8 45 0d 00 00       	call   18ab0 <_OffsetToCluster>
   17d6b:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   17d6e:	83 c4 14             	add    $0x14,%esp
   17d71:	89 87 dc 01 00 00    	mov    %eax,0x1dc(%edi)
   17d77:	8b 47 10             	mov    0x10(%edi),%eax
   17d7a:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   17d7d:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   17d80:	29 d0                	sub    %edx,%eax
   17d82:	31 d2                	xor    %edx,%edx
   17d84:	89 87 e0 01 00 00    	mov    %eax,0x1e0(%edi)
   17d8a:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
   17d8d:	f7 75 e4             	divl   0xffffffe4(%ebp)
   17d90:	89 d8                	mov    %ebx,%eax
   17d92:	6a 01                	push   $0x1
   17d94:	29 d0                	sub    %edx,%eax
   17d96:	51                   	push   %ecx
   17d97:	48                   	dec    %eax
   17d98:	50                   	push   %eax
   17d99:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17d9c:	50                   	push   %eax
   17d9d:	8b 45 10             	mov    0x10(%ebp),%eax
   17da0:	50                   	push   %eax
   17da1:	e8 0a 0d 00 00       	call   18ab0 <_OffsetToCluster>
   17da6:	83 c4 20             	add    $0x20,%esp
   17da9:	89 c6                	mov    %eax,%esi
   17dab:	83 7d ec ff          	cmpl   $0xffffffff,0xffffffec(%ebp)
   17daf:	0f 94 c0             	sete   %al
   17db2:	c1 ee 1f             	shr    $0x1f,%esi
   17db5:	25 ff 00 00 00       	and    $0xff,%eax
   17dba:	09 f0                	or     %esi,%eax
   17dbc:	0f 85 6a 02 00 00    	jne    1802c <_VfatSetAllocationSizeInformation+0x37c>
   17dc2:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   17dc5:	50                   	push   %eax
   17dc6:	8b 45 08             	mov    0x8(%ebp),%eax
   17dc9:	53                   	push   %ebx
   17dca:	57                   	push   %edi
   17dcb:	50                   	push   %eax
   17dcc:	e8 1f fe ff ff       	call   17bf0 <_UpdateFileSize>
   17dd1:	83 c4 10             	add    $0x10,%esp
   17dd4:	8b 87 38 01 00 00    	mov    0x138(%edi),%eax
   17dda:	83 c8 20             	or     $0x20,%eax
   17ddd:	89 87 38 01 00 00    	mov    %eax,0x138(%edi)
   17de3:	80 7d e3 00          	cmpb   $0x0,0xffffffe3(%ebp)
   17de7:	0f 85 c3 00 00 00    	jne    17eb0 <_VfatSetAllocationSizeInformation+0x200>
   17ded:	31 c0                	xor    %eax,%eax
   17def:	90                   	nop    
   17df0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   17df3:	5b                   	pop    %ebx
   17df4:	5e                   	pop    %esi
   17df5:	5f                   	pop    %edi
   17df6:	5d                   	pop    %ebp
   17df7:	c3                   	ret    
   17df8:	8b 97 c0 00 00 00    	mov    0xc0(%edi),%edx
   17dfe:	e9 e1 fe ff ff       	jmp    17ce4 <_VfatSetAllocationSizeInformation+0x34>
   17e03:	8b 4d e4             	mov    0xffffffe4(%ebp),%ecx
   17e06:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
   17e09:	39 d0                	cmp    %edx,%eax
   17e0b:	77 b5                	ja     17dc2 <_VfatSetAllocationSizeInformation+0x112>
   17e0d:	c6 45 e3 01          	movb   $0x1,0xffffffe3(%ebp)
   17e11:	c7 87 dc 01 00 00 00 	movl   $0x0,0x1dc(%edi)
   17e18:	00 00 00 
   17e1b:	8b 45 08             	mov    0x8(%ebp),%eax
   17e1e:	51                   	push   %ecx
   17e1f:	53                   	push   %ebx
   17e20:	57                   	push   %edi
   17e21:	50                   	push   %eax
   17e22:	e8 c9 fd ff ff       	call   17bf0 <_UpdateFileSize>
   17e27:	83 c4 10             	add    $0x10,%esp
   17e2a:	85 db                	test   %ebx,%ebx
   17e2c:	0f 85 50 01 00 00    	jne    17f82 <_VfatSetAllocationSizeInformation+0x2d2>
   17e32:	f6 87 38 01 00 00 40 	testb  $0x40,0x138(%edi)
   17e39:	0f 85 1b 01 00 00    	jne    17f5a <_VfatSetAllocationSizeInformation+0x2aa>
   17e3f:	66 c7 87 be 00 00 00 	movw   $0x0,0xbe(%edi)
   17e46:	00 00 
   17e48:	66 c7 87 b8 00 00 00 	movw   $0x0,0xb8(%edi)
   17e4f:	00 00 
   17e51:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17e54:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   17e57:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   17e5a:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   17e5d:	8d 76 00             	lea    0x0(%esi),%esi
   17e60:	83 f8 ff             	cmp    $0xffffffff,%eax
   17e63:	0f 84 6b ff ff ff    	je     17dd4 <_VfatSetAllocationSizeInformation+0x124>
   17e69:	83 f8 01             	cmp    $0x1,%eax
   17e6c:	0f 86 62 ff ff ff    	jbe    17dd4 <_VfatSetAllocationSizeInformation+0x124>
   17e72:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   17e75:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
   17e78:	8b 45 10             	mov    0x10(%ebp),%eax
   17e7b:	6a 00                	push   $0x0
   17e7d:	51                   	push   %ecx
   17e7e:	52                   	push   %edx
   17e7f:	50                   	push   %eax
   17e80:	e8 db 0b 00 00       	call   18a60 <_NextCluster>
   17e85:	83 c4 0c             	add    $0xc,%esp
   17e88:	89 c6                	mov    %eax,%esi
   17e8a:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   17e8d:	6a 00                	push   $0x0
   17e8f:	50                   	push   %eax
   17e90:	8b 45 10             	mov    0x10(%ebp),%eax
   17e93:	50                   	push   %eax
   17e94:	e8 a7 e0 ff ff       	call   15f40 <_WriteCluster>
   17e99:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   17e9c:	83 c4 10             	add    $0x10,%esp
   17e9f:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   17ea2:	85 f6                	test   %esi,%esi
   17ea4:	79 ba                	jns    17e60 <_VfatSetAllocationSizeInformation+0x1b0>
   17ea6:	e9 29 ff ff ff       	jmp    17dd4 <_VfatSetAllocationSizeInformation+0x124>
   17eab:	90                   	nop    
   17eac:	8d 74 26 00          	lea    0x0(%esi),%esi
   17eb0:	83 ec 0c             	sub    $0xc,%esp
   17eb3:	57                   	push   %edi
   17eb4:	e8 a7 bf ff ff       	call   13e60 <_VfatUpdateEntry>
   17eb9:	83 c4 10             	add    $0x10,%esp
   17ebc:	31 c0                	xor    %eax,%eax
   17ebe:	e9 2d ff ff ff       	jmp    17df0 <_VfatSetAllocationSizeInformation+0x140>
   17ec3:	c7 87 e0 01 00 00 00 	movl   $0x0,0x1e0(%edi)
   17eca:	00 00 00 
   17ecd:	c7 87 dc 01 00 00 00 	movl   $0x0,0x1dc(%edi)
   17ed4:	00 00 00 
   17ed7:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   17eda:	6a 01                	push   $0x1
   17edc:	50                   	push   %eax
   17edd:	8b 45 10             	mov    0x10(%ebp),%eax
   17ee0:	6a 00                	push   $0x0
   17ee2:	50                   	push   %eax
   17ee3:	e8 78 0b 00 00       	call   18a60 <_NextCluster>
   17ee8:	83 c4 10             	add    $0x10,%esp
   17eeb:	89 c6                	mov    %eax,%esi
   17eed:	85 c0                	test   %eax,%eax
   17eef:	0f 88 0c 01 00 00    	js     18001 <_VfatSetAllocationSizeInformation+0x351>
   17ef5:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   17ef8:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   17efd:	83 f9 ff             	cmp    $0xffffffff,%ecx
   17f00:	0f 84 ea fe ff ff    	je     17df0 <_VfatSetAllocationSizeInformation+0x140>
   17f06:	83 ec 0c             	sub    $0xc,%esp
   17f09:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   17f0c:	31 d2                	xor    %edx,%edx
   17f0e:	6a 01                	push   $0x1
   17f10:	50                   	push   %eax
   17f11:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
   17f14:	f7 75 e4             	divl   0xffffffe4(%ebp)
   17f17:	89 d8                	mov    %ebx,%eax
   17f19:	29 d0                	sub    %edx,%eax
   17f1b:	48                   	dec    %eax
   17f1c:	50                   	push   %eax
   17f1d:	51                   	push   %ecx
   17f1e:	8b 4d 10             	mov    0x10(%ebp),%ecx
   17f21:	51                   	push   %ecx
   17f22:	e8 89 0b 00 00       	call   18ab0 <_OffsetToCluster>
   17f27:	83 c4 20             	add    $0x20,%esp
   17f2a:	89 c6                	mov    %eax,%esi
   17f2c:	83 7d ec ff          	cmpl   $0xffffffff,0xffffffec(%ebp)
   17f30:	0f 94 c0             	sete   %al
   17f33:	c1 ee 1f             	shr    $0x1f,%esi
   17f36:	25 ff 00 00 00       	and    $0xff,%eax
   17f3b:	09 f0                	or     %esi,%eax
   17f3d:	0f 85 6b 01 00 00    	jne    180ae <_VfatSetAllocationSizeInformation+0x3fe>
   17f43:	f6 87 38 01 00 00 40 	testb  $0x40,0x138(%edi)
   17f4a:	74 1d                	je     17f69 <_VfatSetAllocationSizeInformation+0x2b9>
   17f4c:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17f4f:	89 87 d0 00 00 00    	mov    %eax,0xd0(%edi)
   17f55:	e9 68 fe ff ff       	jmp    17dc2 <_VfatSetAllocationSizeInformation+0x112>
   17f5a:	c7 87 d0 00 00 00 00 	movl   $0x0,0xd0(%edi)
   17f61:	00 00 00 
   17f64:	e9 e8 fe ff ff       	jmp    17e51 <_VfatSetAllocationSizeInformation+0x1a1>
   17f69:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17f6c:	66 89 87 be 00 00 00 	mov    %ax,0xbe(%edi)
   17f73:	c1 e8 10             	shr    $0x10,%eax
   17f76:	66 89 87 b8 00 00 00 	mov    %ax,0xb8(%edi)
   17f7d:	e9 40 fe ff ff       	jmp    17dc2 <_VfatSetAllocationSizeInformation+0x112>
   17f82:	83 ec 0c             	sub    $0xc,%esp
   17f85:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   17f88:	31 d2                	xor    %edx,%edx
   17f8a:	6a 00                	push   $0x0
   17f8c:	50                   	push   %eax
   17f8d:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
   17f90:	f7 75 e4             	divl   0xffffffe4(%ebp)
   17f93:	29 d3                	sub    %edx,%ebx
   17f95:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
   17f98:	50                   	push   %eax
   17f99:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17f9c:	50                   	push   %eax
   17f9d:	8b 45 10             	mov    0x10(%ebp),%eax
   17fa0:	50                   	push   %eax
   17fa1:	e8 0a 0b 00 00       	call   18ab0 <_OffsetToCluster>
   17fa6:	83 c4 20             	add    $0x20,%esp
   17fa9:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   17fac:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   17faf:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   17fb2:	6a 00                	push   $0x0
   17fb4:	8b 75 10             	mov    0x10(%ebp),%esi
   17fb7:	50                   	push   %eax
   17fb8:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   17fbb:	50                   	push   %eax
   17fbc:	56                   	push   %esi
   17fbd:	e8 9e 0a 00 00       	call   18a60 <_NextCluster>
   17fc2:	83 c4 0c             	add    $0xc,%esp
   17fc5:	8b 5d e8             	mov    0xffffffe8(%ebp),%ebx
   17fc8:	8b 4d 10             	mov    0x10(%ebp),%ecx
   17fcb:	6a ff                	push   $0xffffffff
   17fcd:	89 c6                	mov    %eax,%esi
   17fcf:	53                   	push   %ebx
   17fd0:	51                   	push   %ecx
   17fd1:	e8 6a df ff ff       	call   15f40 <_WriteCluster>
   17fd6:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   17fd9:	83 c4 10             	add    $0x10,%esp
   17fdc:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   17fdf:	85 f6                	test   %esi,%esi
   17fe1:	0f 89 73 fe ff ff    	jns    17e5a <_VfatSetAllocationSizeInformation+0x1aa>
   17fe7:	e9 e8 fd ff ff       	jmp    17dd4 <_VfatSetAllocationSizeInformation+0x124>
   17fec:	83 ec 0c             	sub    $0xc,%esp
   17fef:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   17ff2:	29 f1                	sub    %esi,%ecx
   17ff4:	6a 00                	push   $0x0
   17ff6:	50                   	push   %eax
   17ff7:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   17ffa:	51                   	push   %ecx
   17ffb:	50                   	push   %eax
   17ffc:	e9 61 fd ff ff       	jmp    17d62 <_VfatSetAllocationSizeInformation+0xb2>
   18001:	50                   	push   %eax
   18002:	68 2a 02 00 00       	push   $0x22a
   18007:	68 3f e6 01 00       	push   $0x1e63f
   1800c:	68 47 e6 01 00       	push   $0x1e647
   18011:	ff 15 38 02 02 00    	call   *0x20238
   18017:	5b                   	pop    %ebx
   18018:	5f                   	pop    %edi
   18019:	56                   	push   %esi
   1801a:	68 50 e6 01 00       	push   $0x1e650
   1801f:	ff 15 38 02 02 00    	call   *0x20238
   18025:	89 f0                	mov    %esi,%eax
   18027:	e9 c4 fd ff ff       	jmp    17df0 <_VfatSetAllocationSizeInformation+0x140>
   1802c:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1802f:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
   18032:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   18035:	8b 5d 10             	mov    0x10(%ebp),%ebx
   18038:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   1803b:	6a 00                	push   $0x0
   1803d:	50                   	push   %eax
   1803e:	56                   	push   %esi
   1803f:	53                   	push   %ebx
   18040:	e8 1b 0a 00 00       	call   18a60 <_NextCluster>
   18045:	83 c4 0c             	add    $0xc,%esp
   18048:	89 c6                	mov    %eax,%esi
   1804a:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1804d:	6a ff                	push   $0xffffffff
   1804f:	50                   	push   %eax
   18050:	8b 45 10             	mov    0x10(%ebp),%eax
   18053:	50                   	push   %eax
   18054:	e8 e7 de ff ff       	call   15f40 <_WriteCluster>
   18059:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1805c:	83 c4 10             	add    $0x10,%esp
   1805f:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   18062:	85 f6                	test   %esi,%esi
   18064:	78 3e                	js     180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   18066:	83 f8 ff             	cmp    $0xffffffff,%eax
   18069:	74 39                	je     180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   1806b:	83 f8 01             	cmp    $0x1,%eax
   1806e:	76 34                	jbe    180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   18070:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   18073:	6a 00                	push   $0x0
   18075:	8b 55 10             	mov    0x10(%ebp),%edx
   18078:	51                   	push   %ecx
   18079:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   1807c:	51                   	push   %ecx
   1807d:	52                   	push   %edx
   1807e:	e8 dd 09 00 00       	call   18a60 <_NextCluster>
   18083:	83 c4 0c             	add    $0xc,%esp
   18086:	89 c6                	mov    %eax,%esi
   18088:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1808b:	6a 00                	push   $0x0
   1808d:	50                   	push   %eax
   1808e:	8b 45 10             	mov    0x10(%ebp),%eax
   18091:	50                   	push   %eax
   18092:	e8 a9 de ff ff       	call   15f40 <_WriteCluster>
   18097:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1809a:	83 c4 10             	add    $0x10,%esp
   1809d:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   180a0:	85 f6                	test   %esi,%esi
   180a2:	79 c2                	jns    18066 <_VfatSetAllocationSizeInformation+0x3b6>
   180a4:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   180a9:	e9 42 fd ff ff       	jmp    17df0 <_VfatSetAllocationSizeInformation+0x140>
   180ae:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   180b1:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   180b4:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   180b7:	83 f8 ff             	cmp    $0xffffffff,%eax
   180ba:	74 e8                	je     180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   180bc:	83 f8 01             	cmp    $0x1,%eax
   180bf:	76 e3                	jbe    180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   180c1:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
   180c4:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   180c7:	8b 45 10             	mov    0x10(%ebp),%eax
   180ca:	6a 00                	push   $0x0
   180cc:	51                   	push   %ecx
   180cd:	52                   	push   %edx
   180ce:	50                   	push   %eax
   180cf:	e8 8c 09 00 00       	call   18a60 <_NextCluster>
   180d4:	83 c4 0c             	add    $0xc,%esp
   180d7:	89 c6                	mov    %eax,%esi
   180d9:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   180dc:	83 f6 ff             	xor    $0xffffffff,%esi
   180df:	c1 ee 1f             	shr    $0x1f,%esi
   180e2:	6a 00                	push   $0x0
   180e4:	50                   	push   %eax
   180e5:	8b 45 10             	mov    0x10(%ebp),%eax
   180e8:	50                   	push   %eax
   180e9:	e8 52 de ff ff       	call   15f40 <_WriteCluster>
   180ee:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   180f1:	83 c4 10             	add    $0x10,%esp
   180f4:	83 fa ff             	cmp    $0xffffffff,%edx
   180f7:	89 55 e8             	mov    %edx,0xffffffe8(%ebp)
   180fa:	0f 95 c0             	setne  %al
   180fd:	85 f0                	test   %esi,%eax
   180ff:	74 a3                	je     180a4 <_VfatSetAllocationSizeInformation+0x3f4>
   18101:	83 fa 01             	cmp    $0x1,%edx
   18104:	77 bb                	ja     180c1 <_VfatSetAllocationSizeInformation+0x411>
   18106:	b8 7f 00 00 c0       	mov    $0xc000007f,%eax
   1810b:	e9 e0 fc ff ff       	jmp    17df0 <_VfatSetAllocationSizeInformation+0x140>

00018110 <_VfatQueryInformation>:
   18110:	55                   	push   %ebp
   18111:	89 e5                	mov    %esp,%ebp
   18113:	57                   	push   %edi
   18114:	56                   	push   %esi
   18115:	53                   	push   %ebx
   18116:	83 ec 1c             	sub    $0x1c,%esp
   18119:	8b 7d 08             	mov    0x8(%ebp),%edi
   1811c:	8b 47 28             	mov    0x28(%edi),%eax
   1811f:	8b 57 20             	mov    0x20(%edi),%edx
   18122:	8b 70 0c             	mov    0xc(%eax),%esi
   18125:	8b 07                	mov    (%edi),%eax
   18127:	8b 5a 08             	mov    0x8(%edx),%ebx
   1812a:	8b 40 0c             	mov    0xc(%eax),%eax
   1812d:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   18130:	8b 42 04             	mov    0x4(%edx),%eax
   18133:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   18136:	f6 86 38 01 00 00 08 	testb  $0x8,0x138(%esi)
   1813d:	74 58                	je     18197 <_VfatQueryInformation+0x87>
   1813f:	8d 43 fc             	lea    0xfffffffc(%ebx),%eax
   18142:	83 f8 1e             	cmp    $0x1e,%eax
   18145:	76 49                	jbe    18190 <_VfatQueryInformation+0x80>
   18147:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
   1814c:	f6 86 38 01 00 00 08 	testb  $0x8,0x138(%esi)
   18153:	74 6b                	je     181c0 <_VfatQueryInformation+0xb0>
   18155:	8b 07                	mov    (%edi),%eax
   18157:	85 db                	test   %ebx,%ebx
   18159:	89 58 18             	mov    %ebx,0x18(%eax)
   1815c:	78 74                	js     181d2 <_VfatQueryInformation+0xc2>
   1815e:	8b 47 20             	mov    0x20(%edi),%eax
   18161:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
   18164:	8b 17                	mov    (%edi),%edx
   18166:	8b 40 04             	mov    0x4(%eax),%eax
   18169:	29 f0                	sub    %esi,%eax
   1816b:	89 42 1c             	mov    %eax,0x1c(%edx)
   1816e:	31 d2                	xor    %edx,%edx
   18170:	8b 0f                	mov    (%edi),%ecx
   18172:	ff 15 00 02 02 00    	call   *0x20200
   18178:	83 ec 0c             	sub    $0xc,%esp
   1817b:	57                   	push   %edi
   1817c:	e8 af 28 00 00       	call   1aa30 <_VfatFreeIrpContext>
   18181:	89 d8                	mov    %ebx,%eax
   18183:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18186:	5b                   	pop    %ebx
   18187:	5e                   	pop    %esi
   18188:	5f                   	pop    %edi
   18189:	5d                   	pop    %ebp
   1818a:	c3                   	ret    
   1818b:	90                   	nop    
   1818c:	8d 74 26 00          	lea    0x0(%esi),%esi
   18190:	ff 24 85 74 e6 01 00 	jmp    *0x1e674(,%eax,4)
   18197:	50                   	push   %eax
   18198:	50                   	push   %eax
   18199:	31 c0                	xor    %eax,%eax
   1819b:	8a 47 0c             	mov    0xc(%edi),%al
   1819e:	83 e0 01             	and    $0x1,%eax
   181a1:	50                   	push   %eax
   181a2:	8d 46 34             	lea    0x34(%esi),%eax
   181a5:	50                   	push   %eax
   181a6:	ff 15 40 02 02 00    	call   *0x20240
   181ac:	5a                   	pop    %edx
   181ad:	84 c0                	test   %al,%al
   181af:	59                   	pop    %ecx
   181b0:	75 8d                	jne    1813f <_VfatQueryInformation+0x2f>
   181b2:	83 ec 0c             	sub    $0xc,%esp
   181b5:	57                   	push   %edi
   181b6:	e8 65 2c 00 00       	call   1ae20 <_VfatQueueRequest>
   181bb:	eb c6                	jmp    18183 <_VfatQueryInformation+0x73>
   181bd:	8d 76 00             	lea    0x0(%esi),%esi
   181c0:	8d 4e 34             	lea    0x34(%esi),%ecx
   181c3:	ff 15 e8 01 02 00    	call   *0x201e8
   181c9:	8b 07                	mov    (%edi),%eax
   181cb:	85 db                	test   %ebx,%ebx
   181cd:	89 58 18             	mov    %ebx,0x18(%eax)
   181d0:	79 8c                	jns    1815e <_VfatQueryInformation+0x4e>
   181d2:	8b 07                	mov    (%edi),%eax
   181d4:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   181db:	eb 91                	jmp    1816e <_VfatQueryInformation+0x5e>
   181dd:	8b 5f 08             	mov    0x8(%edi),%ebx
   181e0:	b8 05 00 00 80       	mov    $0x80000005,%eax
   181e5:	83 7d f0 37          	cmpl   $0x37,0xfffffff0(%ebp)
   181e9:	0f 86 e7 00 00 00    	jbe    182d6 <_VfatQueryInformation+0x1c6>
   181ef:	f6 86 38 01 00 00 40 	testb  $0x40,0x138(%esi)
   181f6:	0f 84 a3 02 00 00    	je     1849f <_VfatQueryInformation+0x38f>
   181fc:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   181ff:	50                   	push   %eax
   18200:	66 8b 86 dc 00 00 00 	mov    0xdc(%esi),%ax
   18207:	25 ff ff 00 00       	and    $0xffff,%eax
   1820c:	50                   	push   %eax
   1820d:	66 8b 86 de 00 00 00 	mov    0xde(%esi),%ax
   18214:	25 ff ff 00 00       	and    $0xffff,%eax
   18219:	50                   	push   %eax
   1821a:	53                   	push   %ebx
   1821b:	e8 a0 a5 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   18220:	83 c4 10             	add    $0x10,%esp
   18223:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18226:	83 c0 08             	add    $0x8,%eax
   18229:	50                   	push   %eax
   1822a:	66 8b 86 e0 00 00 00 	mov    0xe0(%esi),%ax
   18231:	25 ff ff 00 00       	and    $0xffff,%eax
   18236:	50                   	push   %eax
   18237:	66 8b 86 e2 00 00 00 	mov    0xe2(%esi),%ax
   1823e:	25 ff ff 00 00       	and    $0xffff,%eax
   18243:	50                   	push   %eax
   18244:	53                   	push   %ebx
   18245:	e8 76 a5 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   1824a:	83 c4 10             	add    $0x10,%esp
   1824d:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18250:	83 c0 10             	add    $0x10,%eax
   18253:	50                   	push   %eax
   18254:	66 8b 86 d8 00 00 00 	mov    0xd8(%esi),%ax
   1825b:	25 ff ff 00 00       	and    $0xffff,%eax
   18260:	50                   	push   %eax
   18261:	66 8b 86 da 00 00 00 	mov    0xda(%esi),%ax
   18268:	25 ff ff 00 00       	and    $0xffff,%eax
   1826d:	50                   	push   %eax
   1826e:	53                   	push   %ebx
   1826f:	e8 4c a5 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   18274:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   18277:	8b 41 10             	mov    0x10(%ecx),%eax
   1827a:	8b 51 14             	mov    0x14(%ecx),%edx
   1827d:	89 41 18             	mov    %eax,0x18(%ecx)
   18280:	89 51 1c             	mov    %edx,0x1c(%ecx)
   18283:	89 34 24             	mov    %esi,(%esp)
   18286:	e8 85 e6 ff ff       	call   16910 <_vfatFCBIsDirectory>
   1828b:	83 c4 10             	add    $0x10,%esp
   1828e:	84 c0                	test   %al,%al
   18290:	0f 84 e9 01 00 00    	je     1847f <_VfatQueryInformation+0x36f>
   18296:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18299:	c7 40 28 00 00 00 00 	movl   $0x0,0x28(%eax)
   182a0:	c7 40 2c 00 00 00 00 	movl   $0x0,0x2c(%eax)
   182a7:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
   182ae:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
   182b5:	8b 86 e4 00 00 00    	mov    0xe4(%esi),%eax
   182bb:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   182be:	8a 00                	mov    (%eax),%al
   182c0:	25 ff 00 00 00       	and    $0xff,%eax
   182c5:	83 e0 3f             	and    $0x3f,%eax
   182c8:	89 42 30             	mov    %eax,0x30(%edx)
   182cb:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   182ce:	83 e8 38             	sub    $0x38,%eax
   182d1:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   182d4:	31 c0                	xor    %eax,%eax
   182d6:	89 c3                	mov    %eax,%ebx
   182d8:	e9 6f fe ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   182dd:	bb 02 00 00 c0       	mov    $0xc0000002,%ebx
   182e2:	e9 65 fe ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   182e7:	8b 4f 28             	mov    0x28(%edi),%ecx
   182ea:	8b 5d f0             	mov    0xfffffff0(%ebp),%ebx
   182ed:	89 4d e8             	mov    %ecx,0xffffffe8(%ebp)
   182f0:	ba 05 00 00 80       	mov    $0x80000005,%edx
   182f5:	8b 47 04             	mov    0x4(%edi),%eax
   182f8:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   182fb:	66 8b 86 00 01 00 00 	mov    0x100(%esi),%ax
   18302:	25 ff ff 00 00       	and    $0xffff,%eax
   18307:	83 c0 6a             	add    $0x6a,%eax
   1830a:	39 c3                	cmp    %eax,%ebx
   1830c:	0f 83 9a 00 00 00    	jae    183ac <_VfatQueryInformation+0x29c>
   18312:	89 d3                	mov    %edx,%ebx
   18314:	e9 33 fe ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   18319:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
   1831c:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   1831f:	8b 47 28             	mov    0x28(%edi),%eax
   18322:	52                   	push   %edx
   18323:	51                   	push   %ecx
   18324:	8b 57 04             	mov    0x4(%edi),%edx
   18327:	52                   	push   %edx
   18328:	89 f2                	mov    %esi,%edx
   1832a:	e8 91 f6 ff ff       	call   179c0 <_VfatGetPositionInformation>
   1832f:	83 c4 0c             	add    $0xc,%esp
   18332:	89 c3                	mov    %eax,%ebx
   18334:	e9 13 fe ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   18339:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   1833c:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
   1833f:	50                   	push   %eax
   18340:	8b 47 28             	mov    0x28(%edi),%eax
   18343:	52                   	push   %edx
   18344:	53                   	push   %ebx
   18345:	89 f2                	mov    %esi,%edx
   18347:	8b 4f 04             	mov    0x4(%edi),%ecx
   1834a:	51                   	push   %ecx
   1834b:	e8 e0 f7 ff ff       	call   17b30 <_VfatGetNameInformation>
   18350:	83 c4 10             	add    $0x10,%esp
   18353:	89 c3                	mov    %eax,%ebx
   18355:	e9 f2 fd ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   1835a:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1835d:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   18360:	50                   	push   %eax
   18361:	89 f0                	mov    %esi,%eax
   18363:	e8 58 f8 ff ff       	call   17bc0 <_VfatGetInternalInformation>
   18368:	5a                   	pop    %edx
   18369:	89 c3                	mov    %eax,%ebx
   1836b:	e9 dc fd ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   18370:	83 ec 0c             	sub    $0xc,%esp
   18373:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   18376:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   18379:	50                   	push   %eax
   1837a:	89 f0                	mov    %esi,%eax
   1837c:	e8 9f f5 ff ff       	call   17920 <_VfatGetStandardInformation>
   18381:	83 c4 10             	add    $0x10,%esp
   18384:	89 c3                	mov    %eax,%ebx
   18386:	e9 c1 fd ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   1838b:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
   1838e:	53                   	push   %ebx
   1838f:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   18392:	8b 47 28             	mov    0x28(%edi),%eax
   18395:	52                   	push   %edx
   18396:	51                   	push   %ecx
   18397:	8b 57 04             	mov    0x4(%edi),%edx
   1839a:	52                   	push   %edx
   1839b:	89 f2                	mov    %esi,%edx
   1839d:	e8 4e f6 ff ff       	call   179f0 <_VfatGetBasicInformation>
   183a2:	83 c4 10             	add    $0x10,%esp
   183a5:	89 c3                	mov    %eax,%ebx
   183a7:	e9 a0 fd ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   183ac:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
   183af:	50                   	push   %eax
   183b0:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   183b3:	52                   	push   %edx
   183b4:	50                   	push   %eax
   183b5:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   183b8:	89 f2                	mov    %esi,%edx
   183ba:	50                   	push   %eax
   183bb:	89 c8                	mov    %ecx,%eax
   183bd:	e8 2e f6 ff ff       	call   179f0 <_VfatGetBasicInformation>
   183c2:	83 c4 10             	add    $0x10,%esp
   183c5:	89 c2                	mov    %eax,%edx
   183c7:	85 c0                	test   %eax,%eax
   183c9:	0f 88 43 ff ff ff    	js     18312 <_VfatQueryInformation+0x202>
   183cf:	83 ec 0c             	sub    $0xc,%esp
   183d2:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   183d5:	83 c2 28             	add    $0x28,%edx
   183d8:	8d 4d f0             	lea    0xfffffff0(%ebp),%ecx
   183db:	89 f0                	mov    %esi,%eax
   183dd:	51                   	push   %ecx
   183de:	e8 3d f5 ff ff       	call   17920 <_VfatGetStandardInformation>
   183e3:	83 c4 10             	add    $0x10,%esp
   183e6:	89 c2                	mov    %eax,%edx
   183e8:	85 c0                	test   %eax,%eax
   183ea:	0f 88 22 ff ff ff    	js     18312 <_VfatQueryInformation+0x202>
   183f0:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   183f3:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   183f6:	83 c2 40             	add    $0x40,%edx
   183f9:	50                   	push   %eax
   183fa:	89 f0                	mov    %esi,%eax
   183fc:	e8 bf f7 ff ff       	call   17bc0 <_VfatGetInternalInformation>
   18401:	5a                   	pop    %edx
   18402:	85 c0                	test   %eax,%eax
   18404:	89 c2                	mov    %eax,%edx
   18406:	0f 88 06 ff ff ff    	js     18312 <_VfatQueryInformation+0x202>
   1840c:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   1840f:	8d 4d f0             	lea    0xfffffff0(%ebp),%ecx
   18412:	89 d0                	mov    %edx,%eax
   18414:	c7 42 48 00 00 00 00 	movl   $0x0,0x48(%edx)
   1841b:	83 c0 50             	add    $0x50,%eax
   1841e:	51                   	push   %ecx
   1841f:	50                   	push   %eax
   18420:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   18423:	89 f2                	mov    %esi,%edx
   18425:	50                   	push   %eax
   18426:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   18429:	e8 92 f5 ff ff       	call   179c0 <_VfatGetPositionInformation>
   1842e:	83 c4 0c             	add    $0xc,%esp
   18431:	89 c2                	mov    %eax,%edx
   18433:	85 c0                	test   %eax,%eax
   18435:	0f 88 d7 fe ff ff    	js     18312 <_VfatQueryInformation+0x202>
   1843b:	50                   	push   %eax
   1843c:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1843f:	89 f2                	mov    %esi,%edx
   18441:	50                   	push   %eax
   18442:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18445:	83 c0 60             	add    $0x60,%eax
   18448:	50                   	push   %eax
   18449:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   1844c:	50                   	push   %eax
   1844d:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   18450:	e8 db f6 ff ff       	call   17b30 <_VfatGetNameInformation>
   18455:	83 c4 10             	add    $0x10,%esp
   18458:	89 c2                	mov    %eax,%edx
   1845a:	85 c0                	test   %eax,%eax
   1845c:	0f 88 b0 fe ff ff    	js     18312 <_VfatQueryInformation+0x202>
   18462:	66 8b 86 00 01 00 00 	mov    0x100(%esi),%ax
   18469:	31 d2                	xor    %edx,%edx
   1846b:	25 ff ff 00 00       	and    $0xffff,%eax
   18470:	29 c3                	sub    %eax,%ebx
   18472:	8d 43 96             	lea    0xffffff96(%ebx),%eax
   18475:	89 d3                	mov    %edx,%ebx
   18477:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1847a:	e9 cd fc ff ff       	jmp    1814c <_VfatQueryInformation+0x3c>
   1847f:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   18482:	8b 46 10             	mov    0x10(%esi),%eax
   18485:	8b 56 14             	mov    0x14(%esi),%edx
   18488:	89 51 24             	mov    %edx,0x24(%ecx)
   1848b:	89 41 20             	mov    %eax,0x20(%ecx)
   1848e:	8b 46 18             	mov    0x18(%esi),%eax
   18491:	8b 56 1c             	mov    0x1c(%esi),%edx
   18494:	89 51 2c             	mov    %edx,0x2c(%ecx)
   18497:	89 41 28             	mov    %eax,0x28(%ecx)
   1849a:	e9 16 fe ff ff       	jmp    182b5 <_VfatQueryInformation+0x1a5>
   1849f:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   184a2:	50                   	push   %eax
   184a3:	66 8b 86 b2 00 00 00 	mov    0xb2(%esi),%ax
   184aa:	25 ff ff 00 00       	and    $0xffff,%eax
   184af:	50                   	push   %eax
   184b0:	66 8b 86 b4 00 00 00 	mov    0xb4(%esi),%ax
   184b7:	25 ff ff 00 00       	and    $0xffff,%eax
   184bc:	50                   	push   %eax
   184bd:	53                   	push   %ebx
   184be:	e8 fd a2 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   184c3:	83 c4 10             	add    $0x10,%esp
   184c6:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   184c9:	83 c0 08             	add    $0x8,%eax
   184cc:	50                   	push   %eax
   184cd:	6a 00                	push   $0x0
   184cf:	66 8b 86 b6 00 00 00 	mov    0xb6(%esi),%ax
   184d6:	25 ff ff 00 00       	and    $0xffff,%eax
   184db:	50                   	push   %eax
   184dc:	53                   	push   %ebx
   184dd:	e8 de a2 ff ff       	call   127c0 <_FsdDosDateTimeToSystemTime>
   184e2:	83 c4 10             	add    $0x10,%esp
   184e5:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   184e8:	83 c0 10             	add    $0x10,%eax
   184eb:	50                   	push   %eax
   184ec:	66 8b 86 ba 00 00 00 	mov    0xba(%esi),%ax
   184f3:	25 ff ff 00 00       	and    $0xffff,%eax
   184f8:	50                   	push   %eax
   184f9:	66 8b 86 bc 00 00 00 	mov    0xbc(%esi),%ax
   18500:	e9 63 fd ff ff       	jmp    18268 <_VfatQueryInformation+0x158>
   18505:	8d 74 26 00          	lea    0x0(%esi),%esi
   18509:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00018510 <_VfatSetInformation>:
   18510:	55                   	push   %ebp
   18511:	89 e5                	mov    %esp,%ebp
   18513:	57                   	push   %edi
   18514:	56                   	push   %esi
   18515:	53                   	push   %ebx
   18516:	83 ec 0c             	sub    $0xc,%esp
   18519:	8b 75 08             	mov    0x8(%ebp),%esi
   1851c:	8b 46 20             	mov    0x20(%esi),%eax
   1851f:	8a 56 0c             	mov    0xc(%esi),%dl
   18522:	83 e2 01             	and    $0x1,%edx
   18525:	8b 58 08             	mov    0x8(%eax),%ebx
   18528:	8b 46 28             	mov    0x28(%esi),%eax
   1852b:	8b 78 0c             	mov    0xc(%eax),%edi
   1852e:	8b 06                	mov    (%esi),%eax
   18530:	8b 40 0c             	mov    0xc(%eax),%eax
   18533:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   18536:	f6 87 38 01 00 00 08 	testb  $0x8,0x138(%edi)
   1853d:	74 48                	je     18587 <_VfatSetInformation+0x77>
   1853f:	8d 43 fc             	lea    0xfffffffc(%ebx),%eax
   18542:	83 f8 10             	cmp    $0x10,%eax
   18545:	76 39                	jbe    18580 <_VfatSetInformation+0x70>
   18547:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx

   1854c:	f6 87 38 01 00 00 08 	testb  $0x8,0x138(%edi)
   18553:	74 5b                	je     185b0 <_VfatSetInformation+0xa0>
   18555:	8b 06                	mov    (%esi),%eax
   18557:	31 d2                	xor    %edx,%edx
   18559:	89 58 18             	mov    %ebx,0x18(%eax)
   1855c:	8b 06                	mov    (%esi),%eax
   1855e:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   18565:	8b 0e                	mov    (%esi),%ecx
   18567:	ff 15 00 02 02 00    	call   *0x20200
   1856d:	83 ec 0c             	sub    $0xc,%esp
   18570:	56                   	push   %esi
   18571:	e8 ba 24 00 00       	call   1aa30 <_VfatFreeIrpContext>
   18576:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18579:	89 d8                	mov    %ebx,%eax
   1857b:	5b                   	pop    %ebx
   1857c:	5e                   	pop    %esi
   1857d:	5f                   	pop    %edi
   1857e:	5d                   	pop    %ebp
   1857f:	c3                   	ret    
   18580:	ff 24 85 f8 e6 01 00 	jmp    *0x1e6f8(,%eax,4)
   18587:	50                   	push   %eax
   18588:	50                   	push   %eax
   18589:	31 c0                	xor    %eax,%eax
   1858b:	88 d0                	mov    %dl,%al
   1858d:	50                   	push   %eax
   1858e:	8d 47 34             	lea    0x34(%edi),%eax
   18591:	50                   	push   %eax
   18592:	ff 15 3c 02 02 00    	call   *0x2023c
   18598:	5a                   	pop    %edx
   18599:	84 c0                	test   %al,%al
   1859b:	59                   	pop    %ecx
   1859c:	75 a1                	jne    1853f <_VfatSetInformation+0x2f>
   1859e:	89 75 08             	mov    %esi,0x8(%ebp)
   185a1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   185a4:	5b                   	pop    %ebx
   185a5:	5e                   	pop    %esi
   185a6:	5f                   	pop    %edi
   185a7:	5d                   	pop    %ebp
   185a8:	e9 73 28 00 00       	jmp    1ae20 <_VfatQueueRequest>
   185ad:	8d 76 00             	lea    0x0(%esi),%esi
   185b0:	8d 4f 34             	lea    0x34(%edi),%ecx
   185b3:	ff 15 e8 01 02 00    	call   *0x201e8
   185b9:	eb 9a                	jmp    18555 <_VfatSetInformation+0x45>
   185bb:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   185be:	50                   	push   %eax
   185bf:	8b 46 08             	mov    0x8(%esi),%eax
   185c2:	50                   	push   %eax
   185c3:	57                   	push   %edi
   185c4:	8b 46 28             	mov    0x28(%esi),%eax
   185c7:	50                   	push   %eax
   185c8:	e8 e3 f6 ff ff       	call   17cb0 <_VfatSetAllocationSizeInformation>
   185cd:	83 c4 10             	add    $0x10,%esp
   185d0:	89 c3                	mov    %eax,%ebx
   185d2:	e9 75 ff ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   185d7:	8b 5d f0             	mov    0xfffffff0(%ebp),%ebx
   185da:	8b 4e 28             	mov    0x28(%esi),%ecx
   185dd:	8b 03                	mov    (%ebx),%eax
   185df:	8b 53 04             	mov    0x4(%ebx),%edx
   185e2:	31 db                	xor    %ebx,%ebx
   185e4:	89 41 38             	mov    %eax,0x38(%ecx)
   185e7:	89 51 3c             	mov    %edx,0x3c(%ecx)
   185ea:	e9 5d ff ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   185ef:	8b 5e 28             	mov    0x28(%esi),%ebx
   185f2:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   185f9:	8b 87 e4 00 00 00    	mov    0xe4(%edi),%eax
   185ff:	ba 21 01 00 c0       	mov    $0xc0000121,%edx
   18604:	f6 00 01             	testb  $0x1,(%eax)
   18607:	0f 84 de 00 00 00    	je     186eb <_VfatSetInformation+0x1db>
   1860d:	89 d3                	mov    %edx,%ebx
   1860f:	e9 38 ff ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   18614:	bb 02 00 00 c0       	mov    $0xc0000002,%ebx
   18619:	e9 2e ff ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   1861e:	8b 5e 08             	mov    0x8(%esi),%ebx
   18621:	f6 87 38 01 00 00 40 	testb  $0x40,0x138(%edi)
   18628:	75 79                	jne    186a3 <_VfatSetInformation+0x193>
   1862a:	8d 87 b2 00 00 00    	lea    0xb2(%edi),%eax
   18630:	50                   	push   %eax
   18631:	8d 87 b4 00 00 00    	lea    0xb4(%edi),%eax
   18637:	50                   	push   %eax
   18638:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1863b:	50                   	push   %eax
   1863c:	53                   	push   %ebx
   1863d:	e8 2e a2 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   18642:	83 c4 10             	add    $0x10,%esp
   18645:	8d 87 b6 00 00 00    	lea    0xb6(%edi),%eax
   1864b:	6a 00                	push   $0x0
   1864d:	50                   	push   %eax
   1864e:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   18651:	83 c0 08             	add    $0x8,%eax
   18654:	50                   	push   %eax
   18655:	53                   	push   %ebx
   18656:	e8 15 a2 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   1865b:	83 c4 10             	add    $0x10,%esp
   1865e:	8d 87 ba 00 00 00    	lea    0xba(%edi),%eax
   18664:	50                   	push   %eax
   18665:	8d 87 bc 00 00 00    	lea    0xbc(%edi),%eax
   1866b:	50                   	push   %eax
   1866c:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1866f:	83 c0 10             	add    $0x10,%eax
   18672:	50                   	push   %eax
   18673:	53                   	push   %ebx
   18674:	e8 f7 a1 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   18679:	8b 5d f0             	mov    0xfffffff0(%ebp),%ebx
   1867c:	8b 87 e4 00 00 00    	mov    0xe4(%edi),%eax
   18682:	8a 4b 20             	mov    0x20(%ebx),%cl
   18685:	83 e1 27             	and    $0x27,%ecx
   18688:	31 db                	xor    %ebx,%ebx
   1868a:	8a 10                	mov    (%eax),%dl
   1868c:	83 e2 58             	and    $0x58,%edx
   1868f:	09 ca                	or     %ecx,%edx
   18691:	88 10                	mov    %dl,(%eax)
   18693:	89 3c 24             	mov    %edi,(%esp)
   18696:	e8 c5 b7 ff ff       	call   13e60 <_VfatUpdateEntry>
   1869b:	83 c4 10             	add    $0x10,%esp
   1869e:	e9 a9 fe ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   186a3:	8d 87 dc 00 00 00    	lea    0xdc(%edi),%eax
   186a9:	50                   	push   %eax
   186aa:	8d 87 de 00 00 00    	lea    0xde(%edi),%eax
   186b0:	50                   	push   %eax
   186b1:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   186b4:	50                   	push   %eax
   186b5:	53                   	push   %ebx
   186b6:	e8 b5 a1 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   186bb:	83 c4 10             	add    $0x10,%esp
   186be:	8d 87 e0 00 00 00    	lea    0xe0(%edi),%eax
   186c4:	50                   	push   %eax
   186c5:	8d 87 e2 00 00 00    	lea    0xe2(%edi),%eax
   186cb:	50                   	push   %eax
   186cc:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   186cf:	83 c0 08             	add    $0x8,%eax
   186d2:	50                   	push   %eax
   186d3:	53                   	push   %ebx
   186d4:	e8 97 a1 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   186d9:	83 c4 10             	add    $0x10,%esp
   186dc:	8d 87 d8 00 00 00    	lea    0xd8(%edi),%eax
   186e2:	50                   	push   %eax
   186e3:	8d 87 da 00 00 00    	lea    0xda(%edi),%eax
   186e9:	eb 80                	jmp    1866b <_VfatSetInformation+0x15b>
   186eb:	83 ec 0c             	sub    $0xc,%esp
   186ee:	57                   	push   %edi
   186ef:	e8 3c e2 ff ff       	call   16930 <_vfatFCBIsRoot>
   186f4:	83 c4 10             	add    $0x10,%esp
   186f7:	84 c0                	test   %al,%al
   186f9:	0f 85 a9 00 00 00    	jne    187a8 <_VfatSetInformation+0x298>
   186ff:	66 8b 87 e8 00 00 00 	mov    0xe8(%edi),%ax
   18706:	66 83 f8 02          	cmp    $0x2,%ax
   1870a:	0f 84 88 00 00 00    	je     18798 <_VfatSetInformation+0x288>
   18710:	66 83 f8 04          	cmp    $0x4,%ax
   18714:	0f 84 9a 00 00 00    	je     187b4 <_VfatSetInformation+0x2a4>
   1871a:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1871d:	80 38 00             	cmpb   $0x0,(%eax)
   18720:	75 0e                	jne    18730 <_VfatSetInformation+0x220>
   18722:	c6 43 25 00          	movb   $0x0,0x25(%ebx)
   18726:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   18729:	89 d3                	mov    %edx,%ebx
   1872b:	e9 1c fe ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   18730:	50                   	push   %eax
   18731:	50                   	push   %eax
   18732:	6a 00                	push   $0x0
   18734:	8b 43 14             	mov    0x14(%ebx),%eax
   18737:	50                   	push   %eax
   18738:	e8 33 42 00 00       	call   1c970 <_MmFlushImageSection@8>
   1873d:	5a                   	pop    %edx
   1873e:	84 c0                	test   %al,%al
   18740:	59                   	pop    %ecx
   18741:	0f 84 84 00 00 00    	je     187cb <_VfatSetInformation+0x2bb>
   18747:	83 bf 64 01 00 00 01 	cmpl   $0x1,0x164(%edi)
   1874e:	0f 86 86 00 00 00    	jbe    187da <_VfatSetInformation+0x2ca>
   18754:	50                   	push   %eax
   18755:	68 2d 01 00 00       	push   $0x12d
   1875a:	68 3f e6 01 00       	push   $0x1e63f
   1875f:	68 47 e6 01 00       	push   $0x1e647
   18764:	ff 15 38 02 02 00    	call   *0x20238
   1876a:	8b 5b 14             	mov    0x14(%ebx),%ebx
   1876d:	58                   	pop    %eax
   1876e:	53                   	push   %ebx
   1876f:	e8 0c 42 00 00       	call   1c980 <_CcGetFileObjectFromSectionPtrs@4>
   18774:	5a                   	pop    %edx
   18775:	59                   	pop    %ecx
   18776:	50                   	push   %eax
   18777:	8b 9f 64 01 00 00    	mov    0x164(%edi),%ebx
   1877d:	53                   	push   %ebx
   1877e:	68 f0 e6 01 00       	push   $0x1e6f0
   18783:	ff 15 38 02 02 00    	call   *0x20238
   18789:	c7 45 ec 22 00 00 c0 	movl   $0xc0000022,0xffffffec(%ebp)
   18790:	83 c4 10             	add    $0x10,%esp
   18793:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   18796:	eb 91                	jmp    18729 <_VfatSetInformation+0x219>
   18798:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
   1879e:	66 83 38 2e          	cmpw   $0x2e,(%eax)
   187a2:	0f 85 72 ff ff ff    	jne    1871a <_VfatSetInformation+0x20a>
   187a8:	ba 22 00 00 c0       	mov    $0xc0000022,%edx
   187ad:	89 d3                	mov    %edx,%ebx
   187af:	e9 98 fd ff ff       	jmp    1854c <_VfatSetInformation+0x3c>
   187b4:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
   187ba:	66 83 38 2e          	cmpw   $0x2e,(%eax)
   187be:	0f 85 56 ff ff ff    	jne    1871a <_VfatSetInformation+0x20a>
   187c4:	66 83 78 02 2e       	cmpw   $0x2e,0x2(%eax)
   187c9:	eb d7                	jmp    187a2 <_VfatSetInformation+0x292>
   187cb:	c7 45 ec 21 01 00 c0 	movl   $0xc0000121,0xffffffec(%ebp)
   187d2:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   187d5:	e9 4f ff ff ff       	jmp    18729 <_VfatSetInformation+0x219>
   187da:	8b 8f 38 01 00 00    	mov    0x138(%edi),%ecx
   187e0:	83 ec 0c             	sub    $0xc,%esp
   187e3:	83 c9 02             	or     $0x2,%ecx
   187e6:	89 8f 38 01 00 00    	mov    %ecx,0x138(%edi)
   187ec:	c6 43 25 01          	movb   $0x1,0x25(%ebx)
   187f0:	57                   	push   %edi
   187f1:	e8 1a e1 ff ff       	call   16910 <_vfatFCBIsDirectory>
   187f6:	83 c4 10             	add    $0x10,%esp
   187f9:	84 c0                	test   %al,%al
   187fb:	0f 84 25 ff ff ff    	je     18726 <_VfatSetInformation+0x216>
   18801:	83 ec 0c             	sub    $0xc,%esp
   18804:	57                   	push   %edi
   18805:	e8 96 ae ff ff       	call   136a0 <_VfatIsDirectoryEmpty>
   1880a:	83 c4 10             	add    $0x10,%esp
   1880d:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
   18814:	84 c0                	test   %al,%al
   18816:	0f 85 0a ff ff ff    	jne    18726 <_VfatSetInformation+0x216>
   1881c:	c7 45 ec 01 01 00 c0 	movl   $0xc0000101,0xffffffec(%ebp)
   18823:	8b 97 38 01 00 00    	mov    0x138(%edi),%edx
   18829:	83 e2 fd             	and    $0xfffffffd,%edx
   1882c:	89 97 38 01 00 00    	mov    %edx,0x138(%edi)
   18832:	c6 43 25 00          	movb   $0x0,0x25(%ebx)
   18836:	e9 eb fe ff ff       	jmp    18726 <_VfatSetInformation+0x216>
   1883b:	90                   	nop    
   1883c:	90                   	nop    
   1883d:	90                   	nop    
   1883e:	90                   	nop    
   1883f:	90                   	nop    

00018840 <_DriverEntry@8>:
   18840:	55                   	push   %ebp
   18841:	89 e5                	mov    %esp,%ebp
   18843:	57                   	push   %edi
   18844:	56                   	push   %esi
   18845:	53                   	push   %ebx
   18846:	83 ec 20             	sub    $0x20,%esp
   18849:	8d 75 e8             	lea    0xffffffe8(%ebp),%esi
   1884c:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1884f:	66 c7 45 e8 08 00    	movw   $0x8,0xffffffe8(%ebp)
   18855:	66 c7 45 ea 0a 00    	movw   $0xa,0xffffffea(%ebp)
   1885b:	c7 45 ec 40 e7 01 00 	movl   $0x1e740,0xffffffec(%ebp)
   18862:	8d 7d e4             	lea    0xffffffe4(%ebp),%edi
   18865:	57                   	push   %edi
   18866:	6a 00                	push   $0x0
   18868:	6a 00                	push   $0x0
   1886a:	6a 08                	push   $0x8
   1886c:	56                   	push   %esi
   1886d:	68 c0 01 00 00       	push   $0x1c0
   18872:	53                   	push   %ebx
   18873:	ff 15 a0 02 02 00    	call   *0x202a0
   18879:	5a                   	pop    %edx
   1887a:	85 c0                	test   %eax,%eax
   1887c:	0f 88 95 01 00 00    	js     18a17 <_DriverEntry@8+0x1d7>
   18882:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   18885:	8b 40 28             	mov    0x28(%eax),%eax
   18888:	51                   	push   %ecx
   18889:	a3 10 f0 01 00       	mov    %eax,0x1f010
   1888e:	68 c0 01 00 00       	push   $0x1c0
   18893:	6a 00                	push   $0x0
   18895:	50                   	push   %eax
   18896:	e8 55 3f 00 00       	call   1c7f0 <_memset>
   1889b:	a1 10 f0 01 00       	mov    0x1f010,%eax
   188a0:	89 18                	mov    %ebx,(%eax)
   188a2:	a1 10 f0 01 00       	mov    0x1f010,%eax
   188a7:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
   188aa:	89 50 04             	mov    %edx,0x4(%eax)
   188ad:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   188b0:	c7 40 1c 10 00 00 00 	movl   $0x10,0x1c(%eax)
   188b7:	c7 43 40 10 ad 01 00 	movl   $0x1ad10,0x40(%ebx)
   188be:	c7 43 38 10 ad 01 00 	movl   $0x1ad10,0x38(%ebx)
   188c5:	c7 43 44 10 ad 01 00 	movl   $0x1ad10,0x44(%ebx)
   188cc:	c7 43 48 10 ad 01 00 	movl   $0x1ad10,0x48(%ebx)
   188d3:	c7 43 6c 10 ad 01 00 	movl   $0x1ad10,0x6c(%ebx)
   188da:	c7 43 4c 10 ad 01 00 	movl   $0x1ad10,0x4c(%ebx)
   188e1:	c7 43 50 10 ad 01 00 	movl   $0x1ad10,0x50(%ebx)
   188e8:	c7 43 68 10 ad 01 00 	movl   $0x1ad10,0x68(%ebx)
   188ef:	c7 43 60 10 ad 01 00 	movl   $0x1ad10,0x60(%ebx)
   188f6:	c7 43 64 10 ad 01 00 	movl   $0x1ad10,0x64(%ebx)
   188fd:	c7 43 78 e0 a0 01 00 	movl   $0x1a0e0,0x78(%ebx)
   18904:	c7 43 7c 10 ad 01 00 	movl   $0x1ad10,0x7c(%ebx)
   1890b:	c7 83 80 00 00 00 10 	movl   $0x1ad10,0x80(%ebx)
   18912:	ad 01 00 
   18915:	c7 43 5c 10 ad 01 00 	movl   $0x1ad10,0x5c(%ebx)
   1891c:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
   18923:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18928:	c7 80 b0 01 00 00 f0 	movl   $0x162f0,0x1b0(%eax)
   1892f:	62 01 00 
   18932:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18937:	c7 80 b4 01 00 00 20 	movl   $0x16320,0x1b4(%eax)
   1893e:	63 01 00 
   18941:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18946:	c7 80 b8 01 00 00 40 	movl   $0x16340,0x1b8(%eax)
   1894d:	63 01 00 
   18950:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18955:	c7 80 bc 01 00 00 70 	movl   $0x16370,0x1bc(%eax)
   1895c:	63 01 00 
   1895f:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18964:	05 40 01 00 00       	add    $0x140,%eax
   18969:	89 04 24             	mov    %eax,(%esp)
   1896c:	e8 1f da ff ff       	call   16390 <_VfatInitFastIoRoutines>
   18971:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18976:	83 c4 0c             	add    $0xc,%esp
   18979:	05 40 01 00 00       	add    $0x140,%eax
   1897e:	89 43 28             	mov    %eax,0x28(%ebx)
   18981:	6a 00                	push   $0x0
   18983:	a1 10 f0 01 00       	mov    0x1f010,%eax
   18988:	68 56 46 43 42       	push   $0x42434656
   1898d:	83 c0 50             	add    $0x50,%eax
   18990:	68 e4 01 00 00       	push   $0x1e4
   18995:	6a 00                	push   $0x0
   18997:	6a 00                	push   $0x0
   18999:	6a 00                	push   $0x0
   1899b:	50                   	push   %eax
   1899c:	ff 15 50 02 02 00    	call   *0x20250
   189a2:	a1 10 f0 01 00       	mov    0x1f010,%eax
   189a7:	05 a0 00 00 00       	add    $0xa0,%eax
   189ac:	6a 00                	push   $0x0
   189ae:	68 56 43 43 42       	push   $0x42434356
   189b3:	6a 18                	push   $0x18
   189b5:	6a 00                	push   $0x0
   189b7:	6a 00                	push   $0x0
   189b9:	6a 00                	push   $0x0
   189bb:	50                   	push   %eax
   189bc:	ff 15 50 02 02 00    	call   *0x20250
   189c2:	a1 10 f0 01 00       	mov    0x1f010,%eax
   189c7:	05 f0 00 00 00       	add    $0xf0,%eax
   189cc:	6a 00                	push   $0x0
   189ce:	68 56 49 52 50       	push   $0x50524956
   189d3:	6a 40                	push   $0x40
   189d5:	6a 00                	push   $0x0
   189d7:	6a 00                	push   $0x0
   189d9:	6a 00                	push   $0x0
   189db:	50                   	push   %eax
   189dc:	ff 15 50 02 02 00    	call   *0x20250
   189e2:	a1 10 f0 01 00       	mov    0x1f010,%eax
   189e7:	83 c0 0c             	add    $0xc,%eax
   189ea:	52                   	push   %edx
   189eb:	52                   	push   %edx
   189ec:	50                   	push   %eax
   189ed:	ff 15 54 02 02 00    	call   *0x20254

static __inline VOID
InitializeListHead(
  IN PLIST_ENTRY  ListHead)
{
   189f3:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   189f9:	8d 42 44             	lea    0x44(%edx),%eax
  ListHead->Flink = ListHead->Blink = ListHead;
   189fc:	89 42 44             	mov    %eax,0x44(%edx)
   189ff:	89 40 04             	mov    %eax,0x4(%eax)
   18a02:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   18a05:	50                   	push   %eax
   18a06:	e8 a5 3f 00 00       	call   1c9b0 <_IoRegisterFileSystem@4>
   18a0b:	31 c0                	xor    %eax,%eax
   18a0d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18a10:	5b                   	pop    %ebx
   18a11:	5e                   	pop    %esi
   18a12:	5f                   	pop    %edi
   18a13:	5d                   	pop    %ebp
   18a14:	c2 08 00             	ret    $0x8
   18a17:	3d 00 00 00 40       	cmp    $0x40000000,%eax
   18a1c:	0f 94 c2             	sete   %dl
   18a1f:	3d 35 00 00 c0       	cmp    $0xc0000035,%eax
   18a24:	0f 94 c0             	sete   %al
   18a27:	09 d0                	or     %edx,%eax
   18a29:	a8 01                	test   $0x1,%al
   18a2b:	0f 84 51 fe ff ff    	je     18882 <_DriverEntry@8+0x42>
   18a31:	50                   	push   %eax
   18a32:	50                   	push   %eax
   18a33:	68 4a e7 01 00       	push   $0x1e74a
   18a38:	56                   	push   %esi
   18a39:	ff 15 28 03 02 00    	call   *0x20328
   18a3f:	89 3c 24             	mov    %edi,(%esp)
   18a42:	6a 00                	push   $0x0
   18a44:	6a 00                	push   $0x0
   18a46:	6a 08                	push   $0x8
   18a48:	56                   	push   %esi
   18a49:	68 c0 01 00 00       	push   $0x1c0
   18a4e:	53                   	push   %ebx
   18a4f:	ff 15 a0 02 02 00    	call   *0x202a0
   18a55:	5e                   	pop    %esi
   18a56:	85 c0                	test   %eax,%eax
   18a58:	0f 89 24 fe ff ff    	jns    18882 <_DriverEntry@8+0x42>
   18a5e:	eb ad                	jmp    18a0d <_DriverEntry@8+0x1cd>

00018a60 <_NextCluster>:
     /*
      * Return the next cluster in a FAT chain, possibly extending the chain if
      * necessary
      */
{
   18a60:	55                   	push   %ebp
   18a61:	89 e5                	mov    %esp,%ebp
   18a63:	8b 4d 08             	mov    0x8(%ebp),%ecx
   18a66:	8b 55 10             	mov    0x10(%ebp),%edx
   18a69:	8a 45 14             	mov    0x14(%ebp),%al
 if (FirstCluster == 1)
   18a6c:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
   18a70:	74 20                	je     18a92 <_NextCluster+0x32>
    {
      (*CurrentCluster) += DeviceExt->FatInfo.SectorsPerCluster;
      return(STATUS_SUCCESS);
    }
  else
    {
      if (Extend)
   18a72:	84 c0                	test   %al,%al
   18a74:	74 0b                	je     18a81 <_NextCluster+0x21>
        return GetNextClusterExtend(DeviceExt, (*CurrentCluster), CurrentCluster);
   18a76:	8b 02                	mov    (%edx),%eax
   18a78:	89 45 0c             	mov    %eax,0xc(%ebp)
      else
        return GetNextCluster(DeviceExt, (*CurrentCluster), CurrentCluster);
    }
}
   18a7b:	5d                   	pop    %ebp
   18a7c:	e9 ff d5 ff ff       	jmp    16080 <_GetNextClusterExtend>
   18a81:	89 55 10             	mov    %edx,0x10(%ebp)
   18a84:	8b 02                	mov    (%edx),%eax
   18a86:	89 4d 08             	mov    %ecx,0x8(%ebp)
   18a89:	89 45 0c             	mov    %eax,0xc(%ebp)
   18a8c:	5d                   	pop    %ebp
   18a8d:	e9 9e d5 ff ff       	jmp    16030 <_GetNextCluster>
   18a92:	8b 81 a4 00 04 00    	mov    0x400a4(%ecx),%eax
   18a98:	8b 0a                	mov    (%edx),%ecx
   18a9a:	01 c1                	add    %eax,%ecx
   18a9c:	31 c0                	xor    %eax,%eax
   18a9e:	89 0a                	mov    %ecx,(%edx)
   18aa0:	5d                   	pop    %ebp
   18aa1:	c3                   	ret    
   18aa2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   18aa9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00018ab0 <_OffsetToCluster>:

NTSTATUS
OffsetToCluster(PDEVICE_EXTENSION DeviceExt,
		ULONG FirstCluster,
		ULONG FileOffset,
		PULONG Cluster,
		BOOLEAN Extend)
     /*
      * Return the cluster corresponding to an offset within a file,
      * possibly extending the file if necessary
      */
{
   18ab0:	55                   	push   %ebp
   18ab1:	89 e5                	mov    %esp,%ebp
   18ab3:	57                   	push   %edi
   18ab4:	56                   	push   %esi
   18ab5:	53                   	push   %ebx
   18ab6:	83 ec 0c             	sub    $0xc,%esp
   18ab9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   18abc:	8a 45 18             	mov    0x18(%ebp),%al
   18abf:	8b 75 08             	mov    0x8(%ebp),%esi
   18ac2:	88 45 ef             	mov    %al,0xffffffef(%ebp)
  ULONG CurrentCluster;
  ULONG i;
  NTSTATUS Status;
/*
  DPRINT("OffsetToCluster(DeviceExt %x, Fcb %x, FirstCluster %x,"
         " FileOffset %x, Cluster %x, Extend %d)\n", DeviceExt, 
         Fcb, FirstCluster, FileOffset, Cluster, Extend);
*/
  if (FirstCluster == 0)
   18ac5:	85 db                	test   %ebx,%ebx
   18ac7:	0f 84 b3 00 00 00    	je     18b80 <_OffsetToCluster+0xd0>
  {
    DbgPrint("OffsetToCluster is called with FirstCluster = 0!\n");
    KEBUGCHECK(0);
  }

  if (FirstCluster == 1)
   18acd:	83 fb 01             	cmp    $0x1,%ebx
   18ad0:	74 46                	je     18b18 <_OffsetToCluster+0x68>
    {
      /* root of FAT16 or FAT12 */
      *Cluster = DeviceExt->FatInfo.rootStart + FileOffset
	/ (DeviceExt->FatInfo.BytesPerCluster) * DeviceExt->FatInfo.SectorsPerCluster;
      return(STATUS_SUCCESS);
    }
  else
    {
      CurrentCluster = FirstCluster;
   18ad2:	89 5d f0             	mov    %ebx,0xfffffff0(%ebp)
      if (Extend)
   18ad5:	80 7d ef 00          	cmpb   $0x0,0xffffffef(%ebp)
   18ad9:	74 68                	je     18b43 <_OffsetToCluster+0x93>
        {
          for (i = 0; i < FileOffset / DeviceExt->FatInfo.BytesPerCluster; i++)
   18adb:	31 d2                	xor    %edx,%edx
   18add:	8b 45 10             	mov    0x10(%ebp),%eax
   18ae0:	f7 b6 ac 00 04 00    	divl   0x400ac(%esi)
   18ae6:	31 db                	xor    %ebx,%ebx
   18ae8:	83 f8 00             	cmp    $0x0,%eax
   18aeb:	76 26                	jbe    18b13 <_OffsetToCluster+0x63>
   18aed:	8d 7d f0             	lea    0xfffffff0(%ebp),%edi
            {
              Status = GetNextClusterExtend (DeviceExt, CurrentCluster, &CurrentCluster);
   18af0:	50                   	push   %eax
   18af1:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   18af4:	57                   	push   %edi
   18af5:	50                   	push   %eax
   18af6:	56                   	push   %esi
   18af7:	e8 84 d5 ff ff       	call   16080 <_GetNextClusterExtend>
              if (!NT_SUCCESS(Status))
   18afc:	83 c4 10             	add    $0x10,%esp
   18aff:	85 c0                	test   %eax,%eax
   18b01:	78 38                	js     18b3b <_OffsetToCluster+0x8b>
   18b03:	31 d2                	xor    %edx,%edx
   18b05:	8b 45 10             	mov    0x10(%ebp),%eax
   18b08:	43                   	inc    %ebx
   18b09:	f7 b6 ac 00 04 00    	divl   0x400ac(%esi)
   18b0f:	39 d8                	cmp    %ebx,%eax
   18b11:	77 dd                	ja     18af0 <_OffsetToCluster+0x40>
                return(Status);
    	    }
          *Cluster = CurrentCluster;
       }
     else
        {
          for (i = 0; i < FileOffset / DeviceExt->FatInfo.BytesPerCluster; i++)
            {
              Status = GetNextCluster (DeviceExt, CurrentCluster, &CurrentCluster);
              if (!NT_SUCCESS(Status))
                return(Status);
    	    }
          *Cluster = CurrentCluster;
   18b13:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   18b16:	eb 1c                	jmp    18b34 <_OffsetToCluster+0x84>
   18b18:	8b 45 10             	mov    0x10(%ebp),%eax
   18b1b:	31 d2                	xor    %edx,%edx
   18b1d:	f7 b6 ac 00 04 00    	divl   0x400ac(%esi)
   18b23:	8b 8e a4 00 04 00    	mov    0x400a4(%esi),%ecx
   18b29:	8b 96 98 00 04 00    	mov    0x40098(%esi),%edx
   18b2f:	0f af c1             	imul   %ecx,%eax
   18b32:	01 d0                	add    %edx,%eax
   18b34:	8b 55 14             	mov    0x14(%ebp),%edx
   18b37:	89 02                	mov    %eax,(%edx)
       }
     return(STATUS_SUCCESS);
   18b39:	31 c0                	xor    %eax,%eax
   }    
}
   18b3b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18b3e:	5b                   	pop    %ebx
   18b3f:	5e                   	pop    %esi
   18b40:	5f                   	pop    %edi
   18b41:	5d                   	pop    %ebp
   18b42:	c3                   	ret    
   18b43:	31 d2                	xor    %edx,%edx
   18b45:	8b 45 10             	mov    0x10(%ebp),%eax
   18b48:	f7 b6 ac 00 04 00    	divl   0x400ac(%esi)
   18b4e:	31 db                	xor    %ebx,%ebx
   18b50:	83 f8 00             	cmp    $0x0,%eax
   18b53:	76 be                	jbe    18b13 <_OffsetToCluster+0x63>
   18b55:	8d 7d f0             	lea    0xfffffff0(%ebp),%edi
   18b58:	50                   	push   %eax
   18b59:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   18b5c:	57                   	push   %edi
   18b5d:	50                   	push   %eax
   18b5e:	56                   	push   %esi
   18b5f:	e8 cc d4 ff ff       	call   16030 <_GetNextCluster>
   18b64:	83 c4 10             	add    $0x10,%esp
   18b67:	85 c0                	test   %eax,%eax
   18b69:	78 d0                	js     18b3b <_OffsetToCluster+0x8b>
   18b6b:	31 d2                	xor    %edx,%edx
   18b6d:	8b 45 10             	mov    0x10(%ebp),%eax
   18b70:	43                   	inc    %ebx
   18b71:	f7 b6 ac 00 04 00    	divl   0x400ac(%esi)
   18b77:	39 d8                	cmp    %ebx,%eax
   18b79:	77 dd                	ja     18b58 <_OffsetToCluster+0xa8>
   18b7b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   18b7e:	eb b4                	jmp    18b34 <_OffsetToCluster+0x84>
   18b80:	83 ec 0c             	sub    $0xc,%esp
   18b83:	68 60 e7 01 00       	push   $0x1e760
   18b88:	ff 15 38 02 02 00    	call   *0x20238
   18b8e:	83 c4 0c             	add    $0xc,%esp
   18b91:	6a 4b                	push   $0x4b
   18b93:	68 92 e7 01 00       	push   $0x1e792
   18b98:	68 97 e7 01 00       	push   $0x1e797
   18b9d:	ff 15 38 02 02 00    	call   *0x20238
   18ba3:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   18baa:	ff 15 d8 02 02 00    	call   *0x202d8
   18bb0:	83 c4 0c             	add    $0xc,%esp
   18bb3:	e9 1a ff ff ff       	jmp    18ad2 <_OffsetToCluster+0x22>
   18bb8:	90                   	nop    
   18bb9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00018bc0 <_VfatReadFileData>:

NTSTATUS
VfatReadFileData (PVFAT_IRP_CONTEXT IrpContext, 
                  ULONG Length, 
		  LARGE_INTEGER ReadOffset, 
		  PULONG LengthRead)
/*
 * FUNCTION: Reads data from a file
 */
{
   18bc0:	55                   	push   %ebp
   18bc1:	89 e5                	mov    %esp,%ebp
   18bc3:	57                   	push   %edi
   18bc4:	56                   	push   %esi
   18bc5:	53                   	push   %ebx
   18bc6:	83 ec 5c             	sub    $0x5c,%esp
  ULONG CurrentCluster;
  ULONG FirstCluster;
  ULONG StartCluster;
  ULONG ClusterCount;
  LARGE_INTEGER StartOffset;
  PDEVICE_EXTENSION DeviceExt;
  BOOLEAN First = TRUE;
   18bc9:	c6 45 d3 01          	movb   $0x1,0xffffffd3(%ebp)
  PVFATFCB Fcb;
  PVFATCCB Ccb;
  NTSTATUS Status;
  ULONG BytesDone;
  ULONG BytesPerSector;
  ULONG BytesPerCluster;
  ULONG LastCluster;
  ULONG LastOffset;

  /* PRECONDITION */
  ASSERT(IrpContext);
  DeviceExt = IrpContext->DeviceExt;
   18bcd:	8b 45 08             	mov    0x8(%ebp),%eax
  ASSERT(DeviceExt);
  ASSERT(DeviceExt->FatInfo.BytesPerCluster);
  ASSERT(IrpContext->FileObject);
  ASSERT(IrpContext->FileObject->FsContext2 != NULL);

  DPRINT("VfatReadFileData(DeviceExt %x, FileObject %x, "
	 "Length %d, ReadOffset 0x%I64x)\n", DeviceExt,
	 IrpContext->FileObject, Length, ReadOffset.QuadPart);

  *LengthRead = 0;
   18bd0:	8b 55 18             	mov    0x18(%ebp),%edx
   18bd3:	8b 40 08             	mov    0x8(%eax),%eax
   18bd6:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   18bd9:	c7 02 00 00 00 00    	movl   $0x0,(%edx)

  Ccb = (PVFATCCB)IrpContext->FileObject->FsContext2;
  Fcb = IrpContext->FileObject->FsContext;
   18bdf:	8b 4d 08             	mov    0x8(%ebp),%ecx
  BytesPerSector = DeviceExt->FatInfo.BytesPerSector;
   18be2:	8b 5d d4             	mov    0xffffffd4(%ebp),%ebx
   18be5:	8b 41 28             	mov    0x28(%ecx),%eax
   18be8:	8b 40 0c             	mov    0xc(%eax),%eax
   18beb:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  BytesPerCluster = DeviceExt->FatInfo.BytesPerCluster;
   18bee:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   18bf1:	8b 9b a8 00 04 00    	mov    0x400a8(%ebx),%ebx

  ASSERT(ReadOffset.QuadPart + Length <= ROUND_UP(Fcb->RFCB.FileSize.QuadPart, BytesPerSector));
  ASSERT(ReadOffset.u.LowPart % BytesPerSector == 0);
  ASSERT(Length % BytesPerSector == 0);

  /* Is this a read of the FAT? */
  if (Fcb->Flags & FCB_IS_FAT)
   18bf7:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   18bfa:	89 5d c8             	mov    %ebx,0xffffffc8(%ebp)
   18bfd:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   18c03:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
   18c06:	8b 82 38 01 00 00    	mov    0x138(%edx),%eax
   18c0c:	a8 04                	test   $0x4,%al
   18c0e:	0f 85 1e 02 00 00    	jne    18e32 <_VfatReadFileData+0x272>
  {
    ReadOffset.QuadPart += DeviceExt->FatInfo.FATStart * BytesPerSector;
    Status = VfatReadDiskPartial(IrpContext, &ReadOffset, Length, 0, TRUE);

    if (NT_SUCCESS(Status))
    {
      *LengthRead = Length;
    }
    else
    {
      DPRINT1("FAT reading failed, Status %x\n", Status);
    }
    return Status;
  }
  /* Is this a read of the Volume ? */
  if (Fcb->Flags & FCB_IS_VOLUME)
   18c14:	a8 10                	test   $0x10,%al
   18c16:	74 38                	je     18c50 <_VfatReadFileData+0x90>
  {
    Status = VfatReadDiskPartial(IrpContext, &ReadOffset, Length, 0, TRUE);
   18c18:	83 ec 0c             	sub    $0xc,%esp
   18c1b:	8d 45 10             	lea    0x10(%ebp),%eax
   18c1e:	6a 01                	push   $0x1
   18c20:	6a 00                	push   $0x0
   18c22:	8b 75 0c             	mov    0xc(%ebp),%esi
   18c25:	56                   	push   %esi
   18c26:	50                   	push   %eax
   18c27:	8b 5d 08             	mov    0x8(%ebp),%ebx
   18c2a:	53                   	push   %ebx
   18c2b:	e8 10 85 ff ff       	call   11140 <_VfatReadDiskPartial>
    if (NT_SUCCESS(Status))
   18c30:	83 c4 20             	add    $0x20,%esp
   18c33:	89 c6                	mov    %eax,%esi
   18c35:	85 c0                	test   %eax,%eax
   18c37:	0f 88 6c 03 00 00    	js     18fa9 <_VfatReadFileData+0x3e9>
    {
      *LengthRead = Length;
   18c3d:	8b 55 18             	mov    0x18(%ebp),%edx
   18c40:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   18c43:	89 0a                	mov    %ecx,(%edx)
    }
    else
    {
      DPRINT1("Volume reading failed, Status %x\n", Status);
    }
    return Status;
  }

  /*
   * Find the first cluster
   */
  FirstCluster = CurrentCluster =
    vfatDirEntryGetFirstCluster (DeviceExt, &Fcb->entry);

  if (FirstCluster == 1)
  {
    // Directory of FAT12/16 needs a special handling
    CHECKPOINT;
    if (ReadOffset.u.LowPart + Length > DeviceExt->FatInfo.rootDirectorySectors * BytesPerSector)
    {
      Length = DeviceExt->FatInfo.rootDirectorySectors * BytesPerSector - ReadOffset.u.LowPart;
    }
    ReadOffset.u.LowPart += DeviceExt->FatInfo.rootStart * BytesPerSector;

    // Fire up the read command
    
    Status = VfatReadDiskPartial (IrpContext, &ReadOffset, Length, 0, TRUE);
    if (NT_SUCCESS(Status))
    {
      *LengthRead = Length;
    }
    return Status;
  }

  ExAcquireFastMutex(&Fcb->LastMutex);
  LastCluster = Fcb->LastCluster;
  LastOffset = Fcb->LastOffset;
  ExReleaseFastMutex(&Fcb->LastMutex);
  
  /*
   * Find the cluster to start the read from
   */
  if (LastCluster > 0 && ReadOffset.u.LowPart >= LastOffset)
  {
    Status = OffsetToCluster(DeviceExt, LastCluster,
                             ROUND_DOWN(ReadOffset.u.LowPart, BytesPerCluster) -
                             LastOffset,
                             &CurrentCluster, FALSE);
#ifdef DEBUG_VERIFY_OFFSET_CACHING
    /* DEBUG VERIFICATION */
    {
      ULONG CorrectCluster;
      OffsetToCluster(DeviceExt, FirstCluster,
                      ROUND_DOWN(ReadOffset.u.LowPart, BytesPerCluster),
                      &CorrectCluster, FALSE);
      if (CorrectCluster != CurrentCluster)
        KEBUGCHECK(FAT_FILE_SYSTEM);
    }
#endif
  }
  else
  {
    Status = OffsetToCluster(DeviceExt, FirstCluster,
                             ROUND_DOWN(ReadOffset.u.LowPart, BytesPerCluster),
                             &CurrentCluster, FALSE);
  }
  if (!NT_SUCCESS(Status))
  {
    return(Status);
  }

  ExAcquireFastMutex(&Fcb->LastMutex);
  Fcb->LastCluster = CurrentCluster;
  Fcb->LastOffset = ROUND_DOWN (ReadOffset.u.LowPart, BytesPerCluster);
  ExReleaseFastMutex(&Fcb->LastMutex);

  KeInitializeEvent(&IrpContext->Event, NotificationEvent, FALSE);
  IrpContext->RefCount = 1;

  while (Length > 0 && CurrentCluster != 0xffffffff)
  {
    StartCluster = CurrentCluster;
    StartOffset.QuadPart = ClusterToSector(DeviceExt, StartCluster) * BytesPerSector;
    BytesDone = 0;
    ClusterCount = 0;

    do
    {
      ClusterCount++;
      if (First)
      {
        BytesDone =  min (Length, BytesPerCluster - (ReadOffset.u.LowPart % BytesPerCluster));
      	StartOffset.QuadPart += ReadOffset.u.LowPart % BytesPerCluster;
      	First = FALSE;
      }
      else
      {
      	if (Length - BytesDone > BytesPerCluster)
      	{
      	  BytesDone += BytesPerCluster;
      	}
      	else
      	{
      	  BytesDone = Length;
      	}
      }
      Status = NextCluster(DeviceExt, FirstCluster, &CurrentCluster, FALSE);
    }
    while (StartCluster + ClusterCount == CurrentCluster && NT_SUCCESS(Status) && Length > BytesDone);
    DPRINT("start %08x, next %08x, count %d\n",
           StartCluster, CurrentCluster, ClusterCount);

    ExAcquireFastMutex(&Fcb->LastMutex);
    Fcb->LastCluster = StartCluster + (ClusterCount - 1);
    Fcb->LastOffset = ROUND_DOWN(ReadOffset.u.LowPart, BytesPerCluster) + (ClusterCount - 1) * BytesPerCluster;
    ExReleaseFastMutex(&Fcb->LastMutex);

    // Fire up the read command
    Status = VfatReadDiskPartial (IrpContext, &StartOffset, BytesDone, *LengthRead, FALSE);
    if (!NT_SUCCESS(Status) && Status != STATUS_PENDING)
      {
        break;
      }
    *LengthRead += BytesDone;
    Length -= BytesDone;
    ReadOffset.u.LowPart += BytesDone;
  }
  if (0 != InterlockedDecrement((PLONG)&IrpContext->RefCount))
    {
      KeWaitForSingleObject(&IrpContext->Event, Executive, KernelMode, FALSE, NULL);
    }
  if (NT_SUCCESS(Status) || Status == STATUS_PENDING)
    {
      if (Length > 0)
        {
	  Status = STATUS_UNSUCCESSFUL;
	}
      else
        {
          Status = IrpContext->Irp->IoStatus.Status;
	}
    }
  return Status;
}
   18c45:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18c48:	89 f0                	mov    %esi,%eax
   18c4a:	5b                   	pop    %ebx
   18c4b:	5e                   	pop    %esi
   18c4c:	5f                   	pop    %edi
   18c4d:	5d                   	pop    %ebp
   18c4e:	c3                   	ret    
   18c4f:	90                   	nop    
   18c50:	50                   	push   %eax
   18c51:	50                   	push   %eax
   18c52:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   18c55:	05 a4 00 00 00       	add    $0xa4,%eax
   18c5a:	50                   	push   %eax
   18c5b:	8b 7d d4             	mov    0xffffffd4(%ebp),%edi
   18c5e:	57                   	push   %edi
   18c5f:	e8 fc a7 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   18c64:	83 c4 10             	add    $0x10,%esp
   18c67:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
   18c6a:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   18c6d:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   18c70:	48                   	dec    %eax
   18c71:	0f 84 08 02 00 00    	je     18e7f <_VfatReadFileData+0x2bf>
   18c77:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   18c7a:	81 c2 bc 01 00 00    	add    $0x1bc,%edx
   18c80:	89 d1                	mov    %edx,%ecx
   18c82:	89 55 a4             	mov    %edx,0xffffffa4(%ebp)
   18c85:	ff 15 d4 01 02 00    	call   *0x201d4
   18c8b:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   18c8e:	8b 99 dc 01 00 00    	mov    0x1dc(%ecx),%ebx
   18c94:	8b b1 e0 01 00 00    	mov    0x1e0(%ecx),%esi
   18c9a:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
   18c9d:	ff 15 d8 01 02 00    	call   *0x201d8
   18ca3:	85 db                	test   %ebx,%ebx
   18ca5:	0f 84 3d 02 00 00    	je     18ee8 <_VfatReadFileData+0x328>
   18cab:	8b 4d 10             	mov    0x10(%ebp),%ecx
   18cae:	39 f1                	cmp    %esi,%ecx
   18cb0:	0f 83 59 03 00 00    	jae    1900f <_VfatReadFileData+0x44f>
   18cb6:	83 ec 0c             	sub    $0xc,%esp
   18cb9:	8d 55 ec             	lea    0xffffffec(%ebp),%edx
   18cbc:	89 c8                	mov    %ecx,%eax
   18cbe:	6a 00                	push   $0x0
   18cc0:	52                   	push   %edx
   18cc1:	31 d2                	xor    %edx,%edx
   18cc3:	f7 75 c4             	divl   0xffffffc4(%ebp)
   18cc6:	29 d1                	sub    %edx,%ecx
   18cc8:	51                   	push   %ecx
   18cc9:	8b 45 a0             	mov    0xffffffa0(%ebp),%eax
   18ccc:	50                   	push   %eax
   18ccd:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   18cd0:	50                   	push   %eax
   18cd1:	e8 da fd ff ff       	call   18ab0 <_OffsetToCluster>
   18cd6:	83 c4 20             	add    $0x20,%esp
   18cd9:	89 c6                	mov    %eax,%esi
   18cdb:	85 c0                	test   %eax,%eax
   18cdd:	0f 88 62 ff ff ff    	js     18c45 <_VfatReadFileData+0x85>
   18ce3:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
   18ce6:	ff 15 d4 01 02 00    	call   *0x201d4
   18cec:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   18cef:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18cf2:	31 d2                	xor    %edx,%edx
   18cf4:	89 81 dc 01 00 00    	mov    %eax,0x1dc(%ecx)
   18cfa:	8b 4d 10             	mov    0x10(%ebp),%ecx
   18cfd:	89 c8                	mov    %ecx,%eax
   18cff:	f7 75 c4             	divl   0xffffffc4(%ebp)
   18d02:	29 d1                	sub    %edx,%ecx
   18d04:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   18d07:	89 8a e0 01 00 00    	mov    %ecx,0x1e0(%edx)
   18d0d:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
   18d10:	ff 15 d8 01 02 00    	call   *0x201d8
   18d16:	50                   	push   %eax
   18d17:	6a 00                	push   $0x0
   18d19:	6a 00                	push   $0x0
   18d1b:	8b 4d 08             	mov    0x8(%ebp),%ecx
   18d1e:	83 c1 30             	add    $0x30,%ecx
   18d21:	89 4d a8             	mov    %ecx,0xffffffa8(%ebp)
   18d24:	51                   	push   %ecx
   18d25:	ff 15 e8 02 02 00    	call   *0x202e8
   18d2b:	8b 5d 08             	mov    0x8(%ebp),%ebx
   18d2e:	c7 43 2c 01 00 00 00 	movl   $0x1,0x2c(%ebx)
   18d35:	58                   	pop    %eax
   18d36:	8b 45 0c             	mov    0xc(%ebp),%eax
   18d39:	85 c0                	test   %eax,%eax
   18d3b:	0f 84 33 02 00 00    	je     18f74 <_VfatReadFileData+0x3b4>
   18d41:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   18d44:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
   18d47:	40                   	inc    %eax
   18d48:	0f 84 26 02 00 00    	je     18f74 <_VfatReadFileData+0x3b4>
   18d4e:	57                   	push   %edi
   18d4f:	57                   	push   %edi
   18d50:	8b 75 a0             	mov    0xffffffa0(%ebp),%esi
   18d53:	56                   	push   %esi
   18d54:	8b 5d d4             	mov    0xffffffd4(%ebp),%ebx
   18d57:	53                   	push   %ebx
   18d58:	e8 a3 d2 ff ff       	call   16000 <_ClusterToSector>
   18d5d:	c7 45 bc 00 00 00 00 	movl   $0x0,0xffffffbc(%ebp)
   18d64:	83 c4 10             	add    $0x10,%esp
   18d67:	89 55 9c             	mov    %edx,0xffffff9c(%ebp)
   18d6a:	8b 55 c8             	mov    0xffffffc8(%ebp),%edx
   18d6d:	89 55 b8             	mov    %edx,0xffffffb8(%ebp)
   18d70:	89 45 98             	mov    %eax,0xffffff98(%ebp)
   18d73:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   18d76:	8b 4d 98             	mov    0xffffff98(%ebp),%ecx
   18d79:	f7 65 98             	mull   0xffffff98(%ebp)
   18d7c:	8b 5d bc             	mov    0xffffffbc(%ebp),%ebx
   18d7f:	89 45 b0             	mov    %eax,0xffffffb0(%ebp)
   18d82:	0f af d9             	imul   %ecx,%ebx
   18d85:	89 d7                	mov    %edx,%edi
   18d87:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   18d8a:	8b 55 9c             	mov    0xffffff9c(%ebp),%edx
   18d8d:	01 df                	add    %ebx,%edi
   18d8f:	0f af c2             	imul   %edx,%eax
   18d92:	01 c7                	add    %eax,%edi
   18d94:	8b 55 b0             	mov    0xffffffb0(%ebp),%edx
   18d97:	89 7d b4             	mov    %edi,0xffffffb4(%ebp)
   18d9a:	31 db                	xor    %ebx,%ebx
   18d9c:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
   18d9f:	89 55 e0             	mov    %edx,0xffffffe0(%ebp)
   18da2:	89 4d e4             	mov    %ecx,0xffffffe4(%ebp)
   18da5:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
   18dac:	eb 62                	jmp    18e10 <_VfatReadFileData+0x250>
   18dae:	89 f6                	mov    %esi,%esi
   18db0:	31 d2                	xor    %edx,%edx
   18db2:	8b 45 10             	mov    0x10(%ebp),%eax
   18db5:	f7 75 c4             	divl   0xffffffc4(%ebp)
   18db8:	8b 5d c4             	mov    0xffffffc4(%ebp),%ebx
   18dbb:	29 d3                	sub    %edx,%ebx
   18dbd:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
   18dc0:	76 03                	jbe    18dc5 <_VfatReadFileData+0x205>
   18dc2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   18dc5:	89 d0                	mov    %edx,%eax
   18dc7:	31 d2                	xor    %edx,%edx
   18dc9:	01 45 e0             	add    %eax,0xffffffe0(%ebp)
   18dcc:	c6 45 d3 00          	movb   $0x0,0xffffffd3(%ebp)
   18dd0:	11 55 e4             	adc    %edx,0xffffffe4(%ebp)
   18dd3:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   18dd6:	6a 00                	push   $0x0
   18dd8:	51                   	push   %ecx
   18dd9:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   18ddc:	51                   	push   %ecx
   18ddd:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   18de0:	52                   	push   %edx
   18de1:	e8 7a fc ff ff       	call   18a60 <_NextCluster>
   18de6:	8b 7d a0             	mov    0xffffffa0(%ebp),%edi
   18de9:	89 c6                	mov    %eax,%esi
   18deb:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   18dee:	83 c4 10             	add    $0x10,%esp
   18df1:	01 c7                	add    %eax,%edi
   18df3:	3b 7d ec             	cmp    0xffffffec(%ebp),%edi
   18df6:	0f 94 c0             	sete   %al
   18df9:	83 f6 ff             	xor    $0xffffffff,%esi
   18dfc:	c1 ee 1f             	shr    $0x1f,%esi
   18dff:	85 f0                	test   %esi,%eax
   18e01:	0f 84 e9 00 00 00    	je     18ef0 <_VfatReadFileData+0x330>
   18e07:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
   18e0a:	0f 86 e0 00 00 00    	jbe    18ef0 <_VfatReadFileData+0x330>
   18e10:	8b 7d d8             	mov    0xffffffd8(%ebp),%edi
   18e13:	47                   	inc    %edi
   18e14:	89 7d d8             	mov    %edi,0xffffffd8(%ebp)
   18e17:	80 7d d3 00          	cmpb   $0x0,0xffffffd3(%ebp)
   18e1b:	75 93                	jne    18db0 <_VfatReadFileData+0x1f0>
   18e1d:	8b 45 0c             	mov    0xc(%ebp),%eax
   18e20:	29 d8                	sub    %ebx,%eax
   18e22:	3b 45 c4             	cmp    0xffffffc4(%ebp),%eax
   18e25:	0f 86 b5 00 00 00    	jbe    18ee0 <_VfatReadFileData+0x320>
   18e2b:	8b 75 c4             	mov    0xffffffc4(%ebp),%esi
   18e2e:	01 f3                	add    %esi,%ebx
   18e30:	eb a1                	jmp    18dd3 <_VfatReadFileData+0x213>
   18e32:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
   18e35:	89 d8                	mov    %ebx,%eax
   18e37:	8b 91 88 00 04 00    	mov    0x40088(%ecx),%edx
   18e3d:	0f af c2             	imul   %edx,%eax
   18e40:	31 d2                	xor    %edx,%edx
   18e42:	01 45 10             	add    %eax,0x10(%ebp)
   18e45:	11 55 14             	adc    %edx,0x14(%ebp)
   18e48:	83 ec 0c             	sub    $0xc,%esp
   18e4b:	6a 01                	push   $0x1
   18e4d:	6a 00                	push   $0x0
   18e4f:	8b 45 0c             	mov    0xc(%ebp),%eax
   18e52:	50                   	push   %eax
   18e53:	8d 45 10             	lea    0x10(%ebp),%eax
   18e56:	50                   	push   %eax
   18e57:	8b 45 08             	mov    0x8(%ebp),%eax
   18e5a:	50                   	push   %eax
   18e5b:	e8 e0 82 ff ff       	call   11140 <_VfatReadDiskPartial>
   18e60:	83 c4 20             	add    $0x20,%esp
   18e63:	89 c6                	mov    %eax,%esi
   18e65:	85 c0                	test   %eax,%eax
   18e67:	0f 88 82 01 00 00    	js     18fef <_VfatReadFileData+0x42f>
   18e6d:	8b 5d 18             	mov    0x18(%ebp),%ebx
   18e70:	8b 45 0c             	mov    0xc(%ebp),%eax
   18e73:	89 03                	mov    %eax,(%ebx)
   18e75:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   18e78:	89 f0                	mov    %esi,%eax
   18e7a:	5b                   	pop    %ebx
   18e7b:	5e                   	pop    %esi
   18e7c:	5f                   	pop    %edi
   18e7d:	5d                   	pop    %ebp
   18e7e:	c3                   	ret    
   18e7f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   18e82:	8b 55 10             	mov    0x10(%ebp),%edx
   18e85:	8b 4d c8             	mov    0xffffffc8(%ebp),%ecx
   18e88:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
   18e8b:	8b 5d d4             	mov    0xffffffd4(%ebp),%ebx
   18e8e:	8b b3 94 00 04 00    	mov    0x40094(%ebx),%esi
   18e94:	0f af ce             	imul   %esi,%ecx
   18e97:	39 c8                	cmp    %ecx,%eax
   18e99:	76 05                	jbe    18ea0 <_VfatReadFileData+0x2e0>
   18e9b:	29 d1                	sub    %edx,%ecx
   18e9d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
   18ea0:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
   18ea3:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   18ea6:	83 ec 0c             	sub    $0xc,%esp
   18ea9:	8b 99 98 00 04 00    	mov    0x40098(%ecx),%ebx
   18eaf:	0f af c3             	imul   %ebx,%eax
   18eb2:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
   18eb5:	8d 45 10             	lea    0x10(%ebp),%eax
   18eb8:	89 4d 10             	mov    %ecx,0x10(%ebp)
   18ebb:	6a 01                	push   $0x1
   18ebd:	6a 00                	push   $0x0
   18ebf:	8b 55 0c             	mov    0xc(%ebp),%edx
   18ec2:	52                   	push   %edx
   18ec3:	50                   	push   %eax
   18ec4:	8b 45 08             	mov    0x8(%ebp),%eax
   18ec7:	50                   	push   %eax
   18ec8:	e8 73 82 ff ff       	call   11140 <_VfatReadDiskPartial>
   18ecd:	83 c4 20             	add    $0x20,%esp
   18ed0:	89 c6                	mov    %eax,%esi
   18ed2:	85 c0                	test   %eax,%eax
   18ed4:	79 97                	jns    18e6d <_VfatReadFileData+0x2ad>
   18ed6:	e9 6a fd ff ff       	jmp    18c45 <_VfatReadFileData+0x85>
   18edb:	90                   	nop    
   18edc:	8d 74 26 00          	lea    0x0(%esi),%esi
   18ee0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   18ee3:	e9 eb fe ff ff       	jmp    18dd3 <_VfatReadFileData+0x213>
   18ee8:	8b 4d 10             	mov    0x10(%ebp),%ecx
   18eeb:	e9 c6 fd ff ff       	jmp    18cb6 <_VfatReadFileData+0xf6>
   18ef0:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
   18ef3:	ff 15 d4 01 02 00    	call   *0x201d4
   18ef9:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   18efc:	8d 47 ff             	lea    0xffffffff(%edi),%eax
   18eff:	89 82 dc 01 00 00    	mov    %eax,0x1dc(%edx)
   18f05:	31 d2                	xor    %edx,%edx
   18f07:	8b 4d 10             	mov    0x10(%ebp),%ecx
   18f0a:	89 c8                	mov    %ecx,%eax
   18f0c:	f7 75 c4             	divl   0xffffffc4(%ebp)
   18f0f:	29 d1                	sub    %edx,%ecx
   18f11:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   18f14:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   18f17:	4a                   	dec    %edx
   18f18:	0f af d0             	imul   %eax,%edx
   18f1b:	8d 04 11             	lea    (%ecx,%edx,1),%eax
   18f1e:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   18f21:	89 82 e0 01 00 00    	mov    %eax,0x1e0(%edx)
   18f27:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
   18f2a:	ff 15 d8 01 02 00    	call   *0x201d8
   18f30:	83 ec 0c             	sub    $0xc,%esp
   18f33:	6a 00                	push   $0x0
   18f35:	8b 4d 18             	mov    0x18(%ebp),%ecx
   18f38:	8b 01                	mov    (%ecx),%eax
   18f3a:	50                   	push   %eax
   18f3b:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   18f3e:	53                   	push   %ebx
   18f3f:	50                   	push   %eax
   18f40:	8b 45 08             	mov    0x8(%ebp),%eax
   18f43:	50                   	push   %eax
   18f44:	e8 f7 81 ff ff       	call   11140 <_VfatReadDiskPartial>
   18f49:	83 c4 20             	add    $0x20,%esp
   18f4c:	89 c6                	mov    %eax,%esi
   18f4e:	85 c0                	test   %eax,%eax
   18f50:	78 22                	js     18f74 <_VfatReadFileData+0x3b4>
   18f52:	8b 55 18             	mov    0x18(%ebp),%edx
   18f55:	8b 02                	mov    (%edx),%eax
   18f57:	01 d8                	add    %ebx,%eax
   18f59:	89 02                	mov    %eax,(%edx)
   18f5b:	8b 45 10             	mov    0x10(%ebp),%eax
   18f5e:	01 d8                	add    %ebx,%eax
   18f60:	29 5d 0c             	sub    %ebx,0xc(%ebp)
   18f63:	89 45 10             	mov    %eax,0x10(%ebp)
   18f66:	74 0c                	je     18f74 <_VfatReadFileData+0x3b4>
   18f68:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   18f6b:	89 4d a0             	mov    %ecx,0xffffffa0(%ebp)
   18f6e:	41                   	inc    %ecx
   18f6f:	e9 d4 fd ff ff       	jmp    18d48 <_VfatReadFileData+0x188>
   18f74:	8b 4d 08             	mov    0x8(%ebp),%ecx
   18f77:	83 c1 2c             	add    $0x2c,%ecx
   18f7a:	ff 15 ec 01 02 00    	call   *0x201ec
   18f80:	85 c0                	test   %eax,%eax
   18f82:	75 51                	jne    18fd5 <_VfatReadFileData+0x415>
   18f84:	85 f6                	test   %esi,%esi
   18f86:	0f 88 b9 fc ff ff    	js     18c45 <_VfatReadFileData+0x85>
   18f8c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   18f8f:	be 01 00 00 c0       	mov    $0xc0000001,%esi
   18f94:	85 db                	test   %ebx,%ebx
   18f96:	0f 85 a9 fc ff ff    	jne    18c45 <_VfatReadFileData+0x85>
   18f9c:	8b 5d 08             	mov    0x8(%ebp),%ebx
   18f9f:	8b 03                	mov    (%ebx),%eax
   18fa1:	8b 70 18             	mov    0x18(%eax),%esi
   18fa4:	e9 9c fc ff ff       	jmp    18c45 <_VfatReadFileData+0x85>
   18fa9:	51                   	push   %ecx
   18faa:	68 ba 00 00 00       	push   $0xba
   18faf:	68 92 e7 01 00       	push   $0x1e792
   18fb4:	68 ac e7 01 00       	push   $0x1e7ac
   18fb9:	ff 15 38 02 02 00    	call   *0x20238
   18fbf:	58                   	pop    %eax
   18fc0:	5a                   	pop    %edx
   18fc1:	56                   	push   %esi
   18fc2:	68 b8 e7 01 00       	push   $0x1e7b8
   18fc7:	ff 15 38 02 02 00    	call   *0x20238
   18fcd:	83 c4 10             	add    $0x10,%esp
   18fd0:	e9 70 fc ff ff       	jmp    18c45 <_VfatReadFileData+0x85>
   18fd5:	83 ec 0c             	sub    $0xc,%esp
   18fd8:	6a 00                	push   $0x0
   18fda:	6a 00                	push   $0x0
   18fdc:	6a 00                	push   $0x0
   18fde:	6a 00                	push   $0x0
   18fe0:	8b 7d a8             	mov    0xffffffa8(%ebp),%edi
   18fe3:	57                   	push   %edi
   18fe4:	ff 15 f8 02 02 00    	call   *0x202f8
   18fea:	83 c4 0c             	add    $0xc,%esp
   18fed:	eb 95                	jmp    18f84 <_VfatReadFileData+0x3c4>
   18fef:	50                   	push   %eax
   18ff0:	68 ac 00 00 00       	push   $0xac
   18ff5:	68 92 e7 01 00       	push   $0x1e792
   18ffa:	68 ac e7 01 00       	push   $0x1e7ac
   18fff:	ff 15 38 02 02 00    	call   *0x20238
   19005:	5f                   	pop    %edi
   19006:	58                   	pop    %eax
   19007:	56                   	push   %esi
   19008:	68 dc e7 01 00       	push   $0x1e7dc
   1900d:	eb b8                	jmp    18fc7 <_VfatReadFileData+0x407>
   1900f:	83 ec 0c             	sub    $0xc,%esp
   19012:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   19015:	31 d2                	xor    %edx,%edx
   19017:	6a 00                	push   $0x0
   19019:	50                   	push   %eax
   1901a:	89 c8                	mov    %ecx,%eax
   1901c:	f7 75 c4             	divl   0xffffffc4(%ebp)
   1901f:	29 d1                	sub    %edx,%ecx
   19021:	29 f1                	sub    %esi,%ecx
   19023:	51                   	push   %ecx
   19024:	53                   	push   %ebx
   19025:	e9 a3 fc ff ff       	jmp    18ccd <_VfatReadFileData+0x10d>
   1902a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00019030 <_VfatWriteFileData>:

NTSTATUS 
VfatWriteFileData(PVFAT_IRP_CONTEXT IrpContext,
		  ULONG Length,
		  LARGE_INTEGER WriteOffset)
{
   19030:	55                   	push   %ebp
   19031:	89 e5                	mov    %esp,%ebp
   19033:	57                   	push   %edi
   19034:	56                   	push   %esi
   19035:	53                   	push   %ebx
   19036:	83 ec 6c             	sub    $0x6c,%esp
   PDEVICE_EXTENSION DeviceExt;
   PVFATFCB Fcb;
   PVFATCCB Ccb;
   ULONG Count;
   ULONG FirstCluster;
   ULONG CurrentCluster;
   ULONG BytesDone;
   ULONG StartCluster;
   ULONG ClusterCount;
   NTSTATUS Status = STATUS_SUCCESS;
   BOOLEAN First = TRUE;
   19039:	c6 45 cf 01          	movb   $0x1,0xffffffcf(%ebp)
   ULONG BytesPerSector;
   ULONG BytesPerCluster;
   LARGE_INTEGER StartOffset;
   ULONG BufferOffset;
   ULONG LastCluster;
   ULONG LastOffset;

   /* PRECONDITION */
   ASSERT(IrpContext);
   DeviceExt = IrpContext->DeviceExt;
   1903d:	8b 45 08             	mov    0x8(%ebp),%eax
   ASSERT(DeviceExt);
   ASSERT(DeviceExt->FatInfo.BytesPerCluster);
   ASSERT(IrpContext->FileObject);
   ASSERT(IrpContext->FileObject->FsContext2 != NULL);

   Ccb = (PVFATCCB)IrpContext->FileObject->FsContext2;
   Fcb = IrpContext->FileObject->FsContext;
   19040:	8b 55 08             	mov    0x8(%ebp),%edx
   19043:	31 ff                	xor    %edi,%edi
   19045:	8b 40 08             	mov    0x8(%eax),%eax
   19048:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   1904b:	8b 42 28             	mov    0x28(%edx),%eax
   BytesPerCluster = DeviceExt->FatInfo.BytesPerCluster;
   1904e:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   19051:	8b 40 0c             	mov    0xc(%eax),%eax
   19054:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   BytesPerSector = DeviceExt->FatInfo.BytesPerSector;
   19057:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1905a:	8b 89 ac 00 04 00    	mov    0x400ac(%ecx),%ecx

   DPRINT("VfatWriteFileData(DeviceExt %x, FileObject %x, "
	  "Length %d, WriteOffset 0x%I64x), '%wZ'\n", DeviceExt,
	  IrpContext->FileObject, Length, WriteOffset,
	  &Fcb->PathNameU);

   ASSERT(WriteOffset.QuadPart + Length <= Fcb->RFCB.AllocationSize.QuadPart);
   ASSERT(WriteOffset.u.LowPart % BytesPerSector == 0);
   ASSERT(Length % BytesPerSector == 0);

   // Is this a write of the volume ?
   if (Fcb->Flags & FCB_IS_VOLUME)
   19060:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   19063:	89 4d c4             	mov    %ecx,0xffffffc4(%ebp)
   19066:	8b 80 a8 00 04 00    	mov    0x400a8(%eax),%eax
   1906c:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
   1906f:	8b 82 38 01 00 00    	mov    0x138(%edx),%eax
   19075:	a8 10                	test   $0x10,%al
   19077:	0f 85 78 02 00 00    	jne    192f5 <_VfatWriteFileData+0x2c5>
   {
      Status = VfatWriteDiskPartial(IrpContext, &WriteOffset, Length, 0, TRUE);
      if (!NT_SUCCESS(Status))
      {
         DPRINT1("Volume writing failed, Status %x\n", Status);
      }
      return Status;
   }

   // Is this a write to the FAT ?
   if (Fcb->Flags & FCB_IS_FAT)
   1907d:	a8 04                	test   $0x4,%al
   1907f:	0f 84 9b 00 00 00    	je     19120 <_VfatWriteFileData+0xf0>
   {
      WriteOffset.u.LowPart += DeviceExt->FatInfo.FATStart * BytesPerSector;
   19085:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   19088:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   1908b:	8b 55 10             	mov    0x10(%ebp),%edx
      IrpContext->RefCount = 1;
      for (Count = 0; Count < DeviceExt->FatInfo.FATCount; Count++)
   1908e:	31 f6                	xor    %esi,%esi
   19090:	8b 99 88 00 04 00    	mov    0x40088(%ecx),%ebx
   19096:	0f af c3             	imul   %ebx,%eax
   19099:	01 c2                	add    %eax,%edx
   1909b:	8b 45 08             	mov    0x8(%ebp),%eax
   1909e:	89 55 10             	mov    %edx,0x10(%ebp)
   190a1:	c7 40 2c 01 00 00 00 	movl   $0x1,0x2c(%eax)
   190a8:	8b 81 8c 00 04 00    	mov    0x4008c(%ecx),%eax
   190ae:	85 c0                	test   %eax,%eax
   190b0:	74 3f                	je     190f1 <_VfatWriteFileData+0xc1>
   190b2:	8d 5d 10             	lea    0x10(%ebp),%ebx
      {
         Status = VfatWriteDiskPartial(IrpContext, &WriteOffset, Length, 0, FALSE);
   190b5:	83 ec 0c             	sub    $0xc,%esp
   190b8:	8b 7d 0c             	mov    0xc(%ebp),%edi
   190bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
   190be:	6a 00                	push   $0x0
   190c0:	6a 00                	push   $0x0
   190c2:	57                   	push   %edi
   190c3:	53                   	push   %ebx
   190c4:	51                   	push   %ecx
   190c5:	e8 f6 81 ff ff       	call   112c0 <_VfatWriteDiskPartial>
         if (!NT_SUCCESS(Status) && Status != STATUS_PENDING)
   190ca:	83 c4 20             	add    $0x20,%esp
   190cd:	89 c7                	mov    %eax,%edi
   190cf:	85 c0                	test   %eax,%eax
   190d1:	0f 88 d1 02 00 00    	js     193a8 <_VfatWriteFileData+0x378>
         {
            DPRINT1("FAT writing failed, Status %x\n", Status);
	    break;
         }
	 WriteOffset.u.LowPart += Fcb->RFCB.FileSize.u.LowPart;
   190d7:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   190da:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   190dd:	46                   	inc    %esi
   190de:	8b 42 18             	mov    0x18(%edx),%eax
   190e1:	8b 55 10             	mov    0x10(%ebp),%edx
   190e4:	01 c2                	add    %eax,%edx
   190e6:	89 55 10             	mov    %edx,0x10(%ebp)
   190e9:	39 b1 8c 00 04 00    	cmp    %esi,0x4008c(%ecx)
   190ef:	77 c4                	ja     190b5 <_VfatWriteFileData+0x85>
      }
      if (0 != InterlockedDecrement((PLONG)&IrpContext->RefCount))
   190f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
   190f4:	83 c1 2c             	add    $0x2c,%ecx
   190f7:	ff 15 ec 01 02 00    	call   *0x201ec
   190fd:	85 c0                	test   %eax,%eax
   190ff:	0f 85 83 02 00 00    	jne    19388 <_VfatWriteFileData+0x358>
        {
	  KeWaitForSingleObject(&IrpContext->Event, Executive, KernelMode, FALSE, NULL);
	}
      if (NT_SUCCESS(Status) || Status == STATUS_PENDING)
   19105:	85 ff                	test   %edi,%edi
   19107:	78 08                	js     19111 <_VfatWriteFileData+0xe1>
        {
	  Status = IrpContext->Irp->IoStatus.Status;
	}
      return Status;
   }

   /*
    * Find the first cluster
    */
   FirstCluster = CurrentCluster =
      vfatDirEntryGetFirstCluster (DeviceExt, &Fcb->entry);

   if (FirstCluster == 1)
   {
      ASSERT(WriteOffset.u.LowPart + Length <= DeviceExt->FatInfo.rootDirectorySectors * BytesPerSector);
      // Directory of FAT12/16 needs a special handling
      WriteOffset.u.LowPart += DeviceExt->FatInfo.rootStart * BytesPerSector;
      // Fire up the write command
      Status = VfatWriteDiskPartial (IrpContext, &WriteOffset, Length, 0, TRUE);
      return Status;
   }

   ExAcquireFastMutex(&Fcb->LastMutex);
   LastCluster = Fcb->LastCluster;
   LastOffset = Fcb->LastOffset;
   ExReleaseFastMutex(&Fcb->LastMutex);

   /*
    * Find the cluster to start the write from
    */
   if (LastCluster > 0 && WriteOffset.u.LowPart >= LastOffset)
   {
      Status = OffsetToCluster(DeviceExt, LastCluster,
                               ROUND_DOWN(WriteOffset.u.LowPart, BytesPerCluster) -
                               LastOffset,
                               &CurrentCluster, FALSE);
#ifdef DEBUG_VERIFY_OFFSET_CACHING
      /* DEBUG VERIFICATION */
      {
         ULONG CorrectCluster;
         OffsetToCluster(DeviceExt, FirstCluster,
                         ROUND_DOWN(WriteOffset.u.LowPart, BytesPerCluster),
                         &CorrectCluster, FALSE);
         if (CorrectCluster != CurrentCluster)
            KEBUGCHECK(FAT_FILE_SYSTEM);
      }
#endif
   }
   else
   {
      Status = OffsetToCluster(DeviceExt, FirstCluster,
                               ROUND_DOWN(WriteOffset.u.LowPart, BytesPerCluster),
                               &CurrentCluster, FALSE);
   }

   if (!NT_SUCCESS(Status))
   {
      return(Status);
   }

   ExAcquireFastMutex(&Fcb->LastMutex);
   Fcb->LastCluster = CurrentCluster;
   Fcb->LastOffset = ROUND_DOWN (WriteOffset.u.LowPart, BytesPerCluster);
   ExReleaseFastMutex(&Fcb->LastMutex);

   IrpContext->RefCount = 1;
   BufferOffset = 0;

   while (Length > 0 && CurrentCluster != 0xffffffff)
   {
      StartCluster = CurrentCluster;
      StartOffset.QuadPart = ClusterToSector(DeviceExt, StartCluster) * BytesPerSector;
      BytesDone = 0;
      ClusterCount = 0;

      do
      {
         ClusterCount++;
         if (First)
         {
            BytesDone =  min (Length, BytesPerCluster - (WriteOffset.u.LowPart % BytesPerCluster));
	    StartOffset.QuadPart += WriteOffset.u.LowPart % BytesPerCluster;
      	    First = FALSE;
         }
         else
         {
      	    if (Length - BytesDone > BytesPerCluster)
      	    {
      	       BytesDone += BytesPerCluster;
      	    }
      	    else
      	    {
      	       BytesDone = Length;
      	    }
         }
         Status = NextCluster(DeviceExt, FirstCluster, &CurrentCluster, FALSE);
      }
      while (StartCluster + ClusterCount == CurrentCluster && NT_SUCCESS(Status) && Length > BytesDone);
      DPRINT("start %08x, next %08x, count %d\n",
             StartCluster, CurrentCluster, ClusterCount);

      ExAcquireFastMutex(&Fcb->LastMutex);
      Fcb->LastCluster = StartCluster + (ClusterCount - 1);
      Fcb->LastOffset = ROUND_DOWN(WriteOffset.u.LowPart, BytesPerCluster) + (ClusterCount - 1) * BytesPerCluster;
      ExReleaseFastMutex(&Fcb->LastMutex);

      // Fire up the write command
      Status = VfatWriteDiskPartial (IrpContext, &StartOffset, BytesDone, BufferOffset, FALSE);
      if (!NT_SUCCESS(Status) && Status != STATUS_PENDING)
        {
	  break;
	}
      BufferOffset += BytesDone;
      Length -= BytesDone;
      WriteOffset.u.LowPart += BytesDone;
   }
   if (0 != InterlockedDecrement((PLONG)&IrpContext->RefCount))
     {
       KeWaitForSingleObject(&IrpContext->Event, Executive, KernelMode, FALSE, NULL);
     }
   if (NT_SUCCESS(Status) || Status == STATUS_PENDING)
     {
       if (Length > 0)
         {
	   Status = STATUS_UNSUCCESSFUL;
	 }
       else
         {
	   Status = IrpContext->Irp->IoStatus.Status;
   19109:	8b 55 08             	mov    0x8(%ebp),%edx
   1910c:	8b 02                	mov    (%edx),%eax
   1910e:	8b 78 18             	mov    0x18(%eax),%edi
	 }
     }
   return Status;
   19111:	89 f8                	mov    %edi,%eax
}
   19113:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   19116:	5b                   	pop    %ebx
   19117:	5e                   	pop    %esi
   19118:	5f                   	pop    %edi
   19119:	5d                   	pop    %ebp
   1911a:	c3                   	ret    
   1911b:	90                   	nop    
   1911c:	8d 74 26 00          	lea    0x0(%esi),%esi
   19120:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   19123:	8b 75 dc             	mov    0xffffffdc(%ebp),%esi
   19126:	05 a4 00 00 00       	add    $0xa4,%eax
   1912b:	57                   	push   %edi
   1912c:	57                   	push   %edi
   1912d:	50                   	push   %eax
   1912e:	56                   	push   %esi
   1912f:	e8 2c a3 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   19134:	83 c4 10             	add    $0x10,%esp
   19137:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
   1913a:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   1913d:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   19140:	48                   	dec    %eax
   19141:	0f 84 ff 01 00 00    	je     19346 <_VfatWriteFileData+0x316>
   19147:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   1914a:	05 bc 01 00 00       	add    $0x1bc,%eax
   1914f:	89 c1                	mov    %eax,%ecx
   19151:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
   19154:	ff 15 d4 01 02 00    	call   *0x201d4
   1915a:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   1915d:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
   19160:	8b 9a dc 01 00 00    	mov    0x1dc(%edx),%ebx
   19166:	8b b2 e0 01 00 00    	mov    0x1e0(%edx),%esi
   1916c:	ff 15 d8 01 02 00    	call   *0x201d8
   19172:	85 db                	test   %ebx,%ebx
   19174:	0f 84 5a 02 00 00    	je     193d4 <_VfatWriteFileData+0x3a4>
   1917a:	8b 4d 10             	mov    0x10(%ebp),%ecx
   1917d:	39 f1                	cmp    %esi,%ecx
   1917f:	0f 83 1d 03 00 00    	jae    194a2 <_VfatWriteFileData+0x472>
   19185:	83 ec 0c             	sub    $0xc,%esp
   19188:	8d 55 ec             	lea    0xffffffec(%ebp),%edx
   1918b:	89 c8                	mov    %ecx,%eax
   1918d:	6a 00                	push   $0x0
   1918f:	52                   	push   %edx
   19190:	31 d2                	xor    %edx,%edx
   19192:	f7 75 c4             	divl   0xffffffc4(%ebp)
   19195:	29 d1                	sub    %edx,%ecx
   19197:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
   1919a:	51                   	push   %ecx
   1919b:	50                   	push   %eax
   1919c:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1919f:	50                   	push   %eax
   191a0:	e8 0b f9 ff ff       	call   18ab0 <_OffsetToCluster>
   191a5:	89 c7                	mov    %eax,%edi
   191a7:	83 c4 20             	add    $0x20,%esp
   191aa:	85 ff                	test   %edi,%edi
   191ac:	0f 88 61 ff ff ff    	js     19113 <_VfatWriteFileData+0xe3>
   191b2:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
   191b5:	ff 15 d4 01 02 00    	call   *0x201d4
   191bb:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
   191be:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   191c1:	31 d2                	xor    %edx,%edx
   191c3:	89 81 dc 01 00 00    	mov    %eax,0x1dc(%ecx)
   191c9:	8b 4d 10             	mov    0x10(%ebp),%ecx
   191cc:	89 c8                	mov    %ecx,%eax
   191ce:	f7 75 c4             	divl   0xffffffc4(%ebp)
   191d1:	29 d1                	sub    %edx,%ecx
   191d3:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   191d6:	89 8a e0 01 00 00    	mov    %ecx,0x1e0(%edx)
   191dc:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
   191df:	ff 15 d8 01 02 00    	call   *0x201d8
   191e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
   191e8:	c7 41 2c 01 00 00 00 	movl   $0x1,0x2c(%ecx)
   191ef:	c7 45 c0 00 00 00 00 	movl   $0x0,0xffffffc0(%ebp)
   191f6:	8b 45 0c             	mov    0xc(%ebp),%eax
   191f9:	85 c0                	test   %eax,%eax
   191fb:	90                   	nop    
   191fc:	8d 74 26 00          	lea    0x0(%esi),%esi
   19200:	0f 84 52 02 00 00    	je     19458 <_VfatWriteFileData+0x428>
   19206:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   19209:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
   1920c:	40                   	inc    %eax
   1920d:	0f 84 45 02 00 00    	je     19458 <_VfatWriteFileData+0x428>
   19213:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   19216:	8b 75 9c             	mov    0xffffff9c(%ebp),%esi
   19219:	57                   	push   %edi
   1921a:	57                   	push   %edi
   1921b:	56                   	push   %esi
   1921c:	53                   	push   %ebx
   1921d:	e8 de cd ff ff       	call   16000 <_ClusterToSector>
   19222:	c7 45 b4 00 00 00 00 	movl   $0x0,0xffffffb4(%ebp)
   19229:	83 c4 10             	add    $0x10,%esp
   1922c:	89 55 94             	mov    %edx,0xffffff94(%ebp)
   1922f:	8b 55 c8             	mov    0xffffffc8(%ebp),%edx
   19232:	89 55 b0             	mov    %edx,0xffffffb0(%ebp)
   19235:	89 45 90             	mov    %eax,0xffffff90(%ebp)
   19238:	8b 45 b0             	mov    0xffffffb0(%ebp),%eax
   1923b:	8b 4d 90             	mov    0xffffff90(%ebp),%ecx
   1923e:	f7 65 90             	mull   0xffffff90(%ebp)
   19241:	8b 5d b4             	mov    0xffffffb4(%ebp),%ebx
   19244:	89 45 a8             	mov    %eax,0xffffffa8(%ebp)
   19247:	0f af d9             	imul   %ecx,%ebx
   1924a:	89 d7                	mov    %edx,%edi
   1924c:	8b 45 b0             	mov    0xffffffb0(%ebp),%eax
   1924f:	8b 55 94             	mov    0xffffff94(%ebp),%edx
   19252:	01 df                	add    %ebx,%edi
   19254:	0f af c2             	imul   %edx,%eax
   19257:	01 c7                	add    %eax,%edi
   19259:	8b 55 a8             	mov    0xffffffa8(%ebp),%edx
   1925c:	89 7d ac             	mov    %edi,0xffffffac(%ebp)
   1925f:	31 db                	xor    %ebx,%ebx
   19261:	8b 4d ac             	mov    0xffffffac(%ebp),%ecx
   19264:	89 55 e0             	mov    %edx,0xffffffe0(%ebp)
   19267:	89 4d e4             	mov    %ecx,0xffffffe4(%ebp)
   1926a:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
   19271:	eb 60                	jmp    192d3 <_VfatWriteFileData+0x2a3>
   19273:	31 d2                	xor    %edx,%edx
   19275:	8b 45 10             	mov    0x10(%ebp),%eax
   19278:	f7 75 c4             	divl   0xffffffc4(%ebp)
   1927b:	8b 5d c4             	mov    0xffffffc4(%ebp),%ebx
   1927e:	29 d3                	sub    %edx,%ebx
   19280:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
   19283:	76 03                	jbe    19288 <_VfatWriteFileData+0x258>
   19285:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   19288:	89 d0                	mov    %edx,%eax
   1928a:	31 d2                	xor    %edx,%edx
   1928c:	01 45 e0             	add    %eax,0xffffffe0(%ebp)
   1928f:	c6 45 cf 00          	movb   $0x0,0xffffffcf(%ebp)
   19293:	11 55 e4             	adc    %edx,0xffffffe4(%ebp)
   19296:	8d 4d ec             	lea    0xffffffec(%ebp),%ecx
   19299:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   1929c:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1929f:	6a 00                	push   $0x0
   192a1:	51                   	push   %ecx
   192a2:	52                   	push   %edx
   192a3:	50                   	push   %eax
   192a4:	e8 b7 f7 ff ff       	call   18a60 <_NextCluster>
   192a9:	8b 75 9c             	mov    0xffffff9c(%ebp),%esi
   192ac:	89 c7                	mov    %eax,%edi
   192ae:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   192b1:	83 c4 10             	add    $0x10,%esp
   192b4:	01 c6                	add    %eax,%esi
   192b6:	3b 75 ec             	cmp    0xffffffec(%ebp),%esi
   192b9:	0f 94 c0             	sete   %al
   192bc:	83 f7 ff             	xor    $0xffffffff,%edi
   192bf:	c1 ef 1f             	shr    $0x1f,%edi
   192c2:	85 f8                	test   %edi,%eax
   192c4:	0f 84 16 01 00 00    	je     193e0 <_VfatWriteFileData+0x3b0>
   192ca:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
   192cd:	0f 86 0d 01 00 00    	jbe    193e0 <_VfatWriteFileData+0x3b0>
   192d3:	8b 75 d0             	mov    0xffffffd0(%ebp),%esi
   192d6:	46                   	inc    %esi
   192d7:	89 75 d0             	mov    %esi,0xffffffd0(%ebp)
   192da:	80 7d cf 00          	cmpb   $0x0,0xffffffcf(%ebp)
   192de:	75 93                	jne    19273 <_VfatWriteFileData+0x243>
   192e0:	8b 45 0c             	mov    0xc(%ebp),%eax
   192e3:	29 d8                	sub    %ebx,%eax
   192e5:	3b 45 c4             	cmp    0xffffffc4(%ebp),%eax
   192e8:	0f 86 92 00 00 00    	jbe    19380 <_VfatWriteFileData+0x350>
   192ee:	8b 4d c4             	mov    0xffffffc4(%ebp),%ecx
   192f1:	01 cb                	add    %ecx,%ebx
   192f3:	eb a1                	jmp    19296 <_VfatWriteFileData+0x266>
   192f5:	83 ec 0c             	sub    $0xc,%esp
   192f8:	8b 75 0c             	mov    0xc(%ebp),%esi
   192fb:	8d 45 10             	lea    0x10(%ebp),%eax
   192fe:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19301:	6a 01                	push   $0x1
   19303:	6a 00                	push   $0x0
   19305:	56                   	push   %esi
   19306:	50                   	push   %eax
   19307:	53                   	push   %ebx
   19308:	e8 b3 7f ff ff       	call   112c0 <_VfatWriteDiskPartial>
   1930d:	83 c4 20             	add    $0x20,%esp
   19310:	89 c7                	mov    %eax,%edi
   19312:	85 c0                	test   %eax,%eax
   19314:	0f 89 f7 fd ff ff    	jns    19111 <_VfatWriteFileData+0xe1>
   1931a:	51                   	push   %ecx
   1931b:	68 7b 01 00 00       	push   $0x17b
   19320:	68 92 e7 01 00       	push   $0x1e792
   19325:	68 ac e7 01 00       	push   $0x1e7ac
   1932a:	ff 15 38 02 02 00    	call   *0x20238
   19330:	58                   	pop    %eax
   19331:	5a                   	pop    %edx
   19332:	57                   	push   %edi
   19333:	68 fc e7 01 00       	push   $0x1e7fc
   19338:	ff 15 38 02 02 00    	call   *0x20238
   1933e:	83 c4 10             	add    $0x10,%esp
   19341:	e9 cb fd ff ff       	jmp    19111 <_VfatWriteFileData+0xe1>
   19346:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
   19349:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   1934c:	83 ec 0c             	sub    $0xc,%esp
   1934f:	8b 55 10             	mov    0x10(%ebp),%edx
   19352:	8b 99 98 00 04 00    	mov    0x40098(%ecx),%ebx
   19358:	0f af c3             	imul   %ebx,%eax
   1935b:	01 c2                	add    %eax,%edx
   1935d:	8b 45 0c             	mov    0xc(%ebp),%eax
   19360:	6a 01                	push   $0x1
   19362:	6a 00                	push   $0x0
   19364:	50                   	push   %eax
   19365:	8d 45 10             	lea    0x10(%ebp),%eax
   19368:	50                   	push   %eax
   19369:	8b 45 08             	mov    0x8(%ebp),%eax
   1936c:	89 55 10             	mov    %edx,0x10(%ebp)
   1936f:	50                   	push   %eax
   19370:	e8 4b 7f ff ff       	call   112c0 <_VfatWriteDiskPartial>
   19375:	e9 99 fd ff ff       	jmp    19113 <_VfatWriteFileData+0xe3>
   1937a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   19380:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   19383:	e9 0e ff ff ff       	jmp    19296 <_VfatWriteFileData+0x266>
   19388:	83 ec 0c             	sub    $0xc,%esp
   1938b:	8b 45 08             	mov    0x8(%ebp),%eax
   1938e:	83 c0 30             	add    $0x30,%eax
   19391:	6a 00                	push   $0x0
   19393:	6a 00                	push   $0x0
   19395:	6a 00                	push   $0x0
   19397:	6a 00                	push   $0x0
   19399:	50                   	push   %eax
   1939a:	ff 15 f8 02 02 00    	call   *0x202f8
   193a0:	83 c4 0c             	add    $0xc,%esp
   193a3:	e9 5d fd ff ff       	jmp    19105 <_VfatWriteFileData+0xd5>
   193a8:	50                   	push   %eax
   193a9:	68 8a 01 00 00       	push   $0x18a
   193ae:	68 92 e7 01 00       	push   $0x1e792
   193b3:	68 ac e7 01 00       	push   $0x1e7ac
   193b8:	ff 15 38 02 02 00    	call   *0x20238
   193be:	5e                   	pop    %esi
   193bf:	58                   	pop    %eax
   193c0:	57                   	push   %edi
   193c1:	68 20 e8 01 00       	push   $0x1e820
   193c6:	ff 15 38 02 02 00    	call   *0x20238
   193cc:	83 c4 10             	add    $0x10,%esp
   193cf:	e9 1d fd ff ff       	jmp    190f1 <_VfatWriteFileData+0xc1>
   193d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
   193d7:	e9 a9 fd ff ff       	jmp    19185 <_VfatWriteFileData+0x155>
   193dc:	8d 74 26 00          	lea    0x0(%esi),%esi
   193e0:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
   193e3:	ff 15 d4 01 02 00    	call   *0x201d4
   193e9:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   193ec:	8d 46 ff             	lea    0xffffffff(%esi),%eax
   193ef:	89 82 dc 01 00 00    	mov    %eax,0x1dc(%edx)
   193f5:	31 d2                	xor    %edx,%edx
   193f7:	8b 4d 10             	mov    0x10(%ebp),%ecx
   193fa:	89 c8                	mov    %ecx,%eax
   193fc:	f7 75 c4             	divl   0xffffffc4(%ebp)
   193ff:	29 d1                	sub    %edx,%ecx
   19401:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
   19404:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   19407:	4a                   	dec    %edx
   19408:	0f af d0             	imul   %eax,%edx
   1940b:	8d 04 11             	lea    (%ecx,%edx,1),%eax
   1940e:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
   19411:	89 82 e0 01 00 00    	mov    %eax,0x1e0(%edx)
   19417:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
   1941a:	ff 15 d8 01 02 00    	call   *0x201d8
   19420:	83 ec 0c             	sub    $0xc,%esp
   19423:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   19426:	6a 00                	push   $0x0
   19428:	8d 4d e0             	lea    0xffffffe0(%ebp),%ecx
   1942b:	50                   	push   %eax
   1942c:	8b 45 08             	mov    0x8(%ebp),%eax
   1942f:	53                   	push   %ebx
   19430:	51                   	push   %ecx
   19431:	50                   	push   %eax
   19432:	e8 89 7e ff ff       	call   112c0 <_VfatWriteDiskPartial>
   19437:	83 c4 20             	add    $0x20,%esp
   1943a:	89 c7                	mov    %eax,%edi
   1943c:	85 c0                	test   %eax,%eax
   1943e:	78 18                	js     19458 <_VfatWriteFileData+0x428>
   19440:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   19443:	8b 75 10             	mov    0x10(%ebp),%esi
   19446:	01 d8                	add    %ebx,%eax
   19448:	01 de                	add    %ebx,%esi
   1944a:	29 5d 0c             	sub    %ebx,0xc(%ebp)
   1944d:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
   19450:	89 75 10             	mov    %esi,0x10(%ebp)
   19453:	e9 a8 fd ff ff       	jmp    19200 <_VfatWriteFileData+0x1d0>
   19458:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1945b:	83 c1 2c             	add    $0x2c,%ecx
   1945e:	ff 15 ec 01 02 00    	call   *0x201ec
   19464:	85 c0                	test   %eax,%eax
   19466:	75 1d                	jne    19485 <_VfatWriteFileData+0x455>
   19468:	85 ff                	test   %edi,%edi
   1946a:	0f 88 a1 fc ff ff    	js     19111 <_VfatWriteFileData+0xe1>
   19470:	8b 4d 0c             	mov    0xc(%ebp),%ecx
   19473:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
   19478:	85 c9                	test   %ecx,%ecx
   1947a:	0f 85 91 fc ff ff    	jne    19111 <_VfatWriteFileData+0xe1>
   19480:	e9 84 fc ff ff       	jmp    19109 <_VfatWriteFileData+0xd9>
   19485:	83 ec 0c             	sub    $0xc,%esp
   19488:	8b 45 08             	mov    0x8(%ebp),%eax
   1948b:	83 c0 30             	add    $0x30,%eax
   1948e:	6a 00                	push   $0x0
   19490:	6a 00                	push   $0x0
   19492:	6a 00                	push   $0x0
   19494:	6a 00                	push   $0x0
   19496:	50                   	push   %eax
   19497:	ff 15 f8 02 02 00    	call   *0x202f8
   1949d:	83 c4 0c             	add    $0xc,%esp
   194a0:	eb c6                	jmp    19468 <_VfatWriteFileData+0x438>
   194a2:	83 ec 0c             	sub    $0xc,%esp
   194a5:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
   194a8:	31 d2                	xor    %edx,%edx
   194aa:	6a 00                	push   $0x0
   194ac:	50                   	push   %eax
   194ad:	89 c8                	mov    %ecx,%eax
   194af:	f7 75 c4             	divl   0xffffffc4(%ebp)
   194b2:	29 d1                	sub    %edx,%ecx
   194b4:	29 f1                	sub    %esi,%ecx
   194b6:	51                   	push   %ecx
   194b7:	53                   	push   %ebx
   194b8:	e9 df fc ff ff       	jmp    1919c <_VfatWriteFileData+0x16c>
   194bd:	8d 76 00             	lea    0x0(%esi),%esi

000194c0 <_VfatRead>:

NTSTATUS
VfatRead(PVFAT_IRP_CONTEXT IrpContext)
{
   194c0:	55                   	push   %ebp
   194c1:	89 e5                	mov    %esp,%ebp
   194c3:	57                   	push   %edi
   194c4:	56                   	push   %esi
   194c5:	53                   	push   %ebx
   194c6:	83 ec 4c             	sub    $0x4c,%esp
   NTSTATUS Status;
   PVFATFCB Fcb;
   ULONG Length = 0;
   ULONG ReturnedLength = 0;
   194c9:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   PERESOURCE Resource = NULL;
   LARGE_INTEGER ByteOffset;
   PVOID Buffer;
   PDEVICE_OBJECT DeviceToVerify;
   ULONG BytesPerSector;

   ASSERT(IrpContext);

   DPRINT("VfatRead(IrpContext %x)\n", IrpContext);

   ASSERT(IrpContext->DeviceObject);

   // This request is not allowed on the main device object
   if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
   194d0:	a1 10 f0 01 00       	mov    0x1f010,%eax
   194d5:	8b 7d 08             	mov    0x8(%ebp),%edi
   194d8:	8b 40 04             	mov    0x4(%eax),%eax
   {
      DPRINT("VfatRead is called with the main device object.\n");
      Status = STATUS_INVALID_DEVICE_REQUEST;
   194db:	c7 45 e0 10 00 00 c0 	movl   $0xc0000010,0xffffffe0(%ebp)
   194e2:	39 47 04             	cmp    %eax,0x4(%edi)
   194e5:	0f 84 8b 00 00 00    	je     19576 <_VfatRead+0xb6>
      goto ByeBye;
   }

   ASSERT(IrpContext->DeviceExt);
   ASSERT(IrpContext->FileObject);
   Fcb = IrpContext->FileObject->FsContext;
   194eb:	8b 47 28             	mov    0x28(%edi),%eax
   194ee:	8b 70 0c             	mov    0xc(%eax),%esi
   ASSERT(Fcb);

   DPRINT("<%wZ>\n", &Fcb->PathNameU);

   if (Fcb->Flags & FCB_IS_PAGE_FILE)
   194f1:	f6 86 38 01 00 00 08 	testb  $0x8,0x138(%esi)
   194f8:	0f 85 92 02 00 00    	jne    19790 <_VfatRead+0x2d0>
   {
      PFATINFO FatInfo = &IrpContext->DeviceExt->FatInfo;
      IrpContext->Stack->Parameters.Read.ByteOffset.QuadPart += FatInfo->dataStart * FatInfo->BytesPerSector;
      IoSkipCurrentIrpStackLocation(IrpContext->Irp);
      DPRINT("Read from page file, disk offset %I64x\n", IrpContext->Stack->Parameters.Read.ByteOffset.QuadPart);
      Status = IoCallDriver(IrpContext->DeviceExt->StorageDevice, IrpContext->Irp);
      VfatFreeIrpContext(IrpContext);
      return Status;
   }

   ByteOffset = IrpContext->Stack->Parameters.Read.ByteOffset;
   194fe:	8b 47 20             	mov    0x20(%edi),%eax
   19501:	8b 50 0c             	mov    0xc(%eax),%edx
   19504:	8b 48 10             	mov    0x10(%eax),%ecx
   19507:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
   1950a:	89 55 e8             	mov    %edx,0xffffffe8(%ebp)
   Length = IrpContext->Stack->Parameters.Read.Length;
   1950d:	8b 40 04             	mov    0x4(%eax),%eax
   19510:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
   BytesPerSector = IrpContext->DeviceExt->FatInfo.BytesPerSector;
   19513:	8b 47 08             	mov    0x8(%edi),%eax
   19516:	89 45 b0             	mov    %eax,0xffffffb0(%ebp)
   19519:	8b 90 a8 00 04 00    	mov    0x400a8(%eax),%edx
   1951f:	89 55 d0             	mov    %edx,0xffffffd0(%ebp)

   /* fail if file is a directory and no paged read */
   if (*Fcb->Attributes & FILE_ATTRIBUTE_DIRECTORY && !(IrpContext->Irp->Flags & IRP_PAGING_IO))
   19522:	8b 86 e4 00 00 00    	mov    0xe4(%esi),%eax
   19528:	f6 00 10             	testb  $0x10,(%eax)
   1952b:	0f 85 bf 00 00 00    	jne    195f0 <_VfatRead+0x130>
   {
      Status = STATUS_INVALID_PARAMETER;
      goto ByeBye;
   }


   DPRINT("'%wZ', Offset: %d, Length %d\n", &Fcb->PathNameU, ByteOffset.u.LowPart, Length);

   if (ByteOffset.u.HighPart && !(Fcb->Flags & FCB_IS_VOLUME))
   19531:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   19534:	85 c0                	test   %eax,%eax
   19536:	74 10                	je     19548 <_VfatRead+0x88>
   {
      Status = STATUS_INVALID_PARAMETER;
   19538:	c7 45 e0 0d 00 00 c0 	movl   $0xc000000d,0xffffffe0(%ebp)
   1953f:	f6 86 38 01 00 00 10 	testb  $0x10,0x138(%esi)
   19546:	74 2e                	je     19576 <_VfatRead+0xb6>
      goto ByeBye;
   }
   if (ByteOffset.QuadPart >= Fcb->RFCB.FileSize.QuadPart)
   19548:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   1954b:	8b 56 1c             	mov    0x1c(%esi),%edx
   1954e:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   19551:	8b 46 18             	mov    0x18(%esi),%eax
   19554:	39 d3                	cmp    %edx,%ebx
   19556:	0f 8c ac 00 00 00    	jl     19608 <_VfatRead+0x148>
   1955c:	7f 08                	jg     19566 <_VfatRead+0xa6>
   1955e:	39 c1                	cmp    %eax,%ecx
   19560:	0f 82 a2 00 00 00    	jb     19608 <_VfatRead+0x148>
   {
      IrpContext->Irp->IoStatus.Information = 0;
   19566:	8b 07                	mov    (%edi),%eax
   19568:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
      Status = STATUS_END_OF_FILE;
   1956f:	c7 45 e0 11 00 00 c0 	movl   $0xc0000011,0xffffffe0(%ebp)
      goto ByeBye;
   }
   if (IrpContext->Irp->Flags & (IRP_PAGING_IO | IRP_NOCACHE) || (Fcb->Flags & FCB_IS_VOLUME))
   {
      if (ByteOffset.u.LowPart % BytesPerSector != 0 || Length % BytesPerSector != 0)
      {
         DPRINT("%d %d\n", ByteOffset.u.LowPart, Length);
         // non cached read must be sector aligned
         Status = STATUS_INVALID_PARAMETER;
         goto ByeBye;
      }
   }
   if (Length == 0)
   {
      IrpContext->Irp->IoStatus.Information = 0;
      Status = STATUS_SUCCESS;
      goto ByeBye;
   }
   
   if (Fcb->Flags & FCB_IS_VOLUME)
   {
      Resource = &IrpContext->DeviceExt->DirResource;
   }
   else if (IrpContext->Irp->Flags & IRP_PAGING_IO)
   {
      Resource = &Fcb->PagingIoResource;
   }
   else
   {
      Resource = &Fcb->MainResource;
   }
   if (!ExAcquireResourceSharedLite(Resource,
                                    IrpContext->Flags & IRPCONTEXT_CANWAIT ? TRUE : FALSE))
   {
      Resource = NULL;
      Status = STATUS_PENDING;
      goto ByeBye;
   }

   if (!(IrpContext->Irp->Flags & IRP_PAGING_IO) &&
      FsRtlAreThereCurrentFileLocks(&Fcb->FileLock))
   {
      if (!FsRtlCheckLockForReadAccess(&Fcb->FileLock, IrpContext->Irp)) 
      {
         Status = STATUS_FILE_LOCK_CONFLICT;
         goto ByeBye;
      }
   }

   Buffer = VfatGetUserBuffer(IrpContext->Irp);
   if (!Buffer)
     {
       Status = STATUS_INVALID_USER_BUFFER;
       goto ByeBye;
     }

   if (!(IrpContext->Irp->Flags & (IRP_NOCACHE|IRP_PAGING_IO)) &&
     !(Fcb->Flags & (FCB_IS_PAGE_FILE|FCB_IS_VOLUME)))
   {
      // cached read
      CHECKPOINT;
      Status = STATUS_SUCCESS;
      if (ByteOffset.u.LowPart + Length > Fcb->RFCB.FileSize.u.LowPart)
      {
         Length = Fcb->RFCB.FileSize.u.LowPart - ByteOffset.u.LowPart;
         Status = /*STATUS_END_OF_FILE*/STATUS_SUCCESS;
      }

      CHECKPOINT;
      if (IrpContext->FileObject->PrivateCacheMap == NULL)
      {
#ifdef USE_ROS_CC_AND_FS
        ULONG CacheSize;
        CacheSize = max(IrpContext->DeviceExt->FatInfo.BytesPerCluster,
                        8 * PAGE_SIZE);
        CcRosInitializeFileCache(IrpContext->FileObject, CacheSize);
#else
        /* FIXME: Guard by SEH. */
        CcInitializeCacheMap(IrpContext->FileObject,
                             (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
                             FALSE,
                             &(VfatGlobalData->CacheMgrCallbacks),
                             Fcb);
#endif
      }
      if (!CcCopyRead(IrpContext->FileObject, &ByteOffset, Length,
                      (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT), Buffer,
                      &IrpContext->Irp->IoStatus))
      {
         Status = STATUS_PENDING;
         goto ByeBye;
      }
      CHECKPOINT;
      if (!NT_SUCCESS(IrpContext->Irp->IoStatus.Status))
      {
        Status = IrpContext->Irp->IoStatus.Status;
      }
   }
   else
   {
      // non cached read
      CHECKPOINT;
      if (ByteOffset.QuadPart + Length > ROUND_UP(Fcb->RFCB.FileSize.QuadPart, BytesPerSector))
      {
         Length = (ULONG)(ROUND_UP(Fcb->RFCB.FileSize.QuadPart, BytesPerSector) - ByteOffset.QuadPart);
      }

      Status = VfatLockUserBuffer(IrpContext->Irp, Length, IoWriteAccess);
      if (!NT_SUCCESS(Status))
        {
          goto ByeBye;
        }

      Status = VfatReadFileData(IrpContext, Length, ByteOffset, &ReturnedLength);
/**/
      if (Status == STATUS_VERIFY_REQUIRED)
      {
         DPRINT("VfatReadFile returned STATUS_VERIFY_REQUIRED\n");
         DeviceToVerify = IoGetDeviceToVerify(PsGetCurrentThread());
         IoSetDeviceToVerify(PsGetCurrentThread(), DeviceToVerify);
         Status = IoVerifyVolume (DeviceToVerify, FALSE);

         if (NT_SUCCESS(Status))
         {
            Status = VfatReadFileData(IrpContext, Length,
                                      ByteOffset, &ReturnedLength);
         }

      }
/**/
      if (NT_SUCCESS(Status))
      {
         IrpContext->Irp->IoStatus.Information = ReturnedLength;
      }
   }

ByeBye:
   if (Resource)
   {
      ExReleaseResourceLite(Resource);
   }

   if (Status == STATUS_PENDING)
   {
      Status = VfatLockUserBuffer(IrpContext->Irp, Length, IoWriteAccess);
      if (NT_SUCCESS(Status))
      {
         Status = VfatQueueRequest(IrpContext);
      }
      else
      {
         IrpContext->Irp->IoStatus.Status = Status;
         IoCompleteRequest(IrpContext->Irp, IO_NO_INCREMENT);
         VfatFreeIrpContext(IrpContext);
      }
   }
   else
   {
      IrpContext->Irp->IoStatus.Status = Status;
   19576:	8b 07                	mov    (%edi),%eax
   19578:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   1957b:	89 d1                	mov    %edx,%ecx
   1957d:	89 50 18             	mov    %edx,0x18(%eax)
   19580:	83 f1 ff             	xor    $0xffffffff,%ecx
      if (IrpContext->FileObject->Flags & FO_SYNCHRONOUS_IO &&
   19583:	8b 5f 28             	mov    0x28(%edi),%ebx
   19586:	f6 43 2c 02          	testb  $0x2,0x2c(%ebx)
   1958a:	74 3b                	je     195c7 <_VfatRead+0x107>
   1958c:	8b 37                	mov    (%edi),%esi
   1958e:	89 d1                	mov    %edx,%ecx
   19590:	83 f1 ff             	xor    $0xffffffff,%ecx
   19593:	f6 46 08 02          	testb  $0x2,0x8(%esi)
   19597:	75 2e                	jne    195c7 <_VfatRead+0x107>
   19599:	89 d1                	mov    %edx,%ecx
   1959b:	83 f1 ff             	xor    $0xffffffff,%ecx
   1959e:	89 ca                	mov    %ecx,%edx
   195a0:	c1 ea 1f             	shr    $0x1f,%edx
   195a3:	81 7d e0 11 00 00 c0 	cmpl   $0xc0000011,0xffffffe0(%ebp)
   195aa:	0f 94 c0             	sete   %al
   195ad:	25 ff 00 00 00       	and    $0xff,%eax
   195b2:	09 c2                	or     %eax,%edx
   195b4:	74 11                	je     195c7 <_VfatRead+0x107>
          !(IrpContext->Irp->Flags & IRP_PAGING_IO) &&
          (NT_SUCCESS(Status) || Status==STATUS_END_OF_FILE))
      {
         IrpContext->FileObject->CurrentByteOffset.QuadPart =
   195b6:	8b 46 1c             	mov    0x1c(%esi),%eax
   195b9:	31 d2                	xor    %edx,%edx
   195bb:	03 45 e8             	add    0xffffffe8(%ebp),%eax
   195be:	13 55 ec             	adc    0xffffffec(%ebp),%edx
   195c1:	89 43 38             	mov    %eax,0x38(%ebx)
   195c4:	89 53 3c             	mov    %edx,0x3c(%ebx)
           ByteOffset.QuadPart + IrpContext->Irp->IoStatus.Information;
      }

      IoCompleteRequest(IrpContext->Irp,
   195c7:	c1 e9 1f             	shr    $0x1f,%ecx
   195ca:	89 ca                	mov    %ecx,%edx
   195cc:	8b 0f                	mov    (%edi),%ecx
   195ce:	ff 15 00 02 02 00    	call   *0x20200
                        (CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT));
      VfatFreeIrpContext(IrpContext);
   195d4:	83 ec 0c             	sub    $0xc,%esp
   195d7:	57                   	push   %edi
   195d8:	e8 53 14 00 00       	call   1aa30 <_VfatFreeIrpContext>
   }
   DPRINT("%x\n", Status);
   return Status;
}
   195dd:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   195e0:	83 c4 10             	add    $0x10,%esp
   195e3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   195e6:	5b                   	pop    %ebx
   195e7:	5e                   	pop    %esi
   195e8:	5f                   	pop    %edi
   195e9:	5d                   	pop    %ebp
   195ea:	c3                   	ret    
   195eb:	90                   	nop    
   195ec:	8d 74 26 00          	lea    0x0(%esi),%esi
   195f0:	8b 07                	mov    (%edi),%eax
   195f2:	c7 45 e0 0d 00 00 c0 	movl   $0xc000000d,0xffffffe0(%ebp)
   195f9:	f6 40 08 02          	testb  $0x2,0x8(%eax)
   195fd:	0f 85 2e ff ff ff    	jne    19531 <_VfatRead+0x71>
   19603:	e9 6e ff ff ff       	jmp    19576 <_VfatRead+0xb6>
   19608:	8b 1f                	mov    (%edi),%ebx
   1960a:	f6 43 08 03          	testb  $0x3,0x8(%ebx)
   1960e:	0f 85 d1 01 00 00    	jne    197e5 <_VfatRead+0x325>
   19614:	f6 86 38 01 00 00 10 	testb  $0x10,0x138(%esi)
   1961b:	0f 85 c4 01 00 00    	jne    197e5 <_VfatRead+0x325>
   19621:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   19624:	85 c0                	test   %eax,%eax
   19626:	0f 84 0e 03 00 00    	je     1993a <_VfatRead+0x47a>
   1962c:	8b 45 b0             	mov    0xffffffb0(%ebp),%eax
   1962f:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   19632:	f6 86 38 01 00 00 10 	testb  $0x10,0x138(%esi)
   19639:	75 15                	jne    19650 <_VfatRead+0x190>
   1963b:	f6 43 08 02          	testb  $0x2,0x8(%ebx)
   1963f:	0f 84 c8 01 00 00    	je     1980d <_VfatRead+0x34d>
   19645:	8d 56 6c             	lea    0x6c(%esi),%edx
   19648:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
   1964b:	90                   	nop    
   1964c:	8d 74 26 00          	lea    0x0(%esi),%esi
   19650:	50                   	push   %eax
   19651:	50                   	push   %eax
   19652:	f6 47 0c 01          	testb  $0x1,0xc(%edi)
   19656:	0f 95 c0             	setne  %al
   19659:	25 ff 00 00 00       	and    $0xff,%eax
   1965e:	50                   	push   %eax
   1965f:	8b 5d d8             	mov    0xffffffd8(%ebp),%ebx
   19662:	53                   	push   %ebx
   19663:	ff 15 40 02 02 00    	call   *0x20240
   19669:	5a                   	pop    %edx
   1966a:	84 c0                	test   %al,%al
   1966c:	59                   	pop    %ecx
   1966d:	0f 84 ee 00 00 00    	je     19761 <_VfatRead+0x2a1>
   19673:	8b 07                	mov    (%edi),%eax
   19675:	f6 40 08 02          	testb  $0x2,0x8(%eax)
   19679:	75 0d                	jne    19688 <_VfatRead+0x1c8>
   1967b:	80 be 88 01 00 00 00 	cmpb   $0x0,0x188(%esi)
   19682:	0f 85 90 01 00 00    	jne    19818 <_VfatRead+0x358>
   19688:	83 ec 0c             	sub    $0xc,%esp
   1968b:	8b 07                	mov    (%edi),%eax
   1968d:	50                   	push   %eax
   1968e:	e8 dd 17 00 00       	call   1ae70 <_VfatGetUserBuffer>
   19693:	83 c4 10             	add    $0x10,%esp
   19696:	c7 45 e0 e8 00 00 c0 	movl   $0xc00000e8,0xffffffe0(%ebp)
   1969d:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
   196a0:	85 c0                	test   %eax,%eax
   196a2:	0f 84 9c 00 00 00    	je     19744 <_VfatRead+0x284>
   196a8:	8b 1f                	mov    (%edi),%ebx
   196aa:	f6 43 08 03          	testb  $0x3,0x8(%ebx)
   196ae:	0f 85 8c 01 00 00    	jne    19840 <_VfatRead+0x380>
   196b4:	f6 86 38 01 00 00 18 	testb  $0x18,0x138(%esi)
   196bb:	0f 85 7f 01 00 00    	jne    19840 <_VfatRead+0x380>
   196c1:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   196c4:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   196c7:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   196ce:	8d 04 11             	lea    (%ecx,%edx,1),%eax
   196d1:	8b 56 18             	mov    0x18(%esi),%edx
   196d4:	39 d0                	cmp    %edx,%eax
   196d6:	76 05                	jbe    196dd <_VfatRead+0x21d>
   196d8:	29 ca                	sub    %ecx,%edx
   196da:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   196dd:	8b 57 28             	mov    0x28(%edi),%edx
   196e0:	8b 72 18             	mov    0x18(%edx),%esi
   196e3:	85 f6                	test   %esi,%esi
   196e5:	75 22                	jne    19709 <_VfatRead+0x249>
   196e7:	8b 47 08             	mov    0x8(%edi),%eax
   196ea:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   196f0:	3d 00 80 00 00       	cmp    $0x8000,%eax
   196f5:	73 05                	jae    196fc <_VfatRead+0x23c>
   196f7:	b8 00 80 00 00       	mov    $0x8000,%eax
   196fc:	51                   	push   %ecx
   196fd:	51                   	push   %ecx
   196fe:	50                   	push   %eax
   196ff:	52                   	push   %edx
   19700:	e8 0b 32 00 00       	call   1c910 <_CcRosInitializeFileCache@8>
   19705:	8b 1f                	mov    (%edi),%ebx
   19707:	58                   	pop    %eax
   19708:	5a                   	pop    %edx
   19709:	50                   	push   %eax
   1970a:	50                   	push   %eax
   1970b:	8d 43 18             	lea    0x18(%ebx),%eax
   1970e:	50                   	push   %eax
   1970f:	31 c0                	xor    %eax,%eax
   19711:	8b 75 d4             	mov    0xffffffd4(%ebp),%esi
   19714:	56                   	push   %esi
   19715:	8a 47 0c             	mov    0xc(%edi),%al
   19718:	83 e0 01             	and    $0x1,%eax
   1971b:	50                   	push   %eax
   1971c:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   1971f:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   19722:	53                   	push   %ebx
   19723:	50                   	push   %eax
   19724:	8b 4f 28             	mov    0x28(%edi),%ecx
   19727:	51                   	push   %ecx
   19728:	e8 a3 32 00 00       	call   1c9d0 <_CcCopyRead@24>
   1972d:	5e                   	pop    %esi
   1972e:	84 c0                	test   %al,%al
   19730:	5a                   	pop    %edx
   19731:	0f 84 81 02 00 00    	je     199b8 <_VfatRead+0x4f8>
   19737:	8b 07                	mov    (%edi),%eax
   19739:	8b 40 18             	mov    0x18(%eax),%eax
   1973c:	85 c0                	test   %eax,%eax
   1973e:	0f 88 80 02 00 00    	js     199c4 <_VfatRead+0x504>
   19744:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   19747:	85 c0                	test   %eax,%eax
   19749:	74 09                	je     19754 <_VfatRead+0x294>
   1974b:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
   1974e:	ff 15 e8 01 02 00    	call   *0x201e8
   19754:	81 7d e0 03 01 00 00 	cmpl   $0x103,0xffffffe0(%ebp)
   1975b:	0f 85 15 fe ff ff    	jne    19576 <_VfatRead+0xb6>
   19761:	50                   	push   %eax
   19762:	6a 01                	push   $0x1
   19764:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   19767:	50                   	push   %eax
   19768:	8b 07                	mov    (%edi),%eax
   1976a:	50                   	push   %eax
   1976b:	e8 40 17 00 00       	call   1aeb0 <_VfatLockUserBuffer>
   19770:	83 c4 10             	add    $0x10,%esp
   19773:	85 c0                	test   %eax,%eax
   19775:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   19778:	0f 88 cf 01 00 00    	js     1994d <_VfatRead+0x48d>
   1977e:	83 ec 0c             	sub    $0xc,%esp
   19781:	57                   	push   %edi
   19782:	e8 99 16 00 00       	call   1ae20 <_VfatQueueRequest>
   19787:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1978a:	e9 4e fe ff ff       	jmp    195dd <_VfatRead+0x11d>
   1978f:	90                   	nop    
   19790:	8b 57 08             	mov    0x8(%edi),%edx
   19793:	8b 4f 20             	mov    0x20(%edi),%ecx
   19796:	81 c2 84 00 04 00    	add    $0x40084,%edx
   1979c:	8b 5a 18             	mov    0x18(%edx),%ebx
   1979f:	8b 42 24             	mov    0x24(%edx),%eax
   197a2:	0f af c3             	imul   %ebx,%eax
   197a5:	31 d2                	xor    %edx,%edx
   197a7:	01 41 0c             	add    %eax,0xc(%ecx)
   197aa:	11 51 10             	adc    %edx,0x10(%ecx)
   197ad:	8b 07                	mov    (%edi),%eax
   197af:	fe 40 23             	incb   0x23(%eax)
   197b2:	8b 07                	mov    (%edi),%eax
   197b4:	8b 50 60             	mov    0x60(%eax),%edx
   197b7:	83 c2 24             	add    $0x24,%edx
   197ba:	89 50 60             	mov    %edx,0x60(%eax)
   197bd:	8b 47 08             	mov    0x8(%edi),%eax
   197c0:	8b 17                	mov    (%edi),%edx
   197c2:	8b 88 7c 00 04 00    	mov    0x4007c(%eax),%ecx
   197c8:	ff 15 fc 01 02 00    	call   *0x201fc
   197ce:	83 ec 0c             	sub    $0xc,%esp
   197d1:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   197d4:	57                   	push   %edi
   197d5:	e8 56 12 00 00       	call   1aa30 <_VfatFreeIrpContext>
   197da:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   197dd:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   197e0:	5b                   	pop    %ebx
   197e1:	5e                   	pop    %esi
   197e2:	5f                   	pop    %edi
   197e3:	5d                   	pop    %ebp
   197e4:	c3                   	ret    
   197e5:	31 d2                	xor    %edx,%edx
   197e7:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   197ea:	f7 75 d0             	divl   0xffffffd0(%ebp)
   197ed:	85 d2                	test   %edx,%edx
   197ef:	75 10                	jne    19801 <_VfatRead+0x341>
   197f1:	31 d2                	xor    %edx,%edx
   197f3:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   197f6:	f7 75 d0             	divl   0xffffffd0(%ebp)
   197f9:	85 d2                	test   %edx,%edx
   197fb:	0f 84 20 fe ff ff    	je     19621 <_VfatRead+0x161>
   19801:	c7 45 e0 0d 00 00 c0 	movl   $0xc000000d,0xffffffe0(%ebp)
   19808:	e9 69 fd ff ff       	jmp    19576 <_VfatRead+0xb6>
   1980d:	8d 46 34             	lea    0x34(%esi),%eax
   19810:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   19813:	e9 38 fe ff ff       	jmp    19650 <_VfatRead+0x190>
   19818:	53                   	push   %ebx
   19819:	53                   	push   %ebx
   1981a:	50                   	push   %eax
   1981b:	8d 86 80 01 00 00    	lea    0x180(%esi),%eax
   19821:	50                   	push   %eax
   19822:	e8 b9 31 00 00       	call   1c9e0 <_FsRtlCheckLockForReadAccess@8>
   19827:	5a                   	pop    %edx
   19828:	84 c0                	test   %al,%al
   1982a:	59                   	pop    %ecx
   1982b:	c7 45 e0 54 00 00 c0 	movl   $0xc0000054,0xffffffe0(%ebp)
   19832:	0f 85 50 fe ff ff    	jne    19688 <_VfatRead+0x1c8>
   19838:	e9 07 ff ff ff       	jmp    19744 <_VfatRead+0x284>
   1983d:	8d 76 00             	lea    0x0(%esi),%esi
   19840:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   19843:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
   1984a:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
   1984d:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   19850:	01 45 c8             	add    %eax,0xffffffc8(%ebp)
   19853:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   19856:	11 55 cc             	adc    %edx,0xffffffcc(%ebp)
   19859:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
   1985c:	89 55 c0             	mov    %edx,0xffffffc0(%ebp)
   1985f:	c7 45 c4 00 00 00 00 	movl   $0x0,0xffffffc4(%ebp)
   19866:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
   19869:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
   1986c:	03 46 18             	add    0x18(%esi),%eax
   1986f:	8b 5d c4             	mov    0xffffffc4(%ebp),%ebx
   19872:	13 56 1c             	adc    0x1c(%esi),%edx
   19875:	83 c0 ff             	add    $0xffffffff,%eax
   19878:	83 d2 ff             	adc    $0xffffffff,%edx
   1987b:	53                   	push   %ebx
   1987c:	8b 4d c0             	mov    0xffffffc0(%ebp),%ecx
   1987f:	51                   	push   %ecx
   19880:	52                   	push   %edx
   19881:	50                   	push   %eax
   19882:	e8 79 32 00 00       	call   1cb00 <___divdi3>
   19887:	8b 75 c4             	mov    0xffffffc4(%ebp),%esi
   1988a:	83 c4 10             	add    $0x10,%esp
   1988d:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
   19890:	89 55 bc             	mov    %edx,0xffffffbc(%ebp)
   19893:	f7 65 c0             	mull   0xffffffc0(%ebp)
   19896:	89 d3                	mov    %edx,%ebx
   19898:	8b 55 b8             	mov    0xffffffb8(%ebp),%edx
   1989b:	0f af d6             	imul   %esi,%edx
   1989e:	89 c1                	mov    %eax,%ecx
   198a0:	8b 75 c0             	mov    0xffffffc0(%ebp),%esi
   198a3:	89 d8                	mov    %ebx,%eax
   198a5:	8b 5d bc             	mov    0xffffffbc(%ebp),%ebx
   198a8:	0f af f3             	imul   %ebx,%esi
   198ab:	01 d0                	add    %edx,%eax
   198ad:	89 55 b4             	mov    %edx,0xffffffb4(%ebp)
   198b0:	8d 1c 30             	lea    (%eax,%esi,1),%ebx
   198b3:	39 5d cc             	cmp    %ebx,0xffffffcc(%ebp)
   198b6:	7c 27                	jl     198df <_VfatRead+0x41f>
   198b8:	7f 05                	jg     198bf <_VfatRead+0x3ff>
   198ba:	39 4d c8             	cmp    %ecx,0xffffffc8(%ebp)
   198bd:	76 20                	jbe    198df <_VfatRead+0x41f>
   198bf:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
   198c2:	f7 65 c0             	mull   0xffffffc0(%ebp)
   198c5:	89 45 a8             	mov    %eax,0xffffffa8(%ebp)
   198c8:	89 d1                	mov    %edx,%ecx
   198ca:	8b 55 b4             	mov    0xffffffb4(%ebp),%edx
   198cd:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   198d0:	01 d1                	add    %edx,%ecx
   198d2:	8b 55 a8             	mov    0xffffffa8(%ebp),%edx
   198d5:	01 f1                	add    %esi,%ecx
   198d7:	29 c2                	sub    %eax,%edx
   198d9:	89 4d ac             	mov    %ecx,0xffffffac(%ebp)
   198dc:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   198df:	50                   	push   %eax
   198e0:	6a 01                	push   $0x1
   198e2:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   198e5:	50                   	push   %eax
   198e6:	8b 07                	mov    (%edi),%eax
   198e8:	50                   	push   %eax
   198e9:	e8 c2 15 00 00       	call   1aeb0 <_VfatLockUserBuffer>
   198ee:	83 c4 10             	add    $0x10,%esp
   198f1:	85 c0                	test   %eax,%eax
   198f3:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   198f6:	0f 88 48 fe ff ff    	js     19744 <_VfatRead+0x284>
   198fc:	83 ec 0c             	sub    $0xc,%esp
   198ff:	8d 75 e4             	lea    0xffffffe4(%ebp),%esi
   19902:	56                   	push   %esi
   19903:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   19906:	50                   	push   %eax
   19907:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   1990a:	50                   	push   %eax
   1990b:	8b 5d dc             	mov    0xffffffdc(%ebp),%ebx
   1990e:	53                   	push   %ebx
   1990f:	57                   	push   %edi
   19910:	e8 ab f2 ff ff       	call   18bc0 <_VfatReadFileData>
   19915:	83 c4 20             	add    $0x20,%esp
   19918:	3d 16 00 00 80       	cmp    $0x80000016,%eax
   1991d:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   19920:	74 3a                	je     1995c <_VfatRead+0x49c>
   19922:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   19925:	85 c0                	test   %eax,%eax
   19927:	0f 88 17 fe ff ff    	js     19744 <_VfatRead+0x284>
   1992d:	8b 17                	mov    (%edi),%edx
   1992f:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   19932:	89 42 1c             	mov    %eax,0x1c(%edx)
   19935:	e9 0a fe ff ff       	jmp    19744 <_VfatRead+0x284>
   1993a:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
   19941:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
   19948:	e9 29 fc ff ff       	jmp    19576 <_VfatRead+0xb6>
   1994d:	8b 07                	mov    (%edi),%eax
   1994f:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
   19952:	89 50 18             	mov    %edx,0x18(%eax)
   19955:	31 d2                	xor    %edx,%edx
   19957:	e9 70 fc ff ff       	jmp    195cc <_VfatRead+0x10c>
   1995c:	83 ec 10             	sub    $0x10,%esp
   1995f:	ff 15 e4 02 02 00    	call   *0x202e4
   19965:	89 04 24             	mov    %eax,(%esp)
   19968:	ff 15 b4 02 02 00    	call   *0x202b4
   1996e:	89 c3                	mov    %eax,%ebx
   19970:	89 04 24             	mov    %eax,(%esp)
   19973:	51                   	push   %ecx
   19974:	ff 15 e4 02 02 00    	call   *0x202e4
   1997a:	89 04 24             	mov    %eax,(%esp)
   1997d:	e8 ae 2d 00 00       	call   1c730 <_IoSetDeviceToVerify@8>
   19982:	6a 00                	push   $0x0
   19984:	53                   	push   %ebx
   19985:	e8 b6 2d 00 00       	call   1c740 <_IoVerifyVolume@8>
   1998a:	85 c0                	test   %eax,%eax
   1998c:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   1998f:	5b                   	pop    %ebx
   19990:	5a                   	pop    %edx
   19991:	0f 88 ad fd ff ff    	js     19744 <_VfatRead+0x284>
   19997:	83 ec 0c             	sub    $0xc,%esp
   1999a:	56                   	push   %esi
   1999b:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   1999e:	51                   	push   %ecx
   1999f:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   199a2:	52                   	push   %edx
   199a3:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   199a6:	50                   	push   %eax
   199a7:	57                   	push   %edi
   199a8:	e8 13 f2 ff ff       	call   18bc0 <_VfatReadFileData>
   199ad:	83 c4 20             	add    $0x20,%esp
   199b0:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   199b3:	e9 6a ff ff ff       	jmp    19922 <_VfatRead+0x462>
   199b8:	c7 45 e0 03 01 00 00 	movl   $0x103,0xffffffe0(%ebp)
   199bf:	e9 80 fd ff ff       	jmp    19744 <_VfatRead+0x284>
   199c4:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   199c7:	e9 78 fd ff ff       	jmp    19744 <_VfatRead+0x284>
   199cc:	8d 74 26 00          	lea    0x0(%esi),%esi

000199d0 <_VfatWrite>:

NTSTATUS VfatWrite (PVFAT_IRP_CONTEXT IrpContext)
{
   199d0:	55                   	push   %ebp
   199d1:	89 e5                	mov    %esp,%ebp
   199d3:	57                   	push   %edi
   199d4:	56                   	push   %esi
   199d5:	53                   	push   %ebx
   199d6:	83 ec 3c             	sub    $0x3c,%esp
   PVFATFCB Fcb;
   PERESOURCE Resource = NULL;
   LARGE_INTEGER ByteOffset;
   LARGE_INTEGER OldFileSize;
   NTSTATUS Status = STATUS_SUCCESS;
   ULONG Length = 0;
   ULONG OldAllocationSize;
   PVOID Buffer;
   ULONG BytesPerSector;

   ASSERT(IrpContext);

   DPRINT("VfatWrite(IrpContext %x)\n", IrpContext);

   ASSERT(IrpContext->DeviceObject);

   // This request is not allowed on the main device object
   if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
   {
      DPRINT("VfatWrite is called with the main device object.\n");
      Status = STATUS_INVALID_DEVICE_REQUEST;
   199d9:	bf 10 00 00 c0       	mov    $0xc0000010,%edi
   199de:	a1 10 f0 01 00       	mov    0x1f010,%eax
   199e3:	8b 55 08             	mov    0x8(%ebp),%edx
   199e6:	8b 40 04             	mov    0x4(%eax),%eax
   199e9:	39 42 04             	cmp    %eax,0x4(%edx)
   199ec:	74 77                	je     19a65 <_VfatWrite+0x95>
      goto ByeBye;
   }

   ASSERT(IrpContext->DeviceExt);
   ASSERT(IrpContext->FileObject);
   Fcb = IrpContext->FileObject->FsContext;
   199ee:	8b 42 28             	mov    0x28(%edx),%eax
   199f1:	8b 40 0c             	mov    0xc(%eax),%eax
   199f4:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
   ASSERT(Fcb);

   DPRINT("<%wZ>\n", &Fcb->PathNameU);

   if (Fcb->Flags & FCB_IS_PAGE_FILE)
   199f7:	f6 80 38 01 00 00 08 	testb  $0x8,0x138(%eax)
   199fe:	0f 85 0c 01 00 00    	jne    19b10 <_VfatWrite+0x140>
   {
      PFATINFO FatInfo = &IrpContext->DeviceExt->FatInfo;
      IrpContext->Stack->Parameters.Write.ByteOffset.QuadPart += FatInfo->dataStart * FatInfo->BytesPerSector;
      IoSkipCurrentIrpStackLocation(IrpContext->Irp);
      DPRINT("Write to page file, disk offset %I64x\n", IrpContext->Stack->Parameters.Write.ByteOffset.QuadPart);
      Status = IoCallDriver(IrpContext->DeviceExt->StorageDevice, IrpContext->Irp);
      VfatFreeIrpContext(IrpContext);
      return Status;
   }

  /* fail if file is a directory and no paged read */
   if (*Fcb->Attributes & FILE_ATTRIBUTE_DIRECTORY && !(IrpContext->Irp->Flags & IRP_PAGING_IO))
   19a04:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19a07:	8b 87 e4 00 00 00    	mov    0xe4(%edi),%eax
   19a0d:	f6 00 10             	testb  $0x10,(%eax)
   19a10:	0f 85 aa 00 00 00    	jne    19ac0 <_VfatWrite+0xf0>
   {
      Status = STATUS_INVALID_PARAMETER;
      goto ByeBye;
   }

   ByteOffset = IrpContext->Stack->Parameters.Write.ByteOffset;
   19a16:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19a19:	8b 4b 20             	mov    0x20(%ebx),%ecx
   19a1c:	8b 41 0c             	mov    0xc(%ecx),%eax
   19a1f:	8b 51 10             	mov    0x10(%ecx),%edx
   19a22:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   19a25:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   if (ByteOffset.u.LowPart == FILE_WRITE_TO_END_OF_FILE &&
   19a28:	83 7d e8 ff          	cmpl   $0xffffffff,0xffffffe8(%ebp)
   19a2c:	0f 84 ba 00 00 00    	je     19aec <_VfatWrite+0x11c>
       ByteOffset.u.HighPart == 0xffffffff)
   {
      ByteOffset.QuadPart = Fcb->RFCB.FileSize.QuadPart;
   }
   Length = IrpContext->Stack->Parameters.Write.Length;
   19a32:	8b 49 04             	mov    0x4(%ecx),%ecx
   BytesPerSector = IrpContext->DeviceExt->FatInfo.BytesPerSector;
   19a35:	8b 55 08             	mov    0x8(%ebp),%edx
   19a38:	89 4d c8             	mov    %ecx,0xffffffc8(%ebp)
   19a3b:	8b 42 08             	mov    0x8(%edx),%eax
   19a3e:	8b b0 a8 00 04 00    	mov    0x400a8(%eax),%esi

   if (ByteOffset.u.HighPart && !(Fcb->Flags & FCB_IS_VOLUME))
   19a44:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   19a47:	85 c0                	test   %eax,%eax
   19a49:	0f 84 18 01 00 00    	je     19b67 <_VfatWrite+0x197>
   19a4f:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   {
      Status = STATUS_INVALID_PARAMETER;
   19a52:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
   19a57:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
   19a5d:	a8 10                	test   $0x10,%al
   19a5f:	0f 85 0b 01 00 00    	jne    19b70 <_VfatWrite+0x1a0>
      goto ByeBye;
   }

   if (Fcb->Flags & (FCB_IS_FAT | FCB_IS_VOLUME) ||
       1 == vfatDirEntryGetFirstCluster (IrpContext->DeviceExt, &Fcb->entry))
   {
      if (ByteOffset.QuadPart + Length > Fcb->RFCB.FileSize.QuadPart)
      {
         // we can't extend the FAT, the volume or the root on FAT12/FAT16
         Status = STATUS_END_OF_FILE;
         goto ByeBye;
      }
   }

   if (IrpContext->Irp->Flags & (IRP_PAGING_IO|IRP_NOCACHE) || (Fcb->Flags & FCB_IS_VOLUME))
   {
      if (ByteOffset.u.LowPart % BytesPerSector != 0 || Length % BytesPerSector != 0)
      {
         // non cached write must be sector aligned
         Status = STATUS_INVALID_PARAMETER;
         goto ByeBye;
      }
   }

   if (Length == 0)
   {
      /* FIXME:
       *   Update last write time
       */
      IrpContext->Irp->IoStatus.Information = 0;
      Status = STATUS_SUCCESS;
      goto ByeBye;
   }

   if (IrpContext->Irp->Flags & IRP_PAGING_IO)
   {
      if (ByteOffset.u.LowPart + Length > Fcb->RFCB.AllocationSize.u.LowPart)
      {
         Status = STATUS_INVALID_PARAMETER;
         goto ByeBye;
      }
      if (ByteOffset.u.LowPart + Length > ROUND_UP(Fcb->RFCB.AllocationSize.u.LowPart, BytesPerSector))
      {
         Length =  ROUND_UP(Fcb->RFCB.FileSize.u.LowPart, BytesPerSector) - ByteOffset.u.LowPart;
      }
   }

   if (Fcb->Flags & FCB_IS_VOLUME)
   {
      Resource = &IrpContext->DeviceExt->DirResource;
   }
   else if (IrpContext->Irp->Flags & IRP_PAGING_IO)
   {
      Resource = &Fcb->PagingIoResource;
   }
   else
   {
      Resource = &Fcb->MainResource;
   }

   if (Fcb->Flags & FCB_IS_PAGE_FILE)
   {
      if (!ExAcquireResourceSharedLite(Resource,
                                       (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
      {
         Resource = NULL;
         Status = STATUS_PENDING;
         goto ByeBye;
      }
   }
   else
   {
      if (!ExAcquireResourceExclusiveLite(Resource,
                                          (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
      {
         Resource = NULL;
         Status = STATUS_PENDING;
         goto ByeBye;
      }
   }

   if (!(IrpContext->Irp->Flags & IRP_PAGING_IO) &&
      FsRtlAreThereCurrentFileLocks(&Fcb->FileLock))
   {
      if (!FsRtlCheckLockForWriteAccess(&Fcb->FileLock, IrpContext->Irp)) 
      {
         Status = STATUS_FILE_LOCK_CONFLICT;
         goto ByeBye;
       }
    }

   if (!(IrpContext->Flags & IRPCONTEXT_CANWAIT) && !(Fcb->Flags & FCB_IS_VOLUME))
   {
      if (ByteOffset.u.LowPart + Length > Fcb->RFCB.AllocationSize.u.LowPart)
      {
        Status = STATUS_PENDING;
        goto ByeBye;
      }
   }

   OldFileSize = Fcb->RFCB.FileSize;
   OldAllocationSize = Fcb->RFCB.AllocationSize.u.LowPart;

   Buffer = VfatGetUserBuffer(IrpContext->Irp);
   if (!Buffer)
     {
       Status = STATUS_INVALID_USER_BUFFER;
       goto ByeBye;
     }


   if (!(Fcb->Flags & (FCB_IS_FAT|FCB_IS_VOLUME)) && 
       !(IrpContext->Irp->Flags & IRP_PAGING_IO) &&
       ByteOffset.u.LowPart + Length > Fcb->RFCB.FileSize.u.LowPart)
   {
      LARGE_INTEGER AllocationSize;
      AllocationSize.QuadPart = ByteOffset.u.LowPart + Length;
      Status = VfatSetAllocationSizeInformation(IrpContext->FileObject, Fcb,
	                                        IrpContext->DeviceExt, &AllocationSize);
      if (!NT_SUCCESS (Status))
      {
         CHECKPOINT;
         goto ByeBye;
      }
   }

   if (!(IrpContext->Irp->Flags & (IRP_NOCACHE|IRP_PAGING_IO)) &&
      !(Fcb->Flags & (FCB_IS_PAGE_FILE|FCB_IS_VOLUME)))
   {
      // cached write
      CHECKPOINT;

      if (IrpContext->FileObject->PrivateCacheMap == NULL)
      {
#ifdef USE_ROS_CC_AND_FS
         ULONG CacheSize;
         CacheSize = max(IrpContext->DeviceExt->FatInfo.BytesPerCluster,
                         8 * PAGE_SIZE);
	 CcRosInitializeFileCache(IrpContext->FileObject, CacheSize);
#else
         /* FIXME: Guard by SEH. */
         CcInitializeCacheMap(IrpContext->FileObject,
                              (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
                              FALSE,
                              &VfatGlobalData->CacheMgrCallbacks,
                              Fcb);
#endif
      }
      if (ByteOffset.QuadPart > OldFileSize.QuadPart)
      {
         CcZeroData(IrpContext->FileObject, &OldFileSize, &ByteOffset, TRUE);
      }
      if (CcCopyWrite(IrpContext->FileObject, &ByteOffset, Length,
                      1 /*IrpContext->Flags & IRPCONTEXT_CANWAIT*/, Buffer))
      {
      	 IrpContext->Irp->IoStatus.Information = Length;
         Status = STATUS_SUCCESS;
      }
      else
      {
         Status = STATUS_UNSUCCESSFUL;
      }
      CHECKPOINT;
   }
   else
   {
      // non cached write
      CHECKPOINT;

      if (ByteOffset.QuadPart > OldFileSize.QuadPart)
      {
         CcZeroData(IrpContext->FileObject, &OldFileSize, &ByteOffset, TRUE);
      }

      Status = VfatLockUserBuffer(IrpContext->Irp, Length, IoReadAccess);
      if (!NT_SUCCESS(Status))
        {
	  goto ByeBye;
	}

      Status = VfatWriteFileData(IrpContext, Length, ByteOffset);
      if (NT_SUCCESS(Status))
      {
         IrpContext->Irp->IoStatus.Information = Length;
      }
   }

   if (!(IrpContext->Irp->Flags & IRP_PAGING_IO) &&
      !(Fcb->Flags & (FCB_IS_FAT|FCB_IS_VOLUME)))
   {
      if(!(*Fcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
      {
         LARGE_INTEGER SystemTime;
         // set dates and times
         KeQuerySystemTime (&SystemTime);
         if (Fcb->Flags & FCB_IS_FATX_ENTRY)
         {
            FsdSystemTimeToDosDateTime (IrpContext->DeviceExt,
                                     &SystemTime, &Fcb->entry.FatX.UpdateDate,
                                     &Fcb->entry.FatX.UpdateTime);
            Fcb->entry.FatX.AccessDate = Fcb->entry.FatX.UpdateDate;
            Fcb->entry.FatX.AccessTime = Fcb->entry.FatX.UpdateTime;
         }
         else
         {
            FsdSystemTimeToDosDateTime (IrpContext->DeviceExt,
                                     &SystemTime, &Fcb->entry.Fat.UpdateDate,
                                     &Fcb->entry.Fat.UpdateTime);
            Fcb->entry.Fat.AccessDate = Fcb->entry.Fat.UpdateDate;
         }
         /* set date and times to dirty */
	 Fcb->Flags |= FCB_IS_DIRTY;
      }
   }

ByeBye:
   if (Resource)
   {
      ExReleaseResourceLite(Resource);
   }

   if (Status == STATUS_PENDING)
   {
      Status = VfatLockUserBuffer(IrpContext->Irp, Length, IoReadAccess);
      if (NT_SUCCESS(Status))
      {
         Status = VfatQueueRequest(IrpContext);
      }
      else
      {
         IrpContext->Irp->IoStatus.Status = Status;
         IoCompleteRequest(IrpContext->Irp, IO_NO_INCREMENT);
         VfatFreeIrpContext(IrpContext);
      }
   }
   else
   {
      IrpContext->Irp->IoStatus.Status = Status;
   19a65:	8b 55 08             	mov    0x8(%ebp),%edx
   19a68:	89 f9                	mov    %edi,%ecx
   19a6a:	83 f1 ff             	xor    $0xffffffff,%ecx
   19a6d:	8b 02                	mov    (%edx),%eax
   19a6f:	89 78 18             	mov    %edi,0x18(%eax)
      if (IrpContext->FileObject->Flags & FO_SYNCHRONOUS_IO &&
   19a72:	8b 5a 28             	mov    0x28(%edx),%ebx
   19a75:	f6 43 2c 02          	testb  $0x2,0x2c(%ebx)
   19a79:	74 1c                	je     19a97 <_VfatWrite+0xc7>
   19a7b:	8b 32                	mov    (%edx),%esi
   19a7d:	89 f9                	mov    %edi,%ecx
   19a7f:	83 f1 ff             	xor    $0xffffffff,%ecx
   19a82:	8b 46 08             	mov    0x8(%esi),%eax
   19a85:	89 ca                	mov    %ecx,%edx
   19a87:	d1 e8                	shr    %eax
   19a89:	c1 ea 1f             	shr    $0x1f,%edx
   19a8c:	83 f0 01             	xor    $0x1,%eax
   19a8f:	85 c2                	test   %eax,%edx
   19a91:	0f 85 8e 03 00 00    	jne    19e25 <_VfatWrite+0x455>
          !(IrpContext->Irp->Flags & IRP_PAGING_IO) && NT_SUCCESS(Status))
      {
         IrpContext->FileObject->CurrentByteOffset.QuadPart =
           ByteOffset.QuadPart + IrpContext->Irp->IoStatus.Information;
      }

      IoCompleteRequest(IrpContext->Irp,
   19a97:	c1 e9 1f             	shr    $0x1f,%ecx
   19a9a:	89 ca                	mov    %ecx,%edx
   19a9c:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19a9f:	8b 0b                	mov    (%ebx),%ecx
   19aa1:	ff 15 00 02 02 00    	call   *0x20200
                        (CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT));
      VfatFreeIrpContext(IrpContext);
   19aa7:	83 ec 0c             	sub    $0xc,%esp
   19aaa:	53                   	push   %ebx
   19aab:	e8 80 0f 00 00       	call   1aa30 <_VfatFreeIrpContext>
   }
   DPRINT("%x\n", Status);
   return Status;
}
   19ab0:	89 f8                	mov    %edi,%eax
   19ab2:	83 c4 10             	add    $0x10,%esp
   19ab5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   19ab8:	5b                   	pop    %ebx
   19ab9:	5e                   	pop    %esi
   19aba:	5f                   	pop    %edi
   19abb:	5d                   	pop    %ebp
   19abc:	c3                   	ret    
   19abd:	8d 76 00             	lea    0x0(%esi),%esi
   19ac0:	8b 55 08             	mov    0x8(%ebp),%edx
   19ac3:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
   19ac8:	8b 02                	mov    (%edx),%eax
   19aca:	f6 40 08 02          	testb  $0x2,0x8(%eax)
   19ace:	74 95                	je     19a65 <_VfatWrite+0x95>
   19ad0:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19ad3:	8b 4b 20             	mov    0x20(%ebx),%ecx
   19ad6:	8b 41 0c             	mov    0xc(%ecx),%eax
   19ad9:	8b 51 10             	mov    0x10(%ecx),%edx
   19adc:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   19adf:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   19ae2:	83 7d e8 ff          	cmpl   $0xffffffff,0xffffffe8(%ebp)
   19ae6:	0f 85 46 ff ff ff    	jne    19a32 <_VfatWrite+0x62>
   19aec:	83 7d ec ff          	cmpl   $0xffffffff,0xffffffec(%ebp)
   19af0:	0f 85 3c ff ff ff    	jne    19a32 <_VfatWrite+0x62>
   19af6:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19af9:	8b 47 18             	mov    0x18(%edi),%eax
   19afc:	8b 57 1c             	mov    0x1c(%edi),%edx
   19aff:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
   19b02:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   19b05:	e9 28 ff ff ff       	jmp    19a32 <_VfatWrite+0x62>
   19b0a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   19b10:	89 d1                	mov    %edx,%ecx
   19b12:	8b 52 08             	mov    0x8(%edx),%edx
   19b15:	81 c2 84 00 04 00    	add    $0x40084,%edx
   19b1b:	89 cb                	mov    %ecx,%ebx
   19b1d:	8b 49 20             	mov    0x20(%ecx),%ecx
   19b20:	8b 72 18             	mov    0x18(%edx),%esi
   19b23:	8b 42 24             	mov    0x24(%edx),%eax
   19b26:	0f af c6             	imul   %esi,%eax
   19b29:	31 d2                	xor    %edx,%edx
   19b2b:	01 41 0c             	add    %eax,0xc(%ecx)
   19b2e:	11 51 10             	adc    %edx,0x10(%ecx)
   19b31:	8b 03                	mov    (%ebx),%eax
   19b33:	fe 40 23             	incb   0x23(%eax)
   19b36:	8b 03                	mov    (%ebx),%eax
   19b38:	8b 50 60             	mov    0x60(%eax),%edx
   19b3b:	83 c2 24             	add    $0x24,%edx
   19b3e:	89 50 60             	mov    %edx,0x60(%eax)
   19b41:	8b 43 08             	mov    0x8(%ebx),%eax
   19b44:	8b 13                	mov    (%ebx),%edx
   19b46:	8b 88 7c 00 04 00    	mov    0x4007c(%eax),%ecx
   19b4c:	ff 15 fc 01 02 00    	call   *0x201fc
   19b52:	83 ec 0c             	sub    $0xc,%esp
   19b55:	89 c7                	mov    %eax,%edi
   19b57:	53                   	push   %ebx
   19b58:	e8 d3 0e 00 00       	call   1aa30 <_VfatFreeIrpContext>
   19b5d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   19b60:	89 f8                	mov    %edi,%eax
   19b62:	5b                   	pop    %ebx
   19b63:	5e                   	pop    %esi
   19b64:	5f                   	pop    %edi
   19b65:	5d                   	pop    %ebp
   19b66:	c3                   	ret    
   19b67:	8b 5d cc             	mov    0xffffffcc(%ebp),%ebx
   19b6a:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
   19b70:	a8 14                	test   $0x14,%al
   19b72:	0f 84 e8 02 00 00    	je     19e60 <_VfatWrite+0x490>
   19b78:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19b7b:	31 d2                	xor    %edx,%edx
   19b7d:	03 45 e8             	add    0xffffffe8(%ebp),%eax
   19b80:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19b83:	13 55 ec             	adc    0xffffffec(%ebp),%edx
   19b86:	8b 5f 1c             	mov    0x1c(%edi),%ebx
   19b89:	8b 4f 18             	mov    0x18(%edi),%ecx
   19b8c:	39 da                	cmp    %ebx,%edx
   19b8e:	0f 8d ac 02 00 00    	jge    19e40 <_VfatWrite+0x470>
   19b94:	8b 45 08             	mov    0x8(%ebp),%eax
   19b97:	8b 08                	mov    (%eax),%ecx
   19b99:	f6 41 08 03          	testb  $0x3,0x8(%ecx)
   19b9d:	75 0c                	jne    19bab <_VfatWrite+0x1db>
   19b9f:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   19ba2:	f6 82 38 01 00 00 10 	testb  $0x10,0x138(%edx)
   19ba9:	74 1e                	je     19bc9 <_VfatWrite+0x1f9>
   19bab:	31 d2                	xor    %edx,%edx
   19bad:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
   19bb0:	f7 f6                	div    %esi
   19bb2:	85 d2                	test   %edx,%edx
   19bb4:	0f 85 9a 02 00 00    	jne    19e54 <_VfatWrite+0x484>
   19bba:	31 d2                	xor    %edx,%edx
   19bbc:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19bbf:	f7 f6                	div    %esi
   19bc1:	85 d2                	test   %edx,%edx
   19bc3:	0f 85 8b 02 00 00    	jne    19e54 <_VfatWrite+0x484>
   19bc9:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19bcc:	85 c0                	test   %eax,%eax
   19bce:	0f 84 bd 02 00 00    	je     19e91 <_VfatWrite+0x4c1>
   19bd4:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
   19bd8:	74 4b                	je     19c25 <_VfatWrite+0x255>
   19bda:	8b 5d e8             	mov    0xffffffe8(%ebp),%ebx
   19bdd:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19be0:	89 5d c0             	mov    %ebx,0xffffffc0(%ebp)
   19be3:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19be6:	01 c3                	add    %eax,%ebx
   19be8:	8b 47 10             	mov    0x10(%edi),%eax
   19beb:	39 c3                	cmp    %eax,%ebx
   19bed:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
   19bf2:	0f 87 6d fe ff ff    	ja     19a65 <_VfatWrite+0x95>
   19bf8:	31 d2                	xor    %edx,%edx
   19bfa:	8d 44 30 ff          	lea    0xffffffff(%eax,%esi,1),%eax
   19bfe:	f7 f6                	div    %esi
   19c00:	0f af c6             	imul   %esi,%eax
   19c03:	39 c3                	cmp    %eax,%ebx
   19c05:	76 1e                	jbe    19c25 <_VfatWrite+0x255>
   19c07:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   19c0a:	8b 5d c0             	mov    0xffffffc0(%ebp),%ebx
   19c0d:	8b 42 18             	mov    0x18(%edx),%eax
   19c10:	31 d2                	xor    %edx,%edx
   19c12:	01 f0                	add    %esi,%eax
   19c14:	48                   	dec    %eax
   19c15:	f7 f6                	div    %esi
   19c17:	0f af f0             	imul   %eax,%esi
   19c1a:	89 75 c8             	mov    %esi,0xffffffc8(%ebp)
   19c1d:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19c20:	29 d8                	sub    %ebx,%eax
   19c22:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
   19c25:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19c28:	8b 87 38 01 00 00    	mov    0x138(%edi),%eax
   19c2e:	a8 10                	test   $0x10,%al
   19c30:	0f 85 50 02 00 00    	jne    19e86 <_VfatWrite+0x4b6>
   19c36:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
   19c3a:	0f 84 00 03 00 00    	je     19f40 <_VfatWrite+0x570>
   19c40:	8b 75 cc             	mov    0xffffffcc(%ebp),%esi
   19c43:	83 c6 6c             	add    $0x6c,%esi
   19c46:	a8 08                	test   $0x8,%al
   19c48:	0f 84 51 02 00 00    	je     19e9f <_VfatWrite+0x4cf>
   19c4e:	57                   	push   %edi
   19c4f:	57                   	push   %edi
   19c50:	31 c0                	xor    %eax,%eax
   19c52:	8b 4d 08             	mov    0x8(%ebp),%ecx
   19c55:	8a 41 0c             	mov    0xc(%ecx),%al
   19c58:	83 e0 01             	and    $0x1,%eax
   19c5b:	50                   	push   %eax
   19c5c:	56                   	push   %esi
   19c5d:	ff 15 40 02 02 00    	call   *0x20240
   19c63:	5a                   	pop    %edx
   19c64:	84 c0                	test   %al,%al
   19c66:	59                   	pop    %ecx
   19c67:	0f 84 89 01 00 00    	je     19df6 <_VfatWrite+0x426>
   19c6d:	8b 7d 08             	mov    0x8(%ebp),%edi
   19c70:	8b 07                	mov    (%edi),%eax
   19c72:	f6 40 08 02          	testb  $0x2,0x8(%eax)
   19c76:	75 10                	jne    19c88 <_VfatWrite+0x2b8>
   19c78:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   19c7b:	80 ba 88 01 00 00 00 	cmpb   $0x0,0x188(%edx)
   19c82:	0f 85 d2 02 00 00    	jne    19f5a <_VfatWrite+0x58a>
   19c88:	8b 4d 08             	mov    0x8(%ebp),%ecx
   19c8b:	f6 41 0c 01          	testb  $0x1,0xc(%ecx)
   19c8f:	75 22                	jne    19cb3 <_VfatWrite+0x2e3>
   19c91:	8b 5d cc             	mov    0xffffffcc(%ebp),%ebx
   19c94:	f6 83 38 01 00 00 10 	testb  $0x10,0x138(%ebx)
   19c9b:	75 16                	jne    19cb3 <_VfatWrite+0x2e3>
   19c9d:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19ca0:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   19ca3:	01 d0                	add    %edx,%eax
   19ca5:	bf 03 01 00 00       	mov    $0x103,%edi
   19caa:	3b 43 10             	cmp    0x10(%ebx),%eax
   19cad:	0f 87 2b 01 00 00    	ja     19dde <_VfatWrite+0x40e>
   19cb3:	8b 7d cc             	mov    0xffffffcc(%ebp),%edi
   19cb6:	83 ec 0c             	sub    $0xc,%esp
   19cb9:	8b 47 18             	mov    0x18(%edi),%eax
   19cbc:	8b 57 1c             	mov    0x1c(%edi),%edx
   19cbf:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
   19cc2:	8b 45 08             	mov    0x8(%ebp),%eax
   19cc5:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
   19cc8:	bf e8 00 00 c0       	mov    $0xc00000e8,%edi
   19ccd:	8b 00                	mov    (%eax),%eax
   19ccf:	50                   	push   %eax
   19cd0:	e8 9b 11 00 00       	call   1ae70 <_VfatGetUserBuffer>
   19cd5:	83 c4 10             	add    $0x10,%esp
   19cd8:	85 c0                	test   %eax,%eax
   19cda:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
   19cdd:	0f 84 fb 00 00 00    	je     19dde <_VfatWrite+0x40e>
   19ce3:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   19ce6:	f6 82 38 01 00 00 14 	testb  $0x14,0x138(%edx)
   19ced:	0f 85 43 02 00 00    	jne    19f36 <_VfatWrite+0x566>
   19cf3:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19cf6:	8b 0b                	mov    (%ebx),%ecx
   19cf8:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
   19cfc:	75 11                	jne    19d0f <_VfatWrite+0x33f>
   19cfe:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19d01:	8b 7d e8             	mov    0xffffffe8(%ebp),%edi
   19d04:	01 f8                	add    %edi,%eax
   19d06:	3b 42 18             	cmp    0x18(%edx),%eax
   19d09:	0f 87 6f 02 00 00    	ja     19f7e <_VfatWrite+0x5ae>
   19d0f:	f6 41 08 03          	testb  $0x3,0x8(%ecx)
   19d13:	0f 85 a0 01 00 00    	jne    19eb9 <_VfatWrite+0x4e9>
   19d19:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   19d1c:	f6 80 38 01 00 00 18 	testb  $0x18,0x138(%eax)
   19d23:	0f 85 90 01 00 00    	jne    19eb9 <_VfatWrite+0x4e9>
   19d29:	8b 4d 08             	mov    0x8(%ebp),%ecx
   19d2c:	8b 51 28             	mov    0x28(%ecx),%edx
   19d2f:	8b 7a 18             	mov    0x18(%edx),%edi
   19d32:	85 ff                	test   %edi,%edi
   19d34:	75 20                	jne    19d56 <_VfatWrite+0x386>
   19d36:	8b 41 08             	mov    0x8(%ecx),%eax
   19d39:	8b 80 ac 00 04 00    	mov    0x400ac(%eax),%eax
   19d3f:	3d 00 80 00 00       	cmp    $0x8000,%eax
   19d44:	73 05                	jae    19d4b <_VfatWrite+0x37b>
   19d46:	b8 00 80 00 00       	mov    $0x8000,%eax
   19d4b:	53                   	push   %ebx
   19d4c:	53                   	push   %ebx
   19d4d:	50                   	push   %eax
   19d4e:	52                   	push   %edx
   19d4f:	e8 bc 2b 00 00       	call   1c910 <_CcRosInitializeFileCache@8>
   19d54:	5a                   	pop    %edx
   19d55:	59                   	pop    %ecx
   19d56:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   19d59:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   19d5c:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   19d5f:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   19d62:	39 d3                	cmp    %edx,%ebx
   19d64:	7c 1c                	jl     19d82 <_VfatWrite+0x3b2>
   19d66:	7f 04                	jg     19d6c <_VfatWrite+0x39c>
   19d68:	39 c1                	cmp    %eax,%ecx
   19d6a:	76 16                	jbe    19d82 <_VfatWrite+0x3b2>
   19d6c:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   19d6f:	8d 5d e8             	lea    0xffffffe8(%ebp),%ebx
   19d72:	6a 01                	push   $0x1
   19d74:	53                   	push   %ebx
   19d75:	50                   	push   %eax
   19d76:	8b 7d 08             	mov    0x8(%ebp),%edi
   19d79:	8b 47 28             	mov    0x28(%edi),%eax
   19d7c:	50                   	push   %eax
   19d7d:	e8 6e 2c 00 00       	call   1c9f0 <_CcZeroData@16>
   19d82:	83 ec 0c             	sub    $0xc,%esp
   19d85:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
   19d88:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
   19d8d:	50                   	push   %eax
   19d8e:	6a 01                	push   $0x1
   19d90:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19d93:	50                   	push   %eax
   19d94:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
   19d97:	50                   	push   %eax
   19d98:	8b 55 08             	mov    0x8(%ebp),%edx
   19d9b:	8b 42 28             	mov    0x28(%edx),%eax
   19d9e:	50                   	push   %eax
   19d9f:	e8 5c 2c 00 00       	call   1ca00 <_CcCopyWrite@20>
   19da4:	83 c4 0c             	add    $0xc,%esp
   19da7:	84 c0                	test   %al,%al
   19da9:	74 0d                	je     19db8 <_VfatWrite+0x3e8>
   19dab:	8b 4d 08             	mov    0x8(%ebp),%ecx
   19dae:	8b 5d c8             	mov    0xffffffc8(%ebp),%ebx
   19db1:	31 ff                	xor    %edi,%edi
   19db3:	8b 01                	mov    (%ecx),%eax
   19db5:	89 58 1c             	mov    %ebx,0x1c(%eax)
   19db8:	8b 55 08             	mov    0x8(%ebp),%edx
   19dbb:	8b 02                	mov    (%edx),%eax
   19dbd:	f6 40 08 02          	testb  $0x2,0x8(%eax)
   19dc1:	75 1b                	jne    19dde <_VfatWrite+0x40e>
   19dc3:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   19dc6:	f6 81 38 01 00 00 14 	testb  $0x14,0x138(%ecx)
   19dcd:	75 0f                	jne    19dde <_VfatWrite+0x40e>
   19dcf:	8b 81 e4 00 00 00    	mov    0xe4(%ecx),%eax
   19dd5:	f6 00 10             	testb  $0x10,(%eax)
   19dd8:	0f 84 d0 01 00 00    	je     19fae <_VfatWrite+0x5de>
   19dde:	85 f6                	test   %esi,%esi
   19de0:	74 08                	je     19dea <_VfatWrite+0x41a>
   19de2:	89 f1                	mov    %esi,%ecx
   19de4:	ff 15 e8 01 02 00    	call   *0x201e8
   19dea:	81 ff 03 01 00 00    	cmp    $0x103,%edi
   19df0:	0f 85 6f fc ff ff    	jne    19a65 <_VfatWrite+0x95>
   19df6:	50                   	push   %eax
   19df7:	6a 00                	push   $0x0
   19df9:	8b 7d c8             	mov    0xffffffc8(%ebp),%edi
   19dfc:	57                   	push   %edi
   19dfd:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19e00:	8b 33                	mov    (%ebx),%esi
   19e02:	56                   	push   %esi
   19e03:	e8 a8 10 00 00       	call   1aeb0 <_VfatLockUserBuffer>
   19e08:	83 c4 10             	add    $0x10,%esp
   19e0b:	89 c7                	mov    %eax,%edi
   19e0d:	85 c0                	test   %eax,%eax
   19e0f:	0f 88 36 01 00 00    	js     19f4b <_VfatWrite+0x57b>
   19e15:	83 ec 0c             	sub    $0xc,%esp
   19e18:	53                   	push   %ebx
   19e19:	e8 02 10 00 00       	call   1ae20 <_VfatQueueRequest>
   19e1e:	89 c7                	mov    %eax,%edi
   19e20:	e9 8b fc ff ff       	jmp    19ab0 <_VfatWrite+0xe0>
   19e25:	8b 46 1c             	mov    0x1c(%esi),%eax
   19e28:	31 d2                	xor    %edx,%edx
   19e2a:	03 45 e8             	add    0xffffffe8(%ebp),%eax
   19e2d:	13 55 ec             	adc    0xffffffec(%ebp),%edx
   19e30:	89 43 38             	mov    %eax,0x38(%ebx)
   19e33:	89 53 3c             	mov    %edx,0x3c(%ebx)
   19e36:	e9 5c fc ff ff       	jmp    19a97 <_VfatWrite+0xc7>
   19e3b:	90                   	nop    
   19e3c:	8d 74 26 00          	lea    0x0(%esi),%esi
   19e40:	7f 08                	jg     19e4a <_VfatWrite+0x47a>
   19e42:	39 c8                	cmp    %ecx,%eax
   19e44:	0f 86 4a fd ff ff    	jbe    19b94 <_VfatWrite+0x1c4>
   19e4a:	bf 11 00 00 c0       	mov    $0xc0000011,%edi
   19e4f:	e9 11 fc ff ff       	jmp    19a65 <_VfatWrite+0x95>
   19e54:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
   19e59:	e9 07 fc ff ff       	jmp    19a65 <_VfatWrite+0x95>
   19e5e:	89 f6                	mov    %esi,%esi
   19e60:	50                   	push   %eax
   19e61:	50                   	push   %eax
   19e62:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   19e65:	05 a4 00 00 00       	add    $0xa4,%eax
   19e6a:	50                   	push   %eax
   19e6b:	8b 7d 08             	mov    0x8(%ebp),%edi
   19e6e:	8b 47 08             	mov    0x8(%edi),%eax
   19e71:	50                   	push   %eax
   19e72:	e8 e9 95 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   19e77:	83 c4 10             	add    $0x10,%esp
   19e7a:	48                   	dec    %eax
   19e7b:	0f 85 13 fd ff ff    	jne    19b94 <_VfatWrite+0x1c4>
   19e81:	e9 f2 fc ff ff       	jmp    19b78 <_VfatWrite+0x1a8>
   19e86:	8b 55 08             	mov    0x8(%ebp),%edx
   19e89:	8b 72 08             	mov    0x8(%edx),%esi
   19e8c:	e9 b5 fd ff ff       	jmp    19c46 <_VfatWrite+0x276>
   19e91:	31 ff                	xor    %edi,%edi
   19e93:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
   19e9a:	e9 c6 fb ff ff       	jmp    19a65 <_VfatWrite+0x95>
   19e9f:	53                   	push   %ebx
   19ea0:	53                   	push   %ebx
   19ea1:	31 c0                	xor    %eax,%eax
   19ea3:	8b 5d 08             	mov    0x8(%ebp),%ebx
   19ea6:	8a 43 0c             	mov    0xc(%ebx),%al
   19ea9:	83 e0 01             	and    $0x1,%eax
   19eac:	50                   	push   %eax
   19ead:	56                   	push   %esi
   19eae:	ff 15 3c 02 02 00    	call   *0x2023c
   19eb4:	e9 aa fd ff ff       	jmp    19c63 <_VfatWrite+0x293>
   19eb9:	8b 5d ec             	mov    0xffffffec(%ebp),%ebx
   19ebc:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
   19ebf:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
   19ec2:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
   19ec5:	39 d3                	cmp    %edx,%ebx
   19ec7:	7c 1c                	jl     19ee5 <_VfatWrite+0x515>
   19ec9:	7f 04                	jg     19ecf <_VfatWrite+0x4ff>
   19ecb:	39 c1                	cmp    %eax,%ecx
   19ecd:	76 16                	jbe    19ee5 <_VfatWrite+0x515>
   19ecf:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
   19ed2:	8d 7d e8             	lea    0xffffffe8(%ebp),%edi
   19ed5:	6a 01                	push   $0x1
   19ed7:	57                   	push   %edi
   19ed8:	50                   	push   %eax
   19ed9:	8b 45 08             	mov    0x8(%ebp),%eax
   19edc:	8b 40 28             	mov    0x28(%eax),%eax
   19edf:	50                   	push   %eax
   19ee0:	e8 0b 2b 00 00       	call   1c9f0 <_CcZeroData@16>
   19ee5:	50                   	push   %eax
   19ee6:	6a 00                	push   $0x0
   19ee8:	8b 7d c8             	mov    0xffffffc8(%ebp),%edi
   19eeb:	57                   	push   %edi
   19eec:	8b 55 08             	mov    0x8(%ebp),%edx
   19eef:	8b 1a                	mov    (%edx),%ebx
   19ef1:	53                   	push   %ebx
   19ef2:	e8 b9 0f 00 00       	call   1aeb0 <_VfatLockUserBuffer>
   19ef7:	83 c4 10             	add    $0x10,%esp
   19efa:	89 c7                	mov    %eax,%edi
   19efc:	85 c0                	test   %eax,%eax
   19efe:	0f 88 da fe ff ff    	js     19dde <_VfatWrite+0x40e>
   19f04:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   19f07:	51                   	push   %ecx
   19f08:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   19f0b:	52                   	push   %edx
   19f0c:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   19f0f:	50                   	push   %eax
   19f10:	8b 45 08             	mov    0x8(%ebp),%eax
   19f13:	50                   	push   %eax
   19f14:	e8 17 f1 ff ff       	call   19030 <_VfatWriteFileData>
   19f19:	83 c4 10             	add    $0x10,%esp
   19f1c:	89 c7                	mov    %eax,%edi
   19f1e:	85 c0                	test   %eax,%eax
   19f20:	0f 88 92 fe ff ff    	js     19db8 <_VfatWrite+0x3e8>
   19f26:	8b 4d 08             	mov    0x8(%ebp),%ecx
   19f29:	8b 5d c8             	mov    0xffffffc8(%ebp),%ebx
   19f2c:	8b 01                	mov    (%ecx),%eax
   19f2e:	89 58 1c             	mov    %ebx,0x1c(%eax)
   19f31:	e9 82 fe ff ff       	jmp    19db8 <_VfatWrite+0x3e8>
   19f36:	8b 7d 08             	mov    0x8(%ebp),%edi
   19f39:	8b 0f                	mov    (%edi),%ecx
   19f3b:	e9 cf fd ff ff       	jmp    19d0f <_VfatWrite+0x33f>
   19f40:	8b 75 cc             	mov    0xffffffcc(%ebp),%esi
   19f43:	83 c6 34             	add    $0x34,%esi
   19f46:	e9 fb fc ff ff       	jmp    19c46 <_VfatWrite+0x276>
   19f4b:	8b 55 08             	mov    0x8(%ebp),%edx
   19f4e:	8b 02                	mov    (%edx),%eax
   19f50:	31 d2                	xor    %edx,%edx
   19f52:	89 78 18             	mov    %edi,0x18(%eax)
   19f55:	e9 42 fb ff ff       	jmp    19a9c <_VfatWrite+0xcc>
   19f5a:	57                   	push   %edi
   19f5b:	57                   	push   %edi
   19f5c:	50                   	push   %eax
   19f5d:	89 d0                	mov    %edx,%eax
   19f5f:	bf 54 00 00 c0       	mov    $0xc0000054,%edi
   19f64:	05 80 01 00 00       	add    $0x180,%eax
   19f69:	50                   	push   %eax
   19f6a:	e8 a1 2a 00 00       	call   1ca10 <_FsRtlCheckLockForWriteAccess@8>
   19f6f:	59                   	pop    %ecx
   19f70:	84 c0                	test   %al,%al
   19f72:	5b                   	pop    %ebx
   19f73:	0f 85 0f fd ff ff    	jne    19c88 <_VfatWrite+0x2b8>
   19f79:	e9 60 fe ff ff       	jmp    19dde <_VfatWrite+0x40e>
   19f7e:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
   19f81:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   19f84:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
   19f8b:	50                   	push   %eax
   19f8c:	8b 43 08             	mov    0x8(%ebx),%eax
   19f8f:	50                   	push   %eax
   19f90:	52                   	push   %edx
   19f91:	8b 43 28             	mov    0x28(%ebx),%eax
   19f94:	50                   	push   %eax
   19f95:	e8 16 dd ff ff       	call   17cb0 <_VfatSetAllocationSizeInformation>
   19f9a:	83 c4 10             	add    $0x10,%esp
   19f9d:	89 c7                	mov    %eax,%edi
   19f9f:	85 c0                	test   %eax,%eax
   19fa1:	0f 88 37 fe ff ff    	js     19dde <_VfatWrite+0x40e>
   19fa7:	8b 0b                	mov    (%ebx),%ecx
   19fa9:	e9 61 fd ff ff       	jmp    19d0f <_VfatWrite+0x33f>
   19fae:	83 ec 0c             	sub    $0xc,%esp
   19fb1:	8d 5d d0             	lea    0xffffffd0(%ebp),%ebx
   19fb4:	53                   	push   %ebx
   19fb5:	ff 15 f0 02 02 00    	call   *0x202f0
   19fbb:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   19fbe:	83 c4 0c             	add    $0xc,%esp
   19fc1:	f6 80 38 01 00 00 40 	testb  $0x40,0x138(%eax)
   19fc8:	74 55                	je     1a01f <_VfatWrite+0x64f>
   19fca:	05 d8 00 00 00       	add    $0xd8,%eax
   19fcf:	50                   	push   %eax
   19fd0:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   19fd3:	05 da 00 00 00       	add    $0xda,%eax
   19fd8:	50                   	push   %eax
   19fd9:	53                   	push   %ebx
   19fda:	8b 55 08             	mov    0x8(%ebp),%edx
   19fdd:	8b 42 08             	mov    0x8(%edx),%eax
   19fe0:	50                   	push   %eax
   19fe1:	e8 8a 88 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   19fe6:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   19fe9:	66 8b 81 da 00 00 00 	mov    0xda(%ecx),%ax
   19ff0:	66 89 81 e2 00 00 00 	mov    %ax,0xe2(%ecx)
   19ff7:	66 8b 81 d8 00 00 00 	mov    0xd8(%ecx),%ax
   19ffe:	66 89 81 e0 00 00 00 	mov    %ax,0xe0(%ecx)
   1a005:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
   1a008:	83 c4 10             	add    $0x10,%esp
   1a00b:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
   1a011:	83 c8 20             	or     $0x20,%eax
   1a014:	89 81 38 01 00 00    	mov    %eax,0x138(%ecx)
   1a01a:	e9 bf fd ff ff       	jmp    19dde <_VfatWrite+0x40e>
   1a01f:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1a022:	05 ba 00 00 00       	add    $0xba,%eax
   1a027:	50                   	push   %eax
   1a028:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
   1a02b:	05 bc 00 00 00       	add    $0xbc,%eax
   1a030:	50                   	push   %eax
   1a031:	53                   	push   %ebx
   1a032:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1a035:	8b 43 08             	mov    0x8(%ebx),%eax
   1a038:	50                   	push   %eax
   1a039:	e8 32 88 ff ff       	call   12870 <_FsdSystemTimeToDosDateTime>
   1a03e:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   1a041:	66 8b 82 bc 00 00 00 	mov    0xbc(%edx),%ax
   1a048:	66 89 82 b6 00 00 00 	mov    %ax,0xb6(%edx)
   1a04f:	eb b4                	jmp    1a005 <_VfatWrite+0x635>
   1a051:	90                   	nop    
   1a052:	90                   	nop    
   1a053:	90                   	nop    
   1a054:	90                   	nop    
   1a055:	90                   	nop    
   1a056:	90                   	nop    
   1a057:	90                   	nop    
   1a058:	90                   	nop    
   1a059:	90                   	nop    
   1a05a:	90                   	nop    
   1a05b:	90                   	nop    
   1a05c:	90                   	nop    
   1a05d:	90                   	nop    
   1a05e:	90                   	nop    
   1a05f:	90                   	nop    

0001a060 <_VfatDiskShutDown>:
   1a060:	55                   	push   %ebp
   1a061:	89 e5                	mov    %esp,%ebp
   1a063:	56                   	push   %esi
   1a064:	53                   	push   %ebx
   1a065:	83 ec 24             	sub    $0x24,%esp
   1a068:	8d 5d e8             	lea    0xffffffe8(%ebp),%ebx
   1a06b:	8b 75 08             	mov    0x8(%ebp),%esi
   1a06e:	6a 00                	push   $0x0
   1a070:	6a 00                	push   $0x0
   1a072:	53                   	push   %ebx
   1a073:	ff 15 e8 02 02 00    	call   *0x202e8
   1a079:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
   1a07c:	50                   	push   %eax
   1a07d:	53                   	push   %ebx
   1a07e:	6a 00                	push   $0x0
   1a080:	6a 00                	push   $0x0
   1a082:	6a 00                	push   $0x0
   1a084:	8b 8e 7c 00 04 00    	mov    0x4007c(%esi),%ecx
   1a08a:	51                   	push   %ecx
   1a08b:	6a 10                	push   $0x10
   1a08d:	ff 15 98 02 02 00    	call   *0x20298
   1a093:	5a                   	pop    %edx
   1a094:	85 c0                	test   %eax,%eax
   1a096:	74 1c                	je     1a0b4 <_VfatDiskShutDown+0x54>
   1a098:	8b 8e 7c 00 04 00    	mov    0x4007c(%esi),%ecx
   1a09e:	89 c2                	mov    %eax,%edx
   1a0a0:	ff 15 fc 01 02 00    	call   *0x201fc
   1a0a6:	3d 03 01 00 00       	cmp    $0x103,%eax
   1a0ab:	74 11                	je     1a0be <_VfatDiskShutDown+0x5e>
   1a0ad:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1a0b0:	5b                   	pop    %ebx
   1a0b1:	5e                   	pop    %esi
   1a0b2:	5d                   	pop    %ebp
   1a0b3:	c3                   	ret    
   1a0b4:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   1a0b7:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1a0ba:	5b                   	pop    %ebx
   1a0bb:	5e                   	pop    %esi
   1a0bc:	5d                   	pop    %ebp
   1a0bd:	c3                   	ret    
   1a0be:	83 ec 0c             	sub    $0xc,%esp
   1a0c1:	6a 00                	push   $0x0
   1a0c3:	6a 00                	push   $0x0
   1a0c5:	6a 00                	push   $0x0
   1a0c7:	6a 00                	push   $0x0
   1a0c9:	53                   	push   %ebx
   1a0ca:	ff 15 f8 02 02 00    	call   *0x202f8
   1a0d0:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
   1a0d3:	83 c4 0c             	add    $0xc,%esp
   1a0d6:	eb d5                	jmp    1a0ad <_VfatDiskShutDown+0x4d>
   1a0d8:	90                   	nop    
   1a0d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

0001a0e0 <_VfatShutdown@8>:
   1a0e0:	55                   	push   %ebp
   1a0e1:	89 e5                	mov    %esp,%ebp
   1a0e3:	57                   	push   %edi
   1a0e4:	56                   	push   %esi
   1a0e5:	53                   	push   %ebx
   1a0e6:	83 ec 0c             	sub    $0xc,%esp
   1a0e9:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1a0ee:	8b 7d 0c             	mov    0xc(%ebp),%edi
   1a0f1:	8b 40 04             	mov    0x4(%eax),%eax
   1a0f4:	3b 45 08             	cmp    0x8(%ebp),%eax
   1a0f7:	74 29                	je     1a122 <_VfatShutdown@8+0x42>
   1a0f9:	c7 47 18 10 00 00 c0 	movl   $0xc0000010,0x18(%edi)
   1a100:	bb 10 00 00 c0       	mov    $0xc0000010,%ebx
   1a105:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
   1a10c:	89 f9                	mov    %edi,%ecx
   1a10e:	31 d2                	xor    %edx,%edx
   1a110:	ff 15 00 02 02 00    	call   *0x20200
   1a116:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1a119:	89 d8                	mov    %ebx,%eax
   1a11b:	5b                   	pop    %ebx
   1a11c:	5e                   	pop    %esi
   1a11d:	5f                   	pop    %edi
   1a11e:	5d                   	pop    %ebp
   1a11f:	c2 08 00             	ret    $0x8
   1a122:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
   1a129:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1a12e:	53                   	push   %ebx
   1a12f:	83 c0 0c             	add    $0xc,%eax
   1a132:	53                   	push   %ebx
   1a133:	6a 01                	push   $0x1
   1a135:	50                   	push   %eax
   1a136:	ff 15 3c 02 02 00    	call   *0x2023c
   1a13c:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   1a142:	8b 42 44             	mov    0x44(%edx),%eax
   1a145:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1a148:	58                   	pop    %eax
   1a149:	59                   	pop    %ecx
   1a14a:	eb 2c                	jmp    1a178 <_VfatShutdown@8+0x98>
   1a14c:	8d 74 26 00          	lea    0x0(%esi),%esi
   1a150:	83 ec 0c             	sub    $0xc,%esp
   1a153:	56                   	push   %esi
   1a154:	e8 07 ff ff ff       	call   1a060 <_VfatDiskShutDown>
   1a159:	83 c4 10             	add    $0x10,%esp
   1a15c:	89 c3                	mov    %eax,%ebx
   1a15e:	85 c0                	test   %eax,%eax
   1a160:	0f 88 92 00 00 00    	js     1a1f8 <_VfatShutdown@8+0x118>
   1a166:	89 f1                	mov    %esi,%ecx
   1a168:	ff 15 e8 01 02 00    	call   *0x201e8
   1a16e:	85 db                	test   %ebx,%ebx
   1a170:	78 70                	js     1a1e2 <_VfatShutdown@8+0x102>
   1a172:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   1a178:	8d 42 44             	lea    0x44(%edx),%eax
   1a17b:	3b 45 f0             	cmp    0xfffffff0(%ebp),%eax
   1a17e:	74 67                	je     1a1e7 <_VfatShutdown@8+0x107>
   1a180:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1a183:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
   1a186:	81 ee e8 00 04 00    	sub    $0x400e8,%esi
   1a18c:	8b 00                	mov    (%eax),%eax
   1a18e:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1a191:	50                   	push   %eax
   1a192:	50                   	push   %eax
   1a193:	6a 01                	push   $0x1
   1a195:	56                   	push   %esi
   1a196:	ff 15 3c 02 02 00    	call   *0x2023c
   1a19c:	8b 9e d0 00 04 00    	mov    0x400d0(%esi),%ebx
   1a1a2:	53                   	push   %ebx
   1a1a3:	56                   	push   %esi
   1a1a4:	e8 17 21 00 00       	call   1c2c0 <_VfatFlushVolume>
   1a1a9:	83 c4 10             	add    $0x10,%esp
   1a1ac:	89 c3                	mov    %eax,%ebx
   1a1ae:	85 c0                	test   %eax,%eax
   1a1b0:	79 9e                	jns    1a150 <_VfatShutdown@8+0x70>
   1a1b2:	51                   	push   %ecx
   1a1b3:	6a 4c                	push   $0x4c
   1a1b5:	68 40 e8 01 00       	push   $0x1e840
   1a1ba:	68 4b e8 01 00       	push   $0x1e84b
   1a1bf:	ff 15 38 02 02 00    	call   *0x20238
   1a1c5:	58                   	pop    %eax
   1a1c6:	5a                   	pop    %edx
   1a1c7:	53                   	push   %ebx
   1a1c8:	68 54 e8 01 00       	push   $0x1e854
   1a1cd:	ff 15 38 02 02 00    	call   *0x20238
   1a1d3:	83 c4 10             	add    $0x10,%esp
   1a1d6:	89 f1                	mov    %esi,%ecx
   1a1d8:	ff 15 e8 01 02 00    	call   *0x201e8
   1a1de:	85 db                	test   %ebx,%ebx
   1a1e0:	79 90                	jns    1a172 <_VfatShutdown@8+0x92>
   1a1e2:	89 5f 18             	mov    %ebx,0x18(%edi)
   1a1e5:	eb 8b                	jmp    1a172 <_VfatShutdown@8+0x92>
   1a1e7:	8d 4a 0c             	lea    0xc(%edx),%ecx
   1a1ea:	ff 15 e8 01 02 00    	call   *0x201e8
   1a1f0:	8b 5f 18             	mov    0x18(%edi),%ebx
   1a1f3:	e9 0d ff ff ff       	jmp    1a105 <_VfatShutdown@8+0x25>
   1a1f8:	51                   	push   %ecx
   1a1f9:	6a 48                	push   $0x48
   1a1fb:	68 40 e8 01 00       	push   $0x1e840
   1a200:	68 4b e8 01 00       	push   $0x1e84b
   1a205:	ff 15 38 02 02 00    	call   *0x20238
   1a20b:	58                   	pop    %eax
   1a20c:	5a                   	pop    %edx
   1a20d:	53                   	push   %ebx
   1a20e:	68 7c e8 01 00       	push   $0x1e87c
   1a213:	eb b8                	jmp    1a1cd <_VfatShutdown@8+0xed>
   1a215:	90                   	nop    
   1a216:	90                   	nop    
   1a217:	90                   	nop    
   1a218:	90                   	nop    
   1a219:	90                   	nop    
   1a21a:	90                   	nop    
   1a21b:	90                   	nop    
   1a21c:	90                   	nop    
   1a21d:	90                   	nop    
   1a21e:	90                   	nop    
   1a21f:	90                   	nop    

0001a220 <_vfatIsLongIllegal>:
   1a220:	55                   	push   %ebp
   1a221:	89 e5                	mov    %esp,%ebp
   1a223:	83 ec 10             	sub    $0x10,%esp
   1a226:	8b 45 08             	mov    0x8(%ebp),%eax
   1a229:	25 ff ff 00 00       	and    $0xffff,%eax
   1a22e:	50                   	push   %eax
   1a22f:	a1 c0 d0 01 00       	mov    0x1d0c0,%eax
   1a234:	50                   	push   %eax
   1a235:	e8 e6 27 00 00       	call   1ca20 <_wcschr>
   1a23a:	83 c4 10             	add    $0x10,%esp
   1a23d:	85 c0                	test   %eax,%eax
   1a23f:	0f 95 c0             	setne  %al
   1a242:	25 ff 00 00 00       	and    $0xff,%eax
   1a247:	c9                   	leave  
   1a248:	c3                   	ret    
   1a249:	90                   	nop    
   1a24a:	90                   	nop    
   1a24b:	90                   	nop    
   1a24c:	90                   	nop    
   1a24d:	90                   	nop    
   1a24e:	90                   	nop    
   1a24f:	90                   	nop    

0001a250 <_VfatQueryVolumeInformation>:
   1a250:	55                   	push   %ebp
   1a251:	31 c0                	xor    %eax,%eax
   1a253:	89 e5                	mov    %esp,%ebp
   1a255:	57                   	push   %edi
   1a256:	56                   	push   %esi
   1a257:	53                   	push   %ebx
   1a258:	83 ec 14             	sub    $0x14,%esp
   1a25b:	8b 75 08             	mov    0x8(%ebp),%esi
   1a25e:	8a 46 0c             	mov    0xc(%esi),%al
   1a261:	83 e0 01             	and    $0x1,%eax
   1a264:	50                   	push   %eax
   1a265:	8b 46 04             	mov    0x4(%esi),%eax
   1a268:	8b 48 28             	mov    0x28(%eax),%ecx
   1a26b:	51                   	push   %ecx
   1a26c:	ff 15 40 02 02 00    	call   *0x20240
   1a272:	5f                   	pop    %edi
   1a273:	84 c0                	test   %al,%al
   1a275:	5a                   	pop    %edx
   1a276:	0f 84 a4 00 00 00    	je     1a320 <_VfatQueryVolumeInformation+0xd0>
   1a27c:	8b 46 20             	mov    0x20(%esi),%eax
   1a27f:	8b 48 04             	mov    0x4(%eax),%ecx
   1a282:	8b 50 08             	mov    0x8(%eax),%edx
   1a285:	89 4d f0             	mov    %ecx,0xfffffff0(%ebp)
   1a288:	83 fa 03             	cmp    $0x3,%edx
   1a28b:	8b 06                	mov    (%esi),%eax
   1a28d:	8b 40 0c             	mov    0xc(%eax),%eax
   1a290:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   1a293:	74 5b                	je     1a2f0 <_VfatQueryVolumeInformation+0xa0>
   1a295:	0f 87 96 00 00 00    	ja     1a331 <_VfatQueryVolumeInformation+0xe1>
   1a29b:	4a                   	dec    %edx
   1a29c:	0f 84 3a 01 00 00    	je     1a3dc <_VfatQueryVolumeInformation+0x18c>
   1a2a2:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
   1a2a7:	8b 7e 04             	mov    0x4(%esi),%edi
   1a2aa:	8b 4f 28             	mov    0x28(%edi),%ecx
   1a2ad:	ff 15 e8 01 02 00    	call   *0x201e8
   1a2b3:	8b 06                	mov    (%esi),%eax
   1a2b5:	85 db                	test   %ebx,%ebx
   1a2b7:	89 58 18             	mov    %ebx,0x18(%eax)
   1a2ba:	78 59                	js     1a315 <_VfatQueryVolumeInformation+0xc5>
   1a2bc:	8b 46 20             	mov    0x20(%esi),%eax
   1a2bf:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   1a2c2:	8b 16                	mov    (%esi),%edx
   1a2c4:	8b 40 04             	mov    0x4(%eax),%eax
   1a2c7:	29 c8                	sub    %ecx,%eax
   1a2c9:	89 42 1c             	mov    %eax,0x1c(%edx)
   1a2cc:	8b 0e                	mov    (%esi),%ecx
   1a2ce:	31 d2                	xor    %edx,%edx
   1a2d0:	ff 15 00 02 02 00    	call   *0x20200
   1a2d6:	83 ec 0c             	sub    $0xc,%esp
   1a2d9:	56                   	push   %esi
   1a2da:	e8 51 07 00 00       	call   1aa30 <_VfatFreeIrpContext>
   1a2df:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1a2e2:	89 d8                	mov    %ebx,%eax
   1a2e4:	5b                   	pop    %ebx
   1a2e5:	5e                   	pop    %esi
   1a2e6:	5f                   	pop    %edi
   1a2e7:	5d                   	pop    %ebp
   1a2e8:	c3                   	ret    
   1a2e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   1a2f0:	8b 7e 04             	mov    0x4(%esi),%edi
   1a2f3:	b8 05 00 00 80       	mov    $0x80000005,%eax
   1a2f8:	83 f9 17             	cmp    $0x17,%ecx
   1a2fb:	0f 87 67 01 00 00    	ja     1a468 <_VfatQueryVolumeInformation+0x218>
   1a301:	89 c3                	mov    %eax,%ebx
   1a303:	8b 4f 28             	mov    0x28(%edi),%ecx
   1a306:	ff 15 e8 01 02 00    	call   *0x201e8
   1a30c:	8b 06                	mov    (%esi),%eax
   1a30e:	85 db                	test   %ebx,%ebx
   1a310:	89 58 18             	mov    %ebx,0x18(%eax)
   1a313:	79 a7                	jns    1a2bc <_VfatQueryVolumeInformation+0x6c>
   1a315:	8b 06                	mov    (%esi),%eax
   1a317:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1a31e:	eb ac                	jmp    1a2cc <_VfatQueryVolumeInformation+0x7c>
   1a320:	83 ec 0c             	sub    $0xc,%esp
   1a323:	56                   	push   %esi
   1a324:	e8 f7 0a 00 00       	call   1ae20 <_VfatQueueRequest>
   1a329:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1a32c:	5b                   	pop    %ebx
   1a32d:	5e                   	pop    %esi
   1a32e:	5f                   	pop    %edi
   1a32f:	5d                   	pop    %ebp
   1a330:	c3                   	ret    
   1a331:	83 fa 04             	cmp    $0x4,%edx
   1a334:	74 7a                	je     1a3b0 <_VfatQueryVolumeInformation+0x160>
   1a336:	83 fa 05             	cmp    $0x5,%edx
   1a339:	0f 85 63 ff ff ff    	jne    1a2a2 <_VfatQueryVolumeInformation+0x52>
   1a33f:	8b 7e 04             	mov    0x4(%esi),%edi
   1a342:	ba 04 00 00 c0       	mov    $0xc0000004,%edx
   1a347:	83 f9 0f             	cmp    $0xf,%ecx
   1a34a:	8b 47 28             	mov    0x28(%edi),%eax
   1a34d:	0f 86 0e 01 00 00    	jbe    1a461 <_VfatQueryVolumeInformation+0x211>
   1a353:	bb 0a 00 00 00       	mov    $0xa,%ebx
   1a358:	b9 d0 e8 01 00       	mov    $0x1e8d0,%ecx
   1a35d:	83 b8 b4 00 04 00 03 	cmpl   $0x3,0x400b4(%eax)
   1a364:	74 07                	je     1a36d <_VfatQueryVolumeInformation+0x11d>
   1a366:	b3 06                	mov    $0x6,%bl
   1a368:	b9 dc e8 01 00       	mov    $0x1e8dc,%ecx
   1a36d:	8d 43 10             	lea    0x10(%ebx),%eax
   1a370:	ba 05 00 00 80       	mov    $0x80000005,%edx
   1a375:	39 45 f0             	cmp    %eax,0xfffffff0(%ebp)
   1a378:	0f 82 e3 00 00 00    	jb     1a461 <_VfatQueryVolumeInformation+0x211>
   1a37e:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1a381:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
   1a387:	c7 40 04 ff 00 00 00 	movl   $0xff,0x4(%eax)
   1a38e:	89 58 08             	mov    %ebx,0x8(%eax)
   1a391:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1a394:	52                   	push   %edx
   1a395:	83 c0 0c             	add    $0xc,%eax
   1a398:	53                   	push   %ebx
   1a399:	51                   	push   %ecx
   1a39a:	50                   	push   %eax
   1a39b:	e8 40 24 00 00       	call   1c7e0 <_memcpy>
   1a3a0:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1a3a3:	29 d8                	sub    %ebx,%eax
   1a3a5:	83 c4 10             	add    $0x10,%esp
   1a3a8:	83 e8 10             	sub    $0x10,%eax
   1a3ab:	e9 a9 00 00 00       	jmp    1a459 <_VfatQueryVolumeInformation+0x209>
   1a3b0:	b8 05 00 00 80       	mov    $0x80000005,%eax
   1a3b5:	83 f9 07             	cmp    $0x7,%ecx
   1a3b8:	76 1b                	jbe    1a3d5 <_VfatQueryVolumeInformation+0x185>
   1a3ba:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   1a3bd:	31 c0                	xor    %eax,%eax
   1a3bf:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
   1a3c5:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
   1a3cc:	8b 5d f0             	mov    0xfffffff0(%ebp),%ebx
   1a3cf:	83 eb 08             	sub    $0x8,%ebx
   1a3d2:	89 5d f0             	mov    %ebx,0xfffffff0(%ebp)
   1a3d5:	89 c3                	mov    %eax,%ebx
   1a3d7:	e9 cb fe ff ff       	jmp    1a2a7 <_VfatQueryVolumeInformation+0x57>
   1a3dc:	8b 7e 04             	mov    0x4(%esi),%edi
   1a3df:	ba 04 00 00 c0       	mov    $0xc0000004,%edx
   1a3e4:	83 f9 13             	cmp    $0x13,%ecx
   1a3e7:	76 78                	jbe    1a461 <_VfatQueryVolumeInformation+0x211>
   1a3e9:	8b 5f 24             	mov    0x24(%edi),%ebx
   1a3ec:	ba 05 00 00 80       	mov    $0x80000005,%edx
   1a3f1:	66 8b 43 06          	mov    0x6(%ebx),%ax
   1a3f5:	25 ff ff 00 00       	and    $0xffff,%eax
   1a3fa:	83 c0 14             	add    $0x14,%eax
   1a3fd:	39 c1                	cmp    %eax,%ecx
   1a3ff:	72 60                	jb     1a461 <_VfatQueryVolumeInformation+0x211>
   1a401:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
   1a404:	8b 43 10             	mov    0x10(%ebx),%eax
   1a407:	89 d1                	mov    %edx,%ecx
   1a409:	89 42 08             	mov    %eax,0x8(%edx)
   1a40c:	83 c1 12             	add    $0x12,%ecx
   1a40f:	8b 47 24             	mov    0x24(%edi),%eax
   1a412:	66 8b 40 06          	mov    0x6(%eax),%ax
   1a416:	25 ff ff 00 00       	and    $0xffff,%eax
   1a41b:	89 42 0c             	mov    %eax,0xc(%edx)
   1a41e:	8b 57 24             	mov    0x24(%edi),%edx
   1a421:	53                   	push   %ebx
   1a422:	83 c2 18             	add    $0x18,%edx
   1a425:	50                   	push   %eax
   1a426:	52                   	push   %edx
   1a427:	51                   	push   %ecx
   1a428:	e8 b3 23 00 00       	call   1c7e0 <_memcpy>
   1a42d:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   1a430:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
   1a436:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
   1a43d:	c6 41 10 00          	movb   $0x0,0x10(%ecx)
   1a441:	83 c4 10             	add    $0x10,%esp
   1a444:	8b 47 24             	mov    0x24(%edi),%eax
   1a447:	66 8b 50 06          	mov    0x6(%eax),%dx
   1a44b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1a44e:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1a454:	29 d0                	sub    %edx,%eax
   1a456:	83 e8 14             	sub    $0x14,%eax
   1a459:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1a45c:	31 d2                	xor    %edx,%edx
   1a45e:	8b 7e 04             	mov    0x4(%esi),%edi
   1a461:	89 d3                	mov    %edx,%ebx
   1a463:	e9 42 fe ff ff       	jmp    1a2aa <_VfatQueryVolumeInformation+0x5a>
   1a468:	8b 5f 28             	mov    0x28(%edi),%ebx
   1a46b:	50                   	push   %eax
   1a46c:	50                   	push   %eax
   1a46d:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1a470:	83 c0 08             	add    $0x8,%eax
   1a473:	50                   	push   %eax
   1a474:	53                   	push   %ebx
   1a475:	e8 d6 b7 ff ff       	call   15c50 <_CountAvailableClusters>
   1a47a:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
   1a47d:	89 c2                	mov    %eax,%edx
   1a47f:	8b 83 b0 00 04 00    	mov    0x400b0(%ebx),%eax
   1a485:	89 01                	mov    %eax,(%ecx)
   1a487:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
   1a48e:	8b 83 a4 00 04 00    	mov    0x400a4(%ebx),%eax
   1a494:	83 c4 10             	add    $0x10,%esp
   1a497:	89 41 10             	mov    %eax,0x10(%ecx)
   1a49a:	85 d2                	test   %edx,%edx
   1a49c:	8b 83 a8 00 04 00    	mov    0x400a8(%ebx),%eax
   1a4a2:	89 41 14             	mov    %eax,0x14(%ecx)
   1a4a5:	78 09                	js     1a4b0 <_VfatQueryVolumeInformation+0x260>
   1a4a7:	8b 7d f0             	mov    0xfffffff0(%ebp),%edi
   1a4aa:	83 ef 18             	sub    $0x18,%edi
   1a4ad:	89 7d f0             	mov    %edi,0xfffffff0(%ebp)
   1a4b0:	89 d0                	mov    %edx,%eax
   1a4b2:	8b 7e 04             	mov    0x4(%esi),%edi
   1a4b5:	89 c3                	mov    %eax,%ebx
   1a4b7:	e9 47 fe ff ff       	jmp    1a303 <_VfatQueryVolumeInformation+0xb3>
   1a4bc:	8d 74 26 00          	lea    0x0(%esi),%esi

0001a4c0 <_VfatSetVolumeInformation>:
   1a4c0:	55                   	push   %ebp
   1a4c1:	31 c0                	xor    %eax,%eax
   1a4c3:	89 e5                	mov    %esp,%ebp
   1a4c5:	57                   	push   %edi
   1a4c6:	56                   	push   %esi
   1a4c7:	53                   	push   %ebx
   1a4c8:	81 ec d4 00 00 00    	sub    $0xd4,%esp
   1a4ce:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1a4d1:	8a 43 0c             	mov    0xc(%ebx),%al
   1a4d4:	8b 7b 20             	mov    0x20(%ebx),%edi
   1a4d7:	83 e0 01             	and    $0x1,%eax
   1a4da:	50                   	push   %eax
   1a4db:	8b 43 04             	mov    0x4(%ebx),%eax
   1a4de:	8b 48 28             	mov    0x28(%eax),%ecx
   1a4e1:	51                   	push   %ecx
   1a4e2:	ff 15 3c 02 02 00    	call   *0x2023c
   1a4e8:	5e                   	pop    %esi
   1a4e9:	84 c0                	test   %al,%al
   1a4eb:	5a                   	pop    %edx
   1a4ec:	0f 84 d3 00 00 00    	je     1a5c5 <_VfatSetVolumeInformation+0x105>
   1a4f2:	8b 03                	mov    (%ebx),%eax
   1a4f4:	8b 40 0c             	mov    0xc(%eax),%eax
   1a4f7:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1a4fd:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
   1a501:	74 4d                	je     1a550 <_VfatSetVolumeInformation+0x90>
   1a503:	8b 43 04             	mov    0x4(%ebx),%eax
   1a506:	bf bb 00 00 c0       	mov    $0xc00000bb,%edi
   1a50b:	89 85 28 ff ff ff    	mov    %eax,0xffffff28(%ebp)
   1a511:	8b 95 28 ff ff ff    	mov    0xffffff28(%ebp),%edx
   1a517:	8b 4a 28             	mov    0x28(%edx),%ecx
   1a51a:	ff 15 e8 01 02 00    	call   *0x201e8
   1a520:	8b 03                	mov    (%ebx),%eax
   1a522:	89 78 18             	mov    %edi,0x18(%eax)
   1a525:	31 d2                	xor    %edx,%edx
   1a527:	8b 03                	mov    (%ebx),%eax
   1a529:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1a530:	8b 0b                	mov    (%ebx),%ecx
   1a532:	ff 15 00 02 02 00    	call   *0x20200
   1a538:	83 ec 0c             	sub    $0xc,%esp
   1a53b:	53                   	push   %ebx
   1a53c:	e8 ef 04 00 00       	call   1aa30 <_VfatFreeIrpContext>
   1a541:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1a544:	89 f8                	mov    %edi,%eax
   1a546:	5b                   	pop    %ebx
   1a547:	5e                   	pop    %esi
   1a548:	5f                   	pop    %edi
   1a549:	5d                   	pop    %ebp
   1a54a:	c3                   	ret    
   1a54b:	90                   	nop    
   1a54c:	8d 74 26 00          	lea    0x0(%esi),%esi
   1a550:	8b 43 04             	mov    0x4(%ebx),%eax
   1a553:	c7 85 60 ff ff ff 00 	movl   $0x0,0xffffff60(%ebp)
   1a55a:	00 00 00 
   1a55d:	89 85 28 ff ff ff    	mov    %eax,0xffffff28(%ebp)
   1a563:	c7 85 48 ff ff ff 00 	movl   $0x0,0xffffff48(%ebp)
   1a56a:	00 00 00 
   1a56d:	c6 85 47 ff ff ff 00 	movb   $0x0,0xffffff47(%ebp)
   1a574:	8b 8d 50 ff ff ff    	mov    0xffffff50(%ebp),%ecx
   1a57a:	8b 50 28             	mov    0x28(%eax),%edx
   1a57d:	89 95 4c ff ff ff    	mov    %edx,0xffffff4c(%ebp)
   1a583:	ba 06 01 00 c0       	mov    $0xc0000106,%edx
   1a588:	8b 31                	mov    (%ecx),%esi
   1a58a:	83 fe 40             	cmp    $0x40,%esi
   1a58d:	0f 87 4e 03 00 00    	ja     1a8e1 <_VfatSetVolumeInformation+0x421>
   1a593:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
   1a599:	f6 80 cc 00 04 00 04 	testb  $0x4,0x400cc(%eax)
   1a5a0:	74 34                	je     1a5d6 <_VfatSetVolumeInformation+0x116>
   1a5a2:	89 f0                	mov    %esi,%eax
   1a5a4:	d1 e8                	shr    %eax
   1a5a6:	83 f8 2a             	cmp    $0x2a,%eax
   1a5a9:	0f 87 32 03 00 00    	ja     1a8e1 <_VfatSetVolumeInformation+0x421>
   1a5af:	c7 85 38 ff ff ff 40 	movl   $0x40,0xffffff38(%ebp)
   1a5b6:	00 00 00 
   1a5b9:	c7 85 34 ff ff ff 40 	movl   $0x40,0xffffff34(%ebp)
   1a5c0:	00 00 00 
   1a5c3:	eb 37                	jmp    1a5fc <_VfatSetVolumeInformation+0x13c>
   1a5c5:	83 ec 0c             	sub    $0xc,%esp
   1a5c8:	53                   	push   %ebx
   1a5c9:	e8 52 08 00 00       	call   1ae20 <_VfatQueueRequest>
   1a5ce:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1a5d1:	5b                   	pop    %ebx
   1a5d2:	5e                   	pop    %esi
   1a5d3:	5f                   	pop    %edi
   1a5d4:	5d                   	pop    %ebp
   1a5d5:	c3                   	ret    
   1a5d6:	89 f0                	mov    %esi,%eax
   1a5d8:	ba 06 01 00 c0       	mov    $0xc0000106,%edx
   1a5dd:	d1 e8                	shr    %eax
   1a5df:	83 f8 0b             	cmp    $0xb,%eax
   1a5e2:	0f 87 f9 02 00 00    	ja     1a8e1 <_VfatSetVolumeInformation+0x421>
   1a5e8:	c7 85 38 ff ff ff 20 	movl   $0x20,0xffffff38(%ebp)
   1a5ef:	00 00 00 
   1a5f2:	c7 85 34 ff ff ff 80 	movl   $0x80,0xffffff34(%ebp)
   1a5f9:	00 00 00 
   1a5fc:	8b 8d 38 ff ff ff    	mov    0xffffff38(%ebp),%ecx
   1a602:	89 f2                	mov    %esi,%edx
   1a604:	fc                   	cld    
   1a605:	d1 ea                	shr    %edx
   1a607:	31 c0                	xor    %eax,%eax
   1a609:	c1 e9 02             	shr    $0x2,%ecx
   1a60c:	8d 7d a8             	lea    0xffffffa8(%ebp),%edi
   1a60f:	89 95 40 ff ff ff    	mov    %edx,0xffffff40(%ebp)
   1a615:	f3 ab                	repz stos %eax,%es:(%edi)
   1a617:	8b 8d 50 ff ff ff    	mov    0xffffff50(%ebp),%ecx
   1a61d:	8b 95 50 ff ff ff    	mov    0xffffff50(%ebp),%edx
   1a623:	83 c1 04             	add    $0x4,%ecx
   1a626:	8d bd 78 ff ff ff    	lea    0xffffff78(%ebp),%edi
   1a62c:	89 8d 2c ff ff ff    	mov    %ecx,0xffffff2c(%ebp)
   1a632:	89 8d 74 ff ff ff    	mov    %ecx,0xffffff74(%ebp)
   1a638:	8b 02                	mov    (%edx),%eax
   1a63a:	66 89 85 72 ff ff ff 	mov    %ax,0xffffff72(%ebp)
   1a641:	66 89 85 70 ff ff ff 	mov    %ax,0xffffff70(%ebp)
   1a648:	8d 85 70 ff ff ff    	lea    0xffffff70(%ebp),%eax
   1a64e:	89 bd 6c ff ff ff    	mov    %edi,0xffffff6c(%ebp)
   1a654:	66 c7 85 68 ff ff ff 	movw   $0x0,0xffffff68(%ebp)
   1a65b:	00 00 
   1a65d:	66 c7 85 6a ff ff ff 	movw   $0x2a,0xffffff6a(%ebp)
   1a664:	2a 00 
   1a666:	51                   	push   %ecx
   1a667:	6a 00                	push   $0x0
   1a669:	50                   	push   %eax
   1a66a:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
   1a670:	50                   	push   %eax
   1a671:	e8 ea 21 00 00       	call   1c860 <_RtlUnicodeStringToOemString@12>
   1a676:	5a                   	pop    %edx
   1a677:	85 c0                	test   %eax,%eax
   1a679:	89 85 3c ff ff ff    	mov    %eax,0xffffff3c(%ebp)
   1a67f:	89 c2                	mov    %eax,%edx
   1a681:	0f 88 79 02 00 00    	js     1a900 <_VfatSetVolumeInformation+0x440>
   1a687:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
   1a68d:	f6 80 cc 00 04 00 04 	testb  $0x4,0x400cc(%eax)
   1a694:	0f 85 76 02 00 00    	jne    1a910 <_VfatSetVolumeInformation+0x450>
   1a69a:	89 fa                	mov    %edi,%edx
   1a69c:	89 f1                	mov    %esi,%ecx
   1a69e:	fc                   	cld    
   1a69f:	c1 e9 03             	shr    $0x3,%ecx
   1a6a2:	89 d6                	mov    %edx,%esi
   1a6a4:	8d 7d a8             	lea    0xffffffa8(%ebp),%edi
   1a6a7:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   1a6a9:	89 f2                	mov    %esi,%edx
   1a6ab:	f6 85 40 ff ff ff 02 	testb  $0x2,0xffffff40(%ebp)
   1a6b2:	74 0c                	je     1a6c0 <_VfatSetVolumeInformation+0x200>
   1a6b4:	66 8b 06             	mov    (%esi),%ax
   1a6b7:	83 c2 02             	add    $0x2,%edx
   1a6ba:	66 89 07             	mov    %ax,(%edi)
   1a6bd:	83 c7 02             	add    $0x2,%edi
   1a6c0:	f6 85 40 ff ff ff 01 	testb  $0x1,0xffffff40(%ebp)
   1a6c7:	74 04                	je     1a6cd <_VfatSetVolumeInformation+0x20d>
   1a6c9:	8a 02                	mov    (%edx),%al
   1a6cb:	88 07                	mov    %al,(%edi)
   1a6cd:	51                   	push   %ecx
   1a6ce:	8b 95 40 ff ff ff    	mov    0xffffff40(%ebp),%edx
   1a6d4:	b8 0b 00 00 00       	mov    $0xb,%eax
   1a6d9:	29 d0                	sub    %edx,%eax
   1a6db:	50                   	push   %eax
   1a6dc:	6a 20                	push   $0x20
   1a6de:	8b bd 40 ff ff ff    	mov    0xffffff40(%ebp),%edi
   1a6e4:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
   1a6e7:	01 f8                	add    %edi,%eax
   1a6e9:	50                   	push   %eax
   1a6ea:	e8 01 21 00 00       	call   1c7f0 <_memset>
   1a6ef:	83 c4 10             	add    $0x10,%esp
   1a6f2:	c6 45 b3 08          	movb   $0x8,0xffffffb3(%ebp)
   1a6f6:	83 ec 0c             	sub    $0xc,%esp
   1a6f9:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1a6ff:	8d bd 58 ff ff ff    	lea    0xffffff58(%ebp),%edi
   1a705:	56                   	push   %esi
   1a706:	e8 d5 c7 ff ff       	call   16ee0 <_vfatOpenRootFCB>
   1a70b:	5a                   	pop    %edx
   1a70c:	89 c6                	mov    %eax,%esi
   1a70e:	59                   	pop    %ecx
   1a70f:	8d 95 60 ff ff ff    	lea    0xffffff60(%ebp),%edx
   1a715:	8d 85 64 ff ff ff    	lea    0xffffff64(%ebp),%eax
   1a71b:	c7 85 58 ff ff ff 00 	movl   $0x0,0xffffff58(%ebp)
   1a722:	00 00 00 
   1a725:	c7 85 5c ff ff ff 00 	movl   $0x0,0xffffff5c(%ebp)
   1a72c:	00 00 00 
   1a72f:	50                   	push   %eax
   1a730:	52                   	push   %edx
   1a731:	6a 01                	push   $0x1
   1a733:	68 00 10 00 00       	push   $0x1000
   1a738:	57                   	push   %edi
   1a739:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
   1a73f:	50                   	push   %eax
   1a740:	e8 cb 20 00 00       	call   1c810 <_CcPinRead@24>
   1a745:	5a                   	pop    %edx
   1a746:	84 c0                	test   %al,%al
   1a748:	59                   	pop    %ecx
   1a749:	0f 84 de 00 00 00    	je     1a82d <_VfatSetVolumeInformation+0x36d>
   1a74f:	90                   	nop    
   1a750:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1a756:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
   1a75c:	8b 90 cc 00 04 00    	mov    0x400cc(%eax),%edx
   1a762:	f6 c2 04             	test   $0x4,%dl
   1a765:	0f 84 7d 01 00 00    	je     1a8e8 <_VfatSetVolumeInformation+0x428>
   1a76b:	31 c0                	xor    %eax,%eax
   1a76d:	8a 41 01             	mov    0x1(%ecx),%al
   1a770:	83 e0 1f             	and    $0x1f,%eax
   1a773:	83 f8 08             	cmp    $0x8,%eax
   1a776:	0f 84 5e 02 00 00    	je     1a9da <_VfatSetVolumeInformation+0x51a>
   1a77c:	83 e2 04             	and    $0x4,%edx
   1a77f:	0f 84 6d 01 00 00    	je     1a8f2 <_VfatSetVolumeInformation+0x432>
   1a785:	80 39 ff             	cmpb   $0xff,(%ecx)
   1a788:	0f 84 88 00 00 00    	je     1a816 <_VfatSetVolumeInformation+0x356>
   1a78e:	8b 85 48 ff ff ff    	mov    0xffffff48(%ebp),%eax
   1a794:	8b 95 38 ff ff ff    	mov    0xffffff38(%ebp),%edx
   1a79a:	40                   	inc    %eax
   1a79b:	89 85 48 ff ff ff    	mov    %eax,0xffffff48(%ebp)
   1a7a1:	8d 04 11             	lea    (%ecx,%edx,1),%eax
   1a7a4:	89 c1                	mov    %eax,%ecx
   1a7a6:	31 d2                	xor    %edx,%edx
   1a7a8:	89 85 64 ff ff ff    	mov    %eax,0xffffff64(%ebp)
   1a7ae:	8b 85 48 ff ff ff    	mov    0xffffff48(%ebp),%eax
   1a7b4:	f7 b5 34 ff ff ff    	divl   0xffffff34(%ebp)
   1a7ba:	85 d2                	test   %edx,%edx
   1a7bc:	75 98                	jne    1a756 <_VfatSetVolumeInformation+0x296>
   1a7be:	83 ec 0c             	sub    $0xc,%esp
   1a7c1:	8b 85 60 ff ff ff    	mov    0xffffff60(%ebp),%eax
   1a7c7:	50                   	push   %eax
   1a7c8:	e8 b3 1e 00 00       	call   1c680 <_CcUnpinData@4>
   1a7cd:	8b 85 58 ff ff ff    	mov    0xffffff58(%ebp),%eax
   1a7d3:	8d 8d 64 ff ff ff    	lea    0xffffff64(%ebp),%ecx
   1a7d9:	05 00 10 00 00       	add    $0x1000,%eax
   1a7de:	89 85 58 ff ff ff    	mov    %eax,0xffffff58(%ebp)
   1a7e4:	8d 85 60 ff ff ff    	lea    0xffffff60(%ebp),%eax
   1a7ea:	89 0c 24             	mov    %ecx,(%esp)
   1a7ed:	50                   	push   %eax
   1a7ee:	6a 01                	push   $0x1
   1a7f0:	68 00 10 00 00       	push   $0x1000
   1a7f5:	57                   	push   %edi
   1a7f6:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
   1a7fc:	50                   	push   %eax
   1a7fd:	e8 0e 20 00 00       	call   1c810 <_CcPinRead@24>
   1a802:	5a                   	pop    %edx
   1a803:	84 c0                	test   %al,%al
   1a805:	59                   	pop    %ecx
   1a806:	0f 85 44 ff ff ff    	jne    1a750 <_VfatSetVolumeInformation+0x290>
   1a80c:	c7 85 60 ff ff ff 00 	movl   $0x0,0xffffff60(%ebp)
   1a813:	00 00 00 
   1a816:	8b 85 60 ff ff ff    	mov    0xffffff60(%ebp),%eax
   1a81c:	85 c0                	test   %eax,%eax
   1a81e:	0f 85 f0 01 00 00    	jne    1aa14 <_VfatSetVolumeInformation+0x554>
   1a824:	80 bd 47 ff ff ff 00 	cmpb   $0x0,0xffffff47(%ebp)
   1a82b:	75 2b                	jne    1a858 <_VfatSetVolumeInformation+0x398>
   1a82d:	8d 85 54 ff ff ff    	lea    0xffffff54(%ebp),%eax
   1a833:	50                   	push   %eax
   1a834:	6a 01                	push   $0x1
   1a836:	56                   	push   %esi
   1a837:	8b 8d 4c ff ff ff    	mov    0xffffff4c(%ebp),%ecx
   1a83d:	51                   	push   %ecx
   1a83e:	e8 1d 97 ff ff       	call   13f60 <_vfatFindDirSpace>
   1a843:	83 c4 10             	add    $0x10,%esp
   1a846:	c7 85 3c ff ff ff 7f 	movl   $0xc000007f,0xffffff3c(%ebp)
   1a84d:	00 00 c0 
   1a850:	84 c0                	test   %al,%al
   1a852:	0f 85 f9 00 00 00    	jne    1a951 <_VfatSetVolumeInformation+0x491>
   1a858:	50                   	push   %eax
   1a859:	50                   	push   %eax
   1a85a:	56                   	push   %esi
   1a85b:	8b bd 4c ff ff ff    	mov    0xffffff4c(%ebp),%edi
   1a861:	57                   	push   %edi
   1a862:	e8 f9 c0 ff ff       	call   16960 <_vfatReleaseFCB>
   1a867:	8b b5 3c ff ff ff    	mov    0xffffff3c(%ebp),%esi
   1a86d:	83 c4 10             	add    $0x10,%esp
   1a870:	85 f6                	test   %esi,%esi
   1a872:	0f 88 82 00 00 00    	js     1a8fa <_VfatSetVolumeInformation+0x43a>
   1a878:	8b b5 28 ff ff ff    	mov    0xffffff28(%ebp),%esi
   1a87e:	8b 8d 50 ff ff ff    	mov    0xffffff50(%ebp),%ecx
   1a884:	fc                   	cld    
   1a885:	8b 56 24             	mov    0x24(%esi),%edx
   1a888:	8b 01                	mov    (%ecx),%eax
   1a88a:	66 89 42 06          	mov    %ax,0x6(%edx)
   1a88e:	8b 56 24             	mov    0x24(%esi),%edx
   1a891:	8b b5 2c ff ff ff    	mov    0xffffff2c(%ebp),%esi
   1a897:	66 8b 42 06          	mov    0x6(%edx),%ax
   1a89b:	8d 7a 18             	lea    0x18(%edx),%edi
   1a89e:	25 ff ff 00 00       	and    $0xffff,%eax
   1a8a3:	89 c1                	mov    %eax,%ecx
   1a8a5:	89 85 30 ff ff ff    	mov    %eax,0xffffff30(%ebp)
   1a8ab:	c1 e9 02             	shr    $0x2,%ecx
   1a8ae:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   1a8b0:	f6 85 30 ff ff ff 02 	testb  $0x2,0xffffff30(%ebp)
   1a8b7:	74 0c                	je     1a8c5 <_VfatSetVolumeInformation+0x405>
   1a8b9:	66 8b 06             	mov    (%esi),%ax
   1a8bc:	83 c6 02             	add    $0x2,%esi
   1a8bf:	66 89 07             	mov    %ax,(%edi)
   1a8c2:	83 c7 02             	add    $0x2,%edi
   1a8c5:	f6 85 30 ff ff ff 01 	testb  $0x1,0xffffff30(%ebp)
   1a8cc:	74 04                	je     1a8d2 <_VfatSetVolumeInformation+0x412>
   1a8ce:	8a 06                	mov    (%esi),%al
   1a8d0:	88 07                	mov    %al,(%edi)
   1a8d2:	8b 73 04             	mov    0x4(%ebx),%esi
   1a8d5:	8b 95 3c ff ff ff    	mov    0xffffff3c(%ebp),%edx
   1a8db:	89 b5 28 ff ff ff    	mov    %esi,0xffffff28(%ebp)
   1a8e1:	89 d7                	mov    %edx,%edi
   1a8e3:	e9 29 fc ff ff       	jmp    1a511 <_VfatSetVolumeInformation+0x51>
   1a8e8:	31 c0                	xor    %eax,%eax
   1a8ea:	8a 41 0b             	mov    0xb(%ecx),%al
   1a8ed:	e9 7e fe ff ff       	jmp    1a770 <_VfatSetVolumeInformation+0x2b0>
   1a8f2:	80 39 00             	cmpb   $0x0,(%ecx)
   1a8f5:	e9 8e fe ff ff       	jmp    1a788 <_VfatSetVolumeInformation+0x2c8>
   1a8fa:	8b 95 3c ff ff ff    	mov    0xffffff3c(%ebp),%edx
   1a900:	8b 4b 04             	mov    0x4(%ebx),%ecx
   1a903:	89 d7                	mov    %edx,%edi
   1a905:	89 8d 28 ff ff ff    	mov    %ecx,0xffffff28(%ebp)
   1a90b:	e9 01 fc ff ff       	jmp    1a511 <_VfatSetVolumeInformation+0x51>
   1a910:	51                   	push   %ecx
   1a911:	8b 95 40 ff ff ff    	mov    0xffffff40(%ebp),%edx
   1a917:	8d 45 aa             	lea    0xffffffaa(%ebp),%eax
   1a91a:	52                   	push   %edx
   1a91b:	57                   	push   %edi
   1a91c:	50                   	push   %eax
   1a91d:	e8 be 1e 00 00       	call   1c7e0 <_memcpy>
   1a922:	83 c4 0c             	add    $0xc,%esp
   1a925:	8b b5 40 ff ff ff    	mov    0xffffff40(%ebp),%esi
   1a92b:	b8 2a 00 00 00       	mov    $0x2a,%eax
   1a930:	29 f0                	sub    %esi,%eax
   1a932:	50                   	push   %eax
   1a933:	6a 20                	push   $0x20
   1a935:	8b 95 40 ff ff ff    	mov    0xffffff40(%ebp),%edx
   1a93b:	8d 44 15 aa          	lea    0xffffffaa(%ebp,%edx,1),%eax
   1a93f:	50                   	push   %eax
   1a940:	e8 ab 1e 00 00       	call   1c7f0 <_memset>
   1a945:	83 c4 10             	add    $0x10,%esp
   1a948:	c6 45 a9 08          	movb   $0x8,0xffffffa9(%ebp)
   1a94c:	e9 a5 fd ff ff       	jmp    1a6f6 <_VfatSetVolumeInformation+0x236>
   1a951:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
   1a958:	8d 8d 60 ff ff ff    	lea    0xffffff60(%ebp),%ecx
   1a95e:	8b 95 54 ff ff ff    	mov    0xffffff54(%ebp),%edx
   1a964:	8b 85 38 ff ff ff    	mov    0xffffff38(%ebp),%eax
   1a96a:	0f af c2             	imul   %edx,%eax
   1a96d:	8d 95 64 ff ff ff    	lea    0xffffff64(%ebp),%edx
   1a973:	89 85 58 ff ff ff    	mov    %eax,0xffffff58(%ebp)
   1a979:	50                   	push   %eax
   1a97a:	50                   	push   %eax
   1a97b:	52                   	push   %edx
   1a97c:	51                   	push   %ecx
   1a97d:	6a 01                	push   $0x1
   1a97f:	8b 85 38 ff ff ff    	mov    0xffffff38(%ebp),%eax
   1a985:	50                   	push   %eax
   1a986:	57                   	push   %edi
   1a987:	8b 86 3c 01 00 00    	mov    0x13c(%esi),%eax
   1a98d:	50                   	push   %eax
   1a98e:	e8 7d 1e 00 00       	call   1c810 <_CcPinRead@24>
   1a993:	8b bd 38 ff ff ff    	mov    0xffffff38(%ebp),%edi
   1a999:	58                   	pop    %eax
   1a99a:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
   1a99d:	57                   	push   %edi
   1a99e:	50                   	push   %eax
   1a99f:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1a9a5:	51                   	push   %ecx
   1a9a6:	e8 35 1e 00 00       	call   1c7e0 <_memcpy>
   1a9ab:	58                   	pop    %eax
   1a9ac:	5a                   	pop    %edx
   1a9ad:	6a 00                	push   $0x0
   1a9af:	8b 85 60 ff ff ff    	mov    0xffffff60(%ebp),%eax
   1a9b5:	50                   	push   %eax
   1a9b6:	e8 65 1e 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   1a9bb:	50                   	push   %eax
   1a9bc:	8b 85 60 ff ff ff    	mov    0xffffff60(%ebp),%eax
   1a9c2:	50                   	push   %eax
   1a9c3:	e8 b8 1c 00 00       	call   1c680 <_CcUnpinData@4>
   1a9c8:	83 c4 0c             	add    $0xc,%esp
   1a9cb:	c7 85 3c ff ff ff 00 	movl   $0x0,0xffffff3c(%ebp)
   1a9d2:	00 00 00 
   1a9d5:	e9 7e fe ff ff       	jmp    1a858 <_VfatSetVolumeInformation+0x398>
   1a9da:	c6 85 47 ff ff ff 01 	movb   $0x1,0xffffff47(%ebp)
   1a9e1:	50                   	push   %eax
   1a9e2:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
   1a9e5:	8b 85 38 ff ff ff    	mov    0xffffff38(%ebp),%eax
   1a9eb:	50                   	push   %eax
   1a9ec:	52                   	push   %edx
   1a9ed:	51                   	push   %ecx
   1a9ee:	e8 ed 1d 00 00       	call   1c7e0 <_memcpy>
   1a9f3:	58                   	pop    %eax
   1a9f4:	5a                   	pop    %edx
   1a9f5:	6a 00                	push   $0x0
   1a9f7:	8b 8d 60 ff ff ff    	mov    0xffffff60(%ebp),%ecx
   1a9fd:	51                   	push   %ecx
   1a9fe:	e8 1d 1e 00 00       	call   1c820 <_CcSetDirtyPinnedData@8>
   1aa03:	58                   	pop    %eax
   1aa04:	5a                   	pop    %edx
   1aa05:	c7 85 3c ff ff ff 00 	movl   $0x0,0xffffff3c(%ebp)
   1aa0c:	00 00 00 
   1aa0f:	e9 02 fe ff ff       	jmp    1a816 <_VfatSetVolumeInformation+0x356>
   1aa14:	83 ec 0c             	sub    $0xc,%esp
   1aa17:	50                   	push   %eax
   1aa18:	e8 63 1c 00 00       	call   1c680 <_CcUnpinData@4>
   1aa1d:	83 c4 0c             	add    $0xc,%esp
   1aa20:	e9 ff fd ff ff       	jmp    1a824 <_VfatSetVolumeInformation+0x364>
   1aa25:	90                   	nop    
   1aa26:	90                   	nop    
   1aa27:	90                   	nop    
   1aa28:	90                   	nop    
   1aa29:	90                   	nop    
   1aa2a:	90                   	nop    
   1aa2b:	90                   	nop    
   1aa2c:	90                   	nop    
   1aa2d:	90                   	nop    
   1aa2e:	90                   	nop    
   1aa2f:	90                   	nop    

0001aa30 <_VfatFreeIrpContext>:
   1aa30:	55                   	push   %ebp
   1aa31:	89 e5                	mov    %esp,%ebp
   1aa33:	53                   	push   %ebx
   1aa34:	50                   	push   %eax
static __inline VOID
ExFreeToNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside,
  IN PVOID  Entry)
{
   1aa35:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   {
      case IRP_MJ_CLOSE:
         return VfatClose (IrpContext);
      case IRP_MJ_CREATE:
         return VfatCreate (IrpContext);
      case IRP_MJ_READ:
         return VfatRead (IrpContext);
      case IRP_MJ_WRITE:
         return VfatWrite (IrpContext);
      case IRP_MJ_FILE_SYSTEM_CONTROL:
         return VfatFileSystemControl(IrpContext);
      case IRP_MJ_QUERY_INFORMATION:
         return VfatQueryInformation (IrpContext);
      case IRP_MJ_SET_INFORMATION:
         return VfatSetInformation (IrpContext);
      case IRP_MJ_DIRECTORY_CONTROL:
         return VfatDirectoryControl(IrpContext);
      case IRP_MJ_QUERY_VOLUME_INFORMATION:
         return VfatQueryVolumeInformation(IrpContext);
      case IRP_MJ_SET_VOLUME_INFORMATION:
         return VfatSetVolumeInformation(IrpContext);
      case IRP_MJ_LOCK_CONTROL:
         return VfatLockControl(IrpContext);
      case IRP_MJ_CLEANUP:
         return VfatCleanup(IrpContext);
      case IRP_MJ_FLUSH_BUFFERS:
         return VfatFlush(IrpContext);
      default:
         DPRINT1 ("Unexpected major function %x\n", IrpContext->MajorFunction);
         IrpContext->Irp->IoStatus.Status = STATUS_DRIVER_INTERNAL_ERROR;
         IoCompleteRequest(IrpContext->Irp, IO_NO_INCREMENT);
         VfatFreeIrpContext(IrpContext);
         return STATUS_DRIVER_INTERNAL_ERROR;
   }
}

NTSTATUS STDCALL VfatBuildRequest (
        IN PDEVICE_OBJECT DeviceObject,
        IN PIRP Irp)
{
   NTSTATUS Status;
   PVFAT_IRP_CONTEXT IrpContext;

   DPRINT ("VfatBuildRequest (DeviceObject %x, Irp %x)\n", DeviceObject, Irp);

   ASSERT(DeviceObject);
   ASSERT(Irp);
   IrpContext = VfatAllocateIrpContext(DeviceObject, Irp);
   if (IrpContext == NULL)
   {
      Status = STATUS_INSUFFICIENT_RESOURCES;
      Irp->IoStatus.Status = Status;
      IoCompleteRequest (Irp, IO_NO_INCREMENT);
   }
   else
   {
      if (KeGetCurrentIrql() <= PASSIVE_LEVEL)
      {
         FsRtlEnterFileSystem();
      }
      else
      {
         DPRINT1("Vfat is entered at irql = %d\n", KeGetCurrentIrql());
      }
      Status = VfatDispatchRequest (IrpContext);
      
      if (KeGetCurrentIrql() <= PASSIVE_LEVEL)
      {
         FsRtlExitFileSystem();
      }
      
   }
   return Status;
}

VOID VfatFreeIrpContext (PVFAT_IRP_CONTEXT IrpContext)
{
   1aa3b:	8b 5d 08             	mov    0x8(%ebp),%ebx
static __inline VOID
ExFreeToNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside,
  IN PVOID  Entry)
{
   1aa3e:	8d 8a f0 00 00 00    	lea    0xf0(%edx),%ecx
  Lookaside->TotalFrees++;
   1aa44:	8b 41 14             	mov    0x14(%ecx),%eax
   1aa47:	40                   	inc    %eax
   1aa48:	89 41 14             	mov    %eax,0x14(%ecx)
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
   1aa4b:	66 8b 41 08          	mov    0x8(%ecx),%ax
   1aa4f:	66 39 82 f0 00 00 00 	cmp    %ax,0xf0(%edx)
   1aa56:	73 0d                	jae    1aa65 <_VfatFreeIrpContext+0x35>
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   1aa58:	a1 f8 01 02 00       	mov    0x201f8,%eax
   1aa5d:	89 da                	mov    %ebx,%edx
   ASSERT(IrpContext);
   ExFreeToNPagedLookasideList(&VfatGlobalData->IrpContextLookasideList, IrpContext);
}
   1aa5f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1aa62:	c9                   	leave  
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
  } else {
		InterlockedPushEntrySList(&Lookaside->ListHead,
   1aa63:	ff e0                	jmp    *%eax
   1aa65:	8b 41 18             	mov    0x18(%ecx),%eax
   1aa68:	83 ec 0c             	sub    $0xc,%esp
   1aa6b:	40                   	inc    %eax
   1aa6c:	89 41 18             	mov    %eax,0x18(%ecx)
   1aa6f:	53                   	push   %ebx
   1aa70:	ff 51 2c             	call   *0x2c(%ecx)
   1aa73:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
{
  Lookaside->TotalFrees++;
	if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
		Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
		(Lookaside->Free)(Entry);
   1aa76:	83 c4 0c             	add    $0xc,%esp
   1aa79:	c9                   	leave  
   1aa7a:	c3                   	ret    
   1aa7b:	90                   	nop    
   1aa7c:	8d 74 26 00          	lea    0x0(%esi),%esi

0001aa80 <_VfatLockControl>:
   1aa80:	55                   	push   %ebp
   1aa81:	89 e5                	mov    %esp,%ebp
   1aa83:	56                   	push   %esi
   1aa84:	53                   	push   %ebx
   1aa85:	be 10 00 00 c0       	mov    $0xc0000010,%esi
   1aa8a:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1aa8d:	8b 43 28             	mov    0x28(%ebx),%eax
   1aa90:	8b 50 0c             	mov    0xc(%eax),%edx
   1aa93:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1aa98:	8b 40 04             	mov    0x4(%eax),%eax
   1aa9b:	39 43 04             	cmp    %eax,0x4(%ebx)
   1aa9e:	74 0f                	je     1aaaf <_VfatLockControl+0x2f>
   1aaa0:	8b 82 e4 00 00 00    	mov    0xe4(%edx),%eax
   1aaa6:	66 be 0d 00          	mov    $0xd,%si
   1aaaa:	f6 00 10             	testb  $0x10,(%eax)
   1aaad:	74 27                	je     1aad6 <_VfatLockControl+0x56>
   1aaaf:	8b 03                	mov    (%ebx),%eax
   1aab1:	89 f2                	mov    %esi,%edx
   1aab3:	83 f2 ff             	xor    $0xffffffff,%edx
   1aab6:	c1 ea 1f             	shr    $0x1f,%edx
   1aab9:	89 70 18             	mov    %esi,0x18(%eax)
   1aabc:	8b 0b                	mov    (%ebx),%ecx
   1aabe:	ff 15 00 02 02 00    	call   *0x20200
   1aac4:	83 ec 0c             	sub    $0xc,%esp
   1aac7:	53                   	push   %ebx
   1aac8:	e8 63 ff ff ff       	call   1aa30 <_VfatFreeIrpContext>
   1aacd:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1aad0:	89 f0                	mov    %esi,%eax
   1aad2:	5b                   	pop    %ebx
   1aad3:	5e                   	pop    %esi
   1aad4:	5d                   	pop    %ebp
   1aad5:	c3                   	ret    
   1aad6:	50                   	push   %eax
   1aad7:	6a 00                	push   $0x0
   1aad9:	8b 03                	mov    (%ebx),%eax
   1aadb:	50                   	push   %eax
   1aadc:	8d 82 80 01 00 00    	lea    0x180(%edx),%eax
   1aae2:	50                   	push   %eax
   1aae3:	e8 48 1f 00 00       	call   1ca30 <_FsRtlProcessFileLock@12>
   1aae8:	89 c6                	mov    %eax,%esi
   1aaea:	50                   	push   %eax
   1aaeb:	50                   	push   %eax
   1aaec:	53                   	push   %ebx
   1aaed:	e8 3e ff ff ff       	call   1aa30 <_VfatFreeIrpContext>
   1aaf2:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1aaf5:	89 f0                	mov    %esi,%eax
   1aaf7:	5b                   	pop    %ebx
   1aaf8:	5e                   	pop    %esi
   1aaf9:	5d                   	pop    %ebp
   1aafa:	c3                   	ret    
   1aafb:	90                   	nop    
   1aafc:	8d 74 26 00          	lea    0x0(%esi),%esi

0001ab00 <_VfatDispatchRequest>:
   1ab00:	55                   	push   %ebp
   1ab01:	31 c0                	xor    %eax,%eax
   1ab03:	89 e5                	mov    %esp,%ebp
   1ab05:	53                   	push   %ebx
   1ab06:	53                   	push   %ebx
   1ab07:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1ab0a:	8a 43 24             	mov    0x24(%ebx),%al
   1ab0d:	83 f8 12             	cmp    $0x12,%eax
   1ab10:	77 07                	ja     1ab19 <_VfatDispatchRequest+0x19>
   1ab12:	ff 24 85 68 eb 01 00 	jmp    *0x1eb68(,%eax,4)
   1ab19:	51                   	push   %ecx
   1ab1a:	68 84 00 00 00       	push   $0x84
   1ab1f:	68 3a eb 01 00       	push   $0x1eb3a
   1ab24:	68 41 eb 01 00       	push   $0x1eb41
   1ab29:	ff 15 38 02 02 00    	call   *0x20238
   1ab2f:	58                   	pop    %eax
   1ab30:	31 c0                	xor    %eax,%eax
   1ab32:	5a                   	pop    %edx
   1ab33:	8a 43 24             	mov    0x24(%ebx),%al
   1ab36:	50                   	push   %eax
   1ab37:	68 4a eb 01 00       	push   $0x1eb4a
   1ab3c:	ff 15 38 02 02 00    	call   *0x20238
   1ab42:	8b 03                	mov    (%ebx),%eax
   1ab44:	c7 40 18 83 01 00 c0 	movl   $0xc0000183,0x18(%eax)
   1ab4b:	31 d2                	xor    %edx,%edx
   1ab4d:	8b 0b                	mov    (%ebx),%ecx
   1ab4f:	ff 15 00 02 02 00    	call   *0x20200
   1ab55:	89 1c 24             	mov    %ebx,(%esp)
   1ab58:	e8 d3 fe ff ff       	call   1aa30 <_VfatFreeIrpContext>
   1ab5d:	b8 83 01 00 c0       	mov    $0xc0000183,%eax
   1ab62:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab65:	c9                   	leave  
   1ab66:	c3                   	ret    
   1ab67:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1ab6a:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab6d:	c9                   	leave  
   1ab6e:	e9 8d 7b ff ff       	jmp    12700 <_VfatCreate>
   1ab73:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1ab76:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab79:	c9                   	leave  
   1ab7a:	e9 71 6b ff ff       	jmp    116f0 <_VfatClose>
   1ab7f:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1ab82:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab85:	c9                   	leave  
   1ab86:	e9 35 e9 ff ff       	jmp    194c0 <_VfatRead>
   1ab8b:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1ab8e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab91:	c9                   	leave  
   1ab92:	e9 39 ee ff ff       	jmp    199d0 <_VfatWrite>
   1ab97:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1ab9a:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ab9d:	c9                   	leave  
   1ab9e:	e9 6d d5 ff ff       	jmp    18110 <_VfatQueryInformation>
   1aba3:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1aba6:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1aba9:	c9                   	leave  
   1abaa:	e9 61 d9 ff ff       	jmp    18510 <_VfatSetInformation>
   1abaf:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abb2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abb5:	c9                   	leave  
   1abb6:	e9 95 18 00 00       	jmp    1c450 <_VfatFlush>
   1abbb:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abbe:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abc1:	c9                   	leave  
   1abc2:	e9 89 f6 ff ff       	jmp    1a250 <_VfatQueryVolumeInformation>
   1abc7:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abca:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abcd:	c9                   	leave  
   1abce:	e9 ed f8 ff ff       	jmp    1a4c0 <_VfatSetVolumeInformation>
   1abd3:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abd6:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abd9:	c9                   	leave  
   1abda:	e9 f1 87 ff ff       	jmp    133d0 <_VfatDirectoryControl>
   1abdf:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abe2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abe5:	c9                   	leave  
   1abe6:	e9 e5 0c 00 00       	jmp    1b8d0 <_VfatFileSystemControl>
   1abeb:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abee:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abf1:	c9                   	leave  
   1abf2:	e9 89 fe ff ff       	jmp    1aa80 <_VfatLockControl>
   1abf7:	89 5d 08             	mov    %ebx,0x8(%ebp)
   1abfa:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1abfd:	c9                   	leave  
   1abfe:	e9 fd 68 ff ff       	jmp    11500 <_VfatCleanup>
   1ac03:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   1ac09:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

0001ac10 <_VfatAllocateIrpContext>:

PVFAT_IRP_CONTEXT VfatAllocateIrpContext(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
   1ac10:	55                   	push   %ebp
   1ac11:	89 e5                	mov    %esp,%ebp
   1ac13:	57                   	push   %edi
   1ac14:	56                   	push   %esi
   1ac15:	53                   	push   %ebx
   1ac16:	83 ec 0c             	sub    $0xc,%esp

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   1ac19:	8b 3d 10 f0 01 00    	mov    0x1f010,%edi
   1ac1f:	8b 75 0c             	mov    0xc(%ebp),%esi

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   1ac22:	81 c7 f0 00 00 00    	add    $0xf0,%edi
	PVOID Entry;

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   1ac28:	89 f9                	mov    %edi,%ecx
   1ac2a:	8b 47 0c             	mov    0xc(%edi),%eax
   1ac2d:	40                   	inc    %eax
   1ac2e:	89 47 0c             	mov    %eax,0xc(%edi)
   1ac31:	ff 15 f4 01 02 00    	call   *0x201f4
   1ac37:	89 c3                	mov    %eax,%ebx
	if (Entry == NULL) {
   1ac39:	85 c0                	test   %eax,%eax
   1ac3b:	0f 84 aa 00 00 00    	je     1aceb <_VfatAllocateIrpContext+0xdb>
   PVFAT_IRP_CONTEXT IrpContext;
   /*PIO_STACK_LOCATION Stack;*/
   UCHAR MajorFunction;
   DPRINT ("VfatAllocateIrpContext(DeviceObject %x, Irp %x)\n", DeviceObject, Irp);

   ASSERT(DeviceObject);
   ASSERT(Irp);

   IrpContext = ExAllocateFromNPagedLookasideList(&VfatGlobalData->IrpContextLookasideList);
   if (IrpContext)
   {
      RtlZeroMemory(IrpContext, sizeof(VFAT_IRP_CONTEXT));
   1ac41:	fc                   	cld    
   1ac42:	31 c0                	xor    %eax,%eax
   1ac44:	b9 10 00 00 00       	mov    $0x10,%ecx
   1ac49:	89 df                	mov    %ebx,%edi
   1ac4b:	f3 ab                	repz stos %eax,%es:(%edi)
      IrpContext->Irp = Irp;
   1ac4d:	89 33                	mov    %esi,(%ebx)
      IrpContext->DeviceObject = DeviceObject;
   1ac4f:	8b 45 08             	mov    0x8(%ebp),%eax
   1ac52:	89 43 04             	mov    %eax,0x4(%ebx)
      IrpContext->DeviceExt = DeviceObject->DeviceExtension;
   1ac55:	8b 55 08             	mov    0x8(%ebp),%edx
   1ac58:	8b 42 28             	mov    0x28(%edx),%eax
   1ac5b:	89 43 08             	mov    %eax,0x8(%ebx)
      IrpContext->Stack = IoGetCurrentIrpStackLocation(Irp);
   1ac5e:	8b 56 60             	mov    0x60(%esi),%edx
   1ac61:	89 53 20             	mov    %edx,0x20(%ebx)
      ASSERT(IrpContext->Stack);
      MajorFunction = IrpContext->MajorFunction = IrpContext->Stack->MajorFunction;
   1ac64:	8a 0a                	mov    (%edx),%cl
   1ac66:	88 4b 24             	mov    %cl,0x24(%ebx)
      IrpContext->MinorFunction = IrpContext->Stack->MinorFunction;
   1ac69:	8a 42 01             	mov    0x1(%edx),%al
   1ac6c:	88 43 25             	mov    %al,0x25(%ebx)
      IrpContext->FileObject = IrpContext->Stack->FileObject;
   1ac6f:	8b 42 18             	mov    0x18(%edx),%eax
   1ac72:	89 43 28             	mov    %eax,0x28(%ebx)
      IrpContext->Flags = 0;
      if (MajorFunction == IRP_MJ_FILE_SYSTEM_CONTROL ||
   1ac75:	8d 41 f3             	lea    0xfffffff3(%ecx),%eax
   1ac78:	3c 01                	cmp    $0x1,%al
   1ac7a:	0f 96 c2             	setbe  %dl
   1ac7d:	80 f9 10             	cmp    $0x10,%cl
   1ac80:	0f 94 c0             	sete   %al
   1ac83:	09 d0                	or     %edx,%eax
   1ac85:	a8 01                	test   $0x1,%al
   1ac87:	75 3d                	jne    1acc6 <_VfatAllocateIrpContext+0xb6>
          MajorFunction == IRP_MJ_DEVICE_CONTROL ||
          MajorFunction == IRP_MJ_SHUTDOWN)
      {
         IrpContext->Flags |= IRPCONTEXT_CANWAIT;
      }
      else if (MajorFunction != IRP_MJ_CLEANUP &&
   1ac89:	80 f9 12             	cmp    $0x12,%cl
   1ac8c:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
   1ac93:	0f 95 c2             	setne  %dl
   1ac96:	80 f9 02             	cmp    $0x2,%cl
   1ac99:	0f 95 c0             	setne  %al
   1ac9c:	25 ff 00 00 00       	and    $0xff,%eax
   1aca1:	85 c2                	test   %eax,%edx
   1aca3:	75 2b                	jne    1acd0 <_VfatAllocateIrpContext+0xc0>
               MajorFunction != IRP_MJ_CLOSE &&
               IoIsOperationSynchronous(Irp))
      {
         IrpContext->Flags |= IRPCONTEXT_CANWAIT;
      }
      KeInitializeEvent(&IrpContext->Event, NotificationEvent, FALSE);
   1aca5:	8d 43 30             	lea    0x30(%ebx),%eax
   1aca8:	57                   	push   %edi
   1aca9:	6a 00                	push   $0x0
   1acab:	6a 00                	push   $0x0
   1acad:	50                   	push   %eax
   1acae:	ff 15 e8 02 02 00    	call   *0x202e8
      IrpContext->RefCount = 0;
   1acb4:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
   1acbb:	5e                   	pop    %esi
   }
   return IrpContext;
}
   1acbc:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1acbf:	89 d8                	mov    %ebx,%eax
   1acc1:	5b                   	pop    %ebx
   1acc2:	5e                   	pop    %esi
   1acc3:	5f                   	pop    %edi
   1acc4:	5d                   	pop    %ebp
   1acc5:	c3                   	ret    
   1acc6:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
   1accd:	eb d6                	jmp    1aca5 <_VfatAllocateIrpContext+0x95>
   1accf:	90                   	nop    
   1acd0:	83 ec 0c             	sub    $0xc,%esp
   1acd3:	56                   	push   %esi
   1acd4:	e8 67 1d 00 00       	call   1ca40 <_IoIsOperationSynchronous@4>
   1acd9:	83 c4 0c             	add    $0xc,%esp
   1acdc:	84 c0                	test   %al,%al
   1acde:	74 c5                	je     1aca5 <_VfatAllocateIrpContext+0x95>
   1ace0:	8b 43 0c             	mov    0xc(%ebx),%eax
   1ace3:	83 c8 01             	or     $0x1,%eax
   1ace6:	89 43 0c             	mov    %eax,0xc(%ebx)
   1ace9:	eb ba                	jmp    1aca5 <_VfatAllocateIrpContext+0x95>

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   1aceb:	8b 47 10             	mov    0x10(%edi),%eax
   1acee:	40                   	inc    %eax
   1acef:	89 47 10             	mov    %eax,0x10(%edi)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   1acf2:	50                   	push   %eax
   1acf3:	8b 47 20             	mov    0x20(%edi),%eax
   1acf6:	50                   	push   %eax
   1acf7:	8b 5f 24             	mov    0x24(%edi),%ebx
   1acfa:	53                   	push   %ebx
   1acfb:	8b 4f 1c             	mov    0x1c(%edi),%ecx
   1acfe:	51                   	push   %ecx
   1acff:	ff 57 28             	call   *0x28(%edi)
   1ad02:	5a                   	pop    %edx
   1ad03:	89 c3                	mov    %eax,%ebx
   1ad05:	85 c0                	test   %eax,%eax
   1ad07:	0f 85 34 ff ff ff    	jne    1ac41 <_VfatAllocateIrpContext+0x31>
   1ad0d:	eb ad                	jmp    1acbc <_VfatAllocateIrpContext+0xac>
   1ad0f:	90                   	nop    

0001ad10 <_VfatBuildRequest@8>:
   1ad10:	55                   	push   %ebp
   1ad11:	89 e5                	mov    %esp,%ebp
   1ad13:	56                   	push   %esi
   1ad14:	53                   	push   %ebx
   1ad15:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1ad18:	50                   	push   %eax
   1ad19:	50                   	push   %eax
   1ad1a:	53                   	push   %ebx
   1ad1b:	8b 75 08             	mov    0x8(%ebp),%esi
   1ad1e:	56                   	push   %esi
   1ad1f:	e8 ec fe ff ff       	call   1ac10 <_VfatAllocateIrpContext>
   1ad24:	83 c4 10             	add    $0x10,%esp
   1ad27:	89 c6                	mov    %eax,%esi
   1ad29:	85 c0                	test   %eax,%eax
   1ad2b:	0f 84 8f 00 00 00    	je     1adc0 <_VfatBuildRequest@8+0xb0>
   1ad31:	ff 15 dc 01 02 00    	call   *0x201dc
   1ad37:	84 c0                	test   %al,%al
   1ad39:	74 55                	je     1ad90 <_VfatBuildRequest@8+0x80>
   1ad3b:	53                   	push   %ebx
   1ad3c:	68 a6 00 00 00       	push   $0xa6
   1ad41:	68 3a eb 01 00       	push   $0x1eb3a
   1ad46:	68 41 eb 01 00       	push   $0x1eb41
   1ad4b:	ff 15 38 02 02 00    	call   *0x20238
   1ad51:	ff 15 dc 01 02 00    	call   *0x201dc
   1ad57:	5a                   	pop    %edx
   1ad58:	25 ff 00 00 00       	and    $0xff,%eax
   1ad5d:	59                   	pop    %ecx
   1ad5e:	50                   	push   %eax
   1ad5f:	68 b4 eb 01 00       	push   $0x1ebb4
   1ad64:	ff 15 38 02 02 00    	call   *0x20238
   1ad6a:	83 c4 10             	add    $0x10,%esp
   1ad6d:	83 ec 0c             	sub    $0xc,%esp
   1ad70:	56                   	push   %esi
   1ad71:	e8 8a fd ff ff       	call   1ab00 <_VfatDispatchRequest>
   1ad76:	89 c6                	mov    %eax,%esi
   1ad78:	ff 15 dc 01 02 00    	call   *0x201dc
   1ad7e:	83 c4 10             	add    $0x10,%esp
   1ad81:	84 c0                	test   %al,%al
   1ad83:	74 29                	je     1adae <_VfatBuildRequest@8+0x9e>
   1ad85:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1ad88:	89 f0                	mov    %esi,%eax
   1ad8a:	5b                   	pop    %ebx
   1ad8b:	5e                   	pop    %esi
   1ad8c:	5d                   	pop    %ebp
   1ad8d:	c2 08 00             	ret    $0x8
   1ad90:	ff 15 e0 02 02 00    	call   *0x202e0
   1ad96:	83 ec 0c             	sub    $0xc,%esp
   1ad99:	56                   	push   %esi
   1ad9a:	e8 61 fd ff ff       	call   1ab00 <_VfatDispatchRequest>
   1ad9f:	89 c6                	mov    %eax,%esi
   1ada1:	ff 15 dc 01 02 00    	call   *0x201dc
   1ada7:	83 c4 10             	add    $0x10,%esp
   1adaa:	84 c0                	test   %al,%al
   1adac:	75 d7                	jne    1ad85 <_VfatBuildRequest@8+0x75>
   1adae:	ff 15 ec 02 02 00    	call   *0x202ec
   1adb4:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1adb7:	89 f0                	mov    %esi,%eax
   1adb9:	5b                   	pop    %ebx
   1adba:	5e                   	pop    %esi
   1adbb:	5d                   	pop    %ebp
   1adbc:	c2 08 00             	ret    $0x8
   1adbf:	90                   	nop    
   1adc0:	c7 43 18 9a 00 00 c0 	movl   $0xc000009a,0x18(%ebx)
   1adc7:	89 d9                	mov    %ebx,%ecx
   1adc9:	31 d2                	xor    %edx,%edx
   1adcb:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
   1add0:	ff 15 00 02 02 00    	call   *0x20200
   1add6:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
   1add9:	89 f0                	mov    %esi,%eax
   1addb:	5b                   	pop    %ebx
   1addc:	5e                   	pop    %esi
   1addd:	5d                   	pop    %ebp
   1adde:	c2 08 00             	ret    $0x8
   1ade1:	eb 0d                	jmp    1adf0 <_VfatDoRequest@4>
   1ade3:	90                   	nop    
   1ade4:	90                   	nop    
   1ade5:	90                   	nop    
   1ade6:	90                   	nop    
   1ade7:	90                   	nop    
   1ade8:	90                   	nop    
   1ade9:	90                   	nop    
   1adea:	90                   	nop    
   1adeb:	90                   	nop    
   1adec:	90                   	nop    
   1aded:	90                   	nop    
   1adee:	90                   	nop    
   1adef:	90                   	nop    

0001adf0 <_VfatDoRequest@4>:

VOID STDCALL VfatDoRequest (PVOID IrpContext)
{
   1adf0:	55                   	push   %ebp
   InterlockedDecrement(&QueueCount);
   1adf1:	b9 00 f0 01 00       	mov    $0x1f000,%ecx
   1adf6:	89 e5                	mov    %esp,%ebp
   1adf8:	50                   	push   %eax
   1adf9:	50                   	push   %eax
   1adfa:	ff 15 ec 01 02 00    	call   *0x201ec
   DPRINT ("VfatDoRequest (IrpContext %x), MajorFunction %x, %d\n", IrpContext, ((PVFAT_IRP_CONTEXT)IrpContext)->MajorFunction, QueueCount);
   FsRtlEnterFileSystem();
   1ae00:	ff 15 e0 02 02 00    	call   *0x202e0
   VfatDispatchRequest((PVFAT_IRP_CONTEXT)IrpContext);
   1ae06:	83 ec 0c             	sub    $0xc,%esp
   1ae09:	8b 45 08             	mov    0x8(%ebp),%eax
   1ae0c:	50                   	push   %eax
   1ae0d:	e8 ee fc ff ff       	call   1ab00 <_VfatDispatchRequest>
   FsRtlExitFileSystem();
   1ae12:	ff 15 ec 02 02 00    	call   *0x202ec
   1ae18:	c9                   	leave  
   1ae19:	c2 04 00             	ret    $0x4
   1ae1c:	8d 74 26 00          	lea    0x0(%esi),%esi

0001ae20 <_VfatQueueRequest>:

}

NTSTATUS VfatQueueRequest(PVFAT_IRP_CONTEXT IrpContext)
{
   1ae20:	55                   	push   %ebp
   1ae21:	89 e5                	mov    %esp,%ebp
   1ae23:	53                   	push   %ebx
   1ae24:	50                   	push   %eax
   InterlockedIncrement(&QueueCount);
   1ae25:	b9 00 f0 01 00       	mov    $0x1f000,%ecx
   1ae2a:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1ae2d:	ff 15 f0 01 02 00    	call   *0x201f0
   DPRINT ("VfatQueueRequest (IrpContext %x), %d\n", IrpContext, QueueCount);

   ASSERT(IrpContext != NULL);
   ASSERT(IrpContext->Irp != NULL);

   IrpContext->Flags |= IRPCONTEXT_CANWAIT;
   1ae33:	8b 43 0c             	mov    0xc(%ebx),%eax
   1ae36:	83 c8 01             	or     $0x1,%eax
   1ae39:	89 43 0c             	mov    %eax,0xc(%ebx)
   IoMarkIrpPending (IrpContext->Irp);
   1ae3c:	8b 03                	mov    (%ebx),%eax
   1ae3e:	8b 40 60             	mov    0x60(%eax),%eax
   1ae41:	80 48 03 01          	orb    $0x1,0x3(%eax)
   ExInitializeWorkItem (&IrpContext->WorkQueueItem, VfatDoRequest, IrpContext);
   1ae45:	c7 43 18 f0 ad 01 00 	movl   $0x1adf0,0x18(%ebx)
   1ae4c:	89 5b 1c             	mov    %ebx,0x1c(%ebx)
   1ae4f:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
   ExQueueWorkItem(&IrpContext->WorkQueueItem, CriticalWorkQueue);
   1ae56:	83 c3 10             	add    $0x10,%ebx
   1ae59:	50                   	push   %eax
   1ae5a:	50                   	push   %eax
   1ae5b:	6a 00                	push   $0x0
   1ae5d:	53                   	push   %ebx
   1ae5e:	ff 15 5c 02 02 00    	call   *0x2025c
   return STATUS_PENDING;
}
   1ae64:	b8 03 01 00 00       	mov    $0x103,%eax
   1ae69:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1ae6c:	c9                   	leave  
   1ae6d:	c3                   	ret    
   1ae6e:	89 f6                	mov    %esi,%esi

0001ae70 <_VfatGetUserBuffer>:

PVOID VfatGetUserBuffer(IN PIRP Irp)
{
   1ae70:	55                   	push   %ebp
   1ae71:	89 e5                	mov    %esp,%ebp
   1ae73:	50                   	push   %eax
   1ae74:	50                   	push   %eax
   1ae75:	8b 45 08             	mov    0x8(%ebp),%eax
   ASSERT(Irp);

   if (Irp->MdlAddress)
   1ae78:	8b 50 04             	mov    0x4(%eax),%edx
   1ae7b:	85 d2                	test   %edx,%edx
   1ae7d:	74 11                	je     1ae90 <_VfatGetUserBuffer+0x20>
   {
      /* This call may be in the paging path, so use maximum priority */
      /* FIXME: call with normal priority in the non-paging path */
      return MmGetSystemAddressForMdlSafe(Irp->MdlAddress, HighPagePriority);
   1ae7f:	0f bf 42 06          	movswl 0x6(%edx),%eax
   1ae83:	a8 05                	test   $0x5,%al
   1ae85:	74 0e                	je     1ae95 <_VfatGetUserBuffer+0x25>
   1ae87:	8b 42 0c             	mov    0xc(%edx),%eax
   }
   else
   {
      return Irp->UserBuffer;
   }
}
   1ae8a:	c9                   	leave  
   1ae8b:	c3                   	ret    
   1ae8c:	8d 74 26 00          	lea    0x0(%esi),%esi
   1ae90:	8b 40 3c             	mov    0x3c(%eax),%eax
   1ae93:	c9                   	leave  
   1ae94:	c3                   	ret    
   1ae95:	51                   	push   %ecx
   1ae96:	51                   	push   %ecx
   1ae97:	6a 20                	push   $0x20
   1ae99:	6a 00                	push   $0x0
   1ae9b:	6a 00                	push   $0x0
   1ae9d:	6a 01                	push   $0x1
   1ae9f:	6a 00                	push   $0x0
   1aea1:	52                   	push   %edx
   1aea2:	ff 15 00 03 02 00    	call   *0x20300
   1aea8:	c9                   	leave  
   1aea9:	c3                   	ret    
   1aeaa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

0001aeb0 <_VfatLockUserBuffer>:

NTSTATUS VfatLockUserBuffer(IN PIRP Irp, IN ULONG Length, IN LOCK_OPERATION Operation)
{
   1aeb0:	55                   	push   %ebp
   1aeb1:	89 e5                	mov    %esp,%ebp
   1aeb3:	53                   	push   %ebx
   1aeb4:	51                   	push   %ecx
   ASSERT(Irp);

   if (Irp->MdlAddress)
   {
      return STATUS_SUCCESS;
   1aeb5:	31 c0                	xor    %eax,%eax
   1aeb7:	8b 5d 08             	mov    0x8(%ebp),%ebx
   1aeba:	8b 53 04             	mov    0x4(%ebx),%edx
   1aebd:	85 d2                	test   %edx,%edx
   1aebf:	74 05                	je     1aec6 <_VfatLockUserBuffer+0x16>
   }

   IoAllocateMdl(Irp->UserBuffer, Length, FALSE, FALSE, Irp);

   if (!Irp->MdlAddress)
   {
      return STATUS_INSUFFICIENT_RESOURCES;
   }

   MmProbeAndLockPages(Irp->MdlAddress, Irp->RequestorMode, Operation);

   return STATUS_SUCCESS;
}
   1aec1:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1aec4:	c9                   	leave  
   1aec5:	c3                   	ret    
   1aec6:	83 ec 0c             	sub    $0xc,%esp
   1aec9:	53                   	push   %ebx
   1aeca:	6a 00                	push   $0x0
   1aecc:	6a 00                	push   $0x0
   1aece:	8b 45 0c             	mov    0xc(%ebp),%eax
   1aed1:	50                   	push   %eax
   1aed2:	8b 43 3c             	mov    0x3c(%ebx),%eax
   1aed5:	50                   	push   %eax
   1aed6:	ff 15 8c 02 02 00    	call   *0x2028c
   1aedc:	8b 53 04             	mov    0x4(%ebx),%edx
   1aedf:	83 c4 0c             	add    $0xc,%esp
   1aee2:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   1aee7:	85 d2                	test   %edx,%edx
   1aee9:	74 d6                	je     1aec1 <_VfatLockUserBuffer+0x11>
   1aeeb:	50                   	push   %eax
   1aeec:	8b 45 10             	mov    0x10(%ebp),%eax
   1aeef:	50                   	push   %eax
   1aef0:	31 c0                	xor    %eax,%eax
   1aef2:	8a 43 20             	mov    0x20(%ebx),%al
   1aef5:	50                   	push   %eax
   1aef6:	52                   	push   %edx
   1aef7:	ff 15 04 03 02 00    	call   *0x20304
   1aefd:	31 c0                	xor    %eax,%eax
   1aeff:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1af02:	c9                   	leave  
   1af03:	c3                   	ret    
   1af04:	90                   	nop    
   1af05:	90                   	nop    
   1af06:	90                   	nop    
   1af07:	90                   	nop    
   1af08:	90                   	nop    
   1af09:	90                   	nop    
   1af0a:	90                   	nop    
   1af0b:	90                   	nop    
   1af0c:	90                   	nop    
   1af0d:	90                   	nop    
   1af0e:	90                   	nop    
   1af0f:	90                   	nop    

0001af10 <_VfatHasFileSystem>:
   1af10:	55                   	push   %ebp
   1af11:	89 e5                	mov    %esp,%ebp
   1af13:	57                   	push   %edi
   1af14:	56                   	push   %esi
   1af15:	53                   	push   %ebx
   1af16:	81 ec 20 01 00 00    	sub    $0x120,%esp
   1af1c:	8d 9d 64 ff ff ff    	lea    0xffffff64(%ebp),%ebx
   1af22:	89 85 54 ff ff ff    	mov    %eax,0xffffff54(%ebp)
   1af28:	89 95 f4 fe ff ff    	mov    %edx,0xfffffef4(%ebp)
   1af2e:	c6 85 38 ff ff ff 00 	movb   $0x0,0xffffff38(%ebp)
   1af35:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
   1af38:	c6 02 00             	movb   $0x0,(%edx)
   1af3b:	6a 00                	push   $0x0
   1af3d:	53                   	push   %ebx
   1af3e:	50                   	push   %eax
   1af3f:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
   1af45:	6a 00                	push   $0x0
   1af47:	c7 85 64 ff ff ff 18 	movl   $0x18,0xffffff64(%ebp)
   1af4e:	00 00 00 
   1af51:	6a 00                	push   $0x0
   1af53:	68 00 00 07 00       	push   $0x70000
   1af58:	50                   	push   %eax
   1af59:	e8 e2 64 ff ff       	call   11440 <_VfatBlockDeviceIoControl>
   1af5e:	83 c4 20             	add    $0x20,%esp
   1af61:	85 c0                	test   %eax,%eax
   1af63:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1af69:	78 4b                	js     1afb6 <_VfatHasFileSystem+0xa6>
   1af6b:	8b 55 b0             	mov    0xffffffb0(%ebp),%edx
   1af6e:	83 fa 0c             	cmp    $0xc,%edx
   1af71:	0f 94 45 a0          	sete   0xffffffa0(%ebp)
   1af75:	8d 42 f5             	lea    0xfffffff5(%edx),%eax
   1af78:	83 f8 01             	cmp    $0x1,%eax
   1af7b:	0f 86 0f 03 00 00    	jbe    1b290 <_VfatHasFileSystem+0x380>
   1af81:	85 d2                	test   %edx,%edx
   1af83:	74 3b                	je     1afc0 <_VfatHasFileSystem+0xb0>
   1af85:	8b bd f4 fe ff ff    	mov    0xfffffef4(%ebp),%edi
   1af8b:	c6 07 01             	movb   $0x1,(%edi)
   1af8e:	8b 85 f4 fe ff ff    	mov    0xfffffef4(%ebp),%eax
   1af94:	8a 18                	mov    (%eax),%bl
   1af96:	84 db                	test   %bl,%bl
   1af98:	75 42                	jne    1afdc <_VfatHasFileSystem+0xcc>
   1af9a:	8a 85 38 ff ff ff    	mov    0xffffff38(%ebp),%al
   1afa0:	84 db                	test   %bl,%bl
   1afa2:	0f 94 c2             	sete   %dl
   1afa5:	83 e0 01             	and    $0x1,%eax
   1afa8:	85 c2                	test   %eax,%edx
   1afaa:	0f 85 55 01 00 00    	jne    1b105 <_VfatHasFileSystem+0x1f5>


   1afb0:	8b 85 50 ff ff ff    	mov    0xffffff50(%ebp),%eax
   1afb6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1afb9:	5b                   	pop    %ebx
   1afba:	5e                   	pop    %esi
   1afbb:	5f                   	pop    %edi
   1afbc:	5d                   	pop    %ebp
   1afbd:	c3                   	ret    
   1afbe:	89 f6                	mov    %esi,%esi
   1afc0:	8b b5 f4 fe ff ff    	mov    0xfffffef4(%ebp),%esi
   1afc6:	c6 06 01             	movb   $0x1,(%esi)
   1afc9:	c7 45 bc 00 02 00 00 	movl   $0x200,0xffffffbc(%ebp)
   1afd0:	8b 85 f4 fe ff ff    	mov    0xfffffef4(%ebp),%eax
   1afd6:	8a 18                	mov    (%eax),%bl
   1afd8:	84 db                	test   %bl,%bl
   1afda:	74 be                	je     1af9a <_VfatHasFileSystem+0x8a>
   1afdc:	8b 75 bc             	mov    0xffffffbc(%ebp),%esi
   1afdf:	57                   	push   %edi
   1afe0:	57                   	push   %edi
   1afe1:	56                   	push   %esi
   1afe2:	6a 00                	push   $0x0
   1afe4:	ff 15 44 02 02 00    	call   *0x20244
   1afea:	59                   	pop    %ecx
   1afeb:	5b                   	pop    %ebx
   1afec:	89 85 4c ff ff ff    	mov    %eax,0xffffff4c(%ebp)
   1aff2:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   1aff7:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1affd:	85 d2                	test   %edx,%edx
   1afff:	74 b5                	je     1afb6 <_VfatHasFileSystem+0xa6>
   1b001:	83 ec 0c             	sub    $0xc,%esp
   1b004:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
   1b00a:	c7 85 58 ff ff ff 00 	movl   $0x0,0xffffff58(%ebp)
   1b011:	00 00 00 
   1b014:	c7 85 5c ff ff ff 00 	movl   $0x0,0xffffff5c(%ebp)
   1b01b:	00 00 00 
   1b01e:	6a 00                	push   $0x0
   1b020:	50                   	push   %eax
   1b021:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   1b024:	50                   	push   %eax
   1b025:	8d 85 58 ff ff ff    	lea    0xffffff58(%ebp),%eax
   1b02b:	50                   	push   %eax
   1b02c:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
   1b032:	50                   	push   %eax
   1b033:	e8 68 60 ff ff       	call   110a0 <_VfatReadDisk>
   1b038:	83 c4 20             	add    $0x20,%esp
   1b03b:	85 c0                	test   %eax,%eax
   1b03d:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1b043:	0f 88 8b 00 00 00    	js     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b049:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b04f:	66 81 ba fe 01 00 00 	cmpw   $0xaa55,0x1fe(%edx)
   1b056:	55 aa 
   1b058:	74 09                	je     1b063 <_VfatHasFileSystem+0x153>
   1b05a:	8b 8d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ecx
   1b060:	c6 01 00             	movb   $0x0,(%ecx)
   1b063:	8b b5 f4 fe ff ff    	mov    0xfffffef4(%ebp),%esi
   1b069:	8a 1e                	mov    (%esi),%bl
   1b06b:	84 db                	test   %bl,%bl
   1b06d:	74 65                	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b06f:	8b bd 4c ff ff ff    	mov    0xffffff4c(%ebp),%edi
   1b075:	66 8b 47 0b          	mov    0xb(%edi),%ax
   1b079:	66 3d 00 02          	cmp    $0x200,%ax
   1b07d:	0f 84 d2 02 00 00    	je     1b355 <_VfatHasFileSystem+0x445>
   1b083:	66 3d 00 04          	cmp    $0x400,%ax
   1b087:	0f 84 c8 02 00 00    	je     1b355 <_VfatHasFileSystem+0x445>
   1b08d:	66 3d 00 08          	cmp    $0x800,%ax
   1b091:	0f 84 be 02 00 00    	je     1b355 <_VfatHasFileSystem+0x445>
   1b097:	66 3d 00 10          	cmp    $0x1000,%ax
   1b09b:	0f 84 b4 02 00 00    	je     1b355 <_VfatHasFileSystem+0x445>
   1b0a1:	50                   	push   %eax
   1b0a2:	68 9e 00 00 00       	push   $0x9e
   1b0a7:	68 e0 eb 01 00       	push   $0x1ebe0
   1b0ac:	68 e8 eb 01 00       	push   $0x1ebe8
   1b0b1:	ff 15 38 02 02 00    	call   *0x20238
   1b0b7:	5b                   	pop    %ebx
   1b0b8:	58                   	pop    %eax
   1b0b9:	66 8b 47 0b          	mov    0xb(%edi),%ax
   1b0bd:	25 ff ff 00 00       	and    $0xffff,%eax
   1b0c2:	50                   	push   %eax
   1b0c3:	68 f1 eb 01 00       	push   $0x1ebf1
   1b0c8:	ff 15 38 02 02 00    	call   *0x20238
   1b0ce:	c6 06 00             	movb   $0x0,(%esi)
   1b0d1:	83 c4 10             	add    $0x10,%esp
   1b0d4:	83 ec 0c             	sub    $0xc,%esp
   1b0d7:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1b0dd:	56                   	push   %esi
   1b0de:	ff 15 4c 02 02 00    	call   *0x2024c
   1b0e4:	8b 85 f4 fe ff ff    	mov    0xfffffef4(%ebp),%eax
   1b0ea:	83 c4 0c             	add    $0xc,%esp
   1b0ed:	8a 18                	mov    (%eax),%bl
   1b0ef:	8a 85 38 ff ff ff    	mov    0xffffff38(%ebp),%al
   1b0f5:	84 db                	test   %bl,%bl
   1b0f7:	0f 94 c2             	sete   %dl
   1b0fa:	83 e0 01             	and    $0x1,%eax
   1b0fd:	85 c2                	test   %eax,%edx
   1b0ff:	0f 84 ab fe ff ff    	je     1afb0 <_VfatHasFileSystem+0xa0>
   1b105:	53                   	push   %ebx
   1b106:	53                   	push   %ebx
   1b107:	68 00 10 00 00       	push   $0x1000
   1b10c:	6a 00                	push   $0x0
   1b10e:	ff 15 44 02 02 00    	call   *0x20244
   1b114:	5a                   	pop    %edx
   1b115:	85 c0                	test   %eax,%eax
   1b117:	89 85 f0 fe ff ff    	mov    %eax,0xfffffef0(%ebp)
   1b11d:	59                   	pop    %ecx
   1b11e:	0f 84 79 06 00 00    	je     1b79d <_VfatHasFileSystem+0x88d>
   1b124:	83 ec 0c             	sub    $0xc,%esp
   1b127:	8b 85 f0 fe ff ff    	mov    0xfffffef0(%ebp),%eax
   1b12d:	c7 85 58 ff ff ff 00 	movl   $0x0,0xffffff58(%ebp)
   1b134:	00 00 00 
   1b137:	c7 85 5c ff ff ff 00 	movl   $0x0,0xffffff5c(%ebp)
   1b13e:	00 00 00 
   1b141:	6a 00                	push   $0x0
   1b143:	50                   	push   %eax
   1b144:	8d 85 58 ff ff ff    	lea    0xffffff58(%ebp),%eax
   1b14a:	68 00 10 00 00       	push   $0x1000
   1b14f:	50                   	push   %eax
   1b150:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
   1b156:	50                   	push   %eax
   1b157:	e8 44 5f ff ff       	call   110a0 <_VfatReadDisk>
   1b15c:	83 c4 20             	add    $0x20,%esp
   1b15f:	85 c0                	test   %eax,%eax
   1b161:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1b167:	0f 88 04 01 00 00    	js     1b271 <_VfatHasFileSystem+0x361>
   1b16d:	8b 8d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ecx
   1b173:	c6 01 01             	movb   $0x1,(%ecx)
   1b176:	8b 9d f0 fe ff ff    	mov    0xfffffef0(%ebp),%ebx
   1b17c:	80 3b 46             	cmpb   $0x46,(%ebx)
   1b17f:	75 0a                	jne    1b18b <_VfatHasFileSystem+0x27b>
   1b181:	80 7b 01 41          	cmpb   $0x41,0x1(%ebx)
   1b185:	0f 84 97 03 00 00    	je     1b522 <_VfatHasFileSystem+0x612>
   1b18b:	50                   	push   %eax
   1b18c:	68 15 01 00 00       	push   $0x115
   1b191:	68 e0 eb 01 00       	push   $0x1ebe0
   1b196:	68 e8 eb 01 00       	push   $0x1ebe8
   1b19b:	ff 15 38 02 02 00    	call   *0x20238
   1b1a1:	8b b5 f0 fe ff ff    	mov    0xfffffef0(%ebp),%esi
   1b1a7:	31 c0                	xor    %eax,%eax
   1b1a9:	8a 46 03             	mov    0x3(%esi),%al
   1b1ac:	89 04 24             	mov    %eax,(%esp)
   1b1af:	31 c0                	xor    %eax,%eax
   1b1b1:	8a 46 02             	mov    0x2(%esi),%al
   1b1b4:	50                   	push   %eax
   1b1b5:	31 c0                	xor    %eax,%eax
   1b1b7:	8a 46 01             	mov    0x1(%esi),%al
   1b1ba:	50                   	push   %eax
   1b1bb:	31 c0                	xor    %eax,%eax
   1b1bd:	8a 06                	mov    (%esi),%al
   1b1bf:	50                   	push   %eax
   1b1c0:	68 04 ec 01 00       	push   $0x1ec04
   1b1c5:	ff 15 38 02 02 00    	call   *0x20238
   1b1cb:	8b bd f4 fe ff ff    	mov    0xfffffef4(%ebp),%edi
   1b1d1:	83 c4 20             	add    $0x20,%esp
   1b1d4:	c6 07 00             	movb   $0x0,(%edi)
   1b1d7:	8b 85 f4 fe ff ff    	mov    0xfffffef4(%ebp),%eax
   1b1dd:	8a 18                	mov    (%eax),%bl
   1b1df:	84 db                	test   %bl,%bl
   1b1e1:	0f 84 8a 00 00 00    	je     1b271 <_VfatHasFileSystem+0x361>
   1b1e7:	8b 95 f0 fe ff ff    	mov    0xfffffef0(%ebp),%edx
   1b1ed:	8b 42 08             	mov    0x8(%edx),%eax
   1b1f0:	83 f8 01             	cmp    $0x1,%eax
   1b1f3:	0f 84 bd 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b1f9:	83 f8 02             	cmp    $0x2,%eax
   1b1fc:	0f 84 b4 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b202:	83 f8 04             	cmp    $0x4,%eax
   1b205:	0f 84 ab 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b20b:	83 f8 08             	cmp    $0x8,%eax
   1b20e:	0f 84 a2 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b214:	83 f8 10             	cmp    $0x10,%eax
   1b217:	0f 84 99 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b21d:	83 f8 20             	cmp    $0x20,%eax
   1b220:	0f 84 90 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b226:	83 f8 40             	cmp    $0x40,%eax
   1b229:	0f 84 87 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b22f:	83 c0 80             	add    $0xffffff80,%eax
   1b232:	0f 84 7e 01 00 00    	je     1b3b6 <_VfatHasFileSystem+0x4a6>
   1b238:	50                   	push   %eax
   1b239:	68 23 01 00 00       	push   $0x123
   1b23e:	68 e0 eb 01 00       	push   $0x1ebe0
   1b243:	68 e8 eb 01 00       	push   $0x1ebe8
   1b248:	ff 15 38 02 02 00    	call   *0x20238
   1b24e:	8b 8d f0 fe ff ff    	mov    0xfffffef0(%ebp),%ecx
   1b254:	5e                   	pop    %esi
   1b255:	5f                   	pop    %edi
   1b256:	8b 59 08             	mov    0x8(%ecx),%ebx
   1b259:	53                   	push   %ebx
   1b25a:	68 16 ec 01 00       	push   $0x1ec16
   1b25f:	ff 15 38 02 02 00    	call   *0x20238
   1b265:	8b 9d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ebx
   1b26b:	83 c4 10             	add    $0x10,%esp
   1b26e:	c6 03 00             	movb   $0x0,(%ebx)
   1b271:	83 ec 0c             	sub    $0xc,%esp
   1b274:	8b 85 f0 fe ff ff    	mov    0xfffffef0(%ebp),%eax
   1b27a:	50                   	push   %eax
   1b27b:	ff 15 4c 02 02 00    	call   *0x2024c
   1b281:	83 c4 0c             	add    $0xc,%esp
   1b284:	e9 27 fd ff ff       	jmp    1afb0 <_VfatHasFileSystem+0xa0>
   1b289:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
   1b290:	50                   	push   %eax
   1b291:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
   1b294:	6a 00                	push   $0x0
   1b296:	53                   	push   %ebx
   1b297:	50                   	push   %eax
   1b298:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
   1b29e:	6a 00                	push   $0x0
   1b2a0:	c7 85 64 ff ff ff 20 	movl   $0x20,0xffffff64(%ebp)
   1b2a7:	00 00 00 
   1b2aa:	6a 00                	push   $0x0
   1b2ac:	68 04 40 07 00       	push   $0x74004
   1b2b1:	50                   	push   %eax
   1b2b2:	e8 89 61 ff ff       	call   11440 <_VfatBlockDeviceIoControl>
   1b2b7:	83 c4 20             	add    $0x20,%esp
   1b2ba:	85 c0                	test   %eax,%eax
   1b2bc:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1b2c2:	0f 88 ee fc ff ff    	js     1afb6 <_VfatHasFileSystem+0xa6>
   1b2c8:	8a 4d e0             	mov    0xffffffe0(%ebp),%cl
   1b2cb:	c6 85 38 ff ff ff 01 	movb   $0x1,0xffffff38(%ebp)
   1b2d2:	84 c9                	test   %cl,%cl
   1b2d4:	74 38                	je     1b30e <_VfatHasFileSystem+0x3fe>
   1b2d6:	80 f9 01             	cmp    $0x1,%cl
   1b2d9:	0f 94 c2             	sete   %dl
   1b2dc:	80 f9 04             	cmp    $0x4,%cl
   1b2df:	0f 94 c0             	sete   %al
   1b2e2:	09 d0                	or     %edx,%eax
   1b2e4:	a8 01                	test   $0x1,%al
   1b2e6:	75 18                	jne    1b300 <_VfatHasFileSystem+0x3f0>
   1b2e8:	80 f9 06             	cmp    $0x6,%cl
   1b2eb:	74 13                	je     1b300 <_VfatHasFileSystem+0x3f0>
   1b2ed:	80 f9 0b             	cmp    $0xb,%cl
   1b2f0:	74 0e                	je     1b300 <_VfatHasFileSystem+0x3f0>
   1b2f2:	80 f9 0c             	cmp    $0xc,%cl
   1b2f5:	74 09                	je     1b300 <_VfatHasFileSystem+0x3f0>
   1b2f7:	80 f9 0e             	cmp    $0xe,%cl
   1b2fa:	0f 85 8e fc ff ff    	jne    1af8e <_VfatHasFileSystem+0x7e>
   1b300:	8b 85 f4 fe ff ff    	mov    0xfffffef4(%ebp),%eax
   1b306:	c6 00 01             	movb   $0x1,(%eax)
   1b309:	e9 80 fc ff ff       	jmp    1af8e <_VfatHasFileSystem+0x7e>
   1b30e:	83 7d b0 0b          	cmpl   $0xb,0xffffffb0(%ebp)
   1b312:	0f 85 76 fc ff ff    	jne    1af8e <_VfatHasFileSystem+0x7e>
   1b318:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
   1b31b:	85 c0                	test   %eax,%eax
   1b31d:	0f 84 6b fc ff ff    	je     1af8e <_VfatHasFileSystem+0x7e>
   1b323:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
   1b326:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
   1b329:	89 d1                	mov    %edx,%ecx
   1b32b:	09 c1                	or     %eax,%ecx
   1b32d:	0f 85 5b fc ff ff    	jne    1af8e <_VfatHasFileSystem+0x7e>
   1b333:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
   1b336:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   1b339:	85 d2                	test   %edx,%edx
   1b33b:	0f 8c 4d fc ff ff    	jl     1af8e <_VfatHasFileSystem+0x7e>
   1b341:	0f 8e 69 04 00 00    	jle    1b7b0 <_VfatHasFileSystem+0x8a0>
   1b347:	8b 9d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ebx
   1b34d:	c6 03 01             	movb   $0x1,(%ebx)
   1b350:	e9 39 fc ff ff       	jmp    1af8e <_VfatHasFileSystem+0x7e>
   1b355:	84 db                	test   %bl,%bl
   1b357:	0f 84 77 fd ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b35d:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b363:	8a 42 10             	mov    0x10(%edx),%al
   1b366:	3c 01                	cmp    $0x1,%al
   1b368:	0f 84 d2 01 00 00    	je     1b540 <_VfatHasFileSystem+0x630>
   1b36e:	3c 02                	cmp    $0x2,%al
   1b370:	0f 84 ca 01 00 00    	je     1b540 <_VfatHasFileSystem+0x630>
   1b376:	51                   	push   %ecx
   1b377:	68 a6 00 00 00       	push   $0xa6
   1b37c:	68 e0 eb 01 00       	push   $0x1ebe0
   1b381:	68 e8 eb 01 00       	push   $0x1ebe8
   1b386:	ff 15 38 02 02 00    	call   *0x20238
   1b38c:	8b 8d 4c ff ff ff    	mov    0xffffff4c(%ebp),%ecx
   1b392:	58                   	pop    %eax
   1b393:	31 c0                	xor    %eax,%eax
   1b395:	5a                   	pop    %edx
   1b396:	8a 41 10             	mov    0x10(%ecx),%al
   1b399:	50                   	push   %eax
   1b39a:	68 2d ec 01 00       	push   $0x1ec2d
   1b39f:	ff 15 38 02 02 00    	call   *0x20238
   1b3a5:	8b 9d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ebx
   1b3ab:	83 c4 10             	add    $0x10,%esp
   1b3ae:	c6 03 00             	movb   $0x0,(%ebx)
   1b3b1:	e9 1e fd ff ff       	jmp    1b0d4 <_VfatHasFileSystem+0x1c4>
   1b3b6:	84 db                	test   %bl,%bl
   1b3b8:	0f 84 b3 fe ff ff    	je     1b271 <_VfatHasFileSystem+0x361>
   1b3be:	8b 75 bc             	mov    0xffffffbc(%ebp),%esi
   1b3c1:	8b bd f0 fe ff ff    	mov    0xfffffef0(%ebp),%edi
   1b3c7:	89 b5 fc fe ff ff    	mov    %esi,0xfffffefc(%ebp)
   1b3cd:	89 75 8c             	mov    %esi,0xffffff8c(%ebp)
   1b3d0:	8b 7f 08             	mov    0x8(%edi),%edi
   1b3d3:	8b 85 f0 fe ff ff    	mov    0xfffffef0(%ebp),%eax
   1b3d9:	89 bd 18 ff ff ff    	mov    %edi,0xffffff18(%ebp)
   1b3df:	89 7d 88             	mov    %edi,0xffffff88(%ebp)
   1b3e2:	8b 40 08             	mov    0x8(%eax),%eax
   1b3e5:	8b 95 f0 fe ff ff    	mov    0xfffffef0(%ebp),%edx
   1b3eb:	89 85 14 ff ff ff    	mov    %eax,0xffffff14(%ebp)
   1b3f1:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
   1b3f7:	8b 4a 08             	mov    0x8(%edx),%ecx
   1b3fa:	89 f0                	mov    %esi,%eax
   1b3fc:	0f af c1             	imul   %ecx,%eax
   1b3ff:	31 d2                	xor    %edx,%edx
   1b401:	89 45 90             	mov    %eax,0xffffff90(%ebp)
   1b404:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
   1b407:	52                   	push   %edx
   1b408:	8b 75 d0             	mov    0xffffffd0(%ebp),%esi
   1b40b:	50                   	push   %eax
   1b40c:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   1b40f:	50                   	push   %eax
   1b410:	56                   	push   %esi
   1b411:	e8 ea 16 00 00       	call   1cb00 <___divdi3>
   1b416:	83 c4 10             	add    $0x10,%esp
   1b419:	8b b5 f0 fe ff ff    	mov    0xfffffef0(%ebp),%esi
   1b41f:	89 85 e8 fe ff ff    	mov    %eax,0xfffffee8(%ebp)
   1b425:	89 95 ec fe ff ff    	mov    %edx,0xfffffeec(%ebp)
   1b42b:	8b 8d e8 fe ff ff    	mov    0xfffffee8(%ebp),%ecx
   1b431:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
   1b434:	31 d2                	xor    %edx,%edx
   1b436:	89 c8                	mov    %ecx,%eax
   1b438:	f7 f7                	div    %edi
   1b43a:	3d f5 ff 00 00       	cmp    $0xfff5,%eax
   1b43f:	89 85 10 ff ff ff    	mov    %eax,0xffffff10(%ebp)
   1b445:	19 c9                	sbb    %ecx,%ecx
   1b447:	31 d2                	xor    %edx,%edx
   1b449:	83 c1 05             	add    $0x5,%ecx
   1b44c:	89 8d f8 fe ff ff    	mov    %ecx,0xfffffef8(%ebp)
   1b452:	89 4d 98             	mov    %ecx,0xffffff98(%ebp)
   1b455:	8b 4e 04             	mov    0x4(%esi),%ecx
   1b458:	89 8d 68 ff ff ff    	mov    %ecx,0xffffff68(%ebp)
   1b45e:	b9 00 10 00 00       	mov    $0x1000,%ecx
   1b463:	89 c8                	mov    %ecx,%eax
   1b465:	f7 b5 fc fe ff ff    	divl   0xfffffefc(%ebp)
   1b46b:	89 85 08 ff ff ff    	mov    %eax,0xffffff08(%ebp)
   1b471:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
   1b477:	66 8b 4e 0c          	mov    0xc(%esi),%cx
   1b47b:	8b b5 e8 fe ff ff    	mov    0xfffffee8(%ebp),%esi
   1b481:	31 d2                	xor    %edx,%edx
   1b483:	89 f0                	mov    %esi,%eax
   1b485:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1b48b:	f7 f7                	div    %edi
   1b48d:	8b bd fc fe ff ff    	mov    0xfffffefc(%ebp),%edi
   1b493:	89 8d 70 ff ff ff    	mov    %ecx,0xffffff70(%ebp)
   1b499:	89 bd e4 fe ff ff    	mov    %edi,0xfffffee4(%ebp)
   1b49f:	83 bd f8 fe ff ff 04 	cmpl   $0x4,0xfffffef8(%ebp)
   1b4a6:	0f 84 dc 02 00 00    	je     1b788 <_VfatHasFileSystem+0x878>
   1b4ac:	8b bd 10 ff ff ff    	mov    0xffffff10(%ebp),%edi
   1b4b2:	31 d2                	xor    %edx,%edx
   1b4b4:	8d 04 bd ff 0f 00 00 	lea    0xfff(,%edi,4),%eax
   1b4bb:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   1b4c0:	f7 b5 fc fe ff ff    	divl   0xfffffefc(%ebp)
   1b4c6:	0f af c8             	imul   %eax,%ecx
   1b4c9:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
   1b4cf:	8b 85 08 ff ff ff    	mov    0xffffff08(%ebp),%eax
   1b4d5:	01 c8                	add    %ecx,%eax
   1b4d7:	8b 8d 14 ff ff ff    	mov    0xffffff14(%ebp),%ecx
   1b4dd:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
   1b4e3:	01 c8                	add    %ecx,%eax
   1b4e5:	29 c6                	sub    %eax,%esi
   1b4e7:	31 d2                	xor    %edx,%edx
   1b4e9:	89 45 80             	mov    %eax,0xffffff80(%ebp)
   1b4ec:	89 f0                	mov    %esi,%eax
   1b4ee:	f7 b5 18 ff ff ff    	divl   0xffffff18(%ebp)
   1b4f4:	8b 55 08             	mov    0x8(%ebp),%edx
   1b4f7:	89 45 94             	mov    %eax,0xffffff94(%ebp)
   1b4fa:	85 d2                	test   %edx,%edx
   1b4fc:	0f 84 6f fd ff ff    	je     1b271 <_VfatHasFileSystem+0x361>
   1b502:	84 db                	test   %bl,%bl
   1b504:	0f 84 67 fd ff ff    	je     1b271 <_VfatHasFileSystem+0x361>
   1b50a:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
   1b510:	b9 0f 00 00 00       	mov    $0xf,%ecx
   1b515:	fc                   	cld    
   1b516:	8b 7d 08             	mov    0x8(%ebp),%edi
   1b519:	89 c6                	mov    %eax,%esi
   1b51b:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   1b51d:	e9 4f fd ff ff       	jmp    1b271 <_VfatHasFileSystem+0x361>
   1b522:	80 7b 02 54          	cmpb   $0x54,0x2(%ebx)
   1b526:	0f 85 5f fc ff ff    	jne    1b18b <_VfatHasFileSystem+0x27b>
   1b52c:	80 7b 03 58          	cmpb   $0x58,0x3(%ebx)
   1b530:	0f 85 55 fc ff ff    	jne    1b18b <_VfatHasFileSystem+0x27b>
   1b536:	e9 9c fc ff ff       	jmp    1b1d7 <_VfatHasFileSystem+0x2c7>
   1b53b:	90                   	nop    
   1b53c:	8d 74 26 00          	lea    0x0(%esi),%esi
   1b540:	84 db                	test   %bl,%bl
   1b542:	0f 84 8c fb ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b548:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1b54e:	8a 46 15             	mov    0x15(%esi),%al
   1b551:	3c f0                	cmp    $0xf0,%al
   1b553:	74 24                	je     1b579 <_VfatHasFileSystem+0x669>
   1b555:	3c f8                	cmp    $0xf8,%al
   1b557:	74 20                	je     1b579 <_VfatHasFileSystem+0x669>
   1b559:	3c f9                	cmp    $0xf9,%al
   1b55b:	74 1c                	je     1b579 <_VfatHasFileSystem+0x669>
   1b55d:	3c fa                	cmp    $0xfa,%al
   1b55f:	74 18                	je     1b579 <_VfatHasFileSystem+0x669>
   1b561:	3c fb                	cmp    $0xfb,%al
   1b563:	74 14                	je     1b579 <_VfatHasFileSystem+0x669>
   1b565:	3c fc                	cmp    $0xfc,%al
   1b567:	74 10                	je     1b579 <_VfatHasFileSystem+0x669>
   1b569:	3c fd                	cmp    $0xfd,%al
   1b56b:	74 0c                	je     1b579 <_VfatHasFileSystem+0x669>
   1b56d:	3c fe                	cmp    $0xfe,%al
   1b56f:	74 08                	je     1b579 <_VfatHasFileSystem+0x669>
   1b571:	fe c0                	inc    %al
   1b573:	0f 85 d1 02 00 00    	jne    1b84a <_VfatHasFileSystem+0x93a>
   1b579:	84 db                	test   %bl,%bl
   1b57b:	0f 84 53 fb ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b581:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b587:	8a 42 0d             	mov    0xd(%edx),%al
   1b58a:	3c 01                	cmp    $0x1,%al
   1b58c:	74 20                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b58e:	3c 02                	cmp    $0x2,%al
   1b590:	74 1c                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b592:	3c 04                	cmp    $0x4,%al
   1b594:	74 18                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b596:	3c 08                	cmp    $0x8,%al
   1b598:	74 14                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b59a:	3c 10                	cmp    $0x10,%al
   1b59c:	74 10                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b59e:	3c 20                	cmp    $0x20,%al
   1b5a0:	74 0c                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b5a2:	3c 40                	cmp    $0x40,%al
   1b5a4:	74 08                	je     1b5ae <_VfatHasFileSystem+0x69e>
   1b5a6:	3c 80                	cmp    $0x80,%al
   1b5a8:	0f 85 e6 02 00 00    	jne    1b894 <_VfatHasFileSystem+0x984>
   1b5ae:	84 db                	test   %bl,%bl
   1b5b0:	0f 84 1e fb ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b5b6:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1b5bc:	31 d2                	xor    %edx,%edx
   1b5be:	66 8b 46 0b          	mov    0xb(%esi),%ax
   1b5c2:	8a 56 0d             	mov    0xd(%esi),%dl
   1b5c5:	25 ff ff 00 00       	and    $0xffff,%eax
   1b5ca:	0f af c2             	imul   %edx,%eax
   1b5cd:	3d 00 80 00 00       	cmp    $0x8000,%eax
   1b5d2:	0f 8f e6 01 00 00    	jg     1b7be <_VfatHasFileSystem+0x8ae>
   1b5d8:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b5de:	8b 42 27             	mov    0x27(%edx),%eax
   1b5e1:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
   1b5e7:	66 8b 42 0e          	mov    0xe(%edx),%ax
   1b5eb:	89 c1                	mov    %eax,%ecx
   1b5ed:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1b5f3:	89 8d 6c ff ff ff    	mov    %ecx,0xffffff6c(%ebp)
   1b5f9:	8a 5a 10             	mov    0x10(%edx),%bl
   1b5fc:	81 e3 ff 00 00 00    	and    $0xff,%ebx
   1b602:	89 9d 70 ff ff ff    	mov    %ebx,0xffffff70(%ebp)
   1b608:	89 df                	mov    %ebx,%edi
   1b60a:	66 8b 42 16          	mov    0x16(%edx),%ax
   1b60e:	66 85 c0             	test   %ax,%ax
   1b611:	0f 84 69 02 00 00    	je     1b880 <_VfatHasFileSystem+0x970>
   1b617:	25 ff ff 00 00       	and    $0xffff,%eax
   1b61c:	89 85 34 ff ff ff    	mov    %eax,0xffffff34(%ebp)
   1b622:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b628:	8b 85 34 ff ff ff    	mov    0xffffff34(%ebp),%eax
   1b62e:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
   1b634:	31 db                	xor    %ebx,%ebx
   1b636:	66 8b 42 0b          	mov    0xb(%edx),%ax
   1b63a:	89 d6                	mov    %edx,%esi
   1b63c:	25 ff ff 00 00       	and    $0xffff,%eax
   1b641:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
   1b644:	8a 5a 0d             	mov    0xd(%edx),%bl
   1b647:	0f af c3             	imul   %ebx,%eax
   1b64a:	89 9d 30 ff ff ff    	mov    %ebx,0xffffff30(%ebp)
   1b650:	89 5d 88             	mov    %ebx,0xffffff88(%ebp)
   1b653:	89 45 90             	mov    %eax,0xffffff90(%ebp)
   1b656:	66 8b 46 0b          	mov    0xb(%esi),%ax
   1b65a:	66 8b 52 11          	mov    0x11(%edx),%dx
   1b65e:	81 e2 ff ff 00 00    	and    $0xffff,%edx
   1b664:	89 c3                	mov    %eax,%ebx
   1b666:	c1 e2 05             	shl    $0x5,%edx
   1b669:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
   1b66f:	8d 54 1a ff          	lea    0xffffffff(%edx,%ebx,1),%edx
   1b673:	89 d0                	mov    %edx,%eax
   1b675:	c1 fa 1f             	sar    $0x1f,%edx
   1b678:	f7 fb                	idiv   %ebx
   1b67a:	89 c3                	mov    %eax,%ebx
   1b67c:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
   1b682:	8b 85 34 ff ff ff    	mov    0xffffff34(%ebp),%eax
   1b688:	0f af c7             	imul   %edi,%eax
   1b68b:	8d 04 01             	lea    (%ecx,%eax,1),%eax
   1b68e:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
   1b694:	01 d8                	add    %ebx,%eax
   1b696:	89 85 2c ff ff ff    	mov    %eax,0xffffff2c(%ebp)
   1b69c:	89 45 80             	mov    %eax,0xffffff80(%ebp)
   1b69f:	66 8b 46 13          	mov    0x13(%esi),%ax
   1b6a3:	66 85 c0             	test   %ax,%ax
   1b6a6:	0f 84 c6 01 00 00    	je     1b872 <_VfatHasFileSystem+0x962>
   1b6ac:	89 c1                	mov    %eax,%ecx
   1b6ae:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
   1b6b4:	8b 95 34 ff ff ff    	mov    0xffffff34(%ebp),%edx
   1b6ba:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1b6c0:	0f af fa             	imul   %edx,%edi
   1b6c3:	89 4d 9c             	mov    %ecx,0xffffff9c(%ebp)
   1b6c6:	31 d2                	xor    %edx,%edx
   1b6c8:	66 8b 46 0e          	mov    0xe(%esi),%ax
   1b6cc:	25 ff ff 00 00       	and    $0xffff,%eax
   1b6d1:	01 f8                	add    %edi,%eax
   1b6d3:	01 d8                	add    %ebx,%eax
   1b6d5:	31 db                	xor    %ebx,%ebx
   1b6d7:	29 c1                	sub    %eax,%ecx
   1b6d9:	8a 5e 0d             	mov    0xd(%esi),%bl
   1b6dc:	89 c8                	mov    %ecx,%eax
   1b6de:	f7 f3                	div    %ebx
   1b6e0:	89 45 94             	mov    %eax,0xffffff94(%ebp)
   1b6e3:	3d f4 0f 00 00       	cmp    $0xff4,%eax
   1b6e8:	0f 87 16 01 00 00    	ja     1b804 <_VfatHasFileSystem+0x8f4>
   1b6ee:	c7 45 98 02 00 00 00 	movl   $0x2,0xffffff98(%ebp)
   1b6f5:	80 bd 38 ff ff ff 00 	cmpb   $0x0,0xffffff38(%ebp)
   1b6fc:	74 58                	je     1b756 <_VfatHasFileSystem+0x846>
   1b6fe:	31 d2                	xor    %edx,%edx
   1b700:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
   1b703:	52                   	push   %edx
   1b704:	50                   	push   %eax
   1b705:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
   1b708:	8b 4d 9c             	mov    0xffffff9c(%ebp),%ecx
   1b70b:	50                   	push   %eax
   1b70c:	31 db                	xor    %ebx,%ebx
   1b70e:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
   1b711:	89 8d 20 ff ff ff    	mov    %ecx,0xffffff20(%ebp)
   1b717:	50                   	push   %eax
   1b718:	89 9d 24 ff ff ff    	mov    %ebx,0xffffff24(%ebp)
   1b71e:	e8 dd 13 00 00       	call   1cb00 <___divdi3>
   1b723:	83 c4 10             	add    $0x10,%esp
   1b726:	39 d3                	cmp    %edx,%ebx
   1b728:	7c 2c                	jl     1b756 <_VfatHasFileSystem+0x846>
   1b72a:	7f 08                	jg     1b734 <_VfatHasFileSystem+0x824>
   1b72c:	39 85 20 ff ff ff    	cmp    %eax,0xffffff20(%ebp)
   1b732:	76 22                	jbe    1b756 <_VfatHasFileSystem+0x846>
   1b734:	50                   	push   %eax
   1b735:	68 f2 00 00 00       	push   $0xf2
   1b73a:	68 e0 eb 01 00       	push   $0x1ebe0
   1b73f:	68 3a ec 01 00       	push   $0x1ec3a
   1b744:	ff 15 38 02 02 00    	call   *0x20238
   1b74a:	8b 9d f4 fe ff ff    	mov    0xfffffef4(%ebp),%ebx
   1b750:	83 c4 10             	add    $0x10,%esp
   1b753:	c6 03 00             	movb   $0x0,(%ebx)
   1b756:	8b 7d 08             	mov    0x8(%ebp),%edi
   1b759:	85 ff                	test   %edi,%edi
   1b75b:	0f 84 73 f9 ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b761:	8b b5 f4 fe ff ff    	mov    0xfffffef4(%ebp),%esi
   1b767:	80 3e 00             	cmpb   $0x0,(%esi)
   1b76a:	0f 84 64 f9 ff ff    	je     1b0d4 <_VfatHasFileSystem+0x1c4>
   1b770:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
   1b776:	b9 0f 00 00 00       	mov    $0xf,%ecx
   1b77b:	fc                   	cld    
   1b77c:	8b 7d 08             	mov    0x8(%ebp),%edi
   1b77f:	89 c6                	mov    %eax,%esi
   1b781:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
   1b783:	e9 4c f9 ff ff       	jmp    1b0d4 <_VfatHasFileSystem+0x1c4>
   1b788:	8d 84 00 ff 0f 00 00 	lea    0xfff(%eax,%eax,1),%eax
   1b78f:	31 d2                	xor    %edx,%edx
   1b791:	25 00 f0 ff ff       	and    $0xfffff000,%eax
   1b796:	f7 f7                	div    %edi
   1b798:	e9 29 fd ff ff       	jmp    1b4c6 <_VfatHasFileSystem+0x5b6>
   1b79d:	8b 95 f4 fe ff ff    	mov    0xfffffef4(%ebp),%edx
   1b7a3:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
   1b7a8:	c6 02 00             	movb   $0x0,(%edx)
   1b7ab:	e9 06 f8 ff ff       	jmp    1afb6 <_VfatHasFileSystem+0xa6>
   1b7b0:	83 f8 00             	cmp    $0x0,%eax
   1b7b3:	0f 86 d5 f7 ff ff    	jbe    1af8e <_VfatHasFileSystem+0x7e>
   1b7b9:	e9 89 fb ff ff       	jmp    1b347 <_VfatHasFileSystem+0x437>
   1b7be:	57                   	push   %edi
   1b7bf:	68 ca 00 00 00       	push   $0xca
   1b7c4:	68 e0 eb 01 00       	push   $0x1ebe0
   1b7c9:	68 e8 eb 01 00       	push   $0x1ebe8
   1b7ce:	ff 15 38 02 02 00    	call   *0x20238
   1b7d4:	66 8b 46 0b          	mov    0xb(%esi),%ax
   1b7d8:	31 d2                	xor    %edx,%edx
   1b7da:	8a 56 0d             	mov    0xd(%esi),%dl
   1b7dd:	25 ff ff 00 00       	and    $0xffff,%eax
   1b7e2:	0f af c2             	imul   %edx,%eax
   1b7e5:	59                   	pop    %ecx
   1b7e6:	5b                   	pop    %ebx
   1b7e7:	50                   	push   %eax
   1b7e8:	68 41 ec 01 00       	push   $0x1ec41
   1b7ed:	ff 15 38 02 02 00    	call   *0x20238
   1b7f3:	8b bd f4 fe ff ff    	mov    0xfffffef4(%ebp),%edi
   1b7f9:	83 c4 10             	add    $0x10,%esp
   1b7fc:	c6 07 00             	movb   $0x0,(%edi)
   1b7ff:	e9 d0 f8 ff ff       	jmp    1b0d4 <_VfatHasFileSystem+0x1c4>
   1b804:	3d f4 ff 00 00       	cmp    $0xfff4,%eax
   1b809:	0f 86 b3 00 00 00    	jbe    1b8c2 <_VfatHasFileSystem+0x9b2>
   1b80f:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b815:	c7 45 98 03 00 00 00 	movl   $0x3,0xffffff98(%ebp)
   1b81c:	8b 9d 30 ff ff ff    	mov    0xffffff30(%ebp),%ebx
   1b822:	8b 8d 2c ff ff ff    	mov    0xffffff2c(%ebp),%ecx
   1b828:	8b 42 2c             	mov    0x2c(%edx),%eax
   1b82b:	89 45 84             	mov    %eax,0xffffff84(%ebp)
   1b82e:	83 e8 02             	sub    $0x2,%eax
   1b831:	0f af c3             	imul   %ebx,%eax
   1b834:	01 c8                	add    %ecx,%eax
   1b836:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
   1b83c:	8b 42 43             	mov    0x43(%edx),%eax
   1b83f:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
   1b845:	e9 ab fe ff ff       	jmp    1b6f5 <_VfatHasFileSystem+0x7e5>
   1b84a:	50                   	push   %eax
   1b84b:	68 b5 00 00 00       	push   $0xb5
   1b850:	68 e0 eb 01 00       	push   $0x1ebe0
   1b855:	68 e8 eb 01 00       	push   $0x1ebe8
   1b85a:	ff 15 38 02 02 00    	call   *0x20238
   1b860:	31 c0                	xor    %eax,%eax
   1b862:	5b                   	pop    %ebx
   1b863:	8a 46 15             	mov    0x15(%esi),%al
   1b866:	5f                   	pop    %edi
   1b867:	50                   	push   %eax
   1b868:	68 52 ec 01 00       	push   $0x1ec52
   1b86d:	e9 7b ff ff ff       	jmp    1b7ed <_VfatHasFileSystem+0x8dd>
   1b872:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
   1b878:	8b 4a 20             	mov    0x20(%edx),%ecx
   1b87b:	e9 34 fe ff ff       	jmp    1b6b4 <_VfatHasFileSystem+0x7a4>
   1b880:	8b b5 4c ff ff ff    	mov    0xffffff4c(%ebp),%esi
   1b886:	8b 76 24             	mov    0x24(%esi),%esi
   1b889:	89 b5 34 ff ff ff    	mov    %esi,0xffffff34(%ebp)
   1b88f:	e9 8e fd ff ff       	jmp    1b622 <_VfatHasFileSystem+0x712>
   1b894:	51                   	push   %ecx
   1b895:	68 c3 00 00 00       	push   $0xc3
   1b89a:	68 e0 eb 01 00       	push   $0x1ebe0
   1b89f:	68 e8 eb 01 00       	push   $0x1ebe8
   1b8a4:	ff 15 38 02 02 00    	call   *0x20238
   1b8aa:	8b 8d 4c ff ff ff    	mov    0xffffff4c(%ebp),%ecx
   1b8b0:	58                   	pop    %eax
   1b8b1:	31 c0                	xor    %eax,%eax
   1b8b3:	5a                   	pop    %edx
   1b8b4:	8a 41 0d             	mov    0xd(%ecx),%al
   1b8b7:	50                   	push   %eax
   1b8b8:	68 6a ec 01 00       	push   $0x1ec6a
   1b8bd:	e9 dd fa ff ff       	jmp    1b39f <_VfatHasFileSystem+0x48f>
   1b8c2:	c7 45 98 01 00 00 00 	movl   $0x1,0xffffff98(%ebp)
   1b8c9:	e9 27 fe ff ff       	jmp    1b6f5 <_VfatHasFileSystem+0x7e5>
   1b8ce:	89 f6                	mov    %esi,%esi

0001b8d0 <_VfatFileSystemControl>:
   1b8d0:	55                   	push   %ebp
   1b8d1:	89 e5                	mov    %esp,%ebp
   1b8d3:	57                   	push   %edi
   1b8d4:	56                   	push   %esi
   1b8d5:	53                   	push   %ebx
   1b8d6:	81 ec ac 00 00 00    	sub    $0xac,%esp
   1b8dc:	8b 75 08             	mov    0x8(%ebp),%esi
   1b8df:	8b 06                	mov    (%esi),%eax
   1b8e1:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1b8e8:	31 c0                	xor    %eax,%eax
   1b8ea:	8a 46 25             	mov    0x25(%esi),%al
   1b8ed:	83 f8 01             	cmp    $0x1,%eax
   1b8f0:	74 36                	je     1b928 <_VfatFileSystemControl+0x58>
   1b8f2:	0f 8e 4f 01 00 00    	jle    1ba47 <_VfatFileSystemControl+0x177>
   1b8f8:	83 f8 02             	cmp    $0x2,%eax
   1b8fb:	0f 84 b8 00 00 00    	je     1b9b9 <_VfatFileSystemControl+0xe9>
   1b901:	bb 10 00 00 c0       	mov    $0xc0000010,%ebx
   1b906:	8b 16                	mov    (%esi),%edx
   1b908:	89 5a 18             	mov    %ebx,0x18(%edx)
   1b90b:	31 d2                	xor    %edx,%edx
   1b90d:	8b 0e                	mov    (%esi),%ecx
   1b90f:	ff 15 00 02 02 00    	call   *0x20200
   1b915:	83 ec 0c             	sub    $0xc,%esp
   1b918:	56                   	push   %esi
   1b919:	e8 12 f1 ff ff       	call   1aa30 <_VfatFreeIrpContext>
   1b91e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1b921:	89 d8                	mov    %ebx,%eax
   1b923:	5b                   	pop    %ebx
   1b924:	5e                   	pop    %esi
   1b925:	5f                   	pop    %edi
   1b926:	5d                   	pop    %ebp
   1b927:	c3                   	ret    
   1b928:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1b92d:	c7 45 88 00 00 00 00 	movl   $0x0,0xffffff88(%ebp)
   1b934:	c7 85 60 ff ff ff 00 	movl   $0x0,0xffffff60(%ebp)
   1b93b:	00 00 00 
   1b93e:	c7 85 5c ff ff ff 00 	movl   $0x0,0xffffff5c(%ebp)
   1b945:	00 00 00 
   1b948:	c7 85 58 ff ff ff 00 	movl   $0x0,0xffffff58(%ebp)
   1b94f:	00 00 00 
   1b952:	66 c7 45 98 10 00    	movw   $0x10,0xffffff98(%ebp)
   1b958:	66 c7 45 9a 12 00    	movw   $0x12,0xffffff9a(%ebp)
   1b95e:	c7 45 9c 82 ec 01 00 	movl   $0x1ec82,0xffffff9c(%ebp)
   1b965:	66 c7 45 90 16 00    	movw   $0x16,0xffffff90(%ebp)
   1b96b:	66 c7 45 92 18 00    	movw   $0x18,0xffffff92(%ebp)
   1b971:	c7 45 94 94 ec 01 00 	movl   $0x1ec94,0xffffff94(%ebp)
   1b978:	bb 10 00 00 c0       	mov    $0xc0000010,%ebx
   1b97d:	8b 40 04             	mov    0x4(%eax),%eax
   1b980:	39 46 04             	cmp    %eax,0x4(%esi)
   1b983:	0f 84 15 01 00 00    	je     1ba9e <_VfatFileSystemControl+0x1ce>
   1b989:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1b98c:	85 c0                	test   %eax,%eax
   1b98e:	0f 85 a1 00 00 00    	jne    1ba35 <_VfatFileSystemControl+0x165>
   1b994:	8b 85 5c ff ff ff    	mov    0xffffff5c(%ebp),%eax
   1b99a:	85 c0                	test   %eax,%eax
   1b99c:	0f 84 64 ff ff ff    	je     1b906 <_VfatFileSystemControl+0x36>
   1b9a2:	83 ec 0c             	sub    $0xc,%esp
   1b9a5:	8b 85 5c ff ff ff    	mov    0xffffff5c(%ebp),%eax
   1b9ab:	50                   	push   %eax
   1b9ac:	e8 df ae ff ff       	call   16890 <_vfatDestroyFCB>
   1b9b1:	83 c4 10             	add    $0x10,%esp
   1b9b4:	e9 4d ff ff ff       	jmp    1b906 <_VfatFileSystemControl+0x36>
   1b9b9:	8b 46 08             	mov    0x8(%esi),%eax
   1b9bc:	89 85 54 ff ff ff    	mov    %eax,0xffffff54(%ebp)
   1b9c2:	8b 46 20             	mov    0x20(%esi),%eax
   1b9c5:	8b 78 08             	mov    0x8(%eax),%edi
   1b9c8:	50                   	push   %eax
   1b9c9:	6a 01                	push   $0x1
   1b9cb:	6a 00                	push   $0x0
   1b9cd:	6a 00                	push   $0x0
   1b9cf:	6a 00                	push   $0x0
   1b9d1:	6a 00                	push   $0x0
   1b9d3:	68 00 48 07 00       	push   $0x74800
   1b9d8:	57                   	push   %edi
   1b9d9:	e8 62 5a ff ff       	call   11440 <_VfatBlockDeviceIoControl>
   1b9de:	83 c4 20             	add    $0x20,%esp
   1b9e1:	89 c3                	mov    %eax,%ebx
   1b9e3:	8b 47 1c             	mov    0x1c(%edi),%eax
   1b9e6:	83 e0 fd             	and    $0xfffffffd,%eax
   1b9e9:	89 da                	mov    %ebx,%edx
   1b9eb:	c1 ea 1f             	shr    $0x1f,%edx
   1b9ee:	89 47 1c             	mov    %eax,0x1c(%edi)
   1b9f1:	81 fb 16 00 00 80    	cmp    $0x80000016,%ebx
   1b9f7:	bb 12 00 00 c0       	mov    $0xc0000012,%ebx
   1b9fc:	0f 95 c0             	setne  %al
   1b9ff:	85 d0                	test   %edx,%eax
   1ba01:	0f 85 ff fe ff ff    	jne    1b906 <_VfatFileSystemControl+0x36>
   1ba07:	83 ec 0c             	sub    $0xc,%esp
   1ba0a:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
   1ba0d:	89 f8                	mov    %edi,%eax
   1ba0f:	52                   	push   %edx
   1ba10:	8d 55 86             	lea    0xffffff86(%ebp),%edx
   1ba13:	e8 f8 f4 ff ff       	call   1af10 <_VfatHasFileSystem>
   1ba18:	83 c4 10             	add    $0x10,%esp
   1ba1b:	89 c3                	mov    %eax,%ebx
   1ba1d:	85 c0                	test   %eax,%eax
   1ba1f:	78 0a                	js     1ba2b <_VfatFileSystemControl+0x15b>
   1ba21:	80 7d 86 00          	cmpb   $0x0,0xffffff86(%ebp)
   1ba25:	0f 85 41 01 00 00    	jne    1bb6c <_VfatFileSystemControl+0x29c>
   1ba2b:	bb 12 00 00 c0       	mov    $0xc0000012,%ebx
   1ba30:	e9 d1 fe ff ff       	jmp    1b906 <_VfatFileSystemControl+0x36>
   1ba35:	83 ec 0c             	sub    $0xc,%esp
   1ba38:	50                   	push   %eax
   1ba39:	ff 15 a8 02 02 00    	call   *0x202a8
   1ba3f:	83 c4 0c             	add    $0xc,%esp
   1ba42:	e9 4d ff ff ff       	jmp    1b994 <_VfatFileSystemControl+0xc4>
   1ba47:	85 c0                	test   %eax,%eax
   1ba49:	0f 85 b2 fe ff ff    	jne    1b901 <_VfatFileSystemControl+0x31>
   1ba4f:	8b 5e 20             	mov    0x20(%esi),%ebx
   1ba52:	8b 43 0c             	mov    0xc(%ebx),%eax
   1ba55:	3d 73 00 09 00       	cmp    $0x90073,%eax
   1ba5a:	0f 84 d2 04 00 00    	je     1bf32 <_VfatFileSystemControl+0x662>
   1ba60:	0f 86 9b fe ff ff    	jbe    1b901 <_VfatFileSystemControl+0x31>
   1ba66:	3d 74 00 09 00       	cmp    $0x90074,%eax
   1ba6b:	0f 84 90 fe ff ff    	je     1b901 <_VfatFileSystemControl+0x31>
   1ba71:	3d fc 00 09 00       	cmp    $0x900fc,%eax
   1ba76:	0f 85 85 fe ff ff    	jne    1b901 <_VfatFileSystemControl+0x31>
   1ba7c:	8b 16                	mov    (%esi),%edx
   1ba7e:	8b 7e 08             	mov    0x8(%esi),%edi
   1ba81:	8b 4a 0c             	mov    0xc(%edx),%ecx
   1ba84:	85 c9                	test   %ecx,%ecx
   1ba86:	74 0a                	je     1ba92 <_VfatFileSystemControl+0x1c2>
   1ba88:	83 7b 04 07          	cmpl   $0x7,0x4(%ebx)
   1ba8c:	0f 87 74 04 00 00    	ja     1bf06 <_VfatFileSystemControl+0x636>
   1ba92:	b8 23 00 00 c0       	mov    $0xc0000023,%eax
   1ba97:	89 c3                	mov    %eax,%ebx
   1ba99:	e9 6a fe ff ff       	jmp    1b908 <_VfatFileSystemControl+0x38>
   1ba9e:	8b 46 20             	mov    0x20(%esi),%eax
   1baa1:	83 ec 0c             	sub    $0xc,%esp
   1baa4:	8d 55 8f             	lea    0xffffff8f(%ebp),%edx
   1baa7:	8b 78 08             	mov    0x8(%eax),%edi
   1baaa:	6a 00                	push   $0x0
   1baac:	89 f8                	mov    %edi,%eax
   1baae:	e8 5d f4 ff ff       	call   1af10 <_VfatHasFileSystem>
   1bab3:	83 c4 10             	add    $0x10,%esp
   1bab6:	89 c3                	mov    %eax,%ebx
   1bab8:	85 c0                	test   %eax,%eax
   1baba:	0f 88 c9 fe ff ff    	js     1b989 <_VfatFileSystemControl+0xb9>
   1bac0:	bb 4f 01 00 c0       	mov    $0xc000014f,%ebx
   1bac5:	80 7d 8f 00          	cmpb   $0x0,0xffffff8f(%ebp)
   1bac9:	0f 84 ba fe ff ff    	je     1b989 <_VfatFileSystemControl+0xb9>
   1bacf:	50                   	push   %eax
   1bad0:	8d 45 88             	lea    0xffffff88(%ebp),%eax
   1bad3:	50                   	push   %eax
   1bad4:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1bad9:	6a 00                	push   $0x0
   1badb:	6a 00                	push   $0x0
   1badd:	6a 09                	push   $0x9
   1badf:	6a 00                	push   $0x0
   1bae1:	68 f0 00 04 00       	push   $0x400f0
   1bae6:	8b 00                	mov    (%eax),%eax
   1bae8:	50                   	push   %eax
   1bae9:	ff 15 a0 02 02 00    	call   *0x202a0
   1baef:	5b                   	pop    %ebx
   1baf0:	85 c0                	test   %eax,%eax
   1baf2:	89 c3                	mov    %eax,%ebx
   1baf4:	0f 88 8f fe ff ff    	js     1b989 <_VfatFileSystemControl+0xb9>
   1bafa:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bafd:	8b 48 1c             	mov    0x1c(%eax),%ecx
   1bb00:	83 c9 10             	or     $0x10,%ecx
   1bb03:	89 48 1c             	mov    %ecx,0x1c(%eax)
   1bb06:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bb09:	8b 40 28             	mov    0x28(%eax),%eax
   1bb0c:	52                   	push   %edx
   1bb0d:	89 85 64 ff ff ff    	mov    %eax,0xffffff64(%ebp)
   1bb13:	68 f0 00 04 00       	push   $0x400f0
   1bb18:	6a 00                	push   $0x0
   1bb1a:	50                   	push   %eax
   1bb1b:	e8 d0 0c 00 00       	call   1c7f0 <_memset>
   1bb20:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bb23:	8b 57 24             	mov    0x24(%edi),%edx
   1bb26:	89 50 24             	mov    %edx,0x24(%eax)
   1bb29:	8d 55 87             	lea    0xffffff87(%ebp),%edx
   1bb2c:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1bb32:	05 84 00 04 00       	add    $0x40084,%eax
   1bb37:	89 04 24             	mov    %eax,(%esp)
   1bb3a:	89 f8                	mov    %edi,%eax
   1bb3c:	e8 cf f3 ff ff       	call   1af10 <_VfatHasFileSystem>
   1bb41:	83 c4 10             	add    $0x10,%esp
   1bb44:	85 c0                	test   %eax,%eax
   1bb46:	78 02                	js     1bb4a <_VfatFileSystemControl+0x27a>
   1bb48:	31 c0                	xor    %eax,%eax
   1bb4a:	89 c3                	mov    %eax,%ebx
   1bb4c:	85 c0                	test   %eax,%eax
   1bb4e:	0f 88 2c 06 00 00    	js     1c180 <_VfatFileSystemControl+0x8b0>
   1bb54:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1bb5a:	8b 81 b4 00 04 00    	mov    0x400b4(%ecx),%eax
   1bb60:	83 f8 05             	cmp    $0x5,%eax
   1bb63:	77 58                	ja     1bbbd <_VfatFileSystemControl+0x2ed>
   1bb65:	ff 24 85 d0 ec 01 00 	jmp    *0x1ecd0(,%eax,4)
   1bb6c:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
   1bb72:	05 84 00 04 00       	add    $0x40084,%eax
   1bb77:	51                   	push   %ecx
   1bb78:	8d 4d a8             	lea    0xffffffa8(%ebp),%ecx
   1bb7b:	6a 3c                	push   $0x3c
   1bb7d:	50                   	push   %eax
   1bb7e:	51                   	push   %ecx
   1bb7f:	ff 15 10 03 02 00    	call   *0x20310
   1bb85:	5a                   	pop    %edx
   1bb86:	83 f8 3c             	cmp    $0x3c,%eax
   1bb89:	0f 84 77 fd ff ff    	je     1b906 <_VfatFileSystemControl+0x36>
   1bb8f:	bb 12 00 00 c0       	mov    $0xc0000012,%ebx
   1bb94:	e9 6d fd ff ff       	jmp    1b906 <_VfatFileSystemControl+0x36>
   1bb99:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1bb9f:	c7 82 d4 00 04 00 90 	movl   $0x15290,0x400d4(%edx)
   1bba6:	52 01 00 
   1bba9:	c7 82 d8 00 04 00 a0 	movl   $0x157a0,0x400d8(%edx)
   1bbb0:	57 01 00 
   1bbb3:	c7 82 dc 00 04 00 90 	movl   $0x15e90,0x400dc(%edx)
   1bbba:	5e 01 00 
   1bbbd:	83 e8 04             	sub    $0x4,%eax
   1bbc0:	83 f8 01             	cmp    $0x1,%eax
   1bbc3:	0f 87 12 06 00 00    	ja     1c1db <_VfatFileSystemControl+0x90b>
   1bbc9:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1bbcf:	8b 81 cc 00 04 00    	mov    0x400cc(%ecx),%eax
   1bbd5:	c7 81 e0 00 04 00 10 	movl   $0x13c10,0x400e0(%ecx)
   1bbdc:	3c 01 00 
   1bbdf:	83 c8 04             	or     $0x4,%eax
   1bbe2:	c7 81 e4 00 04 00 d0 	movl   $0x7d0,0x400e4(%ecx)
   1bbe9:	07 00 00 
   1bbec:	89 81 cc 00 04 00    	mov    %eax,0x400cc(%ecx)
   1bbf2:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1bbf8:	89 ba 7c 00 04 00    	mov    %edi,0x4007c(%edx)
   1bbfe:	8b 57 24             	mov    0x24(%edi),%edx
   1bc01:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bc04:	89 42 08             	mov    %eax,0x8(%edx)
   1bc07:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1bc0d:	8b 91 7c 00 04 00    	mov    0x4007c(%ecx),%edx
   1bc13:	8b 42 24             	mov    0x24(%edx),%eax
   1bc16:	89 50 0c             	mov    %edx,0xc(%eax)
   1bc19:	8b 81 7c 00 04 00    	mov    0x4007c(%ecx),%eax
   1bc1f:	8b 40 24             	mov    0x24(%eax),%eax
   1bc22:	66 83 48 04 01       	orw    $0x1,0x4(%eax)
   1bc27:	8b 81 7c 00 04 00    	mov    0x4007c(%ecx),%eax
   1bc2d:	8a 50 30             	mov    0x30(%eax),%dl
   1bc30:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bc33:	42                   	inc    %edx
   1bc34:	88 50 30             	mov    %dl,0x30(%eax)
   1bc37:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bc3a:	8b 78 1c             	mov    0x1c(%eax),%edi
   1bc3d:	81 e7 7f ff ff ff    	and    $0xffffff7f,%edi
   1bc43:	89 78 1c             	mov    %edi,0x1c(%eax)
   1bc46:	53                   	push   %ebx
   1bc47:	53                   	push   %ebx
   1bc48:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
   1bc4d:	8b 91 7c 00 04 00    	mov    0x4007c(%ecx),%edx
   1bc53:	52                   	push   %edx
   1bc54:	6a 00                	push   $0x0
   1bc56:	e8 a5 0c 00 00       	call   1c900 <_IoCreateStreamFileObject@8>
   1bc5b:	8b bd 64 ff ff ff    	mov    0xffffff64(%ebp),%edi
   1bc61:	89 87 80 00 04 00    	mov    %eax,0x40080(%edi)
   1bc67:	8d 45 98             	lea    0xffffff98(%ebp),%eax
   1bc6a:	50                   	push   %eax
   1bc6b:	57                   	push   %edi
   1bc6c:	e8 6f aa ff ff       	call   166e0 <_vfatNewFCB>
   1bc71:	83 c4 10             	add    $0x10,%esp
   1bc74:	85 c0                	test   %eax,%eax
   1bc76:	89 85 60 ff ff ff    	mov    %eax,0xffffff60(%ebp)
   1bc7c:	0f 84 fe 04 00 00    	je     1c180 <_VfatFileSystemControl+0x8b0>

static __inline PVOID
ExAllocateFromNPagedLookasideList(
  IN PNPAGED_LOOKASIDE_LIST  Lookaside)
{
   1bc82:	8b 1d 10 f0 01 00    	mov    0x1f010,%ebx
   1bc88:	81 c3 a0 00 00 00    	add    $0xa0,%ebx
	PVOID Entry;

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
   1bc8e:	89 d9                	mov    %ebx,%ecx
   1bc90:	8b 43 0c             	mov    0xc(%ebx),%eax
   1bc93:	40                   	inc    %eax
   1bc94:	89 43 0c             	mov    %eax,0xc(%ebx)
   1bc97:	ff 15 f4 01 02 00    	call   *0x201f4
	if (Entry == NULL) {
   1bc9d:	85 c0                	test   %eax,%eax
   1bc9f:	0f 84 76 05 00 00    	je     1c21b <_VfatFileSystemControl+0x94b>
   1bca5:	89 85 58 ff ff ff    	mov    %eax,0xffffff58(%ebp)
            BootFatX->SectorsPerCluster != 128)
         {
            DPRINT1("SectorsPerCluster %lu\n", BootFatX->SectorsPerCluster);
            *RecognizedFS=FALSE;
         }
         
         if (*RecognizedFS)
         {
            FatInfo.BytesPerSector = DiskGeometry.BytesPerSector;
            FatInfo.SectorsPerCluster = BootFatX->SectorsPerCluster;
            FatInfo.rootDirectorySectors = BootFatX->SectorsPerCluster;
            FatInfo.BytesPerCluster = BootFatX->SectorsPerCluster * DiskGeometry.BytesPerSector;
            FatInfo.Sectors = (ULONG)(PartitionInfo.PartitionLength.QuadPart / DiskGeometry.BytesPerSector);
            if (FatInfo.Sectors / FatInfo.SectorsPerCluster < 65525)
            {
               DPRINT("FATX16\n");
               FatInfo.FatType = FATX16;
            }
            else
            {
               DPRINT("FATX32\n");
               FatInfo.FatType = FATX32;
            }
            FatInfo.VolumeID = BootFatX->VolumeID;
            FatInfo.FATStart = sizeof(struct _BootSectorFatX) / DiskGeometry.BytesPerSector;
            FatInfo.FATCount = BootFatX->FATCount;
            FatInfo.FATSectors = 
                  ROUND_UP(FatInfo.Sectors / FatInfo.SectorsPerCluster * (FatInfo.FatType == FATX16 ? 2 : 4), 4096) /
                  FatInfo.BytesPerSector;
            FatInfo.rootStart = FatInfo.FATStart + FatInfo.FATCount * FatInfo.FATSectors;
            FatInfo.dataStart = FatInfo.rootStart + FatInfo.rootDirectorySectors;
            FatInfo.NumberOfClusters = (FatInfo.Sectors - FatInfo.dataStart) / FatInfo.SectorsPerCluster;
	    
	    if (pFatInfo && *RecognizedFS)
            {
               *pFatInfo = FatInfo;
            }
         }
      }
      ExFreePool(BootFatX);
   }
      
   DPRINT("VfatHasFileSystem done\n");
   return Status;
}

static NTSTATUS
VfatMountDevice(PDEVICE_EXTENSION DeviceExt,
		PDEVICE_OBJECT DeviceToMount)
/*
 * FUNCTION: Mounts the device
 */
{
   NTSTATUS Status;
   BOOLEAN RecognizedFS;

   DPRINT("Mounting VFAT device...\n");

   Status = VfatHasFileSystem(DeviceToMount, &RecognizedFS, &DeviceExt->FatInfo);
   if (!NT_SUCCESS(Status))
   {
      return(Status);
   }
   DPRINT("MountVfatdev %d, PAGE_SIZE = %d\n", DeviceExt->FatInfo.BytesPerCluster, PAGE_SIZE);


   return(STATUS_SUCCESS);
}


static NTSTATUS
VfatMount (PVFAT_IRP_CONTEXT IrpContext)
/*
 * FUNCTION: Mount the filesystem
 */
{
   PDEVICE_OBJECT DeviceObject = NULL;
   PDEVICE_EXTENSION DeviceExt = NULL;
   BOOLEAN RecognizedFS;
   NTSTATUS Status;
   PVFATFCB Fcb = NULL;
   PVFATFCB VolumeFcb = NULL;
   PVFATCCB Ccb = NULL;
   PDEVICE_OBJECT DeviceToMount;
   UNICODE_STRING NameU = RTL_CONSTANT_STRING(L"\\$$Fat$$");
   UNICODE_STRING VolumeNameU = RTL_CONSTANT_STRING(L"\\$$Volume$$");

   DPRINT("VfatMount(IrpContext %x)\n", IrpContext);

   ASSERT(IrpContext);

   if (IrpContext->DeviceObject != VfatGlobalData->DeviceObject)
   {
      Status = STATUS_INVALID_DEVICE_REQUEST;
      goto ByeBye;
   }

   DeviceToMount = IrpContext->Stack->Parameters.MountVolume.DeviceObject;

   Status = VfatHasFileSystem (DeviceToMount, &RecognizedFS, NULL);
   if (!NT_SUCCESS(Status))
   {
      goto ByeBye;
   }

   if (RecognizedFS == FALSE)
   {
      DPRINT("VFAT: Unrecognized Volume\n");
      Status = STATUS_UNRECOGNIZED_VOLUME;
      goto ByeBye;
   }

   DPRINT("VFAT: Recognized volume\n");
   Status = IoCreateDevice(VfatGlobalData->DriverObject,
			   sizeof (DEVICE_EXTENSION),
			   NULL,
			   FILE_DEVICE_FILE_SYSTEM,
			   0,
			   FALSE,
			   &DeviceObject);
   if (!NT_SUCCESS(Status))
   {
      goto ByeBye;
   }

   DeviceObject->Flags = DeviceObject->Flags | DO_DIRECT_IO;
   DeviceExt = (PVOID) DeviceObject->DeviceExtension;
   RtlZeroMemory(DeviceExt, sizeof(DEVICE_EXTENSION));

   /* use same vpb as device disk */
   DeviceObject->Vpb = DeviceToMount->Vpb;
   Status = VfatMountDevice(DeviceExt, DeviceToMount);
   if (!NT_SUCCESS(Status))
   {
      /* FIXME: delete device object */
      goto ByeBye;
   }

   DPRINT("BytesPerSector:     %d\n", DeviceExt->FatInfo.BytesPerSector);
   DPRINT("SectorsPerCluster:  %d\n", DeviceExt->FatInfo.SectorsPerCluster);
   DPRINT("FATCount:           %d\n", DeviceExt->FatInfo.FATCount);
   DPRINT("FATSectors:         %d\n", DeviceExt->FatInfo.FATSectors);
   DPRINT("RootStart:          %d\n", DeviceExt->FatInfo.rootStart);
   DPRINT("DataStart:          %d\n", DeviceExt->FatInfo.dataStart);
   if (DeviceExt->FatInfo.FatType == FAT32)
   {
      DPRINT("RootCluster:        %d\n", DeviceExt->FatInfo.RootCluster);
   }

   switch (DeviceExt->FatInfo.FatType)
   {
      case FAT12:
         DeviceExt->GetNextCluster = FAT12GetNextCluster;
         DeviceExt->FindAndMarkAvailableCluster = FAT12FindAndMarkAvailableCluster;
         DeviceExt->WriteCluster = FAT12WriteCluster;
         break;

      case FAT16:
      case FATX16:
         DeviceExt->GetNextCluster = FAT16GetNextCluster;
         DeviceExt->FindAndMarkAvailableCluster = FAT16FindAndMarkAvailableCluster;
         DeviceExt->WriteCluster = FAT16WriteCluster;
         break;

      case FAT32:
      case FATX32:
         DeviceExt->GetNextCluster = FAT32GetNextCluster;
         DeviceExt->FindAndMarkAvailableCluster = FAT32FindAndMarkAvailableCluster;
         DeviceExt->WriteCluster = FAT32WriteCluster;
         break;
   }
   
   if (DeviceExt->FatInfo.FatType == FATX16
      || DeviceExt->FatInfo.FatType == FATX32)
   {
      DeviceExt->Flags |= VCB_IS_FATX;
      DeviceExt->GetNextDirEntry = FATXGetNextDirEntry;
      DeviceExt->BaseDateYear = 2000;
   }
   else
   {
      DeviceExt->GetNextDirEntry = FATGetNextDirEntry;
      DeviceExt->BaseDateYear = 1980;
   }

   DeviceExt->StorageDevice = DeviceToMount;
   DeviceExt->StorageDevice->Vpb->DeviceObject = DeviceObject;
   DeviceExt->StorageDevice->Vpb->RealDevice = DeviceExt->StorageDevice;
   DeviceExt->StorageDevice->Vpb->Flags |= VPB_MOUNTED;
   DeviceObject->StackSize = DeviceExt->StorageDevice->StackSize + 1;
   DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;

   DPRINT("FsDeviceObject %lx\n", DeviceObject);

   DeviceExt->FATFileObject = IoCreateStreamFileObject(NULL, DeviceExt->StorageDevice);
   Fcb = vfatNewFCB(DeviceExt, &NameU);
   if (Fcb == NULL)
   {
      Status = STATUS_INSUFFICIENT_RESOURCES;
      goto ByeBye;
   }
   Ccb = ExAllocateFromNPagedLookasideList(&VfatGlobalData->CcbLookasideList);
   if (Ccb == NULL)
   {
      Status =  STATUS_INSUFFICIENT_RESOURCES;
   1bcab:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
   1bcb0:	85 c0                	test   %eax,%eax
   1bcb2:	0f 84 c8 04 00 00    	je     1c180 <_VfatFileSystemControl+0x8b0>
      goto ByeBye;
   }

   RtlZeroMemory(Ccb, sizeof (VFATCCB));
   1bcb8:	fc                   	cld    
   1bcb9:	8b bd 58 ff ff ff    	mov    0xffffff58(%ebp),%edi
   1bcbf:	31 c0                	xor    %eax,%eax
   1bcc1:	b9 06 00 00 00       	mov    $0x6,%ecx
   1bcc6:	f3 ab                	repz stos %eax,%es:(%edi)
   DeviceExt->FATFileObject->FsContext = Fcb;
   1bcc8:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1bcce:	8b 8d 60 ff ff ff    	mov    0xffffff60(%ebp),%ecx
   1bcd4:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   1bcda:	89 48 0c             	mov    %ecx,0xc(%eax)
   DeviceExt->FATFileObject->FsContext2 = Ccb;
   1bcdd:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   1bce3:	8b bd 58 ff ff ff    	mov    0xffffff58(%ebp),%edi
   1bce9:	89 78 10             	mov    %edi,0x10(%eax)
   DeviceExt->FATFileObject->SectionObjectPointer = &Fcb->SectionObjectPointers;
   1bcec:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1bcf2:	8b 90 80 00 04 00    	mov    0x40080(%eax),%edx
   1bcf8:	89 c8                	mov    %ecx,%eax
   1bcfa:	83 c0 28             	add    $0x28,%eax
   1bcfd:	89 42 14             	mov    %eax,0x14(%edx)
   DeviceExt->FATFileObject->PrivateCacheMap = NULL;
   1bd00:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1bd06:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   1bd0c:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
   DeviceExt->FATFileObject->Vpb = DeviceObject->Vpb;
   1bd13:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1bd19:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bd1c:	8b 91 80 00 04 00    	mov    0x40080(%ecx),%edx
   1bd22:	8b 40 24             	mov    0x24(%eax),%eax
   1bd25:	89 42 08             	mov    %eax,0x8(%edx)
   Fcb->FileObject = DeviceExt->FATFileObject;
   1bd28:	8b bd 60 ff ff ff    	mov    0xffffff60(%ebp),%edi
   1bd2e:	8b 81 80 00 04 00    	mov    0x40080(%ecx),%eax

   Fcb->Flags |= FCB_IS_FAT;
   1bd34:	8b 9f 38 01 00 00    	mov    0x138(%edi),%ebx
   1bd3a:	89 87 3c 01 00 00    	mov    %eax,0x13c(%edi)
   1bd40:	83 cb 04             	or     $0x4,%ebx
   1bd43:	89 9f 38 01 00 00    	mov    %ebx,0x138(%edi)

   Fcb->RFCB.FileSize.QuadPart = DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector;
   1bd49:	8b 91 90 00 04 00    	mov    0x40090(%ecx),%edx
   1bd4f:	8b 81 a8 00 04 00    	mov    0x400a8(%ecx),%eax
   1bd55:	0f af c2             	imul   %edx,%eax
   1bd58:	31 d2                	xor    %edx,%edx
   1bd5a:	89 47 18             	mov    %eax,0x18(%edi)
   1bd5d:	89 57 1c             	mov    %edx,0x1c(%edi)
   Fcb->RFCB.ValidDataLength = Fcb->RFCB.FileSize;
   1bd60:	89 47 20             	mov    %eax,0x20(%edi)
   1bd63:	89 57 24             	mov    %edx,0x24(%edi)
   Fcb->RFCB.AllocationSize = Fcb->RFCB.FileSize;
   1bd66:	89 47 10             	mov    %eax,0x10(%edi)
   1bd69:	89 57 14             	mov    %edx,0x14(%edi)

#ifdef USE_ROS_CC_AND_FS
   if (DeviceExt->FatInfo.FatType != FAT12)
   1bd6c:	83 b9 b4 00 04 00 02 	cmpl   $0x2,0x400b4(%ecx)
   1bd73:	0f 84 89 04 00 00    	je     1c202 <_VfatFileSystemControl+0x932>
   {
      Status = CcRosInitializeFileCache(DeviceExt->FATFileObject, CACHEPAGESIZE(DeviceExt));
   1bd79:	50                   	push   %eax
   1bd7a:	50                   	push   %eax
   1bd7b:	8b 81 ac 00 04 00    	mov    0x400ac(%ecx),%eax
   1bd81:	3d 00 10 00 00       	cmp    $0x1000,%eax
   1bd86:	73 05                	jae    1bd8d <_VfatFileSystemControl+0x4bd>
   1bd88:	b8 00 10 00 00       	mov    $0x1000,%eax
   1bd8d:	50                   	push   %eax
   1bd8e:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1bd94:	8b b8 80 00 04 00    	mov    0x40080(%eax),%edi
   1bd9a:	57                   	push   %edi
   }
   else
   {
      Status = CcRosInitializeFileCache(DeviceExt->FATFileObject, 2 * PAGE_SIZE);
   1bd9b:	e8 70 0b 00 00       	call   1c910 <_CcRosInitializeFileCache@8>
   1bda0:	5f                   	pop    %edi
   1bda1:	89 c3                	mov    %eax,%ebx
   1bda3:	5a                   	pop    %edx
   }
   if (!NT_SUCCESS (Status))
   1bda4:	85 c0                	test   %eax,%eax
   1bda6:	0f 88 ae 03 00 00    	js     1c15a <_VfatFileSystemControl+0x88a>
   {
      DPRINT1 ("CcRosInitializeFileCache failed\n");
      goto ByeBye;
   }
#else
   /* FIXME: Guard by SEH. */
   CcInitializeCacheMap(DeviceExt->FATFileObject,
                        (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
                        FALSE,
                        &VfatGlobalData->CacheMgrCallbacks,
                        Fcb);
#endif
   DeviceExt->LastAvailableCluster = 2;
   1bdac:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   ExInitializeResourceLite(&DeviceExt->DirResource);
   1bdb2:	83 ec 0c             	sub    $0xc,%esp
   ExInitializeResourceLite(&DeviceExt->FatResource);

   InitializeListHead(&DeviceExt->FcbListHead);

   VolumeFcb = vfatNewFCB(DeviceExt, &VolumeNameU);
   if (VolumeFcb == NULL)
   {
      Status = STATUS_INSUFFICIENT_RESOURCES;
   1bdb5:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
   1bdba:	c7 81 c0 00 04 00 02 	movl   $0x2,0x400c0(%ecx)
   1bdc1:	00 00 00 
   1bdc4:	51                   	push   %ecx
   1bdc5:	ff 15 54 02 02 00    	call   *0x20254
   1bdcb:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1bdd1:	83 c0 38             	add    $0x38,%eax
   1bdd4:	50                   	push   %eax
   1bdd5:	ff 15 54 02 02 00    	call   *0x20254

static __inline VOID
InitializeListHead(
  IN PLIST_ENTRY  ListHead)
{
   1bddb:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1bde1:	83 c0 74             	add    $0x74,%eax
  ListHead->Flink = ListHead->Blink = ListHead;
   1bde4:	89 40 04             	mov    %eax,0x4(%eax)
   1bde7:	8b bd 64 ff ff ff    	mov    0xffffff64(%ebp),%edi
   1bded:	89 47 74             	mov    %eax,0x74(%edi)
   1bdf0:	8d 45 90             	lea    0xffffff90(%ebp),%eax
   1bdf3:	89 04 24             	mov    %eax,(%esp)
   1bdf6:	57                   	push   %edi
   1bdf7:	e8 e4 a8 ff ff       	call   166e0 <_vfatNewFCB>
   1bdfc:	83 c4 10             	add    $0x10,%esp
   1bdff:	85 c0                	test   %eax,%eax
   1be01:	89 85 5c ff ff ff    	mov    %eax,0xffffff5c(%ebp)
   1be07:	0f 84 73 03 00 00    	je     1c180 <_VfatFileSystemControl+0x8b0>
      goto ByeBye;
   }
   VolumeFcb->Flags = FCB_IS_VOLUME;
   1be0d:	c7 80 38 01 00 00 10 	movl   $0x10,0x138(%eax)
   1be14:	00 00 00 
   VolumeFcb->RFCB.FileSize.QuadPart = DeviceExt->FatInfo.Sectors * DeviceExt->FatInfo.BytesPerSector;
   1be17:	31 d2                	xor    %edx,%edx
   1be19:	8b 9f b8 00 04 00    	mov    0x400b8(%edi),%ebx
   1be1f:	8b 87 a8 00 04 00    	mov    0x400a8(%edi),%eax
   1be25:	0f af c3             	imul   %ebx,%eax
   1be28:	8b 8d 5c ff ff ff    	mov    0xffffff5c(%ebp),%ecx
   1be2e:	89 51 1c             	mov    %edx,0x1c(%ecx)
   VolumeFcb->RFCB.ValidDataLength = VolumeFcb->RFCB.FileSize;
   1be31:	89 51 24             	mov    %edx,0x24(%ecx)
   VolumeFcb->RFCB.AllocationSize = VolumeFcb->RFCB.FileSize;
   1be34:	89 51 14             	mov    %edx,0x14(%ecx)
   1be37:	89 41 18             	mov    %eax,0x18(%ecx)
   1be3a:	89 41 20             	mov    %eax,0x20(%ecx)
   1be3d:	89 41 10             	mov    %eax,0x10(%ecx)
   DeviceExt->VolumeFcb = VolumeFcb;
   1be40:	89 8f d0 00 04 00    	mov    %ecx,0x400d0(%edi)

   ExAcquireResourceExclusiveLite(&VfatGlobalData->VolumeListLock, TRUE);
   1be46:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1be4b:	51                   	push   %ecx
   1be4c:	83 c0 0c             	add    $0xc,%eax
   1be4f:	51                   	push   %ecx
   1be50:	6a 01                	push   $0x1
   1be52:	50                   	push   %eax
   1be53:	ff 15 3c 02 02 00    	call   *0x2023c
   1be59:	58                   	pop    %eax
   1be5a:	5a                   	pop    %edx
static __inline VOID
InsertHeadList(
  IN PLIST_ENTRY  ListHead,
  IN PLIST_ENTRY  Entry)
{ 
   1be5b:	8b 15 10 f0 01 00    	mov    0x1f010,%edx
   1be61:	89 f8                	mov    %edi,%eax
   1be63:	05 e8 00 04 00       	add    $0x400e8,%eax
  PLIST_ENTRY OldFlink;
  OldFlink = ListHead->Flink;
   1be68:	8b 4a 44             	mov    0x44(%edx),%ecx
   1be6b:	8d 5a 44             	lea    0x44(%edx),%ebx
  Entry->Flink = OldFlink;
  Entry->Blink = ListHead;
   1be6e:	89 58 04             	mov    %ebx,0x4(%eax)
   1be71:	89 8f e8 00 04 00    	mov    %ecx,0x400e8(%edi)
  OldFlink->Blink = Entry;
   1be77:	89 41 04             	mov    %eax,0x4(%ecx)
  ListHead->Flink = Entry;
   1be7a:	89 42 44             	mov    %eax,0x44(%edx)
   InsertHeadList(&VfatGlobalData->VolumeListHead, &DeviceExt->VolumeListEntry);
   ExReleaseResourceLite(&VfatGlobalData->VolumeListLock);
   1be7d:	8b 0d 10 f0 01 00    	mov    0x1f010,%ecx

   /* read serial number */
   DeviceObject->Vpb->SerialNumber = DeviceExt->FatInfo.VolumeID;

   /* read volume label */
   ReadVolumeLabel(DeviceExt,  DeviceObject->Vpb);
   
   Status = STATUS_SUCCESS;
   1be83:	31 db                	xor    %ebx,%ebx
   1be85:	83 c1 0c             	add    $0xc,%ecx
   1be88:	ff 15 e8 01 02 00    	call   *0x201e8
   1be8e:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1be91:	8b 50 24             	mov    0x24(%eax),%edx
   1be94:	8b 87 84 00 04 00    	mov    0x40084(%edi),%eax
   1be9a:	89 42 10             	mov    %eax,0x10(%edx)
   1be9d:	50                   	push   %eax
   1be9e:	50                   	push   %eax
   1be9f:	8b 45 88             	mov    0xffffff88(%ebp),%eax
   1bea2:	8b 40 24             	mov    0x24(%eax),%eax
   1bea5:	50                   	push   %eax
   1bea6:	57                   	push   %edi
   1bea7:	e8 74 5a ff ff       	call   11920 <_ReadVolumeLabel>
   1beac:	83 c4 10             	add    $0x10,%esp
   1beaf:	e9 52 fa ff ff       	jmp    1b906 <_VfatFileSystemControl+0x36>
   1beb4:	8b 8d 64 ff ff ff    	mov    0xffffff64(%ebp),%ecx
   1beba:	c7 81 d4 00 04 00 40 	movl   $0x15340,0x400d4(%ecx)
   1bec1:	53 01 00 
   1bec4:	c7 81 d8 00 04 00 a0 	movl   $0x154a0,0x400d8(%ecx)
   1becb:	54 01 00 
   1bece:	c7 81 dc 00 04 00 f0 	movl   $0x15df0,0x400dc(%ecx)
   1bed5:	5d 01 00 
   1bed8:	e9 e0 fc ff ff       	jmp    1bbbd <_VfatFileSystemControl+0x2ed>
   1bedd:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1bee3:	c7 82 d4 00 04 00 f0 	movl   $0x153f0,0x400d4(%edx)
   1beea:	53 01 00 
   1beed:	c7 82 d8 00 04 00 20 	movl   $0x15620,0x400d8(%edx)
   1bef4:	56 01 00 
   1bef7:	c7 82 dc 00 04 00 f0 	movl   $0x15cf0,0x400dc(%edx)
   1befe:	5c 01 00 
   1bf01:	e9 b7 fc ff ff       	jmp    1bbbd <_VfatFileSystemControl+0x2ed>
ByeBye:

  if (!NT_SUCCESS(Status))
  {
     // cleanup
     if (DeviceExt && DeviceExt->FATFileObject)
        ObDereferenceObject (DeviceExt->FATFileObject);
     if (Fcb)
        vfatDestroyFCB(Fcb);
     if (Ccb)
        vfatDestroyCCB(Ccb);
     if (DeviceObject)
       IoDeleteDevice(DeviceObject);
     if (VolumeFcb)
        vfatDestroyFCB(VolumeFcb);
  }
  return Status;
}


static NTSTATUS
VfatVerify (PVFAT_IRP_CONTEXT IrpContext)
/*
 * FUNCTION: Verify the filesystem
 */
{
  PDEVICE_OBJECT DeviceToVerify;
  NTSTATUS Status = STATUS_SUCCESS;
  FATINFO FatInfo;
  BOOLEAN RecognizedFS;
  PDEVICE_EXTENSION DeviceExt = IrpContext->DeviceExt;

  DPRINT("VfatVerify(IrpContext %x)\n", IrpContext);

  DeviceToVerify = IrpContext->Stack->Parameters.VerifyVolume.DeviceObject;
  Status = VfatBlockDeviceIoControl(DeviceToVerify,
				    IOCTL_DISK_CHECK_VERIFY,
				    NULL,
				    0,
				    NULL,
				    0,
				    TRUE);
  DeviceToVerify->Flags &= ~DO_VERIFY_VOLUME;
  if (!NT_SUCCESS(Status) && Status != STATUS_VERIFY_REQUIRED)
    {
      DPRINT("VfatBlockDeviceIoControl() failed (Status %lx)\n", Status);
      Status = STATUS_WRONG_VOLUME;
    }
  else
    {
      Status = VfatHasFileSystem(DeviceToVerify, &RecognizedFS, &FatInfo);
      if (!NT_SUCCESS(Status) || RecognizedFS == FALSE)
        {
          Status = STATUS_WRONG_VOLUME;
        }
      else if (sizeof(FATINFO) == RtlCompareMemory(&FatInfo, &DeviceExt->FatInfo, sizeof(FATINFO)))
        {
          /*
           * FIXME:
           *   Preformated floppy disks have very often a serial number of 0000:0000. 
           *   We should calculate a crc sum over the sectors from the root directory as secondary volume number. 
	   *   Each write to the root directory must update this crc sum.
           */
  
        }
      else
      	{
      	  Status = STATUS_WRONG_VOLUME;
        }
     }
    
  return Status;
}


static NTSTATUS
VfatGetVolumeBitmap(PVFAT_IRP_CONTEXT IrpContext)
{
   DPRINT("VfatGetVolumeBitmap (IrpContext %x)\n", IrpContext);

   return STATUS_INVALID_DEVICE_REQUEST;
}


static NTSTATUS 
VfatGetRetrievalPointers(PVFAT_IRP_CONTEXT IrpContext)
{
   PIO_STACK_LOCATION Stack;
   LARGE_INTEGER Vcn;
   PRETRIEVAL_POINTERS_BUFFER RetrievalPointers;
   PFILE_OBJECT FileObject;
   ULONG MaxExtentCount;
   PVFATFCB Fcb;
   PDEVICE_EXTENSION DeviceExt;
   ULONG FirstCluster;
   ULONG CurrentCluster;
   ULONG LastCluster;
   NTSTATUS Status;

   DPRINT("VfatGetRetrievalPointers(IrpContext %x)\n", IrpContext);

   DeviceExt = IrpContext->DeviceExt;
   FileObject = IrpContext->FileObject;
   Stack = IrpContext->Stack;
   if (Stack->Parameters.DeviceIoControl.InputBufferLength < sizeof(LARGE_INTEGER) ||
       Stack->Parameters.DeviceIoControl.Type3InputBuffer == NULL)
   {
      return STATUS_INVALID_PARAMETER;
   }
   if (IrpContext->Irp->UserBuffer == NULL ||
       Stack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(RETRIEVAL_POINTERS_BUFFER))
   {
      return STATUS_BUFFER_TOO_SMALL;
   }

   Fcb = FileObject->FsContext;

   ExAcquireResourceSharedLite(&Fcb->MainResource, TRUE);
   
   Vcn = *(PLARGE_INTEGER)Stack->Parameters.DeviceIoControl.Type3InputBuffer;
   RetrievalPointers = IrpContext->Irp->UserBuffer;

   MaxExtentCount = ((Stack->Parameters.DeviceIoControl.OutputBufferLength - sizeof(RetrievalPointers->ExtentCount) - sizeof(RetrievalPointers->StartingVcn)) / sizeof(RetrievalPointers->Extents[0]));


   if (Vcn.QuadPart >= Fcb->RFCB.AllocationSize.QuadPart / DeviceExt->FatInfo.BytesPerCluster)
   {
      Status = STATUS_INVALID_PARAMETER;
      goto ByeBye;
   }

   CurrentCluster = FirstCluster = vfatDirEntryGetFirstCluster(DeviceExt, &Fcb->entry);
   Status = OffsetToCluster(DeviceExt, FirstCluster, 
                            Vcn.u.LowPart * DeviceExt->FatInfo.BytesPerCluster, 
			    &CurrentCluster, FALSE);
   if (!NT_SUCCESS(Status))
   {
      goto ByeBye;
   }

   RetrievalPointers->StartingVcn = Vcn;
   RetrievalPointers->ExtentCount = 0;
   RetrievalPointers->Extents[0].Lcn.u.HighPart = 0;
   RetrievalPointers->Extents[0].Lcn.u.LowPart = CurrentCluster - 2;
   LastCluster = 0;
   while (CurrentCluster != 0xffffffff && RetrievalPointers->ExtentCount < MaxExtentCount)
   {

      LastCluster = CurrentCluster;
      Status = NextCluster(DeviceExt, CurrentCluster, &CurrentCluster, FALSE);
      Vcn.QuadPart++;
      if (!NT_SUCCESS(Status))
      {
         goto ByeBye;
      }
      
      if (LastCluster + 1 != CurrentCluster)
      {
	 RetrievalPointers->Extents[RetrievalPointers->ExtentCount].NextVcn = Vcn;
	 RetrievalPointers->ExtentCount++;
	 if (RetrievalPointers->ExtentCount < MaxExtentCount)
	 {
	    RetrievalPointers->Extents[RetrievalPointers->ExtentCount].Lcn.u.HighPart = 0;
	    RetrievalPointers->Extents[RetrievalPointers->ExtentCount].Lcn.u.LowPart = CurrentCluster - 2;
	 }
      }
   }
   
   IrpContext->Irp->IoStatus.Information = sizeof(RETRIEVAL_POINTERS_BUFFER) + (sizeof(RetrievalPointers->Extents[0]) * (RetrievalPointers->ExtentCount - 1));
   Status = STATUS_SUCCESS;

ByeBye:
   ExReleaseResourceLite(&Fcb->MainResource);

   return Status;
}

static NTSTATUS
VfatMoveFile(PVFAT_IRP_CONTEXT IrpContext)
{
   DPRINT("VfatMoveFile(IrpContext %x)\n", IrpContext);

   return STATUS_INVALID_DEVICE_REQUEST;
}

#ifdef USE_ROS_CC_AND_FS
static NTSTATUS
VfatRosQueryLcnMapping(PVFAT_IRP_CONTEXT IrpContext)
{
   PDEVICE_EXTENSION DeviceExt;
   PROS_QUERY_LCN_MAPPING LcnQuery;
   PIO_STACK_LOCATION Stack;

   DPRINT("VfatRosQueryLcnMapping(IrpContext %x)\n", IrpContext);

   DeviceExt = IrpContext->DeviceExt;
   Stack = IrpContext->Stack;
   if (IrpContext->Irp->AssociatedIrp.SystemBuffer == NULL ||
       Stack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(ROS_QUERY_LCN_MAPPING))
   {
      return STATUS_BUFFER_TOO_SMALL;
   }
   LcnQuery = (PROS_QUERY_LCN_MAPPING)(IrpContext->Irp->AssociatedIrp.SystemBuffer);
   LcnQuery->LcnDiskOffset.QuadPart = DeviceExt->FatInfo.dataStart * DeviceExt->FatInfo.BytesPerSector;
   1bf06:	8b 97 9c 00 04 00    	mov    0x4009c(%edi),%edx
   1bf0c:	8b 87 a8 00 04 00    	mov    0x400a8(%edi),%eax
   1bf12:	0f af c2             	imul   %edx,%eax
   1bf15:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
   1bf1c:	89 01                	mov    %eax,(%ecx)
   IrpContext->Irp->IoStatus.Information = sizeof(ROS_QUERY_LCN_MAPPING);
   1bf1e:	8b 06                	mov    (%esi),%eax
   1bf20:	c7 40 1c 08 00 00 00 	movl   $0x8,0x1c(%eax)
   1bf27:	31 c0                	xor    %eax,%eax
   1bf29:	8b 16                	mov    (%esi),%edx
   1bf2b:	89 c3                	mov    %eax,%ebx
   1bf2d:	e9 d6 f9 ff ff       	jmp    1b908 <_VfatFileSystemControl+0x38>
   1bf32:	8b 46 08             	mov    0x8(%esi),%eax
   1bf35:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
   1bf3b:	8b 46 28             	mov    0x28(%esi),%eax
   1bf3e:	83 7b 08 07          	cmpl   $0x7,0x8(%ebx)
   1bf42:	0f 86 ec 01 00 00    	jbe    1c134 <_VfatFileSystemControl+0x864>
   1bf48:	8b 7b 10             	mov    0x10(%ebx),%edi
   1bf4b:	85 ff                	test   %edi,%edi
   1bf4d:	0f 84 e1 01 00 00    	je     1c134 <_VfatFileSystemControl+0x864>
   1bf53:	8b 16                	mov    (%esi),%edx
   1bf55:	8b 4a 3c             	mov    0x3c(%edx),%ecx
   1bf58:	85 c9                	test   %ecx,%ecx
   1bf5a:	0f 84 32 fb ff ff    	je     1ba92 <_VfatFileSystemControl+0x1c2>
   1bf60:	83 7b 04 1f          	cmpl   $0x1f,0x4(%ebx)
   1bf64:	0f 86 28 fb ff ff    	jbe    1ba92 <_VfatFileSystemControl+0x1c2>
   1bf6a:	8b 40 0c             	mov    0xc(%eax),%eax
   1bf6d:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
   1bf73:	83 c0 34             	add    $0x34,%eax
   1bf76:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
   1bf7c:	52                   	push   %edx
   1bf7d:	52                   	push   %edx
   1bf7e:	6a 01                	push   $0x1
   1bf80:	50                   	push   %eax
   1bf81:	ff 15 40 02 02 00    	call   *0x20240
   1bf87:	5f                   	pop    %edi
   1bf88:	58                   	pop    %eax
   1bf89:	8b 43 10             	mov    0x10(%ebx),%eax
   1bf8c:	8b 10                	mov    (%eax),%edx
   1bf8e:	8b 48 04             	mov    0x4(%eax),%ecx
   1bf91:	89 8d 7c ff ff ff    	mov    %ecx,0xffffff7c(%ebp)
   1bf97:	89 95 78 ff ff ff    	mov    %edx,0xffffff78(%ebp)
   1bf9d:	8b 06                	mov    (%esi),%eax
   1bf9f:	8b 5b 04             	mov    0x4(%ebx),%ebx
   1bfa2:	83 eb 0c             	sub    $0xc,%ebx
   1bfa5:	31 d2                	xor    %edx,%edx
   1bfa7:	8b 78 3c             	mov    0x3c(%eax),%edi
   1bfaa:	89 9d 74 ff ff ff    	mov    %ebx,0xffffff74(%ebp)
   1bfb0:	8b 8d 74 ff ff ff    	mov    0xffffff74(%ebp),%ecx
   1bfb6:	c1 e9 04             	shr    $0x4,%ecx
   1bfb9:	89 8d 74 ff ff ff    	mov    %ecx,0xffffff74(%ebp)
   1bfbf:	8b 8d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ecx
   1bfc5:	8b 81 ac 00 04 00    	mov    0x400ac(%ecx),%eax
   1bfcb:	52                   	push   %edx
   1bfcc:	50                   	push   %eax
   1bfcd:	8b 85 70 ff ff ff    	mov    0xffffff70(%ebp),%eax
   1bfd3:	8b 50 14             	mov    0x14(%eax),%edx
   1bfd6:	52                   	push   %edx
   1bfd7:	8b 40 10             	mov    0x10(%eax),%eax
   1bfda:	50                   	push   %eax
   1bfdb:	e8 20 0b 00 00       	call   1cb00 <___divdi3>
   1bfe0:	83 c4 10             	add    $0x10,%esp
   1bfe3:	39 95 7c ff ff ff    	cmp    %edx,0xffffff7c(%ebp)
   1bfe9:	7c 12                	jl     1bffd <_VfatFileSystemControl+0x72d>
   1bfeb:	0f 8f 4f 01 00 00    	jg     1c140 <_VfatFileSystemControl+0x870>
   1bff1:	39 85 78 ff ff ff    	cmp    %eax,0xffffff78(%ebp)
   1bff7:	0f 83 43 01 00 00    	jae    1c140 <_VfatFileSystemControl+0x870>
   1bffd:	50                   	push   %eax
   1bffe:	50                   	push   %eax
   1bfff:	8b 85 70 ff ff ff    	mov    0xffffff70(%ebp),%eax
   1c005:	05 a4 00 00 00       	add    $0xa4,%eax
   1c00a:	50                   	push   %eax
   1c00b:	8b 85 6c ff ff ff    	mov    0xffffff6c(%ebp),%eax
   1c011:	50                   	push   %eax
   1c012:	e8 49 74 ff ff       	call   13460 <_vfatDirEntryGetFirstCluster>
   1c017:	8d 4d a4             	lea    0xffffffa4(%ebp),%ecx
   1c01a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
   1c021:	51                   	push   %ecx
   1c022:	8b 8d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ecx
   1c028:	89 45 a4             	mov    %eax,0xffffffa4(%ebp)
   1c02b:	89 c2                	mov    %eax,%edx
   1c02d:	8b 99 ac 00 04 00    	mov    0x400ac(%ecx),%ebx
   1c033:	8b 85 78 ff ff ff    	mov    0xffffff78(%ebp),%eax
   1c039:	0f af c3             	imul   %ebx,%eax
   1c03c:	50                   	push   %eax
   1c03d:	52                   	push   %edx
   1c03e:	51                   	push   %ecx
   1c03f:	e8 6c ca ff ff       	call   18ab0 <_OffsetToCluster>
   1c044:	83 c4 20             	add    $0x20,%esp
   1c047:	89 c3                	mov    %eax,%ebx
   1c049:	85 c0                	test   %eax,%eax
   1c04b:	0f 88 f4 00 00 00    	js     1c145 <_VfatFileSystemControl+0x875>
   1c051:	8b 85 78 ff ff ff    	mov    0xffffff78(%ebp),%eax
   1c057:	8b 95 7c ff ff ff    	mov    0xffffff7c(%ebp),%edx
   1c05d:	89 57 0c             	mov    %edx,0xc(%edi)
   1c060:	89 47 08             	mov    %eax,0x8(%edi)
   1c063:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
   1c069:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
   1c070:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
   1c073:	83 e8 02             	sub    $0x2,%eax
   1c076:	89 47 18             	mov    %eax,0x18(%edi)
   1c079:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
   1c07c:	89 95 68 ff ff ff    	mov    %edx,0xffffff68(%ebp)
   1c082:	42                   	inc    %edx
   1c083:	0f 84 af 01 00 00    	je     1c238 <_VfatFileSystemControl+0x968>
   1c089:	31 c0                	xor    %eax,%eax
   1c08b:	31 c9                	xor    %ecx,%ecx
   1c08d:	3b 85 74 ff ff ff    	cmp    0xffffff74(%ebp),%eax
   1c093:	0f 83 a1 01 00 00    	jae    1c23a <_VfatFileSystemControl+0x96a>
   1c099:	8d 4d a4             	lea    0xffffffa4(%ebp),%ecx
   1c09c:	6a 00                	push   $0x0
   1c09e:	8b 9d 68 ff ff ff    	mov    0xffffff68(%ebp),%ebx
   1c0a4:	51                   	push   %ecx
   1c0a5:	8b 8d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ecx
   1c0ab:	53                   	push   %ebx
   1c0ac:	51                   	push   %ecx
   1c0ad:	e8 ae c9 ff ff       	call   18a60 <_NextCluster>
   1c0b2:	83 c4 10             	add    $0x10,%esp
   1c0b5:	89 c3                	mov    %eax,%ebx
   1c0b7:	83 85 78 ff ff ff 01 	addl   $0x1,0xffffff78(%ebp)
   1c0be:	83 95 7c ff ff ff 00 	adcl   $0x0,0xffffff7c(%ebp)
   1c0c5:	85 c0                	test   %eax,%eax
   1c0c7:	78 7c                	js     1c145 <_VfatFileSystemControl+0x875>
   1c0c9:	8b 85 68 ff ff ff    	mov    0xffffff68(%ebp),%eax
   1c0cf:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
   1c0d2:	40                   	inc    %eax
   1c0d3:	39 d0                	cmp    %edx,%eax
   1c0d5:	74 43                	je     1c11a <_VfatFileSystemControl+0x84a>
   1c0d7:	8b 07                	mov    (%edi),%eax
   1c0d9:	8b 95 78 ff ff ff    	mov    0xffffff78(%ebp),%edx
   1c0df:	c1 e0 04             	shl    $0x4,%eax
   1c0e2:	8b 8d 7c ff ff ff    	mov    0xffffff7c(%ebp),%ecx
   1c0e8:	89 4c 38 14          	mov    %ecx,0x14(%eax,%edi,1)
   1c0ec:	89 54 38 10          	mov    %edx,0x10(%eax,%edi,1)
   1c0f0:	8b 07                	mov    (%edi),%eax
   1c0f2:	40                   	inc    %eax
   1c0f3:	89 07                	mov    %eax,(%edi)
   1c0f5:	3b 85 74 ff ff ff    	cmp    0xffffff74(%ebp),%eax
   1c0fb:	73 1a                	jae    1c117 <_VfatFileSystemControl+0x847>
   1c0fd:	c1 e0 04             	shl    $0x4,%eax
   1c100:	c7 44 07 1c 00 00 00 	movl   $0x0,0x1c(%edi,%eax,1)
   1c107:	00 
   1c108:	8b 07                	mov    (%edi),%eax
   1c10a:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
   1c10d:	c1 e0 04             	shl    $0x4,%eax
   1c110:	83 ea 02             	sub    $0x2,%edx
   1c113:	89 54 07 18          	mov    %edx,0x18(%edi,%eax,1)
   1c117:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
   1c11a:	89 95 68 ff ff ff    	mov    %edx,0xffffff68(%ebp)
   1c120:	42                   	inc    %edx
   1c121:	0f 84 11 01 00 00    	je     1c238 <_VfatFileSystemControl+0x968>
   1c127:	8b 0f                	mov    (%edi),%ecx
   1c129:	3b 8d 74 ff ff ff    	cmp    0xffffff74(%ebp),%ecx
   1c12f:	e9 5f ff ff ff       	jmp    1c093 <_VfatFileSystemControl+0x7c3>
   1c134:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
   1c139:	8b 16                	mov    (%esi),%edx
   1c13b:	e9 eb fd ff ff       	jmp    1bf2b <_VfatFileSystemControl+0x65b>
   1c140:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
   1c145:	8b 8d 50 ff ff ff    	mov    0xffffff50(%ebp),%ecx
   1c14b:	ff 15 e8 01 02 00    	call   *0x201e8
   1c151:	89 d8                	mov    %ebx,%eax
   1c153:	8b 16                	mov    (%esi),%edx
   1c155:	e9 d1 fd ff ff       	jmp    1bf2b <_VfatFileSystemControl+0x65b>
   1c15a:	50                   	push   %eax
   1c15b:	68 0a 02 00 00       	push   $0x20a
   1c160:	68 e0 eb 01 00       	push   $0x1ebe0
   1c165:	68 e8 eb 01 00       	push   $0x1ebe8
   1c16a:	ff 15 38 02 02 00    	call   *0x20238
   1c170:	c7 04 24 ac ec 01 00 	movl   $0x1ecac,(%esp)
   1c177:	ff 15 38 02 02 00    	call   *0x20238
   1c17d:	83 c4 10             	add    $0x10,%esp
   1c180:	8b bd 64 ff ff ff    	mov    0xffffff64(%ebp),%edi
   1c186:	85 ff                	test   %edi,%edi
   1c188:	74 10                	je     1c19a <_VfatFileSystemControl+0x8ca>
   1c18a:	8b bd 64 ff ff ff    	mov    0xffffff64(%ebp),%edi
   1c190:	8b 8f 80 00 04 00    	mov    0x40080(%edi),%ecx
   1c196:	85 c9                	test   %ecx,%ecx
   1c198:	75 60                	jne    1c1fa <_VfatFileSystemControl+0x92a>
   1c19a:	8b 8d 60 ff ff ff    	mov    0xffffff60(%ebp),%ecx
   1c1a0:	85 c9                	test   %ecx,%ecx
   1c1a2:	74 12                	je     1c1b6 <_VfatFileSystemControl+0x8e6>
   1c1a4:	83 ec 0c             	sub    $0xc,%esp
   1c1a7:	8b 95 60 ff ff ff    	mov    0xffffff60(%ebp),%edx
   1c1ad:	52                   	push   %edx
   1c1ae:	e8 dd a6 ff ff       	call   16890 <_vfatDestroyFCB>
   1c1b3:	83 c4 10             	add    $0x10,%esp
   1c1b6:	8b 85 58 ff ff ff    	mov    0xffffff58(%ebp),%eax
   1c1bc:	85 c0                	test   %eax,%eax
   1c1be:	0f 84 c5 f7 ff ff    	je     1b989 <_VfatFileSystemControl+0xb9>
   1c1c4:	83 ec 0c             	sub    $0xc,%esp
   1c1c7:	8b 85 58 ff ff ff    	mov    0xffffff58(%ebp),%eax
   1c1cd:	50                   	push   %eax
   1c1ce:	e8 4d a6 ff ff       	call   16820 <_vfatDestroyCCB>
   1c1d3:	83 c4 10             	add    $0x10,%esp
   1c1d6:	e9 ae f7 ff ff       	jmp    1b989 <_VfatFileSystemControl+0xb9>
   1c1db:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
   1c1e1:	c7 80 e0 00 04 00 e0 	movl   $0x136e0,0x400e0(%eax)
   1c1e8:	36 01 00 
   1c1eb:	c7 80 e4 00 04 00 bc 	movl   $0x7bc,0x400e4(%eax)
   1c1f2:	07 00 00 
   1c1f5:	e9 f8 f9 ff ff       	jmp    1bbf2 <_VfatFileSystemControl+0x322>
   1c1fa:	ff 15 04 02 02 00    	call   *0x20204
   1c200:	eb 98                	jmp    1c19a <_VfatFileSystemControl+0x8ca>
   1c202:	8b 95 64 ff ff ff    	mov    0xffffff64(%ebp),%edx
   1c208:	53                   	push   %ebx
   1c209:	53                   	push   %ebx
   1c20a:	68 00 20 00 00       	push   $0x2000
   1c20f:	8b 8a 80 00 04 00    	mov    0x40080(%edx),%ecx
   1c215:	51                   	push   %ecx
   1c216:	e9 80 fb ff ff       	jmp    1bd9b <_VfatFileSystemControl+0x4cb>

	Lookaside->TotalAllocates++;
  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
	if (Entry == NULL) {
		Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
   1c21b:	8b 43 10             	mov    0x10(%ebx),%eax
   1c21e:	40                   	inc    %eax
   1c21f:	89 43 10             	mov    %eax,0x10(%ebx)
		Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
   1c222:	50                   	push   %eax
   1c223:	8b 43 20             	mov    0x20(%ebx),%eax
   1c226:	50                   	push   %eax
   1c227:	8b 43 24             	mov    0x24(%ebx),%eax
   1c22a:	50                   	push   %eax
   1c22b:	8b 43 1c             	mov    0x1c(%ebx),%eax
   1c22e:	50                   	push   %eax
   1c22f:	ff 53 28             	call   *0x28(%ebx)
   1c232:	5f                   	pop    %edi
   1c233:	e9 6d fa ff ff       	jmp    1bca5 <_VfatFileSystemControl+0x3d5>
   1c238:	8b 0f                	mov    (%edi),%ecx
   1c23a:	c1 e1 04             	shl    $0x4,%ecx
   1c23d:	8b 16                	mov    (%esi),%edx
   1c23f:	31 db                	xor    %ebx,%ebx
   1c241:	8d 41 10             	lea    0x10(%ecx),%eax
   1c244:	89 42 1c             	mov    %eax,0x1c(%edx)
   1c247:	e9 f9 fe ff ff       	jmp    1c145 <_VfatFileSystemControl+0x875>
   1c24c:	90                   	nop    
   1c24d:	90                   	nop    
   1c24e:	90                   	nop    
   1c24f:	90                   	nop    

0001c250 <_VfatSetExtendedAttributes>:
   1c250:	55                   	push   %ebp
   1c251:	b8 4f 00 00 c0       	mov    $0xc000004f,%eax
   1c256:	89 e5                	mov    %esp,%ebp
   1c258:	5d                   	pop    %ebp
   1c259:	c3                   	ret    
   1c25a:	90                   	nop    
   1c25b:	90                   	nop    
   1c25c:	90                   	nop    
   1c25d:	90                   	nop    
   1c25e:	90                   	nop    
   1c25f:	90                   	nop    

0001c260 <_VfatFlushFile>:
   1c260:	55                   	push   %ebp
   1c261:	89 e5                	mov    %esp,%ebp
   1c263:	53                   	push   %ebx
   1c264:	83 ec 14             	sub    $0x14,%esp
   1c267:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1c26a:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
   1c26d:	50                   	push   %eax
   1c26e:	6a 00                	push   $0x0
   1c270:	8d 43 28             	lea    0x28(%ebx),%eax
   1c273:	6a 00                	push   $0x0
   1c275:	50                   	push   %eax
   1c276:	e8 45 08 00 00       	call   1cac0 <_CcFlushCache@16>
   1c27b:	81 7d f0 0d 00 00 c0 	cmpl   $0xc000000d,0xfffffff0(%ebp)
   1c282:	74 2c                	je     1c2b0 <_VfatFlushFile+0x50>
   1c284:	f6 83 38 01 00 00 20 	testb  $0x20,0x138(%ebx)
   1c28b:	75 08                	jne    1c295 <_VfatFlushFile+0x35>
   1c28d:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1c290:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
   1c293:	c9                   	leave  
   1c294:	c3                   	ret    
   1c295:	83 ec 0c             	sub    $0xc,%esp
   1c298:	53                   	push   %ebx
   1c299:	e8 c2 7b ff ff       	call   13e60 <_VfatUpdateEntry>
   1c29e:	83 c4 10             	add    $0x10,%esp
   1c2a1:	85 c0                	test   %eax,%eax
   1c2a3:	79 e8                	jns    1c28d <_VfatFlushFile+0x2d>
   1c2a5:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
   1c2a8:	eb e3                	jmp    1c28d <_VfatFlushFile+0x2d>
   1c2aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
   1c2b0:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
   1c2b7:	eb cb                	jmp    1c284 <_VfatFlushFile+0x24>
   1c2b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

0001c2c0 <_VfatFlushVolume>:
   1c2c0:	55                   	push   %ebp
   1c2c1:	89 e5                	mov    %esp,%ebp
   1c2c3:	57                   	push   %edi
   1c2c4:	56                   	push   %esi
   1c2c5:	53                   	push   %ebx
   1c2c6:	83 ec 0c             	sub    $0xc,%esp
   1c2c9:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
   1c2d0:	8b 45 08             	mov    0x8(%ebp),%eax
   1c2d3:	8b 78 74             	mov    0x74(%eax),%edi
   1c2d6:	83 c0 74             	add    $0x74,%eax
   1c2d9:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
   1c2dc:	39 f8                	cmp    %edi,%eax
   1c2de:	75 0a                	jne    1c2ea <_VfatFlushVolume+0x2a>
   1c2e0:	e9 ed 00 00 00       	jmp    1c3d2 <_VfatFlushVolume+0x112>
   1c2e5:	39 7d ec             	cmp    %edi,0xffffffec(%ebp)
   1c2e8:	74 6d                	je     1c357 <_VfatFlushVolume+0x97>
   1c2ea:	83 ec 0c             	sub    $0xc,%esp
   1c2ed:	8d b7 d4 fe ff ff    	lea    0xfffffed4(%edi),%esi
   1c2f3:	8b 3f                	mov    (%edi),%edi
   1c2f5:	56                   	push   %esi
   1c2f6:	e8 15 a6 ff ff       	call   16910 <_vfatFCBIsDirectory>
   1c2fb:	83 c4 10             	add    $0x10,%esp
   1c2fe:	84 c0                	test   %al,%al
   1c300:	75 e3                	jne    1c2e5 <_VfatFlushVolume+0x25>
   1c302:	8d 5e 34             	lea    0x34(%esi),%ebx
   1c305:	50                   	push   %eax
   1c306:	50                   	push   %eax
   1c307:	6a 01                	push   $0x1
   1c309:	53                   	push   %ebx
   1c30a:	ff 15 3c 02 02 00    	call   *0x2023c
   1c310:	56                   	push   %esi
   1c311:	8b 75 08             	mov    0x8(%ebp),%esi
   1c314:	56                   	push   %esi
   1c315:	e8 46 ff ff ff       	call   1c260 <_VfatFlushFile>
   1c31a:	89 d9                	mov    %ebx,%ecx
   1c31c:	89 c6                	mov    %eax,%esi
   1c31e:	ff 15 e8 01 02 00    	call   *0x201e8
   1c324:	83 c4 10             	add    $0x10,%esp
   1c327:	85 f6                	test   %esi,%esi
   1c329:	79 ba                	jns    1c2e5 <_VfatFlushVolume+0x25>
   1c32b:	51                   	push   %ecx
   1c32c:	6a 3d                	push   $0x3d
   1c32e:	68 f0 ec 01 00       	push   $0x1ecf0
   1c333:	68 f8 ec 01 00       	push   $0x1ecf8
   1c338:	ff 15 38 02 02 00    	call   *0x20238
   1c33e:	58                   	pop    %eax
   1c33f:	5a                   	pop    %edx
   1c340:	56                   	push   %esi
   1c341:	68 04 ed 01 00       	push   $0x1ed04
   1c346:	ff 15 38 02 02 00    	call   *0x20238
   1c34c:	83 c4 10             	add    $0x10,%esp
   1c34f:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
   1c352:	39 7d ec             	cmp    %edi,0xffffffec(%ebp)
   1c355:	75 93                	jne    1c2ea <_VfatFlushVolume+0x2a>
   1c357:	8b 55 08             	mov    0x8(%ebp),%edx
   1c35a:	8b 7a 74             	mov    0x74(%edx),%edi
   1c35d:	8d 76 00             	lea    0x0(%esi),%esi
   1c360:	39 7d ec             	cmp    %edi,0xffffffec(%ebp)
   1c363:	74 6d                	je     1c3d2 <_VfatFlushVolume+0x112>
   1c365:	83 ec 0c             	sub    $0xc,%esp
   1c368:	8d b7 d4 fe ff ff    	lea    0xfffffed4(%edi),%esi
   1c36e:	8b 3f                	mov    (%edi),%edi
   1c370:	56                   	push   %esi
   1c371:	e8 9a a5 ff ff       	call   16910 <_vfatFCBIsDirectory>
   1c376:	83 c4 10             	add    $0x10,%esp
   1c379:	84 c0                	test   %al,%al
   1c37b:	74 e3                	je     1c360 <_VfatFlushVolume+0xa0>
   1c37d:	8d 5e 34             	lea    0x34(%esi),%ebx
   1c380:	50                   	push   %eax
   1c381:	50                   	push   %eax
   1c382:	6a 01                	push   $0x1
   1c384:	53                   	push   %ebx
   1c385:	ff 15 3c 02 02 00    	call   *0x2023c
   1c38b:	56                   	push   %esi
   1c38c:	8b 75 08             	mov    0x8(%ebp),%esi
   1c38f:	56                   	push   %esi
   1c390:	e8 cb fe ff ff       	call   1c260 <_VfatFlushFile>
   1c395:	89 d9                	mov    %ebx,%ecx
   1c397:	89 c6                	mov    %eax,%esi
   1c399:	ff 15 e8 01 02 00    	call   *0x201e8
   1c39f:	83 c4 10             	add    $0x10,%esp
   1c3a2:	85 f6                	test   %esi,%esi
   1c3a4:	79 ba                	jns    1c360 <_VfatFlushVolume+0xa0>
   1c3a6:	51                   	push   %ecx
   1c3a7:	6a 4f                	push   $0x4f
   1c3a9:	68 f0 ec 01 00       	push   $0x1ecf0
   1c3ae:	68 f8 ec 01 00       	push   $0x1ecf8
   1c3b3:	ff 15 38 02 02 00    	call   *0x20238
   1c3b9:	58                   	pop    %eax
   1c3ba:	5a                   	pop    %edx
   1c3bb:	56                   	push   %esi
   1c3bc:	68 04 ed 01 00       	push   $0x1ed04
   1c3c1:	ff 15 38 02 02 00    	call   *0x20238
   1c3c7:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
   1c3ca:	83 c4 10             	add    $0x10,%esp
   1c3cd:	39 7d ec             	cmp    %edi,0xffffffec(%ebp)
   1c3d0:	75 93                	jne    1c365 <_VfatFlushVolume+0xa5>
   1c3d2:	8b 55 08             	mov    0x8(%ebp),%edx
   1c3d5:	89 d3                	mov    %edx,%ebx
   1c3d7:	8b 82 80 00 04 00    	mov    0x40080(%edx),%eax
   1c3dd:	83 c3 38             	add    $0x38,%ebx
   1c3e0:	8b 70 0c             	mov    0xc(%eax),%esi
   1c3e3:	57                   	push   %edi
   1c3e4:	57                   	push   %edi
   1c3e5:	6a 01                	push   $0x1
   1c3e7:	53                   	push   %ebx
   1c3e8:	ff 15 3c 02 02 00    	call   *0x2023c
   1c3ee:	56                   	push   %esi
   1c3ef:	8b 75 08             	mov    0x8(%ebp),%esi
   1c3f2:	56                   	push   %esi
   1c3f3:	e8 68 fe ff ff       	call   1c260 <_VfatFlushFile>
   1c3f8:	89 d9                	mov    %ebx,%ecx
   1c3fa:	89 c6                	mov    %eax,%esi
   1c3fc:	ff 15 e8 01 02 00    	call   *0x201e8
   1c402:	83 c4 10             	add    $0x10,%esp
   1c405:	85 f6                	test   %esi,%esi
   1c407:	78 0b                	js     1c414 <_VfatFlushVolume+0x154>
   1c409:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1c40c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1c40f:	5b                   	pop    %ebx
   1c410:	5e                   	pop    %esi
   1c411:	5f                   	pop    %edi
   1c412:	5d                   	pop    %ebp
   1c413:	c3                   	ret    
   1c414:	51                   	push   %ecx
   1c415:	6a 60                	push   $0x60
   1c417:	68 f0 ec 01 00       	push   $0x1ecf0
   1c41c:	68 f8 ec 01 00       	push   $0x1ecf8
   1c421:	ff 15 38 02 02 00    	call   *0x20238
   1c427:	58                   	pop    %eax
   1c428:	5a                   	pop    %edx
   1c429:	56                   	push   %esi
   1c42a:	68 04 ed 01 00       	push   $0x1ed04
   1c42f:	ff 15 38 02 02 00    	call   *0x20238
   1c435:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
   1c438:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
   1c43b:	83 c4 10             	add    $0x10,%esp
   1c43e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1c441:	5b                   	pop    %ebx
   1c442:	5e                   	pop    %esi
   1c443:	5f                   	pop    %edi
   1c444:	5d                   	pop    %ebp
   1c445:	c3                   	ret    
   1c446:	8d 76 00             	lea    0x0(%esi),%esi
   1c449:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

0001c450 <_VfatFlush>:
   1c450:	55                   	push   %ebp
   1c451:	89 e5                	mov    %esp,%ebp
   1c453:	57                   	push   %edi
   1c454:	56                   	push   %esi
   1c455:	53                   	push   %ebx
   1c456:	83 ec 0c             	sub    $0xc,%esp
   1c459:	be 10 00 00 c0       	mov    $0xc0000010,%esi
   1c45e:	a1 10 f0 01 00       	mov    0x1f010,%eax
   1c463:	8b 7d 08             	mov    0x8(%ebp),%edi
   1c466:	8b 40 04             	mov    0x4(%eax),%eax
   1c469:	39 47 04             	cmp    %eax,0x4(%edi)
   1c46c:	74 34                	je     1c4a2 <_VfatFlush+0x52>
   1c46e:	8b 47 28             	mov    0x28(%edi),%eax
   1c471:	8b 70 0c             	mov    0xc(%eax),%esi
   1c474:	f6 86 38 01 00 00 10 	testb  $0x10,0x138(%esi)
   1c47b:	75 53                	jne    1c4d0 <_VfatFlush+0x80>
   1c47d:	8d 5e 34             	lea    0x34(%esi),%ebx
   1c480:	50                   	push   %eax
   1c481:	50                   	push   %eax
   1c482:	6a 01                	push   $0x1
   1c484:	53                   	push   %ebx
   1c485:	ff 15 3c 02 02 00    	call   *0x2023c
   1c48b:	56                   	push   %esi
   1c48c:	8b 47 08             	mov    0x8(%edi),%eax
   1c48f:	50                   	push   %eax
   1c490:	e8 cb fd ff ff       	call   1c260 <_VfatFlushFile>
   1c495:	89 d9                	mov    %ebx,%ecx
   1c497:	89 c6                	mov    %eax,%esi
   1c499:	ff 15 e8 01 02 00    	call   *0x201e8
   1c49f:	83 c4 10             	add    $0x10,%esp
   1c4a2:	8b 07                	mov    (%edi),%eax
   1c4a4:	31 d2                	xor    %edx,%edx
   1c4a6:	89 70 18             	mov    %esi,0x18(%eax)
   1c4a9:	8b 07                	mov    (%edi),%eax
   1c4ab:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
   1c4b2:	8b 0f                	mov    (%edi),%ecx
   1c4b4:	ff 15 00 02 02 00    	call   *0x20200
   1c4ba:	83 ec 0c             	sub    $0xc,%esp
   1c4bd:	57                   	push   %edi
   1c4be:	e8 6d e5 ff ff       	call   1aa30 <_VfatFreeIrpContext>
   1c4c3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
   1c4c6:	89 f0                	mov    %esi,%eax
   1c4c8:	5b                   	pop    %ebx
   1c4c9:	5e                   	pop    %esi
   1c4ca:	5f                   	pop    %edi
   1c4cb:	5d                   	pop    %ebp
   1c4cc:	c3                   	ret    
   1c4cd:	8d 76 00             	lea    0x0(%esi),%esi
   1c4d0:	50                   	push   %eax
   1c4d1:	50                   	push   %eax
   1c4d2:	6a 01                	push   $0x1
   1c4d4:	8b 47 08             	mov    0x8(%edi),%eax
   1c4d7:	50                   	push   %eax
   1c4d8:	ff 15 3c 02 02 00    	call   *0x2023c
   1c4de:	56                   	push   %esi
   1c4df:	8b 47 08             	mov    0x8(%edi),%eax
   1c4e2:	50                   	push   %eax
   1c4e3:	e8 d8 fd ff ff       	call   1c2c0 <_VfatFlushVolume>
   1c4e8:	8b 4f 08             	mov    0x8(%edi),%ecx
   1c4eb:	89 c6                	mov    %eax,%esi
   1c4ed:	eb aa                	jmp    1c499 <_VfatFlush+0x49>
   1c4ef:	90                   	nop    

0001c4f0 <_IoFreeMdl@4>:
   1c4f0:	ff 25 b0 02 02 00    	jmp    *0x202b0
   1c4f6:	90                   	nop    
   1c4f7:	90                   	nop    
	...

0001c500 <@InterlockedDecrement@4>:
   1c500:	ff 25 ec 01 02 00    	jmp    *0x201ec
   1c506:	90                   	nop    
   1c507:	90                   	nop    
	...

0001c510 <_IoFreeIrp@4>:
   1c510:	ff 25 ac 02 02 00    	jmp    *0x202ac
   1c516:	90                   	nop    
   1c517:	90                   	nop    
	...

0001c520 <_KeSetEvent@12>:
   1c520:	ff 25 f4 02 02 00    	jmp    *0x202f4
   1c526:	90                   	nop    
   1c527:	90                   	nop    
	...

0001c530 <_KeInitializeEvent@12>:
   1c530:	ff 25 e8 02 02 00    	jmp    *0x202e8
   1c536:	90                   	nop    
   1c537:	90                   	nop    
	...

0001c540 <_IoBuildSynchronousFsdRequest@28>:
   1c540:	ff 25 98 02 02 00    	jmp    *0x20298
   1c546:	90                   	nop    
   1c547:	90                   	nop    
	...

0001c550 <@IofCallDriver@8>:
   1c550:	ff 25 fc 01 02 00    	jmp    *0x201fc
   1c556:	90                   	nop    
   1c557:	90                   	nop    
	...

0001c560 <_KeWaitForSingleObject@20>:
   1c560:	ff 25 f8 02 02 00    	jmp    *0x202f8
   1c566:	90                   	nop    
   1c567:	90                   	nop    
	...

0001c570 <_IoAllocateIrp@8>:
   1c570:	ff 25 88 02 02 00    	jmp    *0x20288
   1c576:	90                   	nop    
   1c577:	90                   	nop    
	...

0001c580 <_KeGetCurrentThread@0>:
   1c580:	ff 25 e4 02 02 00    	jmp    *0x202e4
   1c586:	90                   	nop    
   1c587:	90                   	nop    
	...

0001c590 <_IoAllocateMdl@20>:
   1c590:	ff 25 8c 02 02 00    	jmp    *0x2028c
   1c596:	90                   	nop    
   1c597:	90                   	nop    
	...

0001c5a0 <_IoBuildPartialMdl@16>:
   1c5a0:	ff 25 94 02 02 00    	jmp    *0x20294
   1c5a6:	90                   	nop    
   1c5a7:	90                   	nop    
	...

0001c5b0 <@InterlockedIncrement@4>:
   1c5b0:	ff 25 f0 01 02 00    	jmp    *0x201f0
   1c5b6:	90                   	nop    
   1c5b7:	90                   	nop    
	...

0001c5c0 <_IoBuildDeviceIoControlRequest@36>:
   1c5c0:	ff 25 90 02 02 00    	jmp    *0x20290
   1c5c6:	90                   	nop    
   1c5c7:	90                   	nop    
	...

0001c5d0 <_ExAcquireResourceExclusiveLite@8>:
   1c5d0:	ff 25 3c 02 02 00    	jmp    *0x2023c
   1c5d6:	90                   	nop    
   1c5d7:	90                   	nop    
	...

0001c5e0 <_CcRosReleaseFileCache@4>:
   1c5e0:	ff 25 24 02 02 00    	jmp    *0x20224
   1c5e6:	90                   	nop    
   1c5e7:	90                   	nop    
	...

0001c5f0 <_IoRemoveShareAccess@8>:
   1c5f0:	ff 25 c4 02 02 00    	jmp    *0x202c4
   1c5f6:	90                   	nop    
   1c5f7:	90                   	nop    
	...

0001c600 <@ExReleaseResourceLite@4>:
   1c600:	ff 25 e8 01 02 00    	jmp    *0x201e8
   1c606:	90                   	nop    
   1c607:	90                   	nop    
	...

0001c610 <@IofCompleteRequest@8>:
   1c610:	ff 25 00 02 02 00    	jmp    *0x20200
   1c616:	90                   	nop    
   1c617:	90                   	nop    
	...

0001c620 <_IoGetRequestorProcess@4>:
   1c620:	ff 25 b8 02 02 00    	jmp    *0x202b8
   1c626:	90                   	nop    
   1c627:	90                   	nop    
	...

0001c630 <_FsRtlFastUnlockAll@16>:
   1c630:	ff 25 74 02 02 00    	jmp    *0x20274
   1c636:	90                   	nop    
   1c637:	90                   	nop    
	...

0001c640 <_DbgPrint>:
   1c640:	ff 25 38 02 02 00    	jmp    *0x20238
   1c646:	90                   	nop    
   1c647:	90                   	nop    
	...

0001c650 <_RtlOemStringToUnicodeString@12>:
   1c650:	ff 25 30 03 02 00    	jmp    *0x20330
   1c656:	90                   	nop    
   1c657:	90                   	nop    
	...

0001c660 <_RtlDowncaseUnicodeString@12>:
   1c660:	ff 25 18 03 02 00    	jmp    *0x20318
   1c666:	90                   	nop    
   1c667:	90                   	nop    
	...

0001c670 <_CcMapData@24>:
   1c670:	ff 25 18 02 02 00    	jmp    *0x20218
   1c676:	90                   	nop    
   1c677:	90                   	nop    
	...

0001c680 <_CcUnpinData@4>:
   1c680:	ff 25 30 02 02 00    	jmp    *0x20230
   1c686:	90                   	nop    
   1c687:	90                   	nop    
	...

0001c690 <_ExAllocatePool@8>:
   1c690:	ff 25 44 02 02 00    	jmp    *0x20244
   1c696:	90                   	nop    
   1c697:	90                   	nop    
	...

0001c6a0 <_FsRtlDoesNameContainWildCards@4>:
   1c6a0:	ff 25 70 02 02 00    	jmp    *0x20270
   1c6a6:	90                   	nop    
   1c6a7:	90                   	nop    
	...

0001c6b0 <_RtlCopyUnicodeString@8>:
   1c6b0:	ff 25 14 03 02 00    	jmp    *0x20314
   1c6b6:	90                   	nop    
   1c6b7:	90                   	nop    
	...

0001c6c0 <_RtlAppendUnicodeStringToString@8>:
   1c6c0:	ff 25 08 03 02 00    	jmp    *0x20308
   1c6c6:	90                   	nop    
   1c6c7:	90                   	nop    
	...

0001c6d0 <_ExFreePool@4>:
   1c6d0:	ff 25 4c 02 02 00    	jmp    *0x2024c
   1c6d6:	90                   	nop    
   1c6d7:	90                   	nop    
	...

0001c6e0 <_RtlUpcaseUnicodeString@12>:
   1c6e0:	ff 25 40 03 02 00    	jmp    *0x20340
   1c6e6:	90                   	nop    
   1c6e7:	90                   	nop    
	...

0001c6f0 <_FsRtlIsNameInExpression@16>:
   1c6f0:	ff 25 7c 02 02 00    	jmp    *0x2027c
   1c6f6:	90                   	nop    
   1c6f7:	90                   	nop    
	...

0001c700 <_FsRtlAreNamesEqual@16>:
   1c700:	ff 25 64 02 02 00    	jmp    *0x20264
   1c706:	90                   	nop    
   1c707:	90                   	nop    
	...

0001c710 <_RtlFreeUnicodeString@4>:
   1c710:	ff 25 20 03 02 00    	jmp    *0x20320
   1c716:	90                   	nop    
   1c717:	90                   	nop    
	...

0001c720 <_IoGetDeviceToVerify@4>:
   1c720:	ff 25 b4 02 02 00    	jmp    *0x202b4
   1c726:	90                   	nop    
   1c727:	90                   	nop    
	...

0001c730 <_IoSetDeviceToVerify@8>:
   1c730:	ff 25 c8 02 02 00    	jmp    *0x202c8
   1c736:	90                   	nop    
   1c737:	90                   	nop    
	...

0001c740 <_IoVerifyVolume@8>:
   1c740:	ff 25 d4 02 02 00    	jmp    *0x202d4
   1c746:	90                   	nop    
   1c747:	90                   	nop    
	...

0001c750 <@InterlockedPopEntrySList@4>:
   1c750:	ff 25 f4 01 02 00    	jmp    *0x201f4
   1c756:	90                   	nop    
   1c757:	90                   	nop    
	...

0001c760 <_IoSetShareAccess@16>:
   1c760:	ff 25 cc 02 02 00    	jmp    *0x202cc
   1c766:	90                   	nop    
   1c767:	90                   	nop    
	...

0001c770 <_IoUpdateShareAccess@8>:
   1c770:	ff 25 d0 02 02 00    	jmp    *0x202d0
   1c776:	90                   	nop    
   1c777:	90                   	nop    
	...

0001c780 <_IoCheckShareAccess@20>:
   1c780:	ff 25 9c 02 02 00    	jmp    *0x2029c
   1c786:	90                   	nop    
   1c787:	90                   	nop    
	...

0001c790 <_RtlTimeFieldsToTime@8>:
   1c790:	ff 25 34 03 02 00    	jmp    *0x20334
   1c796:	90                   	nop    
   1c797:	90                   	nop    
	...

0001c7a0 <_ExLocalTimeToSystemTime@8>:
   1c7a0:	ff 25 58 02 02 00    	jmp    *0x20258
   1c7a6:	90                   	nop    
   1c7a7:	90                   	nop    
	...

0001c7b0 <_ExSystemTimeToLocalTime@8>:
   1c7b0:	ff 25 60 02 02 00    	jmp    *0x20260
   1c7b6:	90                   	nop    
   1c7b7:	90                   	nop    
	...

0001c7c0 <_RtlTimeToTimeFields@8>:
   1c7c0:	ff 25 38 03 02 00    	jmp    *0x20338
   1c7c6:	90                   	nop    
   1c7c7:	90                   	nop    
	...

0001c7d0 <_ExAcquireResourceSharedLite@8>:
   1c7d0:	ff 25 40 02 02 00    	jmp    *0x20240
   1c7d6:	90                   	nop    
   1c7d7:	90                   	nop    
	...

0001c7e0 <_memcpy>:
   1c7e0:	ff 25 44 03 02 00    	jmp    *0x20344
   1c7e6:	90                   	nop    
   1c7e7:	90                   	nop    
	...

0001c7f0 <_memset>:
   1c7f0:	ff 25 4c 03 02 00    	jmp    *0x2034c
   1c7f6:	90                   	nop    
   1c7f7:	90                   	nop    
	...

0001c800 <_wcslen>:
   1c800:	ff 25 58 03 02 00    	jmp    *0x20358
   1c806:	90                   	nop    
   1c807:	90                   	nop    
	...

0001c810 <_CcPinRead@24>:
   1c810:	ff 25 1c 02 02 00    	jmp    *0x2021c
   1c816:	90                   	nop    
   1c817:	90                   	nop    
	...

0001c820 <_CcSetDirtyPinnedData@8>:
   1c820:	ff 25 28 02 02 00    	jmp    *0x20228
   1c826:	90                   	nop    
   1c827:	90                   	nop    
	...

0001c830 <_RtlIsNameLegalDOS8Dot3@12>:
   1c830:	ff 25 2c 03 02 00    	jmp    *0x2032c
   1c836:	90                   	nop    
   1c837:	90                   	nop    
	...

0001c840 <_RtlGenerate8dot3Name@16>:
   1c840:	ff 25 24 03 02 00    	jmp    *0x20324
   1c846:	90                   	nop    
   1c847:	90                   	nop    
	...

0001c850 <_KeQuerySystemTime@4>:
   1c850:	ff 25 f0 02 02 00    	jmp    *0x202f0
   1c856:	90                   	nop    
   1c857:	90                   	nop    
	...

0001c860 <_RtlUnicodeStringToOemString@12>:
   1c860:	ff 25 3c 03 02 00    	jmp    *0x2033c
   1c866:	90                   	nop    
   1c867:	90                   	nop    
	...

0001c870 <_wcsncmp>:
   1c870:	ff 25 5c 03 02 00    	jmp    *0x2035c
   1c876:	90                   	nop    
   1c877:	90                   	nop    
	...

0001c880 <_KeBugCheckEx@20>:
   1c880:	ff 25 dc 02 02 00    	jmp    *0x202dc
   1c886:	90                   	nop    
   1c887:	90                   	nop    
	...

0001c890 <_ExInitializeResourceLite@4>:
   1c890:	ff 25 54 02 02 00    	jmp    *0x20254
   1c896:	90                   	nop    
   1c897:	90                   	nop    
	...

0001c8a0 <_FsRtlInitializeFileLock@12>:
   1c8a0:	ff 25 78 02 02 00    	jmp    *0x20278
   1c8a6:	90                   	nop    
   1c8a7:	90                   	nop    
	...

0001c8b0 <@InterlockedPushEntrySList@8>:
   1c8b0:	ff 25 f8 01 02 00    	jmp    *0x201f8
   1c8b6:	90                   	nop    
   1c8b7:	90                   	nop    
	...

0001c8c0 <_FsRtlUninitializeFileLock@4>:
   1c8c0:	ff 25 84 02 02 00    	jmp    *0x20284
   1c8c6:	90                   	nop    
   1c8c7:	90                   	nop    
	...

0001c8d0 <_ExDeleteResourceLite@4>:
   1c8d0:	ff 25 48 02 02 00    	jmp    *0x20248
   1c8d6:	90                   	nop    
   1c8d7:	90                   	nop    
	...

0001c8e0 <@ObfDereferenceObject@4>:
   1c8e0:	ff 25 04 02 02 00    	jmp    *0x20204
   1c8e6:	90                   	nop    
   1c8e7:	90                   	nop    
	...

0001c8f0 <_RtlEqualUnicodeString@12>:
   1c8f0:	ff 25 1c 03 02 00    	jmp    *0x2031c
   1c8f6:	90                   	nop    
   1c8f7:	90                   	nop    
	...

0001c900 <_IoCreateStreamFileObject@8>:
   1c900:	ff 25 a4 02 02 00    	jmp    *0x202a4
   1c906:	90                   	nop    
   1c907:	90                   	nop    
	...

0001c910 <_CcRosInitializeFileCache@8>:
   1c910:	ff 25 20 02 02 00    	jmp    *0x20220
   1c916:	90                   	nop    
   1c917:	90                   	nop    
	...

0001c920 <_KeBugCheck@4>:
   1c920:	ff 25 d8 02 02 00    	jmp    *0x202d8
   1c926:	90                   	nop    
   1c927:	90                   	nop    
	...

0001c930 <_RtlAppendUnicodeToString@8>:
   1c930:	ff 25 0c 03 02 00    	jmp    *0x2030c
   1c936:	90                   	nop    
   1c937:	90                   	nop    
	...

0001c940 <_memmove>:
   1c940:	ff 25 48 03 02 00    	jmp    *0x20348
   1c946:	90                   	nop    
   1c947:	90                   	nop    
	...

0001c950 <_towlower>:
   1c950:	ff 25 50 03 02 00    	jmp    *0x20350
   1c956:	90                   	nop    
   1c957:	90                   	nop    
	...

0001c960 <_CcSetFileSizes@8>:
   1c960:	ff 25 2c 02 02 00    	jmp    *0x2022c
   1c966:	90                   	nop    
   1c967:	90                   	nop    
	...

0001c970 <_MmFlushImageSection@8>:
   1c970:	ff 25 fc 02 02 00    	jmp    *0x202fc
   1c976:	90                   	nop    
   1c977:	90                   	nop    
	...

0001c980 <_CcGetFileObjectFromSectionPtrs@4>:
   1c980:	ff 25 14 02 02 00    	jmp    *0x20214
   1c986:	90                   	nop    
   1c987:	90                   	nop    
	...

0001c990 <_IoCreateDevice@28>:
   1c990:	ff 25 a0 02 02 00    	jmp    *0x202a0
   1c996:	90                   	nop    
   1c997:	90                   	nop    
	...

0001c9a0 <_ExInitializeNPagedLookasideList@28>:
   1c9a0:	ff 25 50 02 02 00    	jmp    *0x20250
   1c9a6:	90                   	nop    
   1c9a7:	90                   	nop    
	...

0001c9b0 <_IoRegisterFileSystem@4>:
   1c9b0:	ff 25 c0 02 02 00    	jmp    *0x202c0
   1c9b6:	90                   	nop    
   1c9b7:	90                   	nop    
	...

0001c9c0 <_RtlInitUnicodeString@8>:
   1c9c0:	ff 25 28 03 02 00    	jmp    *0x20328
   1c9c6:	90                   	nop    
   1c9c7:	90                   	nop    
	...

0001c9d0 <_CcCopyRead@24>:
   1c9d0:	ff 25 08 02 02 00    	jmp    *0x20208
   1c9d6:	90                   	nop    
   1c9d7:	90                   	nop    
	...

0001c9e0 <_FsRtlCheckLockForReadAccess@8>:
   1c9e0:	ff 25 68 02 02 00    	jmp    *0x20268
   1c9e6:	90                   	nop    
   1c9e7:	90                   	nop    
	...

0001c9f0 <_CcZeroData@16>:
   1c9f0:	ff 25 34 02 02 00    	jmp    *0x20234
   1c9f6:	90                   	nop    
   1c9f7:	90                   	nop    
	...

0001ca00 <_CcCopyWrite@20>:
   1ca00:	ff 25 0c 02 02 00    	jmp    *0x2020c
   1ca06:	90                   	nop    
   1ca07:	90                   	nop    
	...

0001ca10 <_FsRtlCheckLockForWriteAccess@8>:
   1ca10:	ff 25 6c 02 02 00    	jmp    *0x2026c
   1ca16:	90                   	nop    
   1ca17:	90                   	nop    
	...

0001ca20 <_wcschr>:
   1ca20:	ff 25 54 03 02 00    	jmp    *0x20354
   1ca26:	90                   	nop    
   1ca27:	90                   	nop    
	...

0001ca30 <_FsRtlProcessFileLock@12>:
   1ca30:	ff 25 80 02 02 00    	jmp    *0x20280
   1ca36:	90                   	nop    
   1ca37:	90                   	nop    
	...

0001ca40 <_IoIsOperationSynchronous@4>:
   1ca40:	ff 25 bc 02 02 00    	jmp    *0x202bc
   1ca46:	90                   	nop    
   1ca47:	90                   	nop    
	...

0001ca50 <_KeEnterCriticalRegion@0>:
   1ca50:	ff 25 e0 02 02 00    	jmp    *0x202e0
   1ca56:	90                   	nop    
   1ca57:	90                   	nop    
	...

0001ca60 <_KeLeaveCriticalRegion@0>:
   1ca60:	ff 25 ec 02 02 00    	jmp    *0x202ec
   1ca66:	90                   	nop    
   1ca67:	90                   	nop    
	...

0001ca70 <_ExQueueWorkItem@8>:
   1ca70:	ff 25 5c 02 02 00    	jmp    *0x2025c
   1ca76:	90                   	nop    
   1ca77:	90                   	nop    
	...

0001ca80 <_MmMapLockedPagesSpecifyCache@24>:
   1ca80:	ff 25 00 03 02 00    	jmp    *0x20300
   1ca86:	90                   	nop    
   1ca87:	90                   	nop    
	...

0001ca90 <_MmProbeAndLockPages@12>:
   1ca90:	ff 25 04 03 02 00    	jmp    *0x20304
   1ca96:	90                   	nop    
   1ca97:	90                   	nop    
	...

0001caa0 <_IoDeleteDevice@4>:
   1caa0:	ff 25 a8 02 02 00    	jmp    *0x202a8
   1caa6:	90                   	nop    
   1caa7:	90                   	nop    
	...

0001cab0 <_RtlCompareMemory@12>:
   1cab0:	ff 25 10 03 02 00    	jmp    *0x20310
   1cab6:	90                   	nop    
   1cab7:	90                   	nop    
	...

0001cac0 <_CcFlushCache@16>:
   1cac0:	ff 25 10 02 02 00    	jmp    *0x20210
   1cac6:	90                   	nop    
   1cac7:	90                   	nop    
	...

0001cad0 <@ExAcquireFastMutex@4>:
   1cad0:	ff 25 d4 01 02 00    	jmp    *0x201d4
   1cad6:	90                   	nop    
   1cad7:	90                   	nop    
	...

0001cae0 <@ExReleaseFastMutex@4>:
   1cae0:	ff 25 d8 01 02 00    	jmp    *0x201d8
   1cae6:	90                   	nop    
   1cae7:	90                   	nop    
	...

0001caf0 <_KeGetCurrentIrql@0>:
   1caf0:	ff 25 dc 01 02 00    	jmp    *0x201dc
   1caf6:	90                   	nop    
   1caf7:	90                   	nop    
	...

0001cb00 <___divdi3>:
   1cb00:	55                   	push   %ebp
   1cb01:	89 e5                	mov    %esp,%ebp
   1cb03:	83 ec 20             	sub    $0x20,%esp
   1cb06:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
   1cb09:	8b 5d 0c             	mov    0xc(%ebp),%ebx
   1cb0c:	8b 4d 08             	mov    0x8(%ebp),%ecx
   1cb0f:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
   1cb12:	8b 45 10             	mov    0x10(%ebp),%eax
   1cb15:	85 db                	test   %ebx,%ebx
   1cb17:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
   1cb1a:	8b 55 14             	mov    0x14(%ebp),%edx
   1cb1d:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
   1cb24:	0f 88 aa 00 00 00    	js     1cbd4 <___divdi3+0xd4>
   1cb2a:	85 d2                	test   %edx,%edx
   1cb2c:	0f 88 93 00 00 00    	js     1cbc5 <___divdi3+0xc5>
   1cb32:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
   1cb35:	85 d2                	test   %edx,%edx
   1cb37:	89 c6                	mov    %eax,%esi
   1cb39:	75 35                	jne    1cb70 <___divdi3+0x70>
   1cb3b:	39 d8                	cmp    %ebx,%eax
   1cb3d:	76 63                	jbe    1cba2 <___divdi3+0xa2>
   1cb3f:	89 c8                	mov    %ecx,%eax
   1cb41:	89 da                	mov    %ebx,%edx
   1cb43:	f7 f6                	div    %esi
   1cb45:	89 c1                	mov    %eax,%ecx
   1cb47:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   1cb4e:	89 c8                	mov    %ecx,%eax
   1cb50:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
   1cb53:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
   1cb56:	85 c9                	test   %ecx,%ecx
   1cb58:	74 07                	je     1cb61 <___divdi3+0x61>
   1cb5a:	f7 d8                	neg    %eax
   1cb5c:	83 d2 00             	adc    $0x0,%edx
   1cb5f:	f7 da                	neg    %edx
   1cb61:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
   1cb64:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
   1cb67:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
   1cb6a:	89 ec                	mov    %ebp,%esp
   1cb6c:	5d                   	pop    %ebp
   1cb6d:	c3                   	ret    
   1cb6e:	89 f6                	mov    %esi,%esi
   1cb70:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
   1cb77:	31 c9                	xor    %ecx,%ecx
   1cb79:	39 da                	cmp    %ebx,%edx
   1cb7b:	77 d1                	ja     1cb4e <___divdi3+0x4e>
   1cb7d:	0f bd c2             	bsr    %edx,%eax
   1cb80:	83 f0 1f             	xor    $0x1f,%eax
   1cb83:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
   1cb86:	75 5f                	jne    1cbe7 <___divdi3+0xe7>
   1cb88:	39 d3                	cmp    %edx,%ebx
   1cb8a:	b9 01 00 00 00       	mov    $0x1,%ecx
   1cb8f:	0f 97 c0             	seta   %al
   1cb92:	39 75 ec             	cmp    %esi,0xffffffec(%ebp)
   1cb95:	0f 93 c2             	setae  %dl
   1cb98:	09 d0                	or     %edx,%eax
   1cb9a:	a8 01                	test   $0x1,%al
   1cb9c:	75 a9                	jne    1cb47 <___divdi3+0x47>
   1cb9e:	31 c9                	xor    %ecx,%ecx
   1cba0:	eb a5                	jmp    1cb47 <___divdi3+0x47>
   1cba2:	85 c0                	test   %eax,%eax
   1cba4:	75 0d                	jne    1cbb3 <___divdi3+0xb3>
   1cba6:	b8 01 00 00 00       	mov    $0x1,%eax
   1cbab:	31 c9                	xor    %ecx,%ecx
   1cbad:	31 d2                	xor    %edx,%edx
   1cbaf:	f7 f1                	div    %ecx
   1cbb1:	89 c6                	mov    %eax,%esi
   1cbb3:	89 d8                	mov    %ebx,%eax
   1cbb5:	31 d2                	xor    %edx,%edx
   1cbb7:	f7 f6                	div    %esi
   1cbb9:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
   1cbbc:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1cbbf:	f7 f6                	div    %esi
   1cbc1:	89 c1                	mov    %eax,%ecx
   1cbc3:	eb 89                	jmp    1cb4e <___divdi3+0x4e>
   1cbc5:	f7 55 f0             	notl   0xfffffff0(%ebp)
   1cbc8:	f7 d8                	neg    %eax
   1cbca:	83 d2 00             	adc    $0x0,%edx
   1cbcd:	f7 da                	neg    %edx
   1cbcf:	e9 5e ff ff ff       	jmp    1cb32 <___divdi3+0x32>
   1cbd4:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,0xfffffff0(%ebp)
   1cbdb:	f7 d9                	neg    %ecx
   1cbdd:	83 d3 00             	adc    $0x0,%ebx
   1cbe0:	f7 db                	neg    %ebx
   1cbe2:	e9 43 ff ff ff       	jmp    1cb2a <___divdi3+0x2a>
   1cbe7:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
   1cbea:	b9 20 00 00 00       	mov    $0x20,%ecx
   1cbef:	29 c1                	sub    %eax,%ecx
   1cbf1:	89 4d e0             	mov    %ecx,0xffffffe0(%ebp)
   1cbf4:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
   1cbf8:	89 f0                	mov    %esi,%eax
   1cbfa:	d3 e2                	shl    %cl,%edx
   1cbfc:	0f b6 4d e0          	movzbl 0xffffffe0(%ebp),%ecx
   1cc00:	89 d7                	mov    %edx,%edi
   1cc02:	89 da                	mov    %ebx,%edx
   1cc04:	d3 e8                	shr    %cl,%eax
   1cc06:	09 c7                	or     %eax,%edi
   1cc08:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
   1cc0b:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
   1cc0f:	d3 e6                	shl    %cl,%esi
   1cc11:	0f b6 4d e0          	movzbl 0xffffffe0(%ebp),%ecx
   1cc15:	d3 ea                	shr    %cl,%edx
   1cc17:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
   1cc1b:	d3 e3                	shl    %cl,%ebx
   1cc1d:	0f b6 4d e0          	movzbl 0xffffffe0(%ebp),%ecx
   1cc21:	d3 e8                	shr    %cl,%eax
   1cc23:	09 c3                	or     %eax,%ebx
   1cc25:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
   1cc29:	89 d8                	mov    %ebx,%eax
   1cc2b:	f7 f7                	div    %edi
   1cc2d:	89 d3                	mov    %edx,%ebx
   1cc2f:	d3 65 ec             	shll   %cl,0xffffffec(%ebp)
   1cc32:	89 c1                	mov    %eax,%ecx
   1cc34:	f7 e6                	mul    %esi
   1cc36:	39 da                	cmp    %ebx,%edx
   1cc38:	89 c6                	mov    %eax,%esi
   1cc3a:	77 13                	ja     1cc4f <___divdi3+0x14f>
   1cc3c:	0f 94 c0             	sete   %al
   1cc3f:	31 d2                	xor    %edx,%edx
   1cc41:	3b 75 ec             	cmp    0xffffffec(%ebp),%esi
   1cc44:	0f 97 c2             	seta   %dl
   1cc47:	85 d0                	test   %edx,%eax
   1cc49:	0f 84 f8 fe ff ff    	je     1cb47 <___divdi3+0x47>
   1cc4f:	49                   	dec    %ecx
   1cc50:	e9 f2 fe ff ff       	jmp    1cb47 <___divdi3+0x47>
   1cc55:	90                   	nop    
   1cc56:	90                   	nop    
   1cc57:	90                   	nop    
   1cc58:	90                   	nop    
   1cc59:	90                   	nop    
   1cc5a:	90                   	nop    
   1cc5b:	90                   	nop    
   1cc5c:	90                   	nop    
   1cc5d:	90                   	nop    
   1cc5e:	90                   	nop    
   1cc5f:	90                   	nop    

0001cc60 <__CTOR_LIST__>:
   1cc60:	ff                   	(bad)  
   1cc61:	ff                   	(bad)  
   1cc62:	ff                   	(bad)  
   1cc63:	ff 00                	incl   (%eax)
   1cc65:	00 00                	add    %al,(%eax)
	...

0001cc68 <__DTOR_LIST__>:
   1cc68:	ff                   	(bad)  
   1cc69:	ff                   	(bad)  
   1cc6a:	ff                   	(bad)  
   1cc6b:	ff 00                	incl   (%eax)
   1cc6d:	00 00                	add    %al,(%eax)
	...
