Function at 0x14007e90a
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140164270
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0xcd0
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x234
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xcf8]
mov rax, qword [0x140208278]
xor rax, rbp
mov qword [rbp + 0xc80], rax
lea rcx, [0x1402237db]
call fcn.140080066
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cvtsi2ss xmm0, eax
movss dword [rbp + 4], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cvtsi2ss xmm0, eax
movss dword [rbp + 0x24], xmm0
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x624]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x654]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x674]
call fcn.14007ef18
lea r9, [rbp + 0x624]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x694]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x6c4]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x6e4]
call fcn.14007ef18
lea r9, [rbp + 0x694]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x704]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x734]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x754]
call fcn.14007ef18
lea r9, [rbp + 0x704]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x774]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x7a4]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x7c4]
call fcn.14007ef18
lea r9, [rbp + 0x774]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x7e4]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x814]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x834]
call fcn.14007ef18
lea r9, [rbp + 0x7e4]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x854]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x884]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
addss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x8a4]
call fcn.14007ef18
lea r9, [rbp + 0x854]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x8c4]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x8f4]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
subss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x914]
call fcn.14007ef18
lea r9, [rbp + 0x8c4]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x934]
call fcn.14007e1a3
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x964]
call fcn.14007ef18
mov qword [rbp + 0xc78], rax
movss xmm0, dword [rbp + 4]
divss xmm0, dword [0x14018fcb0]
subss xmm0, dword [0x14018fcc4]
movss xmm1, dword [rbp + 0x24]
divss xmm1, dword [0x14018fcb0]
addss xmm1, dword [0x14018fcc4]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x984]
call fcn.14007ef18
lea r9, [rbp + 0x934]
mov rcx, qword [rbp + 0xc78]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f963
movss xmm0, dword [rbp + 0x24]
divss xmm0, dword [0x14018fcb0]
movss dword [rbp + 0x44], xmm0
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401648eb
xor eax, eax
cmp eax, 0x8000
je 0x1401648eb
movzx eax, byte [0x1401d8891]
test eax, eax
jne 0x1401648d4
mov dword [rbp + 0xc74], 1
jmp 0x1401648de
mov dword [rbp + 0xc74], 0
movzx eax, byte [rbp + 0xc74]
mov byte [0x1401d8891], al
movzx eax, byte [0x1401d8891]
test eax, eax
je 0x1401649fe
movss xmm2, dword [0x1401beef4]
movss xmm1, dword [0x1401beee8]
lea rcx, [rbp + 0x9d4]
call fcn.14007ef18
movss xmm0, dword [rbp + 0x44]
subss xmm0, dword [0x14018fccc]
movaps xmm2, xmm0
movss xmm1, dword [0x14018fccc]
lea rcx, [rbp + 0x9f4]
call fcn.14007ef18
mov dword [rsp + 0x20], 0x96
mov r9d, 0x1c
mov r8d, 0x17
mov edx, 0x18
lea rcx, [rbp + 0x9a4]
call fcn.14007e1a3
mov r9, rax
lea r8, [rbp + 0x9d4]
lea rdx, [rbp + 0x9f4]
mov rcx, qword [rbp + 0xcb0]
call fcn.14007f5f8
movss xmm2, dword [0x1401beef8]
movss xmm1, dword [0x1401beeec]
lea rcx, [rbp + 0xa44]
call fcn.14007ef18
movss xmm0, dword [rbp + 0x44]
subss xmm0, dword [0x14018fccc]
movaps xmm2, xmm0
movss xmm1, dword [0x14018fccc]
lea rcx, [rbp + 0xa64]
call fcn.14007ef18
mov dword [rsp + 0x20], 0xfa
mov r9d, 0xdb
mov r8d, 0x5c
mov edx, 0xff
lea rcx, [rbp + 0xa14]
call fcn.14007e1a3
mov r9, rax
lea r8, [rbp + 0xa44]
lea rdx, [rbp + 0xa64]
mov rcx, qword [rbp + 0xcb0]
call fcn.14007db6d
call fcn.14007ff03
call fcn.14007e130
mov rcx, qword [rbp + 0xcc0]
call fcn.14007e450
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
jne 0x140164a26
xor al, al
jmp 0x140164da7
lea rdx, [rbp + 0x88]
mov rcx, qword [rbp + 0x68]
call fcn.14007f7e7
nop
mov rcx, qword [rbp + 0xcc0]
call fcn.14007d69a
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0
jne 0x140164a73
mov byte [rbp + 0xa84], 0
lea rcx, [rbp + 0x88]
call fcn.14007d956
movzx eax, byte [rbp + 0xa84]
jmp 0x140164da7
lea rdx, [rbp + 0xe8]
mov rcx, qword [rbp + 0xc8]
call fcn.14007e158
lea rdx, [0x140210dc0]
lea rcx, [rbp + 0x118]
call fcn.14007eeaf
lea rax, [rbp + 0xaa8]
mov qword [rbp + 0xad8], rax
lea rdx, [rbp + 0xe8]
mov rcx, qword [rbp + 0xad8]
call fcn.14007eeaf
lea r8, [rbp + 0x118]
mov rdx, rax
mov rcx, qword [rbp + 0xcb8]
call fcn.14007e1da
movzx eax, al
test eax, eax
jne 0x140164af6
mov byte [rbp + 0xaf4], 0
lea rcx, [rbp + 0x88]
call fcn.14007d956
movzx eax, byte [rbp + 0xaf4]
jmp 0x140164da7
lea rdx, [rbp + 0x148]
mov rcx, qword [rbp + 0x68]
call fcn.14007f08f
nop
lea rdx, [rbp + 0x188]
mov rcx, qword [rbp + 0x68]
call fcn.14007d17c
nop
mov rcx, qword [rbp + 0xcc8]
call fcn.14007d69a
mov qword [rbp + 0x1c8], rax
cmp qword [rbp + 0x1c8], 0
jne 0x140164b91
lea rcx, str._CRACK_CRACK_CRACK_
call fcn.14007e68f
lea rcx, str._ERR__pLocalVisualState_is_nullptr_
call fcn.14007e68f
mov ecx, 0xa
call qword [sym.imp.ucrtbased.dll_putchar]
mov byte [rbp + 0xb14], 0
lea rcx, [rbp + 0x188]
call fcn.14007d956
nop
lea rcx, [rbp + 0x148]
call fcn.14007d956
nop
lea rcx, [rbp + 0x88]
call fcn.14007d956
movzx eax, byte [rbp + 0xb14]
jmp 0x140164da7
lea rax, [rbp + 0xb58]
mov qword [rbp + 0xb88], rax
lea rdx, [rbp + 0xe8]
mov rcx, qword [rbp + 0xb88]
call fcn.14007eeaf
mov qword [rbp + 0xc78], rax
lea rdx, [rbp + 0xb34]
mov rcx, qword [rbp + 0x1c8]
call fcn.14007e158
mov rcx, qword [rbp + 0xc78]
mov rdx, rcx
mov rcx, rax
call fcn.14007fd1e
movss dword [rbp + 0x1e4], xmm0
movss xmm0, dword [rbp + 0x1e4]
comiss xmm0, dword [0x1401d8894]
jbe 0x140164c30
mov byte [rbp + 0xba4], 0
lea rcx, [rbp + 0x188]
call fcn.14007d956
nop
lea rcx, [rbp + 0x148]
call fcn.14007d956
nop
lea rcx, [rbp + 0x88]
call fcn.14007d956
movzx eax, byte [rbp + 0xba4]
jmp 0x140164da7
movzx eax, byte [0x1401d8893]
test eax, eax
je 0x140164d6c
lea r9, [rbp + 0x118]
lea r8, [rbp + 0xcb0]
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0x208]
call fcn.14015b540
lea rcx, [rbp + 0x208]
call fcn.14015ce50
movzx eax, al
test eax, eax
je 0x140164c9e
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xbf
xor edx, edx
lea rcx, [rbp + 0xbe4]
call fcn.14007e1a3
mov qword [rbp + 0xc78], rax
jmp 0x140164cca
mov dword [rsp + 0x20], 0
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0xc14]
call fcn.14007e1a3
mov qword [rbp + 0xc78], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0xbc8], rax
lea rax, [rbp + 0x238]
mov rdi, rax
mov rsi, qword [rbp + 0xbc8]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x11c]
subss xmm0, dword [0x14018fcd0]
movaps xmm2, xmm0
movss xmm1, dword [rbp + 0x118]
lea rcx, [rbp + 0xc44]
call fcn.14007ef18
cvttss2si eax, dword [rbp + 0x1e4]
mov dword [rbp + 0xc74], eax
lea rcx, [rbp + 0x148]
call fcn.14007d46f
mov ecx, dword [rbp + 0xc74]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rax
lea rax, str._s___d_
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x238]
mov r8d, 6
lea rdx, [rbp + 0xc44]
mov rcx, qword [rbp + 0xcb0]
call fcn.14007fa80
movzx eax, byte [0x1401d8893]
mov byte [rbp + 0xc64], 1
lea rcx, [rbp + 0x188]
call fcn.14007d956
nop
lea rcx, [rbp + 0x148]
call fcn.14007d956
nop
lea rcx, [rbp + 0x88]
call fcn.14007d956
movzx eax, byte [rbp + 0xc64]
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x1401bcc10]
call fcn.14007f86e
mov rax, rdi
mov rcx, qword [rbp + 0xc80]
xor rcx, rbp
call fcn.14007e748
lea rsp, [rbp + 0xc90]
pop rdi
pop rsi
pop rbp
ret