Advertisement
Guest User

Untitled

a guest
Dec 5th, 2021
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. int SeemsToHandleModDllFolder_475A50()
  2. {
  3. HMODULE LibraryA; // eax
  4. FARPROC InitGlobals; // eax
  5. void (__cdecl *v2)(int, int, int, void *, int); // edi
  6. int v3; // eax
  7. int v4; // esi
  8. int v5; // eax
  9. int v6; // esi
  10. int v7; // edi
  11. _DWORD *v8; // eax
  12. _DWORD *v9; // edx
  13. _DWORD *v10; // ebx
  14. int v11; // eax
  15. int v12; // ecx
  16. int v13; // eax
  17. char *v14; // esi
  18. _DWORD *v15; // edx
  19. int v16; // ebx
  20. _DWORD *v17; // edx
  21. int v19; // [esp-18h] [ebp-23Ch]
  22. void *v20; // [esp-14h] [ebp-238h]
  23. int v21; // [esp-10h] [ebp-234h]
  24. CHAR LibFileName[256]; // [esp+0h] [ebp-224h] BYREF
  25. char v23[272]; // [esp+100h] [ebp-124h] BYREF
  26. _DWORD *v24; // [esp+210h] [ebp-14h]
  27. HMODULE v25; // [esp+214h] [ebp-10h]
  28. int v26; // [esp+220h] [ebp-4h]
  29.  
  30. sub_494830(v23, aModdll, 0);
  31. v26 = 0;
  32. while ( sub_494D60(v23, aDll) )
  33. {
  34. sub_494DC0(LibFileName);
  35. LibraryA = LoadLibraryA(LibFileName);
  36. v25 = LibraryA;
  37. if ( LibraryA )
  38. {
  39. InitGlobals = GetProcAddress(LibraryA, InitGlobalsProc);
  40. v2 = InitGlobals;
  41. if ( dword_B79534 )
  42. {
  43. LOWORD(InitGlobals) = word_B65914;
  44. v3 = (*(*dword_B79534 + 20))(dword_B79534, InitGlobals);
  45. }
  46. else
  47. {
  48. v3 = 0;
  49. }
  50. v4 = dword_B796EC;
  51. v21 = v3;
  52. v20 = off_B343AC;
  53. v19 = dword_B796E0;
  54. v5 = sub_62B460();
  55. v2(v4, v5, v19, v20, v21);
  56. v6 = dword_B656B4;
  57. v7 = dword_B656B4 + 1;
  58. if ( v7 <= HIWORD(dword_B656B4) )
  59. {
  60. v17 = Block;
  61. }
  62. else
  63. {
  64. if ( !HIWORD(dword_B656B4) )
  65. HIWORD(dword_B656B4) = dword_B656B4 + 1;
  66. sub_4864B0(dword_B656B4 + 1);
  67. v8 = operator new(4 * HIWORD(dword_B656B4));
  68. v9 = Block;
  69. v10 = v8;
  70. v24 = v8;
  71. if ( Block )
  72. {
  73. v11 = 0;
  74. if ( v6 > 0 )
  75. {
  76. do
  77. {
  78. v10[v11] = v9[v11];
  79. ++v11;
  80. }
  81. while ( v11 < v6 );
  82. v9 = Block;
  83. }
  84. v12 = 0;
  85. v13 = dword_B656B4 - v6;
  86. v14 = &v9[v6];
  87. if ( v13 > 0 )
  88. {
  89. v15 = &v10[v7];
  90. do
  91. {
  92. v16 = *&v14[4 * v12++];
  93. *v15++ = v16;
  94. }
  95. while ( v12 < v13 );
  96. v9 = Block;
  97. v10 = v24;
  98. }
  99. FreeMemoryBlock_86C280(v9);
  100. }
  101. v17 = v10;
  102. Block = v10;
  103. }
  104. LOWORD(dword_B656B4) = v7;
  105. v17[v7 - 1] = v25;
  106. }
  107. }
  108. v26 = -1;
  109. return sub_4948D0(v23);
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement