Function at 0x1002c9c0
Capabilities:
Check for time delay via gettickcount
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009b6dd
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100b8070]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov ebp, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x597c4]
cmp ecx, 2
je 0x1002ca0a
xor eax, eax
jmp 0x1002e771
mov ebx, dword [eax + 0x5975c]
test ebx, ebx
je 0x1002ca03
mov eax, ebp
call fcn.100015c0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x597c8]
cmp eax, 4
jne 0x1002ca43
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, str.Raise_Dead
call fcn.10003700
lea edx, [esp + 0x30]
lea ecx, [ebp + 0x68]
push edx
mov dword [esp + 0xc4], 0
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002cab4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x1002cae2
mov edx, dword [ebx]
mov eax, dword [edx + 0x74]
mov ecx, ebx
call eax
test eax, eax
jne 0x1002cae2
cmp dword [edi + 0x10], eax
jne 0x1002cae2
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002cae2
call fcn.1007fb40
test eax, eax
jne 0x1002ce45
mov eax, dword [ebp + 0x14]
push eax
call fcn.1001ad10
push ebp
call fcn.10003bc0
mov eax, dword [ebp + 0x14]
xor esi, esi
cmp dword [eax + 0x59798], esi
ja 0x1002cb34
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebx + 0xec], esi
mov eax, dword [ebp + 0x14]
add eax, 0x597d0
lea ebx, [esp + 0x34]
mov dword [esp + 0x34], 2
call fcn.1001d970
mov dword [eax], esi
mov dword [ebp + 0x38], esi
jmp 0x1002e76c
cmp dword [ebx + 0x94], esi
jne 0x1002e76c
cmp dword [ebx + 0x98], esi
jne 0x1002e76c
add eax, 0x59790
cmp dword [eax + 8], esi
mov dword [esp + 0x2c], eax
jne 0x1002cb65
push ebx
call fcn.10021900
jmp 0x1002e76c
call fcn.10004a40
mov esi, eax
mov dword [esp + 0x30], esi
call fcn.1006f5f0
fld dword [esi + 0xc]
fstp dword [esp + 0x60]
lea eax, [esp + 0x48]
fld dword [esi + 8]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esi + 0x10]
fstp dword [esp + 0x64]
fld dword [esi + 0x14]
fstp dword [esp + 0x68]
fld dword [ebx + 0x34]
fstp dword [esp + 0x4c]
fld dword [ebx + 0x30]
fstp dword [esp + 0x48]
fld dword [ebx + 0x38]
fstp dword [esp + 0x50]
fld dword [ebx + 0x3c]
fstp dword [esp + 0x54]
call fcn.10003a50
fst qword [esp + 0x3c]
fcomp qword [0x100a9868]
fnstsw ax
test ah, 0x41
jp 0x1002cd8c
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x44]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x1002cc2d
push ebx
call fcn.10021900
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push eax
push ecx
call fcn.10004610
test eax, eax
je 0x1002ce65
fld qword [0x100a9908]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002ce65
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.DeathandDecay
call fcn.10003700
lea edx, [esp + 0x34]
push edx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 1
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002cd09
cmp dword [edi + 0x10], 0
jne 0x1002cd09
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002cd09
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [ebp + 0x3c]
cmp eax, 0x7d0
jbe 0x1002cd09
fld dword [esp + 0x50]
mov cx, word [edi]
sub esp, 0xc
fstp dword [esp + 8]
mov eax, ebx
fld dword [esp + 0x54]
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.1005af30
call esi
mov dword [ebp + 0x3c], eax
jmp 0x1002e76c
lea eax, [esp + 0x34]
push eax
mov ecx, str.Blood_Boil
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 2
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002cd8c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002cd8c
cmp dword [edi + 0x10], 0
jne 0x1002cd8c
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
jne 0x1002ce4b
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Death_Grip
call fcn.10003700
lea edx, [esp + 0x34]
push edx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 3
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002cea1
fld qword [0x100a9870]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1002ce9f
fcomp qword [0x100a9908]
fnstsw ax
test ah, 1
jne 0x1002cea1
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x458], 0
je 0x1002cea1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002cea1
cmp dword [edi + 0x10], 0
jne 0x1002cea1
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002cea1
push ebx
call fcn.10021900
mov eax, dword [edi]
push eax
mov edx, dword [ebx]
mov edx, dword [edx + 0x14]
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002e76c
mov edi, dword [esp + 0x30]
call fcn.10055280
test eax, eax
jne 0x1002cd8c
mov eax, edi
call fcn.10003b20
cmp eax, 0x64
jne 0x1002e76c
mov eax, dword [ebp + 0x14]
push eax
mov eax, edi
call fcn.1001b910
mov eax, dword [esp + 0x2c]
call fcn.10004a60
jmp 0x1002e76c
fstp st(0)
call fcn.1007e120
test eax, eax
mov esi, dword [esp + 0x30]
je 0x1002ced7
mov eax, esi
call fcn.10003ac0
test eax, eax
jne 0x1002ced7
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
mov eax, dword [ebp + 0x14]
push eax
mov eax, esi
call fcn.1001b910
mov eax, dword [esp + 0x2c]
call fcn.10004a60
call fcn.1007ec20
test eax, eax
je 0x1002cef1
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
add dword [ebp + 0x8c], 1
cmp dword [ebp + 0x38], 0
mov edi, 0x211
jne 0x1002cf18
fld dword [ebx + 0x34]
fstp dword [ebp + 0x28]
fld dword [ebx + 0x30]
fstp dword [ebp + 0x24]
fld dword [ebx + 0x38]
fstp dword [ebp + 0x2c]
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x38], 1
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
push ecx
push eax
mov eax, ebx
call fcn.10003b80
test eax, eax
je 0x1002d012
fld qword [0x100a98b0]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1002cf72
fld dword [esp + 0x60]
mov dword [ebp + 0x34], edi
fld dword [esp + 0x4c]
mov dword [ebp + 0x38], 1
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
jmp 0x1002cf74
fstp st(0)
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x44]
add esp, 4
fld dword [0x100a9900]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x1002cfd2
push ebx
call fcn.10021900
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x24]
mov ecx, 1
mov esi, ebx
call fcn.10056b10
cmp eax, 2
jne 0x1002d004
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x30]
push ecx
call fcn.1001b910
mov eax, dword [esp + 0x2c]
call fcn.10004a60
jmp 0x1002d099
cmp eax, 1
jne 0x1002d0a0
jmp 0x1002d099
fld dword [esi + 0xc]
fstp dword [esp + 0x74]
mov eax, dword [esp + 0x74]
fld dword [esi + 8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
fstp dword [esp + 0x70]
fld dword [esi + 0x10]
mov edx, dword [esp + 0x70]
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
fld dword [esi + 0x14]
mov dword [esp + 0x5c], edx
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
fld dword [ebx + 0x34]
mov dword [esp + 0x64], ecx
fstp dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
fld dword [ebx + 0x30]
lea eax, [esp + 0x48]
fstp dword [esp + 0x48]
lea ecx, [esp + 0x5c]
fld dword [ebx + 0x38]
mov dword [esp + 0x68], edx
fstp dword [esp + 0x50]
fld dword [ebx + 0x3c]
fstp dword [esp + 0x54]
call fcn.10003a50
fcomp qword [0x100a98b0]
fnstsw ax
test ah, 5
jp 0x1002e705
push ebx
call fcn.10021900
mov dword [ebp + 0x38], 0
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x44]
add esp, 4
fld dword [0x100a9900]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x1002d0fe
push ebx
call fcn.10021900
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
mov eax, dword [esp + 0x30]
call fcn.1006f9f0
test eax, eax
je 0x1002d386
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Mark_of_Blood
call fcn.10003700
lea edx, [esp + 0x34]
lea edi, [ebp + 0x68]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 4
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d19a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002d19a
cmp dword [esi + 0x10], 0
jne 0x1002d19a
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.ChainsofIce
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 5
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d235
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002d235
cmp dword [esi + 0x10], 0
jne 0x1002d235
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002d235
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, dword [esp + 0x30]
call fcn.1006f6d0
test eax, eax
je 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Strangulate
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 6
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d2e2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002d2e2
cmp dword [esi + 0x10], 0
jne 0x1002d2e2
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002d2e2
push 1
call fcn.1002e790
test eax, eax
jle 0x1002d2e2
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002e76c
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.AntiMagicShell
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 7
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002d386
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002d386
cmp dword [edi + 0x10], 0
jne 0x1002d386
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002d386
mov eax, ebx
call fcn.10024040
cmp eax, 0x14
jb 0x1002d386
mov ecx, dword [edi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002e76c
push 0x11
call fcn.100579d0
test eax, eax
je 0x1002d3bb
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0xc
push eax
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
test eax, eax
je 0x1002d3bb
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x1002d3bb
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x1002d3f0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx]
add eax, 0xc
push eax
mov eax, dword [edx + 0x3c]
mov ecx, ebx
call eax
test eax, eax
je 0x1002d3f0
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x1002d3f0
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x1002d415
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x1002d415
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x19
mov ecx, ebx
call eax
push 0x1a
call fcn.100579d0
test eax, eax
je 0x1002d43a
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x1002d43a
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x1002ca03
mov eax, ebx
call fcn.10003b60
cmp eax, 0x28
ja 0x1002d613
mov eax, ebx
call fcn.10024040
cmp eax, 0x28
ja 0x1002d4dd
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Empower_Rune_Weapon
call fcn.10003700
lea edx, [esp + 0x34]
push edx
lea ecx, [ebp + 0x68]
mov dword [esp + 0xc4], 8
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002d4dd
cmp dword [edi + 0x10], 0
jne 0x1002d4dd
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
jne 0x1002d36c
lea eax, [esp + 0x34]
push eax
mov ecx, str.DeathPact
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
lea edi, [ebp + 0x68]
mov ecx, edi
mov dword [esp + 0xc4], 9
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d58b
mov edx, dword [ebx]
mov eax, dword [edx + 0x74]
mov ecx, ebx
call eax
cmp eax, 1
je 0x1002d55b
mov ecx, dword [ebp + 0x14]
call fcn.1001d510
test eax, eax
je 0x1002d58b
cmp dword [ebx + 0x54], 0x190
jbe 0x1002d58b
cmp dword [esi + 0x10], 0
jne 0x1002d58b
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002d58b
push ebx
call fcn.10021900
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002ce4e
lea eax, [esp + 0x34]
push eax
mov ecx, str.Death_Strike
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0xa
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002d613
cmp dword [edi + 0x10], 0
jne 0x1002d613
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002d613
push 2
call fcn.1002e790
test eax, eax
jle 0x1002d613
push 3
call fcn.1002e790
test eax, eax
jg 0x1002ce4b
fld qword [0x100a98b0]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1002dc4a
fcomp qword [0x100a98f8]
fnstsw ax
test ah, 5
jp 0x1002d63e
call fcn.10024010
lea eax, [esp + 0x34]
push eax
mov ecx, str.Unholy_Presence
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
lea edi, [ebp + 0x68]
mov ecx, edi
mov dword [esp + 0xc4], 0xb
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d6e4
cmp dword [esi + 0x10], 0
jne 0x1002d6e4
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002d6e4
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x1002d6e4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002dc4c
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Attack
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xc
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d75d
mov eax, dword [esi]
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x64]
call eax
test eax, eax
jne 0x1002d75d
mov esi, dword [esi]
push esi
jmp 0x1002d6cd
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x50], 0
je 0x1002d7e6
lea edx, [esp + 0x34]
push edx
mov ecx, str.Mind_Freeze
call fcn.10003700
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0xd
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d7e6
cmp dword [esi + 0x10], 0
jne 0x1002d7e6
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002d7e6
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
jmp 0x1002d6cc
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Death_Coil
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xe
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d879
mov esi, 0x13dbc
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002d879
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
jne 0x1002d879
mov ecx, eax
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002d879
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
jmp 0x1002d6cc
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.DarkTransformation
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xf
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d8fc
cmp dword [esi + 0x10], 0
jne 0x1002d8fc
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002d8fc
push 3
call fcn.1002e790
test eax, eax
jg 0x1002d6c6
push 7
mov eax, ebp
call fcn.10004680
cmp eax, 1
jle 0x1002daff
cmp eax, 2
jl 0x1002d9c0
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.DeathandDecay
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x10
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002d9c0
cmp dword [esi + 0x10], 0
jne 0x1002d9c0
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002d9c0
fld dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
sub esp, 0xc
fstp dword [esp + 8]
mov eax, ebx
fld dword [esp + 0x54]
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.1005af30
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002dc4c
lea edx, [esp + 0x34]
push edx
mov ecx, str.Blood_Boil
call fcn.10003700
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0x11
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002da63
cmp dword [esi + 0x10], 0
jne 0x1002da63
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002da63
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f610
test eax, eax
je 0x1002da63
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f610
test eax, eax
je 0x1002da63
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
jmp 0x1002d6cc
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Pestilence
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x12
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002daff
cmp dword [esi + 0x10], 0
jne 0x1002daff
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002daff
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f610
test eax, eax
je 0x1002daff
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f610
test eax, eax
jne 0x1002d6c6
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x64
jae 0x1002dba9
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x464], 0
je 0x1002dba9
cmp dword [ebx + 0x54], 0x28a
jbe 0x1002dba9
lea edx, [esp + 0x34]
push edx
mov ecx, str.Summon_Gargoyle
call fcn.10003700
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0x13
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002dba9
cmp dword [esi + 0x10], 0
jne 0x1002dba9
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002dba9
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
jmp 0x1002d6cc
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x64
jae 0x1002dc4c
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x468], 0
je 0x1002dc4c
cmp dword [ebx + 0x54], 0x28a
jbe 0x1002dc4c
lea edx, [esp + 0x34]
push edx
mov ecx, str.ArmyoftheDead
call fcn.10003700
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0x14
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002dc4c
cmp dword [edi + 0x10], 0
jne 0x1002dc4c
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1002dc4c
mov edi, dword [edi]
push edi
jmp 0x1002d6cd
fstp st(0)
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Strangulate
call fcn.10003700
lea edx, [esp + 0x34]
lea edi, [ebp + 0x68]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x15
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002dce3
cmp dword [esi + 0x10], 0
jne 0x1002dce3
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002dce3
push 1
call fcn.1002e790
test eax, eax
jle 0x1002dce3
fld qword [0x100a9870]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Death_Strike
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x16
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002dd95
cmp dword [esi + 0x10], 0
jne 0x1002dd95
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002dd95
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002dd95
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
je 0x1002dd95
push 2
call fcn.1002e790
test eax, eax
jle 0x1002dd95
push 3
call fcn.1002e790
test eax, eax
jg 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Horn_of_Winter
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x17
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002de2a
mov eax, ebx
call fcn.10024040
cmp eax, 0xa
jb 0x1002de2a
cmp dword [esi + 0x10], 0
jne 0x1002de2a
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002de2a
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Icebound_Fortitude
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x18
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002ded9
mov eax, ebx
call fcn.10024040
cmp eax, 0x14
jb 0x1002ded9
mov eax, ebx
call fcn.10003b60
cmp eax, 0x5a
jae 0x1002ded9
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x1e
jbe 0x1002ded9
cmp dword [esi + 0x10], 0
jne 0x1002ded9
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002ded9
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Blood_Tap
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x19
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002df86
cmp dword [esi + 0x10], 0
jne 0x1002df86
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002df86
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x14
jbe 0x1002df86
mov ecx, dword [ebx + 0x148]
test ecx, ecx
je 0x1002df86
mov eax, dword [ebx + 0x134]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, 0x32
ja 0x1002df86
push 1
call fcn.1002e790
test eax, eax
je 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Vampiric_Blood
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x1a
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e01e
cmp dword [esi + 0x10], 0
jne 0x1002e0bc
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002e0bc
mov eax, ebx
call fcn.10003b60
cmp eax, 0x3c
ja 0x1002e0bc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002ce4e
lea eax, [esp + 0x34]
push eax
mov ecx, str.Rune_Tap
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x1b
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e1f1
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x1002e1f1
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002e1f1
mov eax, ebx
call fcn.10003b60
cmp eax, 0x50
jae 0x1002e1f1
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002ce4e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002e15f
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Rune_Tap
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x1c
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e1f1
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002e1f1
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002e1f1
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002ce4e
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
je 0x1002e1f1
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Rune_Tap
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x1d
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e1f1
cmp dword [esi + 0x10], 0
jne 0x1002e1f1
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002e1f1
mov eax, ebx
call fcn.10003b60
cmp eax, 0x50
jb 0x1002d57f
fld qword [0x100a9870]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002e2b3
lea eax, [esp + 0x34]
push eax
mov ecx, str.Outbreak
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x1e
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e2b3
fld qword [0x100a9818]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002e2b3
cmp dword [esi + 0x10], 0
jne 0x1002e2b3
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002e2b3
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
jne 0x1002e2b3
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Icy_Touch
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x1f
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e34e
fld qword [0x100a9818]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002e34e
cmp dword [esi + 0x10], 0
jne 0x1002e34e
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002e34e
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
je 0x1002d57f
fld qword [0x100a98b0]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002ca03
lea eax, [esp + 0x34]
push eax
mov ecx, str.Plague_Strike
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x20
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e3ed
cmp dword [esi + 0x10], 0
jne 0x1002e3ed
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002e3ed
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Necrotic_Strike
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x21
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e477
push 3
call fcn.1002e790
test eax, eax
jle 0x1002e477
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x1002e477
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Scourge_Strike
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x22
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e4ef
cmp dword [esi + 0x10], 0
jne 0x1002e4ef
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Obliterate
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x23
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e567
cmp dword [esi + 0x10], 0
jne 0x1002e567
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1002d57f
lea eax, [esp + 0x34]
push eax
mov ecx, str.Blood_Strike
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x24
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e5ea
cmp dword [esi + 0x10], 0
jne 0x1002e5ea
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002e5ea
push 1
call fcn.1002e790
test eax, eax
jg 0x1002d2c4
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Rune_Strike
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x25
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002e67b
cmp dword [esi + 0x10], 0
jne 0x1002e67b
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002e67b
mov eax, dword [esp + 0x2c]
call fcn.10023fd0
test eax, eax
jne 0x1002e67b
mov eax, ebx
call fcn.10024040
cmp eax, 0x1e
jae 0x1002d57f
lea eax, [esp + 0x2c]
push eax
mov ecx, str.Death_Coil
call fcn.10003700
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x26
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002ca03
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x50
ja 0x1002ca03
mov eax, ebx
call fcn.10024040
cmp eax, 0x5a
jb 0x1002ca03
mov eax, dword [esi]
jmp 0x1002ce4d
fld dword [esp + 0x74]
lea eax, [ebp + 0x24]
fld dword [esp + 0x4c]
mov ecx, 1
fsubr st(1)
mov edx, edi
fld qword [esp + 0x3c]
mov esi, ebx
mov dword [ebp + 0x34], edi
fdiv st(1), st(0)
mov dword [ebp + 0x38], ecx
fxch st(2)
fsubrp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x48]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x1002e760
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x34]
call fcn.1001b910
mov eax, dword [esp + 0x2c]
call fcn.10004a60
jmp 0x1002e765
cmp eax, 1
jne 0x1002e76c
mov dword [ebp + 0x38], 0
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4