Function at 0x1401fad60
Capabilities:
Log keystrokes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
lea r10, [0x140000000]
movzx r8d, cx
xor ebx, ebx
mov ecx, r8d
mov r9, rdx
mov eax, ebx
cmp dword [r10 + rax*8 + 0x4099a0], ecx
je 0x1401fb05e
inc rax
cmp rax, 0x4d
jb 0x1401fad82
lea eax, [r8 - 0xd]
cmp eax, 0xd5
ja case.0x1401fadbe.25
cdqe
movzx eax, byte [r10 + rax + 0x1fb0b4]
mov edx, dword [r10 + rax*4 + 0x1fb080]
add rdx, r10
jmp rdx
mov edx, 2
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov ecx, eax
shr rax, 0x10
test ax, ax
cmovs ecx, ebx
test rdi, rdi
je 0x1401faddf
mov word [rdi], cx
cmp ecx, 0xff
cmovle ebx, ecx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401fae18
shr r9, 0x10
bt r9w, 8
jb 0x1401fae18
mov ebx, 0x17c
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x16e
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401fae4d
shr r9, 0x10
bt r9w, 8
jb 0x1401fae4d
mov ebx, 0x17d
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x16f
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401fae82
shr r9, 0x10
bt r9w, 8
jb 0x1401fae82
mov ebx, 0x17e
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x138
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401faeb7
shr r9, 0x10
bt r9w, 8
jb 0x1401faeb7
mov ebx, 0x177
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x139
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401faeec
shr r9, 0x10
bt r9w, 8
jb 0x1401faeec
mov ebx, 0x178
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x13a
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401faf21
shr r9, 0x10
bt r9w, 8
jb 0x1401faf21
mov ebx, 0x179
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x13b
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401faf56
shr r9, 0x10
bt r9w, 8
jb 0x1401faf56
mov ebx, 0x17a
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x13c
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401faf8b
shr r9, 0x10
bt r9w, 8
jb 0x1401faf8b
mov ebx, 0x17b
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x13d
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r9d, r9d
je 0x1401fafc0
shr r9, 0x10
bt r9w, 8
jb 0x1401fafc0
mov ebx, 0x180
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ebx, 0x142
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 0x7f
test r9d, r9d
je 0x1401fafed
shr r9, 0x10
mov ebx, 0x181
bt r9w, 8
jae 0x1401fafef
mov ebx, ecx
test rdi, rdi
je 0x1401fb051
mov word [rdi], cx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
shr r9, 0x10
mov edx, reloc.WS2_32.dll_listen
bt r9w, 8
mov ebx, edx
mov ecx, 0x172
cmovb ebx, ecx
test rdi, rdi
je 0x1401fb051
mov word [rdi], dx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea eax, [r8 - 0x30]
cmp ax, 9
jbe 0x1401fb046
lea eax, [r8 - 0x41]
cmp ax, 0x19
ja 0x1401fb048
mov ebx, ecx
test rdi, rdi
je 0x1401fb051
mov word [rdi], r8w
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, dword [r10 + rax*8 + 0x4099a4]
cmp eax, 0x12c
jge 0x1401fb075
test rdi, rdi
je 0x1401fb075
mov word [rdi], ax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret