well, .....
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
monumod.txt
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
1.10 ac packet process from d2client.dll
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