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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009cbf2
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 0x1006151c
xor eax, eax
mov dword [ebp + 0x90], eax
mov dword [ebp + 0x98], eax
mov dword [ebp + 0x9c], eax
jmp 0x10062a51
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 edi, edi
cmp eax, edi
ja 0x1006157c
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebx + 0xec], edi
mov eax, dword [ebp + 0x14]
add eax, 0x597d0
lea ebx, [esp + 0x40]
mov dword [esp + 0x40], 2
call fcn.1001d970
fld qword [0x100a97d8]
mov dword [eax], edi
fstp qword [ebp + 0x88]
jmp 0x10062a4c
mov eax, ebp
call fcn.100015c0
mov eax, dword [ebp + 0x14]
add eax, 0x59790
cmp dword [eax + 8], edi
mov dword [esp + 0x24], eax
jne 0x100615ac
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebx + 0xec], edi
jmp 0x10062a4c
mov eax, dword [eax + 4]
mov esi, dword [eax]
cmp esi, eax
jne 0x100615ba
call fcn.10080d40
add esi, 8
mov ecx, esi
mov dword [esp + 0x1c], esi
call fcn.1007d1d0
fld dword [esi + 0xc]
fstp dword [esp + 0x74]
neg eax
fld dword [esi + 8]
sbb eax, eax
fstp dword [esp + 0x70]
add eax, 1
fld dword [esi + 0x10]
mov dword [esi + 0x84], eax
fstp dword [esp + 0x78]
lea eax, [esp + 0x5c]
fld dword [esi + 0x14]
lea ecx, [esp + 0x70]
fstp dword [esp + 0x7c]
fld dword [ebx + 0x34]
fstp dword [esp + 0x60]
fld dword [ebx + 0x30]
fstp dword [esp + 0x5c]
fld dword [ebx + 0x38]
fstp dword [esp + 0x64]
fld dword [ebx + 0x3c]
fstp dword [esp + 0x68]
call fcn.10003a50
fst qword [esp + 0x44]
fcomp qword [0x100a9868]
fnstsw ax
test ah, 0x41
jp 0x10061785
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 + 0x38]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10061690
push ebx
call fcn.10021900
fld dword [esp + 0x28]
push ecx
fstp dword [esp]
call fcn.10021920
mov eax, dword [esi + 4]
mov esi, dword [esi]
push eax
push esi
call fcn.10004610
test eax, eax
je 0x1006174d
fld qword [0x100a9908]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x1006174d
lea ecx, [esp + 0x28]
push ecx
mov ecx, str.Fan_of_Knives
call fcn.10003700
lea edx, [esp + 0x28]
push edx
lea ecx, [ebp + 4]
mov dword [esp + 0xc4], edi
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, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x28]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x10061785
cmp dword [edi + 0x10], 0
jne 0x10061785
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x10061785
fld dword [esp + 0x64]
mov cx, word [edi]
sub esp, 0xc
fstp dword [esp + 8]
mov eax, ebx
fld dword [esp + 0x68]
fstp dword [esp + 4]
fld dword [esp + 0x6c]
fstp dword [esp]
call fcn.1005af30
jmp 0x10062a43
mov edi, dword [esp + 0x1c]
call fcn.10055280
test eax, eax
jne 0x10061785
mov esi, edi
mov eax, esi
call fcn.10003b20
cmp eax, 0x64
jne 0x10062a4c
mov eax, dword [ebp + 0x14]
push eax
mov eax, esi
call fcn.1001b910
mov eax, dword [esp + 0x24]
call fcn.10004a60
jmp 0x10062a4c
call fcn.1007e120
test eax, eax
je 0x100617bb
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.10003ac0
test eax, eax
jne 0x100617bb
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, esi
call fcn.1001b910
mov eax, dword [esp + 0x24]
call fcn.10004a60
call fcn.1007ec20
test eax, eax
mov edx, 1
je 0x100617d9
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
add dword [ebp + 0x94], edx
cmp dword [ebp + 0x94], edx
jle 0x100617f0
call fcn.10024010
mov dword [ebp + 0x94], 0
lea edx, [esp + 0x2c]
push edx
mov ecx, str.Gouge
call fcn.10003700
lea eax, [esp + 0x2c]
lea edi, [ebp + 4]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 1
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, ebp
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x40], eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10061865
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, str.CheapShot
call fcn.10003700
lea edx, [esp + 0x30]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 2
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, ebp
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x20], 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 0x100618d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, str.KidneyShot
call fcn.10003700
lea edx, [esp + 0x28]
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, ebp
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x38], eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10061949
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.Backstab
call fcn.10003700
lea edx, [esp + 0x34]
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 + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x18], 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 0x100619bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 0x6c]
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebp
mov dword [esi], eax
call fcn.10001420
cmp dword [esp + 0x18], 0
mov dword [esp + 0x3c], eax
je 0x10061a01
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x64
jne 0x10061a08
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
jne 0x10061a08
mov dword [ebp + 0x68], 0
cmp dword [esp + 0x18], 0
je 0x10061a25
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10061a25
mov dword [ebp + 0x68], 1
cmp dword [ebp + 0x68], 0
je 0x10061a69
cmp dword [esp + 0x20], 0
je 0x10061a45
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov eax, dword [esp + 0x1c]
call fcn.1006f6d0
test eax, eax
jne 0x10061a5f
cmp dword [esp + 0x38], 0
je 0x10061a69
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx]
mov eax, dword [esp + 0x1c]
call fcn.1006f6d0
test eax, eax
je 0x10061a69
mov dword [esp + 0x28], 1
jmp 0x10061a71
mov dword [esp + 0x28], 0
cmp dword [esp + 0x28], 0
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], 0x211
jne 0x10061cbc
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.10003ac0
fld qword [0x100a98a0]
test eax, eax
jne 0x10061b07
fld qword [esp + 0x44]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
je 0x10061ad9
cmp dword [esp + 0x3c], 0
je 0x10061ad9
mov edx, dword [esp + 0x3c]
fstp st(0)
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x10061c86
fld qword [esp + 0x44]
fld dword [esp + 0x74]
mov dword [ebp + 0x34], 0x211
fld dword [esp + 0x60]
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x5c]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
jmp 0x10061c86
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jp 0x10061c86
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x70]
push eax
push ecx
mov eax, esi
call fcn.10038030
test eax, eax
je 0x10061b70
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebp + 0x70], ecx
mov dword [ebp + 0x74], eax
fld dword [esi + 0xc]
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [esi + 8]
fstp dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
fld dword [esi + 0x10]
mov dword [ebp + 0x78], edx
mov edx, dword [esp + 0x58]
fstp dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], ecx
mov dword [ebp + 0x84], edx
jmp 0x10061c86
fld qword [ebp + 0x88]
fld qword [esp + 0x44]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
je 0x10061bbd
fstp st(0)
lea eax, [ebp + 0x78]
fld dword [esi + 0xc]
lea ecx, [esp + 0x4c]
fstp dword [esp + 0x50]
fld dword [esi + 8]
fstp dword [esp + 0x4c]
fld dword [esi + 0x10]
fstp dword [esp + 0x54]
call fcn.10003a50
fcomp qword [0x100a97b0]
fnstsw ax
test ah, 5
jp 0x10061c7c
fld qword [esp + 0x44]
fld dword [esp + 0x74]
mov dword [ebp + 0x34], 0x211
fld dword [esp + 0x60]
fsubr st(1)
fdiv st(2)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x70]
fld dword [esp + 0x5c]
fsubr st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebp + 0x24]
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
push ecx
push eax
mov eax, ebx
call fcn.10003b80
test eax, eax
je 0x10061c45
mov eax, esi
call fcn.10003b20
cmp eax, 0x32
jb 0x10061c3e
cmp eax, 0x64
jne 0x10061c45
call fcn.1006f790
test eax, eax
jne 0x10061c45
fld dword [0x100a9970]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x88]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
je 0x10061c45
mov dword [ebp + 0x34], 0x221
fld dword [esi + 0xc]
fstp dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
fld dword [esi + 8]
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
fld dword [esi + 0x10]
mov dword [ebp + 0x78], eax
mov eax, dword [esp + 0x58]
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
mov dword [ebp + 0x7c], ecx
mov dword [ebp + 0x80], edx
mov dword [ebp + 0x84], eax
fld qword [esp + 0x44]
fstp qword [ebp + 0x88]
mov edx, dword [ebp + 0x34]
mov ecx, 1
lea eax, [ebp + 0x24]
mov esi, ebx
call fcn.10056b10
cmp eax, 2
jne 0x10061d81
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
call fcn.1001b910
mov eax, dword [esp + 0x24]
call fcn.10004a60
jmp 0x10061d81
fld qword [0x100a98a0]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jnp 0x10061cde
lea esi, [esp + 0x70]
lea eax, [esp + 0x5c]
call fcn.10067d60
test eax, eax
jne 0x10061d2d
fld dword [esp + 0x7c]
call fcn.10094310
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x74]
fld dword [esp + 0x3c]
fadd st(0), st(0)
fsubp st(1)
fstp dword [ebp + 0x28]
fld dword [esp + 0x7c]
call fcn.10094440
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
mov dword [ebp + 0x34], 0x111
fstp dword [esp + 0x3c]
fld dword [esp + 0x70]
fld dword [esp + 0x3c]
fadd st(0), st(0)
fsubp st(1)
fstp dword [ebp + 0x24]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [esp + 0x3c], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, 0x28a
jae 0x10061d7b
jmp 0x10061d50
mov edx, dword [ebp + 0x34]
mov ecx, 1
lea eax, [ebp + 0x24]
mov esi, ebx
call fcn.10056b10
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x3c]
cmp eax, 0x28a
jb 0x10061d50
push ebx
call fcn.10021900
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebx + 0x2c]
jne 0x10061dac
cmp ecx, dword [ebx + 0x28]
jne 0x10061dac
fld qword [0x100a98a0]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x10061dac
push ebx
call fcn.10021900
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 + 0x4c]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10061e0f
mov ecx, dword [0x100bb2cc]
fld dword [esp + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
push ecx
fstp dword [esp]
call eax
push 0x11
call fcn.100579d0
test eax, eax
je 0x10061e44
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 0x10061e44
mov edx, dword [ebx]
mov eax, dword [edx + 0x4c]
mov ecx, ebx
call eax
test eax, eax
jle 0x10061e44
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x10061e79
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 0x10061e79
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
test eax, eax
jle 0x10061e79
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
mov ecx, ebx
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x10061e9e
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebx
call eax
test eax, eax
jle 0x10061e9e
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 0x10061ec3
mov edx, dword [ebx]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebx
call eax
test eax, eax
jle 0x10061ec3
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebx
call eax
fld qword [0x100a98b0]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x10062a4c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x3c]
cmp eax, 0x3e8
jbe 0x10062a4c
lea ecx, [esp + 0x3c]
push ecx
mov ecx, str.Recuperate
call fcn.10003700
lea edx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10061f80
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x10061f80
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x10061f80
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x1e
jl 0x10061f80
mov eax, ebx
call fcn.10003b60
cmp eax, 0x50
jb 0x100628f9
lea eax, [esp + 0x3c]
push eax
mov ecx, str.AdrenalineRush
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062008
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062008
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10062008
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0xa
jl 0x100628f9
mov eax, dword [esp + 0x1c]
call fcn.10003ac0
test eax, eax
jne 0x100620d0
fld dword [0x100a97c8]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x88]
fstp dword [esp + 4]
fld dword [esp + 0x74]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
je 0x100620d0
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Backstab
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100620d0
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x100620d0
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x100620d0
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x23
jg 0x100628f9
mov eax, ebp
call fcn.10004640
cmp eax, 2
jne 0x100620ea
mov eax, dword [esp + 0x1c]
call fcn.10003b20
cmp eax, 0x1e
ja 0x100620fa
mov eax, ebp
call fcn.10004640
cmp eax, 2
jbe 0x10062199
lea eax, [esp + 0x3c]
push eax
mov ecx, str.BladeFlurry
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062199
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062199
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10062199
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ebx]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x90], 1
jmp 0x10062a49
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Riposte
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 + 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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062213
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062213
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x100628f9
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x50], 0
jne 0x10062227
cmp dword [eax + 0x54], 0
je 0x10062329
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Kick
call fcn.10003700
lea ecx, [esp + 0x3c]
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 esi, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100622a1
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x100622a1
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x100628f9
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Gouge
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062329
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062329
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10062329
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x2d
jg 0x100628f9
lea eax, [esp + 0x3c]
push eax
mov ecx, str.SliceandDice
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100623ee
mov eax, esi
call fcn.1006e760
mov eax, dword [esp + 0x1c]
call fcn.10003b20
cmp eax, 0x23
jbe 0x100623ee
mov ecx, ebx
call fcn.10060430
test eax, eax
jle 0x100623ee
mov ecx, ebx
call fcn.10060430
cmp eax, 4
jge 0x100623ee
mov edx, esi
mov esi, dword [edx]
mov eax, ebx
call fcn.10056f10
test eax, eax
jne 0x100623ee
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x10], 0
jne 0x100623ee
mov ecx, eax
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
je 0x100623ee
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x19
jg 0x100628f9
mov eax, dword [esp + 0x1c]
call fcn.10003b20
cmp eax, 0x23
jb 0x1006240c
mov ecx, ebx
call fcn.10060430
cmp eax, 4
jne 0x10062494
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Eviscerate
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062494
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062494
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10062494
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x23
jg 0x100628f9
mov eax, dword [esp + 0x1c]
call fcn.10003b20
cmp eax, 0x2d
jbe 0x10062569
mov ecx, ebx
call fcn.10060430
cmp eax, 3
jle 0x10062569
cmp dword [esp + 0x20], 0
je 0x100624d4
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov eax, dword [esp + 0x1c]
call fcn.1006f6d0
test eax, eax
jne 0x10062569
cmp dword [ebp + 0x90], 0
jne 0x10062569
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
cmp eax, 0x19
jle 0x10062569
lea ecx, [esp + 0x3c]
push ecx
mov ecx, str.KidneyShot
call fcn.10003700
lea edx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062569
mov eax, esi
cmp dword [eax + 0x10], 0
jne 0x10062569
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
jne 0x100628f9
mov eax, ebx
call fcn.10003b60
cmp eax, 0x23
jae 0x1006260d
mov eax, ebp
call fcn.10004640
cmp eax, 1
ja 0x10062593
mov eax, dword [esp + 0x1c]
call fcn.10003b20
cmp eax, 0x32
jbe 0x1006260d
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Evasion
call fcn.10003700
lea ecx, [esp + 0x3c]
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1006260d
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x1006260d
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x100628f9
mov esi, dword [ebp + 0x14]
mov eax, ebx
call fcn.10003b60
cmp eax, dword [esi + 0x51c]
jae 0x100626fb
mov eax, ebp
call fcn.10004640
cmp eax, dword [esi + 0x524]
ja 0x1006264a
mov eax, dword [esp + 0x1c]
call fcn.10003b20
mov ecx, dword [ebp + 0x14]
cmp eax, dword [ecx + 0x520]
jbe 0x100626fb
lea edx, [esp + 0x3c]
push edx
mov ecx, str.Vanish
call fcn.10003700
lea eax, [esp + 0x3c]
push eax
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100626fb
mov ecx, esi
cmp dword [ecx + 0x10], 0
jne 0x100626fb
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100626fb
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ebx]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebx
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebp + 0x14]
add ebx, 0x59790
mov dword [ebp + 0x3c], eax
call fcn.1001d830
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10062a4c
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Killing_Spree
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10062781
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x10062781
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10062781
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x274], 0
jne 0x100628f9
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Fan_of_Knives
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1006282e
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x1006282e
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x1006282e
mov esi, dword [ebp + 0x14]
cmp dword [esi + 0x278], 0
je 0x1006282e
mov eax, ebp
call fcn.10004640
cmp eax, dword [esi + 0x280]
jb 0x1006282e
mov eax, ebx
call fcn.10003b60
mov ecx, dword [ebp + 0x14]
cmp eax, dword [ecx + 0x27c]
jb 0x1006282e
cmp dword [ebx + 0x50], 0x32
ja 0x100628f9
cmp dword [esp + 0x28], 0
je 0x10062912
fld dword [0x100a97c8]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x88]
fstp dword [esp + 4]
fld dword [esp + 0x74]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
je 0x100629ab
lea eax, [esp + 0x3c]
push eax
mov ecx, str.Backstab
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100629ab
mov edx, esi
cmp dword [edx + 0x10], 0
jne 0x100629ab
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x100629ab
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x100629ab
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ebx]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebx
call edx
jmp 0x10062a43
lea eax, [esp + 0x3c]
push eax
mov ecx, str.SinisterStrike
call fcn.10003700
lea ecx, [esp + 0x3c]
push ecx
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 esi, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100629ab
mov eax, esi
call fcn.1006e760
cmp dword [esi + 0x10], 0
jne 0x100629ab
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100629ab
mov ecx, ebx
call fcn.10060430
cmp eax, 5
je 0x100629ab
mov eax, dword [ebx]
mov edx, dword [eax + 0x7c]
mov ecx, ebx
call edx
cmp eax, 0x2d
jg 0x100628f9
lea eax, [esp + 0x38]
push eax
mov ecx, str.Attack
call fcn.10003700
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x15
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, ebp
mov dword [esi], eax
call fcn.10001420
mov edi, eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x10062a4c
mov eax, edi
call fcn.10023fd0
test eax, eax
jne 0x10062a4c
cmp dword [esp + 0x40], eax
je 0x10062a2c
mov edx, dword [esp + 0x40]
mov esi, dword [edx]
mov eax, dword [esp + 0x1c]
call fcn.1006f6d0
test eax, eax
jne 0x10062a4c
mov eax, edi
call fcn.1002ebf0
test eax, eax
jne 0x10062a4c
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
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