Function at 0x42f4b0
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x228
mov eax, dword [0x43d040]
xor eax, esp
mov dword [esp + 0x224], eax
mov eax, dword [0x448b94]
push esi
push edi
cmp eax, dword [0x448b98]
je 0x42fe40
movss xmm0, dword [0x43a6fc]
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movss dword [esp + 0x18], xmm0
mov dword [0x448704], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], edi
nop dword [eax]
mov eax, dword [0x448b94]
movups xmm0, xmmword [edi + eax]
movd edi, xmm0
movaps xmmword [esp + 0x30], xmm0
cmp edi, dword [0x448714]
jne 0x42f535
cmp dword [esp + 0x34], 0
je 0x42fe01
cmp byte [0x44856e], 0
je 0x42f568
push 0
push 4
lea eax, [esp + 0x100]
mov dword [esp + 0x100], 0x3f99999a
push eax
mov eax, dword [0x448714]
add eax, 0xded0
push eax
push dword [0x4486ac]
call esi
cmp byte [0x448709], 0
je 0x42f5a8
push 0x20
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x42f5a8
push 0
push 4
lea eax, [esp + 0x104]
mov dword [esp + 0x104], 0x41980000
push eax
mov eax, dword [0x448714]
add eax, 0xe950
push eax
push dword [0x4486ac]
call esi
cmp byte [0x4486a9], 0
je 0x42f5db
push 0
push 4
lea eax, [esp + 0x108]
mov dword [esp + 0x108], 0x42960000
push eax
mov eax, dword [0x448714]
add eax, 0xdfa8
push eax
push dword [0x4486ac]
call esi
cmp byte [0x44856d], 0
je 0x42f638
push 0
push 4
lea eax, [esp + 0xfc]
mov dword [esp + 0xfc], 0
push eax
mov eax, dword [0x448714]
add eax, 0x1050
push eax
push dword [0x4486ac]
call esi
push 0
push 4
lea eax, [esp + 0x10c]
mov dword [esp + 0x10c], 0
push eax
mov eax, dword [0x448714]
add eax, 0x1054
push eax
push dword [0x4486ac]
call esi
cmp byte [0x4486ab], 0
je 0x42f66c
push 0
push 4
lea eax, [esp + 0x110]
mov dword [0x448714], 0x38
push eax
push 0x38
push dword [0x4486ac]
mov dword [esp + 0x11c], 0x3f800000
call esi
cmp byte [0x4486aa], 0
je 0x42f69f
push 0
push 4
lea eax, [esp + 0x114]
mov dword [esp + 0x114], 0
push eax
mov eax, dword [0x448714]
add eax, 0xffc
push eax
push dword [0x4486ac]
call esi
push 0
push 4
lea eax, [esp + 0x118]
push eax
lea eax, [edi + 0x2dc4]
push eax
push dword [0x4486ac]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [esp + 0x110]
mov eax, edi
or eax, dword [esp + 0x34]
movss dword [esp + 0xf4], xmm0
je 0x42fe01
mov eax, dword [esp + 0x38]
cmp eax, 0x20
je 0x42f6ee
cmp eax, 0x21
jne 0x42fe01
comiss xmm0, dword [0x43a63c]
jb 0x42fe01
movss xmm1, dword [0x43a6c8]
comiss xmm1, xmm0
jb 0x42fe01
push 0
push 4
lea eax, [esp + 0x11c]
push eax
mov eax, dword [0x448718]
add eax, 0xf76978
push eax
push dword [0x4486ac]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 4
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x120]
add eax, 0xfe8
push eax
push dword [0x4486ac]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x124]
push eax
mov eax, dword [esp + 0x124]
add eax, 0xe38
push eax
push dword [0x4486ac]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x5c]
push eax
lea eax, [edi + 0xe38]
push eax
push dword [0x4486ac]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [esp + 0x58]
subss xmm1, dword [esp + 0x120]
movss xmm2, dword [esp + 0x54]
subss xmm2, dword [esp + 0x11c]
movq xmm0, qword [esp + 0x54]
movq qword [0x448b60], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x124]
mov eax, dword [esp + 0x5c]
movss dword [0x448b8c], xmm1
mulss xmm1, xmm1
mov dword [0x448b68], eax
movss dword [0x448b88], xmm2
mulss xmm2, xmm2
movss dword [0x448b90], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x42f817
sqrtsd xmm0, xmm0
jmp 0x42f81c
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push 6
mov edx, edi
lea ecx, [esp + 0xc8]
movss dword [esp + 0x18], xmm0
call fcn.0042e950
mov eax, dword [0x4486c8]
add esp, 4
sub eax, 0
je 0x42f853
sub eax, 1
jne 0x42f85e
mov eax, 3
mov dword [esp + 0x24], eax
jmp 0x42f862
mov eax, 6
mov dword [esp + 0x24], eax
jmp 0x42f862
mov eax, dword [esp + 0x24]
push eax
mov edx, edi
lea ecx, [esp + 0xbc]
call fcn.0042e950
movq xmm0, qword [esp + 0xbc]
sub esp, 8
mov eax, dword [esp + 0xcc]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x448b7c
call fcn.0042eb30
movq xmm0, qword [0x448b60]
mov ecx, esp
mov eax, dword [0x448b68]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x448b70
call fcn.0042eb30
movq xmm0, qword [esp + 0xd0]
mov ecx, esp
mov eax, dword [esp + 0xd8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x448ba0
call fcn.0042eb30
add esp, 0xc
test al, al
je 0x42fe01
movss xmm0, dword [0x448b74]
subss xmm0, dword [0x448ba4]
push 0xff
push 0
cvttss2si eax, xmm0
mov dword [esp + 0x30], eax
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
lea eax, [esp + 0x130]
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [0x43d2c4]
add esp, 0xc
movss xmm1, dword [esp + 0x14]
comiss xmm0, xmm1
jb 0x42fd34
cmp byte [0x44856f], 0
je 0x42fa5e
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0xd0]
cvtps2pd xmm0, xmm0
sub esp, 8
mov dword [esp + 0x38], 0x26a342d7
mov dword [esp + 0x3c], 0x4a926a02
mov dword [esp + 0x40], 0x93ffc006
mov dword [esp + 0x44], 0xf5104119
mov dword [esp + 0x48], 0x16efd1af
movaps xmm1, xmmword [esp + 0x38]
movsd qword [esp], xmm0
mov dword [esp + 0x4c], 0xe6824e88
mov dword [esp + 0x50], 0x22563d56
mov dword [esp + 0x54], 0x1c6bf141
movaps xmm2, xmmword [esp + 0x48]
push eax
movaps xmmword [esp + 0xdc], xmm1
lea eax, [esp + 0x134]
movaps xmmword [esp + 0xec], xmm2
mov dword [esp + 0x9c], 0xc600fa37
mov dword [esp + 0xa0], 0xf272daba
mov dword [esp + 0xa4], 0x234720a4
mov dword [esp + 0xa8], 0xc5356123
xorps xmm1, xmmword [esp + 0x9c]
mov dword [esp + 0xac], 0x1682b781
mov dword [esp + 0xb0], 0xe6824e88
mov dword [esp + 0xb4], 0x22563d56
mov dword [esp + 0xb8], 0x1c6bf141
xorps xmm2, xmmword [esp + 0xac]
push eax
movaps xmmword [esp + 0xe0], xmm1
movaps xmmword [esp + 0xf0], xmm2
call fcn.00413400
cvttss2si edx, dword [0x448b74]
lea eax, [esp + 0x138]
push eax
push 0x447928
cvttss2si ecx, dword [0x448b70]
call fcn.0042e340
add esp, 0x18
cmp byte [0x448708], 0
je 0x42fb2b
movss xmm0, dword [esp + 0xf4]
lea eax, [esp + 0x30]
cvtps2pd xmm0, xmm0
sub esp, 8
mov dword [esp + 0x78], 0xfc20aa7f
mov dword [esp + 0x7c], 0xdc42ff9a
mov dword [esp + 0x80], 0x23474694
mov dword [esp + 0x84], 0xc5356123
mov dword [esp + 0x88], 0xc600fa37
movaps xmm1, xmmword [esp + 0x78]
movsd qword [esp], xmm0
push eax
movaps xmmword [esp + 0x3c], xmm1
lea eax, [esp + 0x134]
mov dword [esp + 0x90], 0xf272daba
mov dword [esp + 0x94], 0x234720a4
mov dword [esp + 0x98], 0xc5356123
xorps xmm1, xmmword [esp + 0x8c]
push eax
movaps xmmword [esp + 0x40], xmm1
call fcn.00413400
movss xmm0, dword [0x448b74]
lea eax, [esp + 0x138]
addss xmm0, dword [0x43a6b8]
cvttss2si ecx, dword [0x448b70]
push eax
push 0x447928
cvttss2si edx, xmm0
call fcn.0042e340
add esp, 0x18
cmp byte [0x4486b7], 0
je 0x42fce5
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
movss xmm6, dword [0x448b70]
cdq
sub eax, edx
movsd xmm1, qword [0x43a690]
sar eax, 1
mov edx, dword [0x448570]
movss xmm7, dword [0x43a63c]
cvtsi2ss xmm0, eax
mov eax, dword [0x43d2c8]
subss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x43a7d0]
mov eax, dword [0x43d2cc]
divsd xmm0, xmm1
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x43a7d0]
mov eax, dword [0x43d2d0]
divsd xmm0, xmm1
cvtpd2ps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x43a7d0]
mov eax, dword [0x43d2d4]
divsd xmm0, xmm1
cvtpd2ps xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x43a7d0]
divsd xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm4
cvtpd2ps xmm5, xmm0
jbe 0x42fbf7
xorps xmm0, xmm0
jmp 0x42fbfe
movaps xmm0, xmm7
minss xmm0, xmm4
comiss xmm1, xmm2
movss xmm4, dword [0x43a6d8]
mulss xmm0, xmm4
addss xmm0, dword [0x43a618]
cvttss2si ecx, xmm0
jbe 0x42fc20
xorps xmm0, xmm0
jmp 0x42fc27
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x43a618]
mulss xmm0, xmm4
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm3
jbe 0x42fc4a
xorps xmm0, xmm0
jmp 0x42fc51
movaps xmm0, xmm7
minss xmm0, xmm3
mulss xmm0, xmm4
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm5
ja 0x42fc6e
movaps xmm1, xmm7
minss xmm1, xmm5
movd xmm0, dword [esp + 0x1c]
movss xmm2, dword [0x448ba4]
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0x3dcccccd
push 5
push ecx
mulss xmm1, xmm4
mov dword [esp], 0
addss xmm0, xmm6
movss dword [esp + 0x74], xmm6
movss dword [esp + 0x78], xmm2
addss xmm1, dword [0x43a618]
movss dword [esp + 0x6c], xmm0
movd xmm0, dword [esp + 0x34]
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
shl eax, 0x18
or eax, ecx
lea ecx, [edx + 0x1be4]
push eax
lea eax, [esp + 0x70]
push eax
addss xmm0, xmm2
lea eax, [esp + 0x7c]
push eax
movss dword [esp + 0x7c], xmm0
call fcn.0041d3c0
cmp byte [0x4486b5], 0
je 0x42fd2e
movd xmm1, dword [esp + 0x1c]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x448b70]
divss xmm1, dword [0x43a658]
movd xmm3, dword [esp + 0x28]
cvttss2si edx, dword [0x448b74]
movss xmm2, dword [esp + 0xf4]
subss xmm0, xmm1
cvtdq2ps xmm3, xmm3
cvttss2si ecx, xmm0
call fcn.0042f070
movss xmm1, dword [esp + 0x14]
movss xmm0, dword [0x43d2b8]
comiss xmm0, xmm1
jb 0x42fe01
mov eax, dword [0x448b6c]
movss xmm2, dword [0x448b7c]
movss xmm1, dword [0x448b80]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x44871c]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cmp byte [0x4486b6], 0
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm2
subss xmm1, xmm0
mulss xmm1, xmm1
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
je 0x42fdd5
ucomisd xmm1, xmm0
ja 0x42fda6
sqrtsd xmm0, xmm0
jmp 0x42fdab
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movd xmm0, dword [0x447bd8]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x42fe01
movss xmm0, dword [esp + 0x18]
comiss xmm0, xmm1
jbe 0x42fe01
movss dword [esp + 0x18], xmm1
jmp 0x42fdfb
ucomisd xmm1, xmm0
ja 0x42fde1
sqrtsd xmm0, xmm0
jmp 0x42fde6
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x42fe01
movss dword [esp + 0x18], xmm0
mov dword [0x448704], edi
mov eax, dword [0x448b98]
mov edi, dword [esp + 0x2c]
sub eax, dword [0x448b94]
inc edi
add dword [esp + 0x20], 0x10
sar eax, 4
mov dword [esp + 0x2c], edi
cmp edi, eax
mov edi, dword [esp + 0x20]
jbe 0x42f510
cmp dword [0x448704], 0
je 0x42fe40
cmp byte [0x4486b4], 0
je 0x42fe40
call fcn.0042f220
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
xor ecx, esp
call fcn.00433624
mov esp, ebp
pop ebp
ret