decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
107
decomp/DBCServer_Release_x64/full/functions/0x14020a690.c
Normal file
107
decomp/DBCServer_Release_x64/full/functions/0x14020a690.c
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* 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;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue