50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14016aad0 FUN_14016aad0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14016aad0(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_14004dc60(0x80070057);
|
|
}
|
|
if (param_2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x80070057);
|
|
}
|
|
if (param_3 == (void *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x80070057);
|
|
}
|
|
pvVar1 = (void *)*param_1;
|
|
if (pvVar1 == param_3) {
|
|
if (param_2 <= param_4) {
|
|
*param_1 = (longlong)param_3;
|
|
goto LAB_14016ab61;
|
|
}
|
|
pvVar1 = calloc((longlong)param_2,1);
|
|
}
|
|
else {
|
|
if (param_2 <= param_4) {
|
|
free(pvVar1);
|
|
*param_1 = (longlong)param_3;
|
|
goto LAB_14016ab61;
|
|
}
|
|
pvVar1 = _recalloc(pvVar1,(longlong)param_2,1);
|
|
if (pvVar1 == (void *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x8007000e);
|
|
}
|
|
}
|
|
*param_1 = (longlong)pvVar1;
|
|
LAB_14016ab61:
|
|
if (*param_1 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x8007000e);
|
|
}
|
|
return;
|
|
}
|
|
|