Function at 0x1400cba30
Capabilities:
Get graphical window text

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1d8
mov qword [rsp + 0x1c0], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
movsxd r15, dword [rdx + 8]
mov edx, 0x100000
lea rcx, [rsp + 0x60]
call fcn.140063580
nop
xor edi, edi
mov rax, qword [rsp + 0x60]
mov word [rax], di
xor edx, edx
lea r8d, [rdi + 0x44]
lea rcx, [rsp + 0x174]
call fcn.14010c6c0
mov dword [rsp + 0x170], 5
mov dword [rsp + 0x174], r15d
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x190], 0x100000
mov dword [rsp + 0x178], edi
lea r9, [rsp + 0x170]
xor r8d, r8d
mov edx, 0x104b
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r11d, r11d
mov dword [rsp + 0xbc], r11d
mov dword [rsp + 0xc0], r11d
mov dword [rsp + 0xc4], r11d
mov dword [rsp + 0xc8], r11d
mov dword [rsp + 0xcc], r11d
mov dword [rsp + 0xd0], r11d
mov dword [rsp + 0xd4], r11d
mov dword [rsp + 0xd8], r11d
mov dword [rsp + 0xdc], r11d
xor eax, eax
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0xf4], eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], eax
mov dword [rsp + 0xb8], 3
mov dword [rsp + 0xe0], 3
mov r13, qword [r14 + 0x20]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1037
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
and eax, 4
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x80], 0x80000000
mov dword [rsp + 0x84], 0x80000000
lea r8, [rsp + 0x80]
mov edx, r15d
mov rcx, rsi
call fcn.1400ca580
test eax, eax
setns byte [rsp + 0x228]
lea r8, [rsp + 0x84]
mov edx, r15d
mov rcx, rsi
call fcn.1400ca950
test eax, eax
setns byte [rsp + 0x230]
mov qword [rsp + 0xa8], rdi
lea r8, [rsp + 0xa8]
mov edx, r15d
mov rcx, rsi
call fcn.1400cab60
movzx edx, byte [rsi + 0x1f1]
movzx eax, dl
shr al, 4
and al, 1
cmp r15d, dword [rsi + 0x1dc]
jne 0x1400cbc24
test al, al
je 0x1400cbc24
mov cl, 1
jmp 0x1400cbc26
xor cl, cl
test byte [r14 + 0x10], 1
je 0x1400cbc39
test al, al
jne 0x1400cbc39
test dl, dl
js 0x1400cbc39
mov al, 1
jmp 0x1400cbc3b
xor al, al
test cl, cl
jne 0x1400cbc4e
test al, al
jne 0x1400cbc4e
xor bl, bl
mov byte [rsp + 0x220], bl
jmp 0x1400cbc57
mov bl, 1
mov byte [rsp + 0x220], bl
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], edi
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x70], edi
mov r12, r15
lea r9, [rsp + 0x70]
mov r8, r15
mov edx, 0x1038
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11d, dword [rsp + 0x7c]
sub r11d, dword [rsp + 0x74]
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
sub eax, ecx
cmp r11d, eax
cmovg r11d, eax
lea eax, [rcx + r11]
mov dword [rsp + 0x78], eax
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rsp + 0x90], eax
mov ecx, 0xe
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rsp + 0x8c], eax
mov ebp, edi
lea r9, [rsp + 0xb8]
xor r8d, r8d
mov edx, 0x105f
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x1400cc34d
mov qword [rsp + 0xa0], rdi
test ebp, ebp
jle 0x1400cbd28
lea eax, [rbp - 1]
movsxd r8, eax
lea r9, [rsp + 0xe0]
mov edx, 0x105f
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [rsp + 0xe8]
add dword [r14 + 0x28], eax
mov eax, dword [r14 + 0x28]
add dword [r14 + 0x30], eax
xor eax, eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x54], ebp
mov eax, 2
mov dword [rsp + 0x50], eax
lea r9, [rsp + 0x50]
mov r8, r12
mov edx, 0x1038
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x1400cc315
cmp dword [rsp + 0xb0], 0
je 0x1400cbd77
mov eax, dword [rsp + 0x50]
test ebp, ebp
cmove eax, dword [rsp + 0x78]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x190], 0x100000
mov dword [rsp + 0x178], ebp
lea r9, [rsp + 0x170]
xor r8d, r8d
mov edx, 0x104b
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
movaps xmm5, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x120], xmm5
test ebp, ebp
jne 0x1400cbdc3
mov eax, dword [rsp + 0x50]
add eax, 0xfffffffe
mov dword [rsp + 0x120], eax
mov dword [rsp + 0x40], 0
movzx r12d, bl
test bl, bl
jne 0x1400cbed9
cmp dword [rsi + 0x1d0], 0
jl 0x1400cbe37
test byte [rsi + 0x1f1], 0x40
je 0x1400cbe09
mov r9d, 0xf000
mov r8, r15
mov edx, 0x102c
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
shr eax, 0xc
cmp eax, 1
jne 0x1400cbe2c
cmp r15d, dword [rsi + 0x1dc]
jne 0x1400cbe1b
cmp dword [rsi + 0x1d4], 0
jl 0x1400cbe2c
cmp r15d, dword [rsi + 0x1d8]
jne 0x1400cbe34
cmp ebp, dword [rsi + 0x1d4]
jne 0x1400cbe34
mov r12b, 1
jmp 0x1400cbed9
xor r12b, r12b
mov dword [rsp + 0x238], 0
lea r9, [rsp + 0x238]
mov r8d, r15d
mov edx, ebp
mov rcx, rsi
call fcn.1400ca680
xor ecx, ecx
test eax, eax
setns cl
test ecx, ecx
jne 0x1400cbebd
movzx eax, byte [rsp + 0x228]
mov ebx, dword [rsp + 0x80]
mov dword [rsp + 0x238], ebx
test eax, eax
jne 0x1400cbec4
lea r8, [rsp + 0x238]
mov edx, ebp
mov rcx, rsi
call fcn.1400ca600
xor ecx, ecx
test eax, eax
setns cl
test ecx, ecx
jne 0x1400cbebd
mov ebx, dword [rsi + 0x1cc]
test ebx, ebx
jns 0x1400cbec4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1000
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
jmp 0x1400cbec4
mov ebx, dword [rsp + 0x238]
mov r8d, ebx
lea rdx, [rsp + 0x120]
mov rcx, r13
call fcn.140062b60
jmp 0x1400cbf00
mov eax, dword [rsi + 0x1d0]
mov r8d, dword [rsp + 0x90]
test eax, eax
cmovns r8d, eax
mov ebx, r8d
lea rdx, [rsp + 0x120]
mov rcx, r13
call fcn.140062b60
mov rax, qword [rsi + 0xe0]
movzx ecx, word [rdi + rax]
cmp cx, 0x30
jne 0x1400cbf15
xor edi, edi
jmp 0x1400cbf33
cmp cx, 0x31
jne 0x1400cbf22
mov edi, 1
jmp 0x1400cbf33
mov edi, 1
cmp cx, 0x32
mov eax, 2
cmove edi, eax
lea r9, [rsp + 0x40]
mov r8d, r15d
mov edx, ebp
mov rcx, rsi
call fcn.1400caa50
xor ecx, ecx
test eax, eax
setns cl
test ecx, ecx
jne 0x1400cbf89
movzx eax, byte [rsp + 0x230]
mov edx, dword [rsp + 0x84]
mov dword [rsp + 0x40], edx
test eax, eax
jne 0x1400cbf8d
lea r8, [rsp + 0x40]
mov edx, ebp
mov rcx, rsi
call fcn.1400ca9d0
xor ecx, ecx
test eax, eax
setns cl
test ecx, ecx
jne 0x1400cbf89
mov edx, dword [rsi + 0x1b8]
jmp 0x1400cbf8d
mov edx, dword [rsp + 0x40]
test r12b, r12b
je 0x1400cbfdc
cmp dword [rsi + 0x1d0], 0
jge 0x1400cbfa4
mov edx, dword [rsp + 0x8c]
jmp 0x1400cbfdc
mov edx, ebx
mov r9d, 0xffffff
xor edx, r9d
movzx r8d, bl
movzx eax, bx
shr ax, 8
movzx ecx, al
shr ebx, 0x10
movzx eax, bl
cmp ecx, r8d
cmovg r8d, ecx
cmp r8d, eax
cmovl r8d, eax
cmp r8d, 0xaa
cmovl edx, r9d
mov rcx, r13
call qword [sym.imp.GDI32.dll_SetTextColor]
xor eax, eax
mov qword [rsp + 0x238], rax
mov r12, qword [rsp + 0xa8]
mov rbx, r12
mov qword [rsp + 0x98], rax
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x238]
mov edx, ebp
mov rcx, rsi
call fcn.1400cac70
test r12, r12
jne 0x1400cc02b
mov rbx, qword [rsp + 0x238]
jmp 0x1400cc05d
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x1400cc05d
cmp word [r8], 0
je 0x1400cc05d
mov dword [rsp + 0x88], 0x80000000
lea rdx, [rsp + 0x88]
mov rcx, r12
call fcn.1400b82d0
mov rbx, rax
test rbx, rbx
jne 0x1400cc069
mov rbx, qword [rsi + 0x118]
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
bts edi, 0xb
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
mov edx, 0xa
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_StrChrW]
test rax, rax
setne cl
test cl, cl
jne 0x1400cc0c5
lea rdx, [rsp + 0x130]
mov rcx, r13
call qword [sym.imp.GDI32.dll_GetTextMetricsW]
mov eax, dword [rsp + 0x5c]
sub eax, dword [rsp + 0x54]
sub eax, dword [rsp + 0x130]
jmp 0x1400cc10d
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x110], xmm0
mov eax, edi
bts eax, 0xa
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x110]
mov r8d, ebx
mov rdx, qword [rsp + 0x60]
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [rsp + 0x114]
sub eax, dword [rsp + 0x11c]
sub eax, dword [rsp + 0x54]
add eax, dword [rsp + 0x5c]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xor edx, edx
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_OffsetRect]
add dword [rsp + 0x50], 2
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x50]
mov r8d, ebx
mov rdx, qword [rsp + 0x60]
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_DrawTextW]
cmp dword [rsp + 0xb0], 0
je 0x1400cc2f0
test ebp, ebp
jg 0x1400cc2f0
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1000
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, eax
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.140062b60
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x30], edx
mov r9d, dword [rsp + 0x38]
dec r9d
mov dword [rsp + 0x38], r9d
mov r8d, dword [rsp + 0x34]
inc r8d
mov dword [rsp + 0x34], r8d
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x20], eax
mov rcx, r13
call qword [sym.imp.GDI32.dll_Rectangle]
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x30], edx
mov r9d, dword [rsp + 0x38]
dec r9d
mov dword [rsp + 0x38], r9d
mov r8d, dword [rsp + 0x34]
inc r8d
mov dword [rsp + 0x34], r8d
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x20], eax
mov rcx, r13
call qword [sym.imp.GDI32.dll_Rectangle]
inc dword [rsp + 0x30]
dec dword [rsp + 0x38]
inc dword [rsp + 0x34]
dec dword [rsp + 0x3c]
mov r9d, 0xf000
mov r8, r15
mov edx, 0x102c
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
shr eax, 0xc
cmp eax, 1
je 0x1400cc2f0
mov ebx, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x30]
sub ebx, r10d
mov ecx, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x34]
sub ecx, r11d
lea edi, [r10 + 1]
mov dword [rsp + 0x130], edi
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r9d, [rax + r11]
lea eax, [r9 - 1]
mov dword [rsp + 0x134], eax
mov eax, 0x55555556
imul ebx
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
add r8d, r10d
mov dword [rsp + 0x138], r8d
lea eax, [rcx + r11 - 2]
mov dword [rsp + 0x13c], eax
lea eax, [rbx + r10 - 1]
mov dword [rsp + 0x140], eax
mov dword [rsp + 0x144], r11d
mov dword [rsp + 0x148], eax
mov dword [rsp + 0x14c], r11d
mov dword [rsp + 0x150], r8d
lea eax, [rcx + r11 - 1]
mov dword [rsp + 0x154], eax
mov dword [rsp + 0x158], edi
mov dword [rsp + 0x15c], r9d
mov r8d, 6
lea rdx, [rsp + 0x130]
mov rcx, r13
call qword [sym.imp.GDI32.dll_Polyline]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
mov rdi, qword [rsp + 0xa0]
mov r12, r15
inc ebp
add rdi, 2
mov qword [rsp + 0xa0], rdi
movsxd r8, ebp
lea r9, [rsp + 0xb8]
mov edx, 0x105f
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
movzx ebx, byte [rsp + 0x220]
jne 0x1400cbcf4
lea rcx, [rsp + 0x60]
call fcn.14005b520
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret