Function at 0x1401aa8a0
Capabilities:
Check os version
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x170
mov rbx, qword [rcx + 8]
mov r15, r8
mov r12, r9
mov rbp, rdx
mov r13, rcx
mov rax, qword [rbx]
mov r8, rax
cmp rax, rbx
je 0x1401aa995
nop
mov rsi, qword [r8 + 0x10]
cmp qword [rsi], rbp
je 0x1401aa8f6
mov r8, qword [r8]
cmp r8, rbx
jne 0x1401aa8e0
jmp 0x1401aa995
test rsi, rsi
je 0x1401aa995
mov rcx, rbx
cmp rax, rbx
je 0x1401aa95d
nop word [rax + rax]
lea rcx, [rax + 0x10]
mov rdi, qword [rax]
cmp qword [rcx], rsi
jne 0x1401aa951
lea rdx, [rsp + 0x1a0]
cmp rcx, rdx
jne 0x1401aa92e
mov rbx, rax
jmp 0x1401aa951
mov rcx, qword [rax + 8]
mov qword [rcx], rdi
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
dec qword [r13 + 0x10]
mov rcx, rax
call fcn.140247060
mov rcx, qword [r13 + 8]
mov rax, rdi
cmp rax, rcx
jne 0x1401aa910
cmp rbx, rcx
je 0x1401aa988
mov r8, qword [rbx + 8]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rax, qword [rbx]
mov rcx, rbx
mov qword [r8], rax
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [r8 + 8], rax
dec qword [r13 + 0x10]
call fcn.140247060
mov edx, 1
mov rcx, rsi
call fcn.1401aa730
mov ecx, 0x98
call fcn.14018ef40
xor edi, edi
mov qword [rsp + 0x1a0], rax
mov rbx, rax
test rax, rax
je 0x1401aaa27
mov qword [rax + 0x78], rdi
mov qword [rax + 0x70], rdi
mov qword [rax + 0x68], rdi
mov qword [rax + 0x60], rdi
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x30], rdi
mov dword [rax + 0x10], edi
mov qword [rax + 0x38], rdi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x48], rdi
mov qword [rax + 0x50], rdi
mov dword [rax + 0x40], edi
mov dword [rax + 0x28], edi
mov dword [rax + 0x58], edi
mov dword [rax + 0x88], SafeArrayUnaccessData
mov dword [rax + 0x80], 6
mov dword [rax + 0x84], SafeArrayUnaccessData
mov dword [rax + 0x8c], SafeArrayUnaccessData
mov dword [rax + 0x90], 0xffffffff
mov dword [rax + 0x44], 0x100
jmp 0x1401aaa2a
mov rbx, rdi
cmp dword [rsp + 0x1d8], 0
mov qword [rsp + 0x1a0], rbx
je 0x1401aaa40
or dword [rbx + 8], 4
cmp dword [rsp + 0x1c0], 0
mov qword [rbx + 0x48], rdi
mov qword [rbx + 0x70], rdi
je 0x1401aaa56
or dword [rbx + 8], 1
mov eax, dword [rsp + 0x1c8]
mov dword [rbx + 0xc], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rbx + 0x10], eax
mov qword [rbx], rbp
test r15, r15
je 0x1401aaaee
cmp dword [rsp + 0x1e0], 0
jne 0x1401aaa88
mov rcx, r15
call qword [sym.imp.USER32.dll_CopyIcon]
mov r15, rax
mov qword [rbx + 0x48], r15
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x48]
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x1401aaae0
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x30]
mov edx, 0x20
call qword [sym.imp.GDI32.dll_GetObjectA]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [rsp + 0x34]
mov dword [rbx + 0x50], eax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x54], eax
xor edx, edx
lea rcx, [rsp + 0x74]
mov r8d, 0x98
call fcn.140249b10
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [rsp + 0x74], 5
jne 0x1401aab52
cmp dword [rsp + 0x78], 0
jne 0x1401aab52
mov edx, 0xfffffff0
mov rcx, rbp
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, eax
mov edx, 0xfffffff0
and ecx, 0xf
and eax, 0xfffffffb
mov dword [rbx + 0x58], ecx
or eax, 0xb
or dword [rbx + 8], 2
mov r8d, eax
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetWindowLongA]
test r12, r12
je 0x1401aabaa
lea r8, [rsp + 0x110]
mov edx, 0x5c
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetObjectW]
lea rcx, [rsp + 0x110]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov qword [rbx + 0x60], rax
lea edx, [r9 + 0x31]
call qword [sym.imp.USER32.dll_SendMessageA]
xor r9d, r9d
mov qword [rbx + 0x70], rax
mov r8, qword [rbx + 0x60]
mov rcx, rbp
lea edx, [r9 + 0x30]
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, rbp
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [rax + 1]
mov eax, 2
mov ecx, ebx
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140247068
mov r8d, ebx
mov rdx, rax
mov rcx, rbp
mov rsi, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rdx, [0x1402860c8]
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetWindowTextA]
mov rbx, qword [r13 + 8]
lea r9, [rsp + 0x1a0]
mov rdx, rbx
lea rcx, [r13 + 8]
mov r15, qword [rbx + 8]
mov r8, r15
call fcn.140009370
mov rdx, rax
movabs rcx, 0xaaaaaaaaaaaaaa9
mov rax, qword [r13 + 0x10]
sub rcx, rax
cmp rcx, 1
jb 0x1401aac75
inc rax
mov dword [rsp + 0x20], edi
mov qword [r13 + 0x10], rax
mov r9d, 1
mov qword [rbx + 8], rdx
mov r8, rsi
mov qword [r15], rdx
mov rcx, r13
mov rdx, rbp
call fcn.1401b4f70
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.list_T__too_long
call fcn.1402453d0
int3