You are not logged in.
Pages: 1
Вот есть функция:
load_txd_fronten1 proc near ; CODE XREF: sub_458EC0+58Dp .text:00580CF0 ; sub_4A3A34+B0p ... .text:00580CF0 .text:00580CF0 arg_0 = dword ptr 4 .text:00580CF0 arg_4 = dword ptr 8 .text:00580CF0 .text:00580CF0 push ebx .text:00580CF1 push esi .text:00580CF2 push edi .text:00580CF3 push ebp .text:00580CF4 push 1 .text:00580CF6 xor bl, bl .text:00580CF8 mov ebp, [esp+14h+arg_0] .text:00580CFC mov edi, [esp+14h+arg_4] .text:00580D00 call sub_63F020 .text:00580D05 pop ecx .text:00580D06 .text:00580D06 loc_580D06: ; CODE XREF: load_txd_fronten1+27j .text:00580D06 push edi .text:00580D07 push 1 .text:00580D09 push 2 .text:00580D0B call sub_645A10 .text:00580D10 mov esi, eax .text:00580D12 add esp, 0Ch .text:00580D15 test esi, esi .text:00580D17 jz short loc_580D06 .text:00580D19 test esi, esi .text:00580D1B jz short loc_580D7E .text:00580D1D mov eax, ds:dword_9B6A54 .text:00580D22 mov ecx, eax .text:00580D24 mov ebx, [ecx+4] .text:00580D27 movzx edx, byte ptr [ebx+ebp] .text:00580D2B and edx, 80h .text:00580D31 jz short loc_580D37 .text:00580D33 xor edi, edi .text:00580D35 jmp short loc_580D43 .text:00580D37 ; --------------------------------------------------------------------------- .text:00580D37 .text:00580D37 loc_580D37: ; CODE XREF: load_txd_fronten1+41j .text:00580D37 mov ecx, ebp .text:00580D39 lea edi, [ecx+ecx*8] .text:00580D3C lea edi, [edi+edi*2] .text:00580D3F add edi, ecx .text:00580D41 add edi, [eax] .text:00580D43 .text:00580D43 loc_580D43: ; CODE XREF: load_txd_fronten1+45j .text:00580D43 push 0 .text:00580D45 push 0 .text:00580D47 push 16h .text:00580D49 push esi .text:00580D4A call sub_64FB10 .text:00580D4F add esp, 10h .text:00580D52 test eax, eax .text:00580D54 jz short loc_580D67 .text:00580D56 push esi .text:00580D57 call sub_61E6F0 .text:00580D5C mov [edi], eax .text:00580D5E cmp dword ptr [edi], 0 .text:00580D61 setnz bl .text:00580D64 pop ecx .text:00580D65 jmp short loc_580D74 .text:00580D67 ; --------------------------------------------------------------------------- .text:00580D67 .text:00580D67 loc_580D67: ; CODE XREF: load_txd_fronten1+64j .text:00580D67 push offset aFailedToLoadTx ; "Failed to load TXD\n" .text:00580D6C call nullsub_1 .text:00580D71 xor bl, bl .text:00580D73 pop ecx .text:00580D74 .text:00580D74 loc_580D74: ; CODE XREF: load_txd_fronten1+75j .text:00580D74 push 0 .text:00580D76 push esi .text:00580D77 call sub_645940 .text:00580D7C pop ecx .text:00580D7D pop ecx .text:00580D7E .text:00580D7E loc_580D7E: ; CODE XREF: load_txd_fronten1+2Bj .text:00580D7E mov al, bl .text:00580D80 pop ebp .text:00580D81 pop edi .text:00580D82 pop esi .text:00580D83 pop ebx .text:00580D84 retn .text:00580D84 load_txd_fronten1 endp .text:00580D84
В псевдо коде:
char __cdecl load_txd_fronten1(int a1, int a2) { char v2; // bl@1 int v3; // eax@2 int v4; // esi@2 int v5; // edi@5 v2 = 0; sub_63F020(1); do { v3 = sub_645A10(2, 1, a2); v4 = v3; } while ( !v3 ); if ( v3 ) { if ( *(_BYTE *)(*(_DWORD *)(dword_9B6A54 + 4) + a1) & 0x80 ) v5 = 0; else v5 = *(_DWORD *)dword_9B6A54 + 28 * a1; if ( sub_64FB10(v3, 22, 0, 0) ) { *(_DWORD *)v5 = sub_61E6F0(v4); v2 = *(_DWORD *)v5 != 0; } else { nullsub_1(); v2 = 0; } sub_645940(v4, 0); } return v2; }
Сделал так:
Load_backrounf : procedure(FileName : pchar; i : integer); cdecl;
@Load_backrounf := PCardinal($00580CF0);
Load_backrounf('MODELS\my_fronten1.TXD',1);
Не хочит загружать? В чем тут проблема, помогите пожалуйста.
Offline
Pages: 1