A1 C0 4B 53 00 mov eax, lpLenLBA64 52 push edx 8B 50 04 mov edx, [eax+4] 85 D2 test edx, edx 5A pop edx 05 4C 02 00 00 add eax, 24Ch 89 10 mov [eax], edx 8B 0D 60 4E 53 00 mov ecx, lpxxMultipler 80 39 FA cmp byte ptr [ecx], 0FAh 72 09 jb @Grid_SetRowCount 05 4C 02 00 00 add eax, 24Ch 89 10 mov [eax], edx EB 05 jmp @Skip 8B 0D 60 4E 53 00 mov ecx, lpxxMultipler 80 39 FA cmp byte ptr [ecx], 0FAh 7D 22 jge @Skip FF 75 F0 push [ebp+var_10] 8B 0D 98 74 53 00 mov ecx, CurRow 0F B7 15 94 74 53 00 movzx edx, CurCol A1 08 4A 53 00 mov eax, lpObj 8B 00 mov eax, [eax] 8B 80 88 06 00 00 mov eax, [eax+688h] E8 BE 55 FD FF call @Grids@TStringGrid@SetCells @Skip: 66 C7 05 68 74 53 00 00 00 mov word_537468, 0 4.46 orig .text:00504538 8D 45 F0 lea eax, [ebp+var_10] .text:0050453B 8A 15 A0 74 53 00 mov dl, byte_5374A0 .text:00504541 E8 1A 07 F0 FF call unknown_libname_79 ; BDS 2005-2007 and Delphi6-7 Visual Component Library .text:00504546 8B 45 F0 mov eax, [ebp+var_10] .text:00504549 50 push eax ; AValue (String) // <--- nop .text:0050454A 8B 0D 98 74 53 00 mov ecx, CurRow .text:00504550 85 C9 test ecx, ecx .text:00504552 79 05 jns short loc_504559 .text:00504554 E8 43 F6 EF FF call Error_TRuntimeError .text:00504559 ; --------------------------------------------------------------------------- .text:00504559 .text:00504559 loc_504559: ; CODE XREF: ScanFunc+3Aj .text:00504559 0F B7 15 94 74 53 00 movzx edx, CurCol .text:00504560 A1 08 4A 53 00 mov eax, lpObj .text:00504565 8B 00 mov eax, [eax] .text:00504567 8B 80 88 06 00 00 mov eax, [eax+688h] .text:0050456D E8 BE 55 FD FF call @Grids@TStringGrid@SetCells // <--- nop .text:00504572 C6 05 69 74 53 00 00 mov byte_537469, 0 .text:00504579 C6 05 68 74 53 00 00 mov byte_537468, 0 .text:00504580 0F B7 05 94 74 53 00 movzx eax, CurCol .text:00504587 0F B7 15 C8 44 53 00 movzx edx, word_5344C8 .text:0050458E 83 EA 01 sub edx, 1 .text:00504591 71 05 jno short loc_504598 .text:00504593 E8 0C F6 EF FF call System_Error_5 .text:00504598 ; --------------------------------------------------------------------------- .text:00504598 .text:00504598 loc_504598: ; CODE XREF: ScanFunc+79j .text:00504598 3B C2 cmp eax, edx .text:0050459A 7D 11 jge short loc_5045AD .text:0050459C 66 83 05 94 74 53 00+ add CurCol, 1 .text:005045A4 73 05 jnb short loc_5045AB .text:005045A6 E8 F9 F5 EF FF call System_Error_5 .text:005045AB ; --------------------------------------------------------------------------- .text:005045AB .text:005045AB loc_5045AB: ; CODE XREF: ScanFunc+8Cj .text:005045AB EB 67 jmp short loc_504614 .text:005045AD 66 C7 05 94 74 53 00+ mov CurCol, 0 .text:005045B6 A1 08 4A 53 00 mov eax, lpObj .text:005045BB 8B 00 mov eax, [eax] .text:005045BD 8B 80 88 06 00 00 mov eax, [eax+688h] .text:005045C3 8B 90 4C 02 00 00 mov edx, [eax+24Ch] .text:005045C9 83 C2 01 add edx, 1 .text:005045CC 71 05 jno short loc_5045D3 .text:005045CE E8 D1 F5 EF FF call System_Error_5 .text:005045D3 ; --------------------------------------------------------------------------- .text:005045D3 .text:005045D3 loc_5045D3: ; CODE XREF: ScanFunc+B4j .text:005045D3 A1 08 4A 53 00 mov eax, lpObj .text:005045D8 8B 00 mov eax, [eax] .text:005045DA 8B 80 88 06 00 00 mov eax, [eax+688h] .text:005045E0 E8 7F 33 FD FF call @Grids@TCustomGrid@SetRowCount // <--- nop .text:005045E5 83 05 98 74 53 00 01 add CurRow, 1 .text:005045EC 73 05 jnb short loc_5045F3 .text:005045EE E8 B1 F5 EF FF call System_Error_5 .text:005045F3 ; --------------------------------------------------------------------------- .text:005045F3 .text:005045F3 loc_5045F3: ; CODE XREF: ScanFunc+D4j .text:005045F3 8B 15 98 74 53 00 mov edx, CurRow -------------------------------------------------------------------------- 4.46 orig .text:00523BBD 8B 80 CC 06 00 00 mov eax, [eax+6CCh] .text:00523BC3 E8 3C FE F3 FF call @Controls@TControl@GetText$qqrv ; Controls::TControl::GetText(void) .text:00523BC8 8B 45 D0 mov eax, [ebp+var_30] ; _DWORD .text:00523BCB E8 30 B2 FE FF call xxStrToInt64 .text:00523BD0 8B 0D 54 4A 53 00 mov ecx, lpGEndLBA64 .text:00523BD6 89 01 mov [ecx], eax .text:00523BD8 89 51 04 mov [ecx+4], edx .text:00523BDB A1 80 48 53 00 mov eax, lpAccessMode .text:00523BE0 80 38 01 cmp byte ptr [eax], 1 .text:00523BE3 76 08 jbe short loc_523BED .text:00523BE5 A1 B4 4C 53 00 mov eax, off_534CB4 .text:00523BEA C6 00 01 mov byte ptr [eax], 1 .text:00523EB4 A1 C8 93 53 04 mov eax, obj .text:00523EB9 8B 80 CC 06 00 00 mov eax, [eax+6CCh] .text:00523EBF E8 40 FB F3 FF call @Controls@TControl@GetText$qqrv ; Controls::TControl::GetText(void) .text:00523EC4 8B 45 B0 mov eax, [ebp+var_30] ; _DWORD .text:00523EC7 E8 34 AF FE FF call xxStrToInt64 .text:00523ECC 8B 0D 54 4A 53 00 mov ecx, lpGEndLBA64 .text:00523ED2 89 01 mov [ecx], eax .text:00523ED4 89 51 04 mov [ecx+4], edx ; *lpGEndLBA64 = xxStrToInt64(str) .text:00523ED7 A1 F8 4E 53 00 mov eax, lpGBegLBA64 .text:00523EDC FF 70 04 push dword ptr [eax+4] .text:00523EDF FF 30 push dword ptr [eax] .text:00523EE1 8D 45 AC lea eax, [ebp+var_54] .text:00523EE4 E8 C7 55 EE FF call @Sysutils@IntToStr$qqrj ; Sysutils::IntToStr(__int64) ------------------------------------------------------------------------ 4.46 patch .text:00503487 loc_503487: ; CODE XREF: ScanThread+182j .text:00503487 90 nop .text:00503488 90 nop .text:00503489 90 nop .text:0050348A 90 nop .text:0050348B 90 nop .text:0050348C 90 nop .text:0050348D 90 nop .text:0050348E 90 nop .text:0050348F 90 nop .text:00503490 90 nop .text:00503491 90 nop .text:00503492 90 nop .text:00503493 B1 40 mov cl, 40h .text:00503495 66 8B 15 64 74 53 00 mov dx, SectorsInBlock .text:0050349C A1 24 73 53 00 mov eax, dword_537324 .text:005034A1 B8 01 00 00 00 mov eax, 1 ; Patch Scan (FAST) .text:005034A6 88 45 DB mov [ebp+d_res], al .text:005034A9 E9 D8 01 00 00 jmp loc_503686 4.46 orig .text:00503487 loc_503487: ; CODE XREF: ScanThread+182j .text:00503487 FF 35 0C 73 53 00 push dword ptr CurLBA64+4 .text:0050348D FF 35 08 73 53 00 push dword ptr CurLBA64 .text:00503493 B1 40 mov cl, 40h .text:00503495 66 8B 15 64 74 53 00 mov dx, SectorsInBlock .text:0050349C A1 24 73 53 00 mov eax, dword_537324 .text:005034A1 E8 26 37 01 00 call DriveSendCmd .text:005034A6 88 45 DB mov [ebp+d_res], al .text:005034A9 E9 D8 01 00 00 jmp loc_503686