Function at 0x1400b3b72
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1402110b0
push rbp
push rsi
push rdi
mov eax, 0x11f0
call fcn.1400b38cf
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.1400b4423
nop
mov rax, qword [0x14054abf0]
add rax, 0x17c17f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f6e
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
jne 0x140211142
jmp 0x140211eb5
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.1400b56e8
mov dword [rbp + 0xe4], eax
call fcn.1400b4c6b
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 0x1402111e7
mov eax, dword [rbp + 0x194]
inc eax
mov dword [rbp + 0x194], eax
cmp dword [rbp + 0x194], 0x40
jge 0x140211bf4
mov rax, qword [0x14054abf0]
add rax, 0x1954568
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f6e
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.1400b3f6e
mov qword [rbp + 0x1d8], rax
cmp qword [rbp + 0x1d8], 0
jne 0x14021125f
jmp 0x1402111d9
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.1400b3f6e
mov qword [rbp + 0x1f8], rax
cmp qword [rbp + 0x1f8], 0
jne 0x1402112a1
jmp 0x1402111d9
mov rax, qword [rbp + 0x1f8]
add rax, 0x7ec
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b5909
mov dword [rbp + 0x214], eax
cmp dword [rbp + 0x214], 0
jne 0x1402112d1
jmp 0x1402111d9
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.1400b3f6e
mov qword [rbp + 0x238], rax
cmp qword [rbp + 0x238], 0
jne 0x140211315
jmp 0x1402111d9
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.1400b3f6e
mov qword [rbp + 0x258], rax
cmp qword [rbp + 0x258], 0
jne 0x140211357
jmp 0x1402111d9
mov rax, qword [rbp + 0x68]
cmp qword [rbp + 0x258], rax
jne 0x140211369
jmp 0x1402111d9
mov rax, qword [rbp + 0x258]
add rax, 0x324
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e8
mov dword [rbp + 0x274], eax
cmp dword [rbp + 0x274], 0
jg 0x140211399
jmp 0x1402111d9
mov rax, qword [rbp + 0x258]
add rax, 0x3c3
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e8
mov dword [rbp + 0x294], eax
movzx eax, byte [0x14054ad03]
test eax, eax
je 0x1402113d9
mov eax, dword [rbp + 0xe4]
cmp dword [rbp + 0x294], eax
jne 0x1402113d9
jmp 0x1402111d9
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.1400b3f6e
mov qword [rbp + 0x318], rax
mov rax, qword [rbp + 0x318]
add rax, 0x1f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f6e
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.1400b4e19
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.1400b4e19
nop
movss xmm0, dword [rbp + 0x3c0]
comiss xmm0, dword [0x140278e88]
jbe 0x140211bef
movzx eax, byte [0x140542478]
test eax, eax
je 0x140211682
movzx eax, byte [0x14054ad07]
cmp eax, 1
je 0x140211682
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b3acd
nop
movzx eax, byte [0x14054ad07]
test eax, eax
je 0x1402116a1
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b542c
nop
movzx eax, byte [0x140542479]
test eax, eax
je 0x1402116e9
mov rax, qword [rbp + 0x258]
add rax, 0x324
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b56e8
mov dword [rbp + 0x524], eax
mov r8d, dword [rbp + 0x524]
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x4e8]
call fcn.1400b44e6
nop
movzx eax, byte [0x14054ad08]
test eax, eax
je 0x1402117a3
call fcn.1400b4c6b
mov qword [rbp + 0x548], rax
call fcn.1400b5472
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.1400b4e19
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.1400b4e19
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.1400b350a
nop
movzx eax, byte [0x14054247a]
test eax, eax
je 0x140211982
lea rcx, [0x1405424a0]
call fcn.1400b445a
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 0x140211808
mov rax, qword [rbp + 0x608]
add rax, 8
mov qword [rbp + 0x608], rax
mov rax, qword [rbp + 0x628]
cmp qword [rbp + 0x608], rax
je 0x140211982
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 0x14021197d
movss xmm0, dword [rbp + 0x700]
comiss xmm0, dword [0x14023a9c0]
jbe 0x14021197d
movss xmm2, dword [rbp + 0x6fc]
movss xmm1, dword [rbp + 0x6f8]
lea rcx, [rbp + 0x1004]
call fcn.1400b4e19
mov qword [rbp + 0x11a8], rax
movss xmm2, dword [rbp + 0x6cc]
movss xmm1, dword [rbp + 0x6c8]
lea rcx, [rbp + 0x1024]
call fcn.1400b4e19
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.1400b350a
nop
jmp 0x1402117f6
lea rdx, [rbp + 0x2b8]
lea rcx, [rbp + 0x88]
call fcn.1400b451d
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.1400b5161
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.1400b484c
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.1400b4e19
nop
movzx eax, byte [0x14054247b]
test eax, eax
je 0x140211a7a
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x748]
mov r8d, 0xffffffff
lea rdx, [rbp + 0x7a8]
mov rcx, qword [rbp + 0x108]
call fcn.1400b54ea
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.1400b3a6e
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.1400b49eb
movss dword [rbp + 0x7f4], xmm0
call fcn.1400b5472
movss xmm0, dword [rax + 8]
divss xmm0, dword [0x14023aa2c]
movss dword [rbp + 0x814], xmm0
call fcn.1400b5472
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.1400b4626
movsd qword [rbp + 0x11a8], xmm0
movss xmm1, dword [rbp + 0x3bc]
subss xmm1, dword [rbp + 0x834]
mov edx, 2
movaps xmm0, xmm1
call fcn.1400b4626
movsd xmm1, qword [rbp + 0x11a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400b32ee
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x854], xmm0
movss xmm0, dword [0x140542480]
mulss xmm0, dword [0x14023aa48]
comiss xmm0, dword [rbp + 0x854]
jbe 0x140211bef
movss xmm0, dword [rbp + 0x154]
comiss xmm0, dword [rbp + 0x854]
jbe 0x140211bef
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 0x1402111d9
mov ecx, dword [0x140542488]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140211e02
movzx eax, byte [0x14054ad09]
test eax, eax
je 0x140211e02
cmp qword [rbp + 0x178], 0
je 0x140211e02
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 0x140211d53
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.1400b6061
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 0x140211d9b
movzx eax, byte [0x14054ad0a]
test eax, eax
je 0x140211d9b
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 0x140211e5f
mov rax, qword [0x14054abf0]
add rax, 0x17c17f0
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f6e
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.1400b47e3
nop
movzx eax, byte [0x14054ad06]
test eax, eax
je 0x140211eb5
mov rax, qword [rbp + 0x68]
add rax, 0x1130
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b3f6e
mov qword [rbp + 0x9b8], rax
mov rax, qword [rbp + 0x9b8]
add rax, 0x210
lea r8, [0x140542474]
mov rdx, rax
lea rcx, [0x14054ac90]
call fcn.1400b53a5
nop
mov byte [0x14054ad06], 0
lea rcx, [rbp - 0x30]
lea rdx, [0x1402772e0]
call fcn.1400b57c4
mov rcx, qword [rbp + 0x11b8]
xor rcx, rbp
call fcn.1400b4707
lea rsp, [rbp + 0x11c0]
pop rdi
pop rsi
pop rbp
ret