]> pd.if.org Git - mmurtl/commitdiff
autocommit for file dated 1995-02-09 11:17:18
authorRichard Burgess <>
Thu, 9 Feb 1995 11:17:18 +0000 (11:17 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Oct 2016 14:03:48 +0000 (14:03 +0000)
ossource/fsys.asm [new file with mode: 0644]

diff --git a/ossource/fsys.asm b/ossource/fsys.asm
new file mode 100644 (file)
index 0000000..0e36684
--- /dev/null
@@ -0,0 +1,8594 @@
+\r
+.DATA\r
+EXTRN _AllocExch FWORD\r
+EXTRN _GetTSSExch FWORD\r
+EXTRN _SpawnTask FWORD\r
+EXTRN _WaitMsg FWORD\r
+EXTRN _CheckMsg FWORD\r
+EXTRN _Request FWORD\r
+EXTRN _Respond FWORD\r
+EXTRN _CopyData FWORD\r
+EXTRN _FillData FWORD\r
+EXTRN _CompareNCS FWORD\r
+EXTRN _GetCMOSTime FWORD\r
+EXTRN _GetCMOSDate FWORD\r
+EXTRN _GetTimerTick FWORD\r
+EXTRN _TTYOut FWORD\r
+EXTRN _GetNormVid FWORD\r
+EXTRN _ReadKbd FWORD\r
+EXTRN _DeviceOp FWORD\r
+EXTRN _DeviceStat FWORD\r
+EXTRN _DeviceInit FWORD\r
+EXTRN _AllocOSPage FWORD\r
+EXTRN _DeAllocPage FWORD\r
+EXTRN _GetPath FWORD\r
+EXTRN _RegisterSvc FWORD\r
+_fsysname DD OFFSET L_lit+0\r
+L_lit DB 70,73,76,69,83,89,83,77,0,46,32,32,32,32,32,32\r
+ DB 32,32,32,32,0,46,46,32,32,32,32,32,32,32,32,32\r
+ DB 0,78,85,76,0,75,66,68,0,86,73,68,0,76,80,84\r
+ DB 0,37,99,58,32,72,101,97,100,115,32,37,100,44,32,83\r
+ DB 101,99,47,84,114,107,32,37,100,44,32,83,101,99,47,67\r
+ DB 108,115,116,114,32,37,100,44,32,68,101,118,32,37,100,44\r
+ DB 32,70,65,84,37,100,32,13,10,0\r
+_Fat DB 272 DUP(0)\r
+PUBLIC _FatBufA DB 1536 DUP(0)\r
+_paFCB DD 0h\r
+_pFCB DD 0h\r
+_paFUB DD 0h\r
+_pFUB DD 0h\r
+_fsb DB 62 DUP(0)\r
+_partab DB 64 DUP(0)\r
+_partsig DW 0h\r
+_dirent DB 32 DUP(0)\r
+_pDirEnt DD 0h\r
+_FDrive DB 0h\r
+_FileSpec DB 77 DUP(0)\r
+_SpecDepth DB 0h\r
+_FDrive1 DB 0h\r
+_FileSpec1 DB 77 DUP(0)\r
+_SpecDepth1 DB 0h\r
+_abRawSector DB 516 DUP(0)\r
+_abTmpSector DB 516 DUP(0)\r
+_abDirSectBuf DB 516 DUP(0)\r
+_PDrvs DB 48 DUP(0)\r
+_Ldrv DB 320 DUP(0)\r
+_HDDevStat DB 64 DUP(0)\r
+_FDDevStat DB 64 DUP(0)\r
+_FSysStack DD 512 DUP(0)\r
+_FSysExch DD 0h\r
+_pRQB DD 0h\r
+_keycode DD 0h\r
+\r
+\r
+.CODE\r
+EXTRN _xprintf: NEAR\r
+EXTRN _Dump: NEAR\r
+_GetBSInfo:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+1]\r
+       MOV BYTE PTR [EBX+10], AL\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+2]\r
+       MOV BYTE PTR [EBX+11], AL\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+3]\r
+       MOV WORD PTR [EBX+8], AX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JNZ L_1\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+5]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       AND EAX,255\r
+       MOV DWORD PTR [EBX+4], EAX\r
+L_1:\r
+       POP EBP\r
+       RETN 8\r
+_StatFloppy:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       MOV ESI,OFFSET _Ldrv\r
+       MOV EAX,10\r
+       MOV BYTE PTR [ESI+28], AL\r
+       MOV EAX,32\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,11\r
+       MOV BYTE PTR [ESI+28], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       MOV ECX,10\r
+       ADD EAX,ECX\r
+       PUSH EAX\r
+       PUSH OFFSET _FDDevStat\r
+       PUSH 64\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceStat\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_2\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _FDDevStat\r
+       MOV EAX,DWORD PTR [ESI+20]\r
+       MOV DWORD PTR [EBX], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       MOV ECX,12\r
+       MUL ECX\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _FDDevStat\r
+       MOV EAX,DWORD PTR [ESI+24]\r
+       MOV DWORD PTR [EBX+4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _FDDevStat\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBX+8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _FDDevStat\r
+       MOV EAX,DWORD PTR [ESI+20]\r
+       MOV WORD PTR [EBX+20], AX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _FDDevStat\r
+       MOV EAX,DWORD PTR [ESI+24]\r
+       MOV WORD PTR [EBX+22], AX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_3\r
+L_2:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,255\r
+       MOV BYTE PTR [ESI+28], AL\r
+L_3:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_read_PE:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,22\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-21], AL\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-22], AL\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_5:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,10\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_6\r
+       JMP SHORT L_7\r
+L_8:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP SHORT L_5\r
+L_7:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,255\r
+       MOV BYTE PTR [ESI+28], AL\r
+       JMP L_8\r
+L_6:\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_9:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,4\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_10\r
+       JMP SHORT L_11\r
+L_12:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+       JMP SHORT L_9\r
+L_11:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,10\r
+       PUSH EAX\r
+       PUSH 1\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_13\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       JMP L_14\r
+L_13:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_14:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_15\r
+       MOV EAX,510\r
+       MOV ESI,OFFSET _abRawSector\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET _partsig\r
+       PUSH 2\r
+       CALL FWORD PTR _CopyData\r
+       MOVZX EAX,_partsig\r
+       CMP EAX,43605\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_16\r
+       MOV EAX,218\r
+       JMP L_17\r
+L_16:\r
+       MOV EAX,446\r
+       MOV ESI,OFFSET _abRawSector\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET _partab\r
+       PUSH 64\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,OFFSET _partab\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_18\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBX+8], EAX\r
+       MOV ESI,OFFSET _partab\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+4]\r
+       CMP EAX,3\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_19\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+31], AL\r
+L_19:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,10\r
+       MOV BYTE PTR [ESI+28], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_20\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_20:\r
+       JZ L_21\r
+       PUSH 2\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-21], AL\r
+L_21:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_22\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-22]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_22:\r
+       JZ L_23\r
+       PUSH 3\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-22], AL\r
+L_23:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_18:\r
+       MOV EAX,16\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_24\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,16\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,16\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBX+8], EAX\r
+       MOV EAX,16\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+4]\r
+       CMP EAX,3\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_25\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+31], AL\r
+L_25:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,10\r
+       MOV BYTE PTR [ESI+28], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_26\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_26:\r
+       JZ L_27\r
+       PUSH 2\r
+       PUSH 1\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-21], AL\r
+L_27:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_28\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-22]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_28:\r
+       JZ L_29\r
+       PUSH 3\r
+       PUSH 1\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-22], AL\r
+L_29:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_24:\r
+       MOV EAX,32\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_30\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,32\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,32\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBX+8], EAX\r
+       MOV EAX,32\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+4]\r
+       CMP EAX,3\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_31\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+31], AL\r
+L_31:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,10\r
+       MOV BYTE PTR [ESI+28], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_32\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_32:\r
+       JZ L_33\r
+       PUSH 2\r
+       PUSH 2\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-21], AL\r
+L_33:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_34\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-22]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_34:\r
+       JZ L_35\r
+       PUSH 3\r
+       PUSH 2\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-22], AL\r
+L_35:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_30:\r
+       MOV EAX,48\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_36\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,48\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,48\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBX+8], EAX\r
+       MOV EAX,48\r
+       MOV ESI,OFFSET _partab\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+4]\r
+       CMP EAX,3\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_37\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+31], AL\r
+L_37:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,10\r
+       MOV BYTE PTR [ESI+28], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_38\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_38:\r
+       JZ L_39\r
+       PUSH 2\r
+       PUSH 3\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-21], AL\r
+L_39:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_40\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-22]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_40:\r
+       JZ L_41\r
+       PUSH 3\r
+       PUSH 3\r
+       CALL _GetBSInfo\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-22], AL\r
+L_41:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_36:\r
+L_15:\r
+       JMP L_12\r
+L_10:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_42\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       JMP L_17\r
+L_42:\r
+       XOR EAX,EAX\r
+L_43:\r
+L_17:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+_SetDriveGeometry:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       CMP EAX,12\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_44\r
+       PUSH 12\r
+       PUSH OFFSET _HDDevStat\r
+       PUSH 64\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceStat\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_45\r
+       MOV ESI,OFFSET _HDDevStat\r
+       MOV EAX,24\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV DWORD PTR [EBX+20], EAX\r
+       MOV ESI,OFFSET _HDDevStat\r
+       MOV EAX,24\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBX+24], EAX\r
+       PUSH 12\r
+       PUSH OFFSET _HDDevStat\r
+       PUSH 64\r
+       CALL FWORD PTR _DeviceInit\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_45:\r
+L_44:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       CMP EAX,13\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_46\r
+       PUSH 13\r
+       PUSH OFFSET _HDDevStat\r
+       PUSH 64\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceStat\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_47\r
+       MOV ESI,OFFSET _HDDevStat\r
+       MOV EAX,36\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV DWORD PTR [EBX+20], EAX\r
+       MOV ESI,OFFSET _HDDevStat\r
+       MOV EAX,36\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _PDrvs\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBX+24], EAX\r
+       PUSH 13\r
+       PUSH OFFSET _HDDevStat\r
+       PUSH 64\r
+       CALL FWORD PTR _DeviceInit\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_47:\r
+L_46:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_read_BS:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       CMP EAX,255\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_49\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,605\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_50\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       CMP EAX,2\r
+       SETB AL\r
+       AND AL,AL\r
+L_50:\r
+       JZ L_51\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_51:\r
+       PUSH OFFSET _abRawSector\r
+       PUSH OFFSET _fsb\r
+       PUSH 62\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,0\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_52\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+14]\r
+       ADD EAX,DWORD PTR [ESI]\r
+       MOV EBX,EAX\r
+       MOV ESI,OFFSET _fsb\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBX+16]\r
+       MOVZX ECX,WORD PTR [ESI+22]\r
+       MUL ECX\r
+       POP EDX\r
+       ADD EAX,EDX\r
+       POP EDX\r
+       MOV DWORD PTR [EDX+12], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOVZX EAX,WORD PTR [ESI+17]\r
+       MOV WORD PTR [EBX+24], AX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+13]\r
+       MOV BYTE PTR [EBX+29], AL\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBX+20], AX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOVZX EAX,WORD PTR [ESI+24]\r
+       MOV WORD PTR [EBX+22], AX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOVZX EAX,WORD PTR [ESI+22]\r
+       MOV WORD PTR [EBX+26], AX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+16]\r
+       MOV BYTE PTR [EBX+30], AL\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOV EAX,DWORD PTR [EBX]\r
+       MOVZX ECX,WORD PTR [ESI+14]\r
+       ADD EAX,ECX\r
+       POP EDX\r
+       MOV DWORD PTR [EDX+16], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _fsb\r
+       MOVZX EAX,WORD PTR [ESI+17]\r
+       MOV ECX,16\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       ADD EAX,DWORD PTR [EBX+12]\r
+       POP EDX\r
+       MOV DWORD PTR [EDX+4], EAX\r
+       MOV ESI,OFFSET _fsb\r
+       MOV EAX,4\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+54]\r
+       CMP EAX,50\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_53\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+31], AL\r
+L_53:\r
+L_52:\r
+L_49:\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_GetFATTime:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,14\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetCMOSDate\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetCMOSTime\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,12\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,8\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       MOV WORD PTR [EBP-10], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,20\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,16\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       ADD EAX,2\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,4\r
+       SHL EAX,CL\r
+       AND EAX,0FFFFh\r
+       MOVZX ECX,WORD PTR [EBP-10]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-10], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,28\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ECX,24\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,1900\r
+       ADD EAX,ECX\r
+       MOV ECX,1980\r
+       SUB EAX,ECX\r
+       MOV ECX,9\r
+       SHL EAX,CL\r
+       AND EAX,0FFFFh\r
+       MOVZX ECX,WORD PTR [EBP-10]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-10], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,4\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       MOV ECX,2\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV WORD PTR [EBP-12], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,12\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,8\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,5\r
+       SHL EAX,CL\r
+       AND EAX,0FFFFh\r
+       MOVZX ECX,WORD PTR [EBP-12]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-12], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,20\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,16\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,EBX\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,11\r
+       SHL EAX,CL\r
+       AND EAX,0FFFFh\r
+       MOVZX ECX,WORD PTR [EBP-12]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-12], AX\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOVZX EAX,WORD PTR [EBP-12]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOVZX EAX,WORD PTR [EBP-10]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_UpdateDirEnt:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,13\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-13], AL\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+32]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+36]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,22\r
+       PUSH EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,24\r
+       PUSH EAX\r
+       CALL _GetFATTime\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH 1\r
+       PUSH OFFSET _abDirSectBuf\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_55\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _abDirSectBuf\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 32\r
+       CALL FWORD PTR _CopyData\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH 1\r
+       PUSH OFFSET _abDirSectBuf\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_55:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_ValidateHandle:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,4\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_57\r
+       MOV EAX,210\r
+       JMP L_58\r
+L_57:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,128\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_59\r
+       MOV EAX,210\r
+       JMP L_58\r
+L_59:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI]\r
+       AND EAX,EAX\r
+       JNZ L_60\r
+       MOV EAX,210\r
+       JMP L_58\r
+L_60:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV EBX,ESI\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+2]\r
+       MOV DWORD PTR [EBX], EAX\r
+       XOR EAX,EAX\r
+L_58:\r
+       POP EBP\r
+       RETN 8\r
+_ClsToLBA:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       MOVZX EAX,WORD PTR [EBP+12]\r
+       MOV ECX,2\r
+       SUB EAX,ECX\r
+       MOV WORD PTR [EBP+12], AX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOVZX ECX,WORD PTR [EBP+12]\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_UpdateFAT:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,13\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+       JZ L_62\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+14]\r
+       MOV BYTE PTR [EBP-13], AL\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JNZ L_63\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,2\r
+       MOV EBX,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       POP EDX\r
+       CMP EAX,EDX\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_64\r
+       MOV EAX,3\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_65\r
+L_64:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,1\r
+       MOV EBX,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       POP EDX\r
+       CMP EAX,EDX\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_66\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_67\r
+L_66:\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_67:\r
+L_65:\r
+       JMP L_68\r
+L_63:\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_68:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_69\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,-2\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+30]\r
+       CMP EAX,1\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_70\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOVZX ECX,WORD PTR [ESI+26]\r
+       ADD EAX,ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-13]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_70:\r
+L_69:\r
+L_62:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_FindFatSect:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,42\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_72\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-42], AX\r
+       JMP L_73\r
+L_72:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-42], AX\r
+L_73:\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOVZX ECX,WORD PTR [EBP-42]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_74\r
+       MOV EAX,1\r
+       JMP L_75\r
+L_74:\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       CMP EAX,2\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_76\r
+       MOV EAX,220\r
+       JMP L_75\r
+L_76:\r
+       LEA EAX,DWORD PTR [EBP-40]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTimerTick\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_77\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,256\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,256\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,EDX\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       CMP EAX,DWORD PTR [EBP-4]\r
+       SETBE AL\r
+       AND AL,AL\r
+       JZ L_78\r
+       MOV EAX,220\r
+       JMP L_75\r
+L_78:\r
+       MOV EAX,-1\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV EAX,-1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_80:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_81\r
+       JMP SHORT L_82\r
+L_83:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_80\r
+L_82:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_84\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOVZX ECX,WORD PTR [ESI+12]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_85\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       XOR ECX,ECX\r
+       MOV CL,BYTE PTR [ESI+14]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+L_85:\r
+       JZ L_86\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JZ L_87\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,2\r
+       OR EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+L_87:\r
+       JMP L_81\r
+L_86:\r
+L_84:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       CMP EAX,DWORD PTR [EBP-28]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_88\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+L_88:\r
+       JMP L_83\r
+L_81:\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       CMP EAX,-1\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_89\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       JMP L_90\r
+L_89:\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+       JZ L_91\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL _UpdateFAT\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_91:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       AND EAX,EAX\r
+       JNZ L_92\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       MOV BYTE PTR [ESI+14], AL\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV WORD PTR [ESI+12], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [ESI+8], EAX\r
+L_92:\r
+L_90:\r
+L_79:\r
+       JMP L_93\r
+L_77:\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,1024\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,3\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,1024\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,EDX\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOVZX ECX,WORD PTR [ESI+26]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_94\r
+       MOV EAX,220\r
+       JMP L_75\r
+L_94:\r
+       MOV EAX,-1\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_96\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOVZX ECX,WORD PTR [ESI+12]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_97\r
+       MOV ESI,OFFSET _Fat\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       XOR ECX,ECX\r
+       MOV CL,BYTE PTR [ESI+14]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+L_97:\r
+       JZ L_98\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JZ L_99\r
+       MOV ESI,OFFSET _Fat\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,2\r
+       OR EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+L_99:\r
+L_98:\r
+L_96:\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_100\r
+       MOV ESI,OFFSET _Fat\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+       JZ L_101\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _UpdateFAT\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_101:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,2\r
+       MOV EBX,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       POP EDX\r
+       CMP EAX,EDX\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_102\r
+       MOV EAX,3\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_103\r
+L_102:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,1\r
+       MOV EBX,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       PUSH EBX\r
+       MOV EBX,ESI\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       ADD EAX,DWORD PTR [ESI+16]\r
+       POP EDX\r
+       CMP EAX,EDX\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_104\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_105\r
+L_104:\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_105:\r
+L_103:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       AND EAX,EAX\r
+       JNZ L_106\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _Fat\r
+       PUSH DWORD PTR [ESI]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV ESI,OFFSET _Fat\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       MOV BYTE PTR [ESI+14], AL\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV WORD PTR [ESI+12], AX\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [ESI+8], EAX\r
+L_106:\r
+L_100:\r
+L_95:\r
+L_93:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+L_75:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_GetClstrValue:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,18\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP+24]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       CALL _FindFatSect\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_107\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_108\r
+L_107:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBP+24]\r
+       MOVZX ECX,WORD PTR [ESI+12]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_109\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,1\r
+       ADD EAX,DWORD PTR [EBP-18]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV ESI,DWORD PTR [EBP-18]\r
+       MOVZX EAX,WORD PTR [ESI]\r
+       MOV WORD PTR [EBP-14], AX\r
+       JMP L_110\r
+L_109:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,2\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,DWORD PTR [EBP-18]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV ESI,DWORD PTR [EBP-18]\r
+       MOVZX EAX,WORD PTR [ESI]\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP+24]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+       JZ L_111\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,4\r
+       SHR AX,CL\r
+       MOV WORD PTR [EBP-14], AX\r
+L_111:\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV ECX,4095\r
+       AND EAX,ECX\r
+       MOV WORD PTR [EBP-14], AX\r
+L_110:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_108:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 20\r
+_SetClstrValue:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _FindFatSect\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_112\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_113\r
+L_112:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       MOVZX ECX,WORD PTR [ESI+12]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_114\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,1\r
+       ADD EAX,DWORD PTR [EBP-18]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV ESI,DWORD PTR [EBP-18]\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV WORD PTR [ESI], AX\r
+       JMP L_115\r
+L_114:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,2\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,DWORD PTR [EBP-18]\r
+       MOV DWORD PTR [EBP-18], EAX\r
+       MOV ESI,DWORD PTR [EBP-18]\r
+       MOVZX EAX,WORD PTR [ESI]\r
+       MOV WORD PTR [EBP-20], AX\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+       JZ L_116\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,4\r
+       SHL EAX,CL\r
+       AND EAX,0FFFFh\r
+       MOV WORD PTR [EBP+16], AX\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,65520\r
+       AND EAX,ECX\r
+       MOV WORD PTR [EBP+16], AX\r
+       MOVZX EAX,WORD PTR [EBP-20]\r
+       MOV ECX,15\r
+       AND EAX,ECX\r
+       MOVZX ECX,WORD PTR [EBP+16]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-14], AX\r
+       JMP L_117\r
+L_116:\r
+       MOVZX EAX,WORD PTR [EBP+16]\r
+       MOV ECX,4095\r
+       AND EAX,ECX\r
+       MOV WORD PTR [EBP+16], AX\r
+       MOVZX EAX,WORD PTR [EBP-20]\r
+       MOV ECX,61440\r
+       AND EAX,ECX\r
+       MOVZX ECX,WORD PTR [EBP+16]\r
+       OR EAX,ECX\r
+       MOV WORD PTR [EBP-14], AX\r
+L_117:\r
+       MOV ESI,DWORD PTR [EBP-18]\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       MOV WORD PTR [ESI], AX\r
+L_115:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,1\r
+       OR EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_113:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_NextFATClstr:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,10\r
+       MOVZX EAX,WORD PTR [EBP+12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-10]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_118\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_119\r
+L_118:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOVZX EAX,WORD PTR [EBP-10]\r
+       MOV WORD PTR [ESI], AX\r
+       XOR EAX,EAX\r
+L_119:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+_ExtendClstrChain:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,23\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_120\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-20], AX\r
+       JMP L_121\r
+L_120:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-20], AX\r
+L_121:\r
+       MOVZX EAX,WORD PTR [EBP+12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       PUSH 1\r
+       LEA EAX,WORD PTR [EBP-18]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_122\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_123\r
+L_122:\r
+       MOVZX EAX,WORD PTR [EBP-18]\r
+       MOVZX ECX,WORD PTR [EBP-20]\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_124\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOVZX EAX,WORD PTR [EBP-18]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,-3\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       XOR EAX,EAX\r
+       JMP L_123\r
+L_124:\r
+       MOVZX EAX,WORD PTR [EBP+12]\r
+       MOV WORD PTR [EBP-22], AX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-23], AL\r
+L_125:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-23]\r
+       AND EAX,EAX\r
+       JNZ L_126\r
+       INC WORD PTR [EBP-22]\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-18]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_127\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,-3\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_123\r
+L_127:\r
+       MOVZX EAX,WORD PTR [EBP-18]\r
+       AND EAX,EAX\r
+       JNZ L_128\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-23], AL\r
+L_128:\r
+       JMP L_125\r
+L_126:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-23]\r
+       AND EAX,EAX\r
+       JZ L_129\r
+       MOVZX EAX,WORD PTR [EBP+12]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_130\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,-3\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_123\r
+L_130:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+15]\r
+       MOV ECX,-3\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [ESI+15], AL\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       PUSH EAX\r
+       PUSH 65535\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_129:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_123:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+_TruncClstrChain:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,14\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_131\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-10], AX\r
+       JMP L_132\r
+L_131:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-10], AX\r
+L_132:\r
+       MOVZX EAX,WORD PTR [EBP+8]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-12]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_133\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_134\r
+L_133:\r
+       MOVZX EAX,WORD PTR [EBP-12]\r
+       MOVZX ECX,WORD PTR [EBP-10]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_135\r
+       XOR EAX,EAX\r
+       JMP L_134\r
+L_135:\r
+       MOVZX EAX,WORD PTR [EBP+8]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-12]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_136\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_134\r
+L_136:\r
+       MOVZX EAX,WORD PTR [EBP+8]\r
+       PUSH EAX\r
+       PUSH 65535\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_137\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_134\r
+L_137:\r
+L_138:\r
+       MOVZX EAX,WORD PTR [EBP-12]\r
+       AND EAX,EAX\r
+       JZ L_140\r
+       MOVZX EAX,WORD PTR [EBP-12]\r
+       MOVZX ECX,WORD PTR [EBP-10]\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+L_140:\r
+       JZ L_139\r
+       MOVZX EAX,WORD PTR [EBP-12]\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-12]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_141\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_134\r
+L_141:\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+12]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_142\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_134\r
+L_142:\r
+       JMP L_138\r
+L_139:\r
+       XOR EAX,EAX\r
+L_134:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_GetAbsoluteClstr:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,29\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+2]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-29], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_143\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-28], AX\r
+       JMP L_144\r
+L_143:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-28], AX\r
+L_144:\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV ECX,DWORD PTR [EBP-16]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV WORD PTR [EBP-22], AX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+20]\r
+       MOV ECX,DWORD PTR [EBP-16]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV WORD PTR [EBP-24], AX\r
+       MOVZX EAX,WORD PTR [EBP-22]\r
+       MOVZX ECX,WORD PTR [EBP-24]\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_145\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-26], AX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [EBP-24], AX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_146\r
+L_145:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+24]\r
+       MOV WORD PTR [EBP-26], AX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+20]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_146:\r
+L_147:\r
+       MOVZX EAX,WORD PTR [EBP-24]\r
+       MOVZX ECX,WORD PTR [EBP-22]\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_149\r
+       MOVZX EAX,WORD PTR [EBP-26]\r
+       MOVZX ECX,WORD PTR [EBP-28]\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_150\r
+       MOVZX EAX,WORD PTR [EBP-26]\r
+L_150:\r
+L_149:\r
+       AND EAX,EAX\r
+       JZ L_148\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-26]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-26]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_151\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_152\r
+L_151:\r
+       INC WORD PTR [EBP-24]\r
+       MOVZX EAX,WORD PTR [EBP-24]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_147\r
+L_148:\r
+       MOVZX EAX,WORD PTR [EBP-24]\r
+       MOVZX ECX,WORD PTR [EBP-22]\r
+       CMP EAX,ECX\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_153\r
+       MOV EAX,211\r
+       JMP L_152\r
+L_153:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOVZX EAX,WORD PTR [EBP-26]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+L_152:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_SetFileSizeM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,43\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_154\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_155\r
+L_154:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JNZ L_156\r
+       MOV EAX,205\r
+       JMP L_155\r
+L_156:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-43], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-43]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       AND EAX,EAX\r
+       JZ L_157\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_158\r
+L_157:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_158:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP+8]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_159\r
+       XOR EAX,EAX\r
+       JMP L_155\r
+L_159:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV ECX,DWORD PTR [EBP-36]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV ECX,DWORD PTR [EBP-36]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_160\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       INC DWORD PTR [EBP-28]\r
+L_160:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       AND EAX,EAX\r
+       JNZ L_161\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_161:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,DWORD PTR [EBP-36]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV ECX,DWORD PTR [EBP-36]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_162\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       INC DWORD PTR [EBP-40]\r
+L_162:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JNZ L_163\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-40], EAX\r
+L_163:\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       CMP EAX,DWORD PTR [EBP-28]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_164\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_165\r
+L_164:\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       CMP EAX,DWORD PTR [EBP-28]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_166\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH DWORD PTR [EBP-20]\r
+       LEA EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL _GetAbsoluteClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_167:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_169\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,DWORD PTR [EBP-40]\r
+       SETB AL\r
+       AND AL,AL\r
+L_169:\r
+       JZ L_168\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-43]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       CALL _ExtendClstrChain\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP L_167\r
+L_168:\r
+       JMP L_170\r
+L_166:\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       CMP EAX,DWORD PTR [EBP-28]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_171\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JZ L_172\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_173\r
+L_172:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_173:\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH DWORD PTR [EBP-20]\r
+       LEA EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL _GetAbsoluteClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_174\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-43]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       CALL _TruncClstrChain\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_174:\r
+       MOV ESI,_paFUB\r
+       MOV EAX,DWORD PTR [ESI+20]\r
+       CMP EAX,DWORD PTR [EBP+8]\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_175\r
+       MOV ESI,_paFUB\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+20], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV EBX,ESI\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBX+24], AX\r
+L_175:\r
+L_171:\r
+L_170:\r
+L_165:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_176\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV DWORD PTR [ESI+28], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+41], AL\r
+L_176:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_155:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_GetDirEnt:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,32\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_177\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-32], AX\r
+       JMP L_178\r
+L_177:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-32], AX\r
+L_178:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-22], AL\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-21], AL\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-21], AL\r
+L_179:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_181\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-22]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_181:\r
+       JZ L_180\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,DWORD PTR [EBP-12]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_182\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP+20]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_183\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       MOVZX ECX,WORD PTR [EBP-32]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_184\r
+       MOV EAX,203\r
+       JMP L_185\r
+L_184:\r
+       MOVZX EAX,WORD PTR [EBP+20]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       JMP L_186\r
+L_183:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_185\r
+L_186:\r
+L_182:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+24]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abDirSectBuf\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_187\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_185\r
+L_187:\r
+       INC DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV EAX,OFFSET _abDirSectBuf\r
+       MOV DWORD PTR [EBP-26], EAX\r
+       MOV EAX,DWORD PTR [EBP-26]\r
+       MOV DWORD PTR [EBP-30], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_188:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,16\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_189\r
+       JMP SHORT L_190\r
+L_191:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP SHORT L_188\r
+L_190:\r
+       MOV ESI,DWORD PTR [EBP-26]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       XOR ECX,ECX\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_192\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-22], AL\r
+       JMP L_189\r
+L_192:\r
+       PUSH DWORD PTR [EBP-26]\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH 11\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_193\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-21], AL\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-26]\r
+       SUB EAX,DWORD PTR [EBP-30]\r
+       MOV DWORD PTR [ESI], EAX\r
+       JMP L_189\r
+L_193:\r
+       MOV EAX,DWORD PTR [EBP-26]\r
+       ADD EAX,32\r
+       MOV DWORD PTR [EBP-26], EAX\r
+       JMP L_191\r
+L_189:\r
+       JMP L_179\r
+L_180:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-21]\r
+       AND EAX,EAX\r
+       JZ L_194\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-26]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_185\r
+L_194:\r
+       MOV EAX,203\r
+L_195:\r
+L_185:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 24\r
+_GetRootEnt:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,26\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+24]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-17], AL\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-18], AL\r
+L_196:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_198\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_199\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-18]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_199:\r
+L_198:\r
+       JZ L_197\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       AND EAX,EAX\r
+       JZ L_200\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       JMP L_201\r
+L_200:\r
+       MOV EAX,OFFSET _abRawSector\r
+       MOV DWORD PTR [EBP-22], EAX\r
+       MOV EAX,DWORD PTR [EBP-22]\r
+       MOV DWORD PTR [EBP-26], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_202:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,16\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_203\r
+       JMP SHORT L_204\r
+L_205:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       JMP SHORT L_202\r
+L_204:\r
+       MOV ESI,DWORD PTR [EBP-22]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       XOR ECX,ECX\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_206\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-18], AL\r
+       JMP L_203\r
+L_206:\r
+       PUSH DWORD PTR [EBP-22]\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH 11\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_207\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-17], AL\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-22]\r
+       SUB EAX,DWORD PTR [EBP-26]\r
+       MOV DWORD PTR [ESI], EAX\r
+       JMP L_203\r
+L_207:\r
+       DEC DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-22]\r
+       ADD EAX,32\r
+       MOV DWORD PTR [EBP-22], EAX\r
+       JMP L_205\r
+L_203:\r
+       JMP L_196\r
+L_197:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       AND EAX,EAX\r
+       JZ L_208\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-22]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_201\r
+L_208:\r
+       MOV EAX,203\r
+L_209:\r
+L_201:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 20\r
+_BuildSpec:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,74\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       AND EAX,EAX\r
+       JZ L_210\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       AND EAX,EAX\r
+       JZ L_211\r
+       MOV EAX,1\r
+       MOV ESI,DWORD PTR [EBP+24]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,58\r
+       SETE AL\r
+       AND AL,AL\r
+L_211:\r
+L_210:\r
+       JZ L_212\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_213\r
+L_212:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       AND EAX,EAX\r
+       JZ L_214\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       AND EAX,EAX\r
+       JZ L_215\r
+       MOV ESI,DWORD PTR [EBP+24]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,92\r
+       SETE AL\r
+       AND AL,AL\r
+L_215:\r
+L_214:\r
+       JZ L_216\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-74]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetPath\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       MOV EBX,ESI\r
+       LEA ESI,BYTE PTR [EBP-74]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBX], AL\r
+       MOV EAX,1\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV EBX,ESI\r
+       LEA ESI,BYTE PTR [EBP-74]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBX], AL\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH DWORD PTR [EBP+24]\r
+       MOV EAX,2\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,DWORD PTR [EBP+20]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_217\r
+L_216:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH DWORD PTR [EBP+16]\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetPath\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       AND EAX,EAX\r
+       JZ L_218\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+L_218:\r
+       AND EAX,EAX\r
+       JZ L_219\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       AND EAX,EAX\r
+       JZ L_220\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+L_220:\r
+       AND EAX,EAX\r
+       JZ L_221\r
+       PUSH DWORD PTR [EBP+24]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,DWORD PTR [EBP+20]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_221:\r
+L_219:\r
+L_217:\r
+L_213:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 20\r
+_ParseName:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,95\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV _FDrive, AL\r
+       PUSH OFFSET _FileSpec\r
+       PUSH 77\r
+       PUSH 32\r
+       CALL FWORD PTR _FillData\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JZ L_222\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       CMP EAX,32\r
+       SETE AL\r
+       AND AL,AL\r
+L_222:\r
+       JZ L_223\r
+       MOV EAX,200\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_223:\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,DWORD PTR [EBP-91]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-95]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _BuildSpec\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       LEA EAX,DWORD PTR [EBP-91]\r
+       MOV DWORD PTR [EBP-21], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_224:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,DWORD PTR [EBP-95]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_225\r
+       JMP SHORT L_226\r
+L_227:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       JMP SHORT L_224\r
+L_226:\r
+       MOV ESI,DWORD PTR [EBP-21]\r
+       INC DWORD PTR [EBP-21]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBP-17], AL\r
+       JMP L_229\r
+L_230:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,0\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_231\r
+       INC DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_231:\r
+       JMP L_228\r
+L_232:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_233\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,0\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_234\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       XOR ECX,ECX\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+L_234:\r
+L_233:\r
+       JZ L_235\r
+       MOV ESI,OFFSET _FileSpec\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       MOV ECX,223\r
+       AND EAX,ECX\r
+       MOV _FDrive, AL\r
+       MOV ESI,OFFSET _FileSpec\r
+       MOV EAX,32\r
+       MOV BYTE PTR [ESI], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_236\r
+L_235:\r
+       MOV EAX,200\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_236:\r
+       JMP L_228\r
+L_237:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,8\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_238\r
+       MOV EAX,200\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_239\r
+L_238:\r
+       MOV EAX,8\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_239:\r
+       JMP L_228\r
+L_240:\r
+L_241:\r
+L_242:\r
+L_243:\r
+L_244:\r
+L_245:\r
+L_246:\r
+L_247:\r
+L_248:\r
+L_249:\r
+L_250:\r
+L_251:\r
+       MOV EAX,200\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_228\r
+L_252:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,10\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_253\r
+       MOV EAX,200\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_254\r
+L_253:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       CMP EAX,65\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_255\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       CMP EAX,90\r
+       SETBE AL\r
+       AND AL,AL\r
+L_255:\r
+       JNZ L_256\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       CMP EAX,97\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_257\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       CMP EAX,122\r
+       SETBE AL\r
+       AND AL,AL\r
+L_257:\r
+L_256:\r
+       JZ L_258\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       MOV ECX,223\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [EBP-17], AL\r
+L_258:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,11\r
+       MUL ECX\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-17]\r
+       MOV BYTE PTR [ESI], AL\r
+       INC DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+L_254:\r
+       JMP L_228\r
+L_229:\r
+       CMP EAX,63\r
+       JE L_251\r
+       CMP EAX,42\r
+       JE L_250\r
+       CMP EAX,64\r
+       JE L_249\r
+       CMP EAX,61\r
+       JE L_248\r
+       CMP EAX,43\r
+       JE L_247\r
+       CMP EAX,91\r
+       JE L_246\r
+       CMP EAX,93\r
+       JE L_245\r
+       CMP EAX,124\r
+       JE L_244\r
+       CMP EAX,43\r
+       JE L_243\r
+       CMP EAX,44\r
+       JE L_242\r
+       CMP EAX,60\r
+       JE L_241\r
+       CMP EAX,62\r
+       JE L_240\r
+       CMP EAX,46\r
+       JE L_237\r
+       CMP EAX,58\r
+       JE L_232\r
+       CMP EAX,92\r
+       JE L_230\r
+       JMP L_252\r
+L_228:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       AND EAX,EAX\r
+       JNZ L_225\r
+       JMP L_227\r
+L_225:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV _SpecDepth, AL\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+L_260:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+_GetDirSectorM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,44\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,512\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_261\r
+       MOV EAX,512\r
+       MOV DWORD PTR [EBP+24], EAX\r
+L_261:\r
+       PUSH DWORD PTR [EBP+36]\r
+       PUSH DWORD PTR [EBP+32]\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _ParseName\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       CMP EAX,64\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_262\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       CMP EAX,82\r
+       SETB AL\r
+       AND AL,AL\r
+L_262:\r
+       JZ L_263\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       MOV ECX,65\r
+       SUB EAX,ECX\r
+       MOV BYTE PTR [EBP-44], AL\r
+       JMP L_264\r
+L_263:\r
+       MOV EAX,201\r
+       JMP L_265\r
+L_264:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       CMP EAX,2\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_266\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _StatFloppy\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _read_BS\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_266:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       CMP EAX,255\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_267\r
+       MOV EAX,201\r
+       JMP L_265\r
+L_267:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+24]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV ESI,OFFSET _FileSpec\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       CMP EAX,32\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_268\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,32\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       CMP EAX,DWORD PTR [EBP+20]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_269\r
+       MOV EAX,224\r
+       JMP L_265\r
+L_269:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,DWORD PTR [EBP+20]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_270\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,DWORD PTR [EBP+20]\r
+       MOV DWORD PTR [ESI], EAX\r
+       PUSH OFFSET _abRawSector\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+24]\r
+       CALL FWORD PTR _CopyData\r
+L_270:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_268:\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-39], AL\r
+L_271:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       AND EAX,EAX\r
+       JZ L_273\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-39]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_273:\r
+       JZ L_272\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_274\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_274:\r
+       MOV EAX,OFFSET _abRawSector\r
+       MOV DWORD PTR [EBP-43], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_275:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,16\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_276\r
+       JMP SHORT L_277\r
+L_278:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP SHORT L_275\r
+L_277:\r
+       PUSH DWORD PTR [EBP-43]\r
+       PUSH OFFSET _FileSpec\r
+       PUSH 11\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_279\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-39], AL\r
+       JMP L_276\r
+L_279:\r
+       DEC DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP-43]\r
+       ADD EAX,32\r
+       MOV DWORD PTR [EBP-43], EAX\r
+       JMP L_278\r
+L_276:\r
+       JMP L_271\r
+L_272:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-39]\r
+       AND EAX,EAX\r
+       JNZ L_280\r
+       MOV EAX,224\r
+       JMP L_265\r
+L_280:\r
+       MOV EAX,DWORD PTR [EBP-43]\r
+       MOV _pDirEnt, EAX\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+11]\r
+       MOV ECX,16\r
+       AND EAX,ECX\r
+       JNZ L_281\r
+       MOV EAX,204\r
+       JMP L_265\r
+L_281:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_282\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-34], AX\r
+       JMP L_283\r
+L_282:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-34], AX\r
+L_283:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-36], AX\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_284:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_285\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,11\r
+       MUL ECX\r
+       ADD EAX,0\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       CMP EAX,32\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_286\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+11]\r
+       MOV ECX,16\r
+       AND EAX,ECX\r
+       JNZ L_287\r
+       MOV EAX,204\r
+       JMP L_265\r
+L_287:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       MOV ECX,DWORD PTR [EBP-24]\r
+       CDQ\r
+       IDIV ECX\r
+       MOV WORD PTR [EBP-38], AX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       MOV ECX,DWORD PTR [EBP-24]\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_288:\r
+       MOVZX EAX,WORD PTR [EBP-38]\r
+       DEC WORD PTR [EBP-38]\r
+       AND EAX,EAX\r
+       JZ L_290\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_290:\r
+       JZ L_289\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_288\r
+L_289:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_291\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_291:\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_292\r
+       PUSH OFFSET _abRawSector\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+24]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       MOV WORD PTR [ESI], AX\r
+L_292:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_286:\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-39], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_294:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-39]\r
+       AND EAX,EAX\r
+       JNZ L_295\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,DWORD PTR [EBP-24]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_296\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_297\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       MOVZX ECX,WORD PTR [EBP-34]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_298\r
+       MOV EAX,203\r
+       JMP L_265\r
+L_298:\r
+       MOVZX EAX,WORD PTR [EBP-36]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       JMP L_299\r
+L_297:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_299:\r
+L_296:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-44]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abRawSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_300\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_265\r
+L_300:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       MOV EAX,OFFSET _abRawSector\r
+       MOV DWORD PTR [EBP-43], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_301:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,16\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_302\r
+       JMP SHORT L_303\r
+L_304:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP SHORT L_301\r
+L_303:\r
+       PUSH DWORD PTR [EBP-43]\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 11\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_305\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-39], AL\r
+       JMP L_302\r
+L_305:\r
+       MOV EAX,DWORD PTR [EBP-43]\r
+       ADD EAX,32\r
+       MOV DWORD PTR [EBP-43], EAX\r
+       JMP L_304\r
+L_302:\r
+       JMP L_294\r
+L_295:\r
+       MOV EAX,DWORD PTR [EBP-43]\r
+       MOV _pDirEnt, EAX\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-36], AX\r
+L_293:\r
+       INC DWORD PTR [EBP-28]\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       JMP L_284\r
+L_285:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+L_265:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 32\r
+_ReadBlockM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,47\r
+       PUSH DWORD PTR [EBP+28]\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_306\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_307\r
+L_306:\r
+       MOV EAX,DWORD PTR [EBP+28]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JZ L_308\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_308:\r
+       JZ L_309\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,214\r
+       JMP L_307\r
+L_309:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-47], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_310\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-44], AX\r
+       JMP L_311\r
+L_310:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-44], AX\r
+L_311:\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+16]\r
+       LEA EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-32]\r
+       PUSH EAX\r
+       CALL _GetAbsoluteClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,DWORD PTR [EBP-24]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       ADD EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,DWORD PTR [EBP-24]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,EDX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_312:\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       AND EAX,EAX\r
+       JZ L_314\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_314:\r
+       JZ L_313\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       CMP EAX,DWORD PTR [EBP-36]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_315\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       JMP L_316\r
+L_315:\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_316:\r
+       MOV EAX,DWORD PTR [EBP+28]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       MOV WORD PTR [ESI+24], AX\r
+       MOV EAX,DWORD PTR [EBP+28]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [ESI+20], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH DWORD PTR [EBP+24]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_317\r
+       JMP L_313\r
+L_317:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       ADD EAX,DWORD PTR [EBP+24]\r
+       MOV DWORD PTR [EBP+24], EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       SUB EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       SUB EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       AND EAX,EAX\r
+       JZ L_318\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_318:\r
+       JZ L_319\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       MOV WORD PTR [EBP-46], AX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_320\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_307\r
+L_320:\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       ADD EAX,DWORD PTR [EBP-20]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       MOVZX ECX,WORD PTR [EBP-44]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_321\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_321:\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       AND EAX,EAX\r
+       JNZ L_322\r
+       MOV EAX,211\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_322:\r
+       MOVZX EAX,WORD PTR [EBP-42]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-47]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_319:\r
+       JMP L_312\r
+L_313:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_307:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 24\r
+_WriteBlockM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,61\r
+       PUSH DWORD PTR [EBP+24]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_323\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_324\r
+L_323:\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-44], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP+12], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JNZ L_325\r
+       MOV EAX,205\r
+       JMP L_324\r
+L_325:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_326\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+L_326:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       ADD EAX,DWORD PTR [EBP-44]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,DWORD PTR [EBP-8]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_327\r
+       MOV EAX,217\r
+       JMP L_324\r
+L_327:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-61], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_328\r
+       MOV EAX,65528\r
+       MOV WORD PTR [EBP-60], AX\r
+       JMP L_329\r
+L_328:\r
+       MOV EAX,4088\r
+       MOV WORD PTR [EBP-60], AX\r
+L_329:\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,WORD PTR [EBP-58]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-36]\r
+       PUSH EAX\r
+       CALL _GetAbsoluteClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_330\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_324\r
+L_330:\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,DWORD PTR [EBP-28]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       ADD EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [EBP-52], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,DWORD PTR [EBP-28]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,EDX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       SUB EAX,ECX\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [EBP-48], EAX\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       MOV DWORD PTR [EBP-56], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-32], EAX\r
+L_331:\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       AND EAX,EAX\r
+       JZ L_333\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_333:\r
+       JZ L_332\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       CMP EAX,DWORD PTR [EBP-40]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_334\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       JMP L_335\r
+L_334:\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_335:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       MOV WORD PTR [ESI+24], AX\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       MOV DWORD PTR [ESI+20], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_336\r
+       JMP L_332\r
+L_336:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       ADD EAX,DWORD PTR [EBP+20]\r
+       MOV DWORD PTR [EBP+20], EAX\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       ADD EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       SUB EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-44], EAX\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       SUB EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       AND EAX,EAX\r
+       JZ L_337\r
+       MOV EAX,DWORD PTR [EBP-40]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_337:\r
+       JZ L_338\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-58]\r
+       PUSH EAX\r
+       CALL _NextFATClstr\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_339\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_324\r
+L_339:\r
+       MOV EAX,DWORD PTR [EBP-36]\r
+       ADD EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       MOVZX ECX,WORD PTR [EBP-60]\r
+       CMP EAX,ECX\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_340\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+L_340:\r
+       AND EAX,EAX\r
+       JZ L_341\r
+       MOV EAX,217\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_341:\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       AND EAX,EAX\r
+       JNZ L_342\r
+       MOV EAX,211\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_342:\r
+       MOVZX EAX,WORD PTR [EBP-58]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-61]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_338:\r
+       JMP L_331\r
+L_332:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_324:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 20\r
+_FillStreamBuff:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,32\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+16]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+2]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+8]\r
+       AND EAX,EAX\r
+       JZ L_343\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH DWORD PTR [EBP-32]\r
+       PUSH DWORD PTR [EBP-28]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL _ReadBlockM\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+16], EAX\r
+       JMP L_344\r
+L_343:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_345\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       ADD EAX,DWORD PTR [EBP-28]\r
+       CMP EAX,DWORD PTR [EBP-16]\r
+       SETA AL\r
+       AND AL,AL\r
+L_345:\r
+       JZ L_346\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_347\r
+L_346:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV ECX,512\r
+       MUL ECX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH DWORD PTR [EBP-32]\r
+       PUSH DWORD PTR [EBP-28]\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL _ReadBlockM\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [ESI+16], EAX\r
+L_347:\r
+L_344:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_348\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_348:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_ReadBytesM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,40\r
+       PUSH DWORD PTR [EBP+20]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_350\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_351\r
+L_350:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JNZ L_352\r
+       MOV EAX,215\r
+       JMP L_351\r
+L_352:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETAE AL\r
+       AND AL,AL\r
+       JZ L_353\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,1\r
+       JMP L_351\r
+L_353:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_354:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP+12]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_356\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_357\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_357:\r
+L_356:\r
+       JZ L_355\r
+       PUSH DWORD PTR [EBP+20]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _FillStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+16]\r
+       ADD EAX,DWORD PTR [EBP-12]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_358\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_358:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SUB EAX,DWORD PTR [ESI+16]\r
+       ADD EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       SUB EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,1\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SUB EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP-32]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_359\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SUB EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+L_359:\r
+       PUSH DWORD PTR [EBP-36]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-32]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP+16], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       JMP L_354\r
+L_355:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_360\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_361\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_361:\r
+L_360:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_351:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_FlushStreamBuff:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,32\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+26]\r
+       AND EAX,EAX\r
+       JZ L_362\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+16]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+2]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       SUB EAX,DWORD PTR [EBP-16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       SUB EAX,DWORD PTR [EBP-16]\r
+       MOV ECX,512\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_363\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+L_363:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,DWORD PTR [EBP-8]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_364\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_364:\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH DWORD PTR [EBP-32]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,512\r
+       MUL ECX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-16]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _WriteBlockM\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+26], AL\r
+L_362:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_WriteBytesM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,40\r
+       PUSH DWORD PTR [EBP+20]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_366\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_367\r
+L_366:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JNZ L_368\r
+       MOV EAX,215\r
+       JMP L_367\r
+L_368:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JNZ L_369\r
+       MOV EAX,205\r
+       JMP L_367\r
+L_369:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+12]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_370\r
+       PUSH DWORD PTR [EBP+20]\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,DWORD PTR [EBP+12]\r
+       PUSH EAX\r
+       CALL _SetFileSizeM\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_371\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_367\r
+L_371:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_370:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+16]\r
+       ADD EAX,DWORD PTR [EBP-12]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_372\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_372:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_373:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP+12]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_375\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_376\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_376:\r
+L_375:\r
+       JZ L_374\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [EBP-28]\r
+       SETA AL\r
+       AND AL,AL\r
+       JNZ L_377\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,DWORD PTR [ESI+16]\r
+       SETB AL\r
+       AND AL,AL\r
+L_377:\r
+       JZ L_378\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL _FlushStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_379\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_367\r
+L_379:\r
+       PUSH DWORD PTR [EBP+20]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _FillStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_380\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_367\r
+L_380:\r
+L_378:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+16]\r
+       ADD EAX,DWORD PTR [EBP-12]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       CMP EAX,DWORD PTR [EBP-20]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_381\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-28], EAX\r
+L_381:\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SUB EAX,DWORD PTR [ESI+16]\r
+       ADD EAX,DWORD PTR [EBP-40]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       ADD EAX,1\r
+       SUB EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SUB EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP-32]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_382\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SUB EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-32], EAX\r
+L_382:\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-36]\r
+       PUSH DWORD PTR [EBP-32]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+26], AL\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP+16], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP+20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       JMP L_373\r
+L_374:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_367:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_GetFileSizeM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_383\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_384\r
+L_383:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV EBX,ESI\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBX], EAX\r
+       XOR EAX,EAX\r
+L_384:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_SetFileLFAM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_385\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_386\r
+L_385:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JNZ L_387\r
+       MOV EAX,215\r
+       JMP L_386\r
+L_387:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JZ L_388\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL _FlushStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_388:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_389\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+28]\r
+       MOV DWORD PTR [EBP+8], EAX\r
+L_389:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       CMP EAX,DWORD PTR [ESI+28]\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_390\r
+       MOV EAX,217\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_390:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_391\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _FillStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_391:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_386:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_GetFileLFAM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       PUSH DWORD PTR [EBP+12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_392\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_393\r
+L_392:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JNZ L_394\r
+       MOV EAX,215\r
+       JMP L_393\r
+L_394:\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       SHL EAX,5\r
+       MOV EBX,ESI\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+       MOV DWORD PTR [EBX], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_393:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+_OpenFileM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,36\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       CMP EAX,1\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_395\r
+       MOV EAX,207\r
+       JMP L_396\r
+L_395:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       AND EAX,EAX\r
+       JZ L_397\r
+       MOV ESI,DWORD PTR [EBP+28]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       CMP EAX,32\r
+       SETE AL\r
+       AND AL,AL\r
+L_397:\r
+       JNZ L_398\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_398:\r
+       JZ L_399\r
+       MOV EAX,200\r
+       JMP L_396\r
+L_399:\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _ParseName\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       CMP EAX,64\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_400\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       CMP EAX,82\r
+       SETB AL\r
+       AND AL,AL\r
+L_400:\r
+       JZ L_401\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       MOV ECX,65\r
+       SUB EAX,ECX\r
+       MOV BYTE PTR [EBP-36], AL\r
+       JMP L_402\r
+L_401:\r
+       MOV EAX,201\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_402:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       CMP EAX,255\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_403\r
+       MOV EAX,201\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_403:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       CMP EAX,2\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_404\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_404:\r
+       JZ L_405\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       PUSH EAX\r
+       CALL _StatFloppy\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       PUSH EAX\r
+       CALL _read_BS\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_405:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_406\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-28]\r
+       PUSH EAX\r
+       PUSH OFFSET _pDirEnt\r
+       CALL _GetRootEnt\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,203\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_407\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       XOR ECX,ECX\r
+       MOV CL,_SpecDepth\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_408\r
+       MOV EAX,203\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_409\r
+L_408:\r
+       MOV EAX,204\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_409:\r
+L_407:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_410\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_396\r
+L_410:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_411\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-30], AX\r
+L_411:\r
+L_412:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       XOR ECX,ECX\r
+       MOV CL,_SpecDepth\r
+       CMP EAX,ECX\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_414\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_414:\r
+       JZ L_413\r
+       INC DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-30]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-28]\r
+       PUSH EAX\r
+       PUSH OFFSET _pDirEnt\r
+       CALL _GetDirEnt\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,203\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_415\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       XOR ECX,ECX\r
+       MOV CL,_SpecDepth\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_416\r
+       MOV EAX,203\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_417\r
+L_416:\r
+       MOV EAX,204\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_417:\r
+       JMP L_418\r
+L_415:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_419\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_396\r
+L_419:\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-30], AX\r
+L_420:\r
+L_418:\r
+       JMP L_412\r
+L_413:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_421\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+11]\r
+       MOV ECX,24\r
+       AND EAX,ECX\r
+       JZ L_422\r
+       MOV EAX,202\r
+       JMP L_396\r
+L_422:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       AND EAX,EAX\r
+       JZ L_423\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+11]\r
+       MOV ECX,1\r
+       AND EAX,ECX\r
+L_423:\r
+       JZ L_424\r
+       MOV EAX,205\r
+       JMP L_396\r
+L_424:\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-31], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_425:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,128\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_427\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-31]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_427:\r
+       JZ L_426\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       AND EAX,EAX\r
+       JZ L_428\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       XOR ECX,ECX\r
+       MOV CL,BYTE PTR [EBP-36]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_429\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [EBX+26]\r
+       MOVZX ECX,WORD PTR [ESI+26]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_430\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 11\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+L_430:\r
+L_429:\r
+L_428:\r
+       JZ L_431\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-31], AL\r
+       JMP L_432\r
+L_431:\r
+       INC DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+L_432:\r
+       JMP L_425\r
+L_426:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-31]\r
+       AND EAX,EAX\r
+       JZ L_433\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JZ L_434\r
+       MOV EAX,208\r
+       JMP L_396\r
+L_434:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       MOV _pFCB, EAX\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       INC BYTE PTR [ESI+40]\r
+L_435:\r
+       JMP L_436\r
+L_433:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_437:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,128\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_439\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+L_439:\r
+       AND EAX,EAX\r
+       JZ L_438\r
+       INC DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       JMP L_437\r
+L_438:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,128\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_440\r
+       MOV EAX,206\r
+       JMP L_396\r
+L_440:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       MOV _pFCB, EAX\r
+       PUSH _pDirEnt\r
+       PUSH _pFCB\r
+       PUSH 32\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-36]\r
+       MOV BYTE PTR [ESI+38], AL\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       INC BYTE PTR [ESI+40]\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+20]\r
+       MOV BYTE PTR [ESI+39], AL\r
+       MOV ESI,_pFCB\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [ESI+32], EAX\r
+       MOV ESI,_pFCB\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV WORD PTR [ESI+36], AX\r
+L_436:\r
+       MOV EAX,4\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_441:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,128\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_443\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI]\r
+L_443:\r
+       AND EAX,EAX\r
+       JZ L_442\r
+       INC DWORD PTR [EBP-12]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       JMP L_441\r
+L_442:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,128\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_444\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       DEC BYTE PTR [ESI+40]\r
+       MOV EAX,209\r
+       JMP L_396\r
+L_444:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV WORD PTR [ESI+2], AX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+4], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+26], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       MOV BYTE PTR [ESI+27], AL\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBX+24], AX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+16], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+12], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP+16]\r
+       AND EAX,EAX\r
+       JZ L_445\r
+       PUSH 1\r
+       LEA EAX,DWORD PTR [EBP-35]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_446\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       DEC BYTE PTR [ESI+40]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_396\r
+L_446:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-35]\r
+       MOV DWORD PTR [ESI+8], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EAX,4096\r
+       MOV DWORD PTR [ESI+12], EAX\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH 1\r
+       CALL _FillStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_447\r
+       MOV ESI,_pFCB\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       DEC BYTE PTR [ESI+40]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       PUSH DWORD PTR [EBP-35]\r
+       PUSH 1\r
+       CALL FWORD PTR _DeAllocPage\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_396\r
+L_447:\r
+L_445:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       MOV DWORD PTR [ESI], EAX\r
+L_421:\r
+L_406:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_396:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 24\r
+_CloseFileM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,12\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_448\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_449\r
+L_448:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JZ L_450\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JZ L_451\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _FlushStreamBuff\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_451:\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL _UpdateDirEnt\r
+L_450:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JZ L_452\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI+8]\r
+       PUSH 1\r
+       CALL FWORD PTR _DeAllocPage\r
+L_452:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       AND EAX,EAX\r
+       JNZ L_453\r
+       MOV EAX,213\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_454\r
+L_453:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       DEC BYTE PTR [ESI+40]\r
+L_454:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_455:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_456\r
+       JMP SHORT L_457\r
+L_458:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       JMP SHORT L_455\r
+L_457:\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL _UpdateFAT\r
+       JMP L_458\r
+L_456:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_449:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_CreateFileM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,125\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,16\r
+       JZ L_459\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-125], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_460\r
+L_459:\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-125], AL\r
+L_460:\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _OpenFileM\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_462\r
+L_463:\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL _CloseFileM\r
+       MOV EAX,226\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_461\r
+L_464:\r
+       MOV EAX,226\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_461\r
+L_465:\r
+       JMP L_461\r
+L_466:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       LEA EAX,DWORD PTR [EBP-98]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-102]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _BuildSpec\r
+       LEA EAX,DWORD PTR [EBP-98]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-102]\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _ParseName\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_467\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_468\r
+L_467:\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       MOV ECX,65\r
+       SUB EAX,ECX\r
+       MOV BYTE PTR [EBP-124], AL\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       LEA EAX,DWORD PTR [EBP-114]\r
+       PUSH EAX\r
+       PUSH 11\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,11\r
+       LEA ESI,BYTE PTR [EBP-114]\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI], AL\r
+L_469:\r
+       MOV EAX,DWORD PTR [EBP-102]\r
+       AND EAX,EAX\r
+       JZ L_471\r
+       MOV EAX,DWORD PTR [EBP-102]\r
+       SUB EAX,1\r
+       LEA ESI,BYTE PTR [EBP-98]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,92\r
+       SETNE AL\r
+       AND AL,AL\r
+L_471:\r
+       JZ L_470\r
+       MOV EAX,DWORD PTR [EBP-102]\r
+       DEC DWORD PTR [EBP-102]\r
+       JMP L_469\r
+L_470:\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-123], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_472:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-123]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_474\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_474:\r
+       JZ L_473\r
+       LEA EAX,DWORD PTR [EBP-98]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-102]\r
+       PUSH OFFSET _abTmpSector\r
+       PUSH 512\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-122]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _GetDirSectorM\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_475\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,OFFSET _abTmpSector\r
+       MOV _pDirEnt, EAX\r
+L_476:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,16\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_477\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       CMP EAX,229\r
+       SETE AL\r
+       AND AL,AL\r
+       JNZ L_478\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_478:\r
+       JZ L_479\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-123], AL\r
+       JMP L_477\r
+L_479:\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,32\r
+       MOV _pDirEnt, EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP L_476\r
+L_477:\r
+L_475:\r
+       JMP L_472\r
+L_473:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,224\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_480\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_480:\r
+       JZ L_481\r
+       MOV EAX,228\r
+       JMP L_468\r
+L_481:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_483\r
+       PUSH OFFSET _abTmpSector\r
+       PUSH 512\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-122]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-122]\r
+       PUSH EAX\r
+       CALL _ExtendClstrChain\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_484\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_468\r
+L_484:\r
+       MOVZX EAX,WORD PTR [EBP-122]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_485:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       DEC DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_487\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_487:\r
+       JZ L_486\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abTmpSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_485\r
+L_486:\r
+       MOV EAX,OFFSET _abTmpSector\r
+       MOV _pDirEnt, EAX\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-123], AL\r
+L_483:\r
+L_482:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_488\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-123]\r
+L_488:\r
+       AND EAX,EAX\r
+       JZ L_489\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [EBP-116], AX\r
+L_490:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_492\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_492:\r
+       JZ L_491\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       XOR ECX,ECX\r
+       MOV CL,BYTE PTR [ESI+14]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_493\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI+4]\r
+L_493:\r
+       AND EAX,EAX\r
+       JZ L_494\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+12]\r
+       MOV WORD PTR [EBP-116], AX\r
+L_494:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP L_490\r
+L_491:\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       AND EAX,EAX\r
+       JNZ L_495\r
+       MOV EAX,2\r
+       MOV WORD PTR [EBP-116], AX\r
+L_495:\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       MOV WORD PTR [EBP-120], AX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-123], AL\r
+L_496:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-123]\r
+       AND EAX,EAX\r
+       JNZ L_497\r
+       INC WORD PTR [EBP-116]\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       MOVZX ECX,WORD PTR [EBP-120]\r
+       CMP EAX,ECX\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_498\r
+       MOV EAX,230\r
+       JMP L_468\r
+L_498:\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-118]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _GetClstrValue\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_499\r
+       MOVZX EAX,WORD PTR [EBP-118]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_499:\r
+       JZ L_500\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-123], AL\r
+       JMP L_501\r
+L_500:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,220\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_502\r
+       MOVZX EAX,WORD PTR [EBP-120]\r
+       CMP EAX,2\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_503\r
+       MOV EAX,2\r
+       MOV WORD PTR [EBP-116], AX\r
+       JMP L_504\r
+L_503:\r
+       MOV EAX,230\r
+       JMP L_468\r
+L_504:\r
+       JMP L_505\r
+L_502:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JZ L_506\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_468\r
+L_506:\r
+L_505:\r
+L_501:\r
+       JMP L_496\r
+L_497:\r
+       LEA EAX,DWORD PTR [EBP-114]\r
+       PUSH EAX\r
+       PUSH _pDirEnt\r
+       PUSH 11\r
+       CALL FWORD PTR _CopyData\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-125]\r
+       AND EAX,EAX\r
+       JNZ L_507\r
+       MOV ESI,_pDirEnt\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,39\r
+       MOV BYTE PTR [ESI+11], AL\r
+       JMP L_508\r
+L_507:\r
+       MOV ESI,_pDirEnt\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+11], AL\r
+L_508:\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,22\r
+       PUSH EAX\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,24\r
+       PUSH EAX\r
+       CALL _GetFATTime\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       MOV WORD PTR [ESI+26], AX\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+28], EAX\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       PUSH EAX\r
+       PUSH 65535\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       JNZ L_509\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-24]\r
+       PUSH 1\r
+       PUSH OFFSET _abTmpSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_509:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-125]\r
+       AND EAX,EAX\r
+       JZ L_510\r
+       PUSH OFFSET _abTmpSector\r
+       PUSH 512\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       MOV EAX,OFFSET _abTmpSector\r
+       MOV _pDirEnt, EAX\r
+       PUSH OFFSET L_lit+9\r
+       PUSH _pDirEnt\r
+       PUSH 11\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pDirEnt\r
+       MOV EAX,16\r
+       MOV BYTE PTR [ESI+11], AL\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,22\r
+       PUSH EAX\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,24\r
+       PUSH EAX\r
+       CALL _GetFATTime\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       MOV WORD PTR [ESI+26], AX\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+28], EAX\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,32\r
+       MOV _pDirEnt, EAX\r
+       PUSH OFFSET L_lit+21\r
+       PUSH _pDirEnt\r
+       PUSH 11\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pDirEnt\r
+       MOV EAX,16\r
+       MOV BYTE PTR [ESI+11], AL\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,22\r
+       PUSH EAX\r
+       MOV EAX,_pDirEnt\r
+       ADD EAX,24\r
+       PUSH EAX\r
+       CALL _GetFATTime\r
+       MOV ESI,_pDirEnt\r
+       MOVZX EAX,WORD PTR [EBP-122]\r
+       MOV WORD PTR [ESI+26], AX\r
+       MOV ESI,_pDirEnt\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+28], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOVZX EAX,WORD PTR [EBP-116]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       PUSH EAX\r
+       CALL _ClsToLBA\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abTmpSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       PUSH OFFSET _abTmpSector\r
+       PUSH 512\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_511:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       DEC DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_513\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_513:\r
+       JZ L_512\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-124]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH 2\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH OFFSET _abTmpSector\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       JMP L_511\r
+L_512:\r
+L_510:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_514:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_515\r
+       JMP SHORT L_516\r
+L_517:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_514\r
+L_516:\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL _UpdateFAT\r
+       JMP L_517\r
+L_515:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_468\r
+L_489:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_468\r
+L_518:\r
+L_519:\r
+       JMP L_461\r
+L_462:\r
+       CMP EAX,203\r
+       JE L_466\r
+       CMP EAX,202\r
+       JE L_465\r
+       CMP EAX,208\r
+       JE L_464\r
+       CMP EAX,0\r
+       JE L_463\r
+       JMP L_519\r
+L_461:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+L_468:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 16\r
+_DeleteFileM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,15\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL _ValidateHandle\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_520\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_521\r
+L_520:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+38]\r
+       MOV BYTE PTR [EBP-15], AL\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+39]\r
+       AND EAX,EAX\r
+       JNZ L_522\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _CloseFileM\r
+       MOV EAX,205\r
+       JMP L_521\r
+L_522:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+27]\r
+       AND EAX,EAX\r
+       JZ L_523\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI+8]\r
+       PUSH 1\r
+       CALL FWORD PTR _DeAllocPage\r
+L_523:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+26]\r
+       MOV WORD PTR [EBP-14], AX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       AND EAX,EAX\r
+       JZ L_524\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-15]\r
+       PUSH EAX\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       PUSH EAX\r
+       CALL _TruncClstrChain\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_525\r
+       MOVZX EAX,WORD PTR [EBP-14]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-15]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _SetClstrValue\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_525:\r
+L_524:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       MOV EAX,229\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL _UpdateDirEnt\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       AND EAX,EAX\r
+       JNZ L_526\r
+       MOV EAX,213\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       JMP L_527\r
+L_526:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+40]\r
+       DEC BYTE PTR [ESI+40]\r
+L_527:\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV WORD PTR [ESI], AX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_528:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_529\r
+       JMP SHORT L_530\r
+L_531:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       JMP SHORT L_528\r
+L_530:\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL _UpdateFAT\r
+       JMP L_531\r
+L_529:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_521:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_RenameFileM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,16\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH 1\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _OpenFileM\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_532\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive\r
+       MOV _FDrive1, AL\r
+       PUSH OFFSET _FileSpec\r
+       PUSH OFFSET _FileSpec1\r
+       PUSH 77\r
+       CALL FWORD PTR _CopyData\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       MOV _SpecDepth1, AL\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _ParseName\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_533\r
+       XOR EAX,EAX\r
+       MOV AL,_FDrive1\r
+       XOR ECX,ECX\r
+       MOV CL,_FDrive\r
+       CMP EAX,ECX\r
+       SETNE AL\r
+       AND AL,AL\r
+       JNZ L_534\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth1\r
+       XOR ECX,ECX\r
+       MOV CL,_SpecDepth\r
+       CMP EAX,ECX\r
+       SETNE AL\r
+       AND AL,AL\r
+L_534:\r
+       JZ L_535\r
+       MOV EAX,222\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_535:\r
+L_533:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_536\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       AND EAX,EAX\r
+       JZ L_537\r
+       PUSH OFFSET _FileSpec\r
+       PUSH OFFSET _FileSpec1\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       MOV ECX,11\r
+       MUL ECX\r
+       PUSH EAX\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_538\r
+       MOV EAX,223\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_538:\r
+L_537:\r
+L_536:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_539\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+2]\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       XOR EAX,EAX\r
+       MOV AL,_SpecDepth\r
+       MOV ECX,11\r
+       MUL ECX\r
+       MOV ESI,OFFSET _FileSpec\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV ECX,64\r
+       MUL ECX\r
+       MOV ESI,_paFCB\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 11\r
+       CALL FWORD PTR _CopyData\r
+       PUSH DWORD PTR [EBP-16]\r
+       CALL _UpdateDirEnt\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_539:\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL _CloseFileM\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_540\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_540:\r
+L_532:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 20\r
+_CreateDirM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 16\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL _CreateFileM\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+_DeleteDirM:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP+20], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP+16], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP+12], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP+8], EAX\r
+       POP EBP\r
+       RETN 16\r
+_FSysTask:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,22\r
+L_543:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_544\r
+       PUSH _FSysExch\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       AND EAX,EAX\r
+       JNZ L_545\r
+       LEA ESI,DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV _pRQB, EAX\r
+       MOV ESI,_pRQB\r
+       MOVSX EAX,WORD PTR [ESI+32]\r
+       JMP L_547\r
+L_548:\r
+       MOV EAX,4\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_549:\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,128\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_550\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SHL EAX,5\r
+       MOV ESI,_paFUB\r
+       ADD ESI,EAX\r
+       MOV EBX,ESI\r
+       MOV ESI,_pRQB\r
+       MOVZX EAX,WORD PTR [EBX]\r
+       CMP EAX,DWORD PTR [ESI+20]\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_551\r
+       PUSH DWORD PTR [EBP-20]\r
+       CALL _CloseFileM\r
+L_551:\r
+       INC DWORD PTR [EBP-20]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       JMP L_549\r
+L_550:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_552:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+24]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _OpenFileM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_553:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       CALL _CloseFileM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_554:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+24]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _ReadBlockM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_555:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+24]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       CALL _WriteBlockM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_556:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       CALL _ReadBytesM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_557:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       CALL _WriteBytesM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_558:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       CALL _GetFileLFAM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_559:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+24]\r
+       CALL _SetFileLFAM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_560:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       CALL _GetFileSizeM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_561:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+24]\r
+       CALL _SetFileSizeM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_562:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _CreateFileM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_563:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+48]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _RenameFileM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_564:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       CALL _DeleteFileM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_565:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _CreateDirM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_566:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _DeleteDirM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_567:\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+36]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+40]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+44]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+48]\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+20]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       LEA EAX,WORD PTR [EBP-22]\r
+       PUSH EAX\r
+       MOV ESI,_pRQB\r
+       PUSH DWORD PTR [ESI+8]\r
+       CALL _GetDirSectorM\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_568:\r
+       MOV EAX,32\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_546\r
+L_547:\r
+       CMP EAX,16\r
+       JE L_567\r
+       CMP EAX,15\r
+       JE L_566\r
+       CMP EAX,14\r
+       JE L_565\r
+       CMP EAX,13\r
+       JE L_564\r
+       CMP EAX,12\r
+       JE L_563\r
+       CMP EAX,11\r
+       JE L_562\r
+       CMP EAX,10\r
+       JE L_561\r
+       CMP EAX,9\r
+       JE L_560\r
+       CMP EAX,8\r
+       JE L_559\r
+       CMP EAX,7\r
+       JE L_558\r
+       CMP EAX,6\r
+       JE L_557\r
+       CMP EAX,5\r
+       JE L_556\r
+       CMP EAX,4\r
+       JE L_555\r
+       CMP EAX,3\r
+       JE L_554\r
+       CMP EAX,2\r
+       JE L_553\r
+       CMP EAX,1\r
+       JE L_552\r
+       CMP EAX,0\r
+       JE L_548\r
+       JMP L_568\r
+L_546:\r
+       LEA ESI,DWORD PTR [EBP-8]\r
+       PUSH DWORD PTR [ESI]\r
+       PUSH DWORD PTR [EBP-16]\r
+       CALL FWORD PTR _Respond\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_545:\r
+       JMP L_543\r
+L_544:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+PUBLIC __OpenFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_569\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH OFFSET L_lit+33\r
+       PUSH 3\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_570\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_571\r
+L_570:\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH OFFSET L_lit+37\r
+       PUSH 3\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_573\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,1\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_571\r
+L_573:\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH OFFSET L_lit+41\r
+       PUSH 3\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_575\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,2\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_571\r
+L_575:\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH OFFSET L_lit+45\r
+       PUSH 3\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_577\r
+       PUSH 3\r
+       PUSH 10\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_578\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,3\r
+       MOV DWORD PTR [ESI], EAX\r
+L_578:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_571\r
+L_577:\r
+L_576:\r
+L_574:\r
+L_572:\r
+L_569:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_579\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_579:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_580\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_571\r
+L_580:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-24]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_571:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 20\r
+PUBLIC __CloseFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,3\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_581\r
+       XOR EAX,EAX\r
+       JMP L_582\r
+L_581:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_584\r
+       PUSH 3\r
+       PUSH 11\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_582\r
+L_584:\r
+L_583:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_585\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_585:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_586\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_582\r
+L_586:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-24]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_582:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 4\r
+PUBLIC __ReadBlock:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,DWORD PTR [EBP+28]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_587\r
+       MOV EAX,227\r
+       JMP L_588\r
+L_587:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 3\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_589\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_589:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_590\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_588\r
+L_590:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       AND EAX,EAX\r
+       JZ L_591\r
+       PUSH 10\r
+       PUSH OFFSET _FDDevStat\r
+       PUSH 64\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _DeviceStat\r
+L_591:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_588:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 20\r
+PUBLIC __WriteBlock:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+28]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_592\r
+       MOV EAX,227\r
+       JMP L_593\r
+L_592:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_594\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_594:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_595\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_593\r
+L_595:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_593:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 20\r
+PUBLIC __ReadBytes:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,0\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_596\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_597\r
+L_596:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_599\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_600:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,DWORD PTR [EBP+16]\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_601\r
+       MOV ESI,DWORD PTR [EBP+20]\r
+       INC DWORD PTR [EBP+20]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL FWORD PTR _ReadKbd\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       INC DWORD PTR [EBP-24]\r
+       JMP L_600\r
+L_601:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_597\r
+L_599:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JNZ L_603\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+L_603:\r
+       JZ L_604\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,225\r
+       JMP L_597\r
+L_604:\r
+L_602:\r
+L_598:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 5\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP+24]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_605\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_605:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_606\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_597\r
+L_606:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_597:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 16\r
+PUBLIC __WriteBytes:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,0\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_607\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_608\r
+L_607:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_610\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,205\r
+       JMP L_608\r
+L_610:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_612\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetNormVid\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-16]\r
+       CALL FWORD PTR _TTYOut\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       MOV DWORD PTR [ESI], EAX\r
+       XOR EAX,EAX\r
+       JMP L_608\r
+L_612:\r
+       MOV EAX,DWORD PTR [EBP+24]\r
+       CMP EAX,3\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_614\r
+       PUSH 3\r
+       PUSH 2\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+20]\r
+       CALL FWORD PTR _DeviceOp\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_608\r
+L_614:\r
+L_613:\r
+L_611:\r
+L_609:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 6\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP+24]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_615\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_615:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_616\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_608\r
+L_616:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-24]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_608:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 16\r
+PUBLIC __GetFileLFA:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_617\r
+       MOV EAX,1\r
+       JMP L_618\r
+L_617:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 7\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_619\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_619:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_620\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_618\r
+L_620:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_618:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetFileLFA:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_621\r
+       MOV EAX,227\r
+       JMP L_622\r
+L_621:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 8\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_623\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_623:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_624\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_622\r
+L_624:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_622:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetFileSize:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_625\r
+       MOV EAX,227\r
+       JMP L_626\r
+L_625:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 9\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 4\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_627\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_627:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_628\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_626\r
+L_628:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_626:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetFileSize:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+16]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_629\r
+       MOV EAX,227\r
+       JMP L_630\r
+L_629:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 10\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_631\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_631:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_632\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_630\r
+L_632:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_630:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __CreateFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 11\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_633\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_633:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_634\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_635\r
+L_634:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_635:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 12\r
+PUBLIC __RenameFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 12\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 2\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_636\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_636:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_637\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_638\r
+L_637:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_638:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 16\r
+PUBLIC __DeleteFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,4\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_639\r
+       MOV EAX,227\r
+       JMP L_640\r
+L_639:\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 13\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_641\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_641:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_642\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_640\r
+L_642:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_640:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 4\r
+PUBLIC __CreateDir:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 14\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_643\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_643:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_644\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_645\r
+L_644:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_645:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __DeleteDir:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 15\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_646\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_646:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_647\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_648\r
+L_647:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_648:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 12\r
+PUBLIC __GetDirSector:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH _fsysname\r
+       PUSH 16\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP+28]\r
+       PUSH DWORD PTR [EBP+24]\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_649\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_649:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_650\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_651\r
+L_650:\r
+       MOV EAX,4\r
+       LEA ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+L_651:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 20\r
+PUBLIC _InitFS:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,16\r
+       MOV ESI,OFFSET _Fat\r
+       MOV EBX,ESI\r
+       MOV EAX,OFFSET _FatBufA\r
+       MOV DWORD PTR [EBX], EAX\r
+       PUSH 2\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_652\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_653:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,17\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_654\r
+       JMP SHORT L_655\r
+L_656:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_653\r
+L_655:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,4\r
+       MOV ESI,OFFSET _Fat\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,512\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       JMP L_656\r
+L_654:\r
+L_652:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_657\r
+       PUSH 2\r
+       PUSH OFFSET _paFCB\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_657:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_658\r
+       PUSH _paFCB\r
+       PUSH 8192\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+L_658:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_659\r
+       PUSH 1\r
+       PUSH OFFSET _paFUB\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_659:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_660\r
+       PUSH _paFUB\r
+       PUSH 4096\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+L_660:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_661\r
+       CALL _read_PE\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_661:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_662\r
+       PUSH 12\r
+       CALL _SetDriveGeometry\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_662:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_663\r
+       PUSH 13\r
+       CALL _SetDriveGeometry\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,663\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_664\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_664:\r
+L_663:\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL _StatFloppy\r
+       PUSH 1\r
+       CALL _StatFloppy\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_665\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_666:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,10\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_667\r
+       JMP SHORT L_668\r
+L_669:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_666\r
+L_668:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       CMP EAX,255\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_670\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL _read_BS\r
+L_670:\r
+       JMP L_669\r
+L_667:\r
+L_665:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_671:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,10\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_672\r
+       JMP SHORT L_673\r
+L_674:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_671\r
+L_673:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       CMP EAX,255\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_675\r
+       MOV EAX,12\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+31]\r
+       AND EAX,EAX\r
+       JZ L_676\r
+       MOV EAX,16\r
+       MOV DWORD PTR [EBP-12], EAX\r
+L_676:\r
+       PUSH OFFSET L_lit+49\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,65\r
+       PUSH EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+20]\r
+       PUSH EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       MOVZX EAX,WORD PTR [ESI+22]\r
+       PUSH EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+29]\r
+       PUSH EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       SHL EAX,5\r
+       MOV ESI,OFFSET _Ldrv\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI+28]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV EDI, 24\r
+       CALL _xprintf\r
+       ADD ESP,28\r
+L_675:\r
+       JMP L_674\r
+L_672:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_677\r
+       PUSH OFFSET _FSysExch\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_677:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_678\r
+       PUSH OFFSET _FSysTask\r
+       PUSH 5\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       MOV EAX,2044\r
+       MOV ESI,OFFSET _FSysStack\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1\r
+       CALL FWORD PTR _SpawnTask\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_678:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_679\r
+       PUSH _fsysname\r
+       PUSH _FSysExch\r
+       CALL FWORD PTR _RegisterSvc\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_679:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r