Function at 0x1400629a0
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
mov r14d, dword [rdx + 8]
mov r15d, r8d
mov rsi, rdx
mov rbx, rcx
cmp r8d, r14d
je 0x1400632d3
mov qword [rax + 8], rdi
lea rcx, [rbp + 0xe8]
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [rbx + 0x110]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov ecx, r15d
mov r12d, r14d
and ecx, 1
mov edi, eax
mov r13d, 1
mov dword [rbp + 0xf0], edi
and r12d, r13d
je 0x140062a19
test ecx, ecx
je 0x140062a1d
jmp 0x140062a9c
test ecx, ecx
je 0x140062a9c
xor edx, edx
lea rcx, [rbp + 8]
mov r8d, SysAllocStringByteLen
call fcn.140249b10
mov eax, dword [rbp + 0xe8]
mov rcx, qword [rbx + 0x110]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0x94], eax
mov rax, qword [rsi + 0xd0]
shl r12d, 5
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x10], 0xfffffe6a
mov qword [rbp], rcx
mov qword [rbp + 8], rdi
mov dword [rbp + 0x18], r13d
mov dword [rbp + 0x58], 0x1c
mov qword [rbp + 0x60], rsi
mov dword [rbp + 0x68], r12d
call qword [sym.imp.USER32.dll_GetParent]
lea r9, [rbp]
mov r8, rdi
mov rcx, rax
mov edx, 0x4e
call qword [sym.imp.USER32.dll_SendMessageA]
mov edi, r15d
mov r12d, r14d
and edi, 0x20
and r12d, 0x20
je 0x140062aaf
test edi, edi
je 0x140062ac0
test r12d, r12d
jne 0x1400631ad
test edi, edi
je 0x1400631a8
mov rcx, qword [rbx + 0x208]
test rcx, rcx
je 0x140062ae8
call qword [sym.imp.USER32.dll_DestroyWindow]
mov qword [rbx + 0x208], 0
mov qword [rbx + 0x430], 0
test r14d, 0x10020
je 0x140063085
cmp qword [rsi + 0x10], 0
je 0x140063085
lea rdx, [rsi + 0x38]
mov qword [rbx + 0x430], rsi
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
sub ecx, dword [rbx + 0x204]
cmp eax, ecx
cmovle eax, ecx
xor edx, edx
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
lea r8d, [rdx - 2]
call qword [sym.imp.USER32.dll_InflateRect]
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsi + 0x10]
add r8d, 0xfffffffe
mov dword [rsp + 0x68], r8d
mov edx, dword [rcx + 8]
sub edx, r13d
je 0x140062e78
sub edx, r13d
je 0x140062d78
sub edx, r13d
je 0x140062cbc
cmp edx, r13d
jne 0x140063027
mov eax, dword [rsi + 0x44]
mov r9d, 0x40000202
mov ecx, dword [rsi + 0x3c]
sub eax, ecx
sub eax, 0x16
cdq
sub eax, edx
mov edx, dword [rsp + 0x60]
sar eax, 1
inc edx
add ecx, eax
mov dword [rsp + 0x60], edx
sub r8d, edx
lea eax, [rcx + 0x64]
inc ecx
mov dword [rsp + 0x6c], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x63
mov dword [rsp + 0x30], r8d
lea r8, [0x1402849c8]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
lea rdx, str.COMBOBOX
mov dword [rsp + 0x64], ecx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
xor ecx, ecx
lea rdx, [rbp - 0x50]
mov qword [rbx + 0x208], rax
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
mov rcx, rax
mov dword [rbp - 0x50], 0x40
call qword [sym.imp.USER32.dll_GetComboBoxInfo]
mov rcx, qword [rbp - 0x18]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov rcx, qword [rbp - 0x18]
xor r9d, r9d
mov r8, rax
lea edx, [r9 + 0xd]
call fcn.1400ddaf0
mov rcx, qword [rbp - 0x18]
lea r8, [0x1400633e0]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rcx, qword [rbx + 0x208]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov rcx, qword [rbx + 0x208]
xor r9d, r9d
mov r8, rax
lea edx, [r9 + 0xd]
call fcn.1400ddaf0
mov rcx, qword [rbx + 0x208]
lea r8, [0x14005e900]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rdx, qword [rbx + 0x208]
mov rcx, qword [rsi + 0x10]
call fcn.1400651c0
jmp 0x140063027
mov ecx, dword [rsi + 0x3c]
mov r9d, 0x40000203
mov eax, dword [rsi + 0x44]
sub eax, ecx
sub eax, 0x16
cdq
sub eax, edx
sar eax, 1
lea edx, [rax + rcx]
mov ecx, dword [rsp + 0x60]
add ecx, 2
mov dword [rsp + 0x64], edx
lea eax, [rdx + 0x64]
mov dword [rsp + 0x60], ecx
sub r8d, ecx
mov dword [rsp + 0x6c], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x64
mov dword [rsp + 0x30], r8d
lea r8, [0x1402849c8]
mov dword [rsp + 0x28], edx
lea rdx, str.COMBOBOX
mov dword [rsp + 0x20], ecx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
xor ecx, ecx
lea rdx, [rbp - 0x50]
mov qword [rbx + 0x208], rax
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
mov rcx, rax
mov dword [rbp - 0x50], 0x40
call qword [sym.imp.USER32.dll_GetComboBoxInfo]
jmp 0x140062c66
mov rcx, qword [rbx + 0x110]
call qword [sym.imp.USER32.dll_GetDC]
mov rdx, qword [rbx + 0x160]
mov rcx, rax
mov qword [rbp - 0x10], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rsi + 0x10]
mov r8, 0xffffffffffffffff
mov qword [rbp + 0xf8], 0
mov rdx, qword [rcx + 0x20]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140062db3
mov rcx, qword [rbp - 0x10]
lea r9, [rbp + 0xf8]
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbx + 0x208]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [rsi + 0x3c]
mov r10d, dword [rbp + 0xfc]
mov eax, dword [rsi + 0x44]
add r10d, 6
sub eax, r10d
mov dword [rbp + 0xfc], r10d
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [rsp + 0x60]
sar eax, 1
lea r9d, [rax + rcx]
mov ecx, dword [rsp + 0x68]
lea eax, [r9 + r10]
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0x6c], eax
sub ecx, edx
mov rax, qword [rsi + 0x10]
mov r8, qword [rax + 0x20]
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], ecx
mov ecx, 0x208
mov dword [rsp + 0x28], r9d
mov r9d, 0x40000080
mov dword [rsp + 0x20], edx
lea rdx, str.EDIT
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbx + 0x208], rax
jmp 0x140063027
mov ecx, dword [rsi + 0x3c]
mov r9d, 0x40000203
mov eax, dword [rsi + 0x44]
sub eax, ecx
sub eax, 0x16
cdq
sub eax, edx
sar eax, 1
lea edx, [rax + rcx]
mov ecx, dword [rsp + 0x60]
add ecx, 2
mov dword [rsp + 0x64], edx
lea eax, [rdx + 0x64]
mov dword [rsp + 0x60], ecx
sub r8d, ecx
mov dword [rsp + 0x6c], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x64
mov dword [rsp + 0x30], r8d
lea r8, [0x1402849c8]
mov dword [rsp + 0x28], edx
lea rdx, str.COMBOBOX
mov dword [rsp + 0x20], ecx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
xor ecx, ecx
lea rdx, [rbp - 0x50]
mov qword [rbx + 0x208], rax
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
mov rcx, rax
mov dword [rbp - 0x50], 0x40
call qword [sym.imp.USER32.dll_GetComboBoxInfo]
mov rcx, qword [rbp - 0x18]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov rcx, qword [rbp - 0x18]
xor r9d, r9d
mov r8, rax
lea edx, [r9 + 0xd]
call fcn.1400ddaf0
mov rcx, qword [rbp - 0x18]
lea r8, [0x1400633e0]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rcx, qword [rbx + 0x208]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov rcx, qword [rbx + 0x208]
xor r9d, r9d
mov r8, rax
lea edx, [r9 + 0xd]
call fcn.1400ddaf0
mov rcx, qword [rbx + 0x208]
lea r8, [0x14005e900]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rax, qword [rsi + 0x10]
xor r8d, r8d
mov rcx, qword [rbx + 0x208]
mov edx, 0x143
mov r9, qword [rax + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, qword [rsi + 0x10]
cmp dword [r9 + 0x20], 0
je 0x140062fec
mov rcx, qword [rbx + 0x208]
xor r9d, r9d
movsxd r8, eax
mov edx, 0x14e
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, qword [rsi + 0x10]
mov r9, qword [r9 + 0x30]
xor r8d, r8d
mov rcx, qword [rbx + 0x208]
mov edx, 0x143
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0x10]
cmp dword [rcx + 0x20], 0
jne 0x140063027
mov rcx, qword [rbx + 0x208]
xor r9d, r9d
movsxd r8, eax
mov edx, 0x14e
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x208]
test rcx, rcx
je 0x140063085
mov eax, dword [rsi + 8]
bt eax, 9
jae 0x140063045
mov r8, qword [rbx + 0x178]
jmp 0x14006305b
bt eax, 0xa
jae 0x140063054
mov r8, qword [rbx + 0x160]
jmp 0x14006305b
mov r8, qword [rbx + 0x150]
xor r9d, r9d
lea edx, [r9 + 0x30]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x208]
mov edx, r13d
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbx + 0x208]
call qword [sym.imp.USER32.dll_SetFocus]
xor edx, edx
lea rcx, [rbp + 8]
mov r8d, SysAllocStringByteLen
call fcn.140249b10
mov eax, dword [rbp + 0xe8]
mov rcx, qword [rbx + 0x110]
mov edx, dword [rbp + 0xf0]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0x94], eax
mov eax, r14d
shr eax, 4
and eax, 2
mov dword [rbp + 0x10], 0xfffffe6e
mov dword [rbp + 0x68], eax
mov rax, qword [rsi + 0xd0]
mov qword [rbp + 0x88], rax
mov qword [rbp], rcx
mov qword [rbp + 8], rdx
mov dword [rbp + 0x18], r13d
mov dword [rbp + 0x58], 0x1c
mov qword [rbp + 0x60], rsi
call qword [sym.imp.USER32.dll_GetParent]
mov r8d, dword [rbp + 0xf0]
lea r9, [rbp]
mov rcx, rax
mov edx, 0x4e
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [rbx + 0x110]
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0xe8]
mov dword [rbp - 0x64], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x60], eax
mov rax, qword [rsi + 0xd0]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x80], 0xffffff9b
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rsi
mov dword [rbp - 0x68], 3
mov dword [rbp - 0x78], 0xffffffff
test r12d, r12d
je 0x14006317a
mov qword [rbp - 0x70], 3
jmp 0x140063188
mov dword [rbp - 0x70], 0
mov dword [rbp - 0x6c], 3
call qword [sym.imp.USER32.dll_GetParent]
mov r8d, dword [rbp + 0xf0]
lea r9, [rsp + 0x70]
mov rcx, rax
mov edx, 0x4e
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x1400631b3
test edi, edi
je 0x1400631d5
jmp 0x1400631b7
test edi, edi
jne 0x1400631d5
mov eax, r15d
and eax, 8
test r14b, 8
je 0x1400631cd
test eax, eax
jne 0x1400632bb
jmp 0x1400631d5
test eax, eax
je 0x1400632bb
mov r9, qword [rbx + 0x110]
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x58], rax
mov eax, dword [rbp + 0xe8]
mov dword [rbp - 0x64], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x80], 0xffffff9b
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], rsi
test r12d, r12d
je 0x140063239
test edi, edi
je 0x14006323d
xor eax, eax
mov edx, r15d
mov r8d, r14d
and edx, 8
and r8d, 8
je 0x140063242
test edx, edx
je 0x140063249
jmp 0x140063246
test edi, edi
je 0x140063222
mov eax, r13d
jmp 0x140063224
test edx, edx
jne 0x140063249
xor r13d, r13d
mov ebx, dword [rbp + 0xf0]
neg eax
mov dword [rbp - 0x78], 0xffffffff
sbb ecx, ecx
and ecx, 3
neg r13d
sbb eax, eax
shr r14d, 4
and eax, 0xf000
shr r15d, 4
or ecx, eax
shl r8d, 9
mov rax, qword [rsi + 0xd0]
and r14d, 2
shl edx, 9
or r14d, r8d
mov dword [rbp - 0x68], ecx
and r15d, 2
or r15d, edx
mov dword [rbp - 0x70], r14d
mov rcx, r9
mov dword [rbp - 0x6c], r15d
mov qword [rbp - 0x58], rax
call qword [sym.imp.USER32.dll_GetParent]
lea r9, [rsp + 0x70]
mov r8d, ebx
mov rcx, rax
mov edx, 0x4e
call qword [sym.imp.USER32.dll_SendMessageA]
mov r12, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1e0]
mov r13, qword [rsp + 0x1a0]
add rsp, 0x1b0
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret