50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14006b4a0 FUN_14006b4a0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14006b4a0(longlong *param_1,int param_2,void *param_3,int param_4)
|
|
|
|
{
|
|
void *pvVar1;
|
|
|
|
if (param_1 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x80070057);
|
|
}
|
|
if (param_2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x80070057);
|
|
}
|
|
if (param_3 == (void *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x80070057);
|
|
}
|
|
pvVar1 = (void *)*param_1;
|
|
if (pvVar1 == param_3) {
|
|
if (param_2 <= param_4) {
|
|
*param_1 = (longlong)param_3;
|
|
goto LAB_14006b531;
|
|
}
|
|
pvVar1 = calloc((longlong)param_2,1);
|
|
}
|
|
else {
|
|
if (param_2 <= param_4) {
|
|
free(pvVar1);
|
|
*param_1 = (longlong)param_3;
|
|
goto LAB_14006b531;
|
|
}
|
|
pvVar1 = _recalloc(pvVar1,(longlong)param_2,1);
|
|
if (pvVar1 == (void *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x8007000e);
|
|
}
|
|
}
|
|
*param_1 = (longlong)pvVar1;
|
|
LAB_14006b531:
|
|
if (*param_1 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x8007000e);
|
|
}
|
|
return;
|
|
}
|
|
|