Function at 0x471b90
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
test ecx, ecx
push esi
push edi
jne 0x471bff
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push 0x63
push esi
push eax
mov eax, dword [esp + 0x2c]
push ebx
push edx
push eax
call fcn.0051c6f0
mov edi, 1
add esp, 0x18
cmp eax, edi
jne 0x47248b
mov ecx, dword [ebx + 8]
cmp ecx, edi
je 0x47248b
cmp ecx, 2
je 0x47248b
cmp ecx, 3
je 0x47248b
push 6
push esi
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x471c21
cmp ecx, 2
jl 0x471c12
mov edx, dword [eax + 0x40]
test edx, edx
je 0x471c21
cmp ecx, 3
jne 0x471c2d
mov edx, dword [eax + 0x40]
mov esi, dword [edx + 0x40]
test esi, esi
jne 0x471c2d
pop edi
pop esi
mov eax, 2
pop ebx
add esp, 0x10
ret
mov edx, dword [eax + 0x1c]
mov edi, 1
cmp edx, edi
jne 0x471c56
cmp ecx, 2
jl 0x471c46
mov edx, dword [eax + 0x40]
cmp dword [edx + 0x1c], edi
jne 0x471c56
cmp ecx, 3
jne 0x471c5f
mov edx, dword [eax + 0x40]
mov edx, dword [edx + 0x40]
cmp dword [edx + 0x1c], edi
je 0x471c5f
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov edx, dword [eax + 0xc]
test edx, edx
push ebp
jne 0x472454
cmp ecx, 2
jl 0x471c7e
mov edx, dword [eax + 0x40]
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x472454
cmp ecx, 3
jne 0x471c94
mov edx, dword [eax + 0x40]
mov edx, dword [edx + 0x40]
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x472454
cmp ecx, edi
jne 0x4721e2
mov eax, dword [eax]
push eax
call fcn.0051c210
add esp, 4
test eax, eax
je 0x471d6d
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005d9a55
mov edi, eax
add esp, 4
cmp edi, 0x270e
jle 0x471d77
mov edi, 0x270e
mov esi, dword [0x63ce34]
test esi, esi
je 0x472454
mov edi, edi
cmp edi, 0x270f
jne 0x471da1
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push esi
push edx
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471daa
test esi, esi
je 0x472454
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4721cb
mov eax, dword [ebx]
push 0x2e
push eax
call fcn.005da7f0
mov edi, eax
add esp, 8
test edi, edi
je 0x4721cb
push 0x5f54a0
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471dbd
mov edx, dword [esi + 0x264]
lea ecx, [esp + 0x10]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
mov edi, 0x270f
jmp 0x471cd0
test edi, edi
jg 0x471cd0
mov eax, dword [0x63ce34]
xor ecx, ecx
test eax, eax
je 0x471d9b
lea ebx, [ebx]
mov eax, dword [eax + 0x4818]
inc ecx
test eax, eax
jne 0x471d90
push ecx
jmp 0x4721b4
dec edi
test edi, edi
jle 0x471d03
mov esi, dword [esi + 0x4818]
test esi, esi
jne 0x471ce0
jmp 0x472454
push 0x5f549c
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471dfd
mov eax, dword [esi + 0x264]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
push ecx
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push 0x5f5498
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471e2e
mov ecx, dword [esi + 0x264]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x10]
jmp 0x4721b3
push 0x5f5494
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471e74
mov edx, dword [esi + 0x264]
lea ecx, [esp + 0x10]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
sub eax, ebp
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push 0x5f82a8
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471eba
mov eax, dword [esi + 0x264]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
sub ecx, edi
push ecx
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push 0x5f82a0
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471eeb
mov ecx, dword [esi + 0x264]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x1c]
sub edx, dword [esp + 0x14]
jmp 0x4721b3
push str..title
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471f19
mov ecx, dword [esp + 0x30]
mov edx, dword [esi + 0x264]
push 0x400
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x472454
push str..modal
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471f42
mov eax, dword [esi + 0x3c4]
test eax, eax
mov eax, dword [esp + 0x30]
je 0x47211f
jmp 0x472103
push str..table
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471f6f
mov edx, dword [esp + 0x30]
lea eax, [esi + 0x132]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x471f60
jmp 0x472454
push 0x5f8280
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471fb5
mov esi, dword [esi + 0x27c]
test esi, esi
je 0x472454
lea eax, [esi - 0x1770]
test eax, eax
jle 0x472454
mov edx, dword [esp + 0x30]
push eax
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push str..cancel
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x471fe9
mov esi, dword [esi + 0x280]
test esi, esi
je 0x472454
lea eax, [esi - 0x1770]
test eax, eax
jle 0x472454
push eax
jmp 0x4721b4
push str..result
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x47202f
mov esi, dword [esi + 0x284]
test esi, esi
je 0x472454
lea eax, [esi - 0x1770]
test eax, eax
jle 0x472454
mov ecx, dword [esp + 0x30]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push str..focus
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4720bb
call fcn.00468600
mov edi, eax
test edi, edi
je 0x472454
push edi
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, dword [esi + 0x264]
jne 0x472454
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgCtrlID]
call edi
test eax, eax
je 0x472454
mov ecx, dword [esi + 0x514]
test ecx, ecx
je 0x47209e
cmp eax, 0x65
jne 0x47209e
mov edx, dword [esi + 0x47dc]
imul edx, edx, 0x15c
mov eax, dword [edx + esi + 0x514]
push eax
call edi
jmp 0x47217a
mov edx, dword [esp + 0x30]
add eax, 0xffffe890
push eax
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push str..active
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x472140
call fcn.00468600
mov edi, eax
test edi, edi
je 0x4720ed
mov ebp, dword [esi + 0x264]
push edi
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, ebp
je 0x4720ff
cmp edi, ebp
je 0x4720ff
call dword [sym.imp.USER32.dll_GetActiveWindow]
test eax, eax
je 0x47211b
cmp eax, dword [esi + 0x264]
jne 0x47211b
mov eax, dword [esp + 0x30]
mov ecx, dword [str._true]
mov dword [eax], ecx
mov dx, word [0x5f4a14]
mov word [eax + 4], dx
jmp 0x472454
mov eax, dword [esp + 0x30]
mov ecx, dword [str._false]
mov dword [eax], ecx
mov dx, word [0x5f4a04]
mov word [eax + 4], dx
mov cl, byte [0x5f4a06]
mov byte [eax + 6], cl
jmp 0x472454
push str..tab
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x472197
mov eax, dword [esi + 0x514]
test eax, eax
je 0x472454
mov edx, dword [esi + 0x47dc]
imul edx, edx, 0x15c
mov eax, dword [edx + esi + 0x514]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov ecx, dword [esp + 0x30]
sub eax, 0x1770
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp 0x472454
push str..hwnd
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x472454
mov edx, dword [esi + 0x264]
push edx
mov eax, dword [esp + 0x34]
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp 0x472454
mov edx, dword [esp + 0x30]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4721d3
jmp 0x472454
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x472216
push 0x643160
push 0x67f
call fcn.00424130
push 6
push 0
push 0x643160
push 0
call fcn.0048bd90
add esp, 0x18
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x10
ret
mov ecx, dword [eax]
push 0x100
push 4
push ecx
call fcn.00425670
mov edx, dword [ebx + 0x40]
mov eax, dword [edx]
push eax
call fcn.0051c210
add esp, 0x10
test eax, eax
je 0x472274
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
push 0
push 0x680
call fcn.00424130
add esp, 8
push eax
push 0x643160
call fcn.005d9929
push 6
push 0
push 0x643160
push 0
call fcn.0048bd90
add esp, 0x1c
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x10
ret
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.00466db0
add esp, 4
test eax, eax
je 0x472295
mov edx, dword [ebx + 0x40]
mov eax, dword [edx]
push eax
push 0
push 0x681
jmp 0x472244
call fcn.00466bf0
mov esi, eax
test esi, esi
jne 0x4722b8
mov ecx, dword [esp + 0x38]
push 8
push ecx
push ebx
call fcn.0048c510
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov eax, dword [ebx + 8]
cmp eax, edi
jne 0x4722ec
mov edx, dword [ebx + 0x40]
mov ecx, dword [edx]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4722c6
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
lea edx, [esi + 0x132]
jmp 0x4722e0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4722e0
jmp 0x472334
cmp eax, 2
jl 0x472334
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
push 0x132
push esi
call fcn.00425550
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push 0x100
push 4
push edx
call fcn.00425670
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
lea eax, [esi + 0x132]
push 0x132
push eax
call fcn.00425550
add esp, 0x24
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
push esi
mov dword [esi + 0x264], 0
mov dword [esi + 0x47fc], ecx
mov dword [esi + 0x4804], edi
call fcn.00468950
add esp, 4
test eax, eax
jne 0x47238d
push esi
call fcn.0046fae0
mov al, byte [0x643160]
add esp, 4
test al, al
jne 0x47220c
mov edx, dword [esp + 0x38]
push 6
push edx
push ebx
call fcn.0048c510
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
cmp dword [ebx + 8], 3
jne 0x472403
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
add esp, 4
cmp eax, 0xffffffff
jne 0x4723b4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
jmp 0x472407
cmp eax, 0xfffffffe
jne 0x4723c0
mov eax, dword [0x6a0f40]
jmp 0x472407
cmp eax, 0xfffffffd
jne 0x4723d5
mov eax, dword [0x6a0f4c]
test eax, eax
jne 0x472407
mov eax, dword [0x6a0f40]
jmp 0x472407
cmp eax, 0xfffffffc
jne 0x4723e6
call dword [sym.imp.USER32.dll_GetActiveWindow]
test eax, eax
jne 0x472407
jmp 0x4723c5
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push edi
push ecx
call fcn.005091b0
add esp, 8
test eax, eax
je 0x472403
mov eax, dword [eax]
jmp 0x472407
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
push esi
mov dword [esi + 0x268], eax
mov dword [esi + 0x288], edx
call fcn.004710d0
add esp, 4
test eax, eax
push esi
jg 0x47244c
call fcn.0046fae0
mov al, byte [0x643160]
add esp, 4
test al, al
jne 0x47226a
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push ecx
push 0
push 0x682
jmp 0x472244
call fcn.0046fae0
add esp, 4
mov eax, dword [ebx + 8]
test eax, eax
jle 0x47247e
mov esi, dword [esp + 0x28]
nop
mov edx, dword [ebx + 0x40]
mov eax, dword [esi]
push edx
push eax
call fcn.004e8a00
mov dword [esi], eax
mov ecx, dword [ebx + 8]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebx + 8], ecx
jg 0x472460
mov dword [ebx + 8], 0
mov eax, 2
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret