313 lines
9.8 KiB
C
313 lines
9.8 KiB
C
// 0015b080 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream(std::streambuf*) */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this,streambuf *param_1)
|
|
|
|
{
|
|
long lVar1;
|
|
undefined8 uVar2;
|
|
long lVar3;
|
|
streambuf *in_RDX;
|
|
|
|
lVar1 = *(long *)(param_1 + 8);
|
|
uVar2 = *(undefined8 *)(param_1 + 0x10);
|
|
lVar3 = *(long *)(lVar1 + -0x18);
|
|
*(long *)this = lVar1;
|
|
*(undefined8 *)(this + lVar3) = uVar2;
|
|
*(undefined8 *)(this + 8) = 0;
|
|
ios::init((ios *)(this + *(long *)(lVar1 + -0x18)),in_RDX);
|
|
lVar1 = *(long *)(param_1 + 0x18);
|
|
*(long *)(this + 0x10) = lVar1;
|
|
lVar1 = *(long *)(lVar1 + -0x18);
|
|
((ios *)(this + lVar1 + 0x10))->vftablePtr = *(ios_vftable **)(param_1 + 0x20);
|
|
ios::init((ios *)(this + lVar1 + 0x10),in_RDX);
|
|
lVar1 = *(long *)param_1;
|
|
uVar2 = *(undefined8 *)(param_1 + 0x28);
|
|
*(long *)this = lVar1;
|
|
*(undefined8 *)(this + *(long *)(lVar1 + -0x18)) = uVar2;
|
|
*(undefined8 *)(this + 0x10) = *(undefined8 *)(param_1 + 0x30);
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b120 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream(std::streambuf*) */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this,streambuf *param_1)
|
|
|
|
{
|
|
ios *this_00;
|
|
|
|
this_00 = (ios *)(this + 0x18);
|
|
ios_base::ios_base((ios_base *)this_00);
|
|
*(undefined ***)this = istream-in-std::iostream::construction_vftable;
|
|
*(undefined2 *)(this + 0xf8) = 0;
|
|
*(undefined8 *)(this + 0xf0) = 0;
|
|
*(undefined8 *)(this + 0x100) = 0;
|
|
*(undefined8 *)(this + 0x108) = 0;
|
|
*(undefined8 *)(this + 0x110) = 0;
|
|
*(undefined8 *)(this + 0x118) = 0;
|
|
*(undefined ***)(this + 0x18) = istream-in-std::iostream::internal_construction_vftable;
|
|
*(undefined8 *)(this + 8) = 0;
|
|
ios::init(this_00,param_1);
|
|
*(undefined ***)(this + 0x10) = ostream-in-std::iostream::construction_vftable;
|
|
*(undefined ***)(this + 0x18) = ostream-in-std::iostream::internal_construction_vftable;
|
|
ios::init(this_00,param_1);
|
|
*(undefined ***)this = vftable;
|
|
*(undefined ***)(this + 0x18) = internal_vftable;
|
|
*(undefined ***)(this + 0x10) = internal_vftable;
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b220 std::iostream::~iostream
|
|
|
|
/* std::iostream::~iostream() */
|
|
|
|
void __thiscall std::iostream::~iostream(iostream *this)
|
|
|
|
{
|
|
long lVar1;
|
|
long *in_RSI;
|
|
|
|
lVar1 = *in_RSI;
|
|
*(long *)this = lVar1;
|
|
*(long *)(this + *(long *)(lVar1 + -0x18)) = in_RSI[5];
|
|
*(long *)(this + 0x10) = in_RSI[6];
|
|
lVar1 = in_RSI[3];
|
|
*(long *)(this + 0x10) = lVar1;
|
|
*(long *)(this + *(long *)(lVar1 + -0x18) + 0x10) = in_RSI[4];
|
|
lVar1 = in_RSI[1];
|
|
*(long *)this = lVar1;
|
|
*(long *)(this + *(long *)(lVar1 + -0x18)) = in_RSI[2];
|
|
*(undefined8 *)(this + 8) = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b270 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream() */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this)
|
|
|
|
{
|
|
long lVar1;
|
|
long lVar2;
|
|
long lVar3;
|
|
long *in_RSI;
|
|
|
|
lVar1 = in_RSI[1];
|
|
lVar2 = in_RSI[2];
|
|
lVar3 = *(long *)(lVar1 + -0x18);
|
|
*(long *)this = lVar1;
|
|
*(long *)(this + lVar3) = lVar2;
|
|
*(undefined8 *)(this + 8) = 0;
|
|
ios::init((ios *)(this + *(long *)(lVar1 + -0x18)),(streambuf *)0x0);
|
|
lVar1 = in_RSI[3];
|
|
*(long *)(this + 0x10) = lVar1;
|
|
lVar1 = *(long *)(lVar1 + -0x18);
|
|
((ios *)(this + lVar1 + 0x10))->vftablePtr = (ios_vftable *)in_RSI[4];
|
|
ios::init((ios *)(this + lVar1 + 0x10),(streambuf *)0x0);
|
|
lVar1 = *in_RSI;
|
|
lVar2 = in_RSI[5];
|
|
*(long *)this = lVar1;
|
|
*(long *)(this + *(long *)(lVar1 + -0x18)) = lVar2;
|
|
*(long *)(this + 0x10) = in_RSI[6];
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b310 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream() */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this)
|
|
|
|
{
|
|
ios *this_00;
|
|
|
|
this_00 = (ios *)(this + 0x18);
|
|
ios_base::ios_base((ios_base *)this_00);
|
|
*(undefined ***)this = istream-in-std::iostream::construction_vftable;
|
|
*(undefined2 *)(this + 0xf8) = 0;
|
|
*(undefined8 *)(this + 0xf0) = 0;
|
|
*(undefined8 *)(this + 0x100) = 0;
|
|
*(undefined8 *)(this + 0x108) = 0;
|
|
*(undefined8 *)(this + 0x110) = 0;
|
|
*(undefined8 *)(this + 0x118) = 0;
|
|
*(undefined ***)(this + 0x18) = istream-in-std::iostream::internal_construction_vftable;
|
|
*(undefined8 *)(this + 8) = 0;
|
|
ios::init(this_00,(streambuf *)0x0);
|
|
*(undefined ***)(this + 0x10) = ostream-in-std::iostream::construction_vftable;
|
|
*(undefined ***)(this + 0x18) = ostream-in-std::iostream::internal_construction_vftable;
|
|
ios::init(this_00,(streambuf *)0x0);
|
|
*(undefined ***)this = vftable;
|
|
*(undefined ***)(this + 0x18) = internal_vftable;
|
|
*(undefined ***)(this + 0x10) = internal_vftable;
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b400 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream(std::iostream&&) */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this,iostream *param_1)
|
|
|
|
{
|
|
long lVar1;
|
|
undefined8 uVar2;
|
|
long lVar3;
|
|
long *in_RDX;
|
|
ios *this_00;
|
|
ios_base *piVar4;
|
|
|
|
lVar1 = *(long *)(param_1 + 8);
|
|
uVar2 = *(undefined8 *)(param_1 + 0x10);
|
|
lVar3 = *(long *)(lVar1 + -0x18);
|
|
*(long *)this = lVar1;
|
|
*(undefined8 *)(this + lVar3) = uVar2;
|
|
*(long *)(this + 8) = in_RDX[1];
|
|
this_00 = (ios *)(this + *(long *)(lVar1 + -0x18));
|
|
piVar4 = (ios_base *)(*(long *)(*in_RDX + -0x18) + (long)in_RDX);
|
|
ios_base::_M_move((ios_base *)this_00,piVar4);
|
|
ios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0xc8);
|
|
uVar2 = *(undefined8 *)(piVar4 + 0xd8);
|
|
(this_00->data).offset_0x17 = (streambuf *)0x0;
|
|
*(undefined8 *)(piVar4 + 0xd8) = 0;
|
|
(this_00->data).offset_0x7 = uVar2;
|
|
(this_00->data).offset_0xf = *(undefined2 *)(piVar4 + 0xe0);
|
|
lVar1 = *(long *)(param_1 + 0x18);
|
|
in_RDX[1] = 0;
|
|
uVar2 = *(undefined8 *)(param_1 + 0x20);
|
|
*(long *)(this + 0x10) = lVar1;
|
|
*(undefined8 *)(this + *(long *)(lVar1 + -0x18) + 0x10) = uVar2;
|
|
lVar1 = *(long *)param_1;
|
|
uVar2 = *(undefined8 *)(param_1 + 0x28);
|
|
*(long *)this = lVar1;
|
|
*(undefined8 *)(this + *(long *)(lVar1 + -0x18)) = uVar2;
|
|
*(undefined8 *)(this + 0x10) = *(undefined8 *)(param_1 + 0x30);
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b4d0 std::iostream::iostream
|
|
|
|
/* std::iostream::iostream(std::iostream&&) */
|
|
|
|
void __thiscall std::iostream::iostream(iostream *this,iostream *param_1)
|
|
|
|
{
|
|
ios *this_00;
|
|
undefined8 uVar1;
|
|
long lVar2;
|
|
ios_base *piVar3;
|
|
|
|
this_00 = (ios *)(this + 0x18);
|
|
ios_base::ios_base((ios_base *)this_00);
|
|
*(undefined8 *)(this + 0xf0) = 0;
|
|
*(undefined2 *)(this + 0xf8) = 0;
|
|
*(undefined ***)this = istream-in-std::iostream::construction_vftable;
|
|
*(undefined ***)(this + 0x18) = istream-in-std::iostream::internal_construction_vftable;
|
|
uVar1 = *(undefined8 *)(param_1 + 8);
|
|
*(undefined8 *)(this + 0x100) = 0;
|
|
*(undefined8 *)(this + 8) = uVar1;
|
|
lVar2 = *(long *)param_1;
|
|
*(undefined8 *)(this + 0x108) = 0;
|
|
*(undefined8 *)(this + 0x110) = 0;
|
|
lVar2 = *(long *)(lVar2 + -0x18);
|
|
*(undefined8 *)(this + 0x118) = 0;
|
|
piVar3 = (ios_base *)(param_1 + lVar2);
|
|
ios_base::_M_move((ios_base *)this_00,piVar3);
|
|
ios::_M_cache_locale(this_00,(locale *)(this + 0xe8));
|
|
uVar1 = *(undefined8 *)(piVar3 + 0xd8);
|
|
*(undefined8 *)(this + 0x100) = 0;
|
|
*(undefined8 *)(piVar3 + 0xd8) = 0;
|
|
*(undefined8 *)(this + 0xf0) = uVar1;
|
|
*(undefined2 *)(this + 0xf8) = *(undefined2 *)(piVar3 + 0xe0);
|
|
*(undefined8 *)(param_1 + 8) = 0;
|
|
*(undefined ***)this = vftable;
|
|
*(undefined ***)(this + 0x18) = internal_vftable;
|
|
*(undefined ***)(this + 0x10) = internal_vftable;
|
|
return;
|
|
}
|
|
|
|
|
|
// 0015b600 std::iostream::operator=
|
|
|
|
/* std::iostream::TEMPNAMEPLACEHOLDERVALUE(std::iostream&&) */
|
|
|
|
iostream * __thiscall std::iostream::operator=(iostream *this,iostream *param_1)
|
|
|
|
{
|
|
undefined1 uVar1;
|
|
undefined1 uVar2;
|
|
undefined8 uVar3;
|
|
undefined8 uVar4;
|
|
ios *this_00;
|
|
ios *this_01;
|
|
|
|
this_01 = (ios *)(this + *(long *)(*(long *)this + -0x18));
|
|
this_00 = (ios *)(param_1 + *(long *)(*(long *)param_1 + -0x18));
|
|
ios_base::_M_swap((ios_base *)this_01,(ios_base *)this_00);
|
|
ios::_M_cache_locale(this_01,(locale *)&(this_01->data).field_0xc8);
|
|
ios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0xc8);
|
|
uVar3 = (this_01->data).offset_0x7;
|
|
(this_01->data).offset_0x7 = (this_00->data).offset_0x7;
|
|
(this_00->data).offset_0x7 = uVar3;
|
|
uVar1 = *(undefined1 *)&(this_01->data).offset_0xf;
|
|
*(undefined1 *)&(this_01->data).offset_0xf = *(undefined1 *)&(this_00->data).offset_0xf;
|
|
uVar2 = *(undefined1 *)((long)&(this_00->data).offset_0xf + 1);
|
|
*(undefined1 *)&(this_00->data).offset_0xf = uVar1;
|
|
uVar1 = *(undefined1 *)((long)&(this_01->data).offset_0xf + 1);
|
|
*(undefined1 *)((long)&(this_01->data).offset_0xf + 1) = uVar2;
|
|
uVar3 = *(undefined8 *)(param_1 + 8);
|
|
*(undefined1 *)((long)&(this_00->data).offset_0xf + 1) = uVar1;
|
|
uVar4 = *(undefined8 *)(this + 8);
|
|
*(undefined8 *)(this + 8) = uVar3;
|
|
*(undefined8 *)(param_1 + 8) = uVar4;
|
|
return this;
|
|
}
|
|
|
|
|
|
// 0015b6c0 std::iostream::swap
|
|
|
|
/* std::iostream::swap(std::iostream&) */
|
|
|
|
void __thiscall std::iostream::swap(iostream *this,iostream *param_1)
|
|
|
|
{
|
|
undefined1 uVar1;
|
|
undefined1 uVar2;
|
|
undefined8 uVar3;
|
|
undefined8 uVar4;
|
|
ios *this_00;
|
|
ios *this_01;
|
|
|
|
this_01 = (ios *)(this + *(long *)(*(long *)this + -0x18));
|
|
this_00 = (ios *)(param_1 + *(long *)(*(long *)param_1 + -0x18));
|
|
ios_base::_M_swap((ios_base *)this_01,(ios_base *)this_00);
|
|
ios::_M_cache_locale(this_01,(locale *)&(this_01->data).field_0xc8);
|
|
ios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0xc8);
|
|
uVar3 = (this_01->data).offset_0x7;
|
|
(this_01->data).offset_0x7 = (this_00->data).offset_0x7;
|
|
(this_00->data).offset_0x7 = uVar3;
|
|
uVar1 = *(undefined1 *)&(this_01->data).offset_0xf;
|
|
*(undefined1 *)&(this_01->data).offset_0xf = *(undefined1 *)&(this_00->data).offset_0xf;
|
|
uVar2 = *(undefined1 *)((long)&(this_00->data).offset_0xf + 1);
|
|
*(undefined1 *)&(this_00->data).offset_0xf = uVar1;
|
|
uVar1 = *(undefined1 *)((long)&(this_01->data).offset_0xf + 1);
|
|
*(undefined1 *)((long)&(this_01->data).offset_0xf + 1) = uVar2;
|
|
uVar3 = *(undefined8 *)(param_1 + 8);
|
|
*(undefined1 *)((long)&(this_00->data).offset_0xf + 1) = uVar1;
|
|
uVar4 = *(undefined8 *)(this + 8);
|
|
*(undefined8 *)(this + 8) = uVar3;
|
|
*(undefined8 *)(param_1 + 8) = uVar4;
|
|
return;
|
|
}
|
|
|
|
|