Function at 0x1000bb80
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
cmp dword [0x1001d720], 1
push ebx
push esi
push edi
jne 0x1000bebc
mov eax, dword [0x1001e7cc]
mov dword [eax], 1
mov eax, dword [0x1001eae8]
cmp dword [eax], 1
jne 0x1000bebc
sub esp, 0xc
mov dword [esp + 0x28], 0
mov ecx, esp
mov dword [esp + 0x2c], 8
lea eax, [esp + 0x3c]
mov dword [esp + 0x30], 4
lea edx, [esp + 0x28]
mov dword [esp + 0x34], 0
push ecx
push eax
push edx
mov dword [esp + 0x44], 0x114
call fcn.1000e830
mov ecx, dword [0x1001eaf0]
call fcn.10004700
mov ecx, esp
mov dword [esp + 0x3c], 0
mov ebx, eax
mov dword [esp + 0x40], 8
push ecx
lea eax, [esp + 0x54]
mov dword [esp + 0x48], 4
lea edx, [esp + 0x40]
mov dword [esp + 0x4c], 0
push eax
push edx
mov dword [esp + 0x58], 0x11c
call fcn.1000e830
mov ecx, dword [0x1001eaf0]
call fcn.10004700
mov ecx, esp
mov dword [esp + 0x18], eax
push ecx
lea eax, [esp + 0x68]
mov dword [esp + 0x54], 0
lea edx, [esp + 0x54]
mov dword [esp + 0x58], 8
push eax
push edx
mov dword [esp + 0x64], 4
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0x124
call fcn.1000e830
mov ecx, dword [0x1001eaf0]
call fcn.10004700
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0xc
cmp byte [0x1001d1f2], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x10], eax
jne 0x1000bcf6
push 0x45
call edi
movsx ecx, ax
shr ecx, 0x10
test ecx, ecx
je 0x1000bcef
cmp byte [0x1001f520], 0
je 0x1000bcd8
cmp dword [0x1001f524], 0
je 0x1000bcf6
call esi
mov ecx, dword [0x1001f524]
add ecx, 0x96
cmp ecx, eax
ja 0x1000bcf6
mov byte [0x1001f520], 1
call esi
mov dword [0x1001f524], eax
mov byte [0x1001d1f2], 1
jmp 0x1000bd03
mov byte [0x1001f520], 0
cmp byte [0x1001d1f2], 1
jne 0x1000bebc
movss xmm0, dword [0x1001d17c]
addss xmm0, dword [0x10018e78]
movss xmm1, dword [0x1001d208]
subss xmm1, dword [0x1001d45c]
movss xmm2, dword [0x1001d148]
subss xmm2, dword [0x1001d480]
movss dword [esp + 0x14], xmm0
subss xmm0, dword [0x1001d0b0]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000bd67
sqrtsd xmm0, xmm0
jmp 0x1000bd6c
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cmp byte [0x1001d1f0], 0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x18], xmm0
jne 0x1000bde0
movss xmm0, dword [0x1001d208]
mov eax, dword [esp + 0xc]
movss dword [0x1001d45c], xmm0
movss xmm0, dword [0x1001d148]
movss dword [0x1001d480], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [0x1001d0b0], xmm0
movss xmm0, dword [ebx]
movss dword [0x1001d12c], xmm0
movss xmm0, dword [eax]
mov eax, dword [esp + 0x10]
movss dword [0x1001d194], xmm0
mov byte [0x1001d1f0], 1
movss xmm0, dword [eax]
movss dword [0x1001d3a0], xmm0
push 0x45
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x1000be5b
cmp byte [0x1001f520], 0
je 0x1000be10
cmp dword [0x1001f524], 0
je 0x1000be62
call esi
mov ecx, dword [0x1001f524]
add ecx, 0x96
cmp ecx, eax
ja 0x1000be62
mov byte [0x1001f520], 1
call esi
movss xmm0, dword [0x10018ec0]
comiss xmm0, dword [esp + 0x18]
mov dword [0x1001f524], eax
jbe 0x1000be62
movss xmm0, dword [0x1001d12c]
mov eax, dword [esp + 0xc]
movss dword [ebx], xmm0
movss xmm0, dword [0x1001d194]
movss dword [eax], xmm0
mov eax, dword [esp + 0x10]
movss xmm0, dword [0x1001d3a0]
movss dword [eax], xmm0
jmp 0x1000be62
mov byte [0x1001f520], 0
push 0x52
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x1000beb5
cmp byte [0x1001f588], 0
je 0x1000be92
cmp dword [0x1001f58c], 0
je 0x1000bebc
call esi
mov ecx, dword [0x1001f58c]
add ecx, 0xc8
cmp ecx, eax
ja 0x1000bebc
mov byte [0x1001f588], 1
call esi
mov dword [0x1001f58c], eax
mov byte [0x1001d1f2], 0
mov byte [0x1001d1f0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [0x1001f588], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret