- UID
- 315
注册时间2005-3-16
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
楼主 |
发表于 2005-3-19 18:19:21
|
显示全部楼层
***********************************************************************
call bos3.00402D5C 关键计算
00402D5C /$ 53 push ebx
00402D5D |. 56 push esi
00402D5E |. 57 push edi
00402D5F |. 89C6 mov esi,eax
00402D61 |. 50 push eax
00402D62 |. 85C0 test eax,eax
00402D64 |. 74 6C je short bos3.00402DD2
00402D66 |. 31C0 xor eax,eax
00402D68 |. 31DB xor ebx,ebx
00402D6A |. BF CCCCCC0C mov edi,0CCCCCCC
00402D6F |> 8A1E /mov bl,byte ptr ds:[esi]
00402D71 |. 46 |inc esi
00402D72 |. 80FB 20 |cmp bl,20
00402D75 |.^ 74 F8 \je short bos3.00402D6F
00402D77 |. B5 00 mov ch,0
00402D79 |. 80FB 2D cmp bl,2D
00402D7C |. 74 62 je short bos3.00402DE0
00402D7E |. 80FB 2B cmp bl,2B
00402D81 |. 74 5F je short bos3.00402DE2
00402D83 |> 80FB 24 cmp bl,24
00402D86 |. 74 5F je short bos3.00402DE7
00402D88 |. 80FB 78 cmp bl,78
00402D8B |. 74 5A je short bos3.00402DE7
00402D8D |. 80FB 58 cmp bl,58
00402D90 |. 74 55 je short bos3.00402DE7
00402D92 |. 80FB 30 cmp bl,30
00402D95 |. 75 13 jnz short bos3.00402DAA
00402D97 |. 8A1E mov bl,byte ptr ds:[esi]
00402D99 |. 46 inc esi
00402D9A |. 80FB 78 cmp bl,78
00402D9D |. 74 48 je short bos3.00402DE7
00402D9F |. 80FB 58 cmp bl,58
00402DA2 |. 74 43 je short bos3.00402DE7
00402DA4 |. 84DB test bl,bl
00402DA6 |. 74 20 je short bos3.00402DC8
00402DA8 |. EB 04 jmp short bos3.00402DAE
00402DAA |> 84DB test bl,bl
00402DAC |. 74 2D je short bos3.00402DDB
00402DAE |> 80EB 30 /sub bl,30
00402DB1 |. 80FB 09 |cmp bl,9
00402DB4 77 25 |ja short bos3.00402DDB
00402DB6 |. 39F8 |cmp eax,edi
00402DB8 |. 77 21 |ja short bos3.00402DDB
00402DBA |. 8D0480 |lea eax,dword ptr ds:[eax+eax*4] //关键
00402DBD |. 01C0 |add eax,eax
00402DBF |. 01D8 |add eax,ebx
00402DC1 |. 8A1E |mov bl,byte ptr ds:[esi]
00402DC3 |. 46 |inc esi
00402DC4 |. 84DB |test bl,bl
00402DC6 |.^ 75 E6 \jnz short bos3.00402DAE
00402DC8 |> FECD dec ch
00402DCA |. 74 09 je short bos3.00402DD5
00402DCC |. 85C0 test eax,eax
00402DCE |. 7D 54 jge short bos3.00402E24
00402DD0 |. EB 09 jmp short bos3.00402DDB
00402DD2 |> 46 inc esi
00402DD3 |. EB 06 jmp short bos3.00402DDB
00402DD5 |> F7D8 neg eax
00402DD7 |. 7E 4B jle short bos3.00402E24
00402DD9 |. 78 49 js short bos3.00402E24
00402DDB |> 5B pop ebx ; Default case of switch 00402DFB
00402DDC |. 29DE sub esi,ebx
00402DDE |. EB 47 jmp short bos3.00402E27
00402DE0 |> FEC5 inc ch
00402DE2 |> 8A1E mov bl,byte ptr ds:[esi]
00402DE4 |. 46 inc esi
00402DE5 |.^ EB 9C jmp short bos3.00402D83
00402DE7 |> BF FFFFFF0F mov edi,0FFFFFFF
00402DEC |. 8A1E mov bl,byte ptr ds:[esi]
00402DEE |. 46 inc esi
00402DEF |. 84DB test bl,bl
00402DF1 |.^ 74 DF je short bos3.00402DD2
00402DF3 |> 80FB 61 /cmp bl,61
00402DF6 |. 72 03 |jb short bos3.00402DFB
00402DF8 |. 80EB 20 |sub bl,20
00402DFB |> 80EB 30 |sub bl,30 ; Switch (cases 30..46)
00402DFE |. 80FB 09 |cmp bl,9
00402E01 |. 76 0B |jbe short bos3.00402E0E
00402E03 |. 80EB 11 |sub bl,11
00402E06 |. 80FB 05 |cmp bl,5
00402E09 |.^ 77 D0 |ja short bos3.00402DDB
00402E0B |. 80C3 0A |add bl,0A ; Cases 41 ('A'),42 ('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 00402DFB
00402E0E |> 39F8 |cmp eax,edi ; Cases 30 ('0'),31 ('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch 00402DFB
00402E10 |.^ 77 C9 |ja short bos3.00402DDB
00402E12 |. C1E0 04 |shl eax,4
00402E15 |. 01D8 |add eax,ebx
00402E17 |. 8A1E |mov bl,byte ptr ds:[esi]
00402E19 |. 46 |inc esi
00402E1A |. 84DB |test bl,bl
00402E1C |.^ 75 D5 \jnz short bos3.00402DF3
00402E1E |. FECD dec ch
00402E20 |. 75 02 jnz short bos3.00402E24
00402E22 |. F7D8 neg eax
00402E24 |> 59 pop ecx
00402E25 |. 31F6 xor esi,esi
00402E27 |> 8932 mov dword ptr ds:[edx],esi
00402E29 |. 5F pop edi
00402E2A |. 5E pop esi
00402E2B |. 5B pop ebx
00402E2C \. C3 retn |
|