Function at 0x140067920
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1a0
mov qword [rax - 0x40], r13
mov rbx, rcx
movaps xmmword [rax - 0x58], xmm6
mov ecx, 0xa0
movaps xmmword [rax - 0x68], xmm7
mov rdi, r9
movaps xmmword [rax - 0x78], xmm8
mov r14, r8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm13, dword [0x140079ca4]
lea rcx, [r14 + 0x3c]
movss xmm14, dword [0x140079c68]
lea r13, [r14 + 0x38]
test ax, ax
lea r12, [r14 + 0x34]
lea r15, [r14 + 0x30]
xorps xmm10, xmm10
setne byte [0x140151e18]
xor esi, esi
test ax, ax
je 0x1400679f2
mov rcx, qword [rbp + 0xe8]
mov eax, esi
mov dword [0x1400fafc8], esi
add rcx, 0x1944
lea rsi, [r14 + 0x3c]
jmp 0x140067e07
movdqa xmm0, xmmword [0x140079f30]
lea rax, [r14 + 4]
movdqa xmm1, xmmword [0x140079f50]
movsd xmm12, qword [0x140079cc8]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm0, xmmword [0x140079f60]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm0, xmmword [0x140079f80]
movdqa xmmword [rbp - 0x30], xmm0
movd xmm0, dword [rdi + 0xc]
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0xe8]
add rax, 0x1944
mov dword [rbp + 0xf0], 3
mov qword [rbp - 0x80], rcx
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmm1, xmmword [0x140079f70]
movss dword [rsp + 0x5c], xmm0
movd xmm0, dword [rdi + 0x10]
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x50], rax
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmm1, xmmword [0x140079f90]
movaps xmmword [rsp + 0xf0], xmm15
movss xmm15, dword [0x140079e34]
movss dword [rsp + 0x58], xmm0
movdqa xmmword [rbp - 0x20], xmm1
mov r8d, dword [rbp + rsi*4 - 0x70]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140065760
mov rdx, qword [0x1401516f0]
add rdx, 0x1ef7c38
call fcn.14006d590
mov rdx, qword [rsp + 0x50]
mov rbx, rax
call fcn.14006d590
movzx edx, ax
shl rdx, 5
add rdx, rbx
call fcn.14006d590
mov rbx, rax
test rax, rax
je 0x140067c58
lea rdx, [rax + 0x1eb4]
call fcn.14006d640
lea rdx, [rbx + 0x1ebc]
movaps xmm6, xmm0
call fcn.14006d640
comiss xmm6, xmm13
movaps xmm11, xmm0
jbe 0x140067c58
mov rdx, qword [rbp + 0xe8]
lea r8, [rsp + 0x20]
mov rcx, qword [0x140151c80]
add rdx, 0x1ee0
mov r9d, 0xc
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
call fcn.140048b60
movss xmm7, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x44]
movaps xmm1, xmm7
subss xmm1, dword [rsp + 0x20]
movss xmm12, dword [rsp + 0x48]
movaps xmm2, xmm9
subss xmm2, dword [rsp + 0x24]
movaps xmm0, xmm12
subss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140067ba4
xorps xmm8, xmm8
sqrtss xmm8, xmm2
jmp 0x140067bb0
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
mov rdx, qword [rbp + 0xe0]
lea r8, [rsp + 0x30]
mov rcx, qword [0x140151c80]
add rdx, 0x170
mov r9d, 0xc
mov qword [rsp + 0x30], 0
divss xmm8, xmm6
mov dword [rsp + 0x38], 0
call fcn.140048b60
movss xmm0, dword [rsp + 0x34]
movaps xmm6, xmm8
mulss xmm11, dword [0x140079e28]
movss xmm1, dword [rsp + 0x30]
mulss xmm6, xmm8
mulss xmm0, xmm8
mulss xmm11, xmm14
addss xmm9, xmm0
mulss xmm1, xmm8
movss xmm0, dword [rsp + 0x38]
mulss xmm6, xmm11
mulss xmm0, xmm8
addss xmm7, xmm1
addss xmm6, xmm12
movss dword [rsp + 0x44], xmm9
movsd xmm12, qword [0x140079cc8]
movss dword [rsp + 0x40], xmm7
addss xmm6, xmm0
movss dword [rsp + 0x48], xmm6
jmp 0x140067c6b
movss xmm6, dword [rsp + 0x48]
movss xmm9, dword [rsp + 0x44]
movss xmm7, dword [rsp + 0x40]
xor ecx, ecx
movaps xmm8, xmm10
movaps xmm11, xmm10
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm0, dword [r15]
movss xmm3, dword [r12]
movss xmm1, dword [r13]
mulss xmm3, xmm9
mulss xmm0, xmm7
mulss xmm1, xmm6
addss xmm3, xmm0
movss xmm0, dword [0x140079c18]
addss xmm3, xmm1
addss xmm3, dword [r14 + 0x3c]
comiss xmm0, xmm3
ja 0x140067d52
movaps xmm0, xmm7
movaps xmm8, xmm9
mulss xmm8, dword [r14 + 4]
movaps xmm1, xmm6
mulss xmm0, dword [r14]
movaps xmm2, xmm13
mulss xmm7, dword [r14 + 0x10]
movaps xmm11, xmm14
mulss xmm1, dword [r14 + 8]
addss xmm8, xmm0
mulss xmm9, dword [r14 + 0x14]
xorps xmm0, xmm0
mulss xmm6, dword [r14 + 0x18]
addss xmm8, xmm1
addss xmm7, xmm9
divss xmm2, xmm3
addss xmm8, dword [r14 + 0xc]
addss xmm7, xmm6
cvtsi2ss xmm0, ebx
addss xmm7, dword [r14 + 0x1c]
mulss xmm8, xmm2
mulss xmm8, xmm14
mulss xmm7, xmm2
addss xmm8, xmm14
mulss xmm7, xmm14
mulss xmm8, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm11, xmm7
mulss xmm11, xmm0
subss xmm11, dword [rsp + 0x58]
xorps xmm0, xmm0
movaps xmm1, xmm12
cvtss2sd xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
subss xmm8, dword [rsp + 0x5c]
movaps xmm6, xmm0
movaps xmm1, xmm12
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x140067d9b
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x140067da3
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm15, xmm0
jbe 0x140067dbd
mov eax, dword [rbp + rsi*4 - 0x70]
movaps xmm15, xmm0
mov dword [rbp + 0xf0], eax
jmp 0x140067dc3
mov eax, dword [rbp + 0xf0]
mov rbx, qword [rbp + 0xe0]
inc rsi
cmp rsi, 0x18
jl 0x140067aa0
mov rdx, qword [rbp - 0x80]
mov r10, r15
movaps xmm15, xmmword [rsp + 0xf0]
mov rsi, rdx
mov rdi, qword [rbp + 0xf8]
mov r9, r12
mov r8, r13
cmp eax, 0xffffffff
jne 0x140067e15
mov eax, dword [0x1400fafc8]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rcx
lea rcx, [r14 + 4]
mov qword [rsp + 0x60], rcx
mov r8d, eax
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140065760
mov rdx, qword [0x1401516f0]
add rdx, 0x1ef7c38
call fcn.14006d590
mov rdx, qword [rsp + 0x50]
mov rbx, rax
call fcn.14006d590
movzx edx, ax
shl rdx, 5
add rdx, rbx
call fcn.14006d590
mov rbx, rax
test rax, rax
je 0x140067faf
lea rdx, [rax + 0x1eb4]
call fcn.14006d640
lea rdx, [rbx + 0x1ebc]
movaps xmm7, xmm0
call fcn.14006d640
comiss xmm7, xmm13
movaps xmm11, xmm0
jbe 0x140067faf
mov rdx, qword [rbp + 0xe8]
lea r8, [rsp + 0x30]
mov rcx, qword [0x140151c80]
add rdx, 0x1ee0
mov r9d, 0xc
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
call fcn.140048b60
movss xmm8, dword [rsp + 0x24]
movss xmm6, dword [rsp + 0x20]
movaps xmm1, xmm8
subss xmm1, dword [rsp + 0x34]
movss xmm12, dword [rsp + 0x28]
movaps xmm2, xmm6
subss xmm2, dword [rsp + 0x30]
movaps xmm0, xmm12
subss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140067f17
xorps xmm9, xmm9
sqrtss xmm9, xmm2
jmp 0x140067f23
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
mov rdx, qword [rbp + 0xe0]
lea r8, [rsp + 0x20]
mov rcx, qword [0x140151c80]
add rdx, 0x170
mov r9d, 0xc
mov qword [rsp + 0x20], 0
divss xmm9, xmm7
mov dword [rsp + 0x28], 0
call fcn.140048b60
movss xmm0, dword [rsp + 0x24]
movaps xmm7, xmm9
mulss xmm11, dword [0x140079e28]
movss xmm1, dword [rsp + 0x20]
mulss xmm7, xmm9
mulss xmm0, xmm9
mulss xmm11, xmm14
addss xmm8, xmm0
mulss xmm1, xmm9
movss xmm0, dword [rsp + 0x28]
mulss xmm7, xmm11
mulss xmm0, xmm9
addss xmm6, xmm1
addss xmm7, xmm12
addss xmm7, xmm0
jmp 0x140067fc2
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x24]
movss xmm6, dword [rsp + 0x20]
xor ecx, ecx
movaps xmm9, xmm10
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm0, xmm8
mulss xmm0, dword [r12]
movaps xmm2, xmm6
mulss xmm2, dword [r15]
movaps xmm1, xmm7
mulss xmm1, dword [r13]
movaps xmm11, xmmword [rsp + 0x130]
addss xmm2, xmm0
movss xmm0, dword [0x140079c18]
addss xmm2, xmm1
addss xmm2, dword [rsi]
comiss xmm0, xmm2
ja 0x1400680b4
mov rcx, qword [rsp + 0x60]
movaps xmm0, xmm6
mulss xmm0, dword [r14]
movaps xmm10, xmm8
mulss xmm6, dword [r14 + 0x10]
movaps xmm1, xmm7
mulss xmm10, dword [rcx]
movaps xmm9, xmm14
mulss xmm1, dword [r14 + 8]
mulss xmm8, dword [r14 + 0x14]
addss xmm10, xmm0
mulss xmm7, dword [r14 + 0x18]
xorps xmm0, xmm0
addss xmm6, xmm8
addss xmm10, xmm1
divss xmm13, xmm2
addss xmm10, dword [r14 + 0xc]
addss xmm6, xmm7
cvtsi2ss xmm0, ebx
addss xmm6, dword [r14 + 0x1c]
mulss xmm10, xmm13
mulss xmm10, xmm14
mulss xmm6, xmm13
addss xmm10, xmm14
mulss xmm6, xmm14
mulss xmm10, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm9, xmm6
mulss xmm9, xmm0
cmp byte [0x140151e2d], 0
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x180]
je 0x140068114
mov edx, 5
mov ecx, 0xfffffffb
call fcn.14006e970
mov edx, 0xa
mov dword [0x140151e0c], eax
mov ecx, 0xfffffff6
call fcn.14006e970
mov dword [0x140151e14], eax
jmp 0x14006811a
mov eax, dword [0x140151e14]
movd xmm0, dword [0x140151e0c]
lea rbx, [rdi + 0x2c]
mov r13, qword [rbp + 0xe0]
movd xmm1, eax
cvtdq2ps xmm0, xmm0
lea rdx, [r13 + 0x19a0]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm10
addss xmm1, xmm9
cvttss2si esi, xmm0
cvttss2si r14d, xmm1
call fcn.14006d640
lea rdx, [r13 + 0x2770]
movss dword [rbx], xmm0
call fcn.14006d7a0
mov rdx, qword [rbp + 0xe8]
mov r12d, eax
add rdx, 0x338
call fcn.14006d7a0
lea rdx, [r13 + 0x338]
mov r15d, eax
call fcn.14006d7a0
movzx r11d, byte [0x140151e2e]
mov rcx, rbx
movsxd r10, dword [rbp + 0x100]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0x150]
mov r13, qword [rsp + 0x198]
test r11b, r11b
jne 0x1400681d8
cmp eax, r15d
je 0x14006825d
cmp dword [rdi + r10*4 + 0x1c0], 0
jl 0x14006825d
lea rcx, [rdi + 0x2c]
mov eax, dword [rdi + 0xc]
mov r9d, dword [rdi]
sub eax, esi
mov r8d, eax
neg r8d
cmovs r8d, eax
mov eax, dword [rdi + 0x10]
sub eax, r14d
mov edx, eax
neg edx
cmovs edx, eax
test r11b, r11b
je 0x14006820b
cmp r8d, r9d
jge 0x140068227
mov rbx, rcx
cmp edx, r9d
jl 0x14006821d
jmp 0x140068227
mov rbx, rcx
test r12d, r12d
jne 0x140068227
cmp r8d, r9d
jge 0x140068227
cmp edx, r9d
jge 0x140068227
mov dword [rdi + 0x1c], esi
mov rbx, rcx
mov dword [rdi + 0x20], r14d
movss xmm0, dword [rbx]
ucomiss xmm0, dword [rdi + r10*4 + 0x30]
jp 0x140068235
je 0x140068248
mov dword [rdi + r10*4 + 0x1c0], 0x18
mov eax, dword [rbx]
mov dword [rdi + r10*4 + 0x30], eax
mov eax, 0x70
lea rdx, [rax + r10]
mov eax, dword [rdi + rdx*4]
test eax, eax
js 0x14006825d
dec eax
mov dword [rdi + rdx*4], eax
add rsp, 0x1a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret