Function at 0x467d90
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
mov eax, ecx
mov ecx, dword [ebx + 8]
test ecx, ecx
push ebp
push esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
jne 0x467dff
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [edx]
push 0x63
push esi
push ecx
push ebx
mov ecx, eax
call fcn.00503c20
mov ebp, 1
cmp eax, ebp
jne 0x4686d6
mov ecx, dword [ebx + 8]
cmp ecx, ebp
je 0x4686d6
cmp ecx, 2
je 0x4686d6
cmp ecx, 3
je 0x4686d6
push 6
mov edx, esi
mov ecx, ebx
call fcn.00480930
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x1c
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x467e21
cmp ecx, 2
jl 0x467e12
mov edx, dword [eax + 0x40]
test edx, edx
je 0x467e21
cmp ecx, 3
jne 0x467e2f
mov edx, dword [eax + 0x40]
mov esi, dword [edx + 0x40]
test esi, esi
jne 0x467e2f
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x18
ret 0x1c
mov edx, dword [eax + 0x1c]
mov ebp, 1
cmp edx, ebp
jne 0x467e58
cmp ecx, 2
jl 0x467e48
mov edx, dword [eax + 0x40]
cmp dword [edx + 0x1c], ebp
jne 0x467e58
cmp ecx, 3
jne 0x467e63
mov edx, dword [eax + 0x40]
mov edx, dword [edx + 0x40]
cmp dword [edx + 0x1c], ebp
je 0x467e63
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x18
ret 0x1c
mov edx, dword [eax + 0xc]
test edx, edx
push edi
jne 0x4686a2
cmp ecx, 2
jl 0x467e82
mov edx, dword [eax + 0x40]
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x4686a2
cmp ecx, 3
jne 0x467e98
mov edx, dword [eax + 0x40]
mov edx, dword [edx + 0x40]
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x4686a2
cmp ecx, ebp
jne 0x46841f
mov ecx, dword [eax]
call fcn.005037f0
test eax, eax
je 0x467f5f
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.0059164b
mov edi, eax
add esp, 4
cmp edi, 0x270e
jle 0x467f69
mov edi, 0x270e
mov esi, dword [0x5c9f3c]
test esi, esi
je 0x4686a2
mov edi, edi
cmp edi, 0x270f
jne 0x467fa4
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push esi
push ecx
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x467fad
test esi, esi
je 0x4686a2
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x468406
mov edx, dword [ebx]
push 0x2e
push edx
call fcn.00591bd0
mov edi, eax
add esp, 8
test edi, edi
je 0x468406
push 0x5a53cc
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x467fc0
mov ecx, dword [esi + 0xc8]
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x18]
push edx
jmp 0x4682c3
mov edi, 0x270f
jmp 0x467ed0
test edi, edi
jg 0x467ed0
mov eax, dword [0x5c9f3c]
xor ecx, ecx
test eax, eax
je 0x467f8b
lea esp, [esp]
mov eax, dword [eax + 0x13b0]
inc ecx
test eax, eax
jne 0x467f80
mov edx, dword [esp + 0x30]
push ecx
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
dec edi
test edi, edi
jle 0x467f03
mov esi, dword [esi + 0x13b0]
test esi, esi
jne 0x467ee0
jmp 0x4686a2
push 0x5a53c8
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x468001
mov edx, dword [esi + 0xc8]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
push eax
push 0x5a4998
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push 0x5a53c4
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x468048
mov eax, dword [esi + 0xc8]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
sub ecx, edi
push ecx
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push 0x5a53c0
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46807a
mov ecx, dword [esi + 0xc8]
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x1c]
push edx
jmp 0x4682c3
push 0x5a7adc
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4680c1
mov edx, dword [esi + 0xc8]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
sub eax, ebp
push eax
push 0x5a4998
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push 0x5a7ad4
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x468108
mov eax, dword [esi + 0xc8]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
sub ecx, edi
push ecx
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push str..title
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x468136
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0xc8]
push 0x180
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x4686a2
push str..modal
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46815f
mov eax, dword [esi + 0x158]
test eax, eax
mov edx, dword [esp + 0x30]
je 0x46835d
jmp 0x468342
push str..table
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46818f
mov edx, dword [esp + 0x30]
lea eax, [esi + 0x64]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x468180
jmp 0x4686a2
push 0x5a7ab4
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4681d6
mov esi, dword [esi + 0xe0]
test esi, esi
je 0x4686a2
lea eax, [esi - 0x1770]
test eax, eax
jle 0x4686a2
mov ecx, dword [esp + 0x30]
push eax
push 0x5a4998
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push str..cancel
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46820a
mov esi, dword [esi + 0xe4]
test esi, esi
je 0x4686a2
lea eax, [esi - 0x1770]
test eax, eax
jle 0x4686a2
push eax
jmp 0x4683ee
push str..result
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x468251
mov esi, dword [esi + 0xe8]
test esi, esi
je 0x4686a2
lea eax, [esi - 0x1770]
test eax, eax
jle 0x4686a2
push eax
mov eax, dword [esp + 0x34]
push 0x5a4998
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push str..focus
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4682f9
call dword [sym.imp.USER32.dll_GetFocus]
mov edi, eax
test edi, edi
je 0x4686a2
push edi
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, dword [esi + 0xc8]
jne 0x4686a2
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgCtrlID]
call edi
test eax, eax
je 0x4686a2
mov ecx, dword [esi + 0x1a8]
test ecx, ecx
je 0x4682db
cmp eax, 0x65
jne 0x4682db
mov ecx, dword [esi + 0x1374]
imul ecx, ecx, 0x5c
mov edx, dword [ecx + esi + 0x1a8]
push edx
call edi
sub eax, 0x1770
push eax
mov eax, dword [esp + 0x34]
push 0x5a4998
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
mov ecx, dword [esp + 0x30]
add eax, 0xffffe890
push eax
push 0x5a4998
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push str..active
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46837c
call dword [sym.imp.USER32.dll_GetFocus]
mov edi, eax
test edi, edi
je 0x46832c
mov ebp, dword [esi + 0xc8]
push edi
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, ebp
je 0x46833e
cmp edi, ebp
je 0x46833e
call dword [sym.imp.USER32.dll_GetActiveWindow]
test eax, eax
je 0x468359
cmp eax, dword [esi + 0xc8]
jne 0x468359
mov edx, dword [esp + 0x30]
mov eax, dword [str._true]
mov dword [edx], eax
mov cx, word [0x5a4974]
mov word [edx + 4], cx
jmp 0x4686a2
mov edx, dword [esp + 0x30]
mov eax, dword [str._false]
mov dword [edx], eax
mov cx, word [0x5a4964]
mov word [edx + 4], cx
mov al, byte [0x5a4966]
mov byte [edx + 6], al
jmp 0x4686a2
push str..tab
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4683d1
mov eax, dword [esi + 0x1a8]
test eax, eax
je 0x4686a2
mov ecx, dword [esi + 0x1374]
imul ecx, ecx, 0x5c
mov edx, dword [ecx + esi + 0x1a8]
push edx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
sub eax, 0x1770
push eax
mov eax, dword [esp + 0x34]
push 0x5a4998
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
push str..hwnd
push edi
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4686a2
mov ecx, dword [esi + 0xc8]
push ecx
mov edx, dword [esp + 0x34]
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4686a2
mov edx, dword [esp + 0x30]
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x468410
jmp 0x4686a2
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x468442
mov edx, 0x5cbac0
mov ecx, 0x67f
call fcn.0041f1a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0x1c
mov edx, dword [eax]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x468450
sub eax, esi
cmp eax, 0x5a
jbe 0x468461
mov byte [edx + 0x5a], cl
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
call fcn.005037f0
test eax, eax
je 0x46849c
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
xor edx, edx
mov ecx, 0x680
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0x1c
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
call fcn.0045d750
test eax, eax
je 0x4684d7
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
xor edx, edx
mov ecx, 0x681
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0x1c
call fcn.0045d580
mov edi, eax
test edi, edi
jne 0x4684f9
mov edx, dword [esp + 0x38]
push 8
mov ecx, ebx
call fcn.00480930
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x1c
mov eax, dword [ebx + 8]
cmp eax, ebp
jne 0x46852c
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x468507
mov ecx, dword [ebx + 0x40]
mov ecx, dword [ecx]
lea edx, [edi + 0x64]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x468520
jmp 0x46857a
cmp eax, 2
jl 0x46857a
mov edx, dword [ebx + 0x40]
mov ecx, dword [edx]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x468538
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x468550
sub eax, esi
cmp eax, 0x5a
jbe 0x468561
mov byte [edx + 0x5a], cl
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
lea edx, [edi + 0x64]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x468570
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [edi + 0x1394], ecx
mov ecx, edi
mov dword [edi + 0xc8], 0
mov dword [edi + 0x139c], esi
call fcn.0045f120
test eax, eax
jne 0x4685ce
mov ecx, edi
call fcn.00465e80
mov al, byte [0x5cbac0]
test al, al
jne 0x468436
mov edx, dword [esp + 0x38]
push 6
mov ecx, ebx
call fcn.00480930
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x1c
cmp dword [ebx + 8], 3
jne 0x468641
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.0059164b
add esp, 4
cmp eax, 0xffffffff
jne 0x4685f5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
jmp 0x468645
cmp eax, 0xfffffffe
jne 0x468601
mov eax, dword [0x5f92ec]
jmp 0x468645
cmp eax, 0xfffffffd
jne 0x468616
mov eax, dword [0x5f92f8]
test eax, eax
jne 0x468645
mov eax, dword [0x5f92ec]
jmp 0x468645
cmp eax, 0xfffffffc
jne 0x468627
call dword [sym.imp.USER32.dll_GetActiveWindow]
test eax, eax
jne 0x468645
jmp 0x468606
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
mov ecx, dword [eax]
mov edx, esi
call fcn.004f11f0
test eax, eax
je 0x468641
mov eax, dword [eax]
jmp 0x468645
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xec], ecx
mov ecx, edi
mov dword [edi + 0xcc], eax
call fcn.004673a0
test eax, eax
mov ecx, edi
jg 0x46869d
call fcn.00465e80
mov al, byte [0x5cbac0]
test al, al
jne 0x468691
mov edx, dword [ebx + 0x40]
mov eax, dword [edx]
push eax
xor edx, edx
mov ecx, 0x682
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0x1c
call fcn.00465e80
mov eax, dword [ebx + 8]
test eax, eax
jle 0x4686c9
mov esi, dword [esp + 0x14]
lea ecx, [ecx]
mov edx, dword [ebx + 0x40]
mov ecx, dword [esi]
call fcn.004d3ac0
mov dword [esi], eax
mov ecx, dword [ebx + 8]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebx + 8], ecx
jg 0x4686b0
mov dword [ebx + 8], 0
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x1c