59 lines
1.8 KiB
C
59 lines
1.8 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x140006c70 FUN_140006c70
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_140006c70(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
int *piVar1;
|
|
uint *puVar2;
|
|
longlong *plVar3;
|
|
int *piVar4;
|
|
uint *puVar5;
|
|
wchar_t *pwVar6;
|
|
ulonglong uVar7;
|
|
undefined *puVar8;
|
|
uint uVar9;
|
|
undefined *local_res8;
|
|
|
|
puVar2 = operator_new(0x30);
|
|
if (puVar2 != (uint *)0x0) {
|
|
*puVar2 = 0;
|
|
puVar2[8] = 7;
|
|
puVar2[9] = 0;
|
|
puVar2[6] = 0;
|
|
puVar2[7] = 0;
|
|
*(undefined2 *)(puVar2 + 2) = 0;
|
|
}
|
|
*puVar2 = *(uint *)(param_2 + 6);
|
|
FUN_14006b350((int *)(param_1 + 0x110));
|
|
plVar3 = (longlong *)(**(code **)*param_2)(param_2,&local_res8);
|
|
puVar8 = (undefined *)*plVar3;
|
|
if ((undefined *)*plVar3 == (undefined *)0x0) {
|
|
puVar8 = PTR_DAT_1401ac010;
|
|
}
|
|
uVar7 = (ulonglong)*puVar2;
|
|
pwVar6 = L"Join Server : HostID:[%d][%s]";
|
|
FUN_14000a810(L"Join Server : HostID:[%d][%s]",uVar7,puVar8,param_4);
|
|
if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_1401ac010)) &&
|
|
(local_res8 + -8 != (undefined *)0x0)) {
|
|
piVar4 = (int *)FUN_14006cb70(pwVar6,uVar7,puVar8,param_4);
|
|
FUN_14006b350(piVar4);
|
|
piVar1 = (int *)(local_res8 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14006cc60(local_res8 + -8);
|
|
}
|
|
FUN_14006b3e0((longlong)piVar4);
|
|
}
|
|
puVar5 = FUN_140008260((char *)(param_1 + 0xb0),puVar2);
|
|
*(uint **)puVar5 = puVar2;
|
|
FUN_14006b3e0(param_1 + 0x110);
|
|
uVar9 = (uint)*(undefined8 *)(param_1 + 0xd0);
|
|
*(uint *)(param_1 + 0x10c) = uVar9;
|
|
if (*(uint *)(param_1 + 0x108) < uVar9) {
|
|
*(uint *)(param_1 + 0x108) = uVar9;
|
|
}
|
|
return;
|
|
}
|
|
|