//================ FUN_1420e8804 @ 1420e8804 ================ DWORD FUN_1420e8804(undefined8 *param_1,LPCVOID param_2,DWORD param_3) { HANDLE hFile; DWORD DVar1; DWORD nNumberOfBytesToWrite; uint local_res18 [4]; hFile = (HANDLE)*param_1; DVar1 = 0; nNumberOfBytesToWrite = param_3; while( true ) { WriteFile(hFile,param_2,nNumberOfBytesToWrite,local_res18,(LPOVERLAPPED)0x0); if (local_res18[0] == 0xffffffff) { return 0xffffffff; } if (local_res18[0] == 0) break; DVar1 = DVar1 + local_res18[0]; nNumberOfBytesToWrite = nNumberOfBytesToWrite - local_res18[0]; if (DVar1 == param_3) { return DVar1; } param_2 = (LPCVOID)((longlong)param_2 + (ulonglong)local_res18[0]); } return DVar1; } //================ FUN_1420d7358 @ 1420d7358 ================ undefined4 FUN_1420d7358(longlong *param_1,undefined8 param_2,int param_3) { char cVar1; int iVar2; int iVar3; longlong lVar4; iVar3 = (int)param_1[2]; iVar2 = iVar3 * param_3; if (param_3 == 0) { lVar4 = param_1[1]; if (*(int *)((longlong)param_1 + 0x14) != 0) { iVar3 = *(int *)((longlong)param_1 + 0x14); } if (lVar4 != 0) goto LAB_1420d738c; } lVar4 = *param_1; LAB_1420d738c: cVar1 = FUN_1420e8878(lVar4,iVar2); if ((cVar1 != '\0') && (iVar2 = FUN_1420e8804(lVar4,param_2,iVar3), iVar2 == iVar3)) { return 1; } return 0; } //================ FUN_1420d6e74 @ 1420d6e74 ================ undefined1 FUN_1420d6e74(undefined8 *param_1) { char cVar1; if ((*(char *)((longlong)param_1 + 0x21) == '\0') && (cVar1 = FUN_1420e8a44(param_1[0xd],*param_1,0), cVar1 == '\0')) { FUN_1420e8204(param_1[0xe],0xffffe697,0,0); return 0; } return 1; } //================ FUN_1420d62a4 @ 1420d62a4 ================ ulonglong FUN_1420d62a4(longlong param_1) { longlong *plVar1; char cVar2; int iVar3; ulonglong uVar4; longlong lVar5; undefined1 local_res8 [8]; plVar1 = *(longlong **)(param_1 + 0x138); local_res8[0] = 0; if (*(char *)((longlong)plVar1 + 0x1e) == '\0') { LAB_1420d62e1: if (*(char *)((longlong)plVar1 + 0x21) == '\0') { if ((*(char *)((longlong)plVar1 + 0x1d) == '\0') && (*(longlong *)(param_1 + 0x148) == 0)) { uVar4 = FUN_1420d6e74(plVar1); if ((char)uVar4 == '\0') goto LAB_1420d6381; } } else { *(undefined1 *)((longlong)plVar1 + 0x21) = 0; *(undefined1 *)((longlong)plVar1 + 0x1c) = 0; cVar2 = FUN_1420d66b4(plVar1,1); if (cVar2 == '\0') { do { iVar3 = FUN_1420e8f5c(plVar1[9],local_res8); } while (iVar3 != 0); } uVar4 = FUN_1420d6e74(plVar1); if ((char)uVar4 == '\0') goto LAB_1420d6381; FUN_1420e91c4(plVar1[9],0); plVar1[9] = 0; while( true ) { lVar5 = FUN_1420e8f30(plVar1[10]); if (lVar5 == 0) break; if (*(code **)(lVar5 + 0x30) != (code *)0x0) { (**(code **)(lVar5 + 0x30))(*(undefined8 *)(lVar5 + 0x18)); } } plVar1[10] = 0; } if (*(longlong *)(param_1 + 0x148) != 0) { uVar4 = FUN_1420e8d00(); if ((char)uVar4 == '\0') goto LAB_1420d6381; } lVar5 = *plVar1; if (*(int *)(lVar5 + 8) * 0x10 + 0x1cU < *(uint *)(lVar5 + 4)) { uVar4 = FUN_1420e8a8c(plVar1[0xd]); } else { uVar4 = CONCAT71((int7)((ulonglong)lVar5 >> 8),1); } } else { *(undefined4 *)(*plVar1 + 0x10) = 1; *(undefined1 *)((longlong)plVar1 + 0x1e) = 0; uVar4 = FUN_1420d6e74(plVar1); if ((char)uVar4 != '\0') goto LAB_1420d62e1; LAB_1420d6381: uVar4 = uVar4 & 0xffffffffffffff00; } return uVar4; } //================ FUN_1420eac94 @ 1420eac94 ================ undefined8 FUN_1420eac94(longlong param_1,longlong param_2,undefined8 param_3) { longlong *plVar1; char cVar2; int iVar3; undefined8 uVar4; longlong lVar5; ulonglong uVar6; uint uVar7; char *pcVar8; undefined1 local_res10 [8]; local_res10[0] = 0; iVar3 = FUN_1420e44ec(*(undefined8 *)(param_2 + 0x130)); uVar4 = FUN_1420e2c30(iVar3 + 1); cVar2 = FUN_1420e4688(*(undefined8 *)(param_2 + 0x130),&DAT_1433e7e00,uVar4,local_res10); if (cVar2 == '\0') { FUN_1420e2c94(uVar4); } else { lVar5 = FUN_1420e73c4(param_1,uVar4); FUN_1420e2c94(uVar4); if (lVar5 != 0) { cVar2 = FUN_1420e6b0c(param_2,lVar5,param_3); if (cVar2 == '\0') { return 0; } uVar6 = 0; if (*(int *)(param_1 + 0x1c0) != 0) { do { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x1c8) + uVar6 * 8); if ((int)plVar1[1] == 0) { if (*(longlong *)((undefined1 *)*plVar1 + 0x50) == param_2) { *(undefined1 *)*plVar1 = 1; FUN_1420ea748(); } } else if (((((int)plVar1[1] == 1) && (lVar5 = *plVar1, *(char *)(lVar5 + 0x2e) == '\0')) && (*(longlong *)(lVar5 + 0xc0) == param_2)) && (cVar2 = FUN_1420eafb0(lVar5,param_1,4), cVar2 == '\0')) { return 0; } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; } while (uVar7 < *(uint *)(param_1 + 0x1c0)); } cVar2 = FUN_1420e6b40(param_2); if (cVar2 == '\0') { FUN_1420e82e8(param_1,0xffffe693,0); FUN_1420e6b50(param_2); return 0; } uVar6 = 0; if (*(int *)(param_1 + 0xa0) != 0) { do { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x98) + uVar6 * 8); if ((lVar5 != 0) && (*(longlong *)(*(longlong *)(lVar5 + 0x60) + 0xc0) == param_2)) { for (pcVar8 = *(char **)(lVar5 + 0x20); pcVar8 != (char *)0x0; pcVar8 = *(char **)(pcVar8 + 0x58)) { if (*pcVar8 == '\0') { *pcVar8 = '\x01'; FUN_1420ea748(pcVar8); } } } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; } while (uVar7 < *(uint *)(param_1 + 0xa0)); } cVar2 = FUN_1420e6ba0(param_2); if (cVar2 == '\0') { return 0; } *(undefined1 *)(param_2 + 0x151) = 1; return 1; } } FUN_1420e82e8(param_1,0xffffe696,0); return 0; } //================ FUN_1420e07d8 @ 1420e07d8 ================ byte FUN_1420e07d8(undefined8 param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; char cVar2; longlong lVar3; undefined8 uVar4; lVar3 = FUN_1420e35a8(param_2); if (lVar3 != 0) { lVar1 = FUN_1420e7374(param_1,lVar3); FUN_1420e2c94(lVar3); if (lVar1 != 0) { if (*(char *)(lVar1 + 0x151) == '\0') { lVar3 = FUN_1420e35a8(param_3); if (lVar3 != 0) { cVar2 = FUN_1420eac94(param_1,lVar1,lVar3); FUN_1420e2c94(lVar3); return -(cVar2 != '\0') & 1; } uVar4 = 0xffffe69c; } else { uVar4 = 0xffffe69b; } goto LAB_1420e086d; } } uVar4 = 0xffffe692; LAB_1420e086d: FUN_1420e82e8(param_1,uVar4,0); return 0; } //================ FUN_1420de140 @ 1420de140 ================ undefined4 FUN_1420de140(undefined8 param_1,undefined8 param_2) { char cVar1; undefined4 uVar2; longlong lVar3; undefined8 uVar4; undefined8 uVar5; undefined8 uVar6; undefined8 local_28 [2]; undefined4 local_18; lVar3 = FUN_1420cf56c(); uVar2 = 0; uVar4 = FUN_1420df9ec(lVar3); local_28[0] = 0; local_18 = 0; FUN_1420df9dc(lVar3,local_28); if (lVar3 == 0) { FUN_1420df9dc(0,uVar4); uVar2 = 0xffffd8ef; } else { uVar5 = FUN_1420e3570(param_1); uVar6 = FUN_1420e3570(param_2); cVar1 = FUN_1420e07d8(lVar3,uVar5,uVar6); if (cVar1 == '\0') { uVar2 = FUN_1420deb38(); } FUN_1420e2c94(uVar5); FUN_1420e2c94(uVar6); FUN_1420df9dc(lVar3,uVar4); } return uVar2; } //================ FUN_141d75c20 @ 141d75c20 ================ int FUN_141d75c20(undefined8 param_1,undefined8 *param_2) { bool bVar1; char cVar2; undefined8 uVar3; undefined8 uVar4; int local_res18 [2]; undefined1 local_res20 [8]; undefined1 local_28 [8]; undefined1 local_20 [24]; local_res18[0] = thunk_FUN_1420de9e0(0); if (local_res18[0] != 0) { uVar3 = FUN_1423d5720(local_20,"edb_dyn_CriticalSectionOn ERROR"); uVar4 = FUN_1423d5720(local_res20,"dsqlOpenDeviceDB"); uVar3 = FUN_1423d3360(local_28,uVar4,uVar3); FUN_1423ac220(uVar3); FUN_1423d59b0(local_28); FUN_1423d59b0(local_20); return 0; } bVar1 = false; cVar2 = thunk_FUN_1420de2bc(&DAT_1432ef45c,local_res18); if (cVar2 != '\0') { cVar2 = FUN_1423d4600(param_1,&DAT_1454551e0); if (cVar2 == '\0') { local_res18[0] = thunk_FUN_1420de210(&DAT_1432ef464); thunk_FUN_1420de210(&DAT_1432ef46c); } else { bVar1 = true; } } if ((local_res18[0] != 0) || (bVar1)) goto LAB_141d75d93; uVar3 = FUN_1423ceae0(param_1); local_res18[0] = thunk_FUN_1420de140(&DAT_1432ef474,uVar3); if (local_res18[0] == 0) { if (*(char *)*param_2 != '\0') { uVar3 = FUN_1423ceae0(param_2); local_res18[0] = thunk_FUN_1420de140(&DAT_1432ef47c,uVar3); if (local_res18[0] != 0) { thunk_FUN_1420de210(&DAT_1432ef484); thunk_FUN_1420de210(&DAT_1432ef48c); goto LAB_141d75d70; } } FUN_1423d58d0(&DAT_1454551e0,param_1); } else { LAB_141d75d70: uVar3 = FUN_1423d59e0(local_res20); FUN_1423d5890(&DAT_1454551e0,uVar3); FUN_1423d59b0(local_res20); } LAB_141d75d93: thunk_FUN_1420dea50(0); if (local_res18[0] != 0) { uVar3 = FUN_1423d5720(local_res20,"Page Manager (Close/)Open returns ERROR"); FUN_1423ac220(uVar3); FUN_1423d59b0(local_res20); } return local_res18[0]; } //================ FUN_141cad100 @ 141cad100 ================ void FUN_141cad100(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; int iVar2; char local_res8 [8]; char local_res10 [8]; undefined1 uVar3; longlong lVar4; if (*(int *)(param_1 + 0xc4) != 0) { return; } lVar4 = param_1; if (*(int *)(param_1 + 0x34) - 1U < 2) { bVar1 = true; uVar3 = 1; if (*(char *)(param_1 + 0x150) == '\0') { FUN_141d75ad0(); FUN_141d75c20(param_1 + 0x48,param_1 + 400,param_3,param_4,uVar3); } else { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x158)); } } else if (*(int *)(param_1 + 0x34) == 3) { bVar1 = true; uVar3 = 1; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x120)); } else { bVar1 = false; uVar3 = 0; } if (*(int *)(param_1 + 0x34) == 1) { if (*(int *)(param_1 + 0x38) != 1) { LAB_141cad20b: local_res8[0] = '\0'; iVar2 = (**(code **)(*(longlong *)(param_1 + 0x10) + 0x830)) (param_1 + 0x10,local_res8,param_3,param_4,uVar3,lVar4); if (iVar2 != 0) goto LAB_141cad1d4; if (local_res8[0] == '\0') { local_res10[0] = '\0'; (**(code **)(*(longlong *)(param_1 + 0x10) + 0x838))(param_1 + 0x10,local_res10); if (local_res10[0] == '\0') { (**(code **)(*(longlong *)(param_1 + 0x10) + 0x920))(param_1 + 0x10); iVar2 = (**(code **)(*(longlong *)(param_1 + 0x10) + 0x100))(param_1 + 0x10); if (iVar2 != 0) goto LAB_141cad1d4; (**(code **)(*(longlong *)(param_1 + 0x10) + 0x910))(param_1 + 0x10); } else { (**(code **)(*(longlong *)(param_1 + 0x10) + 0x918))(); } } } } else if (*(int *)(param_1 + 0x34) != 3) goto LAB_141cad20b; if (*(int *)(param_1 + 0x34) != 3) { (**(code **)(*(longlong *)(param_1 + 0x10) + 0xb18))(param_1 + 0x10); } (**(code **)(*(longlong *)(param_1 + 0x10) + 0xb8))(param_1 + 0x10,param_1 + 0xb8); if (*(int *)(param_1 + 0x34) == 1) { (**(code **)(*(longlong *)(param_1 + 0x10) + 0xb20))(param_1 + 0x10); } LAB_141cad1d4: if (bVar1) { if (*(int *)(param_1 + 0x34) - 1U < 2) { if (*(char *)(param_1 + 0x150) == '\0') { FUN_141d75b90(); } else { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x158)); } } else if (*(int *)(param_1 + 0x34) == 3) { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x120)); } } return; } //================ FUN_141cac390 @ 141cac390 ================ undefined8 FUN_141cac390(longlong *param_1) { char cVar1; int iVar2; undefined8 uVar3; undefined1 local_res8 [8]; undefined1 local_res10 [8]; undefined1 local_res18 [8]; char local_38 [8]; longlong local_30; uVar3 = FUN_1423d5980(local_res8,param_1 + 8); uVar3 = FUN_1423d32c0(local_res10,uVar3,"/export.pdb"); FUN_1423d5890(param_1 + 9,uVar3); FUN_1423d59b0(local_res10); uVar3 = FUN_1423d5980(local_res8,param_1 + 8); uVar3 = FUN_1423d32c0(local_res10,uVar3,"/exportExt.pdb"); FUN_1423d5890(param_1 + 0x32,uVar3); FUN_1423d59b0(local_res10); uVar3 = FUN_1423eb8a0(local_res18,param_1 + 0xb); uVar3 = FUN_1423e99a0(uVar3,local_res10); uVar3 = FUN_1419f6820(local_res8,uVar3); FUN_1423d5890(param_1 + 10,uVar3); FUN_1423d59b0(local_res8); FUN_1423d59b0(local_res10); FUN_1423d59b0(local_res18); uVar3 = FUN_1423eb8a0(local_res8,param_1 + 9); cVar1 = FUN_1423afbf0(uVar3); FUN_1423d59b0(local_res8); if (cVar1 == '\0') { uVar3 = FUN_1423eb8a0(local_res10,param_1 + 8); FUN_1423e8960(uVar3,local_res8); FUN_1423d59b0(local_res8); FUN_1423d59b0(local_res10); if (*(char *)param_1[0x32] != '\0') { uVar3 = FUN_1423eb8a0(local_res8,param_1 + 0x32); FUN_1423af8d0(uVar3); FUN_1423d59b0(local_res8); } (**(code **)(*param_1 + 0x4d0))(param_1); *(undefined1 *)((longlong)param_1 + 0x31) = 1; } else { FUN_141d75ad0(); uVar3 = FUN_1423eb8a0(local_res10,param_1 + 9); FUN_1423e99a0(uVar3,local_res8); FUN_1423d59b0(local_res10); cVar1 = FUN_141bc53d0(local_res8); if (cVar1 == '\0') { iVar2 = FUN_141bc54d0(param_1 + 9,param_1 + 0x32,local_res8); if (iVar2 == 0) { iVar2 = FUN_141be4370(); } } else { iVar2 = -1; } FUN_141d75e00(param_1 + 9); FUN_141d75b90(); FUN_1423d59b0(local_res8); if (iVar2 == 0) { *(undefined1 *)((longlong)param_1 + 0x31) = 1; FUN_141cad100(param_1); FUN_141c84cf0(local_38,param_1); iVar2 = (**(code **)(param_1[2] + 0x30))(); *(bool *)((longlong)param_1 + 0x6d) = iVar2 != 0; if (local_38[0] != '\0') { if (*(int *)(local_30 + 0x34) - 1U < 2) { if (*(char *)(local_30 + 0x150) == '\0') { FUN_141d75b90(); } else { LeaveCriticalSection((LPCRITICAL_SECTION)(local_30 + 0x158)); } } else if (*(int *)(local_30 + 0x34) == 3) { LeaveCriticalSection((LPCRITICAL_SECTION)(local_30 + 0x120)); } } } else { *(undefined1 *)((longlong)param_1 + 0x31) = 0; } } return 0; } //================ FUN_141b8b4c0 @ 141b8b4c0 ================ void FUN_141b8b4c0(longlong param_1,longlong *param_2) { undefined4 uVar1; char cVar2; char cVar3; int iVar4; int iVar5; undefined8 *puVar6; undefined8 uVar7; longlong *plVar8; undefined8 uVar9; longlong lVar10; longlong *plVar11; int iVar12; uint uVar13; uint uVar14; uint uVar15; longlong lVar16; longlong lVar17; uint uVar18; uint uVar19; longlong *plVar20; uint uVar21; undefined4 uVar22; uint *puVar23; longlong lVar24; bool bVar25; uint local_res18 [2]; undefined8 local_res20; ulonglong in_stack_fffffffffffffec0; ulonglong in_stack_fffffffffffffec8; ulonglong in_stack_fffffffffffffed0; undefined8 *in_stack_fffffffffffffee0; int local_108; int local_104; longlong local_100; int local_f4; longlong *local_f0; undefined8 local_e8; longlong local_e0; undefined8 local_d8; longlong *local_d0; undefined1 local_c8 [8]; undefined1 local_c0 [8]; LPCRITICAL_SECTION local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined1 local_90 [8]; undefined1 local_88 [8]; undefined1 local_80 [8]; undefined1 local_78 [8]; undefined1 local_70 [8]; undefined1 local_68 [8]; undefined1 local_60 [8]; longlong local_58; undefined1 local_50 [16]; uVar18 = 0; local_res20 = local_res20 & 0xffffffff00000000; if (*(longlong *)(param_1 + 0x9a0) == 0) { return; } cVar2 = FUN_1423cce60(param_1 + 0x498); if (cVar2 != '\0') { return; } FUN_1423cd250(&local_100,param_1 + 0x498); FUN_1423cd020(param_1 + 0x498,param_2); bVar25 = false; lVar16 = *param_2; lVar10 = lVar16 + (longlong)*(int *)((longlong)param_2 + 0xc) * 8; iVar4 = local_f4; if (lVar16 != lVar10) { do { FUN_1423d5980(local_res18,lVar16); puVar6 = (undefined8 *)FUN_1423ce820(&local_b8,local_res18); cVar2 = FUN_1423ccab0(&local_100,*puVar6); if (cVar2 == '\0') { bVar25 = true; } FUN_1423d59b0(local_res18); lVar16 = lVar16 + 8; } while (lVar16 != lVar10); iVar4 = local_f4; if (bVar25) { local_104 = 0; if (0 < *(int *)((longlong)param_2 + 0xc)) { do { plVar11 = (longlong *)0x0; uVar7 = FUN_1423ccd30(param_2,local_104); puVar6 = (undefined8 *)FUN_1423ce820(local_50,uVar7); iVar4 = FUN_1423cc9f0(&local_100,*puVar6,0,0); uVar22 = (undefined4)(in_stack_fffffffffffffec0 >> 0x20); if (iVar4 == -1) { local_108 = 0; local_d0 = (longlong *)0x0; local_res18[0] = local_res18[0] & 0xffffff00; plVar8 = (longlong *)FUN_14217c644(0x40); plVar20 = plVar11; local_f0 = plVar8; if (plVar8 != (longlong *)0x0) { *plVar8 = 0; plVar8[1] = 0; FUN_1423d59e0(plVar8 + 2); *(undefined1 *)(plVar8 + 3) = 0; FUN_1423d59e0(plVar8 + 4); FUN_1423d59e0(plVar8 + 5); FUN_1423d59e0(plVar8 + 6); *(undefined4 *)(plVar8 + 7) = 0; *(undefined1 *)((longlong)plVar8 + 0x3c) = 0; plVar20 = plVar8; } uVar7 = FUN_1423ccd30(param_2,local_104); iVar4 = FUN_141b8c1e0(param_1,uVar7,plVar20); if (iVar4 == 0) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x740)); cVar2 = FUN_1423d45a0(plVar20 + 5,"rekordbox cloud"); cVar3 = FUN_1423d45a0(plVar20 + 2,"CLOUD"); if ((cVar3 == '\0') && (0x17 < *(int *)(param_1 + 0x65c))) { iVar4 = 4; } else { if ((char)plVar20[3] == '\0') { uVar7 = FUN_1423d5720(local_88,"/PIONEER"); uVar18 = uVar18 | 2; } else { uVar7 = FUN_1423d5720(local_80,"/.PIONEER"); uVar18 = uVar18 | 1; } local_res20 = CONCAT44(local_res20._4_4_,uVar18); uVar9 = FUN_1423d5980(local_90,plVar20 + 4); FUN_1423d3360(local_c0,uVar9,uVar7); uVar19 = uVar18; if ((uVar18 & 2) != 0) { uVar19 = uVar18 & 0xfffffffd; local_res20 = CONCAT44(local_res20._4_4_,uVar18) & 0xfffffffffffffffd; FUN_1423d59b0(local_88); } uVar18 = uVar19; if ((uVar19 & 1) != 0) { uVar18 = uVar19 & 0xfffffffe; local_res20 = CONCAT44(local_res20._4_4_,uVar19) & 0xfffffffffffffffe; FUN_1423d59b0(local_80); } uVar7 = FUN_1423d5720(local_70,"/rekordbox"); uVar9 = FUN_1423d5980(local_78,local_c0); FUN_1423d3360(local_c8,uVar9,uVar7); FUN_1423d59b0(local_70); cVar3 = FUN_141a18ec0(plVar20 + 2); if (cVar3 == '\0') { if (cVar2 == '\0') { iVar4 = FUN_141b8c4d0(param_1,plVar20 + 4,(char)plVar20[3]); plVar11 = local_d0; if (iVar4 == 0) { uVar1 = *(undefined4 *)(param_1 + 0x660); lVar10 = FUN_14217c644(); local_58 = lVar10; if (lVar10 == 0) { plVar11 = (longlong *)0x0; } else { local_98 = 0; FUN_1423d59e0(&local_98); local_a0 = 0; FUN_1423d59e0(&local_a0); local_res20 = CONCAT44(local_res20._4_4_,uVar18) | 0x30; in_stack_fffffffffffffee0 = &local_a0; plVar11 = (longlong *) FUN_141c8f1e0(lVar10,1,local_c8,local_c0,(char)plVar20[3], CONCAT44(uVar22,*(undefined4 *)(param_1 + 0x660)), in_stack_fffffffffffffec8 & 0xffffffffffffff00,1,0, in_stack_fffffffffffffee0,&local_98); uVar18 = uVar18 | 0x30; } *plVar20 = (longlong)plVar11; uVar19 = uVar18; if ((uVar18 & 0x20) != 0) { uVar19 = uVar18 & 0xffffffdf; local_res20 = CONCAT44(local_res20._4_4_,uVar18) & 0xffffffffffffffdf; FUN_1423d59b0(&local_a0); plVar11 = (longlong *)*plVar20; } uVar18 = uVar19; if ((uVar19 & 0x10) != 0) { uVar18 = uVar19 & 0xffffffef; local_res20 = CONCAT44(local_res20._4_4_,uVar19) & 0xffffffffffffffef; FUN_1423d59b0(&local_98); plVar11 = (longlong *)*plVar20; } (**(code **)(*plVar11 + 0x4e0))(plVar11,0); puVar6 = (undefined8 *)*plVar20; if (*(char *)((longlong)puVar6 + 0x31) == '\0') { if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } lVar10 = FUN_14217c644(); if (lVar10 == 0) { plVar11 = (longlong *)0x0; } else { plVar11 = (longlong *)FUN_1423d59e0(lVar10); } goto LAB_141b8baad; } FUN_1423d58d0(plVar20 + 6,puVar6 + 9); *(undefined4 *)(plVar20 + 1) = *(undefined4 *)(param_1 + 0x660); *(int *)(param_1 + 0x660) = *(int *)(param_1 + 0x660) + 1; *(undefined4 *)((longlong)plVar20 + 0xc) = 1; *(undefined4 *)(plVar20 + 7) = 0xffffffff; iVar12 = *(int *)(param_1 + 0x65c); iVar5 = iVar12 + 1; if (*(int *)(param_1 + 0x658) < iVar5) { if (iVar5 < 0) { iVar5 = iVar12 + 2; } FUN_140c708a0((longlong *)(param_1 + 0x650), iVar12 + 9 + (iVar5 >> 1) & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x65c); *(int *)(param_1 + 0x65c) = iVar5 + 1; *(longlong **)(*(longlong *)(param_1 + 0x650) + (longlong)iVar5 * 8) = plVar20 ; local_108 = (int)plVar20[1]; local_res18[0] = CONCAT31(local_res18[0]._1_3_,*(undefined1 *)(*plVar20 + 0x6d)); FUN_141b81990(param_1,local_60,local_108); FUN_1423d59b0(local_60); cVar2 = FUN_141b4b2f0(param_1,1); if ((cVar2 != '\0') || (cVar2 = FUN_141cc0fe0(local_c8), plVar11 = local_d0, cVar2 != '\0')) { FUN_141b4a770(param_1,uVar1); plVar11 = local_d0; } } } else { plVar11 = (longlong *)0x0; iVar4 = 0; lVar10 = FUN_14217c644(0x490); uVar22 = (undefined4)(in_stack_fffffffffffffec8 >> 0x20); plVar8 = plVar11; local_e0 = lVar10; if (lVar10 != 0) { local_a8 = 0; FUN_1423d59e0(&local_a8); local_b0 = 0; FUN_1423d59e0(&local_b0); local_res20 = CONCAT44(local_res20._4_4_,uVar18) | 0xc; in_stack_fffffffffffffee0 = (undefined8 *)((ulonglong)in_stack_fffffffffffffee0 & 0xffffffffffffff00) ; plVar8 = (longlong *) FUN_141c413b0(lVar10,param_1,1,local_c8,local_c0,(char)plVar20[3], CONCAT44(uVar22,*(undefined4 *)(param_1 + 0x660)), in_stack_fffffffffffffed0 & 0xffffffffffffff00,1, in_stack_fffffffffffffee0,&local_b0,&local_a8); uVar18 = uVar18 | 0xc; } *plVar20 = (longlong)plVar8; uVar19 = uVar18; if ((uVar18 & 8) != 0) { uVar19 = uVar18 & 0xfffffff7; local_res20 = CONCAT44(local_res20._4_4_,uVar18) & 0xfffffffffffffff7; FUN_1423d59b0(&local_b0); } uVar18 = uVar19; if ((uVar19 & 4) != 0) { uVar18 = uVar19 & 0xfffffffb; local_res20 = CONCAT44(local_res20._4_4_,uVar19) & 0xfffffffffffffffb; FUN_1423d59b0(&local_a8); } puVar6 = (undefined8 *)*plVar20; if (*(char *)((longlong)puVar6 + 0x31) == '\0') { if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } lVar10 = FUN_14217c644(); if (lVar10 != 0) { plVar11 = (longlong *)FUN_1423d59e0(lVar10); } LAB_141b8baad: iVar4 = 5; uVar7 = FUN_1423ccd30(param_2,local_104); FUN_1423d58d0(plVar11,uVar7); } else { FUN_1423d58d0(plVar20 + 6,puVar6 + 9); *(undefined4 *)(plVar20 + 1) = *(undefined4 *)(param_1 + 0x660); *(int *)(param_1 + 0x660) = *(int *)(param_1 + 0x660) + 1; *(undefined4 *)((longlong)plVar20 + 0xc) = 1; *(undefined4 *)(plVar20 + 7) = 0xffffffff; iVar5 = *(int *)(param_1 + 0x65c) + 1; if (*(int *)(param_1 + 0x658) < iVar5) { iVar12 = iVar5; if (iVar5 < 0) { iVar12 = *(int *)(param_1 + 0x65c) + 2; } FUN_140c708a0((longlong *)(param_1 + 0x650), (iVar12 >> 1) + 8 + iVar5 & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x65c); *(int *)(param_1 + 0x65c) = iVar5 + 1; *(longlong **)(*(longlong *)(param_1 + 0x650) + (longlong)iVar5 * 8) = plVar20 ; local_108 = (int)plVar20[1]; local_res18[0] = CONCAT31(local_res18[0]._1_3_,*(undefined1 *)(*plVar20 + 0x6d)); FUN_141b81990(param_1,local_68,local_108); FUN_1423d59b0(local_68); plVar11 = local_d0; } } } else { *plVar20 = 0; uVar7 = FUN_1423d59e0(&local_b8); FUN_1423d5890(plVar20 + 6,uVar7); FUN_1423d59b0(&local_b8); *(undefined4 *)(plVar20 + 1) = *(undefined4 *)(param_1 + 0x660); *(int *)(param_1 + 0x660) = *(int *)(param_1 + 0x660) + 1; *(undefined4 *)((longlong)plVar20 + 0xc) = 1; *(undefined4 *)(plVar20 + 7) = 0xffffffff; iVar12 = *(int *)(param_1 + 0x65c); iVar5 = iVar12 + 1; if (*(int *)(param_1 + 0x658) < iVar5) { if (iVar5 < 0) { iVar5 = iVar12 + 2; } FUN_140c708a0((longlong *)(param_1 + 0x650), iVar12 + 9 + (iVar5 >> 1) & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x65c); *(int *)(param_1 + 0x65c) = iVar5 + 1; *(longlong **)(*(longlong *)(param_1 + 0x650) + (longlong)iVar5 * 8) = plVar20; local_108 = (int)plVar20[1]; local_res18[0] = local_res18[0] & 0xffffff00; plVar11 = local_d0; } FUN_1423d59b0(local_c8); FUN_1423d59b0(local_c0); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x740)); } if ((iVar4 != 0) && (plVar20 != (longlong *)0x0)) { FUN_141b8e650(plVar20,1); } in_stack_fffffffffffffec0 = (ulonglong)(byte)local_res18[0]; in_stack_fffffffffffffed0 = 0; in_stack_fffffffffffffec8 = 0; FUN_141ad57a0(param_1,2,(longlong)local_108,(longlong)iVar4,plVar11, in_stack_fffffffffffffec0,0,0); } local_104 = local_104 + 1; } while (local_104 < *(int *)((longlong)param_2 + 0xc)); } goto LAB_141b8c184; } } while (iVar4 = iVar4 + -1, -1 < iVar4) { uVar7 = FUN_1423ccd30(&local_100,iVar4); puVar6 = (undefined8 *)FUN_1423ce820(local_res18,uVar7); cVar2 = FUN_1423ccab0(param_2,*puVar6); if (cVar2 != '\0') { FUN_1423cc8c0(&local_100,iVar4); } } local_f0 = (longlong *)0x0; local_e8 = 0; lVar10 = 0; local_e0 = 0; iVar5 = 0; local_d8 = 0; uVar18 = 0; local_b8 = (LPCRITICAL_SECTION)(param_1 + 0x740); EnterCriticalSection(local_b8); local_res18[0] = 0; iVar4 = local_f4; uVar19 = 0; if (0 < local_f4) { do { uVar18 = uVar19; uVar15 = 0; uVar19 = local_res18[0]; if (0 < *(int *)(param_1 + 0x65c)) { local_res20 = 0; LAB_141b8bdb3: if (uVar15 < *(uint *)(param_1 + 0x65c)) { lVar16 = *(longlong *)(local_res20 + *(longlong *)(param_1 + 0x650)); } else { lVar16 = 0; } cVar2 = FUN_1423d45a0(lVar16 + 0x10,"CLOUD"); if (cVar2 != '\0') { uVar7 = FUN_1423ccd30(&local_100,uVar19); puVar6 = (undefined8 *)FUN_1423ce840(&local_58,"rbcloud://"); cVar2 = FUN_1423d1780(uVar7,*puVar6); uVar19 = local_res18[0]; if (cVar2 == '\0') goto LAB_141b8bf70; uVar19 = 0; uVar21 = uVar18; uVar13 = 0; if (0 < (int)uVar18) { do { uVar19 = uVar13; iVar4 = *(int *)(lVar10 + (longlong)(int)uVar19 * 4); if ((iVar4 <= (int)uVar15) && ((int)uVar15 <= iVar4)) goto LAB_141b8bef8; uVar13 = (int)(uVar19 + uVar21) >> 1; iVar4 = *(int *)(lVar10 + (longlong)(int)uVar13 * 4); if (uVar13 == uVar19) goto LAB_141b8bef3; if ((int)uVar15 < iVar4) { uVar14 = 0xffffffff; } else { uVar14 = (uint)(iVar4 < (int)uVar15); } if ((int)uVar14 < 0) { uVar21 = uVar13; uVar13 = uVar19; } uVar19 = uVar13; uVar13 = uVar19; } while ((int)uVar19 < (int)uVar21); } goto LAB_141b8befa; } uVar7 = FUN_1423ccd30(&local_100,uVar19); if (uVar15 < *(uint *)(param_1 + 0x65c)) { lVar16 = *(longlong *)(local_res20 + *(longlong *)(param_1 + 0x650)); } else { lVar16 = 0; } cVar2 = FUN_1423d4600(lVar16 + 0x20,uVar7); if (cVar2 != '\0') { uVar19 = 0; uVar21 = uVar18; uVar13 = 0; if (0 < (int)uVar18) { do { uVar19 = uVar13; iVar4 = *(int *)(lVar10 + (longlong)(int)uVar19 * 4); if ((iVar4 <= (int)uVar15) && ((int)uVar15 <= iVar4)) goto LAB_141b8bef8; uVar13 = (int)(uVar19 + uVar21) >> 1; iVar4 = *(int *)(lVar10 + (longlong)(int)uVar13 * 4); if (uVar13 == uVar19) goto LAB_141b8bef3; if ((int)uVar15 < iVar4) { uVar14 = 0xffffffff; } else { uVar14 = (uint)(iVar4 < (int)uVar15); } if ((int)uVar14 < 0) { uVar21 = uVar13; uVar13 = uVar19; } uVar19 = uVar13; uVar13 = uVar19; } while ((int)uVar19 < (int)uVar21); } goto LAB_141b8befa; } goto LAB_141b8bf70; } LAB_141b8bfa1: local_res18[0] = uVar19 + 1; uVar19 = uVar18; } while ((int)local_res18[0] < iVar4); } plVar11 = (longlong *)(param_1 + 0x650); uVar19 = uVar18 - 1; lVar16 = (longlong)(int)uVar19; if (-1 < (int)uVar19) { do { lVar17 = lVar16 * 4; if (uVar19 < uVar18) { uVar15 = *(uint *)(lVar10 + lVar17); } else { uVar15 = 0; } if (uVar15 < *(uint *)(param_1 + 0x65c)) { plVar20 = *(longlong **)(*plVar11 + (longlong)(int)uVar15 * 8); } else { plVar20 = (longlong *)0x0; } puVar6 = (undefined8 *)*plVar20; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } if (uVar19 < uVar18) { uVar15 = *(uint *)(lVar10 + lVar17); } else { uVar15 = 0; } if (uVar15 < *(uint *)(param_1 + 0x65c)) { lVar24 = *(longlong *)(*plVar11 + (longlong)(int)uVar15 * 8); } else { lVar24 = 0; } iVar4 = local_e8._4_4_ + 1; iVar5 = local_e8._4_4_; if ((int)local_e8 < iVar4) { if (iVar4 < 0) { iVar4 = local_e8._4_4_ + 2; } FUN_140c8ae10(&local_f0,local_e8._4_4_ + 9 + (iVar4 >> 1) & 0xfffffff8); iVar5 = local_e8._4_4_; } local_e8 = CONCAT44(iVar5 + 1,(int)local_e8); *(undefined4 *)((longlong)local_f0 + (longlong)iVar5 * 4) = *(undefined4 *)(lVar24 + 8); if (uVar19 < uVar18) { uVar15 = *(uint *)(lVar10 + lVar17); } else { uVar15 = 0; } lVar17 = 0; uVar21 = *(uint *)(param_1 + 0x65c); if (uVar15 < uVar21) { plVar20 = (longlong *)(*plVar11 + (longlong)(int)uVar15 * 8); lVar17 = *plVar20; FUN_1422fd540(plVar20,plVar20 + 1); *(int *)(param_1 + 0x65c) = *(int *)(param_1 + 0x65c) + -1; uVar21 = *(uint *)(param_1 + 0x65c); } if (((int)(uVar21 * 2) < *(int *)(param_1 + 0x658)) && ((int)uVar21 < *(int *)(param_1 + 0x658))) { FUN_140c708a0(plVar11); } if (lVar17 != 0) { FUN_141b8e650(lVar17,1); } uVar19 = uVar19 - 1; lVar16 = lVar16 + -1; } while (-1 < lVar16); } LeaveCriticalSection(local_b8); FUN_14230889c(lVar10); plVar11 = local_f0; uVar19 = 0; uVar18 = local_e8._4_4_; if (0 < (int)local_e8._4_4_) { bVar25 = local_e8._4_4_ != 0; plVar20 = local_f0; do { iVar4 = 0; uVar22 = 0; if (bVar25) { uVar22 = (int)*plVar20; } FUN_141ad7ec0(param_1,1,uVar22); if (bVar25) { iVar4 = (int)*plVar20; } FUN_141ad57a0(param_1,3,(longlong)iVar4,0,0,0,0,0); uVar19 = uVar19 + 1; plVar20 = (longlong *)((longlong)plVar20 + 4); bVar25 = uVar19 < uVar18; } while ((int)uVar19 < (int)uVar18); } if ((uVar18 == 0) && (local_f4 != 0)) { FUN_141ad57a0(param_1,3,0,0,0,0,0,0); } FUN_14230889c(plVar11); LAB_141b8c184: iVar4 = 0; if (0 < local_f4) { do { FUN_1423d59b0(local_100 + (longlong)iVar4 * 8); iVar4 = iVar4 + 1; } while (iVar4 < local_f4); } local_f4 = 0; FUN_14230889c(local_100); return; LAB_141b8bef3: if (iVar4 <= (int)uVar15) { LAB_141b8bef8: uVar19 = uVar19 + 1; } LAB_141b8befa: iVar4 = uVar18 + 1; if (iVar5 < iVar4) { iVar5 = iVar4; if (iVar4 < 0) { iVar5 = uVar18 + 2; } FUN_140c8ae10(&local_e0,(iVar5 >> 1) + 8 + iVar4 & 0xfffffff8); lVar10 = local_e0; uVar18 = local_d8._4_4_; iVar5 = (int)local_d8; } if (uVar19 < uVar18) { puVar23 = (uint *)(lVar10 + (longlong)(int)uVar19 * 4); FUN_1422fd540(puVar23 + 1,puVar23); } else { puVar23 = (uint *)(lVar10 + (longlong)(int)uVar18 * 4); } uVar18 = uVar18 + 1; local_d8 = CONCAT44(uVar18,(int)local_d8); *puVar23 = uVar15; uVar19 = local_res18[0]; LAB_141b8bf70: uVar15 = uVar15 + 1; local_res20 = local_res20 + 8; iVar4 = local_f4; if (*(int *)(param_1 + 0x65c) <= (int)uVar15) goto LAB_141b8bfa1; goto LAB_141b8bdb3; } //================ FUN_141aca850 @ 141aca850 ================ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_141aca850(longlong param_1) { undefined4 uVar1; longlong lVar2; char cVar3; char cVar4; undefined8 *puVar5; undefined8 uVar6; longlong lVar7; longlong *plVar8; undefined8 uVar9; undefined8 *puVar10; undefined8 *puVar11; int iVar12; uint uVar13; longlong lVar14; undefined1 auStack_5f8 [32]; undefined8 local_5d8; uint local_5c8; undefined8 *local_5c0; undefined8 *local_5b8; int local_5ac; char *local_5a8; longlong local_5a0; int local_594; longlong local_590; undefined8 uStack_588; undefined4 local_580; undefined1 local_578 [8]; longlong local_570; int local_564; undefined **local_560; longlong local_558; undefined ***local_528; undefined1 local_518 [1232]; ulonglong local_48; local_48 = DAT_14519c398 ^ (ulonglong)auStack_5f8; puVar11 = (undefined8 *)0x0; local_5c8 = 0; local_5c0 = (undefined8 *)((ulonglong)local_5c0 & 0xffffffff00000000); lVar7 = *(longlong *)(param_1 + 0x4a8); uVar9 = DAT_144c87478; while (lVar7 == 0) { cVar3 = FUN_1423c96e0(param_1); if (cVar3 != '\0') { return; } FUN_1423c9430(param_1,uVar9); lVar7 = *(longlong *)(param_1 + 0x4a8); } *(undefined1 *)(param_1 + 0x4fc) = 1; puVar5 = (undefined8 *)FUN_14217c644(0x78); puVar10 = puVar11; local_5b8 = puVar5; if (puVar5 != (undefined8 *)0x0) { local_5d8 = 0; FUN_141a08b30(puVar5,0x1234,0,0); *(undefined4 *)(puVar5 + 7) = 5; puVar5[8] = 1; puVar5[9] = 0xf; puVar5[10] = 1; *puVar5 = db::DBCommonMessage::vftable; puVar5[0xb] = 0; puVar5[0xc] = 0; puVar5[0xd] = 0; puVar5[0xe] = 0; puVar10 = puVar5; } thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4a8),puVar10); if (*(longlong *)(param_1 + 0x4e8) != 0) { puVar5 = (undefined8 *)FUN_14217c644(0x78); puVar10 = puVar11; local_5b8 = puVar5; if (puVar5 != (undefined8 *)0x0) { local_5d8 = 0; FUN_141a08b30(puVar5,0x1234,0,0); *(undefined4 *)(puVar5 + 7) = 5; puVar5[8] = 1; puVar5[9] = 0xf; puVar5[10] = 1; *puVar5 = db::DBCommonMessage::vftable; puVar5[0xb] = 0; puVar5[0xc] = 0; puVar5[0xd] = 0; puVar5[0xe] = 0; puVar10 = puVar5; } thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4e8),puVar10); } uVar6 = FUN_140ff8e40(local_518); FUN_141ad87e0(param_1,0xf,uVar6); FUN_140ff9950(local_518); lVar7 = FUN_141b988e0(param_1); if ((*(longlong *)(param_1 + 0x9a0) != 0) && (lVar7 != 0)) { uVar6 = FUN_1419718d0(); cVar3 = FUN_14197c3b0(uVar6); if ((cVar3 != '\0') && ((plVar8 = (longlong *)FUN_141c9e670(lVar7), plVar8 != (longlong *)0x0 && (uVar13 = *(int *)((longlong)plVar8 + 0xc) - 1, -1 < (int)uVar13)))) { lVar14 = (longlong)(int)uVar13; do { if ((uVar13 < *(uint *)((longlong)plVar8 + 0xc)) && (lVar2 = *(longlong *)(*plVar8 + lVar14 * 8), lVar2 != 0)) { local_5c0 = (undefined8 *)((ulonglong)local_5c0 & 0xffffffff00000000); FUN_141ca0db0(lVar7,*(undefined4 *)(lVar2 + 8),&local_5c0,lVar2); if ((((((ulonglong)local_5c0 & 1) == 0) || (((((ulonglong)local_5c0 & 0x1000) != 0 || (((ulonglong)local_5c0 & 0x4000) != 0)) || (((ulonglong)local_5c0 & 0x2000) != 0)))) && ((*(char *)(lVar2 + 0x3a8) != '\0' && (((ulonglong)local_5c0 & 2) == 0)))) && (((*(uint *)(lVar2 + 1000) >> 0x18 & 1) == 0 || ((*(uint *)(lVar2 + 1000) >> 0x1b & 1) != 0)))) { uVar6 = FUN_1423eb8a0(&local_5b8,lVar2 + 0x88); cVar3 = FUN_1423afbb0(uVar6); FUN_1423d59b0(&local_5b8); if (cVar3 != '\0') { if (*(longlong *)(param_1 + 0x4a8) != 0) { puVar10 = (undefined8 *)FUN_14217c644(0x78); local_5b8 = puVar10; if (puVar10 == (undefined8 *)0x0) { thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4a8),0); } else { local_5d8 = 0; FUN_141a08b30(puVar10,0x1234,0,0); *(undefined4 *)(puVar10 + 7) = 5; puVar10[8] = 0xd; puVar10[9] = 0; puVar10[10] = 0; *puVar10 = db::DBCommonMessage::vftable; puVar10[0xb] = 0; puVar10[0xc] = 0; puVar10[0xd] = 0; puVar10[0xe] = 0; thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4a8),puVar10); } } break; } } } uVar13 = uVar13 - 1; lVar14 = lVar14 + -1; } while (-1 < lVar14); } } FUN_1423d59e0(&local_5a8); puVar10 = puVar11; do { cVar3 = FUN_1423c96e0(param_1); if (cVar3 != '\0') goto LAB_141acb13b; uVar6 = FUN_141a02330(&local_5b8); FUN_1423d5890(&local_5a8,uVar6); FUN_1423d59b0(&local_5b8); if (*local_5a8 != '\0') break; FUN_1423c9430(param_1,uVar9); uVar13 = (int)puVar10 + 1; puVar10 = (undefined8 *)(ulonglong)uVar13; } while ((int)uVar13 < 100); iVar12 = *(int *)(param_1 + 0x500); if ((iVar12 != 0) && (*(longlong *)(param_1 + 0x4a8) != 0)) { puVar5 = (undefined8 *)FUN_14217c644(0x78); puVar10 = puVar11; local_5b8 = puVar5; if (puVar5 != (undefined8 *)0x0) { local_5d8 = 0; FUN_141a08b30(puVar5,0x1234,0,0); *(undefined4 *)(puVar5 + 7) = 5; puVar5[8] = 0xe; puVar5[9] = 0; puVar5[10] = (longlong)iVar12; *puVar5 = db::DBCommonMessage::vftable; puVar5[0xb] = 0; puVar5[0xc] = 0; puVar5[0xd] = 0; puVar5[0xe] = 0; puVar10 = puVar5; } thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4a8),puVar10); } FUN_1423cd250(&local_5a0,param_1 + 0x498); if (*(longlong *)(param_1 + 0x490) != 0) { uVar9 = FUN_141a18d30(*(longlong *)(param_1 + 0x490),&local_5b8); FUN_1423ccb40(&local_5a0,uVar9,0,0xffffffff); puVar10 = puVar11; if (0 < local_5ac) { do { FUN_1423d59b0(local_5b8 + (int)puVar10); uVar13 = (int)puVar10 + 1; puVar10 = (undefined8 *)(ulonglong)uVar13; } while ((int)uVar13 < local_5ac); } local_5ac = 0; FUN_14230889c(local_5b8); } FUN_141b8b4c0(param_1,&local_5a0); local_560 = std::_Func_impl_no_alloc<,void>::vftable; local_528 = &local_560; local_558 = param_1; FUN_1424704f0(&local_560); local_560 = std::_Func_impl_no_alloc<,void>::vftable; local_528 = &local_560; local_558 = param_1; FUN_1424704f0(&local_560); if (*(longlong *)(param_1 + 0x9a0) != 0) { local_590 = _DAT_143135940; uStack_588 = _UNK_143135948; local_580 = 0; cVar3 = FUN_141c79800(&local_5c0,&local_590); if (((cVar3 != '\0') && ((int)local_5c0 == 2)) && (*(longlong *)(param_1 + 0x4a8) != 0)) { puVar10 = (undefined8 *)FUN_14217c644(0x78); local_5b8 = puVar10; if (puVar10 != (undefined8 *)0x0) { local_5d8 = 0; FUN_141a08b30(puVar10,0x1234,0,0); *(undefined4 *)(puVar10 + 7) = 5; puVar10[8] = 0x15; puVar10[9] = 0; puVar10[10] = 0; *puVar10 = db::DBCommonMessage::vftable; puVar10[0xb] = 0; puVar10[0xc] = 0; puVar10[0xd] = 0; puVar10[0xe] = 0; puVar11 = puVar10; } thunk_FUN_141a08cc0(*(undefined8 *)(param_1 + 0x4a8),puVar11); } } cVar3 = FUN_1423c96e0(param_1); uVar9 = DAT_144c874b8; do { if (cVar3 != '\0') { LAB_141acb108: iVar12 = 0; if (0 < local_594) { do { FUN_1423d59b0(local_5a0 + (longlong)iVar12 * 8); iVar12 = iVar12 + 1; } while (iVar12 < local_594); } local_594 = 0; FUN_14230889c(local_5a0); LAB_141acb13b: FUN_1423d59b0(&local_5a8); return; } puVar11 = (undefined8 *)FUN_141a09090(param_1 + 0x250,0xffffffff); if (puVar11 == (undefined8 *)0x0) { FUN_1423d5720(local_578,"common message parameter error"); FUN_1423ac220(local_578); FUN_1423d59b0(local_578); } else { if (*(int *)(puVar11 + 7) == 1) { (**(code **)*puVar11)(puVar11,1); goto LAB_141acb108; } puVar10 = (undefined8 *)puVar11[8]; if ((*(int *)(puVar11 + 7) != 100) || (puVar10 == (undefined8 *)0x0)) { FUN_1423d5720(&local_5b8,"message parameter error"); FUN_1423ac220(&local_5b8); FUN_1423d59b0(&local_5b8); (**(code **)*puVar11)(puVar11,1); goto LAB_141acb0e6; } *(undefined4 *)(param_1 + 0x73c) = *(undefined4 *)((longlong)puVar10 + 0xc); uVar1 = *(undefined4 *)(puVar10 + 1); cVar3 = '\0'; cVar4 = FUN_1423c96e0(param_1); while ((cVar4 == '\0' && (cVar3 = FUN_1423aa4b0(param_1 + 0x610), cVar3 == '\0'))) { FUN_1423c9430(param_1,uVar9); cVar4 = FUN_1423c96e0(param_1); } switch(uVar1) { case 1: cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { if (*(longlong *)(param_1 + 0x490) == 0) { uVar6 = FUN_1423cd280(&local_570); uVar13 = local_5c8 | 2; } else { uVar6 = FUN_141a18d30(*(longlong *)(param_1 + 0x490),&local_590); uVar13 = local_5c8 | 1; } local_5c0 = (undefined8 *)CONCAT44(local_5c0._4_4_,uVar13); local_5c8 = uVar13; FUN_141b8b4c0(param_1,uVar6); if ((uVar13 & 2) != 0) { uVar13 = uVar13 & 0xfffffffd; iVar12 = 0; local_5c8 = uVar13; if (0 < local_564) { do { FUN_1423d59b0(local_570 + (longlong)iVar12 * 8); iVar12 = iVar12 + 1; } while (iVar12 < local_564); } local_564 = 0; FUN_14230889c(local_570); } if ((uVar13 & 1) != 0) { local_5c8 = uVar13 & 0xfffffffe; iVar12 = 0; if (0 < uStack_588._4_4_) { do { FUN_1423d59b0(local_590 + (longlong)iVar12 * 8); iVar12 = iVar12 + 1; } while (iVar12 < uStack_588._4_4_); } uStack_588 = uStack_588 & 0xffffffff; FUN_14230889c(local_590); } } break; case 2: local_5c0 = puVar10; cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { FUN_141b0a540(param_1,puVar10); } (**(code **)*puVar10)(puVar10,1); FUN_1423aa1e0(); goto LAB_141acb08b; case 4: cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { FUN_141b395e0(param_1,puVar10); } break; case 5: cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { FUN_141ad8260(param_1); } break; case 6: cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { FUN_141ad8520(param_1); } break; case 7: cVar4 = FUN_1423c96e0(param_1); if (cVar4 == '\0') { FUN_141b95950(param_1,0,0); } } (**(code **)*puVar10)(puVar10,1); LAB_141acb08b: if (cVar3 != '\0') { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x610)); } (**(code **)*puVar11)(puVar11,1); } LAB_141acb0e6: cVar3 = FUN_1423c96e0(param_1); } while( true ); } //================ FUN_1423c9ab0 @ 1423c9ab0 ================ void FUN_1423c9ab0(longlong *param_1) { int *piVar1; int iVar2; ulonglong uVar3; uint uVar4; ulonglong *puVar5; longlong lVar6; longlong lVar7; char cVar8; DWORD DVar9; undefined8 *puVar10; HANDLE hThread; undefined8 *local_res18 [2]; FUN_1423c9c20(local_res18); puVar10 = (undefined8 *)FUN_140c6d7f0(local_res18[0] + 2); *puVar10 = param_1; cVar8 = FUN_1423a8dc0(param_1 + 0x12,DAT_144c87620); if (cVar8 != '\0') { if ((int)param_1[0x3d] != 0) { uVar4 = *(uint *)(param_1 + 0x3d); hThread = GetCurrentThread(); SetThreadAffinityMask(hThread,(ulonglong)uVar4); } MXCSR = MXCSR | 0x8000; (**(code **)(*param_1 + 8))(param_1); } puVar10 = local_res18[0]; DVar9 = GetCurrentThreadId(); for (puVar5 = (ulonglong *)puVar10[2]; puVar5 != (ulonglong *)0x0; puVar5 = (ulonglong *)puVar5[1] ) { LOCK(); uVar3 = *puVar5; if (DVar9 == uVar3) { *puVar5 = 0; } UNLOCK(); if (DVar9 == uVar3) break; } cVar8 = *(char *)((longlong)param_1 + 0x1ec); CloseHandle((HANDLE)param_1[2]); LOCK(); param_1[3] = 0; UNLOCK(); LOCK(); param_1[2] = 0; UNLOCK(); if (cVar8 != '\0') { (**(code **)*param_1)(param_1,1); } if (local_res18[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { lVar7 = local_res18[0][2]; while (lVar7 != 0) { lVar6 = *(longlong *)(lVar7 + 8); thunk_FUN_14217cc5c(lVar7,0x18); lVar7 = lVar6; } *local_res18[0] = juce::ReferenceCountedObject::vftable; thunk_FUN_14217cc5c(local_res18[0],0x18); return; } } return; }