Function at 0x140084ff0
Capabilities:
Get graphical window text

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xd0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x100], rbx
mov rax, qword [0x1402ba4e0]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, r9
mov r13, qword [rsp + 0x120]
mov ebx, 1
test r13, r13
jne 0x14008503f
xor eax, eax
jmp 0x1400852ff
cmp edx, 0x2b
je 0x14008507a
cmp edx, 0x134
jbe 0x1400852f1
cmp edx, 0x138
ja 0x1400852f1
mov edx, 0xf4fffe
mov rcx, r8
call qword [sym.imp.GDI32.dll_SetBkColor]
mov rdx, qword [0x1402c0638]
mov qword [r13], rdx
jmp 0x1400852f7
cmp dword [r9], 4
jne 0x1400852f1
mov edi, 0x10
mov dword [rsp + 0x40], edi
test byte [r9 + 0x10], 1
mov eax, 0x210
cmovne edi, eax
mov dword [rsp + 0x40], edi
mov edx, 0xffffff
mov rcx, qword [r9 + 0x20]
call qword [sym.imp.GDI32.dll_SetBkColor]
mov r9d, edi
mov r8d, 4
lea rdx, [rsi + 0x28]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_DrawFrameControl]
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x2c]
mov dword [rsp + 0x64], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x34]
mov dword [rsp + 0x6c], eax
mov ecx, 0x2e
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, eax
mov r8d, edi
lea rcx, [rsp + 0x60]
call fcn.1400cf8b0
xor ecx, ecx
call qword [sym.imp.GDI32.dll_GetStockObject]
mov r8, rax
lea rdx, [rsp + 0x60]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_FillRect]
mov byte [rsp + 0x80], 0
xor eax, eax
mov qword [rsp + 0x81], rax
mov qword [rsp + 0x89], rax
mov qword [rsp + 0x91], rax
mov qword [rsp + 0x99], rax
mov qword [rsp + 0xa1], rax
mov qword [rsp + 0xa9], rax
mov qword [rsp + 0xb1], rax
mov dword [rsp + 0xb9], eax
mov word [rsp + 0xbd], ax
mov byte [rsp + 0xbf], al
lea r8d, [rax + 0x40]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_GetWindowTextA]
cmp byte [rsp + 0x80], 0
je 0x1400852a1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x80]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea r9, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x60]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, dword [rsp + 0x50]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
add edi, ecx
mov dword [rsp + 0x38], edi
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x64]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, dword [rsp + 0x54]
cdq
sub eax, edx
sar eax, 1
sub r12d, eax
add r12d, ecx
mov dword [rsp + 0x3c], r12d
test byte [rsi + 0x10], 1
je 0x140085227
inc edi
mov dword [rsp + 0x38], edi
inc r12d
mov dword [rsp + 0x3c], r12d
mov edx, 0xfffffff0
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov rcx, qword [rsi + 0x20]
bt eax, 0x1b
jae 0x140085247
mov edx, 0x808080
jmp 0x140085249
xor edx, edx
call qword [sym.imp.GDI32.dll_SetTextColor]
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x74], r12d
mov eax, dword [rsp + 0x50]
lea edx, [rdi + rax]
mov dword [rsp + 0x78], edx
mov eax, dword [rsp + 0x54]
lea edx, [r12 + rax]
mov dword [rsp + 0x7c], edx
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x80]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_DrawTextA]
mov eax, dword [rsi + 0x10]
test al, 0x10
je 0x1400852eb
bt eax, 9
jb 0x1400852eb
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x50], eax
mov eax, dword [rsi + 0x2c]
mov dword [rsp + 0x54], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x34]
mov dword [rsp + 0x5c], eax
mov edx, 3
mov r8d, edx
lea rcx, [rsp + 0x50]
call fcn.1400cf8b0
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_DrawFocusRect]
mov qword [r13], rbx
jmp 0x1400852f7
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x1400852fd
mov eax, ebx
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14010d170
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret