Function at 0x403c50
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x90
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa0]
push edi
mov edi, dword [sym.imp.USER32.dll_GetParent]
push 0xffffffffffffffeb
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
mov eax, dword [esp + 0xa8]
cmp eax, 0x4e
ja 0x403e7b
je 0x403e59
add eax, 0xfffffffe
cmp eax, 0x12
ja case.0x4041f9.513
xor ecx, ecx
mov cl, byte [eax + 0x404264]
jmp dword [ecx*4 + 0x40424c]
mov eax, dword [esp + 0xac]
push 0x13
push 0
push 0
push 0
push 0
test eax, eax
je 0x403ce7
push 0
push esi
call edi
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
push eax
call edi
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 0x10
push 0xfffffffffffffffe
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 0x10
mov edx, dword [esp + 0xac]
push edx
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 0x10
push esi
call fcn.00408540
add esp, 4
mov dword [ebx + 0x18], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 0x10
lea eax, [esp + 0x50]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x50]
push eax
mov edx, dword [esp + 0xb0]
push ecx
push edx
call dword [sym.imp.USER32.dll_FillRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
lea eax, [esp + 0x60]
push eax
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push eax
mov ecx, dword [esp + 0x64]
push ecx
call ebp
lea edx, [esp + 0x14]
push 0x28
push edx
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x14]
mov eax, dword [esp + 0x60]
push eax
push ecx
call fcn.00403b80
mov edx, dword [esp + 0x68]
add esp, 8
push 0
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x64]
push eax
push 7
push 0xa
push ecx
call dword [sym.imp.GDI32.dll_TextOutA]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
push edx
push eax
call ebp
lea ecx, [esp + 0x60]
push ecx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [esp + 0xac]
cmp eax, 0x413
ja 0x404182
je case.0x40418c.1053
cmp eax, 0x410
ja 0x40415b
je 0x404142
sub eax, 2
je 0x404125
sub eax, 0x40d
je case.0x40418c.1052
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
mov edx, dword [esp + 0xb0]
push edx
call fcn.004081e0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 0x10
cmp eax, 0x111
ja 0x4041e6
je 0x403e0a
sub eax, 0x100
je 0x4040e4
sub eax, 0x10
jne case.0x4041f9.513
push esi
call dword [sym.imp.USER32.dll_SetActiveWindow]
push esi
call fcn.00408400
add esp, 4
lea eax, [esp + 0x40]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebx + 8]
push 1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
sub ecx, eax
push 0
push 0
lea eax, [ecx + edx - 0x17]
push eax
mov eax, dword [ebx + 0xc]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xd1
push eax
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx + 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, dword [sym.imp.USER32.dll_LoadBitmapA]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
sub eax, 0x17
je 0x403fa5
sub eax, 2
jne 0x403fc3
mov ecx, dword [0x419748]
push 0x77
push ecx
call ebp
push eax
push 0
push 0xf7
push 0x410
push esi
call edi
push eax
call ebx
lea edx, [esp + 0x14]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
sub eax, edx
push eax
mov eax, dword [esp + 0x1c]
sub ecx, eax
add ecx, 0x20
push ecx
push 0
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
lea edx, [esp + 0x14]
push edx
push 0x410
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
sub eax, edx
mov edx, dword [esp + 0x18]
push eax
sub ecx, edx
add ecx, ecx
push ecx
push 0
push 0
push 0
push 0x410
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x403fc3
mov edx, dword [0x419748]
push 0x78
push edx
call ebp
push eax
push 0
push 0xf7
push 0x410
push esi
call edi
push eax
call ebx
mov eax, dword [0x419748]
push 0x72
push eax
call ebp
push eax
push 0
push 0xf7
push 0x40f
push esi
mov dword [esp + 0x24], eax
call edi
push eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
push 0
push 0xf7
push 0x41c
push esi
call edi
push eax
call ebx
mov edx, dword [0x419748]
push 0x73
push edx
call ebp
push eax
push 0
push 0xf7
push 0x413
push esi
mov dword [esp + 0x24], eax
call edi
push eax
call ebx
mov eax, dword [esp + 0x10]
push eax
push 0
push 0xf7
push 0x41d
push esi
call edi
push eax
call ebx
mov ecx, dword [0x419748]
push 0x74
push ecx
call ebp
push eax
push 0
push 0xf7
push 2
push esi
mov dword [esp + 0x24], eax
call edi
push eax
call ebx
mov edx, dword [esp + 0x10]
push edx
push 0
push 0xf7
push 2
push esi
call edi
push eax
call ebx
mov eax, dword [0x419748]
push 0x75
push eax
call ebp
push eax
push 0
push 0xf7
push 0x412
push esi
mov dword [esp + 0x24], eax
call edi
push eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
push 0
push 0xf7
push 0x41f
push esi
call edi
push eax
call ebx
mov edx, dword [0x419748]
push 0x76
push edx
call ebp
mov ebp, eax
push ebp
push 0
push 0xf7
push 0x411
push esi
call edi
push eax
call ebx
push ebp
push 0
push 0xf7
push 0x420
push esi
call edi
push eax
call ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
mov esi, dword [esp + 0xac]
lea eax, [esi - 8]
cmp eax, 0x20
ja case.0x4041f9.513
xor ecx, ecx
mov cl, byte [eax + 0x404280]
jmp dword [ecx*4 + 0x404278]
mov edx, dword [esp + 0xb0]
push esi
push edx
mov ecx, ebx
call fcn.00404370
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 0x10
push 0x1b
mov ecx, ebx
push 0
call fcn.00404370
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
mov ecx, ebx
call fcn.00407b00
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
sub eax, 0x411
je case.0x40418c.1056
dec eax
jne case.0x40418c.1054
push 0x21
mov ecx, ebx
push 0
call fcn.00404370
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
add eax, 0xfffffbe4
cmp eax, 4
ja case.0x40418c.1054
jmp dword [eax*4 + 0x4042a4]
mov ecx, ebx
call fcn.00407730
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
push 0x48
mov ecx, ebx
push 0
call fcn.00404370
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
push 0x22
mov ecx, ebx
push 0
call fcn.00404370
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 0x10
lea ecx, [eax - 0x200]
cmp ecx, 5
ja case.0x4041f9.513
xor edx, edx
mov dl, byte [ecx + 0x4042c0]
jmp dword [edx*4 + 0x4042b8]
mov ecx, dword [0x4197b8]
test ecx, ecx
je case.0x4041f9.513
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xac]
push eax
push 0
push 0x407
push ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], esi
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 0x10