Function at 0x180044830
Capabilities:
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
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1800e2040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18004488a
cmp byte [0x1800e30b4], 0
sete byte [0x1800e30b4]
call fcn.1800434d0
cmp byte [0x1800e30b4], 0
je 0x1800452c5
mov rax, qword [0x1801ce360]
lea rdx, [0x1800e30b4]
movabs r12, 0x358f0984c42ceec8
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x98], r12
movabs r15, 0x29e0bcbb6c0612f1
movabs r14, 0x1ccdad8ac04ed9d6
mov qword [rbp + 0x60], r15
or dword [rax + 0x1ab8], 2
movabs r13, 0xc84d2ab561efb48b
mov dword [rax + 0x1ad8], 0x43fa0000
xor r8d, r8d
mov dword [rax + 0x1adc], 0x43c80000
mov dword [rax + 0x1ac0], 1
movabs rax, 0x64c0cf9c156e7dba
mov qword [rbp + 0x80], rax
movabs rax, 0x6ea4cce2836eeb81
mov qword [rbp + 0x88], rax
movabs rax, 0xc84d7afc37cfc8ab
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r12
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vmovdqa ymmword [rbp + 0x80], ymm1
vzeroupper
call fcn.180012b00
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov ecx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [rbp]
mov dword [rbp], 0
cdq
mov dword [rbp + 4], 0x3f800000
sub eax, edx
sar eax, 1
mov esi, eax
call fcn.18002fef0
movss xmm6, dword [0x1800d2fa4]
mov ebx, 0x19
nop word [rax + rax]
mov rax, qword [0x1801ce360]
mov rcx, qword [rax + 0x1a18]
mov byte [rcx + 0x80], 1
mov rax, qword [rax + 0x1a18]
cmp byte [rax + 0x83], 0
jne 0x1800449f9
movaps xmm1, xmm6
mov qword [rbp], 0
lea rcx, [rbp]
call fcn.18000cb40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015f00
sub rbx, 1
jne 0x1800449c0
lea rcx, [rbp]
mov dword [rbp], ebx
mov dword [rbp + 4], 0x40400000
call fcn.18002fef0
mov rcx, qword [0x1801ce360]
lea r8d, [rbx + 2]
movd xmm0, edi
lea rdx, [rbp]
movd xmm1, esi
cvtdq2ps xmm0, xmm0
mov rcx, qword [rcx + 0x1a18]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm0
mulss xmm1, dword [0x1800d2e18]
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm1
call fcn.180015560
movabs rax, 0x60a8fff92d5231d2
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [rbp]
movabs rax, 0x1ccdad8ac04e9d9a
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
mov r8b, 1
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42dc0000
mov dword [rbp + 4], 0xbf800000
call fcn.18000fde0
movabs rax, 0x7cb3f5ed435641b4
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [rbp]
movabs rax, 0x1ccdad8ac04e9597
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42be0000
mov dword [rbp + 4], 0x41f00000
call fcn.18002e0d0
xor esi, esi
test al, al
je 0x180044b17
mov dword [0x1801ce378], esi
mov ebx, 0xf
mov edi, ebx
nop
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180044b55
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
sub rdi, 1
jne 0x180044b20
mov qword [rbp + 0x68], r14
lea rdx, [rbp]
movabs rax, 0x29e0e8f42e4b5bb0
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
mov qword [rbp + 0x88], r14
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42be0000
mov dword [rbp + 4], 0x41f00000
call fcn.18002e0d0
test al, al
je 0x180044bb5
mov dword [0x1801ce378], 1
mov rcx, qword [0x1801ce360]
mov rdx, qword [rcx + 0x1a18]
cmp byte [rcx + 0x1bf7], sil
je 0x180044bfa
cmp byte [rcx + 0x1bf6], sil
jne 0x180044bfa
mov eax, dword [rcx + 0x1b88]
test eax, eax
je 0x180044beb
cmp eax, dword [rdx + 0x110]
jne 0x180044beb
mov al, 1
jmp 0x180044bed
xor al, al
test al, al
je 0x180044d53
jmp 0x180044c94
test byte [rdx + 0x114], 1
je 0x180044d53
mov r8, qword [rdx + 0x360]
cmp qword [rcx + 0x1a28], r8
jne 0x180044d53
mov eax, dword [rcx + 0x1a60]
test eax, eax
je 0x180044c3f
cmp eax, dword [rdx + 0x110]
je 0x180044c3f
cmp byte [rcx + 0x1a6d], sil
jne 0x180044c3f
cmp eax, dword [rdx + 0x4c]
jne 0x180044d53
mov rax, qword [rcx + 0x1b80]
test rax, rax
je 0x180044c7c
mov rax, qword [rax + 0x360]
test rax, rax
je 0x180044c7c
cmp byte [rax + 0x7f], sil
je 0x180044c7c
cmp rax, r8
je 0x180044c7c
mov r8d, dword [rax + 0xc]
bt r8d, 0x1b
jb 0x180044d53
bt r8d, 0x1a
jb 0x180044d53
mov eax, dword [rdx + 0x4c]
cmp dword [rdx + 0x110], eax
jne 0x180044c94
cmp byte [rdx + 0x80], sil
jne 0x180044d53
movabs rcx, 0xfd6ce6963bd998fa
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x48], rcx
movabs rax, 0x50c0c8da4c6361a4
mov qword [rbp + 0x20], rax
movabs rax, 0x3ca3dae5e03cacb9
mov qword [rbp + 0x28], rax
movabs rax, 0xa1050a940a9cddd9
mov qword [rbp + 0x30], rax
movabs rax, 0x76af67e5860c86af
mov qword [rbp + 0x38], rax
movabs rax, 0x44bb4562eddd381d
mov qword [rbp + 0x40], rax
movabs rax, 0x44bb64078eb35975
movdqa xmm2, xmmword [rbp + 0x40]
mov qword [rbp + 0xa8], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r12
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
mov qword [rbp + 0xa0], rax
vxorps xmm2, xmm2, xmmword [rbp + 0xa0]
vmovdqa xmmword [rbp + 0x40], xmm2
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.180016620
mov rcx, qword [0x1801ce360]
mov rdi, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180044d95
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
mov rcx, qword [0x1801ce360]
sub rdi, 1
jne 0x180044d60
movabs rax, 0x60b09ce9234a5db2
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [rbp]
movabs rax, 0x1ccdad8a920b9295
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42be0000
mov dword [rbp + 4], 0x41f00000
call fcn.18002e0d0
test al, al
je 0x180044dff
mov dword [0x1801ce378], 2
mov rdi, rbx
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180044e37
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
sub rdi, 1
jne 0x180044e02
mov qword [rbp + 0x68], r14
lea rdx, [rbp]
movabs rax, 0x29e0bcbb2f555bbc
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
mov qword [rbp + 0x88], r14
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42be0000
mov dword [rbp + 4], 0x41f00000
call fcn.18002e0d0
test al, al
je 0x180044e97
mov dword [0x1801ce378], 3
mov rdi, rbx
nop word [rax + rax]
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180044ed5
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
sub rdi, 1
jne 0x180044ea0
movabs rax, 0x5a89ea9b18697dbd
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [rbp]
movabs rax, 0x1ccdad8ab322b8a3
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0x42be0000
mov dword [rbp + 4], 0x41f00000
call fcn.18002e0d0
test al, al
je 0x180044f40
mov dword [0x1801ce378], 4
nop
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180044f75
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
sub rbx, 1
jne 0x180044f40
call fcn.18000fe80
mov rbx, qword [0x1801ce360]
mov rax, qword [rbx + 0x1a18]
mov byte [rax + 0x80], 1
mov rcx, qword [rbx + 0x1a18]
cmp byte [rcx + 0x83], sil
jne 0x180044fe9
movss xmm1, dword [rbx + 0x15a0]
movss xmm0, dword [rcx + 0xdc]
addss xmm1, dword [rcx + 0xd8]
movss dword [rcx + 0xd0], xmm1
movss dword [rcx + 0xd4], xmm0
movsd xmm0, qword [rcx + 0xf8]
mov eax, dword [rcx + 0x104]
movsd qword [rcx + 0xf0], xmm0
mov dword [rcx + 0x100], eax
movabs rax, 0x7bb5e8fa294031d2
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
movabs rax, 0x1c89e1c3880d8a93
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
xor edx, edx
movdqa xmm0, xmmword [rbp + 0x60]
mov rax, qword [rbx + 0x1a18]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp], 0xbf800000
mov byte [rax + 0x80], 1
mov r8, qword [rbx + 0x1a18]
mov dword [rbp + 4], 0xbf800000
movsxd rax, dword [r8 + 0xc0]
mov r8, qword [r8 + 0xc8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.18000a600
cmp dword [rbx + 0x1a60], eax
jne 0x180045073
mov dword [rbx + 0x1a64], eax
cmp dword [rbx + 0x1a9c], eax
jne 0x180045082
mov byte [rbx + 0x1aa0], 1
xor r9d, r9d
mov dword [rsp + 0x20], esi
lea r8, [rbp]
mov edx, eax
lea rcx, [rbp + 0x60]
call fcn.18000fb20
mov eax, dword [0x1801ce378]
test eax, eax
jne 0x1800450ad
call fcn.180043c50
mov eax, dword [0x1801ce378]
cmp eax, 1
jne 0x1800450bd
call fcn.180044430
mov eax, dword [0x1801ce378]
cmp eax, 2
jne 0x1800451f0
lea rcx, [rbp]
mov dword [rbp], esi
mov dword [rbp + 4], 0x3f800000
call fcn.18002fef0
lea rcx, str.Visible_Team_Color
call fcn.18002d7b0
xor r8d, r8d
lea rdx, [0x1801c8cb0]
lea rcx, str.esp_Color1
call fcn.180037f60
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180045130
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
lea rcx, str.Not_Visible_Team_Color
call fcn.18002d7b0
xor r8d, r8d
lea rdx, [0x1801c8cd0]
lea rcx, str.esp_Color2
call fcn.180037f60
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x180045187
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
lea rcx, str.Visible_Enemy_Color
call fcn.18002d7b0
xor r8d, r8d
lea rdx, [0x1801c8ce0]
lea rcx, str.esp_Color3
call fcn.180037f60
mov rcx, qword [0x1801ce360]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], sil
jne 0x1800451de
movaps xmm1, xmm6
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.18000cb40
lea rcx, str.Not_Visible_Enemy_Color
call fcn.18002d7b0
mov eax, dword [0x1801ce378]
cmp eax, 3
jne 0x1800452a8
lea rcx, [rbp]
mov dword [rbp], esi
mov dword [rbp + 4], 0x40400000
call fcn.18002fef0
movabs rax, 0x4d85dfd50d7076b0
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [0x1801ce2bf]
movabs rax, 0x1ccdad8a960f8cf6
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
call fcn.18002f360
movabs rax, 0x408fdfde3e267dbf
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x60], rax
lea rdx, [0x1801ce335]
movabs rax, 0x1ccdad8ac04ed9ba
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
call fcn.18002f360
mov eax, dword [0x1801ce378]
cmp eax, 4
jne 0x1800452c0
lea rcx, [rbp]
mov dword [rbp], esi
mov dword [rbp + 4], 0x40400000
call fcn.18002fef0
call fcn.18000fe80
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180047000
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret