Files

579 lines
12 KiB
C

// 00116006 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x0011601a) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0011637c std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00116390) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00116864 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00116878) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00117ac4 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00117ad8) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0011876c std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00118780) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00119caa std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00119cbe) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0011a840 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x0011a854) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0011b660 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x0011b680) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0011c280 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x0011c2a0) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 0013f9e0 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x0013fa00) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00140730 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00140750) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00162c50 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00162c70) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00186a90 std::string::_Rep::_S_empty_rep
/* std::string::_Rep::_S_empty_rep() */
undefined8 * std::string::_Rep::_S_empty_rep(void)
{
return &_S_empty_rep_storage;
}
// 00186aa0 std::string::_Rep::_M_is_leaked
/* std::string::_Rep::_M_is_leaked() const */
uint __thiscall std::string::_Rep::_M_is_leaked(_Rep *this)
{
return *(uint *)(this + 0x10) >> 0x1f;
}
// 00186ab0 std::string::_Rep::_M_is_shared
/* std::string::_Rep::_M_is_shared() const */
undefined4 __thiscall std::string::_Rep::_M_is_shared(_Rep *this)
{
return CONCAT31((int3)((uint)*(int *)(this + 0x10) >> 8),0 < *(int *)(this + 0x10));
}
// 00186ac0 std::string::_Rep::_M_set_leaked
/* std::string::_Rep::_M_set_leaked() */
void __thiscall std::string::_Rep::_M_set_leaked(_Rep *this)
{
*(undefined4 *)(this + 0x10) = 0xffffffff;
return;
}
// 00186ad0 std::string::_Rep::_M_set_sharable
/* std::string::_Rep::_M_set_sharable() */
void __thiscall std::string::_Rep::_M_set_sharable(_Rep *this)
{
*(undefined4 *)(this + 0x10) = 0;
return;
}
// 00186ae0 std::string::_Rep::_M_set_length_and_sharable
/* std::string::_Rep::_M_set_length_and_sharable(unsigned long) */
void __thiscall std::string::_Rep::_M_set_length_and_sharable(_Rep *this,ulong param_1)
{
if (this == (_Rep *)&_S_empty_rep_storage) {
return;
}
*(undefined4 *)(this + 0x10) = 0;
*(ulong *)this = param_1;
this[param_1 + 0x18] = (_Rep)0x0;
return;
}
// 00186b00 std::string::_Rep::_M_refdata
/* std::string::_Rep::_M_refdata() */
_Rep * __thiscall std::string::_Rep::_M_refdata(_Rep *this)
{
return this + 0x18;
}
// 00186b10 std::string::_Rep::_S_create
/* std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) */
void std::string::_Rep::_S_create(ulong param_1,ulong param_2,allocator *param_3)
{
void *pvVar1;
bad_alloc *this;
if (0x3ffffffffffffff9 < param_1) {
/* WARNING: Subroutine does not return */
__throw_length_error("basic_string::_S_create");
}
if (param_2 < param_1) {
if (param_1 < param_2 * 2) {
param_1 = param_2 * 2;
}
if ((param_1 + 0x39 < 0x1001) || (param_1 <= param_2)) {
this = (bad_alloc *)(param_1 + 0x19);
if ((long)this < 0) {
/* WARNING: Subroutine does not return */
bad_alloc::~bad_alloc(this);
}
}
else {
param_1 = (param_1 + 0x1000) - (ulong)((uint)(param_1 + 0x39) & 0xfff);
if (0x3ffffffffffffff9 < param_1) {
param_1 = 0x3ffffffffffffff9;
}
this = (bad_alloc *)(param_1 + 0x19);
}
}
else {
this = (bad_alloc *)(param_1 + 0x19);
}
pvVar1 = operator_new((ulong)this);
*(ulong *)((long)pvVar1 + 8) = param_1;
*(undefined4 *)((long)pvVar1 + 0x10) = 0;
return;
}
// 00186d00 std::string::_Rep::_M_destroy
/* std::string::_Rep::_M_destroy(std::allocator<char> const&) */
void std::string::_Rep::_M_destroy(allocator *param_1)
{
free(param_1);
return;
}
// 00186d10 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00186d30) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}
// 00186d50 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x00186d80) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
if (param_1 != (allocator *)&_S_empty_rep_storage) {
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (iVar2 < 1) {
_M_destroy(param_1);
return;
}
}
return;
}
// 001879c0 std::string::_Rep::_M_refcopy
/* WARNING: Removing unreachable block (ram,0x001879e8) */
/* std::string::_Rep::_M_refcopy() */
_Rep * __thiscall std::string::_Rep::_M_refcopy(_Rep *this)
{
if (this != (_Rep *)&_S_empty_rep_storage) {
LOCK();
*(int *)(this + 0x10) = *(int *)(this + 0x10) + 1;
UNLOCK();
}
return this + 0x18;
}
// 001879f0 std::string::_Rep::_M_clone
/* std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long) */
long * __thiscall std::string::_Rep::_M_clone(_Rep *this,allocator *param_1,ulong param_2)
{
size_t __n;
long lVar1;
long *plVar2;
long *__dest;
plVar2 = (long *)_S_create(*(long *)this + param_2,*(ulong *)(this + 8),param_1);
__n = *(size_t *)this;
__dest = plVar2 + 3;
lVar1 = 0;
if (__n != 0) {
if (__n == 1) {
*(_Rep *)(plVar2 + 3) = this[0x18];
lVar1 = *(long *)this;
}
else {
__dest = memcpy(__dest,this + 0x18,__n);
lVar1 = *(long *)this;
}
}
if (plVar2 != &_S_empty_rep_storage) {
*(undefined4 *)(plVar2 + 2) = 0;
*plVar2 = lVar1;
*(undefined1 *)((long)plVar2 + lVar1 + 0x18) = 0;
return __dest;
}
return __dest;
}
// 00188060 std::string::_Rep::_M_grab
/* WARNING: Removing unreachable block (ram,0x001880a0) */
/* std::string::_Rep::_M_grab(std::allocator<char> const&, std::allocator<char> const&) */
allocator * std::string::_Rep::_M_grab(allocator *param_1,allocator *param_2)
{
allocator *paVar1;
if (*(int *)(param_1 + 0x10) < 0) {
paVar1 = (allocator *)_M_clone((_Rep *)param_1,param_2,0);
return paVar1;
}
if (param_1 != (allocator *)&_S_empty_rep_storage) {
LOCK();
*(int *)(param_1 + 0x10) = *(int *)(param_1 + 0x10) + 1;
UNLOCK();
}
return param_1 + 0x18;
}
// 00189690 std::string::_Rep::_M_dispose
/* WARNING: Removing unreachable block (ram,0x001896b0) */
/* std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] */
void std::string::_Rep::_M_dispose(allocator *param_1)
{
allocator *paVar1;
int iVar2;
LOCK();
paVar1 = param_1 + 0x10;
iVar2 = *(int *)paVar1;
*(int *)paVar1 = *(int *)paVar1 + -1;
UNLOCK();
if (0 < iVar2) {
return;
}
_M_destroy(param_1);
return;
}