最初由 kagayaki 发布
有"热血江湖" 168 版的反汇编吗?
V168的
0043B3A0 /$ A1 EC292D04 mov eax, [42D29EC]
0043B3A5 |. C705 10F48B00>mov dword ptr [8BF410], C61C4000
0043B3AF |. 83F8 01 cmp eax, 1
0043B3B2 |. 75 30 jnz short 0043B3E4
0043B3B4 |. A1 2C212D04 mov eax, [42D212C]
0043B3B9 |. 85C0 test eax, eax
0043B3BB |. 74 13 je short 0043B3D0
0043B3BD |. 50 push eax
0043B3BE |. FF15 BC567C00 call [<&mss32.ss32._AIL_stop>] ; mss32.AIL_stop_timer
0043B3C4 |. A1 2C212D04 mov eax, [42D212C]
0043B3C9 |. 50 push eax
0043B3CA |. FF15 C4567C00 call [<&mss32.ss32._AIL_release_timer>; mss32.AIL_release_timer_handle
0043B3D0 |> C705 EC292D04>mov dword ptr [42D29EC], 2
0043B3DA |. C705 2C212D04>mov dword ptr [42D212C], 0
0043B3E4 |> 56 push esi
0043B3E5 |. 57 push edi
0043B3E6 |. BF FFFF0000 mov edi, 0FFFF
0043B3EB |. BE 40772B01 mov esi, 012B7740
0043B3F0 |. 893D 38EEBC00 mov [BCEE38], edi
0043B3F6 |> 8B06 /mov eax, [esi]
0043B3F8 |. 85C0 |test eax, eax
0043B3FA |. 74 3A |je short 0043B436
0043B3FC |. 3978 10 |cmp [eax+10], edi
0043B3FF |. 74 35 |je short 0043B436
0043B401 |. 8B0D 18E22C01 |mov ecx, [12CE218]
0043B407 |. 85C9 |test ecx, ecx
0043B409 |. 74 1C |je short 0043B427
0043B40B |. 8B0D C4B72C01 |mov ecx, [12CB7C4]
0043B411 |. 83B9 90000000>|cmp dword ptr [ecx+90], 1
0043B418 |. 75 0D |jnz short 0043B427
0043B41A |. 8B48 08 |mov ecx, [eax+8]
0043B41D |. 83F9 2E |cmp ecx, 2E
0043B420 |. 74 14 |je short 0043B436
0043B422 |. 83F9 06 |cmp ecx, 6
0043B425 |. 74 0F |je short 0043B436
0043B427 |> 6A 00 |push 0 ; /Arg4 = 00000000
0043B429 |. 6A 00 |push 0 ; |Arg3 = 00000000
0043B42B |. 6A 08 |push 8 ; |Arg2 = 00000008
0043B42D |. 50 |push eax ; |Arg1
0043B42E |. E8 DDFCFFFF |call 0043B110 ; \Client.0043B110
{
0043B110 /$ 55 push ebp
0043B111 |. 8BEC mov ebp, esp
0043B113 |. 8B45 0C mov eax, [ebp+C]
0043B116 |. 56 push esi
0043B117 |. 3D 19040000 cmp eax, 419 ; Switch (cases 0..454)
0043B11C |. 0F8F 80000000 jg 0043B1A2
0043B122 |. 0F84 94000000 je 0043B1BC
0043B128 |. 83F8 0A cmp eax, 0A
0043B12B |. 7F 48 jg short 0043B175
0043B12D |. 74 14 je short 0043B143
0043B12F |. 83F8 08 cmp eax, 8
0043B132 |. 77 56 ja short 0043B18A
0043B134 |. 33C9 xor ecx, ecx
0043B136 |. 8A88 E0B14300 mov cl, [eax+43B1E0]
0043B13C |. FF248D D8B143>jmp [ecx*4+43B1D8]
0043B143 |> 8B75 08 mov esi, [ebp+8] ; Case A of switch 0043B117
0043B146 |. 8B45 10 mov eax, [ebp+10]
0043B149 |. 57 push edi
0043B14A |. 8B7D 14 mov edi, [ebp+14]
0043B14D |. 8B16 mov edx, [esi]
0043B14F |. 57 push edi
0043B150 |. 50 push eax
0043B151 |. 6A 0A push 0A
0043B153 |. 8BCE mov ecx, esi
0043B155 |. FF52 04 call [edx+4]
0043B158 |. 81FF FF000000 cmp edi, 0FF
0043B15E |. 5F pop edi
0043B15F |. 75 6C jnz short 0043B1CD
0043B161 |. 85F6 test esi, esi
0043B163 |. 74 68 je short 0043B1CD
0043B165 |. 8B16 mov edx, [esi]
0043B167 |. 6A 01 push 1
0043B169 |. 8BCE mov ecx, esi
0043B16B |. FF12 call [edx]
0043B16D |. B8 01000000 mov eax, 1
0043B172 |. 5E pop esi
0043B173 |. 5D pop ebp
0043B174 |. C3 retn
0043B175 |> 3D F9030000 cmp eax, 3F9
0043B17A |. 74 40 je short 0043B1BC
0043B17C |. 3D 10040000 cmp eax, 410
0043B181 |. 7E 07 jle short 0043B18A
0043B183 |. 3D 16040000 cmp eax, 416
0043B188 |. 7E 32 jle short 0043B1BC
0043B18A |> 8B4D 14 mov ecx, [ebp+14] ; Default case of switch 0043B117
0043B18D |. 8B55 10 mov edx, [ebp+10]
0043B190 |. 51 push ecx ; /Arg4
0043B191 |. 52 push edx ; |Arg3
0043B192 |. 50 push eax ; |Arg2
0043B193 |. 8B45 08 mov eax, [ebp+8] ; |
0043B196 |. 50 push eax ; |Arg1
0043B197 |. E8 04A8FFFF call 004359A0 ; \Client.004359A0
{
004359A0 /$ 55 push ebp
004359A1 |. 8BEC mov ebp, esp
004359A3 |. 53 push ebx
004359A4 |. 8B1D 8C642B01 mov ebx, [12B648C]
004359AA |. 81FB 00080000 cmp ebx, 800
004359B0 |. 7E 05 jle short 004359B7
004359B2 |. 33C0 xor eax, eax
004359B4 |. 5B pop ebx
004359B5 |. 5D pop ebp
004359B6 |. C3 retn
004359B7 |> 8B55 08 mov edx, [ebp+8]
004359BA |. 85D2 test edx, edx
004359BC |. 75 05 jnz short 004359C3
004359BE |. 33C0 xor eax, eax
004359C0 |. 5B pop ebx
004359C1 |. 5D pop ebp
004359C2 |. C3 retn
004359C3 |> A1 88642B01 mov eax, [12B6488]
004359C8 |. 8D0C18 lea ecx, [eax+ebx]
004359CB |. 81F9 00080000 cmp ecx, 800
004359D1 |. 7C 06 jl short 004359D9
004359D3 |. 81E9 00080000 sub ecx, 800
004359D9 |> 8D0449 lea eax, [ecx+ecx*2]
004359DC |. 56 push esi
004359DD |. C1E0 06 shl eax, 6
004359E0 |. 03C1 add eax, ecx
004359E2 |. 8B4D 0C mov ecx, [ebp+C]
004359E5 |. C1E0 04 shl eax, 4
004359E8 |. 8B75 14 mov esi, [ebp+14]
004359EB |. 81F9 F6030000 cmp ecx, 3F6
004359F1 |. 8988 8CE4CA00 mov [eax+CAE48C], ecx
004359F7 |. 8B52 0C mov edx, [edx+C]
004359FA |. 8990 88E4CA00 mov [eax+CAE488], edx
00435A00 |. 8B55 10 mov edx, [ebp+10]
00435A03 |. 8990 90E4CA00 mov [eax+CAE490], edx
00435A09 |. 89B0 94E4CA00 mov [eax+CAE494], esi
00435A0F |. 75 1B jnz short 00435A2C
00435A11 |. 8D90 98E4CA00 lea edx, [eax+CAE498]
00435A17 |. 3BF2 cmp esi, edx
00435A19 |. 74 11 je short 00435A2C
00435A1B |. 57 push edi
00435A1C |. B9 00030000 mov ecx, 300
00435A21 |. 8BFA mov edi, edx
00435A23 |. F3:A5 rep movs dword ptr es:[edi], dword p>
00435A25 |. 8990 94E4CA00 mov [eax+CAE494], edx
00435A2B |. 5F pop edi
00435A2C |> 43 inc ebx
00435A2D |. 5E pop esi
00435A2E |. 891D 8C642B01 mov [12B648C], ebx
00435A34 |. B8 01000000 mov eax, 1
00435A39 |. 5B pop ebx
00435A3A |. 5D pop ebp
00435A3B \. C3 retn
}
0043B19C |. 83C4 10 add esp, 10
0043B19F |. 5E pop esi
0043B1A0 |. 5D pop ebp
0043B1A1 |. C3 retn
0043B1A2 |> 8D88 D1FBFFFF lea ecx, [eax-42F]
0043B1A8 |. 83F9 25 cmp ecx, 25
0043B1AB |.^ 77 DD ja short 0043B18A
0043B1AD |. 33D2 xor edx, edx
0043B1AF |. 8A91 F4B14300 mov dl, [ecx+43B1F4]
0043B1B5 |. FF2495 ECB143>jmp [edx*4+43B1EC]
0043B1BC |> 8B75 14 mov esi, [ebp+14] ; Cases 0,1,2,3,6,7,8,3F9,411,412,413,414,415,416,419,42F,430,43A,44D,44E,454 of switch 0043B117
0043B1BF |. 8B4D 08 mov ecx, [ebp+8]
0043B1C2 |. 56 push esi
0043B1C3 |. 8B75 10 mov esi, [ebp+10]
0043B1C6 |. 8B11 mov edx, [ecx]
0043B1C8 |. 56 push esi
0043B1C9 |. 50 push eax
0043B1CA |. FF52 04 call [edx+4]
0043B1CD |> B8 01000000 mov eax, 1
0043B1D2 |. 5E pop esi
0043B1D3 |. 5D pop ebp
0043B1D4 \. C3 retn
}
0043B433 |. 83C4 10 |add esp, 10
0043B436 |> 83C6 04 |add esi, 4
0043B439 |. 81FE 40B72B01 |cmp esi, 012BB740
0043B43F |.^ 7C B5 \jl short 0043B3F6
0043B441 |. A1 8C642B01 mov eax, [12B648C]
0043B446 |. 85C0 test eax, eax
0043B448 |. 7E 2C jle short 0043B476
0043B44A |. 8BF0 mov esi, eax
0043B44C |> E8 EFA5FFFF /call 00435A40
{
00435A40 /$ A1 8C642B01 mov eax, [12B648C]
00435A45 |. 85C0 test eax, eax
00435A47 |. 7F 03 jg short 00435A4C
00435A49 |. 33C0 xor eax, eax
00435A4B |. C3 retn
00435A4C |> 8B0D 88642B01 mov ecx, [12B6488]
00435A52 |. 8D0449 lea eax, [ecx+ecx*2]
00435A55 |. C1E0 06 shl eax, 6
00435A58 |. 03C1 add eax, ecx
00435A5A |. C1E0 04 shl eax, 4
00435A5D |. 05 88E4CA00 add eax, 00CAE488
00435A62 |. 41 inc ecx
00435A63 |. 81F9 00080000 cmp ecx, 800
00435A69 |. 890D 88642B01 mov [12B6488], ecx
00435A6F |. 7C 0C jl short 00435A7D
00435A71 |. 81E9 00080000 sub ecx, 800
00435A77 |. 890D 88642B01 mov [12B6488], ecx
00435A7D |> FF0D 8C642B01 dec dword ptr [12B648C]
00435A83 \. C3 retn
}
0043B451 |. 85C0 |test eax, eax
0043B453 |. 74 1E |je short 0043B473
0043B455 |. 8B10 |mov edx, [eax]
0043B457 |. 8B0C95 40772B>|mov ecx, [edx*4+12B7740]
0043B45E |. 85C9 |test ecx, ecx
0043B460 |. 74 11 |je short 0043B473
0043B462 |. 8B78 0C |mov edi, [eax+C]
0043B465 |. 8B11 |mov edx, [ecx]
0043B467 |. 57 |push edi
0043B468 |. 8B78 08 |mov edi, [eax+8]
0043B46B |. 8B40 04 |mov eax, [eax+4]
0043B46E |. 57 |push edi
0043B46F |. 50 |push eax
0043B470 |. FF52 04 |call [edx+4]
0043B473 |> 4E |dec esi
0043B474 |.^ 75 D6 \jnz short 0043B44C
0043B476 |> 5F pop edi
0043B477 |. 5E pop esi
0043B478 \. C3 retn