/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401a37e0 FUN_1401a37e0 * Pseudocode, not original source. */ void FUN_1401a37e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; FUN_1401c5960(param_1 + 0x188,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0),param_3, param_4,0xfffffffffffffffe); if (*(char *)(param_1 + 0x198) == '\x01') { FUN_14017fb20(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0x1a0,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 0x1b0) == '\x01') { FUN_140191670(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0x1b8,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 0x1c8) == '\x01') { FUN_140197cd0(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0x1d0,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 0x1e0) == '\x01') { FUN_1401814b0(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0xa0,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 0xb0) == '\x01') { FUN_140176860(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0xb8,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 200) == '\x01') { FUN_140198550(*(undefined8 *)(param_1 + 0x148)); } FUN_1401c5960(param_1 + 0x248,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 600) == '\x01') { uVar1 = (**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); FUN_14016db50(uVar1); if (DAT_14034c86f != '\0') { (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) (*(longlong **)(param_1 + 0x148),L"Proud::CNetThreads_S::Heartbeat_One"); } uVar2 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); FUN_140189900(*(longlong *)(param_1 + 0x148) + 0x2d8,uVar2); FUN_14016dbe0(uVar1); } if (*(int *)(*(longlong *)(param_1 + 0x148) + 600) != 0) { FUN_1401c5960(param_1 + 0x1e8,*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); if (*(char *)(param_1 + 0x1f8) == '\x01') { LOCK(); *(undefined4 *)(param_1 + 0x200) = 1; UNLOCK(); } } FUN_140183c80(*(undefined8 *)(param_1 + 0x148)); return; }