63 lines
2.1 KiB
C
63 lines
2.1 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400fc360 FUN_1400fc360
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_1400fc360(void *param_1,uint param_2,undefined1 *param_3,uint *param_4,byte *param_5,
|
|
undefined4 param_6,ulonglong param_7,uint param_8,uint param_9,int param_10,
|
|
longlong param_11)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
int iVar3;
|
|
ulonglong uVar4;
|
|
uint local_res8 [2];
|
|
uint local_res10;
|
|
undefined8 in_stack_ffffffffffffff98;
|
|
undefined4 uVar6;
|
|
ulonglong uVar5;
|
|
|
|
uVar6 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20);
|
|
if (((param_1 != (void *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) {
|
|
if (param_11 != 0) {
|
|
if ((param_10 == 1) || (param_10 == 2)) {
|
|
local_res10 = param_2;
|
|
uVar4 = FUN_1401034e0(param_8);
|
|
if (((int)uVar4 == 0) &&
|
|
((param_10 != 2 || (uVar4 = FUN_140109370(param_9), (int)uVar4 == 0)))) {
|
|
uVar1 = (*DAT_1401bd668)(*(undefined8 *)(param_11 + 0x18));
|
|
uVar2 = (*DAT_1401bd690)(*(undefined8 *)(param_11 + 0x18));
|
|
local_res8[0] = *param_4;
|
|
if (local_res8[0] < uVar2) {
|
|
*param_4 = uVar2;
|
|
uVar4 = 6;
|
|
}
|
|
else {
|
|
if (param_10 == 2) {
|
|
uVar5 = CONCAT44(uVar6,uVar1);
|
|
uVar4 = FUN_140108fe0(param_1,local_res10,param_5,param_6,uVar1,param_7,param_8,
|
|
param_9,param_3,local_res8);
|
|
iVar3 = (int)uVar4;
|
|
}
|
|
else {
|
|
uVar4 = FUN_140108e10(param_1,local_res10,2,uVar1,param_7,param_8,param_3,local_res8);
|
|
iVar3 = (int)uVar4;
|
|
uVar5 = param_7;
|
|
}
|
|
if (iVar3 == 0) {
|
|
uVar4 = (*DAT_1401bd780)(param_3,local_res8[0],param_3,param_4,
|
|
uVar5 & 0xffffffff00000000,param_11);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
uVar4 = 0x18;
|
|
}
|
|
return uVar4;
|
|
}
|
|
return 0x10;
|
|
}
|
|
return 0x10;
|
|
}
|
|
|