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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x1009cadc
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 0x10063e12
xor eax, eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x78], eax
jmp 0x100656b2
mov ebp, dword [eax + 0x5975c]
push eax
call fcn.1001ad10
push ebx
call fcn.10003bc0
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x59798]
xor edi, edi
cmp eax, edi
ja 0x10063e67
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp + 0xec], edi
mov ebx, dword [ebx + 0x14]
lea eax, [ebx + 0x597d0]
lea ebx, [esp + 0x4c]
mov dword [esp + 0x4c], 2
call fcn.1001d970
mov dword [eax], edi
jmp 0x100656ad
mov eax, ebx
call fcn.100015c0
mov esi, dword [ebx + 0x14]
add esi, 0x59790
cmp dword [esi + 8], edi
mov dword [esp + 0x50], esi
jne 0x10063e98
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp + 0xec], edi
jmp 0x100656ad
mov eax, dword [esi + 4]
mov edi, dword [eax]
cmp edi, eax
jne 0x10063ea6
call fcn.10080d40
add edi, 8
mov ecx, edi
mov dword [esp + 0x30], edi
call fcn.1007d1d0
fld dword [edi + 0xc]
fstp dword [esp + 0x60]
neg eax
fld dword [edi + 8]
sbb eax, eax
fstp dword [esp + 0x5c]
add eax, 1
fld dword [edi + 0x10]
mov dword [edi + 0x84], eax
fstp dword [esp + 0x64]
lea eax, [esp + 0x70]
fld dword [edi + 0x14]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x68]
fld dword [ebp + 0x34]
fstp dword [esp + 0x74]
fld dword [ebp + 0x30]
fstp dword [esp + 0x70]
fld dword [ebp + 0x38]
fstp dword [esp + 0x78]
fld dword [ebp + 0x3c]
fstp dword [esp + 0x7c]
call fcn.10003a50
fst qword [esp + 0x54]
fcomp qword [0x100a9868]
fnstsw ax
test ah, 0x41
jp 0x10063fac
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x80]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x84]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x48]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x88]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x10063f7c
fld dword [esp + 0x38]
push ecx
fstp dword [esp]
call fcn.10021920
call fcn.10055280
test eax, eax
jne 0x10063fac
mov eax, edi
call fcn.10003b20
cmp eax, 0x64
jne 0x100656ad
mov ecx, dword [ebx + 0x14]
push ecx
mov eax, edi
call fcn.1001b910
mov eax, esi
call fcn.10004a60
jmp 0x100656ad
lea edx, [esp + 0x3c]
push edx
mov ecx, str.Gouge
call fcn.10003700
lea eax, [esp + 0x3c]
lea edi, [ebx + 4]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x50], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x4c], eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10064021
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, str.CheapShot
call fcn.10003700
lea edx, [esp + 0x40]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 1
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x4c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x34], eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10064093
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, str.KidneyShot
call fcn.10003700
lea edx, [esp + 0x38]
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 + 0x4c], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov dword [esp + 0x48], eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10064105
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, str.Backstab
call fcn.10003700
lea edx, [esp + 0x44]
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 + 0x30], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov esi, eax
mov dword [esp + 0xc0], 0xffffffff
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10064179
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x1006419b
mov edx, dword [ebp]
mov eax, dword [edx + 0x7c]
mov ecx, ebp
call eax
cmp eax, 0x64
jne 0x100641a2
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
jne 0x100641a2
mov dword [ebx + 0x68], 0
cmp dword [esp + 0x2c], 0
je 0x100641bf
mov edx, dword [esp + 0x2c]
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100641bf
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x68], 0
je 0x10064203
cmp dword [esp + 0x34], 0
je 0x100641df
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, dword [esp + 0x30]
call fcn.1006f6d0
test eax, eax
jne 0x100641f9
cmp dword [esp + 0x48], 0
je 0x10064203
mov ecx, dword [esp + 0x48]
mov esi, dword [ecx]
mov eax, dword [esp + 0x30]
call fcn.1006f6d0
test eax, eax
je 0x10064203
mov dword [esp + 0x38], 1
jmp 0x1006420b
mov dword [esp + 0x38], 0
fld qword [0x100a9848]
fld qword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1006437b
mov eax, ebp
fstp st(0)
call fcn.10056eb0
test eax, eax
jne 0x10064377
lea edx, [esp + 0x48]
push edx
mov ecx, str.Stealth
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 4
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x48], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064377
mov ecx, esi
mov esi, dword [ecx]
mov eax, ebp
call fcn.10056f10
test eax, eax
jne 0x100642c7
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0x18]
push ecx
mov ecx, ebp
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
mov eax, ebp
call fcn.10056f10
test eax, eax
je 0x10064377
lea edx, [esp + 0x48]
push edx
mov ecx, str.Distract
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 5
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x48], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064377
mov ecx, esi
cmp dword [ecx + 0x10], 0
jne 0x10064377
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10064377
mov eax, dword [esp + 0x2c]
call fcn.10023fd0
test eax, eax
jne 0x10064377
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push eax
call fcn.10062d40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
fld qword [esp + 0x54]
cmp dword [esp + 0x38], 0
fld dword [ebp + 0x34]
fstp dword [ebx + 0x28]
mov ecx, 0x211
fld dword [ebp + 0x30]
fstp dword [ebx + 0x24]
fld dword [ebp + 0x38]
fstp dword [ebx + 0x2c]
mov dword [ebx + 0x34], ecx
jne 0x10064485
fld qword [0x100a98a0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1006444d
fld dword [esp + 0x60]
mov esi, dword [esp + 0x30]
fld dword [esp + 0x74]
mov dword [ebx + 0x34], ecx
fsubr st(1)
fld qword [0x100a9840]
fmul st(1), st(0)
fxch st(1)
fdiv st(3)
fsubp st(2)
fxch st(1)
fstp dword [ebx + 0x28]
fld dword [esp + 0x5c]
fld dword [esp + 0x70]
fsubr st(1)
fmulp st(2)
fxch st(1)
fdivrp st(2)
fsubrp st(1)
fstp dword [ebx + 0x24]
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
push ecx
push eax
mov eax, ebp
call fcn.10003b80
test eax, eax
je 0x1006444f
mov eax, esi
call fcn.10003b20
cmp eax, 0x32
jb 0x10064444
cmp eax, 0x64
jne 0x1006444f
call fcn.1006f790
test eax, eax
jne 0x1006444f
fld dword [0x100a9970]
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 0x1006444f
mov dword [ebx + 0x34], 0x221
jmp 0x1006444f
fstp st(0)
mov edx, dword [ebx + 0x34]
mov ecx, 2
lea eax, [ebx + 0x24]
mov esi, ebp
call fcn.10056b10
cmp eax, 2
jne 0x10064541
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [esp + 0x34]
call fcn.1001b910
mov eax, dword [esp + 0x50]
call fcn.10004a60
jmp 0x10064541
fcomp qword [0x100a98a0]
fnstsw ax
test ah, 1
je 0x100644a3
lea esi, [esp + 0x5c]
lea eax, [esp + 0x70]
call fcn.10067d60
test eax, eax
jne 0x100644f2
fld dword [esp + 0x68]
call fcn.10094310
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp + 0x50]
fld dword [esp + 0x60]
fld dword [esp + 0x50]
fadd st(0), st(0)
fsubp st(1)
fstp dword [ebx + 0x28]
fld dword [esp + 0x68]
call fcn.10094440
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
mov dword [ebx + 0x34], 0x111
fstp dword [esp + 0x50]
fld dword [esp + 0x5c]
fld dword [esp + 0x50]
fadd st(0), st(0)
fsubp st(1)
fstp dword [ebx + 0x24]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [esp + 0x50], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, 0x28a
jae 0x1006453b
lea ecx, [ecx]
mov edx, dword [ebx + 0x34]
mov ecx, 1
lea eax, [ebx + 0x24]
mov esi, ebp
call fcn.10056b10
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x50]
cmp eax, 0x28a
jb 0x10064510
push ebp
call fcn.10021900
call fcn.1007ec20
test eax, eax
je 0x10064558
mov al, 0
mov ecx, dword [0x100bb500]
mov byte [ecx], al
add dword [ebx + 0x70], 1
cmp dword [ebx + 0x70], 1
jle 0x1006456a
call fcn.10024010
mov dword [ebx + 0x70], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp + 0x2c]
jne 0x10064595
cmp ecx, dword [ebp + 0x28]
jne 0x10064595
fld qword [0x100a98a0]
fcomp qword [esp + 0x54]
fnstsw ax
test ah, 0x41
jne 0x10064595
push ebp
call fcn.10021900
fld dword [esp + 0x5c]
sub esp, 0x10
fsub dword [esp + 0x80]
fstp qword [esp + 8]
fld dword [esp + 0x70]
fsub dword [esp + 0x84]
fstp qword [esp]
call fcn.1006ddc0
fstp dword [esp + 0x58]
add esp, 4
fld dword [0x100a982c]
fstp dword [esp + 8]
fld dword [esp + 0x88]
fstp dword [esp + 4]
fld dword [esp + 0x54]
fstp dword [esp]
call fcn.100218b0
add esp, 0xc
test eax, eax
jne 0x100645fc
push ebp
call fcn.10021900
fld dword [esp + 0x48]
push ecx
fstp dword [esp]
call fcn.10021920
push 0x11
call fcn.100579d0
test eax, eax
je 0x10064634
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 0x10064634
mov edx, dword [ebp]
mov eax, dword [edx + 0x4c]
mov ecx, ebp
call eax
test eax, eax
jle 0x10064634
mov edx, dword [ebp]
mov eax, dword [edx + 0x58]
mov ecx, ebp
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x1006466c
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 0x1006466c
mov edx, dword [ebp]
mov eax, dword [edx + 0x50]
mov ecx, ebp
call eax
test eax, eax
jle 0x1006466c
mov edx, dword [ebp]
mov eax, dword [edx + 0x5c]
mov ecx, ebp
call eax
push 0x19
call fcn.100579d0
test eax, eax
je 0x100646ab
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
push 0x19
mov ecx, ebp
call eax
test eax, eax
jle 0x100646ab
mov eax, ebp
call fcn.10003b60
cmp eax, 0x50
ja 0x100646ab
mov ecx, dword [ebx + 0x14]
cmp dword [ecx + 0x597c4], 2
jne 0x100646ab
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 0x100646ea
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
push 0x1a
mov ecx, ebp
call eax
test eax, eax
jle 0x100646ea
mov eax, ebp
call fcn.10003b60
cmp eax, 0x50
ja 0x100646ea
mov ecx, dword [ebx + 0x14]
cmp dword [ecx + 0x597c4], 2
jne 0x100646ea
mov edx, dword [ebp]
mov eax, dword [edx + 0x64]
push 0x1a
mov ecx, ebp
call eax
fld qword [0x100a98b0]
fcomp qword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x100656ad
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x3c]
cmp eax, 0x1f4
jbe 0x100656ad
lea ecx, [esp + 0x48]
push ecx
mov ecx, str.Stealth
call fcn.10003700
lea edx, [esp + 0x48]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 6
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064a54
mov esi, dword [esi]
mov eax, ebp
call fcn.10056f10
test eax, eax
je 0x10064a54
lea eax, [esp + 0x48]
push eax
mov ecx, str.CheapShot
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov ebp, eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test ebp, ebp
je 0x10064814
cmp dword [ebp + 0x10], 0
jne 0x10064814
mov esi, dword [ebp]
call fcn.1007e040
test eax, eax
je 0x10064814
mov eax, ebp
call fcn.10023fd0
test eax, eax
jne 0x10064814
mov edx, dword [ebp]
mov ebp, dword [ebp + 4]
push ebp
call fcn.10062d40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
lea edx, [esp + 0x48]
push edx
mov ecx, str.Garrote
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 8
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov ebp, eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test ebp, ebp
je 0x1006489f
cmp dword [ebp + 0x10], 0
jne 0x1006489f
mov esi, dword [ebp]
call fcn.1007e040
test eax, eax
je 0x1006489f
mov eax, ebp
call fcn.10023fd0
test eax, eax
jne 0x1006489f
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
push ecx
call fcn.10062d40
jmp 0x100656a4
fld dword [0x100a97c8]
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 0x100649ca
lea edx, [esp + 0x48]
push edx
mov ecx, str.Ambush
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 9
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov ebp, eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test ebp, ebp
je 0x1006494c
cmp dword [ebp + 0x10], 0
jne 0x1006494c
mov eax, ebp
call fcn.10023fd0
test eax, eax
jne 0x1006494c
mov esi, dword [ebp]
call fcn.1007e040
test eax, eax
jne 0x1006488e
lea edx, [esp + 0x48]
push edx
mov ecx, str.Backstab
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0xa
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.10001420
mov ebp, eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test ebp, ebp
je 0x100649ca
cmp dword [ebp + 0x10], 0
jne 0x100649ca
mov eax, ebp
call fcn.10023fd0
test eax, eax
jne 0x100649ca
mov esi, dword [ebp]
call fcn.1007e040
test eax, eax
jne 0x1006488e
lea edx, [esp + 0x48]
push edx
mov ecx, str.SinisterStrike
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0xb
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x100656ad
cmp dword [edi + 0x10], 0
jne 0x100656ad
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x100656ad
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push ecx
call fcn.10062d40
jmp 0x100656a4
mov eax, ebp
call fcn.10003b60
cmp eax, 0x32
ja 0x10064ad8
lea edx, [esp + 0x48]
push edx
mov ecx, str.Adrenaline_Rush
call fcn.10003700
lea eax, [esp + 0x48]
push eax
mov ecx, edi
mov dword [esp + 0xc4], 0xc
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064ad8
cmp dword [esi + 0x10], 0
jne 0x10064ad8
mov ecx, esi
mov esi, dword [ecx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
mov eax, ebx
call fcn.10004640
cmp eax, 2
jae 0x10064af0
mov eax, ebp
call fcn.10003b60
cmp eax, 0x1e
ja 0x10064b68
lea eax, [esp + 0x48]
push eax
mov ecx, str.Evasion
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064b68
cmp dword [esi + 0x10], 0
jne 0x10064b68
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
mov eax, ebp
call fcn.10003b60
cmp eax, 0xa
ja 0x10064ca5
lea eax, [esp + 0x48]
push eax
mov ecx, str.Blind
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0xe
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064ca5
cmp dword [esi + 0x10], 0
jne 0x10064ca5
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10064ca5
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
call fcn.10016700
test eax, eax
je 0x10064c24
call fcn.1005f0e0
push 0x11
call fcn.100579d0
test eax, eax
je 0x10064c5c
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 0x10064c5c
mov edx, dword [ebp]
mov eax, dword [edx + 0x4c]
mov ecx, ebp
call eax
test eax, eax
jle 0x10064c5c
mov edx, dword [ebp]
mov eax, dword [edx + 0x58]
mov ecx, ebp
call eax
push 0x12
call fcn.100579d0
test eax, eax
je 0x100656ad
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebp]
mov eax, dword [edx + 0x3c]
add ebx, 0xc
push ebx
mov ecx, ebp
call eax
test eax, eax
je 0x100656ad
mov edx, dword [ebp]
mov eax, dword [edx + 0x50]
mov ecx, ebp
call eax
test eax, eax
jle 0x100656ad
mov edx, dword [ebp]
mov eax, dword [edx + 0x5c]
mov ecx, ebp
call eax
jmp 0x100656ad
mov eax, ebp
call fcn.10003b60
cmp eax, 5
ja 0x10064d77
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x14
jb 0x10064d77
lea ecx, [esp + 0x48]
push ecx
mov ecx, str.Vanish
call fcn.10003700
lea edx, [esp + 0x48]
push edx
mov ecx, edi
mov dword [esp + 0xc4], 0xf
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064d77
cmp dword [esi + 0x10], 0
jne 0x10064d77
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
je 0x10064d77
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x3c], eax
mov ebx, dword [ebx + 0x14]
add ebx, 0x59790
call fcn.1001d830
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100656ad
mov eax, ebx
call fcn.10004640
cmp eax, 2
jb 0x10064e22
lea eax, [esp + 0x48]
push eax
mov ecx, str.BladeFlurry
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x10
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064e22
cmp dword [esi + 0x10], 0
jne 0x10064e22
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10064e22
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x6c], 1
jmp 0x100656aa
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x50], 0
jne 0x10064e36
cmp dword [eax + 0x54], 0
je 0x10064f26
lea eax, [esp + 0x48]
push eax
mov ecx, str.Kick
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064eae
cmp dword [esi + 0x10], 0
jne 0x10064eae
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
lea eax, [esp + 0x48]
push eax
mov ecx, str.Gouge
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10064f26
cmp dword [esi + 0x10], 0
jne 0x10064f26
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x23
jb 0x10065004
mov ecx, ebp
call fcn.10060430
cmp eax, 1
jne 0x10065004
cmp dword [ebx + 0x84], 0
jne 0x10065004
lea eax, [esp + 0x48]
push eax
mov ecx, str.Rupture
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10065004
cmp dword [esi + 0x10], 0
jne 0x10065004
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10065004
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebp
call fcn.10056f10
test eax, eax
jne 0x10065004
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x84], 1
jmp 0x100656aa
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x23
jb 0x100650dc
mov ecx, ebp
call fcn.10060430
cmp eax, 2
jne 0x100650dc
cmp dword [ebx + 0x7c], 0
jne 0x100650dc
lea eax, [esp + 0x48]
push eax
mov ecx, str.SliceandDice
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100650dc
cmp dword [esi + 0x10], 0
jne 0x100650dc
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100650dc
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebp
call fcn.10056f10
test eax, eax
jne 0x100650dc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x7c], 1
jmp 0x100656aa
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x23
jb 0x100651ba
mov ecx, ebp
call fcn.10060430
cmp eax, 5
jne 0x100651ba
cmp dword [ebx + 0x80], 0
jne 0x100651ba
lea eax, [esp + 0x48]
push eax
mov ecx, str.Expose_Armor
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100651ba
cmp dword [esi + 0x10], 0
jne 0x100651ba
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100651ba
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, ebp
call fcn.10056f10
test eax, eax
jne 0x100651ba
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x80], 1
jmp 0x100656aa
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0xf
jb 0x10065250
mov ecx, ebp
call fcn.10060430
cmp eax, 4
jl 0x10065250
lea eax, [esp + 0x48]
push eax
mov ecx, str.Eviscerate
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x16
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10065250
cmp dword [esi + 0x10], 0
jne 0x10065250
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
mov eax, dword [esp + 0x30]
call fcn.10003b20
cmp eax, 0x32
ja 0x10065304
mov ecx, ebp
call fcn.10060430
cmp eax, 2
jl 0x10065304
cmp dword [esp + 0x34], 0
je 0x1006528c
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
mov eax, dword [esp + 0x30]
call fcn.1006f6d0
test eax, eax
jne 0x10065304
lea ecx, [esp + 0x48]
push ecx
mov ecx, str.KidneyShot
call fcn.10003700
lea edx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10065304
cmp dword [esi + 0x10], 0
jne 0x10065304
mov eax, esi
mov esi, dword [eax]
call fcn.1007e040
test eax, eax
jne 0x1006556e
lea eax, [esp + 0x48]
push eax
mov ecx, str.Riposte
call fcn.10003700
lea ecx, [esp + 0x48]
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 + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1006537c
cmp dword [esi + 0x10], 0
jne 0x1006537c
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
jne 0x1006556e
lea eax, [esp + 0x48]
push eax
mov ecx, str.Killing_Spree
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x19
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x10065400
cmp dword [esi + 0x10], 0
jne 0x10065400
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x10065400
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0x274], 0
jne 0x1006556e
lea eax, [esp + 0x48]
push eax
mov ecx, str.Fan_of_Knives
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x1a
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x100654a5
cmp dword [esi + 0x10], 0
jne 0x100654a5
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x100654a5
mov esi, dword [ebx + 0x14]
cmp dword [esi + 0x278], 0
je 0x100654a5
mov eax, ebx
call fcn.10004640
cmp eax, dword [esi + 0x280]
jb 0x100654a5
mov eax, ebp
call fcn.10003b60
mov ecx, dword [ebx + 0x14]
cmp eax, dword [ecx + 0x27c]
jae 0x1006556e
cmp dword [esp + 0x38], 0
je 0x10065588
fld dword [0x100a97c8]
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 0x1006560b
lea eax, [esp + 0x48]
push eax
mov ecx, str.Backstab
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x1b
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1006560b
cmp dword [esi + 0x10], 0
jne 0x1006560b
mov eax, esi
call fcn.10023fd0
test eax, eax
jne 0x1006560b
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1006560b
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x18]
push ecx
push eax
mov ecx, ebp
call edx
jmp 0x100656a4
lea eax, [esp + 0x48]
push eax
mov ecx, str.SinisterStrike
call fcn.10003700
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0xc4], 0x1c
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x54], 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 + 0x48]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test esi, esi
je 0x1006560b
cmp dword [esi + 0x10], 0
jne 0x1006560b
mov edx, esi
mov esi, dword [edx]
call fcn.1007e040
test eax, eax
je 0x1006560b
mov ecx, ebp
call fcn.10060430
cmp eax, 5
jmp 0x10065568
lea eax, [esp + 0x34]
push eax
mov ecx, str.Attack
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 + 0x54], 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 + 0x34]
mov dword [esp + 0xc0], 0xffffffff
call fcn.10001660
test edi, edi
je 0x100656ad
mov eax, edi
call fcn.10023fd0
test eax, eax
jne 0x100656ad
cmp dword [esp + 0x4c], eax
je 0x1006568c
mov edx, dword [esp + 0x4c]
mov esi, dword [edx]
mov eax, dword [esp + 0x30]
call fcn.1006f6d0
test eax, eax
jne 0x100656ad
mov eax, edi
call fcn.1002ebf0
test eax, eax
jne 0x100656ad
mov ecx, dword [edi]
mov eax, dword [ebp]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebp
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 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