Function at 0x100b9a20
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100edf95
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x218
mov eax, dword [0x10112040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x10117950]
mov eax, dword [ecx + 0xc]
lea edi, [ecx + 0xc]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 4]
je 0x100b9a78
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x18]
cmp eax, dword [ecx + 0x1c]
je 0x100b9a83
mov dword [ecx + 0x1c], eax
mov eax, dword [0x10116080]
mov dword [ebp - 0x1ec], eax
test eax, eax
je 0x100bb0b2
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10115fb4]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10116050]
mov dword [ebp - 0x208], esi
cmp eax, dword [esi + 4]
jle 0x100b9afd
push 0x10116050
call fcn.100e1eb9
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100b9afd
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.100e1070
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1e68
add esp, 4
mov eax, dword [0x10116010]
mov ecx, dword [ebp - 0x1ec]
cmp byte [ecx + eax], 0
jne 0x100bb0b2
cmp dword [0x10116000], 0
je 0x100bb0b2
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x94], 0
je 0x100bb0b2
mov ecx, dword [0x101161d8]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x100bb0b2
mov ecx, dword [0x10115ffc]
lea edx, [ebp - 0x3c]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [ebp - 0x184], ymm0
mov dword [ebp - 0x188], 0
mov byte [ebp - 0x164], al
mov eax, dword [ecx]
vmovss dword [ebp - 0x3c], xmm0
vmovss dword [ebp - 0x38], xmm0
vmovss dword [ebp - 0x34], xmm0
mov eax, dword [eax + 0x4c]
vmovss dword [ebp - 0x204], xmm0
push edx
vzeroupper
call eax
mov ecx, dword [0x10118298]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100ac450
test al, al
je 0x100bb0b2
mov eax, dword [0x101178b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
cmp dword [eax + 0x14], 0
jle 0x100b9e5e
mov ecx, dword [0x10116000]
test ecx, ecx
je 0x100b9e5e
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b9e5e
mov eax, dword [0x10116080]
mov dword [ebp - 0x1ec], eax
mov eax, dword [0x1011609c]
cmp eax, dword [esi + 4]
jle 0x100b9c41
push 0x1011609c
call fcn.100e1eb9
add esp, 4
cmp dword [0x1011609c], 0xffffffff
jne 0x100b9c41
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 1
call fcn.100e1070
push 0x1011609c
mov dword [0x1011608c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1e68
add esp, 4
mov eax, dword [0x1011608c]
mov ecx, dword [ebp - 0x1ec]
cmp dword [eax + ecx], 4
jne 0x100b9e5e
mov eax, dword [0x101178b0]
mov ecx, dword [0x10116014]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
vcvtsi2ss xmm0, xmm0, dword [eax + 0x14]
vdivss xmm0, xmm0, dword [0x10100ce4]
mov eax, dword [0x10116000]
vmovss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x1ec], eax
cmp ecx, dword [esi + 4]
jle 0x100b9cdd
push 0x10116014
call fcn.100e1eb9
mov ecx, dword [0x10116014]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100b9cdd
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 2
call fcn.100e1070
push 0x10116014
mov dword [0x10116030], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1e68
mov ecx, dword [0x10116014]
add esp, 4
mov eax, dword [0x10116030]
mov edx, dword [ebp - 0x1ec]
cmp dword [eax + edx], 0x47e
jne 0x100b9d12
mov eax, dword [0x101178b0]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
vcvtsi2ss xmm0, xmm0, dword [eax + 0x14]
vdivss xmm0, xmm0, dword [0x10100d34]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [0x10100cc0]
mov eax, dword [0x10116000]
vmovss dword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x1f8], eax
cmp ecx, dword [esi + 4]
jle 0x100b9d7a
push 0x10116014
call fcn.100e1eb9
add esp, 4
cmp dword [0x10116014], 0xffffffff
jne 0x100b9d7a
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 3
call fcn.100e1070
push 0x10116014
mov dword [0x10116030], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1e68
add esp, 4
mov eax, dword [0x10116030]
mov ecx, dword [ebp - 0x1f8]
cmp dword [eax + ecx], 0x47e
jne 0x100b9d9e
vmovss xmm0, dword [0x10100c9c]
vmovss dword [ebp - 0x1ec], xmm0
vmovss xmm1, dword [0x10100c88]
push 0
push ecx
push dword [0x10116000]
push str.stickybomb_charge_rate
call fcn.100d4210
mov eax, dword [0x101160a4]
vmovss xmm2, dword [ebp - 0x18]
vmovss xmm1, dword [eax + 0x1c]
vmulss xmm1, xmm1, dword [ebp - 0x1ec]
vsubss xmm1, xmm2, xmm1
vxorps xmm2, xmm2, xmm2
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100b9dfc
vcomiss xmm1, xmm0
jb 0x100b9df2
vmovss xmm0, dword [0x10100e54]
jmp 0x100b9e56
vmovss xmm0, dword [0x10100e1c]
jmp 0x100b9e56
vsubss xmm0, xmm0, xmm2
vsubss xmm1, xmm1, xmm2
vdivss xmm0, xmm1, xmm0
vmovss xmm1, dword [0x10100bf0]
vcomiss xmm2, xmm0
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x1ec]
cmovbe ecx, eax
lea eax, [ebp - 0x1f8]
vcomiss xmm0, xmm1
vmovss dword [ebp - 0x18], xmm0
cmovbe eax, ecx
vmovss dword [ebp - 0x1f8], xmm1
vmovss dword [ebp - 0x1ec], xmm2
vmovss xmm0, dword [eax]
vmulss xmm0, xmm0, dword [0x10100e40]
vaddss xmm0, xmm0, dword [0x10100e1c]
vmovss dword [ebp - 0x16c], xmm0
push 0
lea eax, [ebp - 0x188]
push eax
call fcn.100abda0
test al, al
je 0x100bb0b2
mov eax, dword [0x101178b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x100b9ea7
cmp dword [0x10116228], 0
jne 0x100b9ee6
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x10116228], eax
vxorps xmm1, xmm1, xmm1
mov edx, dword [0x101160a4]
vmovss xmm0, dword [0x10100cb0]
vmovss xmm2, dword [0x10100e84]
mov dword [ebp - 0x1ec], 0
vdivss xmm0, xmm0, dword [edx + 0x1c]
vaddss xmm0, xmm0, dword [0x10100bc8]
vcvttss2si eax, xmm0
test eax, eax
jle 0x100bad9c
jmp 0x100b9f34
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10116228]
jne 0x100b9ea7
mov ecx, dword [0x10116098]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
vxorps xmm1, xmm1, xmm1
test al, al
jne 0x100b9eab
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x9c]
vmovss dword [eax + 0x10], xmm1
vmovss dword [eax + 0x14], xmm1
vmovss dword [eax + 0x18], xmm1
jmp 0x100b9eab
vxorps xmm1, xmm1, xmm1
mov ecx, dword [0x10116360]
test ecx, ecx
jne 0x100b9f58
vmovss dword [ebp - 0x200], xmm1
vmovss dword [ebp - 0x1fc], xmm1
vmovss dword [ebp - 0x1f8], xmm1
jmp 0x100b9fa9
mov eax, dword [ecx]
lea edx, [ebp - 0x9c]
push 0
push edx
vmovss dword [ebp - 0x9c], xmm1
vmovss dword [ebp - 0x98], xmm1
vmovss dword [ebp - 0x94], xmm1
call dword [eax + 0xbc]
vmovq xmm0, qword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
mov edx, dword [0x101160a4]
mov ecx, dword [0x10116360]
vmovq qword [ebp - 0x200], xmm0
mov dword [ebp - 0x1f8], eax
mov esi, dword [0x10116364]
test esi, esi
je 0x100b9fce
mov eax, dword [esi]
vmovss xmm0, dword [edx + 0x1c]
push ecx
mov ecx, esi
vmovss dword [esp], xmm0
call dword [eax + 0x88]
mov ecx, dword [0x10116360]
vxorps xmm0, xmm0, xmm0
test ecx, ecx
jne 0x100b9fe7
vmovss dword [ebp - 0x30], xmm0
vmovss dword [ebp - 0x2c], xmm0
vmovss dword [ebp - 0x28], xmm0
jmp 0x100ba014
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
push 0
push edx
vmovss dword [ebp - 0x3c], xmm0
vmovss dword [ebp - 0x38], xmm0
vmovss dword [ebp - 0x34], xmm0
call dword [eax + 0xbc]
vmovq xmm0, qword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
vmovq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x100ba04a
vmovss xmm0, dword [ebp - 0x200]
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0x1fc]
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [ebp - 0x1f8]
vmovss dword [eax + 8], xmm0
add eax, 0xc
mov dword [edi + 4], eax
jmp 0x100ba059
lea ecx, [ebp - 0x200]
push ecx
push eax
mov ecx, edi
call fcn.10024330
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x20]
je 0x100ba089
vmovss xmm0, dword [ebp - 0x30]
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [eax + 8], xmm0
add eax, 0xc
mov dword [esi + 0x1c], eax
jmp 0x100ba096
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [esi + 0x18]
call fcn.10024330
vmovss xmm5, dword [ebp - 0x200]
vmovss xmm6, dword [ebp - 0x1fc]
vmovss xmm7, dword [ebp - 0x1f8]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x120], xmm0
vmovups ymmword [ebp - 0x1e0], ymm0
vmovdqu ymmword [ebp - 0x1b4], ymm0
vmovq qword [ebp - 0x194], xmm0
vmovss xmm0, dword [ebp - 0x30]
vsubss xmm3, xmm0, xmm5
vmovss xmm0, dword [ebp - 0x2c]
vsubss xmm1, xmm0, xmm6
vmovss xmm0, dword [ebp - 0x28]
vsubss xmm2, xmm0, xmm7
vmovss dword [ebp - 0x14c], xmm1
vmulss xmm0, xmm3, xmm3
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
xor eax, eax
mov dword [ebp - method.CTraceFilterHitscan.virtual_0], vtable.CTraceFilterHitscan.0
vmulss xmm0, xmm2, xmm2
vxorps xmm4, xmm4, xmm4
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm4
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
lahf
mov byte [ebp - 0x11f], 1
vmovss dword [ebp - 0x1c0], xmm4
vmovss dword [ebp - 0x150], xmm3
vmovss dword [ebp - 0x148], xmm2
test ah, 0x44
jp 0x100ba155
mov byte [ebp - 0x11f], 0
vmovss xmm0, dword [0x10100c88]
mov ecx, dword [0x10116090]
lea edx, [ebp - 0x1e0]
mov eax, dword [0x10116080]
vmovss dword [ebp - 0x130], xmm0
vmovss dword [ebp - 0x12c], xmm0
vmovss dword [ebp - 0x128], xmm0
vaddss xmm0, xmm7, xmm4
vmovss dword [ebp - 0x158], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vaddss xmm2, xmm5, xmm4
vaddss xmm1, xmm6, xmm4
vmovss dword [ebp - 0x160], xmm2
vmovss dword [ebp - 0x15c], xmm1
vmovss dword [ebp - 0x140], xmm0
vmovss dword [ebp - 0x13c], xmm0
vmovss dword [ebp - 0x138], xmm0
mov byte [ebp - 0x120], 0
lea edx, [ebp - 0x1e8]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ecx]
push edx
push 0x200400b
lea edx, [ebp - 0x160]
mov eax, dword [eax + 0x10]
push edx
vzeroupper
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0x1b4]
ja 0x100ba252
cmp byte [ebp - 0x1aa], 0
jne 0x100ba252
cmp byte [ebp - 0x1a9], 0
jne 0x100ba252
mov edx, dword [0x101160a4]
vmovss xmm0, dword [0x10100cb0]
mov esi, dword [ebp - 0x1ec]
inc esi
vdivss xmm0, xmm0, dword [edx + 0x1c]
vaddss xmm0, xmm0, dword [0x10100bc8]
vcvttss2si eax, xmm0
mov dword [ebp - 0x1ec], esi
cmp esi, eax
jl 0x100b9f30
jmp 0x100bad94
mov eax, dword [0x10117880]
vmovss xmm3, dword [0x10100e84]
mov ecx, dword [eax + 0x9c]
vmovss xmm0, dword [ecx + 0x10]
vcomiss xmm0, xmm3
jbe 0x100ba2c0
vmovss xmm2, dword [0x10100b30]
vcomiss xmm2, xmm0
jbe 0x100ba2c0
vmovss xmm1, dword [ecx + 0x14]
vcomiss xmm1, xmm3
jbe 0x100ba2c0
vcomiss xmm2, xmm1
jbe 0x100ba2c0
vmovss xmm1, dword [ecx + 0x18]
vcomiss xmm1, xmm3
jbe 0x100ba2c0
vcomiss xmm2, xmm1
jbe 0x100ba2c0
vmovss xmm0, dword [ebp - 0x30]
vmovss dword [ecx + 4], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [ecx + 8], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [ecx + 0xc], xmm0
jmp 0x100ba2d1
vmovss dword [ecx + 4], xmm0
mov eax, dword [ecx + 0x14]
mov dword [ecx + 8], eax
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x10116000]
test ecx, ecx
je 0x100babc8
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100babc8
mov eax, dword [0x101178b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x18]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x100babc8
cmp dword [0x10116228], 0
jne 0x100ba32e
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x10116228], eax
jmp 0x100babc8
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10116228]
jne 0x100babc8
mov ecx, dword [0x10116098]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100babc8
mov eax, dword [0x10117880]
vmovss xmm0, dword [ebp - 0x30]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vmovss dword [eax + 0x10], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [eax + 0x14], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [eax + 0x18], xmm0
xor eax, eax
mov dword [ebp - 0x20], vtable.CTraceFilterHitscan.0
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov eax, dword [0x10117880]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x50], xmm0
vmovups ymmword [ebp - 0x110], ymm0
vmovdqu ymmword [ebp - 0xe4], ymm0
vmovq qword [ebp - 0xc4], xmm0
mov dword [ebp - 0x1c], 0
vmovss dword [ebp - 0xf0], xmm5
mov ecx, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vsubss xmm1, xmm0, dword [ecx + 0x10]
vaddss xmm0, xmm5, dword [ecx + 0x14]
vsubss xmm4, xmm0, dword [ecx + 0x14]
vmovss xmm3, dword [ecx + 0x18]
vsubss xmm0, xmm3, dword [0x10100cc0]
vsubss xmm2, xmm0, xmm3
vmovss dword [ebp - 0x80], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x7c], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100ba42f
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0x90]
push 0x200400b
push edx
vzeroupper
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba4db
cmp byte [ebp - 0xda], 0
jne 0x100ba4db
cmp byte [ebp - 0xd9], 0
je 0x100ba512
mov eax, dword [0x10117880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [eax + 0x10]
vmovss dword [eax + 0x10], xmm0
vaddss xmm0, xmm5, dword [eax + 0x14]
vmovss dword [eax + 0x14], xmm0
vmovss xmm0, dword [eax + 0x18]
vaddss xmm0, xmm0, dword [0x10100ccc]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba516
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vsubss xmm1, xmm0, dword [ecx + 0x10]
vaddss xmm0, xmm5, dword [ecx + 0x14]
vsubss xmm4, xmm0, dword [ecx + 0x14]
vmovss xmm3, dword [ecx + 0x18]
vaddss xmm0, xmm3, dword [0x10100cc0]
vsubss xmm2, xmm0, xmm3
vmovss dword [ebp - 0x80], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x7c], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100ba57b
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
vmovss dword [ebp - 0x70], xmm5
vmovss dword [ebp - 0x6c], xmm5
vmovss dword [ebp - 0x68], xmm5
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
push 0x200400b
lea edx, [ebp - 0x90]
mov eax, dword [eax + 0x10]
push edx
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba633
cmp byte [ebp - 0xda], 0
jne 0x100ba633
cmp byte [ebp - 0xd9], 0
je 0x100ba66a
mov eax, dword [0x10117880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [eax + 0x10]
vmovss dword [eax + 0x10], xmm0
vaddss xmm0, xmm5, dword [eax + 0x14]
vmovss dword [eax + 0x14], xmm0
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [0x10100ccc]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba66e
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x9c]
vmovss xmm2, dword [ecx + 0x14]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vsubss xmm1, xmm0, dword [ecx + 0x10]
vsubss xmm0, xmm2, dword [0x10100d1c]
vsubss xmm4, xmm0, xmm2
vaddss xmm0, xmm5, dword [ecx + 0x18]
vsubss xmm2, xmm0, dword [ecx + 0x18]
vmovss dword [ebp - 0x80], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x7c], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100ba6d3
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
vmovss dword [ebp - 0x70], xmm5
vmovss dword [ebp - 0x6c], xmm5
vmovss dword [ebp - 0x68], xmm5
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
push 0x200400b
lea edx, [ebp - 0x90]
mov eax, dword [eax + 0x10]
push edx
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba78b
cmp byte [ebp - 0xda], 0
jne 0x100ba78b
cmp byte [ebp - 0xd9], 0
je 0x100ba7c2
mov eax, dword [0x10117880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [eax + 0x10]
vmovss dword [eax + 0x10], xmm0
vmovss xmm0, dword [eax + 0x14]
vaddss xmm0, xmm0, dword [0x10100d20]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm5, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba7c6
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x9c]
vmovss xmm2, dword [ecx + 0x14]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vsubss xmm1, xmm0, dword [ecx + 0x10]
vaddss xmm0, xmm2, dword [0x10100d1c]
vsubss xmm4, xmm0, xmm2
vaddss xmm0, xmm5, dword [ecx + 0x18]
vsubss xmm2, xmm0, dword [ecx + 0x18]
vmovss dword [ebp - 0x80], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x7c], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100ba82b
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
vmovss dword [ebp - 0x70], xmm5
vmovss dword [ebp - 0x6c], xmm5
vmovss dword [ebp - 0x68], xmm5
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
push 0x200400b
lea edx, [ebp - 0x90]
mov eax, dword [eax + 0x10]
push edx
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba8e3
cmp byte [ebp - 0xda], 0
jne 0x100ba8e3
cmp byte [ebp - 0xd9], 0
je 0x100ba91a
mov eax, dword [0x10117880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vaddss xmm0, xmm5, dword [eax + 0x10]
vmovss dword [eax + 0x10], xmm0
vmovss xmm0, dword [eax + 0x14]
vsubss xmm0, xmm0, dword [0x10100d20]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm5, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba91e
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x9c]
vmovss xmm1, dword [ecx + 0x10]
vsubss xmm0, xmm1, dword [0x10100d1c]
vsubss xmm4, xmm0, xmm1
vaddss xmm0, xmm5, dword [ecx + 0x14]
vsubss xmm1, xmm0, dword [ecx + 0x14]
vaddss xmm0, xmm5, dword [ecx + 0x18]
vsubss xmm2, xmm0, dword [ecx + 0x18]
vmovss dword [ebp - 0x7c], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x80], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100ba983
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
vmovss dword [ebp - 0x70], xmm5
vmovss dword [ebp - 0x6c], xmm5
vmovss dword [ebp - 0x68], xmm5
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
push 0x200400b
lea edx, [ebp - 0x90]
mov eax, dword [eax + 0x10]
push edx
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100baa3b
cmp byte [ebp - 0xda], 0
jne 0x100baa3b
cmp byte [ebp - 0xd9], 0
je 0x100baa72
mov eax, dword [0x10117880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vaddss xmm0, xmm0, dword [0x10100d20]
vmovss dword [eax + 0x10], xmm0
vaddss xmm0, xmm5, dword [eax + 0x14]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm5, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
jmp 0x100baa76
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x9c]
vmovss xmm1, dword [ecx + 0x10]
vaddss xmm0, xmm1, dword [0x10100d1c]
vsubss xmm4, xmm0, xmm1
vaddss xmm0, xmm5, dword [ecx + 0x14]
vsubss xmm1, xmm0, dword [ecx + 0x14]
vaddss xmm0, xmm5, dword [ecx + 0x18]
vsubss xmm2, xmm0, dword [ecx + 0x18]
vmovss dword [ebp - 0x7c], xmm1
vmulss xmm0, xmm4, xmm4
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm5
vmovss dword [ebp - 0x80], xmm4
lahf
mov byte [ebp - 0x4f], 1
vmovss dword [ebp - 0x78], xmm2
test ah, 0x44
jp 0x100baadb
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100c88]
vmovss dword [ebp - 0x60], xmm0
vmovss dword [ebp - 0x5c], xmm0
vmovss dword [ebp - 0x58], xmm0
vmovss dword [ebp - 0x70], xmm5
vmovss dword [ebp - 0x6c], xmm5
vmovss dword [ebp - 0x68], xmm5
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x110]
vaddss xmm0, xmm5, dword [ecx + 0x10]
vmovss xmm1, dword [ecx + 0x14]
vmovss xmm2, dword [ecx + 0x18]
mov ecx, dword [0x10116090]
vmovss dword [ebp - 0x90], xmm0
vaddss xmm0, xmm5, xmm1
vmovss dword [ebp - 0x8c], xmm0
vaddss xmm0, xmm5, xmm2
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [0x10100e80]
push edx
vmovss dword [ebp - 0x70], xmm0
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
push 0x200400b
lea edx, [ebp - 0x90]
mov eax, dword [eax + 0x10]
push edx
call eax
vmovss xmm0, dword [0x10100bf0]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100bab93
cmp byte [ebp - 0xda], 0
jne 0x100bab93
cmp byte [ebp - 0xd9], 0
je 0x100babc8
mov eax, dword [0x10117880]
vxorps xmm1, xmm1, xmm1
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [0x10100d20]
vmovss dword [eax + 0x10], xmm0
vaddss xmm0, xmm1, dword [eax + 0x14]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm1, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
lea eax, [ebp - 0x3c]
push eax
vxorps xmm0, xmm0, xmm0
lea eax, [ebp - 0x1c8]
push eax
vmovss dword [ebp - 0x3c], xmm0
vmovss dword [ebp - 0x38], xmm0
vmovss dword [ebp - 0x34], xmm0
call fcn.10041430
mov eax, dword [0x101178b0]
mov edi, dword [ebp - 0x208]
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
vmovss xmm0, dword [eax + 0x98]
vmulss xmm0, xmm0, dword [0x10100dac]
vcvttss2si eax, xmm0
vmovss xmm0, dword [0x10100bf0]
movzx esi, al
movzx eax, byte [ecx + 0x21e]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x21d]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x21c]
vmovss dword [ebp - 0x9c], xmm0
vmovss xmm0, dword [0x10100c98]
vmovss dword [ebp - 0x98], xmm0
vmovss dword [ebp - 0x94], xmm0
vmovss xmm0, dword [0x10100e90]
shl esi, 8
or esi, eax
mov eax, dword [0x10118774]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [0x10100ea0]
vmovss dword [ebp - 0x20], xmm0
vmovss dword [ebp - 0x1c], xmm0
cmp eax, dword [edi + 4]
jle 0x100bacbd
push 0x10118774
call fcn.100e1eb9
add esp, 4
cmp dword [0x10118774], 0xffffffff
jne 0x100bacbd
mov eax, dword [0x10117880]
push 0x10118774
mov eax, dword [eax + 0xf4]
mov dword [0x1011875c], eax
call fcn.100e1e68
add esp, 4
push 0
push 0
push esi
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call dword [0x1011875c]
vmovss xmm0, dword [0x10100bf0]
mov eax, dword [0x10118770]
add esp, 0x1c
vmovss dword [ebp - 0x214], xmm0
vmovss xmm0, dword [0x10100c98]
vmovss dword [ebp - 0x210], xmm0
vmovss dword [ebp - 0x20c], xmm0
vmovss xmm0, dword [0x10100e90]
vmovss dword [ebp - 0x220], xmm0
vmovss xmm0, dword [0x10100ea0]
vmovss dword [ebp - 0x21c], xmm0
vmovss dword [ebp - 0x218], xmm0
cmp eax, dword [edi + 4]
jle 0x100bad6e
push 0x10118770
call fcn.100e1eb9
add esp, 4
cmp dword [0x10118770], 0xffffffff
jne 0x100bad6e
mov eax, dword [0x10117880]
push 0x10118770
mov eax, dword [eax + 0xf8]
mov dword [0x10118758], eax
call fcn.100e1e68
add esp, 4
push 0
push 0xff000000
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call dword [0x10118758]
add esp, 0x18
vmovss xmm2, dword [0x10100e84]
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vcomiss xmm0, xmm2
jbe 0x100bade6
vmovss xmm1, dword [0x10100b30]
vcomiss xmm1, xmm0
jbe 0x100bade6
vmovss xmm0, dword [eax + 0x14]
vcomiss xmm0, xmm2
jbe 0x100bade6
vcomiss xmm1, xmm0
jbe 0x100bade6
vmovss xmm0, dword [eax + 0x18]
vcomiss xmm0, xmm2
jbe 0x100bade6
vcomiss xmm1, xmm0
ja 0x100bb0b2
mov dword [ebp - 0x18], 0xff32ff32
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x1f8], 0x3232ff32
mov esi, dword [ebp - 0x1f8]
mov dword [ebp - 0x1ec], 0x3232ff32
nop word [eax + eax]
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x18]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [ebp - 0x204]
vcvtss2sd xmm0, xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
mov ecx, dword [0x10117880]
vcvtsd2ss xmm1, xmm0, xmm0
vmulss xmm1, xmm1, dword [0x10100d1c]
mov eax, dword [ecx + 0x9c]
vaddss xmm0, xmm1, dword [eax + 0x14]
vmovss xmm1, dword [ebp - 0x204]
vmovss dword [ebp - 0x1c], xmm0
vcvtss2sd xmm0, xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
mov ecx, dword [0x10117880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10100d1c]
mov eax, dword [ecx + 0x9c]
vaddss xmm0, xmm0, dword [eax + 0x10]
vmovss dword [ebp - 0xb4], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [ebp - 0xb0], xmm0
vmovss xmm0, dword [ebp - 0x18]
vmovss dword [ebp - 0xac], xmm0
mov eax, dword [ecx + 0x9c]
vmovss xmm0, dword [eax + 0x18]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [ebp - 0x204]
vaddss xmm0, xmm0, dword [0x10100b90]
vmovss dword [ebp - 0x204], xmm0
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x200], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
mov ecx, dword [0x10117880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10100d1c]
mov eax, dword [ecx + 0x9c]
vaddss xmm0, xmm0, dword [eax + 0x14]
vmovss dword [ebp - 0x1c], xmm0
vmovsd xmm0, qword [ebp - 0x200]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
mov ecx, dword [0x10117880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10100d1c]
mov eax, dword [ecx + 0x9c]
mov ecx, dword [ebp - 0x208]
vaddss xmm0, xmm0, dword [eax + 0x10]
mov eax, dword [0x10118760]
vmovss dword [ebp - 0xa8], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [ebp - 0xa4], xmm0
vmovss xmm0, dword [ebp - 0x18]
vmovss dword [ebp - 0xa0], xmm0
cmp eax, dword [ecx + 4]
jle 0x100baf95
push 0x10118760
call fcn.100e1eb9
add esp, 4
cmp dword [0x10118760], 0xffffffff
jne 0x100baf95
mov eax, dword [0x10117880]
push 0x10118760
mov eax, dword [eax + 0xf0]
mov dword [0x1011876c], eax
call fcn.100e1e68
add esp, 4
push 0
push edi
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb4]
push eax
call dword [0x1011876c]
mov eax, dword [0x10117880]
add esp, 0x10
mov ecx, dword [ebp - 0x208]
mov eax, dword [eax + 0x9c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10118768]
cmp eax, dword [ecx + 4]
jle 0x100bb006
push 0x10118768
call fcn.100e1eb9
add esp, 4
cmp dword [0x10118768], 0xffffffff
jne 0x100bb006
mov eax, dword [0x10117880]
push 0x10118768
mov eax, dword [eax + 0x100]
mov dword [0x10118754], eax
call fcn.100e1e68
add esp, 4
push 0
push dword [ebp - 0x1ec]
lea eax, [ebp - 0xb4]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [0x10118754]
mov eax, dword [0x10117880]
add esp, 0x14
mov ecx, dword [ebp - 0x208]
mov eax, dword [eax + 0x9c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10118768]
cmp eax, dword [ecx + 4]
jle 0x100bb07f
push 0x10118768
call fcn.100e1eb9
add esp, 4
cmp dword [0x10118768], 0xffffffff
jne 0x100bb07f
mov eax, dword [0x10117880]
push 0x10118768
mov eax, dword [eax + 0x100]
mov dword [0x10118754], eax
call fcn.100e1e68
add esp, 4
push 0
push esi
push dword [ebp - 0x1c]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb4]
push eax
call dword [0x10118754]
vmovsd xmm0, qword [0x10100c50]
add esp, 0x14
vcomisd xmm0, qword [ebp - 0x200]
ja 0x100bae10
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.100e196b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret