65 lines
2.4 KiB
C
65 lines
2.4 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x14000b970 FUN_14000b970
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8
|
|
FUN_14000b970(longlong param_1,undefined4 param_2,undefined8 param_3,int *param_4,
|
|
undefined8 *param_5)
|
|
|
|
{
|
|
longlong lVar1;
|
|
undefined8 uVar2;
|
|
int iVar3;
|
|
undefined8 *puVar4;
|
|
undefined8 uVar5;
|
|
longlong lVar6;
|
|
undefined4 extraout_var;
|
|
int local_res20 [2];
|
|
undefined8 local_38;
|
|
|
|
if (*(longlong *)(DAT_140162d60 + 0x58) != 0) {
|
|
for (puVar4 = *(undefined8 **)
|
|
(*(longlong *)(DAT_140162d60 + 0x38) +
|
|
((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_140162d60 + 0x40)) * 8);
|
|
puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) {
|
|
if (*param_4 == *(int *)(puVar4 + 1)) {
|
|
if (puVar4 != (undefined8 *)0x0) goto LAB_14000b9be;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
puVar4 = (undefined8 *)0x0;
|
|
LAB_14000b9be:
|
|
if ((puVar4 != (undefined8 *)0x0) && (lVar1 = puVar4[2], lVar1 != 0)) {
|
|
if ((*(int *)(lVar1 + 0xc4) == 0) || (*(int *)(lVar1 + 0xc4) == 1)) {
|
|
uVar5 = param_5[1];
|
|
uVar2 = param_5[2];
|
|
local_38 = CONCAT44((int)((ulonglong)*param_5 >> 0x20),param_2);
|
|
*(undefined8 *)(lVar1 + 0xa0) = local_38;
|
|
*(undefined8 *)(lVar1 + 0xa8) = uVar5;
|
|
*(undefined8 *)(lVar1 + 0xb0) = uVar2;
|
|
if (*(longlong *)(param_1 + 0x40) != 0) {
|
|
local_res20[0] = *param_4;
|
|
lVar6 = FUN_140007fa0(*(longlong *)(param_1 + 0x40));
|
|
local_38 = (**(code **)(*(longlong *)(lVar6 + 0x68) + 0x30))
|
|
((longlong *)(lVar6 + 0x68),1,&DAT_1401555d0,local_res20,param_5);
|
|
}
|
|
if ((*(char *)(lVar1 + 0xc) != '\x01') ||
|
|
((*(char *)(DAT_140162d68 + 0x170) == '\0' &&
|
|
(local_38 = FUN_140009ff0(DAT_140162d78,*param_4), (char)local_38 == '\0'))))
|
|
goto LAB_14000bae4;
|
|
local_res20[0] = 5;
|
|
}
|
|
else {
|
|
local_res20[0] = 1;
|
|
}
|
|
uVar5 = (**(code **)(*(longlong *)(param_1 + 0x48) + 0x40))
|
|
((longlong *)(param_1 + 0x48),param_2,&DAT_1401555d0,local_res20);
|
|
return CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
iVar3 = printf("ERROR - NOT FIND SERVER : REQ_SERVER_OPTION !!!\n");
|
|
local_38 = CONCAT44(extraout_var,iVar3);
|
|
LAB_14000bae4:
|
|
return CONCAT71((int7)((ulonglong)local_38 >> 8),1);
|
|
}
|
|
|