Function at 0x1400174d0
Capabilities:
Log keystrokes

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push r13
sub rsp, 0x378
cmp qword [0x14012afb8], 0
lea rax, [0x1401059f8]
mov rbx, rcx
lea r11, [0x140105a00]
movzx ecx, byte [0x14012ad77]
mov r13d, edx
lea rdx, [rsp + 0x150]
cmovne r11, rax
call fcn.140022a70
movzx ecx, byte [0x14012ad79]
lea rdx, [rsp + 0x250]
mov r10, rax
call fcn.140022a70
mov qword [rsp + 0x28], r11
lea r8, [0x140105a10]
mov r9, rax
mov qword [rsp + 0x20], r10
mov rcx, rbx
mov edx, r13d
call fcn.1400a1200
cmp qword [0x14012ae58], 0
jne 0x140017565
lea r8, [0x140105ad0]
mov edx, r13d
mov rcx, rbx
call fcn.1400a1200
lea r8, [0x140105bc0]
mov edx, r13d
mov rcx, rbx
call fcn.1400a1200
mov rbx, qword [0x14012ab90]
test rbx, rbx
je 0x14001794b
mov edx, dword [0x1401241e0]
xor r10d, r10d
mov qword [rsp + 0x398], rbp
movsxd rbp, dword [0x14012abbc]
mov qword [rsp + 0x360], r12
mov r12d, r10d
mov qword [rsp + 0x350], r15
lea r15, [0x140100be0]
test edx, edx
jle 0x140017933
mov qword [rsp + 0x370], rsi
lea r9, [0x1401243f8]
mov qword [rsp + 0x368], rdi
mov r11d, 0xff
mov qword [rsp + 0x358], r14
mov r14, rbp
nop dword [rax]
cmp ebp, edx
jl 0x1400175fa
mov ebp, r10d
mov r14, r10
mov rsi, r15
movsxd rax, ebp
imul r8, r14, 0xd4
imul r15, rax, 0xd4
movzx edi, byte [r8 + rbx]
add r15, 0xc
add r15, rbx
cmp dil, 0xe7
jne 0x1400176b0
movzx r9d, word [r8 + rbx + 2]
mov rax, r15
sub rsi, r15
movzx ecx, word [rax]
cmp cx, word [rax + rsi]
jne 0x140017647
add rax, 2
test cx, cx
jne 0x140017630
mov eax, r10d
jmp 0x14001764c
sbb eax, eax
or eax, 1
movss xmm0, dword [r8 + rbx + 8]
lea rdx, [0x140100be0]
test eax, eax
mov ecx, WSAAsyncSelect
mov eax, 0x75
cmovne rdx, r15
cmp byte [r8 + rbx + 6], 0
mov qword [rsp + 0x40], rdx
mov edx, r13d
cmovne ecx, eax
mov dword [rsp + 0x38], r9d
movzx eax, word [r8 + rbx + 4]
lea r8, [0x1401060a0]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x390]
mov dword [rsp + 0x20], eax
call fcn.1400a1200
jmp 0x1400178ed
test dil, dil
jne 0x140017715
cmp word [r8 + rbx + 2], 0
je 0x14001790a
movzx eax, word [r8 + rbx + 2]
mov edx, eax
mov word [rsp + 0x50], r10w
mov ebx, eax
movzx ecx, ax
sub edx, 0x45
je 0x140017710
sub edx, 0xf1
je 0x1400176e7
cmp edx, 0xf
jne 0x1400176eb
and cx, r11w
bt cx, 8
jae 0x1400176fe
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 0x140017752
mov dil, reloc.WSOCK32.dll_send
jmp 0x14001775c
movzx ebx, word [r8 + rbx + 2]
mov word [rsp + 0x50], r10w
test bx, bx
jne 0x14001775c
cmp dil, 0xd
je 0x14001773f
mov dl, 1
movzx ecx, dil
call fcn.140023d90
movzx ebx, ax
test ax, ax
jne 0x140017752
xor edx, edx
movzx ecx, dil
call fcn.140023d90
movzx ebx, ax
test ax, ax
je 0x140017787
xor r10d, r10d
lea r9, [0x1401243f8]
lea eax, [rdi + 0x64]
cmp al, 3
jbe 0x140017787
mov rdx, r10
lea rax, [0x140124328]
nop dword [rax]
cmp word [rax], bx
je 0x1400177cb
inc rdx
add rax, 0x10
cmp rax, r9
jl 0x140017770
mov word [rsp + 0x50], r10w
xor ebx, ebx
mov rdx, rbx
lea rax, [0x1401243f8]
lea rcx, [0x140124aa8]
nop word [rax + rax]
cmp byte [rax], dil
je 0x14001780e
inc rdx
add rax, 0x10
cmp rax, rcx
jl 0x1400177a0
movzx ecx, dil
call fcn.140022f20
mov word [rsp + 0x50], ax
test ax, ax
je 0x140017805
mov word [rsp + 0x52], bx
jmp 0x14001783d
add rdx, rdx
lea rax, [0x140000000]
mov r8d, 0x7f
lea rcx, [rsp + 0x50]
mov rdx, qword [rax + rdx*8 + 0x124320]
call fcn.1400d3cf4
xor ebx, ebx
mov word [rsp + 0x14e], bx
cmp word [rsp + 0x50], bx
je 0x140017789
lea r10, [rsp + 0x50]
jmp 0x140017850
mov eax, ebx
mov word [rsp + 0x50], bx
jmp 0x14001783d
add rdx, rdx
lea rax, [0x140000000]
mov r8d, 0x7f
lea rcx, [rsp + 0x50]
mov rdx, qword [rax + rdx*8 + 0x1243f0]
call fcn.1400d3cf4
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x14e], bx
test ax, ax
lea r10, [rsp + 0x50]
lea rax, [0x1401060f8]
cmove r10, rax
mov r11, qword [0x14012ab90]
mov rax, r15
imul r9, r14, 0xd4
sub rsi, r15
movzx ecx, word [rax]
cmp cx, word [rax + rsi]
jne 0x14001787a
add rax, 2
test cx, cx
jne 0x140017864
mov eax, ebx
jmp 0x14001787f
sbb eax, eax
or eax, 1
movzx ecx, word [r9 + r11 + 2]
lea r8, [0x140100be0]
movss xmm0, dword [r9 + r11 + 8]
test eax, eax
mov eax, 0x75
mov edx, WSAAsyncSelect
cmovne r8, r15
cmp byte [r9 + r11 + 6], 0
mov qword [rsp + 0x48], r8
lea r8, [0x140106110]
mov qword [rsp + 0x40], r10
cmovne edx, eax
movzx eax, word [r9 + r11 + 4]
movzx r9d, byte [r9 + r11]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], edx
mov edx, r13d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x390]
call fcn.1400a1200
mov edx, dword [0x1401241e0]
lea r9, [0x1401243f8]
mov rbx, qword [0x14012ab90]
mov r11d, 0xff
xor r10d, r10d
inc r12d
inc ebp
inc r14
cmp r12d, edx
jl 0x1400175f0
mov r14, qword [rsp + 0x358]
mov rdi, qword [rsp + 0x368]
mov rsi, qword [rsp + 0x370]
mov r12, qword [rsp + 0x360]
mov rbp, qword [rsp + 0x398]
mov r15, qword [rsp + 0x350]
add rsp, 0x378
pop r13
pop rbx
ret