Function at 0x10073580
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009c51e
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 ebx, ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0x597c4]
cmp ecx, 2
je 0x100735ed
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x8c], eax
mov dword [ebx + 0x90], eax
xor eax, eax
jmp 0x100742a2
mov ebp, dword [eax + 0x5975c]
test ebp, ebp
je 0x100735e6
mov eax, dword [eax + 0x597c8]
cmp eax, 4
jne 0x1007361c
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
mov eax, dword [ebx + 0x14]
push eax
call fcn.1001ad10
push ebx
call fcn.10003bc0
mov ecx, dword [ebx + 0x14]
cmp dword [ecx + 0x59798], 0
ja 0x10073673
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp + 0xec], 0
mov ebx, dword [ebx + 0x14]
lea eax, [ebx + 0x597d0]
lea ebx, [esp + 0x40]
mov dword [esp + 0x40], 2
call fcn.1001d970
mov dword [eax], 0
jmp 0x1007429d
mov eax, ebx
call fcn.100015c0
cmp dword [ebp + 0x94], 0
jne 0x1007429d
cmp dword [ebp + 0x98], 0
jne 0x1007429d
mov eax, dword [ebx + 0x14]
add eax, 0x59790
cmp dword [eax + 8], 0
mov dword [esp + 0x3c], eax
jne 0x100736b1
push ebp
call fcn.10021900
jmp 0x1007429d
call fcn.10004a40
mov esi, eax
mov dword [esp + 0x38], esi
call fcn.1006f5f0
fld dword [esi + 0xc]
fstp dword [esp + 0x74]
lea eax, [esp + 0x5c]
fld dword [esi + 8]
lea ecx, [esp + 0x70]
fstp dword [esp + 0x70]
fld dword [esi + 0x10]
fstp dword [esp + 0x78]
fld dword [esi + 0x14]
fstp dword [esp + 0x7c]
fld dword [ebp + 0x34]
fstp dword [esp + 0x60]
fld dword [ebp + 0x30]
fstp dword [esp + 0x5c]
fld dword [ebp + 0x38]
fstp dword [esp + 0x64]
fld dword [ebp + 0x3c]
fstp dword [esp + 0x68]
call fcn.10003a50
fst qword [esp + 0x44]
fcomp qword [0x100a9868]
fnstsw ax
test ah, 5
jp 0x100737ac
fld dword [esp + 0x70]
sub esp, 0x10
fsub dword [esp + 0x6c]
fstp qword [esp + 8]
fld dword [esp + 0x84]
fsub dword [esp + 0x70]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x44]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10073776
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
mov edi, dword [esp + 0x38]
call fcn.10055280
test eax, eax
jne 0x100737ac
mov eax, edi
call fcn.10003b20
cmp eax, 0x64
jne 0x1007429d
mov ecx, dword [ebx + 0x14]
push ecx
mov eax, edi
call fcn.1001b910
mov eax, dword [esp + 0x3c]
call fcn.10004a60
jmp 0x1007429d
call fcn.1007e120
test eax, eax
mov esi, dword [esp + 0x38]
je 0x100737e2
mov eax, esi
call fcn.10003ac0
test eax, eax
jne 0x100737e2
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
mov edx, dword [ebx + 0x14]
push edx
mov eax, esi
call fcn.1001b910
mov eax, dword [esp + 0x3c]
call fcn.10004a60
call fcn.1007ec20
test eax, eax
mov edi, 1
je 0x10073800
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
add dword [ebx + 0x88], edi
cmp dword [ebx + 0x88], edi
jle 0x10073817
call fcn.10024010
mov dword [ebx + 0x88], 0
cmp dword [ebx + 0x38], 0
jne 0x10073839
fld dword [ebp + 0x34]
fstp dword [ebx + 0x28]
fld dword [ebp + 0x30]
fstp dword [ebx + 0x24]
fld dword [ebp + 0x38]
fstp dword [ebx + 0x2c]
mov dword [ebx + 0x34], 0x211
mov dword [ebx + 0x38], edi
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
push ecx
push eax
mov eax, ebp
call fcn.10003b80
test eax, eax
je 0x100738d4
fld qword [0x100a9870]
fld qword [esp + 0x44]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100738d2
fld dword [esp + 0x74]
lea eax, [ebx + 0x24]
fld dword [esp + 0x60]
mov edx, 0x211
fsubr st(1)
mov ecx, 2
fld qword [0x100a9920]
mov esi, ebp
mov dword [ebx + 0x34], edx
fmul st(1), st(0)
mov dword [ebx + 0x38], edi
fxch st(1)
fdiv st(3)
fsubp st(2)
fxch st(1)
fstp dword [ebx + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x5c]
fsubr st(1)
fmulp st(2)
fxch st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x100738cb
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [esp + 0x3c]
call fcn.1001b910
mov eax, dword [esp + 0x3c]
call fcn.10004a60
mov eax, edi
jmp 0x100742a2
fstp st(0)
push ebp
call fcn.10021900
fld dword [esp + 0x70]
fsub dword [esp + 0x5c]
sub esp, 0x10
xor esi, esi
mov dword [ebx + 0x38], esi
fst qword [esp + 0x64]
fld dword [esp + 0x84]
fsub dword [esp + 0x70]
fst qword [esp + 0x5c]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x44]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10073944
fld dword [esp + 0x34]
push ecx
fstp dword [esp]
call fcn.10021920
push 0x11
call fcn.100579d0
test eax, eax
je 0x1007397c
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp]
add eax, 0xc
push eax
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
test eax, eax
je 0x1007397c
mov edx, dword [ebp]
mov eax, dword [edx + 0x4c]
mov ecx, ebp
call eax
test eax, eax
jle 0x1007397c
mov edx, dword [ebp]
mov eax, dword [edx + 0x58]
mov ecx, ebp
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x100739b4
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp]
add eax, 0xc
push eax
mov eax, dword [edx + 0x3c]
mov ecx, ebp
call eax
test eax, eax
je 0x100739b4
mov edx, dword [ebp]
mov eax, dword [edx + 0x50]
mov ecx, ebp
call eax
test eax, eax
jle 0x100739b4
mov edx, dword [ebp]
mov eax, dword [edx + 0x5c]
mov ecx, ebp
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x100739db
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebp
call eax
test eax, eax
jle 0x100739db
mov edx, dword [ebp]
mov eax, dword [edx + 0x64]
push 0x19
mov ecx, ebp
call eax
push 0x1a
call fcn.100579d0
test eax, eax
je 0x10073a02
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebp
call eax
test eax, eax
jle 0x10073a02
mov edx, dword [ebp]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 8]
mov ecx, ebp
call eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, str.SummonImp
call fcn.10003700
lea edx, [esp + 0x40]
lea edi, [ebx + 0x68]
push edx
mov ecx, edi
mov dword [esp + 0xc4], esi
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, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073ad1
mov eax, esi
call fcn.1006e760
mov eax, dword [ebp]
mov edx, dword [eax + 0x74]
mov ecx, ebp
call edx
test eax, eax
je 0x10073a8a
cmp dword [ebp + 0x134], 0
jne 0x10073ad1
cmp dword [esi + 0x10], 0
jne 0x10073ad1
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10073ad1
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10073ad1
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xf
jbe 0x10073ad1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
push 0x5dc
jmp 0x10074297
lea eax, [esp + 0x40]
push eax
mov ecx, str.DemonSkin
call fcn.10003700
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 1
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, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073b83
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x10073b83
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10073b83
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10073b83
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, ebp
call fcn.10056f10
test eax, eax
jne 0x10073b83
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
push 0x3e8
jmp 0x10074297
lea eax, [esp + 0x40]
push eax
mov ecx, str.LifeTap
call fcn.10003700
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 2
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, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073c47
mov eax, esi
call fcn.1006e760
mov esi, dword [esi]
call fcn.1007e040
test eax, eax
je 0x10073c47
mov eax, ebp
call fcn.10003b60
mov esi, eax
mov eax, ebp
call fcn.1002ec10
cmp esi, eax
jbe 0x10073c47
cmp esi, 0x41
jbe 0x10073c47
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [ebx + 0x84]
cmp eax, 0xfa0
jbe 0x10073c47
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
call esi
mov dword [ebx + 0x84], eax
push 0x12c
jmp 0x10074297
fld qword [0x100a9870]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x1007429d
cmp dword [ebx + 0x74], 0
jne 0x10073caa
mov eax, dword [ebp]
mov edx, dword [eax + 0x74]
mov ecx, ebp
call edx
test eax, eax
je 0x10073caa
cmp dword [ebp + 0x134], 0
je 0x10073caa
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x8c]
call edx
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x8c]
call edx
mov dword [ebx + 0x74], 1
push 0xc8
jmp 0x10074297
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xa
jae 0x10073e10
fld qword [0x100a98b0]
fld qword [esp + 0x44]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10073d56
fstp st(1)
lea eax, [ebx + 0x24]
fld dword [esp + 0x74]
mov edx, 0x211
fld qword [esp + 0x4c]
mov ecx, 2
fld qword [0x100a9840]
mov esi, ebp
fmul st(1), st(0)
mov dword [ebx + 0x34], edx
fxch st(1)
mov dword [ebx + 0x38], 1
fdiv st(3)
fsubp st(2)
fxch st(1)
fstp dword [ebx + 0x28]
fld qword [esp + 0x54]
fmulp st(1)
fdivrp st(1)
fsubr dword [esp + 0x70]
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x10073d41
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [esp + 0x3c]
call fcn.1001b910
mov eax, dword [esp + 0x3c]
call fcn.10004a60
mov dword [ebx + 0x38], 0
jmp 0x1007429d
cmp eax, 1
jne 0x1007429d
mov dword [ebx + 0x38], 0
jmp 0x1007429d
fcompp
fnstsw ax
test ah, 0x41
jp 0x10073e10
lea ecx, [esp + 0x40]
push ecx
mov ecx, str.Attack
call fcn.10003700
lea edx, [esp + 0x40]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 3
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073e10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x3c]
cmp eax, 0x3e8
jbe 0x10073e10
mov ecx, dword [0x100bb2cc]
mov esi, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
push esi
call edx
test eax, eax
jne 0x10073e10
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10073e10
mov eax, dword [esp + 0x34]
call fcn.1002ebf0
test eax, eax
jne 0x10073e10
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push ecx
jmp 0x1007427f
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xc
ja 0x10073edb
lea eax, [esp + 0x40]
push eax
mov ecx, str.Shoot
call fcn.10003700
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 4
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073edb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x3c]
cmp eax, 0x3e8
jbe 0x10073edb
cmp dword [esi + 0x10], 0
jne 0x10073edb
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10073edb
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10073edb
mov eax, dword [esp + 0x34]
call fcn.1002ebf0
test eax, eax
jne 0x10073edb
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov eax, dword [ebp]
mov eax, dword [eax + 0x14]
push edx
mov ecx, ebp
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
jmp 0x1007429d
lea ecx, [esp + 0x40]
push ecx
mov ecx, str.Corruption
call fcn.10003700
lea edx, [esp + 0x40]
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 + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10073faf
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x10073faf
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10073faf
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10073faf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x7c]
cmp eax, 0xfa0
jbe 0x10073faf
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx]
mov eax, dword [esp + 0x38]
call fcn.1006f6d0
test eax, eax
jne 0x10073faf
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xa
jbe 0x10073faf
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x7c], eax
jmp 0x10074292
lea eax, [esp + 0x40]
push eax
mov ecx, str.CurseOfAgony
call fcn.10003700
lea ecx, [esp + 0x40]
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 + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100740a7
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x1007410c
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x1007410c
mov edx, dword [esp + 0x34]
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1007410c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x80]
cmp eax, 0xfa0
jbe 0x1007410c
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
call fcn.1006f6d0
test eax, eax
jne 0x1007410c
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xa
jbe 0x1007410c
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x80], eax
jmp 0x10074292
lea eax, [esp + 0x40]
push eax
mov ecx, str.CurseOfWeakness
call fcn.10003700
lea ecx, [esp + 0x40]
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 + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
jne 0x10074014
lea eax, [esp + 0x40]
push eax
mov ecx, str.Immolate
call fcn.10003700
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 8
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x34], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100741e0
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x100741e0
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100741e0
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100741e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x78]
cmp eax, 0xfa0
jbe 0x100741e0
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
call fcn.1006f6d0
test eax, eax
jne 0x100741e0
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xa
jbe 0x100741e0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
push ecx
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x78], eax
jmp 0x10074292
lea eax, [esp + 0x3c]
push eax
mov ecx, str.ShadowBolt
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 0x44], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x1007429d
mov eax, edi
call fcn.1006e760
cmp dword [edi + 0x10], 0
jne 0x1007429d
mov eax, edi
call fcn.10023fd0
test eax, eax
jne 0x1007429d
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x1007429d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x3c]
cmp eax, 0x3e8
jbe 0x1007429d
mov eax, ebp
call fcn.1002ec10
cmp eax, 0xa
jbe 0x1007429d
mov eax, dword [edi]
push eax
mov edx, dword [ebp]
mov edx, dword [edx + 0x14]
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
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