Function at 0x140038820
Capabilities:
Log keystrokes via polling

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movapd xmmword [rsp + 0xa0], xmm11
movapd xmmword [rsp + 0x90], xmm10
movapd xmmword [rsp + 0x80], xmm9
movapd xmmword [rsp + 0x70], xmm8
movapd xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x140062cc0]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rsi, qword [rcx + 0x20]
mov rax, qword [rsi + 0x60]
mov r9, qword [rsi + 0x68]
sub r9, rax
je 0x1400388fd
sar r9, 2
mov r11, qword [rsi + 0x30]
mov ecx, dword [rsi + 0x2e04]
mov edi, dword [rsi + 0x3100]
mov edx, dword [rsi + 0x2e08]
cmp r9, 1
adc r9, 0
mov ebx, dword [rsi + 0x3104]
add ebx, edx
mov r8d, 0xffffffff
mov r10d, 0x7fffffff
xor r14d, r14d
nop dword [rax]
mov ebp, r10d
movsxd r10, dword [rax + r14*4]
shl r10, 4
mov r15d, dword [r11 + r10]
mov r10d, dword [r11 + r10 + 4]
sub r10d, ebx
sub r15d, ecx
add r15d, edi
imul r15d, r15d
imul r10d, r10d
add r10d, r15d
cmp r10d, ebp
cmovl r8d, r14d
cmovge r10d, ebp
inc r14
cmp r9, r14
jne 0x1400388c0
jmp 0x140038915
mov ecx, dword [rsi + 0x2e04]
mov edx, dword [rsi + 0x2e08]
mov r10d, 0x7fffffff
mov r8d, 0xffffffff
cvtsi2ss xmm0, r10d
mov r9d, ecx
imul r9d, ecx
mov r10d, edx
imul r10d, edx
add r10d, r9d
cvtsi2ss xmm1, r10d
movss xmm2, dword [rsi + 0x280]
mulss xmm2, xmm2
mulss xmm2, xmm1
ucomiss xmm2, xmm0
jae 0x140038966
xorps xmm0, xmm0
movups xmmword [rsi + 0x2e0c], xmm0
mov dword [rsi + 0x2e20], 0x3f800000
mov qword [rsi + 0x78], 0
jmp 0x140039507
movsxd r8, r8d
movsxd rax, dword [rax + r8*4]
mov r9, qword [rsi + 0x30]
shl rax, 4
mov ebx, dword [r9 + rax + 8]
mov r8d, dword [r9 + rax + 0xc]
mov r14d, dword [r9 + rax]
mov r9d, dword [r9 + rax + 4]
sub r14d, ecx
sub r9d, edx
add r14d, dword [rsi + 0x3100]
cvtsi2ss xmm6, r8d
mov eax, dword [rsi + 0x2dec]
xor edx, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsi + 0x3104]
xorps xmm1, xmm1
cvtsi2ss xmm1, r9d
mov ecx, dword [rsi + 0x214]
cmp eax, 1
sete dl
movss xmm2, dword [rsi + rdx*4 + 0x278]
mulss xmm2, xmm6
addss xmm2, xmm0
subss xmm1, xmm2
cvttss2si r15d, xmm1
je 0x140038ab4
cmp ecx, 3
jne 0x140038ab4
xorps xmm0, xmm0
cvtsi2sd xmm0, r8d
movss xmm1, dword [rsi + 0x278]
cvtss2sd xmm1, xmm1
addsd xmm1, qword [str.333333]
xorps xmm2, xmm2
cvtsi2sd xmm2, r15d
mulsd xmm1, xmm0
addsd xmm2, xmm1
cvttsd2si r15d, xmm2
mov ecx, r8d
neg ecx
cmovs ecx, r8d
mov ebp, ebx
neg ebp
cmovs ebp, ebx
cmp ecx, ebp
cmovb ebp, ecx
test eax, eax
jne case.0x140038bd1.3
mov eax, r14d
neg eax
cmovs eax, r14d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x140040660]
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov eax, r15d
neg eax
cmovs eax, r15d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov dword [rsi + 0x2e1c], 1
mov eax, dword [rsi + 0x288]
cmp rax, 4
ja case.0x140038bd1.3
lea rcx, [0x140041780]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov dword [rsi + 0xe60], 1
jmp case.0x140038bd1.3
cmp qword [rsi + 0x228], 8
jne 0x140038b12
cmp qword [rsi + 0x230], 0x10
jb 0x140038ad1
mov r9, qword [rsi + 0x218]
jmp 0x140038ad8
lea r9, [rsi + 0x218]
movabs r10, 0x676275705f6e3576
xor edx, edx
cmp qword [r9], r10
setne r9b
cmp ecx, 1
jne 0x140038b12
mov dl, r9b
test edx, edx
jne 0x140038b12
add r15d, 0x32
mov eax, r8d
neg eax
cmovs eax, r8d
mov ebp, ebx
neg ebp
cmovs ebp, ebx
cmp eax, ebp
cmovb ebp, eax
jmp case.0x140038b40.1
mov edx, r8d
neg edx
cmovs edx, r8d
mov ebp, ebx
neg ebp
cmovs ebp, ebx
cmp edx, ebp
cmovb ebp, edx
dec ecx
cmp ecx, 4
ja case.0x140038bd1.3
lea rdx, [0x140041744]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov eax, r14d
neg eax
cmovs eax, r14d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x1400405e0]
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov eax, r15d
neg eax
cmovs eax, r15d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
cmp dword [rsi + 0x2e1c], 0
jne case.0x140038bd1.3
mov dword [rsi + 0x2e1c], 1
mov dword [rsi + 0x2e28], 1
cmp byte [rsi + 0x284], 0
je case.0x140038bd1.3
mov eax, dword [rsi + 0x288]
cmp rax, 4
ja case.0x140038bd1.3
lea rcx, [0x140041794]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
lea rcx, [rsi + 0x2e98]
mov edx, 1
call fcn.1400017c0
jmp case.0x140038bd1.3
mov eax, r14d
neg eax
cmovs eax, r14d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x1400405e0]
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov eax, r15d
neg eax
cmovs eax, r15d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
cmp dword [rsi + 0x2e1c], 0
jne case.0x140038bd1.3
mov dword [rsi + 0x2e1c], 1
xorpd xmm8, xmm8
movapd xmmword [rsp + 0x30], xmm8
movapd xmmword [rsp + 0x20], xmm8
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 8
mov r12, qword [sym.imp.USER32.dll_SendInput]
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
mov ecx, dword [rsi + 0x408]
mov r13, qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QThread::msleep_unsigned_long_int_]
call r13
movapd xmmword [rsp + 0x30], xmm8
movapd xmmword [rsp + 0x20], xmm8
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 2
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
lea rdi, [0x140063624]
mov rcx, rdi
call fcn.140037270
mov eax, eax
cvtsi2sd xmm9, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm7, qword [0x140040638]
mulsd xmm0, xmm7
addsd xmm0, xmm9
movsd xmm9, qword [0x140040640]
mulsd xmm0, xmm9
movsd xmm10, qword [0x140040648]
addsd xmm0, xmm10
cvttsd2si rcx, xmm0
call r13
movapd xmmword [rsp + 0x30], xmm8
movapd xmmword [rsp + 0x20], xmm8
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], recvfrom
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
mov rcx, rdi
call fcn.140037270
mov eax, eax
cvtsi2sd xmm11, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm7
addsd xmm0, xmm11
mulsd xmm0, xmm9
addsd xmm0, xmm10
cvttsd2si rcx, xmm0
call r13
movapd xmmword [rsp + 0x30], xmm8
movapd xmmword [rsp + 0x20], xmm8
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 4
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
mov rcx, rdi
call fcn.140037270
mov eax, eax
cvtsi2sd xmm8, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm7
addsd xmm0, xmm8
mulsd xmm0, xmm9
addsd xmm0, xmm10
cvttsd2si rcx, xmm0
call r13
mov dword [rsp + 0x20], 0
movabs rax, 0x80000000078
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm8, xmm8
cvtsi2sd xmm8, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm7
addsd xmm0, xmm8
mulsd xmm0, qword [0x140040668]
addsd xmm0, qword [0x140040670]
cvttsd2si rcx, xmm0
call r13
mov dword [rsp + 0x20], 0
movabs rax, 0x800ffffff88
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call r12
jmp case.0x140038bd1.3
test eax, eax
je 0x140038a38
cmp eax, 1
jne case.0x140038bd1.3
mov eax, r14d
neg eax
cmovs eax, r14d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x1400405e0]
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov eax, r15d
neg eax
cmovs eax, r15d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
cmp dword [rsi + 0x2e1c], 0
jne case.0x140038bd1.3
jmp 0x140038a7b
mov eax, r14d
neg eax
cmovs eax, r14d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x1400405e0]
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
mov eax, r15d
neg eax
cmovs eax, r15d
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jbe case.0x140038bd1.3
cmp dword [rsi + 0x2e1c], 0
jne case.0x140038bd1.3
mov dword [rsi + 0x2e1c], 1
mov eax, dword [rsi + 0x288]
cmp rax, 4
ja case.0x140038f79.3
lea rcx, [0x140041758]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov dword [rsi + 0xe60], 1
jmp case.0x140038f79.3
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x30], xmm0
movapd xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 2
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call qword [sym.imp.USER32.dll_SendInput]
jmp case.0x140038bd1.3
mov ecx, 1
call fcn.140006df0
jmp case.0x140038bd1.3
lea rcx, [rsi + 0x2e98]
mov edx, 1
call fcn.1400017c0
jmp case.0x140038f79.3
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x30], xmm0
movapd xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 2
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call qword [sym.imp.USER32.dll_SendInput]
jmp case.0x140038f79.3
mov ecx, 1
call fcn.140006df0
lea rdi, [0x140063624]
mov rcx, rdi
call fcn.140037270
mov eax, eax
cvtsi2sd xmm7, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140040638]
addsd xmm0, xmm7
mulsd xmm0, qword [0x140040640]
addsd xmm0, qword [0x140040648]
cvttsd2si rcx, xmm0
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QThread::msleep_unsigned_long_int_]
mov eax, dword [rsi + 0x288]
cmp rax, 4
ja case.0x140039094.3
lea rcx, [0x14004176c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
lea rcx, [rsi + 0x2e68]
call fcn.1400051d0
mov dword [rsi + 0xe60], 0
jmp case.0x140039094.3
lea rcx, [rsi + 0x2e98]
xor edx, edx
call fcn.1400017c0
jmp case.0x140039094.3
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x30], xmm0
movapd xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x34], 4
lea rdx, [rsp + 0x20]
mov ecx, 1
mov r8d, 0x28
call qword [sym.imp.USER32.dll_SendInput]
jmp case.0x140039094.3
xor ecx, ecx
call fcn.140006df0
lea rdi, [0x140063624]
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
mov rcx, rdi
call fcn.140037270
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140040638]
addsd xmm0, xmm7
mulsd xmm0, qword [0x140040650]
addsd xmm0, qword [0x140040658]
cvttsd2si rcx, xmm0
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QThread::msleep_unsigned_long_int_]
mov dword [rsi + 0x2e1c], 0
cmp dword [rsi + 0x214], 1
jne 0x140039229
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140039229
call sub.MSVCP140.dll__Xtime_get_ticks
mov rcx, rax
sub rax, qword [rsi + 0x2dd0]
movabs rdx, 0x346dc5d63886594b
imul rdx
mov r9, qword [rsi + 0x3060]
test r9, r9
je 0x1400391f8
movsxd rax, dword [rsi + 0x30f4]
cmp eax, dword [rsi + 0x3058]
jge 0x1400391f8
mov r8, qword [r9]
mov r9, qword [r9 + 8]
sub r9, r8
sar r9, 2
movabs r10, 0xaaaaaaaaaaaaaaab
imul r10, r9
cmp r10, rax
jbe 0x1400391f8
mov r10, rdx
shr r10, 0x3f
lea r9, [rax + rax*2]
cvttss2si r11d, dword [r8 + r9*4 + 8]
sar rdx, 0xb
add rdx, r10
movsxd r10, r11d
cmp rdx, r10
jge 0x140039553
xorpd xmm0, xmm0
movlpd qword [rsi + 0x30f8], xmm0
movsd xmm1, qword [rsi + 0x390]
mulps xmm1, xmm0
movsd xmm0, qword [rsi + 0x3100]
cvtdq2ps xmm0, xmm0
addps xmm0, xmm1
cvttps2dq xmm0, xmm0
movlpd qword [rsi + 0x3100], xmm0
mov rax, qword [rsi + 0x3130]
mov rcx, qword [rax + 0x5a0]
call qword [sym.imp.Qt5Widgets.dll_public:_bool___cdecl_QAbstractButton::isChecked_void_const___ptr64]
movd xmm0, r15d
movd xmm7, r14d
punpckldq xmm7, xmm0
test al, al
je 0x1400392df
mov ecx, recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400392df
cvtdq2pd xmm0, xmm7
movsd xmm1, qword [rsi + 0x2e50]
movd xmm2, dword [rsi + 0x414]
movd xmm3, ebx
punpckldq xmm3, xmm2
cvtdq2ps xmm2, xmm3
movss xmm3, dword [rsi + 0x2e0c]
movss xmm4, dword [rsi + 0x2e10]
unpcklps xmm3, xmm6
mulps xmm3, xmm2
shufps xmm4, xmm2, 0xd4
shufps xmm4, xmm2, 0x52
mulps xmm4, xmm3
cvtps2pd xmm2, xmm4
mulpd xmm2, xmmword [0x140040680]
unpcklpd xmm1, xmm1
movapd xmm3, xmmword [0x140040690]
xorpd xmm3, xmm1
movapd xmm4, xmm1
cmpltpd xmm4, xmm2
maxpd xmm3, xmm2
andpd xmm1, xmm4
andnpd xmm4, xmm3
orpd xmm4, xmm1
addpd xmm4, xmm0
cvttpd2dq xmm7, xmm4
cvtdq2ps xmm2, xmm7
movss xmm0, dword [rsi + 0x3f8]
movsd xmm3, qword [rsi + 0x400]
mulps xmm3, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
mulss xmm1, dword [rsi + 0x3fc]
cvtps2pd xmm3, xmm3
mulpd xmm3, xmmword [0x1400406a0]
cvtps2pd xmm4, qword [rsi + 0x2e0c]
mulss xmm0, xmm2
addpd xmm4, xmm3
cvtpd2ps xmm2, xmm4
movlpd qword [rsi + 0x2e0c], xmm2
movd eax, xmm7
mov ecx, eax
neg ecx
cmovs ecx, eax
xorps xmm8, xmm8
cvtsi2sd xmm8, ecx
xorps xmm3, xmm3
cvtsi2sd xmm3, ebp
movsd xmm5, qword [0x1400405e0]
mulsd xmm5, xmm3
movss xmm6, dword [0x1400406b0]
ucomisd xmm5, xmm8
movaps xmm9, xmm6
jae 0x140039380
xor eax, eax
cmp dword [rsi + 0x2dec], 0
setne al
lea eax, [rax*2 + 3]
xorps xmm9, xmm9
cvtsi2ss xmm9, eax
movss dword [rsi + 0x2e20], xmm9
pshufd xmm4, xmm7, 0x55
movd edx, xmm4
mov eax, edx
neg eax
cmovs eax, edx
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
ucomisd xmm5, xmm4
jae 0x1400393c0
xor edx, edx
cmp dword [rsi + 0x2dec], 0
setne dl
lea edx, [rdx*2 + 3]
xorps xmm6, xmm6
cvtsi2ss xmm6, edx
movss dword [rsi + 0x2e24], xmm6
cvtss2sd xmm9, xmm9
mulsd xmm9, xmm5
ucomisd xmm9, xmm8
jae 0x1400393ed
movss dword [rsi + 0x2de0], xmm0
mov dword [rsi + 0x2e0c], 0
jmp 0x140039463
mov edx, dword [rsi + 0x2e14]
mov r8d, edx
neg r8d
cmovns r8d, edx
add ecx, r8d
cmp ecx, 0x14
jl 0x14003941d
mov dword [rsi + 0x2e0c], 0
mov dword [rsi + 0x78], 0
xorpd xmm9, xmm9
jmp 0x140039422
movapd xmm9, xmm2
movsd xmm10, qword [0x140040510]
mulsd xmm10, xmm3
ucomisd xmm10, xmm8
jbe 0x140039456
cmp dword [rsi + 0x78], 0
jne 0x140039456
mulss xmm9, dword [0x1400405d0]
movss dword [rsi + 0x2e0c], xmm9
mov dword [rsi + 0x78], 1
addss xmm0, xmm9
movss dword [rsi + 0x2de0], xmm0
cvtss2sd xmm6, xmm6
mulsd xmm5, xmm6
ucomisd xmm5, xmm4
jae 0x140039485
movss dword [rsi + 0x2de4], xmm1
mov dword [rsi + 0x2e10], 0
jmp 0x1400394e7
mov ecx, dword [rsi + 0x2e18]
mov edx, ecx
neg edx
cmovns edx, ecx
add eax, edx
cmp eax, 0x14
jl 0x1400394af
mov dword [rsi + 0x2e10], 0
mov dword [rsi + 0x7c], 0
xorps xmm2, xmm2
jmp 0x1400394b3
shufps xmm2, xmm2, 0x55
mulsd xmm3, qword [0x140040510]
ucomisd xmm3, xmm4
jbe 0x1400394db
cmp dword [rsi + 0x7c], 0
jne 0x1400394db
mov dword [rsi + 0x2e10], 0
mov dword [rsi + 0x7c], 1
xorps xmm2, xmm2
addss xmm1, xmm2
movss dword [rsi + 0x2de4], xmm1
movq qword [rsi + 0x2e14], xmm7
movss dword [rsi + 0x2dd8], xmm0
movss dword [rsi + 0x2ddc], xmm1
mov rcx, rsi
call fcn.14002e3b0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14003af70
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm11, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [r8 + r9*4]
mov qword [rsi + 0x2dd0], rcx
movss xmm0, dword [rdx]
movss dword [rsi + 0x30f8], xmm0
movss xmm1, dword [rdx + 4]
movss dword [rsi + 0x30fc], xmm1
inc eax
mov dword [rsi + 0x30f4], eax
unpcklps xmm0, xmm1
jmp 0x140039204