/* 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 ); }