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