[TLP:WHITE] win_isfb_auto (20201023 | autogenerated rule brought to you by yara-signator)rule win_isfb_auto {
meta:
author = "Felix Bilstein - yara-signator at cocacoding dot com"
date = "2020-12-22"
version = "1"
description = "autogenerated rule brought to you by yara-signator"
tool = "yara-signator v0.6.0"
signator_config = "callsandjumps;datarefs;binvalue"
malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.isfb"
malpedia_rule_date = "20201222"
malpedia_hash = "30354d830a29f0fbd3714d93d94dea941d77a130"
malpedia_version = "20201023"
malpedia_license = "CC BY-SA 4.0"
malpedia_sharing = "TLP:WHITE"
/* DISCLAIMER
* The strings used in this rule have been automatically selected from the
* disassembly of memory dumps and unpacked files, using YARA-Signator.
* The code and documentation is published here:
* https://github.com/fxb-cocacoding/yara-signator
* As Malpedia is used as data source, please note that for a given
* number of families, only single samples are documented.
* This likely impacts the degree of generalization these rules will offer.
* Take the described generation method also into consideration when you
* apply the rules in your use cases and assign them confidence levels.
*/
strings:
$sequence_0 = { e8???????? eb02 33c0 3bc7 7414 }
// n = 5, score = 3100
// e8???????? |
// eb02 | or eax, edx
// 33c0 | je 0x1c
// 3bc7 | mov eax, dword ptr [edx]
// 7414 | inc ebx
$sequence_1 = { 51 57 50 ffd6 85c0 7408 }
// n = 6, score = 2900
// 51 | je 0x1c
// 57 | mov eax, dword ptr [edx]
// 50 | inc ebx
// ffd6 | mov cl, bl
// 85c0 | rol eax, cl
// 7408 | xor eax, esi
$sequence_2 = { 50 6a10 58 e8???????? 3bc7 }
// n = 5, score = 2600
// 50 | sub esp, 0xc
// 6a10 | push ebx
// 58 | mov al, byte ptr [esi + 4]
// e8???????? |
// 3bc7 | and al, 4
$sequence_3 = { 50 33c0 e8???????? 3bc7 }
// n = 4, score = 2600
// 50 | push ebp
// 33c0 | mov ebp, esp
// e8???????? |
// 3bc7 | and esp, 0xfffffff8
$sequence_4 = { 8b35???????? 7414 8d4dfc 51 }
// n = 4, score = 2500
// 8b35???????? |
// 7414 | mov al, byte ptr [esi + 4]
// 8d4dfc | and al, 4
// 51 | neg al
$sequence_5 = { ff75f0 ff75f4 6822010000 e9???????? ff7508 }
// n = 5, score = 2400
// ff75f0 | xor edx, edx
// ff75f4 | dec esp
// 6822010000 | arpl ax, ax
// e9???????? |
// ff7508 | mov eax, edi
$sequence_6 = { a3???????? 3bdf 7414 a1???????? }
// n = 4, score = 2300
// a3???????? |
// 3bdf | jmp 4
// 7414 | xor eax, eax
// a1???????? |
$sequence_7 = { 85c0 740f 8b45fc 03c0 }
// n = 4, score = 2300
// 85c0 | jmp 4
// 740f | xor eax, eax
// 8b45fc | cmp eax, edi
// 03c0 | je 0x1c
$sequence_8 = { 3bc7 741b 50 33c0 }
// n = 4, score = 2200
// 3bc7 | not edi
// 741b | and eax, edi
// 50 | mov dword ptr [ecx], esi
// 33c0 | mov esi, dword ptr [eax + 4]
$sequence_9 = { 53 ff35???????? e8???????? 8bf0 3bf3 7443 6aff }
// n = 7, score = 2200
// 53 | pop edi
// ff35???????? |
// e8???????? |
// 8bf0 | mov eax, edi
// 3bf3 | dec eax
// 7443 | add esp, 0x40
// 6aff | inc ecx
$sequence_10 = { 57 50 e8???????? 83c40c e8???????? 3bc7 }
// n = 6, score = 2200
// 57 | lea ecx, [ebp - 4]
// 50 | push ecx
// e8???????? |
// 83c40c | push edi
// e8???????? |
// 3bc7 | push eax
$sequence_11 = { ff15???????? 85c0 a3???????? 7402 ffe0 c20400 }
// n = 6, score = 2100
// ff15???????? |
// 85c0 | mov eax, esi
// a3???????? |
// 7402 | dec eax
// ffe0 | add esp, 0x40
// c20400 | inc ecx
$sequence_12 = { 5e 8bc5 5d 5b 59 c20400 8325????????00 }
// n = 7, score = 2100
// 5e | pop esi
// 8bc5 | mov eax, ebp
// 5d | pop ebp
// 5b | pop ebx
// 59 | pop ecx
// c20400 | ret 4
// 8325????????00 |
$sequence_13 = { 59 c20400 8325????????00 6a00 68???????? 6a01 ff742410 }
// n = 7, score = 2100
// 59 | pop ecx
// c20400 | ret 4
// 8325????????00 |
// 6a00 | push 0
// 68???????? |
// 6a01 | push 1
// ff742410 | push dword ptr [esp + 0x10]
$sequence_14 = { 8901 8b45fc 5f 5e 5b c9 c20800 }
// n = 7, score = 2000
// 8901 | cmovne ecx, eax
// 8b45fc | dec eax
// 5f | mov dword ptr [esp + 0x20], ebx
// 5e | dec eax
// 5b | mov ecx, edi
// c9 | mov dword ptr [esp + 0x28], 0xea60
// c20800 | dec esp
$sequence_15 = { 8d45f8 50 e8???????? 8bf8 3bfb }
// n = 5, score = 1900
// 8d45f8 | lea eax, [ebp - 8]
// 50 | push eax
// e8???????? |
// 8bf8 | mov edi, eax
// 3bfb | cmp edi, ebx
$sequence_16 = { ff15???????? 3c05 7506 84e4 }
// n = 4, score = 1800
// ff15???????? |
// 3c05 | mov ebx, eax
// 7506 | mov dword ptr [esp + 0x28], 0xea60
// 84e4 | dec esp
$sequence_17 = { c20400 55 8bec 83ec0c a1???????? 8365f800 }
// n = 6, score = 1800
// c20400 | mov eax, 0x10000
// 55 | dec eax
// 8bec | mov dword ptr [esp + 0x20], eax
// 83ec0c | dec eax
// a1???????? |
// 8365f800 | test ebx, ebx
$sequence_18 = { 7506 84e4 7704 3ac0 }
// n = 4, score = 1800
// 7506 | pop ebx
// 84e4 | ret
// 7704 | mov eax, dword ptr [edi + 0x54]
// 3ac0 | test al, 4
$sequence_19 = { 895df4 0f84c7000000 56 53 }
// n = 4, score = 1700
// 895df4 | mov dword ptr [ebp - 0xc], ebx
// 0f84c7000000 | je 0xcd
// 56 | push esi
// 53 | push ebx
$sequence_20 = { a1???????? 3bc3 7512 e8???????? 3bc3 a3???????? }
// n = 6, score = 1700
// a1???????? |
// 3bc3 | cmp eax, ebx
// 7512 | jne 0x14
// e8???????? |
// 3bc3 | cmp eax, ebx
// a3???????? |
$sequence_21 = { b8???????? 7505 b8???????? 53 bb60ea0000 53 ff750c }
// n = 7, score = 1700
// b8???????? |
// 7505 | jne 7
// b8???????? |
// 53 | push ebx
// bb60ea0000 | mov ebx, 0xea60
// 53 | push ebx
// ff750c | push dword ptr [ebp + 0xc]
$sequence_22 = { e8???????? 8bd8 85db 895df4 0f84c7000000 }
// n = 5, score = 1700
// e8???????? |
// 8bd8 | mov ebx, eax
// 85db | test ebx, ebx
// 895df4 | mov dword ptr [ebp - 0xc], ebx
// 0f84c7000000 | je 0xcd
$sequence_23 = { eb03 6a08 5e 5f 8bc6 5e c9 }
// n = 7, score = 1700
// eb03 | dec eax
// 6a08 | lea ecx, [ebx + eax*8]
// 5e | inc ecx
// 5f | movzx eax, byte ptr [ecx + 3]
// 8bc6 | dec eax
// 5e | lea ecx, [ebx + eax*8]
// c9 | inc esp
$sequence_24 = { 8b5e10 8d4438ff 4f f7d7 23c7 8d7c13ff 4a }
// n = 7, score = 1600
// 8b5e10 | xor ebx, ebx
// 8d4438ff | push ebx
// 4f | mov esi, eax
// f7d7 | cmp esi, ebx
// 23c7 | xor ebx, ebx
// 8d7c13ff | push ebx
// 4a | mov esi, eax
$sequence_25 = { 8b07 c6400731 8b74241c 8b1e 6a00 ff37 }
// n = 6, score = 1600
// 8b07 | push 0x122
// c6400731 | push dword ptr [ebp + 8]
// 8b74241c | push 0
// 8b1e | push 0x122
// 6a00 | push dword ptr [ebp + 8]
// ff37 | push 0
$sequence_26 = { 8931 8b7004 897104 8b4808 ff7004 034c240c }
// n = 6, score = 1600
// 8931 | push ebx
// 8b7004 | mov esi, eax
// 897104 | push 1
// 8b4808 | xor ebx, ebx
// ff7004 | push ebx
// 034c240c | push 1
$sequence_27 = { 56 57 8d740818 8b4508 3b460c 7247 8b7938 }
// n = 7, score = 1600
// 56 | push eax
// 57 | push edi
// 8d740818 | push dword ptr [ebp + 8]
// 8b4508 | push eax
// 3b460c | push edi
// 7247 | push dword ptr [ebp + 8]
// 8b7938 | xor ebx, ebx
$sequence_28 = { 8b1e 6a00 ff37 ff15???????? 2b442414 50 }
// n = 6, score = 1600
// 8b1e | dec ecx
// 6a00 | mov ecx, esp
// ff37 | mov byte ptr [eax], 0
// ff15???????? |
// 2b442414 | dec eax
// 50 | mov ecx, edi
$sequence_29 = { 58 e8???????? 85c0 740d 8906 }
// n = 5, score = 1600
// 58 | call esi
// e8???????? |
// 85c0 | je 0x16
// 740d | lea ecx, [ebp - 4]
// 8906 | push ecx
$sequence_30 = { 7247 8b7938 8b4608 8b513c 8b5e10 8d4438ff 4f }
// n = 7, score = 1600
// 7247 | cmp eax, ebx
// 8b7938 | je 0xa
// 8b4608 | push eax
// 8b513c | cmp edi, ebx
// 8b5e10 | je 0x19
// 8d4438ff | push eax
// 4f | cmp edi, ebx
$sequence_31 = { 8b5608 8d5410ff 48 f7d0 }
// n = 4, score = 1600
// 8b5608 | mov esi, eax
// 8d5410ff | push esi
// 48 | push eax
// f7d0 | and dword ptr [ebp - 8], ebx
$sequence_32 = { 2b442414 50 8b07 03442418 50 56 }
// n = 6, score = 1600
// 2b442414 | cmp eax, edi
// 50 | je 0x1a
// 8b07 | mov edx, ebx
// 03442418 | jmp 4
// 50 | xor eax, eax
// 56 | cmp eax, edi
$sequence_33 = { 8b4c240c 8907 8b442418 894110 836334f9 }
// n = 5, score = 1600
// 8b4c240c | push dword ptr [ebp - 0x10]
// 8907 | push dword ptr [ebp - 0xc]
// 8b442418 | push 0x122
// 894110 | push dword ptr [ebp + 8]
// 836334f9 | push 0
$sequence_34 = { 034c240c 8b00 51 03c2 50 e8???????? 83c40c }
// n = 7, score = 1600
// 034c240c | cmp esi, ebx
// 8b00 | je 0x49
// 51 | xor ebx, ebx
// 03c2 | push ebx
// 50 | mov esi, eax
// e8???????? |
// 83c40c | cmp esi, ebx
$sequence_35 = { 56 57 8b3b 897c241c 760a 8b4b20 e8???????? }
// n = 7, score = 1600
// 56 | je 0x1c
// 57 | xor eax, eax
// 8b3b | cmp eax, edi
// 897c241c | je 0x18
// 760a | xor ebx, ebx
// 8b4b20 | mov dx, 0x20
// e8???????? |
$sequence_36 = { 8bc6 5e c9 c21000 55 8bec 83ec14 }
// n = 7, score = 1600
// 8bc6 | xor eax, eax
// 5e | cmp eax, ebx
// c9 | je 0x21
// c21000 | push eax
// 55 | mov edx, edi
// 8bec | jmp 6
// 83ec14 | xor eax, eax
$sequence_37 = { 8364240400 53 8b5d0c 837b240c }
// n = 4, score = 1600
// 8364240400 | cmp ebx, edi
// 53 | je 0x16
// 8b5d0c | jmp 4
// 837b240c | xor eax, eax
$sequence_38 = { 51 51 8b483c 03c8 0fb74106 }
// n = 5, score = 1600
// 51 | push eax
// 51 | cmp edi, ebx
// 8b483c | push eax
// 03c8 | mov edx, edi
// 0fb74106 | jmp 6
$sequence_39 = { 8a4604 2404 f6d8 1bc0 83e006 }
// n = 5, score = 1600
// 8a4604 | mov dword ptr [edx], esi
// 2404 | add edx, 4
// f6d8 | dec dword ptr [esp + 0xc]
// 1bc0 | jne 0xffffffef
// 83e006 | pop esi
$sequence_40 = { 7505 3945fc 759f 5f 5e 5b }
// n = 6, score = 1600
// 7505 | push 1
// 3945fc | xor ebx, ebx
// 759f | push ebx
// 5f | push 1
// 5e | xor ebx, ebx
// 5b | push ebx
$sequence_41 = { 8b450c 8930 eb33 6a00 }
// n = 4, score = 1500
// 8b450c | mov ebx, 0x7e
// 8930 | cmp ebp, 5
// eb33 | jb 0xffffffc6
// 6a00 | jmp 0xe
$sequence_42 = { 6a01 33db 53 ff35???????? }
// n = 4, score = 1500
// 6a01 | push dword ptr [ebp + 8]
// 33db | push ebx
// 53 | mov esi, eax
// ff35???????? |
$sequence_43 = { 488bcf c744242860ea0000 4c0f45c8 48895c2420 e8???????? }
// n = 5, score = 1500
// 488bcf | mov ebp, esp
// c744242860ea0000 | sub esp, 0x14
// 4c0f45c8 | push eax
// 48895c2420 | add esi, 0xa
// e8???????? |
$sequence_44 = { ff15???????? a1???????? 85c0 7407 83ee64 }
// n = 5, score = 1500
// ff15???????? |
// a1???????? |
// 85c0 | test eax, eax
// 7407 | je 9
// 83ee64 | sub esi, 0x64
$sequence_45 = { 74a3 33ff eb0b 33ff }
// n = 4, score = 1500
// 74a3 | inc ecx
// 33ff | mov eax, 0x10000
// eb0b | dec eax
// 33ff | mov dword ptr [esp + 0x20], eax
$sequence_46 = { 750e 837d0800 7408 ff7508 }
// n = 4, score = 1500
// 750e | jmp 0x13
// 837d0800 | mov ebx, 0x7f
// 7408 | cmp ebp, 5
// ff7508 | jb 0xffffffc6
$sequence_47 = { 8b35???????? 50 83c60a e8???????? 5f }
// n = 5, score = 1500
// 8b35???????? |
// 50 | push eax
// 83c60a | add esi, 0xa
// e8???????? |
// 5f | pop edi
$sequence_48 = { 50 8d4508 50 53 8bc6 e8???????? 85c0 }
// n = 7, score = 1500
// 50 | add esi, 8
// 8d4508 | cmp ebp, 5
// 50 | jb 0xffffffc3
// 53 | jmp 0x10
// 8bc6 | mov ebx, 0x7f
// e8???????? |
// 85c0 | jmp 0x10
$sequence_49 = { 7408 ff7508 e8???????? 8bc7 }
// n = 4, score = 1500
// 7408 | jmp 0xe
// ff7508 | mov ebx, 0x7f
// e8???????? |
// 8bc7 | dec eax
$sequence_50 = { 6a01 ff75e0 68???????? e8???????? }
// n = 4, score = 1400
// 6a01 | push 1
// ff75e0 | push dword ptr [ebp - 0x20]
// 68???????? |
// e8???????? |
$sequence_51 = { 51 50 57 6a01 ff75e0 }
// n = 5, score = 1400
// 51 | push eax
// 50 | add esi, 4
// 57 | je 8
// 6a01 | push eax
// ff75e0 | cmp edi, ebx
$sequence_52 = { 8bf0 85f6 75cf 33ff 3bf7 }
// n = 5, score = 1400
// 8bf0 | mov esi, eax
// 85f6 | test esi, esi
// 75cf | jne 0xffffffd1
// 33ff | xor edi, edi
// 3bf7 | cmp esi, edi
$sequence_53 = { ff15???????? 33db 66ba2000 498bcc ff15???????? }
// n = 5, score = 1400
// ff15???????? |
// 33db | mov esi, 1
// 66ba2000 | mov eax, esi
// 498bcc | dec eax
// ff15???????? |
$sequence_54 = { 742d ff75fc 6a0d 58 e8???????? }
// n = 5, score = 1400
// 742d | dec eax
// ff75fc | cmp ebx, edi
// 6a0d | jne 0xf
// 58 | xor edx, edx
// e8???????? |
$sequence_55 = { bf04010000 e8???????? 8bf0 85f6 7453 57 56 }
// n = 7, score = 1400
// bf04010000 | mov edi, 0x104
// e8???????? |
// 8bf0 | mov esi, eax
// 85f6 | test esi, esi
// 7453 | je 0x55
// 57 | push edi
// 56 | push esi
$sequence_56 = { 56 ff15???????? 50 ff15???????? 215df8 e9???????? }
// n = 6, score = 1400
// 56 | push 0xff676980
// ff15???????? |
// 50 | push dword ptr [ebp - 0x10]
// ff15???????? |
// 215df8 | push dword ptr [ebp - 0xc]
// e9???????? |
$sequence_57 = { 5d 5b c3 8b4754 a804 }
// n = 5, score = 1400
// 5d | call esi
// 5b | test eax, eax
// c3 | je 0xe
// 8b4754 | push ecx
// a804 | push edi
$sequence_58 = { 53 b800080000 50 56 ff35???????? }
// n = 5, score = 1400
// 53 | je 0xd0
// b800080000 | push esi
// 50 | push ebx
// 56 | push ebx
// ff35???????? |
$sequence_59 = { ffd7 33ff 3bc7 8945e0 0f8417020000 8b0d???????? }
// n = 6, score = 1400
// ffd7 | add esp, 0xc
// 33ff | cmp eax, edi
// 3bc7 | mov dword ptr [ebp - 0x10], eax
// 8945e0 | add esp, 0xc
// 0f8417020000 | cmp eax, edi
// 8b0d???????? |
$sequence_60 = { be01000000 8bc6 4883c440 415e }
// n = 4, score = 1400
// be01000000 | push edi
// 8bc6 | push eax
// 4883c440 | call esi
// 415e | test eax, eax
$sequence_61 = { 8945e0 0f8417020000 8b0d???????? 33cb 51 57 }
// n = 6, score = 1400
// 8945e0 | push eax
// 0f8417020000 | add esi, 4
// 8b0d???????? |
// 33cb | cmp edi, ebx
// 51 | cmp eax, ebx
// 57 | je 0x13
$sequence_62 = { 85db 7423 8b0d???????? 0fb701 663d6100 }
// n = 5, score = 1300
// 85db | dec eax
// 7423 | lea ecx, [ebx + eax*8]
// 8b0d???????? |
// 0fb701 | inc ecx
// 663d6100 | movzx eax, byte ptr [ecx + 3]
$sequence_63 = { ba08000000 b90e010000 41b800000100 4889442420 e8???????? e9???????? }
// n = 6, score = 1300
// ba08000000 | mov esi, ecx
// b90e010000 | add eax, 0xfffffefe
// 41b800000100 | push esi
// 4889442420 | mov esi, ecx
// e8???????? |
// e9???????? |
$sequence_64 = { eb0a 81fb03010000 7502 33db }
// n = 4, score = 1300
// eb0a | mov ebx, 0x7e
// 81fb03010000 | inc ecx
// 7502 | cmp ebx, ebp
// 33db | je 0x10
$sequence_65 = { 83fd05 72c1 eb0c bb7f000000 eb05 }
// n = 5, score = 1300
// 83fd05 | mov ebx, 0x57
// 72c1 | cmp ebp, 5
// eb0c | jb 0xffffffc3
// bb7f000000 | jmp 0xe
// eb05 | mov ebx, 0x7f
$sequence_66 = { eb02 33c0 5f f7d0 5e c3 55 }
// n = 7, score = 1300
// eb02 | dec eax
// 33c0 | mov ecx, dword ptr [esi]
// 5f | test eax, eax
// f7d0 | jne 0xa3
// 5e | dec eax
// c3 | arpl word ptr [ebx + 0x3c], dx
// 55 | dec eax
$sequence_67 = { 33db 6a01 e8???????? 85db 7423 }
// n = 5, score = 1300
// 33db | inc esp
// 6a01 | mov ebp, eax
// e8???????? |
// 85db | inc ecx
// 7423 | mov eax, dword ptr [ebx + 0x10]
$sequence_68 = { 6a5c 8d44481c 53 50 89450c ff15???????? 3bc3 }
// n = 7, score = 1300
// 6a5c | xor eax, eax
// 8d44481c | cmp eax, edi
// 53 | je 0x18
// 50 | lea ecx, [ebp - 4]
// 89450c | push ecx
// ff15???????? |
// 3bc3 | push edi
$sequence_69 = { 4c8bc3 33d2 ff15???????? 488bdf 8bf7 483bdf 7508 }
// n = 7, score = 1300
// 4c8bc3 | pop ebx
// 33d2 | jmp 4
// ff15???????? |
// 488bdf | xor eax, eax
// 8bf7 | cmp eax, edi
// 483bdf | je 0x1a
// 7508 | jmp 4
$sequence_70 = { 7406 50 e8???????? 3bfb 7414 a1???????? }
// n = 6, score = 1300
// 7406 | push dword ptr [ebp - 0xc]
// 50 | push 0x122
// e8???????? |
// 3bfb | push dword ptr [ebp + 8]
// 7414 | push 0
// a1???????? |
$sequence_71 = { 6641b85c00 33d2 488bcd ff15???????? }
// n = 4, score = 1300
// 6641b85c00 | push esi
// 33d2 | mov esi, ecx
// 488bcd | add eax, 0xfffffefe
// ff15???????? |
$sequence_72 = { 33c0 e8???????? 3bc3 740f 8b35???????? 50 83c604 }
// n = 7, score = 1300
// 33c0 | push 0x122
// e8???????? |
// 3bc3 | push dword ptr [ebp + 8]
// 740f | push 0
// 8b35???????? |
// 50 | push dword ptr [ebp + 8]
// 83c604 | push dword ptr [ebp - 0x10]
$sequence_73 = { 8bd5 488bcf bb57000000 e8???????? }
// n = 4, score = 1300
// 8bd5 | mov edx, ebp
// 488bcf | dec eax
// bb57000000 | mov ecx, edi
// e8???????? |
$sequence_74 = { 50 83c604 e8???????? 3bfb }
// n = 4, score = 1300
// 50 | mov dword ptr [esi], eax
// 83c604 | add esi, 4
// e8???????? |
// 3bfb | inc edi
$sequence_75 = { ff35???????? 8945f8 ff15???????? 8bd8 3bde }
// n = 5, score = 1200
// ff35???????? |
// 8945f8 | test ebx, ebx
// ff15???????? |
// 8bd8 | mov dword ptr [ebp - 0xc], ebx
// 3bde | je 0xd2
$sequence_76 = { e8???????? 85c0 0f8544010000 8b472c a801 }
// n = 5, score = 1200
// e8???????? |
// 85c0 | mov edx, dword ptr [esp + 0x48]
// 0f8544010000 | mov dword ptr [esp + 0x30], ecx
// 8b472c | mov ecx, dword ptr [esp + 0x90]
// a801 | cmp dword ptr [esp + 0x88], 0
$sequence_77 = { 8b4e10 8365fc00 c1e902 895d10 }
// n = 4, score = 1200
// 8b4e10 | dec eax
// 8365fc00 | mov dword ptr [esp + 0x20], ebx
// c1e902 | dec eax
// 895d10 | mov ecx, edi
$sequence_78 = { ff7510 57 ff750c 53 e8???????? 3bfe 740e }
// n = 7, score = 1200
// ff7510 | test ebx, ebx
// 57 | mov dword ptr [ebp - 0xc], ebx
// ff750c | je 0xd2
// 53 | push esi
// e8???????? |
// 3bfe | mov dword ptr [ebp - 0xc], ebx
// 740e | je 0xcd
$sequence_79 = { 83451004 83c004 49 8917 }
// n = 4, score = 1200
// 83451004 | add dword ptr [ebp + 0x10], 4
// 83c004 | add eax, 4
// 49 | dec ecx
// 8917 | mov dword ptr [edi], edx
$sequence_80 = { 8b8c2490000000 83bc248800000000 4c8b442440 488b542448 894c2430 }
// n = 5, score = 1200
// 8b8c2490000000 | pop ecx
// 83bc248800000000 | ret 4
// 4c8b442440 | push 0
// 488b542448 | pop ebx
// 894c2430 | pop ecx
$sequence_81 = { c744242000010000 ff15???????? 4883f8ff 488bf8 7442 }
// n = 5, score = 1200
// c744242000010000 | jb 0xffffffc6
// ff15???????? |
// 4883f8ff | jmp 0xe
// 488bf8 | mov ebx, 0x7f
// 7442 | jmp 0xe
$sequence_82 = { 0f8544010000 8b472c a801 742d ff37 e8???????? }
// n = 6, score = 1200
// 0f8544010000 | jb 0xffffffc3
// 8b472c | jmp 0x10
// a801 | mov ebx, 0x7f
// 742d | jmp 0x10
// ff37 | cmp ebp, 5
// e8???????? |
$sequence_83 = { 7417 8b10 2b55fc 8b7d10 }
// n = 4, score = 1200
// 7417 | jne 0x12
// 8b10 | dec eax
// 2b55fc | mov ecx, dword ptr [ebx]
// 8b7d10 | test eax, eax
$sequence_84 = { e8???????? 85c0 0f8586000000 8b4720 8b4e04 6a00 }
// n = 6, score = 1200
// e8???????? |
// 85c0 | mov ebx, edi
// 0f8586000000 | mov esi, edi
// 8b4720 | dec eax
// 8b4e04 | cmp ebx, edi
// 6a00 | jne 0xf
$sequence_85 = { 7410 ff75fc 56 ff35???????? ff15???????? 53 56 }
// n = 7, score = 1200
// 7410 | push esi
// ff75fc | push ebx
// 56 | test ebx, ebx
// ff35???????? |
// ff15???????? |
// 53 | mov dword ptr [ebp - 0xc], ebx
// 56 | je 0xd0
$sequence_86 = { ff15???????? 53 56 ff35???????? ff15???????? 5b 5f }
// n = 7, score = 1200
// ff15???????? |
// 53 | cmp eax, ebx
// 56 | jne 0x16
// ff35???????? |
// ff15???????? |
// 5b | cmp eax, ebx
// 5f | cmp eax, ebx
$sequence_87 = { ff7510 e8???????? 83c40c c745fc01000000 8b4610 c6040300 837e1004 }
// n = 7, score = 1200
// ff7510 | push dword ptr [ebp + 0x10]
// e8???????? |
// 83c40c | add esp, 0xc
// c745fc01000000 | mov dword ptr [ebp - 4], 1
// 8b4610 | mov eax, dword ptr [esi + 0x10]
// c6040300 | mov byte ptr [ebx + eax], 0
// 837e1004 | cmp dword ptr [esi + 0x10], 4
$sequence_88 = { 84c9 0f8992000000 8b4f30 f6c104 7414 394728 }
// n = 6, score = 1200
// 84c9 | test ebx, ebx
// 0f8992000000 | je 0x11
// 8b4f30 | inc ecx
// f6c104 | movzx eax, byte ptr [ecx + 2]
// 7414 | dec eax
// 394728 | lea ecx, [ebx + eax*8]
$sequence_89 = { eb0b 8b4f30 84c9 0f8992000000 }
// n = 4, score = 1200
// eb0b | dec esp
// 8b4f30 | mov eax, ebx
// 84c9 | xor edx, edx
// 0f8992000000 | dec eax
$sequence_90 = { 8b7508 e8???????? 33f6 3975fc }
// n = 4, score = 1200
// 8b7508 | test ebx, ebx
// e8???????? |
// 33f6 | mov dword ptr [ebp - 0xc], ebx
// 3975fc | je 0xd2
$sequence_91 = { 40 a3???????? a3???????? a3???????? a1???????? 83e0fb 0bc2 }
// n = 7, score = 1200
// 40 | sbb eax, eax
// a3???????? |
// a3???????? |
// a3???????? |
// a1???????? |
// 83e0fb | mov al, byte ptr [esi + 4]
// 0bc2 | and al, 4
$sequence_92 = { 2b55fc 8b7d10 0155fc 83451004 }
// n = 4, score = 1200
// 2b55fc | sub edx, dword ptr [ebp - 4]
// 8b7d10 | mov edi, dword ptr [ebp + 0x10]
// 0155fc | add dword ptr [ebp - 4], edx
// 83451004 | add dword ptr [ebp + 0x10], 4
$sequence_93 = { f6400408 752e 53 e8???????? 6a01 }
// n = 5, score = 1200
// f6400408 | mov dword ptr [ebp - 0xc], ebx
// 752e | je 0xd0
// 53 | push esi
// e8???????? |
// 6a01 | jne 7
$sequence_94 = { 53 ff35???????? 8bd7 ff75fc }
// n = 4, score = 1200
// 53 | leave
// ff35???????? |
// 8bd7 | ret 0x10
// ff75fc | push ebp
$sequence_95 = { ff37 e8???????? 85c0 0f85d7000000 8b4604 6a00 }
// n = 6, score = 1200
// ff37 | jmp 0xc
// e8???????? |
// 85c0 | mov ebx, 0x7e
// 0f85d7000000 | dec eax
// 8b4604 | add esi, 8
// 6a00 | cmp ebp, 5
$sequence_96 = { e8???????? 3bfe 740e 57 56 ff35???????? }
// n = 6, score = 1200
// e8???????? |
// 3bfe | je 0xd4
// 740e | push 0xf00
// 57 | mov ebx, eax
// 56 | test ebx, ebx
// ff35???????? |
$sequence_97 = { 85ff 0f845d010000 8b4730 a808 7412 53 8d47e4 }
// n = 7, score = 1200
// 85ff | dec eax
// 0f845d010000 | mov ebx, edi
// 8b4730 | mov esi, edi
// a808 | dec eax
// 7412 | cmp ebx, edi
// 53 | xor edx, edx
// 8d47e4 | dec eax
$sequence_98 = { 83e103 740d 51 50 ff7510 e8???????? 83c40c }
// n = 7, score = 1200
// 83e103 | and ecx, 3
// 740d | je 0xf
// 51 | push ecx
// 50 | push eax
// ff7510 | push dword ptr [ebp + 0x10]
// e8???????? |
// 83c40c | add esp, 0xc
$sequence_99 = { 488bce ff15???????? 488b0d???????? 33d2 4c63c0 }
// n = 5, score = 1100
// 488bce | mov esi, ecx
// ff15???????? |
// 488b0d???????? |
// 33d2 | add eax, 0xfffffefe
// 4c63c0 | xor ebx, ebx
$sequence_100 = { 85c0 7507 33db 895d08 eb03 8b5d08 }
// n = 6, score = 1100
// 85c0 | xor edx, edx
// 7507 | inc ecx
// 33db | mov ebx, ebp
// 895d08 | je 0x10
// eb03 | inc ecx
// 8b5d08 | add ebp, esi
$sequence_101 = { 33d2 ff15???????? 4885db 740c 4c8b0d???????? }
// n = 5, score = 1100
// 33d2 | jmp 6
// ff15???????? |
// 4885db | xor eax, eax
// 740c | cmp eax, edi
// 4c8b0d???????? |
$sequence_102 = { 33d2 498bcc 498bfd e8???????? 493bc5 7405 }
// n = 6, score = 1100
// 33d2 | je 0x4b
// 498bcc | inc ecx
// 498bfd | add ebp, esi
// e8???????? |
// 493bc5 | dec eax
// 7405 | add esi, 8
$sequence_103 = { ff30 8b4608 6a01 c1e00c 50 ff15???????? }
// n = 6, score = 1100
// ff30 | push eax
// 8b4608 | push edi
// 6a01 | push dword ptr [ebp + 8]
// c1e00c | push 0
// 50 | push 0
// ff15???????? |
$sequence_104 = { 4103ee 4883c608 83fd05 72c1 }
// n = 4, score = 1100
// 4103ee | dec eax
// 4883c608 | add esi, 8
// 83fd05 | cmp ebp, 5
// 72c1 | jb 0xffffffca
$sequence_105 = { 89742420 e8???????? 8bf0 eb05 be08000000 }
// n = 5, score = 1100
// 89742420 | push esi
// e8???????? |
// 8bf0 | push ebx
// eb05 | push ebx
// be08000000 | cmp eax, ebx
$sequence_106 = { 745d 488b0d???????? 33d2 41b800040000 ff15???????? 4c8b4608 }
// n = 6, score = 1100
// 745d | mov dword ptr [esi], eax
// 488b0d???????? |
// 33d2 | add esi, 4
// 41b800040000 | test eax, eax
// ff15???????? |
// 4c8b4608 | je 0x11
$sequence_107 = { 448be8 418b4310 41394308 410f474308 }
// n = 4, score = 1100
// 448be8 | pop esp
// 418b4310 | mov esi, 1
// 41394308 | mov eax, esi
// 410f474308 | dec eax
$sequence_108 = { 33d2 ff15???????? 8b05???????? 418bdd }
// n = 4, score = 1100
// 33d2 | cmp ebp, 5
// ff15???????? |
// 8b05???????? |
// 418bdd | jb 0xffffffc6
$sequence_109 = { 8a4b1c 488b4558 4c8b4d30 4c8b4510 }
// n = 4, score = 1100
// 8a4b1c | dec ecx
// 488b4558 | mov edi, ebp
// 4c8b4d30 | jb 0xffffffc3
// 4c8b4510 | jmp 0x10
$sequence_110 = { ff35???????? ff15???????? 33db 6a01 }
// n = 4, score = 1100
// ff35???????? |
// ff15???????? |
// 33db | dec eax
// 6a01 | add ebx, edi
$sequence_111 = { 5b c9 c20400 51 56 ff74240c }
// n = 6, score = 1100
// 5b | inc ecx
// c9 | add ebp, esi
// c20400 | dec eax
// 51 | add esi, 8
// 56 | cmp ebp, 5
// ff74240c | jb 0xffffffcd
$sequence_112 = { 8bc7 4883c440 415e 415d 415c 5f }
// n = 6, score = 1100
// 8bc7 | xor ecx, ecx
// 4883c440 | push esi
// 415e | mov esi, ecx
// 415d | add eax, 0xfffffefe
// 415c | xor ebx, ebx
// 5f | xor ecx, ecx
$sequence_113 = { 33d2 ff15???????? 483bc3 4c8be8 }
// n = 4, score = 1100
// 33d2 | mov ebx, 0x7f
// ff15???????? |
// 483bc3 | jmp 0xc
// 4c8be8 | mov ebx, 0x7e
$sequence_114 = { 418bd8 4803df 410fb64101 33d2 488d0cc3 48890d???????? 410fb64102 }
// n = 7, score = 1100
// 418bd8 | xor eax, eax
// 4803df | cmp eax, edi
// 410fb64101 | mov edx, ebx
// 33d2 | jmp 6
// 488d0cc3 | xor eax, eax
// 48890d???????? |
// 410fb64102 | cmp eax, edi
$sequence_115 = { 50 57 e8???????? e9???????? 68???????? }
// n = 5, score = 1100
// 50 | add esi, 8
// 57 | cmp ebp, 5
// e8???????? |
// e9???????? |
// 68???????? |
$sequence_116 = { 4533c0 33d2 c705????????01000000 ff15???????? }
// n = 4, score = 1100
// 4533c0 | mov dword ptr [ebp - 0x10], ebx
// 33d2 | mov dword ptr [ebp - 8], 0x57
// c705????????01000000 |
// ff15???????? |
$sequence_117 = { ff15???????? 488bcf 48870d???????? 483bcf 7405 }
// n = 5, score = 1100
// ff15???????? |
// 488bcf | sub esp, 0xc
// 48870d???????? |
// 483bcf | push ebx
// 7405 | mov eax, esi
$sequence_118 = { 48890d???????? 410fb64102 488d0cc3 48890d???????? 410fb64103 488d0cc3 }
// n = 6, score = 1100
// 48890d???????? |
// 410fb64102 | pop esi
// 488d0cc3 | pop ebx
// 48890d???????? |
// 410fb64103 | ret
// 488d0cc3 | mov eax, dword ptr [edi + 0x54]
$sequence_119 = { 8ac3 5b c9 c20400 53 56 8bf0 }
// n = 7, score = 1000
// 8ac3 | pop ecx
// 5b | ret 4
// c9 | push 0
// c20400 | pop ebx
// 53 | pop ecx
// 56 | ret 4
// 8bf0 | push 0
$sequence_120 = { ffd7 ff761c ffd7 53 53 53 53 }
// n = 7, score = 1000
// ffd7 | xor edx, edx
// ff761c | dec eax
// ffd7 | lea ecx, [ebx + eax*8]
// 53 | inc esp
// 53 | mov ebp, eax
// 53 | inc ecx
// 53 | mov eax, dword ptr [ebx + 0x10]
$sequence_121 = { 488bce e8???????? 488b5c2440 488b742448 488bc7 }
// n = 5, score = 1000
// 488bce | ret 4
// e8???????? |
// 488b5c2440 | push 0
// 488b742448 | mov eax, ebp
// 488bc7 | pop ebp
$sequence_122 = { 8b02 43 8acb d3c0 33c6 33442410 }
// n = 6, score = 1000
// 8b02 | dec dword ptr [esp + 0xc]
// 43 | jne 0xffffffe8
// 8acb | pop esi
// d3c0 | pop ebx
// 33c6 | mov esi, eax
// 33442410 | mov dword ptr [edx], esi
$sequence_123 = { ff15???????? 4885c0 488bd8 742b }
// n = 4, score = 1000
// ff15???????? |
// 4885c0 | push dword ptr [ebp - 0xc]
// 488bd8 | push 0x122
// 742b | push dword ptr [ebp + 8]
$sequence_124 = { e8???????? 488bcf ff15???????? 488b5c2430 }
// n = 4, score = 1000
// e8???????? |
// 488bcf | mov ecx, 0x10e
// ff15???????? |
// 488b5c2430 | inc ecx
$sequence_125 = { 0f8386000000 488b18 8364245800 33c0 21442450 }
// n = 5, score = 1000
// 0f8386000000 | ret 4
// 488b18 | push 0
// 8364245800 | push 1
// 33c0 | pop esi
// 21442450 | mov eax, ebp
$sequence_126 = { 8b3d???????? 56 ffd7 53 56 }
// n = 5, score = 1000
// 8b3d???????? |
// 56 | je 0x21d
// ffd7 | xor ecx, ebx
// 53 | push ecx
// 56 | push edi
$sequence_127 = { 50 ff5108 ff75f4 e8???????? }
// n = 4, score = 1000
// 50 | je 8
// ff5108 | push eax
// ff75f4 | cmp edi, ebx
// e8???????? |
$sequence_128 = { 4889442450 48895c2448 48895c2440 c744243801000000 c744243001000000 4533c0 488bd6 }
// n = 7, score = 1000
// 4889442450 | push ebx
// 48895c2448 | push ebx
// 48895c2440 | lea esi, [eax + ebx - 1]
// c744243801000000 | mov ebx, eax
// c744243001000000 | test ebx, ebx
// 4533c0 | mov dword ptr [ebp - 0xc], ebx
// 488bd6 | je 0xd2
$sequence_129 = { 5b c3 a1???????? 83c040 50 ff15???????? eb08 }
// n = 7, score = 1000
// 5b | cmp eax, edi
// c3 | mov dword ptr [ebp - 0x20], eax
// a1???????? |
// 83c040 | je 0x220
// 50 | call edi
// ff15???????? |
// eb08 | test eax, eax
$sequence_130 = { 8bf1 05fefeffff 33db 33c9 }
// n = 4, score = 1000
// 8bf1 | je 0x1a
// 05fefeffff | push eax
// 33db | mov edx, ebx
// 33c9 | jmp 4
$sequence_131 = { 8bf0 8932 83c204 ff4c240c 75e6 5e }
// n = 6, score = 1000
// 8bf0 | jb 0xffffffca
// 8932 | jmp 0x17
// 83c204 | mov ebx, 0x7f
// ff4c240c | jmp 0x17
// 75e6 | mov cl, byte ptr [ebx + 0x1c]
// 5e | dec eax
$sequence_132 = { 753e ff7618 8b3d???????? ffd7 ff761c }
// n = 5, score = 1000
// 753e | inc ecx
// ff7618 | movzx eax, byte ptr [ecx + 2]
// 8b3d???????? |
// ffd7 | inc ecx
// ff761c | movzx eax, byte ptr [ecx + 1]
$sequence_133 = { ff750c ff7508 e8???????? 0945fc 47 83c304 3b3e }
// n = 7, score = 1000
// ff750c | cmp eax, edi
// ff7508 | je 0x21
// e8???????? |
// 0945fc | push dword ptr [ebp + 8]
// 47 | push dword ptr [ebp - 0x10]
// 83c304 | push dword ptr [ebp - 0xc]
// 3b3e | push 0x122
$sequence_134 = { 75e6 5e 5b c20800 }
// n = 4, score = 1000
// 75e6 | xor ebx, ebx
// 5e | pop ebx
// 5b | leave
// c20800 | ret 4
$sequence_135 = { 66ba2e00 ff15???????? 488bf0 488d44246c }
// n = 4, score = 900
// 66ba2e00 | push ebx
// ff15???????? |
// 488bf0 | push 1
// 488d44246c | push 1
$sequence_136 = { 488bd6 ff15???????? eb14 488b0d???????? 4c8bc7 33d2 }
// n = 6, score = 900
// 488bd6 | dec eax
// ff15???????? |
// eb14 | mov edi, eax
// 488b0d???????? |
// 4c8bc7 | dec eax
// 33d2 | test eax, eax
$sequence_137 = { 741d 3dd2100000 7416 a1???????? 83c004 }
// n = 5, score = 900
// 741d | je 0x1b
// 3dd2100000 | push eax
// 7416 | add esi, 4
// a1???????? |
// 83c004 | cmp edi, ebx
$sequence_138 = { 488364243000 448d4301 4533c9 ba000000c0 }
// n = 4, score = 900
// 488364243000 | push dword ptr [ebp - 0x10]
// 448d4301 | push dword ptr [ebp - 0xc]
// 4533c9 | push 0x122
// ba000000c0 | push dword ptr [ebp + 8]
$sequence_139 = { 4533c9 4889442428 215c2420 4533c0 }
// n = 4, score = 900
// 4533c9 | mov edi, eax
// 4889442428 | cmp edi, 0x3e5
// 215c2420 | jne 0x15
// 4533c0 | mov al, byte ptr [esi + 4]
$sequence_140 = { 4c8d4c2450 4c8d442458 8d5001 488bce e8???????? 85c0 }
// n = 6, score = 900
// 4c8d4c2450 | mov ecx, 0x201
// 4c8d442458 | test eax, eax
// 8d5001 | jne 0x21
// 488bce | inc esp
// e8???????? |
// 85c0 | lea eax, [eax + 1]
$sequence_141 = { 6a00 ff35???????? ffd3 8bd8 85db 7476 }
// n = 6, score = 900
// 6a00 | xor eax, eax
// ff35???????? |
// ffd3 | cmp eax, ebx
// 8bd8 | je 0x25
// 85db | push eax
// 7476 | add esi, 4
$sequence_142 = { 4883c208 413bca 7ce6 413bca }
// n = 4, score = 900
// 4883c208 | xor edx, edx
// 413bca | xor edx, edx
// 7ce6 | dec eax
// 413bca | test ebx, ebx
$sequence_143 = { 488bc8 41b905000000 488bd8 ff15???????? 488bcb ff15???????? }
// n = 6, score = 900
// 488bc8 | mov al, byte ptr [esi + 4]
// 41b905000000 | and al, 4
// 488bd8 | neg al
// ff15???????? |
// 488bcb | sbb eax, eax
// ff15???????? |
$sequence_144 = { 488bce ff15???????? 4c8d4c2450 4c8d442458 }
// n = 4, score = 900
// 488bce | mov ecx, eax
// ff15???????? |
// 4c8d4c2450 | inc ebp
// 4c8d442458 | mov edi, ecx
$sequence_145 = { e9???????? 33c9 bb26040000 48870d???????? 4885c9 }
// n = 5, score = 900
// e9???????? |
// 33c9 | dec eax
// bb26040000 | mov ebx, edi
// 48870d???????? |
// 4885c9 | mov esi, edi
$sequence_146 = { 480f45f2 832700 458be0 bb08000000 e8???????? }
// n = 5, score = 900
// 480f45f2 | and al, 4
// 832700 | neg al
// 458be0 | sbb eax, eax
// bb08000000 | and eax, 6
// e8???????? |
$sequence_147 = { 4c8bc7 33d2 ff15???????? 33ff 4885ff }
// n = 5, score = 900
// 4c8bc7 | xor edi, edi
// 33d2 | dec esp
// ff15???????? |
// 33ff | mov ebp, eax
// 4885ff | xor edi, edi
$sequence_148 = { 8d442430 50 8d442428 50 8d442428 }
// n = 5, score = 900
// 8d442430 | cmp eax, ebx
// 50 | je 0x11
// 8d442428 | push eax
// 50 | add esi, 4
// 8d442428 | cmp eax, ebx
$sequence_149 = { ff15???????? 488b0d???????? 4c63c0 33d2 4983c00c }
// n = 5, score = 800
// ff15???????? |
// 488b0d???????? |
// 4c63c0 | mov esi, edi
// 33d2 | dec eax
// 4983c00c | cmp ebx, edi
$sequence_150 = { a1???????? 25efff0000 0bc2 e9???????? }
// n = 4, score = 800
// a1???????? |
// 25efff0000 | pop ebx
// 0bc2 | ret 8
// e9???????? |
$sequence_151 = { 0fba261f 0f92c0 f6d8 1bc0 }
// n = 4, score = 800
// 0fba261f | mov esi, eax
// 0f92c0 | cmp esi, ebx
// f6d8 | je 0x47
// 1bc0 | push -1
$sequence_152 = { 7433 ff15???????? 3db7000000 751d }
// n = 4, score = 800
// 7433 | push ebx
// ff15???????? |
// 3db7000000 | mov esi, eax
// 751d | cmp esi, ebx
$sequence_153 = { 6a03 8935???????? 8935???????? 8935???????? }
// n = 4, score = 800
// 6a03 | pop esi
// 8935???????? |
// 8935???????? |
// 8935???????? |
$sequence_154 = { 448b0d???????? 448b05???????? 8b0d???????? 8b05???????? 410fc9 410fc8 }
// n = 6, score = 800
// 448b0d???????? |
// 448b05???????? |
// 8b0d???????? |
// 8b05???????? |
// 410fc9 | cmp eax, 1
// 410fc8 | dec eax
$sequence_155 = { 488364242000 4c8d8c2480000000 448bc6 498bd5 }
// n = 4, score = 800
// 488364242000 | pop ebx
// 4c8d8c2480000000 | pop ecx
// 448bc6 | ret 4
// 498bd5 | pop ebp
$sequence_156 = { 53 56 8bf1 05fefeffff }
// n = 4, score = 800
// 53 | mov edx, ebx
// 56 | jmp 6
// 8bf1 | xor eax, eax
// 05fefeffff | cmp eax, edi
$sequence_157 = { b922010000 e9???????? b90a010000 e9???????? }
// n = 4, score = 800
// b922010000 | pop esi
// e9???????? |
// b90a010000 | mov eax, ebx
// e9???????? |
$sequence_158 = { 41be01000000 33c9 418bd6 ff15???????? }
// n = 4, score = 800
// 41be01000000 | add esi, 8
// 33c9 | cmp ebp, 5
// 418bd6 | jb 0xffffffc6
// ff15???????? |
$sequence_159 = { 4533c0 33d2 33db ff15???????? 85c0 }
// n = 5, score = 800
// 4533c0 | pop ecx
// 33d2 | ret 4
// 33db | push 0
// ff15???????? |
// 85c0 | pop ecx
$sequence_160 = { 215c2420 4533c9 4533c0 33d2 ff15???????? }
// n = 5, score = 800
// 215c2420 | jne 0xf
// 4533c9 | dec eax
// 4533c0 | mov ebx, edi
// 33d2 | mov esi, edi
// ff15???????? |
$sequence_161 = { e9???????? 488bcb ff15???????? a810 }
// n = 4, score = 800
// e9???????? |
// 488bcb | dec eax
// ff15???????? |
// a810 | mov ebx, edi
$sequence_162 = { 803f2a 750b 4883c701 83c3ff }
// n = 4, score = 800
// 803f2a | mov esi, 1
// 750b | mov eax, esi
// 4883c701 | dec eax
// 83c3ff | add esp, 0x40
$sequence_163 = { 57 895df4 895df0 c745f857000000 }
// n = 4, score = 800
// 57 | cmp ebx, 0x103
// 895df4 | jne 0xa
// 895df0 | xor ebx, ebx
// c745f857000000 | pop ebx
$sequence_164 = { 4889742410 57 4883ec40 8b05???????? 8325????????00 4533c9 }
// n = 6, score = 800
// 4889742410 | je 0xe
// 57 | inc ecx
// 4883ec40 | movzx eax, byte ptr [ecx + 2]
// 8b05???????? |
// 8325????????00 |
// 4533c9 | dec eax
$sequence_165 = { 448bc0 8bd8 33d2 4983c001 }
// n = 4, score = 800
// 448bc0 | inc ecx
// 8bd8 | pop esi
// 33d2 | inc ecx
// 4983c001 | pop ebp
$sequence_166 = { 48215c2420 8bee 4c8d8c2480000000 4903ed }
// n = 4, score = 700
// 48215c2420 | push 0
// 8bee | pop ecx
// 4c8d8c2480000000 | ret 4
// 4903ed | push 0
$sequence_167 = { c20400 55 8bec 83e4f8 83ec0c a1???????? 53 }
// n = 7, score = 700
// c20400 | push dword ptr [esp + 0xc]
// 55 | mov esi, ecx
// 8bec | add eax, 0xfffffefe
// 83e4f8 | xor ebx, ebx
// 83ec0c | xor ecx, ecx
// a1???????? |
// 53 | push 3
$sequence_168 = { 57 4154 4155 4156 4883ec50 488bf1 }
// n = 6, score = 700
// 57 | jmp 0x17
// 4154 | xor edx, edx
// 4155 | dec ecx
// 4156 | mov ecx, esp
// 4883ec50 | dec ecx
// 488bf1 | mov edi, ebp
$sequence_169 = { 4c8d8c2480000000 458bc4 488bd5 488bcf ff15???????? 85c0 }
// n = 6, score = 700
// 4c8d8c2480000000 | mov eax, ebp
// 458bc4 | pop ebp
// 488bd5 | pop ebx
// 488bcf | pop ecx
// ff15???????? |
// 85c0 | ret 4
$sequence_170 = { ff15???????? 8bd8 488bcf ff15???????? 488bcf }
// n = 5, score = 700
// ff15???????? |
// 8bd8 | pop ecx
// 488bcf | ret 4
// ff15???????? |
// 488bcf | push 0
$sequence_171 = { 488b0d???????? 4889040f 4883c708 492bf6 75db }
// n = 5, score = 700
// 488b0d???????? |
// 4889040f | dec eax
// 4883c708 | mov ecx, ebp
// 492bf6 | mov ecx, dword ptr [esp + 0x90]
// 75db | cmp dword ptr [esp + 0x88], 0
$sequence_172 = { 488d542438 488bcb e8???????? eb02 }
// n = 4, score = 700
// 488d542438 | pop ecx
// 488bcb | ret 4
// e8???????? |
// eb02 | push 0
$sequence_173 = { 448bc6 498bd5 488bc8 ff15???????? 85c0 7508 ff15???????? }
// n = 7, score = 700
// 448bc6 | pop ebx
// 498bd5 | pop ecx
// 488bc8 | ret 4
// ff15???????? |
// 85c0 | pop ebx
// 7508 | pop ecx
// ff15???????? |
$sequence_174 = { 8d45f8 50 8d450c 50 ff35???????? }
// n = 5, score = 600
// 8d45f8 | lea ecx, [ebx + eax*8]
// 50 | inc ecx
// 8d450c | movzx eax, byte ptr [ecx + 1]
// 50 | xor edx, edx
// ff35???????? |
$sequence_175 = { 21b42410020000 eb0d ff15???????? 89842410020000 }
// n = 4, score = 600
// 21b42410020000 | lea ecx, [ebp - 4]
// eb0d | push ecx
// ff15???????? |
// 89842410020000 | je 0x16
$sequence_176 = { ff15???????? eb05 bb08000000 4c8d9c24c0000000 8bc3 }
// n = 5, score = 600
// ff15???????? |
// eb05 | ret 4
// bb08000000 | pop ecx
// 4c8d9c24c0000000 | ret 4
// 8bc3 | push 0
$sequence_177 = { 7405 e8???????? 4883c428 c3 488d82204a0000 488982284a0000 }
// n = 6, score = 600
// 7405 | pop ecx
// e8???????? |
// 4883c428 | ret 4
// c3 | push 0
// 488d82204a0000 | mov eax, ebp
// 488982284a0000 | pop ebp
$sequence_178 = { eb23 6a02 5e 68???????? }
// n = 4, score = 600
// eb23 | lea ecx, [ebx + eax*8]
// 6a02 | dec eax
// 5e | add ebx, edi
// 68???????? |
$sequence_179 = { ff15???????? 85ff 7406 57 }
// n = 4, score = 600
// ff15???????? |
// 85ff | inc ecx
// 7406 | movzx eax, byte ptr [ecx + 2]
// 57 | dec eax
$sequence_180 = { e8???????? 85c0 751a ff7620 }
// n = 4, score = 600
// e8???????? |
// 85c0 | dec eax
// 751a | lea ecx, [ebx + eax*8]
// ff7620 | xor edx, edx
$sequence_181 = { 33d2 ff15???????? 493bc6 488bf8 }
// n = 4, score = 500
// 33d2 | jae 0x15
// ff15???????? |
// 493bc6 | bt dword ptr [esi], 0x1f
// 488bf8 | setb al
$sequence_182 = { 0f859b000000 4863533c 488b4608 488b0e 48035334 41b800200000 4533c9 }
// n = 7, score = 500
// 0f859b000000 | mov ebx, 0xea60
// 4863533c | push ebx
// 488b4608 | jne 7
// 488b0e | push ebx
// 48035334 | mov ebx, 0xea60
// 41b800200000 | push ebx
// 4533c9 | jne 7
$sequence_183 = { 483bc3 488905???????? 0f8431020000 817424302083b8ed 8d7b01 }
// n = 5, score = 500
// 483bc3 | inc ebp
// 488905???????? |
// 0f8431020000 | xor eax, eax
// 817424302083b8ed | xor edx, edx
// 8d7b01 | xor ebx, ebx
$sequence_184 = { 397b44 7510 488b0b e8???????? 85c0 0f859b000000 }
// n = 6, score = 500
// 397b44 | lea eax, [ebp - 8]
// 7510 | push 4
// 488b0b | push eax
// e8???????? |
// 85c0 | push edi
// 0f859b000000 | push dword ptr [ebp + 8]
$sequence_185 = { 0f85e8000000 488b4608 488b0e 4533c9 448bc5 498bd4 ff5008 }
// n = 7, score = 500
// 0f85e8000000 | push ebp
// 488b4608 | mov ebp, esp
// 488b0e | sub esp, 0xc
// 4533c9 | and dword ptr [ebp - 8], 0
// 448bc5 | ret 4
// 498bd4 | push ebp
// ff5008 | mov ebp, esp
$sequence_186 = { 4533c0 e8???????? 483bc3 488905???????? 0f84dc000000 }
// n = 5, score = 500
// 4533c0 | neg al
// e8???????? |
// 483bc3 | bt dword ptr [esi], 0x1f
// 488905???????? |
// 0f84dc000000 | setb al
$sequence_187 = { 488b0d???????? 4c8bc5 33d2 ff15???????? e9???????? }
// n = 5, score = 500
// 488b0d???????? |
// 4c8bc5 | pop ebx
// 33d2 | ret 4
// ff15???????? |
// e9???????? |
$sequence_188 = { 217b3c eb0b 8b434c 84c0 0f89a3000000 }
// n = 5, score = 500
// 217b3c | push ebx
// eb0b | push dword ptr [ebp + 0xc]
// 8b434c | jne 7
// 84c0 | push ebx
// 0f89a3000000 | mov ebx, 0xea60
$sequence_189 = { 0f89a3000000 8b434c a804 7415 }
// n = 4, score = 500
// 0f89a3000000 | sub esp, 0xc
// 8b434c | and dword ptr [ebp - 8], 0
// a804 | jne 7
// 7415 | push ebx
$sequence_190 = { ff15???????? 4c8be0 4885c0 0f8405010000 ff15???????? }
// n = 5, score = 400
// ff15???????? |
// 4c8be0 | dec eax
// 4885c0 | test ebx, ebx
// 0f8405010000 | je 0xe
// ff15???????? |
$sequence_191 = { 488bc8 e8???????? 48898424e0010000 4885c0 }
// n = 4, score = 400
// 488bc8 | mov edi, ebp
// e8???????? |
// 48898424e0010000 | inc ecx
// 4885c0 | add ebp, esi
$sequence_192 = { 488bcd 89442428 488b842410020000 4889442420 e8???????? 8bd8 }
// n = 6, score = 400
// 488bcd | dec eax
// 89442428 | lea ecx, [ebx + eax*8]
// 488b842410020000 | ret
// 4889442420 | inc ecx
// e8???????? |
// 8bd8 | mov ebx, eax
$sequence_193 = { 4533c0 ff15???????? 8bd8 83f801 }
// n = 4, score = 400
// 4533c0 | dec eax
// ff15???????? |
// 8bd8 | test ebx, ebx
// 83f801 | je 0x11
$sequence_194 = { 488d542448 488bc8 458bf9 33ff e8???????? 4c8be8 }
// n = 6, score = 400
// 488d542448 | dec eax
// 488bc8 | lea ecx, [ebx + eax*8]
// 458bf9 | dec eax
// 33ff | lea ecx, [ebx + eax*8]
// e8???????? |
// 4c8be8 | inc ecx
$sequence_195 = { 488bf8 4885c0 7427 488d542420 }
// n = 4, score = 400
// 488bf8 | dec eax
// 4885c0 | add esi, 8
// 7427 | cmp ebp, 5
// 488d542420 | jb 0xffffffca
$sequence_196 = { 7427 488d542420 b901020000 ff15???????? 85c0 7513 }
// n = 6, score = 400
// 7427 | jmp 0xe
// 488d542420 | mov ebx, 0x7e
// b901020000 | inc ecx
// ff15???????? |
// 85c0 | cmp ebx, ebp
// 7513 | mov cl, byte ptr [ebx + 0x1c]
$sequence_197 = { 488d542440 e8???????? 8bd8 85c0 7541 488b7c2440 }
// n = 6, score = 400
// 488d542440 | xor edx, edx
// e8???????? |
// 8bd8 | dec eax
// 85c0 | lea ecx, [ebx + eax*8]
// 7541 | inc ecx
// 488b7c2440 | movzx eax, byte ptr [ecx + 2]
$sequence_198 = { 01cb c644241300 30c9 eb67 }
// n = 4, score = 300
// 01cb | mov eax, dword ptr [esp + 0x18]
// c644241300 | mov dword ptr [ecx + 0x10], eax
// 30c9 | dec eax
// eb67 | mov ecx, edi
$sequence_199 = { 5f 5e 01e8 8d342a eba2 }
// n = 5, score = 300
// 5f | mov ebx, 0xea60
// 5e | push ebx
// 01e8 | jne 7
// 8d342a | push ebx
// eba2 | mov ebx, 0xea60
$sequence_200 = { 6683f9ff 896c2428 7508 8b5304 83c304 01f2 8b4c241c }
// n = 7, score = 300
// 6683f9ff | push esi
// 896c2428 | jne 7
// 7508 | push ebx
// 8b5304 | mov ebx, 0xea60
// 83c304 | push ebx
// 01f2 | push ebx
// 8b4c241c | mov ebx, 0xea60
$sequence_201 = { 5b 59 89ec 5d c20c00 60 }
// n = 6, score = 300
// 5b | push ebx
// 59 | mov ebx, 0xea60
// 89ec | push ebx
// 5d | push dword ptr [ebp + 0xc]
// c20c00 | jne 7
// 60 | push ebx
$sequence_202 = { 83c304 894c2410 56 90 57 51 8b742420 }
// n = 7, score = 300
// 83c304 | push ebx
// 894c2410 | push ebx
// 56 | push 0xf00
// 90 | mov ebx, eax
// 57 | test ebx, ebx
// 51 | mov dword ptr [ebp - 0xc], ebx
// 8b742420 | je 0xd4
$sequence_203 = { 51 90 8b742428 8b7c2424 8b4c2420 }
// n = 5, score = 300
// 51 | jne 0x14
// 90 | cmp eax, ebx
// 8b742428 | mov eax, dword ptr [esp + 0x14]
// 8b7c2424 | mov ecx, dword ptr [esp + 0xc]
// 8b4c2420 | mov dword ptr [edi], eax
$sequence_204 = { 66837b0200 7451 0fb70b 0fb76b02 }
// n = 4, score = 300
// 66837b0200 | push ebx
// 7451 | jne 7
// 0fb70b | push ebx
// 0fb76b02 | mov ebx, 0xea60
$sequence_205 = { 89e5 8b4508 8b4d0c 8b5510 31db 90 }
// n = 6, score = 300
// 89e5 | push ebx
// 8b4508 | push dword ptr [ebp + 0xc]
// 8b4d0c | jne 7
// 8b5510 | push ebx
// 31db | mov ebx, 0xea60
// 90 | push ebx
$sequence_206 = { 57 56 53 81ec48020000 8d85ecfdffff 8d8df0feffff 89e2 }
// n = 7, score = 100
// 57 | test al, 4
// 56 | mov esi, 1
// 53 | mov eax, esi
// 81ec48020000 | dec eax
// 8d85ecfdffff | add esp, 0x40
// 8d8df0feffff | inc ecx
// 89e2 | pop esi
$sequence_207 = { 7453 eb00 8a458f 240f 2c03 }
// n = 5, score = 100
// 7453 | test byte ptr [eax + 4], 8
// eb00 | jne 0x34
// 8a458f | push ebx
// 240f | push dword ptr [ebp + 0xc]
// 2c03 | push ebx
$sequence_208 = { e8???????? 8d0d5b318702 890424 894c2404 e8???????? 8d0d84308702 31d2 }
// n = 7, score = 100
// e8???????? |
// 8d0d5b318702 | inc ecx
// 890424 | pop esi
// 894c2404 | mov esi, 1
// e8???????? |
// 8d0d84308702 | mov eax, esi
// 31d2 | dec eax
$sequence_209 = { 8b4df0 8b5134 8b7138 891424 }
// n = 4, score = 100
// 8b4df0 | xor esi, esi
// 8b5134 | cmp dword ptr [ebp - 4], esi
// 8b7138 | je 0x15
// 891424 | push dword ptr [ebp - 4]
$sequence_210 = { 894c2404 8985d4fdffff e8???????? 31c9 83f800 }
// n = 5, score = 100
// 894c2404 | inc ecx
// 8985d4fdffff | pop ebp
// e8???????? |
// 31c9 | inc ecx
// 83f800 | pop esp
$sequence_211 = { 898d4cfdffff 0f849b000000 b80d000000 b901000000 8d956cfdffff 891424 c74424040d000000 }
// n = 7, score = 100
// 898d4cfdffff | mov eax, esi
// 0f849b000000 | dec eax
// b80d000000 | add esp, 0x40
// b901000000 | inc ecx
// 8d956cfdffff | pop esi
// 891424 | inc ecx
// c74424040d000000 | pop ebp
$sequence_212 = { 8995d8fbffff 89b5d4fbffff e8???????? 83c40c 8b85d4fbffff 50 }
// n = 6, score = 100
// 8995d8fbffff | pop ebp
// 89b5d4fbffff | mov esi, 1
// e8???????? |
// 83c40c | mov eax, esi
// 8b85d4fbffff | dec eax
// 50 | add esp, 0x40
$sequence_213 = { 8b45e0 8b4de4 89c2 83c201 }
// n = 4, score = 100
// 8b45e0 | cmp edi, esi
// 8b4de4 | je 0x12
// 89c2 | push edi
// 83c201 | push eax
$sequence_214 = { 894dd0 e8???????? 8b45d0 83c001 8b4dd4 }
// n = 5, score = 100
// 894dd0 | cmp dword ptr [ebp - 4], esi
// e8???????? |
// 8b45d0 | je 0x12
// 83c001 | push dword ptr [ebp - 4]
// 8b4dd4 | push esi
$sequence_215 = { 895590 89758c 897d88 e8???????? 8b45b4 8b483c 8b55a0 }
// n = 7, score = 100
// 895590 | cmp dword ptr [ebp - 4], esi
// 89758c | push ebx
// 897d88 | cmp edi, esi
// e8???????? |
// 8b45b4 | je 0x10
// 8b483c | push edi
// 8b55a0 | push esi
$sequence_216 = { 8b8d60ffffff 83c101 8b954cffffff 83c228 8b75ac 39f1 }
// n = 6, score = 100
// 8b8d60ffffff | mov dword ptr [ebp - 8], eax
// 83c101 | mov ebx, eax
// 8b954cffffff | push dword ptr [ebp + 0xc]
// 83c228 | push ebx
// 8b75ac | cmp edi, esi
// 39f1 | je 0x13
$sequence_217 = { c744240400000000 c744240803000000 8985e0fbffff 898ddcfbffff 8995d8fbffff }
// n = 5, score = 100
// c744240400000000 | pop ebp
// c744240803000000 | mov esi, 1
// 8985e0fbffff | mov eax, esi
// 898ddcfbffff | dec eax
// 8995d8fbffff | add esp, 0x40
$sequence_218 = { 8b5db4 8b5b50 894598 8b45a0 890424 c744240400000000 }
// n = 6, score = 100
// 8b5db4 | je 0x12
// 8b5b50 | push dword ptr [ebp - 4]
// 894598 | push esi
// 8b45a0 | push ebx
// 890424 | mov esi, dword ptr [ebp + 8]
// c744240400000000 | xor esi, esi
$sequence_219 = { 0f8563ffffff 8b8574ffffff 81c4a0000000 5e 5f 5d }
// n = 6, score = 100
// 0f8563ffffff | pop edi
// 8b8574ffffff | pop esi
// 81c4a0000000 | pop ebp
// 5e | pop ebx
// 5f | ret
// 5d | mov eax, dword ptr [edi + 0x54]
$sequence_220 = { 8b8d48ffffff 83c101 8b953cffffff 83c228 }
// n = 4, score = 100
// 8b8d48ffffff | add esp, 0x40
// 83c101 | inc ecx
// 8b953cffffff | pop esi
// 83c228 | inc ecx
$sequence_221 = { 8b75f8 39f0 8945e8 75e7 8b45f0 83c414 }
// n = 6, score = 100
// 8b75f8 | push esi
// 39f0 | mov dword ptr [ebp - 8], eax
// 8945e8 | mov ebx, eax
// 75e7 | cmp ebx, esi
// 8b45f0 | push eax
// 83c414 | push esi
condition:
7 of them and filesize < 2940928
} | |