Files

324 lines
11 KiB
C

// 00065d30 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::wiostream::wiostream(std::wstreambuf*) */
void __thiscall std::wiostream::wiostream(wiostream *this,wstreambuf *param_1)
{
int iVar1;
undefined4 uVar2;
int iVar3;
wios_vftable *pwVar4;
wstreambuf *in_stack_0000000c;
iVar1 = *(int *)(param_1 + 4);
uVar2 = *(undefined4 *)(param_1 + 8);
iVar3 = *(int *)(iVar1 + -0xc);
*(int *)this = iVar1;
*(undefined4 *)(this + iVar3) = uVar2;
*(undefined4 *)(this + 4) = 0;
wios::init((wios *)(this + *(int *)(iVar1 + -0xc)),in_stack_0000000c);
iVar1 = *(int *)(param_1 + 0xc);
pwVar4 = *(wios_vftable **)(param_1 + 0x10);
*(int *)(this + 8) = iVar1;
iVar1 = *(int *)(iVar1 + -0xc);
((wios *)(this + iVar1 + 8))->vftablePtr = pwVar4;
wios::init((wios *)(this + iVar1 + 8),in_stack_0000000c);
iVar1 = *(int *)param_1;
uVar2 = *(undefined4 *)(param_1 + 0x14);
*(int *)this = iVar1;
*(undefined4 *)(this + *(int *)(iVar1 + -0xc)) = uVar2;
*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 0x18);
return;
}
// 00065dd0 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.di replaced with injection: get_pc_thunk_di */
/* std::wiostream::wiostream(std::wstreambuf*) */
void __thiscall std::wiostream::wiostream(wiostream *this,wstreambuf *param_1)
{
wios *this_00;
this_00 = (wios *)(this + 0xc);
ios_base::ios_base((ios_base *)this_00);
*(undefined4 *)(this + 0x7c) = 0;
*(undefined ***)this = wistream-in-std::wiostream::construction_vftable;
*(undefined4 *)(this + 0x80) = 0;
this[0x84] = (wiostream)0x0;
*(undefined4 *)(this + 0x88) = 0;
*(undefined4 *)(this + 0x8c) = 0;
*(undefined4 *)(this + 0x90) = 0;
*(undefined4 *)(this + 0x94) = 0;
*(undefined ***)(this + 0xc) = wistream-in-std::wiostream::internal_construction_vftable;
*(undefined4 *)(this + 4) = 0;
wios::init(this_00,param_1);
*(undefined ***)(this + 8) = wostream-in-std::wiostream::construction_vftable;
*(undefined ***)(this + 0xc) = wostream-in-std::wiostream::internal_construction_vftable;
wios::init(this_00,param_1);
*(undefined ***)this = vftable;
*(undefined ***)(this + 0xc) = internal_vftable;
*(undefined ***)(this + 8) = internal_vftable;
return;
}
// 00065ed0 std::wiostream::~wiostream
/* std::wiostream::~wiostream() */
void __thiscall std::wiostream::~wiostream(wiostream *this)
{
int iVar1;
int *in_stack_00000008;
iVar1 = *in_stack_00000008;
*(int *)this = iVar1;
*(int *)(this + *(int *)(iVar1 + -0xc)) = in_stack_00000008[5];
*(int *)(this + 8) = in_stack_00000008[6];
iVar1 = in_stack_00000008[3];
*(int *)(this + 8) = iVar1;
*(int *)(this + *(int *)(iVar1 + -0xc) + 8) = in_stack_00000008[4];
iVar1 = in_stack_00000008[1];
*(int *)this = iVar1;
*(int *)(this + *(int *)(iVar1 + -0xc)) = in_stack_00000008[2];
*(undefined4 *)(this + 4) = 0;
return;
}
// 00065f20 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::wiostream::wiostream() */
void __thiscall std::wiostream::wiostream(wiostream *this)
{
int iVar1;
int iVar2;
int iVar3;
wios_vftable *pwVar4;
int *in_stack_00000008;
iVar1 = in_stack_00000008[1];
iVar2 = in_stack_00000008[2];
iVar3 = *(int *)(iVar1 + -0xc);
*(int *)this = iVar1;
*(int *)(this + iVar3) = iVar2;
*(undefined4 *)(this + 4) = 0;
wios::init((wios *)(this + *(int *)(iVar1 + -0xc)),(wstreambuf *)0x0);
iVar1 = in_stack_00000008[3];
pwVar4 = (wios_vftable *)in_stack_00000008[4];
*(int *)(this + 8) = iVar1;
iVar1 = *(int *)(iVar1 + -0xc);
((wios *)(this + iVar1 + 8))->vftablePtr = pwVar4;
wios::init((wios *)(this + iVar1 + 8),(wstreambuf *)0x0);
iVar1 = *in_stack_00000008;
iVar2 = in_stack_00000008[5];
*(int *)this = iVar1;
*(int *)(this + *(int *)(iVar1 + -0xc)) = iVar2;
*(int *)(this + 8) = in_stack_00000008[6];
return;
}
// 00065fc0 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.di replaced with injection: get_pc_thunk_di */
/* std::wiostream::wiostream() */
void __thiscall std::wiostream::wiostream(wiostream *this)
{
wios *this_00;
this_00 = (wios *)(this + 0xc);
ios_base::ios_base((ios_base *)this_00);
*(undefined4 *)(this + 0x7c) = 0;
*(undefined ***)this = wistream-in-std::wiostream::construction_vftable;
*(undefined4 *)(this + 0x80) = 0;
this[0x84] = (wiostream)0x0;
*(undefined4 *)(this + 0x88) = 0;
*(undefined4 *)(this + 0x8c) = 0;
*(undefined4 *)(this + 0x90) = 0;
*(undefined4 *)(this + 0x94) = 0;
*(undefined ***)(this + 0xc) = wistream-in-std::wiostream::internal_construction_vftable;
*(undefined4 *)(this + 4) = 0;
wios::init(this_00,(wstreambuf *)0x0);
*(undefined ***)(this + 8) = wostream-in-std::wiostream::construction_vftable;
*(undefined ***)(this + 0xc) = wostream-in-std::wiostream::internal_construction_vftable;
wios::init(this_00,(wstreambuf *)0x0);
*(undefined ***)this = vftable;
*(undefined ***)(this + 0xc) = internal_vftable;
*(undefined ***)(this + 8) = internal_vftable;
return;
}
// 000660c0 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::wiostream::wiostream(std::wiostream&&) */
void __thiscall std::wiostream::wiostream(wiostream *this,wiostream *param_1)
{
ios_base iVar1;
int iVar2;
undefined4 uVar3;
int iVar4;
ios_base *piVar5;
wios *this_00;
int *in_stack_0000000c;
iVar2 = *(int *)(param_1 + 4);
uVar3 = *(undefined4 *)(param_1 + 8);
iVar4 = *(int *)(iVar2 + -0xc);
*(int *)this = iVar2;
*(undefined4 *)(this + iVar4) = uVar3;
*(int *)(this + 4) = in_stack_0000000c[1];
this_00 = (wios *)(this + *(int *)(iVar2 + -0xc));
piVar5 = (ios_base *)(*(int *)(*in_stack_0000000c + -0xc) + (int)in_stack_0000000c);
ios_base::_M_move((ios_base *)this_00,piVar5);
wios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0x68);
(this_00->data).offset_0xf = (wstreambuf *)0x0;
uVar3 = *(undefined4 *)(piVar5 + 0x70);
*(undefined4 *)(piVar5 + 0x70) = 0;
(this_00->data).offset_0x3 = uVar3;
iVar1 = piVar5[0x78];
(this_00->data).offset_0x7 = *(undefined4 *)(piVar5 + 0x74);
(this_00->data).offset_0xb = iVar1;
iVar2 = *(int *)(param_1 + 0xc);
in_stack_0000000c[1] = 0;
uVar3 = *(undefined4 *)(param_1 + 0x10);
*(int *)(this + 8) = iVar2;
*(undefined4 *)(this + *(int *)(iVar2 + -0xc) + 8) = uVar3;
iVar2 = *(int *)param_1;
uVar3 = *(undefined4 *)(param_1 + 0x14);
*(int *)this = iVar2;
*(undefined4 *)(this + *(int *)(iVar2 + -0xc)) = uVar3;
*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 0x18);
return;
}
// 00066170 std::wiostream::wiostream
/* WARNING: Function: __x86.get_pc_thunk.di replaced with injection: get_pc_thunk_di */
/* std::wiostream::wiostream(std::wiostream&&) */
void __thiscall std::wiostream::wiostream(wiostream *this,wiostream *param_1)
{
wios *this_00;
undefined4 uVar1;
int iVar2;
ios_base *piVar3;
this_00 = (wios *)(this + 0xc);
ios_base::ios_base((ios_base *)this_00);
*(undefined4 *)(this + 0x7c) = 0;
*(undefined ***)this = wistream-in-std::wiostream::construction_vftable;
*(undefined ***)(this + 0xc) = wistream-in-std::wiostream::internal_construction_vftable;
uVar1 = *(undefined4 *)(param_1 + 4);
*(undefined4 *)(this + 0x80) = 0;
*(undefined4 *)(this + 4) = uVar1;
iVar2 = *(int *)param_1;
this[0x84] = (wiostream)0x0;
*(undefined4 *)(this + 0x88) = 0;
iVar2 = *(int *)(iVar2 + -0xc);
*(undefined4 *)(this + 0x8c) = 0;
*(undefined4 *)(this + 0x90) = 0;
piVar3 = (ios_base *)(param_1 + iVar2);
*(undefined4 *)(this + 0x94) = 0;
ios_base::_M_move((ios_base *)this_00,piVar3);
wios::_M_cache_locale(this_00,(locale *)(this + 0x78));
*(undefined4 *)(this + 0x88) = 0;
uVar1 = *(undefined4 *)(piVar3 + 0x70);
*(undefined4 *)(piVar3 + 0x70) = 0;
*(undefined4 *)(this + 0x7c) = uVar1;
*(undefined4 *)(this + 0x80) = *(undefined4 *)(piVar3 + 0x74);
*(ios_base *)(this + 0x84) = piVar3[0x78];
*(undefined4 *)(param_1 + 4) = 0;
*(undefined ***)this = vftable;
*(undefined ***)(this + 0xc) = internal_vftable;
*(undefined ***)(this + 8) = internal_vftable;
return;
}
// 00066290 std::wiostream::operator=
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::wiostream::TEMPNAMEPLACEHOLDERVALUE(std::wiostream&&) */
wiostream * __thiscall std::wiostream::operator=(wiostream *this,wiostream *param_1)
{
undefined1 uVar1;
undefined4 uVar2;
wios *this_00;
wios *this_01;
this_01 = (wios *)(this + *(int *)(*(int *)this + -0xc));
this_00 = (wios *)(param_1 + *(int *)(*(int *)param_1 + -0xc));
ios_base::_M_swap((ios_base *)this_01,(ios_base *)this_00);
wios::_M_cache_locale(this_01,(locale *)&(this_01->data).field_0x68);
wios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0x68);
uVar2 = (this_01->data).offset_0x3;
(this_01->data).offset_0x3 = (this_00->data).offset_0x3;
(this_00->data).offset_0x3 = uVar2;
uVar2 = (this_01->data).offset_0x7;
(this_01->data).offset_0x7 = (this_00->data).offset_0x7;
uVar1 = (this_01->data).offset_0xb;
(this_00->data).offset_0x7 = uVar2;
(this_01->data).offset_0xb = (this_00->data).offset_0xb;
uVar2 = *(undefined4 *)(this + 4);
(this_00->data).offset_0xb = uVar1;
*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
*(undefined4 *)(param_1 + 4) = uVar2;
return this;
}
// 00066320 std::wiostream::swap
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::wiostream::swap(std::wiostream&) */
void __thiscall std::wiostream::swap(wiostream *this,wiostream *param_1)
{
undefined1 uVar1;
undefined4 uVar2;
wios *this_00;
wios *this_01;
this_01 = (wios *)(this + *(int *)(*(int *)this + -0xc));
this_00 = (wios *)(param_1 + *(int *)(*(int *)param_1 + -0xc));
ios_base::_M_swap((ios_base *)this_01,(ios_base *)this_00);
wios::_M_cache_locale(this_01,(locale *)&(this_01->data).field_0x68);
wios::_M_cache_locale(this_00,(locale *)&(this_00->data).field_0x68);
uVar2 = (this_01->data).offset_0x3;
(this_01->data).offset_0x3 = (this_00->data).offset_0x3;
(this_00->data).offset_0x3 = uVar2;
uVar2 = (this_01->data).offset_0x7;
(this_01->data).offset_0x7 = (this_00->data).offset_0x7;
uVar1 = (this_01->data).offset_0xb;
(this_00->data).offset_0x7 = uVar2;
(this_01->data).offset_0xb = (this_00->data).offset_0xb;
uVar2 = *(undefined4 *)(this + 4);
(this_00->data).offset_0xb = uVar1;
*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
*(undefined4 *)(param_1 + 4) = uVar2;
return;
}