Function at 0x180047800
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
sub rsp, 0x68
mov rax, qword [0x18006c3c0]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp byte [0x18006e230], 0
mov qword [rsp + 0x70], rbx
jne 0x18004784d
mov qword [rsp + 0x28], 0
lea r8, [0x180015f70]
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov byte [0x18006e230], 1
mov r8, qword [0x18006cfb8]
mov dword [rsp + 0x40], 0x43a00000
mov dword [rsp + 0x44], 0x43700000
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [r8 + 0x3ed8]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm0, dword [0x18006298c]
addss xmm2, dword [0x18006294c]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [r8 + 0x3ed8]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov ebx, dword [rax + rcx*4 - 4]
cmp dword [r8 + 0x3f0c], ebx
jne 0x180047918
lea r8, [0x180060a1e]
mov edx, 0xb
mov ecx, ebx
call fcn.18001dcd0
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x180060a1e]
call fcn.18003eff0
mov rcx, qword [0x18006cfb8]
lea rdx, [0x18006d110]
mov rax, qword [rcx + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, str.Velocity
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm0, dword [0x1800628c0]
addss xmm2, dword [0x180062888]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
call fcn.180034e00
test al, al
je 0x1800479c4
call fcn.180046300
call fcn.1800460c0
mov rcx, qword [0x18006cfb8]
mov rax, qword [rcx + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, str.Velocity_Keybind
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm0, dword [0x180062904]
addss xmm2, dword [0x180062954]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
call fcn.180033550
cmp byte [0x18006e560], 0
mov rcx, qword [0x18006cfb8]
mov qword [rsp + 0x40], 0
mov rax, qword [rcx + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ed8]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm0, dword [0x180062910]
addss xmm2, dword [0x180062958]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
jne 0x180047b08
movsxd rax, dword [0x18006d4f8]
lea rcx, str.TusAta
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx + rax*8]
call fcn.180033d60
test al, al
je 0x180047afb
mov byte [0x18006e560], 1
jmp 0x180047b08
cmp byte [0x18006e560], 0
je 0x180047c0a
mov qword [rsp + 0x78], rsi
lea rdx, [rsp + 0x40]
lea rcx, str.Tus_Ata
mov qword [rsp + 0x60], rdi
call fcn.180033d60
lea rcx, [rsp + 0x40]
call fcn.180040b00
mov rbx, qword [rsp + 0x40]
movabs rax, 0x7ffffffffff0bdbe
cmp rbx, rax
jg 0x180047b4a
add rbx, 0xf4240
jmp 0x180047b54
movabs rbx, 0x7fffffffffffffff
movabs rdi, 0x4e94914effff
movabs rsi, 0x431bde82d7b634db
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180040b00
mov rax, qword [rsp + 0x40]
cmp rbx, rax
je 0x180047bc9
jl 0x180047bc9
mov rcx, rbx
sub rcx, rax
cmp rcx, rdi
jg 0x180047bbd
mov rax, rsi
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x180047bb4
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x180047b70
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x180047b70
mov rsi, qword [rsp + 0x78]
lea rbx, [0x18005efd0]
lea rdi, [0x18005f268]
nop dword [rax]
mov ecx, dword [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180047bfc
mov eax, dword [rbx]
mov dword [0x18006d4f8], eax
mov byte [0x18006e560], 0
add rbx, 4
cmp rbx, rdi
jne 0x180047be0
mov rdi, qword [rsp + 0x60]
mov rcx, qword [0x18006cfb8]
mov rbx, qword [rsp + 0x70]
mov rax, qword [rcx + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ed8]
cmp byte [rax + 0x9b], 0
jne 0x180047c4f
movss xmm1, dword [0x180062a3c]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], 0
call fcn.180016ee0
lea rax, str._.1f
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0x3f4ccccd
lea r8, [0x18006d0f8]
mov qword [rsp + 0x20], rax
mov edx, 8
mov dword [rsp + 0x40], 0
lea rcx, str.Velocity
call fcn.180036c10
call fcn.180010b50
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180055630
add rsp, 0x68
ret