Function at 0x1400b3b63
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140210d30
push rbp
push rsi
push rdi
mov eax, 0x11f0
call fcn.1400b38a7
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x320
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1405424c0]
xor rax, rbp
mov qword [rbp + 0x11b8], rax
lea rcx, [0x14055d55d]
call fcn.1400b5fb2
nop
mov rax, qword [0x14054abf0]
add rax, 0x19b64f0
mov r8, rax
lea rdx, [rbp + 0x10]
lea rcx, [0x14054ac90]
call fcn.1400b4419
nop
mov rax, qword [0x14054abf0]
add rax, 0x17c17f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
jne 0x140210dc2
jmp 0x140211b2a
mov rax, qword [rbp + 0x68]
add rax, 0x1274
mov r8, rax
lea rdx, [rbp + 0x88]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
mov rax, qword [0x14054abf0]
add rax, 0x19c5958
mov r8, rax
lea rdx, [rbp + 0xb8]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
mov rax, qword [rbp + 0x68]
add rax, 0x3c3
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e3
mov dword [rbp + 0xe4], eax
call fcn.1400b4c66
mov qword [rbp + 0x108], rax
movss xmm0, dword [0x14023aa94]
movss dword [rbp + 0x154], xmm0
mov qword [rbp + 0x178], 0
mov dword [rbp + 0x194], 1
jmp 0x140210e67
mov eax, dword [rbp + 0x194]
inc eax
mov dword [rbp + 0x194], eax
cmp dword [rbp + 0x194], 0x40
jge 0x140211874
mov rax, qword [0x14054abf0]
add rax, 0x1954568
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x1b8], rax
mov eax, dword [rbp + 0x194]
and eax, 0x7fff
shl eax, 3
sar eax, 9
add eax, 0x10
cdqe
mov rcx, qword [rbp + 0x1b8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x1d8], rax
cmp qword [rbp + 0x1d8], 0
jne 0x140210edf
jmp 0x140210e59
mov eax, dword [rbp + 0x194]
and eax, 0x1ff
imul eax, eax, 0x78
cdqe
mov rcx, qword [rbp + 0x1d8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x1f8], rax
cmp qword [rbp + 0x1f8], 0
jne 0x140210f21
jmp 0x140210e59
mov rax, qword [rbp + 0x1f8]
add rax, 0x7ec
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b590e
mov dword [rbp + 0x214], eax
cmp dword [rbp + 0x214], 0
jne 0x140210f51
jmp 0x140210e59
mov eax, dword [rbp + 0x214]
and eax, 0x1fff
shr eax, 9
shl eax, 3
mov eax, eax
mov rcx, qword [rbp + 0x1b8]
lea rax, [rcx + rax + 0x10]
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x238], rax
cmp qword [rbp + 0x238], 0
jne 0x140210f95
jmp 0x140210e59
mov eax, dword [rbp + 0x214]
and eax, 0x1ff
imul eax, eax, 0x78
mov eax, eax
mov rcx, qword [rbp + 0x238]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x258], rax
cmp qword [rbp + 0x258], 0
jne 0x140210fd7
jmp 0x140210e59
mov rax, qword [rbp + 0x68]
cmp qword [rbp + 0x258], rax
jne 0x140210fe9
jmp 0x140210e59
mov rax, qword [rbp + 0x258]
add rax, 0x324
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e3
mov dword [rbp + 0x274], eax
cmp dword [rbp + 0x274], 0
jg 0x140211019
jmp 0x140210e59
mov rax, qword [rbp + 0x258]
add rax, 0x3c3
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e3
mov dword [rbp + 0x294], eax
movzx eax, byte [0x14054ad03]
test eax, eax
je 0x140211059
mov eax, dword [rbp + 0xe4]
cmp dword [rbp + 0x294], eax
jne 0x140211059
jmp 0x140210e59
mov rax, qword [rbp + 0x258]
add rax, 0x1274
mov r8, rax
lea rdx, [rbp + 0x2b8]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
mov rax, qword [rbp + 0x258]
add rax, 0xc50
mov r8, rax
lea rdx, [rbp + 0x2e8]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
mov rax, qword [rbp + 0x258]
add rax, 0x308
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x318], rax
mov rax, qword [rbp + 0x318]
add rax, 0x1f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x338], rax
mov rax, qword [rbp + 0x338]
add rax, 0xc0
mov r8, rax
lea rdx, [rbp + 0x358]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
lea rax, [rbp + 0x388]
lea rcx, [rbp + 0x358]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x388]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xf18]
call fcn.1400b5cb0
lea rcx, [rbp + 0x3b8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x2b8]
movss dword [rbp + 0x3e8], xmm0
movss xmm0, dword [rbp + 0x2bc]
movss dword [rbp + 0x3ec], xmm0
movss xmm0, dword [rbp + 0x2c0]
addss xmm0, dword [rbp + 0x2f0]
addss xmm0, dword [0x14023aa48]
movss dword [rbp + 0x3f0], xmm0
movss xmm0, dword [rbp + 0x2b8]
movss dword [rbp + 0x418], xmm0
movss xmm0, dword [rbp + 0x2bc]
movss dword [rbp + 0x41c], xmm0
movss xmm0, dword [rbp + 0x2c0]
subss xmm0, dword [0x14023aa40]
movss dword [rbp + 0x420], xmm0
lea r8, [rbp + 0x3e8]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xf48]
call fcn.1400b5cb0
lea rcx, [rbp + 0x448]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x418]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xf78]
call fcn.1400b5cb0
lea rcx, [rbp + 0x478]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x47c]
subss xmm0, dword [rbp + 0x44c]
call fcn.1400b630e
movss dword [rbp + 0x4a4], xmm0
movss xmm0, dword [rbp + 0x4a4]
divss xmm0, dword [0x140251c60]
movss dword [rbp + 0x4c4], xmm0
movss xmm0, dword [rbp + 0x4c4]
divss xmm0, dword [0x14023aa2c]
movss xmm1, dword [rbp + 0x448]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm2, dword [rbp + 0x44c]
movaps xmm1, xmm0
lea rcx, [rbp + 0x4e8]
call fcn.1400b4e1e
nop
movss xmm0, dword [rbp + 0x4c4]
divss xmm0, dword [0x14023aa2c]
movss xmm1, dword [rbp + 0x448]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm2, dword [rbp + 0x47c]
movaps xmm1, xmm0
lea rcx, [rbp + 0x508]
call fcn.1400b4e1e
nop
movss xmm0, dword [rbp + 0x3c0]
comiss xmm0, dword [0x140278e48]
jbe 0x14021186f
movzx eax, byte [0x140542478]
test eax, eax
je 0x140211302
movzx eax, byte [0x14054ad07]
cmp eax, 1
je 0x140211302
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b3abe
nop
movzx eax, byte [0x14054ad07]
test eax, eax
je 0x140211321
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b5445
nop
movzx eax, byte [0x140542479]
test eax, eax
je 0x140211369
mov rax, qword [rbp + 0x258]
add rax, 0x324
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e3
mov dword [rbp + 0x524], eax
mov r8d, dword [rbp + 0x524]
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b44d7
nop
movzx eax, byte [0x14054ad08]
test eax, eax
je 0x140211423
call fcn.1400b4c66
mov qword [rbp + 0x548], rax
call fcn.1400b548b
mov rax, qword [rax + 8]
mov qword [rbp + 0x568], rax
movss xmm0, dword [rbp + 0x568]
mulss xmm0, dword [0x14023a9e4]
movss xmm2, dword [rbp + 0x56c]
movaps xmm1, xmm0
lea rcx, [rbp + 0x588]
call fcn.1400b4e1e
nop
movss xmm0, dword [rbp + 0x50c]
subss xmm0, dword [rbp + 0x4ec]
movss xmm1, dword [rbp + 0x3bc]
addss xmm1, xmm0
movaps xmm0, xmm1
movaps xmm2, xmm0
movss xmm1, dword [rbp + 0x3b8]
lea rcx, [rbp + 0x5a8]
call fcn.1400b4e1e
nop
movss xmm0, dword [0x140225e84]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [0x140542498]
lea r8, [rbp + 0x5a8]
lea rdx, [rbp + 0x588]
mov rcx, qword [rbp + 0x548]
call fcn.1400b34f1
nop
movzx eax, byte [0x14054247a]
test eax, eax
je 0x140211602
lea rcx, [0x1405424a0]
call fcn.1400b4450
mov dword [rbp + 0x5c4], eax
lea rax, [0x14054ac10]
mov qword [rbp + 0x5e8], rax
mov rax, qword [rbp + 0x5e8]
mov qword [rbp + 0x608], rax
mov rax, qword [rbp + 0x5e8]
add rax, 0x80
mov qword [rbp + 0x628], rax
jmp 0x140211488
mov rax, qword [rbp + 0x608]
add rax, 8
mov qword [rbp + 0x608], rax
mov rax, qword [rbp + 0x628]
cmp qword [rbp + 0x608], rax
je 0x140211602
mov rax, qword [rbp + 0x608]
mov qword [rbp + 0x648], rax
mov rax, qword [rbp + 0x648]
imul eax, dword [rax], 0x20
cdqe
mov rcx, qword [rbp + 0x338]
add rcx, rax
mov rax, rcx
mov r8, rax
lea rdx, [rbp + 0x668]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
mov rax, qword [rbp + 0x648]
imul eax, dword [rax + 4], 0x20
cdqe
mov rcx, qword [rbp + 0x338]
add rcx, rax
mov rax, rcx
mov r8, rax
lea rdx, [rbp + 0x698]
lea rcx, [0x14054ac90]
call fcn.1400b6020
nop
lea r8, [rbp + 0x668]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xfa8]
call fcn.1400b5cb0
lea rcx, [rbp + 0x6c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x698]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xfd8]
call fcn.1400b5cb0
lea rcx, [rbp + 0x6f8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x6d0]
comiss xmm0, dword [0x14023a9c0]
jbe 0x1402115fd
movss xmm0, dword [rbp + 0x700]
comiss xmm0, dword [0x14023a9c0]
jbe 0x1402115fd
movss xmm2, dword [rbp + 0x6fc]
movss xmm1, dword [rbp + 0x6f8]
lea rcx, [rbp + 0x1004]
call fcn.1400b4e1e
mov qword [rbp + 0x11a8], rax
movss xmm2, dword [rbp + 0x6cc]
movss xmm1, dword [rbp + 0x6c8]
lea rcx, [rbp + 0x1024]
call fcn.1400b4e1e
mov qword [rbp + 0x11b0], rax
movss xmm0, dword [0x14023aa2c]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rbp + 0x5c4]
mov r8, qword [rbp + 0x11a8]
mov rdx, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x108]
call fcn.1400b34f1
nop
jmp 0x140211476
lea rdx, [rbp + 0x2b8]
lea rcx, [rbp + 0x88]
call fcn.1400b450e
movss dword [rbp + 0x724], xmm0
movss xmm0, dword [rbp + 0x724]
divss xmm0, dword [0x140225e94]
movss dword [rbp + 0x724], xmm0
cvtss2sd xmm0, dword [rbp + 0x724]
movaps xmm3, xmm0
movq r9, xmm3
lea r8, str._.1f_m
mov edx, 0x20
lea rcx, [rbp + 0x748]
call fcn.1400b515c
nop
movss xmm0, dword [0x14023aaa0]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x748]
lea rcx, [rbp + 0x788]
call fcn.1400b482e
nop
movss xmm0, dword [rbp + 0x47c]
addss xmm0, dword [0x14023aa2c]
movss xmm1, dword [rbp + 0x788]
divss xmm1, dword [0x14023aa2c]
movss xmm2, dword [rbp + 0x478]
subss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm0
lea rcx, [rbp + 0x7a8]
call fcn.1400b4e1e
nop
movzx eax, byte [0x14054247b]
test eax, eax
je 0x1402116fa
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x748]
mov r8d, 0xffffffff
lea rdx, [rbp + 0x7a8]
mov rcx, qword [rbp + 0x108]
call fcn.1400b5508
nop
lea rax, [rbp + 0x1190]
lea rcx, [rbp + 0x388]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1160]
lea rcx, [rbp + 0x88]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1190]
lea rdx, [rbp + 0x1160]
lea rcx, [rbp + 0x1048]
call fcn.1400b3a55
lea rcx, [rbp + 0x7c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x7c8]
lea rcx, [rbp + 0xb8]
call fcn.1400b49dc
movss dword [rbp + 0x7f4], xmm0
call fcn.1400b548b
movss xmm0, dword [rax + 8]
divss xmm0, dword [0x14023aa2c]
movss dword [rbp + 0x814], xmm0
call fcn.1400b548b
movss xmm0, dword [rax + 0xc]
divss xmm0, dword [0x14023aa2c]
movss dword [rbp + 0x834], xmm0
movss xmm0, dword [rbp + 0x3b8]
subss xmm0, dword [rbp + 0x814]
mov edx, 2
call fcn.1400b4612
movsd qword [rbp + 0x11a8], xmm0
movss xmm1, dword [rbp + 0x3bc]
subss xmm1, dword [rbp + 0x834]
mov edx, 2
movaps xmm0, xmm1
call fcn.1400b4612
movsd xmm1, qword [rbp + 0x11a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400b32d5
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x854], xmm0
movss xmm0, dword [0x140542480]
mulss xmm0, dword [0x14023aa48]
comiss xmm0, dword [rbp + 0x854]
jbe 0x14021186f
movss xmm0, dword [rbp + 0x154]
comiss xmm0, dword [rbp + 0x854]
jbe 0x14021186f
movss xmm0, dword [rbp + 0x854]
movss dword [rbp + 0x154], xmm0
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x178], rax
lea rax, [rbp + 0x128]
lea rcx, [rbp + 0x388]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
jmp 0x140210e59
mov ecx, dword [0x140542488]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140211a77
movzx eax, byte [0x14054ad09]
test eax, eax
je 0x140211a77
cmp qword [rbp + 0x178], 0
je 0x140211a77
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x1078]
call fcn.1400b5cb0
lea rcx, [rbp + 0x878]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x8a8]
call qword [sym.imp.USER32.dll_GetCursorPos]
nop
movss xmm0, dword [rbp + 0x878]
movss dword [rbp + 0x8c8], xmm0
movss xmm0, dword [rbp + 0x87c]
movss dword [rbp + 0x8cc], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x8d0], xmm0
movss xmm0, dword [0x140542484]
movss dword [rbp + 0x8f4], xmm0
movss xmm0, dword [rbp + 0x8f4]
divss xmm0, dword [0x14023aa48]
movss xmm1, dword [0x140225e84]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x914], xmm0
movss xmm0, dword [rbp + 0x8f4]
comiss xmm0, dword [0x14023a99c]
jbe 0x1402119d3
cvtsi2ss xmm0, dword [rbp + 0x8a8]
movss dword [rbp + 0x10d8], xmm0
cvtsi2ss xmm0, dword [rbp + 0x8ac]
movss dword [rbp + 0x10dc], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x10e0], xmm0
movss xmm3, dword [rbp + 0x914]
lea r8, [rbp + 0x8c8]
lea rdx, [rbp + 0x10d8]
lea rcx, [rbp + 0x1108]
call fcn.1400b6066
lea rcx, [rbp + 0x10a8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x8c8]
lea rcx, [rbp + 0x10a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [0x14054248c]
movss dword [rbp + 0x934], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140211a10
movss xmm0, dword [rbp + 0x8cc]
addss xmm0, dword [rbp + 0x934]
movss dword [rbp + 0x8cc], xmm0
cvtsi2ss xmm0, dword [rbp + 0x8a8]
movss xmm1, dword [rbp + 0x8c8]
subss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x954], eax
cvtsi2ss xmm0, dword [rbp + 0x8ac]
movss xmm1, dword [rbp + 0x8cc]
subss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x974], eax
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, dword [rbp + 0x974]
mov edx, dword [rbp + 0x954]
mov ecx, 1
call qword [sym.imp.USER32.dll_mouse_event]
nop
movzx eax, byte [0x14054ad04]
test eax, eax
je 0x140211ad4
mov rax, qword [0x14054abf0]
add rax, 0x17c17f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x998], rax
xorps xmm0, xmm0
movss dword [rbp + 0x1134], xmm0
mov rax, qword [rbp + 0x998]
add rax, 0x135c
lea r8, [rbp + 0x1134]
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b47ca
nop
movzx eax, byte [0x14054ad06]
test eax, eax
je 0x140211b2a
mov rax, qword [rbp + 0x68]
add rax, 0x1130
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f64
mov qword [rbp + 0x9b8], rax
mov rax, qword [rbp + 0x9b8]
add rax, 0x210
lea r8, [0x140542474]
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b53b9
nop
mov byte [0x14054ad06], 0
lea rcx, [rbp - 0x30]
lea rdx, [0x140277230]
call fcn.1400b57c4
mov rcx, qword [rbp + 0x11b8]
xor rcx, rbp
call fcn.1400b46ee
lea rsp, [rbp + 0x11c0]
pop rdi
pop rsi
pop rbp
ret