//1call var st_sk var jmp_vz var new_wr var chk_1b var len var call_len var f_b mov st_sk,00B50000 mov f_b,st_sk loop: findop st_sk, #E9# cmp $RESULT,0 je quit mov jmp_vz,$RESULT+5 mov st_sk,$RESULT+5 mov len,[$RESULT+1] add jmp_vz,len sub jmp_vz,5 mov chk_1b,[f_b] and chk_1b,000000FF cmp chk_1b,0E8 jne r32 call: mov new_wr,f_b add new_wr,0A mov new_wr,[new_wr] mov call_len,jmp_vz add call_len,5 sub new_wr,call_len mov [jmp_vz],#E8# add jmp_vz,1 mov [jmp_vz],new_wr mov f_b,st_sk jmp loop r32://2 push //pause var con_dw var chr_32 var ch_eax var arifm var 1_arg var 2_arg var ch_or32 //mov f_b,st_sk //loop_r32: cmp chk_1b,68 jne lpush //loop mov 1_arg,f_b mov 2_arg,f_b add 1_arg,1 mov 1_arg,[1_arg] mov chr_32,f_b add chr_32,5 mov ch_or32,f_b add ch_or32,6 mov ch_eax,[chr_32] and ch_eax,000000FF cmp ch_eax,A1 jne nextR //eax add 2_arg,6 mov 2_arg,[2_arg] mov 2_arg,[2_arg] mov arifm,f_b add arifm,0A mov arifm,[arifm] and arifm,000000FF cmp arifm,01 jne lsub //add add 1_arg,2_arg mov [jmp_vz],#B8# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lsub: cmp arifm,29 jne lxor sub 1_arg,2_arg mov [jmp_vz],#B8# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lxor: xor 1_arg,2_arg mov [jmp_vz],#B8# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop nextR: //pause add 2_arg,7 mov 2_arg,[2_arg] mov 2_arg,[2_arg] mov arifm,f_b add arifm,0B mov arifm,[arifm] and arifm,000000FF mov ch_or32,[ch_or32], and ch_or32,FF cmp ch_or32,0D jne redx //ecx cmp arifm,01 jne lsubecx add 1_arg,2_arg mov [jmp_vz],#B9# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lsubecx: cmp arifm,29 jne lxorecx sub 1_arg,2_arg mov [jmp_vz],#B9# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lxorecx: xor 1_arg,2_arg mov [jmp_vz],#B9# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop redx: cmp ch_or32,15 jne rebx //edx cmp arifm,01 jne lsubedx add 1_arg,2_arg mov [jmp_vz],#BA# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lsubedx: cmp arifm,29 jne lxorecx sub 1_arg,2_arg mov [jmp_vz],#BA# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lxoredx: xor 1_arg,2_arg mov [jmp_vz],#BA# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop rebx: // ebx cmp arifm,01 jne lsubebx add 1_arg,2_arg mov [jmp_vz],#BB# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lsubebx: cmp arifm,29 jne lxorebx sub 1_arg,2_arg mov [jmp_vz],#BB# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lxorebx: xor 1_arg,2_arg mov [jmp_vz],#BB# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lpush: cmp chk_1b,83 jne lmdaex mov 1_arg,f_b add 1_arg,6 mov 1_arg,[1_arg] mov [jmp_vz],#68# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lmdaex: cmp chk_1b,50 jne lmaex mov 1_arg,f_b add 1_arg,3 mov 1_arg,[1_arg] mov [jmp_vz],#A3# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop lmaex: cmp chk_1b,FF jne lmaex mov 1_arg,f_b add 1_arg,2 mov 1_arg,[1_arg] mov [jmp_vz],#A1# add jmp_vz,1 mov [jmp_vz],1_arg mov f_b,st_sk jmp loop quit: ret