Function at 0x14008f630
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140217900]
xor rax, rsp
mov qword [rbp], rax
xor r12d, r12d
cmp byte [0x14021bb08], r12b
je 0x14008f6ba
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008fed5
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008fee0
mov edx, dword [0x14021ba4c]
xor r8d, r8d
lea rcx, [0x14021c120]
call fcn.1400704b0
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp byte [0x14021bb0a], r12b
jne 0x14008f6d0
cmp byte [0x14021bb0b], r12b
je 0x14008f78f
call fcn.14009abc0
mov ebx, eax
cmp byte [0x14021bb0a], r12b
je 0x14008f733
movss xmm6, dword [0x1402175d0]
test eax, eax
je 0x14008f733
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008fed5
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008fee0
mov edx, dword [0x14021bac0]
add edx, ebx
movaps xmm2, xmm6
lea rcx, [0x14021c120]
call fcn.140070550
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp byte [0x14021bb0b], r12b
je 0x14008f78f
movss xmm6, dword [0x1402175d0]
test ebx, ebx
je 0x14008f78f
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008fed5
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008fee0
mov edx, dword [0x14021bac0]
add edx, ebx
movaps xmm2, xmm6
lea rcx, [0x14021c120]
call fcn.140070550
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp byte [0x14021bb09], r12b
je 0x14008f7f5
call fcn.140099120
mov ebx, eax
movss xmm6, dword [0x14021bb0c]
test eax, eax
je 0x14008f7f5
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008fed5
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008fee0
mov edx, dword [0x14021ba7c]
add edx, 4
add edx, ebx
movaps xmm2, xmm6
lea rcx, [0x14021c120]
call fcn.140070550
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp byte [0x14021bb6e], r12b
je 0x14008fe7e
mov eax, dword [0x14021bcc0]
mov dword [rbp - 0x38], eax
mov eax, dword [0x14021bcc4]
mov dword [rbp - 0x34], eax
mov eax, dword [0x14021bd48]
mov dword [rbp - 0x30], eax
mov eax, dword [0x14021bd4c]
mov dword [rbp - 0x2c], eax
mov eax, dword [0x14021bdd0]
mov dword [rbp - 0x28], eax
lea rbx, [rbp - 0x38]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov ecx, reloc.WS2_32.dll_sendto
call fcn.14015be90
mov r14, rax
mov qword [rsp + 0x70], rax
add rax, 0x14
mov qword [rbp - 0x80], rax
mov r8d, reloc.WS2_32.dll_sendto
mov rdx, rbx
mov rcx, r14
call fcn.14019cd80
lea rdi, [r14 + 0x14]
mov qword [rsp + 0x78], rdi
lea rax, [0x14021bcc8]
mov qword [rbp - 0x60], rax
lea rax, [0x14021bd08]
mov qword [rbp - 0x58], rax
lea rax, [0x14021bd50]
mov qword [rbp - 0x50], rax
lea rax, [0x14021bd90]
mov qword [rbp - 0x48], rax
lea rax, [0x14021bdd8]
mov qword [rbp - 0x40], rax
lea rbx, [rbp - 0x60]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov ecx, Ordinal_41
call fcn.14015be90
mov rsi, rax
mov qword [rbp - 0x78], rax
add rax, 0x28
mov qword [rbp - 0x68], rax
mov r8d, Ordinal_41
mov rdx, rbx
mov rcx, rsi
call fcn.14019cd80
lea rax, [rsi + 0x28]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov ecx, Ordinal_50
call fcn.14015be90
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x68], 8
movss xmm7, dword [0x1401afb7c]
mov dword [rsp + 0x30], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x48]
call fcn.14008c9e0
nop
mov rbx, r12
sub rdi, r14
sar rdi, 2
test rdi, rdi
je 0x14008f9fe
mov ecx, dword [r14 + rbx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14008f9f2
mov rdx, qword [rsi + rbx*8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14008f990
lea rcx, [rbp - 0x60]
call fcn.1400639f0
nop
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x30]
call fcn.140076e10
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x14008f9f2
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008f9ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008fefb
call fcn.14015b6cc
inc rbx
cmp rbx, rdi
jb 0x14008f963
mov edi, 1
movabs rsi, 0xcbf29ce484222325
movabs r13, 0x100000001b3
mov dword [rsp + 0x24], edi
call fcn.14009ad00
mov ebx, eax
test eax, eax
jne 0x14008fa2b
mov ebx, r12d
jmp 0x14008fa71
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008feca
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008feb5
mov edx, dword [0x14021ba68]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov ebx, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp edi, ebx
jg 0x14008fd7a
mov ecx, edi
call fcn.140098b80
mov ebx, eax
test eax, eax
jne 0x14008fa8b
mov edi, r12d
jmp 0x14008fad1
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008ff56
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008ff41
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov dword [rsp + 0x28], edi
lea rdx, [rsp + 0x28]
lea rcx, [0x14021bea0]
call fcn.140084320
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14006c7f0
cmp qword [rbp - 0x50], 0
setne dil
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x14008fb36
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008fb31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008fef5
call fcn.14015b6cc
test dil, dil
je 0x14008fd6f
test ebx, ebx
je 0x14008fd6f
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008ff36
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008ff21
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov dword [rsp + 0x20], edi
lea rdx, [rsp + 0x20]
lea rcx, [0x14021bea0]
call fcn.140084320
lea rdx, [rsp + 0x20]
cmp qword [rax + 0x10], 0
je 0x14008fbc8
lea rcx, [0x14021bea0]
call fcn.140084320
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14006c7f0
jmp 0x14008fc18
lea rcx, [0x14021c110]
call fcn.140084320
lea rdx, [rsp + 0x20]
cmp qword [rax + 0x10], 0
je 0x14008fbe9
lea rcx, [0x14021c110]
jmp 0x14008fbb5
lea rcx, [0x14021be90]
call fcn.140084320
cmp qword [rax + 0x10], 0
je 0x14008fc0a
lea rdx, [rsp + 0x20]
lea rcx, [0x14021be90]
jmp 0x14008fbb5
mov edx, dword [rsp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.1400e3e80
nop
lea r8, [rbp - 0x20]
mov r14, qword [rbp - 0x20]
mov r15, qword [rbp - 8]
cmp r15, 0xf
cmova r8, r14
mov rcx, rsi
mov rdx, r12
mov rsi, qword [rbp - 0x10]
test rsi, rsi
je 0x14008fc54
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, rsi
jb 0x14008fc40
mov rax, qword [rsp + 0x60]
and rax, rcx
add rax, rax
mov r12, qword [rsp + 0x48]
mov rdi, qword [r12 + rax*8 + 8]
mov r13, qword [rsp + 0x38]
cmp rdi, r13
je 0x14008fcbf
mov r12, qword [r12 + rax*8]
nop word [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14008fc92
mov rdx, qword [rdx]
lea rcx, [rbp - 0x20]
cmp r15, 0xf
cmova rcx, r14
cmp rsi, rax
jne 0x14008fcaf
mov r8, rsi
call fcn.14019d7c0
test eax, eax
je 0x14008fcba
cmp rdi, r12
je 0x14008fcbf
mov rdi, qword [rdi + 8]
jmp 0x14008fc80
xor r12d, r12d
jmp 0x14008fcc5
xor r12d, r12d
mov edi, r12d
mov rax, r13
test rdi, rdi
cmovne rax, rdi
cmp rax, r13
je 0x14008fcd9
movaps xmm6, xmm7
jmp 0x14008fcdc
xorps xmm6, xmm6
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x14008ff16
cmp dword [0x1402175cc], 0x7fffffff
je 0x14008ff01
mov edx, dword [0x14021ba84]
add edx, ebx
movaps xmm2, xmm6
lea rcx, [0x14021c120]
call fcn.140070550
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
nop
cmp r15, 0xf
jbe 0x14008fd5b
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14008fd53
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008fefb
mov rcx, r14
call fcn.14015b6cc
movabs r13, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
mov edi, dword [rsp + 0x24]
inc edi
jmp 0x14008fa17
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14008fdd0
mov rax, qword [rsp + 0x58]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008fdbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008ff61
call fcn.14015b6cc
mov qword [rsp + 0x48], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.140073610
mov edx, Ordinal_50
mov rcx, qword [rsp + 0x38]
call fcn.14015b6cc
nop
mov rsi, qword [rbp - 0x78]
test rsi, rsi
je 0x14008fe39
lea r15, [rsi + 0x28]
sub r15, rsi
sar r15, 3
lea rdx, [r15*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14008fe30
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008ff67
mov rcx, rsi
call fcn.14015b6cc
nop
mov r14, qword [rsp + 0x70]
test r14, r14
je 0x14008fe7e
mov rsi, qword [rbp - 0x80]
sub rsi, r14
and rsi, 0xfffffffffffffffc
mov rax, r14
cmp rsi, 0x1000
jb 0x14008fe73
add rsi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008ff6d
mov rdx, rsi
mov rcx, r14
call fcn.14015b6cc
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14015b7e0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
nop
mov ecx, 5
call fcn.14015ddb0
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
nop
call fcn.14017ad3c
int3
call fcn.14017ad3c
nop
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
nop
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
nop
call fcn.14017ad3c
nop
call fcn.14017ad3c
nop
call fcn.14017ad3c
int3