Function at 0x100afe10
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100efadd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x10114008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1011a244]
mov esi, dword [ebx + 8]
mov dword [ebp - 0xbc], eax
mov eax, dword [0x10118020]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x100b137f
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10117f54]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x10117ff0]
cmp eax, dword [edi + 4]
jle 0x100afed9
push 0x10117ff0
call fcn.100e3eef
add esp, 4
cmp dword [0x10117ff0], 0xffffffff
jne 0x100afed9
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.100e2fc0
push 0x10117ff0
mov dword [0x10117fb0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fb0]
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx + eax], 0
jne 0x100b137f
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b137f
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax], 0
je 0x100b137f
mov eax, dword [0x1011981c]
cmp dword [eax + 8], 0
jg 0x100b137f
mov eax, dword [0x10119908]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
je 0x100aff33
mov dword [eax + 0x24], edx
mov eax, dword [0x10119908]
mov edx, dword [eax + 0x2c]
cmp edx, dword [eax + 0x30]
je 0x100aff3e
mov dword [eax + 0x30], edx
cmp byte [0x10119694], 0
mov eax, dword [0x1011981c]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax + 0x24], xmm0
vmovss dword [eax + 0x28], xmm0
vmovss dword [eax + 0x2c], xmm0
je 0x100aff80
mov ecx, dword [0x10117f9c]
push str.slot2
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov byte [0x10119694], 0
jmp 0x100b137f
push ecx
call fcn.100d5bd0
test al, al
je 0x100b137f
mov ecx, dword [0x10117fb4]
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xb4], eax
cmp ecx, dword [edi + 4]
jle 0x100afff4
push 0x10117fb4
call fcn.100e3eef
mov ecx, dword [0x10117fb4]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100afff4
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 1
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
mov ecx, dword [0x10117fb4]
add esp, 4
mov eax, dword [0x10117fd0]
mov edx, dword [ebp - 0xb4]
cmp dword [eax + edx], 0xed
je 0x100b137f
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xb4], eax
cmp ecx, dword [edi + 4]
jle 0x100b0064
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100b0064
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 2
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fd0]
mov ecx, dword [ebp - 0xb4]
cmp dword [eax + ecx], 0x109
je 0x100b137f
mov eax, dword [0x1011981c]
mov eax, dword [eax + 0x74]
cmp eax, dword [0x10119698]
je 0x100b00ac
mov ecx, dword [ebp - 0xbc]
call fcn.100b3430
test al, al
je 0x100b137f
mov eax, dword [0x1011981c]
mov eax, dword [eax + 0x74]
mov dword [0x10119698], eax
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x100b0242
cmp dword [0x101181c8], 0
jne 0x100b00eb
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x101181c8], eax
jmp 0x100b0242
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x101181c8]
jne 0x100b0242
mov ecx, dword [0x10118038]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100b0242
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x10118240]
cmp eax, dword [edi + 4]
jle 0x100b0172
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0172
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 3
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10118044]
mov ecx, dword [ebp - 0xb4]
vmovss xmm1, dword [0x10102bbc]
vmovss xmm0, dword [eax + 0xc]
mov eax, dword [0x10118250]
vsubss xmm0, xmm0, dword [eax + ecx]
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x10117fb4]
vmovss dword [ebp - 0xc8], xmm0
cmp eax, dword [edi + 4]
jle 0x100b0209
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100b01f9
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 4
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
vmovss xmm1, dword [0x10102bbc]
vmovss xmm0, dword [ebp - 0xc8]
mov eax, dword [0x10117fd0]
mov ecx, dword [ebp - 0xb4]
cmp dword [eax + ecx], 0x47e
jne 0x100b0225
vmovss xmm1, dword [0x10102be0]
vcomiss xmm0, dword [0x10102c14]
ja 0x100b0242
vcomiss xmm0, xmm1
jb 0x100b0239
and dword [esi + 0x24], 0xfffffffe
mov eax, dword [0x1011981c]
mov byte [eax + 0x14], 1
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x100b137f
cmp dword [0x101181c8], 0
jne 0x100b0281
mov eax, dword [sym.imp.USER32.dll_FindWindowA]
push str.Team_Fortress_2
push 0
call eax
mov dword [0x101181c8], eax
jmp 0x100b137f
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x101181c8]
jne 0x100b137f
mov ecx, dword [0x10118038]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100b137f
mov ecx, dword [ebp - 0xbc]
call fcn.100b3d40
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x24]
jne 0x100b0403
cmp byte [0x1011969c], 0
je 0x100b137f
mov edx, dword [0x1011981c]
vmovss xmm1, dword [0x10102f24]
mov eax, dword [edx + 0x9c]
vmovss xmm2, dword [eax + 0x10]
vcomiss xmm2, xmm1
jbe 0x100b137f
vmovss xmm0, dword [0x10102bd0]
vcomiss xmm0, xmm2
jbe 0x100b137f
vmovss xmm2, dword [eax + 0x14]
vcomiss xmm2, xmm1
jbe 0x100b137f
vcomiss xmm0, xmm2
jbe 0x100b137f
vmovss xmm2, dword [eax + 0x18]
vcomiss xmm2, xmm1
jbe 0x100b137f
vcomiss xmm0, xmm2
jbe 0x100b137f
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b03cd
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b03c7
mov eax, dword [0x10118020]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x1011803c]
cmp eax, dword [edi + 4]
jle 0x100b03b6
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b03b6
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 5
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + eax], 4
je 0x100b03d7
mov edx, dword [0x1011981c]
cmp dword [edx + 0x74], 0x3d
jne 0x100b137f
mov ecx, dword [0x10117f9c]
or dword [esi + 0x24], 1
push str.slot3
mov byte [0x10119694], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov byte [0x1011969c], 0
jmp 0x100b137f
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b0527
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b0492
mov eax, dword [0x10118020]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x1011803c]
cmp eax, dword [edi + 4]
jle 0x100b047d
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b047d
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 6
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + eax], 4
je 0x100b051c
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b0527
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
test eax, eax
jne 0x100b0527
mov eax, dword [0x10118020]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x1011803c]
cmp eax, dword [edi + 4]
jle 0x100b050b
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b050b
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 7
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + eax], 2
jne 0x100b0527
or dword [esi + 0x24], 1
mov byte [0x1011969c], 1
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x100b137f
lea edx, [ebp - 0xc8]
push edx
vxorps xmm0, xmm0, xmm0
lea edx, [ebp - 0xd4]
push edx
push eax
vmovss dword [ebp - 0xd4], xmm0
vmovss dword [ebp - 0xd0], xmm0
vmovss dword [ebp - 0xcc], xmm0
vmovss dword [ebp - 0xc8], xmm0
call fcn.100b13b0
test al, al
jne 0x100b07bb
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b137f
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b137f
mov eax, dword [0x1011803c]
mov esi, dword [0x10118020]
cmp eax, dword [edi + 4]
jle 0x100b05fa
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b05fa
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 8
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
cmp dword [esi + eax], 4
jne 0x100b137f
vmovss xmm1, dword [0x10102d28]
push 0
push ecx
push dword [0x10117fa0]
push str.stickybomb_charge_rate
call fcn.100d61b0
mov ecx, dword [0x10118240]
mov esi, dword [0x10117fa0]
vmovss dword [ebp - 0xb8], xmm0
cmp ecx, dword [edi + 4]
jle 0x100b068d
push 0x10118240
call fcn.100e3eef
mov ecx, dword [0x10118240]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100b068d
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 9
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
mov ecx, dword [0x10118240]
add esp, 4
mov eax, dword [0x10118044]
vxorps xmm2, xmm2, xmm2
vmovss xmm0, dword [eax + 0xc]
mov eax, dword [0x10118250]
vsubss xmm1, xmm0, dword [esi + eax]
vmovss xmm0, dword [ebp - 0xb8]
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100b06d1
vcomiss xmm1, xmm0
jb 0x100b06c7
vmovss xmm0, dword [0x10102ef4]
jmp 0x100b0715
vmovss xmm0, dword [0x10102ebc]
jmp 0x100b0715
vsubss xmm0, xmm0, xmm2
vsubss xmm1, xmm1, xmm2
vdivss xmm1, xmm1, xmm0
vmovss xmm0, dword [0x10102c90]
vcomiss xmm1, xmm0
seta al
test al, al
jne 0x100b0705
vcomiss xmm2, xmm1
seta al
test al, al
je 0x100b0701
vxorps xmm0, xmm0, xmm0
jmp 0x100b0705
vmovaps xmm0, xmm1
vmulss xmm0, xmm0, dword [0x10102ee0]
vaddss xmm0, xmm0, dword [0x10102ebc]
mov esi, dword [0x10117fa0]
vmovss dword [ebp - 0xbc], xmm0
cmp ecx, dword [edi + 4]
jle 0x100b0774
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0770
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 0xa
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
vxorps xmm2, xmm2, xmm2
mov eax, dword [0x10118250]
vcomiss xmm2, dword [esi + eax]
jae 0x100b137f
vmovss xmm0, dword [ebp - 0xbc]
vcomiss xmm0, dword [0x10102ef0]
jbe 0x100b137f
mov ecx, dword [0x10117f9c]
push str.slot3
mov byte [0x10119694], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
jmp 0x100b137f
mov ecx, dword [ebp - 0xc0]
add ecx, 8
mov dword [ebp - 0xb4], ecx
je case.default.0x100b083e
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je case.default.0x100b083e
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne case.default.0x100b083e
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x10117f9c]
lea esi, [ebp - 0xa8]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xc4]
push eax
call fcn.10027f40
mov esi, dword [ebp - 0xb8]
mov eax, dword [eax]
dec eax
cmp eax, 3
ja case.default.0x100b083e
jmp dword [eax*4 + 0x100b13a0]
mov eax, dword [0x1011984c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x34]
cmp byte [eax + 0x14], 0
jmp 0x100b0887
mov eax, dword [0x1011984c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x34]
cmp byte [eax + 0x11], 0
jmp 0x100b0887
mov eax, dword [0x1011984c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x34]
cmp byte [eax + 0x12], 0
jmp 0x100b0887
mov eax, dword [0x1011984c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x34]
cmp byte [eax + 0x13], 0
je case.default.0x100b083e
mov eax, dword [0x1011981c]
mov eax, dword [eax + 0x8c]
mov byte [eax], 1
mov eax, dword [0x1011981c]
vmovss xmm0, dword [0x10102c90]
vmovss dword [ebp - 0xb4], xmm0
cmp dword [eax + 0x74], 0x3d
jne 0x100b0a68
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0xb], 0
je 0x100b0a68
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10118240]
cmp eax, dword [edi + 4]
jle 0x100b0928
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0928
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 0xb
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10118044]
mov ecx, dword [ebp - 0xac]
vmovss xmm2, dword [0x10102c90]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [eax + 0xc]
mov eax, dword [0x10118250]
vsubss xmm0, xmm0, dword [ecx + eax]
vsubss xmm0, xmm0, xmm1
vcomiss xmm0, xmm2
seta al
test al, al
je 0x100b0963
vmovaps xmm0, xmm2
jmp 0x100b0972
vcomiss xmm1, xmm0
seta al
test al, al
je 0x100b0972
vxorps xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10102e40]
vaddss xmm0, xmm0, dword [0x10102e20]
mov edx, dword [0x10117f88]
vmovss dword [ebp - 0xac], xmm0
cmp edx, dword [edi + 4]
jle 0x100b09e5
push 0x10117f88
call fcn.100e3eef
mov edx, dword [0x10117f88]
add esp, 4
cmp edx, 0xffffffff
jne 0x100b09e5
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 0xc
call fcn.100e2fc0
push 0x10117f88
mov dword [0x10117f70], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
mov edx, dword [0x10117f88]
add esp, 4
mov eax, dword [0x10117f70]
mov ecx, dword [ebp - 0xc0]
cmp dword [eax + ecx], 0x168
jg 0x100b0a68
cmp edx, dword [edi + 4]
jle 0x100b0a4c
push 0x10117f88
call fcn.100e3eef
add esp, 4
cmp dword [0x10117f88], 0xffffffff
jne 0x100b0a46
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 0xd
call fcn.100e2fc0
push 0x10117f88
mov dword [0x10117f70], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov ecx, dword [ebp - 0xc0]
mov eax, dword [0x10117f70]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [eax + ecx]
vcomiss xmm0, dword [ebp - 0xac]
ja 0x100b137f
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b0c01
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b0c01
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x100b0c01
cmp dword [0x101181c8], 0
jne 0x100b0ac9
mov eax, dword [sym.imp.USER32.dll_FindWindowA]
push str.Team_Fortress_2
push 0
call eax
mov dword [0x101181c8], eax
jmp 0x100b0c01
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x101181c8]
jne 0x100b0c01
mov ecx, dword [0x10118038]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100b0c01
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10118240]
cmp eax, dword [edi + 4]
jle 0x100b0b50
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0b50
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 0xe
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10118250]
mov ecx, dword [ebp - 0xac]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [ecx + eax]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100b0b7c
mov eax, dword [0x1011981c]
cmp dword [eax], 0x16
jne 0x100b0b7c
or dword [esi + 0x24], 1
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10118240]
cmp eax, dword [edi + 4]
jle 0x100b0bdd
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0bd9
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 0xf
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
vxorps xmm1, xmm1, xmm1
mov eax, dword [0x10118250]
mov ecx, dword [ebp - 0xac]
vmovss xmm0, dword [ecx + eax]
vcomiss xmm0, xmm1
jbe 0x100b0c01
mov eax, dword [0x1011981c]
cmp dword [eax], 0x16
jge 0x100b0c01
and dword [esi + 0x24], 0xfffffffe
mov ecx, dword [0x10117fa0]
call fcn.100221b0
cmp dword [eax], 0
jle 0x100b0c21
mov ecx, dword [0x10117fa0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x45c]
call eax
mov eax, dword [0x1011a240]
cmp eax, dword [edi + 4]
jle 0x100b0c5c
push 0x1011a240
call fcn.100e3eef
add esp, 4
cmp dword [0x1011a240], 0xffffffff
jne 0x100b0c5c
mov eax, dword [ebp - 0xc0]
push 0x1011a240
mov dword [0x1011a23c], eax
call fcn.100e3ea5
add esp, 4
mov eax, dword [ebp - 0xc0]
cmp dword [0x1011a23c], eax
je 0x100b0c7f
vmovss xmm0, dword [0x10102f30]
vmovss dword [0x10116ce8], xmm0
mov dword [0x1011a23c], eax
mov eax, dword [0x1011984c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0xa], 0
je 0x100b0d01
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10117fb4]
cmp eax, dword [edi + 4]
jle 0x100b0ced
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100b0ced
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 0x10
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fd0]
mov ecx, dword [ebp - 0xac]
cmp dword [ecx + eax], 0x450
jne 0x100b0d11
vmovss xmm0, dword [0x10102f30]
vmovss dword [0x10116ce8], xmm0
mov ecx, dword [0x10117f9c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xac], eax
call dword [ebp - 0xac]
fstp dword [ebp - 0xac]
vmovss xmm0, dword [ebp - 0xac]
vcomiss xmm0, dword [0x10116ce8]
jbe 0x100b0de5
mov ecx, dword [0x10117f9c]
or dword [esi + 0x24], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xac], eax
call dword [ebp - 0xac]
fstp dword [ebp - 0xac]
vmovss xmm0, dword [ebp - 0xac]
vcomiss xmm0, dword [0x10119690]
jbe 0x100b0de5
mov ecx, dword [0x10117f9c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [0x10117f9c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
mov dword [ebp - 0xac], edx
call dword [ebp - 0xac]
fstp dword [ebp - 0xac]
push 0
mov ecx, esi
call dword [ebp - 0xc4]
vmovss xmm0, dword [ebp - 0xac]
vaddss xmm0, xmm0, dword [0x10102c98]
mov esi, dword [ebp - 0xb8]
vmovss dword [ebp - 0xac], xmm0
fadd dword [ebp - 0xac]
fstp dword [0x10119690]
mov eax, dword [0x1011981c]
mov eax, dword [eax + 0x74]
cmp eax, 0x18
je 0x100b0df7
cmp eax, 0x3d
jne 0x100b0e74
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10118240]
cmp eax, dword [edi + 4]
jle 0x100b0e54
push 0x10118240
call fcn.100e3eef
add esp, 4
cmp dword [0x10118240], 0xffffffff
jne 0x100b0e54
push str.m_flChargeBeginTime
push str.CTFPipebombLauncher
mov dword [ebp - 4], 0x11
call fcn.100e2fc0
push 0x10118240
mov dword [0x10118250], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10118250]
mov ecx, dword [ebp - 0xac]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [ecx + eax]
vcomiss xmm0, xmm1
jbe 0x100b0e78
and dword [esi + 0x24], 0xfffffffe
jmp 0x100b0e78
vxorps xmm1, xmm1, xmm1
mov eax, dword [ebp - 0xbc]
vmovss xmm0, dword [ebp - 0xd4]
cmp byte [eax + 8], 0
je 0x100b1001
mov ecx, dword [0x10119844]
lea eax, [ebp - 0xb8]
vmulss xmm0, xmm0, dword [0x10102be8]
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
vmovss dword [ebp - 0x20], xmm1
vmovss dword [esp], xmm0
call fcn.100216a0
vmovss xmm0, dword [ebp - 0xd0]
vmulss xmm0, xmm0, dword [0x10102be8]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc4]
push eax
push ecx
vmovss dword [esp], xmm0
call fcn.100216a0
vmovss xmm0, dword [ebp - 0xcc]
vmulss xmm0, xmm0, dword [0x10102be8]
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xb0]
push eax
push ecx
vmovss dword [esp], xmm0
call fcn.100216a0
vmovss xmm5, dword [ebp - 0xc4]
vmovss xmm6, dword [ebp - 0xac]
vmulss xmm0, xmm5, dword [ebp - 0xb8]
vmulss xmm1, xmm6, dword [ebp - 0xb8]
vmovss xmm4, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xbc]
vmovss dword [ebp - 0xc4], xmm0
vmovss xmm0, dword [ebp - 0xc0]
vmulss xmm3, xmm4, xmm0
vmovss dword [ebp - 0xac], xmm1
vxorps xmm1, xmm0, xmmword [0x10103000]
vxorps xmm0, xmm5, xmmword [0x10103000]
vmulss xmm0, xmm0, dword [ebp - 0xb0]
vmovss dword [ebp - 0xc0], xmm1
vmulss xmm1, xmm3, xmm6
vsubss xmm7, xmm1, xmm0
vmulss xmm0, xmm6, dword [ebp - 0xb0]
vmulss xmm6, xmm4, dword [ebp - 0xb8]
vmulss xmm1, xmm3, xmm5
vsubss xmm2, xmm1, xmm0
vmovss xmm0, dword [eax]
vmulss xmm3, xmm0, dword [ebp - 0xac]
vmulss xmm4, xmm0, dword [ebp - 0xc4]
vmulss xmm5, xmm0, dword [ebp - 0xc0]
vmovss xmm0, dword [0x10102e3c]
vmulss xmm1, xmm7, xmm0
vmulss xmm2, xmm2, xmm0
lea eax, [ebp - 0x20]
push eax
vmulss xmm0, xmm6, xmm0
vsubss xmm3, xmm3, xmm1
lea eax, [ebp - 0xe4]
vsubss xmm1, xmm4, xmm2
vsubss xmm0, xmm5, xmm0
push eax
vmovss dword [ebp - 0xe4], xmm3
vmovss dword [ebp - 0xe0], xmm1
vmovss dword [ebp - 0xdc], xmm0
call fcn.10044870
vmovss xmm0, dword [ebp - 0x20]
mov ecx, dword [0x10117fb4]
mov eax, dword [0x10117fa0]
vmovss dword [ebp - 0xb8], xmm0
mov byte [ebp - 0xbc], 0
mov dword [ebp - 0xb0], eax
cmp ecx, dword [edi + 4]
jle 0x100b1076
push 0x10117fb4
call fcn.100e3eef
mov ecx, dword [0x10117fb4]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100b1076
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 0x12
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
mov ecx, dword [0x10117fb4]
add esp, 4
mov eax, dword [0x10117fd0]
mov edx, dword [ebp - 0xb0]
cmp dword [edx + eax], 0x32c
je 0x100b10f6
mov eax, dword [0x10117fa0]
mov dword [ebp - 0xb0], eax
cmp ecx, dword [edi + 4]
jle 0x100b10e2
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100b10e2
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 0x13
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fd0]
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx + eax], 0x341
jne 0x100b113a
mov ecx, dword [0x10117f9c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb0], eax
call dword [ebp - 0xb0]
mov eax, dword [ebp - 0xbc]
mov ecx, 1
fstp dword [ebp - 0xb0]
vmovss xmm0, dword [ebp - 0xb0]
vcomiss xmm0, dword [0x10119690]
movzx eax, al
cmovae eax, ecx
mov dword [ebp - 0xbc], eax
push esi
call fcn.100d6820
test al, al
jne 0x100b1150
cmp byte [ebp - 0xbc], al
je 0x100b137f
vmovss xmm0, dword [ebp - 0xb8]
vmovss xmm2, dword [ebp - 0xd0]
lea ecx, [esi + 0xc]
vmovss dword [ecx], xmm0
vmovss dword [ecx + 4], xmm2
vxorps xmm1, xmm1, xmm1
vmovss dword [ecx + 8], xmm1
mov eax, dword [0x1011981c]
push ecx
vsubss xmm0, xmm0, dword [eax + 0x34]
vmovss dword [ecx], xmm0
vsubss xmm0, xmm2, dword [eax + 0x38]
vmovss dword [ecx + 4], xmm0
vsubss xmm0, xmm1, dword [eax + 0x3c]
vmovss dword [ecx + 8], xmm0
call fcn.100212f0
mov ecx, dword [0x10117f9c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb0], eax
call dword [ebp - 0xb0]
mov eax, dword [0x1011803c]
fstp st(0)
mov esi, dword [0x10118020]
cmp eax, dword [edi + 4]
jle 0x100b120e
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b120e
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 0x14
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
cmp dword [esi + eax], 7
jne 0x100b1223
vmovss xmm0, dword [0x10102c60]
jmp 0x100b122b
vmovss xmm0, dword [0x10102d04]
mov ecx, dword [0x10117f9c]
vmovss dword [ebp - 0xb8], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb0], eax
call dword [ebp - 0xb0]
mov eax, dword [0x10119908]
mov ecx, dword [0x10118020]
fstp dword [ebp - 0xb0]
vmovss xmm0, dword [ebp - 0xb0]
vaddss xmm0, xmm0, dword [ebp - 0xc8]
vaddss xmm0, xmm0, dword [ebp - 0xb8]
vmovss dword [eax + 0x38], xmm0
mov eax, dword [0x10119908]
mov dword [ebp - 0xb0], 0x51
mov byte [eax + 0x3c], 1
lea eax, [ebp - 0xb0]
push eax
call fcn.1003a530
test al, al
je 0x100b12ab
vmovss xmm0, dword [0x10102cdc]
vmovss dword [ebp - 0xb4], xmm0
mov eax, dword [0x1011803c]
mov esi, dword [0x10118020]
cmp eax, dword [edi + 4]
jle 0x100b1303
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100b1303
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 0x15
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
cmp dword [esi + eax], 7
jne 0x100b1326
mov ecx, dword [0x10117fa0]
test ecx, ecx
je 0x100b1326
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
test eax, eax
je 0x100b137f
mov ecx, dword [0x10117f9c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xb0], eax
call dword [ebp - 0xb0]
vmovss xmm3, dword [ebp - 0xc8]
vmovss xmm0, dword [0x10102ca4]
vdivss xmm1, xmm3, dword [ebp - 0xb4]
vcomiss xmm1, xmm0
fstp dword [ebp - 0xb0]
ja 0x100b136f
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, xmm1
ja 0x100b136f
vmovaps xmm0, xmm1
vaddss xmm0, xmm0, dword [ebp - 0xb0]
vmovss dword [0x10116ce8], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100e38ea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4