Function at 0x14003f190
Capabilities:
Get graphical window text
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1600]
mov eax, 0x1700
call fcn.140044250
sub rsp, rax
movaps xmmword [rsp + 0x16f0], xmm6
movaps xmmword [rsp + 0x16e0], xmm7
movaps xmmword [rsp + 0x16d0], xmm8
movaps xmmword [rsp + 0x16c0], xmm9
movaps xmmword [rsp + 0x16b0], xmm10
movaps xmmword [rsp + 0x16a0], xmm11
movaps xmmword [rsp + 0x1690], xmm12
movaps xmmword [rsp + 0x1680], xmm13
movaps xmmword [rsp + 0x1670], xmm14
movaps xmmword [rsp + 0x1660], xmm15
mov rax, qword [0x140055040]
xor rax, rsp
mov qword [rbp + 0x1558], rax
mov r14d, r9d
mov rsi, rcx
xor r12d, r12d
mov qword [rbp + 0x1270], r12
mov edi, r12d
mov r13d, r12d
mov qword [rbp + 0x1278], r12
mov dword [rbp + 0x1410], 0x130
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
lea rdx, [rbp + 0x1410]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x14003f2da
lea r15, str.cs2.exe
nop
mov rcx, r12
lea rdx, [rbp + 0x143c]
nop word [rax + rax]
movzx eax, byte [r15 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14003f347
cmp rcx, 8
jne 0x14003f280
mov edi, dword [rbp + 0x1418]
mov dword [rbp + 0x1270], edi
mov ecx, edi
call fcn.140042d10
mov r13, rax
mov qword [rbp + 0x1278], rax
inc rax
test rax, 0xfffffffffffffffe
jne 0x14003f2da
mov r8d, edi
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r13, rax
mov qword [rbp + 0x1278], rax
test rbx, rbx
je 0x14003f2e8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbp - 0x20], 0x238
mov edx, edi
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
mov r15, r12
mov qword [rsp + 0x70], r12
lea rdx, [rbp - 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
je 0x14003f36d
nop dword [rax + rax]
lea rdx, [rbp + 0x10]
lea rcx, str.client.dll
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003f364
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x14003f320
jmp 0x14003f36d
lea rdx, [rbp + 0x1410]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x14003f270
jmp 0x14003f2da
mov r15, qword [rbp - 8]
mov qword [rsp + 0x70], r15
test rbx, rbx
je 0x14003f37b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x140057fb0], 0x50
mov dword [0x140057fb4], 3
lea rax, [0x14003dff0]
mov qword [0x140057fb8], rax
mov qword [0x140057fc8], rsi
lea rbx, str.cs2yinlei
mov qword [0x140057ff0], rbx
lea rcx, [0x140057fb0]
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov qword [rsp + 0x58], r12
mov rax, qword [0x140057fc8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov eax, dword [0x1400557cc]
mov dword [rsp + 0x38], eax
mov eax, dword [0x1400557c8]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
mov r9d, 0x80000000
mov r8, rbx
mov rdx, qword [0x140057ff0]
mov ecx, 0x80028
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x140058000], rax
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1280], xmm0
lea rdx, [rbp + 0x1280]
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_GetClientRect]
xorps xmm0, xmm0
movups xmmword [rbp + 0x12a8], xmm0
lea rdx, [rbp + 0x12a8]
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov qword [rbp - 0x28], r12
lea rdx, [rbp - 0x28]
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x1290], eax
mov eax, dword [rbp - 0x24]
mov dword [rbp + 0x1294], eax
mov eax, dword [rbp + 0x1288]
mov dword [rbp + 0x1298], eax
mov eax, dword [rbp + 0x128c]
mov dword [rbp + 0x129c], eax
lea rdx, [rbp + 0x1290]
mov rcx, qword [0x140058000]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov edx, r14d
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_UpdateWindow]
nop
xor r14d, r14d
mov qword [0x140057f40], r14
mov qword [0x140057f54], r14
mov qword [0x140057f5c], 1
mov qword [0x140057f68], 2
mov qword [0x140057f80], 2
mov dword [0x140057f48], 0x3c
mov dword [0x140057f4c], 1
mov dword [0x140057f50], 0x1c
mov dword [0x140057f64], 0x20
mov rax, qword [0x140058000]
mov qword [0x140057f70], rax
mov qword [0x140057f78], 1
mov dword [rbp + 0x1540], 0xb000
mov dword [rbp + 0x1544], 0xa000
lea rax, [0x140057fa0]
mov qword [rsp + 0x58], rax
lea rax, [0x140057f9c]
mov qword [rsp + 0x50], rax
lea rax, [0x140057fa8]
mov qword [rsp + 0x48], rax
lea rax, [0x140057f90]
mov qword [rsp + 0x40], rax
lea rax, [0x140057f40]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
lea rax, [rbp + 0x1540]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r14 + 1]
xor ecx, ecx
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
mov qword [rbp - 0x28], r14
mov rcx, qword [0x140057f90]
mov rax, qword [rcx]
lea r9, [rbp - 0x28]
lea r8, [0x14004d050]
xor edx, edx
call qword [rax + 0x48]
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x14003f615
mov rcx, qword [0x140057fa8]
mov rax, qword [rcx]
lea r9, [0x140057f30]
xor r8d, r8d
call qword [rax + 0x48]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
call fcn.14003e070
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1250], xmm0
mov qword [rbp + 0x1260], r14
movzx eax, byte [0x1400550d4]
test al, al
je 0x1400409ee
movzx ebx, byte [rbp + 0x1230]
xorps xmm8, xmm8
mov rcx, qword [rbp + 0x1250]
mov rdx, qword [rbp + 0x1258]
cmp rcx, rdx
je 0x14003f66c
call fcn.140040ef0
mov rax, qword [rbp + 0x1250]
mov qword [rbp + 0x1258], rax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14003f689
cmp byte [0x1400550d3], 0
sete byte [0x1400550d3]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x12d0]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x14003f6fb
nop word [rax + rax]
lea rcx, [rbp + 0x12d0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x12d0]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rbp + 0x12d8], 0x12
jne 0x14003f6da
mov byte [0x1400550d4], 0
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x12d0]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x14003f6b0
mov rax, qword [0x140055798]
test rax, rax
je 0x14003f710
mov rcx, qword [rax + 0x98]
jmp 0x14003f713
mov rcx, r14
cmp qword [rcx + 0x48], 0
jne 0x14003f71f
call fcn.14002e980
call fcn.14002fbc0
call fcn.140008600
nop
call fcn.14003e600
lea rdx, [r15 + 0x1729348]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp - 0x28]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r12, qword [rbp - 0x28]
lea rdx, [r12 + 0x127c]
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rsp + 0x60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r12 + 0xc58]
mov qword [rbp - 0x7c], 0
mov dword [rbp - 0x74], 0
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rbp - 0x7c]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r12 + 0x3cb]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x12a4]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x12c0]
lea rdx, [r12 + 0x14b8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r12 + 0x3d4]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x12a0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r12 + 0x15a4]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x1380]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r15 + 0x19154c0]
mov qword [rsp + 0x20], r14
mov r9d, 0x40
lea r8, [rbp + 0x13d0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r15 + 0x18b3fa8]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x13b8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rsi, qword [rbp + 0x13b8]
mov qword [rbp + 0x1540], rsi
cmp byte [0x1400550d2], 0
je 0x14003f8d5
movss xmm0, dword [rbp + 0x12c0]
comiss xmm0, xmm8
jbe 0x14003f8d5
mov dword [rbp + 0x1238], 0
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x1238]
lea rdx, [r12 + 0x14b8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x140057f89], 0
je 0x14003f94e
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14003f94e
mov eax, dword [rbp + 0x12a0]
add eax, 0xfffeff7f
test eax, 0xfffffffd
je 0x14003f90b
mov dword [rbp + 0x1238], 0x100
jmp 0x14003f92c
mov qword [rbp + 0x1240], 1
lea rcx, [rbp + 0x1240]
call fcn.140040bc0
mov dword [rbp + 0x1238], 0x10001
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x1238]
lea rdx, [r15 + 0x17226e0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov eax, 1
mov dword [rbp + 0x1238], eax
movss xmm9, dword [rsp + 0x68]
movss xmm10, dword [rsp + 0x64]
movss xmm11, dword [rsp + 0x60]
nop
and eax, 0x7fff
shl eax, 3
sar eax, 9
mov edx, eax
add rdx, 0x10
add rdx, rsi
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x13b0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [rbp + 0x13b0]
test rcx, rcx
je 0x140040462
mov eax, dword [rbp + 0x1238]
and eax, 0x1ff
imul edx, eax, 0x78
add rdx, rcx
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x13c0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r14, qword [rbp + 0x13c0]
test r14, r14
je 0x14004045f
lea rdx, [r14 + 0x3cb]
xor r15d, r15d
mov qword [rsp + 0x20], r15
lea r9d, [r15 + 4]
lea r8, [rbp + 0x1268]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea r8, [r14 + 0x638]
lea rdx, [rbp + 0x12d0]
lea rcx, [rbp + 0x1270]
call fcn.140040cf0
mov eax, dword [rbp + 0x12a4]
cmp dword [rbp + 0x1268], eax
jne 0x14003fa83
mov rdx, qword [rbp + 0x12e8]
cmp rdx, 0xf
jbe 0x14003fa77
inc rdx
mov rcx, qword [rbp + 0x12d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fa72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
call fcn.14004356c
mov r13, qword [rbp + 0x1278]
jmp 0x14004045f
lea rdx, [r14 + 0x7e4]
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x12b8]
mov r13, qword [rbp + 0x1278]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, dword [rbp + 0x12b8]
mov edx, edi
shr edx, 9
and edx, 0x3f
shl edx, 3
add rdx, 0x10
add rdx, rsi
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1388]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [rbp + 0x1388]
test rcx, rcx
jne 0x14003fb35
mov rdx, qword [rbp + 0x12e8]
cmp rdx, 0xf
jbe 0x14004045f
inc rdx
mov rcx, qword [rbp + 0x12d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fb2b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
call fcn.14004356c
jmp 0x14004045f
and edi, 0x1ff
imul edx, edi, 0x78
add rdx, rcx
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1390]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rsi, qword [rbp + 0x1390]
test rsi, rsi
je 0x140040417
cmp rsi, r12
je 0x140040417
lea rdx, [rsi + 0x334]
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x124c]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rsi + 0x338]
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x12bc]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp + 0x124c]
dec eax
cmp eax, 0x63
ja 0x140040417
cmp dword [rbp + 0x12bc], 0x100
jne 0x140040417
cmp byte [0x140058008], r15b
je 0x14003fc2e
mov qword [rsp + 0x20], r15
mov r9d, 1
lea r8, [rbp + 0x1248]
lea rdx, [r14 + 0x16a0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov byte [rbp + 0x1230], 1
mov qword [rsp + 0x20], r15
mov r9d, 1
lea r8, [rbp + 0x1230]
lea rdx, [r14 + 0x16a0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x1400550d5], r15b
je 0x14003fc63
mov dword [rbp + 0x1240], 0x47a8c000
lea rdx, [rsi + 0x1440]
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x1240]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1300], xmm0
mov qword [rbp + 0x1310], r15
mov qword [rbp + 0x1318], 0xf
mov byte [rbp + 0x1300], r15b
mov qword [rbp + 0x1348], r15
movaps xmmword [rbp + 0x1350], xmm0
xorps xmm1, xmm1
movaps xmmword [rbp + 0x1360], xmm1
mov qword [rbp + 0x1370], r15
lea r9, [rbp + 0x12d0]
mov r12, qword [rbp + 0x12d0]
mov r15, qword [rbp + 0x12e8]
cmp r15, 0xf
cmova r9, r12
mov rdi, qword [rbp + 0x12e0]
lea rcx, [rbp + 0x1300]
cmp rdi, 0xf
ja 0x14003fcf2
mov qword [rbp + 0x1310], rdi
mov r8, rdi
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rdi + 0x1300], 0
jmp 0x14003fd08
mov rdx, rdi
call fcn.140040f80
mov r12, qword [rbp + 0x12d0]
mov r15, qword [rbp + 0x12e8]
mov qword [rbp + 0x1320], rsi
mov qword [rbp + 0x1328], r14
mov edi, dword [rbp + 0x124c]
mov dword [rbp + 0x1330], edi
mov dword [rbp + 0x1340], 0x100
mov eax, dword [rbp + 0x1268]
mov dword [rbp + 0x1334], eax
mov qword [rsp + 0x78], 0
mov dword [rbp - 0x80], 0
lea rdx, [rsi + 0x127c]
xor r14d, r14d
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rsp + 0x78]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm8, dword [rsp + 0x78]
movss dword [rbp + 0x1354], xmm8
movss xmm6, dword [rsp + 0x7c]
movss dword [rbp + 0x1358], xmm6
movss xmm7, dword [rbp - 0x80]
movss dword [rbp + 0x135c], xmm7
mov qword [rbp - 0x58], r14
mov dword [rbp - 0x50], r14d
lea rdx, [rsi + 0xc58]
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rbp - 0x58]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp - 0x58]
movsd qword [rbp + 0x1360], xmm0
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0x1368], eax
subss xmm7, xmm9
subss xmm6, xmm10
subss xmm8, xmm11
mulss xmm8, xmm8
mulss xmm6, xmm6
addss xmm8, xmm6
mulss xmm7, xmm7
addss xmm8, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm8
ja 0x14003fe08
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14003fe11
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss dword [rbp + 0x1378], xmm0
lea rdx, [rsi + 0x318]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x1398]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp + 0x1398]
add rdx, 0x1e0
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x13a0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov qword [rbp - 0x70], r14
mov dword [rbp - 0x68], r14d
mov rdx, qword [rbp + 0x13a0]
add rdx, 0xc0
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rbp - 0x70]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x70]
movss dword [rbp + 0x1348], xmm0
movss xmm1, dword [rbp - 0x6c]
movss dword [rbp + 0x134c], xmm1
movss xmm0, dword [rbp - 0x68]
movss dword [rbp + 0x1350], xmm0
mov rax, qword [rbp + 0x1258]
cmp rax, qword [rbp + 0x1260]
je 0x14003fee2
lea rdx, [rbp + 0x1300]
mov rcx, rax
call fcn.1400420a0
sub qword [rbp + 0x1258], 0xffffffffffffff80
jmp 0x14003fef8
lea r8, [rbp + 0x1300]
mov rdx, rax
lea rcx, [rbp + 0x1250]
call fcn.140041530
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, 0x100
lea rdx, [rbp + 0x220]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextA]
lea rdx, [0x14004d190]
lea rcx, [rbp + 0x220]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x14003ffd7
lea rdx, str.Counter
lea rcx, [rbp + 0x220]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x14003ffd7
mov rdx, qword [rbp + 0x1318]
cmp rdx, 0xf
jbe 0x14003ff8f
inc rdx
mov rcx, qword [rbp + 0x1300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ff8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
call fcn.14004356c
cmp r15, 0xf
jbe 0x14003ffc7
lea rdx, [r15 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14003ffbf
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
mov rcx, r12
call fcn.14004356c
mov rsi, qword [rbp + 0x1540]
mov r12, qword [rbp - 0x28]
jmp 0x140040462
movss xmm5, dword [rbp + 0x13e4]
movaps xmm4, xmm5
mulss xmm4, dword [rbp + 0x1358]
movss xmm11, dword [rbp + 0x13e0]
movaps xmm0, xmm11
movss xmm10, dword [rbp + 0x1354]
mulss xmm0, xmm10
addss xmm4, xmm0
movss xmm12, dword [rbp + 0x13e8]
movaps xmm1, xmm12
mulss xmm1, dword [rbp + 0x135c]
addss xmm4, xmm1
movss xmm15, dword [rbp + 0x13ec]
addss xmm4, xmm15
movss xmm7, dword [rbp + 0x1404]
movaps xmm6, xmm7
mulss xmm6, dword [rbp + 0x1358]
movss xmm13, dword [rbp + 0x1400]
movaps xmm0, xmm13
mulss xmm0, xmm10
addss xmm6, xmm0
movss xmm14, dword [rbp + 0x1408]
movaps xmm1, xmm14
mulss xmm1, dword [rbp + 0x135c]
addss xmm6, xmm1
addss xmm6, dword [rbp + 0x140c]
movss xmm0, dword [0x14004d1b8]
comiss xmm0, xmm6
ja 0x14004037d
movss xmm0, dword [0x14004d238]
divss xmm0, xmm6
mov ecx, dword [0x1400557cc]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
xorps xmm9, xmm9
cvtsi2ss xmm9, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movss dword [rbp + 0x1240], xmm1
mulss xmm4, xmm0
mulss xmm4, dword [0x14004d204]
mulss xmm4, xmm1
addss xmm4, dword [0x14004d204]
movaps xmm8, xmm9
subss xmm8, xmm4
movss xmm6, dword [rbp + 0x13d4]
movss xmm4, dword [rbp + 0x134c]
mulss xmm6, xmm4
movss xmm0, dword [rbp + 0x13d0]
movss xmm3, dword [rbp + 0x1348]
mulss xmm0, xmm3
addss xmm6, xmm0
movss xmm1, dword [rbp + 0x13d8]
movss xmm2, dword [rbp + 0x1350]
mulss xmm1, xmm2
addss xmm6, xmm1
addss xmm6, dword [rbp + 0x13dc]
mulss xmm5, xmm4
mulss xmm11, xmm3
addss xmm5, xmm11
mulss xmm12, xmm2
addss xmm5, xmm12
addss xmm5, xmm15
mulss xmm7, xmm4
mulss xmm13, xmm3
addss xmm7, xmm13
mulss xmm14, xmm2
addss xmm7, xmm14
addss xmm7, dword [rbp + 0x140c]
movss xmm0, dword [0x14004d1b8]
comiss xmm0, xmm7
ja 0x140040376
movss xmm13, dword [0x14004d238]
movaps xmm1, xmm13
divss xmm1, xmm7
mulss xmm6, xmm1
movss xmm11, dword [0x14004d204]
mulss xmm6, xmm11
mov eax, dword [0x1400557c8]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm6, xmm0
addss xmm6, xmm11
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm6, xmm0
mulss xmm5, xmm1
mulss xmm5, xmm11
mulss xmm5, dword [rbp + 0x1240]
addss xmm5, xmm11
subss xmm9, xmm5
xorps xmm12, xmm12
ucomiss xmm10, xmm12
jp 0x1400401eb
je 0x140040376
subss xmm8, xmm9
movaps xmm0, xmm8
divss xmm0, dword [0x14004d268]
movaps xmm7, xmm0
mulss xmm7, xmm11
cmp byte [0x1400550d1], r14b
je 0x1400402ae
cvttss2si r14d, xmm8
cvttss2si edi, xmm0
cvttss2si r15d, xmm9
movaps xmm0, xmm6
subss xmm0, xmm7
cvttss2si esi, xmm0
mov rax, qword [0x140055798]
mov rax, qword [rax + 0x4b00]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007cb0
lea ecx, [rdi + rsi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x4c], xmm0
lea ecx, [r15 + r14]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x48], xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x44], xmm0
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x40], xmm1
movss dword [rsp + 0x30], xmm13
movss dword [rsp + 0x20], xmm12
mov r9d, 0xff0000ff
lea r8, [rbp - 0x4c]
lea rdx, [rbp - 0x44]
mov rcx, rax
call fcn.140027ed0
mov edi, dword [rbp + 0x124c]
xor r14d, r14d
cmp byte [0x1400550d0], 0
je 0x140040376
mov eax, 0x64
sub eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
divss xmm0, dword [0x14004d2c4]
subss xmm8, xmm0
cvttss2si esi, xmm8
addss xmm0, xmm9
cvttss2si r14d, xmm0
addss xmm7, dword [0x14004d2a8]
subss xmm6, xmm7
cvttss2si edi, xmm6
mov rax, qword [0x140055798]
mov rax, qword [rax + 0x4b00]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007cb0
lea ecx, [rdi + 2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x3c], xmm0
lea ecx, [r14 + rsi]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x38], xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x34], xmm0
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x30], xmm1
xor r14d, r14d
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
mov r9d, 0xff00ff00
lea r8, [rbp - 0x3c]
lea rdx, [rbp - 0x34]
mov rcx, rax
call fcn.140027fe0
movss xmm9, dword [rsp + 0x68]
mov rdx, qword [rbp + 0x1318]
cmp rdx, 0xf
jbe 0x1400403be
inc rdx
mov rcx, qword [rbp + 0x1300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400403b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
call fcn.14004356c
mov rdx, qword [rbp + 0x12e8]
cmp rdx, 0xf
jbe 0x1400403fc
inc rdx
mov rax, r12
cmp rdx, 0x1000
jb 0x1400403f4
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
mov rcx, r12
call fcn.14004356c
movss xmm10, dword [rsp + 0x64]
movss xmm11, dword [rsp + 0x60]
mov rsi, qword [rbp + 0x1540]
mov r12, qword [rbp - 0x28]
jmp 0x140040462
mov rdx, qword [rbp + 0x12e8]
cmp rdx, 0xf
jbe 0x140040458
inc rdx
mov rcx, qword [rbp + 0x12d0]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140040453
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ace
call fcn.14004356c
mov rsi, qword [rbp + 0x1540]
xor r14d, r14d
mov eax, dword [rbp + 0x1238]
inc eax
mov dword [rbp + 0x1238], eax
cmp eax, 0x40
jl 0x14003f970
cmp byte [0x140057f98], 0
je 0x140040737
mov rax, qword [rbp + 0x1258]
sub rax, qword [rbp + 0x1250]
sar rax, 7
test rax, rax
je 0x140040737
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140040737
mov r14, qword [rbp + 0x1250]
mov r15, qword [rbp + 0x1258]
mov rsi, r15
sub rsi, r14
sar rsi, 7
cmp rsi, 0x20
jg 0x1400404e3
mov rdx, r15
mov rcx, r14
call fcn.140041120
jmp 0x1400405a5
mov rax, rsi
cqo
sub rax, rdx
sar rax, 1
mov rdi, rsi
sub rdi, rax
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
cmp rdi, rcx
cmovl rax, rdi
cmp rdi, 0x20
jbe 0x140040560
mov rdi, rax
movabs rcx, 0x1ffffffffffffff
cmp rax, rcx
ja 0x140040551
test rax, rax
jle 0x140040551
nop word [rax + rax]
mov rcx, rdi
shl rcx, 7
lea rdx, [0x140045660]
call fcn.1400437f0
test rax, rax
jne 0x140040654
shr rdi, 1
jne 0x140040530
xor eax, eax
mov rcx, rax
call fcn.140043804
mov edi, 0x20
lea rax, [rbp + 0x230]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], rdi
mov byte [rsp + 0x28], bl
mov qword [rsp + 0x20], rdi
mov r9, rax
mov r8, rsi
mov rdx, r15
mov rcx, r14
call fcn.140041430
cmp qword [rbp + 0x228], 0x20
jbe 0x1400405a5
mov rcx, qword [rbp + 0x220]
call fcn.140043804
movss xmm8, dword [rbp - 0x74]
addss xmm8, xmm9
movss xmm1, dword [rbp - 0x78]
addss xmm1, xmm10
mov rdi, qword [rbp + 0x1250]
movss xmm0, dword [rbp - 0x7c]
addss xmm0, xmm11
movss xmm6, dword [rdi + 0x48]
subss xmm6, xmm0
movss xmm7, dword [rdi + 0x4c]
subss xmm7, xmm1
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm11, qword [0x14004d288]
mulsd xmm1, xmm11
movsd xmm12, qword [0x14004d260]
divsd xmm1, xmm12
cvtpd2ps xmm10, xmm1
movss xmm9, dword [rdi + 0x50]
subss xmm9, xmm8
cvtps2pd xmm0, xmm6
movsd xmm1, qword [0x14004d258]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
cvtps2pd xmm0, xmm7
movsd xmm1, qword [0x14004d258]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x140040663
xorps xmm1, xmm1
sqrtsd xmm1, xmm0
jmp 0x14004066b
cmp rdi, 0x20
jbe 0x140040553
jmp 0x140040567
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm1, xmm0
cvtps2pd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
mulsd xmm0, xmm11
divsd xmm0, xmm12
xorps xmm0, xmmword [0x14004d3d0]
cvtsd2ss xmm0, xmm0
unpcklps xmm0, xmm10
movsd qword [rbp + 0x1290], xmm0
xorps xmm8, xmm8
movss dword [rbp + 0x1298], xmm8
mov r15, qword [rsp + 0x70]
lea rdx, [r15 + 0x19233e0]
xor r14d, r14d
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rbp + 0x1290]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov dword [rbp + 0x1240], 0x10001
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x1240]
lea rdx, [r15 + 0x17221d0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov qword [rbp + 0x1540], 1
lea rcx, [rbp + 0x1540]
call fcn.140040bc0
mov dword [rbp + 0x1240], 0x100
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x1240]
lea rdx, [r15 + 0x17221d0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
jmp 0x140040740
xorps xmm8, xmm8
mov r15, qword [rsp + 0x70]
cmp byte [0x140057f88], 0
je 0x14004093c
lea rdx, [r12 + 0x147c]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x12c4]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r15 + 0x1911d08]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp + 0x13a8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp + 0x13a8]
add rdx, 0x40
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp + 0x12c8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r12 + 0x17a0]
mov qword [rbp + 0x1280], r14
mov qword [rbp + 0x1288], r14
mov qword [rsp + 0x20], r14
mov r9d, 0x10
lea r8, [rbp + 0x1280]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp + 0x1288]
test rdx, rdx
je 0x1400409df
mov rcx, qword [rbp + 0x1280]
lea rax, [rcx - 1]
cmp rax, 0xfffd
ja 0x1400409df
dec rcx
lea rax, [rcx + rcx*2]
lea rdx, [rdx + rax*4]
mov qword [rbp - 0x64], 0
mov dword [rbp - 0x5c], 0
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rbp - 0x64]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp dword [rbp + 0x12c4], 1
jle 0x140040927
mov qword [rbp + 0x12a8], 0
mov dword [rbp + 0x12b0], 0
lea rdx, [r15 + 0x19233e0]
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rbp + 0x12a8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm7, dword [rbp - 0x60]
addss xmm7, xmm7
movss xmm6, dword [rbp - 0x64]
addss xmm6, xmm6
movss xmm0, dword [0x14005801c]
subss xmm0, xmm7
movss xmm3, dword [rbp + 0x12ac]
addss xmm0, xmm3
subss xmm3, xmm0
movss xmm2, dword [rbp + 0x12c8]
mulss xmm2, dword [0x14004d1bc]
movss xmm0, dword [0x140058018]
subss xmm0, xmm6
movss xmm1, dword [rbp + 0x12a8]
addss xmm0, xmm1
subss xmm1, xmm0
divss xmm1, xmm2
cvttss2si edx, xmm1
divss xmm3, xmm2
cvttss2si r8d, xmm3
neg r8d
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
movss xmm1, dword [rbp - 0x5c]
addss xmm1, xmm1
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [0x140058018], xmm0
movss dword [0x140058020], xmm1
jmp 0x14004093c
mov qword [0x14005801c], 0
mov dword [0x140058018], 0
call fcn.14000a2e0
call fcn.14000a700
xorps xmm0, xmm0
movups xmmword [rbp + 0x1548], xmm0
mov rcx, qword [0x140057fa0]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [0x140057f30]
lea edx, [r9 + 1]
call qword [rax + 0x108]
mov rcx, qword [0x140057fa0]
mov rax, qword [rcx]
lea r8, [rbp + 0x1548]
mov rdx, qword [0x140057f30]
call qword [rax + 0x190]
mov rax, qword [0x140055798]
mov rax, qword [rax + 0x4b00]
mov rcx, qword [rax]
add rcx, 0x48
mov rax, r14
cmp byte [rcx], 0
cmovne rax, rcx
mov rcx, rax
call fcn.14002df20
mov rcx, qword [0x140057f90]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 1]
call qword [rax + 0x40]
nop
mov qword [rbp + 0x1540], 4
lea rcx, [rbp + 0x1540]
call fcn.140040bc0
movzx eax, byte [0x1400550d4]
test al, al
jne 0x14003f646
call fcn.14003e3c0
nop
mov rcx, qword [0x140057f30]
test rcx, rcx
je 0x140040a0d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140057f30], r14
mov rcx, qword [0x140057f90]
test rcx, rcx
je 0x140040a26
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140057f90], r14
mov rcx, qword [0x140057fa0]
test rcx, rcx
je 0x140040a3f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140057fa0], r14
mov rcx, qword [0x140057fa8]
test rcx, rcx
je 0x140040a58
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140057fa8], r14
mov rcx, qword [0x140058000]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x140057fc8]
mov rcx, qword [0x140057ff0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov rcx, qword [rbp + 0x1250]
test rcx, rcx
je 0x140040aec
mov rdx, qword [rbp + 0x1258]
call fcn.140040ef0
mov rdx, qword [rbp + 0x1260]
mov rcx, qword [rbp + 0x1250]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040ad5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040ad5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004356c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1250], xmm0
mov qword [rbp + 0x1260], r14
test r13, r13
je 0x140040afa
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1400557b0]
test rcx, rcx
je 0x140040b0c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rbp + 0x1558]
xor rcx, rsp
call fcn.1400433d0
lea r11, [rsp + 0x1700]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret