Function at 0x1400177b0
Capabilities:
Log keystrokes

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rdi
sub rsp, 0x378
cmp qword [0x140122f20], 0
lea rax, [0x1400fe998]
mov rdi, rcx
lea r11, [0x1400fe9a0]
movzx ecx, byte [0x140122ddf]
mov ebx, edx
lea rdx, [rsp + 0x150]
cmovne r11, rax
call fcn.140022af0
movzx ecx, byte [0x140122ee1]
lea rdx, [rsp + 0x250]
mov r10, rax
call fcn.140022af0
mov qword [rsp + 0x28], r11
lea r8, [0x1400fe9b0]
mov r9, rax
mov qword [rsp + 0x20], r10
mov rcx, rdi
mov edx, ebx
call fcn.14009ac80
cmp qword [0x140122dd0], 0
jne 0x140017845
lea r8, [0x1400fea70]
mov edx, ebx
mov rcx, rdi
call fcn.14009ac80
lea r8, [0x1400feb60]
mov edx, ebx
mov rcx, rdi
call fcn.14009ac80
mov r8, qword [0x140122b00]
test r8, r8
je 0x140017c20
mov edx, dword [0x14011c190]
xor r10d, r10d
mov qword [rsp + 0x3a8], rbp
movsxd rbp, dword [0x140122b2c]
mov qword [rsp + 0x368], r12
lea r12, [0x1400f9b70]
mov qword [rsp + 0x360], r13
mov r13d, r10d
test edx, edx
jle 0x140017c08
mov qword [rsp + 0x370], rsi
lea r9, [0x14011c3a8]
mov qword [rsp + 0x358], r14
mov r11d, 0xff
mov qword [rsp + 0x350], r15
mov r15, rbp
cmp ebp, edx
jl 0x1400178d2
mov ebp, r10d
mov r15, r10
mov rsi, r12
movsxd rax, ebp
imul r12, rax, 0xd4
imul r14, r15, 0xd4
add r12, 0xc
add r12, r8
movzx eax, byte [r14 + r8]
cmp al, 0xe7
jne 0x140017980
movzx r9d, word [r14 + r8 + 2]
mov rax, r12
sub rsi, r12
movzx ecx, word [rax]
cmp cx, word [rax + rsi]
jne 0x14001791d
add rax, 2
test cx, cx
jne 0x140017906
mov eax, r10d
jmp 0x140017922
sbb eax, eax
or eax, 1
movss xmm0, dword [r14 + r8 + 8]
lea rdx, [0x1400f9b70]
test eax, eax
mov ecx, WSAAsyncSelect
mov eax, 0x75
cmovne rdx, r12
cmp byte [r14 + r8 + 6], 0
mov qword [rsp + 0x40], rdx
mov edx, ebx
cmovne ecx, eax
mov dword [rsp + 0x38], r9d
movzx eax, word [r14 + r8 + 4]
lea r8, [0x1400ff040]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.14009ac80
jmp 0x140017bc2
test al, al
jne 0x1400179e4
cmp word [r14 + r8 + 2], 0
je 0x140017bdf
movzx eax, word [r14 + r8 + 2]
mov edx, eax
mov word [rsp + 0x50], r10w
mov ebx, eax
movzx ecx, ax
sub edx, 0x45
je 0x1400179df
sub edx, 0xf1
je 0x1400179b6
cmp edx, 0xf
jne 0x1400179ba
and cx, r11w
bt cx, 8
jae 0x1400179cd
and cx, r11w
mov eax, 0xe000
or cx, ax
movzx ecx, cx
mov edx, 3
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov edi, eax
jmp 0x140017a21
mov dil, reloc.WSOCK32.dll_send
jmp 0x140017a2b
movzx ebx, word [r14 + r8 + 2]
movzx edi, al
mov word [rsp + 0x50], r10w
test bx, bx
jne 0x140017a2b
cmp al, 0xd
je 0x140017a0e
mov dl, 1
movzx ecx, al
call fcn.140023e30
movzx ebx, ax
test ax, ax
jne 0x140017a21
xor edx, edx
movzx ecx, dil
call fcn.140023e30
movzx ebx, ax
test ax, ax
je 0x140017a57
xor r10d, r10d
lea r9, [0x14011c3a8]
lea eax, [rdi + 0x64]
cmp al, 3
jbe 0x140017a57
mov rdx, r10
lea rax, [0x14011c2d8]
nop dword [rax]
cmp word [rax], bx
je 0x140017a9b
inc rdx
add rax, 0x10
cmp rax, r9
jl 0x140017a40
mov word [rsp + 0x50], r10w
xor ebx, ebx
mov rdx, rbx
lea rax, [0x14011c3a8]
lea rcx, [0x14011ca58]
nop word [rax + rax]
cmp byte [rax], dil
je 0x140017ade
inc rdx
add rax, 0x10
cmp rax, rcx
jl 0x140017a70
movzx ecx, dil
call fcn.140022fb0
mov word [rsp + 0x50], ax
test ax, ax
je 0x140017ad5
mov word [rsp + 0x52], bx
jmp 0x140017b0d
add rdx, rdx
lea rax, [0x140000000]
mov r8d, 0x7f
lea rcx, [rsp + 0x50]
mov rdx, qword [rax + rdx*8 + 0x11c2d0]
call fcn.1400cd4c4
xor ebx, ebx
mov word [rsp + 0x14e], bx
cmp word [rsp + 0x50], bx
je 0x140017a59
lea r10, [rsp + 0x50]
jmp 0x140017b20
mov eax, ebx
mov word [rsp + 0x50], bx
jmp 0x140017b0d
add rdx, rdx
lea rax, [0x140000000]
mov r8d, 0x7f
lea rcx, [rsp + 0x50]
mov rdx, qword [rax + rdx*8 + 0x11c3a0]
call fcn.1400cd4c4
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x14e], bx
test ax, ax
lea r10, [rsp + 0x50]
lea rax, [0x1400ff098]
cmove r10, rax
mov r9, qword [0x140122b00]
mov rax, r12
sub rsi, r12
nop dword [rax]
movzx ecx, word [rax]
cmp cx, word [rax + rsi]
jne 0x140017b46
add rax, 2
test cx, cx
jne 0x140017b30
mov eax, ebx
jmp 0x140017b4b
sbb eax, eax
or eax, 1
movzx ecx, word [r14 + r9 + 2]
lea r8, [0x1400f9b70]
movss xmm0, dword [r14 + r9 + 8]
test eax, eax
mov rdi, qword [rsp + 0x390]
mov eax, 0x75
mov ebx, dword [rsp + 0x398]
cmovne r8, r12
cmp byte [r14 + r9 + 6], 0
mov edx, WSAAsyncSelect
mov qword [rsp + 0x48], r8
lea r8, [0x1400ff0b0]
mov qword [rsp + 0x40], r10
cmovne edx, eax
movzx eax, word [r14 + r9 + 4]
movzx r9d, byte [r14 + r9]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], edx
mov edx, ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.14009ac80
mov edx, dword [0x14011c190]
lea r9, [0x14011c3a8]
mov r8, qword [0x140122b00]
mov r11d, 0xff
xor r10d, r10d
inc r13d
inc ebp
inc r15
cmp r13d, edx
jl 0x1400178c8
mov r15, qword [rsp + 0x350]
mov r14, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x370]
mov r12, qword [rsp + 0x368]
mov rbp, qword [rsp + 0x3a8]
mov r13, qword [rsp + 0x360]
add rsp, 0x378
pop rdi
pop rbx
ret