Function at 0x4178b0
Capabilities:
Check for time delay via gettickcount
Get graphical window text

Disassembly:
mov eax, 0x1054
call fcn.00530230
mov eax, dword [0x58cb30]
xor eax, esp
mov dword [esp + 0x1050], eax
mov eax, dword [esp + 0x1058]
push ebx
mov ebx, dword [esp + 0x1064]
push ebp
push esi
push edi
mov dword [esp + 0x2c], eax
mov edi, ecx
mov eax, dword [esp + 0x106c]
xor esi, esi
mov cl, byte [esp + 0x1074]
push eax
push 4
push 0x110a
push dword [edi]
mov dword [esp + 0x2c], edi
mov byte [esp + 0x23], cl
mov dword [esp + 0x38], ebx
mov byte [esp + 0x44], cl
mov dword [esp + 0x24], esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebp, eax
mov dword [esp + 0x20], ebp
test ebp, ebp
je 0x417b17
jmp 0x417930
xor eax, eax
mov dword [esp + 0x38], 0xd
mov word [esp + 0x60], ax
lea eax, [esp + 0x60]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
push eax
push 0
push 0x113e
push dword [edi]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x5c], 0x800
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x5c]
mov edi, dword [ebx]
mov dword [esp + 0x30], edi
test esi, esi
je 0x417987
lea eax, [esp + 0x60]
push eax
push dword [esi + 8]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x417a05
mov eax, dword [esp + 0x2c]
neg esi
mov dword [esp + 0x18], edi
sbb esi, esi
xor ecx, ecx
and esi, edi
xor edx, edx
lea ebp, [eax + edi*2]
lea eax, [esp + 0x60]
lea eax, [eax + esi*2]
mov esi, edi
movzx ebx, word [eax]
movzx edi, word [ebp]
mov dword [esp + 0x24], eax
test bx, bx
jne 0x4179ca
test di, di
je 0x4179f5
cmp cx, 0x5c
jne 0x4179c5
cmp dx, cx
jmp 0x4179c8
cmp edi, 0x5c
je 0x4179f5
push edi
call fcn.004c1b20
push ebx
mov esi, eax
call fcn.004c1b20
cmp eax, esi
jne 0x4179f9
mov eax, dword [esp + 0x24]
add ebp, 2
mov esi, dword [esp + 0x18]
add eax, 2
inc esi
mov ecx, ebx
mov dword [esp + 0x18], esi
mov edx, edi
jmp 0x4179a5
mov edi, esi
jmp 0x4179fd
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
cmp edi, dword [ebx]
jle 0x417a13
mov esi, ebp
mov dword [ebx], edi
mov dword [esp + 0x14], esi
jmp 0x417a38
test byte [esp + 0x40], 0x20
je 0x417a34
mov edi, dword [esp + 0x1c]
push ebp
push 1
push 0x1102
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x14]
jmp 0x417a3c
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
push ebp
push 1
push 0x110a
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebp, eax
mov dword [esp + 0x20], ebp
test ebp, ebp
jne 0x417930
test esi, esi
je 0x417b17
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [esp + 0x14]
mov esi, eax
push ebp
push 2
push 0x1102
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [edi + 0xc], 0
je 0x417aa8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, dword [edi + 0xc]
jbe 0x417aa8
push ebp
push 0x8001
push 0x1102
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
jmp 0x417b19
movzx eax, byte [esp + 0x13]
mov esi, dword [esp + 0x14]
push esi
lea eax, [eax*4 + 5]
push eax
push 0x110b
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push 0
push 0x1114
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx]
mov ebp, dword [esp + 0x2c]
movzx eax, word [ebp + eax*2]
push eax
call fcn.004a2f40
test al, al
je 0x417b03
lea esp, [esp]
inc dword [ebx]
mov eax, dword [ebx]
movzx eax, word [ebp + eax*2]
push eax
call fcn.004a2f40
test al, al
jne 0x417af0
push dword [esp + 0x34]
mov ecx, edi
push ebx
push esi
push ebp
call fcn.004178b0
test eax, eax
je 0x417b17
mov esi, eax
mov eax, esi
mov ecx, dword [esp + 0x1060]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00530218
add esp, 0x1054
ret 0x10