Function at 0x100072fe
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [0x100785be], 0
mov ecx, dword [0x38433d1c]
push ebx
mov ebx, dword [0x384035dc]
mov dword [ebp - 4], ebx
je 0x10007325
movss xmm0, dword [0x1004c840]
jmp 0x1000732d
movss xmm0, dword [0x1004c7dc]
xor edx, edx
movss dword [0x383abd04], xmm0
push esi
push edi
cmp byte [0x100785bd], dl
jne 0x100074b7
test ecx, ecx
je 0x100074b0
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x100074b0
mov ebx, dword [ecx + 0x15e0]
sub ebx, 0x100514b0
mov edi, dword [ebx + esi*4 + 0x100514b0]
test edi, edi
je 0x100074a0
movd xmm0, dword [edi + 0x2b8]
cvtdq2ps xmm0, xmm0
mov eax, dword [edi + 0x2a4]
mov dword [esi*4 + 0x100514b0], eax
mov eax, dword [edi + 0x2a8]
mov dword [esi*4 + 0x100533f0], eax
mov eax, dword [edi + 0x2b0]
movss dword [esi*4 + 0x10057270], xmm0
movd xmm0, dword [edi + 0x2bc]
cvtdq2ps xmm0, xmm0
mov dword [esi*4 + 0x10055330], eax
mov eax, dword [edi + 0x328]
mov dword [esi*4 + 0x1009f6c8], eax
mov eax, dword [edi + 0x30c]
mov dword [esi*4 + 0x1007a500], eax
movss dword [esi*4 + 0x100591b0], xmm0
movd xmm0, dword [edi + 0x2c0]
cvtdq2ps xmm0, xmm0
mov eax, dword [edi + 0x2b4]
mov dword [esi*4 + 0x1007c440], eax
movss dword [esi*4 + 0x1005b0f0], xmm0
movd xmm0, dword [edi + 0x2c4]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x1005d030], xmm0
movd xmm0, dword [edi + 0x2c8]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x1005ef70], xmm0
movd xmm0, dword [edi + 0x2cc]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x10060eb0], xmm0
movd xmm0, dword [edi + 0x364]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x10062df0], xmm0
movd xmm0, dword [edi + 0x368]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x10064d30], xmm0
movd xmm0, dword [edi + 0x36c]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x10066c70], xmm0
movd xmm0, dword [edi + 0x370]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x10068bb0], xmm0
movd xmm0, dword [edi + 0x258]
cvtdq2ps xmm0, xmm0
movss dword [esi*4 + 0x100785c0], xmm0
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x10007367
mov ebx, dword [ebp - 4]
mov byte [0x100785bd], 1
cmp byte [0x100514ae], dl
je 0x1000754c
cmp byte [0x100514ad], dl
je 0x10007650
test ecx, ecx
je 0x10007541
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007541
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x10007538
and dword [eax + 0x2a4], edx
and dword [eax + 0x2a8], edx
and dword [eax + 0x2b0], edx
mov dword [eax + 0x2b8], edx
mov dword [eax + 0x2bc], edx
mov dword [eax + 0x2c0], edx
mov dword [eax + 0x2c4], edx
mov dword [eax + 0x2c8], edx
mov dword [eax + 0x2cc], edx
mov dword [eax + 0x364], edx
mov dword [eax + 0x368], edx
mov dword [eax + 0x36c], edx
mov dword [eax + 0x370], edx
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x100074dd
mov byte [0x100514ad], dl
jmp 0x10007650
cmp byte [0x100514ad], dl
jne 0x10007650
test ecx, ecx
je 0x10007649
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007649
mov eax, dword [ecx + 0x15e0]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x1000763c
mov eax, dword [esi*4 + 0x100514b0]
mov dword [edi + 0x2a4], eax
mov eax, dword [esi*4 + 0x100533f0]
mov dword [edi + 0x2a8], eax
mov eax, dword [esi*4 + 0x10055330]
mov dword [edi + 0x2b0], eax
cvttss2si eax, dword [esi*4 + 0x10057270]
mov dword [edi + 0x2b8], eax
cvttss2si eax, dword [esi*4 + 0x100591b0]
mov dword [edi + 0x2bc], eax
cvttss2si eax, dword [esi*4 + 0x1005b0f0]
mov dword [edi + 0x2c0], eax
cvttss2si eax, dword [esi*4 + 0x1005d030]
mov dword [edi + 0x2c4], eax
cvttss2si eax, dword [esi*4 + 0x1005ef70]
mov dword [edi + 0x2c8], eax
cvttss2si eax, dword [esi*4 + 0x10060eb0]
mov dword [edi + 0x2cc], eax
cvttss2si eax, dword [esi*4 + 0x10062df0]
mov dword [edi + 0x364], eax
cvttss2si eax, dword [esi*4 + 0x10064d30]
mov dword [edi + 0x368], eax
cvttss2si eax, dword [esi*4 + 0x10066c70]
mov dword [edi + 0x36c], eax
cvttss2si eax, dword [esi*4 + 0x10068bb0]
mov dword [edi + 0x370], eax
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x1000756e
mov byte [0x100514ad], 1
cmp byte [0x100514aa], dl
je 0x10007692
cmp byte [0x100514ab], dl
je 0x100076d2
test ecx, ecx
je 0x1000768a
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x1000768a
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x10007681
and dword [eax + 0x328], edx
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x1000766e
mov byte [0x100514ab], dl
jmp 0x100076d2
cmp byte [0x100514ab], dl
jne 0x100076d2
test ecx, ecx
je 0x100076cb
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x100076cb
mov eax, dword [ecx + 0x15e0]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x100076c2
mov eax, dword [esi*4 + 0x1009f6c8]
mov dword [edi + 0x328], eax
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x100076a8
mov byte [0x100514ab], 1
cmp byte [0x100785bf], dl
je 0x10007718
cmp byte [0x1009f6c0], dl
je 0x1000775a
test ecx, ecx
je 0x10007710
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007710
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x10007707
mov dword [eax + 0x258], 1
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x100076f0
mov byte [0x1009f6c0], dl
jmp 0x1000775a
cmp byte [0x1009f6c0], dl
jne 0x1000775a
test ecx, ecx
je 0x10007753
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007753
mov eax, dword [ecx + 0x15e0]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x1000774a
cvttss2si eax, dword [esi*4 + 0x100785c0]
mov dword [edi + 0x258], eax
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x1000772e
mov byte [0x1009f6c0], 1
cmp byte [0x100514af], dl
je 0x1000779c
cmp byte [0x1009f6c1], dl
je 0x100077dc
test ecx, ecx
je 0x10007794
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007794
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x1000778b
and dword [eax + 0x2b4], edx
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x10007778
mov byte [0x1009f6c1], dl
jmp 0x100077dc
cmp byte [0x1009f6c1], dl
jne 0x100077dc
test ecx, ecx
je 0x100077d5
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x100077d5
mov eax, dword [ecx + 0x15e0]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x100077cc
mov eax, dword [esi*4 + 0x1007c440]
mov dword [edi + 0x2b4], eax
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x100077b2
mov byte [0x1009f6c1], 1
cmp byte [0x1009f6c2], dl
je 0x1000781e
cmp byte [0x1009f6c3], dl
je 0x1000785e
test ecx, ecx
je 0x10007816
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007816
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x1000780d
and dword [eax + 0x30c], edx
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x100077fa
mov byte [0x1009f6c3], dl
jmp 0x1000785e
cmp byte [0x1009f6c3], dl
jne 0x1000785e
test ecx, ecx
je 0x10007857
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007857
mov eax, dword [ecx + 0x15e0]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x1000784e
mov eax, dword [esi*4 + 0x1007a500]
mov dword [edi + 0x30c], eax
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x10007834
mov byte [0x1009f6c3], 1
test ecx, ecx
je 0x10007888
mov esi, edx
cmp dword [ecx + 0x15e4], edx
jle 0x10007888
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x1000787f
and dword [eax + 0x35c], edx
inc esi
cmp esi, dword [ecx + 0x15e4]
jl 0x1000786c
mov eax, dword [0x100c6828]
pop edi
pop esi
test eax, eax
jne 0x100078be
test ecx, ecx
je 0x10007913
cmp dword [ecx + 0x15e4], edx
jle 0x10007913
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x100078b3
and dword [eax + 0x308], 0
inc edx
cmp edx, dword [ecx + 0x15e4]
jl 0x1000789f
jmp 0x10007913
cmp eax, 1
jne 0x100078f1
test ecx, ecx
je 0x10007913
cmp dword [ecx + 0x15e4], edx
jle 0x10007913
mov eax, dword [ecx + 0x15e0]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x100078e6
mov dword [eax + 0x308], 0x3f800000
inc edx
cmp edx, dword [ecx + 0x15e4]
jl 0x100078cf
jmp 0x10007913
cmp eax, 2
jne 0x10007913
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x10007913
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x10]
mov dword [eax + 0x138], 1
cmp byte [0x100514ac], 0
jne 0x10007940
test ebx, ebx
je 0x10007939
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x10]
movd xmm0, dword [eax + 0x148]
cvtdq2ps xmm0, xmm0
movss dword [0x100c67dc], xmm0
mov byte [0x100514ac], 1
cmp byte [0x100785bc], 0
mov eax, dword [ebx + 0x18]
pop ebx
mov ecx, dword [eax + 0x10]
je 0x10007959
or dword [ecx + 0x148], 0xffffffff
leave
ret
cvttss2si eax, dword [0x100c67dc]
mov dword [ecx + 0x148], eax
leave
ret