59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
/* 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;
|
|
}
|
|
|