42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14007fe60 FUN_14007fe60
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong FUN_14007fe60(longlong param_1,uint param_2)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
uint *puVar2;
|
|
ulonglong uVar3;
|
|
|
|
plVar1 = (longlong *)(param_1 + -0x120);
|
|
if (DAT_1401b42cf != '\0') {
|
|
(**(code **)(*plVar1 + 200))(plVar1);
|
|
}
|
|
if (param_2 == 1) {
|
|
if (plVar1 != (longlong *)0x0) {
|
|
return param_1 + -0xa8;
|
|
}
|
|
}
|
|
else {
|
|
uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xb80);
|
|
if (*(longlong *)(param_1 + 0xb60) != 0) {
|
|
puVar2 = *(uint **)(*(longlong *)(param_1 + 0xb60) + uVar3 * 8);
|
|
while( true ) {
|
|
if (puVar2 == (uint *)0x0) {
|
|
return 0;
|
|
}
|
|
if ((uint)uVar3 != puVar2[8] % *(uint *)(param_1 + 0xb80)) {
|
|
return 0;
|
|
}
|
|
if (*puVar2 == param_2) break;
|
|
puVar2 = *(uint **)(puVar2 + 4);
|
|
}
|
|
if (*(longlong *)(puVar2 + 2) != 0) {
|
|
return *(longlong *)(puVar2 + 2) + 8;
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|