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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009c327
mov eax, dword fs:[0]
push eax
sub esp, 0x124
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100b8070]
xor eax, esp
push eax
lea eax, [esp + 0x138]
mov dword fs:[0], eax
mov ebp, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x597c4]
cmp ecx, 2
je 0x100787b0
xor eax, eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], eax
jmp 0x10079c46
mov ebx, dword [eax + 0x5975c]
push eax
call fcn.1001ad10
push ebp
call fcn.10003bc0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x59798]
xor esi, esi
cmp eax, esi
ja 0x10078807
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 + 0x18]
mov dword [esp + 0x18], 2
call fcn.1001d970
mov dword [eax], esi
mov dword [ebp + 0x38], esi
jmp 0x10079c41
mov eax, ebp
call fcn.100015c0
cmp dword [ebx + 0x94], esi
jne 0x10079c41
cmp dword [ebx + 0x98], esi
jne 0x10079c41
mov eax, dword [ebp + 0x14]
add eax, 0x59790
cmp dword [eax + 8], esi
mov dword [esp + 0x1c], eax
jne 0x10078842
push ebx
call fcn.10021900
jmp 0x10079c41
call fcn.10004a40
mov esi, eax
mov dword [esp + 0x20], esi
call fcn.1006f5f0
fld dword [esi + 0xc]
fstp dword [esp + 0x28]
lea eax, [esp + 0x38]
fld dword [esi + 8]
lea ecx, [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esi + 0x10]
fstp dword [esp + 0x2c]
fld dword [esi + 0x14]
fstp dword [esp + 0x30]
fld dword [ebx + 0x34]
fstp dword [esp + 0x3c]
fld dword [ebx + 0x30]
fstp dword [esp + 0x38]
fld dword [ebx + 0x38]
fstp dword [esp + 0x40]
fld dword [ebx + 0x3c]
fstp dword [esp + 0x44]
call fcn.10003a50
fst qword [esp + 0x4c]
fcomp qword [0x100a9868]
fnstsw ax
test ah, 5
jp 0x10078960
fld dword [esp + 0x24]
sub esp, 0x10
fsub dword [esp + 0x48]
fstp qword [esp + 8]
fld dword [esp + 0x38]
fsub dword [esp + 0x4c]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x24]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x50]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x1007890a
push ebx
call fcn.10021900
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.10021920
mov edi, esi
call fcn.10055280
test eax, eax
jne 0x10078960
mov eax, edi
call fcn.10003b20
cmp eax, 0x64
jne 0x10079c41
lea eax, [esp + 0x7c]
call fcn.100054f0
mov dword [esp + 0x140], 0
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [esp + 0x80]
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
lea eax, [esp + 0x7c]
call fcn.100055f0
jmp 0x10079c41
call fcn.1007e120
test eax, eax
je 0x10078992
mov eax, esi
call fcn.10003ac0
test eax, eax
jne 0x10078992
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
mov edx, dword [ebp + 0x14]
push edx
mov eax, esi
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
call fcn.1007ec20
test eax, eax
je 0x100789a9
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
add dword [ebp + 0x6c], 1
cmp dword [ebp + 0x6c], 1
jle 0x100789bb
call fcn.10024010
mov dword [ebp + 0x6c], 0
cmp dword [ebp + 0x38], 0
mov edi, 0x211
jne 0x100789e2
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 0x10078a5e
fld qword [0x100a9950]
fcomp qword [esp + 0x4c]
fnstsw ax
test ah, 5
jp 0x10078a1e
fld dword [esp + 0x28]
mov dword [ebp + 0x34], edi
fstp dword [ebp + 0x28]
mov dword [ebp + 0x38], 1
fld dword [esp + 0x24]
fstp dword [ebp + 0x24]
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x24]
mov ecx, 2
mov esi, ebx
call fcn.10056b10
cmp eax, 2
jne 0x10078a50
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x24]
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
jmp 0x10078ae2
cmp eax, 1
jne 0x10078ae9
jmp 0x10078ae2
fld dword [esi + 0xc]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
fld dword [esi + 8]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x68]
fstp dword [esp + 0x58]
fld dword [esi + 0x10]
mov ecx, dword [esp + 0x58]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
fld dword [esi + 0x14]
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
fld dword [ebx + 0x34]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
fld dword [ebx + 0x30]
lea eax, [esp + 0x38]
fstp dword [esp + 0x38]
lea ecx, [esp + 0x24]
fld dword [ebx + 0x38]
mov dword [esp + 0x34], edx
fstp dword [esp + 0x40]
fld dword [ebx + 0x3c]
fstp dword [esp + 0x44]
call fcn.10003a50
fcomp qword [0x100a98a0]
fnstsw ax
test ah, 5
jp 0x10079bd6
push ebx
call fcn.10021900
mov dword [ebp + 0x38], 0
fld dword [esp + 0x24]
sub esp, 0x10
fsub dword [esp + 0x48]
fst qword [esp + 0x84]
fld dword [esp + 0x38]
fsub dword [esp + 0x4c]
fst qword [esp + 0x7c]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x24]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x50]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10078b54
push ebx
call fcn.10021900
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.10021920
lea eax, [esp + 0x18]
push eax
mov ecx, str.Intercept
call fcn.10003700
lea ecx, [esp + 0x18]
lea edi, [ebp + 4]
push ecx
mov ecx, edi
mov dword [esp + 0x144], 1
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x18], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
fld qword [0x100a9848]
fld qword [esp + 0x4c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x10078c7b
fld qword [0x100a9918]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10078c7b
test esi, esi
fstp st(0)
je 0x10078d0e
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10078d0e
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x10], 0
jne 0x10078d0e
call fcn.10023fd0
test eax, eax
jne 0x10078d0e
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push ecx
push eax
call fcn.1007de70
add esp, 8
test eax, eax
je 0x10078d0e
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
jbe 0x10078d0e
mov eax, ebx
call fcn.10056eb0
test eax, eax
jne 0x10078d0e
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10078d0e
test esi, esi
je 0x10078d0c
fld qword [0x100a9950]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10078d0c
fld qword [0x100a98a0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x10078d0c
fld dword [esp + 0x28]
lea eax, [ebp + 0x24]
fld qword [esp + 0x6c]
mov edx, 0x211
fdiv st(2)
mov ecx, 2
mov esi, ebx
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x38], 1
fsubp st(1)
fstp dword [ebp + 0x28]
fld qword [esp + 0x74]
fdivrp st(1)
fsubr dword [esp + 0x24]
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x10078cfe
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
mov dword [ebp + 0x38], 0
jmp 0x10078d0e
cmp eax, 1
jne 0x10078d0e
mov dword [ebp + 0x38], 0
jmp 0x10078d0e
fstp st(0)
lea edx, [esp + 0x18]
push edx
mov ecx, str.HeroicThrow
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 2
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x18], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10078dca
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x10078dca
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x10], 0
jne 0x10078dca
mov eax, edx
call fcn.10023fd0
test eax, eax
jne 0x10078dca
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push ecx
push eax
call fcn.1007de70
add esp, 8
test eax, eax
je 0x10078dca
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 0x72
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
push 9
push edx
mov ecx, ebx
call eax
jmp 0x10079c41
fld qword [0x100a98a0]
fld qword [esp + 0x4c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10078e4a
fld dword [esp + 0x28]
lea eax, [ebp + 0x24]
fld qword [esp + 0x6c]
mov edx, 0x211
fdiv st(2)
mov ecx, 2
mov esi, ebx
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x38], 1
fsubp st(1)
fstp dword [ebp + 0x28]
fld qword [esp + 0x74]
fdivrp st(1)
fsubr dword [esp + 0x24]
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x10078e3c
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
mov dword [ebp + 0x38], 0
jmp 0x10078e4c
cmp eax, 1
jne 0x10078e4c
mov dword [ebp + 0x38], 0
jmp 0x10078e4c
fstp st(0)
push 0x11
call fcn.100579d0
test eax, eax
je 0x10078e81
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 0x10078e81
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x10078e81
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x10078eb6
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 0x10078eb6
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x10078eb6
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x10078edb
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x10078edb
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 0x10078f00
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x10078f00
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 0x10079b2d
fld qword [0x100a98a0]
fld qword [esp + 0x4c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10079b2b
fcomp qword [0x100a98f8]
fnstsw ax
test ah, 5
jp 0x10078f3f
call fcn.10024010
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.EnragedRegeneration
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 3
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
mov eax, ebx
call fcn.10003b60
cmp eax, 0x32
jae 0x10078ff8
test esi, esi
je 0x10078ff8
cmp dword [esi + 0x10], 0
jne 0x10078ff8
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10078ff8
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10078ff8
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xf
jbe 0x10078ff8
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
jmp 0x10079b2d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Pummel
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 4
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100790b8
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x50], 0
je 0x100790b8
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
jbe 0x100790b8
cmp dword [esi + 0x10], 0
jne 0x100790b8
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100790b8
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x100790b8
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.VictoryRush
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 5
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079157
cmp dword [esi + 0x10], 0
jne 0x10079157
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10079157
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x3d0], 0
je 0x10079224
lea edx, [esp + 0x18]
push edx
mov ecx, str.Whirlwind
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 6
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079224
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x10079224
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10079224
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x10079224
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x19
jbe 0x10079224
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ebx]
mov edx, dword [edx + 0x10]
push 9
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x3b0], 0
je 0x1007930c
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Execute
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 7
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1007930c
mov eax, esi
call fcn.1006e760
mov esi, dword [esp + 0x20]
call fcn.1006f5f0
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x10], 0
jne 0x1007930c
call fcn.10023fd0
test eax, eax
jne 0x1007930c
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1007930c
mov eax, dword [esp + 0x20]
call fcn.10003b20
cmp eax, 0x14
jae 0x1007930c
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
jbe 0x1007930c
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Slam
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 8
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100793d2
cmp dword [esi + 0x10], 0
jne 0x100793d2
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100793d2
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x100793d2
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xf
jbe 0x100793d2
mov esi, 0xb744
mov eax, ebx
call fcn.10056f10
test eax, eax
je 0x100793d2
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.RagingBlow
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 9
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079488
cmp dword [esi + 0x10], 0
jne 0x10079488
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10079488
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10079488
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x14
jbe 0x10079488
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push 9
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079b2d
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x3bc], 0
je 0x1007954c
lea edx, [esp + 0x18]
push edx
mov ecx, str.BattleShout
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 0xa
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1007954c
mov ecx, esi
mov esi, dword [ecx]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x1007954c
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
jae 0x1007954c
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x10], 0
jne 0x1007954c
call fcn.10023fd0
test eax, eax
jne 0x1007954c
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1007954c
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 0x72
mov ecx, ebx
call edx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
jmp 0x1007909e
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x3c0], 0
je 0x1007960a
lea edx, [esp + 0x18]
push edx
mov ecx, str.CommandingShout
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 0xb
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1007960a
mov ecx, esi
mov esi, dword [ecx]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x1007960a
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
jbe 0x1007960a
mov eax, ebx
call fcn.10003b60
cmp eax, 0x1e
jbe 0x1007960a
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x10], 0
jne 0x1007960a
call fcn.10023fd0
test eax, eax
jne 0x1007960a
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x10079536
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Bloodthirst
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0xc
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100796a0
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x100796a0
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100796a0
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x100796a0
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x14
ja 0x1007908d
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x3cc], 0
je 0x1007973f
lea edx, [esp + 0x18]
push edx
mov ecx, str.BerserkerRage
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 0xd
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1007973f
cmp dword [esi + 0x10], 0
jne 0x1007973f
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x1007973f
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x1007973f
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x19
jb 0x1007908d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.DeathWish
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0xe
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100797f4
cmp dword [esi + 0x10], 0
jne 0x100797f4
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100797f4
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x100797f4
mov eax, ebp
call fcn.10004640
cmp eax, 1
ja 0x100797e4
mov eax, dword [esp + 0x20]
call fcn.10003b20
cmp eax, 0x4b
jbe 0x100797f4
mov eax, ebx
call fcn.10003b60
cmp eax, 0x3c
jbe 0x100797f4
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xa
ja 0x1007908d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Recklessness
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0xf
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100798a4
mov eax, esi
call fcn.1006e760
mov eax, ebp
call fcn.10004640
cmp eax, 2
jb 0x100798a4
mov eax, dword [esp + 0x20]
call fcn.10003b20
cmp eax, 0x3c
jbe 0x100798a4
mov eax, ebx
call fcn.10003b60
cmp eax, 0x46
jae 0x100798a4
cmp dword [esi + 0x10], 0
jne 0x100798a4
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100798a4
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1007908d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.VictoryRush
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0x10
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079927
cmp dword [esi + 0x10], 0
jne 0x10079927
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10079927
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1007908d
push 0xa
mov eax, ebp
call fcn.10004680
cmp eax, 1
jbe 0x10079a6f
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x3b8], 0
je 0x100799eb
lea edx, [esp + 0x18]
push edx
mov ecx, str.DemoralizingShout
call fcn.10003700
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x144], 0x11
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100799eb
cmp dword [esi + 0x10], 0
jne 0x100799eb
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100799eb
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x100799eb
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov eax, dword [esp + 0x20]
call fcn.1006f6d0
test eax, eax
jne 0x100799eb
mov eax, ebx
call fcn.1002ec30
cmp eax, 0xf
ja 0x10079536
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Cleave
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0x12
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079a6f
cmp dword [esi + 0x10], 0
jne 0x10079a6f
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10079a6f
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x14
ja 0x1007908d
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.HeroicStrike
call fcn.10003700
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0x13
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], 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 + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079b2d
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x10079b2d
call fcn.10023fd0
test eax, eax
jne 0x10079b2d
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x10079b2d
mov eax, ebx
call fcn.1002ec30
cmp eax, 0x2d
jbe 0x10079b2d
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0x72
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1f4
mov dword [ebp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10079b2d
fstp st(0)
fld qword [0x100a98b0]
fcomp qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x10079c41
lea ecx, [esp + 0x1c]
push ecx
mov ecx, str.Attack
call fcn.10003700
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov dword [esp + 0x144], 0x14
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], 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 + 0x1c]
mov dword [esp + 0x140], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10079c41
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x10079c41
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 0x72
mov ecx, ebx
call edx
mov ecx, dword [esi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
push 9
push ecx
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x3c], eax
jmp 0x10079c41
fld dword [esp + 0x5c]
lea eax, [ebp + 0x24]
fld dword [esp + 0x3c]
mov edx, edi
fsubr st(1)
mov ecx, 1
fld qword [esp + 0x4c]
mov esi, ebx
mov dword [ebp + 0x34], edx
fdiv st(1), st(0)
mov dword [ebp + 0x38], 1
fxch st(2)
fsubrp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x58]
fld dword [esp + 0x38]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [eax]
call fcn.10056b10
cmp eax, 2
jne 0x10079c35
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x24]
call fcn.1001b910
mov eax, dword [esp + 0x1c]
call fcn.10004a60
jmp 0x10079c3a
cmp eax, 1
jne 0x10079c41
mov dword [ebp + 0x38], 0
mov eax, 1
mov ecx, dword [esp + 0x138]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4