Function at 0x4029bf
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x4ad15c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4808b0]
push ebx
push esi
push edi
mov dword [ebp - 0x214], eax
mov edi, ecx
mov eax, dword [0x4808b4]
xor ecx, ecx
push 0x206
mov dword [ebp - 0x210], eax
mov ebx, edx
push ecx
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x420], ebx
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memset
push 0x208
lea eax, [ebp - 0x41c]
push esi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
lea eax, [ebp - 0x20e]
mov dword [ebp - 0x424], eax
test ebx, ebx
jne 0x402a54
push 0x3e8
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
mov ebx, 0x104
push ebx
lea eax, [ebp - 0x20e]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x402a78
mov ecx, dword [ebp - 0x420]
lea edx, [ebp - 0x20e]
mov ebx, 0x104
push ebx
call fcn.00402dbc
lea eax, [ebp - 0x20e]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x402a93
push eax
push 0x190
push edi
call fcn.00402ca1
add esp, 0xc
xor eax, eax
inc eax
jmp 0x402c90
cmp eax, ebx
jae 0x402aa3
xor ecx, ecx
mov word [ebp + eax*2 - 0x20e], cx
jmp 0x402aa9
xor eax, eax
mov word [ebp - 8], ax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x20e]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
lea eax, [ebp - 0x20e]
push eax
push 1
push 0x400
call dword [sym.imp.KERNEL32.dll_GetStringTypeExW]
test eax, eax
jne 0x402ade
push eax
push 0x12e
jmp 0x402a82
xor ecx, ecx
mov ebx, ecx
cmp word [ebp - 0x20e], cx
je 0x402b05
mov eax, ecx
test byte [ebp + eax - 0x41c], 0x48
je 0x402b05
inc ebx
lea eax, [ebx + ebx]
cmp word [ebp + eax - 0x20e], cx
jne 0x402aed
lea eax, [ebp - 0x20e]
lea eax, [eax + ebx*2]
push eax
mov dword [ebp - 0x428], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + ebx]
lea ecx, [ebp + ecx*2 - 0x41c]
lea ecx, [ecx - 2]
dec eax
test byte [ecx], 0x48
jne 0x402b25
xor ecx, ecx
lea edx, [ebp - 0x20e]
lea edx, [edx + ebx*2]
mov word [edx + eax*2 + 2], cx
xor eax, eax
mov dword [ebp - 0x420], eax
inc ecx
movzx eax, word [edx]
test ax, ax
je 0x402be5
mov edx, eax
lea ebx, [ebp + ebx*2 - 0x41c]
movzx eax, dx
cmp eax, 0x2c
je 0x402c25
cmp eax, 0x3b
je 0x402c25
cmp eax, 0x22
je 0x402c25
cmp eax, 0x2b
je 0x402c25
cmp eax, 0x23
je 0x402c25
cmp eax, 0xd
je 0x402c25
cmp eax, 0xa
je 0x402c25
movzx eax, word [ebx]
test eax, 0x200
je 0x402c25
test al, 0x68
push 0
pop eax
cmove ecx, eax
mov eax, dword [ebp - 0x424]
add ebx, 2
mov word [eax], dx
add eax, 2
mov edx, dword [ebp - 0x420]
inc edx
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x420], edx
movzx edx, word [eax + edx*2]
test dx, dx
jne 0x402b5c
mov eax, dword [ebp - 0x424]
xor edx, edx
mov word [eax], dx
test ecx, ecx
je 0x402c55
xor eax, eax
push eax
push 0x190
push edi
call fcn.00402ca1
add esp, 0xc
test esi, esi
je 0x402a8b
push 0x4808b8
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x402a8b
xor ebx, ebx
push ebx
push 0x12d
push edi
call fcn.00402ca1
add esp, 0xc
test esi, esi
je 0x402c50
push 0xffffffffffffffff
push ebx
push 0xb1
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 2
pop eax
jmp 0x402c90
lea ecx, [ebp - 0x214]
call fcn.0040259b
test eax, eax
jne 0x402c77
push eax
push 0x12e
push edi
call fcn.00402ca1
add esp, 0xc
push 3
jmp 0x402c52
lea eax, [ebp - 0x20e]
push eax
push 1
push 0xc9
push edi
call fcn.00402ca1
add esp, 0x10
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047a72f
mov esp, ebp
pop ebp
ret