107 lines
3.6 KiB
C
107 lines
3.6 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14020a690 FUN_14020a690
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined4 FUN_14020a690(int *param_1,undefined8 param_2)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
undefined4 uVar4;
|
|
uint uVar5;
|
|
uint uVar6;
|
|
ulonglong uVar7;
|
|
undefined1 local_a8 [24];
|
|
uint local_90 [4];
|
|
undefined4 *local_80;
|
|
undefined1 local_78 [24];
|
|
int local_60 [4];
|
|
undefined4 *local_50;
|
|
undefined1 local_48 [24];
|
|
undefined1 local_30 [24];
|
|
|
|
uVar5 = *param_1 >> 1;
|
|
uVar4 = 0xfffffffe;
|
|
iVar2 = FUN_14020afd0(local_90,uVar5);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020afd0(local_60,*param_1 - uVar5);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020afd0(local_a8,*param_1 * 2);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020afd0(local_30,*param_1 * 2);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020afd0(local_48,uVar5 * 2);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020afd0(local_78,(*param_1 - uVar5) * 2);
|
|
if (iVar2 == 0) {
|
|
puVar3 = *(undefined4 **)(param_1 + 4);
|
|
if (0 < (int)uVar5) {
|
|
uVar7 = (ulonglong)uVar5;
|
|
do {
|
|
uVar1 = *puVar3;
|
|
puVar3 = puVar3 + 1;
|
|
uVar7 = uVar7 - 1;
|
|
*local_80 = uVar1;
|
|
local_80 = local_80 + 1;
|
|
} while (uVar7 != 0);
|
|
}
|
|
uVar6 = uVar5;
|
|
if ((int)uVar5 < *param_1) {
|
|
do {
|
|
uVar6 = uVar6 + 1;
|
|
*local_50 = *puVar3;
|
|
puVar3 = puVar3 + 1;
|
|
local_50 = local_50 + 1;
|
|
} while ((int)uVar6 < *param_1);
|
|
}
|
|
local_60[0] = *param_1 - uVar5;
|
|
local_90[0] = uVar5;
|
|
FUN_140208e50(local_90);
|
|
iVar2 = FUN_140201a20(local_90,local_48);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_140201a20(local_60,local_78);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_1402094a0(local_60,local_90,local_a8);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_140201a20(local_a8,local_a8);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_1402094a0(local_48,local_78,local_30);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_1402093a0(local_a8,local_30,local_a8);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020af40(local_a8,uVar5);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_14020af40(local_78,uVar5 * 2);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_140201530(local_48,local_a8,local_a8);
|
|
if (iVar2 == 0) {
|
|
iVar2 = FUN_140201530(local_a8,local_78,param_2);
|
|
uVar4 = 0xfffffffe;
|
|
if (iVar2 == 0) {
|
|
uVar4 = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FUN_140200e50(local_78);
|
|
}
|
|
FUN_140200e50(local_48);
|
|
}
|
|
FUN_140200e50(local_30);
|
|
}
|
|
FUN_140200e50(local_a8);
|
|
}
|
|
FUN_140200e50(local_60);
|
|
}
|
|
FUN_140200e50(local_90);
|
|
}
|
|
return uVar4;
|
|
}
|
|
|