--- /dev/null
+\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