
fmifs.nostrip.dll:     file format pei-i386

Disassembly of section .text:

76df1000 <_Chkdsk@36>:
	BOOLEAN		ScanDrive,
	PVOID		Unused2,
	PVOID		Unused3,
	PFMIFSCALLBACK	Callback)
{
76df1000:	55                   	push   %ebp
76df1001:	89 e5                	mov    %esp,%ebp
76df1003:	83 ec 0c             	sub    $0xc,%esp
  BOOLEAN	Argument = FALSE;

  /* FAIL immediately */
  Callback (DONE,	/* Command */
76df1006:	8d 45 ff             	lea    0xffffffff(%ebp),%eax
76df1009:	c6 45 ff 00          	movb   $0x0,0xffffffff(%ebp)
76df100d:	50                   	push   %eax
76df100e:	6a 00                	push   $0x0
76df1010:	6a 0b                	push   $0xb
76df1012:	ff 55 28             	call   *0x28(%ebp)
76df1015:	c9                   	leave  
76df1016:	c2 24 00             	ret    $0x24
76df1019:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

76df1020 <_ChkdskEx@0>:
	    0,		/* DWORD Modifier */
	    &Argument);	/* Argument */
}


/* FMIFS.2 (SP4 only?) */
VOID STDCALL
ChkdskEx (VOID)
{
76df1020:	55                   	push   %ebp
76df1021:	89 e5                	mov    %esp,%ebp
76df1023:	5d                   	pop    %ebp
76df1024:	c3                   	ret    
76df1025:	90                   	nop    
76df1026:	90                   	nop    
76df1027:	90                   	nop    
76df1028:	90                   	nop    
76df1029:	90                   	nop    
76df102a:	90                   	nop    
76df102b:	90                   	nop    
76df102c:	90                   	nop    
76df102d:	90                   	nop    
76df102e:	90                   	nop    
76df102f:	90                   	nop    

76df1030 <_EnableVolumeCompression@8>:
76df1030:	55                   	push   %ebp
76df1031:	89 e5                	mov    %esp,%ebp
76df1033:	56                   	push   %esi
76df1034:	53                   	push   %ebx
76df1035:	83 ec 14             	sub    $0x14,%esp
76df1038:	8b 45 0c             	mov    0xc(%ebp),%eax
76df103b:	8b 55 08             	mov    0x8(%ebp),%edx
76df103e:	6a 00                	push   $0x0
76df1040:	66 89 45 f2          	mov    %ax,0xfffffff2(%ebp)
76df1044:	68 00 00 00 02       	push   $0x2000000
76df1049:	6a 03                	push   $0x3
76df104b:	6a 00                	push   $0x0
76df104d:	6a 03                	push   $0x3
76df104f:	6a 03                	push   $0x3
76df1051:	52                   	push   %edx
76df1052:	e8 d9 1d 00 00       	call   76df2e30 <_CreateFileW@28>
76df1057:	89 c6                	mov    %eax,%esi
76df1059:	58                   	pop    %eax
}

/* EOF */
76df105a:	31 c0                	xor    %eax,%eax
76df105c:	83 fe ff             	cmp    $0xffffffff,%esi
76df105f:	74 33                	je     76df1094 <_EnableVolumeCompression@8+0x64>
76df1061:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
76df1064:	6a 00                	push   $0x0
76df1066:	50                   	push   %eax
76df1067:	8d 45 f2             	lea    0xfffffff2(%ebp),%eax
76df106a:	6a 00                	push   $0x0
76df106c:	6a 00                	push   $0x0
76df106e:	6a 02                	push   $0x2
76df1070:	50                   	push   %eax
76df1071:	68 40 c0 09 00       	push   $0x9c040
76df1076:	56                   	push   %esi
76df1077:	e8 c4 1d 00 00       	call   76df2e40 <_DeviceIoControl@32>
76df107c:	83 ec 0c             	sub    $0xc,%esp
76df107f:	89 c3                	mov    %eax,%ebx
76df1081:	56                   	push   %esi
76df1082:	e8 c9 1d 00 00       	call   76df2e50 <_CloseHandle@4>
76df1087:	83 c4 0c             	add    $0xc,%esp
76df108a:	85 db                	test   %ebx,%ebx
76df108c:	0f 95 c0             	setne  %al
76df108f:	25 ff 00 00 00       	and    $0xff,%eax
76df1094:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
76df1097:	5b                   	pop    %ebx
76df1098:	5e                   	pop    %esi
76df1099:	5d                   	pop    %ebp
76df109a:	c2 08 00             	ret    $0x8
76df109d:	90                   	nop    
76df109e:	90                   	nop    
76df109f:	90                   	nop    

76df10a0 <_DiskCopy@0>:
76df10a0:	55                   	push   %ebp
76df10a1:	89 e5                	mov    %esp,%ebp
76df10a3:	5d                   	pop    %ebp
76df10a4:	c3                   	ret    
76df10a5:	90                   	nop    
76df10a6:	90                   	nop    
76df10a7:	90                   	nop    
76df10a8:	90                   	nop    
76df10a9:	90                   	nop    
76df10aa:	90                   	nop    
76df10ab:	90                   	nop    
76df10ac:	90                   	nop    
76df10ad:	90                   	nop    
76df10ae:	90                   	nop    
76df10af:	90                   	nop    

76df10b0 <_Extend@0>:
76df10b0:	55                   	push   %ebp
76df10b1:	89 e5                	mov    %esp,%ebp
76df10b3:	5d                   	pop    %ebp
76df10b4:	c3                   	ret    
76df10b5:	90                   	nop    
76df10b6:	90                   	nop    
76df10b7:	90                   	nop    
76df10b8:	90                   	nop    
76df10b9:	90                   	nop    
76df10ba:	90                   	nop    
76df10bb:	90                   	nop    
76df10bc:	90                   	nop    
76df10bd:	90                   	nop    
76df10be:	90                   	nop    
76df10bf:	90                   	nop    

76df10c0 <_Format@0>:
76df10c0:	55                   	push   %ebp
76df10c1:	89 e5                	mov    %esp,%ebp
76df10c3:	5d                   	pop    %ebp
76df10c4:	c3                   	ret    
76df10c5:	8d 74 26 00          	lea    0x0(%esi),%esi
76df10c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

76df10d0 <_FormatEx@28>:
76df10d0:	55                   	push   %ebp
76df10d1:	89 e5                	mov    %esp,%ebp
76df10d3:	57                   	push   %edi
76df10d4:	56                   	push   %esi
76df10d5:	53                   	push   %ebx
76df10d6:	83 ec 24             	sub    $0x24,%esp
76df10d9:	8d 7d e8             	lea    0xffffffe8(%ebp),%edi
76df10dc:	8b 45 08             	mov    0x8(%ebp),%eax
76df10df:	c6 45 df 00          	movb   $0x0,0xffffffdf(%ebp)
76df10e3:	0f b6 75 18          	movzbl 0x18(%ebp),%esi
76df10e7:	50                   	push   %eax
76df10e8:	57                   	push   %edi
76df10e9:	ff 15 d0 60 df 76    	call   *0x76df60d0
76df10ef:	8d 5d e0             	lea    0xffffffe0(%ebp),%ebx
76df10f2:	8b 45 14             	mov    0x14(%ebp),%eax
76df10f5:	50                   	push   %eax
76df10f6:	53                   	push   %ebx
76df10f7:	ff 15 d0 60 df 76    	call   *0x76df60d0
76df10fd:	c7 04 24 03 00 00 00 	movl   $0x3,(%esp)
76df1104:	68 00 30 df 76       	push   $0x76df3000
76df1109:	8b 45 10             	mov    0x10(%ebp),%eax
76df110c:	50                   	push   %eax
76df110d:	e8 4e 1c 00 00       	call   76df2d60 <__wcsnicmp>
76df1112:	83 c4 10             	add    $0x10,%esp
76df1115:	85 c0                	test   %eax,%eax
76df1117:	75 57                	jne    76df1170 <_FormatEx@28+0xa0>
76df1119:	51                   	push   %ecx
76df111a:	6a 32                	push   $0x32
76df111c:	68 08 30 df 76       	push   $0x76df3008
76df1121:	68 11 30 df 76       	push   $0x76df3011
76df1126:	ff 15 ac 60 df 76    	call   *0x76df60ac
76df112c:	c7 04 24 1a 30 df 76 	movl   $0x76df301a,(%esp)
76df1133:	ff 15 ac 60 df 76    	call   *0x76df60ac
76df1139:	e8 a2 00 00 00       	call   76df11e0 <_VfatInitialize>
76df113e:	58                   	pop    %eax
76df113f:	8b 45 20             	mov    0x20(%ebp),%eax
76df1142:	5a                   	pop    %edx
76df1143:	50                   	push   %eax
76df1144:	8b 45 1c             	mov    0x1c(%ebp),%eax
76df1147:	50                   	push   %eax
76df1148:	89 f0                	mov    %esi,%eax
76df114a:	25 ff 00 00 00       	and    $0xff,%eax
76df114f:	50                   	push   %eax
76df1150:	53                   	push   %ebx
76df1151:	8b 4d 0c             	mov    0xc(%ebp),%ecx
76df1154:	51                   	push   %ecx
76df1155:	57                   	push   %edi
76df1156:	e8 95 00 00 00       	call   76df11f0 <_VfatFormat>
76df115b:	83 c4 20             	add    $0x20,%esp
76df115e:	e8 9d 03 00 00       	call   76df1500 <_VfatCleanup>
76df1163:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df1166:	5b                   	pop    %ebx
76df1167:	5e                   	pop    %esi
76df1168:	5f                   	pop    %edi
76df1169:	5d                   	pop    %ebp
76df116a:	c2 1c 00             	ret    $0x1c
76df116d:	8d 76 00             	lea    0x0(%esi),%esi
76df1170:	8d 45 df             	lea    0xffffffdf(%ebp),%eax
76df1173:	52                   	push   %edx
76df1174:	50                   	push   %eax
76df1175:	6a 00                	push   $0x0
76df1177:	6a 0b                	push   $0xb
76df1179:	ff 55 20             	call   *0x20(%ebp)
76df117c:	58                   	pop    %eax
76df117d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df1180:	5b                   	pop    %ebx
76df1181:	5e                   	pop    %esi
76df1182:	5f                   	pop    %edi
76df1183:	5d                   	pop    %ebp
76df1184:	c2 1c 00             	ret    $0x1c
76df1187:	90                   	nop    
76df1188:	90                   	nop    
76df1189:	90                   	nop    
76df118a:	90                   	nop    
76df118b:	90                   	nop    
76df118c:	90                   	nop    
76df118d:	90                   	nop    
76df118e:	90                   	nop    
76df118f:	90                   	nop    

76df1190 <_InitializeFmIfs@12>:
76df1190:	55                   	push   %ebp
76df1191:	89 e5                	mov    %esp,%ebp
76df1193:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
76df1197:	74 09                	je     76df11a2 <_InitializeFmIfs@12+0x12>
76df1199:	b8 01 00 00 00       	mov    $0x1,%eax
76df119e:	5d                   	pop    %ebp
76df119f:	c2 0c 00             	ret    $0xc
76df11a2:	a1 00 40 df 76       	mov    0x76df4000,%eax
76df11a7:	85 c0                	test   %eax,%eax
76df11a9:	75 ee                	jne    76df1199 <_InitializeFmIfs@12+0x9>
76df11ab:	b8 01 00 00 00       	mov    $0x1,%eax
76df11b0:	c7 05 00 40 df 76 01 	movl   $0x1,0x76df4000
76df11b7:	00 00 00 
76df11ba:	5d                   	pop    %ebp
76df11bb:	c2 0c 00             	ret    $0xc
76df11be:	90                   	nop    
76df11bf:	90                   	nop    

76df11c0 <_SetLabel@0>:
76df11c0:	55                   	push   %ebp
76df11c1:	89 e5                	mov    %esp,%ebp
76df11c3:	5d                   	pop    %ebp
76df11c4:	c3                   	ret    
76df11c5:	90                   	nop    
76df11c6:	90                   	nop    
76df11c7:	90                   	nop    
76df11c8:	90                   	nop    
76df11c9:	90                   	nop    
76df11ca:	90                   	nop    
76df11cb:	90                   	nop    
76df11cc:	90                   	nop    
76df11cd:	90                   	nop    
76df11ce:	90                   	nop    
76df11cf:	90                   	nop    

76df11d0 <_QuerySupportedMedia@0>:
76df11d0:	55                   	push   %ebp
76df11d1:	89 e5                	mov    %esp,%ebp
76df11d3:	5d                   	pop    %ebp
76df11d4:	c3                   	ret    
76df11d5:	90                   	nop    
76df11d6:	90                   	nop    
76df11d7:	90                   	nop    
76df11d8:	90                   	nop    
76df11d9:	90                   	nop    
76df11da:	90                   	nop    
76df11db:	90                   	nop    
76df11dc:	90                   	nop    
76df11dd:	90                   	nop    
76df11de:	90                   	nop    
76df11df:	90                   	nop    

76df11e0 <_VfatInitialize>:


NTSTATUS
VfatInitialize(VOID)
{
76df11e0:	55                   	push   %ebp
  DPRINT("VfatInitialize()\n");

  return STATUS_SUCCESS;
}
76df11e1:	31 c0                	xor    %eax,%eax
76df11e3:	89 e5                	mov    %esp,%ebp
76df11e5:	5d                   	pop    %ebp
76df11e6:	c3                   	ret    
76df11e7:	89 f6                	mov    %esi,%esi
76df11e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

76df11f0 <_VfatFormat>:


NTSTATUS
VfatFormat (PUNICODE_STRING DriveRoot,
	    ULONG MediaFlag,
	    PUNICODE_STRING Label,
	    BOOLEAN QuickFormat,
	    ULONG ClusterSize,
	    PFMIFSCALLBACK Callback)
{
76df11f0:	55                   	push   %ebp
76df11f1:	89 e5                	mov    %esp,%ebp
76df11f3:	57                   	push   %edi
76df11f4:	56                   	push   %esi
76df11f5:	53                   	push   %ebx
76df11f6:	81 ec c4 00 00 00    	sub    $0xc4,%esp
  OBJECT_ATTRIBUTES ObjectAttributes;
  DISK_GEOMETRY DiskGeometry;
  IO_STATUS_BLOCK Iosb;
  HANDLE FileHandle;
  PARTITION_INFORMATION PartitionInfo;
  FORMAT_CONTEXT Context;
  NTSTATUS Status;

  DPRINT("VfatFormat(DriveRoot '%wZ')\n", DriveRoot);

  Context.TotalSectorCount = 0;
  Context.CurrentSectorCount = 0;
  Context.Callback = Callback;
  Context.Success = FALSE;
  Context.Percent = 0;

  InitializeObjectAttributes(&ObjectAttributes,
    DriveRoot,
    0,
    NULL,
    NULL);

  Status = NtOpenFile(&FileHandle,
76df11fc:	8d b5 60 ff ff ff    	lea    0xffffff60(%ebp),%esi
76df1202:	8a 45 14             	mov    0x14(%ebp),%al
76df1205:	8b 55 1c             	mov    0x1c(%ebp),%edx
76df1208:	88 85 5b ff ff ff    	mov    %al,0xffffff5b(%ebp)
76df120e:	8b 45 08             	mov    0x8(%ebp),%eax
76df1211:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
76df1214:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
76df1217:	6a 10                	push   $0x10
76df1219:	6a 01                	push   $0x1
76df121b:	56                   	push   %esi
76df121c:	50                   	push   %eax
76df121d:	8d 85 5c ff ff ff    	lea    0xffffff5c(%ebp),%eax
76df1223:	68 02 01 00 00       	push   $0x102
76df1228:	c7 85 6c ff ff ff 00 	movl   $0x0,0xffffff6c(%ebp)
76df122f:	00 00 00 
76df1232:	c7 85 70 ff ff ff 00 	movl   $0x0,0xffffff70(%ebp)
76df1239:	00 00 00 
76df123c:	89 95 68 ff ff ff    	mov    %edx,0xffffff68(%ebp)
76df1242:	c6 85 74 ff ff ff 00 	movb   $0x0,0xffffff74(%ebp)
76df1249:	c7 85 78 ff ff ff 00 	movl   $0x0,0xffffff78(%ebp)
76df1250:	00 00 00 
76df1253:	c7 45 c8 18 00 00 00 	movl   $0x18,0xffffffc8(%ebp)
76df125a:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
76df1261:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
76df1268:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
76df126f:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
76df1276:	50                   	push   %eax
76df1277:	e8 f4 1a 00 00       	call   76df2d70 <_NtOpenFile@24>
76df127c:	89 c3                	mov    %eax,%ebx
    FILE_WRITE_ACCESS | FILE_WRITE_ATTRIBUTES,
    &ObjectAttributes,
    &Iosb,
    FILE_SHARE_READ,
    FILE_SYNCHRONOUS_IO_ALERT);
  if (!NT_SUCCESS(Status))
76df127e:	5f                   	pop    %edi
76df127f:	85 db                	test   %ebx,%ebx
76df1281:	58                   	pop    %eax
76df1282:	0f 88 a7 01 00 00    	js     76df142f <_VfatFormat+0x23f>
    {
      DPRINT("NtOpenFile() failed with status 0x%.08x\n", Status);
      return Status;
    }

  Status = NtDeviceIoControlFile(FileHandle,
76df1288:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
76df128b:	8b 8d 5c ff ff ff    	mov    0xffffff5c(%ebp),%ecx
76df1291:	53                   	push   %ebx
76df1292:	53                   	push   %ebx
76df1293:	6a 18                	push   $0x18
76df1295:	50                   	push   %eax
76df1296:	6a 00                	push   $0x0
76df1298:	6a 00                	push   $0x0
76df129a:	68 00 00 07 00       	push   $0x70000
76df129f:	56                   	push   %esi
76df12a0:	6a 00                	push   $0x0
76df12a2:	6a 00                	push   $0x0
76df12a4:	6a 00                	push   $0x0
76df12a6:	51                   	push   %ecx
76df12a7:	e8 d4 1a 00 00       	call   76df2d80 <_NtDeviceIoControlFile@40>
76df12ac:	89 c3                	mov    %eax,%ebx
    NULL,
    NULL,
    NULL,
    &Iosb,
    IOCTL_DISK_GET_DRIVE_GEOMETRY,
    NULL,
    0,
    &DiskGeometry,
    sizeof(DISK_GEOMETRY));
  if (!NT_SUCCESS(Status))
76df12ae:	58                   	pop    %eax
76df12af:	85 db                	test   %ebx,%ebx
76df12b1:	5a                   	pop    %edx
76df12b2:	0f 88 27 02 00 00    	js     76df14df <_VfatFormat+0x2ef>
    {
      DPRINT("IOCTL_DISK_GET_DRIVE_GEOMETRY failed with status 0x%.08x\n", Status);
      NtClose(FileHandle);
      return Status;
    }

  if (DiskGeometry.MediaType == FixedMedia)
76df12b8:	83 7d b0 0c          	cmpl   $0xc,0xffffffb0(%ebp)
76df12bc:	0f 84 b1 01 00 00    	je     76df1473 <_VfatFormat+0x283>
    {
      DPRINT("Cylinders %I64d\n", DiskGeometry.Cylinders.QuadPart);
      DPRINT("TracksPerCylinder %ld\n", DiskGeometry.TracksPerCylinder);
      DPRINT("SectorsPerTrack %ld\n", DiskGeometry.SectorsPerTrack);
      DPRINT("BytesPerSector %ld\n", DiskGeometry.BytesPerSector);
      DPRINT("DiskSize %I64d\n",
        DiskGeometry.Cylinders.QuadPart *
        (ULONGLONG)DiskGeometry.TracksPerCylinder *
        (ULONGLONG)DiskGeometry.SectorsPerTrack *
        (ULONGLONG)DiskGeometry.BytesPerSector);

      Status = NtDeviceIoControlFile(FileHandle,
        NULL,
        NULL,
        NULL,
        &Iosb,
        IOCTL_DISK_GET_PARTITION_INFO,
        NULL,
        0,
        &PartitionInfo,
        sizeof(PARTITION_INFORMATION));
      if (!NT_SUCCESS(Status))
        {
          DPRINT("IOCTL_DISK_GET_PARTITION_INFO failed with status 0x%.08x\n", Status);
          NtClose(FileHandle);
          return Status;
        }

      /*
       * FIXME: This is a hack!
       *        Partitioning software MUST set the correct number of hidden sectors!
       */
      PartitionInfo.HiddenSectors = DiskGeometry.SectorsPerTrack;
    }
  else
    {
      PartitionInfo.PartitionType = 0;
      PartitionInfo.StartingOffset.QuadPart = 0ULL;
      PartitionInfo.PartitionLength.QuadPart =
76df12c2:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
76df12c5:	8b 45 a8             	mov    0xffffffa8(%ebp),%eax
76df12c8:	f7 e1                	mul    %ecx
76df12ca:	31 db                	xor    %ebx,%ebx
76df12cc:	8b 7d a8             	mov    0xffffffa8(%ebp),%edi
76df12cf:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
76df12d5:	8b 45 ac             	mov    0xffffffac(%ebp),%eax
76df12d8:	0f af fb             	imul   %ebx,%edi
76df12db:	0f af c1             	imul   %ecx,%eax
76df12de:	89 d6                	mov    %edx,%esi
76df12e0:	8b 9d 50 ff ff ff    	mov    0xffffff50(%ebp),%ebx
76df12e6:	01 fe                	add    %edi,%esi
76df12e8:	31 ff                	xor    %edi,%edi
76df12ea:	0f af df             	imul   %edi,%ebx
76df12ed:	8d 04 06             	lea    (%esi,%eax,1),%eax
76df12f0:	8b 75 b8             	mov    0xffffffb8(%ebp),%esi
76df12f3:	89 85 54 ff ff ff    	mov    %eax,0xffffff54(%ebp)
76df12f9:	8b 85 50 ff ff ff    	mov    0xffffff50(%ebp),%eax
76df12ff:	f7 e6                	mul    %esi
76df1301:	89 85 48 ff ff ff    	mov    %eax,0xffffff48(%ebp)
76df1307:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
76df130d:	0f af c6             	imul   %esi,%eax
76df1310:	89 d1                	mov    %edx,%ecx
76df1312:	8b bd 48 ff ff ff    	mov    0xffffff48(%ebp),%edi
76df1318:	01 d9                	add    %ebx,%ecx
76df131a:	31 db                	xor    %ebx,%ebx
76df131c:	0f af fb             	imul   %ebx,%edi
76df131f:	8d 04 01             	lea    (%ecx,%eax,1),%eax
76df1322:	8b 4d bc             	mov    0xffffffbc(%ebp),%ecx
76df1325:	89 85 4c ff ff ff    	mov    %eax,0xffffff4c(%ebp)
76df132b:	8b 85 48 ff ff ff    	mov    0xffffff48(%ebp),%eax
76df1331:	f7 e1                	mul    %ecx
76df1333:	89 85 40 ff ff ff    	mov    %eax,0xffffff40(%ebp)
76df1339:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
76df133f:	0f af c8             	imul   %eax,%ecx
76df1342:	89 d6                	mov    %edx,%esi
76df1344:	8b 85 40 ff ff ff    	mov    0xffffff40(%ebp),%eax
76df134a:	01 fe                	add    %edi,%esi
76df134c:	c6 45 a0 00          	movb   $0x0,0xffffffa0(%ebp)
76df1350:	c7 45 88 00 00 00 00 	movl   $0x0,0xffffff88(%ebp)
76df1357:	c7 45 8c 00 00 00 00 	movl   $0x0,0xffffff8c(%ebp)
76df135e:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
76df1361:	89 45 90             	mov    %eax,0xffffff90(%ebp)
76df1364:	89 8d 44 ff ff ff    	mov    %ecx,0xffffff44(%ebp)
	DiskGeometry.Cylinders.QuadPart *
	(ULONGLONG)DiskGeometry.TracksPerCylinder *
	(ULONGLONG)DiskGeometry.SectorsPerTrack *
	(ULONGLONG)DiskGeometry.BytesPerSector;
      PartitionInfo.HiddenSectors = 0;
76df136a:	c7 45 98 00 00 00 00 	movl   $0x0,0xffffff98(%ebp)
76df1371:	8b 95 44 ff ff ff    	mov    0xffffff44(%ebp),%edx
      PartitionInfo.PartitionNumber = 0;
76df1377:	c7 45 9c 00 00 00 00 	movl   $0x0,0xffffff9c(%ebp)
76df137e:	89 55 94             	mov    %edx,0xffffff94(%ebp)
      PartitionInfo.BootIndicator = FALSE;
76df1381:	c6 45 a1 00          	movb   $0x0,0xffffffa1(%ebp)
      PartitionInfo.RewritePartition = FALSE;
76df1385:	c6 45 a3 00          	movb   $0x0,0xffffffa3(%ebp)
      PartitionInfo.RecognizedPartition = FALSE;
76df1389:	c6 45 a2 00          	movb   $0x0,0xffffffa2(%ebp)
76df138d:	8d 7d 88             	lea    0xffffff88(%ebp),%edi
    }

  DPRINT("PartitionType 0x%x\n", PartitionInfo.PartitionType);
  DPRINT("StartingOffset %I64d\n", PartitionInfo.StartingOffset.QuadPart);
  DPRINT("PartitionLength %I64d\n", PartitionInfo.PartitionLength.QuadPart);
  DPRINT("HiddenSectors %lu\n", PartitionInfo.HiddenSectors);
  DPRINT("PartitionNumber %d\n", PartitionInfo.PartitionNumber);
  DPRINT("BootIndicator 0x%x\n", PartitionInfo.BootIndicator);
  DPRINT("RewritePartition %d\n", PartitionInfo.RewritePartition);
  DPRINT("RecognizedPartition %d\n", PartitionInfo.RecognizedPartition);

  if (Callback != NULL)
76df1390:	8b 45 1c             	mov    0x1c(%ebp),%eax
76df1393:	85 c0                	test   %eax,%eax
76df1395:	74 1a                	je     76df13b1 <_VfatFormat+0x1c1>
    {
      Context.Percent = 0;
76df1397:	c7 85 78 ff ff ff 00 	movl   $0x0,0xffffff78(%ebp)
76df139e:	00 00 00 
      Callback (PROGRESS, 0, (PVOID)&Context.Percent);
76df13a1:	50                   	push   %eax
76df13a2:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
76df13a8:	50                   	push   %eax
76df13a9:	6a 00                	push   $0x0
76df13ab:	6a 00                	push   $0x0
76df13ad:	ff 55 1c             	call   *0x1c(%ebp)
76df13b0:	58                   	pop    %eax
    }

  if (PartitionInfo.PartitionLength.QuadPart < (4200ULL * 1024ULL))
76df13b1:	8b 55 94             	mov    0xffffff94(%ebp),%edx
76df13b4:	8b 45 90             	mov    0xffffff90(%ebp),%eax
76df13b7:	83 fa 00             	cmp    $0x0,%edx
76df13ba:	77 10                	ja     76df13cc <_VfatFormat+0x1dc>
76df13bc:	3d ff 9f 41 00       	cmp    $0x419fff,%eax
76df13c1:	0f 86 e9 00 00 00    	jbe    76df14b0 <_VfatFormat+0x2c0>
    {
      /* FAT12 (volume is smaller than 4.1MB) */
      Status = Fat12Format (FileHandle,
			    &PartitionInfo,
			    &DiskGeometry,
			    Label,
			    QuickFormat,
			    ClusterSize,
			    &Context);
    }
  else if (PartitionInfo.PartitionLength.QuadPart < (512ULL * 1024ULL * 1024ULL))
76df13c7:	83 fa 00             	cmp    $0x0,%edx
76df13ca:	76 74                	jbe    76df1440 <_VfatFormat+0x250>
    {
      /* FAT16 (volume is smaller than 512MB) */
      Status = Fat16Format (FileHandle,
			    &PartitionInfo,
			    &DiskGeometry,
			    Label,
			    QuickFormat,
			    ClusterSize,
			    &Context);
    }
  else
    {
      /* FAT32 (volume is 512MB or larger) */
      Status = Fat32Format (FileHandle,
76df13cc:	50                   	push   %eax
76df13cd:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
76df13d3:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
76df13d6:	50                   	push   %eax
76df13d7:	8b 45 18             	mov    0x18(%ebp),%eax
76df13da:	50                   	push   %eax
76df13db:	31 c0                	xor    %eax,%eax
76df13dd:	8a 85 5b ff ff ff    	mov    0xffffff5b(%ebp),%al
76df13e3:	50                   	push   %eax
76df13e4:	8b 45 10             	mov    0x10(%ebp),%eax
76df13e7:	50                   	push   %eax
76df13e8:	52                   	push   %edx
76df13e9:	57                   	push   %edi
76df13ea:	8b bd 5c ff ff ff    	mov    0xffffff5c(%ebp),%edi
76df13f0:	57                   	push   %edi
76df13f1:	e8 4a 03 00 00       	call   76df1740 <_Fat32Format>
76df13f6:	83 c4 14             	add    $0x14,%esp
			    &PartitionInfo,
			    &DiskGeometry,
			    Label,
			    QuickFormat,
			    ClusterSize,
			    &Context);
    }

  NtClose(FileHandle);
76df13f9:	8b b5 5c ff ff ff    	mov    0xffffff5c(%ebp),%esi
76df13ff:	89 c3                	mov    %eax,%ebx
76df1401:	56                   	push   %esi
76df1402:	e8 89 19 00 00       	call   76df2d90 <_NtClose@4>

  if (Callback != NULL)
76df1407:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
76df140a:	83 c4 0c             	add    $0xc,%esp
76df140d:	85 c9                	test   %ecx,%ecx
76df140f:	74 1e                	je     76df142f <_VfatFormat+0x23f>
    {
      Context.Success = (BOOLEAN)(NT_SUCCESS(Status));
76df1411:	89 d8                	mov    %ebx,%eax
76df1413:	83 f0 ff             	xor    $0xffffffff,%eax
      Callback (DONE, 0, (PVOID)&Context.Success);
76df1416:	52                   	push   %edx
76df1417:	c1 e8 1f             	shr    $0x1f,%eax
76df141a:	88 85 74 ff ff ff    	mov    %al,0xffffff74(%ebp)
76df1420:	8d 85 74 ff ff ff    	lea    0xffffff74(%ebp),%eax
76df1426:	50                   	push   %eax
76df1427:	6a 00                	push   $0x0
76df1429:	6a 0b                	push   $0xb
76df142b:	ff 55 1c             	call   *0x1c(%ebp)
76df142e:	58                   	pop    %eax
    }

  DPRINT("VfatFormat() done. Status 0x%.08x\n", Status);

  return Status;
}
76df142f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df1432:	89 d8                	mov    %ebx,%eax
76df1434:	5b                   	pop    %ebx
76df1435:	5e                   	pop    %esi
76df1436:	5f                   	pop    %edi
76df1437:	5d                   	pop    %ebp
76df1438:	c3                   	ret    
76df1439:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
76df1440:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
76df1445:	77 85                	ja     76df13cc <_VfatFormat+0x1dc>
76df1447:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
76df144d:	52                   	push   %edx
76df144e:	50                   	push   %eax
76df144f:	8b 45 18             	mov    0x18(%ebp),%eax
76df1452:	50                   	push   %eax
76df1453:	31 c0                	xor    %eax,%eax
76df1455:	8a 85 5b ff ff ff    	mov    0xffffff5b(%ebp),%al
76df145b:	50                   	push   %eax
76df145c:	8b 45 10             	mov    0x10(%ebp),%eax
76df145f:	50                   	push   %eax
76df1460:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
76df1463:	50                   	push   %eax
76df1464:	8b 85 5c ff ff ff    	mov    0xffffff5c(%ebp),%eax
76df146a:	57                   	push   %edi
76df146b:	50                   	push   %eax
76df146c:	e8 af 0b 00 00       	call   76df2020 <_Fat16Format>
76df1471:	eb 83                	jmp    76df13f6 <_VfatFormat+0x206>
76df1473:	8b 9d 5c ff ff ff    	mov    0xffffff5c(%ebp),%ebx
76df1479:	57                   	push   %edi
76df147a:	57                   	push   %edi
76df147b:	8d 7d 88             	lea    0xffffff88(%ebp),%edi
76df147e:	6a 20                	push   $0x20
76df1480:	57                   	push   %edi
76df1481:	6a 00                	push   $0x0
76df1483:	6a 00                	push   $0x0
76df1485:	68 04 40 07 00       	push   $0x74004
76df148a:	56                   	push   %esi
76df148b:	6a 00                	push   $0x0
76df148d:	6a 00                	push   $0x0
76df148f:	6a 00                	push   $0x0
76df1491:	53                   	push   %ebx
76df1492:	e8 e9 18 00 00       	call   76df2d80 <_NtDeviceIoControlFile@40>
76df1497:	5a                   	pop    %edx
76df1498:	89 c3                	mov    %eax,%ebx
76df149a:	59                   	pop    %ecx
76df149b:	85 c0                	test   %eax,%eax
76df149d:	78 40                	js     76df14df <_VfatFormat+0x2ef>
76df149f:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
76df14a2:	89 45 98             	mov    %eax,0xffffff98(%ebp)
76df14a5:	e9 e6 fe ff ff       	jmp    76df1390 <_VfatFormat+0x1a0>
76df14aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
76df14b0:	50                   	push   %eax
76df14b1:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
76df14b7:	8b 75 18             	mov    0x18(%ebp),%esi
76df14ba:	50                   	push   %eax
76df14bb:	31 c0                	xor    %eax,%eax
76df14bd:	8a 85 5b ff ff ff    	mov    0xffffff5b(%ebp),%al
76df14c3:	8b 5d 10             	mov    0x10(%ebp),%ebx
76df14c6:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
76df14c9:	8b 8d 5c ff ff ff    	mov    0xffffff5c(%ebp),%ecx
76df14cf:	56                   	push   %esi
76df14d0:	50                   	push   %eax
76df14d1:	53                   	push   %ebx
76df14d2:	52                   	push   %edx
76df14d3:	57                   	push   %edi
76df14d4:	51                   	push   %ecx
76df14d5:	e8 c6 12 00 00       	call   76df27a0 <_Fat12Format>
76df14da:	e9 17 ff ff ff       	jmp    76df13f6 <_VfatFormat+0x206>
76df14df:	83 ec 0c             	sub    $0xc,%esp
76df14e2:	8b 85 5c ff ff ff    	mov    0xffffff5c(%ebp),%eax
76df14e8:	50                   	push   %eax
76df14e9:	e8 a2 18 00 00       	call   76df2d90 <_NtClose@4>
76df14ee:	e9 3c ff ff ff       	jmp    76df142f <_VfatFormat+0x23f>
76df14f3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
76df14f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

76df1500 <_VfatCleanup>:


NTSTATUS
VfatCleanup(VOID)
{
76df1500:	55                   	push   %ebp
  DPRINT("VfatCleanup()\n");

  return STATUS_SUCCESS;
}
76df1501:	31 c0                	xor    %eax,%eax
76df1503:	89 e5                	mov    %esp,%ebp
76df1505:	5d                   	pop    %ebp
76df1506:	c3                   	ret    
76df1507:	89 f6                	mov    %esi,%esi
76df1509:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

76df1510 <_UpdateProgress>:


VOID
UpdateProgress (PFORMAT_CONTEXT Context,
		ULONG Increment)
{
76df1510:	55                   	push   %ebp
76df1511:	89 e5                	mov    %esp,%ebp
76df1513:	56                   	push   %esi
76df1514:	53                   	push   %ebx
  ULONG NewPercent;

  Context->CurrentSectorCount += (ULONGLONG)Increment;


  NewPercent = (Context->CurrentSectorCount * 100ULL) / Context->TotalSectorCount;
76df1515:	bb 64 00 00 00       	mov    $0x64,%ebx
76df151a:	8b 75 08             	mov    0x8(%ebp),%esi
76df151d:	8b 45 0c             	mov    0xc(%ebp),%eax
76df1520:	8b 4e 08             	mov    0x8(%esi),%ecx
76df1523:	01 c1                	add    %eax,%ecx
76df1525:	89 c8                	mov    %ecx,%eax
76df1527:	89 4e 08             	mov    %ecx,0x8(%esi)
76df152a:	f7 e3                	mul    %ebx
76df152c:	89 c1                	mov    %eax,%ecx
76df152e:	89 d3                	mov    %edx,%ebx
76df1530:	8b 46 04             	mov    0x4(%esi),%eax
76df1533:	31 d2                	xor    %edx,%edx
76df1535:	52                   	push   %edx
76df1536:	50                   	push   %eax
76df1537:	53                   	push   %ebx
76df1538:	51                   	push   %ecx
76df1539:	e8 22 19 00 00       	call   76df2e60 <___udivdi3>
76df153e:	83 c4 10             	add    $0x10,%esp
76df1541:	89 c2                	mov    %eax,%edx

  if (NewPercent > Context->Percent)
76df1543:	39 46 10             	cmp    %eax,0x10(%esi)
76df1546:	72 08                	jb     76df1550 <_UpdateProgress+0x40>
    {
      Context->Percent = NewPercent;
      Context->Callback (PROGRESS, 0, &Context->Percent);
    }
}
76df1548:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
76df154b:	5b                   	pop    %ebx
76df154c:	5e                   	pop    %esi
76df154d:	5d                   	pop    %ebp
76df154e:	c3                   	ret    
76df154f:	90                   	nop    
76df1550:	89 56 10             	mov    %edx,0x10(%esi)
76df1553:	50                   	push   %eax
76df1554:	8d 46 10             	lea    0x10(%esi),%eax
76df1557:	50                   	push   %eax
76df1558:	6a 00                	push   $0x0
76df155a:	6a 00                	push   $0x0
76df155c:	ff 16                	call   *(%esi)
76df155e:	58                   	pop    %eax
76df155f:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
76df1562:	5b                   	pop    %ebx
76df1563:	5e                   	pop    %esi
76df1564:	5d                   	pop    %ebp
76df1565:	c3                   	ret    
76df1566:	90                   	nop    
76df1567:	90                   	nop    
76df1568:	90                   	nop    
76df1569:	90                   	nop    
76df156a:	90                   	nop    
76df156b:	90                   	nop    
76df156c:	90                   	nop    
76df156d:	90                   	nop    
76df156e:	90                   	nop    
76df156f:	90                   	nop    

76df1570 <_Fat32WriteFAT>:
76df1570:	55                   	push   %ebp
76df1571:	89 e5                	mov    %esp,%ebp
76df1573:	57                   	push   %edi
76df1574:	56                   	push   %esi
76df1575:	53                   	push   %ebx
76df1576:	83 ec 30             	sub    $0x30,%esp
76df1579:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
76df157c:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df157f:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1585:	68 00 00 01 00       	push   $0x10000
76df158a:	6a 00                	push   $0x0
76df158c:	8b 40 18             	mov    0x18(%eax),%eax
76df158f:	50                   	push   %eax
76df1590:	e8 0b 18 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df1595:	89 c6                	mov    %eax,%esi
76df1597:	58                   	pop    %eax
76df1598:	85 f6                	test   %esi,%esi
76df159a:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df159f:	0f 84 91 01 00 00    	je     76df1736 <_Fat32WriteFAT+0x1c6>
76df15a5:	57                   	push   %edi
76df15a6:	68 00 00 01 00       	push   $0x10000
76df15ab:	6a 00                	push   $0x0
76df15ad:	56                   	push   %esi
76df15ae:	e8 6d 18 00 00       	call   76df2e20 <_memset>
76df15b3:	c6 06 f8             	movb   $0xf8,(%esi)
76df15b6:	c6 46 01 ff          	movb   $0xff,0x1(%esi)
76df15ba:	c6 46 02 ff          	movb   $0xff,0x2(%esi)
76df15be:	c6 46 03 0f          	movb   $0xf,0x3(%esi)
76df15c2:	c6 46 04 ff          	movb   $0xff,0x4(%esi)
76df15c6:	c6 46 05 ff          	movb   $0xff,0x5(%esi)
76df15ca:	c6 46 06 ff          	movb   $0xff,0x6(%esi)
76df15ce:	c6 46 07 0f          	movb   $0xf,0x7(%esi)
76df15d2:	c6 46 08 ff          	movb   $0xff,0x8(%esi)
76df15d6:	c6 46 09 ff          	movb   $0xff,0x9(%esi)
76df15da:	c6 46 0a ff          	movb   $0xff,0xa(%esi)
76df15de:	c6 46 0b 0f          	movb   $0xf,0xb(%esi)
76df15e2:	8b 55 08             	mov    0x8(%ebp),%edx
76df15e5:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
76df15e8:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df15ef:	bb 00 00 01 00       	mov    $0x10000,%ebx
76df15f4:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df15f8:	66 8b 52 0b          	mov    0xb(%edx),%dx
76df15fc:	25 ff ff 00 00       	and    $0xffff,%eax
76df1601:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1607:	01 c8                	add    %ecx,%eax
76df1609:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df1610:	0f af c2             	imul   %edx,%eax
76df1613:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df1616:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
76df1619:	50                   	push   %eax
76df161a:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
76df161d:	52                   	push   %edx
76df161e:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
76df1621:	56                   	push   %esi
76df1622:	52                   	push   %edx
76df1623:	6a 00                	push   $0x0
76df1625:	6a 00                	push   $0x0
76df1627:	6a 00                	push   $0x0
76df1629:	50                   	push   %eax
76df162a:	e8 81 17 00 00       	call   76df2db0 <_NtWriteFile@36>
    Buffer,
    BootSector->BytesPerSector,
    &FileOffset,
    NULL);
  if (!NT_SUCCESS(Status))
76df162f:	83 c4 0c             	add    $0xc,%esp
76df1632:	85 c0                	test   %eax,%eax
76df1634:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df1637:	0f 88 e3 00 00 00    	js     76df1720 <_Fat32WriteFAT+0x1b0>
    {
      DPRINT("NtWriteFile() failed (Status %lx)\n", Status);
      RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
      return(Status);
    }

  UpdateProgress (Context, 1);
76df163d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
76df1640:	57                   	push   %edi
76df1641:	57                   	push   %edi
76df1642:	6a 01                	push   $0x1
76df1644:	51                   	push   %ecx
76df1645:	e8 c6 fe ff ff       	call   76df1510 <_UpdateProgress>

  /* Zero the begin of the buffer */
  memset(Buffer, 0, 12);
76df164a:	89 f7                	mov    %esi,%edi
76df164c:	fc                   	cld    
76df164d:	31 c0                	xor    %eax,%eax
76df164f:	b9 03 00 00 00       	mov    $0x3,%ecx
76df1654:	f3 ab                	repz stos %eax,%es:(%edi)

  /* Zero the rest of the FAT */
  Sectors = 64 * 1024 / BootSector->BytesPerSector;
76df1656:	8b 4d 08             	mov    0x8(%ebp),%ecx
76df1659:	89 da                	mov    %ebx,%edx
76df165b:	89 d8                	mov    %ebx,%eax
  for (i = 1; i < BootSector->FATSectors32; i += Sectors)
76df165d:	83 c4 10             	add    $0x10,%esp
76df1660:	66 8b 79 0b          	mov    0xb(%ecx),%di
76df1664:	c7 45 d0 01 00 00 00 	movl   $0x1,0xffffffd0(%ebp)
76df166b:	c1 fa 1f             	sar    $0x1f,%edx
76df166e:	89 f9                	mov    %edi,%ecx
76df1670:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df1676:	f7 f9                	idiv   %ecx
76df1678:	89 c3                	mov    %eax,%ebx
76df167a:	8b 45 08             	mov    0x8(%ebp),%eax
76df167d:	8b 48 24             	mov    0x24(%eax),%ecx
76df1680:	83 f9 01             	cmp    $0x1,%ecx
76df1683:	77 34                	ja     76df16b9 <_Fat32WriteFAT+0x149>
76df1685:	e9 96 00 00 00       	jmp    76df1720 <_Fat32WriteFAT+0x1b0>
76df168a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
    {
      /* Zero some sectors of the FAT */
      FileOffset.QuadPart = (SectorOffset + BootSector->ReservedSectors + i) * BootSector->BytesPerSector;

      if ((BootSector->FATSectors32 - i) <= Sectors)
        {
          Sectors = BootSector->FATSectors32 - i;
        }

      Status = NtWriteFile(FileHandle,
        NULL,
        NULL,
        NULL,
        &IoStatusBlock,
        Buffer,
        Sectors * BootSector->BytesPerSector,
        &FileOffset,
        NULL);
      if (!NT_SUCCESS(Status))
        {
          DPRINT("NtWriteFile() failed (Status %lx)\n", Status);
          RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
          return(Status);
        }

      UpdateProgress (Context, Sectors);
76df1690:	8b 7d 0c             	mov    0xc(%ebp),%edi
76df1693:	50                   	push   %eax
76df1694:	50                   	push   %eax
76df1695:	53                   	push   %ebx
76df1696:	57                   	push   %edi
76df1697:	e8 74 fe ff ff       	call   76df1510 <_UpdateProgress>
76df169c:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
76df169f:	8b 55 08             	mov    0x8(%ebp),%edx
76df16a2:	01 d9                	add    %ebx,%ecx
76df16a4:	89 4d d0             	mov    %ecx,0xffffffd0(%ebp)
76df16a7:	83 c4 10             	add    $0x10,%esp
76df16aa:	8b 4a 24             	mov    0x24(%edx),%ecx
76df16ad:	3b 4d d0             	cmp    0xffffffd0(%ebp),%ecx
76df16b0:	76 6e                	jbe    76df1720 <_Fat32WriteFAT+0x1b0>
76df16b2:	8b 55 08             	mov    0x8(%ebp),%edx
76df16b5:	66 8b 7a 0b          	mov    0xb(%edx),%di
76df16b9:	8b 55 08             	mov    0x8(%ebp),%edx
76df16bc:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df16c0:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
76df16c3:	25 ff ff 00 00       	and    $0xffff,%eax
76df16c8:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df16cf:	01 d0                	add    %edx,%eax
76df16d1:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
76df16d4:	01 d0                	add    %edx,%eax
76df16d6:	89 fa                	mov    %edi,%edx
76df16d8:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df16de:	0f af c2             	imul   %edx,%eax
76df16e1:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df16e4:	89 c8                	mov    %ecx,%eax
76df16e6:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
76df16e9:	29 c8                	sub    %ecx,%eax
76df16eb:	39 d8                	cmp    %ebx,%eax
76df16ed:	77 02                	ja     76df16f1 <_Fat32WriteFAT+0x181>
76df16ef:	89 c3                	mov    %eax,%ebx
76df16f1:	0f af d3             	imul   %ebx,%edx
76df16f4:	83 ec 0c             	sub    $0xc,%esp
76df16f7:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
76df16fa:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
76df16fd:	6a 00                	push   $0x0
76df16ff:	51                   	push   %ecx
76df1700:	52                   	push   %edx
76df1701:	56                   	push   %esi
76df1702:	50                   	push   %eax
76df1703:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
76df1706:	6a 00                	push   $0x0
76df1708:	6a 00                	push   $0x0
76df170a:	6a 00                	push   $0x0
76df170c:	50                   	push   %eax
76df170d:	e8 9e 16 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1712:	83 c4 0c             	add    $0xc,%esp
76df1715:	85 c0                	test   %eax,%eax
76df1717:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df171a:	0f 89 70 ff ff ff    	jns    76df1690 <_Fat32WriteFAT+0x120>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1720:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1726:	52                   	push   %edx
76df1727:	56                   	push   %esi
76df1728:	6a 00                	push   $0x0
76df172a:	8b 40 18             	mov    0x18(%eax),%eax
76df172d:	50                   	push   %eax
76df172e:	e8 8d 16 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
    }

  /* Free the buffer */
  RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);

  return(Status);
76df1733:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
}
76df1736:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df1739:	5b                   	pop    %ebx
76df173a:	5e                   	pop    %esi
76df173b:	5f                   	pop    %edi
76df173c:	5d                   	pop    %ebp
76df173d:	c3                   	ret    
76df173e:	89 f6                	mov    %esi,%esi

76df1740 <_Fat32Format>:


static NTSTATUS
Fat32WriteRootDirectory (IN HANDLE FileHandle,
			 IN PFAT32_BOOT_SECTOR BootSector,
			 IN OUT PFORMAT_CONTEXT Context)
{
  IO_STATUS_BLOCK IoStatusBlock;
  NTSTATUS Status;
  PUCHAR Buffer;
  LARGE_INTEGER FileOffset;
  ULONGLONG FirstDataSector;
  ULONGLONG FirstRootDirSector;

  /* Allocate buffer for the cluster */
  Buffer = (PUCHAR)RtlAllocateHeap(RtlGetProcessHeap(),
    0,
    BootSector->SectorsPerCluster * BootSector->BytesPerSector);
  if (Buffer == NULL)
    return(STATUS_INSUFFICIENT_RESOURCES);

  /* Zero the buffer */
  memset(Buffer, 0, BootSector->SectorsPerCluster * BootSector->BytesPerSector);

  DPRINT("BootSector->ReservedSectors = %lu\n", BootSector->ReservedSectors);
  DPRINT("BootSector->FATSectors32 = %lu\n", BootSector->FATSectors32);
  DPRINT("BootSector->RootCluster = %lu\n", BootSector->RootCluster);
  DPRINT("BootSector->SectorsPerCluster = %lu\n", BootSector->SectorsPerCluster);

  /* Write cluster */
  FirstDataSector = BootSector->ReservedSectors +
    (BootSector->FATCount * BootSector->FATSectors32) + 0 /* RootDirSectors */;

  DPRINT("FirstDataSector = %lu\n", FirstDataSector);

  FirstRootDirSector = ((BootSector->RootCluster - 2) * BootSector->SectorsPerCluster) + FirstDataSector;
  FileOffset.QuadPart = FirstRootDirSector * BootSector->BytesPerSector;

  DPRINT("FirstRootDirSector = %lu\n", FirstRootDirSector);
  DPRINT("FileOffset = %lu\n", FileOffset.QuadPart);

  Status = NtWriteFile(FileHandle,
    NULL,
    NULL,
    NULL,
    &IoStatusBlock,
    Buffer,
    BootSector->SectorsPerCluster * BootSector->BytesPerSector,
    &FileOffset,
    NULL);
  if (!NT_SUCCESS(Status))
    {
      DPRINT("NtWriteFile() failed (Status %lx)\n", Status);
      RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
      return(Status);
    }

  UpdateProgress (Context, (ULONG)BootSector->SectorsPerCluster);

  /* Free the buffer */
  RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);

  return(Status);
}


NTSTATUS
Fat32Format (HANDLE FileHandle,
	     PPARTITION_INFORMATION PartitionInfo,
	     PDISK_GEOMETRY DiskGeometry,
	     PUNICODE_STRING Label,
	     BOOLEAN QuickFormat,
	     ULONG ClusterSize,
	     PFORMAT_CONTEXT Context)
{
76df1740:	55                   	push   %ebp
76df1741:	89 e5                	mov    %esp,%ebp
76df1743:	57                   	push   %edi
76df1744:	56                   	push   %esi
76df1745:	53                   	push   %ebx
76df1746:	81 ec 9c 02 00 00    	sub    $0x29c,%esp
76df174c:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
76df174f:	8a 45 18             	mov    0x18(%ebp),%al
76df1752:	8b 7d 0c             	mov    0xc(%ebp),%edi
76df1755:	8b 75 10             	mov    0x10(%ebp),%esi
76df1758:	88 85 8f fd ff ff    	mov    %al,0xfffffd8f(%ebp)
  FAT32_BOOT_SECTOR BootSector;
  OEM_STRING VolumeLabel;
  ULONG RootDirSectors;
  ULONG TmpVal1;
  ULONG TmpVal2;
  NTSTATUS Status;

  /* Calculate cluster size */
  if (ClusterSize == 0)
76df175e:	85 db                	test   %ebx,%ebx
76df1760:	75 10                	jne    76df1772 <_Fat32Format+0x32>
    {
      if (PartitionInfo->PartitionLength.QuadPart < 8ULL * 1024ULL * 1024ULL * 1024ULL)
76df1762:	8b 57 0c             	mov    0xc(%edi),%edx
	{
	  /* Partition < 8GB ==> 4KB Cluster */
	  ClusterSize = 4096;
76df1765:	66 bb 00 10          	mov    $0x1000,%bx
76df1769:	83 fa 01             	cmp    $0x1,%edx
76df176c:	0f 87 46 06 00 00    	ja     76df1db8 <_Fat32Format+0x678>
	}
      else if (PartitionInfo->PartitionLength.QuadPart < 16ULL * 1024ULL * 1024ULL * 1024ULL)
	{
	  /* Partition 8GB - 16GB ==> 8KB Cluster */
	  ClusterSize = 8192;
	}
      else if (PartitionInfo->PartitionLength.QuadPart < 32ULL * 1024ULL * 1024ULL * 1024ULL)
	{
	  /* Partition 16GB - 32GB ==> 16KB Cluster */
	  ClusterSize = 16384;
	}
      else
	{
	  /* Partition >= 32GB ==> 32KB Cluster */
	  ClusterSize = 32768;
	}
    }

  memset(&BootSector, 0, sizeof(FAT32_BOOT_SECTOR));
76df1772:	8d 95 e8 fd ff ff    	lea    0xfffffde8(%ebp),%edx
76df1778:	50                   	push   %eax
76df1779:	68 00 02 00 00       	push   $0x200
76df177e:	6a 00                	push   $0x0
76df1780:	52                   	push   %edx
76df1781:	e8 9a 16 00 00       	call   76df2e20 <_memset>
  memcpy(&BootSector.OEMName[0], "MSWIN4.1", 8);
76df1786:	c7 85 eb fd ff ff 4d 	movl   $0x4957534d,0xfffffdeb(%ebp)
76df178d:	53 57 49 
76df1790:	c7 85 ef fd ff ff 4e 	movl   $0x312e344e,0xfffffdef(%ebp)
76df1797:	34 2e 31 
  BootSector.BytesPerSector = DiskGeometry->BytesPerSector;
  BootSector.SectorsPerCluster = ClusterSize / BootSector.BytesPerSector;
76df179a:	89 d8                	mov    %ebx,%eax
76df179c:	8b 56 14             	mov    0x14(%esi),%edx
  BootSector.ReservedSectors = 32;
  BootSector.FATCount = 2;
76df179f:	c6 85 f8 fd ff ff 02 	movb   $0x2,0xfffffdf8(%ebp)
76df17a6:	89 d1                	mov    %edx,%ecx
76df17a8:	66 89 95 f3 fd ff ff 	mov    %dx,0xfffffdf3(%ebp)
76df17af:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df17b5:	31 d2                	xor    %edx,%edx
76df17b7:	f7 f1                	div    %ecx
76df17b9:	88 85 f5 fd ff ff    	mov    %al,0xfffffdf5(%ebp)
  BootSector.RootEntries = 0;
  BootSector.Sectors = 0;
  BootSector.Media = 0xf8;
76df17bf:	c6 85 fd fd ff ff f8 	movb   $0xf8,0xfffffdfd(%ebp)
  BootSector.FATSectors = 0;
  BootSector.SectorsPerTrack = DiskGeometry->SectorsPerTrack;
76df17c6:	8b 46 10             	mov    0x10(%esi),%eax
76df17c9:	83 c4 10             	add    $0x10,%esp
76df17cc:	66 89 85 00 fe ff ff 	mov    %ax,0xfffffe00(%ebp)
  BootSector.Heads = DiskGeometry->TracksPerCylinder;
76df17d3:	8b 46 0c             	mov    0xc(%esi),%eax
76df17d6:	66 89 85 02 fe ff ff 	mov    %ax,0xfffffe02(%ebp)
  BootSector.HiddenSectors = PartitionInfo->HiddenSectors;
76df17dd:	8b 47 10             	mov    0x10(%edi),%eax
76df17e0:	89 85 04 fe ff ff    	mov    %eax,0xfffffe04(%ebp)
76df17e6:	ba 01 00 00 00       	mov    $0x1,%edx
76df17eb:	89 c8                	mov    %ecx,%eax
76df17ed:	66 c7 85 f6 fd ff ff 	movw   $0x20,0xfffffdf6(%ebp)
76df17f4:	20 00 
76df17f6:	66 c7 85 f9 fd ff ff 	movw   $0x0,0xfffffdf9(%ebp)
76df17fd:	00 00 
76df17ff:	66 c7 85 fb fd ff ff 	movw   $0x0,0xfffffdfb(%ebp)
76df1806:	00 00 
76df1808:	66 c7 85 fe fd ff ff 	movw   $0x0,0xfffffdfe(%ebp)
76df180f:	00 00 
76df1811:	eb 03                	jmp    76df1816 <_Fat32Format+0xd6>
76df1813:	d1 e8                	shr    %eax
76df1815:	42                   	inc    %edx
76df1816:	85 c0                	test   %eax,%eax
76df1818:	75 f9                	jne    76df1813 <_Fat32Format+0xd3>
76df181a:	8d 4a fe             	lea    0xfffffffe(%edx),%ecx
76df181d:	8b 47 08             	mov    0x8(%edi),%eax
76df1820:	8b 57 0c             	mov    0xc(%edi),%edx
76df1823:	0f ad d0             	shrd   %cl,%edx,%eax
76df1826:	d3 fa                	sar    %cl,%edx
76df1828:	83 e1 20             	and    $0x20,%ecx
76df182b:	0f 85 28 06 00 00    	jne    76df1e59 <_Fat32Format+0x719>
76df1831:	83 ec 0c             	sub    $0xc,%esp
76df1834:	8d 9d d0 fd ff ff    	lea    0xfffffdd0(%ebp),%ebx
76df183a:	89 85 08 fe ff ff    	mov    %eax,0xfffffe08(%ebp)
  BootSector.SectorsHuge = PartitionInfo->PartitionLength.QuadPart >>
    GetShiftCount(BootSector.BytesPerSector); /* Use shifting to avoid 64-bit division */
  BootSector.FATSectors32 = 0; /* Set later */
76df1840:	c7 85 0c fe ff ff 00 	movl   $0x0,0xfffffe0c(%ebp)
76df1847:	00 00 00 
76df184a:	53                   	push   %ebx
  BootSector.ExtFlag = 0; /* Mirror all FATs */
76df184b:	66 c7 85 10 fe ff ff 	movw   $0x0,0xfffffe10(%ebp)
76df1852:	00 00 
  BootSector.FSVersion = 0x0000; /* 0:0 */
76df1854:	66 c7 85 12 fe ff ff 	movw   $0x0,0xfffffe12(%ebp)
76df185b:	00 00 
  BootSector.RootCluster = 2;
76df185d:	c7 85 14 fe ff ff 02 	movl   $0x2,0xfffffe14(%ebp)
76df1864:	00 00 00 
  BootSector.FSInfoSector = 1;
76df1867:	66 c7 85 18 fe ff ff 	movw   $0x1,0xfffffe18(%ebp)
76df186e:	01 00 
  BootSector.BootBackup = 6;
76df1870:	66 c7 85 1a fe ff ff 	movw   $0x6,0xfffffe1a(%ebp)
76df1877:	06 00 
  BootSector.Drive = 0xff; /* No BIOS boot drive available */
76df1879:	c6 85 28 fe ff ff ff 	movb   $0xff,0xfffffe28(%ebp)
  BootSector.ExtBootSignature = 0x29;
76df1880:	c6 85 2a fe ff ff 29 	movb   $0x29,0xfffffe2a(%ebp)
76df1887:	e8 44 15 00 00       	call   76df2dd0 <_NtQuerySystemTime@4>
76df188c:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
76df1892:	89 04 24             	mov    %eax,(%esp)
76df1895:	53                   	push   %ebx
76df1896:	e8 45 15 00 00       	call   76df2de0 <_RtlTimeToTimeFields@8>
76df189b:	8b 85 d8 fd ff ff    	mov    0xfffffdd8(%ebp),%eax
76df18a1:	8a 95 de fd ff ff    	mov    0xfffffdde(%ebp),%dl
76df18a7:	8b 8d e0 fd ff ff    	mov    0xfffffde0(%ebp),%ecx
76df18ad:	01 c2                	add    %eax,%edx
76df18af:	5b                   	pop    %ebx
76df18b0:	66 c1 e8 08          	shr    $0x8,%ax
76df18b4:	88 95 cc fd ff ff    	mov    %dl,0xfffffdcc(%ebp)
76df18ba:	01 c8                	add    %ecx,%eax
76df18bc:	8b 95 dc fd ff ff    	mov    0xfffffddc(%ebp),%edx
76df18c2:	88 85 cd fd ff ff    	mov    %al,0xfffffdcd(%ebp)
76df18c8:	66 8b 85 e2 fd ff ff 	mov    0xfffffde2(%ebp),%ax
76df18cf:	02 85 da fd ff ff    	add    0xfffffdda(%ebp),%al
76df18d5:	5e                   	pop    %esi
76df18d6:	88 85 ce fd ff ff    	mov    %al,0xfffffdce(%ebp)
76df18dc:	8b 85 e4 fd ff ff    	mov    0xfffffde4(%ebp),%eax
76df18e2:	01 d0                	add    %edx,%eax
76df18e4:	88 85 cf fd ff ff    	mov    %al,0xfffffdcf(%ebp)
76df18ea:	8b 85 cc fd ff ff    	mov    0xfffffdcc(%ebp),%eax
76df18f0:	89 85 2b fe ff ff    	mov    %eax,0xfffffe2b(%ebp)
  BootSector.VolumeID = CalcVolumeSerialNumber ();
  if ((Label == NULL) || (Label->Buffer == NULL))
76df18f6:	8b 45 14             	mov    0x14(%ebp),%eax
76df18f9:	85 c0                	test   %eax,%eax
76df18fb:	74 0e                	je     76df190b <_Fat32Format+0x1cb>
76df18fd:	8b 4d 14             	mov    0x14(%ebp),%ecx
76df1900:	8b 41 04             	mov    0x4(%ecx),%eax
76df1903:	85 c0                	test   %eax,%eax
76df1905:	0f 85 db 04 00 00    	jne    76df1de6 <_Fat32Format+0x6a6>
    {
      memcpy(&BootSector.VolumeLabel[0], "NO NAME    ", 11);
76df190b:	c7 85 2f fe ff ff 4e 	movl   $0x4e204f4e,0xfffffe2f(%ebp)
76df1912:	4f 20 4e 
76df1915:	c7 85 33 fe ff ff 41 	movl   $0x20454d41,0xfffffe33(%ebp)
76df191c:	4d 45 20 
76df191f:	66 c7 85 37 fe ff ff 	movw   $0x2020,0xfffffe37(%ebp)
76df1926:	20 20 
76df1928:	c6 85 39 fe ff ff 20 	movb   $0x20,0xfffffe39(%ebp)
    }
  else
    {
      RtlUnicodeStringToOemString(&VolumeLabel, Label, TRUE);
      memset(&BootSector.VolumeLabel[0], ' ', 11);
      memcpy(&BootSector.VolumeLabel[0], VolumeLabel.Buffer,
        VolumeLabel.Length < 11 ? VolumeLabel.Length : 11);
      RtlFreeOemString(&VolumeLabel);
    }
  memcpy(&BootSector.SysType[0], "FAT32   ", 8);

  RootDirSectors = ((BootSector.RootEntries * 32) +
    (BootSector.BytesPerSector - 1)) / BootSector.BytesPerSector;

  /* Calculate number of FAT sectors */
  /* (BytesPerSector / 4) FAT entries (32bit) fit into one sector */
  TmpVal1 = BootSector.SectorsHuge - BootSector.ReservedSectors;
76df192f:	66 8b 85 f6 fd ff ff 	mov    0xfffffdf6(%ebp),%ax
76df1936:	8b b5 08 fe ff ff    	mov    0xfffffe08(%ebp),%esi
76df193c:	25 ff ff 00 00       	and    $0xffff,%eax
76df1941:	89 f2                	mov    %esi,%edx
76df1943:	29 c2                	sub    %eax,%edx
  TmpVal2 = ((BootSector.BytesPerSector / 4) * BootSector.SectorsPerCluster) + BootSector.FATCount;
76df1945:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df194c:	66 c1 e8 02          	shr    $0x2,%ax
76df1950:	31 db                	xor    %ebx,%ebx
76df1952:	25 ff ff 00 00       	and    $0xffff,%eax
76df1957:	8a 9d f5 fd ff ff    	mov    0xfffffdf5(%ebp),%bl
76df195d:	0f af c3             	imul   %ebx,%eax
76df1960:	31 c9                	xor    %ecx,%ecx
76df1962:	c7 85 3a fe ff ff 46 	movl   $0x33544146,0xfffffe3a(%ebp)
76df1969:	41 54 33 
76df196c:	8a 8d f8 fd ff ff    	mov    0xfffffdf8(%ebp),%cl
76df1972:	c7 85 3e fe ff ff 32 	movl   $0x20202032,0xfffffe3e(%ebp)
76df1979:	20 20 20 
76df197c:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
  BootSector.FATSectors32 = (TmpVal1 + (TmpVal2 - 1)) / TmpVal2;
76df197f:	8d 54 17 ff          	lea    0xffffffff(%edi,%edx,1),%edx
76df1983:	89 d0                	mov    %edx,%eax
76df1985:	31 d2                	xor    %edx,%edx
76df1987:	f7 f7                	div    %edi
76df1989:	89 c7                	mov    %eax,%edi
76df198b:	89 85 0c fe ff ff    	mov    %eax,0xfffffe0c(%ebp)
  DPRINT("FATSectors32 = %lu\n", BootSector.FATSectors32);

  /* Init context data */
  if (QuickFormat)
76df1991:	80 bd 8f fd ff ff 00 	cmpb   $0x0,0xfffffd8f(%ebp)
76df1998:	0f 84 3d 04 00 00    	je     76df1ddb <_Fat32Format+0x69b>
    {
      Context->TotalSectorCount =
76df199e:	0f af f9             	imul   %ecx,%edi
76df19a1:	8b 55 20             	mov    0x20(%ebp),%edx
76df19a4:	8d 44 1f 02          	lea    0x2(%edi,%ebx,1),%eax
76df19a8:	89 42 04             	mov    %eax,0x4(%edx)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df19ab:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df19b1:	53                   	push   %ebx
76df19b2:	68 00 02 00 00       	push   $0x200
76df19b7:	6a 00                	push   $0x0
76df19b9:	8b 48 18             	mov    0x18(%eax),%ecx
76df19bc:	51                   	push   %ecx
76df19bd:	e8 de 13 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df19c2:	89 c3                	mov    %eax,%ebx
76df19c4:	5a                   	pop    %edx
76df19c5:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df19ca:	85 db                	test   %ebx,%ebx
76df19cc:	0f 84 f4 00 00 00    	je     76df1ac6 <_Fat32Format+0x386>
76df19d2:	50                   	push   %eax
76df19d3:	68 00 02 00 00       	push   $0x200
76df19d8:	6a 00                	push   $0x0
76df19da:	53                   	push   %ebx
76df19db:	e8 40 14 00 00       	call   76df2e20 <_memset>
76df19e0:	83 c4 0c             	add    $0xc,%esp
76df19e3:	8d 53 03             	lea    0x3(%ebx),%edx
76df19e6:	8d 85 eb fd ff ff    	lea    0xfffffdeb(%ebp),%eax
76df19ec:	8d bd b0 fd ff ff    	lea    0xfffffdb0(%ebp),%edi
76df19f2:	6a 57                	push   $0x57
76df19f4:	50                   	push   %eax
76df19f5:	52                   	push   %edx
76df19f6:	e8 15 14 00 00       	call   76df2e10 <_memcpy>
76df19fb:	8d 85 b8 fd ff ff    	lea    0xfffffdb8(%ebp),%eax
76df1a01:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df1a08:	50                   	push   %eax
76df1a09:	8b 45 08             	mov    0x8(%ebp),%eax
76df1a0c:	68 00 02 00 00       	push   $0x200
76df1a11:	c7 85 b8 fd ff ff 00 	movl   $0x0,0xfffffdb8(%ebp)
76df1a18:	00 00 00 
76df1a1b:	53                   	push   %ebx
76df1a1c:	c7 85 bc fd ff ff 00 	movl   $0x0,0xfffffdbc(%ebp)
76df1a23:	00 00 00 
76df1a26:	57                   	push   %edi
76df1a27:	6a 00                	push   $0x0
76df1a29:	6a 00                	push   $0x0
76df1a2b:	6a 00                	push   $0x0
76df1a2d:	50                   	push   %eax
76df1a2e:	e8 7d 13 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1a33:	83 c4 0c             	add    $0xc,%esp
76df1a36:	89 c6                	mov    %eax,%esi
76df1a38:	85 c0                	test   %eax,%eax
76df1a3a:	78 74                	js     76df1ab0 <_Fat32Format+0x370>
76df1a3c:	50                   	push   %eax
76df1a3d:	50                   	push   %eax
76df1a3e:	8b 45 20             	mov    0x20(%ebp),%eax
76df1a41:	6a 01                	push   $0x1
76df1a43:	50                   	push   %eax
76df1a44:	e8 c7 fa ff ff       	call   76df1510 <_UpdateProgress>
76df1a49:	66 8b 85 1a fe ff ff 	mov    0xfffffe1a(%ebp),%ax
76df1a50:	83 c4 10             	add    $0x10,%esp
76df1a53:	66 85 c0             	test   %ax,%ax
76df1a56:	74 58                	je     76df1ab0 <_Fat32Format+0x370>
76df1a58:	25 ff ff 00 00       	and    $0xffff,%eax
76df1a5d:	83 ec 0c             	sub    $0xc,%esp
76df1a60:	c1 e0 09             	shl    $0x9,%eax
76df1a63:	8d 95 b8 fd ff ff    	lea    0xfffffdb8(%ebp),%edx
76df1a69:	89 85 b8 fd ff ff    	mov    %eax,0xfffffdb8(%ebp)
76df1a6f:	8b 45 08             	mov    0x8(%ebp),%eax
76df1a72:	6a 00                	push   $0x0
76df1a74:	c7 85 bc fd ff ff 00 	movl   $0x0,0xfffffdbc(%ebp)
76df1a7b:	00 00 00 
76df1a7e:	52                   	push   %edx
76df1a7f:	68 00 02 00 00       	push   $0x200
76df1a84:	53                   	push   %ebx
76df1a85:	57                   	push   %edi
76df1a86:	6a 00                	push   $0x0
76df1a88:	6a 00                	push   $0x0
76df1a8a:	6a 00                	push   $0x0
76df1a8c:	50                   	push   %eax
76df1a8d:	e8 1e 13 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1a92:	83 c4 0c             	add    $0xc,%esp
76df1a95:	89 c6                	mov    %eax,%esi
76df1a97:	85 c0                	test   %eax,%eax
76df1a99:	78 15                	js     76df1ab0 <_Fat32Format+0x370>
76df1a9b:	8b 4d 20             	mov    0x20(%ebp),%ecx
76df1a9e:	57                   	push   %edi
76df1a9f:	57                   	push   %edi
76df1aa0:	6a 01                	push   $0x1
76df1aa2:	51                   	push   %ecx
76df1aa3:	e8 68 fa ff ff       	call   76df1510 <_UpdateProgress>
76df1aa8:	83 c4 10             	add    $0x10,%esp
76df1aab:	90                   	nop    
76df1aac:	8d 74 26 00          	lea    0x0(%esi),%esi
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1ab0:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1ab6:	52                   	push   %edx
76df1ab7:	53                   	push   %ebx
76df1ab8:	6a 00                	push   $0x0
76df1aba:	8b 40 18             	mov    0x18(%eax),%eax
76df1abd:	50                   	push   %eax
76df1abe:	e8 fd 12 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df1ac3:	89 f0                	mov    %esi,%eax

#ifdef _M_IX86

static inline struct _PEB * NtCurrentPeb(void)
{
76df1ac5:	5f                   	pop    %edi
	2 + (BootSector.FATSectors32 * BootSector.FATCount) + BootSector.SectorsPerCluster;
    }
  else
    {
      Context->TotalSectorCount = BootSector.SectorsHuge;
    }

  Status = Fat32WriteBootSector (FileHandle,
				 &BootSector,
				 Context);
  if (!NT_SUCCESS(Status))
76df1ac6:	85 c0                	test   %eax,%eax
76df1ac8:	0f 88 e2 02 00 00    	js     76df1db0 <_Fat32Format+0x670>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1ace:	64 8b 15 30 00 00 00 	mov    %fs:0x30,%edx
76df1ad5:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1adc:	25 ff ff 00 00       	and    $0xffff,%eax
76df1ae1:	56                   	push   %esi
76df1ae2:	50                   	push   %eax
76df1ae3:	6a 00                	push   $0x0
76df1ae5:	8b 5a 18             	mov    0x18(%edx),%ebx
76df1ae8:	53                   	push   %ebx
76df1ae9:	e8 b2 12 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df1aee:	89 c3                	mov    %eax,%ebx
76df1af0:	59                   	pop    %ecx
76df1af1:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df1af6:	85 db                	test   %ebx,%ebx
76df1af8:	0f 84 c5 00 00 00    	je     76df1bc3 <_Fat32Format+0x483>
76df1afe:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1b05:	25 ff ff 00 00       	and    $0xffff,%eax
76df1b0a:	52                   	push   %edx
76df1b0b:	50                   	push   %eax
76df1b0c:	6a 00                	push   $0x0
76df1b0e:	53                   	push   %ebx
76df1b0f:	e8 0c 13 00 00       	call   76df2e20 <_memset>
76df1b14:	8b 85 18 fe ff ff    	mov    0xfffffe18(%ebp),%eax
76df1b1a:	66 8b 95 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%dx
76df1b21:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1b27:	25 ff ff 00 00       	and    $0xffff,%eax
76df1b2c:	0f af c2             	imul   %edx,%eax
76df1b2f:	c7 03 52 52 61 41    	movl   $0x41615252,(%ebx)
76df1b35:	c7 83 e4 01 00 00 72 	movl   $0x61417272,0x1e4(%ebx)
76df1b3c:	72 41 61 
76df1b3f:	c7 83 e8 01 00 00 ff 	movl   $0xffffffff,0x1e8(%ebx)
76df1b46:	ff ff ff 
76df1b49:	c7 83 ec 01 00 00 ff 	movl   $0xffffffff,0x1ec(%ebx)
76df1b50:	ff ff ff 
76df1b53:	c7 83 fc 01 00 00 00 	movl   $0xaa550000,0x1fc(%ebx)
76df1b5a:	00 55 aa 
76df1b5d:	89 c1                	mov    %eax,%ecx
76df1b5f:	89 85 a8 fd ff ff    	mov    %eax,0xfffffda8(%ebp)
76df1b65:	8d 85 a8 fd ff ff    	lea    0xfffffda8(%ebp),%eax
76df1b6b:	c1 f9 1f             	sar    $0x1f,%ecx
76df1b6e:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df1b75:	50                   	push   %eax
76df1b76:	8d 85 a0 fd ff ff    	lea    0xfffffda0(%ebp),%eax
76df1b7c:	52                   	push   %edx
76df1b7d:	53                   	push   %ebx
76df1b7e:	50                   	push   %eax
76df1b7f:	8b 45 08             	mov    0x8(%ebp),%eax
76df1b82:	6a 00                	push   $0x0
76df1b84:	89 8d ac fd ff ff    	mov    %ecx,0xfffffdac(%ebp)
76df1b8a:	6a 00                	push   $0x0
76df1b8c:	6a 00                	push   $0x0
76df1b8e:	50                   	push   %eax
76df1b8f:	e8 1c 12 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1b94:	83 c4 0c             	add    $0xc,%esp
76df1b97:	89 c6                	mov    %eax,%esi
76df1b99:	85 c0                	test   %eax,%eax
76df1b9b:	78 10                	js     76df1bad <_Fat32Format+0x46d>
76df1b9d:	8b 4d 20             	mov    0x20(%ebp),%ecx
76df1ba0:	57                   	push   %edi
76df1ba1:	57                   	push   %edi
76df1ba2:	6a 01                	push   $0x1
76df1ba4:	51                   	push   %ecx
76df1ba5:	e8 66 f9 ff ff       	call   76df1510 <_UpdateProgress>
76df1baa:	83 c4 10             	add    $0x10,%esp
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1bad:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1bb3:	52                   	push   %edx
76df1bb4:	53                   	push   %ebx
76df1bb5:	6a 00                	push   $0x0
76df1bb7:	8b 40 18             	mov    0x18(%eax),%eax
76df1bba:	50                   	push   %eax
76df1bbb:	e8 00 12 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df1bc0:	58                   	pop    %eax
76df1bc1:	89 f0                	mov    %esi,%eax
    {
      DPRINT("Fat32WriteBootSector() failed with status 0x%.08x\n", Status);
      return Status;
    }

  Status = Fat32WriteFsInfo (FileHandle,
			     &BootSector,
			     Context);
  if (!NT_SUCCESS(Status))
76df1bc3:	85 c0                	test   %eax,%eax
76df1bc5:	0f 88 e5 01 00 00    	js     76df1db0 <_Fat32Format+0x670>
    {
      DPRINT("Fat32WriteFsInfo() failed with status 0x%.08x\n", Status);
      return Status;
    }

  /* Write first FAT copy */
  Status = Fat32WriteFAT (FileHandle,
76df1bcb:	50                   	push   %eax
76df1bcc:	50                   	push   %eax
76df1bcd:	8b 45 20             	mov    0x20(%ebp),%eax
76df1bd0:	50                   	push   %eax
76df1bd1:	31 d2                	xor    %edx,%edx
76df1bd3:	8d 9d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ebx
76df1bd9:	8b 45 08             	mov    0x8(%ebp),%eax
76df1bdc:	53                   	push   %ebx
76df1bdd:	e8 8e f9 ff ff       	call   76df1570 <_Fat32WriteFAT>
			  0,
			  &BootSector,
			  Context);
  if (!NT_SUCCESS(Status))
76df1be2:	83 c4 10             	add    $0x10,%esp
76df1be5:	85 c0                	test   %eax,%eax
76df1be7:	0f 88 c3 01 00 00    	js     76df1db0 <_Fat32Format+0x670>
    {
      DPRINT("Fat32WriteFAT() failed with status 0x%.08x\n", Status);
      return Status;
    }

  /* Write second FAT copy */
  Status = Fat32WriteFAT (FileHandle,
76df1bed:	8b 7d 20             	mov    0x20(%ebp),%edi
76df1bf0:	50                   	push   %eax
76df1bf1:	8b 95 0c fe ff ff    	mov    0xfffffe0c(%ebp),%edx
76df1bf7:	50                   	push   %eax
76df1bf8:	8b 45 08             	mov    0x8(%ebp),%eax
76df1bfb:	57                   	push   %edi
76df1bfc:	53                   	push   %ebx
76df1bfd:	e8 6e f9 ff ff       	call   76df1570 <_Fat32WriteFAT>
			  BootSector.FATSectors32,
			  &BootSector,
			  Context);
  if (!NT_SUCCESS(Status))
76df1c02:	83 c4 10             	add    $0x10,%esp
76df1c05:	85 c0                	test   %eax,%eax
76df1c07:	0f 88 a3 01 00 00    	js     76df1db0 <_Fat32Format+0x670>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1c0d:	64 8b 0d 30 00 00 00 	mov    %fs:0x30,%ecx
76df1c14:	31 d2                	xor    %edx,%edx
76df1c16:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1c1d:	25 ff ff 00 00       	and    $0xffff,%eax
76df1c22:	8a 95 f5 fd ff ff    	mov    0xfffffdf5(%ebp),%dl
76df1c28:	0f af d0             	imul   %eax,%edx
76df1c2b:	56                   	push   %esi
76df1c2c:	52                   	push   %edx
76df1c2d:	6a 00                	push   $0x0
76df1c2f:	8b 59 18             	mov    0x18(%ecx),%ebx
76df1c32:	53                   	push   %ebx
76df1c33:	e8 68 11 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df1c38:	59                   	pop    %ecx
76df1c39:	89 85 84 fd ff ff    	mov    %eax,0xfffffd84(%ebp)
76df1c3f:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df1c44:	8b 95 84 fd ff ff    	mov    0xfffffd84(%ebp),%edx
76df1c4a:	85 d2                	test   %edx,%edx
76df1c4c:	0f 84 5e 01 00 00    	je     76df1db0 <_Fat32Format+0x670>
76df1c52:	31 d2                	xor    %edx,%edx
76df1c54:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1c5b:	25 ff ff 00 00       	and    $0xffff,%eax
76df1c60:	8a 95 f5 fd ff ff    	mov    0xfffffdf5(%ebp),%dl
76df1c66:	0f af d0             	imul   %eax,%edx
76df1c69:	50                   	push   %eax
76df1c6a:	8b 85 84 fd ff ff    	mov    0xfffffd84(%ebp),%eax
76df1c70:	52                   	push   %edx
76df1c71:	6a 00                	push   $0x0
76df1c73:	50                   	push   %eax
76df1c74:	e8 a7 11 00 00       	call   76df2e20 <_memset>
76df1c79:	31 c0                	xor    %eax,%eax
76df1c7b:	8b bd 0c fe ff ff    	mov    0xfffffe0c(%ebp),%edi
76df1c81:	8a 85 f8 fd ff ff    	mov    0xfffffdf8(%ebp),%al
76df1c87:	66 8b 95 f6 fd ff ff 	mov    0xfffffdf6(%ebp),%dx
76df1c8e:	0f af c7             	imul   %edi,%eax
76df1c91:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1c97:	31 db                	xor    %ebx,%ebx
76df1c99:	01 c2                	add    %eax,%edx
76df1c9b:	8b 85 14 fe ff ff    	mov    0xfffffe14(%ebp),%eax
76df1ca1:	8a 9d f5 fd ff ff    	mov    0xfffffdf5(%ebp),%bl
76df1ca7:	83 e8 02             	sub    $0x2,%eax
76df1caa:	0f af c3             	imul   %ebx,%eax
76df1cad:	89 85 78 fd ff ff    	mov    %eax,0xfffffd78(%ebp)
76df1cb3:	31 c9                	xor    %ecx,%ecx
76df1cb5:	01 95 78 fd ff ff    	add    %edx,0xfffffd78(%ebp)
76df1cbb:	c7 85 7c fd ff ff 00 	movl   $0x0,0xfffffd7c(%ebp)
76df1cc2:	00 00 00 
76df1cc5:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1ccc:	c7 85 64 fd ff ff 00 	movl   $0x0,0xfffffd64(%ebp)
76df1cd3:	00 00 00 
76df1cd6:	11 8d 7c fd ff ff    	adc    %ecx,0xfffffd7c(%ebp)
76df1cdc:	25 ff ff 00 00       	and    $0xffff,%eax
76df1ce1:	89 85 60 fd ff ff    	mov    %eax,0xfffffd60(%ebp)
76df1ce7:	8b 85 78 fd ff ff    	mov    0xfffffd78(%ebp),%eax
76df1ced:	f7 a5 60 fd ff ff    	mull   0xfffffd60(%ebp)
76df1cf3:	8b b5 60 fd ff ff    	mov    0xfffffd60(%ebp),%esi
76df1cf9:	8b bd 7c fd ff ff    	mov    0xfffffd7c(%ebp),%edi
76df1cff:	89 9d 74 fd ff ff    	mov    %ebx,0xfffffd74(%ebp)
76df1d05:	89 c1                	mov    %eax,%ecx
76df1d07:	0f af fe             	imul   %esi,%edi
76df1d0a:	8b 9d 64 fd ff ff    	mov    0xfffffd64(%ebp),%ebx
76df1d10:	8b 85 78 fd ff ff    	mov    0xfffffd78(%ebp),%eax
76df1d16:	0f af c3             	imul   %ebx,%eax
76df1d19:	89 d6                	mov    %edx,%esi
76df1d1b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df1d22:	01 fe                	add    %edi,%esi
76df1d24:	8b 95 74 fd ff ff    	mov    0xfffffd74(%ebp),%edx
76df1d2a:	89 8d 98 fd ff ff    	mov    %ecx,0xfffffd98(%ebp)
76df1d30:	8d 1c 06             	lea    (%esi,%eax,1),%ebx
76df1d33:	8d 85 98 fd ff ff    	lea    0xfffffd98(%ebp),%eax
76df1d39:	50                   	push   %eax
76df1d3a:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df1d41:	25 ff ff 00 00       	and    $0xffff,%eax
76df1d46:	89 9d 9c fd ff ff    	mov    %ebx,0xfffffd9c(%ebp)
76df1d4c:	0f af c2             	imul   %edx,%eax
76df1d4f:	50                   	push   %eax
76df1d50:	8b 85 84 fd ff ff    	mov    0xfffffd84(%ebp),%eax
76df1d56:	50                   	push   %eax
76df1d57:	8d 85 90 fd ff ff    	lea    0xfffffd90(%ebp),%eax
76df1d5d:	50                   	push   %eax
76df1d5e:	6a 00                	push   $0x0
76df1d60:	6a 00                	push   $0x0
76df1d62:	8b 45 08             	mov    0x8(%ebp),%eax
76df1d65:	6a 00                	push   $0x0
76df1d67:	50                   	push   %eax
76df1d68:	e8 43 10 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1d6d:	83 c4 0c             	add    $0xc,%esp
76df1d70:	89 c3                	mov    %eax,%ebx
76df1d72:	85 c0                	test   %eax,%eax
76df1d74:	78 17                	js     76df1d8d <_Fat32Format+0x64d>
76df1d76:	31 c0                	xor    %eax,%eax
76df1d78:	8b 75 20             	mov    0x20(%ebp),%esi
76df1d7b:	8a 85 f5 fd ff ff    	mov    0xfffffdf5(%ebp),%al
76df1d81:	57                   	push   %edi
76df1d82:	57                   	push   %edi
76df1d83:	50                   	push   %eax
76df1d84:	56                   	push   %esi
76df1d85:	e8 86 f7 ff ff       	call   76df1510 <_UpdateProgress>
76df1d8a:	83 c4 10             	add    $0x10,%esp
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1d8d:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1d93:	8b 95 84 fd ff ff    	mov    0xfffffd84(%ebp),%edx
76df1d99:	51                   	push   %ecx
76df1d9a:	52                   	push   %edx
76df1d9b:	6a 00                	push   $0x0
76df1d9d:	8b 40 18             	mov    0x18(%eax),%eax
76df1da0:	50                   	push   %eax
76df1da1:	e8 1a 10 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df1da6:	58                   	pop    %eax
76df1da7:	89 d8                	mov    %ebx,%eax
76df1da9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
    {
      DPRINT("Fat32WriteFAT() failed with status 0x%.08x.\n", Status);
      return Status;
    }

  Status = Fat32WriteRootDirectory (FileHandle,
				    &BootSector,
				    Context);
  if (!NT_SUCCESS(Status))
    {
      DPRINT("Fat32WriteRootDirectory() failed with status 0x%.08x\n", Status);
    }

  if (!QuickFormat)
    {
      /* FIXME: Fill remaining sectors */
    }

  return Status;
}
76df1db0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df1db3:	5b                   	pop    %ebx
76df1db4:	5e                   	pop    %esi
76df1db5:	5f                   	pop    %edi
76df1db6:	5d                   	pop    %ebp
76df1db7:	c3                   	ret    
76df1db8:	66 bb 00 20          	mov    $0x2000,%bx
76df1dbc:	83 fa 03             	cmp    $0x3,%edx
76df1dbf:	0f 86 ad f9 ff ff    	jbe    76df1772 <_Fat32Format+0x32>
76df1dc5:	83 fa 08             	cmp    $0x8,%edx
76df1dc8:	19 db                	sbb    %ebx,%ebx
76df1dca:	81 e3 00 c0 ff ff    	and    $0xffffc000,%ebx
76df1dd0:	81 c3 00 80 00 00    	add    $0x8000,%ebx
76df1dd6:	e9 97 f9 ff ff       	jmp    76df1772 <_Fat32Format+0x32>
76df1ddb:	8b 4d 20             	mov    0x20(%ebp),%ecx
76df1dde:	89 71 04             	mov    %esi,0x4(%ecx)
76df1de1:	e9 c5 fb ff ff       	jmp    76df19ab <_Fat32Format+0x26b>
76df1de6:	8d 9d c0 fd ff ff    	lea    0xfffffdc0(%ebp),%ebx
76df1dec:	50                   	push   %eax
76df1ded:	8b 45 14             	mov    0x14(%ebp),%eax
76df1df0:	6a 01                	push   $0x1
76df1df2:	50                   	push   %eax
76df1df3:	53                   	push   %ebx
76df1df4:	e8 f7 0f 00 00       	call   76df2df0 <_RtlUnicodeStringToOemString@12>
76df1df9:	58                   	pop    %eax
76df1dfa:	8b 85 c0 fd ff ff    	mov    0xfffffdc0(%ebp),%eax
76df1e00:	c7 85 2f fe ff ff 20 	movl   $0x20202020,0xfffffe2f(%ebp)
76df1e07:	20 20 20 
76df1e0a:	c7 85 33 fe ff ff 20 	movl   $0x20202020,0xfffffe33(%ebp)
76df1e11:	20 20 20 
76df1e14:	66 c7 85 37 fe ff ff 	movw   $0x2020,0xfffffe37(%ebp)
76df1e1b:	20 20 
76df1e1d:	c6 85 39 fe ff ff 20 	movb   $0x20,0xfffffe39(%ebp)
76df1e24:	66 83 f8 0a          	cmp    $0xa,%ax
76df1e28:	ba 0b 00 00 00       	mov    $0xb,%edx
76df1e2d:	77 08                	ja     76df1e37 <_Fat32Format+0x6f7>
76df1e2f:	89 c2                	mov    %eax,%edx
76df1e31:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1e37:	57                   	push   %edi
76df1e38:	52                   	push   %edx
76df1e39:	8d 85 2f fe ff ff    	lea    0xfffffe2f(%ebp),%eax
76df1e3f:	8b 73 04             	mov    0x4(%ebx),%esi
76df1e42:	56                   	push   %esi
76df1e43:	50                   	push   %eax
76df1e44:	e8 c7 0f 00 00       	call   76df2e10 <_memcpy>
76df1e49:	89 1c 24             	mov    %ebx,(%esp)
76df1e4c:	e8 af 0f 00 00       	call   76df2e00 <_RtlFreeOemString@4>
76df1e51:	83 c4 0c             	add    $0xc,%esp
76df1e54:	e9 d6 fa ff ff       	jmp    76df192f <_Fat32Format+0x1ef>
76df1e59:	89 d0                	mov    %edx,%eax
76df1e5b:	e9 d1 f9 ff ff       	jmp    76df1831 <_Fat32Format+0xf1>

76df1e60 <_Fat16WriteFAT>:
76df1e60:	55                   	push   %ebp
76df1e61:	89 e5                	mov    %esp,%ebp
76df1e63:	57                   	push   %edi
76df1e64:	56                   	push   %esi
76df1e65:	53                   	push   %ebx
76df1e66:	83 ec 30             	sub    $0x30,%esp
76df1e69:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
76df1e6c:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1e6f:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1e75:	68 00 80 00 00       	push   $0x8000
76df1e7a:	6a 00                	push   $0x0
76df1e7c:	8b 58 18             	mov    0x18(%eax),%ebx
76df1e7f:	53                   	push   %ebx
76df1e80:	e8 1b 0f 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df1e85:	59                   	pop    %ecx
76df1e86:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
76df1e89:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df1e8e:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
76df1e91:	85 d2                	test   %edx,%edx
76df1e93:	0f 84 77 01 00 00    	je     76df2010 <_Fat16WriteFAT+0x1b0>
76df1e99:	8b 5d d0             	mov    0xffffffd0(%ebp),%ebx
76df1e9c:	57                   	push   %edi
76df1e9d:	68 00 80 00 00       	push   $0x8000
76df1ea2:	6a 00                	push   $0x0
76df1ea4:	53                   	push   %ebx
76df1ea5:	e8 76 0f 00 00       	call   76df2e20 <_memset>
76df1eaa:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df1ead:	c6 00 f8             	movb   $0xf8,(%eax)
76df1eb0:	c6 40 01 ff          	movb   $0xff,0x1(%eax)
76df1eb4:	c6 40 02 ff          	movb   $0xff,0x2(%eax)
76df1eb8:	c6 40 03 ff          	movb   $0xff,0x3(%eax)
76df1ebc:	8b 55 08             	mov    0x8(%ebp),%edx
76df1ebf:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
76df1ec2:	8b 7d dc             	mov    0xffffffdc(%ebp),%edi
76df1ec5:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df1ecc:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df1ed0:	66 8b 52 0b          	mov    0xb(%edx),%dx
76df1ed4:	25 ff ff 00 00       	and    $0xffff,%eax
76df1ed9:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1edf:	01 c8                	add    %ecx,%eax
76df1ee1:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df1ee8:	0f af c2             	imul   %edx,%eax
76df1eeb:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df1eee:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
76df1ef1:	50                   	push   %eax
76df1ef2:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df1ef5:	52                   	push   %edx
76df1ef6:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
76df1ef9:	50                   	push   %eax
76df1efa:	52                   	push   %edx
76df1efb:	6a 00                	push   $0x0
76df1efd:	6a 00                	push   $0x0
76df1eff:	6a 00                	push   $0x0
76df1f01:	57                   	push   %edi
76df1f02:	e8 a9 0e 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1f07:	be 00 80 00 00       	mov    $0x8000,%esi
76df1f0c:	83 c4 0c             	add    $0xc,%esp
76df1f0f:	85 c0                	test   %eax,%eax
76df1f11:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df1f14:	0f 88 dd 00 00 00    	js     76df1ff7 <_Fat16WriteFAT+0x197>
76df1f1a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
76df1f1d:	53                   	push   %ebx
76df1f1e:	53                   	push   %ebx
76df1f1f:	6a 01                	push   $0x1
76df1f21:	51                   	push   %ecx
76df1f22:	e8 e9 f5 ff ff       	call   76df1510 <_UpdateProgress>
76df1f27:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
76df1f2a:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
76df1f30:	89 f2                	mov    %esi,%edx
76df1f32:	8b 45 08             	mov    0x8(%ebp),%eax
76df1f35:	83 c4 10             	add    $0x10,%esp
76df1f38:	c1 fa 1f             	sar    $0x1f,%edx
76df1f3b:	bf 01 00 00 00       	mov    $0x1,%edi
76df1f40:	66 8b 58 0b          	mov    0xb(%eax),%bx
76df1f44:	89 f0                	mov    %esi,%eax
76df1f46:	89 d9                	mov    %ebx,%ecx
76df1f48:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df1f4e:	f7 f9                	idiv   %ecx
76df1f50:	89 c6                	mov    %eax,%esi
76df1f52:	8b 45 08             	mov    0x8(%ebp),%eax
76df1f55:	66 8b 48 16          	mov    0x16(%eax),%cx
76df1f59:	66 83 f9 01          	cmp    $0x1,%cx
76df1f5d:	77 2f                	ja     76df1f8e <_Fat16WriteFAT+0x12e>
76df1f5f:	e9 93 00 00 00       	jmp    76df1ff7 <_Fat16WriteFAT+0x197>
76df1f64:	8b 5d 0c             	mov    0xc(%ebp),%ebx
76df1f67:	50                   	push   %eax
76df1f68:	50                   	push   %eax
76df1f69:	56                   	push   %esi
76df1f6a:	53                   	push   %ebx
76df1f6b:	e8 a0 f5 ff ff       	call   76df1510 <_UpdateProgress>
76df1f70:	8b 55 08             	mov    0x8(%ebp),%edx
76df1f73:	66 8b 4a 16          	mov    0x16(%edx),%cx
76df1f77:	01 f7                	add    %esi,%edi
76df1f79:	89 c8                	mov    %ecx,%eax
76df1f7b:	83 c4 10             	add    $0x10,%esp
76df1f7e:	25 ff ff 00 00       	and    $0xffff,%eax
76df1f83:	39 f8                	cmp    %edi,%eax
76df1f85:	76 70                	jbe    76df1ff7 <_Fat16WriteFAT+0x197>
76df1f87:	8b 55 08             	mov    0x8(%ebp),%edx
76df1f8a:	66 8b 5a 0b          	mov    0xb(%edx),%bx
76df1f8e:	8b 55 08             	mov    0x8(%ebp),%edx
76df1f91:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df1f95:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
76df1f98:	25 ff ff 00 00       	and    $0xffff,%eax
76df1f9d:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df1fa4:	01 d0                	add    %edx,%eax
76df1fa6:	89 da                	mov    %ebx,%edx
76df1fa8:	01 f8                	add    %edi,%eax
76df1faa:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df1fb0:	0f af c2             	imul   %edx,%eax
76df1fb3:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df1fb6:	89 c8                	mov    %ecx,%eax
76df1fb8:	25 ff ff 00 00       	and    $0xffff,%eax
76df1fbd:	29 f8                	sub    %edi,%eax
76df1fbf:	39 f0                	cmp    %esi,%eax
76df1fc1:	77 02                	ja     76df1fc5 <_Fat16WriteFAT+0x165>
76df1fc3:	89 c6                	mov    %eax,%esi
76df1fc5:	0f af d6             	imul   %esi,%edx
76df1fc8:	83 ec 0c             	sub    $0xc,%esp
76df1fcb:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df1fce:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
76df1fd1:	6a 00                	push   $0x0
76df1fd3:	51                   	push   %ecx
76df1fd4:	52                   	push   %edx
76df1fd5:	50                   	push   %eax
76df1fd6:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
76df1fd9:	50                   	push   %eax
76df1fda:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
76df1fdd:	6a 00                	push   $0x0
76df1fdf:	6a 00                	push   $0x0
76df1fe1:	6a 00                	push   $0x0
76df1fe3:	50                   	push   %eax
76df1fe4:	e8 c7 0d 00 00       	call   76df2db0 <_NtWriteFile@36>
76df1fe9:	83 c4 0c             	add    $0xc,%esp
76df1fec:	85 c0                	test   %eax,%eax
76df1fee:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df1ff1:	0f 89 6d ff ff ff    	jns    76df1f64 <_Fat16WriteFAT+0x104>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df1ff7:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df1ffd:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
76df2000:	51                   	push   %ecx
76df2001:	52                   	push   %edx
76df2002:	6a 00                	push   $0x0
76df2004:	8b 40 18             	mov    0x18(%eax),%eax
76df2007:	50                   	push   %eax
76df2008:	e8 b3 0d 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df200d:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
76df2010:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df2013:	5b                   	pop    %ebx
76df2014:	5e                   	pop    %esi
76df2015:	5f                   	pop    %edi
76df2016:	5d                   	pop    %ebp
76df2017:	c3                   	ret    
76df2018:	90                   	nop    
76df2019:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

76df2020 <_Fat16Format>:
76df2020:	55                   	push   %ebp
76df2021:	89 e5                	mov    %esp,%ebp
76df2023:	57                   	push   %edi
76df2024:	56                   	push   %esi
76df2025:	53                   	push   %ebx
76df2026:	81 ec 7c 02 00 00    	sub    $0x27c,%esp
76df202c:	8b 7d 1c             	mov    0x1c(%ebp),%edi
76df202f:	8a 45 18             	mov    0x18(%ebp),%al
76df2032:	88 85 9f fd ff ff    	mov    %al,0xfffffd9f(%ebp)
76df2038:	85 ff                	test   %edi,%edi
76df203a:	75 43                	jne    76df207f <_Fat16Format+0x5f>
76df203c:	8b 55 0c             	mov    0xc(%ebp),%edx
76df203f:	8b 72 0c             	mov    0xc(%edx),%esi
76df2042:	8b 5a 08             	mov    0x8(%edx),%ebx
76df2045:	83 fe 00             	cmp    $0x0,%esi
76df2048:	77 2e                	ja     76df2078 <_Fat16Format+0x58>
76df204a:	66 bf 00 04          	mov    $0x400,%di
76df204e:	81 fb ff ff ff 00    	cmp    $0xffffff,%ebx
76df2054:	76 32                	jbe    76df2088 <_Fat16Format+0x68>
76df2056:	83 fe 00             	cmp    $0x0,%esi
76df2059:	77 1d                	ja     76df2078 <_Fat16Format+0x58>
76df205b:	66 bf 00 08          	mov    $0x800,%di
76df205f:	81 fb ff ff ff 07    	cmp    $0x7ffffff,%ebx
76df2065:	76 21                	jbe    76df2088 <_Fat16Format+0x68>
76df2067:	83 fe 00             	cmp    $0x0,%esi
76df206a:	77 0c                	ja     76df2078 <_Fat16Format+0x58>
76df206c:	66 bf 00 10          	mov    $0x1000,%di
76df2070:	81 fb ff ff ff 0f    	cmp    $0xfffffff,%ebx
76df2076:	76 10                	jbe    76df2088 <_Fat16Format+0x68>
76df2078:	bf 00 20 00 00       	mov    $0x2000,%edi
76df207d:	eb 09                	jmp    76df2088 <_Fat16Format+0x68>
76df207f:	8b 45 0c             	mov    0xc(%ebp),%eax
76df2082:	8b 58 08             	mov    0x8(%eax),%ebx
76df2085:	8b 70 0c             	mov    0xc(%eax),%esi
76df2088:	8b 55 10             	mov    0x10(%ebp),%edx
76df208b:	b9 01 00 00 00       	mov    $0x1,%ecx
76df2090:	8b 42 14             	mov    0x14(%edx),%eax
76df2093:	eb 03                	jmp    76df2098 <_Fat16Format+0x78>
76df2095:	d1 e8                	shr    %eax
76df2097:	41                   	inc    %ecx
76df2098:	85 c0                	test   %eax,%eax
76df209a:	75 f9                	jne    76df2095 <_Fat16Format+0x75>
76df209c:	83 e9 02             	sub    $0x2,%ecx
76df209f:	0f ad f3             	shrd   %cl,%esi,%ebx
76df20a2:	d3 fe                	sar    %cl,%esi
76df20a4:	83 e1 20             	and    $0x20,%ecx
76df20a7:	74 02                	je     76df20ab <_Fat16Format+0x8b>
76df20a9:	89 f3                	mov    %esi,%ebx
76df20ab:	89 de                	mov    %ebx,%esi
76df20ad:	8d 9d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ebx
76df20b3:	50                   	push   %eax
76df20b4:	68 00 02 00 00       	push   $0x200
76df20b9:	6a 00                	push   $0x0
76df20bb:	53                   	push   %ebx
76df20bc:	e8 5f 0d 00 00       	call   76df2e20 <_memset>
76df20c1:	8b 55 10             	mov    0x10(%ebp),%edx
76df20c4:	c7 85 eb fd ff ff 4d 	movl   $0x4957534d,0xfffffdeb(%ebp)
76df20cb:	53 57 49 
76df20ce:	c7 85 ef fd ff ff 4e 	movl   $0x312e344e,0xfffffdef(%ebp)
76df20d5:	34 2e 31 
76df20d8:	83 c4 10             	add    $0x10,%esp
76df20db:	8b 42 14             	mov    0x14(%edx),%eax
76df20de:	66 c7 85 f6 fd ff ff 	movw   $0x1,0xfffffdf6(%ebp)
76df20e5:	01 00 
76df20e7:	89 c2                	mov    %eax,%edx
76df20e9:	66 89 85 f3 fd ff ff 	mov    %ax,0xfffffdf3(%ebp)
76df20f0:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df20f6:	89 f8                	mov    %edi,%eax
76df20f8:	89 d3                	mov    %edx,%ebx
76df20fa:	31 d2                	xor    %edx,%edx
76df20fc:	f7 f3                	div    %ebx
76df20fe:	88 85 f5 fd ff ff    	mov    %al,0xfffffdf5(%ebp)
76df2104:	c6 85 f8 fd ff ff 02 	movb   $0x2,0xfffffdf8(%ebp)
76df210b:	66 c7 85 f9 fd ff ff 	movw   $0x200,0xfffffdf9(%ebp)
76df2112:	00 02 
76df2114:	89 f0                	mov    %esi,%eax
76df2116:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
76df211c:	76 02                	jbe    76df2120 <_Fat16Format+0x100>
76df211e:	31 c0                	xor    %eax,%eax
76df2120:	8b 55 10             	mov    0x10(%ebp),%edx
76df2123:	c6 85 fd fd ff ff f8 	movb   $0xf8,0xfffffdfd(%ebp)
76df212a:	66 89 85 fb fd ff ff 	mov    %ax,0xfffffdfb(%ebp)
76df2131:	8b 5d 0c             	mov    0xc(%ebp),%ebx
76df2134:	8b 42 10             	mov    0x10(%edx),%eax
76df2137:	66 c7 85 fe fd ff ff 	movw   $0x0,0xfffffdfe(%ebp)
76df213e:	00 00 
76df2140:	66 89 85 00 fe ff ff 	mov    %ax,0xfffffe00(%ebp)
76df2147:	8b 42 0c             	mov    0xc(%edx),%eax
76df214a:	66 89 85 02 fe ff ff 	mov    %ax,0xfffffe02(%ebp)
76df2151:	8b 43 10             	mov    0x10(%ebx),%eax
76df2154:	89 85 04 fe ff ff    	mov    %eax,0xfffffe04(%ebp)
76df215a:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
76df2160:	89 f0                	mov    %esi,%eax
76df2162:	77 02                	ja     76df2166 <_Fat16Format+0x146>
76df2164:	31 c0                	xor    %eax,%eax
76df2166:	83 ec 0c             	sub    $0xc,%esp
76df2169:	8d 9d d0 fd ff ff    	lea    0xfffffdd0(%ebp),%ebx
76df216f:	89 85 08 fe ff ff    	mov    %eax,0xfffffe08(%ebp)
76df2175:	c6 85 0c fe ff ff ff 	movb   $0xff,0xfffffe0c(%ebp)
76df217c:	53                   	push   %ebx
76df217d:	c6 85 0e fe ff ff 29 	movb   $0x29,0xfffffe0e(%ebp)
76df2184:	e8 47 0c 00 00       	call   76df2dd0 <_NtQuerySystemTime@4>
76df2189:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
76df218f:	89 04 24             	mov    %eax,(%esp)
76df2192:	53                   	push   %ebx
76df2193:	e8 48 0c 00 00       	call   76df2de0 <_RtlTimeToTimeFields@8>
76df2198:	8b 85 d8 fd ff ff    	mov    0xfffffdd8(%ebp),%eax
76df219e:	8a 95 de fd ff ff    	mov    0xfffffdde(%ebp),%dl
76df21a4:	8b 8d e0 fd ff ff    	mov    0xfffffde0(%ebp),%ecx
76df21aa:	01 c2                	add    %eax,%edx
76df21ac:	5b                   	pop    %ebx
76df21ad:	66 c1 e8 08          	shr    $0x8,%ax
76df21b1:	88 95 cc fd ff ff    	mov    %dl,0xfffffdcc(%ebp)
76df21b7:	01 c8                	add    %ecx,%eax
76df21b9:	8b 95 dc fd ff ff    	mov    0xfffffddc(%ebp),%edx
76df21bf:	88 85 cd fd ff ff    	mov    %al,0xfffffdcd(%ebp)
76df21c5:	66 8b 85 e2 fd ff ff 	mov    0xfffffde2(%ebp),%ax
76df21cc:	02 85 da fd ff ff    	add    0xfffffdda(%ebp),%al
76df21d2:	5f                   	pop    %edi
76df21d3:	88 85 ce fd ff ff    	mov    %al,0xfffffdce(%ebp)
76df21d9:	8b 85 e4 fd ff ff    	mov    0xfffffde4(%ebp),%eax
76df21df:	01 d0                	add    %edx,%eax
76df21e1:	88 85 cf fd ff ff    	mov    %al,0xfffffdcf(%ebp)
76df21e7:	8b 85 cc fd ff ff    	mov    0xfffffdcc(%ebp),%eax
76df21ed:	89 85 0f fe ff ff    	mov    %eax,0xfffffe0f(%ebp)
76df21f3:	8b 45 14             	mov    0x14(%ebp),%eax
76df21f6:	85 c0                	test   %eax,%eax
76df21f8:	74 0e                	je     76df2208 <_Fat16Format+0x1e8>
76df21fa:	8b 45 14             	mov    0x14(%ebp),%eax
76df21fd:	8b 40 04             	mov    0x4(%eax),%eax
76df2200:	85 c0                	test   %eax,%eax
76df2202:	0f 85 60 03 00 00    	jne    76df2568 <_Fat16Format+0x548>
76df2208:	c7 85 13 fe ff ff 4e 	movl   $0x4e204f4e,0xfffffe13(%ebp)
76df220f:	4f 20 4e 
76df2212:	c7 85 17 fe ff ff 41 	movl   $0x20454d41,0xfffffe17(%ebp)
76df2219:	4d 45 20 
76df221c:	66 c7 85 1b fe ff ff 	movw   $0x2020,0xfffffe1b(%ebp)
76df2223:	20 20 
76df2225:	c6 85 1d fe ff ff 20 	movb   $0x20,0xfffffe1d(%ebp)
76df222c:	66 8b 8d f3 fd ff ff 	mov    0xfffffdf3(%ebp),%cx
76df2233:	66 8b 95 f9 fd ff ff 	mov    0xfffffdf9(%ebp),%dx
76df223a:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2240:	89 cb                	mov    %ecx,%ebx
76df2242:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
76df2248:	c7 85 1e fe ff ff 46 	movl   $0x31544146,0xfffffe1e(%ebp)
76df224f:	41 54 31 
76df2252:	c1 e2 05             	shl    $0x5,%edx
76df2255:	c7 85 22 fe ff ff 36 	movl   $0x20202036,0xfffffe22(%ebp)
76df225c:	20 20 20 
76df225f:	66 d1 e9             	shr    %cx
76df2262:	8d 54 1a ff          	lea    0xffffffff(%edx,%ebx,1),%edx
76df2266:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df226c:	89 d0                	mov    %edx,%eax
76df226e:	c1 fa 1f             	sar    $0x1f,%edx
76df2271:	f7 fb                	idiv   %ebx
76df2273:	89 c3                	mov    %eax,%ebx
76df2275:	66 8b 85 f6 fd ff ff 	mov    0xfffffdf6(%ebp),%ax
76df227c:	25 ff ff 00 00       	and    $0xffff,%eax
76df2281:	89 f2                	mov    %esi,%edx
76df2283:	01 d8                	add    %ebx,%eax
76df2285:	29 c2                	sub    %eax,%edx
76df2287:	31 c0                	xor    %eax,%eax
76df2289:	8a 85 f5 fd ff ff    	mov    0xfffffdf5(%ebp),%al
76df228f:	0f af c8             	imul   %eax,%ecx
76df2292:	31 c0                	xor    %eax,%eax
76df2294:	8a 85 f8 fd ff ff    	mov    0xfffffdf8(%ebp),%al
76df229a:	01 c1                	add    %eax,%ecx
76df229c:	8d 44 11 ff          	lea    0xffffffff(%ecx,%edx,1),%eax
76df22a0:	31 d2                	xor    %edx,%edx
76df22a2:	f7 f1                	div    %ecx
76df22a4:	66 89 85 fe fd ff ff 	mov    %ax,0xfffffdfe(%ebp)
76df22ab:	80 bd 9f fd ff ff 00 	cmpb   $0x0,0xfffffd9f(%ebp)
76df22b2:	0f 84 a5 02 00 00    	je     76df255d <_Fat16Format+0x53d>
76df22b8:	25 ff ff 00 00       	and    $0xffff,%eax
76df22bd:	8b 55 20             	mov    0x20(%ebp),%edx
76df22c0:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
76df22c4:	89 42 04             	mov    %eax,0x4(%edx)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df22c7:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df22cd:	53                   	push   %ebx
76df22ce:	68 00 02 00 00       	push   $0x200
76df22d3:	6a 00                	push   $0x0
76df22d5:	8b 48 18             	mov    0x18(%eax),%ecx
76df22d8:	51                   	push   %ecx
76df22d9:	e8 c2 0a 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df22de:	89 c3                	mov    %eax,%ebx
76df22e0:	5a                   	pop    %edx
76df22e1:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df22e6:	85 db                	test   %ebx,%ebx
76df22e8:	0f 84 98 00 00 00    	je     76df2386 <_Fat16Format+0x366>
76df22ee:	50                   	push   %eax
76df22ef:	68 00 02 00 00       	push   $0x200
76df22f4:	6a 00                	push   $0x0
76df22f6:	53                   	push   %ebx
76df22f7:	e8 24 0b 00 00       	call   76df2e20 <_memset>
76df22fc:	fc                   	cld    
76df22fd:	8d 7b 03             	lea    0x3(%ebx),%edi
76df2300:	8d b5 eb fd ff ff    	lea    0xfffffdeb(%ebp),%esi
76df2306:	b9 0e 00 00 00       	mov    $0xe,%ecx
76df230b:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
76df230d:	66 8b 06             	mov    (%esi),%ax
76df2310:	66 89 07             	mov    %ax,(%edi)
76df2313:	8a 46 02             	mov    0x2(%esi),%al
76df2316:	88 47 02             	mov    %al,0x2(%edi)
76df2319:	8d 85 b8 fd ff ff    	lea    0xfffffdb8(%ebp),%eax
76df231f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df2326:	50                   	push   %eax
76df2327:	8d 85 b0 fd ff ff    	lea    0xfffffdb0(%ebp),%eax
76df232d:	68 00 02 00 00       	push   $0x200
76df2332:	53                   	push   %ebx
76df2333:	50                   	push   %eax
76df2334:	8b 45 08             	mov    0x8(%ebp),%eax
76df2337:	6a 00                	push   $0x0
76df2339:	c7 85 b8 fd ff ff 00 	movl   $0x0,0xfffffdb8(%ebp)
76df2340:	00 00 00 
76df2343:	6a 00                	push   $0x0
76df2345:	c7 85 bc fd ff ff 00 	movl   $0x0,0xfffffdbc(%ebp)
76df234c:	00 00 00 
76df234f:	6a 00                	push   $0x0
76df2351:	50                   	push   %eax
76df2352:	e8 59 0a 00 00       	call   76df2db0 <_NtWriteFile@36>
76df2357:	83 c4 0c             	add    $0xc,%esp
76df235a:	89 c6                	mov    %eax,%esi
76df235c:	85 c0                	test   %eax,%eax
76df235e:	78 10                	js     76df2370 <_Fat16Format+0x350>
76df2360:	8b 4d 20             	mov    0x20(%ebp),%ecx
76df2363:	57                   	push   %edi
76df2364:	57                   	push   %edi
76df2365:	6a 01                	push   $0x1
76df2367:	51                   	push   %ecx
76df2368:	e8 a3 f1 ff ff       	call   76df1510 <_UpdateProgress>
76df236d:	83 c4 10             	add    $0x10,%esp
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2370:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2376:	52                   	push   %edx
76df2377:	53                   	push   %ebx
76df2378:	6a 00                	push   $0x0
76df237a:	8b 40 18             	mov    0x18(%eax),%eax
76df237d:	50                   	push   %eax
76df237e:	e8 3d 0a 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df2383:	58                   	pop    %eax
76df2384:	89 f0                	mov    %esi,%eax
76df2386:	85 c0                	test   %eax,%eax
76df2388:	0f 88 c7 01 00 00    	js     76df2555 <_Fat16Format+0x535>
76df238e:	50                   	push   %eax
76df238f:	50                   	push   %eax
76df2390:	8b 45 20             	mov    0x20(%ebp),%eax
76df2393:	50                   	push   %eax
76df2394:	8d 85 e8 fd ff ff    	lea    0xfffffde8(%ebp),%eax
76df239a:	50                   	push   %eax
76df239b:	31 d2                	xor    %edx,%edx
76df239d:	8b 45 08             	mov    0x8(%ebp),%eax
76df23a0:	e8 bb fa ff ff       	call   76df1e60 <_Fat16WriteFAT>
76df23a5:	83 c4 10             	add    $0x10,%esp
76df23a8:	85 c0                	test   %eax,%eax
76df23aa:	0f 88 a5 01 00 00    	js     76df2555 <_Fat16Format+0x535>
76df23b0:	66 8b 95 fe fd ff ff 	mov    0xfffffdfe(%ebp),%dx
76df23b7:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df23bd:	50                   	push   %eax
76df23be:	8b 7d 20             	mov    0x20(%ebp),%edi
76df23c1:	50                   	push   %eax
76df23c2:	8d 9d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ebx
76df23c8:	8b 45 08             	mov    0x8(%ebp),%eax
76df23cb:	57                   	push   %edi
76df23cc:	53                   	push   %ebx
76df23cd:	e8 8e fa ff ff       	call   76df1e60 <_Fat16WriteFAT>
76df23d2:	83 c4 10             	add    $0x10,%esp
76df23d5:	85 c0                	test   %eax,%eax
76df23d7:	0f 88 78 01 00 00    	js     76df2555 <_Fat16Format+0x535>
76df23dd:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df23e4:	66 8b 95 f9 fd ff ff 	mov    0xfffffdf9(%ebp),%dx
76df23eb:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df23f1:	89 c1                	mov    %eax,%ecx
76df23f3:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df23f9:	c7 85 98 fd ff ff 00 	movl   $0x0,0xfffffd98(%ebp)
76df2400:	00 00 00 
76df2403:	c1 e2 05             	shl    $0x5,%edx
76df2406:	8d 54 0a ff          	lea    0xffffffff(%edx,%ecx,1),%edx
76df240a:	89 d0                	mov    %edx,%eax
76df240c:	c1 fa 1f             	sar    $0x1f,%edx
76df240f:	f7 f9                	idiv   %ecx
76df2411:	89 c7                	mov    %eax,%edi
76df2413:	31 d2                	xor    %edx,%edx
76df2415:	66 8b 85 fe fd ff ff 	mov    0xfffffdfe(%ebp),%ax
76df241c:	8a 95 f8 fd ff ff    	mov    0xfffffdf8(%ebp),%dl
76df2422:	25 ff ff 00 00       	and    $0xffff,%eax
76df2427:	66 8b 8d f6 fd ff ff 	mov    0xfffffdf6(%ebp),%cx
76df242e:	0f af d0             	imul   %eax,%edx
76df2431:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df2437:	01 d1                	add    %edx,%ecx
76df2439:	89 8d 90 fd ff ff    	mov    %ecx,0xfffffd90(%ebp)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df243f:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2445:	56                   	push   %esi
76df2446:	68 00 80 00 00       	push   $0x8000
76df244b:	6a 00                	push   $0x0
76df244d:	8b 58 18             	mov    0x18(%eax),%ebx
76df2450:	53                   	push   %ebx
76df2451:	e8 4a 09 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df2456:	59                   	pop    %ecx
76df2457:	89 85 94 fd ff ff    	mov    %eax,0xfffffd94(%ebp)
76df245d:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df2462:	8b 95 94 fd ff ff    	mov    0xfffffd94(%ebp),%edx
76df2468:	85 d2                	test   %edx,%edx
76df246a:	0f 84 e5 00 00 00    	je     76df2555 <_Fat16Format+0x535>
76df2470:	50                   	push   %eax
76df2471:	8b 85 94 fd ff ff    	mov    0xfffffd94(%ebp),%eax
76df2477:	68 00 80 00 00       	push   $0x8000
76df247c:	6a 00                	push   $0x0
76df247e:	50                   	push   %eax
76df247f:	e8 9c 09 00 00       	call   76df2e20 <_memset>
76df2484:	bb 00 80 00 00       	mov    $0x8000,%ebx
76df2489:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df2490:	89 da                	mov    %ebx,%edx
76df2492:	89 c1                	mov    %eax,%ecx
76df2494:	89 d8                	mov    %ebx,%eax
76df2496:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df249c:	83 c4 10             	add    $0x10,%esp
76df249f:	c1 fa 1f             	sar    $0x1f,%edx
76df24a2:	31 f6                	xor    %esi,%esi
76df24a4:	f7 f9                	idiv   %ecx
76df24a6:	39 bd 98 fd ff ff    	cmp    %edi,0xfffffd98(%ebp)
76df24ac:	89 c3                	mov    %eax,%ebx
76df24ae:	eb 7f                	jmp    76df252f <_Fat16Format+0x50f>
76df24b0:	8b 85 90 fd ff ff    	mov    0xfffffd90(%ebp),%eax
76df24b6:	66 8b 95 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%dx
76df24bd:	01 f0                	add    %esi,%eax
76df24bf:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df24c5:	0f af c2             	imul   %edx,%eax
76df24c8:	89 85 a8 fd ff ff    	mov    %eax,0xfffffda8(%ebp)
76df24ce:	89 f8                	mov    %edi,%eax
76df24d0:	29 f0                	sub    %esi,%eax
76df24d2:	c7 85 ac fd ff ff 00 	movl   $0x0,0xfffffdac(%ebp)
76df24d9:	00 00 00 
76df24dc:	39 d8                	cmp    %ebx,%eax
76df24de:	77 02                	ja     76df24e2 <_Fat16Format+0x4c2>
76df24e0:	89 c3                	mov    %eax,%ebx
76df24e2:	0f af d3             	imul   %ebx,%edx
76df24e5:	83 ec 0c             	sub    $0xc,%esp
76df24e8:	8d 85 a8 fd ff ff    	lea    0xfffffda8(%ebp),%eax
76df24ee:	6a 00                	push   $0x0
76df24f0:	50                   	push   %eax
76df24f1:	8b 85 94 fd ff ff    	mov    0xfffffd94(%ebp),%eax
76df24f7:	52                   	push   %edx
76df24f8:	8d 95 a0 fd ff ff    	lea    0xfffffda0(%ebp),%edx
76df24fe:	50                   	push   %eax
76df24ff:	8b 45 08             	mov    0x8(%ebp),%eax
76df2502:	52                   	push   %edx
76df2503:	6a 00                	push   $0x0
76df2505:	6a 00                	push   $0x0
76df2507:	6a 00                	push   $0x0
76df2509:	50                   	push   %eax
76df250a:	e8 a1 08 00 00       	call   76df2db0 <_NtWriteFile@36>
76df250f:	83 c4 0c             	add    $0xc,%esp
76df2512:	85 c0                	test   %eax,%eax
76df2514:	89 85 98 fd ff ff    	mov    %eax,0xfffffd98(%ebp)
76df251a:	78 19                	js     76df2535 <_Fat16Format+0x515>
76df251c:	50                   	push   %eax
76df251d:	50                   	push   %eax
76df251e:	8b 45 20             	mov    0x20(%ebp),%eax
76df2521:	53                   	push   %ebx
76df2522:	01 de                	add    %ebx,%esi
76df2524:	50                   	push   %eax
76df2525:	e8 e6 ef ff ff       	call   76df1510 <_UpdateProgress>
76df252a:	83 c4 10             	add    $0x10,%esp
76df252d:	39 fe                	cmp    %edi,%esi
76df252f:	0f 82 7b ff ff ff    	jb     76df24b0 <_Fat16Format+0x490>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2535:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df253b:	8b 95 94 fd ff ff    	mov    0xfffffd94(%ebp),%edx
76df2541:	51                   	push   %ecx
76df2542:	52                   	push   %edx
76df2543:	6a 00                	push   $0x0
76df2545:	8b 78 18             	mov    0x18(%eax),%edi
76df2548:	57                   	push   %edi
76df2549:	e8 72 08 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df254e:	8b 85 98 fd ff ff    	mov    0xfffffd98(%ebp),%eax

#ifdef _M_IX86

static inline struct _PEB * NtCurrentPeb(void)
{
76df2554:	5e                   	pop    %esi
76df2555:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df2558:	5b                   	pop    %ebx
76df2559:	5e                   	pop    %esi
76df255a:	5f                   	pop    %edi
76df255b:	5d                   	pop    %ebp
76df255c:	c3                   	ret    
76df255d:	8b 5d 20             	mov    0x20(%ebp),%ebx
76df2560:	89 73 04             	mov    %esi,0x4(%ebx)
76df2563:	e9 5f fd ff ff       	jmp    76df22c7 <_Fat16Format+0x2a7>
76df2568:	8d 9d c0 fd ff ff    	lea    0xfffffdc0(%ebp),%ebx
76df256e:	50                   	push   %eax
76df256f:	8b 45 14             	mov    0x14(%ebp),%eax
76df2572:	6a 01                	push   $0x1
76df2574:	50                   	push   %eax
76df2575:	53                   	push   %ebx
76df2576:	e8 75 08 00 00       	call   76df2df0 <_RtlUnicodeStringToOemString@12>
76df257b:	8b 85 c0 fd ff ff    	mov    0xfffffdc0(%ebp),%eax
76df2581:	c7 85 13 fe ff ff 20 	movl   $0x20202020,0xfffffe13(%ebp)
76df2588:	20 20 20 
76df258b:	c7 85 17 fe ff ff 20 	movl   $0x20202020,0xfffffe17(%ebp)
76df2592:	20 20 20 
76df2595:	66 c7 85 1b fe ff ff 	movw   $0x2020,0xfffffe1b(%ebp)
76df259c:	20 20 
76df259e:	c6 85 1d fe ff ff 20 	movb   $0x20,0xfffffe1d(%ebp)
76df25a5:	5f                   	pop    %edi
76df25a6:	66 83 f8 0a          	cmp    $0xa,%ax
76df25aa:	ba 0b 00 00 00       	mov    $0xb,%edx
76df25af:	77 08                	ja     76df25b9 <_Fat16Format+0x599>
76df25b1:	89 c2                	mov    %eax,%edx
76df25b3:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df25b9:	51                   	push   %ecx
76df25ba:	52                   	push   %edx
76df25bb:	8d 85 13 fe ff ff    	lea    0xfffffe13(%ebp),%eax
76df25c1:	8b 7b 04             	mov    0x4(%ebx),%edi
76df25c4:	57                   	push   %edi
76df25c5:	50                   	push   %eax
76df25c6:	e8 45 08 00 00       	call   76df2e10 <_memcpy>
76df25cb:	89 1c 24             	mov    %ebx,(%esp)
76df25ce:	e8 2d 08 00 00       	call   76df2e00 <_RtlFreeOemString@4>
76df25d3:	83 c4 0c             	add    $0xc,%esp
76df25d6:	e9 51 fc ff ff       	jmp    76df222c <_Fat16Format+0x20c>
76df25db:	90                   	nop    
76df25dc:	90                   	nop    
76df25dd:	90                   	nop    
76df25de:	90                   	nop    
76df25df:	90                   	nop    

76df25e0 <_Fat12WriteFAT>:
76df25e0:	55                   	push   %ebp
76df25e1:	89 e5                	mov    %esp,%ebp
76df25e3:	57                   	push   %edi
76df25e4:	56                   	push   %esi
76df25e5:	53                   	push   %ebx
76df25e6:	83 ec 30             	sub    $0x30,%esp
76df25e9:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
76df25ec:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df25ef:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df25f5:	68 00 80 00 00       	push   $0x8000
76df25fa:	6a 00                	push   $0x0
76df25fc:	8b 58 18             	mov    0x18(%eax),%ebx
76df25ff:	53                   	push   %ebx
76df2600:	e8 9b 07 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df2605:	59                   	pop    %ecx
76df2606:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
76df2609:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df260e:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
76df2611:	85 d2                	test   %edx,%edx
76df2613:	0f 84 76 01 00 00    	je     76df278f <_Fat12WriteFAT+0x1af>
76df2619:	8b 5d d0             	mov    0xffffffd0(%ebp),%ebx
76df261c:	57                   	push   %edi
76df261d:	68 00 80 00 00       	push   $0x8000
76df2622:	6a 00                	push   $0x0
76df2624:	53                   	push   %ebx
76df2625:	e8 f6 07 00 00       	call   76df2e20 <_memset>
76df262a:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df262d:	c6 00 f8             	movb   $0xf8,(%eax)
76df2630:	c6 40 01 ff          	movb   $0xff,0x1(%eax)
76df2634:	c6 40 02 ff          	movb   $0xff,0x2(%eax)
76df2638:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df263f:	8b 55 08             	mov    0x8(%ebp),%edx
76df2642:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
76df2645:	8b 7d dc             	mov    0xffffffdc(%ebp),%edi
76df2648:	be 00 80 00 00       	mov    $0x8000,%esi
76df264d:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df2651:	66 8b 52 0b          	mov    0xb(%edx),%dx
76df2655:	25 ff ff 00 00       	and    $0xffff,%eax
76df265a:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2660:	01 c8                	add    %ecx,%eax
76df2662:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df2669:	0f af c2             	imul   %edx,%eax
76df266c:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df266f:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
76df2672:	50                   	push   %eax
76df2673:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df2676:	52                   	push   %edx
76df2677:	8d 55 e0             	lea    0xffffffe0(%ebp),%edx
76df267a:	50                   	push   %eax
76df267b:	52                   	push   %edx
76df267c:	6a 00                	push   $0x0
76df267e:	6a 00                	push   $0x0
76df2680:	6a 00                	push   $0x0
76df2682:	57                   	push   %edi
76df2683:	e8 28 07 00 00       	call   76df2db0 <_NtWriteFile@36>
76df2688:	83 c4 0c             	add    $0xc,%esp
76df268b:	85 c0                	test   %eax,%eax
76df268d:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df2690:	0f 88 e0 00 00 00    	js     76df2776 <_Fat12WriteFAT+0x196>
76df2696:	8b 4d 0c             	mov    0xc(%ebp),%ecx
76df2699:	53                   	push   %ebx
76df269a:	53                   	push   %ebx
76df269b:	6a 01                	push   $0x1
76df269d:	51                   	push   %ecx
76df269e:	e8 6d ee ff ff       	call   76df1510 <_UpdateProgress>
76df26a3:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
76df26a6:	66 c7 01 00 00       	movw   $0x0,(%ecx)
76df26ab:	c6 41 02 00          	movb   $0x0,0x2(%ecx)
76df26af:	8b 45 08             	mov    0x8(%ebp),%eax
76df26b2:	89 f2                	mov    %esi,%edx
76df26b4:	c1 fa 1f             	sar    $0x1f,%edx
76df26b7:	83 c4 10             	add    $0x10,%esp
76df26ba:	66 8b 58 0b          	mov    0xb(%eax),%bx
76df26be:	89 f0                	mov    %esi,%eax
76df26c0:	89 d9                	mov    %ebx,%ecx
76df26c2:	bf 01 00 00 00       	mov    $0x1,%edi
76df26c7:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df26cd:	f7 f9                	idiv   %ecx
76df26cf:	89 c6                	mov    %eax,%esi
76df26d1:	8b 45 08             	mov    0x8(%ebp),%eax
76df26d4:	66 8b 48 16          	mov    0x16(%eax),%cx
76df26d8:	66 83 f9 01          	cmp    $0x1,%cx
76df26dc:	77 2f                	ja     76df270d <_Fat12WriteFAT+0x12d>
76df26de:	e9 93 00 00 00       	jmp    76df2776 <_Fat12WriteFAT+0x196>
76df26e3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
76df26e6:	50                   	push   %eax
76df26e7:	50                   	push   %eax
76df26e8:	56                   	push   %esi
76df26e9:	53                   	push   %ebx
76df26ea:	e8 21 ee ff ff       	call   76df1510 <_UpdateProgress>
76df26ef:	8b 55 08             	mov    0x8(%ebp),%edx
76df26f2:	66 8b 4a 16          	mov    0x16(%edx),%cx
76df26f6:	01 f7                	add    %esi,%edi
76df26f8:	89 c8                	mov    %ecx,%eax
76df26fa:	83 c4 10             	add    $0x10,%esp
76df26fd:	25 ff ff 00 00       	and    $0xffff,%eax
76df2702:	39 f8                	cmp    %edi,%eax
76df2704:	76 70                	jbe    76df2776 <_Fat12WriteFAT+0x196>
76df2706:	8b 55 08             	mov    0x8(%ebp),%edx
76df2709:	66 8b 5a 0b          	mov    0xb(%edx),%bx
76df270d:	8b 55 08             	mov    0x8(%ebp),%edx
76df2710:	66 8b 42 0e          	mov    0xe(%edx),%ax
76df2714:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
76df2717:	25 ff ff 00 00       	and    $0xffff,%eax
76df271c:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df2723:	01 d0                	add    %edx,%eax
76df2725:	89 da                	mov    %ebx,%edx
76df2727:	01 f8                	add    %edi,%eax
76df2729:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df272f:	0f af c2             	imul   %edx,%eax
76df2732:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df2735:	89 c8                	mov    %ecx,%eax
76df2737:	25 ff ff 00 00       	and    $0xffff,%eax
76df273c:	29 f8                	sub    %edi,%eax
76df273e:	39 f0                	cmp    %esi,%eax
76df2740:	77 02                	ja     76df2744 <_Fat12WriteFAT+0x164>
76df2742:	89 c6                	mov    %eax,%esi
76df2744:	0f af d6             	imul   %esi,%edx
76df2747:	83 ec 0c             	sub    $0xc,%esp
76df274a:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
76df274d:	8d 4d e8             	lea    0xffffffe8(%ebp),%ecx
76df2750:	6a 00                	push   $0x0
76df2752:	51                   	push   %ecx
76df2753:	52                   	push   %edx
76df2754:	50                   	push   %eax
76df2755:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
76df2758:	50                   	push   %eax
76df2759:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
76df275c:	6a 00                	push   $0x0
76df275e:	6a 00                	push   $0x0
76df2760:	6a 00                	push   $0x0
76df2762:	50                   	push   %eax
76df2763:	e8 48 06 00 00       	call   76df2db0 <_NtWriteFile@36>
76df2768:	83 c4 0c             	add    $0xc,%esp
76df276b:	85 c0                	test   %eax,%eax
76df276d:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
76df2770:	0f 89 6d ff ff ff    	jns    76df26e3 <_Fat12WriteFAT+0x103>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2776:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df277c:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
76df277f:	51                   	push   %ecx
76df2780:	52                   	push   %edx
76df2781:	6a 00                	push   $0x0
76df2783:	8b 40 18             	mov    0x18(%eax),%eax
76df2786:	50                   	push   %eax
76df2787:	e8 34 06 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df278c:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
76df278f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df2792:	5b                   	pop    %ebx
76df2793:	5e                   	pop    %esi
76df2794:	5f                   	pop    %edi
76df2795:	5d                   	pop    %ebp
76df2796:	c3                   	ret    
76df2797:	89 f6                	mov    %esi,%esi
76df2799:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

76df27a0 <_Fat12Format>:
76df27a0:	55                   	push   %ebp
76df27a1:	89 e5                	mov    %esp,%ebp
76df27a3:	57                   	push   %edi
76df27a4:	56                   	push   %esi
76df27a5:	53                   	push   %ebx
76df27a6:	81 ec 7c 02 00 00    	sub    $0x27c,%esp
76df27ac:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
76df27af:	8a 45 18             	mov    0x18(%ebp),%al
76df27b2:	8b 7d 10             	mov    0x10(%ebp),%edi
76df27b5:	88 85 9f fd ff ff    	mov    %al,0xfffffd9f(%ebp)
76df27bb:	85 db                	test   %ebx,%ebx
76df27bd:	75 04                	jne    76df27c3 <_Fat12Format+0x23>
76df27bf:	66 bb 00 10          	mov    $0x1000,%bx
76df27c3:	8b 47 14             	mov    0x14(%edi),%eax
76df27c6:	ba 01 00 00 00       	mov    $0x1,%edx
76df27cb:	eb 06                	jmp    76df27d3 <_Fat12Format+0x33>
76df27cd:	8d 76 00             	lea    0x0(%esi),%esi
76df27d0:	d1 e8                	shr    %eax
76df27d2:	42                   	inc    %edx
76df27d3:	85 c0                	test   %eax,%eax
76df27d5:	75 f9                	jne    76df27d0 <_Fat12Format+0x30>
76df27d7:	8b 75 0c             	mov    0xc(%ebp),%esi
76df27da:	8d 4a fe             	lea    0xfffffffe(%edx),%ecx
76df27dd:	8b 46 08             	mov    0x8(%esi),%eax
76df27e0:	8b 56 0c             	mov    0xc(%esi),%edx
76df27e3:	0f ad d0             	shrd   %cl,%edx,%eax
76df27e6:	d3 fa                	sar    %cl,%edx
76df27e8:	83 e1 20             	and    $0x20,%ecx
76df27eb:	74 02                	je     76df27ef <_Fat12Format+0x4f>
76df27ed:	89 d0                	mov    %edx,%eax
76df27ef:	89 c6                	mov    %eax,%esi
76df27f1:	50                   	push   %eax
76df27f2:	8d 85 e8 fd ff ff    	lea    0xfffffde8(%ebp),%eax
76df27f8:	68 00 02 00 00       	push   $0x200
76df27fd:	6a 00                	push   $0x0
76df27ff:	50                   	push   %eax
76df2800:	e8 1b 06 00 00       	call   76df2e20 <_memset>
76df2805:	c7 85 eb fd ff ff 4d 	movl   $0x4957534d,0xfffffdeb(%ebp)
76df280c:	53 57 49 
76df280f:	c7 85 ef fd ff ff 4e 	movl   $0x312e344e,0xfffffdef(%ebp)
76df2816:	34 2e 31 
76df2819:	8b 47 14             	mov    0x14(%edi),%eax
76df281c:	83 c4 10             	add    $0x10,%esp
76df281f:	89 c2                	mov    %eax,%edx
76df2821:	66 89 85 f3 fd ff ff 	mov    %ax,0xfffffdf3(%ebp)
76df2828:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df282e:	89 d8                	mov    %ebx,%eax
76df2830:	89 d1                	mov    %edx,%ecx
76df2832:	31 d2                	xor    %edx,%edx
76df2834:	f7 f1                	div    %ecx
76df2836:	88 85 f5 fd ff ff    	mov    %al,0xfffffdf5(%ebp)
76df283c:	66 c7 85 f6 fd ff ff 	movw   $0x1,0xfffffdf6(%ebp)
76df2843:	01 00 
76df2845:	c6 85 f8 fd ff ff 02 	movb   $0x2,0xfffffdf8(%ebp)
76df284c:	66 c7 85 f9 fd ff ff 	movw   $0x200,0xfffffdf9(%ebp)
76df2853:	00 02 
76df2855:	89 f0                	mov    %esi,%eax
76df2857:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
76df285d:	76 02                	jbe    76df2861 <_Fat12Format+0xc1>
76df285f:	31 c0                	xor    %eax,%eax
76df2861:	c6 85 fd fd ff ff f8 	movb   $0xf8,0xfffffdfd(%ebp)
76df2868:	66 89 85 fb fd ff ff 	mov    %ax,0xfffffdfb(%ebp)
76df286f:	8b 55 0c             	mov    0xc(%ebp),%edx
76df2872:	8b 47 10             	mov    0x10(%edi),%eax
76df2875:	66 89 85 00 fe ff ff 	mov    %ax,0xfffffe00(%ebp)
76df287c:	8b 47 0c             	mov    0xc(%edi),%eax
76df287f:	66 89 85 02 fe ff ff 	mov    %ax,0xfffffe02(%ebp)
76df2886:	8b 42 10             	mov    0x10(%edx),%eax
76df2889:	89 85 04 fe ff ff    	mov    %eax,0xfffffe04(%ebp)
76df288f:	66 c7 85 fe fd ff ff 	movw   $0x0,0xfffffdfe(%ebp)
76df2896:	00 00 
76df2898:	89 f0                	mov    %esi,%eax
76df289a:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
76df28a0:	77 02                	ja     76df28a4 <_Fat12Format+0x104>
76df28a2:	31 c0                	xor    %eax,%eax
76df28a4:	83 ec 0c             	sub    $0xc,%esp
76df28a7:	8d 9d d0 fd ff ff    	lea    0xfffffdd0(%ebp),%ebx
76df28ad:	89 85 08 fe ff ff    	mov    %eax,0xfffffe08(%ebp)
76df28b3:	c6 85 0c fe ff ff ff 	movb   $0xff,0xfffffe0c(%ebp)
76df28ba:	53                   	push   %ebx
76df28bb:	c6 85 0e fe ff ff 29 	movb   $0x29,0xfffffe0e(%ebp)
76df28c2:	e8 09 05 00 00       	call   76df2dd0 <_NtQuerySystemTime@4>
76df28c7:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
76df28cd:	89 04 24             	mov    %eax,(%esp)
76df28d0:	53                   	push   %ebx
76df28d1:	e8 0a 05 00 00       	call   76df2de0 <_RtlTimeToTimeFields@8>
76df28d6:	8b 85 d8 fd ff ff    	mov    0xfffffdd8(%ebp),%eax
76df28dc:	8a 95 de fd ff ff    	mov    0xfffffdde(%ebp),%dl
76df28e2:	8b 8d e0 fd ff ff    	mov    0xfffffde0(%ebp),%ecx
76df28e8:	01 c2                	add    %eax,%edx
76df28ea:	5b                   	pop    %ebx
76df28eb:	66 c1 e8 08          	shr    $0x8,%ax
76df28ef:	88 95 cc fd ff ff    	mov    %dl,0xfffffdcc(%ebp)
76df28f5:	01 c8                	add    %ecx,%eax
76df28f7:	8b 95 dc fd ff ff    	mov    0xfffffddc(%ebp),%edx
76df28fd:	88 85 cd fd ff ff    	mov    %al,0xfffffdcd(%ebp)
76df2903:	66 8b 85 e2 fd ff ff 	mov    0xfffffde2(%ebp),%ax
76df290a:	02 85 da fd ff ff    	add    0xfffffdda(%ebp),%al
76df2910:	5f                   	pop    %edi
76df2911:	88 85 ce fd ff ff    	mov    %al,0xfffffdce(%ebp)
76df2917:	8b 85 e4 fd ff ff    	mov    0xfffffde4(%ebp),%eax
76df291d:	01 d0                	add    %edx,%eax
76df291f:	88 85 cf fd ff ff    	mov    %al,0xfffffdcf(%ebp)
76df2925:	8b 85 cc fd ff ff    	mov    0xfffffdcc(%ebp),%eax
76df292b:	89 85 0f fe ff ff    	mov    %eax,0xfffffe0f(%ebp)
76df2931:	8b 45 14             	mov    0x14(%ebp),%eax
76df2934:	85 c0                	test   %eax,%eax
76df2936:	74 0e                	je     76df2946 <_Fat12Format+0x1a6>
76df2938:	8b 4d 14             	mov    0x14(%ebp),%ecx
76df293b:	8b 41 04             	mov    0x4(%ecx),%eax
76df293e:	85 c0                	test   %eax,%eax
76df2940:	0f 85 64 03 00 00    	jne    76df2caa <_Fat12Format+0x50a>
76df2946:	c7 85 13 fe ff ff 4e 	movl   $0x4e204f4e,0xfffffe13(%ebp)
76df294d:	4f 20 4e 
76df2950:	c7 85 17 fe ff ff 41 	movl   $0x20454d41,0xfffffe17(%ebp)
76df2957:	4d 45 20 
76df295a:	66 c7 85 1b fe ff ff 	movw   $0x2020,0xfffffe1b(%ebp)
76df2961:	20 20 
76df2963:	c6 85 1d fe ff ff 20 	movb   $0x20,0xfffffe1d(%ebp)
76df296a:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df2971:	66 8b 95 f9 fd ff ff 	mov    0xfffffdf9(%ebp),%dx
76df2978:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df297e:	89 c1                	mov    %eax,%ecx
76df2980:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df2986:	89 f7                	mov    %esi,%edi
76df2988:	c1 e2 05             	shl    $0x5,%edx
76df298b:	c7 85 1e fe ff ff 46 	movl   $0x31544146,0xfffffe1e(%ebp)
76df2992:	41 54 31 
76df2995:	c7 85 22 fe ff ff 32 	movl   $0x20202032,0xfffffe22(%ebp)
76df299c:	20 20 20 
76df299f:	8d 54 0a ff          	lea    0xffffffff(%edx,%ecx,1),%edx
76df29a3:	89 d0                	mov    %edx,%eax
76df29a5:	c1 fa 1f             	sar    $0x1f,%edx
76df29a8:	f7 f9                	idiv   %ecx
76df29aa:	89 c3                	mov    %eax,%ebx
76df29ac:	66 8b 85 f6 fd ff ff 	mov    0xfffffdf6(%ebp),%ax
76df29b3:	25 ff ff 00 00       	and    $0xffff,%eax
76df29b8:	01 c9                	add    %ecx,%ecx
76df29ba:	01 d8                	add    %ebx,%eax
76df29bc:	29 c7                	sub    %eax,%edi
76df29be:	b8 56 55 55 55       	mov    $0x55555556,%eax
76df29c3:	f7 e9                	imul   %ecx
76df29c5:	31 c0                	xor    %eax,%eax
76df29c7:	89 d1                	mov    %edx,%ecx
76df29c9:	8a 85 f5 fd ff ff    	mov    0xfffffdf5(%ebp),%al
76df29cf:	31 d2                	xor    %edx,%edx
76df29d1:	0f af c8             	imul   %eax,%ecx
76df29d4:	31 c0                	xor    %eax,%eax
76df29d6:	8a 85 f8 fd ff ff    	mov    0xfffffdf8(%ebp),%al
76df29dc:	01 c1                	add    %eax,%ecx
76df29de:	8d 44 39 ff          	lea    0xffffffff(%ecx,%edi,1),%eax
76df29e2:	f7 f1                	div    %ecx
76df29e4:	66 89 85 fe fd ff ff 	mov    %ax,0xfffffdfe(%ebp)
76df29eb:	80 bd 9f fd ff ff 00 	cmpb   $0x0,0xfffffd9f(%ebp)
76df29f2:	0f 84 a7 02 00 00    	je     76df2c9f <_Fat12Format+0x4ff>
76df29f8:	25 ff ff 00 00       	and    $0xffff,%eax
76df29fd:	8b 4d 20             	mov    0x20(%ebp),%ecx
76df2a00:	8d 44 43 01          	lea    0x1(%ebx,%eax,2),%eax
76df2a04:	89 41 04             	mov    %eax,0x4(%ecx)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2a07:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2a0d:	53                   	push   %ebx
76df2a0e:	68 00 02 00 00       	push   $0x200
76df2a13:	6a 00                	push   $0x0
76df2a15:	8b 48 18             	mov    0x18(%eax),%ecx
76df2a18:	51                   	push   %ecx
76df2a19:	e8 82 03 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df2a1e:	89 c3                	mov    %eax,%ebx
76df2a20:	5a                   	pop    %edx
76df2a21:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df2a26:	85 db                	test   %ebx,%ebx
76df2a28:	0f 84 9a 00 00 00    	je     76df2ac8 <_Fat12Format+0x328>
76df2a2e:	50                   	push   %eax
76df2a2f:	68 00 02 00 00       	push   $0x200
76df2a34:	6a 00                	push   $0x0
76df2a36:	53                   	push   %ebx
76df2a37:	e8 e4 03 00 00       	call   76df2e20 <_memset>
76df2a3c:	fc                   	cld    
76df2a3d:	8d 7b 03             	lea    0x3(%ebx),%edi
76df2a40:	8d b5 eb fd ff ff    	lea    0xfffffdeb(%ebp),%esi
76df2a46:	b9 0e 00 00 00       	mov    $0xe,%ecx
76df2a4b:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
76df2a4d:	66 8b 06             	mov    (%esi),%ax
76df2a50:	66 89 07             	mov    %ax,(%edi)
76df2a53:	8a 46 02             	mov    0x2(%esi),%al
76df2a56:	88 47 02             	mov    %al,0x2(%edi)
76df2a59:	8d 85 b8 fd ff ff    	lea    0xfffffdb8(%ebp),%eax
76df2a5f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
76df2a66:	50                   	push   %eax
76df2a67:	8d 85 b0 fd ff ff    	lea    0xfffffdb0(%ebp),%eax
76df2a6d:	68 00 02 00 00       	push   $0x200
76df2a72:	53                   	push   %ebx
76df2a73:	50                   	push   %eax
76df2a74:	8b 45 08             	mov    0x8(%ebp),%eax
76df2a77:	6a 00                	push   $0x0
76df2a79:	c7 85 b8 fd ff ff 00 	movl   $0x0,0xfffffdb8(%ebp)
76df2a80:	00 00 00 
76df2a83:	6a 00                	push   $0x0
76df2a85:	c7 85 bc fd ff ff 00 	movl   $0x0,0xfffffdbc(%ebp)
76df2a8c:	00 00 00 
76df2a8f:	6a 00                	push   $0x0
76df2a91:	50                   	push   %eax
76df2a92:	e8 19 03 00 00       	call   76df2db0 <_NtWriteFile@36>
76df2a97:	83 c4 0c             	add    $0xc,%esp
76df2a9a:	89 c6                	mov    %eax,%esi
76df2a9c:	85 c0                	test   %eax,%eax
76df2a9e:	0f 88 79 02 00 00    	js     76df2d1d <_Fat12Format+0x57d>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2aa4:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2aaa:	52                   	push   %edx
76df2aab:	53                   	push   %ebx
76df2aac:	6a 00                	push   $0x0
76df2aae:	8b 40 18             	mov    0x18(%eax),%eax
76df2ab1:	50                   	push   %eax
76df2ab2:	e8 09 03 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df2ab7:	50                   	push   %eax
76df2ab8:	8b 45 20             	mov    0x20(%ebp),%eax
76df2abb:	6a 01                	push   $0x1
76df2abd:	50                   	push   %eax
76df2abe:	e8 4d ea ff ff       	call   76df1510 <_UpdateProgress>
76df2ac3:	83 c4 10             	add    $0x10,%esp
76df2ac6:	89 f0                	mov    %esi,%eax
76df2ac8:	85 c0                	test   %eax,%eax
76df2aca:	0f 88 c7 01 00 00    	js     76df2c97 <_Fat12Format+0x4f7>
76df2ad0:	8d 95 e8 fd ff ff    	lea    0xfffffde8(%ebp),%edx
76df2ad6:	50                   	push   %eax
76df2ad7:	50                   	push   %eax
76df2ad8:	8b 45 20             	mov    0x20(%ebp),%eax
76df2adb:	50                   	push   %eax
76df2adc:	8b 45 08             	mov    0x8(%ebp),%eax
76df2adf:	52                   	push   %edx
76df2ae0:	31 d2                	xor    %edx,%edx
76df2ae2:	e8 f9 fa ff ff       	call   76df25e0 <_Fat12WriteFAT>
76df2ae7:	83 c4 10             	add    $0x10,%esp
76df2aea:	85 c0                	test   %eax,%eax
76df2aec:	0f 88 a5 01 00 00    	js     76df2c97 <_Fat12Format+0x4f7>
76df2af2:	66 8b 95 fe fd ff ff 	mov    0xfffffdfe(%ebp),%dx
76df2af9:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2aff:	50                   	push   %eax
76df2b00:	8b 7d 20             	mov    0x20(%ebp),%edi
76df2b03:	50                   	push   %eax
76df2b04:	8d 8d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ecx
76df2b0a:	8b 45 08             	mov    0x8(%ebp),%eax
76df2b0d:	57                   	push   %edi
76df2b0e:	51                   	push   %ecx
76df2b0f:	e8 cc fa ff ff       	call   76df25e0 <_Fat12WriteFAT>
76df2b14:	83 c4 10             	add    $0x10,%esp
76df2b17:	85 c0                	test   %eax,%eax
76df2b19:	0f 88 78 01 00 00    	js     76df2c97 <_Fat12Format+0x4f7>
76df2b1f:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df2b26:	66 8b 95 f9 fd ff ff 	mov    0xfffffdf9(%ebp),%dx
76df2b2d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2b33:	89 c1                	mov    %eax,%ecx
76df2b35:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df2b3b:	c7 85 98 fd ff ff 00 	movl   $0x0,0xfffffd98(%ebp)
76df2b42:	00 00 00 
76df2b45:	c1 e2 05             	shl    $0x5,%edx
76df2b48:	8d 54 0a ff          	lea    0xffffffff(%edx,%ecx,1),%edx
76df2b4c:	89 d0                	mov    %edx,%eax
76df2b4e:	c1 fa 1f             	sar    $0x1f,%edx
76df2b51:	f7 f9                	idiv   %ecx
76df2b53:	89 c7                	mov    %eax,%edi
76df2b55:	31 d2                	xor    %edx,%edx
76df2b57:	66 8b 85 fe fd ff ff 	mov    0xfffffdfe(%ebp),%ax
76df2b5e:	8a 95 f8 fd ff ff    	mov    0xfffffdf8(%ebp),%dl
76df2b64:	25 ff ff 00 00       	and    $0xffff,%eax
76df2b69:	66 8b 8d f6 fd ff ff 	mov    0xfffffdf6(%ebp),%cx
76df2b70:	0f af d0             	imul   %eax,%edx
76df2b73:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df2b79:	01 d1                	add    %edx,%ecx
76df2b7b:	89 8d 90 fd ff ff    	mov    %ecx,0xfffffd90(%ebp)
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2b81:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2b87:	56                   	push   %esi
76df2b88:	68 00 80 00 00       	push   $0x8000
76df2b8d:	6a 00                	push   $0x0
76df2b8f:	8b 58 18             	mov    0x18(%eax),%ebx
76df2b92:	53                   	push   %ebx
76df2b93:	e8 08 02 00 00       	call   76df2da0 <_RtlAllocateHeap@12>
76df2b98:	59                   	pop    %ecx
76df2b99:	89 85 94 fd ff ff    	mov    %eax,0xfffffd94(%ebp)
76df2b9f:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
76df2ba4:	8b 95 94 fd ff ff    	mov    0xfffffd94(%ebp),%edx
76df2baa:	85 d2                	test   %edx,%edx
76df2bac:	0f 84 e5 00 00 00    	je     76df2c97 <_Fat12Format+0x4f7>
76df2bb2:	50                   	push   %eax
76df2bb3:	8b 85 94 fd ff ff    	mov    0xfffffd94(%ebp),%eax
76df2bb9:	68 00 80 00 00       	push   $0x8000
76df2bbe:	6a 00                	push   $0x0
76df2bc0:	50                   	push   %eax
76df2bc1:	e8 5a 02 00 00       	call   76df2e20 <_memset>
76df2bc6:	bb 00 80 00 00       	mov    $0x8000,%ebx
76df2bcb:	66 8b 85 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%ax
76df2bd2:	89 da                	mov    %ebx,%edx
76df2bd4:	89 c1                	mov    %eax,%ecx
76df2bd6:	89 d8                	mov    %ebx,%eax
76df2bd8:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
76df2bde:	83 c4 10             	add    $0x10,%esp
76df2be1:	c1 fa 1f             	sar    $0x1f,%edx
76df2be4:	31 f6                	xor    %esi,%esi
76df2be6:	f7 f9                	idiv   %ecx
76df2be8:	39 bd 98 fd ff ff    	cmp    %edi,0xfffffd98(%ebp)
76df2bee:	89 c3                	mov    %eax,%ebx
76df2bf0:	eb 7f                	jmp    76df2c71 <_Fat12Format+0x4d1>
76df2bf2:	8b 85 90 fd ff ff    	mov    0xfffffd90(%ebp),%eax
76df2bf8:	66 8b 95 f3 fd ff ff 	mov    0xfffffdf3(%ebp),%dx
76df2bff:	01 f0                	add    %esi,%eax
76df2c01:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2c07:	0f af c2             	imul   %edx,%eax
76df2c0a:	89 85 a8 fd ff ff    	mov    %eax,0xfffffda8(%ebp)
76df2c10:	89 f8                	mov    %edi,%eax
76df2c12:	29 f0                	sub    %esi,%eax
76df2c14:	c7 85 ac fd ff ff 00 	movl   $0x0,0xfffffdac(%ebp)
76df2c1b:	00 00 00 
76df2c1e:	39 d8                	cmp    %ebx,%eax
76df2c20:	77 02                	ja     76df2c24 <_Fat12Format+0x484>
76df2c22:	89 c3                	mov    %eax,%ebx
76df2c24:	0f af d3             	imul   %ebx,%edx
76df2c27:	83 ec 0c             	sub    $0xc,%esp
76df2c2a:	8b 85 94 fd ff ff    	mov    0xfffffd94(%ebp),%eax
76df2c30:	8d 8d a8 fd ff ff    	lea    0xfffffda8(%ebp),%ecx
76df2c36:	6a 00                	push   $0x0
76df2c38:	51                   	push   %ecx
76df2c39:	52                   	push   %edx
76df2c3a:	50                   	push   %eax
76df2c3b:	8d 85 a0 fd ff ff    	lea    0xfffffda0(%ebp),%eax
76df2c41:	50                   	push   %eax
76df2c42:	8b 45 08             	mov    0x8(%ebp),%eax
76df2c45:	6a 00                	push   $0x0
76df2c47:	6a 00                	push   $0x0
76df2c49:	6a 00                	push   $0x0
76df2c4b:	50                   	push   %eax
76df2c4c:	e8 5f 01 00 00       	call   76df2db0 <_NtWriteFile@36>
76df2c51:	83 c4 0c             	add    $0xc,%esp
76df2c54:	85 c0                	test   %eax,%eax
76df2c56:	89 85 98 fd ff ff    	mov    %eax,0xfffffd98(%ebp)
76df2c5c:	78 19                	js     76df2c77 <_Fat12Format+0x4d7>
76df2c5e:	50                   	push   %eax
76df2c5f:	50                   	push   %eax
76df2c60:	8b 45 20             	mov    0x20(%ebp),%eax
76df2c63:	53                   	push   %ebx
76df2c64:	01 de                	add    %ebx,%esi
76df2c66:	50                   	push   %eax
76df2c67:	e8 a4 e8 ff ff       	call   76df1510 <_UpdateProgress>
76df2c6c:	83 c4 10             	add    $0x10,%esp
76df2c6f:	39 fe                	cmp    %edi,%esi
76df2c71:	0f 82 7b ff ff ff    	jb     76df2bf2 <_Fat12Format+0x452>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2c77:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2c7d:	8b 95 94 fd ff ff    	mov    0xfffffd94(%ebp),%edx
76df2c83:	51                   	push   %ecx
76df2c84:	52                   	push   %edx
76df2c85:	6a 00                	push   $0x0
76df2c87:	8b 78 18             	mov    0x18(%eax),%edi
76df2c8a:	57                   	push   %edi
76df2c8b:	e8 30 01 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df2c90:	8b 85 98 fd ff ff    	mov    0xfffffd98(%ebp),%eax

#ifdef _M_IX86

static inline struct _PEB * NtCurrentPeb(void)
{
76df2c96:	5e                   	pop    %esi
76df2c97:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
76df2c9a:	5b                   	pop    %ebx
76df2c9b:	5e                   	pop    %esi
76df2c9c:	5f                   	pop    %edi
76df2c9d:	5d                   	pop    %ebp
76df2c9e:	c3                   	ret    
76df2c9f:	8b 45 20             	mov    0x20(%ebp),%eax
76df2ca2:	89 70 04             	mov    %esi,0x4(%eax)
76df2ca5:	e9 5d fd ff ff       	jmp    76df2a07 <_Fat12Format+0x267>
76df2caa:	8d 9d c0 fd ff ff    	lea    0xfffffdc0(%ebp),%ebx
76df2cb0:	50                   	push   %eax
76df2cb1:	8b 45 14             	mov    0x14(%ebp),%eax
76df2cb4:	6a 01                	push   $0x1
76df2cb6:	50                   	push   %eax
76df2cb7:	53                   	push   %ebx
76df2cb8:	e8 33 01 00 00       	call   76df2df0 <_RtlUnicodeStringToOemString@12>
76df2cbd:	8b 85 c0 fd ff ff    	mov    0xfffffdc0(%ebp),%eax
76df2cc3:	c7 85 13 fe ff ff 20 	movl   $0x20202020,0xfffffe13(%ebp)
76df2cca:	20 20 20 
76df2ccd:	c7 85 17 fe ff ff 20 	movl   $0x20202020,0xfffffe17(%ebp)
76df2cd4:	20 20 20 
76df2cd7:	66 c7 85 1b fe ff ff 	movw   $0x2020,0xfffffe1b(%ebp)
76df2cde:	20 20 
76df2ce0:	c6 85 1d fe ff ff 20 	movb   $0x20,0xfffffe1d(%ebp)
76df2ce7:	5f                   	pop    %edi
76df2ce8:	66 83 f8 0a          	cmp    $0xa,%ax
76df2cec:	ba 0b 00 00 00       	mov    $0xb,%edx
76df2cf1:	77 08                	ja     76df2cfb <_Fat12Format+0x55b>
76df2cf3:	89 c2                	mov    %eax,%edx
76df2cf5:	81 e2 ff ff 00 00    	and    $0xffff,%edx
76df2cfb:	51                   	push   %ecx
76df2cfc:	52                   	push   %edx
76df2cfd:	8d 85 13 fe ff ff    	lea    0xfffffe13(%ebp),%eax
76df2d03:	8b 7b 04             	mov    0x4(%ebx),%edi
76df2d06:	57                   	push   %edi
76df2d07:	50                   	push   %eax
76df2d08:	e8 03 01 00 00       	call   76df2e10 <_memcpy>
76df2d0d:	89 1c 24             	mov    %ebx,(%esp)
76df2d10:	e8 eb 00 00 00       	call   76df2e00 <_RtlFreeOemString@4>
76df2d15:	83 c4 0c             	add    $0xc,%esp
76df2d18:	e9 4d fc ff ff       	jmp    76df296a <_Fat12Format+0x1ca>
 struct _PEB * pPeb;

#if defined(__GNUC__)

 __asm__ __volatile__
76df2d1d:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
76df2d23:	57                   	push   %edi
76df2d24:	53                   	push   %ebx
76df2d25:	6a 00                	push   $0x0
76df2d27:	8b 58 18             	mov    0x18(%eax),%ebx
76df2d2a:	53                   	push   %ebx
76df2d2b:	e8 90 00 00 00       	call   76df2dc0 <_RtlFreeHeap@12>
76df2d30:	59                   	pop    %ecx
76df2d31:	e9 90 fd ff ff       	jmp    76df2ac6 <_Fat12Format+0x326>
76df2d36:	90                   	nop    
76df2d37:	90                   	nop    
76df2d38:	90                   	nop    
76df2d39:	90                   	nop    
76df2d3a:	90                   	nop    
76df2d3b:	90                   	nop    
76df2d3c:	90                   	nop    
76df2d3d:	90                   	nop    
76df2d3e:	90                   	nop    
76df2d3f:	90                   	nop    

76df2d40 <_RtlInitUnicodeString@8>:
76df2d40:	ff 25 d0 60 df 76    	jmp    *0x76df60d0
76df2d46:	90                   	nop    
76df2d47:	90                   	nop    
	...

76df2d50 <_DbgPrint>:
76df2d50:	ff 25 ac 60 df 76    	jmp    *0x76df60ac
76df2d56:	90                   	nop    
76df2d57:	90                   	nop    
	...

76df2d60 <__wcsnicmp>:
76df2d60:	ff 25 dc 60 df 76    	jmp    *0x76df60dc
76df2d66:	90                   	nop    
76df2d67:	90                   	nop    
	...

76df2d70 <_NtOpenFile@24>:
76df2d70:	ff 25 b8 60 df 76    	jmp    *0x76df60b8
76df2d76:	90                   	nop    
76df2d77:	90                   	nop    
	...

76df2d80 <_NtDeviceIoControlFile@40>:
76df2d80:	ff 25 b4 60 df 76    	jmp    *0x76df60b4
76df2d86:	90                   	nop    
76df2d87:	90                   	nop    
	...

76df2d90 <_NtClose@4>:
76df2d90:	ff 25 b0 60 df 76    	jmp    *0x76df60b0
76df2d96:	90                   	nop    
76df2d97:	90                   	nop    
	...

76df2da0 <_RtlAllocateHeap@12>:
76df2da0:	ff 25 c4 60 df 76    	jmp    *0x76df60c4
76df2da6:	90                   	nop    
76df2da7:	90                   	nop    
	...

76df2db0 <_NtWriteFile@36>:
76df2db0:	ff 25 c0 60 df 76    	jmp    *0x76df60c0
76df2db6:	90                   	nop    
76df2db7:	90                   	nop    
	...

76df2dc0 <_RtlFreeHeap@12>:
76df2dc0:	ff 25 c8 60 df 76    	jmp    *0x76df60c8
76df2dc6:	90                   	nop    
76df2dc7:	90                   	nop    
	...

76df2dd0 <_NtQuerySystemTime@4>:
76df2dd0:	ff 25 bc 60 df 76    	jmp    *0x76df60bc
76df2dd6:	90                   	nop    
76df2dd7:	90                   	nop    
	...

76df2de0 <_RtlTimeToTimeFields@8>:
76df2de0:	ff 25 d4 60 df 76    	jmp    *0x76df60d4
76df2de6:	90                   	nop    
76df2de7:	90                   	nop    
	...

76df2df0 <_RtlUnicodeStringToOemString@12>:
76df2df0:	ff 25 d8 60 df 76    	jmp    *0x76df60d8
76df2df6:	90                   	nop    
76df2df7:	90                   	nop    
	...

76df2e00 <_RtlFreeOemString@4>:
76df2e00:	ff 25 cc 60 df 76    	jmp    *0x76df60cc
76df2e06:	90                   	nop    
76df2e07:	90                   	nop    
	...

76df2e10 <_memcpy>:
76df2e10:	ff 25 e0 60 df 76    	jmp    *0x76df60e0
76df2e16:	90                   	nop    
76df2e17:	90                   	nop    
	...

76df2e20 <_memset>:
76df2e20:	ff 25 e4 60 df 76    	jmp    *0x76df60e4
76df2e26:	90                   	nop    
76df2e27:	90                   	nop    
	...

76df2e30 <_CreateFileW@28>:
76df2e30:	ff 25 9c 60 df 76    	jmp    *0x76df609c
76df2e36:	90                   	nop    
76df2e37:	90                   	nop    
	...

76df2e40 <_DeviceIoControl@32>:
76df2e40:	ff 25 a0 60 df 76    	jmp    *0x76df60a0
76df2e46:	90                   	nop    
76df2e47:	90                   	nop    
	...

76df2e50 <_CloseHandle@4>:
76df2e50:	ff 25 98 60 df 76    	jmp    *0x76df6098
76df2e56:	90                   	nop    
76df2e57:	90                   	nop    
	...

76df2e60 <___udivdi3>:
76df2e60:	55                   	push   %ebp
76df2e61:	89 e5                	mov    %esp,%ebp
76df2e63:	83 ec 1c             	sub    $0x1c,%esp
76df2e66:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
76df2e69:	8b 55 14             	mov    0x14(%ebp),%edx
76df2e6c:	8b 4d 08             	mov    0x8(%ebp),%ecx
76df2e6f:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
76df2e72:	8b 45 10             	mov    0x10(%ebp),%eax
76df2e75:	85 d2                	test   %edx,%edx
76df2e77:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
76df2e7a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
76df2e7d:	89 c6                	mov    %eax,%esi
76df2e7f:	89 4d f0             	mov    %ecx,0xfffffff0(%ebp)
76df2e82:	75 2c                	jne    76df2eb0 <___udivdi3+0x50>
76df2e84:	39 d8                	cmp    %ebx,%eax
76df2e86:	76 5a                	jbe    76df2ee2 <___udivdi3+0x82>
76df2e88:	89 c8                	mov    %ecx,%eax
76df2e8a:	89 da                	mov    %ebx,%edx
76df2e8c:	f7 f6                	div    %esi
76df2e8e:	89 c1                	mov    %eax,%ecx
76df2e90:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df2e97:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
76df2e9a:	89 c8                	mov    %ecx,%eax
76df2e9c:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
76df2e9f:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
76df2ea2:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
76df2ea5:	89 ec                	mov    %ebp,%esp
76df2ea7:	5d                   	pop    %ebp
76df2ea8:	c3                   	ret    
76df2ea9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
76df2eb0:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
76df2eb7:	31 c9                	xor    %ecx,%ecx
76df2eb9:	39 da                	cmp    %ebx,%edx
76df2ebb:	77 da                	ja     76df2e97 <___udivdi3+0x37>
76df2ebd:	0f bd c2             	bsr    %edx,%eax
76df2ec0:	83 f0 1f             	xor    $0x1f,%eax
76df2ec3:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
76df2ec6:	75 4d                	jne    76df2f15 <___udivdi3+0xb5>
76df2ec8:	39 d3                	cmp    %edx,%ebx
76df2eca:	b9 01 00 00 00       	mov    $0x1,%ecx
76df2ecf:	0f 97 c0             	seta   %al
76df2ed2:	39 75 f0             	cmp    %esi,0xfffffff0(%ebp)
76df2ed5:	0f 93 c2             	setae  %dl
76df2ed8:	09 d0                	or     %edx,%eax
76df2eda:	a8 01                	test   $0x1,%al
76df2edc:	75 b2                	jne    76df2e90 <___udivdi3+0x30>
76df2ede:	31 c9                	xor    %ecx,%ecx
76df2ee0:	eb ae                	jmp    76df2e90 <___udivdi3+0x30>
76df2ee2:	85 c0                	test   %eax,%eax
76df2ee4:	75 0d                	jne    76df2ef3 <___udivdi3+0x93>
76df2ee6:	b8 01 00 00 00       	mov    $0x1,%eax
76df2eeb:	31 c9                	xor    %ecx,%ecx
76df2eed:	31 d2                	xor    %edx,%edx
76df2eef:	f7 f1                	div    %ecx
76df2ef1:	89 c6                	mov    %eax,%esi
76df2ef3:	89 d8                	mov    %ebx,%eax
76df2ef5:	31 d2                	xor    %edx,%edx
76df2ef7:	f7 f6                	div    %esi
76df2ef9:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
76df2efc:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
76df2eff:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
76df2f02:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
76df2f05:	f7 f6                	div    %esi
76df2f07:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
76df2f0a:	89 c1                	mov    %eax,%ecx
76df2f0c:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
76df2f0f:	89 ec                	mov    %ebp,%esp
76df2f11:	89 c8                	mov    %ecx,%eax
76df2f13:	5d                   	pop    %ebp
76df2f14:	c3                   	ret    
76df2f15:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
76df2f18:	b9 20 00 00 00       	mov    $0x20,%ecx
76df2f1d:	29 c1                	sub    %eax,%ecx
76df2f1f:	89 4d e4             	mov    %ecx,0xffffffe4(%ebp)
76df2f22:	0f b6 4d e8          	movzbl 0xffffffe8(%ebp),%ecx
76df2f26:	89 f0                	mov    %esi,%eax
76df2f28:	d3 e2                	shl    %cl,%edx
76df2f2a:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
76df2f2e:	89 d7                	mov    %edx,%edi
76df2f30:	89 da                	mov    %ebx,%edx
76df2f32:	d3 e8                	shr    %cl,%eax
76df2f34:	09 c7                	or     %eax,%edi
76df2f36:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
76df2f39:	0f b6 4d e8          	movzbl 0xffffffe8(%ebp),%ecx
76df2f3d:	d3 e6                	shl    %cl,%esi
76df2f3f:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
76df2f43:	d3 ea                	shr    %cl,%edx
76df2f45:	0f b6 4d e8          	movzbl 0xffffffe8(%ebp),%ecx
76df2f49:	d3 e3                	shl    %cl,%ebx
76df2f4b:	0f b6 4d e4          	movzbl 0xffffffe4(%ebp),%ecx
76df2f4f:	d3 e8                	shr    %cl,%eax
76df2f51:	09 c3                	or     %eax,%ebx
76df2f53:	0f b6 4d e8          	movzbl 0xffffffe8(%ebp),%ecx
76df2f57:	89 d8                	mov    %ebx,%eax
76df2f59:	f7 f7                	div    %edi
76df2f5b:	89 d3                	mov    %edx,%ebx
76df2f5d:	d3 65 f0             	shll   %cl,0xfffffff0(%ebp)
76df2f60:	89 c1                	mov    %eax,%ecx
76df2f62:	f7 e6                	mul    %esi
76df2f64:	39 da                	cmp    %ebx,%edx
76df2f66:	89 c6                	mov    %eax,%esi
76df2f68:	77 13                	ja     76df2f7d <___udivdi3+0x11d>
76df2f6a:	0f 94 c0             	sete   %al
76df2f6d:	31 d2                	xor    %edx,%edx
76df2f6f:	3b 75 f0             	cmp    0xfffffff0(%ebp),%esi
76df2f72:	0f 97 c2             	seta   %dl
76df2f75:	85 d0                	test   %edx,%eax
76df2f77:	0f 84 13 ff ff ff    	je     76df2e90 <___udivdi3+0x30>
76df2f7d:	49                   	dec    %ecx
76df2f7e:	e9 0d ff ff ff       	jmp    76df2e90 <___udivdi3+0x30>
76df2f83:	90                   	nop    
76df2f84:	90                   	nop    
76df2f85:	90                   	nop    
76df2f86:	90                   	nop    
76df2f87:	90                   	nop    
76df2f88:	90                   	nop    
76df2f89:	90                   	nop    
76df2f8a:	90                   	nop    
76df2f8b:	90                   	nop    
76df2f8c:	90                   	nop    
76df2f8d:	90                   	nop    
76df2f8e:	90                   	nop    
76df2f8f:	90                   	nop    

76df2f90 <__CTOR_LIST__>:
76df2f90:	ff                   	(bad)  
76df2f91:	ff                   	(bad)  
76df2f92:	ff                   	(bad)  
76df2f93:	ff 00                	incl   (%eax)
76df2f95:	00 00                	add    %al,(%eax)
	...

76df2f98 <__DTOR_LIST__>:
76df2f98:	ff                   	(bad)  
76df2f99:	ff                   	(bad)  
76df2f9a:	ff                   	(bad)  
76df2f9b:	ff 00                	incl   (%eax)
76df2f9d:	00 00                	add    %al,(%eax)
	...
