server-re/decomp/MessageServer_Release_x64/full/functions/0x1400d1dd0.c

53 lines
1.9 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400d1dd0 FUN_1400d1dd0
* Pseudocode, not original source. */
void FUN_1400d1dd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
int *piVar1;
short *psVar2;
int *piVar3;
longlong *plVar4;
longlong lVar5;
undefined8 uVar6;
short *psVar7;
double dVar8;
short *local_res8;
if (*(longlong *)(param_1 + 0xc0) == 0) {
*(undefined8 *)(param_1 + 0xc0) = param_2;
plVar4 = (longlong *)(*(longlong *)(param_1 + 0x198) + 0x118);
uVar6 = param_2;
dVar8 = (double)(**(code **)(*plVar4 + 8))(plVar4,param_2,param_3,param_4,0xfffffffffffffffe);
if ((dVar8 - *(double *)(param_1 + 0x5f0) < 0.3) &&
(*(longlong *)(*(longlong *)(param_1 + 0x198) + 0x17f0) != 0)) {
FUN_14006cb70(plVar4,uVar6,param_3,param_4);
local_res8 = (short *)PTR_DAT_1401ac010;
FUN_140053d20((longlong *)&local_res8,
L"**경고** 클라가 들어오자마자 바로 추방되었습니다. 의도입니까, 버그입니까?: %s"
,param_2,param_4);
psVar2 = local_res8;
psVar7 = local_res8;
if (local_res8 == (short *)0x0) {
psVar7 = (short *)PTR_DAT_1401ac010;
}
uVar6 = 0;
lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x198) + 0x17f0);
FUN_1400cb700(lVar5,0,psVar7,param_4);
if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_1401ac010)) &&
(psVar2 + -4 != (short *)0x0)) {
piVar3 = (int *)FUN_14006cb70(lVar5,uVar6,psVar7,param_4);
FUN_14006b350(piVar3);
piVar1 = (int *)(psVar2 + -2);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14006cc60(psVar2 + -4);
}
FUN_14006b3e0((longlong)piVar3);
}
}
}
return;
}