Function at 0x140020ff0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
cmp dword [0x14030ab68], 0
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x98], rbx
mov rbx, qword [0x14030ab30]
movaps xmmword [rsp + 0x60], xmm6
mov dword [rbp - 0x30], 5
lea rcx, [rbx + 0x1d38]
jne 0x140021473
movd xmm0, dword [0x14030a230]
or dword [rbx + 0x1cb0], 1
movaps xmm6, xmmword [0x14027f8d0]
cvtdq2ps xmm0, xmm0
mov dword [rbx + 0x1cc0], 0x41200000
mov qword [rbx + 0x1cc8], 0
mov dword [rbx + 0x1cb4], 1
mulss xmm0, dword [0x14027f534]
subss xmm0, dword [0x14027f6b0]
movss dword [rbx + 0x1cc4], xmm0
movups xmm0, xmmword [rbx + 0x1674]
movups xmmword [rbp - 0x2c], xmm0
call fcn.1400483a0
movups xmmword [rbx + 0x1674], xmm6
mov rbx, qword [0x14030ab30]
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x40], SafeArrayGetLBound
or dword [rbx + 0x1cb0], 2
lea rcx, [rbx + 0x1d48]
mov dword [rbx + 0x1cd0], 0x430d0000
mov dword [rbx + 0x1cd4], 0x43898000
mov dword [rbx + 0x1cb8], 1
movss xmm1, dword [rbx + 0x15a8]
movss xmm0, dword [rbx + 0x15ac]
movss dword [rbp - 0x3c], xmm1
movss dword [rbp - 0x38], xmm0
call fcn.1400482b0
xor edx, edx
mov dword [rbx + 0x15a8], 0x41000000
lea rcx, str.SauronNok_noob
mov dword [rbx + 0x15ac], 0x40800000
lea r8d, [rdx + 0x6b]
call fcn.14003d940
movaps xmm1, xmmword [0x14027f8e0]
lea rax, [rbp - 0x40]
mov rcx, qword [0x14030a950]
lea r9, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x18]
lea rax, [rbp - 0x30]
mov dword [rbp + 0x10], 0x3f800000
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x20]
mov dword [rbp + 0x14], 0x3f800000
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp + 0x18], 0
movups xmmword [rbp - 0x30], xmm1
mov dword [rbp + 0x20], 0x42fa0000
mov dword [rbp + 0x24], 0x43020000
call fcn.14005f9b0
mov rcx, qword [0x14030ab30]
movss xmm6, dword [0x14027f77c]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x1400211b7
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14030abba], 0
lea rax, str.ffffffF4___ffffffFIGHT_MODEffffff
lea rcx, str.FF0000F4___FF0000FIGHT_MODEFF0000
cmove rcx, rax
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x14002120e
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14030abbb], 0
lea rax, str.ffffffF5___ffffffBULLET_TRACKffffff
lea rcx, str.FF0000F5___FF0000BULLET_TRACKFF0000
cmove rcx, rax
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x140021265
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14030ab81], 0
lea rax, str.ffffffF6___ffffffLEGIT_TRACKffffff
lea rcx, str.FF0000F6___FF0000LEGIT_TRACKFF0000
cmove rcx, rax
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x1400212bc
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14029bf1f], 0
lea rax, str.ffffffF7___ffffffITEMS_ESPffffff
lea rcx, str.FF0000F7___FF0000ITEMS_ESPFF0000
cmove rcx, rax
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x140021313
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14029bf19], 0
lea rax, str.ffffffF8___ffffffVEHICLE_ESPffffff
lea rcx, str.FF0000F8___FF0000VEHICLE_ESPFF0000
cmove rcx, rax
call fcn.140018b40
cmp byte [0x14030ab81], 0
je 0x140021343
lea rcx, str.ffffffAim_:_Legit
jmp 0x140021370
mov eax, dword [0x14030ab6c]
test eax, eax
jne 0x140021356
lea rcx, str.ffffffAim_:_Head
jmp 0x140021370
cmp eax, 1
jne 0x140021364
lea rcx, str.ffffffAim_:_Chest
jmp 0x140021370
cmp eax, 2
jne 0x140021375
lea rcx, str.ffffffAim_:_Pelvis
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x6c]
movss xmm2, dword [rax + 0x24]
subss xmm2, dword [rax + 0x70]
addss xmm0, dword [0x14027f680]
addss xmm2, dword [0x14027f6f0]
movss dword [rax + 0xe8], xmm0
movss dword [rax + 0xec], xmm2
movss xmm1, dword [rax + 0x100]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0x104]
maxss xmm0, xmm2
movss dword [rax + 0x100], xmm1
movss dword [rax + 0x104], xmm0
call fcn.14003fce0
mov rcx, qword [0x14030ab30]
lea r10, [0x140141ff0]
movsxd rax, dword [rcx + 0x1d48]
mov r8, qword [rcx + 0x1d50]
lea rdx, [rax + rax*2]
movsxd rax, dword [r8 + rdx*4 - 0xc]
lea rax, [rax + rax*2]
cmp dword [r10 + rax*4], 8
mov r9d, dword [r10 + rax*4 + 8]
jne 0x140021468
mov eax, dword [r10 + rax*4 + 4]
cmp eax, 1
jne 0x140021449
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
dec dword [rcx + 0x1d48]
jmp 0x140021855
cmp eax, 2
jne 0x140021468
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
mov eax, dword [r8 + rdx*4 - 4]
mov dword [r9 + rcx + 0x1564], eax
dec dword [rcx + 0x1d48]
jmp 0x140021855
movups xmm0, xmmword [rbx + 0x1674]
movups xmmword [rbp - 0x2c], xmm0
call fcn.1400483a0
mov dword [rbx + 0x1674], 0x3f0ccccd
xor edx, edx
mov dword [rbx + 0x1678], 0x3e19999a
mov dword [rbx + 0x167c], 0x3f666666
mov dword [rbx + 0x1680], 0x3f800000
mov rcx, qword [0x14030ab30]
lea r8d, [rdx + 0x6b]
mov eax, dword [rcx + 0x1cb0]
mov dword [rcx + 0x1cd0], 0x44160000
or eax, 2
mov dword [rcx + 0x1cb0], eax
or eax, 1
mov dword [rcx + 0x1cd4], 0x42960000
mov dword [rcx + 0x1cb8], 1
mov dword [rcx + 0x15a8], 0x41000000
mov dword [rcx + 0x15ac], 0x40800000
movss xmm1, dword [rbx + 0x10]
movss xmm0, dword [rbx + 0x14]
mulss xmm1, dword [0x14027f534]
mov dword [rcx + 0x1cb0], eax
mulss xmm0, dword [0x14027f4ec]
mov dword [rcx + 0x1cc8], 0x3f000000
movss dword [rcx + 0x1cc0], xmm1
mov dword [rcx + 0x1ccc], 0x3dcccccd
movss dword [rcx + 0x1cc4], xmm0
mov dword [rcx + 0x1cb4], 4
lea rcx, str.Vampy
call fcn.14003d940
lea rcx, str.07e3ea_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t__DARKNESS07e3ea
call fcn.140018b40
mov rcx, qword [0x14030ab30]
movss xmm6, dword [0x14027f77c]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x1400215a3
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14030abba], 0
lea rax, str.FF0000_t_____F4
lea rcx, str.74ff03_t_____F474ff03
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14030abbb], 0
lea rax, str.FF0000_t________________F5
lea rcx, str.74ff03_t________________F5
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14030ab81], 0
lea rax, str.FF0000_t________________F6
lea rcx, str.74ff03_t_______________F6
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14029bf1f], 0
lea rax, str.FF0000_t_______________F7
lea rcx, str.74ff03_t_______________F7
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14029bf19], 0
lea rax, str.FF0000_t________________F8
lea rcx, str.74ff03_t________________F8
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14029bf19], 0
lea rax, str.FF0000_t________________T
lea rcx, str.74ff03_t________________T
cmove rcx, rax
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0xa3], 0
jne 0x1400216c7
movaps xmm1, xmm6
mov qword [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.140040a90
cmp byte [0x14030abba], 0
lea rax, str.FF0000FIGHT_MODEFF0000_t
lea rcx, str.74ff03FIGHT_MODE74ff03_t
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14030abbb], 0
lea rax, str.FF0000BULLET_TRACKFF0000_t
lea rcx, str.74ff03BULLET_TRACK74ff03_t
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14030ab81], 0
lea rax, str.FF0000LEGIT_TRACKFF0000_t
lea rcx, str.74ff03LEGIT_TRACK74ff03_t
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14029bf1f], 0
lea rax, str.FF0000ITEMS_ESPFF0000_t
lea rcx, str.74ff03ITEMS_ESP74ff03_t
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14029bf19], 0
lea rax, str.FF0000VEHICLE_ESPFF0000_t
lea rcx, str.74ff03VEHICLE_ESP74ff03_t
cmove rcx, rax
call fcn.140018b40
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.140040d30
cmp byte [0x14030ab81], 0
je 0x1400217a6
lea rcx, str.FF0000Aim_:_Legit
jmp 0x1400217d3
mov eax, dword [0x14030ab6c]
test eax, eax
jne 0x1400217b9
lea rcx, str.FF0000Aim_:_Head
jmp 0x1400217d3
cmp eax, 1
jne 0x1400217c7
lea rcx, str.74ff03Aim_:_Chest
jmp 0x1400217d3
cmp eax, 2
jne 0x1400217d8
lea rcx, str.74ff03Aim_:_Pelvis
call fcn.140018b40
mov rcx, qword [0x14030ab30]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0xa0], 1
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x6c]
movss xmm2, dword [rax + 0x24]
subss xmm2, dword [rax + 0x70]
addss xmm0, dword [0x14027f680]
addss xmm2, dword [0x14027f6f0]
movss dword [rax + 0xe8], xmm0
movss dword [rax + 0xec], xmm2
movss xmm1, dword [rax + 0x100]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0x104]
maxss xmm0, xmm2
movss dword [rax + 0x100], xmm1
movss dword [rax + 0x104], xmm0
call fcn.14003fce0
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm6, xmmword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
test al, 1
je 0x14002187f
cmp byte [0x14030ab81], 0
sete byte [0x14030ab81]
mov ecx, 0x76
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14002189c
cmp byte [0x14029bf1f], 0
sete byte [0x14029bf1f]
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400218b9
cmp byte [0x14030abbb], 0
sete byte [0x14030abbb]
mov ecx, 0x54
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400218e7
mov eax, dword [0x14030ab6c]
cmp eax, 2
jne 0x1400218df
mov dword [0x14030ab6c], 0
jmp 0x1400218e7
inc eax
mov dword [0x14030ab6c], eax
mov r8, qword [0x14030ab30]
movsxd rax, dword [r8 + 0x1d38]
mov rcx, qword [r8 + 0x1d40]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x1624], xmm0
dec dword [r8 + 0x1d38]
add rsp, 0x70
pop rbp
ret