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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x10303914], 0
push ebx
push esi
push edi
je 0x10020be4
push 0x10
mov esi, 0x861110
call esi
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x1002015f
cmp byte [0x102e410d], 1
jne 0x10020be4
mov byte [0x102e410d], al
mov dword [0xe8cb3c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
mov edx, 0x861440
mov ecx, eax
call edx
push 0x14
push 0x46
mov ebx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
add ecx, 0x5a
mov dword [ebp - 4], ecx
lea eax, [ebx + 0x78]
push eax
push ecx
mov eax, 0x790b10
call eax
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
cmp al, 1
jne 0x100201fc
push 1
call edi
test ax, ax
jns 0x100201fc
call esi
sub eax, dword [0x11500b74]
cmp eax, 0xc8
jbe 0x100201fc
mov byte [0x102e410d], 1
push 0x1011b2fb
mov dword [0xe8cb3c], 1
push 0x102e42ef
mov byte [0x102e42ee], 1
call fcn.10020040
add esp, 8
mov dword [0x11500b78], 0
call esi
push 0
mov dword [0x11500b74], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0xaf]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1002027b
push 1
call edi
test ax, ax
jns 0x1002027b
call esi
sub eax, dword [0x11500b74]
cmp eax, 0xc8
jbe 0x1002027b
mov byte [0x102e410d], 1
push 0x1011b2fb
mov dword [0xe8cb3c], 1
push 0x102e42ef
mov byte [0x102e42ee], 1
call fcn.10020040
add esp, 8
mov dword [0x11500b78], 1
call esi
push 0
mov dword [0x11500b74], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0xf0]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x100202fa
push 1
call edi
test ax, ax
jns 0x100202fa
call esi
sub eax, dword [0x11500b74]
cmp eax, 0xc8
jbe 0x100202fa
mov byte [0x102e410d], 1
push 0x1011b2fb
mov dword [0xe8cb3c], 1
push 0x102e42ef
mov byte [0x102e42ee], 1
call fcn.10020040
add esp, 8
mov dword [0x11500b78], 2
call esi
push 0
mov dword [0x11500b74], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0x127]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x10020379
push 1
call edi
test ax, ax
jns 0x10020379
call esi
sub eax, dword [0x11500b74]
cmp eax, 0xc8
jbe 0x10020379
mov byte [0x102e410d], 1
push 0x1011b2fb
mov dword [0xe8cb3c], 1
push 0x102e42ef
mov byte [0x102e42ee], 1
call fcn.10020040
add esp, 8
mov dword [0x11500b78], 3
call esi
push 0
mov dword [0x11500b74], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
mov eax, dword [0x114a059c]
movzx eax, byte [eax + 0xb]
push eax
mov eax, 0x405230
call eax
add esp, 4
cmp al, 4
jne 0x10020410
push 0x14
push 0x46
lea eax, [ebx + 0x15e]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x10020410
push 1
call edi
test ax, ax
jns 0x10020410
call esi
sub eax, dword [0x11500b74]
cmp eax, 0xc8
jbe 0x10020410
mov byte [0x102e410d], 1
push 0x1011b2fb
mov dword [0xe8cb3c], 1
push 0x102e42ef
mov byte [0x102e42ee], 1
call fcn.10020040
add esp, 8
mov dword [0x11500b78], 4
call esi
push 0
mov dword [0x11500b74], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
cmp byte [0x102e410d], 0
je 0x10020be4
mov eax, dword [0x10129bac]
cdq
sub eax, edx
sar eax, 1
cmp dword [0x114a059c], 0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm3, dword [0x101204d0]
movss dword [ebp - 4], xmm3
je 0x10020be4
cmp dword [0x114a05a0], 0
je 0x10020be4
movss xmm2, dword [0x102e40f0]
movaps xmm0, xmm3
movss xmm1, dword [0x102e40f4]
addss xmm0, xmm2
sub esp, 0x10
movss dword [0x102e40f8], xmm3
mov ebx, 0x790b50
mov dword [0x102e40fc], 0x42cc0000
movss dword [0x102e4100], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x101204a0]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42cc0000
movss dword [esp], xmm3
push dword [0x102e40ec]
movss dword [0x102e4104], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102e4150]
movaps xmm0, xmm3
movss xmm1, dword [0x102e4154]
addss xmm0, xmm2
movss dword [0x102e4158], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c80000
movss dword [0x102e4160], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10120498]
movss dword [esp], xmm3
push dword [0x102e414c]
mov dword [0x102e415c], 0x42c80000
movss dword [0x102e4164], xmm0
call ebx
movss xmm0, dword [0x102e41b4]
add esp, 4
movss xmm3, dword [ebp - 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x102e41b0]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0x43270000
movss dword [esp], xmm3
push dword [0x102e41ac]
call ebx
movss xmm4, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102e4210]
movaps xmm0, xmm4
movss xmm3, dword [0x102e41b4]
addss xmm0, xmm2
addss xmm3, dword [0x10120580]
movss xmm1, dword [0x102e4214]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [0x102e4220], xmm0
movaps xmm0, xmm3
movss dword [esp + 4], xmm3
addss xmm0, xmm1
movss dword [esp], xmm4
push dword [0x102e420c]
movss dword [0x102e4218], xmm4
movss dword [0x102e421c], xmm3
movss dword [0x102e4224], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
addss xmm3, dword [0x1012061c]
movss xmm2, dword [0x102e4270]
movss xmm1, dword [0x102e4274]
mov dword [0x102e427c], 0x42c60000
subss xmm3, xmm2
addss xmm3, dword [0x1011fd88]
movaps xmm0, xmm3
movss dword [0x102e4278], xmm3
addss xmm0, xmm2
movss dword [0x102e4280], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10120494]
movss dword [0x102e4284], xmm0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c60000
movss dword [esp], xmm3
push dword [0x102e426c]
call ebx
movd xmm2, dword [0x879340c]
add esp, 0x14
movss xmm3, dword [0x102e4278]
mov edi, 0x790f20
movss xmm1, dword [0x10120830]
mov esi, 0x402320
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
ja 0x10020793
comiss xmm2, dword [0x102e4280]
ja 0x10020793
movd xmm0, dword [0x8793410]
movss xmm2, dword [0x102e427c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x10020793
comiss xmm0, dword [0x102e4284]
ja 0x10020793
cmp byte [0x102e428c], 0
mov eax, 0x96323232
movss xmm4, dword [0x102e4274]
mov ecx, 0x64d3d3d3
movss xmm5, dword [0x102e4270]
cmovne ecx, eax
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x100206fb
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x10020719
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102e4280], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [0x102e4284], xmm0
push ecx
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push dword [0x102e426c]
call edi
add esp, 0x20
mov ecx, 0x8128adc
push 0x184
call esi
movss xmm0, dword [0x102e427c]
addss xmm0, dword [0x10120388]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [0x102e4278]
addss xmm0, dword [0x10120318]
push eax
cvttss2si eax, xmm0
push eax
push 0x102de7a0
call fcn.10087880
add esp, 0x10
push 0x104
mov ecx, 0x101e2dc0
call fcn.10047dc0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10120334]
push eax
push 3
push 0xd2
push 0x6e
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
movss xmm4, dword [ebp - 4]
add esp, 0xc
addss xmm4, dword [0x10120394]
movss xmm2, dword [0x102e42d0]
movss xmm3, dword [0x102e40fc]
addss xmm3, dword [0x101203d8]
movss xmm1, dword [0x102e42d4]
movaps xmm0, xmm4
movss dword [esp + 0xc], xmm1
addss xmm0, xmm2
movss dword [esp + 8], xmm2
movss dword [ebp - 8], xmm4
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
push dword [0x102e42cc]
movss dword [0x102e42e0], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [0x102e42d8], xmm4
movss dword [0x102e42dc], xmm3
movss dword [0x102e42e4], xmm0
call ebx
add esp, 0x14
cmp byte [0x102e42ee], 1
jne 0x1002091d
movss xmm0, dword [0x102e42d8]
movss xmm1, dword [0x10120830]
movss xmm2, dword [0x102e40fc]
addss xmm2, dword [0x101203d8]
movss xmm3, dword [0x102e42d4]
movss xmm4, dword [0x102e42d0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100208a9
movss xmm0, dword [0x102e42dc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100208de
movss xmm1, dword [ebp - 8]
movaps xmm0, xmm1
movss dword [0x102e42d8], xmm1
addss xmm0, xmm4
movss dword [0x102e42dc], xmm2
movss dword [0x102e42e0], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [0x102e42e4], xmm0
jmp 0x100208e3
movss xmm1, dword [ebp - 8]
push 0x64d3d3d3
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm4
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
push dword [0x102e42cc]
call edi
add esp, 0x20
mov eax, dword [0x11500b78]
test eax, eax
jne 0x1002092d
push 0xa6
jmp 0x1002095b
cmp eax, 1
jne 0x10020939
push 0xa7
jmp 0x1002095b
cmp eax, 2
jne 0x10020945
push 0xa9
jmp 0x1002095b
cmp eax, 3
jne 0x10020951
push 0xa8
jmp 0x1002095b
cmp eax, 4
jne 0x100209a0
push 0x6ca
mov ecx, 0x8128adc
call esi
movss xmm0, dword [0x102e40fc]
addss xmm0, dword [0x101203f0]
push eax
push 1
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x101203c8]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102de7a0
call fcn.10087460
add esp, 0x1c
movss xmm0, dword [0x102e40fc]
addss xmm0, dword [0x101203f0]
push 0x102e42ef
push 3
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x101203e8]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102de7a0
call fcn.10087460
movss xmm1, dword [0x102e40f0]
add esp, 0x1c
mulss xmm1, dword [0x1011fae4]
movss xmm4, dword [0x102e4330]
movss xmm2, dword [0x10120830]
movaps xmm0, xmm4
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x1011fae4]
movss xmm3, dword [0x102e40fc]
addss xmm3, dword [0x10120468]
movss xmm5, dword [0x102e4334]
subss xmm1, xmm0
movss xmm0, dword [0x102e4338]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10020a50
movss xmm0, dword [0x102e433c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10020a7e
movaps xmm0, xmm1
movss dword [0x102e4338], xmm1
addss xmm0, xmm4
movss dword [0x102e433c], xmm3
movss dword [0x102e4340], xmm0
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102e4344], xmm0
sub esp, 0x18
mov esi, 0x790e40
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm4
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
push dword [0x102e432c]
call esi
movd xmm0, dword [0x879340c]
add esp, 0x1c
movss xmm5, dword [0x102e4338]
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
ja 0x10020be4
comiss xmm0, dword [0x102e4340]
ja 0x10020be4
movd xmm0, dword [0x8793410]
movss xmm4, dword [0x102e433c]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x10020be4
comiss xmm0, dword [0x102e4344]
ja 0x10020be4
movss xmm1, dword [0x102e40f0]
mov eax, 0x3c
mulss xmm1, dword [0x1011fae4]
mov ecx, 0x1e
cmp byte [0x102e434c], 0
movss xmm3, dword [0x102e4330]
movss xmm2, dword [0x102e40fc]
movaps xmm0, xmm3
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x1011fae4]
cmovne ecx, eax
addss xmm2, dword [0x10120468]
subss xmm1, xmm0
movss xmm0, dword [0x10120830]
ucomiss xmm5, xmm0
movss xmm5, dword [0x102e4334]
lahf
test ah, 0x44
jnp 0x10020b7c
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x10020baa
movaps xmm0, xmm1
movss dword [0x102e4338], xmm1
addss xmm0, xmm3
movss dword [0x102e433c], xmm2
movss dword [0x102e4340], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [0x102e4344], xmm0
sub esp, 0x18
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
push dword [0x102e432c]
call esi
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret