Function at 0x140074170
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 0x1400749b6
mov rdx, rcx
mov rcx, r13
call fcn.140039f60
mov ebx, eax
mov rax, qword [0x140157b00]
mov rdx, r14
cmp r14, 0xffffffffffffffff
jae 0x140074251
nop dword [rax + rax]
movzx r8d, byte [rdx]
test r8b, r8b
je 0x140074251
lea rcx, [rdx + 1]
cmp r8b, 0x23
jne 0x140074248
cmp byte [rcx], r8b
je 0x140074251
mov rdx, rcx
cmp rcx, 0xffffffffffffffff
jb 0x140074230
movss xmm12, dword [rax + 0x3ba8]
cmp r14, rdx
je 0x14007429b
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x140142968]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14014294c]
movaps xmm2, xmm12
lea rdx, [rsp + 0x48]
mov rcx, qword [rax + 0x3ba0]
call fcn.14005bc30
movss xmm12, dword [rsp + 0x4c]
movss xmm6, dword [r13 + 0xd8]
movss xmm7, dword [r13 + 0xdc]
movaps xmm3, xmm12
addss xmm3, dword [0x140142880]
movss xmm2, dword [r13 + 0x18]
subss xmm2, dword [0x1401428a8]
mov rdx, qword [rdi]
lea rcx, [rsp + 0x48]
call fcn.140044de0
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.1400449b0
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.140044b00
test al, al
je 0x1400749b6
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.140063120
mov byte [rsp + 0x42], al
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.14003a3a0
movzx r12d, al
mov ecx, dword [0x14014134c]
mov dword [rbp - 0x30], ecx
movzx ecx, byte [0x140141350]
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 0x1400743c4
lea rcx, [rbp - 0x58]
call fcn.14001b290
mov eax, dword [rsi + 0x3e84]
cmp dword [r15], 0
je 0x1400743f7
cmp eax, ebx
je 0x1400743fb
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae r8, qword [rbp - 0x58]
jmp 0x140074402
cmp eax, ebx
jne 0x140074410
lea r8, str.Press_a_key
mov edx, 0x40
lea rcx, [rbp - 0x30]
call fcn.14008ef20
test r12b, r12b
je 0x140074463
cmp byte [rsi + 0x3630], 0
je 0x140074479
cmp dword [rsi + 0x3e84], ebx
je 0x14007444f
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.14007e170
mov dword [r15], 0
mov rdx, r13
mov ecx, ebx
call fcn.14003a260
mov rcx, r13
call fcn.140043750
jmp 0x140074479
cmp byte [rsi + 0x3630], 0
je 0x140074479
cmp dword [rsi + 0x3e84], ebx
jne 0x1400744d0
call fcn.14003a330
cmp dword [rsi + 0x3e84], ebx
jne 0x1400744d0
mov ecx, 0x20e
call fcn.1400440f0
test al, al
je 0x14007449d
mov dword [r15], 0
call fcn.14003a330
jmp 0x1400744d0
lea rbx, [0x140140920]
lea r12, [0x140140bbc]
nop dword [rax + rax]
mov ecx, dword [rbx]
cmp ecx, 1
je 0x1400744c7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400744c7
mov eax, dword [rbx]
mov dword [r15], eax
add rbx, 4
cmp rbx, r12
jne 0x1400744b0
cmp byte [rsp + 0x40], 0
jne 0x1400744e2
cmp byte [rsp + 0x41], 0
jne 0x1400744e2
xor ebx, ebx
jmp 0x1400744e4
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 0x1400744f5
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.14001b290
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400102a0
movss xmm0, dword [0x140142770]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401427f0]
xorps xmm13, xmm13
xorps xmm2, xmm2
movzx edx, bl
mov rcx, rax
call fcn.140061a90
movaps xmm15, xmm0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14007459d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140074598
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074a15
call fcn.14007bbf4
movdqa xmm0, xmmword [0x1401429d0]
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.1400381c0
mov r8d, eax
movzx ecx, al
xorps xmm10, xmm10
cvtsi2ss xmm10, rcx
movss xmm11, dword [0x14014275c]
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.1400381c0
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.1400381c0
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 0x14007479e
lea rax, [0x1400c2e04]
mov qword [r9 + 0x5388], rax
lea rax, [0x140141ce4]
mov qword [r9 + 0x5390], rax
movss xmm7, dword [rbp - 0x5c]
movaps xmm1, xmm7
subss xmm1, xmm12
movss xmm10, dword [0x140142880]
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.140038750
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 0x140074814
movzx edx, byte [rcx]
test dl, dl
je 0x140074814
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14007480b
cmp byte [rax], dl
je 0x140074814
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1400747f7
movss xmm6, dword [rdi + 0x3ba8]
cmp rbx, rcx
jne 0x140074827
movaps xmm8, xmm13
jmp 0x14007487c
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x140142968]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14014294c]
movaps xmm2, xmm6
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0x3ba0]
call fcn.14005bc30
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1401427e8]
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.14004cb60
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.140038750
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.1400381c0
subss xmm7, dword [0x1401427f0]
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.140057920
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1400749af
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400749aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074a0f
call fcn.14007bbf4
movzx eax, byte [rsp + 0x42]
jmp 0x1400749b8
xor al, al
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.14007b5e0
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.140082494
nop
call fcn.140082494
nop
int3