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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009b8ad
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
jne 0x1002b1f3
mov ebx, dword [eax + 0x5975c]
test ebx, ebx
je 0x1002b1f3
mov eax, ebp
call fcn.100015c0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x597c8]
cmp eax, 4
jne 0x100293f4
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 + 0x34]
push ecx
mov ecx, str.Raise_Dead
call fcn.10003700
lea edx, [esp + 0x34]
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 + 0x3c], 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 + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10029465
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x45c], 0
je 0x100294b2
test edi, edi
je 0x100294b2
mov edx, dword [ebx]
mov eax, dword [edx + 0x74]
mov ecx, ebx
call eax
test eax, eax
jne 0x100294b2
cmp dword [edi + 0x10], eax
jne 0x100294b2
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x100294b2
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 0x1002b25e
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 0x10029504
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 0x1002b25e
cmp dword [ebx + 0x94], esi
jne 0x1002b25e
cmp dword [ebx + 0x98], esi
jne 0x1002b25e
add eax, 0x59790
cmp dword [eax + 8], esi
mov dword [esp + 0x34], eax
jne 0x10029535
push ebx
call fcn.10021900
jmp 0x1002b25e
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 0x1002975c
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 + 0x3c]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x100295fd
push ebx
call fcn.10021900
fld dword [esp + 0x2c]
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 0x10029850
fld qword [0x100a9908]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x10029850
lea ecx, [esp + 0x2c]
push ecx
mov ecx, str.DeathandDecay
call fcn.10003700
lea edx, [esp + 0x2c]
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 + 0x2c]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x100296d9
cmp dword [edi + 0x10], 0
jne 0x100296d9
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x100296d9
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x100296d9
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 0x1002b25e
lea eax, [esp + 0x2c]
push eax
mov ecx, str.Blood_Boil
call fcn.10003700
lea ecx, [esp + 0x2c]
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 + 0x2c]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1002975c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x1002975c
cmp dword [edi + 0x10], 0
jne 0x1002975c
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
jne 0x10029498
lea edx, [esp + 0x2c]
push edx
mov ecx, str.Death_Grip
call fcn.10003700
lea eax, [esp + 0x2c]
push eax
lea ecx, [ebp + 0x68]
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 edi, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x100298d3
fld qword [0x100a9818]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x100298d1
fcomp qword [0x100a9908]
fnstsw ax
test ah, 1
jne 0x100298d3
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x458], 0
je 0x100298d3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x100298d3
cmp dword [edi + 0x10], 0
jne 0x100298d3
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x100298d3
push ebx
call fcn.10021900
mov edx, dword [ebx]
mov eax, dword [edi]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x1002b25e
mov edi, dword [esp + 0x30]
call fcn.10055280
test eax, eax
jne 0x1002975c
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x100a2f24
call fcn.10003700
mov ebx, edi
mov dword [esp + 0xc0], 3
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
push ecx
push edx
push str.h_x_l_x
lea edi, [esp + 0x38]
call fcn.10015e10
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 0xc]
add esp, 0xc
mov esi, edi
call fcn.100028c0
mov eax, ebx
call fcn.10003b20
cmp eax, 0x64
jne 0x100298c3
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, ebx
call fcn.1001b910
mov eax, dword [esp + 0x34]
call fcn.10004a60
lea eax, [esp + 0x2c]
call fcn.10001660
jmp 0x1002b25e
fstp st(0)
call fcn.1007e120
test eax, eax
mov esi, dword [esp + 0x30]
je 0x10029909
mov eax, esi
call fcn.10003ac0
test eax, eax
jne 0x10029909
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 + 0x34]
call fcn.10004a60
call fcn.1007ec20
test eax, eax
je 0x10029923
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 0x1002994a
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 0x10029a44
fld qword [0x100a98b0]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100299a4
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 0x100299a6
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 + 0x3c]
add esp, 4
fld dword [0x100a9900]
fstp dword [esp + 8]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10029a04
push ebx
call fcn.10021900
fld dword [esp + 0x2c]
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 0x10029a36
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x30]
push ecx
call fcn.1001b910
mov eax, dword [esp + 0x34]
call fcn.10004a60
jmp 0x10029acb
cmp eax, 1
jne 0x10029ad2
jmp 0x10029acb
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 0x1002b1f7
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 0x10029b30
push ebx
call fcn.10021900
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Blood_Presence
call fcn.10003700
lea edx, [esp + 0x34]
lea edi, [ebp + 0x68]
push edx
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 0x10029bd1
cmp dword [esi + 0x10], 0
jne 0x10029bd1
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10029bd1
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x10029bd1
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
push 0x11
call fcn.100579d0
test eax, eax
je 0x10029c06
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 0x10029c06
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x10029c06
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x10029c3b
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 0x10029c3b
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x10029c3b
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x10029c60
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x10029c60
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 0x10029c85
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x10029c85
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x50], 0
je 0x10029dc8
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], 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 0x10029d1b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x10029d1b
cmp dword [esi + 0x10], 0
jne 0x10029d1b
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
jne 0x10029e81
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], 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 esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10029dc8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x10029dc8
cmp dword [esi + 0x10], 0
jne 0x10029dc8
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10029dc8
push 1
call fcn.1002e790
test eax, eax
jle 0x10029dc8
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 0x1002b25e
mov eax, ebx
call fcn.10003b60
cmp eax, 0x28
ja 0x10029fc9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x10029fc9
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Raise_Dead
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
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 esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10029e8d
mov eax, dword [ebx]
mov edx, dword [eax + 0x74]
mov ecx, ebx
call edx
test eax, eax
je 0x10029e66
mov ecx, dword [ebp + 0x14]
call fcn.1001d510
test eax, eax
jne 0x10029e8d
cmp dword [esi + 0x10], 0
jne 0x10029e8d
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10029e8d
push ebx
call fcn.10021900
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002949b
mov eax, dword [ebx]
mov edx, dword [eax + 0x74]
mov ecx, ebx
call edx
cmp eax, 1
je 0x10029eab
mov ecx, dword [ebp + 0x14]
call fcn.1001d510
test eax, eax
je 0x10029f2c
cmp dword [ebx + 0x54], 0x190
jae 0x10029f2c
lea eax, [esp + 0x34]
push eax
mov ecx, str.Empower_Rune_Weapon
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
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 0x10029f2c
cmp dword [esi + 0x10], 0
jne 0x10029f2c
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x10029daa
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.DeathPact
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 esi, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10029fc9
mov eax, dword [ebx]
mov edx, dword [eax + 0x74]
mov ecx, ebx
call edx
cmp eax, 1
je 0x10029fa7
mov ecx, dword [ebp + 0x14]
call fcn.1001d510
test eax, eax
je 0x10029fc9
cmp dword [esi + 0x10], 0
jne 0x10029fc9
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10029fc9
cmp dword [ebx + 0x54], 0x190
ja 0x10029e7b
lea eax, [esp + 0x34]
push eax
mov ecx, str.Vampiric_Blood
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
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 0x1002a085
cmp dword [esi + 0x10], 0
jne 0x1002a137
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002a137
mov eax, ebx
call fcn.10003b60
cmp eax, 0x3c
ja 0x1002a137
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002a137
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 esi
mov dword [ebp + 0x3c], eax
jmp 0x1002b25e
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], 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 + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002a290
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002a290
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002a290
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002a290
mov eax, ebx
call fcn.10003b60
cmp eax, 0x50
jae 0x1002a290
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002949b
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002a1ee
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], 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 0x1002a290
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002a290
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002a290
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002a290
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002949b
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
je 0x1002a290
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], 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 0x1002a290
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x1002a290
cmp dword [esi + 0x10], 0
jne 0x1002a290
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a290
mov eax, ebx
call fcn.10003b60
cmp eax, 0x50
jb 0x10029e81
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x1002a940
fld qword [0x100a98f8]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002a2ba
call fcn.10024010
lea eax, [esp + 0x34]
push eax
mov ecx, str.Horn_of_Winter
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
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 0x1002a356
mov eax, ebx
call fcn.10024040
cmp eax, 0xa
jb 0x1002a356
cmp dword [esi + 0x10], 0
jne 0x1002a356
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002a356
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x1002a356
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Icebound_Fortitude
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 0x1002a40c
mov eax, ebx
call fcn.10024040
cmp eax, 0x14
jb 0x1002a40c
mov eax, ebx
call fcn.10003b60
cmp eax, 0x5a
jae 0x1002a40c
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x1e
jbe 0x1002a40c
cmp dword [esi + 0x10], 0
jne 0x1002a40c
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a40c
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x1002a40c
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
jmp 0x1002a92d
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], 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 0x1002a490
mov esi, 0xc522
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x1002a490
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
jne 0x1002a490
mov ecx, eax
mov eax, dword [ecx]
jmp 0x1002a92d
mov eax, ebp
call fcn.10027b80
test eax, eax
je 0x1002a52a
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], 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 0x1002a52a
cmp dword [esi + 0x10], 0
jne 0x1002a52a
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a52a
mov eax, ebx
call fcn.10024040
cmp eax, 0x14
jb 0x1002a52a
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.BoneShield
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 0x1002a5a9
cmp dword [esi + 0x10], 0
jne 0x1002a5a9
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a5a9
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
push 7
mov eax, ebp
call fcn.10004680
mov ecx, eax
cmp ecx, 1
mov dword [esp + 0x38], ecx
jle 0x1002a661
fld qword [0x100a98b0]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002a665
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Dancing_Rune_Weapon
call fcn.10003700
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x14
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x30], 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 0x1002a661
cmp dword [esi + 0x10], 0
jne 0x1002a661
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a661
mov eax, ebx
call fcn.10024040
cmp eax, 0x3c
jb 0x1002a661
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
mov ecx, dword [esp + 0x38]
cmp ecx, 2
jle 0x1002a940
fld qword [0x100a98b0]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002a940
mov eax, ebp
call fcn.10027ae0
cmp eax, 1
jg 0x1002a736
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], 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 0x1002a736
cmp dword [esi + 0x10], 0
jne 0x1002a736
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a736
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
jne 0x1002a72b
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002a736
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Blood_Boil
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 0x1002a7e4
cmp dword [esi + 0x10], 0
jne 0x1002a7e4
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a7e4
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
je 0x1002a7e4
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002a7e4
push 1
call fcn.1002e790
test eax, eax
jle 0x1002a7e4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x1002a92d
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], 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 0x1002a884
cmp dword [esi + 0x10], 0
jne 0x1002a884
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002a884
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
jmp 0x1002a937
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x64
jae 0x1002a940
mov edx, dword [ebp + 0x14]
cmp dword [edx + 0x468], 0
je 0x1002a940
cmp dword [ebx + 0x54], 0x28a
jbe 0x1002a940
lea eax, [esp + 0x34]
push eax
mov ecx, str.ArmyoftheDead
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 0x1002a940
cmp dword [esi + 0x10], 0
jne 0x1002a940
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002a940
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x1002ab89
fld qword [0x100a9870]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x1002aa1c
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Outbreak
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 0x1002aa1c
fld qword [0x100a9818]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002aac8
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002aa1c
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002aa1c
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
jne 0x1002aa1c
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
je 0x1002ab70
fld qword [0x100a9818]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002aac8
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], 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 0x1002aac8
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002aac8
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002aac8
mov eax, dword [esp + 0x30]
mov esi, 0xd737
call fcn.1006f6d0
test eax, eax
jne 0x1002aac8
push 2
call fcn.1002e790
test eax, eax
jg 0x1002ab70
fld qword [0x100a98b0]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002ab89
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Plague_Strike
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 0x1002ab89
push 3
call fcn.1002e790
test eax, eax
jle 0x1002ab89
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x1002ab89
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1002ab89
mov eax, dword [esp + 0x30]
mov esi, 0xd726
call fcn.1006f6d0
test eax, eax
jne 0x1002ab89
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x2bc
jbe 0x1002b1f3
fld qword [0x100a98b0]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x1002b1f3
call fcn.1002b280
test al, al
jne 0x1002ac4f
mov eax, ebx
call fcn.10024040
cmp eax, 0x32
jae 0x1002ac4f
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Empower_Rune_Weapon
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 0x1002ac4f
cmp dword [esi + 0x10], 0
jne 0x1002ac4f
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002ac4f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
jmp 0x1002b1e1
mov esi, dword [ebp + 0x14]
cmp dword [esi + 0x46c], 0
je 0x1002ad1c
mov eax, ebx
call fcn.10003b60
cmp eax, dword [esi + 0x470]
jae 0x1002ad1c
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], 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 0x1002ad1c
cmp dword [esi + 0x10], 0
jne 0x1002ad1c
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002ad1c
push 2
call fcn.1002e790
test eax, eax
jle 0x1002ad1c
push 3
call fcn.1002e790
test eax, eax
jle 0x1002ad1c
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
xor eax, eax
jmp 0x1002b263
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Heart_Strike
call fcn.10003700
lea edx, [esp + 0x34]
push edx
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 0x1002ad9f
push 1
call fcn.1002e790
test eax, eax
jle 0x1002ad9f
cmp dword [esi + 0x10], 0
jne 0x1002ad9f
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1002ac43
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], 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 0x1002ae2d
cmp dword [esi + 0x10], 0
jne 0x1002ae2d
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002ae2d
push 2
call fcn.1002e790
test eax, eax
jle 0x1002ae2d
push 3
call fcn.1002e790
test eax, eax
jg 0x1002acfc
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], 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 0x1002aeb7
push 3
call fcn.1002e790
test eax, eax
jle 0x1002aeb7
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x1002aeb7
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1002ac43
lea eax, [esp + 0x34]
push eax
mov ecx, str.Obliterate
call fcn.10003700
lea ecx, [esp + 0x34]
push ecx
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 0x1002af2f
cmp dword [esi + 0x10], 0
jne 0x1002af2f
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1002acfc
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], 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 + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002afc8
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x50
ja 0x1002afc8
mov eax, ebx
call fcn.10024040
cmp eax, 0x5a
jb 0x1002afc8
cmp dword [esi + 0x10], 0
jne 0x1002afc8
mov ecx, dword [esi]
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
xor eax, eax
jmp 0x1002b263
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], 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 0x1002b059
cmp dword [esi + 0x10], 0
jne 0x1002b059
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002b059
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x14
jbe 0x1002b059
push 1
call fcn.1002e790
test eax, eax
je 0x1002acfc
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], 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 0x1002b0ea
cmp dword [esi + 0x10], 0
jne 0x1002b0ea
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1002b0ea
mov eax, dword [esp + 0x2c]
call fcn.10023fd0
test eax, eax
jne 0x1002b0ea
mov eax, ebx
call fcn.10024040
cmp eax, 0x1e
jae 0x1002ac43
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], 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 0x1002b16d
cmp dword [esi + 0x10], 0
jne 0x1002b16d
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1002b16d
push 1
call fcn.1002e790
test eax, eax
jg 0x1002acfc
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.Attack
call fcn.10003700
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0x26
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 esi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1002b1f3
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 0x1002b1f3
mov eax, dword [esi]
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
xor eax, eax
jmp 0x1002b263
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 0x1002b252
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x34]
call fcn.1001b910
mov eax, dword [esp + 0x34]
call fcn.10004a60
jmp 0x1002b257
cmp eax, 1
jne 0x1002b25e
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