init
This commit is contained in:
parent
cc4b46ae1c
commit
752ffb2c48
|
@ -14,20 +14,20 @@
|
||||||
<ProjectGuid>{8CC15B84-9FA8-4F5E-934F-7DAE7BAC4896}</ProjectGuid>
|
<ProjectGuid>{8CC15B84-9FA8-4F5E-934F-7DAE7BAC4896}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>Furutaka</RootNamespace>
|
<RootNamespace>Furutaka</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
|
||||||
<ProjectName>Furutaka</ProjectName>
|
<ProjectName>Furutaka</ProjectName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
@ -64,6 +64,7 @@
|
||||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
<CompileAs>CompileAsC</CompileAs>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
|
|
|
@ -386,7 +386,8 @@ UINT TDLMapDriver(
|
||||||
u64tohex(KernelBase + (xExAllocatePoolWithTag - KernelImage), _strend(text));
|
u64tohex(KernelBase + (xExAllocatePoolWithTag - KernelImage), _strend(text));
|
||||||
cuiPrintText(text, TRUE);
|
cuiPrintText(text, TRUE);
|
||||||
}
|
}
|
||||||
|
//找ExAllocatePoolWithTag过后
|
||||||
|
//根据版本号
|
||||||
if (g_NtBuildNumber < 15063) {
|
if (g_NtBuildNumber < 15063) {
|
||||||
RtlInitString(&routineName, "PsCreateSystemThread");
|
RtlInitString(&routineName, "PsCreateSystemThread");
|
||||||
status = LdrGetProcedureAddress((PVOID)KernelImage, &routineName, 0, (PVOID*)&xPsCreateSystemThread);
|
status = LdrGetProcedureAddress((PVOID)KernelImage, &routineName, 0, (PVOID*)&xPsCreateSystemThread);
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project>
|
||||||
|
<ProjectOutputs>
|
||||||
|
<ProjectOutput>
|
||||||
|
<FullPath>J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Debug\Furutaka.exe</FullPath>
|
||||||
|
</ProjectOutput>
|
||||||
|
</ProjectOutputs>
|
||||||
|
<ContentFiles />
|
||||||
|
<SatelliteDlls />
|
||||||
|
<NonRecipeFileRefs />
|
||||||
|
</Project>
|
Binary file not shown.
|
@ -0,0 +1,17 @@
|
||||||
|
cui.c
|
||||||
|
instdrv.c
|
||||||
|
main.c
|
||||||
|
cmdline.c
|
||||||
|
u64tohex.c
|
||||||
|
u64tostr.c
|
||||||
|
ultohex.c
|
||||||
|
ultostr.c
|
||||||
|
_strcat.c
|
||||||
|
_strcmpi.c
|
||||||
|
_strcpy.c
|
||||||
|
_strend.c
|
||||||
|
_strlen.c
|
||||||
|
_strncmpi.c
|
||||||
|
sup.c
|
||||||
|
正在生成代码...
|
||||||
|
Furutaka.vcxproj -> J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Debug\Furutaka.exe
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.28.29333:TargetPlatformVersion=10.0.19041.0:
|
||||||
|
Debug|x64|J:\Workspace\drivers\TDL\Source\Furutaka\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Debug\Furutaka.exe
|
||||||
|
J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Debug\Furutaka.pdb
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project>
|
||||||
|
<ProjectOutputs>
|
||||||
|
<ProjectOutput>
|
||||||
|
<FullPath>J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Release\Furutaka.exe</FullPath>
|
||||||
|
</ProjectOutput>
|
||||||
|
</ProjectOutputs>
|
||||||
|
<ContentFiles />
|
||||||
|
<SatelliteDlls />
|
||||||
|
<NonRecipeFileRefs />
|
||||||
|
</Project>
|
|
@ -0,0 +1,125 @@
|
||||||
|
cui.c
|
||||||
|
instdrv.c
|
||||||
|
main.c
|
||||||
|
cmdline.c
|
||||||
|
u64tohex.c
|
||||||
|
u64tostr.c
|
||||||
|
ultohex.c
|
||||||
|
ultostr.c
|
||||||
|
_strcat.c
|
||||||
|
_strcmpi.c
|
||||||
|
_strcpy.c
|
||||||
|
_strend.c
|
||||||
|
_strlen.c
|
||||||
|
_strncmpi.c
|
||||||
|
sup.c
|
||||||
|
正在搜索库
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\OLDNAMES.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\OLDNAMES.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\OLDNAMES.lib:
|
||||||
|
已完成库搜索
|
||||||
|
正在搜索库
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\OLDNAMES.lib:
|
||||||
|
已完成库搜索
|
||||||
|
正在搜索库
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\OLDNAMES.lib:
|
||||||
|
已完成库搜索
|
||||||
|
正在搜索库
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\kernel32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\user32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\gdi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\winspool.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\comdlg32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\advapi32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\shell32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ole32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\oleaut32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\uuid.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbc32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\odbccp32.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64\ntdll.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64\libucrt.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\libvcruntime.lib:
|
||||||
|
正在搜索 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64\LIBCMT.lib:
|
||||||
|
已完成库搜索
|
||||||
|
Furutaka.vcxproj -> J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Release\Furutaka.exe
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.28.29333:TargetPlatformVersion=10.0.19041.0:
|
||||||
|
Release|x64|J:\Workspace\drivers\TDL\Source\Furutaka\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
J:\Workspace\drivers\TDL\Source\Furutaka\output\x64\Release\Furutaka.exe
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,96 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strcat_a
|
||||||
|
PUBLIC _strcat_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcat_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
dest$ = 8
|
||||||
|
src$ = 16
|
||||||
|
_strcat_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcat.c
|
||||||
|
; Line 23
|
||||||
|
xor r8d, r8d
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN7@strcat_w
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN7@strcat_w
|
||||||
|
jmp SHORT $LN17@strcat_w
|
||||||
|
$LL2@strcat_w:
|
||||||
|
; Line 27
|
||||||
|
add rcx, 2
|
||||||
|
$LN17@strcat_w:
|
||||||
|
; Line 26
|
||||||
|
cmp WORD PTR [rcx], r8w
|
||||||
|
jne SHORT $LL2@strcat_w
|
||||||
|
; Line 29
|
||||||
|
movzx eax, WORD PTR [rdx]
|
||||||
|
test ax, ax
|
||||||
|
je SHORT $LN5@strcat_w
|
||||||
|
sub rdx, rcx
|
||||||
|
$LL4@strcat_w:
|
||||||
|
; Line 30
|
||||||
|
mov WORD PTR [rcx], ax
|
||||||
|
; Line 31
|
||||||
|
add rcx, 2
|
||||||
|
movzx eax, WORD PTR [rdx+rcx]
|
||||||
|
test ax, ax
|
||||||
|
jne SHORT $LL4@strcat_w
|
||||||
|
$LN5@strcat_w:
|
||||||
|
; Line 35
|
||||||
|
mov WORD PTR [rcx], r8w
|
||||||
|
$LN7@strcat_w:
|
||||||
|
; Line 37
|
||||||
|
mov rax, rcx
|
||||||
|
ret 0
|
||||||
|
_strcat_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcat_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
dest$ = 8
|
||||||
|
src$ = 16
|
||||||
|
_strcat_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcat.c
|
||||||
|
; Line 5
|
||||||
|
xor r8d, r8d
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN7@strcat_a
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN7@strcat_a
|
||||||
|
jmp SHORT $LN17@strcat_a
|
||||||
|
$LL2@strcat_a:
|
||||||
|
; Line 9
|
||||||
|
inc rcx
|
||||||
|
$LN17@strcat_a:
|
||||||
|
; Line 8
|
||||||
|
cmp BYTE PTR [rcx], r8b
|
||||||
|
jne SHORT $LL2@strcat_a
|
||||||
|
; Line 11
|
||||||
|
mov al, BYTE PTR [rdx]
|
||||||
|
test al, al
|
||||||
|
je SHORT $LN5@strcat_a
|
||||||
|
sub rdx, rcx
|
||||||
|
$LL4@strcat_a:
|
||||||
|
; Line 12
|
||||||
|
mov BYTE PTR [rcx], al
|
||||||
|
; Line 13
|
||||||
|
inc rcx
|
||||||
|
mov al, BYTE PTR [rdx+rcx]
|
||||||
|
test al, al
|
||||||
|
jne SHORT $LL4@strcat_a
|
||||||
|
$LN5@strcat_a:
|
||||||
|
; Line 17
|
||||||
|
mov BYTE PTR [rcx], r8b
|
||||||
|
$LN7@strcat_a:
|
||||||
|
; Line 19
|
||||||
|
mov rax, rcx
|
||||||
|
ret 0
|
||||||
|
_strcat_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,159 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strcmpi_a
|
||||||
|
PUBLIC _strcmpi_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcmpi_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s1$ = 8
|
||||||
|
s2$ = 16
|
||||||
|
_strcmpi_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 30
|
||||||
|
cmp rcx, rdx
|
||||||
|
jne SHORT $LN5@strcmpi_w
|
||||||
|
; Line 31
|
||||||
|
xor eax, eax
|
||||||
|
; Line 47
|
||||||
|
ret 0
|
||||||
|
$LN5@strcmpi_w:
|
||||||
|
; Line 33
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN6@strcmpi_w
|
||||||
|
; Line 34
|
||||||
|
or eax, -1
|
||||||
|
; Line 47
|
||||||
|
ret 0
|
||||||
|
$LN6@strcmpi_w:
|
||||||
|
; Line 36
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN23@strcmpi_w
|
||||||
|
; Line 37
|
||||||
|
lea eax, QWORD PTR [rdx+1]
|
||||||
|
; Line 47
|
||||||
|
ret 0
|
||||||
|
$LN23@strcmpi_w:
|
||||||
|
sub rcx, rdx
|
||||||
|
$LL4@strcmpi_w:
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
movzx eax, WORD PTR [rcx+rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 41
|
||||||
|
movzx r8d, WORD PTR [rcx+rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
sub ax, 65 ; 00000041H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 43
|
||||||
|
movzx r9d, WORD PTR [rdx]
|
||||||
|
add r8w, 32 ; 00000020H
|
||||||
|
cmp ax, 25
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
movzx eax, WORD PTR [rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 41
|
||||||
|
cmova r8w, WORD PTR [rcx+rdx]
|
||||||
|
; Line 43
|
||||||
|
add r9w, 32 ; 00000020H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
sub ax, 65 ; 00000041H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 43
|
||||||
|
cmp ax, 25
|
||||||
|
cmova r9w, WORD PTR [rdx]
|
||||||
|
lea rdx, QWORD PTR [rdx+2]
|
||||||
|
; Line 44
|
||||||
|
test r8w, r8w
|
||||||
|
je SHORT $LN8@strcmpi_w
|
||||||
|
cmp r8w, r9w
|
||||||
|
je SHORT $LL4@strcmpi_w
|
||||||
|
$LN8@strcmpi_w:
|
||||||
|
; Line 46
|
||||||
|
movzx ecx, r9w
|
||||||
|
movzx eax, r8w
|
||||||
|
sub eax, ecx
|
||||||
|
; Line 47
|
||||||
|
ret 0
|
||||||
|
_strcmpi_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcmpi_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s1$ = 8
|
||||||
|
s2$ = 16
|
||||||
|
_strcmpi_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 4
|
||||||
|
mov r9, rdx
|
||||||
|
mov r8, rcx
|
||||||
|
; Line 7
|
||||||
|
cmp rcx, rdx
|
||||||
|
jne SHORT $LN5@strcmpi_a
|
||||||
|
; Line 8
|
||||||
|
xor eax, eax
|
||||||
|
; Line 24
|
||||||
|
ret 0
|
||||||
|
$LN5@strcmpi_a:
|
||||||
|
; Line 10
|
||||||
|
test r8, r8
|
||||||
|
jne SHORT $LN6@strcmpi_a
|
||||||
|
; Line 11
|
||||||
|
or eax, -1
|
||||||
|
; Line 24
|
||||||
|
ret 0
|
||||||
|
$LN6@strcmpi_a:
|
||||||
|
; Line 13
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN23@strcmpi_a
|
||||||
|
; Line 14
|
||||||
|
lea eax, QWORD PTR [rdx+1]
|
||||||
|
; Line 24
|
||||||
|
ret 0
|
||||||
|
$LN23@strcmpi_a:
|
||||||
|
sub r8, rdx
|
||||||
|
$LL4@strcmpi_a:
|
||||||
|
; Line 17
|
||||||
|
movzx edx, BYTE PTR [r8+r9]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 17
|
||||||
|
lea ecx, DWORD PTR [rdx-65]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 18
|
||||||
|
cmp cl, 25
|
||||||
|
lea eax, DWORD PTR [rdx+32]
|
||||||
|
movzx r10d, al
|
||||||
|
cmova r10d, edx
|
||||||
|
movzx edx, BYTE PTR [r9]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 17
|
||||||
|
lea ecx, DWORD PTR [rdx-65]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcmpi.c
|
||||||
|
; Line 20
|
||||||
|
cmp cl, 25
|
||||||
|
lea eax, DWORD PTR [rdx+32]
|
||||||
|
movzx r11d, al
|
||||||
|
cmova r11d, edx
|
||||||
|
inc r9
|
||||||
|
; Line 21
|
||||||
|
test r10b, r10b
|
||||||
|
je SHORT $LN8@strcmpi_a
|
||||||
|
cmp r10b, r11b
|
||||||
|
je SHORT $LL4@strcmpi_a
|
||||||
|
$LN8@strcmpi_a:
|
||||||
|
; Line 23
|
||||||
|
movsx ecx, r11b
|
||||||
|
movsx eax, r10b
|
||||||
|
sub eax, ecx
|
||||||
|
; Line 24
|
||||||
|
ret 0
|
||||||
|
_strcmpi_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,87 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strcpy_a
|
||||||
|
PUBLIC _strcpy_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcpy_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
dest$ = 8
|
||||||
|
src$ = 16
|
||||||
|
_strcpy_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcpy.c
|
||||||
|
; Line 28
|
||||||
|
xor r9d, r9d
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN5@strcpy_w
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN5@strcpy_w
|
||||||
|
; Line 31
|
||||||
|
cmp rcx, rdx
|
||||||
|
je SHORT $LN5@strcpy_w
|
||||||
|
; Line 35
|
||||||
|
movzx r8d, WORD PTR [rdx]
|
||||||
|
mov rax, rcx
|
||||||
|
test r8w, r8w
|
||||||
|
je SHORT $LN3@strcpy_w
|
||||||
|
sub rdx, rcx
|
||||||
|
$LL2@strcpy_w:
|
||||||
|
; Line 36
|
||||||
|
mov WORD PTR [rax], r8w
|
||||||
|
; Line 37
|
||||||
|
add rax, 2
|
||||||
|
movzx r8d, WORD PTR [rdx+rax]
|
||||||
|
test r8w, r8w
|
||||||
|
jne SHORT $LL2@strcpy_w
|
||||||
|
$LN3@strcpy_w:
|
||||||
|
; Line 41
|
||||||
|
mov WORD PTR [rax], r9w
|
||||||
|
$LN5@strcpy_w:
|
||||||
|
; Line 43
|
||||||
|
mov rax, rcx
|
||||||
|
ret 0
|
||||||
|
_strcpy_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strcpy_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
dest$ = 8
|
||||||
|
src$ = 16
|
||||||
|
_strcpy_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strcpy.c
|
||||||
|
; Line 7
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN5@strcpy_a
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN5@strcpy_a
|
||||||
|
; Line 10
|
||||||
|
cmp rcx, rdx
|
||||||
|
je SHORT $LN5@strcpy_a
|
||||||
|
; Line 14
|
||||||
|
mov r8b, BYTE PTR [rdx]
|
||||||
|
mov rax, rcx
|
||||||
|
test r8b, r8b
|
||||||
|
je SHORT $LN3@strcpy_a
|
||||||
|
sub rdx, rcx
|
||||||
|
$LL2@strcpy_a:
|
||||||
|
; Line 15
|
||||||
|
mov BYTE PTR [rax], r8b
|
||||||
|
; Line 16
|
||||||
|
inc rax
|
||||||
|
mov r8b, BYTE PTR [rdx+rax]
|
||||||
|
test r8b, r8b
|
||||||
|
jne SHORT $LL2@strcpy_a
|
||||||
|
$LN3@strcpy_a:
|
||||||
|
; Line 20
|
||||||
|
mov BYTE PTR [rax], 0
|
||||||
|
$LN5@strcpy_a:
|
||||||
|
; Line 22
|
||||||
|
mov rax, rcx
|
||||||
|
ret 0
|
||||||
|
_strcpy_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,61 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strend_a
|
||||||
|
PUBLIC _strend_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strend_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s$ = 8
|
||||||
|
_strend_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strend.c
|
||||||
|
; Line 16
|
||||||
|
xor eax, eax
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN1@strend_w
|
||||||
|
jmp SHORT $LN10@strend_w
|
||||||
|
$LL2@strend_w:
|
||||||
|
; Line 20
|
||||||
|
add rcx, 2
|
||||||
|
$LN10@strend_w:
|
||||||
|
; Line 19
|
||||||
|
cmp WORD PTR [rcx], ax
|
||||||
|
jne SHORT $LL2@strend_w
|
||||||
|
; Line 22
|
||||||
|
mov rax, rcx
|
||||||
|
$LN1@strend_w:
|
||||||
|
; Line 23
|
||||||
|
ret 0
|
||||||
|
_strend_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strend_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s$ = 8
|
||||||
|
_strend_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strend.c
|
||||||
|
; Line 5
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN10@strend_a
|
||||||
|
; Line 6
|
||||||
|
xor eax, eax
|
||||||
|
; Line 12
|
||||||
|
ret 0
|
||||||
|
$LL2@strend_a:
|
||||||
|
; Line 9
|
||||||
|
inc rcx
|
||||||
|
$LN10@strend_a:
|
||||||
|
; Line 8
|
||||||
|
cmp BYTE PTR [rcx], 0
|
||||||
|
jne SHORT $LL2@strend_a
|
||||||
|
; Line 11
|
||||||
|
mov rax, rcx
|
||||||
|
; Line 12
|
||||||
|
ret 0
|
||||||
|
_strend_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,65 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strlen_a
|
||||||
|
PUBLIC _strlen_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strlen_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s$ = 8
|
||||||
|
_strlen_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strlen.c
|
||||||
|
; Line 20
|
||||||
|
xor edx, edx
|
||||||
|
mov rax, rcx
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN10@strlen_w
|
||||||
|
; Line 27
|
||||||
|
ret 0
|
||||||
|
$LL2@strlen_w:
|
||||||
|
; Line 24
|
||||||
|
add rcx, 2
|
||||||
|
$LN10@strlen_w:
|
||||||
|
; Line 23
|
||||||
|
cmp WORD PTR [rcx], dx
|
||||||
|
jne SHORT $LL2@strlen_w
|
||||||
|
; Line 26
|
||||||
|
sub rcx, rax
|
||||||
|
sar rcx, 1
|
||||||
|
mov rax, rcx
|
||||||
|
; Line 27
|
||||||
|
ret 0
|
||||||
|
_strlen_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strlen_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s$ = 8
|
||||||
|
_strlen_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strlen.c
|
||||||
|
; Line 5
|
||||||
|
mov rax, rcx
|
||||||
|
; Line 7
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN10@strlen_a
|
||||||
|
; Line 14
|
||||||
|
ret 0
|
||||||
|
$LL2@strlen_a:
|
||||||
|
; Line 11
|
||||||
|
inc rcx
|
||||||
|
$LN10@strlen_a:
|
||||||
|
; Line 10
|
||||||
|
cmp BYTE PTR [rcx], 0
|
||||||
|
jne SHORT $LL2@strlen_a
|
||||||
|
; Line 13
|
||||||
|
sub rcx, rax
|
||||||
|
mov rax, rcx
|
||||||
|
; Line 14
|
||||||
|
ret 0
|
||||||
|
_strlen_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,174 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC _strncmpi_a
|
||||||
|
PUBLIC _strncmpi_w
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strncmpi_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s1$ = 8
|
||||||
|
s2$ = 16
|
||||||
|
cchars$ = 24
|
||||||
|
_strncmpi_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 34
|
||||||
|
cmp rcx, rdx
|
||||||
|
je SHORT $LN25@strncmpi_w
|
||||||
|
; Line 37
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN6@strncmpi_w
|
||||||
|
; Line 38
|
||||||
|
or eax, -1
|
||||||
|
; Line 55
|
||||||
|
ret 0
|
||||||
|
$LN6@strncmpi_w:
|
||||||
|
; Line 40
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN7@strncmpi_w
|
||||||
|
; Line 41
|
||||||
|
lea eax, QWORD PTR [rdx+1]
|
||||||
|
; Line 55
|
||||||
|
ret 0
|
||||||
|
$LN7@strncmpi_w:
|
||||||
|
; Line 43
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN25@strncmpi_w
|
||||||
|
sub rcx, rdx
|
||||||
|
$LL4@strncmpi_w:
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
movzx eax, WORD PTR [rcx+rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 48
|
||||||
|
movzx r9d, WORD PTR [rcx+rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
sub ax, 65 ; 00000041H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 50
|
||||||
|
movzx r10d, WORD PTR [rdx]
|
||||||
|
add r9w, 32 ; 00000020H
|
||||||
|
cmp ax, 25
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
movzx eax, WORD PTR [rdx]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 48
|
||||||
|
cmova r9w, WORD PTR [rcx+rdx]
|
||||||
|
; Line 50
|
||||||
|
add r10w, 32 ; 00000020H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 25
|
||||||
|
sub ax, 65 ; 00000041H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 50
|
||||||
|
cmp ax, 25
|
||||||
|
cmova r10w, WORD PTR [rdx]
|
||||||
|
; Line 51
|
||||||
|
dec r8
|
||||||
|
lea rdx, QWORD PTR [rdx+2]
|
||||||
|
; Line 52
|
||||||
|
test r9w, r9w
|
||||||
|
je SHORT $LN9@strncmpi_w
|
||||||
|
cmp r9w, r10w
|
||||||
|
jne SHORT $LN9@strncmpi_w
|
||||||
|
test r8, r8
|
||||||
|
jne SHORT $LL4@strncmpi_w
|
||||||
|
$LN9@strncmpi_w:
|
||||||
|
; Line 54
|
||||||
|
movzx ecx, r10w
|
||||||
|
movzx eax, r9w
|
||||||
|
sub eax, ecx
|
||||||
|
; Line 55
|
||||||
|
ret 0
|
||||||
|
$LN25@strncmpi_w:
|
||||||
|
; Line 44
|
||||||
|
xor eax, eax
|
||||||
|
; Line 55
|
||||||
|
ret 0
|
||||||
|
_strncmpi_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT _strncmpi_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
s1$ = 8
|
||||||
|
s2$ = 16
|
||||||
|
cchars$ = 24
|
||||||
|
_strncmpi_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 4
|
||||||
|
mov r10, rdx
|
||||||
|
mov r9, rcx
|
||||||
|
; Line 7
|
||||||
|
cmp rcx, rdx
|
||||||
|
je SHORT $LN25@strncmpi_a
|
||||||
|
; Line 10
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN6@strncmpi_a
|
||||||
|
; Line 11
|
||||||
|
or eax, -1
|
||||||
|
; Line 28
|
||||||
|
ret 0
|
||||||
|
$LN6@strncmpi_a:
|
||||||
|
; Line 13
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN7@strncmpi_a
|
||||||
|
; Line 14
|
||||||
|
lea eax, QWORD PTR [rdx+1]
|
||||||
|
; Line 28
|
||||||
|
ret 0
|
||||||
|
$LN7@strncmpi_a:
|
||||||
|
; Line 16
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN25@strncmpi_a
|
||||||
|
sub r9, rdx
|
||||||
|
$LL4@strncmpi_a:
|
||||||
|
; Line 20
|
||||||
|
movzx edx, BYTE PTR [r9+r10]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 17
|
||||||
|
lea ecx, DWORD PTR [rdx-65]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 21
|
||||||
|
cmp cl, 25
|
||||||
|
lea eax, DWORD PTR [rdx+32]
|
||||||
|
movzx r11d, al
|
||||||
|
cmova r11d, edx
|
||||||
|
movzx edx, BYTE PTR [r10]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\rtltypes.h
|
||||||
|
; Line 17
|
||||||
|
lea ecx, DWORD PTR [rdx-65]
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\_strncmpi.c
|
||||||
|
; Line 23
|
||||||
|
cmp cl, 25
|
||||||
|
lea eax, DWORD PTR [rdx+32]
|
||||||
|
cmova eax, edx
|
||||||
|
inc r10
|
||||||
|
; Line 24
|
||||||
|
dec r8
|
||||||
|
; Line 25
|
||||||
|
test r11b, r11b
|
||||||
|
je SHORT $LN9@strncmpi_a
|
||||||
|
cmp r11b, al
|
||||||
|
jne SHORT $LN9@strncmpi_a
|
||||||
|
test r8, r8
|
||||||
|
jne SHORT $LL4@strncmpi_a
|
||||||
|
$LN9@strncmpi_a:
|
||||||
|
; Line 27
|
||||||
|
movsx ecx, al
|
||||||
|
movsx eax, r11b
|
||||||
|
sub eax, ecx
|
||||||
|
; Line 28
|
||||||
|
ret 0
|
||||||
|
$LN25@strncmpi_a:
|
||||||
|
; Line 17
|
||||||
|
xor eax, eax
|
||||||
|
; Line 28
|
||||||
|
ret 0
|
||||||
|
_strncmpi_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,434 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC GetCommandLineParamW
|
||||||
|
PUBLIC GetCommandLineParamA
|
||||||
|
PUBLIC ExtractFilePathA
|
||||||
|
PUBLIC ExtractFilePathW
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$GetCommandLineParamW DD imagerel $LN42
|
||||||
|
DD imagerel $LN42+275
|
||||||
|
DD imagerel $unwind$GetCommandLineParamW
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$GetCommandLineParamA DD imagerel $LN41
|
||||||
|
DD imagerel $LN41+226
|
||||||
|
DD imagerel $unwind$GetCommandLineParamA
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$GetCommandLineParamA DD 081301H
|
||||||
|
DD 047413H
|
||||||
|
DD 03640fH
|
||||||
|
DD 02540bH
|
||||||
|
DD 013407H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$GetCommandLineParamW DD 0a1701H
|
||||||
|
DD 067417H
|
||||||
|
DD 056417H
|
||||||
|
DD 045417H
|
||||||
|
DD 033417H
|
||||||
|
DD 0e015f017H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ExtractFilePathW
|
||||||
|
_TEXT SEGMENT
|
||||||
|
FileName$ = 8
|
||||||
|
FilePath$ = 16
|
||||||
|
ExtractFilePathW PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\cmdline.c
|
||||||
|
; Line 162
|
||||||
|
xor r11d, r11d
|
||||||
|
mov r9, rcx
|
||||||
|
mov r8, rcx
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN7@ExtractFil
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN7@ExtractFil
|
||||||
|
; Line 165
|
||||||
|
movzx r10d, WORD PTR [rcx]
|
||||||
|
test r10w, r10w
|
||||||
|
je SHORT $LN5@ExtractFil
|
||||||
|
$LL2@ExtractFil:
|
||||||
|
; Line 168
|
||||||
|
add rcx, 2
|
||||||
|
cmp r10w, 92 ; 0000005cH
|
||||||
|
mov rax, rcx
|
||||||
|
cmovne rax, r9
|
||||||
|
movzx r10d, WORD PTR [rcx]
|
||||||
|
mov r9, rax
|
||||||
|
test r10w, r10w
|
||||||
|
jne SHORT $LL2@ExtractFil
|
||||||
|
; Line 165
|
||||||
|
jmp SHORT $LN20@ExtractFil
|
||||||
|
$LL14@ExtractFil:
|
||||||
|
; Line 172
|
||||||
|
movzx eax, WORD PTR [r8]
|
||||||
|
mov WORD PTR [rdx], ax
|
||||||
|
; Line 173
|
||||||
|
add rdx, 2
|
||||||
|
; Line 174
|
||||||
|
add r8, 2
|
||||||
|
$LN20@ExtractFil:
|
||||||
|
; Line 171
|
||||||
|
cmp r8, r9
|
||||||
|
jb SHORT $LL14@ExtractFil
|
||||||
|
$LN5@ExtractFil:
|
||||||
|
; Line 177
|
||||||
|
mov WORD PTR [rdx], r11w
|
||||||
|
; Line 179
|
||||||
|
mov rax, rdx
|
||||||
|
; Line 180
|
||||||
|
ret 0
|
||||||
|
$LN7@ExtractFil:
|
||||||
|
; Line 163
|
||||||
|
xor eax, eax
|
||||||
|
; Line 180
|
||||||
|
ret 0
|
||||||
|
ExtractFilePathW ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ExtractFilePathA
|
||||||
|
_TEXT SEGMENT
|
||||||
|
FileName$ = 8
|
||||||
|
FilePath$ = 16
|
||||||
|
ExtractFilePathA PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\cmdline.c
|
||||||
|
; Line 136
|
||||||
|
mov r9, rcx
|
||||||
|
mov r8, rcx
|
||||||
|
; Line 138
|
||||||
|
test rcx, rcx
|
||||||
|
je SHORT $LN7@ExtractFil
|
||||||
|
test rdx, rdx
|
||||||
|
je SHORT $LN7@ExtractFil
|
||||||
|
; Line 141
|
||||||
|
mov r10b, BYTE PTR [rcx]
|
||||||
|
test r10b, r10b
|
||||||
|
je SHORT $LN5@ExtractFil
|
||||||
|
$LL2@ExtractFil:
|
||||||
|
; Line 144
|
||||||
|
inc rcx
|
||||||
|
cmp r10b, 92 ; 0000005cH
|
||||||
|
mov rax, rcx
|
||||||
|
cmovne rax, r9
|
||||||
|
mov r10b, BYTE PTR [rcx]
|
||||||
|
mov r9, rax
|
||||||
|
test r10b, r10b
|
||||||
|
jne SHORT $LL2@ExtractFil
|
||||||
|
; Line 141
|
||||||
|
jmp SHORT $LN20@ExtractFil
|
||||||
|
$LL14@ExtractFil:
|
||||||
|
; Line 148
|
||||||
|
mov al, BYTE PTR [r8]
|
||||||
|
mov BYTE PTR [rdx], al
|
||||||
|
; Line 149
|
||||||
|
inc rdx
|
||||||
|
; Line 150
|
||||||
|
inc r8
|
||||||
|
$LN20@ExtractFil:
|
||||||
|
; Line 147
|
||||||
|
cmp r8, r9
|
||||||
|
jb SHORT $LL14@ExtractFil
|
||||||
|
$LN5@ExtractFil:
|
||||||
|
; Line 153
|
||||||
|
mov BYTE PTR [rdx], 0
|
||||||
|
; Line 155
|
||||||
|
mov rax, rdx
|
||||||
|
; Line 156
|
||||||
|
ret 0
|
||||||
|
$LN7@ExtractFil:
|
||||||
|
; Line 139
|
||||||
|
xor eax, eax
|
||||||
|
; Line 156
|
||||||
|
ret 0
|
||||||
|
ExtractFilePathA ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT GetCommandLineParamA
|
||||||
|
_TEXT SEGMENT
|
||||||
|
CmdLine$ = 8
|
||||||
|
ParamIndex$ = 16
|
||||||
|
Buffer$ = 24
|
||||||
|
BufferSize$ = 32
|
||||||
|
ParamLen$ = 40
|
||||||
|
GetCommandLineParamA PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\cmdline.c
|
||||||
|
; Line 77
|
||||||
|
$LN41:
|
||||||
|
mov rax, rsp
|
||||||
|
mov QWORD PTR [rax+8], rbx
|
||||||
|
mov QWORD PTR [rax+16], rbp
|
||||||
|
mov QWORD PTR [rax+24], rsi
|
||||||
|
mov QWORD PTR [rax+32], rdi
|
||||||
|
mov ebx, r9d
|
||||||
|
mov ebp, edx
|
||||||
|
mov r10, rcx
|
||||||
|
; Line 81
|
||||||
|
test rcx, rcx
|
||||||
|
je $LN21@GetCommand
|
||||||
|
; Line 84
|
||||||
|
mov r11, QWORD PTR ParamLen$[rsp]
|
||||||
|
test r11, r11
|
||||||
|
je SHORT $LN12@GetCommand
|
||||||
|
; Line 85
|
||||||
|
and DWORD PTR [r11], 0
|
||||||
|
$LN12@GetCommand:
|
||||||
|
; Line 87
|
||||||
|
xor esi, esi
|
||||||
|
$LL4@GetCommand:
|
||||||
|
; Line 88
|
||||||
|
xor r9d, r9d
|
||||||
|
; Line 90
|
||||||
|
jmp SHORT $LN39@GetCommand
|
||||||
|
$LL5@GetCommand:
|
||||||
|
; Line 91
|
||||||
|
inc r10
|
||||||
|
$LN39@GetCommand:
|
||||||
|
; Line 90
|
||||||
|
mov cl, BYTE PTR [r10]
|
||||||
|
cmp cl, 32 ; 00000020H
|
||||||
|
je SHORT $LL5@GetCommand
|
||||||
|
; Line 93
|
||||||
|
test cl, cl
|
||||||
|
je SHORT $zero_term_exit$42
|
||||||
|
cmp cl, 34 ; 00000022H
|
||||||
|
je SHORT $LN14@GetCommand
|
||||||
|
; Line 103
|
||||||
|
mov edi, 32 ; 00000020H
|
||||||
|
jmp SHORT $LN36@GetCommand
|
||||||
|
$LN14@GetCommand:
|
||||||
|
; Line 98
|
||||||
|
inc r10
|
||||||
|
; Line 106
|
||||||
|
mov edi, 34 ; 00000022H
|
||||||
|
mov cl, BYTE PTR [r10]
|
||||||
|
cmp cl, dil
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
$LN36@GetCommand:
|
||||||
|
mov dl, cl
|
||||||
|
$LL9@GetCommand:
|
||||||
|
movsx eax, dl
|
||||||
|
mov cl, dl
|
||||||
|
cmp eax, edi
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
test dl, dl
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
; Line 107
|
||||||
|
inc r9d
|
||||||
|
; Line 108
|
||||||
|
cmp esi, ebp
|
||||||
|
jne SHORT $LN17@GetCommand
|
||||||
|
; Line 109
|
||||||
|
cmp r9d, ebx
|
||||||
|
jae SHORT $LN17@GetCommand
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN17@GetCommand
|
||||||
|
; Line 110
|
||||||
|
mov BYTE PTR [r8], dl
|
||||||
|
; Line 111
|
||||||
|
inc r8
|
||||||
|
$LN17@GetCommand:
|
||||||
|
; Line 113
|
||||||
|
inc r10
|
||||||
|
mov cl, BYTE PTR [r10]
|
||||||
|
mov dl, cl
|
||||||
|
cmp cl, 34 ; 00000022H
|
||||||
|
jne SHORT $LL9@GetCommand
|
||||||
|
$LN10@GetCommand:
|
||||||
|
; Line 87
|
||||||
|
inc esi
|
||||||
|
lea rax, QWORD PTR [r10+1]
|
||||||
|
test cl, cl
|
||||||
|
cmove rax, r10
|
||||||
|
mov r10, rax
|
||||||
|
cmp esi, ebp
|
||||||
|
jbe SHORT $LL4@GetCommand
|
||||||
|
$zero_term_exit$42:
|
||||||
|
; Line 122
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN19@GetCommand
|
||||||
|
test ebx, ebx
|
||||||
|
je SHORT $LN19@GetCommand
|
||||||
|
; Line 123
|
||||||
|
mov BYTE PTR [r8], 0
|
||||||
|
$LN19@GetCommand:
|
||||||
|
; Line 125
|
||||||
|
test r11, r11
|
||||||
|
je SHORT $LN20@GetCommand
|
||||||
|
; Line 126
|
||||||
|
mov DWORD PTR [r11], r9d
|
||||||
|
$LN20@GetCommand:
|
||||||
|
; Line 128
|
||||||
|
cmp r9d, ebx
|
||||||
|
jae SHORT $LN21@GetCommand
|
||||||
|
; Line 129
|
||||||
|
mov eax, 1
|
||||||
|
jmp SHORT $LN22@GetCommand
|
||||||
|
$LN21@GetCommand:
|
||||||
|
; Line 131
|
||||||
|
xor eax, eax
|
||||||
|
$LN22@GetCommand:
|
||||||
|
; Line 132
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
mov rbp, QWORD PTR [rsp+16]
|
||||||
|
mov rsi, QWORD PTR [rsp+24]
|
||||||
|
mov rdi, QWORD PTR [rsp+32]
|
||||||
|
ret 0
|
||||||
|
GetCommandLineParamA ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT GetCommandLineParamW
|
||||||
|
_TEXT SEGMENT
|
||||||
|
CmdLine$ = 24
|
||||||
|
ParamIndex$ = 32
|
||||||
|
Buffer$ = 40
|
||||||
|
BufferSize$ = 48
|
||||||
|
ParamLen$ = 56
|
||||||
|
GetCommandLineParamW PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\cmdline.c
|
||||||
|
; Line 10
|
||||||
|
$LN42:
|
||||||
|
mov rax, rsp
|
||||||
|
mov QWORD PTR [rax+8], rbx
|
||||||
|
mov QWORD PTR [rax+16], rbp
|
||||||
|
mov QWORD PTR [rax+24], rsi
|
||||||
|
mov QWORD PTR [rax+32], rdi
|
||||||
|
push r14
|
||||||
|
push r15
|
||||||
|
; Line 14
|
||||||
|
mov r11, QWORD PTR ParamLen$[rsp]
|
||||||
|
xor ebp, ebp
|
||||||
|
mov esi, edx
|
||||||
|
mov r10, rcx
|
||||||
|
test r11, r11
|
||||||
|
je SHORT $LN11@GetCommand
|
||||||
|
; Line 15
|
||||||
|
mov DWORD PTR [r11], ebp
|
||||||
|
$LN11@GetCommand:
|
||||||
|
; Line 17
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN12@GetCommand
|
||||||
|
; Line 18
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN22@GetCommand
|
||||||
|
test r9d, r9d
|
||||||
|
je SHORT $LN22@GetCommand
|
||||||
|
; Line 19
|
||||||
|
mov WORD PTR [r8], bp
|
||||||
|
$LN22@GetCommand:
|
||||||
|
; Line 67
|
||||||
|
xor eax, eax
|
||||||
|
$LN23@GetCommand:
|
||||||
|
; Line 68
|
||||||
|
mov rbx, QWORD PTR [rsp+24]
|
||||||
|
mov rbp, QWORD PTR [rsp+32]
|
||||||
|
mov rsi, QWORD PTR [rsp+40]
|
||||||
|
mov rdi, QWORD PTR [rsp+48]
|
||||||
|
pop r15
|
||||||
|
pop r14
|
||||||
|
ret 0
|
||||||
|
$LN12@GetCommand:
|
||||||
|
; Line 23
|
||||||
|
mov r14d, 32 ; 00000020H
|
||||||
|
mov ebx, ebp
|
||||||
|
lea r15d, QWORD PTR [r14+2]
|
||||||
|
$LL4@GetCommand:
|
||||||
|
; Line 24
|
||||||
|
mov edx, ebp
|
||||||
|
; Line 26
|
||||||
|
jmp SHORT $LN40@GetCommand
|
||||||
|
$LL5@GetCommand:
|
||||||
|
; Line 27
|
||||||
|
add r10, 2
|
||||||
|
$LN40@GetCommand:
|
||||||
|
; Line 26
|
||||||
|
movzx ecx, WORD PTR [r10]
|
||||||
|
cmp cx, r14w
|
||||||
|
je SHORT $LL5@GetCommand
|
||||||
|
; Line 29
|
||||||
|
test cx, cx
|
||||||
|
je SHORT $zero_term_exit$43
|
||||||
|
cmp cx, r15w
|
||||||
|
je SHORT $LN15@GetCommand
|
||||||
|
; Line 39
|
||||||
|
movzx edi, r14w
|
||||||
|
jmp SHORT $LN37@GetCommand
|
||||||
|
$LN15@GetCommand:
|
||||||
|
; Line 34
|
||||||
|
add r10, 2
|
||||||
|
; Line 42
|
||||||
|
mov edi, r15d
|
||||||
|
movzx ecx, WORD PTR [r10]
|
||||||
|
cmp cx, r15w
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
$LN37@GetCommand:
|
||||||
|
movzx eax, cx
|
||||||
|
$LL9@GetCommand:
|
||||||
|
movzx ecx, ax
|
||||||
|
cmp ax, di
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
test ax, ax
|
||||||
|
je SHORT $LN10@GetCommand
|
||||||
|
; Line 43
|
||||||
|
inc edx
|
||||||
|
; Line 44
|
||||||
|
cmp ebx, esi
|
||||||
|
jne SHORT $LN18@GetCommand
|
||||||
|
; Line 45
|
||||||
|
cmp edx, r9d
|
||||||
|
jae SHORT $LN18@GetCommand
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN18@GetCommand
|
||||||
|
; Line 46
|
||||||
|
mov WORD PTR [r8], ax
|
||||||
|
; Line 47
|
||||||
|
add r8, 2
|
||||||
|
$LN18@GetCommand:
|
||||||
|
; Line 49
|
||||||
|
add r10, 2
|
||||||
|
movzx ecx, WORD PTR [r10]
|
||||||
|
movzx eax, cx
|
||||||
|
cmp cx, r15w
|
||||||
|
jne SHORT $LL9@GetCommand
|
||||||
|
$LN10@GetCommand:
|
||||||
|
; Line 23
|
||||||
|
inc ebx
|
||||||
|
lea rax, QWORD PTR [r10+2]
|
||||||
|
test cx, cx
|
||||||
|
cmove rax, r10
|
||||||
|
mov r10, rax
|
||||||
|
cmp ebx, esi
|
||||||
|
jbe $LL4@GetCommand
|
||||||
|
$zero_term_exit$43:
|
||||||
|
; Line 58
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN20@GetCommand
|
||||||
|
test r9d, r9d
|
||||||
|
je SHORT $LN20@GetCommand
|
||||||
|
; Line 59
|
||||||
|
mov WORD PTR [r8], bp
|
||||||
|
$LN20@GetCommand:
|
||||||
|
; Line 61
|
||||||
|
test r11, r11
|
||||||
|
je SHORT $LN21@GetCommand
|
||||||
|
; Line 62
|
||||||
|
mov DWORD PTR [r11], edx
|
||||||
|
$LN21@GetCommand:
|
||||||
|
; Line 64
|
||||||
|
cmp edx, r9d
|
||||||
|
jae $LN22@GetCommand
|
||||||
|
; Line 65
|
||||||
|
mov eax, 1
|
||||||
|
jmp $LN23@GetCommand
|
||||||
|
GetCommandLineParamW ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,494 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC g_ConOut
|
||||||
|
PUBLIC g_ConIn
|
||||||
|
PUBLIC g_ConsoleOutput
|
||||||
|
PUBLIC g_BE
|
||||||
|
_BSS SEGMENT
|
||||||
|
g_ConOut DQ 01H DUP (?)
|
||||||
|
g_ConIn DQ 01H DUP (?)
|
||||||
|
g_ConsoleOutput DD 01H DUP (?)
|
||||||
|
_BSS ENDS
|
||||||
|
_DATA SEGMENT
|
||||||
|
g_BE DW 0feffH
|
||||||
|
_DATA ENDS
|
||||||
|
PUBLIC cuiInitialize
|
||||||
|
PUBLIC cuiPrintTextA
|
||||||
|
PUBLIC cuiPrintTextW
|
||||||
|
PUBLIC cuiPrintTextLastErrorA
|
||||||
|
PUBLIC cuiPrintTextLastErrorW
|
||||||
|
PUBLIC cuiClrScr
|
||||||
|
PUBLIC ??_C@_02PCIJFNDE@?$AN?6@ ; `string'
|
||||||
|
PUBLIC ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@ ; `string'
|
||||||
|
EXTRN __imp_GetStdHandle:PROC
|
||||||
|
EXTRN __imp_WriteFile:PROC
|
||||||
|
EXTRN __imp_GetLastError:PROC
|
||||||
|
EXTRN __imp_HeapAlloc:PROC
|
||||||
|
EXTRN __imp_HeapFree:PROC
|
||||||
|
EXTRN __imp_GetProcessHeap:PROC
|
||||||
|
EXTRN __imp_FormatMessageA:PROC
|
||||||
|
EXTRN __imp_FormatMessageW:PROC
|
||||||
|
EXTRN __imp_GetConsoleMode:PROC
|
||||||
|
EXTRN __imp_SetConsoleMode:PROC
|
||||||
|
EXTRN __imp_WriteConsoleA:PROC
|
||||||
|
EXTRN __imp_WriteConsoleW:PROC
|
||||||
|
EXTRN __imp_FillConsoleOutputCharacterW:PROC
|
||||||
|
EXTRN __imp_FillConsoleOutputAttribute:PROC
|
||||||
|
EXTRN __imp_GetConsoleScreenBufferInfo:PROC
|
||||||
|
EXTRN __imp_SetConsoleCursorPosition:PROC
|
||||||
|
EXTRN _strcpy_a:PROC
|
||||||
|
EXTRN _strcpy_w:PROC
|
||||||
|
EXTRN _strcat_a:PROC
|
||||||
|
EXTRN _strcat_w:PROC
|
||||||
|
EXTRN _strlen_a:PROC
|
||||||
|
EXTRN _strlen_w:PROC
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiInitialize DD imagerel $LN7
|
||||||
|
DD imagerel $LN7+173
|
||||||
|
DD imagerel $unwind$cuiInitialize
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiPrintTextA DD imagerel $LN13
|
||||||
|
DD imagerel $LN13+207
|
||||||
|
DD imagerel $unwind$cuiPrintTextA
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiPrintTextW DD imagerel $LN13
|
||||||
|
DD imagerel $LN13+215
|
||||||
|
DD imagerel $unwind$cuiPrintTextW
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiPrintTextLastErrorA DD imagerel $LN4
|
||||||
|
DD imagerel $LN4+84
|
||||||
|
DD imagerel $unwind$cuiPrintTextLastErrorA
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiPrintTextLastErrorW DD imagerel $LN4
|
||||||
|
DD imagerel $LN4+84
|
||||||
|
DD imagerel $unwind$cuiPrintTextLastErrorW
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$cuiClrScr DD imagerel $LN8
|
||||||
|
DD imagerel $LN8+173
|
||||||
|
DD imagerel $unwind$cuiClrScr
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@
|
||||||
|
CONST SEGMENT
|
||||||
|
??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@ DB 0dH, 00H, 0aH, 00H, 00H, 00H ; `string'
|
||||||
|
CONST ENDS
|
||||||
|
; COMDAT ??_C@_02PCIJFNDE@?$AN?6@
|
||||||
|
CONST SEGMENT
|
||||||
|
??_C@_02PCIJFNDE@?$AN?6@ DB 0dH, 0aH, 00H ; `string'
|
||||||
|
CONST ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiClrScr DD 040a01H
|
||||||
|
DD 0e640aH
|
||||||
|
DD 07006920aH
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiPrintTextLastErrorW DD 030901H
|
||||||
|
DD 0880109H
|
||||||
|
DD 03002H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiPrintTextLastErrorA DD 030901H
|
||||||
|
DD 0480109H
|
||||||
|
DD 03002H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiPrintTextW DD 061801H
|
||||||
|
DD 0a6418H
|
||||||
|
DD 093418H
|
||||||
|
DD 070145218H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiPrintTextA DD 061801H
|
||||||
|
DD 0a6418H
|
||||||
|
DD 093418H
|
||||||
|
DD 070145218H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$cuiInitialize DD 040a01H
|
||||||
|
DD 09340aH
|
||||||
|
DD 07006520aH
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiClrScr
|
||||||
|
_TEXT SEGMENT
|
||||||
|
csbi$ = 48
|
||||||
|
coordScreen$ = 96
|
||||||
|
cCharsWritten$ = 104
|
||||||
|
cuiClrScr PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 69
|
||||||
|
$LN8:
|
||||||
|
mov QWORD PTR [rsp+24], rsi
|
||||||
|
push rdi
|
||||||
|
sub rsp, 80 ; 00000050H
|
||||||
|
; Line 78
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
lea rdx, QWORD PTR csbi$[rsp]
|
||||||
|
xor esi, esi
|
||||||
|
mov DWORD PTR coordScreen$[rsp], esi
|
||||||
|
call QWORD PTR __imp_GetConsoleScreenBufferInfo
|
||||||
|
test eax, eax
|
||||||
|
je SHORT $LN1@cuiClrScr
|
||||||
|
; Line 81
|
||||||
|
movsx eax, WORD PTR csbi$[rsp]
|
||||||
|
; Line 83
|
||||||
|
lea edx, QWORD PTR [rsi+32]
|
||||||
|
movsx edi, WORD PTR csbi$[rsp+2]
|
||||||
|
mov r9d, esi
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
imul edi, eax
|
||||||
|
lea rax, QWORD PTR cCharsWritten$[rsp]
|
||||||
|
mov QWORD PTR [rsp+32], rax
|
||||||
|
mov r8d, edi
|
||||||
|
call QWORD PTR __imp_FillConsoleOutputCharacterW
|
||||||
|
test eax, eax
|
||||||
|
je SHORT $LN1@cuiClrScr
|
||||||
|
; Line 87
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
lea rdx, QWORD PTR csbi$[rsp]
|
||||||
|
call QWORD PTR __imp_GetConsoleScreenBufferInfo
|
||||||
|
test eax, eax
|
||||||
|
je SHORT $LN1@cuiClrScr
|
||||||
|
; Line 90
|
||||||
|
movzx edx, WORD PTR csbi$[rsp+8]
|
||||||
|
lea rax, QWORD PTR cCharsWritten$[rsp]
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
mov r9d, esi
|
||||||
|
mov r8d, edi
|
||||||
|
mov QWORD PTR [rsp+32], rax
|
||||||
|
call QWORD PTR __imp_FillConsoleOutputAttribute
|
||||||
|
test eax, eax
|
||||||
|
je SHORT $LN1@cuiClrScr
|
||||||
|
; Line 94
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
mov edx, esi
|
||||||
|
call QWORD PTR __imp_SetConsoleCursorPosition
|
||||||
|
$LN1@cuiClrScr:
|
||||||
|
; Line 95
|
||||||
|
mov rsi, QWORD PTR [rsp+112]
|
||||||
|
add rsp, 80 ; 00000050H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
cuiClrScr ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiPrintTextLastErrorW
|
||||||
|
_TEXT SEGMENT
|
||||||
|
szTextBuffer$ = 64
|
||||||
|
UseReturn$ = 1104
|
||||||
|
cuiPrintTextLastErrorW PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 217
|
||||||
|
$LN4:
|
||||||
|
push rbx
|
||||||
|
sub rsp, 1088 ; 00000440H
|
||||||
|
mov ebx, ecx
|
||||||
|
; Line 219
|
||||||
|
call QWORD PTR __imp_GetLastError
|
||||||
|
; Line 221
|
||||||
|
and QWORD PTR [rsp+48], 0
|
||||||
|
lea rcx, QWORD PTR szTextBuffer$[rsp]
|
||||||
|
mov DWORD PTR [rsp+40], 512 ; 00000200H
|
||||||
|
mov r9d, 1024 ; 00000400H
|
||||||
|
mov QWORD PTR [rsp+32], rcx
|
||||||
|
mov r8d, eax
|
||||||
|
mov ecx, 4096 ; 00001000H
|
||||||
|
xor edx, edx
|
||||||
|
call QWORD PTR __imp_FormatMessageW
|
||||||
|
; Line 222
|
||||||
|
mov edx, ebx
|
||||||
|
lea rcx, QWORD PTR szTextBuffer$[rsp]
|
||||||
|
call cuiPrintTextW
|
||||||
|
; Line 223
|
||||||
|
add rsp, 1088 ; 00000440H
|
||||||
|
pop rbx
|
||||||
|
ret 0
|
||||||
|
cuiPrintTextLastErrorW ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiPrintTextLastErrorA
|
||||||
|
_TEXT SEGMENT
|
||||||
|
szTextBuffer$ = 64
|
||||||
|
UseReturn$ = 592
|
||||||
|
cuiPrintTextLastErrorA PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 197
|
||||||
|
$LN4:
|
||||||
|
push rbx
|
||||||
|
sub rsp, 576 ; 00000240H
|
||||||
|
mov ebx, ecx
|
||||||
|
; Line 199
|
||||||
|
call QWORD PTR __imp_GetLastError
|
||||||
|
; Line 201
|
||||||
|
and QWORD PTR [rsp+48], 0
|
||||||
|
lea rcx, QWORD PTR szTextBuffer$[rsp]
|
||||||
|
mov DWORD PTR [rsp+40], 512 ; 00000200H
|
||||||
|
mov r9d, 1024 ; 00000400H
|
||||||
|
mov QWORD PTR [rsp+32], rcx
|
||||||
|
mov r8d, eax
|
||||||
|
mov ecx, 4096 ; 00001000H
|
||||||
|
xor edx, edx
|
||||||
|
call QWORD PTR __imp_FormatMessageA
|
||||||
|
; Line 202
|
||||||
|
mov edx, ebx
|
||||||
|
lea rcx, QWORD PTR szTextBuffer$[rsp]
|
||||||
|
call cuiPrintTextA
|
||||||
|
; Line 203
|
||||||
|
add rsp, 576 ; 00000240H
|
||||||
|
pop rbx
|
||||||
|
ret 0
|
||||||
|
cuiPrintTextLastErrorA ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiPrintTextW
|
||||||
|
_TEXT SEGMENT
|
||||||
|
bytesIO$ = 64
|
||||||
|
lpText$ = 64
|
||||||
|
UseReturn$ = 72
|
||||||
|
cuiPrintTextW PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 154
|
||||||
|
$LN13:
|
||||||
|
; Line 159
|
||||||
|
test rcx, rcx
|
||||||
|
je $LN11@cuiPrintTe
|
||||||
|
mov QWORD PTR [rsp+16], rbx
|
||||||
|
mov QWORD PTR [rsp+24], rsi
|
||||||
|
push rdi
|
||||||
|
sub rsp, 48 ; 00000030H
|
||||||
|
; Line 154
|
||||||
|
mov esi, edx
|
||||||
|
mov rdi, rcx
|
||||||
|
; Line 162
|
||||||
|
call _strlen_w
|
||||||
|
; Line 163
|
||||||
|
lea r8, QWORD PTR [rax-1]
|
||||||
|
cmp r8, 1039 ; 0000040fH
|
||||||
|
ja $LN4@cuiPrintTe
|
||||||
|
; Line 166
|
||||||
|
lea rbx, QWORD PTR [rax*2+6]
|
||||||
|
; Line 167
|
||||||
|
call QWORD PTR __imp_GetProcessHeap
|
||||||
|
mov r8, rbx
|
||||||
|
mov edx, 8
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_HeapAlloc
|
||||||
|
mov rbx, rax
|
||||||
|
; Line 168
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN4@cuiPrintTe
|
||||||
|
; Line 170
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rax
|
||||||
|
call _strcpy_w
|
||||||
|
; Line 171
|
||||||
|
test esi, esi
|
||||||
|
je SHORT $LN6@cuiPrintTe
|
||||||
|
lea rdx, OFFSET FLAT:??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@
|
||||||
|
mov rcx, rbx
|
||||||
|
call _strcat_w
|
||||||
|
$LN6@cuiPrintTe:
|
||||||
|
; Line 173
|
||||||
|
mov rcx, rbx
|
||||||
|
call _strlen_w
|
||||||
|
; Line 175
|
||||||
|
and QWORD PTR [rsp+32], 0
|
||||||
|
lea r9, QWORD PTR bytesIO$[rsp]
|
||||||
|
cmp DWORD PTR g_ConsoleOutput, 0
|
||||||
|
mov rdx, rbx
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
je SHORT $LN7@cuiPrintTe
|
||||||
|
; Line 176
|
||||||
|
mov r8d, eax
|
||||||
|
call QWORD PTR __imp_WriteConsoleW
|
||||||
|
; Line 177
|
||||||
|
jmp SHORT $LN8@cuiPrintTe
|
||||||
|
$LN7@cuiPrintTe:
|
||||||
|
; Line 179
|
||||||
|
lea r8d, DWORD PTR [rax+rax]
|
||||||
|
call QWORD PTR __imp_WriteFile
|
||||||
|
$LN8@cuiPrintTe:
|
||||||
|
; Line 181
|
||||||
|
call QWORD PTR __imp_GetProcessHeap
|
||||||
|
mov r8, rbx
|
||||||
|
xor edx, edx
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_HeapFree
|
||||||
|
$LN4@cuiPrintTe:
|
||||||
|
; Line 183
|
||||||
|
mov rbx, QWORD PTR [rsp+72]
|
||||||
|
mov rsi, QWORD PTR [rsp+80]
|
||||||
|
add rsp, 48 ; 00000030H
|
||||||
|
pop rdi
|
||||||
|
$LN11@cuiPrintTe:
|
||||||
|
ret 0
|
||||||
|
cuiPrintTextW ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiPrintTextA
|
||||||
|
_TEXT SEGMENT
|
||||||
|
bytesIO$ = 64
|
||||||
|
lpText$ = 64
|
||||||
|
UseReturn$ = 72
|
||||||
|
cuiPrintTextA PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 110
|
||||||
|
$LN13:
|
||||||
|
; Line 115
|
||||||
|
test rcx, rcx
|
||||||
|
je $LN11@cuiPrintTe
|
||||||
|
mov QWORD PTR [rsp+16], rbx
|
||||||
|
mov QWORD PTR [rsp+24], rsi
|
||||||
|
push rdi
|
||||||
|
sub rsp, 48 ; 00000030H
|
||||||
|
; Line 110
|
||||||
|
mov esi, edx
|
||||||
|
mov rdi, rcx
|
||||||
|
; Line 118
|
||||||
|
call _strlen_a
|
||||||
|
; Line 119
|
||||||
|
lea r8, QWORD PTR [rax-1]
|
||||||
|
cmp r8, 1039 ; 0000040fH
|
||||||
|
ja $LN4@cuiPrintTe
|
||||||
|
; Line 122
|
||||||
|
lea rbx, QWORD PTR [rax+5]
|
||||||
|
; Line 123
|
||||||
|
call QWORD PTR __imp_GetProcessHeap
|
||||||
|
mov r8, rbx
|
||||||
|
mov edx, 8
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_HeapAlloc
|
||||||
|
mov rbx, rax
|
||||||
|
; Line 124
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN4@cuiPrintTe
|
||||||
|
; Line 126
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rax
|
||||||
|
call _strcpy_a
|
||||||
|
; Line 127
|
||||||
|
test esi, esi
|
||||||
|
je SHORT $LN6@cuiPrintTe
|
||||||
|
lea rdx, OFFSET FLAT:??_C@_02PCIJFNDE@?$AN?6@
|
||||||
|
mov rcx, rbx
|
||||||
|
call _strcat_a
|
||||||
|
$LN6@cuiPrintTe:
|
||||||
|
; Line 129
|
||||||
|
mov rcx, rbx
|
||||||
|
call _strlen_a
|
||||||
|
; Line 131
|
||||||
|
and QWORD PTR [rsp+32], 0
|
||||||
|
lea r9, QWORD PTR bytesIO$[rsp]
|
||||||
|
cmp DWORD PTR g_ConsoleOutput, 0
|
||||||
|
mov r8d, eax
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
mov rdx, rbx
|
||||||
|
je SHORT $LN7@cuiPrintTe
|
||||||
|
; Line 132
|
||||||
|
call QWORD PTR __imp_WriteConsoleA
|
||||||
|
; Line 133
|
||||||
|
jmp SHORT $LN8@cuiPrintTe
|
||||||
|
$LN7@cuiPrintTe:
|
||||||
|
; Line 135
|
||||||
|
call QWORD PTR __imp_WriteFile
|
||||||
|
$LN8@cuiPrintTe:
|
||||||
|
; Line 137
|
||||||
|
call QWORD PTR __imp_GetProcessHeap
|
||||||
|
mov r8, rbx
|
||||||
|
xor edx, edx
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_HeapFree
|
||||||
|
$LN4@cuiPrintTe:
|
||||||
|
; Line 139
|
||||||
|
mov rbx, QWORD PTR [rsp+72]
|
||||||
|
mov rsi, QWORD PTR [rsp+80]
|
||||||
|
add rsp, 48 ; 00000030H
|
||||||
|
pop rdi
|
||||||
|
$LN11@cuiPrintTe:
|
||||||
|
ret 0
|
||||||
|
cuiPrintTextA ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT cuiInitialize
|
||||||
|
_TEXT SEGMENT
|
||||||
|
dummy$ = 64
|
||||||
|
InitInput$ = 64
|
||||||
|
IsConsoleOutput$ = 72
|
||||||
|
cuiInitialize PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\cui.c
|
||||||
|
; Line 37
|
||||||
|
$LN7:
|
||||||
|
mov QWORD PTR [rsp+16], rbx
|
||||||
|
push rdi
|
||||||
|
sub rsp, 48 ; 00000030H
|
||||||
|
mov ebx, ecx
|
||||||
|
mov rdi, rdx
|
||||||
|
; Line 40
|
||||||
|
mov ecx, -11 ; fffffff5H
|
||||||
|
call QWORD PTR __imp_GetStdHandle
|
||||||
|
mov QWORD PTR g_ConOut, rax
|
||||||
|
; Line 42
|
||||||
|
test ebx, ebx
|
||||||
|
je SHORT $LN2@cuiInitial
|
||||||
|
mov ecx, -10 ; fffffff6H
|
||||||
|
call QWORD PTR __imp_GetStdHandle
|
||||||
|
mov QWORD PTR g_ConIn, rax
|
||||||
|
mov rax, QWORD PTR g_ConOut
|
||||||
|
$LN2@cuiInitial:
|
||||||
|
; Line 44
|
||||||
|
mov edx, 7
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_SetConsoleMode
|
||||||
|
; Line 47
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
lea rdx, QWORD PTR dummy$[rsp]
|
||||||
|
mov DWORD PTR g_ConsoleOutput, 1
|
||||||
|
call QWORD PTR __imp_GetConsoleMode
|
||||||
|
test eax, eax
|
||||||
|
jne SHORT $LN3@cuiInitial
|
||||||
|
; Line 48
|
||||||
|
and DWORD PTR g_ConsoleOutput, eax
|
||||||
|
; Line 49
|
||||||
|
lea r9, QWORD PTR dummy$[rsp]
|
||||||
|
and QWORD PTR [rsp+32], 0
|
||||||
|
lea r8d, QWORD PTR [rax+2]
|
||||||
|
mov rcx, QWORD PTR g_ConOut
|
||||||
|
lea rdx, OFFSET FLAT:g_BE
|
||||||
|
call QWORD PTR __imp_WriteFile
|
||||||
|
$LN3@cuiInitial:
|
||||||
|
; Line 52
|
||||||
|
test rdi, rdi
|
||||||
|
je SHORT $LN4@cuiInitial
|
||||||
|
; Line 53
|
||||||
|
mov eax, DWORD PTR g_ConsoleOutput
|
||||||
|
mov DWORD PTR [rdi], eax
|
||||||
|
$LN4@cuiInitial:
|
||||||
|
; Line 56
|
||||||
|
mov rbx, QWORD PTR [rsp+72]
|
||||||
|
add rsp, 48 ; 00000030H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
cuiInitialize ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,521 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC scmInstallDriver
|
||||||
|
PUBLIC scmStartDriver
|
||||||
|
PUBLIC scmOpenDevice
|
||||||
|
PUBLIC scmStopDriver
|
||||||
|
PUBLIC scmRemoveDriver
|
||||||
|
PUBLIC scmUnloadDeviceDriver
|
||||||
|
PUBLIC scmLoadDeviceDriver
|
||||||
|
PUBLIC ??_C@_1O@GHDNIFBI@?$AA?2?$AA?2?$AA?4?$AA?2?$AA?$CF?$AAs@ ; `string'
|
||||||
|
EXTRN __imp_CreateFileW:PROC
|
||||||
|
EXTRN __imp_CloseHandle:PROC
|
||||||
|
EXTRN __imp_GetLastError:PROC
|
||||||
|
EXTRN __imp_SetLastError:PROC
|
||||||
|
EXTRN __imp_Sleep:PROC
|
||||||
|
EXTRN __imp_wsprintfW:PROC
|
||||||
|
EXTRN __imp_CloseServiceHandle:PROC
|
||||||
|
EXTRN __imp_ControlService:PROC
|
||||||
|
EXTRN __imp_CreateServiceW:PROC
|
||||||
|
EXTRN __imp_DeleteService:PROC
|
||||||
|
EXTRN __imp_OpenSCManagerW:PROC
|
||||||
|
EXTRN __imp_OpenServiceW:PROC
|
||||||
|
EXTRN __imp_StartServiceW:PROC
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$RtlSecureZeroMemory DD imagerel $LN4
|
||||||
|
DD imagerel $LN4+27
|
||||||
|
DD imagerel $unwind$RtlSecureZeroMemory
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmInstallDriver DD imagerel $LN5
|
||||||
|
DD imagerel $LN5+96
|
||||||
|
DD imagerel $unwind$scmInstallDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmStartDriver DD imagerel $LN7
|
||||||
|
DD imagerel $LN7+90
|
||||||
|
DD imagerel $unwind$scmStartDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmOpenDevice DD imagerel $LN9
|
||||||
|
DD imagerel $LN9+146
|
||||||
|
DD imagerel $unwind$scmOpenDevice
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmStopDriver DD imagerel $LN15
|
||||||
|
DD imagerel $LN15+127
|
||||||
|
DD imagerel $unwind$scmStopDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmRemoveDriver DD imagerel $LN5
|
||||||
|
DD imagerel $LN5+65
|
||||||
|
DD imagerel $unwind$scmRemoveDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmUnloadDeviceDriver DD imagerel $LN6
|
||||||
|
DD imagerel $LN6+104
|
||||||
|
DD imagerel $unwind$scmUnloadDeviceDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$scmLoadDeviceDriver DD imagerel $LN6
|
||||||
|
DD imagerel $LN6+156
|
||||||
|
DD imagerel $unwind$scmLoadDeviceDriver
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT ??_C@_1O@GHDNIFBI@?$AA?2?$AA?2?$AA?4?$AA?2?$AA?$CF?$AAs@
|
||||||
|
CONST SEGMENT
|
||||||
|
??_C@_1O@GHDNIFBI@?$AA?2?$AA?2?$AA?4?$AA?2?$AA?$CF?$AAs@ DB '\', 00H, '\', 00H
|
||||||
|
DB '.', 00H, '\', 00H, '%', 00H, 's', 00H, 00H, 00H ; `string'
|
||||||
|
CONST ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmLoadDeviceDriver DD 0a1901H
|
||||||
|
DD 097419H
|
||||||
|
DD 086419H
|
||||||
|
DD 075419H
|
||||||
|
DD 063419H
|
||||||
|
DD 0e0153219H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmUnloadDeviceDriver DD 060f01H
|
||||||
|
DD 07640fH
|
||||||
|
DD 06340fH
|
||||||
|
DD 0700b320fH
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmRemoveDriver DD 040a01H
|
||||||
|
DD 06340aH
|
||||||
|
DD 07006320aH
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmStopDriver DD 060f01H
|
||||||
|
DD 0b640fH
|
||||||
|
DD 0a340fH
|
||||||
|
DD 0700b720fH
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmOpenDevice DD 050d01H
|
||||||
|
DD 01a340dH
|
||||||
|
DD 018010dH
|
||||||
|
DD 07006H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmStartDriver DD 040a01H
|
||||||
|
DD 06340aH
|
||||||
|
DD 07006320aH
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$scmInstallDriver DD 010701H
|
||||||
|
DD 0e207H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$RtlSecureZeroMemory DD 020501H
|
||||||
|
DD 017405H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmLoadDeviceDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
Name$ = 48
|
||||||
|
Path$ = 56
|
||||||
|
lphDevice$ = 64
|
||||||
|
scmLoadDeviceDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 237
|
||||||
|
$LN6:
|
||||||
|
mov rax, rsp
|
||||||
|
mov QWORD PTR [rax+8], rbx
|
||||||
|
mov QWORD PTR [rax+16], rbp
|
||||||
|
mov QWORD PTR [rax+24], rsi
|
||||||
|
mov QWORD PTR [rax+32], rdi
|
||||||
|
push r14
|
||||||
|
sub rsp, 32 ; 00000020H
|
||||||
|
; Line 239
|
||||||
|
xor ebx, ebx
|
||||||
|
mov rbp, r8
|
||||||
|
mov r14, rdx
|
||||||
|
mov rdi, rcx
|
||||||
|
; Line 241
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN2@scmLoadDev
|
||||||
|
; Line 242
|
||||||
|
xor eax, eax
|
||||||
|
jmp SHORT $LN1@scmLoadDev
|
||||||
|
$LN2@scmLoadDev:
|
||||||
|
; Line 245
|
||||||
|
xor edx, edx
|
||||||
|
xor ecx, ecx
|
||||||
|
mov r8d, 983103 ; 000f003fH
|
||||||
|
call QWORD PTR __imp_OpenSCManagerW
|
||||||
|
mov rsi, rax
|
||||||
|
; Line 246
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN3@scmLoadDev
|
||||||
|
; Line 247
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rax
|
||||||
|
call scmRemoveDriver
|
||||||
|
; Line 248
|
||||||
|
mov r8, r14
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rsi
|
||||||
|
call scmInstallDriver
|
||||||
|
; Line 249
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rsi
|
||||||
|
call scmStartDriver
|
||||||
|
; Line 250
|
||||||
|
mov rdx, rbp
|
||||||
|
mov rcx, rdi
|
||||||
|
call scmOpenDevice
|
||||||
|
; Line 251
|
||||||
|
mov rcx, rsi
|
||||||
|
mov ebx, eax
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
$LN3@scmLoadDev:
|
||||||
|
; Line 253
|
||||||
|
mov eax, ebx
|
||||||
|
$LN1@scmLoadDev:
|
||||||
|
; Line 254
|
||||||
|
mov rbx, QWORD PTR [rsp+48]
|
||||||
|
mov rbp, QWORD PTR [rsp+56]
|
||||||
|
mov rsi, QWORD PTR [rsp+64]
|
||||||
|
mov rdi, QWORD PTR [rsp+72]
|
||||||
|
add rsp, 32 ; 00000020H
|
||||||
|
pop r14
|
||||||
|
ret 0
|
||||||
|
scmLoadDeviceDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmUnloadDeviceDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
Name$ = 48
|
||||||
|
scmUnloadDeviceDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 207
|
||||||
|
$LN6:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
mov QWORD PTR [rsp+16], rsi
|
||||||
|
push rdi
|
||||||
|
sub rsp, 32 ; 00000020H
|
||||||
|
; Line 209
|
||||||
|
xor ebx, ebx
|
||||||
|
mov rdi, rcx
|
||||||
|
; Line 211
|
||||||
|
test rcx, rcx
|
||||||
|
jne SHORT $LN2@scmUnloadD
|
||||||
|
; Line 212
|
||||||
|
xor eax, eax
|
||||||
|
jmp SHORT $LN1@scmUnloadD
|
||||||
|
$LN2@scmUnloadD:
|
||||||
|
; Line 215
|
||||||
|
xor edx, edx
|
||||||
|
xor ecx, ecx
|
||||||
|
mov r8d, 983103 ; 000f003fH
|
||||||
|
call QWORD PTR __imp_OpenSCManagerW
|
||||||
|
mov rsi, rax
|
||||||
|
; Line 216
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN3@scmUnloadD
|
||||||
|
; Line 217
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rax
|
||||||
|
call scmStopDriver
|
||||||
|
; Line 218
|
||||||
|
mov rdx, rdi
|
||||||
|
mov rcx, rsi
|
||||||
|
call scmRemoveDriver
|
||||||
|
; Line 219
|
||||||
|
mov rcx, rsi
|
||||||
|
mov ebx, eax
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
$LN3@scmUnloadD:
|
||||||
|
; Line 221
|
||||||
|
mov eax, ebx
|
||||||
|
$LN1@scmUnloadD:
|
||||||
|
; Line 222
|
||||||
|
mov rbx, QWORD PTR [rsp+48]
|
||||||
|
mov rsi, QWORD PTR [rsp+56]
|
||||||
|
add rsp, 32 ; 00000020H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
scmUnloadDeviceDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmRemoveDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
SchSCManager$ = 48
|
||||||
|
DriverName$ = 56
|
||||||
|
scmRemoveDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 184
|
||||||
|
$LN5:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
push rdi
|
||||||
|
sub rsp, 32 ; 00000020H
|
||||||
|
; Line 188
|
||||||
|
mov r8d, 983551 ; 000f01ffH
|
||||||
|
xor ebx, ebx
|
||||||
|
call QWORD PTR __imp_OpenServiceW
|
||||||
|
mov rdi, rax
|
||||||
|
; Line 189
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN2@scmRemoveD
|
||||||
|
; Line 190
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_DeleteService
|
||||||
|
; Line 191
|
||||||
|
mov rcx, rdi
|
||||||
|
mov ebx, eax
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
$LN2@scmRemoveD:
|
||||||
|
; Line 193
|
||||||
|
mov eax, ebx
|
||||||
|
; Line 194
|
||||||
|
mov rbx, QWORD PTR [rsp+48]
|
||||||
|
add rsp, 32 ; 00000020H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
scmRemoveDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmStopDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
serviceStatus$ = 32
|
||||||
|
SchSCManager$ = 80
|
||||||
|
DriverName$ = 88
|
||||||
|
scmStopDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 140
|
||||||
|
$LN15:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
mov QWORD PTR [rsp+16], rsi
|
||||||
|
push rdi
|
||||||
|
sub rsp, 64 ; 00000040H
|
||||||
|
; Line 147
|
||||||
|
mov r8d, 983551 ; 000f01ffH
|
||||||
|
call QWORD PTR __imp_OpenServiceW
|
||||||
|
mov rdi, rax
|
||||||
|
; Line 148
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN1@scmStopDri
|
||||||
|
$LN5@scmStopDri:
|
||||||
|
; Line 152
|
||||||
|
mov ebx, 5
|
||||||
|
$LL4@scmStopDri:
|
||||||
|
; Line 154
|
||||||
|
xor ecx, ecx
|
||||||
|
call QWORD PTR __imp_SetLastError
|
||||||
|
; Line 156
|
||||||
|
lea r8, QWORD PTR serviceStatus$[rsp]
|
||||||
|
mov edx, 1
|
||||||
|
mov rcx, rdi
|
||||||
|
call QWORD PTR __imp_ControlService
|
||||||
|
mov esi, eax
|
||||||
|
; Line 157
|
||||||
|
test eax, eax
|
||||||
|
jne SHORT $LN3@scmStopDri
|
||||||
|
; Line 160
|
||||||
|
call QWORD PTR __imp_GetLastError
|
||||||
|
cmp eax, 1051 ; 0000041bH
|
||||||
|
jne SHORT $LN3@scmStopDri
|
||||||
|
; Line 163
|
||||||
|
lea ecx, QWORD PTR [rax-51]
|
||||||
|
call QWORD PTR __imp_Sleep
|
||||||
|
; Line 164
|
||||||
|
sub ebx, 1
|
||||||
|
; Line 165
|
||||||
|
jne SHORT $LL4@scmStopDri
|
||||||
|
$LN3@scmStopDri:
|
||||||
|
; Line 167
|
||||||
|
mov rcx, rdi
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
; Line 169
|
||||||
|
mov eax, esi
|
||||||
|
$LN1@scmStopDri:
|
||||||
|
; Line 170
|
||||||
|
mov rbx, QWORD PTR [rsp+80]
|
||||||
|
mov rsi, QWORD PTR [rsp+88]
|
||||||
|
add rsp, 64 ; 00000040H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
scmStopDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmOpenDevice
|
||||||
|
_TEXT SEGMENT
|
||||||
|
completeDeviceName$ = 64
|
||||||
|
DriverName$ = 208
|
||||||
|
lphDevice$ = 216
|
||||||
|
scmOpenDevice PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 100
|
||||||
|
$LN9:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
push rdi
|
||||||
|
sub rsp, 192 ; 000000c0H
|
||||||
|
mov r8, rcx
|
||||||
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h
|
||||||
|
; Line 20225
|
||||||
|
lea rdi, QWORD PTR completeDeviceName$[rsp]
|
||||||
|
xor eax, eax
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 100
|
||||||
|
mov rbx, rdx
|
||||||
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h
|
||||||
|
; Line 20225
|
||||||
|
mov ecx, 128 ; 00000080H
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 105
|
||||||
|
lea rdx, OFFSET FLAT:??_C@_1O@GHDNIFBI@?$AA?2?$AA?2?$AA?4?$AA?2?$AA?$CF?$AAs@
|
||||||
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h
|
||||||
|
; Line 20225
|
||||||
|
rep stosb
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 105
|
||||||
|
lea rcx, QWORD PTR completeDeviceName$[rsp]
|
||||||
|
call QWORD PTR __imp_wsprintfW
|
||||||
|
; Line 107
|
||||||
|
and QWORD PTR [rsp+48], 0
|
||||||
|
lea rcx, QWORD PTR completeDeviceName$[rsp]
|
||||||
|
mov DWORD PTR [rsp+40], 128 ; 00000080H
|
||||||
|
xor r9d, r9d
|
||||||
|
xor r8d, r8d
|
||||||
|
mov DWORD PTR [rsp+32], 3
|
||||||
|
mov edx, -1073741824 ; c0000000H
|
||||||
|
call QWORD PTR __imp_CreateFileW
|
||||||
|
; Line 115
|
||||||
|
cmp rax, -1
|
||||||
|
jne SHORT $LN2@scmOpenDev
|
||||||
|
; Line 116
|
||||||
|
xor eax, eax
|
||||||
|
jmp SHORT $LN1@scmOpenDev
|
||||||
|
$LN2@scmOpenDev:
|
||||||
|
; Line 118
|
||||||
|
test rbx, rbx
|
||||||
|
je SHORT $LN3@scmOpenDev
|
||||||
|
; Line 119
|
||||||
|
mov QWORD PTR [rbx], rax
|
||||||
|
; Line 120
|
||||||
|
jmp SHORT $LN4@scmOpenDev
|
||||||
|
$LN3@scmOpenDev:
|
||||||
|
; Line 122
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_CloseHandle
|
||||||
|
$LN4@scmOpenDev:
|
||||||
|
; Line 125
|
||||||
|
mov eax, 1
|
||||||
|
$LN1@scmOpenDev:
|
||||||
|
; Line 126
|
||||||
|
mov rbx, QWORD PTR [rsp+208]
|
||||||
|
add rsp, 192 ; 000000c0H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
scmOpenDevice ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmStartDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
SchSCManager$ = 48
|
||||||
|
DriverName$ = 56
|
||||||
|
scmStartDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 69
|
||||||
|
$LN7:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
push rdi
|
||||||
|
sub rsp, 32 ; 00000020H
|
||||||
|
; Line 73
|
||||||
|
mov r8d, 983551 ; 000f01ffH
|
||||||
|
call QWORD PTR __imp_OpenServiceW
|
||||||
|
; Line 77
|
||||||
|
xor ebx, ebx
|
||||||
|
mov rdi, rax
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN1@scmStartDr
|
||||||
|
$LN2@scmStartDr:
|
||||||
|
; Line 80
|
||||||
|
xor r8d, r8d
|
||||||
|
xor edx, edx
|
||||||
|
mov rcx, rdi
|
||||||
|
call QWORD PTR __imp_StartServiceW
|
||||||
|
test eax, eax
|
||||||
|
jne SHORT $LN4@scmStartDr
|
||||||
|
call QWORD PTR __imp_GetLastError
|
||||||
|
cmp eax, 1056 ; 00000420H
|
||||||
|
jne SHORT $LN5@scmStartDr
|
||||||
|
$LN4@scmStartDr:
|
||||||
|
mov ebx, 1
|
||||||
|
$LN5@scmStartDr:
|
||||||
|
; Line 83
|
||||||
|
mov rcx, rdi
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
; Line 85
|
||||||
|
mov eax, ebx
|
||||||
|
$LN1@scmStartDr:
|
||||||
|
; Line 86
|
||||||
|
mov rbx, QWORD PTR [rsp+48]
|
||||||
|
add rsp, 32 ; 00000020H
|
||||||
|
pop rdi
|
||||||
|
ret 0
|
||||||
|
scmStartDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT scmInstallDriver
|
||||||
|
_TEXT SEGMENT
|
||||||
|
SchSCManager$ = 128
|
||||||
|
DriverName$ = 136
|
||||||
|
ServiceExe$ = 144
|
||||||
|
scmInstallDriver PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\instdrv.c
|
||||||
|
; Line 32
|
||||||
|
$LN5:
|
||||||
|
mov rax, rsp
|
||||||
|
sub rsp, 120 ; 00000078H
|
||||||
|
; Line 35
|
||||||
|
and QWORD PTR [rax-24], 0
|
||||||
|
mov r9d, 983551 ; 000f01ffH
|
||||||
|
and QWORD PTR [rax-32], 0
|
||||||
|
and QWORD PTR [rax-40], 0
|
||||||
|
and QWORD PTR [rax-48], 0
|
||||||
|
and QWORD PTR [rax-56], 0
|
||||||
|
mov QWORD PTR [rax-64], r8
|
||||||
|
mov r8, rdx
|
||||||
|
mov DWORD PTR [rax-72], 1
|
||||||
|
mov DWORD PTR [rax-80], 3
|
||||||
|
mov DWORD PTR [rax-88], 1
|
||||||
|
call QWORD PTR __imp_CreateServiceW
|
||||||
|
; Line 49
|
||||||
|
test rax, rax
|
||||||
|
je SHORT $LN1@scmInstall
|
||||||
|
$LN2@scmInstall:
|
||||||
|
; Line 53
|
||||||
|
mov rcx, rax
|
||||||
|
call QWORD PTR __imp_CloseServiceHandle
|
||||||
|
; Line 54
|
||||||
|
mov eax, 1
|
||||||
|
$LN1@scmInstall:
|
||||||
|
; Line 55
|
||||||
|
add rsp, 120 ; 00000078H
|
||||||
|
ret 0
|
||||||
|
scmInstallDriver ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,117 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC u64tohex_a
|
||||||
|
PUBLIC u64tohex_w
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$u64tohex_w DD imagerel $LN19
|
||||||
|
DD imagerel $LN19+93
|
||||||
|
DD imagerel $unwind$u64tohex_w
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$u64tohex_w DD 020501H
|
||||||
|
DD 013405H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT u64tohex_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
u64tohex_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tohex.c
|
||||||
|
; Line 28
|
||||||
|
$LN19:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
; Line 32
|
||||||
|
xor ebx, ebx
|
||||||
|
mov r8, rdx
|
||||||
|
mov r9, rcx
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN5@u64tohex_w
|
||||||
|
; Line 33
|
||||||
|
lea eax, QWORD PTR [rdx+16]
|
||||||
|
jmp SHORT $LN1@u64tohex_w
|
||||||
|
$LN5@u64tohex_w:
|
||||||
|
; Line 35
|
||||||
|
lea r10, QWORD PTR [rdx+30]
|
||||||
|
mov edx, 16
|
||||||
|
mov r11d, edx
|
||||||
|
$LL11@u64tohex_w:
|
||||||
|
; Line 36
|
||||||
|
movzx ecx, r9w
|
||||||
|
; Line 37
|
||||||
|
shr r9, 4
|
||||||
|
and cx, 15
|
||||||
|
; Line 44
|
||||||
|
cmp cx, 10
|
||||||
|
sbb ax, ax
|
||||||
|
and ax, 65529 ; 0000fff9H
|
||||||
|
add ax, 55 ; 00000037H
|
||||||
|
add ax, cx
|
||||||
|
mov WORD PTR [r10], ax
|
||||||
|
lea r10, QWORD PTR [r10-2]
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL11@u64tohex_w
|
||||||
|
; Line 47
|
||||||
|
mov WORD PTR [r8+32], bx
|
||||||
|
; Line 48
|
||||||
|
mov rax, rdx
|
||||||
|
$LN1@u64tohex_w:
|
||||||
|
; Line 49
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
ret 0
|
||||||
|
u64tohex_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT u64tohex_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
u64tohex_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tohex.c
|
||||||
|
; Line 4
|
||||||
|
mov r8, rdx
|
||||||
|
mov r9, rcx
|
||||||
|
; Line 8
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN5@u64tohex_a
|
||||||
|
; Line 9
|
||||||
|
lea eax, QWORD PTR [rdx+16]
|
||||||
|
; Line 25
|
||||||
|
ret 0
|
||||||
|
$LN5@u64tohex_a:
|
||||||
|
; Line 11
|
||||||
|
lea r10, QWORD PTR [rdx+15]
|
||||||
|
mov edx, 16
|
||||||
|
mov r11d, edx
|
||||||
|
$LL11@u64tohex_a:
|
||||||
|
; Line 12
|
||||||
|
mov cl, r9b
|
||||||
|
; Line 13
|
||||||
|
shr r9, 4
|
||||||
|
and cl, 15
|
||||||
|
; Line 20
|
||||||
|
cmp cl, 10
|
||||||
|
sbb al, al
|
||||||
|
and al, -7
|
||||||
|
add al, 55 ; 00000037H
|
||||||
|
add al, cl
|
||||||
|
mov BYTE PTR [r10], al
|
||||||
|
dec r10
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL11@u64tohex_a
|
||||||
|
; Line 23
|
||||||
|
mov BYTE PTR [r8+16], r11b
|
||||||
|
; Line 24
|
||||||
|
mov rax, rdx
|
||||||
|
; Line 25
|
||||||
|
ret 0
|
||||||
|
u64tohex_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,166 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC u64tostr_a
|
||||||
|
PUBLIC u64tostr_w
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$u64tostr_a DD imagerel $LN19
|
||||||
|
DD imagerel $LN19+123
|
||||||
|
DD imagerel $unwind$u64tostr_a
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$u64tostr_w DD imagerel $LN19
|
||||||
|
DD imagerel $LN19+161
|
||||||
|
DD imagerel $unwind$u64tostr_w
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$u64tostr_w DD 060f01H
|
||||||
|
DD 03740fH
|
||||||
|
DD 02640aH
|
||||||
|
DD 013405H
|
||||||
|
xdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$u64tostr_a DD 020501H
|
||||||
|
DD 013405H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT u64tostr_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
u64tostr_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c
|
||||||
|
; Line 26
|
||||||
|
$LN19:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
mov QWORD PTR [rsp+16], rsi
|
||||||
|
mov QWORD PTR [rsp+24], rdi
|
||||||
|
mov r10, rdx
|
||||||
|
; Line 27
|
||||||
|
mov rdx, rcx
|
||||||
|
mov r9, rcx
|
||||||
|
; Line 30
|
||||||
|
mov rsi, -3689348814741910323 ; cccccccccccccccdH
|
||||||
|
mov r8d, 1
|
||||||
|
cmp rcx, 10
|
||||||
|
jb SHORT $LN3@u64tostr_w
|
||||||
|
$LL2@u64tostr_w:
|
||||||
|
; Line 31
|
||||||
|
mov rax, rsi
|
||||||
|
; Line 32
|
||||||
|
inc r8
|
||||||
|
mul rdx
|
||||||
|
shr rdx, 3
|
||||||
|
cmp rdx, 10
|
||||||
|
jae SHORT $LL2@u64tostr_w
|
||||||
|
$LN3@u64tostr_w:
|
||||||
|
; Line 35
|
||||||
|
xor edi, edi
|
||||||
|
test r10, r10
|
||||||
|
je SHORT $LN17@u64tostr_w
|
||||||
|
; Line 38
|
||||||
|
mov r11, r8
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN5@u64tostr_w
|
||||||
|
lea rbx, QWORD PTR [r10-2]
|
||||||
|
lea rbx, QWORD PTR [rbx+r8*2]
|
||||||
|
$LL6@u64tostr_w:
|
||||||
|
; Line 39
|
||||||
|
mov rax, rsi
|
||||||
|
mul r9
|
||||||
|
shr rdx, 3
|
||||||
|
movzx eax, dx
|
||||||
|
shl ax, 2
|
||||||
|
lea ecx, DWORD PTR [rax+rdx]
|
||||||
|
add cx, cx
|
||||||
|
sub r9w, cx
|
||||||
|
add r9w, 48 ; 00000030H
|
||||||
|
mov WORD PTR [rbx], r9w
|
||||||
|
; Line 40
|
||||||
|
mov r9, rdx
|
||||||
|
lea rbx, QWORD PTR [rbx-2]
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL6@u64tostr_w
|
||||||
|
$LN5@u64tostr_w:
|
||||||
|
; Line 43
|
||||||
|
mov WORD PTR [r10+r8*2], di
|
||||||
|
$LN17@u64tostr_w:
|
||||||
|
; Line 45
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
mov rax, r8
|
||||||
|
mov rsi, QWORD PTR [rsp+16]
|
||||||
|
mov rdi, QWORD PTR [rsp+24]
|
||||||
|
ret 0
|
||||||
|
u64tostr_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT u64tostr_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
u64tostr_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c
|
||||||
|
; Line 4
|
||||||
|
$LN19:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
mov r10, rdx
|
||||||
|
; Line 5
|
||||||
|
mov rdx, rcx
|
||||||
|
mov r9, rcx
|
||||||
|
; Line 8
|
||||||
|
mov rbx, -3689348814741910323 ; cccccccccccccccdH
|
||||||
|
mov r8d, 1
|
||||||
|
cmp rcx, 10
|
||||||
|
jb SHORT $LN3@u64tostr_a
|
||||||
|
$LL2@u64tostr_a:
|
||||||
|
; Line 9
|
||||||
|
mov rax, rbx
|
||||||
|
; Line 10
|
||||||
|
inc r8
|
||||||
|
mul rdx
|
||||||
|
shr rdx, 3
|
||||||
|
cmp rdx, 10
|
||||||
|
jae SHORT $LL2@u64tostr_a
|
||||||
|
$LN3@u64tostr_a:
|
||||||
|
; Line 13
|
||||||
|
test r10, r10
|
||||||
|
je SHORT $LN17@u64tostr_a
|
||||||
|
; Line 16
|
||||||
|
mov r11, r8
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN5@u64tostr_a
|
||||||
|
$LL6@u64tostr_a:
|
||||||
|
; Line 17
|
||||||
|
mov rax, rbx
|
||||||
|
mul r9
|
||||||
|
shr rdx, 3
|
||||||
|
mov al, dl
|
||||||
|
shl al, 2
|
||||||
|
lea ecx, DWORD PTR [rax+rdx]
|
||||||
|
add cl, cl
|
||||||
|
sub r9b, cl
|
||||||
|
add r9b, 48 ; 00000030H
|
||||||
|
mov BYTE PTR [r10+r11-1], r9b
|
||||||
|
; Line 18
|
||||||
|
mov r9, rdx
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL6@u64tostr_a
|
||||||
|
$LN5@u64tostr_a:
|
||||||
|
; Line 21
|
||||||
|
mov BYTE PTR [r8+r10], 0
|
||||||
|
$LN17@u64tostr_a:
|
||||||
|
; Line 23
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
mov rax, r8
|
||||||
|
ret 0
|
||||||
|
u64tostr_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,117 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC ultohex_a
|
||||||
|
PUBLIC ultohex_w
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$ultohex_w DD imagerel $LN19
|
||||||
|
DD imagerel $LN19+93
|
||||||
|
DD imagerel $unwind$ultohex_w
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$ultohex_w DD 020501H
|
||||||
|
DD 013405H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ultohex_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
ultohex_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\ultohex.c
|
||||||
|
; Line 28
|
||||||
|
$LN19:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
; Line 32
|
||||||
|
xor ebx, ebx
|
||||||
|
mov r8, rdx
|
||||||
|
mov r9d, ecx
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN5@ultohex_w
|
||||||
|
; Line 33
|
||||||
|
lea eax, QWORD PTR [rdx+8]
|
||||||
|
jmp SHORT $LN1@ultohex_w
|
||||||
|
$LN5@ultohex_w:
|
||||||
|
; Line 35
|
||||||
|
lea r10, QWORD PTR [rdx+14]
|
||||||
|
mov edx, 8
|
||||||
|
mov r11d, edx
|
||||||
|
$LL11@ultohex_w:
|
||||||
|
; Line 36
|
||||||
|
movzx ecx, r9w
|
||||||
|
; Line 37
|
||||||
|
shr r9d, 4
|
||||||
|
and cx, 15
|
||||||
|
; Line 44
|
||||||
|
cmp cx, 10
|
||||||
|
sbb ax, ax
|
||||||
|
and ax, 65529 ; 0000fff9H
|
||||||
|
add ax, 55 ; 00000037H
|
||||||
|
add ax, cx
|
||||||
|
mov WORD PTR [r10], ax
|
||||||
|
lea r10, QWORD PTR [r10-2]
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL11@ultohex_w
|
||||||
|
; Line 47
|
||||||
|
mov WORD PTR [r8+16], bx
|
||||||
|
; Line 48
|
||||||
|
mov rax, rdx
|
||||||
|
$LN1@ultohex_w:
|
||||||
|
; Line 49
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
ret 0
|
||||||
|
ultohex_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ultohex_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
ultohex_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\ultohex.c
|
||||||
|
; Line 4
|
||||||
|
mov r8, rdx
|
||||||
|
mov r9d, ecx
|
||||||
|
; Line 8
|
||||||
|
test rdx, rdx
|
||||||
|
jne SHORT $LN5@ultohex_a
|
||||||
|
; Line 9
|
||||||
|
lea eax, QWORD PTR [rdx+8]
|
||||||
|
; Line 25
|
||||||
|
ret 0
|
||||||
|
$LN5@ultohex_a:
|
||||||
|
; Line 11
|
||||||
|
lea r10, QWORD PTR [rdx+7]
|
||||||
|
mov edx, 8
|
||||||
|
mov r11d, edx
|
||||||
|
$LL11@ultohex_a:
|
||||||
|
; Line 12
|
||||||
|
mov cl, r9b
|
||||||
|
; Line 13
|
||||||
|
shr r9d, 4
|
||||||
|
and cl, 15
|
||||||
|
; Line 20
|
||||||
|
cmp cl, 10
|
||||||
|
sbb al, al
|
||||||
|
and al, -7
|
||||||
|
add al, 55 ; 00000037H
|
||||||
|
add al, cl
|
||||||
|
mov BYTE PTR [r10], al
|
||||||
|
dec r10
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL11@ultohex_a
|
||||||
|
; Line 23
|
||||||
|
mov BYTE PTR [r8+8], r11b
|
||||||
|
; Line 24
|
||||||
|
mov rax, rdx
|
||||||
|
; Line 25
|
||||||
|
ret 0
|
||||||
|
ultohex_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
|
@ -0,0 +1,149 @@
|
||||||
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||||||
|
|
||||||
|
include listing.inc
|
||||||
|
|
||||||
|
INCLUDELIB LIBCMT
|
||||||
|
INCLUDELIB OLDNAMES
|
||||||
|
|
||||||
|
PUBLIC ultostr_a
|
||||||
|
PUBLIC ultostr_w
|
||||||
|
; COMDAT pdata
|
||||||
|
pdata SEGMENT
|
||||||
|
$pdata$ultostr_w DD imagerel $LN19
|
||||||
|
DD imagerel $LN19+139
|
||||||
|
DD imagerel $unwind$ultostr_w
|
||||||
|
pdata ENDS
|
||||||
|
; COMDAT xdata
|
||||||
|
xdata SEGMENT
|
||||||
|
$unwind$ultostr_w DD 040a01H
|
||||||
|
DD 02740aH
|
||||||
|
DD 013405H
|
||||||
|
xdata ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ultostr_w
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
ultostr_w PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\ultostr.c
|
||||||
|
; Line 26
|
||||||
|
$LN19:
|
||||||
|
mov QWORD PTR [rsp+8], rbx
|
||||||
|
mov QWORD PTR [rsp+16], rdi
|
||||||
|
mov r10, rdx
|
||||||
|
; Line 27
|
||||||
|
mov edx, ecx
|
||||||
|
mov r9d, ecx
|
||||||
|
; Line 28
|
||||||
|
mov r8d, 1
|
||||||
|
; Line 30
|
||||||
|
cmp ecx, 10
|
||||||
|
jb SHORT $LN3@ultostr_w
|
||||||
|
$LL2@ultostr_w:
|
||||||
|
; Line 31
|
||||||
|
mov eax, -858993459 ; cccccccdH
|
||||||
|
; Line 32
|
||||||
|
inc r8
|
||||||
|
mul edx
|
||||||
|
shr edx, 3
|
||||||
|
cmp edx, 10
|
||||||
|
jae SHORT $LL2@ultostr_w
|
||||||
|
$LN3@ultostr_w:
|
||||||
|
; Line 35
|
||||||
|
xor edi, edi
|
||||||
|
test r10, r10
|
||||||
|
je SHORT $LN17@ultostr_w
|
||||||
|
; Line 38
|
||||||
|
mov r11, r8
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN5@ultostr_w
|
||||||
|
lea rbx, QWORD PTR [r10-2]
|
||||||
|
lea rbx, QWORD PTR [rbx+r8*2]
|
||||||
|
$LL6@ultostr_w:
|
||||||
|
; Line 39
|
||||||
|
mov eax, -858993459 ; cccccccdH
|
||||||
|
mul r9d
|
||||||
|
shr edx, 3
|
||||||
|
movzx eax, dx
|
||||||
|
shl ax, 2
|
||||||
|
lea ecx, DWORD PTR [rax+rdx]
|
||||||
|
add cx, cx
|
||||||
|
sub r9w, cx
|
||||||
|
add r9w, 48 ; 00000030H
|
||||||
|
mov WORD PTR [rbx], r9w
|
||||||
|
; Line 40
|
||||||
|
mov r9d, edx
|
||||||
|
lea rbx, QWORD PTR [rbx-2]
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL6@ultostr_w
|
||||||
|
$LN5@ultostr_w:
|
||||||
|
; Line 43
|
||||||
|
mov WORD PTR [r10+r8*2], di
|
||||||
|
$LN17@ultostr_w:
|
||||||
|
; Line 45
|
||||||
|
mov rbx, QWORD PTR [rsp+8]
|
||||||
|
mov rax, r8
|
||||||
|
mov rdi, QWORD PTR [rsp+16]
|
||||||
|
ret 0
|
||||||
|
ultostr_w ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
; Function compile flags: /Ogspy
|
||||||
|
; COMDAT ultostr_a
|
||||||
|
_TEXT SEGMENT
|
||||||
|
x$ = 8
|
||||||
|
s$ = 16
|
||||||
|
ultostr_a PROC ; COMDAT
|
||||||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\ultostr.c
|
||||||
|
; Line 4
|
||||||
|
mov r10, rdx
|
||||||
|
; Line 5
|
||||||
|
mov edx, ecx
|
||||||
|
mov r9d, ecx
|
||||||
|
; Line 6
|
||||||
|
mov r8d, 1
|
||||||
|
; Line 8
|
||||||
|
cmp ecx, 10
|
||||||
|
jb SHORT $LN3@ultostr_a
|
||||||
|
$LL2@ultostr_a:
|
||||||
|
; Line 9
|
||||||
|
mov eax, -858993459 ; cccccccdH
|
||||||
|
; Line 10
|
||||||
|
inc r8
|
||||||
|
mul edx
|
||||||
|
shr edx, 3
|
||||||
|
cmp edx, 10
|
||||||
|
jae SHORT $LL2@ultostr_a
|
||||||
|
$LN3@ultostr_a:
|
||||||
|
; Line 13
|
||||||
|
test r10, r10
|
||||||
|
je SHORT $LN17@ultostr_a
|
||||||
|
; Line 16
|
||||||
|
mov r11, r8
|
||||||
|
test r8, r8
|
||||||
|
je SHORT $LN5@ultostr_a
|
||||||
|
$LL6@ultostr_a:
|
||||||
|
; Line 17
|
||||||
|
mov eax, -858993459 ; cccccccdH
|
||||||
|
mul r9d
|
||||||
|
shr edx, 3
|
||||||
|
mov al, dl
|
||||||
|
shl al, 2
|
||||||
|
lea ecx, DWORD PTR [rax+rdx]
|
||||||
|
add cl, cl
|
||||||
|
sub r9b, cl
|
||||||
|
add r9b, 48 ; 00000030H
|
||||||
|
mov BYTE PTR [r10+r11-1], r9b
|
||||||
|
; Line 18
|
||||||
|
mov r9d, edx
|
||||||
|
sub r11, 1
|
||||||
|
jne SHORT $LL6@ultostr_a
|
||||||
|
$LN5@ultostr_a:
|
||||||
|
; Line 21
|
||||||
|
mov BYTE PTR [r8+r10], 0
|
||||||
|
$LN17@ultostr_a:
|
||||||
|
; Line 23
|
||||||
|
mov rax, r8
|
||||||
|
ret 0
|
||||||
|
ultostr_a ENDP
|
||||||
|
_TEXT ENDS
|
||||||
|
END
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue