Function at 0x1400113f7
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140015dc0
push rbp
push rdi
sub rsp, 0x508
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xd6
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140025028]
xor rax, rbp
mov qword [rbp + 0x4c0], rax
lea rcx, [0x14002b0f5]
call fcn.140011591
lea rdx, [rbp + 0x24]
lea rcx, [rbp + 4]
call fcn.14001117c
mov eax, dword [rbp + 4]
imul eax, dword [rbp + 0x24]
cdqe
mov qword [rbp + 0x4b8], rax
mov eax, 2
mov rcx, qword [rbp + 0x4b8]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14001128a
mov qword [rbp + 0x468], rax
mov rax, qword [rbp + 0x468]
mov qword [rbp + 0x48], rax
mov qword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov ecx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateConsoleScreenBuffer]
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetConsoleActiveScreenBuffer]
xor eax, eax
cmp eax, 1
je 0x1400165f2
lea rdx, [rbp + 0x24]
lea rcx, [rbp + 4]
call fcn.14001117c
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x488], rax
mov rcx, qword [rbp + 0x488]
call fcn.1400112cb
cmp qword [rbp + 0x488], 0
jne 0x140015ec1
mov qword [rbp + 0x4b8], 0
jmp 0x140015ed4
mov qword [rbp + 0x48], 0x8123
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x4b8], rax
mov eax, dword [rbp + 4]
imul eax, dword [rbp + 0x24]
cdqe
mov qword [rbp + 0x4b8], rax
mov eax, 2
mov rcx, qword [rbp + 0x4b8]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14001128a
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x84], 0
jmp 0x140015f32
mov eax, dword [rbp + 0x84]
inc eax
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x84], eax
jge 0x140016389
cvtss2sd xmm0, dword [0x140025450]
subsd xmm0, qword [0x140021950]
cvtsi2ss xmm1, dword [rbp + 0x84]
cvtsi2ss xmm2, dword [rbp + 4]
divss xmm1, xmm2
cvtss2sd xmm1, xmm1
mulsd xmm1, qword [0x1400219a0]
divsd xmm1, qword [0x1400219b0]
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0xa4], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0xc4], xmm0
mov byte [rbp + 0xe4], 0
movss xmm0, dword [rbp + 0xa4]
call qword [sym.imp.ucrtbased.dll_sinf]
movss dword [rbp + 0x104], xmm0
movss xmm0, dword [rbp + 0xa4]
call qword [sym.imp.ucrtbased.dll_cosf]
movss dword [rbp + 0x124], xmm0
movzx eax, byte [rbp + 0xe4]
test eax, eax
jne 0x1400160ca
cvtss2sd xmm0, dword [rbp + 0xc4]
movsd xmm1, qword [0x1400219f0]
comisd xmm1, xmm0
jbe 0x1400160ca
movss xmm0, dword [rbp + 0xc4]
addss xmm0, dword [0x140021934]
movss dword [rbp + 0xc4], xmm0
movss xmm0, dword [rbp + 0x104]
mulss xmm0, dword [rbp + 0xc4]
movss xmm1, dword [section..data]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x144], eax
movss xmm0, dword [rbp + 0x124]
mulss xmm0, dword [rbp + 0xc4]
movss xmm1, dword [0x140025004]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x164], eax
cmp dword [rbp + 0x144], 0
jl 0x14001607b
cmp dword [rbp + 0x144], 0x10
jge 0x14001607b
cmp dword [rbp + 0x164], 0
jl 0x14001607b
cmp dword [rbp + 0x164], 0x10
jl 0x140016094
mov byte [rbp + 0xe4], 1
movss xmm0, dword [0x1400219fc]
movss dword [rbp + 0xc4], xmm0
jmp 0x1400160c5
imul eax, dword [rbp + 0x164], 0x10
mov ecx, dword [rbp + 0x144]
add ecx, eax
mov eax, ecx
cdqe
mov rdx, rax
lea rcx, [0x140025458]
call fcn.1400110b4
movzx eax, word [rax]
cmp eax, 0x23
jne 0x1400160c5
mov byte [rbp + 0xe4], 1
jmp 0x140015fc4
cvtsi2sd xmm0, dword [rbp + 0x24]
divsd xmm0, qword [0x140021990]
cvtsd2ss xmm0, xmm0
cvtsi2ss xmm1, dword [rbp + 0x24]
divss xmm1, dword [rbp + 0xc4]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x184], eax
mov eax, dword [rbp + 0x184]
mov ecx, dword [rbp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x1a4], eax
mov eax, 0x20
mov word [rbp + 0x1c4], ax
movss xmm0, dword [rbp + 0xc4]
mulss xmm0, dword [0x140021930]
movss xmm1, dword [0x140021938]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x1e4], xmm0
cvtss2sd xmm0, dword [rbp + 0xc4]
movsd xmm1, qword [0x1400219b0]
comisd xmm1, xmm0
jb 0x140016160
mov eax, 0x2588
mov word [rbp + 0x1c4], ax
jmp 0x1400161d8
cvtss2sd xmm0, dword [rbp + 0xc4]
movsd xmm1, qword [str.UUUUUU]
comisd xmm1, xmm0
jb 0x140016184
mov eax, 0x2593
mov word [rbp + 0x1c4], ax
jmp 0x1400161d8
cvtss2sd xmm0, dword [rbp + 0xc4]
movsd xmm1, qword [0x1400219d0]
comisd xmm1, xmm0
jb 0x1400161a8
mov eax, 0x2592
mov word [rbp + 0x1c4], ax
jmp 0x1400161d8
cvtss2sd xmm0, dword [rbp + 0xc4]
movsd xmm1, qword [str.UUUUUU__]
comisd xmm1, xmm0
jb 0x1400161cc
mov eax, 0x2591
mov word [rbp + 0x1c4], ax
jmp 0x1400161d8
mov eax, 0x20
mov word [rbp + 0x1c4], ax
mov dword [rbp + 0x204], 0
jmp 0x1400161f2
mov eax, dword [rbp + 0x204]
inc eax
mov dword [rbp + 0x204], eax
mov eax, dword [rbp + 0x24]
cmp dword [rbp + 0x204], eax
jge 0x140016384
mov eax, dword [rbp + 0x184]
cmp dword [rbp + 0x204], eax
jg 0x140016233
mov eax, dword [rbp + 0x204]
imul eax, dword [rbp + 4]
add eax, dword [rbp + 0x84]
cdqe
mov ecx, 0x20
mov rdx, qword [rbp + 0x48]
mov word [rdx + rax*2], cx
jmp 0x14001637f
mov eax, dword [rbp + 0x184]
cmp dword [rbp + 0x204], eax
jle 0x140016275
mov eax, dword [rbp + 0x1a4]
cmp dword [rbp + 0x204], eax
jg 0x140016275
mov eax, dword [rbp + 0x204]
imul eax, dword [rbp + 4]
add eax, dword [rbp + 0x84]
cdqe
mov rcx, qword [rbp + 0x48]
movzx edx, word [rbp + 0x1c4]
mov word [rcx + rax*2], dx
jmp 0x14001637f
cvtsi2ss xmm0, dword [rbp + 0x204]
cvtsi2ss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14002198c]
subss xmm0, xmm1
cvtsi2ss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14002198c]
divss xmm0, xmm1
movss xmm1, dword [0x140021938]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x224], xmm0
mov eax, 0x20
mov word [rbp + 0x244], ax
cvtss2sd xmm0, dword [rbp + 0x224]
movsd xmm1, qword [0x140021940]
comisd xmm1, xmm0
jbe 0x1400162e6
mov eax, 0x23
mov word [rbp + 0x244], ax
jmp 0x14001635e
cvtss2sd xmm0, dword [rbp + 0x224]
movsd xmm1, qword [0x140021960]
comisd xmm1, xmm0
jbe 0x14001630a
mov eax, 0x78
mov word [rbp + 0x244], ax
jmp 0x14001635e
cvtss2sd xmm0, dword [rbp + 0x224]
movsd xmm1, qword [0x140021970]
comisd xmm1, xmm0
jbe 0x14001632e
mov eax, 0x2e
mov word [rbp + 0x244], ax
jmp 0x14001635e
cvtss2sd xmm0, dword [rbp + 0x224]
movsd xmm1, qword [0x140021980]
comisd xmm1, xmm0
jbe 0x140016352
mov eax, 0x2d
mov word [rbp + 0x244], ax
jmp 0x14001635e
mov eax, 0x20
mov word [rbp + 0x244], ax
mov eax, dword [rbp + 0x204]
imul eax, dword [rbp + 4]
add eax, dword [rbp + 0x84]
cdqe
mov rcx, qword [rbp + 0x48]
movzx edx, word [rbp + 0x244]
mov word [rcx + rax*2], dx
jmp 0x1400161e4
jmp 0x140015f24
mov r8d, dword [rbp + 0x24]
mov edx, dword [rbp + 4]
mov rcx, qword [rbp + 0x48]
call fcn.140011375
mov eax, dword [rbp + 4]
imul eax, dword [rbp + 0x24]
dec eax
cdqe
xor ecx, ecx
mov rdx, qword [rbp + 0x48]
mov word [rdx + rax*2], cx
mov r9d, dword [rbp + 0x24]
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x68]
call fcn.14001111d
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400163f0
movss xmm0, dword [0x140025450]
subss xmm0, dword [0x140021928]
movss dword [0x140025450], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14001641d
movss xmm0, dword [0x140025450]
addss xmm0, dword [0x140021928]
movss dword [0x140025450], xmm0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400164de
movss xmm0, dword [0x140025450]
call qword [sym.imp.ucrtbased.dll_sinf]
mulss xmm0, dword [0x14002192c]
movss xmm1, dword [section..data]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x264], xmm0
movss xmm0, dword [0x140025450]
call qword [sym.imp.ucrtbased.dll_cosf]
mulss xmm0, dword [0x14002192c]
movss xmm1, dword [0x140025004]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x284], xmm0
cvttss2si eax, dword [rbp + 0x264]
cvttss2si ecx, dword [rbp + 0x284]
imul ecx, ecx, 0x10
add eax, ecx
cdqe
mov rdx, rax
lea rcx, [0x140025458]
call fcn.1400110b4
movzx eax, word [rax]
cmp eax, 0x23
je 0x1400164de
movss xmm0, dword [rbp + 0x264]
movss dword [section..data], xmm0
movss xmm0, dword [rbp + 0x284]
movss dword [0x140025004], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14001659f
movss xmm0, dword [0x140025450]
call qword [sym.imp.ucrtbased.dll_sinf]
mulss xmm0, dword [0x14002192c]
movss xmm1, dword [section..data]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x2a4], xmm0
movss xmm0, dword [0x140025450]
call qword [sym.imp.ucrtbased.dll_cosf]
mulss xmm0, dword [0x14002192c]
movss xmm1, dword [0x140025004]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x2c4], xmm0
cvttss2si eax, dword [rbp + 0x2a4]
cvttss2si ecx, dword [rbp + 0x2c4]
imul ecx, ecx, 0x10
add eax, ecx
cdqe
mov rdx, rax
lea rcx, [0x140025458]
call fcn.1400110b4
movzx eax, word [rax]
cmp eax, 0x23
je 0x14001659f
movss xmm0, dword [rbp + 0x2a4]
movss dword [section..data], xmm0
movss xmm0, dword [rbp + 0x2c4]
movss dword [0x140025004], xmm0
mov ecx, 0x4d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400165ed
movzx eax, byte [0x140025008]
test eax, eax
jne 0x1400165cb
mov dword [rbp + 0x4b4], 1
jmp 0x1400165d5
mov dword [rbp + 0x4b4], 0
movzx eax, byte [rbp + 0x4b4]
mov byte [0x140025008], al
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140015e7b
xor eax, eax
mov edi, eax
lea rcx, [rbp - 0x30]
lea rdx, [0x140021050]
call fcn.1400114d8
mov eax, edi
mov rcx, qword [rbp + 0x4c0]
xor rcx, rbp
call fcn.1400112da
lea rsp, [rbp + 0x4d8]
pop rdi
pop rbp
ret