Function at 0x14005c420
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov rax, qword [0x1400be978]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
mov rbx, rdx
xor r12d, r12d
mov rax, qword [0x1400c3008]
cmp byte [rax + 0x5f88], r12b
je 0x14005c798
movss xmm1, dword [rcx + 0x1c]
movss xmm0, dword [rcx + 0x18]
movss dword [rax + 0x5f78], xmm0
movss dword [rax + 0x5f7c], xmm1
mov r13, qword [0x1400c3008]
movss xmm0, dword [r13 + 0x5f78]
mulss xmm0, dword [0x1400a2d38]
cvttss2si r14d, xmm0
movss xmm0, dword [r13 + 0x5f7c]
mulss xmm0, dword [0x1400a2d38]
cvttss2si r15d, xmm0
mov dword [0x1400c2014], r14d
mov dword [0x1400c2010], r15d
cmp byte [0x1400c1fde], r12b
je 0x14005c4e8
mov byte [rdx + 2], r12b
mov eax, 0x18
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x20], r12
jmp 0x14005c4eb
mov eax, dword [rdx + 0xc]
cmp byte [0x1400c1fe0], r12b
je 0x14005c4f9
mov eax, 0x800820
btr eax, 0xb
mov dword [rdx + 0xc], eax
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
movzx edi, ax
shr edi, 0xf
and dil, 1
cmp byte [0x1400c1fd7], r12b
je 0x14005c53c
test dil, dil
je 0x14005c53c
cmp byte [0x1400c1f48], r12b
sete cl
mov byte [0x1400c1f48], cl
test cl, cl
je 0x14005c558
mov r8b, 1
jmp 0x14005c546
mov byte [0x1400c1f48], r12b
xor r8d, r8d
mov rcx, qword [0x1400c3008]
mov edx, dword [rcx + 0x5f70]
call fcn.140081c50
mov ecx, dword [0x1400f9b58]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1400c29a0], ecx
jg 0x14005cc8f
cmp byte [0x1400c1fd7], r12b
je 0x14005c79f
test dil, dil
je 0x14005c79f
cmp dword [rbx + 0x2c], 0xffffffff
je 0x14005c79f
cmp dword [rbx + 0x30], 0xffffffff
je 0x14005c79f
lea rcx, [rsp + 0x68]
call fcn.1400505c0
mov rax, qword [rsp + 0x68]
sub rax, qword [0x1400c2998]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1400a2d60]
mulsd xmm1, qword [0x1400a2d50]
movsd xmm0, qword [0x1400a2d48]
comisd xmm0, xmm1
ja 0x14005c60b
mov edx, dword [rbx + 0x30]
mov ecx, dword [rbx + 0x2c]
call fcn.140069640
lea rcx, [rsp + 0x68]
call fcn.1400505c0
mov rcx, qword [rax]
mov qword [0x1400c2998], rcx
mov al, 1
jmp 0x14005cc59
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], reloc.WS2_32.dll_listen
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnTextOverlay]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x14009d8e0]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x14009d8e4]
mov byte [rsp + 0x54], al
mov byte [rsp + 0x55], r12b
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.14001e7c0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005c699
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c694
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005c751
call fcn.14008a3cc
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov edx, gethostbyname
lea rcx, [rsp + 0x48]
call fcn.140006660
mov rdx, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], gethostbyname
mov qword [rsp + 0x60], gethostbyname
movups xmm0, xmmword [str._4Wait_2_Second_Before__9Pathfinding__4Again.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400a0b68]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1400a0b78]
movsd qword [rax + 0x20], xmm0
mov eax, dword [0x1400a0b80]
mov dword [rdx + 0x28], eax
movzx eax, byte [0x1400a0b84]
mov byte [rdx + 0x2c], al
mov byte [rdx + 0x2d], 0
mov dword [rbp + 0x70], 2
mov r8d, 0x2d
lea rcx, [rbp + 0x90]
call fcn.14002daf0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005c75d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c758
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c758
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
mov dword [rsp + 0x20], 0xffffffff
mov r9d, 0xffffffff
lea r8, [rbp + 0x30]
mov dl, 1
mov rcx, qword [0x1400c3008]
call fcn.140081940
nop
lea r9, [fcn.140020fe0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x30]
call fcn.14008a59c
nop
xor al, al
jmp 0x14005cc59
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], reloc.WS2_32.dll_listen
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnNameChanged]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x14009b958]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x14009b95c]
mov byte [rsp + 0x54], al
mov byte [rsp + 0x55], r12b
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x1f0]
call fcn.14001e7c0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005c833
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c82e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c82e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
cmp byte [0x1400c29f8], 0
je 0x14005cc2f
cmp byte [0x1400c1f17], 0
jne 0x14005cc2f
mov edx, r15d
lea rcx, [rbp + 0x10]
call fcn.140006dd0
mov rdi, rax
mov edx, r14d
lea rcx, [rbp - 0x30]
call fcn.140006dd0
mov rbx, rax
lea r8, [r13 + 0x5f30]
mov rdx, qword [r8 + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, 4
jb 0x14005cc89
mov r9, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14005c89a
mov r9, qword [r8]
mov qword [rsp + 0x30], 4
lea rax, str.__9_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.140004350
nop
mov r9, rbx
lea r8, [rbp - 0x10]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.1400041b0
nop
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14005c915
lea rax, [rcx + 1]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x48]
mov word [rax + rcx], 0x2c
lea rax, [rsp + 0x48]
jmp 0x14005c936
mov qword [rsp + 0x20], 1
lea r9, [0x14009bc44]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x48]
call fcn.140004020
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov r9, rdi
lea r8, [rbp - 0x50]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400041b0
nop
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14005c9a3
lea rax, [rcx + 1]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x70]
mov word [rax + rcx], 0x5d
lea rax, [rsp + 0x70]
jmp 0x14005c9c4
mov qword [rsp + 0x20], 1
lea r9, [0x14009b824]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x70]
call fcn.140004020
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov dword [rbp + 0x230], 2
lea rdx, [rbp - 0x70]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rbp + 0x250]
call fcn.14002daf0
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14005ca5c
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ca56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005ca56
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14005ca9b
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ca96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005ca96
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
movdqa xmm0, xmmword [0x14009a5e0]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14005caec
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cae6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005cae6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005cb2c
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cb27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005cb27
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
movdqa xmm0, xmmword [0x14009a5e0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x14005cb7e
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cb78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005cb78
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14005cbbc
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cbb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005cbb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
movdqa xmm0, xmmword [0x14009a5e0]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14005cc0b
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cc06
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005cc06
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [r13 + 0x5f70]
lea r8, [rbp + 0x1f0]
mov dl, 1
mov rcx, qword [0x1400c3008]
call fcn.140081940
cmp byte [0x1400c2a02], 0
setne bl
lea r9, [fcn.140020fe0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x1f0]
call fcn.14008a59c
nop
movzx eax, bl
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.14008a4e0
lea r11, [rsp + 0x4c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004650
nop
lea rcx, [0x1400c29a0]
call fcn.14008aa54
cmp dword [0x1400c29a0], 0xffffffff
jne 0x14005c57f
call sub.MSVCP140.dll__Query_perf_frequency
mov rsi, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rsi, 0x989680
jne 0x14005ccc4
imul rax, rax, 0x64
jmp 0x14005ccdf
cqo
idiv rsi
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rsi
add rax, r8
mov qword [0x1400c2998], rax
lea rcx, [0x1400c29a0]
call fcn.14008a9f4
jmp 0x14005c57f