Function at 0x43bd40
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4a5080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x4ac870]
lea eax, [ebp - 0x10c]
push 0
push 4
push eax
lea eax, [esi + 0x2204]
push eax
push dword [0x4ac7fc]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [ebp - 0x10c]
comiss xmm1, dword [0x497110]
jb 0x43bfdd
movss xmm0, dword [0x497328]
comiss xmm0, xmm1
jb 0x43bfdd
mov eax, dword [0x4ac828]
sub eax, 0
je 0x43bdcf
sub eax, 1
jne 0x43bdc7
mov eax, 3
jmp 0x43bdd4
mov eax, dword [ebp - 0x10c]
jmp 0x43bdd4
mov eax, 6
push eax
mov edx, esi
lea ecx, [ebp - 0x124]
call fcn.0043abf0
sub esp, 8
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x118]
call fcn.0043add0
add esp, 0xc
test al, al
je 0x43bfdd
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x47
call esi
test al, 1
je 0x43be2f
cmp byte [0x4ac80f], 0
push 1
sete byte [0x4ac80f]
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [0x4ac7d0]
call esi
test ax, ax
je 0x43bf89
mov eax, dword [0x4ac89c]
xorps xmm4, xmm4
movss xmm7, dword [ebp - 0x118]
xorps xmm2, xmm2
cdq
sub eax, edx
mov ecx, dword [0x4a52fc]
sar eax, 1
movss dword [ebp - 0x10c], xmm4
movd xmm6, eax
mov eax, dword [0x4ac898]
cdq
sub eax, edx
sar eax, 1
ucomiss xmm7, xmm4
movd xmm5, eax
cvtdq2ps xmm6, xmm6
lahf
cvtdq2ps xmm5, xmm5
test ah, 0x44
jnp 0x43befb
comiss xmm7, xmm6
jbe 0x43bec8
movaps xmm3, xmm6
movd xmm0, ecx
subss xmm3, xmm7
cvtdq2ps xmm0, xmm0
xorps xmm3, xmmword [0x4975f0]
divss xmm3, xmm0
movaps xmm0, xmm6
movaps xmm1, xmm3
movss dword [ebp - 0x10c], xmm3
addss xmm1, xmm6
addss xmm0, xmm6
comiss xmm1, xmm0
jbe 0x43bec8
movss dword [ebp - 0x10c], xmm4
comiss xmm6, xmm7
jbe 0x43befb
movaps xmm1, xmm7
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm6
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x10c], xmm1
addss xmm0, xmm6
comiss xmm4, xmm0
jbe 0x43befb
movss dword [ebp - 0x10c], xmm4
movss xmm3, dword [ebp - 0x114]
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jnp 0x43bf66
comiss xmm3, xmm5
jbe 0x43bf40
movaps xmm2, xmm5
movd xmm0, ecx
subss xmm2, xmm3
cvtdq2ps xmm0, xmm0
xorps xmm2, xmmword [0x4975f0]
divss xmm2, xmm0
movaps xmm0, xmm5
movaps xmm1, xmm2
addss xmm0, xmm5
addss xmm1, xmm5
comiss xmm1, xmm0
jbe 0x43bf40
xorps xmm2, xmm2
comiss xmm5, xmm3
jbe 0x43bf66
movaps xmm2, xmm3
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm2, xmm5
divss xmm2, xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
comiss xmm4, xmm0
jbe 0x43bf66
xorps xmm2, xmm2
push 0
push 0
movaps xmm0, xmm2
call fcn.00482a10
movss xmm0, dword [ebp - 0x10c]
push eax
call fcn.00482a10
push eax
push 1
call dword [sym.imp.USER32.dll_mouse_event]
cmp byte [0x4ac7f6], 0
je 0x43bfdd
push 0xff
lea eax, [ebp - 0x108]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x4962d8
push eax
call fcn.0041cfb0
cvttss2si edx, dword [ebp - 0x114]
lea eax, [ebp - 0x108]
push eax
push 0x4a5e00
cvttss2si ecx, dword [ebp - 0x118]
call fcn.00436c40
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00481c53
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret