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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x28
mov eax, dword [0x100bc040]
xor eax, esp
mov dword [esp + 0x24], eax
imul eax, dword [0x101a0fdb], 0x189
cmp dword [0x101a0fdb], 0xffffffff
push esi
push edi
mov edx, dword [eax + 0x101a14c4]
mov dword [esp + 8], edx
mov dl, byte [eax + 0x101a14d4]
je 0x100067af
cmp byte [0x10201c8c], 0
mov edi, 0xb6ec14
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
lea esi, [edi - 4]
jne 0x10006305
movss xmm0, dword [edi]
movss dword [0x10201c94], xmm0
movss xmm0, dword [esi]
movss dword [0x10201c90], xmm0
mov byte [0x10201c8c], 1
mov eax, dword [0x1019c8a8]
test eax, eax
jne 0x10006501
test dl, dl
jne 0x100063d0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, 0x1f4
cmp eax, dword [0x1020166c]
jbe 0x10006348
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdq
mov ecx, 7
idiv ecx
mov esi, edx
call edi
mov dword [0x1020166c], eax
jmp 0x1000634c
mov esi, dword [esp + 8]
cmp esi, 6
ja case.default.0x10006351
jmp dword [esi*4 + 0x100067c0]
mov edi, 0xb6ec14
mov eax, 0x2b
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 0x20
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 5
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 0x1f
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 0x23
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 0x21
lea esi, [edi - 4]
jmp 0x100063d5
mov edi, 0xb6ec14
mov eax, 4
lea esi, [edi - 4]
jmp 0x100063d5
mov eax, dword [0x1019fcc8]
mov edi, 0xb6ec14
lea esi, [edi - 4]
jmp 0x100063da
mov eax, 8
mov dword [0x1019fcc8], eax
lea ecx, [esp + 0x20]
push ecx
push eax
push dword [esp + 0x10]
call fcn.10042770
movss xmm4, dword [esp + 0x30]
mov eax, 0xb6fa2c
movss xmm3, dword [esp + 0x2c]
movaps xmm1, xmm4
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmm5, xmmword [eax + 0x20]
movups xmm6, xmmword [eax + 0x10]
movaps xmmword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x28]
movaps xmm2, xmm0
movss dword [esp + 8], xmm0
movups xmm7, xmmword [eax + 0x30]
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xaa
mulss xmm2, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
mulss xmm1, xmm0
movaps xmm0, xmm7
shufps xmm0, xmm7, 0xaa
addss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, dword [eax + 8]
addss xmm2, xmm1
movsd xmm1, qword [0x100b28b0]
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movss xmm2, dword [esp + 8]
divsd xmm1, xmm0
mulss xmm2, xmm5
movaps xmm0, xmm4
mulss xmm0, xmm6
shufps xmm5, xmm5, 0x55
shufps xmm6, xmm6, 0x55
addss xmm2, xmm0
mulss xmm4, xmm6
movaps xmm0, xmm3
mulss xmm3, dword [esp + 0x14]
movss dword [esp + 0xc], xmm2
movups xmm2, xmmword [eax]
mov eax, dword [0xc17044]
mulss xmm0, xmm2
movss xmm2, dword [esp + 0xc]
addss xmm2, xmm0
movaps xmm0, xmm2
addss xmm0, xmm7
shufps xmm7, xmm7, 0x55
movss dword [esp + 0xc], xmm0
movss xmm2, dword [esp + 0xc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b2de0]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm2, xmm0
movss xmm0, dword [esp + 8]
mulss xmm0, xmm5
movss dword [esp + 0xc], xmm2
addss xmm0, xmm4
addss xmm0, xmm3
addss xmm0, xmm7
jmp 0x100066e5
cmp eax, 1
jne 0x1000650e
lea ecx, [eax + 6]
jmp 0x100065c9
cmp eax, 2
jne 0x1000651b
lea ecx, [eax + 1]
jmp 0x100065c9
cmp eax, 3
jne 0x10006528
lea ecx, [eax + 0x1e]
jmp 0x100065c9
cmp eax, 4
jne 0x10006535
lea ecx, [eax + 0x13]
jmp 0x100065c9
cmp eax, 5
jne 0x10006542
lea ecx, [eax + 0x1e]
jmp 0x100065c9
cmp eax, 6
jne 0x1000654c
lea ecx, [eax + 0x13]
jmp 0x100065c9
cmp eax, 7
jne 0x10006556
lea ecx, [eax + 0x22]
jmp 0x100065c9
cmp eax, 8
jne 0x10006560
lea ecx, [eax + 0x2b]
jmp 0x100065c9
cmp eax, 9
jne 0x1000656a
lea ecx, [eax + 0x23]
jmp 0x100065c9
cmp eax, 0xa
jne 0x10006574
lea ecx, [eax + 0x2c]
jmp 0x100065c9
cmp eax, 0xb
jne 0x1000657e
lea ecx, [eax + 0x29]
jmp 0x100065c9
cmp eax, 0xc
jne 0x10006588
lea ecx, [eax + 0x1e]
jmp 0x100065c9
cmp eax, 0xd
jne 0x10006592
lea ecx, [eax + 0x17]
jmp 0x100065c9
cmp eax, 0xe
jne 0x1000659c
lea ecx, [eax + 0xc]
jmp 0x100065c9
cmp eax, 0xf
jne 0x100065a6
lea ecx, [eax + 0x10]
jmp 0x100065c9
cmp eax, 0x10
jne 0x100065b0
lea ecx, [eax + 5]
jmp 0x100065c9
cmp eax, 0x11
jne 0x100065ba
lea ecx, [eax - 0xc]
jmp 0x100065c9
mov ecx, dword [esp + 8]
cmp eax, 0x12
mov edx, 8
cmove ecx, edx
lea eax, [esp + 0x20]
push eax
push ecx
push dword [esp + 0x10]
call fcn.10042770
movss xmm0, dword [esp + 0x34]
mov eax, 0xb6fa2c
movaps xmm1, xmm0
movss dword [esp + 0x14], xmm0
movss xmm2, dword [esp + 0x2c]
add esp, 0xc
movups xmm4, xmmword [eax + 0x20]
movups xmm5, xmmword [eax + 0x10]
movups xmm7, xmmword [eax]
movups xmm6, xmmword [eax + 0x30]
mov eax, dword [0xc17044]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
mulss xmm1, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xaa
mulss xmm0, dword [esp + 0x24]
addss xmm1, xmm0
movaps xmm0, xmm7
shufps xmm0, xmm7, 0xaa
mulss xmm0, xmm2
addss xmm1, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x100b28b0]
divsd xmm1, xmm0
movss xmm0, dword [esp + 8]
mulss xmm0, xmm4
shufps xmm4, xmm4, 0x55
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x24]
movss xmm3, dword [esp + 0xc]
shufps xmm5, xmm5, 0x55
addss xmm3, xmm0
mulss xmm5, dword [esp + 0x24]
movaps xmm0, xmm7
shufps xmm7, xmm7, 0x55
mulss xmm0, xmm2
mulss xmm7, xmm2
addss xmm3, xmm0
movaps xmm0, xmm3
addss xmm0, xmm6
shufps xmm6, xmm6, 0x55
movss dword [esp + 0xc], xmm0
movss xmm3, dword [esp + 0xc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b2de0]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm3, xmm0
movss xmm0, dword [esp + 8]
mulss xmm0, xmm4
movss dword [esp + 0xc], xmm3
addss xmm0, xmm5
addss xmm0, xmm7
addss xmm0, xmm6
mov eax, dword [0xc17048]
movss dword [esp + 8], xmm0
push 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b2de0]
mulsd xmm0, xmm1
movss xmm1, dword [esp + 0xc]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [esp + 0xc], xmm1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x10006762
cmp byte [0x1019c8d3], al
jne 0x10006762
cmp byte [0x1019c899], al
je 0x10006762
movss xmm0, dword [0x10201c94]
movss dword [edi], xmm0
movss xmm0, dword [0x10201c90]
movss dword [esi], xmm0
pop edi
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.100a046e
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
movss xmm1, dword [esp + 0xc]
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi], xmm1
call esi
movss xmm1, dword [esp + 8]
movd xmm0, eax
mov eax, 0xb6ec10
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [eax], xmm1
cmp byte [0x1019c8c1], 0
jne 0x100067af
mov byte [0x1019c8c1], 1
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
xor ecx, esp
call fcn.100a046e
mov esp, ebp
pop ebp
ret