Author | Message | Time |
---|---|---|
ShadowDancer | well, ..... [code] Fire enchanted, Stone skin, Aura enchanted - Immune to Physical/poison AC EC B3 0E 85 B8 01 4D 27 B3 33 80 1B [91 20 A0 A1 01 10 49 E0 F0 B0 00 D0 F4 02] 0 -> + 10001001000001000000010110000101100-00000000-01000100-10010000-00111000-01111000-01101000-00000000-010110010111101000000 10001001000001000000010110000101100 first 0: 00000000 unique mod: 01000100 => 00100010 => 34 ai_after_death unique mod: 10010000 => 00001001 => 9 fire enchanter unique mod: 00111000 => 00011100 => 28 (stoneskin) unique mod: 01111000 => 00011110 => 30 (aura) unique mod: 01101000 => 00010110 => 22 (questcomplete ??) unique mod: 00000000 => 0 breaking the loop 0101100101111010 => 16 bits readed by loc_6FAB4DCE 0 => 0 => readed by 6FAB4DDE 0000 Pindleskin Pindleskin reanimatedhorde5 52 9 0 0 6 6 1 0 0 22 22 22 Act 5 Super Cx Act 5 (N) Super Cx Act 5 (H) Super Cx 0 001011 => 110100 =========================================================================================================== Fire enchanted, Magic Resistance - Immune to poison, Immune to fire AC 85 33 CD 2E B8 01 46 27 A1 33 80 1A [F1 21 A0 A1 01 10 49 40 B0 00 60 AD 00] 0 -> + 10001111100001000000010110000101100 00000000-01000100-10010000-00010000-01101000-00000000-0011010110101000-0-0000 unique mod: 01000100 => 00100010 => 34 ai_after_death unique mod: 10010000 => 00001001 => 9 fire enchanter unique mod: 00010000 => 00001000 => 8 (resist) fire imunity + magic resist?? unique mod: 01101000 => 00010110 => 22 (questcomplete ??) unique mod: 00000000 => 0 breaking the loop =========================================================================================================== Fire enchanted, Teleportation, Aura enchanted - Immune to poison AC F0 12 73 76 B8 01 4E 27 BB 33 2E 1B [D1 01 A0 A1 01 10 49 D0 F0 B0 00 98 CD 06] 0 -> + 10001011100000000000010110000101100-00000000-01000100-10010000-01011000-01111000-01101000-00000000110011011001101100000 unique mod: 01000100 => 00100010 => 34 ai_after_death unique mod: 10010000 => 00001001 => 9 fire enchanter unique mod: 01011000 => 00011010 => teleport unique mod: 01111000 => 00011110 => 30 (aura) unique mod: 01101000 => 00010110 => 22 (questcomplete ??) unique mod: 00000000 => 0 breaking the loop [/code] monumod.txt [code] uniquemod id enabled version xfer champion fPick exclude1 exclude2 cpick cpick (N) cpick (H) upick upick (N) upick (H) fInit constants *constant desc *eol none 0 0 0 1 20 champion chance 0 rndname 1 1 0 0 100 minion +hp% 0 hpmultiply 2 1 0 0 75 minion +hp% (N) 0 light 3 1 0 0 50 minion +hp% (H) 0 leveladd 4 1 0 0 200 champion +hp% 0 strong 5 1 0 1 6 6 6 150 champion +hp% (N) 0 fast 6 1 0 1 3 6 6 6 100 champion +hp% (H) 0 curse 7 1 0 1 6 6 6 300 unique +hp% 0 resist 8 1 0 1 6 6 200 unique +hp% (N) 0 fire 9 1 0 1 6 6 6 100 unique +hp% (H) 0 poisondead 10 1 0 0 75 champion +tohit% 0 durieldead 11 1 0 0 100 champion +dmg% 0 bloodraven 12 1 0 0 50 minion +tohit% 0 rage 13 1 0 0 100 unique +tohit% 0 spcdamage 14 1 0 0 75 minion +dmg% (strong) 0 partydead 15 1 0 0 150 unique +dmg% (strong) 0 champion 16 1 0 1 1 1 1 1 0 minion +elem min dmg% 0 lightning 17 1 0 1 sandleaper 6 6 6 33 minion +elem min dmg% (N) 0 cold 18 1 0 1 6 6 6 33 minion +elem min dmg% (H) 0 hireable 19 1 0 0 0 minion +elem max dmg% 0 scarab 20 1 0 0 50 minion +elem max dmg% (N) 0 killself 21 1 0 0 50 minion +elem max dmg% (H) 0 questcomplete 22 1 0 0 33 champion +elem min dmg% 0 poisonhit 23 1 0 0 33 champion +elem min dmg% (N) 0 thief 24 0 0 1 33 champion +elem min dmg% (H) 0 manahit 25 1 0 1 6 6 6 50 champion +elem max dmg% 0 teleport 26 1 0 1 1 6 6 6 50 champion +elem max dmg% (N) 0 spectralhit 27 1 0 1 6 6 6 50 champion +elem max dmg% (H) 0 stoneskin 28 1 0 1 6 6 6 66 unique +elem min dmg% 0 multishot 29 1 0 1 2 6 6 6 66 unique +elem min dmg% (N) 0 aura 30 1 0 0 6 6 6 66 unique +elem min dmg% (H) 0 goboom 31 1 0 0 100 unique +elem max dmg% 0 firespike_explode 32 1 100 0 100 unique +elem max dmg% (N) 0 suicideminion_explode 33 1 100 0 100 unique +elem max dmg% (H) 0 ai_after_death 34 1 100 0 0 shatter_on_death 35 1 100 0 0 ghostly 36 1 100 1 1 1 1 1 0 fanatic 37 1 100 1 1 1 1 1 0 possessed 38 1 100 1 1 1 1 1 0 berserk 39 1 100 1 1 1 1 1 0 worms_on_death 40 1 100 0 0 always_run_ai 41 1 100 0 0 lightningdeath 42 1 100 0 0 [/code] 1.10 ac packet process from d2client.dll [code] ac: .text:6FAB4BD0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:6FAB4BD0 .text:6FAB4BD0 .text:6FAB4BD0 sub_6FAB4BD0 proc near ; DATA XREF: .data:6FB76A80o .text:6FAB4BD0 .text:6FAB4BD0 var_188 = dword ptr -188h .text:6FAB4BD0 var_16C = dword ptr -16Ch .text:6FAB4BD0 var_14C = dword ptr -14Ch .text:6FAB4BD0 var_144 = dword ptr -144h .text:6FAB4BD0 var_140 = dword ptr -140h .text:6FAB4BD0 var_120 = dword ptr -120h .text:6FAB4BD0 var_118 = dword ptr -118h .text:6FAB4BD0 var_110 = dword ptr -110h .text:6FAB4BD0 var_10C = dword ptr -10Ch .text:6FAB4BD0 var_108 = dword ptr -108h .text:6FAB4BD0 var_F8 = dword ptr -0F8h .text:6FAB4BD0 var_F4 = dword ptr -0F4h .text:6FAB4BD0 var_F0 = dword ptr -0F0h .text:6FAB4BD0 var_EC = dword ptr -0ECh .text:6FAB4BD0 var_E8 = dword ptr -0E8h .text:6FAB4BD0 var_E4 = dword ptr -0E4h .text:6FAB4BD0 var_E0 = dword ptr -0E0h .text:6FAB4BD0 var_D8 = dword ptr -0D8h .text:6FAB4BD0 var_D4 = word ptr -0D4h .text:6FAB4BD0 var_CC = dword ptr -0CCh .text:6FAB4BD0 var_C8 = dword ptr -0C8h .text:6FAB4BD0 var_B0 = dword ptr -0B0h .text:6FAB4BD0 var_AC = dword ptr -0ACh .text:6FAB4BD0 var_A8 = dword ptr -0A8h .text:6FAB4BD0 var_A4 = dword ptr -0A4h .text:6FAB4BD0 var_A0 = dword ptr -0A0h .text:6FAB4BD0 var_9C = dword ptr -9Ch .text:6FAB4BD0 var_98 = dword ptr -98h .text:6FAB4BD0 var_94 = dword ptr -94h .text:6FAB4BD0 var_90 = dword ptr -90h .text:6FAB4BD0 var_8C = dword ptr -8Ch .text:6FAB4BD0 var_88 = dword ptr -88h .text:6FAB4BD0 var_84 = dword ptr -84h .text:6FAB4BD0 var_7C = dword ptr -7Ch .text:6FAB4BD0 var_78 = byte ptr -78h .text:6FAB4BD0 var_74 = dword ptr -74h .text:6FAB4BD0 var_6C = dword ptr -6Ch .text:6FAB4BD0 var_64 = dword ptr -64h .text:6FAB4BD0 var_60 = word ptr -60h .text:6FAB4BD0 var_5C = dword ptr -5Ch .text:6FAB4BD0 var_58 = dword ptr -58h .text:6FAB4BD0 var_54 = dword ptr -54h .text:6FAB4BD0 var_50 = dword ptr -50h .text:6FAB4BD0 var_4C = dword ptr -4Ch .text:6FAB4BD0 var_44 = dword ptr -44h .text:6FAB4BD0 var_3C = dword ptr -3Ch .text:6FAB4BD0 var_30 = dword ptr -30h .text:6FAB4BD0 .text:6FAB4BD0 sub esp, 74h .text:6FAB4BD3 push ebx .text:6FAB4BD4 push ebp .text:6FAB4BD5 mov ebp, ecx .text:6FAB4BD7 push esi .text:6FAB4BD8 push edi .text:6FAB4BD9 mov [esp+84h+var_58], ebp .text:6FAB4BDD mov eax, [ebp+1] .text:6FAB4BE0 mov cx, [ebp+7] .text:6FAB4BE4 mov dx, [ebp+9] .text:6FAB4BE8 mov [esp+84h+var_54], eax .text:6FAB4BEC mov di, [ebp+5] .text:6FAB4BF0 xor eax, eax .text:6FAB4BF2 mov al, [ebp+0Ch] .text:6FAB4BF5 mov word ptr [esp+84h+var_5C], cx .text:6FAB4BFA sub eax, 0Dh .text:6FAB4BFD mov [esp+84h+var_60], dx .text:6FAB4C02 lea ecx, [ebp+0Dh] .text:6FAB4C05 push eax .text:6FAB4C06 lea edx, [esp+88h+var_30] .text:6FAB4C0A push ecx .text:6FAB4C0B push edx .text:6FAB4C0C mov [esp+90h+var_50], edi .text:6FAB4C10 call Fog_10126 .text:6FAB4C15 lea eax, [esp+90h+var_3C] *** read 4 bits .text:6FAB4C19 push 4 .text:6FAB4C1B push eax .text:6FAB4C1C call Fog_10130 .text:6FAB4C21 lea ecx, [esp+98h+var_44] .text:6FAB4C25 xor ebx, ebx *** read 1 bit .text:6FAB4C27 push 1 .text:6FAB4C29 push ecx .text:6FAB4C2A mov [esp+0A0h+var_78], al .text:6FAB4C2E mov [esp+0A0h+var_7C], ebx .text:6FAB4C32 call Fog_10130 .text:6FAB4C37 test eax, eax .text:6FAB4C39 jz main_flow_label_1 .text:6FAB4C3F movsx eax, di .text:6FAB4C42 cmp eax, ebx .text:6FAB4C44 jl exit_label_1 .text:6FAB4C4A mov edx, ds:sgptDataTables .text:6FAB4C50 mov edx, [edx] .text:6FAB4C52 cmp eax, [edx+0A80h] .text:6FAB4C58 jge exit_label_1 .text:6FAB4C5E lea ecx, [eax+eax*2] .text:6FAB4C61 lea ecx, [ecx+ecx*8] .text:6FAB4C64 add ecx, ecx .text:6FAB4C66 sub ecx, eax .text:6FAB4C68 mov eax, [edx+0A78h] .text:6FAB4C6E movsx eax, word ptr [eax+ecx*8+18h] .text:6FAB4C73 cmp eax, ebx .text:6FAB4C75 jl exit_label_1 .text:6FAB4C7B cmp eax, [edx+0A98h] .text:6FAB4C81 jge exit_label_1 .text:6FAB4C87 lea ecx, [eax+eax*8] .text:6FAB4C8A lea ecx, [eax+ecx*2] .text:6FAB4C8D lea eax, [eax+ecx*4] .text:6FAB4C90 mov ecx, [edx+0A90h] .text:6FAB4C96 lea esi, [ecx+eax*4] .text:6FAB4C99 cmp esi, ebx .text:6FAB4C9B jz exit_label_1 .text:6FAB4CA1 lea edx, [esp+0A0h+var_5C] .text:6FAB4CA5 xor edi, edi .text:6FAB4CA7 mov [esp+0A0h+var_84], edx .text:6FAB4CAB .text:6FAB4CAB loop_label_2: ; CODE XREF: sub_6FAB4BD0+11Bj .text:6FAB4CAB xor eax, eax .text:6FAB4CAD mov al, [esi+edi+15h] .text:6FAB4CB1 cmp eax, 3 .text:6FAB4CB4 jge short loc_6FAB4CBD .text:6FAB4CB6 mov eax, 1 .text:6FAB4CBB jmp short loc_6FAB4CD8 .text:6FAB4CBD ; --------------------------------------------------------------------------- .text:6FAB4CBD .text:6FAB4CBD loc_6FAB4CBD: ; CODE XREF: sub_6FAB4BD0+E4j .text:6FAB4CBD dec eax .text:6FAB4CBE cmp eax, ebx .text:6FAB4CC0 mov [esp+0A0h+var_90], eax .text:6FAB4CC4 jnz short loc_6FAB4CCA .text:6FAB4CC6 xor eax, eax .text:6FAB4CC8 jmp short loc_6FAB4CD8 .text:6FAB4CCA ; --------------------------------------------------------------------------- .text:6FAB4CCA .text:6FAB4CCA loc_6FAB4CCA: ; CODE XREF: sub_6FAB4BD0+F4j .text:6FAB4CCA bsr eax, [esp+0A0h+var_90] .text:6FAB4CCF inc eax .text:6FAB4CD0 mov [esp+0A0h+var_90], eax .text:6FAB4CD4 mov eax, [esp+0A0h+var_90] .text:6FAB4CD8 .text:6FAB4CD8 loc_6FAB4CD8: ; CODE XREF: sub_6FAB4BD0+EBj .text:6FAB4CD8 ; sub_6FAB4BD0+F8j **** read eax bits ?? .text:6FAB4CD8 push eax .text:6FAB4CD9 lea eax, [esp+0A4h+var_4C] .text:6FAB4CDD push eax .text:6FAB4CDE call Fog_10130 .text:6FAB4CE3 mov byte ptr [esp+edi+0A8h+var_64], al .text:6FAB4CE7 inc edi .text:6FAB4CE8 cmp edi, 10h .text:6FAB4CEB jl short loop_label_2 .text:6FAB4CED .text:6FAB4CED main_flow_label_1: ; CODE XREF: sub_6FAB4BD0+69j .text:6FAB4CED lea ecx, [esp+0A8h+var_54] *** read 1 bit .text:6FAB4CF1 push 1 .text:6FAB4CF3 push ecx .text:6FAB4CF4 mov [esp+0B0h+var_90], ebx .text:6FAB4CF8 xor esi, esi .text:6FAB4CFA mov [esp+0B0h+var_98], 0FFFFFFFFh .text:6FAB4D02 mov [esp+0B0h+var_94], ebx .text:6FAB4D06 call Fog_10130 .text:6FAB4D0B test eax, eax .text:6FAB4D0D jz loc_6FAB4DFE .text:6FAB4D13 lea edx, [esp+0B0h+var_5C] *** read 1 bit .text:6FAB4D17 push 1 .text:6FAB4D19 push edx .text:6FAB4D1A call Fog_10130 .text:6FAB4D1F mov ebx, eax .text:6FAB4D21 lea eax, [esp+0B8h+var_64] .text:6FAB4D25 neg ebx .text:6FAB4D27 sbb ebx, ebx *** read 1 bit .text:6FAB4D29 push 1 .text:6FAB4D2B push eax .text:6FAB4D2C and ebx, 4 .text:6FAB4D2F call Fog_10130 .text:6FAB4D34 neg eax .text:6FAB4D36 sbb eax, eax .text:6FAB4D38 lea ecx, [esp+0C0h+var_6C] .text:6FAB4D3C and eax, 8 *** read 1 bit .text:6FAB4D3F push 1 .text:6FAB4D41 push ecx .text:6FAB4D42 or ebx, eax .text:6FAB4D44 call Fog_10130 .text:6FAB4D49 neg eax .text:6FAB4D4B sbb eax, eax .text:6FAB4D4D lea edx, [esp+0C8h+var_74] .text:6FAB4D51 and eax, 2 *** read 1 bit .text:6FAB4D54 push 1 .text:6FAB4D56 push edx .text:6FAB4D57 or ebx, eax .text:6FAB4D59 call Fog_10130 .text:6FAB4D5E neg eax .text:6FAB4D60 sbb eax, eax *** read 1 bit .text:6FAB4D62 push 1 .text:6FAB4D64 and eax, 10h .text:6FAB4D67 or ebx, eax .text:6FAB4D69 lea eax, [esp+0D4h+var_7C] .text:6FAB4D6D push eax .text:6FAB4D6E call Fog_10130 .text:6FAB4D73 neg eax .text:6FAB4D75 sbb eax, eax .text:6FAB4D77 and eax, 40h .text:6FAB4D7A or ebx, eax .text:6FAB4D7C test bl, 2 .text:6FAB4D7F jz short loc_6FAB4D91 .text:6FAB4D81 lea ecx, [esp+0D8h+var_84] (????????) 16 bits .text:6FAB4D85 push 10h .text:6FAB4D87 push ecx .text:6FAB4D88 call Fog_10129 .text:6FAB4D8D mov [esp+0E0h+var_CC], eax .text:6FAB4D91 .text:6FAB4D91 loc_6FAB4D91: ; CODE XREF: sub_6FAB4BD0+1AFj .text:6FAB4D91 xor edx, edx .text:6FAB4D93 lea ecx, [esp+0E0h+var_8C] .text:6FAB4D97 mov [esp+0E0h+var_A8], edx .text:6FAB4D9B lea eax, [esp+0E0h+var_A8] .text:6FAB4D9F mov [esp+0E0h+var_A4], edx *** read 8 bit .text:6FAB4DA3 push 8 .text:6FAB4DA5 push ecx .text:6FAB4DA6 mov byte ptr [esp+0E8h+var_A0], dl .text:6FAB4DAA mov [esp+0E8h+var_C8], eax .text:6FAB4DAE call Fog_10130 .text:6FAB4DB3 test al, al .text:6FAB4DB5 jz short loc_6FAB4DCE .text:6FAB4DB7 lea esi, [esp+0E8h+var_B0] .text:6FAB4DBB .text:6FAB4DBB loc_6FAB4DBB: ; CODE XREF: sub_6FAB4BD0+1FCj .text:6FAB4DBB lea edx, [esp+0E8h+var_94] *** read 8 bit .text:6FAB4DBF push 8 .text:6FAB4DC1 mov [esi], al .text:6FAB4DC3 push edx .text:6FAB4DC4 inc esi .text:6FAB4DC5 call Fog_10130 .text:6FAB4DCA test al, al .text:6FAB4DCC jnz short loc_6FAB4DBB .text:6FAB4DCE .text:6FAB4DCE loc_6FAB4DCE: ; CODE XREF: sub_6FAB4BD0+1E5j .text:6FAB4DCE lea eax, [esp+0F0h+var_9C] .text:6FAB4DD2 push 10h .text:6FAB4DD4 push eax .text:6FAB4DD5 call Fog_10130 .text:6FAB4DDA lea ecx, [esp+0F8h+var_A4] *** read 1 bit .text:6FAB4DDE push 1 .text:6FAB4DE0 push ecx .text:6FAB4DE1 movzx si, al .text:6FAB4DE5 call Fog_10130 .text:6FAB4DEA test eax, eax .text:6FAB4DEC jz short loc_6FAB4DFE .text:6FAB4DEE lea edx, [esp+100h+var_AC] *** read 32 bit .text:6FAB4DF2 push 20h .text:6FAB4DF4 push edx .text:6FAB4DF5 call Fog_10130 .text:6FAB4DFA mov [esp+108h+var_F8], eax .text:6FAB4DFE .text:6FAB4DFE loc_6FAB4DFE: ; CODE XREF: sub_6FAB4BD0+13Dj .text:6FAB4DFE ; sub_6FAB4BD0+21Cj .text:6FAB4DFE mov edx, [esp+108h+var_E4] .text:6FAB4E02 mov ecx, 7 .text:6FAB4E07 xor eax, eax .text:6FAB4E09 lea edi, [esp+108h+var_A0] .text:6FAB4E0D rep stosd .text:6FAB4E0F mov eax, [esp+108h+var_E0] .text:6FAB4E13 mov edi, [esp+108h+var_D8] .text:6FAB4E17 movsx ecx, [esp+108h+var_D4] .text:6FAB4E1C and edx, 0FFFFh .text:6FAB4E22 and eax, 0FFFFh .text:6FAB4E27 mov [esp+108h+var_94], edx .text:6FAB4E2B mov edx, [esp+108h+var_E8] .text:6FAB4E2F mov [esp+108h+var_98], eax .text:6FAB4E33 mov eax, [esp+108h+var_F8] .text:6FAB4E37 and ebx, 0FFFFh .text:6FAB4E3D and edx, 0FFh .text:6FAB4E43 mov [esp+108h+var_A0], edi .text:6FAB4E47 mov [esp+108h+var_9C], ecx .text:6FAB4E4B mov [esp+108h+var_90], ebx .text:6FAB4E4F mov [esp+108h+var_8C], eax .text:6FAB4E53 mov [esp+108h+var_88], edx .text:6FAB4E5A call sub_6FAAE030 .text:6FAB4E5F mov eax, [esp+108h+var_F4] .text:6FAB4E63 mov ecx, [esp+108h+var_F0] .text:6FAB4E67 mov edx, [esp+108h+var_EC] .text:6FAB4E6B push 0 .text:6FAB4E6D push eax .text:6FAB4E6E push esi .text:6FAB4E6F push ecx .text:6FAB4E70 lea ecx, [esp+118h+var_A0] .text:6FAB4E74 call sub_6FB27630 .text:6FAB4E79 mov esi, eax .text:6FAB4E7B test esi, esi .text:6FAB4E7D jz exit_label_1 .text:6FAB4E83 mov ecx, esi .text:6FAB4E85 call sub_6FB5DAB0 .text:6FAB4E8A push esi .text:6FAB4E8B call D2Common_11067 .text:6FAB4E90 test eax, eax .text:6FAB4E92 jz short custom_label_4 .text:6FAB4E94 push 1 .text:6FAB4E96 call sub_6FB283D0 .text:6FAB4E9B mov edx, 7 .text:6FAB4EA0 mov ecx, eax .text:6FAB4EA2 call sub_6FAB1920 .text:6FAB4EA7 cmp edi, eax .text:6FAB4EA9 jz short custom_label_3 .text:6FAB4EAB .text:6FAB4EAB custom_label_4: ; CODE XREF: sub_6FAB4BD0+2C2j .text:6FAB4EAB push 0 .text:6FAB4EAD push 8000h .text:6FAB4EB2 push 7 .text:6FAB4EB4 push esi .text:6FAB4EB5 call D2Common_10517 .text:6FAB4EBA xor edx, edx .text:6FAB4EBC mov dh, [ebp+0Bh] .text:6FAB4EBF push 0 .text:6FAB4EC1 push edx .text:6FAB4EC2 push 6 .text:6FAB4EC4 push esi .text:6FAB4EC5 call D2Common_10517 .text:6FAB4ECA .text:6FAB4ECA custom_label_3: ; CODE XREF: sub_6FAB4BD0+2D9j .text:6FAB4ECA push esi .text:6FAB4ECB call D2Common_11067 .text:6FAB4ED0 test eax, eax .text:6FAB4ED2 jz short custom_label_2 .text:6FAB4ED4 cmp byte ptr [esp+130h+var_110], 1 .text:6FAB4ED9 jnz short custom_label_2 .text:6FAB4EDB and dword ptr [esi+0C8h], 0FFFBFFFFh .text:6FAB4EE5 .text:6FAB4EE5 custom_label_2: ; CODE XREF: sub_6FAB4BD0+302j .text:6FAB4EE5 ; sub_6FAB4BD0+309j .text:6FAB4EE5 mov eax, [esp+130h+var_10C] .text:6FAB4EE9 mov ecx, [esp+130h+var_108] .text:6FAB4EED add eax, ecx .text:6FAB4EEF push 0 .text:6FAB4EF1 and eax, 0FFFFh .text:6FAB4EF6 push eax .text:6FAB4EF7 push 148h .text:6FAB4EFC push esi .text:6FAB4EFD call D2Common_10517 .text:6FAB4F02 lea edx, [esp+140h+var_EC] *** read 1 bit .text:6FAB4F06 push 1 .text:6FAB4F08 push edx .text:6FAB4F09 call Fog_10130 *** if (it = 0) or (it=1) then custom_label_1 .text:6FAB4F0E test eax, eax .text:6FAB4F10 jz short custom_label_1 .text:6FAB4F12 lea eax, [esp+148h+var_F4] *** read 31 bits .text:6FAB4F16 push 1Fh .text:6FAB4F18 push eax .text:6FAB4F19 call Fog_10130 .text:6FAB4F1E push eax .text:6FAB4F1F push 0 .text:6FAB4F21 push esi .text:6FAB4F22 call D2Common_10416 .text:6FAB4F27 .text:6FAB4F27 custom_label_1: ; CODE XREF: sub_6FAB4BD0+340j .text:6FAB4F27 lea ecx, [esp+15Ch+var_108] *** read 1 bit .text:6FAB4F2B push 1 .text:6FAB4F2D push ecx .text:6FAB4F2E call Fog_10130 .text:6FAB4F33 test eax, eax .text:6FAB4F35 jz exit_label_1 .text:6FAB4F3B lea edx, [esp+164h+var_110] *** read 9 bits .text:6FAB4F3F push 9 .text:6FAB4F41 push edx .text:6FAB4F42 xor edi, edi .text:6FAB4F44 call Fog_10130 *** if eax = 1FFh then exit .text:6FAB4F49 mov ebp, eax .text:6FAB4F4B cmp ebp, 1FFh .text:6FAB4F51 jge exit_label_1 .text:6FAB4F57 .text:6FAB4F57 read_loop_label_1: ; CODE XREF: sub_6FAB4BD0+47Cj .text:6FAB4F57 test ebp, ebp .text:6FAB4F59 jl loc_6FAB505A .text:6FAB4F5F mov eax, ds:sgptDataTables .text:6FAB4F64 mov ecx, [eax] .text:6FAB4F66 cmp ebp, [ecx+0BD4h] .text:6FAB4F6C jge loc_6FAB505A .text:6FAB4F72 lea eax, [ebp+ebp*8+0] .text:6FAB4F76 lea edx, [eax+eax*8] .text:6FAB4F79 mov eax, [ecx+0BCCh] .text:6FAB4F7F lea ebx, [eax+edx*4] .text:6FAB4F82 test ebx, ebx .text:6FAB4F84 jz loc_6FAB505A .text:6FAB4F8A mov al, [ebx+8] .text:6FAB4F8D test al, al .text:6FAB4F8F jbe loc_6FAB5066 .text:6FAB4F95 mov al, [ebx+9] .text:6FAB4F98 mov [esp+16Ch+var_144], 0 .text:6FAB4FA0 test al, al .text:6FAB4FA2 jbe short loc_6FAB4FB8 .text:6FAB4FA4 and eax, 0FFh .text:6FAB4FA9 lea ecx, [esp+16Ch+var_118] .text:6FAB4FAD push eax .text:6FAB4FAE push ecx .text:6FAB4FAF call Fog_10129 .text:6FAB4FB4 mov [esp+174h+var_14C], eax .text:6FAB4FB8 .text:6FAB4FB8 loc_6FAB4FB8: ; CODE XREF: sub_6FAB4BD0+3D2j .text:6FAB4FB8 mov al, [ebx+8] .text:6FAB4FBB cmp al, 20h *** if al <= 32 then read_w_var_len .text:6FAB4FBD jnb short read_w_var_len .text:6FAB4FBF mov ecx, ds:gdwBitMasks .text:6FAB4FC5 mov dl, [ebx+4] .text:6FAB4FC8 test [ecx+4], dl .text:6FAB4FCB jz short read_w_var_len .text:6FAB4FCD and eax, 0FFh .text:6FAB4FD2 lea edx, [esp+174h+var_120] .text:6FAB4FD6 push eax .text:6FAB4FD7 push edx .text:6FAB4FD8 call Fog_10129 .text:6FAB4FDD jmp short cutom_label_7 .text:6FAB4FDF ; --------------------------------------------------------------------------- .text:6FAB4FDF .text:6FAB4FDF read_w_var_len: ; CODE XREF: sub_6FAB4BD0+3EDj .text:6FAB4FDF ; sub_6FAB4BD0+3FBj .text:6FAB4FDF and eax, 0FFh .text:6FAB4FE4 push eax .text:6FAB4FE5 lea eax, [esp+178h+var_120] .text:6FAB4FE9 push eax .text:6FAB4FEA call Fog_10130 .text:6FAB4FEF .text:6FAB4FEF cutom_label_7: ; CODE XREF: sub_6FAB4BD0+40Dj .text:6FAB4FEF test edi, edi .text:6FAB4FF1 mov ebx, eax .text:6FAB4FF3 jnz short loc_6FAB502B .text:6FAB4FF5 push 40h .text:6FAB4FF7 push edi .text:6FAB4FF8 push esi .text:6FAB4FF9 call D2Common_10484 .text:6FAB4FFE mov edi, eax .text:6FAB5000 test edi, edi .text:6FAB5002 jnz short loc_6FAB502B .text:6FAB5004 mov eax, [esi+0Ch] .text:6FAB5007 mov ecx, [esi] .text:6FAB5009 push eax .text:6FAB500A push ecx .text:6FAB500B push edi .text:6FAB500C push 40h .text:6FAB500E push edi .text:6FAB500F call D2Common_10470 .text:6FAB5014 mov edi, eax .text:6FAB5016 push 0 .text:6FAB5018 push edi .text:6FAB5019 call D2Common_10478 .text:6FAB501E push 1 .text:6FAB5020 push edi .text:6FAB5021 push esi .text:6FAB5022 call D2Common_10475 .text:6FAB5027 test edi, edi .text:6FAB5029 jz short loc_6FAB5038 .text:6FAB502B .text:6FAB502B loc_6FAB502B: ; CODE XREF: sub_6FAB4BD0+423j .text:6FAB502B ; sub_6FAB4BD0+432j .text:6FAB502B mov ecx, [esp+1B0h+var_188] .text:6FAB502F push ecx .text:6FAB5030 push ebx .text:6FAB5031 push ebp .text:6FAB5032 push edi .text:6FAB5033 call D2Common_10465 .text:6FAB5038 .text:6FAB5038 loc_6FAB5038: ; CODE XREF: sub_6FAB4BD0+459j .text:6FAB5038 lea edx, [esp+1C0h+var_16C] .text:6FAB503C push 9 .text:6FAB503E push edx .text:6FAB503F call Fog_10130 .text:6FAB5044 mov ebp, eax .text:6FAB5046 cmp ebp, 1FFh .text:6FAB504C jl read_loop_label_1 .text:6FAB5052 pop edi .text:6FAB5053 pop esi .text:6FAB5054 pop ebp .text:6FAB5055 pop ebx .text:6FAB5056 add esp, 74h .text:6FAB5059 retn .text:6FAB505A ; --------------------------------------------------------------------------- .text:6FAB505A .text:6FAB505A loc_6FAB505A: ; CODE XREF: sub_6FAB4BD0+389j .text:6FAB505A ; sub_6FAB4BD0+39Cj ... .text:6FAB505A mov eax, [esp+16Ch+var_140] .text:6FAB505E push ebp .text:6FAB505F movsx ecx, word ptr [eax+5] .text:6FAB5063 push ecx .text:6FAB5064 jmp short error_label_1 .text:6FAB5066 ; --------------------------------------------------------------------------- .text:6FAB5066 .text:6FAB5066 loc_6FAB5066: ; CODE XREF: sub_6FAB4BD0+3BFj .text:6FAB5066 mov edx, [esp+16Ch+var_140] .text:6FAB506A push ebp .text:6FAB506B movsx eax, word ptr [edx+5] .text:6FAB506F push eax .text:6FAB5070 .text:6FAB5070 error_label_1: ; CODE XREF: sub_6FAB4BD0+494j .text:6FAB5070 push offset aWarningSscmd_n ; "WARNING: sSCmd_NewMonsterEx, Attempt to"... .text:6FAB5075 call Fog_10029 .text:6FAB507A add esp, 0Ch .text:6FAB507D .text:6FAB507D exit_label_1: ; CODE XREF: sub_6FAB4BD0+74j .text:6FAB507D ; sub_6FAB4BD0+88j ... .text:6FAB507D pop edi .text:6FAB507E pop esi .text:6FAB507F pop ebp .text:6FAB5080 pop ebx .text:6FAB5081 add esp, 74h .text:6FAB5084 retn .text:6FAB5084 sub_6FAB4BD0 endp ; sp = -0E8h [/code] | September 25, 2006, 11:17 PM |