Function at 0x402f10
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x314c
call fcn.004d03a0
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x86]
mov word [esp + 0x84], bx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x33c0]
push 0x823
stosw word es:[edi], ax
lea eax, [esp + 0x88]
mov dword [esi + 0x131c], 1
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, 0x1d
xor eax, eax
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
mov ecx, esi
mov dword [esp + 0x10], 0x74
mov dword [esp + 0x14], 0x40000000
call fcn.00403790
test eax, eax
push 0x505000
je 0x402fe6
mov edx, dword [esi + 0x33c0]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push edx
call edi
mov eax, dword [esi + 0x33c0]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
push 0x459
push eax
call ebp
mov edx, dword [esi + 0x33c0]
lea ecx, [esp + 0x84]
push ecx
push edx
call edi
mov eax, dword [esi + 0x3470]
mov edx, dword [esi + 0x33c0]
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
push ecx
push 4
push 0x444
push edx
jmp 0x4031be
mov eax, dword [esi + 0x33c0]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push eax
call edi
mov ecx, dword [esi + 0x33c0]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 2
push 0x459
push ecx
call ebp
mov eax, dword [esi + 0x33c0]
lea edx, [esp + 0x84]
push edx
push eax
call edi
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x10ce]
mov word [esp + 0x10cc], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10cc]
push 0x823
lea edx, [esp + 0x88]
push ecx
push edx
stosw word es:[edi], ax
call fcn.004625f0
add esp, 0xc
test eax, eax
je 0x4031a1
mov edx, dword [esi + 0x33c0]
mov eax, dword [esi + 0x3478]
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
push ecx
push 4
push 0x444
push edx
call ebp
lea eax, [esp + 0x10cc]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
mov ebp, eax
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x211a]
mov word [esp + 0x2118], 0
add esp, 4
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2114]
push 0x823
lea edx, [esp + 0x10d0]
push ecx
push edx
mov ecx, esi
stosw word es:[edi], ax
call fcn.00407de0
test eax, eax
je 0x40311a
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
lea eax, [esp + 0x2114]
push eax
call edi
add esp, 4
test eax, eax
jbe 0x403120
lea ecx, [esp + 0x2114]
lea edx, [esp + 0x84]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_wcsstr]
add esp, 8
test eax, eax
je 0x403154
lea ecx, [esp + 0x84]
lea edx, [esp + 0x2114]
sub eax, ecx
push edx
sar eax, 1
mov ebx, eax
call edi
add esp, 4
jmp 0x403150
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
lea eax, [esp + 0x10cc]
lea ecx, [esp + 0x84]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_wcsstr]
mov ebx, eax
lea edx, [esp + 0x8c]
lea eax, [esp + 0x10d4]
sub ebx, edx
push eax
sar ebx, 1
call edi
add esp, 0xc
mov ebp, eax
add ebp, ebx
push ebp
push ebx
mov ecx, esi
call fcn.004057b0
mov ecx, 0x1d
xor eax, eax
lea edi, [esp + 0x10]
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x33c0]
mov ecx, dword [esi + 0x3474]
push edx
push 1
push 0x444
push eax
mov dword [esp + 0x20], 0x74
mov dword [esp + 0x24], 0x40000000
mov dword [esp + 0x34], ecx
call dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
jmp 0x4031c0
mov ecx, dword [esi + 0x3470]
mov eax, dword [esi + 0x33c0]
lea edx, [esp + 0x10]
mov dword [esp + 0x24], ecx
push edx
push 4
push 0x444
push eax
call ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
call fcn.004057b0
mov dword [esi + 0x131c], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314c
ret