;* Call: *************************************************************** lzma_compress: push ebp mov ebp,esp and esp,0xFFFFFFF8 sub esp,0xC push ebx push esi push edi push 2 pop esi xor ebx,ebx mov [esp+0x14],esi mov [0x19FB0],bl mov byte [0x19FB1],1 mov [esp+0x10],esi ;---------------------------------------------------------- .labl_00: mov ecx,[esp+0x10] xor edi,edi sar ecx,1 dec ecx inc edi shl edi,cl cmp edi,ebx jbe .labl_01 mov eax,[esp+0x14] push edi push dword [esp+0x14] lea eax,[eax+0x19FB0] push eax call _memset add esp,0xC add [esp+0x14],edi ;---------------------------------------------------------- .labl_01: inc dword [esp+0x10] cmp dword [esp+0x10],0x14 jl .labl_00 mov edi,[ebp+0x14] push 3 pop eax mov ecx,edi and ecx,eax mov edx,0x80 ;'€' mov [0x1CC30],edx mov [0x51A00],esi mov [0x1CC34],eax mov [0x1B234],eax mov [0x2956C],ebx mov [0x19FA9],bl mov [0x19FA8],bl je .labl_02 sub edi,ecx add edi,4 ;---------------------------------------------------------- .labl_02: mov [0x519F4],eax mov eax,[0x29568] mov [0x519F0],edi add edi,0x6000 inc eax mov [0x519F8],ebx mov [0x519FC],ebx mov [0x52218],edx mov [0x51A0C],eax mov [0x52224],edi mov dword [0x52220],0xFF ;'ÿ' call lz_cm_01 call cm_pr_07 call cm_pr_08 call cm_pr_09 push 0x7F ;'' pop esi mov [0x19F64],esi mov [esp+0x10],ebx ;---------------------------------------------------------- .labl_03: push dword [esp+0x10] mov eax,0xD6D8 call cm_pr_01 inc dword [esp+0x10] cmp dword [esp+0x10],4 jb .labl_03 mov [0x294F4],esi xor esi,esi ;---------------------------------------------------------- .labl_04: push esi mov eax,0x1CC68 call cm_pr_01 inc esi cmp esi,4 jb .labl_04 mov eax,[ebp+8] mov esi,[ebp+0xC] dec eax mov [0x52628],eax mov eax,[ebp+0x10] inc eax mov [0x52630],eax mov ecx,0x110000 xor eax,eax mov [0x1CC28],ebx mov [0x1CC2C],ebx mov [0x1B400],ebx mov [0x1B404],ebx mov [0x52634],esi mov dword [0x5262C],1 rep stosd mov [0x5221C],ebx ;---------------------------------------------------------- .labl_08: push 8 mov eax,ebx pop ecx ;---------------------------------------------------------- .labl_07: test al,1 je .labl_05 shr eax,1 xor eax,0xEDB88320 jmp .labl_06 ;---------------------------------------------------------- .labl_05: shr eax,1 ;---------------------------------------------------------- .labl_06: dec ecx jne .labl_07 mov [0x52228+ebx*4],eax inc ebx cmp ebx,0x100 jb .labl_08 ;---------------------------------------------------------- .labl_09: call lz_cm_02 test al,al jne .labl_09 mov eax,[0x52634] pop edi sub eax,esi pop esi pop ebx mov esp,ebp pop ebp ret 0x10 ;***************************************************************************** ;* Call: *************************************************************** _memset: push edi mov edi,[esp+8] mov al,[esp+12] mov ecx,[esp+16] rep stosb pop edi ret ;***************************************************************************** ;* Call: *************************************************************** lz_cm_01: and dword [0x51A10],0 and dword [0x51A14],0 or dword [0x51A04],0xFFFFFFFF push ebx push esi push edi xor eax,eax mov edi,0x1BC08 stosd stosd xor ebx,ebx stosd inc ebx mov byte [0x519EC],0 mov byte [0x19FAB],0 stosd mov [0x51A08],ebx mov byte [0x519ED],0 xor ecx,ecx ;---------------------------------------------------------- .labl_00: mov eax,ebx shl eax,cl push 8 pop edx sub edx,ecx lea esi,[0x51A18+eax*4] shl edx,6 ;---------------------------------------------------------- .labl_01: mov edi,eax shl edi,6 shr edi,cl add edi,edx mov [esi],edi add esi,4 dec eax jne .labl_01 inc ecx cmp ecx,9 jl .labl_00 push 0xC pop edx mov esi,0x400 mov eax,esi mov ecx,edx mov edi,0x29538 rep stosd mov ecx,edx mov edi,0x1AF00 rep stosd mov ecx,edx mov edi,0x1CC38 rep stosd mov ecx,edx mov edi,0x515B8 rep stosd xor ecx,ecx ;---------------------------------------------------------- .labl_02: lea edi,[ecx+0x1A7B0] mov eax,esi stosd stosd stosd stosd lea edi,[ecx+0x1AF30] mov eax,esi stosd stosd stosd add ecx,0x40 ;'@' cmp ecx,0x300 stosd jl .labl_02 mov eax,[0x519F4] mov ecx,[0x519F8] add ecx,eax mov eax,ebx shl eax,cl test eax,eax jbe .labl_04 xor edx,edx mov ebx,eax ;---------------------------------------------------------- .labl_03: mov eax,[0x519F0] lea edi,[edx+eax] mov ecx,0x300 mov eax,esi add edx,0xC00 dec ebx rep stosd jne .labl_03 ;---------------------------------------------------------- .labl_04: mov edi,0x1BC18 ;---------------------------------------------------------- .labl_05: push 6 pop ecx mov eax,edi call cm_pr_15 add edi,0x404 cmp edi,0x1CC28 jl .labl_05 push 0x72 ;'r' mov eax,esi pop ecx mov edi,0x1B238 mov esi,0xD6D8 rep stosd call cm_pr_00 mov esi,0x1CC68 call cm_pr_00 push 4 pop ecx mov eax,0x515E8 call cm_pr_15 pop edi xor eax,eax pop esi mov byte [0x19FAA],0 ;0x1B238 mov [0x29574],eax mov [0x1AEF8],eax mov [0x1AEFC],eax pop ebx ret ;***************************************************************************** ;* Call: *************************************************************** lz_cm_02: sub esp,0x2C cmp byte [0x19FA8],0 push ebx push ebp push esi push edi je .labl_01 ;---------------------------------------------------------- .labl_00: xor al,al jmp .labl_28 ;---------------------------------------------------------- .labl_01: mov ebp,[0x1B400] mov edi,[0x1B404] mov eax,ebp or eax,edi mov byte [0x19FA8],1 mov [esp+0x34],ebp mov [esp+0x38],edi jne .labl_04 mov eax,[0x52630] sub eax,[0x5262C] jne .labl_03 push 5 pop esi ;---------------------------------------------------------- .labl_02: call cm_pr_13 dec esi jne .labl_02 jmp .labl_00 ;---------------------------------------------------------- .labl_03: call cm_pr_06 movzx esi,byte [0x519EC] mov edx,esi shl edx,6 xor edi,edi push edi add edx,0x1AF30 call cm_pr_14 mov al,[esi+LiteralNextStates] mov ecx,[0x5262C] mov [0x519EC],al mov eax,[0x52628] sub eax,[0x1AEFC] mov bl,[eax+ecx] mov al,[0x19FAB] mov [esp+0x18],bl push dword [esp+0x18] push edi call cm_pr_04 imul eax,eax,0xC00 add eax,[0x519F0] push eax call cm_pr_03 dec dword [0x1AEFC] xor ebp,ebp inc ebp mov [0x19FAB],bl mov [0x1B400],ebp mov [0x1B404],edi ;---------------------------------------------------------- .labl_04: mov eax,[0x52630] sub eax,[0x5262C] jne .labl_06 push 5 pop esi ;---------------------------------------------------------- .labl_05: call cm_pr_13 dec esi jne .labl_05 jmp .labl_00 ;---------------------------------------------------------- .labl_06: lea eax,[esp+0x14] push eax lea eax,[esp+0x14] push eax mov ebx,ebp push ebp and ebx,3 call lz_cm_03 cmp dword [esp+0x14],1 jne .labl_09 cmp dword [esp+0x10],0xFFFFFFFF jne .labl_09 movzx eax,byte [0x519EC] shl eax,4 add eax,ebx push 0 lea edx,[0x1AF30+eax*4] call cm_pr_14 mov eax,[0x52628] mov esi,[0x1AEFC] mov ebx,[0x5262C] sub eax,esi mov al,[eax+ebx] mov [esp+0x18],al mov al,[0x19FAB] push ebp call cm_pr_04 imul eax,eax,0xC00 add eax,[0x519F0] cmp byte [0x519EC],7 push dword [esp+0x18] jb .labl_07 mov ecx,[0x52628] sub ecx,[0x1BC08] sub ecx,esi mov cl,[ecx+ebx-1] mov [esp+0x34],cl push dword [esp+0x34] push eax call lz_cm_04 jmp .labl_08 ;---------------------------------------------------------- .labl_07: push eax call cm_pr_03 ;---------------------------------------------------------- .labl_08: movzx eax,byte [0x519EC] mov al,[eax+LiteralNextStates] mov [0x519EC],al mov al,[esp+0x18] jmp .labl_24 ;---------------------------------------------------------- .labl_09: movzx edi,byte [0x519EC] mov eax,edi shl eax,4 add eax,ebx shl eax,2 push 1 lea edx,[eax+0x1AF30] mov [esp+0x28],eax call cm_pr_14 cmp dword [esp+0x10],4 jnb .labl_17 mov esi,edi shl esi,2 push 1 lea edx,[esi+0x515B8] call cm_pr_14 cmp dword [esp+0x10],0 lea edx,[esi+0x1CC38] jne .labl_10 push 0 call cm_pr_14 mov edx,[esp+0x24] xor eax,eax cmp dword [esp+0x14],1 lea edx,[edx+0x1A7B0] setne al jmp .labl_12 ;---------------------------------------------------------- .labl_10: push 1 call cm_pr_14 cmp dword [esp+0x10],1 lea edx,[esi+0x1AF00] jne .labl_11 push 0 jmp .labl_13 ;---------------------------------------------------------- .labl_11: push 1 call cm_pr_14 mov eax,[esp+0x10] add eax,0xFFFFFFFE lea edx,[esi+0x29538] ;---------------------------------------------------------- .labl_12: push eax ;---------------------------------------------------------- .labl_13: call cm_pr_14 mov eax,[esp+0x14] cmp eax,1 jne .labl_14 mov al,[edi+ShortRepNextStates] jmp .labl_15 ;---------------------------------------------------------- .labl_14: add eax,0xFFFFFFFE mov esi,0x1CC68 call cm_pr_02 mov al,[edi+RepNextStates] ;---------------------------------------------------------- .labl_15: mov [0x519EC],al mov eax,[esp+0x10] mov ecx,[0x1BC08+eax*4] test eax,eax je .labl_23 ;---------------------------------------------------------- .labl_16: dec eax mov edx,[0x1BC08+eax*4] mov [0x1BC0C+eax*4],edx jne .labl_16 mov [0x1BC08],ecx jmp .labl_23 ;---------------------------------------------------------- .labl_17: push 0 lea edx,[0x515B8+edi*4] call cm_pr_14 mov al,[edi+MatchNextStates] mov edi,[esp+0x14] mov [0x519EC],al add edi,0xFFFFFFFE mov eax,edi mov esi,0xD6D8 call cm_pr_02 sub dword [esp+0x10],4 mov eax,[esp+0x10] call cm_pr_000 cmp dword [esp+0x14],6 mov ebx,eax jb .labl_18 push 3 pop edi ;---------------------------------------------------------- .labl_18: imul edi,edi,0x404 push ebx add edi,0x1BC18 call cm_pr_16 cmp ebx,4 jb .labl_21 mov esi,[esp+0x10] xor eax,eax inc eax mov ecx,ebx mov edi,ebx and edi,eax shr ecx,1 dec ecx or edi,2 shl edi,cl sub esi,edi cmp ebx,0xE jnb .labl_20 mov [esp+0x20],esi mov [esp+0x1C],eax test ecx,ecx jle .labl_21 mov [esp+0x24],ecx ;---------------------------------------------------------- .labl_19: mov edx,[esp+0x1C] mov esi,[esp+0x20] sub edx,ebx add edx,edi and esi,1 push esi lea edx,[0x1B234+edx*4] call cm_pr_14 mov eax,[esp+0x1C] shr dword [esp+0x20],1 dec dword [esp+0x24] lea eax,[esi+eax*2] mov [esp+0x1C],eax jne .labl_19 jmp .labl_21 ;---------------------------------------------------------- .labl_20: lea eax,[ecx-4] mov ecx,esi shr ecx,4 push ecx call lz_cm_05 and esi,0xF push esi call lz_cm_06 dec dword [0x1B230] jne .labl_21 call cm_pr_09 ;---------------------------------------------------------- .labl_21: mov eax,0x1BC14 ;---------------------------------------------------------- .labl_22: mov ecx,[eax-4] mov [eax],ecx sub eax,4 cmp eax,0x1BC08 jne .labl_22 mov eax,[esp+0x10] mov [0x1BC08],eax ;---------------------------------------------------------- .labl_23: mov eax,[0x52628] mov esi,[0x1AEFC] mov ebx,[0x5262C] mov ecx,[esp+0x14] mov edi,[0x1B404] sub eax,esi add eax,ebx mov al,[eax+ecx-1] ;---------------------------------------------------------- .labl_24: sub esi,[esp+0x14] add ebp,[esp+0x14] mov [0x19FAB],al adc edi,0 mov eax,ebp sub eax,[0x1CC28] mov ecx,edi sbb ecx,[0x1CC2C] mov [0x1AEFC],esi mov [0x1B400],ebp mov [0x1B404],edi mov [esp+0x28],ecx jne .labl_25 cmp eax,0x200 jb .labl_26 ;---------------------------------------------------------- .labl_25: call cm_pr_07 call cm_pr_08 mov [0x1CC28],ebp mov [0x1CC2C],edi ;---------------------------------------------------------- .labl_26: test esi,esi jne .labl_06 mov eax,[0x52630] sub eax,ebx je .labl_29 mov ecx,ebp sub ecx,[esp+0x34] mov eax,edi sbb eax,[esp+0x38] test eax,eax ja .labl_27 jb .labl_06 cmp ecx,0x1000 jb .labl_06 ;---------------------------------------------------------- .labl_27: mov byte [0x19FA8],0 mov al,1 ;---------------------------------------------------------- .labl_28: pop edi pop esi pop ebp pop ebx add esp,0x2C ret ;---------------------------------------------------------- .labl_29: push 5 pop esi ;---------------------------------------------------------- .labl_30: call cm_pr_13 dec esi jne .labl_30 jmp .labl_00 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_03: push ebp mov ebp,esp mov ecx,[0x1AEF8] sub esp,0x74 push esi cmp [0x29574],ecx je .labl_00 mov eax,ecx imul eax,eax,0x28 add eax,0x29578 mov edx,[eax+0x10] mov eax,[eax+0x14] mov esi,edx sub esi,ecx mov ecx,[ebp+0x10] mov [ecx],esi mov ecx,[ebp+0xC] mov [ecx],eax mov [0x1AEF8],edx jmp .labl_76 ;---------------------------------------------------------- .labl_00: push edi xor edi,edi cmp byte [0x19FAA],0 ;0x1B238 mov [0x29574],edi mov [0x1AEF8],edi jne .labl_01 call cm_pr_06 jmp .labl_02 ;---------------------------------------------------------- .labl_01: mov eax,[0x19FAC] mov byte [0x19FAA],0 ;0x1B238 ;---------------------------------------------------------- .labl_02: push ebx mov ebx,[ebp+8] mov [ebp-0x10],eax mov eax,ebx shl eax,2 mov [ebp-0x4C],eax ;---------------------------------------------------------- .labl_03: mov esi,edi shl esi,2 mov eax,[esi+0x1BC08] push eax mov [ebp+esi-0x64],eax push dword 0xFFFFFFFF mov eax,0x111 call cm_pr_18 mov [ebp+esi-0x74],eax test edi,edi je .labl_04 mov ecx,[ebp-0x4C] cmp eax,[ebp+ecx-0x74] jbe .labl_05 ;---------------------------------------------------------- .labl_04: mov ebx,edi mov [ebp-0x4C],esi ;---------------------------------------------------------- .labl_05: inc edi cmp edi,4 jb .labl_03 mov eax,[ebp+ebx*4-0x74] mov ecx,0x80 ;'€' mov [ebp-0x44],eax cmp eax,ecx jb .labl_06 mov ecx,[ebp+0xC] mov [ecx],ebx jmp .labl_07 ;---------------------------------------------------------- .labl_06: cmp [ebp-0x10],ecx jb .labl_08 mov eax,[0x1ACB0] mov ecx,[ebp+0xC] add eax,4 mov [ecx],eax mov eax,[ebp-0x10] ;---------------------------------------------------------- .labl_07: mov ecx,[ebp+0x10] mov [ecx],eax dec eax call lz_cm_07 jmp .labl_75 ;---------------------------------------------------------- .labl_08: mov ecx,[0x52628] mov eax,[0x5262C] mov dl,[eax+ecx-1] sub eax,[0x1BC08] mov bl,[0x519EC] mov [0x29578],bl mov al,[eax+ecx-2] mov [ebp-0x34],al mov eax,[ebp+8] and eax,3 movzx ecx,bl shl ecx,4 add ecx,eax mov esi,[0x1AF30+ecx*4] mov [ebp-0x1C],eax cmp bl,7 sbb al,al mov [ebp-0x30],dl push dword [ebp-0x30] inc al push dword [ebp-0x34] movzx eax,al push eax push dword [ebp+8] mov al,[0x19FAB] mov [ebp-0x4C],esi call cm_pr_05 or dword [0x295B4],0xFFFFFFFF and dword [0x295B0],0 shr esi,2 add eax,[0x51A18+esi*4] mov byte [0x295A1],0 mov [0x295AC],eax lea esi,[ebp-0x64] mov edi,0x29590 movsd movsd mov eax,0x800 mov ecx,eax sub ecx,[ebp-0x4C] movsd shr ecx,2 mov edx,[0x51A18+ecx*4] movzx ecx,bl movsd mov esi,[0x515B8+ecx*4] sub eax,esi shr eax,2 mov edi,[0x51A18+eax*4] mov al,[ebp-0x30] add edi,edx mov [ebp-0x4C],edx cmp [ebp-0x34],al jne .labl_09 push dword [ebp-0x1C] mov al,bl call cm_pr_10 add eax,edi cmp eax,[0x295AC] jnb .labl_09 and dword [0x295B4],0 mov [0x295AC],eax mov byte [0x295A1],0 ;---------------------------------------------------------- .labl_09: push 2 pop eax cmp [ebp-0x10],eax jnb .labl_10 mov eax,[ebp+0xC] mov ecx,[0x295B4] mov [eax],ecx mov eax,[ebp+0x10] mov dword [eax],1 jmp .labl_75 ;---------------------------------------------------------- .labl_10: mov ecx,[ebp-0x10] shr esi,2 mov esi,[0x51A18+esi*4] add esi,[ebp-0x4C] mov [ebp-0x4C],esi cmp ecx,[ebp-0x44] ja .labl_11 and dword [ebp-0x10],0 ;---------------------------------------------------------- .labl_11: mov [ebp-0x18],eax cmp [ebp-0x10],eax jb .labl_13 mov esi,0x295DC ;---------------------------------------------------------- .labl_12: mov eax,[ebp-0x18] mov edx,[0x1AAB0+eax*4] push dword [ebp-0x1C] and dword [esi-4],0 lea ecx,[edx+4] mov [esi],ecx call cm_pr_12 add eax,[ebp-0x4C] inc dword [ebp-0x18] mov [esi-8],eax mov eax,[ebp-0x18] mov byte [esi-0x13],0 add esi,0x28 ;'(' cmp eax,[ebp-0x10] jbe .labl_12 ;---------------------------------------------------------- .labl_13: mov ecx,[ebp-0x10] cmp ecx,[ebp-0x44] jnb .labl_14 mov ecx,[ebp-0x44] mov [ebp-0x10],ecx ;---------------------------------------------------------- .labl_14: cmp [ebp-0x18],ecx ja .labl_16 mov eax,[ebp-0x18] sub ecx,[ebp-0x18] imul eax,eax,0x28 add eax,0x29584 inc ecx ;---------------------------------------------------------- .labl_15: mov dword [eax],0x0FFFFFFF add eax,0x28 ;'(' dec ecx jne .labl_15 ;---------------------------------------------------------- .labl_16: and dword [ebp-0x18],0 ;---------------------------------------------------------- .labl_17: mov eax,[ebp-0x18] mov eax,[ebp+eax*4-0x74] push 2 pop ecx mov [ebp-0x20],ecx cmp eax,ecx jb .labl_20 mov esi,0x295D4 ;---------------------------------------------------------- .labl_18: push dword [ebp-0x1C] mov edx,[ebp-0x18] movzx eax,bl push eax mov eax,[ebp-0x20] call cm_pr_11 add eax,edi cmp eax,[esi] jnb .labl_19 and dword [esi+4],0 mov [esi],eax mov eax,[ebp-0x18] mov [esi+8],eax mov byte [esi-0xB],0 ;---------------------------------------------------------- .labl_19: inc dword [ebp-0x20] mov eax,[ebp-0x18] mov ecx,[ebp-0x20] add esi,0x28 ;'(' cmp ecx,[ebp+eax*4-0x74] jbe .labl_18 ;---------------------------------------------------------- .labl_20: inc dword [ebp-0x18] cmp dword [ebp-0x18],4 jb .labl_17 mov eax,[ebp-0x10] xor ecx,ecx inc ecx mov [ebp-8],eax mov [ebp-0xC],ecx cmp eax,ecx je .labl_74 ;---------------------------------------------------------- .labl_21: mov edi,[ebp-0xC] inc dword [ebp+8] mov ebx,edi imul ebx,ebx,0x28 mov dl,[ebx+0x29579] mov esi,[ebx+0x29588] test dl,dl je .labl_25 dec esi cmp byte [ebx+0x2957A],0 je .labl_23 mov eax,[ebx+0x2957C] imul eax,eax,0x28 cmp dword [ebx+0x29580],4 mov al,[eax+0x29578] movzx eax,al jnb .labl_22 mov al,[eax+RepNextStates] jmp .labl_24 ;---------------------------------------------------------- .labl_22: mov al,[eax+MatchNextStates] jmp .labl_24 ;---------------------------------------------------------- .labl_23: mov eax,esi imul eax,eax,0x28 mov al,[eax+0x29578] ;---------------------------------------------------------- .labl_24: movzx eax,al mov cl,[eax+LiteralNextStates] jmp .labl_26 ;---------------------------------------------------------- .labl_25: mov eax,esi imul eax,eax,0x28 mov cl,[eax+0x29578] ;---------------------------------------------------------- .labl_26: dec edi cmp esi,edi jne .labl_29 cmp dword [ebx+0x2958C],0 movzx eax,cl jne .labl_27 mov al,[eax+ShortRepNextStates] jmp .labl_28 ;---------------------------------------------------------- .labl_27: mov al,[eax+LiteralNextStates] ;---------------------------------------------------------- .labl_28: mov [ebp-0x14],al jmp .labl_35 ;---------------------------------------------------------- .labl_29: test dl,dl je .labl_31 cmp byte [ebx+0x2957A],0 je .labl_31 mov esi,[ebx+0x2957C] mov eax,[ebx+0x29580] movzx ecx,cl ;---------------------------------------------------------- .labl_30: mov cl,[ecx+RepNextStates] jmp .labl_32 ;---------------------------------------------------------- .labl_31: mov eax,[ebx+0x2958C] movzx ecx,cl cmp eax,4 jb .labl_30 mov cl,[ecx+MatchNextStates] ;---------------------------------------------------------- .labl_32: imul esi,esi,0x28 add esi,0x29578 mov [ebp-0x14],cl mov edx,esi cmp eax,4 jnb .labl_34 mov ecx,[edx+eax*4+0x18] xor esi,esi inc esi mov [ebp-0x64],ecx cmp eax,esi jb .labl_33 lea esi,[edx+0x18] mov ecx,eax lea edi,[ebp-0x60] rep movsd lea esi,[eax+1] cmp esi,4 jnb .labl_35 ;---------------------------------------------------------- .labl_33: push 4 lea edx,[edx+esi*4+0x18] pop ecx lea edi,[ebp+esi*4-0x64] sub ecx,esi mov esi,edx rep movsd jmp .labl_35 ;---------------------------------------------------------- .labl_34: add eax,0xFFFFFFFC mov [ebp-0x64],eax lea esi,[edx+0x18] lea edi,[ebp-0x60] movsd movsd movsd ;---------------------------------------------------------- .labl_35: mov al,[ebp-0x14] mov [ebx+0x29578],al lea edi,[ebx+0x29590] lea esi,[ebp-0x64] movsd movsd movsd movsd call cm_pr_06 mov [ebp-0x2C],eax cmp eax,0x80 ;'€' jnb .labl_73 mov eax,[ebx+0x29584] mov edi,[0x5262C] mov esi,[ebp+8] mov [ebp-0x48],eax mov eax,[0x52628] lea eax,[edi+eax-1] mov cl,[eax] mov [ebp-0x30],cl push dword [ebp-0x30] mov ecx,eax sub ecx,[ebp-0x64] and esi,3 mov cl,[ecx-1] mov [ebp-0x34],cl movzx ecx,byte [ebp-0x14] push dword [ebp-0x34] mov [ebp-0x40],ecx shl ecx,4 add ecx,esi mov ecx,[0x1AF30+ecx*4] cmp byte [ebp-0x14],7 mov [ebp-0x4C],ecx sbb cl,cl inc cl movzx ecx,cl push ecx push dword [ebp+8] mov [ebp-0x28],eax mov al,[eax-1] mov [ebp-0x1C],esi call cm_pr_05 mov esi,eax mov eax,[ebp-0x4C] shr eax,2 add esi,[0x51A18+eax*4] mov byte [ebp-1],0 add esi,[ebp-0x48] cmp esi,[ebx+0x295AC] jnb .labl_36 mov eax,[ebp-0xC] or dword [ebx+0x295B4],0xFFFFFFFF mov [ebx+0x295AC],esi mov [ebx+0x295B0],eax mov byte [ebx+0x295A1],0 mov byte [ebp-1],1 ;---------------------------------------------------------- .labl_36: mov edx,[ebp-0x40] mov edx,[0x515B8+edx*4] mov ecx,0x800 mov eax,ecx sub eax,[ebp-0x4C] sub ecx,edx shr eax,2 mov eax,[0x51A18+eax*4] add eax,[ebp-0x48] shr ecx,2 mov ecx,[0x51A18+ecx*4] add ecx,eax mov [ebp-0x4C],eax mov al,[ebp-0x30] mov [ebp-0x54],edx mov [ebp-0x48],ecx cmp [ebp-0x34],al jne .labl_38 mov eax,[ebp-0xC] cmp [ebx+0x295B0],eax jnb .labl_37 cmp dword [ebx+0x295B4],0 je .labl_38 ;---------------------------------------------------------- .labl_37: push dword [ebp-0x1C] mov al,[ebp-0x14] call cm_pr_10 add eax,[ebp-0x48] cmp eax,[ebx+0x295AC] ja .labl_38 and dword [ebx+0x295B4],0 mov [ebx+0x295AC],eax mov eax,[ebp-0xC] mov [ebx+0x295B0],eax mov byte [ebx+0x295A1],0 ;---------------------------------------------------------- .labl_38: mov eax,[0x52630] sub eax,edi mov ecx,0xFFF sub ecx,[ebp-0xC] inc eax mov [ebp-0x38],eax cmp eax,ecx jbe .labl_39 mov eax,ecx mov [ebp-0x38],ecx ;---------------------------------------------------------- .labl_39: mov [ebp-0x24],eax cmp eax,2 jb .labl_72 mov ecx,0x80 ;'€' cmp eax,ecx jbe .labl_40 mov [ebp-0x24],ecx ;---------------------------------------------------------- .labl_40: cmp dword [ebp-0x24],3 jb .labl_45 cmp byte [ebp-1],0 jne .labl_45 mov ecx,[ebp-0x64] xor eax,eax inc eax inc ecx cmp [ebp-0x24],eax jbe .labl_42 mov edi,[ebp-0x28] mov edx,edi sub edx,ecx ;---------------------------------------------------------- .labl_41: mov cl,[eax+edi] cmp cl,[edx+eax] jne .labl_42 inc eax cmp eax,[ebp-0x24] jb .labl_41 ;---------------------------------------------------------- .labl_42: dec eax mov [ebp-0x20],eax cmp eax,2 jb .labl_45 mov eax,[ebp-0x40] mov al,[eax+LiteralNextStates] mov ecx,[ebp+8] movzx edx,al mov [ebp-0x3C],al mov eax,edx shl eax,4 inc ecx mov edi,0x800 and ecx,3 add eax,ecx mov ebx,edi sub ebx,[0x1AF30+eax*4] mov eax,edi sub eax,[0x515B8+edx*4] mov edx,[ebp-0xC] shr ebx,2 mov edi,[0x51A18+ebx*4] shr eax,2 add edi,[0x51A18+eax*4] mov eax,[ebp-0x20] add edi,esi lea esi,[edx+eax] mov eax,[ebp-8] lea edx,[esi+1] cmp eax,edx jnb .labl_44 sub edx,[ebp-8] imul eax,eax,0x28 add eax,0x29584 add [ebp-8],edx ;---------------------------------------------------------- .labl_43: add eax,0x28 ;'(' dec edx mov dword [eax],0x0FFFFFFF jne .labl_43 ;---------------------------------------------------------- .labl_44: mov eax,[ebp-0x20] push ecx push dword [ebp-0x3C] xor edx,edx call cm_pr_11 imul esi,esi,0x28 add eax,edi add esi,0x295A0 cmp eax,[esi+0xC] jnb .labl_45 mov [esi+0xC],eax mov eax,[ebp-0xC] inc eax and dword [esi+0x14],0 mov [esi+0x10],eax mov byte [esi+1],1 mov byte [esi+2],0 ;---------------------------------------------------------- .labl_45: and dword [ebp-0x18],0 ;---------------------------------------------------------- .labl_46: mov eax,[ebp-0x18] mov eax,[ebp+eax*4-0x64] mov edx,[ebp-0x28] inc eax mov ecx,edx sub ecx,eax mov [ebp-0x44],eax mov al,[edx] mov [ebp-0x50],ecx cmp al,[ecx] jne .labl_58 mov al,[edx+1] cmp al,[ecx+1] jne .labl_58 push 2 pop esi cmp [ebp-0x24],esi jbe .labl_48 ;---------------------------------------------------------- .labl_47: mov al,[edx+esi] cmp al,[ecx+esi] jne .labl_48 inc esi cmp esi,[ebp-0x24] jb .labl_47 ;---------------------------------------------------------- .labl_48: mov eax,[ebp-0xC] lea ebx,[eax+esi] mov [ebp-0x20],ebx imul ebx,ebx,0x28 mov edi,esi add ebx,0x29584 ;---------------------------------------------------------- .labl_49: mov eax,[ebp-8] mov ecx,[ebp-0x20] cmp eax,ecx jnb .labl_51 sub ecx,[ebp-8] imul eax,eax,0x28 add eax,0x29584 add [ebp-8],ecx ;---------------------------------------------------------- .labl_50: add eax,0x28 ;'(' dec ecx mov dword [eax],0x0FFFFFFF jne .labl_50 ;---------------------------------------------------------- .labl_51: push dword [ebp-0x1C] mov edx,[ebp-0x18] push dword [ebp-0x14] mov eax,esi call cm_pr_11 add eax,[ebp-0x48] cmp eax,[ebx] jnb .labl_52 mov [ebx],eax mov eax,[ebp-0xC] mov [ebx+4],eax mov eax,[ebp-0x18] mov [ebx+8],eax mov byte [ebx-0xB],0 ;---------------------------------------------------------- .labl_52: dec esi sub ebx,0x28 ;'(' dec dword [ebp-0x20] cmp esi,2 jnb .labl_49 lea eax,[edi+1] lea esi,[eax+0x80] cmp esi,[ebp-0x38] jbe .labl_53 mov esi,[ebp-0x38] ;---------------------------------------------------------- .labl_53: cmp eax,esi jnb .labl_55 mov edx,[ebp-0x28] mov ecx,eax sub ecx,[ebp-0x44] add ecx,edx ;---------------------------------------------------------- .labl_54: mov bl,[eax+edx] cmp bl,[ecx] jne .labl_55 inc eax inc ecx cmp eax,esi jb .labl_54 ;---------------------------------------------------------- .labl_55: or ecx,0xFFFFFFFF sub ecx,edi add eax,ecx mov [ebp-0x10],eax cmp eax,2 jb .labl_58 mov eax,[ebp-0x40] mov al,[eax+RepNextStates] mov edx,[ebp+8] movzx eax,al mov ebx,eax mov al,[eax+LiteralNextStates] lea ecx,[edi+edx] mov [ebp-0x3C],al movzx eax,al mov esi,ecx and esi,3 shl ebx,4 add esi,ebx mov esi,[0x1AF30+esi*4] lea ebx,[edi+edx+1] mov [ebp-0x20],eax mov eax,[ebp-0x28] movzx edx,byte [edi+eax] mov al,[eax+edi-1] push edx mov edx,[ebp-0x50] movzx edx,byte [edx+edi] push edx shr esi,02 mov esi,[0x51A18+esi*4] push 1 push ecx mov [ebp-0x44],esi and ebx,3 call cm_pr_05 push dword [ebp-0x1C] mov edx,[ebp-0x18] push dword [ebp-0x14] mov esi,eax mov eax,edi call cm_pr_11 mov ecx,[ebp-0x20] add esi,eax shl ecx,4 add ecx,ebx mov eax,0x800 mov edx,eax sub edx,[0x1AF30+ecx*4] mov ecx,[ebp-0x20] sub eax,[0x515B8+ecx*4] mov ecx,[ebp-0xC] shr edx,2 add esi,[0x51A18+edx*4] shr eax,2 add esi,[0x51A18+eax*4] mov eax,[ebp-0x10] add esi,[ebp-0x44] lea eax,[eax+edi+1] add esi,[ebp-0x48] add eax,ecx mov [ebp-0x44],eax cmp [ebp-8],eax jnb .labl_57 mov eax,[ebp-8] mov ecx,[ebp-0x44] imul eax,eax,0x28 sub ecx,[ebp-8] add eax,0x29584 add [ebp-8],ecx ;---------------------------------------------------------- .labl_56: add eax,0x28 ;'(' dec ecx mov dword [eax],0x0FFFFFFF jne .labl_56 ;---------------------------------------------------------- .labl_57: mov eax,[ebp-0x10] push ebx push dword [ebp-0x3C] xor edx,edx call cm_pr_11 mov ecx,[ebp-0x44] imul ecx,ecx,0x28 add eax,esi add ecx,0x29578 cmp eax,[ecx+0xC] jnb .labl_58 and dword [ecx+0x14],0 mov [ecx+0xC],eax mov eax,[ebp-0xC] lea edx,[edi+eax+1] mov [ecx+4],eax mov eax,[ebp-0x18] mov [ecx+0x10],edx mov byte [ecx+1],1 mov byte [ecx+2],1 mov [ecx+8],eax ;---------------------------------------------------------- .labl_58: inc dword [ebp-0x18] cmp dword [ebp-0x18],4 jb .labl_46 mov eax,[ebp-0x24] cmp [ebp-0x2C],eax jbe .labl_59 mov [ebp-0x2C],eax ;---------------------------------------------------------- .labl_59: cmp dword [ebp-0x2C],2 jb .labl_72 mov esi,[ebp-0x2C] cmp esi,2 jne .labl_60 cmp dword [0x1AAB8],0x80 ;'€' jnb .labl_72 ;---------------------------------------------------------- .labl_60: mov eax,[ebp-0x54] shr eax,2 mov eax,[0x51A18+eax*4] add eax,[ebp-0x4C] mov [ebp-0x4C],eax mov eax,[ebp-0xC] lea ecx,[esi+eax] cmp [ebp-8],ecx jnb .labl_62 mov eax,[ebp-8] imul eax,eax,0x28 mov edx,ecx sub edx,[ebp-8] add eax,0x29584 add [ebp-8],edx ;---------------------------------------------------------- .labl_61: add eax,0x28 ;'(' dec edx mov dword [eax],0x0FFFFFFF jne .labl_61 ;---------------------------------------------------------- .labl_62: imul ecx,ecx,0x28 add ecx,0x29584 lea eax,[0x1AAB4+esi*4] lea edi,[esi+1] mov [ebp-0x24],eax mov ebx,ecx mov [ebp-0x48],ecx ;---------------------------------------------------------- .labl_63: mov eax,[ebp-0x24] mov esi,[eax-4] push dword [ebp-0x1C] lea eax,[edi-1] mov edx,esi call cm_pr_12 add eax,[ebp-0x4C] mov [ebp-0x50],eax cmp eax,[ebx] jnb .labl_64 mov [ebx],eax mov eax,[ebp-0xC] mov [ebx+4],eax lea eax,[esi+4] mov [ebx+8],eax mov byte [ebx-0xB],0 ;---------------------------------------------------------- .labl_64: lea eax,[edi-1] cmp eax,[ebp-0x2C] je .labl_65 mov eax,[ebp-0x24] cmp esi,[eax] je .labl_71 ;---------------------------------------------------------- .labl_65: inc esi lea ecx,[edi+0x80] mov [ebp-0x44],esi mov [ebp-0x10],edi cmp ecx,[ebp-0x38] jbe .labl_66 mov ecx,[ebp-0x38] ;---------------------------------------------------------- .labl_66: cmp edi,ecx jnb .labl_68 mov eax,edi sub eax,esi add eax,[ebp-0x28] ;---------------------------------------------------------- .labl_67: mov edx,[ebp-0x10] mov esi,[ebp-0x28] mov dl,[edx+esi] cmp dl,[eax] jne .labl_68 inc dword [ebp-0x10] inc eax cmp [ebp-0x10],ecx jb .labl_67 ;---------------------------------------------------------- .labl_68: or ecx,0xFFFFFFFF lea eax,[edi-1] sub ecx,eax add [ebp-0x10],ecx cmp dword [ebp-0x10],2 jb .labl_71 mov eax,[ebp-0x40] mov al,[eax+MatchNextStates] mov ecx,[ebp+8] movzx eax,al mov esi,eax mov al,[eax+LiteralNextStates] lea edx,[edi+ecx-1] mov [ebp-0x3C],al movzx eax,al shl esi,4 mov ebx,edx and ebx,3 add esi,ebx mov esi,[0x1AF30+esi*4] lea ebx,[edi+ecx] mov [ebp-0x20],eax mov eax,[ebp-0x28] movzx ecx,byte [edi+eax-1] push ecx mov ecx,edi sub ecx,[ebp-0x44] shr esi,2 movzx ecx,byte [ecx+eax-1] mov esi,[0x51A18+esi*4] mov al,[edi+eax-2] push ecx push 1 push edx mov [ebp-0x54],esi and ebx,3 call cm_pr_05 mov ecx,[ebp-0x20] mov esi,eax shl ecx,4 add ecx,ebx mov eax,0x800 mov edx,eax sub edx,[0x1AF30+ecx*4] mov ecx,[ebp-0x20] sub eax,[0x515B8+ecx*4] mov ecx,[ebp-0xC] shr edx,2 add esi,[0x51A18+edx*4] shr eax,2 add esi,[0x51A18+eax*4] mov eax,[ebp-0x10] add esi,[ebp-0x54] add eax,edi add esi,[ebp-0x50] add eax,ecx mov [ebp-0x20],eax cmp [ebp-8],eax jnb .labl_70 mov eax,[ebp-8] mov ecx,[ebp-0x20] imul eax,eax,0x28 sub ecx,[ebp-8] add eax,0x29584 add [ebp-8],ecx ;---------------------------------------------------------- .labl_69: add eax,0x28 ;'(' dec ecx mov dword [eax],0x0FFFFFFF jne .labl_69 ;---------------------------------------------------------- .labl_70: mov eax,[ebp-0x10] push ebx push dword [ebp-0x3C] xor edx,edx call cm_pr_11 mov ecx,[ebp-0x20] mov ebx,[ebp-0x48] imul ecx,ecx,0x28 add eax,esi add ecx,0x29578 cmp eax,[ecx+0xC] jnb .labl_71 and dword [ecx+0x14],0 mov [ecx+0xC],eax mov eax,[ebp-0xC] lea edx,[edi+eax] mov [ecx+4],eax mov eax,[ebp-0x44] add eax,3 mov [ecx+0x10],edx mov byte [ecx+1],1 mov byte [ecx+2],1 mov [ecx+8],eax ;---------------------------------------------------------- .labl_71: sub dword [ebp-0x24],4 sub ebx,0x28 ;'(' dec edi lea eax,[edi-1] mov [ebp-0x48],ebx cmp eax,2 jnb .labl_63 ;---------------------------------------------------------- .labl_72: inc dword [ebp-0xC] mov eax,[ebp-0xC] cmp eax,[ebp-8] jne .labl_21 jmp .labl_74 ;---------------------------------------------------------- .labl_73: mov eax,[ebp-0x2C] mov [0x19FAC],eax mov byte [0x19FAA],1 ;0x1B238 ;---------------------------------------------------------- .labl_74: push dword [ebp-0xC] push dword [ebp+0xC] call lz_cm_08 mov ecx,[ebp+0x10] mov [ecx],eax ;---------------------------------------------------------- .labl_75: pop ebx pop edi ;---------------------------------------------------------- .labl_76: pop esi leave ret 0xC ;***************************************************************************** ;* Call: *************************************************************** lz_cm_04: push ebp mov ebp,esp push ecx push ebx push esi xor ebx,ebx push edi inc ebx mov dword [ebp-4],8 ;---------------------------------------------------------- .labl_00: dec dword [ebp-4] movzx ecx,byte [ebp-4] movzx esi,byte [ebp+0xC] movzx edi,byte [ebp+0x10] shr esi,cl shr edi,cl mov ecx,[ebp+8] and esi,1 lea eax,[esi+1] shl eax,8 add eax,ebx and edi,1 push edi lea edx,[ecx+eax*4] call cm_pr_14 add ebx,ebx or ebx,edi cmp esi,edi jne .labl_02 cmp dword [ebp-4],0 jne .labl_00 jmp .labl_03 ;---------------------------------------------------------- .labl_01: dec dword [ebp-4] movzx esi,byte [ebp+0x10] mov cl,[ebp-4] mov eax,[ebp+8] shr esi,cl lea edx,[eax+ebx*4] and esi,1 push esi call cm_pr_14 add ebx,ebx or ebx,esi ;---------------------------------------------------------- .labl_02: cmp dword [ebp-4],0 jne .labl_01 ;---------------------------------------------------------- .labl_03: pop edi pop esi pop ebx leave ret 0xC ;***************************************************************************** ;* Call: *************************************************************** lz_cm_05: push esi mov esi,eax jmp .labl_02 ;---------------------------------------------------------- .labl_00: mov eax,[esp+8] shr dword [0x51A04],1 dec esi mov ecx,esi shr eax,cl test al,1 je .labl_01 mov eax,[0x51A04] add [0x51A10],eax adc dword [0x51A14],0 ;---------------------------------------------------------- .labl_01: cmp dword [0x51A04],0x1000000 jnb .labl_02 shl dword [0x51A04],8 call cm_pr_13 ;---------------------------------------------------------- .labl_02: test esi,esi jne .labl_00 pop esi ret 4 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_06: push esi xor esi,esi push edi mov edi,[0x519E8] inc esi ;---------------------------------------------------------- .labl_00: mov eax,[esp+0xC] and eax,1 lea edx,[0x515E8+esi*4] push eax lea esi,[eax+esi*2] call cm_pr_14 shr dword [esp+0xC],1 dec edi jne .labl_00 pop edi pop esi ret 4 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_07: push esi mov esi,eax test esi,esi je .labl_01 add [0x1AEFC],esi ;---------------------------------------------------------- .labl_00: dec esi call lz_cm_09 call cm_pr_19 test esi,esi jne .labl_00 ;---------------------------------------------------------- .labl_01: pop esi ret ;***************************************************************************** ;* Call: *************************************************************** lz_cm_08: push ebp mov ebp,esp push ecx mov ecx,[ebp+0xC] mov eax,ecx imul eax,eax,0x28 mov edx,[eax+0x29588] mov eax,[eax+0x2958C] push ebx push esi mov [0x29574],ecx mov [ebp-4],eax push edi ;---------------------------------------------------------- .labl_00: imul ecx,ecx,0x28 cmp byte [ecx+0x29579],0 je .labl_01 mov eax,edx imul eax,eax,0x28 or dword [eax+0x2958C],0xFFFFFFFF lea esi,[eax+0x29579] lea edi,[eax+0x29588] lea ebx,[edx-1] mov byte [esi],0 mov [edi],ebx cmp byte [ecx+0x2957A],0 je .labl_01 mov byte [esi-0x28],0 mov esi,[ecx+0x2957C] mov [edi-0x28],esi mov ecx,[ecx+0x29580] mov [eax+0x29564],ecx ;---------------------------------------------------------- .labl_01: mov ecx,[ebp-4] mov eax,edx imul eax,eax,0x28 mov esi,edx mov edx,[eax+0x2958C] mov [eax+0x2958C],ecx mov ecx,[ebp+0xC] mov [ebp-4],edx mov edx,[eax+0x29588] mov [eax+0x29588],ecx mov ecx,esi mov [ebp+0xC],ecx test esi,esi jne .labl_00 mov eax,[0x2958C] mov ecx,[ebp+8] pop edi mov [ecx],eax mov eax,[0x29588] pop esi mov [0x1AEF8],eax pop ebx leave ret 8 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_09: push ebp mov ebp,esp mov edx,[0x52218] mov eax,[0x5262C] mov ecx,[0x52630] sub esp,0x2C push esi lea esi,[edx+eax] cmp esi,ecx ja .labl_00 mov [ebp-0x18],edx jmp .labl_01 ;---------------------------------------------------------- .labl_00: sub ecx,eax mov [ebp-0x18],ecx cmp ecx,3 jb .labl_13 ;---------------------------------------------------------- .labl_01: mov ecx,[0x51A0C] mov edx,eax sub edx,ecx cmp ecx,eax mov ecx,[0x52628] lea esi,[ecx+eax] movzx ecx,byte [esi+2] push ebx movzx ebx,word [esi] push edi sbb edi,edi and dword [ebp-0x1C],0 and dword [ebp-0x28],0 shl ecx,8 and edi,edx movzx edx,byte [esi] xor ecx,[0x52228+edx*4] movzx edx,byte [esi+1] xor ecx,edx mov edx,[0x52224] and ecx,0xFFFFF lea ecx,[edx+ecx*4] mov [edx+ebx*4+0x400000],eax mov ebx,[ecx] mov [ecx],eax mov ecx,[0x5221C] lea ecx,[edx+ecx*8+0x440000] mov [ebp-4],ebx lea ebx,[ecx+4] mov [ebp-0xC],ecx mov ecx,[0x52220] mov [ebp-0x10],ebx mov [ebp-0x14],ecx cmp [ebp-4],edi jbe .labl_11 ;---------------------------------------------------------- .labl_02: mov ecx,[ebp-0x14] dec dword [ebp-0x14] test ecx,ecx je .labl_11 mov ecx,[0x52628] mov ebx,[ebp-4] add ecx,ebx mov [ebp-0x24],ecx mov ecx,[ebp-0x28] cmp ecx,[ebp-0x1C] jb .labl_03 mov ecx,[ebp-0x1C] ;---------------------------------------------------------- .labl_03: mov ebx,[ebp-0x24] mov [ebp-8],ecx add ecx,esi sub ebx,esi mov [ebp-0x20],ebx jmp .labl_05 ;---------------------------------------------------------- .labl_04: mov ecx,[ebp-0x2C] mov ebx,[ebp-0x20] ;---------------------------------------------------------- .labl_05: mov bl,[ebx+ecx] cmp bl,[ecx] jne .labl_06 inc dword [ebp-8] inc ecx mov [ebp-0x2C],ecx mov ecx,[ebp-8] cmp ecx,[ebp-0x18] jne .labl_04 ;---------------------------------------------------------- .labl_06: mov ecx,[0x5221C] mov ebx,eax sub ebx,[ebp-4] cmp ebx,ecx ja .labl_07 sub ecx,ebx jmp .labl_08 ;---------------------------------------------------------- .labl_07: sub ecx,ebx add ecx,[0x51A0C] ;---------------------------------------------------------- .labl_08: lea ecx,[edx+ecx*8+0x440000] mov [ebp-0x20],ecx mov ecx,[ebp-8] cmp ecx,[ebp-0x18] je .labl_14 mov ebx,[ebp-0x24] mov bl,[ecx+ebx] cmp bl,[ecx+esi] mov ecx,[ebp-4] jnb .labl_09 mov ebx,[ebp-0xC] mov [ebx],ecx mov ecx,[ebp-0x20] mov ebx,[ebp-8] add ecx,4 mov [ebp-0xC],ecx mov [ebp-0x1C],ebx jmp .labl_10 ;---------------------------------------------------------- .labl_09: mov ebx,[ebp-0x10] mov [ebx],ecx mov ecx,[ebp-0x20] mov ebx,[ebp-8] mov [ebp-0x10],ecx mov [ebp-0x28],ebx ;---------------------------------------------------------- .labl_10: mov ecx,[ecx] mov [ebp-4],ecx cmp ecx,edi ja .labl_02 ;---------------------------------------------------------- .labl_11: mov eax,[ebp-0xC] and dword [eax],0 mov eax,[ebp-0x10] and dword [eax],0 ;---------------------------------------------------------- .labl_12: pop edi pop ebx ;---------------------------------------------------------- .labl_13: pop esi leave ret ;---------------------------------------------------------- .labl_14: mov eax,[ebp-0x20] mov ecx,[eax] mov edx,[ebp-0xC] mov [edx],ecx mov eax,[eax+4] mov ecx,[ebp-0x10] mov [ecx],eax jmp .labl_12 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_000: cmp eax,0x400 jnb .labl_00 movzx eax,byte [eax+0x19FB0] ret ;---------------------------------------------------------- .labl_00: cmp eax,0x80000 jnb .labl_01 shr eax,9 movzx eax,byte [eax+0x19FB0] add eax,0x12 ret ;---------------------------------------------------------- .labl_01: shr eax,0x12 movzx eax,byte [eax+0x19FB0] add eax,0x24 ;'$' ret ;***************************************************************************** ;* Call: *************************************************************** cm_pr_00: push ebx push edi mov eax,0x400 push 4 mov [esi],eax mov [esi+4],eax lea edi,[esi+0x4048] pop ebx ;---------------------------------------------------------- .labl_00: push 3 lea eax,[edi-0x4040] pop ecx call cm_pr_15 push 3 pop ecx mov eax,edi call cm_pr_15 add edi,0x404 dec ebx jne .labl_00 push 8 pop ecx pop edi lea eax,[esi+0x8088] pop ebx jmp cm_pr_15 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_01: push ebx push edi mov edi,eax xor ebx,ebx cmp [edi+0xC88C],ebx jbe .labl_01 mov eax,[esp+0xC] push esi lea esi,[edi+eax*4+0x848C] ;---------------------------------------------------------- .labl_00: mov eax,[esp+0x10] mov edx,ebx call lz_cm_10 mov [esi],eax inc ebx add esi,0x40 ;'@' cmp ebx,[edi+0xC88C] jb .labl_00 pop esi ;---------------------------------------------------------- .labl_01: mov eax,[edi+0xC88C] mov ecx,[esp+0xC] mov [edi+ecx*4+0xC890],eax pop edi pop ebx ret 4 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_10: push ebp mov ebp,esp push ecx push esi cmp edx,8 jnb .labl_00 imul eax,eax,0x404 lea esi,[eax+edi+8] call cm_pr_17 mov ecx,[edi] shr ecx,2 add eax,[0x51A18+ecx*4] jmp .labl_03 ;---------------------------------------------------------- .labl_00: push ebx mov ebx,0x800 mov ecx,ebx sub ecx,[edi] shr ecx,2 mov ecx,[0x51A18+ecx*4] mov [ebp-4],ecx cmp edx,0x10 jnb .labl_01 imul eax,eax,0x404 add edx,0xFFFFFFF8 lea esi,[eax+edi+0x4048] call cm_pr_17 mov ecx,[edi+4] shr ecx,2 add eax,[0x51A18+ecx*4] jmp .labl_02 ;---------------------------------------------------------- .labl_01: add edx,0xFFFFFFF0 lea esi,[edi+0x8088] call cm_pr_17 sub ebx,[edi+4] shr ebx,2 add eax,[0x51A18+ebx*4] ;---------------------------------------------------------- .labl_02: add [ebp-4],eax mov eax,[ebp-4] pop ebx ;---------------------------------------------------------- .labl_03: pop esi leave ret ;***************************************************************************** ;* Call: *************************************************************** cm_pr_02: push edi mov edi,eax mov edx,esi cmp edi,8 jnb .labl_00 push 0 call cm_pr_14 mov eax,ebx imul eax,eax,0x404 push edi lea edi,[eax+esi+8] jmp .labl_02 ;---------------------------------------------------------- .labl_00: push 1 call cm_pr_14 lea edx,[esi+4] cmp edi,0x10 jnb .labl_01 push 0 call cm_pr_14 add edi,0xFFFFFFF8 mov eax,ebx imul eax,eax,0x404 push edi lea edi,[eax+esi+0x4048] jmp .labl_02 ;---------------------------------------------------------- .labl_01: push 1 call cm_pr_14 add edi,0xFFFFFFF0 push edi lea edi,[esi+0x8088] ;---------------------------------------------------------- .labl_02: call cm_pr_16 dec dword [esi+ebx*4+0xC890] pop edi jne .labl_03 push ebx mov eax,esi call cm_pr_01 ;---------------------------------------------------------- .labl_03: ret ;***************************************************************************** ;* Call: *************************************************************** cm_pr_03: push ebx push esi push edi xor edi,edi push 8 inc edi pop ebx ;---------------------------------------------------------- .labl_00: movzx esi,byte [esp+0x14] mov eax,[esp+0x10] dec ebx mov cl,bl shr esi,cl lea edx,[eax+edi*4] and esi,1 push esi call cm_pr_14 add edi,edi or edi,esi test ebx,ebx jne .labl_00 pop edi pop esi pop ebx ret 8 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_04: mov edx,[0x519F4] push esi mov esi,[0x519FC] and esi,[esp+8] push 8 pop ecx movzx eax,al sub cl,dl shr eax,cl mov ecx,edx shl esi,cl add eax,esi pop esi ret 4 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_05: push dword [esp+0x10] push dword [esp+0x10] push dword [esp+0x10] push dword [esp+0x10] call cm_pr_04 imul eax,eax,0xC00 add eax,[0x519F0] push eax call lz_cm_11 ret 0x10 ;***************************************************************************** ;* Call: *************************************************************** lz_cm_11: push ebp mov ebp,esp push ecx push ebx push esi xor esi,esi xor eax,eax inc esi push edi mov dword [ebp-4],8 cmp [ebp+0xC],al je .labl_02 movzx ecx,byte [ebp+0x14] mov [ebp+0xC],ecx ;---------------------------------------------------------- .labl_00: dec dword [ebp-4] movzx ecx,byte [ebp-4] movzx edi,byte [ebp+0x10] mov edx,[ebp+0xC] mov ebx,[ebp+8] shr edi,cl shr edx,cl and edi,1 mov ecx,edi shl ecx,8 add ecx,esi mov ecx,[ebx+ecx*4+0x400] and edx,1 sub ecx,edx mov ebx,edx neg ebx xor ecx,ebx shr ecx,2 and ecx,0x1FF add eax,[0x51A18+ecx*4] add esi,esi or esi,edx cmp edi,edx jne .labl_01 cmp dword [ebp-4],0 jne .labl_00 jmp .labl_04 ;---------------------------------------------------------- .labl_01: cmp dword [ebp-4],0 je .labl_04 ;---------------------------------------------------------- .labl_02: movzx edi,byte [ebp+0x14] ;---------------------------------------------------------- .labl_03: dec dword [ebp-4] mov cl,[ebp-4] mov edx,edi shr edx,cl mov ecx,[ebp+8] mov ecx,[ecx+esi*4] add esi,esi and edx,1 sub ecx,edx mov ebx,edx neg ebx xor ecx,ebx shr ecx,2 and ecx,0x1FF add eax,[0x51A18+ecx*4] or esi,edx cmp dword [ebp-4],0 jne .labl_03 ;---------------------------------------------------------- .labl_04: pop edi pop esi pop ebx leave ret 0x10 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_06: push esi call lz_cm_12 mov ecx,eax mov esi,0x80 ;'€' cmp ecx,esi jne .labl_00 push dword [0x1ACB0] lea eax,[esi+0x11] push esi call cm_pr_18 mov ecx,eax add ecx,esi ;---------------------------------------------------------- .labl_00: inc dword [0x1AEFC] call cm_pr_19 mov eax,ecx pop esi ret ;***************************************************************************** ;* Call: *************************************************************** lz_cm_12: push ebp mov ebp,esp sub esp,0x34 mov edx,[0x52218] mov ecx,[0x5262C] mov eax,[0x52630] and dword [ebp-0x18],0 push esi lea esi,[edx+ecx] cmp esi,eax ja .labl_02 mov [ebp-0x20],edx ;---------------------------------------------------------- .labl_00: mov eax,[0x51A0C] mov edx,ecx sub edx,eax cmp eax,ecx sbb eax,eax and eax,edx mov [ebp-0x28],eax mov eax,[0x52628] push ebx push edi lea edi,[eax+ecx] movzx edx,byte [edi+2] movzx esi,byte [edi] movzx eax,word [edi] shl edx,8 xor edx,[0x52228+esi*4] movzx esi,byte [edi+1] xor edx,esi mov esi,[0x52224] and edx,0xFFFFF lea edx,[esi+edx*4] mov ebx,[edx] lea eax,[esi+eax*4+0x400000] mov [ebp-8],ebx mov ebx,[eax] mov [eax],ecx or dword [0x01AAB8],0xFFFFFFFF cmp ebx,[ebp-0x28] jbe .labl_01 mov eax,ecx sub eax,ebx dec eax mov [0x01AAB8],eax mov dword [ebp-0x18],2 ;---------------------------------------------------------- .labl_01: mov ebx,[0x5221C] and dword [ebp-0x24],0 mov [edx],ecx or dword [0x1AABC],0xFFFFFFFF and dword [ebp-0x30],0 lea edx,[esi+ebx*8+0x440000] lea eax,[edx+4] mov [ebp-0x14],eax mov eax,[0x52220] mov [ebp-0x1C],eax mov eax,[ebp-8] mov [ebp-0x10],edx jmp .labl_13 ;---------------------------------------------------------- .labl_02: sub eax,ecx mov [ebp-0x20],eax cmp eax,3 jnb .labl_00 xor eax,eax jmp .labl_16 ;---------------------------------------------------------- .labl_03: mov eax,[ebp-0x1C] dec dword [ebp-0x1C] test eax,eax je .labl_14 mov eax,[0x52628] mov edx,[ebp-8] add eax,edx mov [ebp-0x2C],eax mov eax,[ebp-0x30] cmp eax,[ebp-0x24] jb .labl_04 mov eax,[ebp-0x24] ;---------------------------------------------------------- .labl_04: mov edx,[ebp-0x2C] mov [ebp-4],eax add eax,edi sub edx,edi mov [ebp-0xC],edx jmp .labl_06 ;---------------------------------------------------------- .labl_05: mov edx,[ebp-0xC] mov eax,[ebp-0x34] ;---------------------------------------------------------- .labl_06: mov dl,[edx+eax] cmp dl,[eax] jne .labl_07 inc dword [ebp-4] inc eax mov [ebp-0x34],eax mov eax,[ebp-4] cmp eax,[ebp-0x20] jne .labl_05 ;---------------------------------------------------------- .labl_07: mov eax,ecx sub eax,[ebp-8] mov [ebp-0xC],eax mov eax,[ebp-0x18] cmp eax,[ebp-4] jnb .labl_09 ;---------------------------------------------------------- .labl_08: mov edx,[ebp-0xC] inc eax dec edx mov [0x1AAB0+eax*4],edx cmp eax,[ebp-4] jb .labl_08 mov [ebp-0x18],eax ;---------------------------------------------------------- .labl_09: mov eax,ebx sub eax,[ebp-0xC] cmp [ebp-0xC],ebx jbe .labl_10 add eax,[0x51A0C] ;---------------------------------------------------------- .labl_10: lea eax,[esi+eax*8+0x440000] mov [ebp-0xC],eax mov eax,[ebp-4] cmp eax,[ebp-0x20] je .labl_17 mov edx,[ebp-0x2C] mov dl,[eax+edx] cmp dl,[eax+edi] mov eax,[ebp-8] jnb .labl_11 mov edx,[ebp-0x10] mov [edx],eax mov eax,[ebp-0xC] mov edx,[ebp-4] add eax,4 mov [ebp-0x10],eax mov [ebp-0x24],edx jmp .labl_12 ;---------------------------------------------------------- .labl_11: mov edx,[ebp-0x14] mov [edx],eax mov eax,[ebp-0xC] mov edx,[ebp-4] mov [ebp-0x14],eax mov [ebp-0x30],edx ;---------------------------------------------------------- .labl_12: mov eax,[eax] mov [ebp-8],eax ;---------------------------------------------------------- .labl_13: cmp eax,[ebp-0x28] ja .labl_03 ;---------------------------------------------------------- .labl_14: mov eax,[ebp-0x10] and dword [eax],0 mov eax,[ebp-0x14] and dword [eax],0 ;---------------------------------------------------------- .labl_15: mov eax,[ebp-0x18] pop edi pop ebx ;---------------------------------------------------------- .labl_16: pop esi leave ret ;---------------------------------------------------------- .labl_17: mov eax,[ebp-0xC] mov ecx,[eax] mov edx,[ebp-0x10] mov [edx],ecx mov eax,[eax+4] mov ecx,[ebp-0x14] mov [ecx],eax jmp .labl_15 ;***************************************************************************** ;* Call: *************************************************************** cm_pr_07: push ecx push ebx push ebp push esi push edi xor ebp,ebp mov esi,0x1BC18 mov dword [esp+0x10],4 ;---------------------------------------------------------- .labl_00: xor edi,edi ;---------------------------------------------------------- .labl_01: mov ebx,[0x29570] cmp edi,ebx jnb .labl_03 mov edx,edi call cm_pr_17 lea ecx,[edi+ebp] inc edi mov [0x1A3B0+ecx*4],eax cmp edi,0xE jb .labl_01 cmp edi,ebx jnb .labl_03 lea ebx,[edi+ebp] lea ebx,[0x1A3B0+ebx*4] ;---------------------------------------------------------- .labl_02: mov edx,edi call cm_pr_17 mov ecx,edi shr ecx,1 sub ecx,5 shl ecx,6 add eax,ecx mov [ebx],eax inc edi add ebx,4 cmp edi,[0x29570] jb .labl_02 ;---------------------------------------------------------- .labl_03: add esi,0x404 add ebp,0x40 ;'@' dec dword [esp+0x10] jne .labl_00 pop edi pop esi pop ebp pop ebx pop ecx ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_08: push ebp mov ebp,esp sub esp,0x24 and dword [ebp-0x14],0 push ebx push esi push edi push 4 pop ebx mov dword [ebp-0x18],0x1B418 mov dword [ebp-0x10],0x1A3B0 mov [ebp-0x24],ebx ;---------------------------------------------------------- .labl_00: mov eax,[ebp-0x18] mov esi,[ebp-0x10] lea edi,[eax-0x10] movsd movsd movsd movsd mov [ebp-4],ebx mov [ebp-0xC],eax ;---------------------------------------------------------- .labl_01: mov esi,[ebp-4] mov eax,esi call cm_pr_000 mov edx,eax mov ecx,edx xor eax,eax inc eax mov [ebp-0x20],edx and edx,eax shr ecx,1 dec ecx or edx,2 shl edx,cl xor edi,edi mov [ebp-8],eax mov [ebp-0x1C],ecx sub esi,edx test ecx,ecx je .labl_03 ;---------------------------------------------------------- .labl_02: mov eax,[ebp-8] sub eax,[ebp-0x20] mov ecx,esi add eax,edx mov eax,[0x1B234+eax*4] and ecx,1 sub eax,ecx mov ebx,ecx neg ebx xor eax,ebx shr eax,2 and eax,0x1FF add edi,[0x51A18+eax*4] mov eax,[ebp-8] shr esi,1 dec dword [ebp-0x1C] lea eax,[ecx+eax*2] mov [ebp-8],eax jne .labl_02 push 4 pop ebx ;---------------------------------------------------------- .labl_03: mov eax,[ebp-0x20] mov ecx,[ebp-0x14] add ecx,eax mov eax,[0x1A3B0+ecx*4] mov ecx,[ebp-0xC] add [ebp-0xC],ebx add eax,edi inc dword [ebp-4] cmp dword [ebp-4],0x80 ;'€' mov [ecx],eax jb .labl_01 add dword [ebp-0x10],0x100 add dword [ebp-0x14],0x40 ;'@' add dword [ebp-0x18],0x200 dec dword [ebp-0x24] jne .labl_00 pop edi pop esi pop ebx leave ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_09: push ebp mov ebp,esp push ecx push ecx push ebx push esi xor esi,esi push edi mov [ebp-8],esi ;---------------------------------------------------------- .labl_00: mov eax,[0x519E8] xor edx,edx xor ecx,ecx inc edx mov [ebp-4],eax ;---------------------------------------------------------- .labl_01: mov edi,[0x515E8+edx*4] mov eax,esi and eax,1 sub edi,eax mov ebx,eax neg ebx xor edi,ebx shr edi,2 and edi,0x1FF add ecx,[0x51A18+edi*4] shr esi,1 dec dword [ebp-4] lea edx,[eax+edx*2] jne .labl_01 mov esi,[ebp-8] push 0x10 mov [0x51578+esi*4],ecx inc esi pop eax mov [ebp-8],esi cmp esi,eax jb .labl_00 pop edi pop esi mov [0x1B230],eax pop ebx leave ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_10: movzx eax,al mov edx,[0x1CC38+eax*4] mov ecx,eax shl ecx,4 add ecx,[esp+4] shr edx,2 mov ecx,[0x1A7B0+ecx*4] shr ecx,2 mov eax,[0x51A18+ecx*4] add eax,[0x51A18+edx*4] ret 4 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_11: movzx ecx,byte [esp+4] shl eax,4 add eax,[esp+8] push esi mov eax,[0x25074+eax*4] mov esi,0x800 test edx,edx jne .labl_00 mov edx,ecx mov ecx,[0x1CC38+ecx*4] shl edx,4 add edx,[esp+0xC] sub esi,[0x1A7B0+edx*4] shr ecx,2 jmp .labl_02 ;---------------------------------------------------------- .labl_00: push edi shl ecx,2 mov edi,esi sub edi,[ecx+0x1CC38] shr edi,2 add eax,[0x51A18+edi*4] pop edi cmp edx,1 jne .labl_01 mov ecx,[ecx+0x1AF00] shr ecx,2 add eax,[0x51A18+ecx*4] jmp .labl_03 ;---------------------------------------------------------- .labl_01: sub esi,[ecx+0x1AF00] mov ecx,[ecx+0x29538] add edx,0xFFFFFFFE sub ecx,edx neg edx xor ecx,edx shr ecx,2 and ecx,0x1FF ;---------------------------------------------------------- .labl_02: shr esi,2 mov edx,[0x51A18+esi*4] add edx,[0x51A18+ecx*4] add eax,edx ;---------------------------------------------------------- .labl_03: pop esi ret 8 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_12: push esi mov esi,eax mov ecx,0x80 ;'€' cmp esi,2 jne .labl_00 cmp edx,ecx jb .labl_01 mov eax,0x0FFFFFFF jmp .labl_09 ;---------------------------------------------------------- .labl_00: cmp esi,6 jnb .labl_02 ;---------------------------------------------------------- .labl_01: lea eax,[esi-2] jmp .labl_03 ;---------------------------------------------------------- .labl_02: push 3 pop eax ;---------------------------------------------------------- .labl_03: cmp edx,ecx jnb .labl_04 shl eax,7 add eax,edx mov ecx,[0x1B408+eax*4] jmp .labl_08 ;---------------------------------------------------------- .labl_04: mov ecx,edx cmp edx,0x10000 jnb .labl_05 shr ecx,6 movzx ecx,byte [ecx+0x19FB0] add ecx,0xC jmp .labl_07 ;---------------------------------------------------------- .labl_05: cmp edx,0x2000000 jnb .labl_06 shr ecx,0xF movzx ecx,byte [ecx+0x19FB0] add ecx,0x1E jmp .labl_07 ;---------------------------------------------------------- .labl_06: shr ecx,0x18 movzx ecx,byte [ecx+0x19FB0] add ecx,0x30 ;'0' ;---------------------------------------------------------- .labl_07: shl eax,6 add eax,ecx mov ecx,[0x1A3B0+eax*4] and edx,0xF add ecx,[0x51578+edx*4] ;---------------------------------------------------------- .labl_08: shl esi,4 add esi,[esp+8] mov eax,[0x15AE4+esi*4] add eax,ecx ;---------------------------------------------------------- .labl_09: pop esi ret 4 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_13: push ecx push ecx mov eax,[0x51A10] push esi mov esi,[0x51A14] cmp eax,0xFF000000 jb .labl_00 test esi,esi je .labl_02 ;---------------------------------------------------------- .labl_00: mov cl,[0x519ED] and dword [esp+8],0 mov edx,esi push ebx ;---------------------------------------------------------- .labl_01: mov bl,dl add bl,cl mov ecx,[0x52634] inc dword [0x52634] mov [ecx],bl or cl,0xFF dec dword [0x51A08] jne .labl_01 mov cl,[0x51A13] mov [0x519ED],cl pop ebx ;---------------------------------------------------------- .labl_02: inc dword [0x51A08] shl eax,8 and dword [0x51A14],0 mov [0x51A10],eax pop esi pop ecx pop ecx ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_14: mov ecx,[0x51A04] mov eax,[edx] shr ecx,0xB imul ecx,eax cmp dword [esp+4],0 jne .labl_00 mov [0x51A04],ecx mov ecx,0x800 sub ecx,eax shr ecx,5 add ecx,eax mov [edx],ecx jmp .labl_01 ;---------------------------------------------------------- .labl_00: add [0x51A10],ecx adc dword [0x51A14],0 sub [0x51A04],ecx mov ecx,eax shr ecx,5 sub eax,ecx mov [edx],eax ;---------------------------------------------------------- .labl_01: cmp dword [0x51A04],0x1000000 jnb .labl_02 shl dword [0x51A04],8 call cm_pr_13 ;---------------------------------------------------------- .labl_02: ret 4 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_15: xor edx,edx inc edx shl edx,cl mov [eax+0x400],ecx lea ecx,[edx-1] test ecx,ecx jbe .labl_00 push edi lea edi,[eax+4] mov eax,0x400 rep stosd pop edi ;---------------------------------------------------------- .labl_00: ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_16: mov eax,[esp+4] push ebx mov ebx,[edi+0x400] push esi xor esi,esi inc esi add eax,eax mov [esp+0xC],eax ;---------------------------------------------------------- .labl_00: mov eax,[esp+0xC] mov ecx,ebx shr eax,cl lea edx,[edi+esi*4] and eax,1 push eax lea esi,[eax+esi*2] call cm_pr_14 dec ebx jne .labl_00 pop esi pop ebx ret 4 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_17: mov ecx,[esi+0x400] push edi xor edi,edi inc edi shl edi,cl xor eax,eax or edx,edi ;---------------------------------------------------------- .labl_00: mov ecx,edx shr edx,1 mov edi,[esi+edx*4] and ecx,1 sub edi,ecx neg ecx xor edi,ecx shr edi,2 and edi,0x1FF add eax,[0x51A18+edi*4] cmp edx,1 jne .labl_00 pop edi ret ;*********************************************************************** ;* Call: *************************************************************** cm_pr_18: mov ecx,[0x52630] push edi mov edi,eax mov eax,[0x5262C] sub ecx,eax sub ecx,[esp+8] cmp edi,ecx jbe .labl_00 mov edi,ecx ;---------------------------------------------------------- .labl_00: mov ecx,[0x52628] inc dword [esp+0xC] add ecx,eax add ecx,[esp+8] xor eax,eax test edi,edi jbe .labl_03 push esi mov esi,ecx sub esi,[esp+0x10] ;---------------------------------------------------------- .labl_01: mov dl,[eax+ecx] cmp dl,[esi+eax] jne .labl_02 inc eax cmp eax,edi jb .labl_01 ;---------------------------------------------------------- .labl_02: pop esi ;---------------------------------------------------------- .labl_03: pop edi ret 8 ;*********************************************************************** ;* Call: *************************************************************** cm_pr_19: inc dword [0x5221C] mov eax,[0x5221C] cmp eax,[0x51A0C] jne .labl_00 and dword [0x5221C],0 ;---------------------------------------------------------- .labl_00: inc dword [0x5262C] ret ;***********************************************************************