Function at 0x1401dc61a
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140264b10
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0xa20
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x1c0
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xa48]
mov rax, qword [0x140812ac0]
xor rax, rbp
mov qword [rbp + 0x9f0], rax
lea rcx, [0x14084ee28]
call fcn.1401dd605
nop
movzx eax, byte [0x14081d810]
test eax, eax
je 0x140265732
movzx eax, byte [0x14081d8c6]
test eax, eax
je 0x140264b97
mov r8b, 1
mov edx, 0xdf
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f86], 1
jmp 0x140264bc2
movzx eax, byte [0x140813f86]
test eax, eax
je 0x140264bc2
xor r8d, r8d
mov edx, 0xdf
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f86], 0
movzx eax, byte [0x14081d8c7]
test eax, eax
je 0x140264bef
mov r8b, 1
mov edx, 0x20
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f87], 1
jmp 0x140264c1a
movzx eax, byte [0x140813f87]
test eax, eax
je 0x140264c1a
xor r8d, r8d
mov edx, 0x20
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f87], 0
movzx eax, byte [0x14081d8c8]
test eax, eax
je 0x140264c92
xor r8d, r8d
mov edx, 0x156
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov r8b, 1
mov edx, 0xfc
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov r8b, 1
mov edx, 0x8d
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov r8b, 1
mov edx, 0x90
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f94], 1
jmp 0x140264d08
movzx eax, byte [0x140813f94]
test eax, eax
je 0x140264d08
mov r8b, 1
mov edx, 0x156
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
xor r8d, r8d
mov edx, 0xfc
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
xor r8d, r8d
mov edx, 0x8d
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
xor r8d, r8d
mov edx, 0x90
mov rax, qword [rbp + 0xa20]
mov rcx, qword [rax + 0x20]
call fcn.1401d4e1a
nop
mov byte [0x140813f94], 0
movzx eax, byte [0x14081d8c9]
test eax, eax
je 0x140264d9d
mov byte [rbp + 0x454], 0xc3
movsxd rax, dword [0x14068a088]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x478], rax
lea r8, [rbp + 0x454]
lea rdx, [rbp + 0x478]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
mov byte [rbp + 0x494], 0xc3
movsxd rax, dword [0x14068a08c]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x4b8], rax
lea r8, [rbp + 0x494]
lea rdx, [rbp + 0x4b8]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
mov byte [0x140813f95], 1
jmp 0x140264e2d
movzx eax, byte [0x140813f95]
test eax, eax
je 0x140264e2d
mov byte [rbp + 0x4d4], 0x48
movsxd rax, dword [0x14068a088]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x4f8], rax
lea r8, [rbp + 0x4d4]
lea rdx, [rbp + 0x4f8]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
mov byte [rbp + 0x514], 0x48
movsxd rax, dword [0x14068a08c]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x538], rax
lea r8, [rbp + 0x514]
lea rdx, [rbp + 0x538]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
mov byte [0x140813f95], 0
movzx eax, byte [0x14081d8ca]
test eax, eax
je 0x140264e77
mov byte [rbp + 0x554], 0x48
movsxd rax, dword [0x14068a090]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x578], rax
lea r8, [rbp + 0x554]
lea rdx, [rbp + 0x578]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
jmp 0x140264ec6
movzx eax, byte [0x140813f96]
test eax, eax
je 0x140264ec6
mov byte [rbp + 0x594], 0x48
movsxd rax, dword [0x14068a090]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x5b8], rax
lea r8, [rbp + 0x594]
lea rdx, [rbp + 0x5b8]
lea rcx, [0x14081d920]
call fcn.1401d84cf
nop
mov byte [0x140813f96], 0
movzx eax, byte [0x14081d8bd]
test eax, eax
je 0x140264f39
movsxd rax, dword [0x14068a074]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x20]
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401de0e6
mov qword [rbp + 8], rax
movss xmm0, dword [0x1405bfb90]
movss dword [rbp + 0x5d4], xmm0
movsxd rax, dword [0x14068a070]
mov rcx, qword [rbp + 8]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x5f8], rax
lea r8, [rbp + 0x5d4]
lea rdx, [rbp + 0x5f8]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
movzx eax, byte [0x14081d8bc]
test eax, eax
je 0x140264fa9
movsxd rax, dword [0x14068a06c]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x20]
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401db6c5
movzx eax, al
test eax, eax
jne 0x140264fa9
mov byte [rbp + 0x614], 1
movsxd rax, dword [0x14068a06c]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x20]
mov qword [rbp + 0x638], rax
lea r8, [rbp + 0x614]
lea rdx, [rbp + 0x638]
lea rcx, [0x14081d920]
call fcn.1401da1b2
nop
jmp 0x140265018
movzx eax, byte [0x14081d8bc]
test eax, eax
jne 0x140265018
movsxd rax, dword [0x14068a06c]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x20]
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401db6c5
movzx eax, al
cmp eax, 1
jne 0x140265018
mov byte [rbp + 0x654], 0
movsxd rax, dword [0x14068a06c]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x20]
mov qword [rbp + 0x678], rax
lea r8, [rbp + 0x654]
lea rdx, [rbp + 0x678]
lea rcx, [0x14081d920]
call fcn.1401da1b2
nop
movzx eax, byte [0x14081d8c5]
test eax, eax
je 0x1402655aa
movzx eax, byte [0x140813f85]
test eax, eax
jne 0x1402650af
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x20
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401de0e6
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x28]
add rax, 0x2c
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401d4825
movss dword [0x140813fa4], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x694], xmm0
mov rax, qword [rbp + 0x28]
add rax, 0x2c
mov qword [rbp + 0x6b8], rax
lea r8, [rbp + 0x694]
lea rdx, [rbp + 0x6b8]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
mov byte [0x140813f85], 1
movsxd rax, dword [0x14068a064]
mov rcx, qword [0x14081d990]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401de0e6
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
je 0x1402655a8
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x30
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401de0e6
mov qword [rbp + 0x68], rax
movss xmm0, dword [0x1405a2450]
movss dword [rbp + 0x84], xmm0
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14026513b
movss xmm0, dword [rbp + 0x84]
mulss xmm0, dword [0x14081d8d8]
movss dword [rbp + 0x84], xmm0
mov rax, qword [rbp + 0x48]
add rax, 0x3d0
mov r8, rax
lea rdx, [rbp + 0xa8]
lea rcx, [0x14081d920]
call fcn.1401da1d5
nop
movss xmm0, dword [rbp + 0xa8]
ucomiss xmm0, dword [0x1405bfb88]
jp 0x1402651c7
jne 0x1402651c7
movss xmm0, dword [rbp + 0xac]
ucomiss xmm0, dword [0x1405bfb88]
jp 0x1402651c7
jne 0x1402651c7
movss xmm0, dword [rbp + 0xb0]
ucomiss xmm0, dword [0x1405bfb88]
jp 0x1402651c7
jne 0x1402651c7
mov rax, qword [rbp + 0x48]
add rax, 0x40
mov r8, rax
lea rdx, [rbp + 0x6d4]
lea rcx, [0x14081d920]
call fcn.1401da1d5
lea rcx, [rbp + 0xa8]
mov rdi, rcx
mov rsi, rax
mov ecx, ntohl
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x90
mov r8, rax
lea rdx, [rbp + 0xd8]
lea rcx, [0x14081d920]
call fcn.1401da1d5
nop
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140265292
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x6f4]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xd8]
addss xmm0, dword [rax]
movss dword [rbp + 0xd8], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x714]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xdc]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0xdc], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x734]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xe0]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0xe0], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140265335
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x754]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xd8]
subss xmm0, dword [rax]
movss dword [rbp + 0xd8], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x774]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xdc]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0xdc], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x794]
lea rcx, [rbp + 0xa8]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xe0]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0xe0], xmm0
movss xmm3, dword [0x1405a2450]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x7b4]
call fcn.1401dcff2
mov r8, rax
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0xa8]
call fcn.1401d87d6
nop
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140265409
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x7d4]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xd8]
subss xmm0, dword [rax]
movss dword [rbp + 0xd8], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x7f4]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xdc]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0xdc], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x814]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xe0]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0xe0], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1402654ac
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x834]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xd8]
addss xmm0, dword [rax]
movss dword [rbp + 0xd8], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x854]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xdc]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0xdc], xmm0
movss xmm2, dword [rbp + 0x84]
lea rdx, [rbp + 0x874]
lea rcx, [rbp + 0x108]
call fcn.1401d639b
movss xmm0, dword [rbp + 0xe0]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0xe0], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1402654d4
movss xmm0, dword [rbp + 0xe0]
addss xmm0, dword [rbp + 0x84]
movss dword [rbp + 0xe0], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1402654fc
movss xmm0, dword [rbp + 0xe0]
subss xmm0, dword [rbp + 0x84]
movss dword [rbp + 0xe0], xmm0
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x894]
call fcn.1401dcff2
mov qword [rbp + 0x9e8], rax
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x300
mov qword [rbp + 0x8b8], rax
mov r8, qword [rbp + 0x9e8]
lea rdx, [rbp + 0x8b8]
lea rcx, [0x14081d920]
call fcn.1401d89f7
nop
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x90
mov qword [rbp + 0x8d8], rax
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x8d8]
lea rcx, [0x14081d920]
call fcn.1401d89f7
nop
mov rax, qword [rbp + 0x68]
add rax, 0x50
mov qword [rbp + 0x8f8], rax
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x8f8]
lea rcx, [0x14081d920]
call fcn.1401d89f7
nop
jmp 0x14026560e
movzx eax, byte [0x140813f85]
test eax, eax
je 0x14026560e
mov rax, qword [rbp + 0xa20]
mov rax, qword [rax + 0x20]
add rax, 0x20
mov rdx, rax
lea rcx, [0x14081d920]
call fcn.1401de0e6
mov qword [rbp + 0x138], rax
mov rax, qword [rbp + 0x138]
add rax, 0x2c
mov qword [rbp + 0x918], rax
lea r8, [0x140813fa4]
lea rdx, [rbp + 0x918]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
mov byte [0x140813f85], 0
movzx eax, byte [0x14081d8be]
test eax, eax
je 0x14026565f
movss xmm0, dword [0x1405bfb8c]
movss dword [rbp + 0x934], xmm0
movsxd rax, dword [0x14068a068]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x28]
mov qword [rbp + 0x958], rax
lea r8, [rbp + 0x934]
lea rdx, [rbp + 0x958]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
jmp 0x1402656a3
movss xmm0, dword [0x1405a2450]
movss dword [rbp + 0x974], xmm0
movsxd rax, dword [0x14068a068]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x28]
mov qword [rbp + 0x998], rax
lea r8, [rbp + 0x974]
lea rdx, [rbp + 0x998]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
movzx eax, byte [0x14081d8bf]
test eax, eax
je 0x1402656e2
movsxd rax, dword [0x14068a07c]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x38]
mov qword [rbp + 0x9b8], rax
lea r8, [0x14081d89c]
lea rdx, [rbp + 0x9b8]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
movzx eax, byte [0x14081d8c1]
test eax, eax
je 0x140265721
movsxd rax, dword [0x14068a078]
mov rcx, qword [rbp + 0xa20]
add rax, qword [rcx + 0x38]
mov qword [rbp + 0x9d8], rax
lea r8, [0x14081d8a0]
lea rdx, [rbp + 0x9d8]
lea rcx, [0x14081d920]
call fcn.1401dd182
nop
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140264b5b
lea rcx, [rbp - 0x20]
lea rdx, reloc.WS2_32.dll_closesocket
call fcn.1401dbb48
mov rcx, qword [rbp + 0x9f0]
xor rcx, rbp
call fcn.1401d8740
lea rsp, [rbp + 0xa00]
pop rdi
pop rsi
pop rbp
ret