Function at 0x100b99b0
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 0x100ee0b5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x218
mov eax, dword [0x10111040]
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 [0x10116950]
mov eax, dword [ecx + 0xc]
lea edi, [ecx + 0xc]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 4]
je 0x100b9a08
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x18]
cmp eax, dword [ecx + 0x1c]
je 0x100b9a13
mov dword [ecx + 0x1c], eax
mov eax, dword [0x10115084]
mov dword [ebp - 0x1ec], eax
test eax, eax
je 0x100bb042
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10114fb4]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10115054]
mov dword [ebp - 0x208], esi
cmp eax, dword [esi + 4]
jle 0x100b9a8d
push 0x10115054
call fcn.100e1f89
add esp, 4
cmp dword [0x10115054], 0xffffffff
jne 0x100b9a8d
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.100e1140
push 0x10115054
mov dword [0x10115010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f38
add esp, 4
mov eax, dword [0x10115010]
mov ecx, dword [ebp - 0x1ec]
cmp byte [ecx + eax], 0
jne 0x100bb042
cmp dword [0x10115000], 0
je 0x100bb042
mov eax, dword [0x101168b0]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x94], 0
je 0x100bb042
mov ecx, dword [0x101151d8]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x100bb042
mov ecx, dword [0x10114ffc]
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 [0x10117298]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100ac3e0
test al, al
je 0x100bb042
mov eax, dword [0x101168b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
cmp dword [eax + 0x14], 0
jle 0x100b9dee
mov ecx, dword [0x10115000]
test ecx, ecx
je 0x100b9dee
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100b9dee
mov eax, dword [0x10115084]
mov dword [ebp - 0x1ec], eax
mov eax, dword [0x101150a0]
cmp eax, dword [esi + 4]
jle 0x100b9bd1
push 0x101150a0
call fcn.100e1f89
add esp, 4
cmp dword [0x101150a0], 0xffffffff
jne 0x100b9bd1
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 1
call fcn.100e1140
push 0x101150a0
mov dword [0x10115090], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f38
add esp, 4
mov eax, dword [0x10115090]
mov ecx, dword [ebp - 0x1ec]
cmp dword [eax + ecx], 4
jne 0x100b9dee
mov eax, dword [0x101168b0]
mov ecx, dword [0x10115014]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
vcvtsi2ss xmm0, xmm0, dword [eax + 0x14]
vdivss xmm0, xmm0, dword [0x1010098c]
mov eax, dword [0x10115000]
vmovss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x1ec], eax
cmp ecx, dword [esi + 4]
jle 0x100b9c6d
push 0x10115014
call fcn.100e1f89
mov ecx, dword [0x10115014]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100b9c6d
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 2
call fcn.100e1140
push 0x10115014
mov dword [0x10115030], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f38
mov ecx, dword [0x10115014]
add esp, 4
mov eax, dword [0x10115030]
mov edx, dword [ebp - 0x1ec]
cmp dword [eax + edx], 0x47e
jne 0x100b9ca2
mov eax, dword [0x101168b0]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
vcvtsi2ss xmm0, xmm0, dword [eax + 0x14]
vdivss xmm0, xmm0, dword [0x101009e0]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [0x10100968]
mov eax, dword [0x10115000]
vmovss dword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x1f8], eax
cmp ecx, dword [esi + 4]
jle 0x100b9d0a
push 0x10115014
call fcn.100e1f89
add esp, 4
cmp dword [0x10115014], 0xffffffff
jne 0x100b9d0a
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 3
call fcn.100e1140
push 0x10115014
mov dword [0x10115030], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f38
add esp, 4
mov eax, dword [0x10115030]
mov ecx, dword [ebp - 0x1f8]
cmp dword [eax + ecx], 0x47e
jne 0x100b9d2e
vmovss xmm0, dword [0x10100944]
vmovss dword [ebp - 0x1ec], xmm0
vmovss xmm1, dword [0x10100930]
push 0
push ecx
push dword [0x10115000]
push str.stickybomb_charge_rate
call fcn.100d4300
mov eax, dword [0x101150ac]
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 0x100b9d8c
vcomiss xmm1, xmm0
jb 0x100b9d82
vmovss xmm0, dword [0x10100afc]
jmp 0x100b9de6
vmovss xmm0, dword [0x10100ac4]
jmp 0x100b9de6
vsubss xmm0, xmm0, xmm2
vsubss xmm1, xmm1, xmm2
vdivss xmm0, xmm1, xmm0
vmovss xmm1, dword [0x10100898]
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 [0x10100ae8]
vaddss xmm0, xmm0, dword [0x10100ac4]
vmovss dword [ebp - 0x16c], xmm0
push 0
lea eax, [ebp - 0x188]
push eax
call fcn.100abd40
test al, al
je 0x100bb042
mov eax, dword [0x101168b0]
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 0x100b9e37
cmp dword [0x10115228], 0
jne 0x100b9e76
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x10115228], eax
vxorps xmm1, xmm1, xmm1
mov edx, dword [0x101150ac]
vmovss xmm0, dword [0x10100958]
vmovss xmm2, dword [0x10100b2c]
mov dword [ebp - 0x1ec], 0
vdivss xmm0, xmm0, dword [edx + 0x1c]
vaddss xmm0, xmm0, dword [0x10100870]
vcvttss2si eax, xmm0
test eax, eax
jle 0x100bad2c
jmp 0x100b9ec4
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10115228]
jne 0x100b9e37
mov ecx, dword [0x1011509c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
vxorps xmm1, xmm1, xmm1
test al, al
jne 0x100b9e3b
mov eax, dword [0x10116880]
mov eax, dword [eax + 0x9c]
vmovss dword [eax + 0x10], xmm1
vmovss dword [eax + 0x14], xmm1
vmovss dword [eax + 0x18], xmm1
jmp 0x100b9e3b
vxorps xmm1, xmm1, xmm1
mov ecx, dword [0x10115360]
test ecx, ecx
jne 0x100b9ee8
vmovss dword [ebp - 0x200], xmm1
vmovss dword [ebp - 0x1fc], xmm1
vmovss dword [ebp - 0x1f8], xmm1
jmp 0x100b9f39
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 [0x101150ac]
mov ecx, dword [0x10115360]
vmovq qword [ebp - 0x200], xmm0
mov dword [ebp - 0x1f8], eax
mov esi, dword [0x10115364]
test esi, esi
je 0x100b9f5e
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 [0x10115360]
vxorps xmm0, xmm0, xmm0
test ecx, ecx
jne 0x100b9f77
vmovss dword [ebp - 0x30], xmm0
vmovss dword [ebp - 0x2c], xmm0
vmovss dword [ebp - 0x28], xmm0
jmp 0x100b9fa4
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 0x100b9fda
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 0x100b9fe9
lea ecx, [ebp - 0x200]
push ecx
push eax
mov ecx, edi
call fcn.100244b0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x20]
je 0x100ba019
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 0x100ba026
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [esi + 0x18]
call fcn.100244b0
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 0x100ba0e5
mov byte [ebp - 0x11f], 0
vmovss xmm0, dword [0x10100930]
mov ecx, dword [0x10115094]
lea edx, [ebp - 0x1e0]
mov eax, dword [0x10115084]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0x1b4]
ja 0x100ba1e2
cmp byte [ebp - 0x1aa], 0
jne 0x100ba1e2
cmp byte [ebp - 0x1a9], 0
jne 0x100ba1e2
mov edx, dword [0x101150ac]
vmovss xmm0, dword [0x10100958]
mov esi, dword [ebp - 0x1ec]
inc esi
vdivss xmm0, xmm0, dword [edx + 0x1c]
vaddss xmm0, xmm0, dword [0x10100870]
vcvttss2si eax, xmm0
mov dword [ebp - 0x1ec], esi
cmp esi, eax
jl 0x100b9ec0
jmp 0x100bad24
mov eax, dword [0x10116880]
vmovss xmm3, dword [0x10100b2c]
mov ecx, dword [eax + 0x9c]
vmovss xmm0, dword [ecx + 0x10]
vcomiss xmm0, xmm3
jbe 0x100ba250
vmovss xmm2, dword [0x101007d8]
vcomiss xmm2, xmm0
jbe 0x100ba250
vmovss xmm1, dword [ecx + 0x14]
vcomiss xmm1, xmm3
jbe 0x100ba250
vcomiss xmm2, xmm1
jbe 0x100ba250
vmovss xmm1, dword [ecx + 0x18]
vcomiss xmm1, xmm3
jbe 0x100ba250
vcomiss xmm2, xmm1
jbe 0x100ba250
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 0x100ba261
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 [0x10115000]
test ecx, ecx
je 0x100bab58
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
jne 0x100bab58
mov eax, dword [0x101168b0]
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 0x100bab58
cmp dword [0x10115228], 0
jne 0x100ba2be
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x10115228], eax
jmp 0x100bab58
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10115228]
jne 0x100bab58
mov ecx, dword [0x1011509c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100bab58
mov eax, dword [0x10116880]
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 [0x10116880]
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 [0x10100968]
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 0x100ba3bf
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba46b
cmp byte [ebp - 0xda], 0
jne 0x100ba46b
cmp byte [ebp - 0xd9], 0
je 0x100ba4a2
mov eax, dword [0x10116880]
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 [0x10100974]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba4a6
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10116880]
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 [0x10100968]
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 0x100ba50b
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba5c3
cmp byte [ebp - 0xda], 0
jne 0x100ba5c3
cmp byte [ebp - 0xd9], 0
je 0x100ba5fa
mov eax, dword [0x10116880]
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 [0x10100974]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba5fe
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10116880]
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 [0x101009c4]
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 0x100ba663
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba71b
cmp byte [ebp - 0xda], 0
jne 0x100ba71b
cmp byte [ebp - 0xd9], 0
je 0x100ba752
mov eax, dword [0x10116880]
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 [0x101009c8]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm5, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba756
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10116880]
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 [0x101009c4]
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 0x100ba7bb
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba873
cmp byte [ebp - 0xda], 0
jne 0x100ba873
cmp byte [ebp - 0xd9], 0
je 0x100ba8aa
mov eax, dword [0x10116880]
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 [0x101009c8]
vmovss dword [eax + 0x14], xmm0
vaddss xmm0, xmm5, dword [eax + 0x18]
vmovss dword [eax + 0x18], xmm0
jmp 0x100ba8ae
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10116880]
mov ecx, dword [eax + 0x9c]
vmovss xmm1, dword [ecx + 0x10]
vsubss xmm0, xmm1, dword [0x101009c4]
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 0x100ba913
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100ba9cb
cmp byte [ebp - 0xda], 0
jne 0x100ba9cb
cmp byte [ebp - 0xd9], 0
je 0x100baa02
mov eax, dword [0x10116880]
vxorps xmm5, xmm5, xmm5
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vaddss xmm0, xmm0, dword [0x101009c8]
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 0x100baa06
vxorps xmm5, xmm5, xmm5
mov eax, dword [0x10116880]
mov ecx, dword [eax + 0x9c]
vmovss xmm1, dword [ecx + 0x10]
vaddss xmm0, xmm1, dword [0x101009c4]
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 0x100baa6b
mov byte [ebp - 0x4f], 0
vmovss xmm0, dword [0x10100930]
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 [0x10115094]
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 [0x10100b28]
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 [0x10100898]
vcomiss xmm0, dword [ebp - 0xe4]
ja 0x100bab23
cmp byte [ebp - 0xda], 0
jne 0x100bab23
cmp byte [ebp - 0xd9], 0
je 0x100bab58
mov eax, dword [0x10116880]
vxorps xmm1, xmm1, xmm1
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [0x101009c8]
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.10041410
mov eax, dword [0x101168b0]
mov edi, dword [ebp - 0x208]
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
vmovss xmm0, dword [eax + 0x98]
vmulss xmm0, xmm0, dword [0x10100a54]
vcvttss2si eax, xmm0
vmovss xmm0, dword [0x10100898]
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 [0x10100940]
vmovss dword [ebp - 0x98], xmm0
vmovss dword [ebp - 0x94], xmm0
vmovss xmm0, dword [0x10100b38]
shl esi, 8
or esi, eax
mov eax, dword [0x10117754]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [0x10100b48]
vmovss dword [ebp - 0x20], xmm0
vmovss dword [ebp - 0x1c], xmm0
cmp eax, dword [edi + 4]
jle 0x100bac4d
push 0x10117754
call fcn.100e1f89
add esp, 4
cmp dword [0x10117754], 0xffffffff
jne 0x100bac4d
mov eax, dword [0x10116880]
push 0x10117754
mov eax, dword [eax + 0xf4]
mov dword [0x1011773c], eax
call fcn.100e1f38
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 [0x1011773c]
vmovss xmm0, dword [0x10100898]
mov eax, dword [0x10117750]
add esp, 0x1c
vmovss dword [ebp - 0x214], xmm0
vmovss xmm0, dword [0x10100940]
vmovss dword [ebp - 0x210], xmm0
vmovss dword [ebp - 0x20c], xmm0
vmovss xmm0, dword [0x10100b38]
vmovss dword [ebp - 0x220], xmm0
vmovss xmm0, dword [0x10100b48]
vmovss dword [ebp - 0x21c], xmm0
vmovss dword [ebp - 0x218], xmm0
cmp eax, dword [edi + 4]
jle 0x100bacfe
push 0x10117750
call fcn.100e1f89
add esp, 4
cmp dword [0x10117750], 0xffffffff
jne 0x100bacfe
mov eax, dword [0x10116880]
push 0x10117750
mov eax, dword [eax + 0xf8]
mov dword [0x10117738], eax
call fcn.100e1f38
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 [0x10117738]
add esp, 0x18
vmovss xmm2, dword [0x10100b2c]
mov eax, dword [0x10116880]
mov eax, dword [eax + 0x9c]
vmovss xmm0, dword [eax + 0x10]
vcomiss xmm0, xmm2
jbe 0x100bad76
vmovss xmm1, dword [0x101007d8]
vcomiss xmm1, xmm0
jbe 0x100bad76
vmovss xmm0, dword [eax + 0x14]
vcomiss xmm0, xmm2
jbe 0x100bad76
vcomiss xmm1, xmm0
jbe 0x100bad76
vmovss xmm0, dword [eax + 0x18]
vcomiss xmm0, xmm2
jbe 0x100bad76
vcomiss xmm1, xmm0
ja 0x100bb042
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 [0x10116880]
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 [0x10116880]
vcvtsd2ss xmm1, xmm0, xmm0
vmulss xmm1, xmm1, dword [0x101009c4]
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 [0x10116880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x101009c4]
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 [0x10100838]
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 [0x10116880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x101009c4]
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 [0x10116880]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x101009c4]
mov eax, dword [ecx + 0x9c]
mov ecx, dword [ebp - 0x208]
vaddss xmm0, xmm0, dword [eax + 0x10]
mov eax, dword [0x10117740]
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 0x100baf25
push 0x10117740
call fcn.100e1f89
add esp, 4
cmp dword [0x10117740], 0xffffffff
jne 0x100baf25
mov eax, dword [0x10116880]
push 0x10117740
mov eax, dword [eax + 0xf0]
mov dword [0x1011774c], eax
call fcn.100e1f38
add esp, 4
push 0
push edi
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb4]
push eax
call dword [0x1011774c]
mov eax, dword [0x10116880]
add esp, 0x10
mov ecx, dword [ebp - 0x208]
mov eax, dword [eax + 0x9c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10117748]
cmp eax, dword [ecx + 4]
jle 0x100baf96
push 0x10117748
call fcn.100e1f89
add esp, 4
cmp dword [0x10117748], 0xffffffff
jne 0x100baf96
mov eax, dword [0x10116880]
push 0x10117748
mov eax, dword [eax + 0x100]
mov dword [0x10117734], eax
call fcn.100e1f38
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 [0x10117734]
mov eax, dword [0x10116880]
add esp, 0x14
mov ecx, dword [ebp - 0x208]
mov eax, dword [eax + 0x9c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10117748]
cmp eax, dword [ecx + 4]
jle 0x100bb00f
push 0x10117748
call fcn.100e1f89
add esp, 4
cmp dword [0x10117748], 0xffffffff
jne 0x100bb00f
mov eax, dword [0x10116880]
push 0x10117748
mov eax, dword [eax + 0x100]
mov dword [0x10117734], eax
call fcn.100e1f38
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 [0x10117734]
vmovsd xmm0, qword [0x101008f8]
add esp, 0x14
vcomisd xmm0, qword [ebp - 0x200]
ja 0x100bada0
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.100e1a3b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret