68 lines
2.2 KiB
C
68 lines
2.2 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d8630 FUN_1400d8630
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
uint FUN_1400d8630(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
char cVar1;
|
|
int iVar2;
|
|
uint uVar3;
|
|
ulonglong uVar4;
|
|
double dVar5;
|
|
undefined8 uVar6;
|
|
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_1401ac5a0 ^ (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')) {
|
|
dVar5 = (double)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))();
|
|
uVar4 = FUN_1400d8360((longlong)param_1,dVar5);
|
|
iVar2 = (int)uVar4;
|
|
if (0 < iVar2) {
|
|
*param_1 = '\x01';
|
|
local_678 = (void *)0x0;
|
|
local_660 = 0;
|
|
local_670 = 0;
|
|
local_668 = 100;
|
|
uVar4 = uVar4 & 0xffffffff;
|
|
FUN_1400db230((longlong)(param_1 + 0x48),(longlong *)&local_678,iVar2);
|
|
uVar3 = FUN_140073300(*(longlong *)(param_1 + 0x110),(longlong *)&local_678,uVar4,param_4);
|
|
FUN_1400f94b0((longlong)(param_1 + 0x90),iVar2);
|
|
uVar6 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))();
|
|
*(double *)(param_1 + 0xb0) = (double)iVar2 + *(double *)(param_1 + 0xb0);
|
|
*(undefined8 *)(param_1 + 0xc0) = uVar6;
|
|
if (uVar3 == 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 uVar3;
|
|
}
|
|
operator_delete__(local_678);
|
|
return uVar3;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|