64 lines
2 KiB
C
64 lines
2 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d6070 FUN_1400d6070
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x0001400d61c7) */
|
|
|
|
void FUN_1400d6070(longlong param_1,undefined8 param_2,undefined8 param_3,undefined *param_4)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
longlong *plVar2;
|
|
LPVOID pvVar3;
|
|
LPVOID pvVar4;
|
|
undefined8 uVar5;
|
|
code *pcVar6;
|
|
|
|
if (*(longlong *)(param_1 + 0x40) == 0) {
|
|
pvVar4 = (LPVOID)0x0;
|
|
}
|
|
else {
|
|
pvVar4 = *(LPVOID *)(param_1 + 0x30);
|
|
}
|
|
while( true ) {
|
|
if (pvVar4 == (LPVOID)0x0) {
|
|
return;
|
|
}
|
|
if (pvVar4 == (LPVOID)0x0) break;
|
|
plVar1 = *(longlong **)((longlong)pvVar4 + 0x10);
|
|
if ((longlong *)plVar1[2] != (longlong *)0x0) {
|
|
FUN_1400d34f0((longlong *)plVar1[2],plVar1,param_3,param_4);
|
|
}
|
|
plVar2 = *(longlong **)(param_1 + 0x78);
|
|
FUN_1400d41c0((short *)plVar1);
|
|
plVar1[0x33] = (longlong)Proud::CFastArray<Proud::UdpPacketCtx*___ptr64,1>::vftable;
|
|
if ((LPVOID)plVar1[0x35] != (LPVOID)0x0) {
|
|
if ((longlong *)plVar1[0x34] == (longlong *)0x0) {
|
|
FUN_14006cc60((LPVOID)plVar1[0x35]);
|
|
}
|
|
else {
|
|
(**(code **)(*(longlong *)plVar1[0x34] + 0x18))();
|
|
}
|
|
}
|
|
pcVar6 = FUN_1400d4250;
|
|
uVar5 = 6;
|
|
_eh_vector_destructor_iterator_(plVar1 + 3,0x38,6,FUN_1400d4250);
|
|
param_4 = pcVar6;
|
|
if ((longlong *)plVar1[2] != (longlong *)0x0) {
|
|
FUN_1400d34f0((longlong *)plVar1[2],plVar1,uVar5,pcVar6);
|
|
param_4 = pcVar6;
|
|
}
|
|
(**(code **)(*plVar2 + 0x18))(plVar2,plVar1);
|
|
if (pvVar4 == (LPVOID)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x80004005);
|
|
}
|
|
pvVar3 = *(LPVOID *)((longlong)pvVar4 + 0x18);
|
|
param_3 = 0;
|
|
FUN_1400d4570((char *)(param_1 + 0x20),pvVar4,'\0');
|
|
pvVar4 = pvVar3;
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400064e0(0x80004005);
|
|
}
|
|
|