Function at 0x41f7c4
Capabilities:
Check for time delay via gettickcount
Check if file exists
Enumerate files on windows
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffd18
mov eax, 0x4608a0
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call fcn.00455438
mov word [ebp - 0x2c], 8
lea edx, [ebp - 1]
push edx
call fcn.00423a7e
call fcn.0045c2ec
mov dword [ebp - 0x40], eax
push 1
push 0xffffffffffffffff
push 0x100c
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
mov dword [ebp - 0x44], eax
push 1
push 0x465b2d
call fcn.0040b0dc
push 0x1c2
call fcn.00408028
push eax
push 0x465b2d
call fcn.0040b14c
mov eax, dword [0x466ac4]
test eax, eax
je 0x41f83f
push eax
call sub.KERNEL32.dll_FindCloseChangeNotification
lea edx, [ebp - 0x470]
push edx
push 0x400
call sub.KERNEL32.dll_GetCurrentDirectoryA
lea ecx, [ebp - 0x470]
push ecx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x41f87f
lea eax, [ebp - 0x470]
push eax
call fcn.0040809c
cmp byte [eax], 0
je 0x41f87f
push 0x46099c
call fcn.00457f40
pop ecx
jmp 0x41f83f
lea edx, [ebp - 0x470]
push edx
call fcn.0040809c
cmp byte [eax], 0
jne 0x41f896
lea eax, [ebp - 0x470]
push eax
call fcn.00417fa8
push 0x465b11
call fcn.0040a5e8
lea edx, [ebp - 0x5b0]
push edx
push 0x46099f
call sub.KERNEL32.dll_FindFirstFileA
cmp eax, 0xffffffff
mov dword [ebp - 0x48], eax
sete dl
push 0
push 0
push 0xb
and edx, 1
mov eax, dword [ebx]
mov edi, edx
push eax
xor esi, esi
call sub.USER32.dll_SendMessageA
push ebx
call fcn.00422d98
push 0xffffffffffffffff
mov edx, dword [ebx + 8]
push edx
call sub.COMCTL32.DLL_ImageList_Remove
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
mov word [ebp - 0x2c], 8
lea edx, [ebp - 0x1c]
push 1
push edx
call fcn.00420854
test edi, edi
jne 0x41fcbf
cmp dword [ebp - 0x4c], 0
jne 0x41f93f
test esi, 0x1f
jne 0x41f93f
call fcn.0045c2ec
sub eax, dword [ebp - 0x40]
cmp eax, 0x1f4
jle 0x41f93f
mov dword [ebp - 0x4c], 1
push 0x7f02
push 0
call sub.USER32.dll_LoadCursorA
push eax
call sub.USER32.dll_SetCursor
lea eax, [ebp - 0x584]
mov edx, 0x4609a3
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41f96c
test cl, cl
je 0x41f966
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41f96c
add eax, 2
add edx, 2
test cl, cl
jne 0x41f94a
je 0x41fc9d
mov dword [ebp - 0x5d8], 7
xor eax, eax
mov dword [ebp - 0x5d4], esi
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5bc], eax
lea edx, [ebp - 0x584]
lea eax, [ebp - 0x584]
mov dword [ebp - 0x5c4], edx
mov edx, 0x4609a5
lea edi, [ebp - 0x584]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41fa01
test cl, cl
je 0x41f9c3
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41fa01
add eax, 2
add edx, 2
test cl, cl
jne 0x41f9a7
jne 0x41fa01
mov dword [ebp - 0x50], 1
mov edi, 0x4609a8
lea eax, [ebp - 0x470]
push eax
call fcn.0040809c
cmp byte [eax], 0
jne 0x41fa01
lea edx, [ebp - 0x5b0]
push edx
mov ecx, dword [ebp - 0x48]
push ecx
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
sete al
and eax, 1
mov edi, eax
jmp 0x41f901
lea eax, [ebp - 0x58]
lea edx, [ebp - 0x6d8]
push eax
push edx
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x1c]
push ecx
mov eax, dword [ebp - 0x5b0]
push eax
push edi
push edx
call fcn.00420910
cmp dword [ebp - 0x58], 0xffffffff
je 0x41fa32
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x5bc], ecx
jmp 0x41fa5c
mov eax, dword [ebp - 0x54]
push eax
push 0xffffffffffffffff
mov edx, dword [ebx + 8]
push edx
call sub.COMCTL32.DLL_ImageList_ReplaceIcon
mov edi, eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x5bc], edi
push edi
push eax
call fcn.00420aac
mov edx, dword [ebp - 0x54]
push edx
call sub.USER32.dll_DestroyIcon
lea ecx, [ebp - 0x6fc]
push ecx
call fcn.004262c0
lea eax, [ebp - 0x6f4]
push eax
call fcn.004262c0
xor eax, eax
push esi
lea edi, [ebp - 0x584]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0xb4c]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x6d8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x74c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push 0x50
push eax
push edx
call fcn.00453048
add esp, 0xc
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
lea edx, [esp + 8]
push edx
call fcn.004262e0
lea ecx, [ebp - 0x6fc]
push ecx
lea eax, [ebp - 0x60]
push eax
call fcn.004262f8
add esp, 0xfffffff8
push 0
lea edx, [esp + 4]
push edx
call fcn.004262cc
lea ecx, [ebp - 0x6f4]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.004262f8
mov edx, dword [ebp - 0x5b0]
lea eax, [esi + 1]
mov dword [ebp - 0x6ec], edx
lea edx, [ebp - 0xb4c]
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x6e8], ecx
mov ecx, dword [ebp - 0x598]
mov dword [ebp - 0x6e4], ecx
mov dword [ebp - 0x6dc], eax
push edx
push 0x46feb8
call fcn.00406dfc
mov dword [ebp - 0x5b8], eax
cmp dword [0x4669f7], 0
jne 0x41fb5a
mov ecx, dword [ebp - 0x5c4]
push ecx
call fcn.00408f54
lea eax, [ebp - 0x5d8]
push eax
push 0
push 0x1007
mov edx, dword [ebx]
push edx
call sub.USER32.dll_SendMessageA
test byte [ebp - 0x5b0], 0x10
mov edi, eax
jne 0x41fbc8
lea eax, [ebp - 0xb80]
push eax
add esp, 0xfffffff8
mov edx, dword [ebp - 0x6fc]
mov dword [esp], edx
mov ecx, dword [ebp - 0x6f8]
mov dword [esp + 4], ecx
call fcn.004082fc
mov dword [ebp - 0xba0], 1
lea eax, [ebp - 0xb80]
lea edx, [ebp - 0xba8]
mov dword [ebp - 0xb94], eax
push edx
push edi
push 0x102e
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
mov dword [ebp - 0xbc8], 2
lea eax, [ebp - 0x6d8]
lea edx, [ebp - 0xbd0]
mov dword [ebp - 0xbbc], eax
push edx
push edi
push 0x102e
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
lea eax, [ebp - 0x70]
push eax
lea edx, [ebp - 0x59c]
push edx
call sub.KERNEL32.dll_FileTimeToLocalFileTime
lea ecx, [ebp - 0xbe0]
push ecx
lea eax, [ebp - 0x70]
push eax
call sub.KERNEL32.dll_FileTimeToSystemTime
push 0x32
lea edx, [ebp - 0xc14]
push edx
push 0
lea ecx, [ebp - 0xbe0]
push ecx
push 2
push 0x400
call sub.KERNEL32.dll_GetTimeFormatA
push 0x32
lea eax, [ebp - 0xc48]
push eax
push 0
lea edx, [ebp - 0xbe0]
push edx
push 0
push 0x400
call sub.KERNEL32.dll_GetDateFormatA
lea ecx, [ebp - 0xc14]
lea eax, [ebp - 0xc48]
push ecx
push eax
lea edx, [ebp - 0xcac]
push 0x4609aa
push edx
call fcn.00456f9c
add esp, 0x10
mov dword [ebp - 0xccc], 3
lea ecx, [ebp - 0xcac]
lea eax, [ebp - 0xcd4]
mov dword [ebp - 0xcc0], ecx
push eax
push edi
push 0x102e
mov edx, dword [ebx]
push edx
call sub.USER32.dll_SendMessageA
inc esi
lea ecx, [ebp - 0x5b0]
push ecx
mov eax, dword [ebp - 0x48]
push eax
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
sete dl
and edx, 1
mov edi, edx
test edi, edi
je 0x41f909
mov eax, dword [ebp - 0x48]
push eax
call sub.KERNEL32.dll_FindClose
xor edx, edx
mov dl, byte [ebp - 0x470]
cmp edx, 0x5c
jne 0x41fd0c
xor ecx, ecx
mov cl, byte [ebp - 0x46f]
cmp ecx, 0x5c
jne 0x41fd0c
push 0x5c
lea eax, [ebp - 0x46e]
push eax
call fcn.00452e98
add esp, 8
test eax, eax
je 0x41fd07
push 0x5c
inc eax
push eax
call fcn.00452e98
add esp, 8
test eax, eax
jne 0x41fd0c
xor edx, edx
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0
jne 0x41fe22
lea ecx, [ebp - 0x470]
push ecx
call fcn.0040809c
cmp byte [eax], 0
je 0x41fe22
mov dword [ebp - 0xcfc], 7
xor eax, eax
mov dword [ebp - 0xcf8], esi
mov dword [ebp - 0xcf4], eax
mov dword [ebp - 0xce0], eax
mov dword [ebp - 0xce8], 0x4609b0
lea edx, [ebp - 0xdfc]
lea ecx, [ebp - 0x1c]
push edx
push 0x4609b3
push ecx
call fcn.00420c38
mov esi, eax
push esi
push 0xffffffffffffffff
mov eax, dword [ebx + 8]
push eax
call sub.COMCTL32.DLL_ImageList_ReplaceIcon
mov dword [ebp - 0xce0], eax
push esi
call sub.USER32.dll_DestroyIcon
lea edx, [ebp - 0xe20]
push edx
call fcn.004262c0
lea ecx, [ebp - 0xe18]
push ecx
call fcn.004262c0
push 0x474
push 0
lea eax, [ebp - 0x1270]
push eax
call fcn.00452e2c
lea edi, [ebp - 0x1270]
add esp, 0xc
mov eax, edi
mov esi, 0x4609ba
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xe10], 0x10
lea edx, [ebp - 0x1270]
push edx
push 0x46feb8
call fcn.00406dfc
mov dword [ebp - 0xcdc], eax
lea ecx, [ebp - 0xcfc]
push ecx
push 0
push 0x1007
mov eax, dword [ebx]
push eax
call sub.USER32.dll_SendMessageA
mov dword [ebp - 0x1290], 2
lea edx, [ebp - 0xdfc]
lea ecx, [ebp - 0x1298]
mov dword [ebp - 0x1284], edx
push ecx
push eax
push 0x102e
mov eax, dword [ebx]
push eax
call sub.USER32.dll_SendMessageA
push 0x46feb8
call fcn.004070b4
mov edx, dword [0x4669cb]
push edx
push ebx
call fcn.00422080
xor eax, eax
cmp dword [ebp + 0xc], 0
je 0x41fea4
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
jne 0x41fe9a
push 0
push 0
push 0x1004
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
cmp eax, dword [ebp - 0x44]
jg 0x41fe67
test eax, eax
jle 0x41fe67
dec eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x12b0], 3
mov dword [ebp - 0x12b4], 3
lea edx, [ebp - 0x12c0]
push edx
mov ecx, dword [ebp - 0x44]
push ecx
push 0x102b
mov eax, dword [ebx]
push eax
call sub.USER32.dll_SendMessageA
mov eax, 1
jmp 0x41fea4
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.0041ffa8
test eax, eax
jne 0x41fee4
mov dword [ebp - 0x12d8], 3
mov dword [ebp - 0x12dc], 3
lea ecx, [ebp - 0x12e8]
push ecx
cmp dword [ebp - 0x44], 0xffffffff
je 0x41fecf
cmp dword [ebp + 0xc], 0
jne 0x41fed3
xor eax, eax
jmp 0x41fed6
mov eax, dword [ebp - 0x44]
push eax
push 0x102b
mov edx, dword [ebx]
push edx
call sub.USER32.dll_SendMessageA
push 1
push 0xffffffffffffffff
push 0x100c
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
mov esi, eax
push 0
push 0x465b2d
call fcn.0040b14c
push 0
push 1
push 0xb
mov eax, dword [ebx]
push eax
call sub.USER32.dll_SendMessageA
push 0
push 0
push 0x102a
mov edx, dword [ebx]
push edx
call sub.USER32.dll_SendMessageA
push 0
push esi
push 0x1013
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_SendMessageA
push ebx
call fcn.004219d8
push ebx
call fcn.00421b70
cmp dword [ebp - 0x4c], 0
je 0x41ff56
push 0x7f00
push 0
call sub.USER32.dll_LoadCursorA
push eax
call sub.USER32.dll_SetCursor
push 0
push 0x465b2d
call fcn.0040b0dc
push 0x465b11
call fcn.00409a20
push 3
push 0
push 0x4609bd
call sub.KERNEL32.dll_FindFirstChangeNotificationA
mov dword [0x466ac4], eax
push 2
lea eax, [ebp - 0x1c]
push eax
call fcn.004208c8
push 2
lea edx, [ebp - 1]
push edx
call fcn.00423a98
mov ecx, dword [ebp - 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8