// MSLRH_031_unpacking_v6.txt // author: arnix (arnix@freenet.am) // ================================ var start var t var t2 mov start, eip mov t2, start rdtsc_label: find t2, #761BEB01# cmp $RESULT, 0 je rdtsc_next mov t, $RESULT mov [t], #EB1BEB01# mov t2, t add t2, 10 jmp rdtsc_label rdtsc_next: mov t2, start rdtsc_label2: find t2, #3D7856341276# cmp $RESULT, 0 je rdtsc_next2 mov t, $RESULT mov [t], #3D78563412EB# mov t2, t add t2, 10 jmp rdtsc_label2 rdtsc_next2: eoe exception1 run exception1: eob bp1 bphws 409593, "w" esto bp1: bphwc 409593 bphws 408BCB, "x" eob bp2 run bp2: bphwc 408BCB mov t2, start rdtsc_label3: find t2, #761BEB01# cmp $RESULT, 0 je rdtsc_next3 mov t, $RESULT mov [t], #EB1BEB01# mov t2, t add t2, 10 jmp rdtsc_label3 rdtsc_next3: mov t2, start rdtsc_label4: find t2, #3D7856341276# cmp $RESULT, 0 je rdtsc_next4 mov t, $RESULT mov [t], #3D78563412EB# mov t2, t add t2, 10 jmp rdtsc_label4 rdtsc_next4: bphws 40AB7C, "w" eob bp3 run bp3: bphwc 40AB7C bphws 40A1D5, "x" eob bp4 run bp4: bphwc 40A1D5 mov t2, start rdtsc_label5: find t2, #761BEB01# cmp $RESULT, 0 je rdtsc_next5 mov t, $RESULT mov [t], #EB1BEB01# mov t2, t add t2, 10 jmp rdtsc_label5 rdtsc_next5: mov t2, start rdtsc_label6: find t2, #3D7856341276# cmp $RESULT, 0 je rdtsc_next6 mov t, $RESULT mov [t], #3D78563412EB# mov t2, t add t2, 10 jmp rdtsc_label6 rdtsc_next6: mov [40D3DA], #90909090909090909090909090# mov [40DDA7], #90909090909090909090909090909090909090# mov [40E76A], #909090909090909090909090909090909090909090909090909090909090909090# eoe exception2 run exception2: bphws 410F4C, "x" eob bp5 esto bp5: bphwc 410F4C mov t2,start rdtsc_back_label: find t2, #EB1BEB01# cmp $RESULT, 0 je rdtsc_back_next mov t, $RESULT mov [t], #761BEB01# mov t2, t add t2, 10 jmp rdtsc_back_label rdtsc_back_next: mov [40D3DA], #E8050000002573257300FF5614# mov [40DDA7], #6A006A006A036A006A00680000008050FF561C# mov [40E76A], #506A006800040000FF56288BDC83EB046A006A006A04536A0750FF56405888460E# bphws 410FC9, "x" eob bp6 run bp6: bphwc 410FC9 mov t2, start rdtsc_label7: find t2, #761BEB01# cmp $RESULT, 0 je rdtsc_next7 mov t, $RESULT mov [t], #EB1BEB01# mov t2, t add t2, 10 jmp rdtsc_label7 rdtsc_next7: mov t2, start rdtsc_label8: find t2, #3D7856341276# cmp $RESULT, 0 je rdtsc_next8 mov t, $RESULT mov [t], #3D78563412EB# mov t2, t add t2, 10 jmp rdtsc_label8 rdtsc_next8: mov t2, start obf1: find t2, #E80A000000E8EB0C0000# cmp $RESULT, 0 je obf_next1 mov t, $RESULT mov [t], #83EC08909090# mov t2, t add t2, 10 jmp obf1 obf_next1: mov t2, start obf2: find t2, #EB01# cmp $RESULT, 0 je obf_next2 mov t, $RESULT mov [t], #909090# mov t2, t add t2, 3 jmp obf2 obf_next2: exit: ret // end