Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __cdecl read_file_sub_101BD520(int this_a1, const char *filenameb)
- {
- FILE *fd_; // eax@1 MAPDST
- int res; // eax@2
- void (__cdecl *_fread)(void *, size_t, size_t, FILE *); // esi@3
- int v7; // eax@3
- const char *v8; // ecx@3
- int v9; // edx@4
- const char *szv10; // eax@7
- int ptrv11; // eax@9 MAPDST
- int v12; // ecx@9
- int v14; // eax@9
- int v15; // ecx@13
- size_t v16; // ecx@17
- int v17; // eax@17
- int szv18; // edx@18
- const void *v19; // eax@21
- char *v20; // edi@24
- int v21[41]; // [sp+4h] [bp-B4h]@21
- size_t ElementSize; // [sp+A8h] [bp-10h]@9
- void *v23; // [sp+ACh] [bp-Ch]@3
- int i; // [sp+B0h] [bp-8h]@9
- int idxv33; // [sp+B4h] [bp-4h]@13
- fd_ = fopen(filenameb, "rb");
- if ( fd_ )
- {
- _fread = fread;
- filenameb = 0;
- fread(&filenameb, 4u, 1u, fd_);
- v7 = *(_DWORD *)(this_a1 + 4);
- v8 = filenameb + 1;
- v23 = (void *)(filenameb + 1);
- if ( v7 )
- v9 = (*(_DWORD *)(this_a1 + 12) - v7) / 164;
- else
- v9 = 0;
- if ( v9 < (unsigned int)v8 )
- {
- szv10 = filenameb + 1;
- if ( (signed int)v8 < 0 )
- szv10 = 0;
- ptrv11 = operator new(164 * (_DWORD)szv10);
- v12 = *(_DWORD *)(this_a1 + 8);
- ElementSize = ptrv11;
- v14 = *(_DWORD *)(this_a1 + 4);
- for ( i = v12; v14 != v12; ptrv11 += 164 )
- {
- if ( ptrv11 )
- {
- memcpy((void *)ptrv11, (const void *)v14, 164u);
- _fread = fread;
- v12 = i;
- }
- v14 += 164;
- }
- v15 = *(_DWORD *)(this_a1 + 4);
- i = *(_DWORD *)(this_a1 + 8);
- idxv33 = v15;
- if ( v15 != i )
- {
- while ( 1 )
- {
- delete_sub_101BE180(v15, ptrv11, 0);
- idxv33 += 164;
- if ( idxv33 == i )
- break;
- v15 = idxv33;
- }
- }
- operator delete(*(_DWORD *)(this_a1 + 4));
- v16 = ElementSize;
- *(_DWORD *)(this_a1 + 12) = ElementSize + 164 * (_DWORD)v23;
- v17 = *(_DWORD *)(this_a1 + 4);
- if ( v17 )
- szv18 = (*(_DWORD *)(this_a1 + 8) - v17) / 164;
- else
- szv18 = 0;
- *(_DWORD *)(this_a1 + 8) = v16 + 164 * szv18;
- *(_DWORD *)(this_a1 + 4) = v16;
- }
- v23 = (void *)SE_Get_UIManagerPtr();
- clear_sub_101BD4F0(v21);
- sub_101BDC70(this_a1, *(const void **)(this_a1 + 8), 1u, v19);
- for ( i = 0; i < (signed int)filenameb; ++i )
- {
- clear_sub_101BD4F0(v21);
- _fread(v21, 4u, 1u, fd_);
- _fread(&v21[1], 4u, 1u, fd_);
- _fread(&v21[2], 4u, 1u, fd_);
- _fread(&ElementSize, 4u, 1u, fd_);
- if ( !((size_t (__cdecl *)(void *, size_t, size_t, FILE *))_fread)(&v21[4], ElementSize, 1u, fd_) )
- CUIManager::SetNoTranslationString(v23, 5, v21[0]);
- _fread(&v21[17], 4u, 1u, fd_);
- _fread(&v21[18], 4u, 1u, fd_);
- _fread(&v21[19], 4u, 1u, fd_);
- _fread(&v21[20], 4u, 1u, fd_);
- v20 = (char *)&v21[22];
- idxv33 = 10;
- do
- {
- _fread(v20 - 4, 4u, 1u, fd_);
- _fread(v20, 4u, 1u, fd_);
- v20 += 8;
- --idxv33;
- }
- while ( idxv33 );
- sub_101BDC70(this_a1, *(const void **)(this_a1 + 8), 1u, v21);
- }
- fclose(fd_);
- res = (int)filenameb;
- }
- else
- {
- MessageBoxA(0, "File is not Exist.", "error!", 0);
- res = -1;
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement