Function at 0x1402ca2ac
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbx, rdx
mov rbp, rcx
xor r12d, r12d
mov dword [rax + 0x18], r12d
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbx], rax
lea r13d, [r12 + 1]
mov dword [rsp + 0x80], r13d
mov edx, 0x460
mov rcx, qword [rbp + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov esi, eax
test eax, eax
jns 0x1402ca326
mov ecx, 0x80070057
call fcn.14000cbb8
int3
mov rax, qword [rbx]
mov ecx, r13d
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, esi
or eax, ecx
jge 0x1402ca342
mov edx, esi
mov rcx, rbx
call fcn.14000c998
mov rdi, qword [rbx]
mov edx, 0x460
mov rcx, qword [rbp + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r8d, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1402ca371
mov eax, r12d
jmp 0x1402ca382
movsxd rdx, dword [rcx - 0xc]
call fcn.1400beaac
test eax, eax
js 0x1402ca4fa
mov rcx, qword [rbx]
cmp eax, dword [rcx - 0xc]
jg 0x1402ca4fa
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbx]
mov word [rax + rcx*2], r12w
or ebp, 0xffffffff
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], r12d
jl 0x1402ca3db
lea rdx, [0x140358538]
call fcn.1400bee84
test rax, rax
je 0x1402ca3db
sub rax, qword [rbx]
sar rax, 1
cmp eax, ebp
je 0x1402ca3db
lea r8, [0x140352420]
lea rdx, [0x140358538]
mov rcx, rbx
call fcn.14000b658
jmp 0x1402ca39f
mov r8d, r13d
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.140024c5c
mov rsi, rax
xor eax, eax
lea rdi, [0x140352420]
mov rsi, qword [rsi]
lea ecx, [rax + 2]
repe cmpsw word [rsi], word [rdi]
je 0x1402ca409
sbb eax, eax
sbb eax, ebp
test eax, eax
sete dil
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x1402ca431
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
je 0x1402ca485
mov rax, qword [rbx]
mov r9d, dword [rax - 0x10]
dec r9d
mov r8d, r13d
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.14000c3d8
nop
mov rdx, rax
mov rcx, rbx
call fcn.14000c244
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x1402ca3db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1402ca3db
mov rcx, qword [rbx]
mov r9d, dword [rcx - 0x10]
test r9d, r9d
je 0x1402ca4f5
lea eax, [r9 - 1]
test eax, eax
js 0x1402ca4ea
cmp eax, r9d
jg 0x1402ca4ea
cdqe
cmp word [rcx + rax*2], 0x5c
jne 0x1402ca4f5
dec r9d
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.14000c3d8
nop
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.14000c244
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x1402ca4f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1402ca4f5
mov ecx, 0x80070057
call fcn.14000cbb8
int3
mov rax, rbx
jmp 0x1402ca505
mov ecx, 0x80070057
call fcn.14000cbb8
nop
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret