Function at 0x140053d20
Capabilities:
Check for foreground window switch
Get graphical window text
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x1400a7010]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor r12d, r12d
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, 0x200
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextA]
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
mov rbx, 0xffffffffffffffff
movups xmmword [rsp + 0x30], xmm0
mov r8, rbx
movdqu xmmword [rsp + 0x40], xmm1
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x140053d90
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x2a0], r14
lea rcx, [rsp + 0x30]
call fcn.1400025b0
mov rsi, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
cmp rsi, 0x10
mov r8, qword [rsp + 0x40]
cmovae rcx, rdi
cmp r8, 4
jne 0x140053de7
lea rdx, str.Rust
call fcn.1400591b0
test eax, eax
jne 0x140053de7
mov r14b, 1
jmp 0x140053dea
xor r14b, r14b
mov qword [rsp + 0x2a8], r15
cmp rsi, 0x10
jb 0x140053e29
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140053e21
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054c57
mov rcx, rdi
call fcn.140056420
test r14b, r14b
je 0x140053feb
cmp byte [0x1400c43a8], r12b
je 0x140053feb
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, 0x200
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextA]
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
mov r8, rbx
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [rsp + 0x40], xmm1
inc r8
cmp byte [rax + r8], r12b
jne 0x140053e72
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400025b0
mov rsi, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
cmp rsi, 0x10
mov r8, qword [rsp + 0x40]
cmovae rcx, rdi
cmp r8, 4
jne 0x140053ec1
lea rdx, str.Rust
call fcn.1400591b0
test eax, eax
jne 0x140053ec1
mov r14b, 1
jmp 0x140053ec4
xor r14b, r14b
cmp rsi, 0x10
jb 0x140053efb
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140053ef3
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054c57
mov rcx, rdi
call fcn.140056420
test r14b, r14b
je 0x140053feb
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
mov dl, 0xb8
mov cl, 0x57
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov dl, 0xb8
mov cl, 0x57
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
mov dl, 0xb8
mov cl, 0x41
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov dl, 0xb8
mov cl, 0x41
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
mov dl, 0xb8
mov cl, 0x53
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov dl, 0xb8
mov cl, 0x53
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
mov dl, 0xb8
mov cl, 0x44
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov dl, 0xb8
mov cl, 0x44
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43cc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054009
cmp byte [0x1400c43aa], r12b
sete byte [0x1400c43aa]
mov ecx, dword [0x1400c43ac]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054027
cmp byte [0x1400a7d30], r12b
sete byte [0x1400a7d30]
cmp byte [0x1400c4385], 1
lea rdi, [0x140098384]
mov qword [0x1400a7d38], rdi
lea r15, [0x14008a1a8]
jne 0x14005423a
mov rax, qword [0x1400c4360]
lea rdx, [0x1400c4385]
mov r8d, 0x16b
movaps xmmword [rsp + 0x270], xmm6
lea rcx, str.rainycheats___Info
or dword [rax + 0x1c80], 2
mov dword [rax + 0x1ca4], 0x43070000
mov dword [rax + 0x1ca8], 0x42c80000
mov dword [rax + 0x1c88], 1
call fcn.14000f210
cmp qword [0x1400a7d38], rdi
lea rcx, str.Enabled:
jne 0x1400540cc
call fcn.14003fec0
movss xmm6, dword [0x140098654]
movss xmm0, dword [0x1400985d0]
movaps xmm1, xmm6
call fcn.140014030
movaps xmm0, xmmword [0x1400987e0]
jmp 0x1400540f0
call fcn.14003fec0
movss xmm6, dword [0x140098654]
movss xmm0, dword [0x1400985d0]
movaps xmm1, xmm6
call fcn.140014030
movaps xmm0, xmmword [0x1400987f0]
mov rdx, qword [0x1400a7d38]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.14003ffc0
cmp qword [0x1400a7c18], r15
lea rcx, str.Weapon:
movaps xmmword [rsp + 0x260], xmm7
jne 0x14005413f
call fcn.14003fec0
movss xmm7, dword [0x1400985c8]
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm0, xmmword [0x1400987f0]
jmp 0x14005415e
call fcn.14003fec0
movss xmm7, dword [0x1400985c8]
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm0, xmmword [0x1400987e0]
mov rdx, qword [0x1400a7c18]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.14003ffc0
cmp qword [0x1400a7c10], r15
lea rcx, str.Scopes:
jne 0x1400541a2
call fcn.14003fec0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm0, xmmword [0x1400987f0]
movups xmmword [rsp + 0x30], xmm0
jmp 0x1400541be
call fcn.14003fec0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm2, xmmword [0x1400987e0]
movups xmmword [rsp + 0x30], xmm2
mov rdx, qword [0x1400a7c10]
lea rcx, [rsp + 0x30]
call fcn.14003ffc0
cmp qword [0x1400a7c20], r15
lea rcx, str.Barrel:
jne 0x1400541f8
call fcn.14003fec0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm0, xmmword [0x1400987f0]
jmp 0x14005420f
call fcn.14003fec0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.140014030
movaps xmm0, xmmword [0x1400987e0]
mov rdx, qword [0x1400a7c20]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.14003ffc0
call fcn.140012290
movaps xmm7, xmmword [rsp + 0x260]
movaps xmm6, xmmword [rsp + 0x270]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, 0x200
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextA]
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
mov r8, rbx
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [rsp + 0x40], xmm1
nop dword [rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x140054270
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400025b0
mov rsi, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
cmp rsi, 0x10
mov r8, qword [rsp + 0x40]
cmovae rcx, rdi
cmp r8, 4
jne 0x1400542bf
lea rdx, str.Rust
call fcn.1400591b0
test eax, eax
jne 0x1400542bf
mov r14b, 1
jmp 0x1400542c2
xor r14b, r14b
cmp rsi, 0x10
jb 0x1400542f9
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400542f1
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054c57
mov rcx, rdi
call fcn.140056420
test r14b, r14b
je 0x140054ab1
mov ecx, dword [0x1400c439c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400543ae
cmp byte [0x1400c436d], r12b
sete al
mov byte [0x1400c436d], al
cmp al, 1
jne 0x140054344
lea rax, [0x14008a1b0]
mov dword [0x1400c437c], 1
mov qword [0x1400a7c18], rax
jmp 0x140054379
test al, al
jne 0x1400543ae
mov byte [0x1400c436d], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov ecx, 0xc8
mov byte [0x1400c435b], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c435c], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c4390]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054461
cmp byte [0x1400c435b], r12b
sete al
mov byte [0x1400c435b], al
cmp al, 1
jne 0x1400543f0
lea rax, [0x14008a1b8]
mov dword [0x1400c437c], 2
mov qword [0x1400a7c18], rax
jmp 0x14005442c
test al, al
jne 0x140054461
mov byte [0x1400c435b], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c435c], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43d8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054514
cmp byte [0x1400c4378], r12b
sete al
mov byte [0x1400c4378], al
cmp al, 1
jne 0x1400544a3
lea rax, [0x1400983c8]
mov dword [0x1400c437c], 3
mov qword [0x1400a7c18], rax
jmp 0x1400544df
test al, al
jne 0x140054514
mov byte [0x1400c4378], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c435b], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c435c], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400545c7
cmp byte [0x1400c435e], r12b
sete al
mov byte [0x1400c435e], al
cmp al, 1
jne 0x140054556
lea rax, [0x1400983cc]
mov dword [0x1400c437c], 4
mov qword [0x1400a7c18], rax
jmp 0x140054592
test al, al
jne 0x1400545c7
mov byte [0x1400c435e], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c435b], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435c], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43a4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14005467a
cmp byte [0x1400c437a], r12b
sete al
mov byte [0x1400c437a], al
cmp al, 1
jne 0x140054609
lea rax, str.TOMMY
mov dword [0x1400c437c], 5
mov qword [0x1400a7c18], rax
jmp 0x140054645
test al, al
jne 0x14005467a
mov byte [0x1400c437a], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c435b], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c435c], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43e0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14005472d
cmp byte [0x1400c4379], r12b
sete al
mov byte [0x1400c4379], al
cmp al, 1
jne 0x1400546bc
lea rax, str.SEMI
mov dword [0x1400c437c], 6
mov qword [0x1400a7c18], rax
jmp 0x1400546f8
test al, al
jne 0x14005472d
mov byte [0x1400c4379], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c435b], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c435c], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400547e0
cmp byte [0x1400c435c], r12b
sete al
mov byte [0x1400c435c], al
cmp al, 1
jne 0x14005476f
lea rax, [0x14008a1e0]
mov dword [0x1400c437c], 7
mov qword [0x1400a7c18], rax
jmp 0x1400547ab
test al, al
jne 0x1400547e0
mov byte [0x1400c435c], r12b
mov byte [0x1400c4359], r12b
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov qword [0x1400a7c18], r15
mov ecx, 0xc8
mov byte [0x1400c436d], r12b
mov byte [0x1400c435b], r12b
mov byte [0x1400c4378], r12b
mov byte [0x1400c437a], r12b
mov byte [0x1400c435e], r12b
mov byte [0x1400c4379], r12b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c4398]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054850
cmp byte [0x1400c4359], r12b
sete al
mov byte [0x1400c4359], al
cmp al, 1
jne 0x140054833
lea rax, [0x14008a1f0]
mov byte [0x1400c436c], r12b
mov qword [0x1400a7c10], rax
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov dword [0x1400c4370], 3
jmp 0x140054845
test al, al
jne 0x140054850
mov qword [0x1400a7c10], r15
mov dword [0x1400c4370], r12d
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c4380]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400548c0
cmp byte [0x1400c436c], r12b
sete al
mov byte [0x1400c436c], al
cmp al, 1
jne 0x1400548a3
lea rax, [0x14008a1e8]
mov byte [0x1400c4359], r12b
mov qword [0x1400a7c10], rax
mov byte [0x1400c436f], r12b
mov byte [0x1400c437b], r12b
mov dword [0x1400c4370], 1
jmp 0x1400548b5
test al, al
jne 0x1400548c0
mov dword [0x1400c4370], r12d
mov qword [0x1400a7c10], r15
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c4388]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054930
cmp byte [0x1400c436f], r12b
sete al
mov byte [0x1400c436f], al
cmp al, 1
jne 0x140054913
lea rax, [0x14008a1f8]
mov byte [0x1400c4359], r12b
mov qword [0x1400a7c10], rax
mov byte [0x1400c436c], r12b
mov byte [0x1400c437b], r12b
mov dword [0x1400c4370], 4
jmp 0x140054925
test al, al
jne 0x140054930
mov qword [0x1400a7c10], r15
mov dword [0x1400c4370], r12d
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43b8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400549a0
cmp byte [0x1400c437b], r12b
sete al
mov byte [0x1400c437b], al
cmp al, 1
jne 0x140054983
lea rax, [0x14008a1ec]
mov byte [0x1400c4359], r12b
mov qword [0x1400a7c10], rax
mov byte [0x1400c436c], r12b
mov byte [0x1400c436f], r12b
mov dword [0x1400c4370], 2
jmp 0x140054995
test al, al
jne 0x1400549a0
mov qword [0x1400a7c10], r15
mov dword [0x1400c4370], r12d
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43d4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400549fb
cmp byte [0x1400c435a], r12b
sete al
mov byte [0x1400c435a], al
cmp al, 1
jne 0x1400549de
lea rax, str.SILENCER
mov dword [0x1400c4368], 1
mov qword [0x1400a7c20], rax
jmp 0x1400549f0
test al, al
jne 0x1400549fb
mov dword [0x1400c4368], r12d
mov qword [0x1400a7c20], r15
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43c8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054a56
cmp byte [0x1400c436e], r12b
sete al
mov byte [0x1400c436e], al
cmp al, 1
jne 0x140054a39
lea rax, str.BOOST
mov dword [0x1400c4368], 2
mov qword [0x1400a7c20], rax
jmp 0x140054a4b
test al, al
jne 0x140054a56
mov dword [0x1400c4368], r12d
mov qword [0x1400a7c20], r15
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x1400c43e4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054ab1
cmp byte [0x1400c435d], r12b
sete al
mov byte [0x1400c435d], al
cmp al, 1
jne 0x140054a94
lea rax, str.BREAK
mov dword [0x1400c4368], 3
mov qword [0x1400a7c20], rax
jmp 0x140054aa6
test al, al
jne 0x140054ab1
mov dword [0x1400c4368], r12d
mov qword [0x1400a7c20], r15
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, 0x200
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextA]
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [rsp + 0x40], xmm1
inc rbx
cmp byte [rax + rbx], r12b
jne 0x140054ae1
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400025b0
mov rdi, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
mov rbx, qword [rsp + 0x30]
cmp rdi, 0x10
mov r8, qword [rsp + 0x40]
cmovae rcx, rbx
cmp r8, 4
jne 0x140054b33
lea rdx, str.Rust
call fcn.1400591b0
test eax, eax
jne 0x140054b33
mov sil, 1
jmp 0x140054b36
xor sil, sil
cmp rdi, 0x10
jb 0x140054b6d
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140054b65
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054c57
mov rcx, rbx
call fcn.140056420
test sil, sil
je 0x140054bcc
cmp byte [0x1400c4386], 1
jne 0x140054bcc
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054bcc
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8d, dword [rsp + 0x34]
xor r9d, r9d
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x20], r12
lea ecx, [r9 + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov r8d, dword [rsp + 0x34]
xor r9d, r9d
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x20], r12
lea ecx, [r9 + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, dword [0x1400c43dc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054c20
mov ecx, 0xc8
mov byte [0x1400c435c], r12b
mov byte [0x1400c435a], r12b
mov dword [0x1400c437c], r12d
mov dword [0x1400c4370], r12d
mov dword [0x1400c4368], r12d
mov qword [0x1400a7c18], r15
mov qword [0x1400a7c10], r15
mov qword [0x1400a7c20], r15
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r15, qword [rsp + 0x2a8]
mov r14, qword [rsp + 0x2a0]
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140056090
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret
call fcn.14005d12c
int3