server-re/decomp/DBCServer_Release_x64/full/functions/0x1401ba6e0.c

64 lines
2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401ba6e0 FUN_1401ba6e0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
int FUN_1401ba6e0(char *param_1)
{
char cVar1;
int iVar2;
int iVar3;
undefined8 uVar4;
undefined1 auStack_6a8 [32];
undefined8 local_688;
void *local_678;
undefined8 local_670;
ulonglong local_668;
undefined8 local_660;
ulonglong local_18;
local_688 = 0xfffffffffffffffe;
local_18 = DAT_1403463c0 ^ (ulonglong)auStack_6a8;
(**(code **)(**(longlong **)(param_1 + 0x108) + 8))();
(**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))();
if (((*(char *)(*(longlong *)(param_1 + 0x110) + 0x80) == '\0') && (*param_1 == '\0')) &&
(cVar1 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x28))(), cVar1 == '\0')) {
uVar4 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))();
iVar2 = FUN_1401ba410(param_1,uVar4);
if (0 < iVar2) {
*param_1 = '\x01';
local_678 = (void *)0x0;
local_660 = 0;
local_670 = 0;
local_668 = 100;
FUN_1401bf080(param_1 + 0x48,&local_678,iVar2);
iVar3 = FUN_14019d910(*(undefined8 *)(param_1 + 0x110),&local_678);
FUN_1401e25f0(param_1 + 0x90,iVar2);
uVar4 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))();
*(double *)(param_1 + 0xb0) = (double)iVar2 + *(double *)(param_1 + 0xb0);
*(undefined8 *)(param_1 + 0xc0) = uVar4;
if (iVar3 == 0) {
param_1[0x120] = '\0';
param_1[0x121] = '\0';
param_1[0x122] = '\0';
param_1[0x123] = '\0';
param_1[0x124] = '\0';
param_1[0x125] = '\0';
param_1[0x126] = '\0';
param_1[0x127] = '\0';
}
else {
*param_1 = '\0';
}
if (local_668 < 0x65) {
return iVar3;
}
operator_delete__(local_678);
return iVar3;
}
}
return 0;
}