0054E40A 55 push ebp
0054E40B 68 D5E85400 push FamilyTr.0054E8D5
0054E410 64:FF30 push dword ptr fs:[eax]
0054E413 64:8920 mov dword ptr fs:[eax],esp
0054E416 8D55 D0 lea edx,dword ptr ss:[ebp-0x30]
0054E419 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E41F E8 A4D3EFFF call FamilyTr.0044B7C8
0054E424 8B45 D0 mov eax,dword ptr ss:[ebp-0x30] ; 邮件名
0054E427 8D55 D4 lea edx,dword ptr ss:[ebp-0x2C]
0054E42A E8 65B3EBFF call FamilyTr.00409794
0054E42F 837D D4 00 cmp dword ptr ss:[ebp-0x2C],0x0 ; 邮件名不能为空
0054E433 75 2E jnz short FamilyTr.0054E463
0054E435 8B15 BC995800 mov edx,dword ptr ds:[0x5899BC] ; FamilyTr.0058FBAC
0054E43B 8B12 mov edx,dword ptr ds:[edx]
0054E43D A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E442 8B00 mov eax,dword ptr ds:[eax]
0054E444 8B80 F4020000 mov eax,dword ptr ds:[eax+0x2F4]
0054E44A E8 A9D3EFFF call FamilyTr.0044B7F8
0054E44F A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E454 8B00 mov eax,dword ptr ds:[eax]
0054E456 8B10 mov edx,dword ptr ds:[eax]
0054E458 FF92 E8000000 call dword ptr ds:[edx+0xE8]
0054E45E E9 1D040000 jmp FamilyTr.0054E880
0054E463 8D55 C8 lea edx,dword ptr ss:[ebp-0x38]
0054E466 8B87 F4020000 mov eax,dword ptr ds:[edi+0x2F4]
0054E46C E8 EB69F3FF call FamilyTr.00484E5C
0054E471 8B45 C8 mov eax,dword ptr ss:[ebp-0x38] ; 假码
0054E474 8D55 CC lea edx,dword ptr ss:[ebp-0x34]
0054E477 E8 18B3EBFF call FamilyTr.00409794
0054E47C 837D CC 00 cmp dword ptr ss:[ebp-0x34],0x0 ; 注册码不能为空
0054E480 75 2E jnz short FamilyTr.0054E4B0
0054E482 8B15 BC995800 mov edx,dword ptr ds:[0x5899BC] ; FamilyTr.0058FBAC
0054E488 8B12 mov edx,dword ptr ds:[edx]
0054E48A A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E48F 8B00 mov eax,dword ptr ds:[eax]
0054E491 8B80 F4020000 mov eax,dword ptr ds:[eax+0x2F4]
0054E497 E8 5CD3EFFF call FamilyTr.0044B7F8
0054E49C A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E4A1 8B00 mov eax,dword ptr ds:[eax]
0054E4A3 8B10 mov edx,dword ptr ds:[eax]
0054E4A5 FF92 E8000000 call dword ptr ds:[edx+0xE8]
0054E4AB E9 D0030000 jmp FamilyTr.0054E880
0054E4B0 8D55 C4 lea edx,dword ptr ss:[ebp-0x3C]
0054E4B3 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E4B9 E8 0AD3EFFF call FamilyTr.0044B7C8
0054E4BE 8B55 C4 mov edx,dword ptr ss:[ebp-0x3C] ; 读取邮箱名 "abcde@123.com"
0054E4C1 B8 ECE85400 mov eax,FamilyTr.0054E8EC
0054E4C6 E8 5D6EEBFF call FamilyTr.00405328 ; 检测邮箱名是否带“@”符号
0054E4CB 8945 EC mov dword ptr ss:[ebp-0x14],eax ; 符号“@”在邮件名中的位置,eax=0x6
0054E4CE 837D EC 00 cmp dword ptr ss:[ebp-0x14],0x0 ; 若邮箱名中无“@”符号,则提示输入正确的邮箱名
0054E4D2 75 2E jnz short FamilyTr.0054E502
0054E4D4 8B15 549A5800 mov edx,dword ptr ds:[0x589A54] ; 胞X
0054E4DA 8B12 mov edx,dword ptr ds:[edx]
0054E4DC A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E4E1 8B00 mov eax,dword ptr ds:[eax]
0054E4E3 8B80 F4020000 mov eax,dword ptr ds:[eax+0x2F4]
0054E4E9 E8 0AD3EFFF call FamilyTr.0044B7F8
0054E4EE A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E4F3 8B00 mov eax,dword ptr ds:[eax]
0054E4F5 8B10 mov edx,dword ptr ds:[eax]
0054E4F7 FF92 E8000000 call dword ptr ds:[edx+0xE8]
0054E4FD E9 7E030000 jmp FamilyTr.0054E880
0054E502 C745 E4 7A0D000>mov dword ptr ss:[ebp-0x1C],0xD7A ; 第一次赋初始值0xD7A
0054E509 8B75 EC mov esi,dword ptr ss:[ebp-0x14]
0054E50C 85F6 test esi,esi
0054E50E 7E 24 jle short FamilyTr.0054E534
0054E510 BB 01000000 mov ebx,0x1 ; ebx=0x1
0054E515 8D55 C0 lea edx,dword ptr ss:[ebp-0x40]
0054E518 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E51E E8 A5D2EFFF call FamilyTr.0044B7C8
0054E523 8B45 C0 mov eax,dword ptr ss:[ebp-0x40] ; 邮箱名"abcde@123.com"
0054E526 0FB64418 FF movzx eax,byte ptr ds:[eax+ebx-0x1] ; 依次取邮箱名@及其前面字符ASC码
0054E52B F7EB imul ebx ; ASC码与对应位置相乘
0054E52D 0145 E4 add dword ptr ss:[ebp-0x1C],eax ; 累加,结果为14D1
0054E530 43 inc ebx
0054E531 4E dec esi
0054E532 ^ 75 E1 jnz short FamilyTr.0054E515
0054E534 8D55 F8 lea edx,dword ptr ss:[ebp-0x8]
0054E537 8B45 E4 mov eax,dword ptr ss:[ebp-0x1C] ; 第一次累加结果给eax=0x14D1(十进制5329)
0054E53A E8 71B5EBFF call FamilyTr.00409AB0
0054E53F 8D55 BC lea edx,dword ptr ss:[ebp-0x44]
0054E542 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E548 E8 7BD2EFFF call FamilyTr.0044B7C8
0054E54D 8B45 BC mov eax,dword ptr ss:[ebp-0x44] ; 邮箱名"abcde@123.com"
0054E550 E8 976AEBFF call FamilyTr.00404FEC
0054E555 83F8 00 cmp eax,0x0 ; 邮箱名长度:eax=0xD
0054E558 7C 27 jl short FamilyTr.0054E581
0054E55A 8945 E8 mov dword ptr ss:[ebp-0x18],eax
0054E55D 8D55 B8 lea edx,dword ptr ss:[ebp-0x48]
0054E560 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E566 E8 5DD2EFFF call FamilyTr.0044B7C8
0054E56B 8B45 B8 mov eax,dword ptr ss:[ebp-0x48] ; 邮箱名"abcde@123.com"
0054E56E 8B55 E8 mov edx,dword ptr ss:[ebp-0x18] ; 邮箱名长度:eax=0xD
0054E571 807C10 FF 2E cmp byte ptr ds:[eax+edx-0x1],0x2E ; 倒序检测邮箱名点(.)的位置
0054E576 74 09 je short FamilyTr.0054E581
0054E578 FF4D E8 dec dword ptr ss:[ebp-0x18] ; 邮箱名长度减1
0054E57B 837D E8 FF cmp dword ptr ss:[ebp-0x18],-0x1
0054E57F ^ 75 DC jnz short FamilyTr.0054E55D ; 没完?继续
0054E581 837D E8 00 cmp dword ptr ss:[ebp-0x18],0x0 ; 没有检测到点(.)就提示输入正确的邮件名
0054E585 75 2E jnz short FamilyTr.0054E5B5
0054E587 8B15 549A5800 mov edx,dword ptr ds:[0x589A54] ; 胞X
0054E58D 8B12 mov edx,dword ptr ds:[edx]
0054E58F A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E594 8B00 mov eax,dword ptr ds:[eax]
0054E596 8B80 F4020000 mov eax,dword ptr ds:[eax+0x2F4]
0054E59C E8 57D2EFFF call FamilyTr.0044B7F8
0054E5A1 A1 A4995800 mov eax,dword ptr ds:[0x5899A4] ; 帖X
0054E5A6 8B00 mov eax,dword ptr ds:[eax]
0054E5A8 8B10 mov edx,dword ptr ds:[eax]
0054E5AA FF92 E8000000 call dword ptr ds:[edx+0xE8]
0054E5B0 E9 CB020000 jmp FamilyTr.0054E880
0054E5B5 C745 E0 B41C000>mov dword ptr ss:[ebp-0x20],0x1CB4 ; 第二次赋初始值0x1CB4
0054E5BC 8B5D EC mov ebx,dword ptr ss:[ebp-0x14] ; 邮箱名符号@的位置
0054E5BF 8B75 E8 mov esi,dword ptr ss:[ebp-0x18] ; 邮箱名点(.)的位置
0054E5C2 83EE 02 sub esi,0x2 ; 点(.)的位置-0x2=0xA-2=8
0054E5C5 2BF3 sub esi,ebx ; 上面的差-@的位置=8-6=2
0054E5C7 7C 20 jl short FamilyTr.0054E5E9
0054E5C9 46 inc esi
0054E5CA 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
0054E5CD 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E5D3 E8 F0D1EFFF call FamilyTr.0044B7C8
0054E5D8 8B45 B4 mov eax,dword ptr ss:[ebp-0x4C] ; 邮箱名"abcde@123.com"
0054E5DB 0FB64418 FF movzx eax,byte ptr ds:[eax+ebx-0x1] ; 依次取@及其后面二位ASC码
0054E5E0 F7EB imul ebx ; ASC码与对应位置相乘
0054E5E2 0145 E0 add dword ptr ss:[ebp-0x20],eax ; 累加,结果为211B
0054E5E5 43 inc ebx
0054E5E6 4E dec esi
0054E5E7 ^ 75 E1 jnz short FamilyTr.0054E5CA
0054E5E9 8D55 F4 lea edx,dword ptr ss:[ebp-0xC]
0054E5EC 8B45 E0 mov eax,dword ptr ss:[ebp-0x20] ; 第二次累加结果给eax=0x211B(十进制8475)
0054E5EF E8 BCB4EBFF call FamilyTr.00409AB0
0054E5F4 C745 DC E910000>mov dword ptr ss:[ebp-0x24],0x10E9 ; 第三次赋初始值0x10E9
0054E5FB 8B5D E8 mov ebx,dword ptr ss:[ebp-0x18] ; 点(.)的位置
0054E5FE 83EB 02 sub ebx,0x2 ; 点(.)的位置-0x2=0xA-2=8
0054E601 8D55 B0 lea edx,dword ptr ss:[ebp-0x50]
0054E604 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E60A E8 B9D1EFFF call FamilyTr.0044B7C8
0054E60F 8B45 B0 mov eax,dword ptr ss:[ebp-0x50] ; 邮箱名"abcde@123.com"
0054E612 E8 D569EBFF call FamilyTr.00404FEC
0054E617 8BF0 mov esi,eax ; 邮箱名长度:eax=0xD
0054E619 2BF3 sub esi,ebx ; esi-ebx=D-8=5
0054E61B 7C 20 jl short FamilyTr.0054E63D
0054E61D 46 inc esi ; esi=0x5+1=6
0054E61E 8D55 AC lea edx,dword ptr ss:[ebp-0x54]
0054E621 8B87 F0020000 mov eax,dword ptr ds:[edi+0x2F0]
0054E627 E8 9CD1EFFF call FamilyTr.0044B7C8
0054E62C 8B45 AC mov eax,dword ptr ss:[ebp-0x54] ; 邮箱名"abcde@123.com"
0054E62F 0FB64418 FF movzx eax,byte ptr ds:[eax+ebx-0x1] ; 依次取邮件名后六位ASC码
0054E634 F7EB imul ebx ; ASC码与对应位置相乘
0054E636 0145 DC add dword ptr ss:[ebp-0x24],eax ; 累加,结果为250E
0054E639 43 inc ebx
0054E63A 4E dec esi
0054E63B ^ 75 E1 jnz short FamilyTr.0054E61E
0054E63D 8D55 F0 lea edx,dword ptr ss:[ebp-0x10]
0054E640 8B45 DC mov eax,dword ptr ss:[ebp-0x24] ; 第三次累加结果给eax=0x250E(十进制9486)
0054E643 E8 68B4EBFF call FamilyTr.00409AB0
0054E648 8D55 FC lea edx,dword ptr ss:[ebp-0x4]
0054E64B 8B87 F4020000 mov eax,dword ptr ds:[edi+0x2F4]
0054E651 E8 0668F3FF call FamilyTr.00484E5C
0054E656 8B55 FC mov edx,dword ptr ss:[ebp-0x4] ; 假码:(ASCII "123456789")
0054E659 B8 F8E85400 mov eax,FamilyTr.0054E8F8 ; 连接符号:“-”
0054E65E E8 C56CEBFF call FamilyTr.00405328
0054E663 8BD8 mov ebx,eax
0054E665 85DB test ebx,ebx
0054E667 75 04 jnz short FamilyTr.0054E66D
0054E669 33F6 xor esi,esi
0054E66B EB 32 jmp short FamilyTr.0054E69F
0054E66D 8D45 A8 lea eax,dword ptr ss:[ebp-0x58]
0054E670 50 push eax
0054E671 8BCB mov ecx,ebx
0054E673 49 dec ecx
0054E674 BA 01000000 mov edx,0x1
0054E679 8B45 FC mov eax,dword ptr ss:[ebp-0x4]
0054E67C E8 C36BEBFF call FamilyTr.00405244
0054E681 8B45 A8 mov eax,dword ptr ss:[ebp-0x58]
0054E684 E8 8BB4EBFF call FamilyTr.00409B14
0054E689 8BF0 mov esi,eax
0054E68B 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
0054E68E 50 push eax
0054E68F 8D53 01 lea edx,dword ptr ds:[ebx+0x1]
0054E692 B9 FF000000 mov ecx,0xFF
0054E697 8B45 FC mov eax,dword ptr ss:[ebp-0x4]
0054E69A E8 A56BEBFF call FamilyTr.00405244
0054E69F 8B55 FC mov edx,dword ptr ss:[ebp-0x4] ; 假码:(ASCII "123456789")
0054E6A2 B8 F8E85400 mov eax,FamilyTr.0054E8F8 ; 连接符号:“-”
0054E6A7 E8 7C6CEBFF call FamilyTr.00405328
0054E6AC 8BD8 mov ebx,eax
0054E6AE 85DB test ebx,ebx
0054E6B0 75 09 jnz short FamilyTr.0054E6BB
0054E6B2 33C0 xor eax,eax
0054E6B4 8945 D8 mov dword ptr ss:[ebp-0x28],eax
0054E6B7 33C0 xor eax,eax
0054E6B9 EB 3B jmp short FamilyTr.0054E6F6
0054E6BB 8D45 A4 lea eax,dword ptr ss:[ebp-0x5C]
0054E6BE 50 push eax
0054E6BF 8BCB mov ecx,ebx
0054E6C1 49 dec ecx
0054E6C2 BA 01000000 mov edx,0x1
0054E6C7 8B45 FC mov eax,dword ptr ss:[ebp-0x4]
0054E6CA E8 756BEBFF call FamilyTr.00405244
0054E6CF 8B45 A4 mov eax,dword ptr ss:[ebp-0x5C]
0054E6D2 E8 3DB4EBFF call FamilyTr.00409B14
0054E6D7 8945 D8 mov dword ptr ss:[ebp-0x28],eax
0054E6DA 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
0054E6DD 50 push eax
0054E6DE 8D53 01 lea edx,dword ptr ds:[ebx+0x1]
0054E6E1 B9 FF000000 mov ecx,0xFF
0054E6E6 8B45 FC mov eax,dword ptr ss:[ebp-0x4]
0054E6E9 E8 566BEBFF call FamilyTr.00405244
0054E6EE 8B45 FC mov eax,dword ptr ss:[ebp-0x4]
0054E6F1 E8 1EB4EBFF call FamilyTr.00409B14
0054E6F6 3B75 E4 cmp esi,dword ptr ss:[ebp-0x1C] ; 与第一次累加结果0x14D1(十进制5329)比较,不等就OVER
0054E6F9 0F85 53010000 jnz FamilyTr.0054E852 ; //跳向失败
0054E6FF 8B55 D8 mov edx,dword ptr ss:[ebp-0x28]
0054E702 3B55 E0 cmp edx,dword ptr ss:[ebp-0x20] ; 与第二次累加结果0x211B比较,不等就OVER
0054E705 0F85 47010000 jnz FamilyTr.0054E852 ; //跳向失败
0054E70B 3B45 DC cmp eax,dword ptr ss:[ebp-0x24] ; 与第三次累加结果0x250E比较,不等就OVER
0054E70E 0F85 3E010000 jnz FamilyTr.0054E852 ; //跳向失败
0054E714 B2 01 mov dl,0x1 ; 若以上三次累加结果都相等,则下面的代码就开始把结果写入注册表并提示注册成功