Function at 0x1400198c0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x140351f00]
xor rax, rsp
mov qword [rbp + 0x27], rax
cmp byte [0x1403743b4], 0
jne 0x140019e86
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
xor esi, esi
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x10], r14
mov r14d, 1
mov qword [r11 - 0x18], r15
movabs r15, 0x7fffffffffffffff
movaps xmmword [r11 - 0x28], xmm6
nop word [rax + rax]
mov eax, dword [reloc.WS2_32.dll_accept]
lea rcx, [rbp - 0x61]
inc eax
movsxd rbx, eax
call fcn.140002750
mov rcx, qword [rbp - 0x61]
mov qword [rbp - 0x79], rcx
test rbx, rbx
je 0x140019970
js 0x140019970
imul r8, rbx, 0xf4240
mov rax, r15
sub rax, r8
cmp rcx, rax
je 0x14001996c
mov edx, 0xff
cmovge edx, r14d
test dl, dl
jns 0x14001996c
lea rax, [r8 + rcx]
mov qword [rbp - 0x79], rax
jmp 0x140019970
mov qword [rbp - 0x79], r15
lea rcx, [rbp - 0x79]
call fcn.1400055d0
cmp byte [0x1403742e0], sil
je 0x140019e49
cmp qword [0x1403762c0], rsi
je 0x140019e49
mov ecx, dword [0x1403742e4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140019a79
cmp byte [0x140375f59], sil
je 0x140019e49
mov dword [rbp - 0x31], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x2d], xmm0
mov dword [rbp - 0x1d], 4
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140019a57
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140019a57
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5130166f
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140019a52
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140019a30
cmp r8d, 0xc11e26ef
je 0x140019a5c
test r9d, r9d
jne 0x140019a10
mov rax, qword [rax]
jmp 0x1400199e0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x31]
jmp 0x140019e34
mov rcx, qword [0x140375b58]
test rcx, rcx
je 0x140019ab0
cmp dword [0x140375aac], esi
je 0x140019ab0
mov rdx, qword [0x1403760b0]
lea r8, [rbp - 9]
mov r9d, 8
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140375b58]
mov rdi, qword [rbp - 9]
mov qword [rbp - 0x41], rdi
test rdi, rdi
je 0x140019d5e
movaps xmm0, xmmword [0x1403762c0]
movaps xmm6, xmmword [0x1403762d0]
movups xmmword [rbp - 0x31], xmm0
test rcx, rcx
je 0x140019b00
cmp dword [0x140375aac], esi
je 0x140019b00
lea rdx, [rdi + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, recvfrom
lea r8, [rbp - 0x71]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdi, qword [rbp - 0x41]
movaps xmm0, xmm6
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xaa
subss xmm1, dword [rbp - 0x6d]
shufps xmm0, xmm6, 0x55
subss xmm0, dword [rbp - 0x71]
shufps xmm6, xmm6, 0xff
subss xmm6, dword [rbp - 0x69]
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm6, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm6
ucomiss xmm0, xmm1
ja 0x140019b46
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140019b4e
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [0x1403742ec]
mov rcx, rdi
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
setbe bl
call fcn.140019830
test al, al
je 0x140019b78
cmp byte [0x1403742e8], sil
movzx ebx, bl
cmove ebx, esi
cmp byte [0x1403742c9], sil
mov rcx, qword [0x140375b58]
je 0x140019bcc
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x140019bca
test rcx, rcx
je 0x140019bbe
cmp dword [0x140375aac], esi
je 0x140019bbe
add rdx, qword [0x140375a70]
lea r8, [rbp - 0x39]
mov r9, r14
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140375b58]
movzx eax, byte [rbp - 0x39]
test al, 0xdb
jne 0x140019bcc
cmp al, 0x20
je 0x140019bcc
xor bl, bl
test rcx, rcx
je 0x140019bf2
cmp dword [0x140375aac], esi
je 0x140019bf2
mov rdx, qword [0x1403760a8]
lea r8, [rbp - 0x38]
mov r9, r14
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [rbp - 0x38], sil
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x51]
cmove ebx, esi
call fcn.140019ea0
mov edx, esi
mov rcx, qword [rax]
movzx eax, bl
cmp byte [rcx + 0x58], dl
cmove edx, eax
test dl, dl
je 0x140019d5e
cmp byte [0x140375f59], sil
jne 0x140019e49
movsxd rbx, dword [0x1403742f0]
lea rcx, [rbp - 0x59]
call fcn.140002750
mov rax, qword [rbp - 0x59]
mov qword [rbp - 0x79], rax
test rbx, rbx
je 0x140019c75
js 0x140019c75
imul r8, rbx, 0xf4240
mov rcx, r15
sub rcx, r8
cmp rax, rcx
je 0x140019c71
mov edx, 0xff
cmovge edx, r14d
test dl, dl
jns 0x140019c71
lea rcx, [rax + r8]
mov qword [rbp - 0x79], rcx
jmp 0x140019c75
mov qword [rbp - 0x79], r15
lea rcx, [rbp - 0x79]
call fcn.1400055d0
mov dword [rbp - 0x31], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x2d], xmm0
mov dword [rbp - 0x1d], 2
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140019d27
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140019d27
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa4dd28bb
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140019d22
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140019d00
cmp r8d, 0xaffb0943
je 0x140019d2c
test r9d, r9d
jne 0x140019ce0
mov rax, qword [rax]
jmp 0x140019cb0
mov ecx, dword [rdi + 0x24]
mov r8d, 0x28
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x31]
add rax, r10
mov ecx, r14d
call rax
mov byte [0x140375f59], r14b
jmp 0x140019e49
cmp byte [0x140375f59], sil
je 0x140019e49
mov dword [rbp - 1], esi
xorps xmm0, xmm0
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp + 0x13], 4
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140019e17
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140019e17
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x824adaba
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140019e12
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140019df0
cmp r8d, 0x34b7f96c
je 0x140019e1c
test r9d, r9d
jne 0x140019dd0
mov rax, qword [rax]
jmp 0x140019da0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 1]
mov r8d, 0x28
mov ecx, r14d
add rax, r10
call rax
mov byte [0x140375f59], sil
cmp byte [0x1403743b4], sil
je 0x140019920
movaps xmm6, xmmword [rsp + 0xe0]
mov r15, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14011d5a0
add rsp, 0x100
pop rbp
ret