Function at 0x140079860
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor eax, eax
mov rbx, rcx
mov rcx, rdx
mov dword [rsp + 0x30], eax
mov r14d, eax
mov r12b, al
mov r13b, al
mov byte [rsp + 0x90], al
mov byte [rsp + 0x98], al
mov rbp, rdx
call fcn.140019370
mov esi, 1
lea rcx, [rsi + rax]
call fcn.140017e24
mov rcx, rbp
mov r15, rax
call fcn.140019370
lea rcx, [rax + rax + 1]
call fcn.140017e24
mov r9, r15
mov r8, rbp
mov rdi, rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov dl, 0x20
mov rcx, rbx
mov dword [rsp + 0x34], esi
mov qword [rsp + 0x20], rax
call fcn.140043410
test eax, eax
jne 0x1400799e5
mov ecx, dword [rsp + 0x30]
mov rdx, rsi
movsxd rax, ecx
cmp byte [rax + rbp], 0x20
je 0x140079906
cmp byte [rax + rbp], 9
jne 0x14007990a
add ecx, edx
jmp 0x1400798f7
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], ecx
mov r9, rdi
mov r8, rbp
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140043410
lea rdx, [0x1400964c0]
mov rcx, rdi
call fcn.14002e240
test eax, eax
jne 0x140079943
mov r12b, sil
jmp 0x1400799e5
lea rdx, str.down
mov rcx, rdi
call fcn.14002e240
test eax, eax
jne 0x14007995e
mov r13b, sil
jmp 0x1400799e5
lea rdx, [0x1400964cc]
mov rcx, rdi
call fcn.14002e240
test eax, eax
jne 0x14007997b
mov byte [rsp + 0x90], sil
jmp 0x1400799e5
lea rdx, [0x1400964d0]
mov rcx, rdi
call fcn.14002e240
test eax, eax
jne 0x140079998
mov byte [rsp + 0x98], sil
jmp 0x1400799e5
cmp byte [rdi], 0x30
jne 0x1400799d1
mov al, byte [rdi + 1]
cmp al, 0x78
je 0x1400799a8
cmp al, 0x58
jne 0x1400799d1
lea rdx, [rdi + 2]
lea r8, [rsp + 0x34]
mov rcx, rbx
call fcn.1400432f0
mov esi, dword [rsp + 0x34]
lea rdx, [0x1400964d4]
mov r8d, esi
mov rcx, rdi
call fcn.140019cf8
jmp 0x1400799e5
mov rcx, rdi
call fcn.140019d94
mov esi, eax
test eax, eax
mov eax, 1
cmovle esi, eax
lea rbp, [0x1400a9890]
mov edi, 1
mov rcx, qword [rbp]
mov rdx, r15
call fcn.14002e240
test eax, eax
je 0x140079a14
lea rax, reloc.WSOCK32.dll_accept
add rbp, 8
add r14d, edi
cmp rbp, rax
jl 0x1400799f1
mov rdi, qword [rsp + 0x38]
cmp r14d, 0x62
jne 0x140079a68
test r13b, r13b
je 0x140079a3a
mov cl, byte [r15]
call qword [sym.imp.USER32.dll_VkKeyScanA]
movzx r11d, ax
movzx edx, r11b
jmp 0x140079b74
test r12b, r12b
je 0x140079a55
mov cl, byte [r15]
call qword [sym.imp.USER32.dll_VkKeyScanA]
movzx r11d, ax
movzx edx, r11b
jmp 0x140079cc8
mov dl, byte [r15]
mov r8d, esi
mov rcx, rbx
call fcn.14005a8d0
jmp 0x140079cd3
lea rcx, [0x140000000]
movsxd rax, r14d
cmp byte [rax + rcx + 0xa9ba0], 0
jne 0x140079ace
mov edx, dword [rcx + rax*4 + 0xa9c10]
test r13b, r13b
jne 0x140079b74
test r12b, r12b
jne 0x140079cc8
mov rcx, rbx
cmp byte [rsp + 0x90], r12b
je 0x140079aa7
mov r8b, 1
jmp 0x140079ab4
cmp byte [rsp + 0x98], 0
je 0x140079abe
xor r8d, r8d
call fcn.140051bd0
jmp 0x140079cd3
xor r9d, r9d
mov r8d, esi
call fcn.140051b70
jmp 0x140079cd3
mov ecx, dword [rcx + rax*4 + 0xa9c10]
cmp ecx, 6
jg 0x140079bcf
je 0x140079bb7
test ecx, ecx
je 0x140079b9f
mov eax, 1
sub ecx, eax
je 0x140079b84
sub ecx, eax
je 0x140079b5b
sub ecx, eax
je 0x140079b40
sub ecx, eax
je 0x140079b28
cmp ecx, eax
jne 0x140079cd3
mov eax, dword [rbx + 0x60]
bt eax, 9
jae 0x140079cd3
btc eax, 9
mov edx, reloc.WSOCK32.dll_recv
jmp 0x140079cc5
mov eax, dword [rbx + 0x60]
bt eax, 9
jb 0x140079cd3
bts eax, 9
mov edx, reloc.WSOCK32.dll_recv
jmp 0x140079b71
mov eax, dword [rbx + 0x60]
bt eax, 8
jae 0x140079cd3
btc eax, 8
mov edx, reloc.WSOCK32.dll_select
jmp 0x140079cc5
mov eax, dword [rbx + 0x60]
bt eax, 8
jb 0x140079cd3
bts eax, 8
mov edx, reloc.WSOCK32.dll_select
mov dword [rbx + 0x60], eax
xor r8d, r8d
mov rcx, rbx
call fcn.140051380
jmp 0x140079cd3
mov eax, dword [rbx + 0x60]
bt eax, 0xb
jae 0x140079cd3
btc eax, 0xb
mov edx, reloc.WSOCK32.dll_recvfrom
jmp 0x140079cc5
mov eax, dword [rbx + 0x60]
bt eax, 0xb
jb 0x140079cd3
bts eax, 0xb
mov edx, reloc.WSOCK32.dll_recvfrom
jmp 0x140079b71
mov eax, dword [rbx + 0x60]
bt eax, 0xc
jb 0x140079cd3
bts eax, 0xc
mov edx, 0x5b
jmp 0x140079b71
sub ecx, 7
je 0x140079cb3
mov ebp, 1
sub ecx, ebp
je 0x140079c9c
sub ecx, ebp
je 0x140079c88
sub ecx, ebp
je 0x140079c41
sub ecx, ebp
je 0x140079c22
cmp ecx, ebp
jne 0x140079cd3
test r13b, r13b
jne 0x140079b5b
test r12b, r12b
jne 0x140079b40
xor r8d, r8d
lea edx, [rbp + 0x11]
mov rcx, rbx
call fcn.1400514b0
jmp 0x140079cd3
mov edx, reloc.WSOCK32.dll_listen
test r13b, r13b
jne 0x140079b74
mov rcx, rbx
test r12b, r12b
jne 0x140079ccb
mov r8b, bpl
jmp 0x140079c18
bt dword [rbx + 0x60], 8
jb 0x140079c57
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x12]
call fcn.140051380
mov al, byte [rdi]
test al, al
je 0x140079c7a
mov rsi, rdi
movsx edx, al
xor r8d, r8d
mov rcx, rbx
add edx, 0x30
call fcn.1400514b0
add rsi, rbp
mov al, byte [rsi]
test al, al
jne 0x140079c60
bt dword [rbx + 0x60], 8
jb 0x140079cd3
mov edx, reloc.WSOCK32.dll_select
jmp 0x140079cc8
mov eax, dword [rbx + 0x60]
bt eax, 0xd
jae 0x140079cd3
btc eax, 0xd
mov edx, 0x5c
jmp 0x140079cc5
mov eax, dword [rbx + 0x60]
bt eax, 0xd
jb 0x140079cd3
bts eax, 0xd
mov edx, 0x5c
jmp 0x140079b71
mov eax, dword [rbx + 0x60]
bt eax, 0xc
jae 0x140079cd3
btc eax, 0xc
mov edx, 0x5b
mov dword [rbx + 0x60], eax
mov rcx, rbx
xor r8d, r8d
call fcn.140051250
mov rcx, r15
call fcn.140018614
mov rcx, rdi
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.140018614