/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400bfff0 FUN_1400bfff0 * Pseudocode, not original source. */ void FUN_1400bfff0(longlong param_1,longlong *param_2,undefined **param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; longlong lVar3; longlong local_40; undefined8 local_38; int local_30; undefined8 local_28; undefined4 local_20; undefined **local_18; undefined4 local_10; undefined2 local_c; if (*(char *)(param_1 + 0x380) != '\0') { do { FUN_1400bff10(param_1,param_2,param_3,param_4); local_18 = Proud::AddrPort::vftable; local_40 = 0; local_28 = 0; local_38 = 0; local_30 = 5; local_20 = 0; local_10 = DAT_1401553d0; local_c = DAT_1401553d4; param_3 = (undefined **)0xa; param_2 = &local_40; uVar2 = FUN_1400388c0(*(char **)(param_1 + 0x308),param_2,10,param_4); if ((char)uVar2 != '\0') { FUN_14002e6e0((int *)(param_1 + 0x310)); if ((int)local_38 < 1) { *(undefined1 *)(param_1 + 0x48) = 1; } if (local_30 == 1) { if (*(char *)(param_1 + 0x30) == '\0') { *(undefined1 *)(param_1 + 0x2c0) = 0; } else if (0 < (int)local_38) { *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + (int)local_38; FUN_1400bfe40(param_1); goto LAB_1400c00db; } } else { LAB_1400c00db: if (local_30 == 2) { if (*(char *)(param_1 + 0x30) == '\0') { LAB_1400c013a: *(undefined1 *)(param_1 + 0x300) = 0; } else { lVar3 = 0; if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { lVar3 = **(longlong **)(param_1 + 0x20); } if (*(char *)(lVar3 + 0x80) == '\0') { *(undefined1 *)(param_1 + 0x300) = 1; lVar3 = 0; if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { lVar3 = **(longlong **)(param_1 + 0x20); } param_2 = (longlong *)0x258; uVar1 = FUN_140036430(lVar3,600,param_3,param_4); if (uVar1 != 0) { *(undefined1 *)(param_1 + 0x30) = 0; goto LAB_1400c013a; } } } } } FUN_14002e770(param_1 + 0x310); } } while (*(char *)(param_1 + 0x380) != '\0'); } return; }