Function at 0x10067f60
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x100b1040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100b2098]
push ebx
mov ebx, dword [0x100b236c]
push esi
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100b2894]
push edi
cmp eax, dword [esi + 4]
jle 0x10067fc5
push 0x100b2894
call fcn.1007c6b8
add esp, 4
cmp dword [0x100b2894], 0xffffffff
jne 0x10067fc5
mov eax, dword [0x100b2508]
push 0x100b2894
mov dword [0x100b2844], eax
call fcn.1007c667
add esp, 4
mov eax, dword [0x100b2900]
cmp eax, dword [esi + 4]
jle 0x10067fff
push 0x100b2900
call fcn.1007c6b8
add esp, 4
cmp dword [0x100b2900], 0xffffffff
jne 0x10067fff
mov eax, dword [0x100b24f8]
push 0x100b2900
mov dword [0x100b284c], eax
call fcn.1007c667
add esp, 4
mov eax, dword [0x100b284c]
xorps xmm1, xmm1
cdq
sub eax, edx
movss dword [ebp - 0x124], xmm1
sar eax, 1
movd xmm0, eax
mov eax, dword [0x100b2844]
cdq
cvtdq2ps xmm0, xmm0
sub eax, edx
sar eax, 1
add eax, 0x14
cmp byte [0x100b22d9], 0
movss dword [ebp - 0x10c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [0x100b22fc]
je 0x10068066
addss xmm0, dword [0x100aafa0]
movss xmm1, dword [0x100ab010]
minss xmm1, xmm0
jmp 0x10068072
subss xmm0, dword [0x100aafa0]
maxss xmm1, xmm0
push dword [0x100b2384]
movss dword [0x100b22fc], xmm1
call dword [sym.imp.USER32.dll_GetKeyState]
movss xmm0, dword [0x100b2300]
test al, 1
je 0x100680a8
addss xmm0, dword [0x100aafa0]
movss xmm1, dword [0x100ab010]
minss xmm1, xmm0
jmp 0x100680b7
subss xmm0, dword [0x100aafa0]
xorps xmm1, xmm1
maxss xmm1, xmm0
cmp byte [0x100b210f], 0
mov ecx, 0x100b119c
mov edi, dword [0x100b2110]
mov eax, 0x100b11ac
movss xmm3, dword [0x100ab1c8]
cmove eax, ecx
push ecx
push 0
push str.hotel
movups xmm0, xmmword [eax]
push ecx
movss dword [0x100b2300], xmm1
lea eax, [ebp - 0x118]
movss xmm2, dword [edi + 0x3cf4]
mov ecx, dword [edi + 0x3cf0]
mov dword [esp], 0xbf800000
push eax
movups xmmword [0x100b2154], xmm0
call fcn.1003d560
movss xmm0, dword [ebp - 0x118]
lea eax, [ebp - 0x118]
addss xmm0, dword [0x100ab008]
movss xmm3, dword [0x100ab1c8]
movss xmm2, dword [edi + 0x3cf4]
push ecx
push 0
push str.white
push ecx
mov ecx, dword [edi + 0x3cf0]
mov dword [esp], 0xbf800000
push eax
cvttss2si esi, xmm0
call fcn.1003d560
push 0
push ecx
lea ecx, [ebp - 0x120]
mov dword [esp], 0
push 0x100a63f1
push str.hotel
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [0x100ab008]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x134]
push ecx
cvttss2si eax, xmm0
push ebx
movd xmm0, eax
mov eax, dword [ebx + 0x2c]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 8]
movss xmm2, dword [eax + 0xc]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x10c]
mulss xmm0, dword [0x100aafcc]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x130], xmm0
movups xmm0, xmmword [ebx + 0x60]
movss dword [ebp - 0x12c], xmm1
movss dword [ebp - 0x134], xmm1
movups xmmword [ebp - 0x120], xmm0
call fcn.1003d710
movss xmm0, dword [ebp - 0x12c]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss xmm1, dword [0x100ab17c]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [0x100b10f0]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100b10ec]
mulss xmm0, xmm1
or ecx, 0xff00
shl ecx, 8
cvttss2si eax, xmm0
or ecx, eax
shl ecx, 8
movss xmm0, dword [0x100b10e8]
lea edx, [ebp - 0x120]
mulss xmm0, xmm1
push 0
cvttss2si eax, xmm0
movups xmm0, xmmword [ebx + 0x60]
or ecx, eax
mov eax, dword [ebx + 0x2c]
push ecx
mov dword [esp], 0
push 0x100a63f9
movss xmm2, dword [eax + 0xc]
push str.white
push edx
push ecx
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax + 8]
push ebx
movups xmmword [ebp - 0x120], xmm0
call fcn.1003d710
movss xmm0, dword [0x100b22fc]
comiss xmm0, dword [0x100aaf50]
jbe 0x100683dd
mov ecx, dword [0x100b2110]
lea eax, [ebp - 0x118]
movss xmm3, dword [0x100ab1c8]
push ecx
push 0
movss xmm2, dword [ecx + 0x3cf4]
push str.autopeek
push ecx
mov ecx, dword [ecx + 0x3cf0]
mov dword [esp], 0xbf800000
push eax
call fcn.1003d560
movss xmm1, dword [0x100ab17c]
movss xmm0, dword [0x100b22fc]
mulss xmm0, xmm1
movss xmm2, dword [0x100ab11c]
movss dword [ebp - 0x124], xmm2
cvttss2si ecx, xmm0
movss xmm0, dword [0x100b215c]
mulss xmm0, xmm1
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100b2158]
mulss xmm0, xmm1
or ecx, eax
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100b2154]
mulss xmm0, xmm1
or ecx, eax
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [0x100ab008]
or ecx, eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x10c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x100aafcc]
subss xmm0, xmm1
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x110]
addss xmm0, xmm2
movss dword [ebp - 0x114], xmm0
test ecx, 0xff000000
je 0x100683dd
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0x13c]
movups xmm0, xmmword [ebx + 0x60]
push 0
push ecx
movss xmm2, dword [eax + 0xc]
mov dword [esp], 0
push 0x100a6404
push str.autopeek
push edx
push ecx
lea ecx, [ebp - 0x118]
push ecx
mov ecx, dword [eax + 8]
push ebx
movups xmmword [ebp - 0x13c], xmm0
call fcn.1003d710
cmp byte [0x100b23a9], 0
je 0x10068566
push dword [0x100b213c]
lea eax, [ebp - 0x108]
push str.bSendPacket:
push str._s_s
push 0x100
push eax
call fcn.10055cb0
mov ecx, dword [0x100b2110]
lea eax, [ebp - 0x108]
movss xmm3, dword [0x100ab1c8]
add esp, 0x10
movss xmm2, dword [ecx + 0x3cf4]
push 0
push eax
push ecx
mov ecx, dword [ecx + 0x3cf0]
lea eax, [ebp - 0x118]
mov dword [esp], 0xbf800000
push eax
call fcn.1003d560
cmp byte [0x100b1238], 0
mov eax, 0x100b11ac
movss xmm3, dword [0x100ab17c]
mov ecx, 0x100b119c
cmove eax, ecx
movss xmm2, dword [ebp - 0x124]
addss xmm2, dword [0x100ab11c]
movups xmm1, xmmword [eax]
movss dword [ebp - 0x124], xmm2
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
mulss xmm0, xmm3
movups xmmword [0x100b2140], xmm1
cvttss2si edx, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
or edx, 0xff00
mulss xmm0, xmm3
shl edx, 8
mulss xmm1, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [0x100ab008]
or edx, eax
cvttss2si eax, xmm1
shl edx, 8
or edx, eax
cmp byte [ebp - 0x108], 0
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x10c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x100aafcc]
subss xmm0, xmm1
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x110]
addss xmm0, xmm2
movss dword [ebp - 0x114], xmm0
je 0x10068566
lea ecx, [ebp - 0x108]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10068518
movups xmm0, xmmword [ebx + 0x60]
sub ecx, esi
lea eax, [ebp - 0x108]
add ecx, eax
mov eax, dword [ebx + 0x2c]
push 0
push ecx
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push ecx
lea ecx, [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x13c]
push ecx
push edx
lea ecx, [ebp - 0x118]
push ecx
mov ecx, dword [eax + 8]
push ebx
movups xmmword [ebp - 0x13c], xmm0
call fcn.1003d710
cmp byte [0x100b2367], 0
je 0x10068685
movss xmm0, dword [0x100b2300]
comiss xmm0, dword [0x100aaf50]
jbe 0x10068685
mov ecx, dword [0x100b2110]
lea eax, [ebp - 0x118]
movss xmm3, dword [0x100ab1c8]
push ecx
push 0
movss xmm2, dword [ecx + 0x3cf4]
push str.force_body
push ecx
mov ecx, dword [ecx + 0x3cf0]
mov dword [esp], 0xbf800000
push eax
call fcn.1003d560
movss xmm0, dword [0x100b2300]
mulss xmm0, dword [0x100ab17c]
movss xmm2, dword [ebp - 0x124]
addss xmm2, dword [0x100ab11c]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [0x100ab008]
shl ecx, 0x18
mov edx, ecx
movss dword [ebp - 0x124], xmm2
or edx, 0xffffff
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x10c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x100aafcc]
subss xmm0, xmm1
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x110]
addss xmm0, xmm2
movss dword [ebp - 0x114], xmm0
test ecx, ecx
je 0x10068685
mov eax, dword [ebx + 0x2c]
movups xmm0, xmmword [ebx + 0x60]
push 0
push ecx
movss xmm2, dword [eax + 0xc]
lea ecx, [ebp - 0x13c]
mov dword [esp], 0
push 0x100a642a
push str.force_body
push ecx
push edx
lea ecx, [ebp - 0x118]
push ecx
mov ecx, dword [eax + 8]
push ebx
movups xmmword [ebp - 0x13c], xmm0
call fcn.1003d710
mov edx, dword [0x100b24e4]
cmp byte [edx + 0x9b], 0
jne 0x10068845
mov ecx, dword [0x100b251c]
push dword [edx + 0x2bdc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
movss xmm1, dword [0x100ab010]
lea esi, [ebp - 0x12c]
push 0
push ecx
movss xmm0, dword [eax + 0x2588]
mov ecx, ebx
mov eax, dword [0x100b24e8]
mov dword [esp], 0x41400000
push 0x80000000
mov dword [ebp - 0x144], 0x3f800000
subss xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x140]
mov dword [ebp - 0x12c], 0
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [0x100ab13c]
movss dword [ebp - 0x130], xmm1
cmovbe esi, eax
movss dword [ebp - 0x140], xmm1
lea eax, [ebp - 0x128]
movss xmm1, dword [ebp - 0x110]
addss xmm1, dword [ebp - 0x124]
movss dword [ebp - 0x10c], xmm0
movss dword [ebp - 0x118], xmm0
addss xmm0, dword [0x100ab168]
push eax
addss xmm1, dword [0x100ab11c]
lea eax, [ebp - 0x118]
push eax
movss dword [ebp - 0x128], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x110], xmm1
addss xmm0, dword [0x100ab0c0]
movss dword [ebp - 0x114], xmm1
movss dword [ebp - 0x124], xmm0
call fcn.10038dc0
movss xmm0, dword [ebp - 0x130]
lea eax, [ebp - 0x144]
comiss xmm0, dword [0x100ab010]
push 0
push ecx
mov ecx, ebx
mov dword [esp], 0x41400000
movss xmm1, dword [0x100ab17c]
cmovbe eax, esi
movss xmm0, dword [eax]
mulss xmm0, dword [0x100ab168]
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x110]
addss xmm0, dword [0x100ab0c0]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [0x100b10f0]
mulss xmm0, xmm1
cvttss2si edx, xmm0
movss xmm0, dword [0x100b10ec]
mulss xmm0, xmm1
or edx, 0xff00
shl edx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100b10e8]
or edx, eax
mulss xmm0, xmm1
shl edx, 8
cvttss2si eax, xmm0
or edx, eax
lea eax, [ebp - 0x134]
push edx
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.10038dc0
push dword [0x100b2390]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [ebp - 4]
shr eax, 0xf
xor ecx, ebp
pop edi
and al, 1
pop esi
mov byte [0x100b22d9], al
pop ebx
call fcn.1007c18b
mov esp, ebp
pop ebp
ret