Function at 0x14008bf70
Capabilities:
Get graphical window text

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xd0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x100], rbx
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, r9
mov r13, qword [rsp + 0x120]
mov ebx, 1
test r13, r13
jne 0x14008bfbf
xor eax, eax
jmp 0x14008c25f
cmp edx, 0x2b
je 0x14008bffc
cmp edx, 0x134
jbe 0x14008bff1
cmp edx, 0x138
ja 0x14008bff1
mov edx, 0xf4fffe
mov rcx, r8
call qword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [0x140167ab8]
mov dword [r13], edx
jmp 0x14008c257
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x14008c257
cmp dword [r9], 4
jne 0x14008c253
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]
lea rdx, [rsp + 0x58]
mov eax, dword [rsi + 0x28]
mov dword [rdx], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdx + 4], eax
mov eax, dword [rsi + 0x30]
mov dword [rdx + 8], eax
mov eax, dword [rsi + 0x34]
mov dword [rdx + 0xc], 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 + 0x58]
call fcn.1400b5620
xor ecx, ecx
call qword [sym.imp.GDI32.dll_GetStockObject]
mov r8, rax
lea rdx, [rsp + 0x58]
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 0x14008c209
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x80]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea r9, [rsp + 0x48]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x58]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, dword [rsp + 0x48]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
add edi, ecx
mov dword [rsp + 0x38], edi
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x5c]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, dword [rsp + 0x4c]
cdq
sub eax, edx
sar eax, 1
sub r12d, eax
add r12d, ecx
mov dword [rsp + 0x3c], r12d
test byte [rsi + 0x10], 1
je 0x14008c1ab
add edi, 1
mov dword [rsp + 0x38], edi
add r12d, 1
mov dword [rsp + 0x3c], r12d
xor edx, edx
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.GDI32.dll_SetTextColor]
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x6c], r12d
mov eax, dword [rsp + 0x48]
lea edx, [rdi + rax]
mov dword [rsp + 0x70], edx
mov eax, dword [rsp + 0x4c]
lea edx, [r12 + rax]
mov dword [rsp + 0x74], 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 + 0x68]
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 0x14008c253
bt eax, 9
jb 0x14008c253
lea rcx, [rsp + 0x48]
mov eax, dword [rsi + 0x28]
mov dword [rcx], eax
mov eax, dword [rsi + 0x2c]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x30]
mov dword [rcx + 8], eax
mov eax, dword [rsi + 0x34]
mov dword [rcx + 0xc], eax
mov edx, 3
mov r8d, edx
lea rcx, [rsp + 0x48]
call fcn.1400b5620
lea rdx, [rsp + 0x48]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_DrawFocusRect]
mov dword [r13], ebx
jmp 0x14008c25d
mov eax, ebx
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400c2a20
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret