Function at 0x459fd8
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get common file path
Get file attributes
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x459fe1
mov eax, dword [ebp - 4]
add esp, 0xfffff31c
push ebx
push esi
push edi
mov dword [ebp - 0xc34], edx
mov ebx, eax
mov eax, 0x498330
call fcn.00482ea0
mov word [ebp - 0xc20], 8
inc dword [0x4afc14]
inc dword [ebp - 0xc14]
mov word [ebp - 0xc20], 0x14
call fcn.0048e410
mov dword [ebp - 0xc38], eax
push 1
push 0xffffffffffffffff
push 0x100c
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0xc3c], eax
mov eax, 0x4adb14
mov edx, 1
call fcn.00441ee8
mov eax, 0x1c2
call fcn.00410804
mov edx, eax
mov eax, 0x4adb14
call fcn.00441f48
mov eax, dword [0x4afc24]
test eax, eax
je 0x45a086
push eax
call sub.KERNEL32.DLL_FindCloseChangeNotification
mov dword [0x4afc24], 0xffffffff
mov byte [ebp - 0xc3d], 0
lea edx, [ebp - 0x1054]
push edx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebx + 0x421], 0
je 0x45a0b6
mov eax, 0x4adb04
call fcn.0046cbc4
jmp 0x45a17c
lea eax, [ebp - 0x1054]
xor edx, edx
call fcn.0040ad6c
test al, al
jne 0x45a104
lea ecx, [ebp - 0x1054]
push ecx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x45a104
lea eax, [ebp - 0x1054]
call fcn.0040a924
test eax, eax
je 0x45a104
mov eax, 0x498104
xor edx, edx
call fcn.00462d1c
xor ecx, ecx
mov cl, al
cmp ecx, 1
sbb eax, eax
neg eax
mov byte [ebp - 0xc3d], al
lea eax, [ebp - 0x1054]
call fcn.0040a924
cmp byte [eax], 0
jne 0x45a11a
lea eax, [ebp - 0x1054]
call fcn.004498c0
lea eax, [ebp - 0x1054]
call fcn.0040add4
mov esi, eax
cmp esi, 0xffffffff
je 0x45a169
call fcn.00462cf8
mov ecx, esi
mov edx, 1
shl edx, cl
and eax, edx
jne 0x45a169
dec dword [ebp - 0xc14]
cmp dword [0x4afc14], 0
jle 0x45a158
dec dword [0x4afc14]
mov eax, dword [ebp - 0xc30]
mov dword fs:[0], eax
jmp 0x45a943
cmp byte [ebp - 0xc3d], 0
jne 0x45a17c
mov eax, 0x4adb04
call fcn.0046d0f8
push 0
push 0
push 0xb
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, ebx
call fcn.0045e434
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_Remove
cmp byte [ebp - 0xc3d], 0
je 0x45a1a7
xor eax, eax
jmp 0x45a1c4
push 0x4401
push 0x160
lea edx, [ebp - 0x11b4]
push edx
push 0
push 0x498105
call sub.SHELL32.DLL_SHGetFileInfoA
test eax, eax
jne 0x45a204
lea eax, [ebp - 0x15b4]
mov edx, 0x400
call fcn.00462ca0
cmp byte [ebp - 0xc3d], 0
je 0x45a1e5
xor eax, eax
jmp 0x45a204
push 0x4401
lea edx, [ebp - 0x11b4]
push 0x160
push edx
lea ecx, [ebp - 0x15b4]
push 0
push ecx
call sub.SHELL32.DLL_SHGetFileInfoA
push eax
push 1
push 0x1003
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov byte [ebp - 0xc3e], 0
mov edx, 0x498110
mov eax, 0x498107
mov ecx, 1
call fcn.00460c28
test eax, eax
setne al
and eax, 1
mov byte [ebp - 0xc3f], al
cmp byte [ebx + 0x421], 0
je 0x45a251
mov eax, ebx
call fcn.0045a990
jmp 0x45a797
mov word [ebp - 0xc20], 0x2c
lea eax, [ebp - 0xc0c]
call fcn.00410d98
inc dword [ebp - 0xc14]
mov edx, 0x49811f
mov word [ebp - 0xc20], 0x38
lea eax, [ebp - 0xc0c]
call fcn.00410e38
lea eax, [ebp - 0x163c]
call fcn.00411d14
lea eax, [ebp - 0x1618]
call fcn.00411d14
lea eax, [ebp - 0x15f4]
call fcn.00411d14
mov byte [ebp - 0xc40], 0
xor edi, edi
jmp 0x45a624
cmp byte [ebp - 0xc3e], 0
jne 0x45a2ef
test edi, 0x1f
jne 0x45a2ef
call fcn.0048e410
sub eax, dword [ebp - 0xc38]
cmp eax, 0x1f4
jle 0x45a2ef
mov byte [ebp - 0xc3e], 1
push 0x7f02
push 0
call sub.USER32.DLL_LoadCursorA
push eax
call sub.USER32.DLL_SetCursor
push 0x498105
lea eax, [ebp - 0x2250]
push eax
call fcn.004829b4
add esp, 8
test eax, eax
je 0x45a624
mov dword [ebp - 0x2278], 7
mov dword [ebp - 0x2274], edi
xor edx, edx
mov dword [ebp - 0x225c], 0xffffffff
mov dword [ebp - 0x2270], edx
lea ecx, [ebp - 0x2250]
mov dword [ebp - 0x2264], ecx
lea eax, [ebp - 0x2250]
push 0x498104
push eax
call fcn.004829b4
add esp, 8
test eax, eax
sete dl
and edx, 1
mov byte [ebp - 0xc49], dl
mov word [ebp - 0xc20], 0x38
cmp byte [ebp - 0xc49], 0
je 0x45a394
lea eax, [ebp - 0x1054]
call fcn.0040a924
cmp byte [eax], 0
je 0x45a624
mov edx, dword [ebp - 0x11b0]
mov dword [ebp - 0x225c], edx
mov byte [ebp - 0xc40], 1
push 0xc30
push 0
lea ecx, [ebp - 0x2ea8]
push ecx
call fcn.00482880
add esp, 0xc
lea eax, [ebp - 0x2250]
push eax
lea edx, [ebp - 0x2ea8]
push edx
call fcn.00482a00
add esp, 8
lea edx, [ebp - 0x1e50]
lea eax, [ebp - 0x2aa8]
call fcn.0040eac4
mov ecx, dword [ebp - 0x1650]
mov dword [ebp - 0x22a8], ecx
mov ecx, dword [ebp - 0x164c]
mov dword [ebp - 0x22a4], ecx
lea ecx, [edi + 1]
mov dword [ebp - 0x22a0], 0
mov dword [ebp - 0x229c], 0
mov eax, dword [ebp - 0x1648]
mov dword [ebp - 0x2298], eax
mov eax, 0x4bb27c
mov edx, dword [ebp - 0x15c0]
mov dword [ebp - 0x2294], edx
mov edx, dword [ebp - 0x15bc]
mov dword [ebp - 0x2290], edx
lea edx, [ebp - 0x2ea8]
mov dword [ebp - 0x2284], ecx
call fcn.00460190
mov dword [ebp - 0x2258], eax
cmp byte [ebp - 0xc3f], 0
jne 0x45a454
mov eax, dword [ebp - 0x2264]
call fcn.004415c4
call fcn.0040e9e0
test eax, eax
je 0x45a48c
cmp word [ebp - 0x1e50], 0
je 0x45a48c
lea edx, [ebp - 0x1e50]
lea ecx, [ebp - 0x2278]
mov dword [ebp - 0x2264], edx
push ecx
push 0
push 0x104d
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
jmp 0x45a4a3
lea eax, [ebp - 0x2278]
push eax
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
cmp dword [ebp - 0x1640], 0
jne 0x45a4ef
push dword [ebp - 0x22a4]
push dword [ebp - 0x22a8]
lea eax, [ebp - 0x2edc]
call fcn.00440c08
mov dword [ebp - 0x2efc], 1
lea edx, [ebp - 0x2edc]
lea ecx, [ebp - 0x2f04]
mov dword [ebp - 0x2ef0], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45a517
mov dword [ebp - 0x2f24], 1
mov dword [ebp - 0x2f18], 0x4980e4
lea eax, [ebp - 0x2f2c]
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xc49], 0
je 0x45a54c
mov dword [ebp - 0x2f4c], 2
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x2f54]
mov dword [ebp - 0x2f40], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45a574
mov dword [ebp - 0x2f74], 2
mov dword [ebp - 0x2f68], 0x4980e4
lea eax, [ebp - 0x2f7c]
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
lea edx, [ebp - 0xc54]
push edx
lea ecx, [ebp - 0x15c0]
push ecx
call sub.KERNEL32.DLL_FileTimeToLocalFileTime
lea eax, [ebp - 0x2f8c]
push eax
lea edx, [ebp - 0xc54]
push edx
call sub.KERNEL32.DLL_FileTimeToSystemTime
push 0x64
lea ecx, [ebp - 0x2ff0]
push ecx
push 0
lea eax, [ebp - 0x2f8c]
push eax
push 0
push 0x400
call sub.KERNEL32.DLL_GetDateFormatA
push 0x498121
lea edx, [ebp - 0x2ff0]
push edx
call fcn.00482924
add esp, 8
push 0x64
lea ecx, [ebp - 0x2ff0]
push ecx
call fcn.00482a30
pop ecx
lea edx, [ebp - 0x2ff0]
add eax, edx
push eax
push 0
lea eax, [ebp - 0x2f8c]
push eax
push 2
push 0x400
call sub.KERNEL32.DLL_GetTimeFormatA
mov dword [ebp - 0x3010], 3
lea ecx, [ebp - 0x2ff0]
lea eax, [ebp - 0x3018]
mov dword [ebp - 0x3004], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
inc edi
cmp byte [ebp - 0xc3d], 0
jne 0x45a648
lea edx, [ebp - 0x2250]
lea eax, [ebp - 0xc0c]
xor ecx, ecx
call fcn.00410eac
test al, al
jne 0x45a2b3
xor edx, edx
mov dl, byte [ebp - 0x1054]
cmp edx, 0x5c
jne 0x45a697
xor eax, eax
mov al, byte [ebp - 0x1053]
cmp eax, 0x5c
jne 0x45a697
push 0x5c
lea edx, [ebp - 0x1052]
push edx
call fcn.00482b3d
add esp, 8
mov word [ebp - 0xc20], 0x38
test eax, eax
je 0x45a690
push 0x5c
inc eax
push eax
call fcn.00482b3d
add esp, 8
test eax, eax
jne 0x45a697
mov byte [ebp - 0xc40], 0
cmp byte [ebp - 0xc40], 0
jne 0x45a778
lea eax, [ebp - 0x1054]
call fcn.0040a924
cmp byte [eax], 0
je 0x45a778
mov dword [ebp - 0x3040], 7
mov dword [ebp - 0x303c], edi
xor ecx, ecx
mov edx, dword [ebp - 0x11b0]
lea eax, [ebp - 0x3c70]
mov dword [ebp - 0x3024], edx
mov dword [ebp - 0x3038], ecx
mov dword [ebp - 0x302c], 0x498104
push 0xc30
push 0
push eax
call fcn.00482880
add esp, 0xc
push 0x498104
lea edx, [ebp - 0x3c70]
push edx
call fcn.00482a00
mov dword [ebp - 0x3060], 0x10
add esp, 8
lea edx, [ebp - 0x3c70]
mov eax, 0x4bb27c
call fcn.00460190
mov dword [ebp - 0x3020], eax
lea ecx, [ebp - 0x3040]
push ecx
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov word [ebp - 0xc20], 0x38
mov dword [ebp - 0x3c90], 2
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x3c98]
mov dword [ebp - 0x3c84], edx
push ecx
push eax
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
dec dword [ebp - 0xc14]
lea eax, [ebp - 0xc0c]
mov edx, 2
call fcn.00410e08
mov word [ebp - 0xc20], 0x14
mov eax, 0x4bb27c
call fcn.00460438
mov eax, ebx
call fcn.0045e0b0
xor eax, eax
mov word [ebp - 0xc20], 0x14
cmp dword [ebp - 0xc34], 0
je 0x45a82b
mov edx, dword [ebp - 0xc34]
cmp byte [edx], 0
jne 0x45a81e
push 0
push 0
push 0x1004
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp eax, dword [ebp - 0xc3c]
jg 0x45a7ea
test eax, eax
jle 0x45a7ea
dec eax
mov dword [ebp - 0xc3c], eax
mov dword [ebp - 0x3cb0], 3
mov dword [ebp - 0x3cb4], 3
lea edx, [ebp - 0x3cc0]
push edx
push dword [ebp - 0xc3c]
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x45a82b
mov edx, dword [ebp - 0xc34]
mov eax, ebx
call fcn.0045ab8c
test eax, eax
jne 0x45a873
mov dword [ebp - 0x3cd8], 3
mov dword [ebp - 0x3cdc], 3
lea edx, [ebp - 0x3ce8]
push edx
cmp dword [ebp - 0xc3c], 0xffffffff
je 0x45a85c
cmp dword [ebp - 0xc34], 0
jne 0x45a860
xor ecx, ecx
jmp 0x45a866
mov ecx, dword [ebp - 0xc3c]
push ecx
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
push 1
push 0xffffffffffffffff
push 0x100c
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
mov eax, 0x4adb14
xor edx, edx
call fcn.00441f48
push 0
push 1
push 0xb
push dword [ebx]
call sub.USER32.DLL_SendMessageA
push 0
push 0
push 0x102a
push dword [ebx]
call sub.USER32.DLL_SendMessageA
push 0
push esi
push 0x1013
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, ebx
call fcn.0045d2f4
mov eax, ebx
call fcn.0045d528
cmp byte [ebp - 0xc3e], 0
je 0x45a8e6
push 0x7f00
push 0
call sub.USER32.DLL_LoadCursorA
push eax
call sub.USER32.DLL_SetCursor
mov eax, 0x4adb14
xor edx, edx
call fcn.00441ee8
mov eax, 0x4adae4
call fcn.0046e1b0
cmp byte [ebp - 0xc3d], 0
jne 0x45a921
cmp byte [ebx + 0x421], 0
jne 0x45a921
push 3
push 0
push 0x498105
call sub.KERNEL32.DLL_FindFirstChangeNotificationA
mov dword [0x4afc24], eax
dec dword [ebp - 0xc14]
cmp dword [0x4afc14], 0
jle 0x45a936
dec dword [0x4afc14]
mov edx, dword [ebp - 0xc30]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret