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
59
decomp/DBCServer_Release_x64/full/functions/0x1401e8540.c
Normal file
59
decomp/DBCServer_Release_x64/full/functions/0x1401e8540.c
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401e8540 FUN_1401e8540
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1401e8540(longlong param_1,longlong param_2,int param_3)
|
||||
|
||||
{
|
||||
ushort uVar1;
|
||||
ushort uVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
longlong lVar5;
|
||||
int iVar6;
|
||||
longlong lVar7;
|
||||
longlong lVar8;
|
||||
bool bVar9;
|
||||
|
||||
iVar3 = *(int *)(param_1 + 0x149c);
|
||||
lVar7 = (longlong)param_3;
|
||||
iVar4 = *(int *)(param_1 + 0xba8 + lVar7 * 4);
|
||||
param_3 = param_3 * 2;
|
||||
bVar9 = SBORROW4(param_3,iVar3);
|
||||
iVar6 = param_3 - iVar3;
|
||||
if (param_3 <= iVar3) {
|
||||
do {
|
||||
if (bVar9 != iVar6 < 0) {
|
||||
lVar8 = (longlong)*(int *)(param_1 + 0xba8 + (longlong)param_3 * 4);
|
||||
lVar5 = (longlong)*(int *)(param_1 + 0xbac + (longlong)param_3 * 4);
|
||||
uVar1 = *(ushort *)(param_2 + lVar5 * 4);
|
||||
uVar2 = *(ushort *)(param_2 + lVar8 * 4);
|
||||
if ((uVar1 < uVar2) ||
|
||||
((uVar1 == uVar2 &&
|
||||
(*(byte *)(lVar5 + 0x14a4 + param_1) <= *(byte *)(lVar8 + 0x14a4 + param_1))))) {
|
||||
param_3 = param_3 + 1;
|
||||
}
|
||||
}
|
||||
iVar3 = *(int *)(param_1 + 0xba8 + (longlong)param_3 * 4);
|
||||
uVar1 = *(ushort *)(param_2 + (longlong)iVar4 * 4);
|
||||
uVar2 = *(ushort *)(param_2 + (longlong)iVar3 * 4);
|
||||
iVar6 = (int)lVar7;
|
||||
if ((uVar1 < uVar2) ||
|
||||
((uVar1 == uVar2 &&
|
||||
(*(byte *)((longlong)iVar4 + 0x14a4 + param_1) <=
|
||||
*(byte *)((longlong)iVar3 + 0x14a4 + param_1))))) {
|
||||
*(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4) = iVar4;
|
||||
return;
|
||||
}
|
||||
lVar7 = (longlong)param_3;
|
||||
param_3 = param_3 * 2;
|
||||
*(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4) = iVar3;
|
||||
iVar3 = *(int *)(param_1 + 0x149c);
|
||||
bVar9 = SBORROW4(param_3,iVar3);
|
||||
iVar6 = param_3 - iVar3;
|
||||
} while (param_3 <= iVar3);
|
||||
}
|
||||
*(int *)(param_1 + 0xba8 + lVar7 * 4) = iVar4;
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue