Function at 0x45a5d0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x10]
mov esi, 0x4e230c
mov edi, 0x4e232c
cmp dword [ebx + 4], 0
jne 0x45a62e
push 0x63
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
push ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00488af4
mov dword [edi], eax
cmp dword [edi], 1
jne 0x45a627
cmp dword [ebx + 4], 1
je 0x45a627
cmp dword [ebx + 4], 2
je 0x45a627
push 6
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call fcn.0043ec70
jmp 0x45afb3
mov eax, dword [edi]
jmp 0x45afb3
cmp dword [ebx + 0x2c], 0
jne 0x45a63e
mov eax, 2
jmp 0x45afb3
cmp dword [ebx + 4], 2
jne 0x45a657
mov edx, dword [ebx + 0x2c]
cmp dword [edx + 0x2c], 0
jne 0x45a657
mov eax, 2
jmp 0x45afb3
mov edx, dword [ebx + 0x2c]
cmp dword [edx + 0x18], 1
jne 0x45afae
cmp dword [ebx + 4], 2
jne 0x45a680
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx + 0x2c]
cmp dword [eax + 0x18], 1
je 0x45a680
mov eax, 1
jmp 0x45afb3
mov edx, dword [ebx + 0x2c]
cmp dword [edx + 8], 0
jne 0x45af77
mov eax, dword [ebx + 4]
cmp eax, 2
jne 0x45a6a5
mov edx, dword [ebx + 0x2c]
mov ecx, dword [edx + 0x2c]
cmp dword [ecx + 8], 0
jne 0x45af77
cmp eax, 2
jne 0x45a6bd
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax + 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.004c4ccc
pop ecx
mov dword [edi], eax
jmp 0x45a6e6
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax]
xor ecx, ecx
mov cl, byte [edx]
test byte [ecx*2 + str.________________________________H], 4
je 0x45a6e0
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax]
push edx
call fcn.004c4ccc
pop ecx
mov dword [edi], eax
jmp 0x45a6e6
mov dword [edi], 0x270f
cmp dword [edi], 0
jg 0x45a749
xor ecx, ecx
mov dword [edi], ecx
mov eax, dword [0x4d4294]
mov dword [esi], eax
jmp 0x45a72a
cmp byte [eax + 0x4cc], 9
jne 0x45a720
cmp dword [ebx + 4], 2
jne 0x45a71e
add eax, 4
push eax
mov edx, dword [ebx + 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.004b59d8
test eax, eax
je 0x45a720
inc dword [edi]
jmp 0x45a720
inc dword [edi]
mov eax, dword [esi]
mov edx, dword [eax + 0x744]
mov dword [esi], edx
mov eax, dword [esi]
test eax, eax
jne 0x45a6f8
mov edx, dword [edi]
push edx
push 0x4cee95
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
cmp dword [edi], 0x270f
jne 0x45a7b0
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax]
cmp byte [edx], 0x2d
jne 0x45a7b0
xor ecx, ecx
mov dword [edi], ecx
xor eax, eax
mov dword [esi], eax
xor edx, edx
mov dword [ebp + 8], edx
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx]
cmp byte [eax + 1], 0x31
jne 0x45a780
call sub.USER32.dll_GetDesktopWindow
mov dword [ebp + 8], eax
jmp 0x45a853
mov edx, dword [ebx + 0x2c]
mov ecx, dword [edx]
mov al, byte [ecx + 1]
cmp al, 0x32
jne 0x45a79a
mov edx, dword [0x4d429c]
mov dword [ebp + 8], edx
jmp 0x45a853
cmp al, 0x33
jne 0x45a853
mov ecx, dword [0x4d42a0]
mov dword [ebp + 8], ecx
jmp 0x45a853
xor eax, eax
mov dword [ebp + 8], eax
mov edx, dword [0x4d4294]
mov dword [esi], edx
jmp 0x45a849
cmp byte [eax + 0x4cc], 9
jne 0x45a83f
cmp dword [edi], 0x270f
jne 0x45a810
cmp dword [ebx + 4], 2
jne 0x45a7f2
add eax, 4
push eax
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx]
push eax
call fcn.004b59d8
test eax, eax
je 0x45a831
xor edx, edx
mov dword [edi], edx
jmp 0x45a831
mov ecx, dword [esi]
add ecx, 4
push ecx
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a831
xor ecx, ecx
mov dword [edi], ecx
jmp 0x45a831
cmp dword [ebx + 4], 2
jne 0x45a82f
mov eax, dword [esi]
add eax, 4
push eax
mov edx, dword [ebx + 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.004b59d8
test eax, eax
je 0x45a831
dec dword [edi]
jmp 0x45a831
dec dword [edi]
cmp dword [edi], 0
jg 0x45a83f
mov eax, dword [esi]
mov edx, dword [eax]
mov dword [ebp + 8], edx
jmp 0x45a853
mov ecx, dword [esi]
mov eax, dword [ecx + 0x744]
mov dword [esi], eax
mov eax, dword [esi]
test eax, eax
jne 0x45a7c2
cmp dword [ebp + 8], 0
jne 0x45a884
push 0x4ca688
mov edx, dword [ebx + 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a884
mov eax, dword [0x4ca684]
mov dword [esi], eax
test eax, eax
je 0x45a880
mov edx, dword [eax]
mov dword [ebp + 8], edx
xor ecx, ecx
mov dword [edi], ecx
cmp dword [ebp + 8], 0
je 0x45af48
cmp dword [edi], 0
jne 0x45af48
cmp dword [ebx + 0xc], 0
je 0x45af17
push 0x2e
mov eax, dword [ebx]
push eax
call fcn.004bd108
add esp, 8
mov dword [0x4e2310], eax
test eax, eax
je 0x45af17
cmp dword [esi], 0
je 0x45ae28
push 0x4e2334
mov edx, dword [ebp + 8]
push edx
call fcn.004b7d74
push 0x4cee99
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a906
mov eax, dword [0x4e2334]
push eax
push 0x4cee9d
mov edx, dword [ebp + 0x14]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceea1
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a93a
mov eax, dword [0x4e2338]
push eax
push 0x4ceea5
mov edx, dword [ebp + 0x14]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceea9
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a96e
mov eax, dword [0x4e233c]
push eax
push 0x4ceead
mov edx, dword [ebp + 0x14]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceeb1
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a9a2
mov eax, dword [0x4e2340]
push eax
push 0x4ceeb5
mov edx, dword [ebp + 0x14]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceeb9
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45a9f4
mov eax, dword [esi]
mov edx, dword [eax]
push edx
call fcn.004b5f6c
test eax, eax
je 0x45a9d7
push 0x4e2334
mov ecx, dword [esi]
mov eax, dword [ecx]
push eax
call sub.USER32.dll_ClientToScreen
mov edx, dword [0x4e2334]
push edx
push 0x4ceebe
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceec2
mov eax, dword [0x4e2310]
push eax
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aa45
mov edx, dword [esi]
mov ecx, dword [edx]
push ecx
call fcn.004b5f6c
test eax, eax
je 0x45aa28
push 0x4e2334
mov eax, dword [esi]
mov edx, dword [eax]
push edx
call sub.USER32.dll_ClientToScreen
mov ecx, dword [0x4e2338]
push ecx
push 0x4ceec7
mov eax, dword [ebp + 0x14]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceecb
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aa7c
mov ecx, dword [esi]
mov eax, dword [ecx + 0x510]
push eax
push 0x4ceed0
mov edx, dword [ebp + 0x14]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceed4
mov ecx, dword [0x4e2310]
push ecx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aab3
mov eax, dword [esi]
mov edx, dword [eax + 0x514]
push edx
push 0x4ceed9
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceedd
mov eax, dword [0x4e2310]
push eax
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ab04
mov edx, dword [esi]
mov eax, dword [edx + 0x524]
test eax, eax
je 0x45af77
push 0x4e2314
push 0x18
push eax
call sub.GDI32.dll_GetObjectA
mov edx, dword [0x4e2318]
push edx
push 0x4ceee2
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4ceee6
mov eax, dword [0x4e2310]
push eax
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ab55
mov edx, dword [esi]
mov eax, dword [edx + 0x524]
test eax, eax
je 0x45af77
push 0x4e2314
push 0x18
push eax
call sub.GDI32.dll_GetObjectA
mov edx, dword [0x4e231c]
push edx
push 0x4ceeeb
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push str..state
mov eax, dword [0x4e2310]
push eax
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ac10
mov edx, dword [esi]
cmp byte [edx + 0x4e0], 0
jne 0x45abaa
mov ecx, dword [ebp + 8]
push ecx
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x45ab95
mov eax, dword [ebp + 8]
push eax
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x45abaa
mov edx, dword [ebp + 0x14]
mov esi, str.hidden
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x45af77
mov edx, dword [ebp + 8]
push edx
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x45abc4
mov ecx, dword [ebp + 8]
push ecx
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x45abd9
mov eax, dword [ebp + 0x14]
mov esi, str.minimized
mov edi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x45af77
mov edx, dword [ebp + 8]
push edx
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x45abfb
mov ecx, dword [ebp + 0x14]
mov esi, str.maximized
mov edi, ecx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x45af77
mov edx, dword [ebp + 0x14]
mov esi, str.normal
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x45af77
push str..mdi
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ac5e
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5f6c
test eax, eax
je 0x45ac49
mov eax, dword [ebp + 0x14]
mov esi, 0x4cef23
mov edi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x45af77
mov edx, dword [ebp + 0x14]
mov esi, 0x4cef2a
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x45af77
push str..font
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aca9
mov ecx, dword [esi]
add ecx, 0x54c
mov eax, dword [ebp + 0x14]
push esi
mov edi, ecx
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x45af77
push str..fontbold
mov eax, dword [0x4e2310]
push eax
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ad18
xor edx, edx
mov dword [0x4e2330], edx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x5b0]
mov dword [edi], eax
jmp 0x45acde
sub dword [edi], 0x64
add dword [0x4e2330], 0x64
cmp dword [edi], 0x64
jg 0x45acd4
cmp dword [0x4e2330], 0x190
jle 0x45ad03
mov edx, dword [ebp + 0x14]
mov esi, 0x4cef44
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x45af77
mov edx, dword [ebp + 0x14]
mov esi, 0x4cef4b
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x45af77
push str..fontsize
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ad5d
mov ecx, dword [esi]
mov eax, dword [ecx + 0x5b0]
mov dword [edi], eax
jmp 0x45ad3f
sub dword [edi], 0x64
cmp dword [edi], 0x64
jg 0x45ad3c
mov edx, dword [edi]
push edx
push 0x4cef5e
mov ecx, dword [ebp + 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 6
push str..title
mov eax, dword [0x4e2310]
push eax
call fcn.004bd07c
add esp, 0xc
test eax, eax
jne 0x45adf0
push 0x100
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 8]
push ecx
call sub.USER32.dll_GetWindowTextA
mov eax, dword [ebp + 0x1c]
mov byte [eax + 0x100], 0
push 0x20
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004bce0c
add esp, 8
mov esi, eax
mov dword [0x4e2310], esi
test esi, esi
je 0x45af77
inc dword [0x4e2310]
mov esi, dword [0x4e2310]
cmp byte [esi], 0
je 0x45af77
mov eax, dword [ebp + 0x14]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x45af77
mov edi, dword [esi]
test edi, edi
je 0x45af77
add edi, 4
mov eax, dword [ebp + 0x14]
push esi
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45af77
push 0x4e2334
mov eax, dword [ebp + 8]
push eax
call sub.USER32.dll_GetWindowRect
push 0x4cef6a
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45ae6b
mov ecx, dword [0x4e2334]
push ecx
push 0x4cef6e
mov eax, dword [ebp + 0x14]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4cef72
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aea0
mov ecx, dword [0x4e2338]
push ecx
push 0x4cef76
mov eax, dword [ebp + 0x14]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4cef7a
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45aedb
mov ecx, dword [0x4e233c]
sub ecx, dword [0x4e2334]
push ecx
push 0x4cef7e
mov eax, dword [ebp + 0x14]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
push 0x4cef82
mov edx, dword [0x4e2310]
push edx
call fcn.004bcfe4
add esp, 8
test eax, eax
jne 0x45af77
mov ecx, dword [0x4e2340]
sub ecx, dword [0x4e2338]
push ecx
push 0x4cef86
mov eax, dword [ebp + 0x14]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x45af77
mov edi, dword [esi]
test edi, edi
je 0x45af77
add edi, 4
mov eax, dword [ebp + 0x14]
push esi
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45af77
mov edi, dword [esi]
test edi, edi
je 0x45af77
add edi, 4
mov eax, dword [ebp + 0x14]
push esi
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebx + 0x2c]
push eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
push ecx
call fcn.0046f72c
mov esi, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
cmp dword [ebx + 4], 2
jne 0x45afa2
mov edx, dword [ebx + 0x2c]
push edx
push esi
call fcn.0046f72c
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
xor eax, eax
mov dword [ebx + 4], eax
mov eax, 2
jmp 0x45afb3
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0x18