Function at 0x14007da30
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 rdi, 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.14001a220
mov ebx, 1
lea rcx, [rbx + rax]
call fcn.140018cc8
mov rcx, rbp
mov r15, rax
call fcn.14001a220
lea rcx, [rax + rax + 1]
call fcn.140018cc8
mov r9, r15
mov r8, rbp
mov rsi, rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov dl, 0x20
mov rcx, rdi
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x20], rax
call fcn.140044bb0
test eax, eax
jne 0x14007dbc0
mov ecx, dword [rsp + 0x30]
mov rdx, rbx
movsxd rax, ecx
cmp byte [rax + rbp], 0x20
je 0x14007dad6
cmp byte [rax + rbp], 9
jne 0x14007dada
add ecx, edx
jmp 0x14007dac7
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], ecx
mov r9, rsi
mov r8, rbp
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140044bb0
lea rdx, [0x14009b5c8]
mov rcx, rsi
call fcn.14002f184
test eax, eax
jne 0x14007db13
mov r12b, bl
jmp 0x14007dbc0
lea rdx, str.down
mov rcx, rsi
call fcn.14002f184
test eax, eax
jne 0x14007db2e
mov r13b, bl
jmp 0x14007dbc0
lea rdx, [0x14009b5d4]
mov rcx, rsi
call fcn.14002f184
test eax, eax
jne 0x14007db4a
mov byte [rsp + 0x90], bl
jmp 0x14007dbc0
lea rdx, [0x14009b5d8]
mov rcx, rsi
call fcn.14002f184
test eax, eax
jne 0x14007db66
mov byte [rsp + 0x98], bl
jmp 0x14007dbc0
cmp byte [rsi], 0x30
jne 0x14007dbac
mov al, byte [rsi + 1]
cmp al, 0x78
je 0x14007db76
cmp al, 0x58
jne 0x14007dbac
lea r8, [rsp + 0x34]
lea rdx, [rsi + 2]
mov rcx, rdi
call fcn.140044a90
cmp byte [rsi + 2], 0x30
mov ebx, dword [rsp + 0x34]
mov r8d, ebx
mov rcx, rsi
lea rdx, [0x14009b5dc]
je 0x14007dba5
lea rdx, [0x14009b5e0]
call fcn.14001aba8
jmp 0x14007dbc0
mov rcx, rsi
call fcn.14001ac44
mov ebx, eax
test eax, eax
mov eax, 1
cmovle ebx, eax
lea rbp, [0x1400afaf0]
mov esi, 1
mov rcx, qword [rbp]
mov rdx, r15
call fcn.14002f184
test eax, eax
je 0x14007dbef
lea rax, reloc.WSOCK32.dll_accept
add rbp, 8
add r14d, esi
cmp rbp, rax
jl 0x14007dbcc
mov rsi, qword [rsp + 0x38]
cmp r14d, 0x62
jne 0x14007dc43
test r13b, r13b
je 0x14007dc15
mov cl, byte [r15]
call qword [sym.imp.USER32.dll_VkKeyScanA]
movzx r11d, ax
movzx edx, r11b
jmp 0x14007dd4f
test r12b, r12b
je 0x14007dc30
mov cl, byte [r15]
call qword [sym.imp.USER32.dll_VkKeyScanA]
movzx r11d, ax
movzx edx, r11b
jmp 0x14007dea3
mov dl, byte [r15]
mov r8d, ebx
mov rcx, rdi
call fcn.14005d2c0
jmp 0x14007deae
lea rcx, [0x140000000]
movsxd rax, r14d
cmp byte [rax + rcx + 0xafe00], 0
jne 0x14007dca9
mov edx, dword [rcx + rax*4 + 0xafe70]
test r13b, r13b
jne 0x14007dd4f
test r12b, r12b
jne 0x14007dea3
mov rcx, rdi
cmp byte [rsp + 0x90], r12b
je 0x14007dc82
mov r8b, 1
jmp 0x14007dc8f
cmp byte [rsp + 0x98], 0
je 0x14007dc99
xor r8d, r8d
call fcn.140053ef0
jmp 0x14007deae
xor r9d, r9d
mov r8d, ebx
call fcn.140053e90
jmp 0x14007deae
mov ecx, dword [rcx + rax*4 + 0xafe70]
cmp ecx, 6
jg 0x14007ddaa
je 0x14007dd92
test ecx, ecx
je 0x14007dd7a
mov eax, 1
sub ecx, eax
je 0x14007dd5f
sub ecx, eax
je 0x14007dd36
sub ecx, eax
je 0x14007dd1b
sub ecx, eax
je 0x14007dd03
cmp ecx, eax
jne 0x14007deae
mov eax, dword [rdi + 0x18]
bt eax, 9
jae 0x14007deae
btc eax, 9
mov edx, reloc.WSOCK32.dll_recv
jmp 0x14007dea0
mov eax, dword [rdi + 0x18]
bt eax, 9
jb 0x14007deae
bts eax, 9
mov edx, reloc.WSOCK32.dll_recv
jmp 0x14007dd4c
mov eax, dword [rdi + 0x18]
bt eax, 8
jae 0x14007deae
btc eax, 8
mov edx, reloc.WSOCK32.dll_select
jmp 0x14007dea0
mov eax, dword [rdi + 0x18]
bt eax, 8
jb 0x14007deae
bts eax, 8
mov edx, reloc.WSOCK32.dll_select
mov dword [rdi + 0x18], eax
xor r8d, r8d
mov rcx, rdi
call fcn.1400536a0
jmp 0x14007deae
mov eax, dword [rdi + 0x18]
bt eax, 0xb
jae 0x14007deae
btc eax, 0xb
mov edx, reloc.WSOCK32.dll_recvfrom
jmp 0x14007dea0
mov eax, dword [rdi + 0x18]
bt eax, 0xb
jb 0x14007deae
bts eax, 0xb
mov edx, reloc.WSOCK32.dll_recvfrom
jmp 0x14007dd4c
mov eax, dword [rdi + 0x18]
bt eax, 0xc
jb 0x14007deae
bts eax, 0xc
mov edx, 0x5b
jmp 0x14007dd4c
sub ecx, 7
je 0x14007de8e
mov ebp, 1
sub ecx, ebp
je 0x14007de77
sub ecx, ebp
je 0x14007de63
sub ecx, ebp
je 0x14007de1c
sub ecx, ebp
je 0x14007ddfd
cmp ecx, ebp
jne 0x14007deae
test r13b, r13b
jne 0x14007dd36
test r12b, r12b
jne 0x14007dd1b
xor r8d, r8d
lea edx, [rbp + 0x11]
mov rcx, rdi
call fcn.1400537d0
jmp 0x14007deae
mov edx, reloc.WSOCK32.dll_listen
test r13b, r13b
jne 0x14007dd4f
mov rcx, rdi
test r12b, r12b
jne 0x14007dea6
mov r8b, bpl
jmp 0x14007ddf3
bt dword [rdi + 0x18], 8
jb 0x14007de32
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x12]
call fcn.1400536a0
mov al, byte [rsi]
test al, al
je 0x14007de55
mov rbx, rsi
movsx edx, al
xor r8d, r8d
mov rcx, rdi
add edx, 0x30
call fcn.1400537d0
add rbx, rbp
mov al, byte [rbx]
test al, al
jne 0x14007de3b
bt dword [rdi + 0x18], 8
jb 0x14007deae
mov edx, reloc.WSOCK32.dll_select
jmp 0x14007dea3
mov eax, dword [rdi + 0x18]
bt eax, 0xd
jae 0x14007deae
btc eax, 0xd
mov edx, 0x5c
jmp 0x14007dea0
mov eax, dword [rdi + 0x18]
bt eax, 0xd
jb 0x14007deae
bts eax, 0xd
mov edx, 0x5c
jmp 0x14007dd4c
mov eax, dword [rdi + 0x18]
bt eax, 0xc
jae 0x14007deae
btc eax, 0xc
mov edx, 0x5b
mov dword [rdi + 0x18], eax
mov rcx, rdi
xor r8d, r8d
call fcn.140053570
mov rcx, r15
call fcn.140018ec8
mov rcx, rsi
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.140018ec8