Function at 0x140074190
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140154060]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rdi, r8
mov r15, rdx
mov r14, rcx
mov rsi, qword [0x140157b00]
mov rax, qword [rsi + 0x3e38]
mov byte [rax + 0x90], 1
mov r13, qword [rsi + 0x3e38]
cmp byte [r13 + 0x93], 0
jne 0x1400749d6
mov rdx, rcx
mov rcx, r13
call fcn.140039f30
mov ebx, eax
mov rax, qword [0x140157b00]
mov rdx, r14
cmp r14, 0xffffffffffffffff
jae 0x140074271
nop dword [rax + rax]
movzx r8d, byte [rdx]
test r8b, r8b
je 0x140074271
lea rcx, [rdx + 1]
cmp r8b, 0x23
jne 0x140074268
cmp byte [rcx], r8b
je 0x140074271
mov rdx, rcx
cmp rcx, 0xffffffffffffffff
jb 0x140074250
movss xmm12, dword [rax + 0x3ba8]
cmp r14, rdx
je 0x1400742bb
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x140142958]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14014293c]
movaps xmm2, xmm12
lea rdx, [rsp + 0x48]
mov rcx, qword [rax + 0x3ba0]
call fcn.14005bc40
movss xmm12, dword [rsp + 0x4c]
movss xmm6, dword [r13 + 0xd8]
movss xmm7, dword [r13 + 0xdc]
movaps xmm3, xmm12
addss xmm3, dword [0x140142870]
movss xmm2, dword [r13 + 0x18]
subss xmm2, dword [0x140142898]
mov rdx, qword [rdi]
lea rcx, [rsp + 0x48]
call fcn.140044db0
movaps xmm3, xmm7
addss xmm3, dword [rsp + 0x4c]
movaps xmm0, xmm6
addss xmm0, dword [rsp + 0x48]
movss dword [rbp - 0x68], xmm6
movss dword [rbp - 0x64], xmm7
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm3
movss xmm1, dword [rsi + 0x37b8]
lea rcx, [rsp + 0x48]
call fcn.140044980
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.140044ad0
test al, al
je 0x1400749d6
mov eax, dword [rsi + 0x3f04]
and eax, 2
shl eax, 9
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x41]
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.140063130
mov byte [rsp + 0x42], al
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.14003a370
movzx r12d, al
mov ecx, dword [0x14014133c]
mov dword [rbp - 0x30], ecx
movzx ecx, byte [0x140141340]
mov byte [rbp - 0x2c], cl
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x2b], xmm0
movups xmmword [rbp - 0x1b], xmm0
movups xmmword [rbp - 0xb], xmm0
mov qword [rbp + 5], rax
mov word [rbp + 0xd], ax
mov byte [rbp + 0xf], al
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
xor r8d, r8d
lea rdx, [0x1400c0473]
lea rcx, [rbp - 0x58]
call fcn.1400104f0
nop
movsxd rax, dword [r15]
lea rdx, str.NONE
mov rdx, qword [rdx + rax*8]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x1400743e4
lea rcx, [rbp - 0x58]
call fcn.14001b270
mov eax, dword [rsi + 0x3e84]
cmp dword [r15], 0
je 0x140074417
cmp eax, ebx
je 0x14007441b
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae r8, qword [rbp - 0x58]
jmp 0x140074422
cmp eax, ebx
jne 0x140074430
lea r8, str.Press_a_key
mov edx, 0x40
lea rcx, [rbp - 0x30]
call fcn.14008ef50
test r12b, r12b
je 0x140074483
cmp byte [rsi + 0x3630], 0
je 0x140074499
cmp dword [rsi + 0x3e84], ebx
je 0x14007446f
xor eax, eax
mov dword [rsi + 0xd14], eax
mov byte [rsi + 0xd18], al
lea rcx, [rsi + 0xb0c]
xor edx, edx
mov r8d, 0x200
call fcn.14007e1a0
mov dword [r15], 0
mov rdx, r13
mov ecx, ebx
call fcn.14003a230
mov rcx, r13
call fcn.140043720
jmp 0x140074499
cmp byte [rsi + 0x3630], 0
je 0x140074499
cmp dword [rsi + 0x3e84], ebx
jne 0x1400744f0
call fcn.14003a300
cmp dword [rsi + 0x3e84], ebx
jne 0x1400744f0
mov ecx, 0x20e
call fcn.1400440c0
test al, al
je 0x1400744bd
mov dword [r15], 0
call fcn.14003a300
jmp 0x1400744f0
lea rbx, [0x140140910]
lea r12, [0x140140bac]
nop dword [rax + rax]
mov ecx, dword [rbx]
cmp ecx, 1
je 0x1400744e7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400744e7
mov eax, dword [rbx]
mov dword [r15], eax
add rbx, 4
cmp rbx, r12
jne 0x1400744d0
cmp byte [rsp + 0x40], 0
jne 0x140074502
cmp byte [rsp + 0x41], 0
jne 0x140074502
xor ebx, ebx
jmp 0x140074504
mov bl, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
inc rdi
cmp byte [r14 + rdi], 0
jne 0x140074515
mov r8, rdi
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.1400104f0
nop
mov r8d, 0xd
lea rdx, str.buttonex.anim
lea rcx, [rsp + 0x48]
call fcn.14001b270
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400102a0
movss xmm0, dword [0x140142760]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401427e0]
xorps xmm13, xmm13
xorps xmm2, xmm2
movzx edx, bl
mov rcx, rax
call fcn.140061aa0
movaps xmm15, xmm0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400745bd
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400745b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074a35
call fcn.14007bc24
movdqa xmm0, xmmword [0x1401429c0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov r9, qword [0x140157b00]
movups xmm0, xmmword [r9 + 0x3850]
movups xmmword [rsp + 0x68], xmm0
movss xmm6, dword [r9 + 0x3778]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rsp + 0x74], xmm0
lea rcx, [rsp + 0x68]
call fcn.1400381a0
mov r8d, eax
movzx ecx, al
xorps xmm10, xmm10
cvtsi2ss xmm10, rcx
movss xmm11, dword [0x14014274c]
mulss xmm10, xmm11
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm9, xmm9
cvtsi2ss xmm9, rcx
mulss xmm9, xmm11
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm8, xmm8
cvtsi2ss xmm8, rax
mulss xmm8, xmm11
shr r8d, 0x18
mov eax, r8d
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
mulss xmm7, xmm11
movups xmm0, xmmword [r9 + 0x3860]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rsp + 0x74], xmm0
lea rcx, [rsp + 0x68]
call fcn.1400381a0
mov r8d, eax
movzx ecx, al
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
mulss xmm3, xmm11
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
mulss xmm2, xmm11
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm11
shr r8d, 0x18
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm11
subss xmm7, xmm0
mulss xmm7, xmm15
addss xmm7, xmm0
subss xmm8, xmm1
mulss xmm8, xmm15
addss xmm8, xmm1
subss xmm9, xmm2
mulss xmm9, xmm15
addss xmm9, xmm2
subss xmm10, xmm3
mulss xmm10, xmm15
addss xmm10, xmm3
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x4c], xmm9
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm7
lea rcx, [rsp + 0x48]
call fcn.1400381a0
movzx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x68], xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x6c], xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x70], xmm0
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm11
movss dword [rsp + 0x74], xmm0
cmp byte [rsi + 0x5364], 0
je 0x1400747be
lea rax, [0x1400c2dfc]
mov qword [r9 + 0x5388], rax
lea rax, [0x140141d04]
mov qword [r9 + 0x5390], rax
movss xmm7, dword [rbp - 0x5c]
movaps xmm1, xmm7
subss xmm1, xmm12
movss xmm10, dword [0x140142870]
subss xmm1, xmm10
movss xmm9, dword [rbp - 0x68]
mov r9b, 1
xor r8d, r8d
mov rdx, r14
movaps xmm0, xmm9
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.140038730
lea rbx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rbx, qword [rbp - 0x58]
mov rdi, qword [0x140157b00]
mov rcx, rbx
cmp rbx, 0xffffffffffffffff
jae 0x140074834
movzx edx, byte [rcx]
test dl, dl
je 0x140074834
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14007482b
cmp byte [rax], dl
je 0x140074834
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140074817
movss xmm6, dword [rdi + 0x3ba8]
cmp rbx, rcx
jne 0x140074847
movaps xmm8, xmm13
jmp 0x14007489c
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x140142958]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14014293c]
movaps xmm2, xmm6
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0x3ba0]
call fcn.14005bc40
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1401427d8]
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movss xmm6, dword [rsp + 0x4c]
mov dword [rsp + 0x48], 1
movups xmm0, xmmword [rdi + 0x3850]
movups xmmword [rsp + 0x4c], xmm0
lea rcx, [rdi + 0x3fb0]
lea rdx, [rsp + 0x48]
call fcn.14004cb30
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rdi + 0x3850], xmm0
movaps xmm1, xmm7
subss xmm1, xmm6
subss xmm1, xmm10
movss xmm0, dword [rbp - 0x60]
subss xmm0, xmm8
mov r9b, 1
xor r8d, r8d
mov rdx, rbx
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.140038730
mov r8, qword [0x140157b00]
movsxd rax, dword [r8 + 0x3fb0]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x3fb8]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, 0x384
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x3fb0]
movups xmm0, xmmword [r8 + 0x38a0]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x3778]
movss dword [rsp + 0x74], xmm0
lea rcx, [rsp + 0x68]
call fcn.1400381a0
subss xmm7, dword [0x1401427e0]
movss dword [rsp + 0x48], xmm9
movss dword [rsp + 0x4c], xmm7
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x48]
mov rcx, qword [r13 + 0x270]
call fcn.140057900
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1400749cf
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400749ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074a2f
call fcn.14007bc24
movzx eax, byte [rsp + 0x42]
jmp 0x1400749d8
xor al, al
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.14007b610
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400824c4
nop
call fcn.1400824c4
nop
int3