Function at 0x1400fd5f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x138
cmp qword [0x1401cf180], 0
je 0x1400fd9fd
cmp qword [0x1401cf1b0], 0
je 0x1400fd9fd
mov edx, 0x100
mov rcx, qword [0x1401cf1b0]
call fcn.1400facd0
movzx eax, al
test eax, eax
je 0x1400fd9fd
mov rcx, qword [0x1401cf1b0]
call fcn.1400fc6e0
test eax, eax
jne 0x1400fd9fd
mov rcx, qword [0x1401cf1b0]
call fcn.1400fd5b0
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400fd664
jmp 0x1400fd9fd
mov rcx, qword [0x1401cf1b0]
call fcn.1400fd530
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x1400fd682
jmp 0x1400fd9fd
mov rcx, qword [0x1401cf1b0]
call fcn.1400f1ff0
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x1400fd6a0
jmp 0x1400fd9fd
movzx eax, byte [0x1401cca1c]
test eax, eax
je 0x1400fd6b8
xorps xmm1, xmm1
mov rcx, qword [rsp + 0x20]
call fcn.1401054f0
movzx eax, byte [0x1401cca1d]
test eax, eax
je 0x1400fd709
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd709
movss xmm1, dword [0x1401ae068]
mov rcx, qword [rsp + 0x20]
call fcn.140105670
movss xmm1, dword [0x1401667c8]
mov rcx, qword [rsp + 0x20]
call fcn.1401056b0
movss xmm1, dword [0x1401ae16c]
mov rcx, qword [rsp + 0x20]
call fcn.140105530
movzx eax, byte [0x1401cca1e]
test eax, eax
je 0x1400fd74f
mov rcx, qword [0x1401cf1b0]
call fcn.1400fd570
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
je 0x1400fd74f
mov edx, 0x200
mov rcx, qword [rsp + 0x40]
call fcn.1400fad10
movzx eax, al
test eax, eax
je 0x1400fd74f
mov dl, 1
mov rcx, qword [rsp + 0x48]
call fcn.140105330
movzx eax, byte [0x1401cc9f9]
test eax, eax
je 0x1400fd9fd
mov ecx, dword [0x1401ccadc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd9d9
movss xmm1, dword [0x1401667f0]
mov rcx, qword [rsp + 0x40]
call fcn.140105c30
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400e9100
xorps xmm3, xmm3
movss xmm2, dword [0x1401ae04c]
xorps xmm1, xmm1
lea rcx, [rsp + 0x30]
call fcn.1400e0ed0
movss xmm0, dword [0x140166808]
movss dword [rsp + 0x28], xmm0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd812
lea rcx, [rsp + 0xc0]
call fcn.1400f2d70
lea rcx, [rsp + 0x70]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xcc]
call fcn.1400ff020
lea rcx, [rsp + 0x30]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd870
lea rcx, [rsp + 0xd8]
call fcn.1400f2ab0
lea rcx, [rsp + 0x80]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xe4]
call fcn.1400ff020
lea rcx, [rsp + 0x30]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd8ce
lea rcx, [rsp + 0xf0]
call fcn.1400fa300
lea rcx, [rsp + 0x90]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xfc]
call fcn.1400ff020
lea rcx, [rsp + 0x30]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd92c
lea rcx, [rsp + 0x108]
call fcn.1400f4260
lea rcx, [rsp + 0xa0]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x114]
call fcn.1400ff020
lea rcx, [rsp + 0x30]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd94a
movss xmm0, dword [0x140162224]
movss dword [rsp + 0x34], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400fd974
movss xmm0, dword [0x140166818]
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [0x1401ae1b8]
mov rcx, qword [rsp + 0x20]
call fcn.140105370
movss xmm1, dword [0x1401ae1b8]
mov rcx, qword [rsp + 0x20]
call fcn.1401053b0
movss xmm2, dword [rsp + 0x28]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.1400e21e0
lea rcx, [rsp + 0xb0]
mov rdi, rcx
mov rsi, rax
mov ecx, listen
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x20]
call fcn.140104d90
jmp 0x1400fd9fd
movss xmm1, dword [0x1401ae070]
mov rcx, qword [rsp + 0x20]
call fcn.140105370
movss xmm1, dword [0x1401ae084]
mov rcx, qword [rsp + 0x20]
call fcn.1401053b0
add rsp, 0x138
pop rdi
pop rsi
ret