60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14000b9d0 FUN_14000b9d0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_14000b9d0(longlong param_1,longlong param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
char cVar2;
|
|
char *pcVar3;
|
|
undefined8 uVar4;
|
|
longlong *plVar5;
|
|
longlong lVar6;
|
|
|
|
plVar5 = *(longlong **)(param_1 + 0x28);
|
|
do {
|
|
if (plVar5 == (longlong *)0x0) {
|
|
return 0;
|
|
}
|
|
pcVar3 = (char *)(plVar5[7] + 0x10);
|
|
lVar6 = param_2 - (longlong)pcVar3;
|
|
do {
|
|
cVar1 = *pcVar3;
|
|
cVar2 = pcVar3[lVar6];
|
|
if (cVar1 != cVar2) break;
|
|
pcVar3 = pcVar3 + 1;
|
|
} while (cVar2 != '\0');
|
|
if (cVar1 == cVar2) {
|
|
LAB_14000ba30:
|
|
lVar6 = (**(code **)(*plVar5 + 0x30))(plVar5);
|
|
if (lVar6 != 0) {
|
|
/* WARNING: Could not recover jumptable at 0x00014000ba9d. Too many branches */
|
|
/* WARNING: Treating indirect jump as call */
|
|
uVar4 = (**(code **)(*plVar5 + 0x30))(plVar5);
|
|
return uVar4;
|
|
}
|
|
plVar5 = (longlong *)plVar5[10];
|
|
if (plVar5 == (longlong *)0x0) {
|
|
return 0;
|
|
}
|
|
do {
|
|
pcVar3 = (char *)(plVar5[7] + 0x10);
|
|
lVar6 = param_2 - (longlong)pcVar3;
|
|
do {
|
|
cVar1 = *pcVar3;
|
|
cVar2 = pcVar3[lVar6];
|
|
if (cVar1 != cVar2) break;
|
|
pcVar3 = pcVar3 + 1;
|
|
} while (cVar2 != '\0');
|
|
if (cVar1 == cVar2) goto LAB_14000ba30;
|
|
plVar5 = (longlong *)plVar5[10];
|
|
if (plVar5 == (longlong *)0x0) {
|
|
return 0;
|
|
}
|
|
} while( true );
|
|
}
|
|
plVar5 = (longlong *)plVar5[10];
|
|
} while( true );
|
|
}
|
|
|