Function at 0x1400cb5a0
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x148
mov rax, qword [0x14016fb40]
xor rax, rsp
mov qword [rsp + 0x130], rax
cmp qword [0x140170c60], 0
je 0x1400cb9dd
cmp qword [0x140170c90], 0
je 0x1400cb9dd
mov edx, pe_nt_image_headers64
mov rcx, qword [0x140170c90]
call fcn.1400c9c40
movzx eax, al
test eax, eax
je 0x1400cb9dd
mov rcx, qword [0x140170c90]
call fcn.1400caa50
test eax, eax
jne 0x1400cb9dd
mov rcx, qword [0x140170c90]
call fcn.1400cb570
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400cb626
jmp 0x1400cb9dd
mov rcx, qword [0x140170c90]
call fcn.1400cb400
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x1400cb644
jmp 0x1400cb9dd
mov rcx, qword [0x140170c90]
call fcn.1400c4b30
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x1400cb662
jmp 0x1400cb9dd
mov ecx, dword [0x1401701fc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb689
movss xmm1, dword [0x1401701f8]
mov rcx, qword [0x140170c88]
call fcn.1400d6230
jmp 0x1400cb69d
movss xmm1, dword [0x1401701f4]
mov rcx, qword [0x140170c88]
call fcn.1400d6230
mov ecx, dword [0x140170200]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb92e
movss xmm1, dword [0x14010b27c]
mov rcx, qword [rsp + 0x30]
call fcn.1400d6890
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x38]
call fcn.1400bb4f0
xorps xmm3, xmm3
movss xmm2, dword [0x1401273fc]
xorps xmm1, xmm1
lea rcx, [rsp + 0x110]
call fcn.1400b3f60
movss xmm0, dword [0x14010b298]
movss dword [rsp + 0x28], xmm0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb75d
lea rcx, [rsp + 0xa0]
call fcn.1400c5270
lea rcx, [rsp + 0x50]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xac]
call fcn.1400cd040
lea rcx, [rsp + 0x110]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb7bb
lea rcx, [rsp + 0xb8]
call fcn.1400c4fc0
lea rcx, [rsp + 0x60]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xc4]
call fcn.1400cd040
lea rcx, [rsp + 0x110]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb819
lea rcx, [rsp + 0xd0]
call fcn.1400c8ca0
lea rcx, [rsp + 0x70]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xdc]
call fcn.1400cd040
lea rcx, [rsp + 0x110]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb87d
lea rcx, [rsp + 0xe8]
call fcn.1400c5410
lea rcx, [rsp + 0x80]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xf4]
call fcn.1400cd040
lea rcx, [rsp + 0x110]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb89e
movss xmm0, dword [0x140108eb8]
movss dword [rsp + 0x114], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb8c8
movss xmm0, dword [0x140108ebc]
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [0x140120c28]
mov rcx, qword [rsp + 0x20]
call fcn.1400d6130
movss xmm1, dword [0x1401261b0]
mov rcx, qword [rsp + 0x20]
call fcn.1400d6170
movss xmm2, dword [rsp + 0x28]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x110]
call fcn.1400b4b10
lea rcx, [rsp + 0x90]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x20]
call fcn.1400d5c80
movzx eax, byte [0x1401701f1]
test eax, eax
je 0x1400cb946
xorps xmm1, xmm1
mov rcx, qword [rsp + 0x20]
call fcn.1400d6270
movzx eax, byte [0x1401701f2]
test eax, eax
je 0x1400cb997
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400cb997
movss xmm1, dword [0x140124a88]
mov rcx, qword [rsp + 0x20]
call fcn.1400d6370
movss xmm1, dword [0x14010b248]
mov rcx, qword [rsp + 0x20]
call fcn.1400d63b0
movss xmm1, dword [0x1401274cc]
mov rcx, qword [rsp + 0x20]
call fcn.1400d62b0
movzx eax, byte [0x1401701f0]
test eax, eax
je 0x1400cb9dd
mov rcx, qword [0x140170c90]
call fcn.1400cb430
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x1400cb9dd
mov edx, 0x200
mov rcx, qword [rsp + 0x30]
call fcn.1400c9c80
movzx eax, al
test eax, eax
je 0x1400cb9dd
mov dl, 1
mov rcx, qword [rsp + 0x40]
call fcn.1400d60f0
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1401010d0
add rsp, 0x148
pop rdi
pop rsi
ret