解读 CopyFileContents
来源:互联网 发布:欧几里得算法定理 编辑:程序博客网 时间:2024/06/05 10:10
解读CopyFileContents
//----- (100F1216)--------------------------------------------------------
int __fastcall CopyFileContents(inta1,int a2, int a3, int a4)
{
v38 =C00000E5;
v4 =a3;
v5 =a2;
if (a3 )
{
if (a4 )
{
v29 =0;
v30 =0;
v31 =0;
v37 =0i64;
v38 =0;
if (!a2)
{
Windows::Auto<Windows::Rtl::SystemImplementation::DirectFileSystemProvider*>::Allocate(&v38);
v5 =v38;
v4 =a3;
}
v8 =*(_DWORD*)v5;
v9 =v4;
// SysQueryInformationFile
v6 =(*(int(__thiscall**)(int,int, char *, char *,signed int,signed int))(v8+48))(
v5,
v9,
&v35,
&v32,
24,
5);
if (v6 >=0)
{
v34 =v33;
v10 =*(_DWORD*)v5;
// SysSetInformationFile
v6 =(*(int(__thiscall**)(int, _DWORD,int, char *, __int64 *,signed int, signed int, _DWORD))(v10+ 52))(
v5,
0,
a4,
&v35,
(__int64*)&v34,
8,
20,
0);
if ( v6 >=0 )
{
v27 =HIDWORD(v33);
HIDWORD(v11)= v33;
v12 =0x400000;
if ( v33 <=0x400000)
v12 = v33;
v6 =RtlAllocateLBlob(v12,(int)&v29);
if ( v6 >=0)
{
LODWORD(v11)= v27;
if ( !__PAIR__(HIDWORD(v11), v27))
{
LABEL_22:
Windows::Auto<Windows::Rtl::SystemImplementation::DirectFileSystemProvider*>::~Auto<Windows::Rtl::SystemImplementation::DirectFileSystemProvider*>(&v38);
Windows::Rtl::AutoBlob<Windows::Auto<_LBLOB>>::Close((int)&v29);
return 0;
}
HIDWORD(v13)= 0;
while ( 1 )
{
LODWORD(v13)= (unsignedint)v11>HIDWORD(v13)
||(unsignedint)v11>=HIDWORD(v13)&& HIDWORD(v11)>= v30 ?v30 : HIDWORD(v11);
v14 =*(_DWORD*)v5;
v15 = HIDWORD(v13);
v16 = HIDWORD(v13);
v17 = v13;
v18 = v31;
v19 = HIDWORD(v13);
v20=HIDWORD(v13);
v21 = HIDWORD(v13);
v22 = HIDWORD(v13);
// SysReadFile
v6 =(*(int(__thiscall**)(int,int, int, int, int,int,char *, constchar *, int, __int64*,int, int))(v14+ 40))(
v5,
v22,
a3,
v21,
v20,
v19,
&v35,
v18,
v17,
&v37,
v16,
v15);
if ( v6 <0)
break;
v23 =*(_DWORD*)v5;
v24 = v36;
v25 = v31;
// SysWriteFile
v6 =(*(int(__thiscall**)(int, _DWORD,int, _DWORD, _DWORD,_DWORD, char *, const char*,unsigned int, __int64*, _DWORD, _DWORD))(v23+ 44))(
v5,
0,
a4,
0,
0,
0,
&v35,
v25,
v24,
&v37,
0,
0);
if ( v6 <0)
break;
LODWORD(v11)= (__PAIR__(v27, HIDWORD(v11))- v36)>>32;
HIDWORD(v11)-= v36;
v13 = HIDWORD(v11);
v27 = v11;
v37 += v36;
if ( !v11)
goto LABEL_22;
}
}
}
}
Windows::Auto<Windows::Rtl::SystemImplementation::DirectFileSystemProvider*>::~Auto<Windows::Rtl::SystemImplementation::DirectFileSystemProvider*>(&v38);
Windows::Rtl::AutoBlob<Windows::Auto<_LBLOB>>::Close((int)&v29);
}
else
{
Windows::ErrorHandling::Rtl::CBaseFrame<Windows::ErrorHandling::Rtl::CVoidRaiseFrame>::SetInvalidParameter_NullPointer(&v38);
v28 ="base\\wcp\\sil\\merged\\ntu\\ntsystem.cpp";
v29 =(int)"Windows::Rtl::SystemImplementation::CopyFileContents";
v30 =4806;
v31 ="Not-null check failed: Target";
Windows::ErrorHandling::Rtl::CBaseFrame<Windows::ErrorHandling::Rtl::CVoidRaiseFrame>::ReportErrorOrigination(
v7,
(int)&v28);
v6 =v38;
}
}
else
{
v6 =0;
}
return v6;
}
- 解读 CopyFileContents
- 解读
- 解读数据?解读“人”!
- 解读数据?解读“人”!
- 解读P2P
- 解读深圳
- 解读睡眠
- Makefile解读
- Irda解读
- 解读防火墙
- sizeof解读
- 解读防火墙
- 解读防火墙
- 解读Makefile
- 事务解读
- Makefile解读
- 解读NTFS
- 解读CMVision
- 开发工具eclipse优化JVM参数eclipse.ini文件配置
- html文档元素
- 北航计算机机试13真分数约分
- 移动端html的overflow:hidden属性失效问题
- 1
- 解读 CopyFileContents
- Spring Session + Redis实现分布式Session共享
- 自己安装虚拟机vbox+ubuntu16.04+opencv3.2.0+python2.7+caffe+CPUonly的全过程整理
- 2
- 红帽Linux命令符
- document.form1(<form name="form1">).(可以根据id=“” 和name=" ").value得到值
- Redis使用详解之数据类型
- hibernater 效率提升问题
- yii2安装AdminLTE Asset Bundle后台主题模板