75 lines
1.9 KiB
C
75 lines
1.9 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14005fa80 FUN_14005fa80
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14005fa80(ulonglong *param_1,int *param_2,longlong param_3)
|
|
|
|
{
|
|
char cVar1;
|
|
longlong lVar2;
|
|
int iVar3;
|
|
longlong lVar4;
|
|
longlong lVar5;
|
|
ulonglong uVar6;
|
|
char *_Str;
|
|
char *pcVar7;
|
|
char *pcVar8;
|
|
char *pcVar9;
|
|
bool bVar10;
|
|
|
|
_Str = (char *)0x0;
|
|
lVar2 = *(longlong *)(param_3 + 0xa0);
|
|
for (lVar5 = lVar2; pcVar7 = _Str, lVar5 != param_3 + 0x58; lVar5 = *(longlong *)(lVar5 + 0x48)) {
|
|
lVar4 = 7;
|
|
pcVar7 = (char *)(*(longlong *)(lVar5 + 0x20) + 0x10);
|
|
bVar10 = pcVar7 == (char *)0x0;
|
|
pcVar8 = "string";
|
|
do {
|
|
if (lVar4 == 0) break;
|
|
lVar4 = lVar4 + -1;
|
|
bVar10 = *pcVar7 == *pcVar8;
|
|
pcVar7 = pcVar7 + 1;
|
|
pcVar8 = pcVar8 + 1;
|
|
} while (bVar10);
|
|
if (bVar10) {
|
|
pcVar7 = (char *)(*(longlong *)(lVar5 + 0x30) + 0x10);
|
|
break;
|
|
}
|
|
}
|
|
do {
|
|
if (lVar2 == param_3 + 0x58) break;
|
|
lVar5 = 8;
|
|
pcVar8 = (char *)(*(longlong *)(lVar2 + 0x20) + 0x10);
|
|
bVar10 = pcVar8 == (char *)0x0;
|
|
pcVar9 = "timeout";
|
|
do {
|
|
if (lVar5 == 0) break;
|
|
lVar5 = lVar5 + -1;
|
|
bVar10 = *pcVar8 == *pcVar9;
|
|
pcVar8 = pcVar8 + 1;
|
|
pcVar9 = pcVar9 + 1;
|
|
} while (bVar10);
|
|
if (bVar10) {
|
|
_Str = (char *)(*(longlong *)(lVar2 + 0x30) + 0x10);
|
|
break;
|
|
}
|
|
lVar2 = *(longlong *)(lVar2 + 0x48);
|
|
} while( true );
|
|
if (pcVar7 != (char *)0x0) {
|
|
uVar6 = 0xffffffffffffffff;
|
|
pcVar8 = pcVar7;
|
|
do {
|
|
if (uVar6 == 0) break;
|
|
uVar6 = uVar6 - 1;
|
|
cVar1 = *pcVar8;
|
|
pcVar8 = pcVar8 + 1;
|
|
} while (cVar1 != '\0');
|
|
FUN_140003e60(param_1,pcVar7,~uVar6 - 1);
|
|
}
|
|
if (_Str != (char *)0x0) {
|
|
iVar3 = atoi(_Str);
|
|
*param_2 = iVar3;
|
|
}
|
|
return;
|
|
}
|
|
|