/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14015c1e0 FUN_14015c1e0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_14015c1e0(longlong param_1,double param_2) { undefined *puVar1; longlong *plVar2; double dVar3; undefined1 auStack_68 [32]; undefined8 local_48; undefined2 local_40; undefined6 uStack_3e; undefined8 local_30; ulonglong local_28; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_1403463c0 ^ (ulonglong)auStack_68; puVar1 = *(undefined **)(param_1 + 0x30); if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_1403440a0)) && (0 < *(int *)(puVar1 + -8)) ) { if (*(char *)(param_1 + 0x18) == '\0') { if (*(char *)(param_1 + 0x1a) != '\0') { plVar2 = *(longlong **)(param_1 + 0x10); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x98))(plVar2,0); } Sleep(100); } } else if (*(char *)(param_1 + 0x1b) == '\0') { if ((*(char *)(param_1 + 0x1a) != '\0') && (plVar2 = *(longlong **)(param_1 + 0x10), plVar2 != (longlong *)0x0)) { (**(code **)(*plVar2 + 0x98))(plVar2,0); } } else { dVar3 = param_2 - *(double *)(param_1 + 0x20); if ((*(double *)(param_1 + 0x28) <= dVar3 && dVar3 != *(double *)(param_1 + 0x28)) && (*(double *)(param_1 + 0x20) = param_2, *(char *)(param_1 + 0x1c) != '\0')) { local_28 = 7; local_30 = 0; local_40 = 0; FUN_14015c5d0(dVar3,&local_40); wprintf(L"%s : RETRY CONNECT : ADDRESS[ %s ] PORT[ %d ]\n"); FUN_14015be70(param_1); if (7 < local_28) { operator_delete((void *)CONCAT62(uStack_3e,local_40)); } } } } return; }