;
; EasyHook - The reinvention of Windows API hooking
;
; Copyright (C) 2009 Christoph Husse
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2.1 of the License, or (at your option) any later version.
;
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
;
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
;
; Please visit http://www.codeplex.com/easyhook for more information
; about the project and latest updates.
;
; This code was generated by IDA Pro 5.0, by disassembling the machine
; code of the x86 ILD engine. Of course I had to apply some tricky workarounds
; to get a label-based jump table instead of an value-base one, which would
; make the file uneditable... I also had to rewrite many sections to be
; compatible with 64-Bit processors.
; I am not really sure where I got the related binary from but it was
; a dutch reverse engineering site with no license information applied!
; Of course it was downloadable for free...
.386
.model flat, c
.code
public GetInstructionLength_x86@8
GetInstructionLength_x86@8 PROC
push ebp ; start
sub esp, 27h
mov ebp, esp
push ecx
push edx
push esi
push edi
call StartLDE
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F5_
jmp F5_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F5_
jmp Esc_2byte
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F5_
jmp F5_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F5_
jmp F6_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F12_
jmp F5_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F12_
jmp F5_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F12_
jmp F5_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F3_
jmp F6_
jmp F12_
jmp F5_
jmp F11_
jmp F11_
jmp F11_
jmp F11_
jmp F11_
jmp F11_
jmp F11_
jmp F11_
jmp F10_
jmp F10_
jmp F10_
jmp F10_
jmp F10_
jmp F10_
jmp F10_
jmp F10_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F17_
jmp F1_
jmp F12_
jmp F12_
jmp PrefOpSize
jmp PrefAdSize
jmp PUSH_Iv
jmp IMUL_GvEvIv
jmp F3_
jmp F8_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F8_
jmp G1_EvIv
jmp G1_EbIb2
jmp F8_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp POP_Ev
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp CALLF_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F20_
jmp F21_
jmp F20_
jmp F21_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F3_
jmp F6_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F7_
jmp F7_
jmp F7_
jmp F7_
jmp F7_
jmp F7_
jmp F7_
jmp F7_
jmp F8_
jmp F8_
jmp F19_
jmp F2_
jmp F17_
jmp F17_
jmp F8_
jmp F13_
jmp F15_
jmp F2_
jmp F19_
jmp F2_
jmp F2_
jmp F3_
jmp F5_
jmp F2_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F14_
jmp F14_
jmp F2_
jmp F2_
jmp D8_
jmp D9_
jmp DA_
jmp DB_
jmp DC_
jmp DD_
jmp DE_
jmp DF_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F3_
jmp F6_
jmp F6_
jmp JMP_far
jmp F3_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F12_
jmp F2_
jmp PrefREPNE
jmp PrefREP
jmp F2_
jmp F2_
jmp G3_Eb
jmp G3_Ev
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp G4_IncDec
jmp G5_IncDec
jmp G6_
jmp G7_
jmp F1_
jmp F1_
jmp ECHEC_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp ECHEC_
jmp F2_
jmp ECHEC_
jmp F1_
jmp F2_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp G16_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F18_
jmp F18_
jmp F18_
jmp F18_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp ECHEC_
jmp ECHEC_
jmp Esc_tableA4
jmp ECHEC_
jmp Esc_tableA5
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F4_
jmp F4_
jmp F1_
jmp F1_
jmp F1_
jmp G12_
jmp G13_
jmp G14_
jmp F1_
jmp F1_
jmp F1_
jmp F2_
jmp F1_
jmp F1_
jmp ECHEC_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F6_
jmp F6_
jmp F16_
jmp F16_
jmp F16_
jmp F16_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F6_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F2_
jmp F2_
jmp F2_
jmp F1_
jmp F8_
jmp F1_
jmp ECHEC_
jmp ECHEC_
jmp F2_
jmp F2_
jmp F2_
jmp F1_
jmp F8_
jmp F1_
jmp G15_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F2_
jmp G8_EvIb
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp G9_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F2_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F23_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F23_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp LDDQU_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp F1_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F4_
jmp F4_
jmp ECHEC_
jmp F4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F1_
jmp F1_
jmp F1_
jmp ECHEC_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp ECHEC_
jmp ECHEC_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp ECHEC_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp F4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp F22_
jmp F22_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp F1_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp FF4_
jmp FF4_
jmp FF4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp FF4_
jmp FF4_
jmp FF4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp FF4_
jmp FF4_
jmp FF4_
jmp FF4_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp ECHEC_
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp Addr_SIB
jmp Addr_disp32
jmp Addr_ESI
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp Addr_SIB
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp Addr_SIB
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
jmp NOTHING
GetInstructionLength_x86@8 ENDP
; ��������������� S U B R O U T I N E ���������������������������������������
public StartLDE
StartLDE proc near ; CODE XREF: LDE(x,x)+9p
pop esi
push dword ptr [ebp+2Fh]
pop dword ptr [ebp+23h]
mov byte ptr [ebp+22h], 0
mov dword ptr [ebp+2], 20h ; ' '
mov dword ptr [ebp+6], 20h ; ' '
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_10B4
mov dword ptr [ebp+6], 40h ; '@'
loc_10B4: ; CODE XREF: StartLDE+1Dj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [eax+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
cmp eax, 0FFFFFFFFh
jz short loc_10CF
mov eax, [ebp+23h]
sub eax, [ebp+2Fh]
loc_10CF: ; CODE XREF: StartLDE+39j
pop edi
pop esi
pop edx
pop ecx
add esp, 27h
pop ebp
retn 8
StartLDE endp ; sp = 3Ch
; ��������������� S U B R O U T I N E ���������������������������������������
public MOD_RM
MOD_RM proc near ; CODE XREF: F1_p F18_p ...
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
and eax, 0C7h
mov ecx, 40h ; '@'
xor edx, edx
div ecx
mov [ebp+0Ah], eax
cmp eax, 1
jnz short loc_1101
add dword ptr [ebp+1Ah], 1
loc_1101: ; CODE XREF: MOD_RM+22j
cmp eax, 2
jnz short loc_110A
add dword ptr [ebp+1Ah], 4
loc_110A: ; CODE XREF: MOD_RM+2Bj
mov [ebp+0Eh], edx
;lea eax, [eax+edx*4]
;add eax, [eax]
;add eax, 4
;call eax
shl eax, 5
mov ecx, 4
mov edi, edx
mov edx, 0
div ecx
mov edx, 5
mul edx
mov [ebp + 30], eax
mov eax, edi
mov edx, 5
mul edx
mov edx, [ebp + 30]
add eax, edx
add eax, esi
add eax, 1400h
call eax
retn
MOD_RM endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Reg_Opcode
Reg_Opcode proc near ; CODE XREF: POP_Evp G3_Eb+5p ...
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
and eax, 38h
shr eax, 3
mov [ebp+16h], eax
retn
Reg_Opcode endp
; ��������������� S U B R O U T I N E ���������������������������������������
public NOTHING
NOTHING proc near ; CODE XREF: code:0000100Ej
; code:00001012j ...
retn
NOTHING endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Addr_SIB
Addr_SIB proc near ; CODE XREF: code:0000101Ej
; code:0000103Ej ...
cmp dword ptr [ebp+6], 20h ; ' '
jl short locret_115B
add dword ptr [ebp+1Ah], 1
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+2]
and eax, 7
mov [ebp+12h], eax
cmp dword ptr [ebp+12h], 5
jnz short locret_115B
cmp dword ptr [ebp+0Ah], 0
jnz short locret_115B
add dword ptr [ebp+1Ah], 4
locret_115B: ; CODE XREF: Addr_SIB+4j Addr_SIB+1Bj ...
retn
Addr_SIB endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Addr_disp32
Addr_disp32 proc near ; CODE XREF: code:00001022j
cmp dword ptr [ebp+6], 20h ; ' '
jl short locret_1166
add dword ptr [ebp+1Ah], 4
locret_1166: ; CODE XREF: Addr_disp32+4j
retn
Addr_disp32 endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Addr_ESI
Addr_ESI proc near ; CODE XREF: code:00001026j
cmp dword ptr [ebp+6], 10h
jnz short locret_1171
add dword ptr [ebp+1Ah], 2
locret_1171: ; CODE XREF: Addr_ESI+4j
retn
Addr_ESI endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F1_
F1_ proc near ; CODE XREF: LDE(x,x)+Ej
; code:00000012j ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
F1_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F2_
F2_ proc near ; CODE XREF: code:0000014Ej
; code:00000152j ...
inc dword ptr [ebp+23h]
retn
F2_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F3_
F3_ proc near ; CODE XREF: code:0000001Ej
; code:0000003Ej ...
add dword ptr [ebp+23h], 2
retn
F3_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F4_
F4_ proc near ; CODE XREF: code:000005BEj
; code:000005C2j ...
cmp dword ptr [ebp+2], 10h
jnz short loc_1197
call F1_
retn
loc_1197: ; CODE XREF: F4_+4j
call ECHEC_
retn
F4_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public FF4_
FF4_ proc near ; CODE XREF: code:00000C2Ej
; code:00000C32j ...
cmp dword ptr [ebp+2], 10h
jnz short loc_11AC
call F1_
inc dword ptr [ebp+23h]
retn
loc_11AC: ; CODE XREF: FF4_+4j
call ECHEC_
retn
FF4_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F5_
F5_ proc near ; CODE XREF: code:00000026j
; code:0000002Aj ...
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_11BE
call ECHEC_
retn
loc_11BE: ; CODE XREF: F5_+4j
inc dword ptr [ebp+23h]
retn
F5_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F6_
F6_ proc near ; CODE XREF: code:00000022j
; code:00000042j ...
cmp dword ptr [ebp+2], 20h ; ' '
jl short loc_11CD
add dword ptr [ebp+23h], 5
retn
loc_11CD: ; CODE XREF: F6_+4j
add dword ptr [ebp+23h], 3
retn
F6_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F7_
F7_ proc near ; CODE XREF: code:000002EEj
; code:000002F2j ...
cmp dword ptr [ebp+2], 40h ; '@'
jnz short loc_11DD
add dword ptr [ebp+23h], 9
retn
loc_11DD: ; CODE XREF: F7_+4j
cmp dword ptr [ebp+2], 20h ; ' '
jnz short loc_11E8
add dword ptr [ebp+23h], 5
retn
loc_11E8: ; CODE XREF: F7_+Fj
add dword ptr [ebp+23h], 3
retn
F7_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F8_
F8_ proc near ; CODE XREF: code:000001BAj
; code:0000020Ej ...
call F1_
inc dword ptr [ebp+23h]
retn
F8_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F10_
F10_ proc near ; CODE XREF: code:0000012Ej
; code:00000132j ...
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_121E
mov dword ptr [ebp+2], 40h ; '@'
inc dword ptr [ebp+23h]
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
mov dword ptr [ebp+2], 20h ; ' '
retn
loc_121E: ; CODE XREF: F10_+4j
inc dword ptr [ebp+23h]
retn
F10_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F11_
F11_ proc near ; CODE XREF: code:0000010Ej
; code:00000112j ...
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_124B
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_123A
call ECHEC_
retn
loc_123A: ; CODE XREF: F11_+10j
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
retn
loc_124B: ; CODE XREF: F11_+4j
add dword ptr [ebp+23h], 1
retn
F11_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F12_
F12_ proc near ; CODE XREF: code:000000A6j
; code:000000C6j ...
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1262
call ECHEC_
retn
loc_1262: ; CODE XREF: F12_+Aj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
retn
F12_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F13_
F13_ proc near ; CODE XREF: code:0000032Aj
cmp dword ptr [ebp+2], 20h ; ' '
jl short loc_1283
call F1_
add dword ptr [ebp+23h], 4
retn
loc_1283: ; CODE XREF: F13_+4j
call F1_
add dword ptr [ebp+23h], 2
retn
F13_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F14_
F14_ proc near ; CODE XREF: code:0000035Ej
; code:00000362j
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_1299
call ECHEC_
retn
loc_1299: ; CODE XREF: F14_+4j
add dword ptr [ebp+23h], 2
retn
F14_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F15_
F15_ proc near ; CODE XREF: code:0000032Ej
add dword ptr [ebp+23h], 4
retn
F15_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F16_
F16_ proc near ; CODE XREF: code:00000616j
; code:0000061Aj ...
add dword ptr [ebp+23h], 5
retn
F16_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F17_
F17_ proc near ; CODE XREF: code:00000196j
; code:0000031Ej ...
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_12B4
call ECHEC_
retn
loc_12B4: ; CODE XREF: F17_+4j
call F1_
retn
F17_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F18_
F18_ proc near ; CODE XREF: code:0000048Ej
; code:00000492j ...
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_12CB
call F1_
retn
loc_12CB: ; CODE XREF: F18_+9j
call ECHEC_
retn
F18_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F19_
F19_ proc near ; CODE XREF: code:00000316j
; code:00000336j
add dword ptr [ebp+23h], 3
retn
F19_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F20_
F20_ proc near ; CODE XREF: code:0000028Ej
; code:00000296j
cmp dword ptr [ebp+6], 40h ; '@'
jnz short loc_12E1
add dword ptr [ebp+23h], 9
retn
loc_12E1: ; CODE XREF: F20_+4j
add dword ptr [ebp+23h], 5
retn
F20_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F21_
F21_ proc near ; CODE XREF: code:00000292j
; code:0000029Aj
cmp dword ptr [ebp+6], 10h
jnz short loc_12F1
add dword ptr [ebp+23h], 3
retn
loc_12F1: ; CODE XREF: F21_+4j
cmp dword ptr [ebp+6], 20h ; ' '
jnz short loc_12FC
add dword ptr [ebp+23h], 5
retn
loc_12FC: ; CODE XREF: F21_+Fj
add dword ptr [ebp+23h], 9
retn
F21_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F22_
F22_ proc near ; CODE XREF: code:00000BCEj
; code:00000BD2j
cmp byte ptr [ebp+0], 1
jnz short loc_130D
call F1_
retn
loc_130D: ; CODE XREF: F22_+4j
call ECHEC_
retn
F22_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public F23_
F23_ proc near ; CODE XREF: code:00000766j
; code:000007A6j
cmp byte ptr [ebp+0], 1
jnz short loc_131F
call F1_
retn
loc_131F: ; CODE XREF: F23_+4j
cmp byte ptr [ebp+1], 1
jnz short loc_132B
call F1_
retn
loc_132B: ; CODE XREF: F23_+10j
cmp dword ptr [ebp+2], 10h
jnz short loc_1337
call F1_
retn
loc_1337: ; CODE XREF: F23_+1Cj
call ECHEC_
retn
F23_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public CALLF_
CALLF_ proc near ; CODE XREF: code:00000276j
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_1349
call ECHEC_
retn
loc_1349: ; CODE XREF: CALLF_+4j
cmp dword ptr [ebp+2], 20h ; ' '
jnz short loc_1354
add dword ptr [ebp+23h], 7
retn
loc_1354: ; CODE XREF: CALLF_+10j
add dword ptr [ebp+23h], 5
retn
CALLF_ endp
retn
; ��������������� S U B R O U T I N E ���������������������������������������
public IMUL_GvEvIv
IMUL_GvEvIv proc near ; CODE XREF: code:000001B2j
cmp dword ptr [ebp+2], 10h
jz short loc_1370
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 6
retn
loc_1370: ; CODE XREF: IMUL_GvEvIv+4j
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 4
retn
IMUL_GvEvIv endp
; ��������������� S U B R O U T I N E ���������������������������������������
public JMP_far
JMP_far proc near ; CODE XREF: code:000003B6j
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_138C
call ECHEC_
retn
loc_138C: ; CODE XREF: JMP_far+4j
cmp dword ptr [ebp+2], 20h ; ' '
jnz short loc_1397
add dword ptr [ebp+23h], 7
retn
loc_1397: ; CODE XREF: JMP_far+10j
add dword ptr [ebp+23h], 5
retn
JMP_far endp
; ��������������� S U B R O U T I N E ���������������������������������������
public POP_Ev
POP_Ev proc near ; CODE XREF: code:0000024Aj
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_13AD
call F1_
retn
loc_13AD: ; CODE XREF: POP_Ev+9j
call ECHEC_
retn
POP_Ev endp
; ��������������� S U B R O U T I N E ���������������������������������������
public PUSH_Iv
PUSH_Iv proc near ; CODE XREF: code:000001AEj
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_13BE
add dword ptr [ebp+23h], 5
retn
loc_13BE: ; CODE XREF: PUSH_Iv+4j
cmp dword ptr [ebp+2], 20h ; ' '
jnz short loc_13C9
add dword ptr [ebp+23h], 5
retn
loc_13C9: ; CODE XREF: PUSH_Iv+Fj
add dword ptr [ebp+23h], 3
retn
PUSH_Iv endp
; ��������������� S U B R O U T I N E ���������������������������������������
public LDDQU_
LDDQU_ proc near ; CODE XREF: code:000007CEj
cmp byte ptr [ebp+0], 1
jnz short loc_13DA
call F1_
retn
loc_13DA: ; CODE XREF: LDDQU_+4j
call ECHEC_
retn
LDDQU_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public ECHEC_
ECHEC_ proc near ; CODE XREF: code:0000041Ej
; code:00000436j ...
mov eax, 0FFFFFFFFh
retn
ECHEC_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G1_EbIb2
G1_EbIb2 proc near ; CODE XREF: code:00000216j
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_13F2
call ECHEC_
retn
loc_13F2: ; CODE XREF: G1_EbIb2+4j
call F1_
add dword ptr [ebp+23h], 1
retn
G1_EbIb2 endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G1_EvIv
G1_EvIv proc near ; CODE XREF: code:00000212j
cmp dword ptr [ebp+2], 20h ; ' '
jl short loc_140C
call F1_
add dword ptr [ebp+23h], 4
retn
loc_140C: ; CODE XREF: G1_EvIv+4j
call F1_
add dword ptr [ebp+23h], 2
retn
G1_EvIv endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G3_Eb
G3_Eb proc near ; CODE XREF: code:000003E6j
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1431
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 3
retn
loc_1431: ; CODE XREF: G3_Eb+Ej
cmp dword ptr [ebp+16h], 1
jnz short loc_143D
call ECHEC_
retn
loc_143D: ; CODE XREF: G3_Eb+1Fj
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G3_Eb endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G3_Ev
G3_Ev proc near ; CODE XREF: code:000003EAj
cmp dword ptr [ebp+2], 20h ; ' '
jl short loc_1480
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1469
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 6
retn
loc_1469: ; CODE XREF: G3_Ev+14j
cmp dword ptr [ebp+16h], 1
jnz short loc_1475
call ECHEC_
retn
loc_1475: ; CODE XREF: G3_Ev+25j
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
loc_1480: ; CODE XREF: G3_Ev+4j
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_149B
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 4
retn
loc_149B: ; CODE XREF: G3_Ev+46j
cmp dword ptr [ebp+16h], 1
jnz short loc_14A7
call ECHEC_
retn
loc_14A7: ; CODE XREF: G3_Ev+57j
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G3_Ev endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G4_IncDec
G4_IncDec proc near ; CODE XREF: code:00000406j
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 1
jle short loc_14C8
call ECHEC_
retn
loc_14C8: ; CODE XREF: G4_IncDec+Ej
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G4_IncDec endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G5_IncDec
G5_IncDec proc near ; CODE XREF: code:0000040Aj
call Reg_Opcode
cmp dword ptr [ebp+16h], 6
jle short loc_14E4
call ECHEC_
retn
loc_14E4: ; CODE XREF: G5_IncDec+9j
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G5_IncDec endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G6_
G6_ proc near ; CODE XREF: code:0000040Ej
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 5
jle short loc_150A
call ECHEC_
retn
loc_150A: ; CODE XREF: G6_+Ej
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G6_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G7_
G7_ proc near ; CODE XREF: code:00000412j
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_153F
cmp dword ptr [ebp+0Ah], 3
jnz loc_15DB
cmp dword ptr [ebp+0Eh], 4
jle loc_15DB
call ECHEC_
retn
loc_153F: ; CODE XREF: G7_+Ej
cmp dword ptr [ebp+16h], 1
jnz short loc_155F
cmp dword ptr [ebp+0Ah], 3
jnz loc_15DB
cmp dword ptr [ebp+0Eh], 1
jle loc_15DB
call ECHEC_
retn
loc_155F: ; CODE XREF: G7_+2Ej
cmp dword ptr [ebp+16h], 2
jnz short loc_1575
cmp dword ptr [ebp+0Ah], 3
jnz loc_15DB
call ECHEC_
retn
loc_1575: ; CODE XREF: G7_+4Ej
cmp dword ptr [ebp+16h], 3
jnz short loc_1587
cmp dword ptr [ebp+0Ah], 3
jnz short loc_15DB
call ECHEC_
retn
loc_1587: ; CODE XREF: G7_+64j
cmp dword ptr [ebp+16h], 4
jnz short loc_1599
cmp dword ptr [ebp+0Ah], 3
jnz short loc_15DB
call ECHEC_
retn
loc_1599: ; CODE XREF: G7_+76j
cmp dword ptr [ebp+16h], 5
jnz short loc_15A5
call ECHEC_
retn
loc_15A5: ; CODE XREF: G7_+88j
cmp dword ptr [ebp+16h], 6
jnz short loc_15B7
cmp dword ptr [ebp+0Ah], 3
jnz short loc_15DB
call ECHEC_
retn
loc_15B7: ; CODE XREF: G7_+94j
cmp dword ptr [ebp+16h], 7
jnz short loc_15DB
cmp dword ptr [ebp+0Ah], 3
jnz short loc_15DB
cmp dword ptr [ebp+33h], 40h ; '@'
jnz short loc_15D5
cmp dword ptr [ebp+0Eh], 0
jz short loc_15DB
call ECHEC_
retn
loc_15D5: ; CODE XREF: G7_+B2j
call ECHEC_
retn
loc_15DB: ; CODE XREF: G7_+14j G7_+1Ej ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G7_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G8_EvIb
G8_EvIb proc near ; CODE XREF: code:000006F6j
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 4
jge short loc_15FC
call ECHEC_
retn
loc_15FC: ; CODE XREF: G8_EvIb+Ej
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 3
retn
G8_EvIb endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G9_
G9_ proc near ; CODE XREF: code:0000072Aj
call MOD_RM
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_161D
call ECHEC_
retn
loc_161D: ; CODE XREF: G9_+Ej
cmp dword ptr [ebp+16h], 2
jnz short loc_1629
call ECHEC_
retn
loc_1629: ; CODE XREF: G9_+1Aj
cmp dword ptr [ebp+16h], 3
jnz short loc_1635
call ECHEC_
retn
loc_1635: ; CODE XREF: G9_+26j
cmp dword ptr [ebp+16h], 4
jnz short loc_1641
call ECHEC_
retn
loc_1641: ; CODE XREF: G9_+32j
cmp dword ptr [ebp+16h], 5
jnz short loc_164D
call ECHEC_
retn
loc_164D: ; CODE XREF: G9_+3Ej
cmp dword ptr [ebp+16h], 7
jle short loc_1659
call ECHEC_
retn
loc_1659: ; CODE XREF: G9_+4Aj
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G9_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G12_
G12_ proc near ; CODE XREF: code:000005D2j
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1675
call ECHEC_
retn
loc_1675: ; CODE XREF: G12_+9j
cmp dword ptr [ebp+16h], 1
jnz short loc_1681
call ECHEC_
retn
loc_1681: ; CODE XREF: G12_+15j
cmp dword ptr [ebp+16h], 2
jnz short loc_1698
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_16E4
call ECHEC_
retn
loc_1698: ; CODE XREF: G12_+21j
cmp dword ptr [ebp+16h], 3
jnz short loc_16A4
call ECHEC_
retn
loc_16A4: ; CODE XREF: G12_+38j
cmp dword ptr [ebp+16h], 4
jnz short loc_16BB
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_16E4
call ECHEC_
retn
loc_16BB: ; CODE XREF: G12_+44j
cmp dword ptr [ebp+16h], 5
jnz short loc_16C7
call ECHEC_
retn
loc_16C7: ; CODE XREF: G12_+5Bj
cmp dword ptr [ebp+16h], 6
jnz short loc_16DE
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_16E4
call ECHEC_
retn
loc_16DE: ; CODE XREF: G12_+67j
call ECHEC_
retn
loc_16E4: ; CODE XREF: G12_+2Cj G12_+4Fj ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 3
retn
G12_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G13_
G13_ proc near ; CODE XREF: code:000005D6j
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1700
call ECHEC_
retn
loc_1700: ; CODE XREF: G13_+9j
cmp dword ptr [ebp+16h], 1
jnz short loc_170C
call ECHEC_
retn
loc_170C: ; CODE XREF: G13_+15j
cmp dword ptr [ebp+16h], 2
jnz short loc_1723
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_176F
call ECHEC_
retn
loc_1723: ; CODE XREF: G13_+21j
cmp dword ptr [ebp+16h], 3
jnz short loc_172F
call ECHEC_
retn
loc_172F: ; CODE XREF: G13_+38j
cmp dword ptr [ebp+16h], 4
jnz short loc_1746
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_176F
call ECHEC_
retn
loc_1746: ; CODE XREF: G13_+44j
cmp dword ptr [ebp+16h], 5
jnz short loc_1752
call ECHEC_
retn
loc_1752: ; CODE XREF: G13_+5Bj
cmp dword ptr [ebp+16h], 6
jnz short loc_1769
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_176F
call ECHEC_
retn
loc_1769: ; CODE XREF: G13_+67j
call ECHEC_
retn
loc_176F: ; CODE XREF: G13_+2Cj G13_+4Fj ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 3
retn
G13_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G14_
G14_ proc near ; CODE XREF: code:000005DAj
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_178B
call ECHEC_
retn
loc_178B: ; CODE XREF: G14_+9j
cmp dword ptr [ebp+16h], 1
jnz short loc_1797
call ECHEC_
retn
loc_1797: ; CODE XREF: G14_+15j
cmp dword ptr [ebp+16h], 2
jnz short loc_17B2
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz loc_1827
call ECHEC_
retn
loc_17B2: ; CODE XREF: G14_+21j
cmp dword ptr [ebp+16h], 3
jnz short loc_17D5
cmp dword ptr [ebp+2], 10h
jnz short loc_17CF
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_1827
call ECHEC_
retn
loc_17CF: ; CODE XREF: G14_+42j
call ECHEC_
retn
loc_17D5: ; CODE XREF: G14_+3Cj
cmp dword ptr [ebp+16h], 4
jnz short loc_17E1
call ECHEC_
retn
loc_17E1: ; CODE XREF: G14_+5Fj
cmp dword ptr [ebp+16h], 5
jnz short loc_17ED
call ECHEC_
retn
loc_17ED: ; CODE XREF: G14_+6Bj
cmp dword ptr [ebp+16h], 6
jnz short loc_1804
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_1827
call ECHEC_
retn
loc_1804: ; CODE XREF: G14_+77j
cmp dword ptr [ebp+16h], 7
jnz short loc_1821
cmp dword ptr [ebp+2], 10h
jnz short loc_1821
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jz short loc_1827
call ECHEC_
retn
loc_1821: ; CODE XREF: G14_+8Ej G14_+94j
call ECHEC_
retn
loc_1827: ; CODE XREF: G14_+2Cj G14_+4Dj ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 3
retn
G14_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G15_
G15_ proc near ; CODE XREF: code:000006C6j
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1852
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz loc_18EC
call ECHEC_
retn
loc_1852: ; CODE XREF: G15_+9j
cmp dword ptr [ebp+16h], 1
jnz short loc_186D
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz loc_18EC
call ECHEC_
retn
loc_186D: ; CODE XREF: G15_+24j
cmp dword ptr [ebp+16h], 2
jnz short loc_1888
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz loc_18EC
call ECHEC_
retn
loc_1888: ; CODE XREF: G15_+3Fj
cmp dword ptr [ebp+16h], 3
jnz short loc_189F
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_18EC
call ECHEC_
retn
loc_189F: ; CODE XREF: G15_+5Aj
cmp dword ptr [ebp+16h], 4
jnz short loc_18AB
call ECHEC_
retn
loc_18AB: ; CODE XREF: G15_+71j
cmp dword ptr [ebp+16h], 5
jnz short loc_18C2
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_18EC
call ECHEC_
retn
loc_18C2: ; CODE XREF: G15_+7Dj
cmp dword ptr [ebp+16h], 6
jnz short loc_18D9
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_18EC
call ECHEC_
retn
loc_18D9: ; CODE XREF: G15_+94j
cmp dword ptr [ebp+16h], 7
jg short loc_18E6
call MOD_RM
jmp short loc_18EC
loc_18E6: ; CODE XREF: G15_+ABj
call ECHEC_
retn
loc_18EC: ; CODE XREF: G15_+14j G15_+2Fj ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G15_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public G16_
G16_ proc near ; CODE XREF: code:0000046Ej
call Reg_Opcode
cmp dword ptr [ebp+16h], 0
jnz short loc_1913
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_195E
call ECHEC_
retn
loc_1913: ; CODE XREF: G16_+9j
cmp dword ptr [ebp+16h], 1
jnz short loc_192A
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_195E
call ECHEC_
retn
loc_192A: ; CODE XREF: G16_+20j
cmp dword ptr [ebp+16h], 2
jnz short loc_1941
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_195E
call ECHEC_
retn
loc_1941: ; CODE XREF: G16_+37j
cmp dword ptr [ebp+16h], 3
jnz short loc_1958
call MOD_RM
cmp dword ptr [ebp+0Ah], 3
jnz short loc_195E
call ECHEC_
retn
loc_1958: ; CODE XREF: G16_+4Ej
call ECHEC_
retn
loc_195E: ; CODE XREF: G16_+14j G16_+2Bj ...
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
G16_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public PrefOpSize
PrefOpSize proc near ; CODE XREF: code:000001A6j
inc dword ptr [ebp+23h]
mov dword ptr [ebp+2], 10h
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1982
call ECHEC_
retn
loc_1982: ; CODE XREF: PrefOpSize+11j
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
mov dword ptr [ebp+2], 20h ; ' '
retn
PrefOpSize endp
; ��������������� S U B R O U T I N E ���������������������������������������
public PrefAdSize
PrefAdSize proc near ; CODE XREF: code:000001AAj
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_19AC
call ECHEC_
retn
loc_19AC: ; CODE XREF: PrefAdSize+Aj
mov ecx, [ebp+6]
shr ecx, 1
mov [ebp+6], ebx
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
mov ebx, [ebp+6]
shl ecx, 1
mov [ebp+6], ecx
retn
PrefAdSize endp
; ��������������� S U B R O U T I N E ���������������������������������������
public PrefREPNE
PrefREPNE proc near ; CODE XREF: code:000003D6j
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_19DF
call ECHEC_
retn
loc_19DF: ; CODE XREF: PrefREPNE+Aj
mov eax, [ebp+23h]
movzx eax, byte ptr [eax]
cmp al, 0A4h ; '�'
jz short loc_19FB
cmp al, 0A7h ; '�'
jz short loc_19FB
cmp al, 0AEh ; '�'
jz short loc_19FB
cmp al, 0AFh ; '�'
jz short loc_19FB
cmp al, 0Fh
jz short loc_19FB
jmp short loc_19FF
loc_19FB: ; CODE XREF: PrefREPNE+1Aj
; PrefREPNE+1Ej ...
mov byte ptr [ebp+0], 1
loc_19FF: ; CODE XREF: PrefREPNE+2Cj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
mov byte ptr [ebp+0], 0
retn
PrefREPNE endp
; ��������������� S U B R O U T I N E ���������������������������������������
public PrefREP
PrefREP proc near ; CODE XREF: code:000003DAj
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1A26
call ECHEC_
retn
loc_1A26: ; CODE XREF: PrefREP+Aj
mov eax, [ebp+23h]
movzx eax, byte ptr [eax]
cmp al, 90h ; '�'
jz short loc_1A6E
cmp al, 0A4h ; '�'
jz short loc_1A6E
cmp al, 0A5h ; '�'
jz short loc_1A6E
cmp al, 0A6h ; '�'
jz short loc_1A6E
cmp al, 0A7h ; '�'
jz short loc_1A6E
cmp al, 0AAh ; '�'
jz short loc_1A6E
cmp al, 0ABh ; '�'
jz short loc_1A6E
cmp al, 0ACh ; '�'
jz short loc_1A6E
cmp al, 0ADh ; '�'
jz short loc_1A6E
cmp al, 0AEh ; '�'
jz short loc_1A6E
cmp al, 0AFh ; '�'
jz short loc_1A6E
cmp al, 6Ch ; 'l'
jz short loc_1A6E
cmp al, 6Dh ; 'm'
jz short loc_1A6E
cmp al, 6Eh ; 'n'
jz short loc_1A6E
cmp al, 6Fh ; 'o'
jz short loc_1A6E
cmp al, 0Fh
jz short loc_1A6E
jmp short loc_1A72
loc_1A6E: ; CODE XREF: PrefREP+1Aj PrefREP+1Ej ...
mov byte ptr [ebp+1], 1
loc_1A72: ; CODE XREF: PrefREP+58j
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
call eax
mov byte ptr [ebp+1], 0
retn
PrefREP endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Esc_2byte
Esc_2byte proc near ; CODE XREF: code:0000004Aj
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1A99
call ECHEC_
retn
loc_1A99: ; CODE XREF: Esc_2byte+Aj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4+400h]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
add eax, 500h
call eax
retn
Esc_2byte endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Esc_tableA4
Esc_tableA4 proc near ; CODE XREF: code:000004EEj
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1AC0
call ECHEC_
retn
loc_1AC0: ; CODE XREF: Esc_tableA4+Aj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4+800h]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
add eax, 0A00h
call eax
retn
Esc_tableA4 endp
; ��������������� S U B R O U T I N E ���������������������������������������
public Esc_tableA5
Esc_tableA5 proc near ; CODE XREF: code:000004F6j
inc dword ptr [ebp+23h]
inc byte ptr [ebp+22h]
cmp byte ptr [ebp+22h], 0Fh
jnz short loc_1AE7
call ECHEC_
retn
loc_1AE7: ; CODE XREF: Esc_tableA5+Aj
mov eax, [ebp+23h]
movzx ecx, byte ptr [eax]
;lea eax, [esi+ecx*4+0C00h]
;add eax, [eax]
;add eax, 4
;call eax
mov eax, ecx
mov ecx, 5
mul ecx
add eax, esi
add eax, 0F00h
call eax
retn
Esc_tableA5 endp
; ��������������� S U B R O U T I N E ���������������������������������������
public D8_
D8_ proc near ; CODE XREF: code:0000036Ej
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1B22
call Reg_Opcode
cmp dword ptr [ebp+16h], 7
jle short loc_1B22
call ECHEC_
retn
loc_1B22: ; CODE XREF: D8_+13j D8_+1Ej
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
D8_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public D9_
D9_ proc near ; CODE XREF: code:00000372j
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1B5E
call Reg_Opcode
cmp dword ptr [ebp+16h], 1
jnz short loc_1BBB
cmp dword ptr [ebp+16h], 7
jle short loc_1BBB
call ECHEC_
retn
loc_1B5E: ; CODE XREF: D9_+13j
cmp eax, 0C0h ; '�'
jl short loc_1BBB
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Dh
jnz short loc_1B7F
cmp ecx, 0
jz short loc_1BBB
call ECHEC_
retn
loc_1B7F: ; CODE XREF: D9_+40j
cmp edx, 0Eh
jnz short loc_1BBB
cmp ecx, 2
jnz short loc_1B8F
call ECHEC_
retn
loc_1B8F: ; CODE XREF: D9_+55j
cmp ecx, 3
jnz short loc_1B9A
call ECHEC_
retn
loc_1B9A: ; CODE XREF: D9_+60j
cmp ecx, 6
jnz short loc_1BA5
call ECHEC_
retn
loc_1BA5: ; CODE XREF: D9_+6Bj
cmp ecx, 7
jnz short loc_1BB0
call ECHEC_
retn
loc_1BB0: ; CODE XREF: D9_+76j
cmp ecx, 0Fh
jnz short loc_1BBB
call ECHEC_
retn
loc_1BBB: ; CODE XREF: D9_+1Ej D9_+24j ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
D9_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DA_
DA_ proc near ; CODE XREF: code:00000376j
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1BF1
call Reg_Opcode
cmp dword ptr [ebp+16h], 7
jle short loc_1C1D
call ECHEC_
retn
loc_1BF1: ; CODE XREF: DA_+13j
cmp eax, 0C0h ; '�'
jl short loc_1C1D
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Eh
jnz short loc_1C12
cmp ecx, 9
jz short loc_1C1D
call ECHEC_
retn
loc_1C12: ; CODE XREF: DA_+3Aj
cmp edx, 0Fh
jnz short loc_1C1D
call ECHEC_
retn
loc_1C1D: ; CODE XREF: DA_+1Ej DA_+2Bj ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DA_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DB_
DB_ proc near ; CODE XREF: code:0000037Aj
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1C61
call Reg_Opcode
cmp dword ptr [ebp+16h], 4
jz short loc_1C5B
cmp dword ptr [ebp+16h], 6
jz short loc_1C5B
cmp dword ptr [ebp+16h], 7
jg short loc_1C5B
jmp short loc_1C9C
loc_1C5B: ; CODE XREF: DB_+1Ej DB_+24j ...
call ECHEC_
retn
loc_1C61: ; CODE XREF: DB_+13j
cmp eax, 0C0h ; '�'
jl short loc_1C9C
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Eh
jnz short loc_1C8C
cmp ecx, 8
jge short loc_1C9C
cmp ecx, 3
jz short loc_1C9C
cmp ecx, 2
jz short loc_1C9C
call ECHEC_
retn
loc_1C8C: ; CODE XREF: DB_+48j
cmp edx, 0Fh
jnz short loc_1C9C
cmp ecx, 8
jl short loc_1C9C
call ECHEC_
retn
loc_1C9C: ; CODE XREF: DB_+2Cj DB_+39j ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DB_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DC_
DC_ proc near ; CODE XREF: code:0000037Ej
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1CD2
call Reg_Opcode
cmp dword ptr [ebp+16h], 7
jle short loc_1CEE
call ECHEC_
retn
loc_1CD2: ; CODE XREF: DC_+13j
cmp eax, 0C0h ; '�'
jl short loc_1CEE
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Dh
jnz short loc_1CEE
call ECHEC_
retn
loc_1CEE: ; CODE XREF: DC_+1Ej DC_+2Bj ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DC_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DD_
DD_ proc near ; CODE XREF: code:00000382j
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1D2C
call Reg_Opcode
cmp dword ptr [ebp+16h], 5
jz short loc_1D26
cmp dword ptr [ebp+16h], 7
jg short loc_1D26
jmp short loc_1D58
loc_1D26: ; CODE XREF: DD_+1Ej DD_+24j
call ECHEC_
retn
loc_1D2C: ; CODE XREF: DD_+13j
cmp eax, 0C0h ; '�'
jl short loc_1D58
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Ch
jnz short loc_1D4D
cmp ecx, 8
jl short loc_1D58
call ECHEC_
retn
loc_1D4D: ; CODE XREF: DD_+42j
cmp edx, 0Fh
jnz short loc_1D58
call ECHEC_
retn
loc_1D58: ; CODE XREF: DD_+26j DD_+33j ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DD_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DE_
DE_ proc near ; CODE XREF: code:00000386j
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1D8E
call Reg_Opcode
cmp dword ptr [ebp+16h], 7
jle short loc_1DAF
call ECHEC_
retn
loc_1D8E: ; CODE XREF: DE_+13j
cmp eax, 0C0h ; '�'
jl short loc_1DAF
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Dh
jnz short loc_1DAF
cmp ecx, 9
jz short loc_1DAF
call ECHEC_
retn
loc_1DAF: ; CODE XREF: DE_+1Ej DE_+2Bj ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DE_ endp
; ��������������� S U B R O U T I N E ���������������������������������������
public DF_
DF_ proc near ; CODE XREF: code:0000038Aj
mov dword ptr [ebp+1Ah], 0
mov eax, [ebp+23h]
movzx eax, byte ptr [eax+1]
cmp eax, 0BFh ; '�'
jg short loc_1DE5
call Reg_Opcode
cmp dword ptr [ebp+16h], 7
jle short loc_1E31
call ECHEC_
retn
loc_1DE5: ; CODE XREF: DF_+13j
cmp eax, 0C0h ; '�'
jl short loc_1E31
mov edx, eax
shr edx, 4
mov ecx, eax
and ecx, 0Fh
cmp edx, 0Ch
jnz short loc_1E01
call ECHEC_
retn
loc_1E01: ; CODE XREF: DF_+3Aj
cmp edx, 0Dh
jnz short loc_1E0C
call ECHEC_
retn
loc_1E0C: ; CODE XREF: DF_+45j
cmp edx, 0Eh
jnz short loc_1E21
cmp ecx, 0
jz short loc_1E31
cmp ecx, 8
jge short loc_1E31
call ECHEC_
retn
loc_1E21: ; CODE XREF: DF_+50j
cmp edx, 0Fh
jnz short loc_1E31
cmp ecx, 8
jl short loc_1E31
call ECHEC_
retn
loc_1E31: ; CODE XREF: DF_+1Ej DF_+2Bj ...
call MOD_RM
mov eax, [ebp+1Ah]
add [ebp+23h], eax
add dword ptr [ebp+23h], 2
retn
DF_ endp
END