/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401a4040 FUN_1401a4040 * Pseudocode, not original source. */ void FUN_1401a4040(longlong param_1,longlong param_2,longlong param_3) { undefined4 *puVar1; int iVar2; iVar2 = 0; if (0 < param_3) { puVar1 = (undefined4 *)(param_1 + 0x30); param_2 = param_2 - param_1; do { if ((undefined8 *)(puVar1 + -0xc) != (undefined8 *)0x0) { *(undefined8 *)(puVar1 + -0xc) = *(undefined8 *)(param_2 + -0x30 + (longlong)puVar1); puVar1[-10] = *(undefined4 *)(param_2 + -0x28 + (longlong)puVar1); puVar1[-9] = *(undefined4 *)(param_2 + -0x24 + (longlong)puVar1); puVar1[-8] = *(undefined4 *)(param_2 + -0x20 + (longlong)puVar1); *(undefined8 *)(puVar1 + -6) = *(undefined8 *)(param_2 + -0x18 + (longlong)puVar1); puVar1[-4] = *(undefined4 *)(param_2 + -0x10 + (longlong)puVar1); *(undefined ***)(puVar1 + -2) = Proud::AddrPort::vftable; *puVar1 = *(undefined4 *)(param_2 + (longlong)puVar1); *(undefined2 *)(puVar1 + 1) = *(undefined2 *)(param_2 + 4 + (longlong)puVar1); } iVar2 = iVar2 + 1; puVar1 = puVar1 + 0xe; } while (iVar2 < param_3); } return; }