Untitled
unknown
c_cpp
9 months ago
16 kB
16
Indexable
undefined4 DecryptBMD(undefined4 folder,undefined4 fileName,char param_3) { longlong lVar1; char cVar2; undefined4 uVar3; undefined local_474 [772]; char local_170 [64]; undefined4 local_130; void *buffer; void *local_128; undefined4 local_124; undefined4 local_120; undefined4 local_11c; undefined4 local_118; undefined4 local_114; undefined4 local_110; int local_10c; undefined4 local_108; undefined4 local_104; undefined4 local_100; undefined4 local_fc; undefined4 local_f8; int local_f4; undefined4 local_f0; undefined4 local_ec; undefined4 local_e8; undefined4 local_e4; undefined4 local_e0; int local_dc; void *local_d8; void *local_d4; void *local_d0; void *local_cc; undefined4 local_c8; void *local_c4; void *local_c0; undefined local_bc [8]; void *local_b4; undefined4 local_b0; void *local_ac; int local_a8; uint local_a4; uint local_a0; uint local_9c; uint local_98; uint local_94; int local_90; uint local_8c; uint local_88; void *local_84; undefined4 local_80; void *local_7c; undefined4 local_78; undefined4 local_74; size_t LENGHT; int local_6c; undefined local_68; undefined local_67; undefined local_66; undefined local_65; undefined local_64; undefined local_63; undefined local_62; undefined local_61; undefined local_60; undefined local_5f; undefined local_5e; undefined local_5d; undefined local_5c; undefined local_5b; undefined local_5a; undefined local_59; undefined local_58; undefined local_57; undefined local_56; undefined local_55; undefined local_54; undefined local_53; undefined local_52; undefined local_51; undefined local_50; undefined local_4f; undefined local_4e; undefined local_4d; undefined local_4c; undefined local_4b; undefined local_4a; undefined local_49; uint local_48; int local_44; int local_40; int local_3c; int local_38; FILE *FILE; undefined4 *local_30; undefined *local_2c; int local_28; int local_24; undefined *local_20; void *bufferBuffer; int local_18; int local_14; void *local_10; undefined *puStack_c; undefined4 local_8; local_8 = 0xffffffff; puStack_c = &LAB_01a28514; local_10 = ExceptionList; if (param_3 == 1) { ExceptionList = &local_10; FUN_013df841(); FUN_0199d8d0(local_170,folder); FUN_0199d8e0(local_170,fileName); FILE = _fopen(local_170,"rb"); if (FILE == (FILE *)0x0) { uVar3 = 0; } else { _fseek(FILE,0,2); LENGHT = len(FILE); _fseek(FILE,0,0); buffer = (void *)create_buffer(LENGHT); bufferBuffer = buffer; _fread(buffer,1,LENGHT,FILE); _fclose(FILE); *(undefined *)(local_18 + 0x20) = *(undefined *)((int)bufferBuffer + 3); local_14 = 4; if (*(char *)(local_18 + 0x20) == '\f') { local_74 = *(undefined4 *)((int)bufferBuffer + 4); local_14 = 8; local_130 = FUN_00997e52(0,(int)bufferBuffer + 8,local_74); local_c0 = (void *)create_buffer(local_130); local_b4 = local_c0; FUN_00997e52(local_c0,(int)bufferBuffer + local_14,local_74); local_c4 = bufferBuffer; FID_conflict:_free(bufferBuffer); bufferBuffer = local_b4; local_14 = 0; } else if (*(char *)(local_18 + 0x20) == '\x0e') { local_78 = *(undefined4 *)((int)bufferBuffer + 4); local_14 = 8; local_c8 = FUN_017711fa(0,(int)bufferBuffer + 8,local_78); local_cc = (void *)create_buffer(local_c8); local_7c = local_cc; FUN_017711fa(local_cc,(int)bufferBuffer + local_14,local_78); local_d0 = bufferBuffer; FID_conflict:_free(bufferBuffer); bufferBuffer = local_7c; local_14 = 0; } else if (*(char *)(local_18 + 0x20) == '\x0f') { local_68 = 0xcc; local_67 = 0x50; local_66 = 0x45; local_65 = 0x13; local_64 = 0xc2; local_63 = 0xa6; local_62 = 0x57; local_61 = 0x4e; local_60 = 0xd6; local_5f = 0x9a; local_5e = 0x45; local_5d = 0x89; local_5c = 0xbf; local_5b = 0x2f; local_5a = 0xbc; local_59 = 0xd9; local_58 = 0x39; local_57 = 0xb3; local_56 = 0xb3; local_55 = 0xbd; local_54 = 0x50; local_53 = 0xbd; local_52 = 0xcc; local_51 = 0xb6; local_50 = 0x85; local_4f = 0x46; local_4e = 0xd1; local_4d = 0xd6; local_4c = 0x16; local_4b = 0x54; local_4a = 0xe0; local_49 = 0x87; thunk_FUN_009272b0(local_474,&local_68,0x20); local_80 = *(undefined4 *)((int)bufferBuffer + local_14); local_14 = local_14 + 4; local_d4 = (void *)create_buffer(local_80); local_84 = local_d4; thunk_FUN_00928cb0(local_d4,(int)bufferBuffer + local_14,local_80,local_474); if (bufferBuffer != (void *)0x0) { local_d8 = bufferBuffer; FID_conflict:_free(bufferBuffer); } bufferBuffer = local_84; local_14 = 0; } FUN_01971170(local_18,(int)bufferBuffer + local_14,0x20); *(undefined2 *)(local_18 + 0x24) = *(undefined2 *)((int)bufferBuffer + local_14 + 0x20); *(undefined2 *)(local_18 + 0x22) = *(undefined2 *)((int)bufferBuffer + local_14 + 0x22); *(undefined2 *)(local_18 + 0x26) = *(undefined2 *)((int)bufferBuffer + local_14 + 0x24); local_14 = local_14 + 0x26; if (*(short *)(local_18 + 0x24) < 1) { local_88 = 1; } else { local_88 = (uint)*(short *)(local_18 + 0x24); } local_8c = local_88; local_6c = create_buffer(-(uint)((int)((ulonglong)local_88 * 0x20 >> 0x20) != 0) | (uint)((ulonglong)local_88 * 0x20)); local_8 = 0; if (local_6c == 0) { local_90 = 0; } else { FUN_009915cb(local_6c,0x20,local_8c,FUN_011567c9); local_90 = local_6c; } local_dc = local_90; local_8 = 0xffffffff; *(int *)(local_18 + 0x28) = local_90; if (*(short *)(local_18 + 0x22) < 1) { local_94 = 1; } else { local_94 = (uint)*(short *)(local_18 + 0x22); } local_e0 = create_buffer(-(uint)((int)((ulonglong)local_94 * 0x8c >> 0x20) != 0) | (uint)((ulonglong)local_94 * 0x8c)); *(undefined4 *)(local_18 + 0x2c) = local_e0; if (*(short *)(local_18 + 0x26) < 1) { local_98 = 1; } else { local_98 = (uint)*(short *)(local_18 + 0x26); } local_e4 = create_buffer(-(uint)((int)((ulonglong)local_98 * 0x10 >> 0x20) != 0) | (uint)((ulonglong)local_98 * 0x10)); *(undefined4 *)(local_18 + 0x30) = local_e4; if (*(short *)(local_18 + 0x24) < 1) { local_9c = 1; } else { local_9c = (uint)*(short *)(local_18 + 0x24); } local_e8 = create_buffer(-(uint)((int)((ulonglong)local_9c * 0x20 >> 0x20) != 0) | (uint)((ulonglong)local_9c * 0x20)); *(undefined4 *)(local_18 + 0x34) = local_e8; if (*(short *)(local_18 + 0x24) < 1) { local_a0 = 1; } else { local_a0 = (uint)*(short *)(local_18 + 0x24); } local_ec = create_buffer(-(uint)((int)((ulonglong)local_a0 * 4 >> 0x20) != 0) | (uint)((ulonglong)local_a0 * 4)); *(undefined4 *)(local_18 + 0x38) = local_ec; if (*(short *)(local_18 + 0x24) < 1) { local_a4 = 1; } else { local_a4 = (uint)*(short *)(local_18 + 0x24); } local_f0 = create_buffer(-(uint)((int)((ulonglong)local_a4 * 4 >> 0x20) != 0) | (uint)((ulonglong)local_a4 * 4)); *(undefined4 *)(local_18 + 0x3c) = local_f0; *(undefined4 *)(local_18 + 0x40) = 0; if (*(short *)(local_18 + 0x24) < 1) { local_a8 = 1; } else { local_a8 = (int)*(short *)(local_18 + 0x24); } local_f4 = local_a8; local_f8 = 0; FUN_0115674d(*(undefined4 *)(local_18 + 0x3c),&local_f8,&local_f4); for (local_28 = 0; local_28 < *(short *)(local_18 + 0x24); local_28 = local_28 + 1) { local_20 = (undefined *)(local_28 * 0x20 + *(int *)(local_18 + 0x28)); *(undefined2 *)(local_20 + 4) = *(undefined2 *)((int)bufferBuffer + local_14); *(undefined2 *)(local_20 + 6) = *(undefined2 *)((int)bufferBuffer + local_14 + 2); *(undefined2 *)(local_20 + 8) = *(undefined2 *)((int)bufferBuffer + local_14 + 4); *(undefined2 *)(local_20 + 10) = *(undefined2 *)((int)bufferBuffer + local_14 + 6); *(undefined2 *)(local_20 + 2) = *(undefined2 *)((int)bufferBuffer + local_14 + 8); local_14 = local_14 + 10; *local_20 = 0; local_fc = create_buffer(-(uint)((int)((ulonglong)(uint)(int)*(short *)(local_20 + 4) * 0x10 >> 0x20) != 0) | (uint)((ulonglong)(uint)(int)*(short *)(local_20 + 4) * 0x10)); *(undefined4 *)(local_20 + 0xc) = local_fc; local_100 = create_buffer(-(uint)((int)((ulonglong)(uint)(int)*(short *)(local_20 + 6) * 0x14 >> 0x20) != 0) | (uint)((ulonglong)(uint)(int)*(short *)(local_20 + 6) * 0x14)); *(undefined4 *)(local_20 + 0x10) = local_100; local_104 = create_buffer(-(uint)((int)((ulonglong)(uint)(int)*(short *)(local_20 + 8) * 8 >> 0x20) != 0) | (uint)((ulonglong)(uint)(int)*(short *)(local_20 + 8) * 8)); *(undefined4 *)(local_20 + 0x14) = local_104; local_108 = create_buffer(-(uint)((int)((ulonglong)(uint)(int)*(short *)(local_20 + 10) * 0x24 >> 0x20) != 0) | (uint)((ulonglong)(uint)(int)*(short *)(local_20 + 10) * 0x24)); *(undefined4 *)(local_20 + 0x18) = local_108; local_24 = (int)*(short *)(local_20 + 4) << 4; FUN_01971170(*(undefined4 *)(local_20 + 0xc),(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; local_24 = *(short *)(local_20 + 6) * 0x14; FUN_01971170(*(undefined4 *)(local_20 + 0x10),(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; local_24 = (int)*(short *)(local_20 + 8) << 3; FUN_01971170(*(undefined4 *)(local_20 + 0x14),(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; local_24 = 0x24; local_10c = 0x40; for (local_44 = 0; local_44 < *(short *)(local_20 + 10); local_44 = local_44 + 1) { FUN_01971170(local_44 * 0x24 + *(int *)(local_20 + 0x18),(int)bufferBuffer + local_14, local_24); local_14 = local_14 + local_10c; } FUN_01971170(*(int *)(local_18 + 0x34) + local_28 * 0x20,(int)bufferBuffer + local_14,0x20); local_14 = local_14 + 0x20; FUN_011567ac(); local_8 = 1; cVar2 = FUN_012a4ea8(*(int *)(local_18 + 0x34) + local_28 * 0x20); if (cVar2 == '\0') { *(undefined4 *)(local_20 + 0x1c) = 0; } else { local_ac = operator_new(5); local_8._0_1_ = 2; if (local_ac == (void *)0x0) { local_b0 = 0; } else { local_b0 = FUN_0115677c(); } local_110 = local_b0; local_8 = CONCAT31(local_8._1_3_,1); *(undefined4 *)(local_20 + 0x1c) = local_b0; FUN_012a4e61(local_bc); } local_8 = 0xffffffff; FUN_01156838(); } for (local_28 = 0; local_28 < *(short *)(local_18 + 0x26); local_28 = local_28 + 1) { local_2c = (undefined *)(local_28 * 0x10 + *(int *)(local_18 + 0x30)); *local_2c = 0; *(undefined2 *)(local_2c + 8) = *(undefined2 *)((int)bufferBuffer + local_14); local_2c[10] = *(undefined *)((int)bufferBuffer + local_14 + 2); local_14 = local_14 + 3; if (local_2c[10] == '\0') { *(undefined4 *)(local_2c + 0xc) = 0; } else { lVar1 = (ulonglong) (-(uint)((int)((ulonglong)(uint)(int)*(short *)(local_2c + 8) * 3 >> 0x20) != 0) | (uint)((ulonglong)(uint)(int)*(short *)(local_2c + 8) * 3)) * 4; local_114 = create_buffer(-(uint)((int)((ulonglong)lVar1 >> 0x20) != 0) | (uint)lVar1); *(undefined4 *)(local_2c + 0xc) = local_114; local_24 = *(short *)(local_2c + 8) * 0xc; FUN_01971170(*(undefined4 *)(local_2c + 0xc),(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; } } for (local_28 = 0; local_28 < *(short *)(local_18 + 0x22); local_28 = local_28 + 1) { local_38 = local_28 * 0x8c + *(int *)(local_18 + 0x2c); *(undefined *)(local_38 + 0x22) = *(undefined *)((int)bufferBuffer + local_14); local_14 = local_14 + 1; if (*(char *)(local_38 + 0x22) == '\0') { FUN_01971170(local_38,(int)bufferBuffer + local_14,0x20); *(undefined2 *)(local_38 + 0x20) = *(undefined2 *)((int)bufferBuffer + local_14 + 0x20); local_14 = local_14 + 0x22; lVar1 = (ulonglong)(uint)(int)*(short *)(local_18 + 0x26) * 0xc; local_118 = create_buffer(-(uint)((int)((ulonglong)lVar1 >> 0x20) != 0) | (uint)lVar1); *(undefined4 *)(local_38 + 0x24) = local_118; for (local_3c = 0; local_3c < *(short *)(local_18 + 0x26); local_3c = local_3c + 1) { local_30 = (undefined4 *)(local_3c * 0xc + *(int *)(local_38 + 0x24)); local_24 = *(short *)(*(int *)(local_18 + 0x30) + 8 + local_3c * 0x10) * 0xc; local_48 = (uint)*(short *)(*(int *)(local_18 + 0x30) + 8 + local_3c * 0x10); lVar1 = (ulonglong) (-(uint)((int)((ulonglong)local_48 * 3 >> 0x20) != 0) | (uint)((ulonglong)local_48 * 3)) * 4; local_11c = create_buffer(-(uint)((int)((ulonglong)lVar1 >> 0x20) != 0) | (uint)lVar1); *local_30 = local_11c; lVar1 = (ulonglong) (-(uint)((int)((ulonglong)local_48 * 3 >> 0x20) != 0) | (uint)((ulonglong)local_48 * 3)) * 4; local_120 = create_buffer(-(uint)((int)((ulonglong)lVar1 >> 0x20) != 0) | (uint)lVar1); local_30[1] = local_120; lVar1 = (ulonglong) (-(uint)((int)((ulonglong)local_48 * 4 >> 0x20) != 0) | (uint)((ulonglong)local_48 * 4)) * 4; local_124 = create_buffer(-(uint)((int)((ulonglong)lVar1 >> 0x20) != 0) | (uint)lVar1); local_30[2] = local_124; FUN_01971170(*local_30,(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; FUN_01971170(local_30[1],(int)bufferBuffer + local_14,local_24); local_14 = local_14 + local_24; for (local_40 = 0; local_40 < (int)local_48; local_40 = local_40 + 1) { FUN_00d8899c(local_40 * 0xc + local_30[1],local_40 * 0x10 + local_30[2]); } } } } local_128 = bufferBuffer; FID_conflict:_free(bufferBuffer); FUN_013de12a(0); _memset((void *)(local_18 + 0xb6),-1,0x14); uVar3 = 1; } } else { uVar3 = 1; } ExceptionList = local_10; return uVar3; }
Editor is loading...
Leave a Comment