Function at 0x4417e0
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
mov eax, 0x9020
call fcn.004444f0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x9034]
test edi, edi
jne 0x4417fe
mov edi, 0x44f4f8
mov ebx, dword [esp + 0x9038]
test ebx, ebx
jne 0x44181b
mov dword [esp + 0x9038], 0x44f4f8
mov ebx, dword [esp + 0x9038]
mov esi, dword [esp + 0x903c]
test esi, esi
jne 0x44182b
mov esi, 0x44f4f8
mov ebp, dword [esp + 0x9040]
test ebp, ebp
jne 0x44183b
mov ebp, 0x44f4f8
mov al, byte [edi]
cmp al, 0x41
je 0x441845
cmp al, 0x61
jne 0x4418bd
mov cl, byte [edi + 1]
test cl, cl
jne 0x4418bd
cmp byte [ebx], 0
jne 0x4418bd
cmp byte [esi], 0
jne 0x4418bd
cmp byte [ebp], 0
jne 0x4418bd
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
test esi, esi
je 0x44187e
mov al, byte [0x45d5fd]
test al, al
jne 0x44187e
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x44187e
xor esi, esi
mov al, byte [esp + 0x9054]
test al, al
je 0x44189b
pop edi
xor eax, eax
test esi, esi
pop esi
pop ebp
setne al
pop ebx
add esp, 0x9020
ret
mov al, byte [esp + 0x9048]
test al, al
je 0x4418b0
test esi, esi
je 0x4418b0
mov dword [0x45d6d0], esi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x9020
ret
test al, al
jne 0x44198b
cmp byte [ebx], 0
jne 0x44198b
cmp byte [esi], 0
jne 0x44198b
cmp byte [ebp], 0
jne 0x44198b
mov ecx, dword [0x45d6d0]
test ecx, ecx
mov edi, dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
jne 0x4418fb
xor eax, eax
jmp 0x44192f
push ecx
call esi
test eax, eax
jne 0x44190a
mov ecx, dword [0x45d6d0]
jmp 0x44192f
mov al, byte [0x45d5fd]
test al, al
jne 0x441927
mov eax, dword [0x45d6d0]
push eax
call edi
test eax, eax
jne 0x441927
mov ecx, dword [0x45d6d0]
jmp 0x44192f
mov ecx, dword [0x45d6d0]
mov eax, ecx
mov dl, byte [esp + 0x9054]
test dl, dl
je 0x44194e
xor ecx, ecx
test eax, eax
setne cl
pop edi
pop esi
pop ebp
pop ebx
mov eax, ecx
add esp, 0x9020
ret
test ecx, ecx
je 0x441a4d
push ecx
call esi
test eax, eax
je 0x441a4d
mov al, byte [0x45d5fd]
test al, al
jne 0x44197b
mov edx, dword [0x45d6d0]
push edx
call edi
test eax, eax
je 0x441a4d
mov eax, dword [0x45d6d0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9020
ret
push 6
push str.ahk_id
push edi
call fcn.0044e5ed
add esp, 0xc
test eax, eax
jne 0x441aeb
add edi, 6
push edi
call fcn.00407b50
neg al
sbb eax, eax
and eax, 6
add eax, 0xa
push eax
push 0
push edi
call fcn.00444f82
add esp, 0x10
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x441a4d
mov al, byte [0x45d5fd]
test al, al
jne 0x4419e3
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x441a4d
cmp byte [esi], 0
je 0x441a9f
push 0x7fff
lea eax, [esp + 0x1034]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x441a9f
mov eax, dword [0x45d5f8]
dec eax
je 0x441a75
dec eax
lea eax, [esp + 0x1030]
je 0x441a5a
lea ebx, [ebx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x441a44
test cl, cl
je 0x441a40
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x441a44
add eax, 2
add esi, 2
test cl, cl
jne 0x441a20
xor eax, eax
jmp 0x441a49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x441a9f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x9020
ret
push esi
push eax
call fcn.00443c60
add esp, 8
test eax, eax
je 0x441a9f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x9020
ret
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x441a80
sub eax, edx
push eax
lea ecx, [esp + 0x1034]
push esi
push ecx
call fcn.00444c60
add esp, 0xc
test eax, eax
je 0x441a68
push ebp
push ebx
push edi
call fcn.00441260
add esp, 0xc
test eax, eax
je 0x441a4d
mov al, byte [esp + 0x9054]
test al, al
je 0x441ac9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x9020
ret
mov al, byte [esp + 0x9048]
test al, al
je 0x441ade
test edi, edi
je 0x441ade
mov dword [0x45d6d0], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9020
ret
mov bl, byte [esp + 0x9054]
xor eax, eax
mov dword [esp + 0x1014], eax
mov dword [esp + 0x1018], eax
mov dword [esp + 0x101c], eax
mov dword [esp + 0x1020], eax
mov dword [esp + 0x1024], eax
mov dword [esp + 0x1028], eax
mov dword [esp + 0x102c], eax
mov byte [esp + 0xc10], al
mov byte [esp + 0x810], al
mov byte [esp + 0x410], al
mov byte [esp + 0x10], al
mov al, byte [esp + 0x9044]
test al, al
jne 0x441b55
test bl, bl
mov byte [esp + 0x1010], 0
je 0x441b5d
mov byte [esp + 0x1010], 1
push 0x3ff
lea edx, [esp + 0x14]
push edi
push edx
call fcn.00443880
mov eax, dword [esp + 0x9044]
push 0x3ff
push eax
lea ecx, [esp + 0x424]
push ecx
mov byte [esp + 0x427], 0
call fcn.00443880
push 0x3ff
lea edx, [esp + 0x82c]
push esi
push edx
mov byte [esp + 0x833], 0
call fcn.00443880
push 0x3ff
lea eax, [esp + 0xc38]
push ebp
push eax
mov byte [esp + 0xc3f], 0
call fcn.00443880
mov ecx, dword [esp + 0x907c]
mov edx, dword [esp + 0x9080]
add esp, 0x30
lea eax, [esp + 0x10]
push eax
push 0x441670
mov byte [esp + 0x1017], 0
mov dword [esp + 0x1028], ecx
mov dword [esp + 0x102c], edx
call dword [sym.imp.USER32.dll_EnumWindows]
test bl, bl
je 0x441c12
mov eax, dword [esp + 0x1014]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9020
ret
mov al, byte [esp + 0x9048]
test al, al
mov eax, dword [esp + 0x1018]
je 0x441c2d
test eax, eax
je 0x441c2d
mov dword [0x45d6d0], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9020
ret