Function at 0x45ef84
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x45ef8d
mov eax, dword [ebp - 4]
add esp, 0xfffff228
push ebx
push esi
push edi
mov dword [ebp - 0x40], edx
mov ebx, eax
mov eax, 0x49fbf8
call fcn.0048dbf8
mov word [ebp - 0x2c], 8
inc dword [0x4bc1b0]
inc dword [ebp - 0x20]
mov word [ebp - 0x2c], 0x14
call fcn.00495aec
mov dword [ebp - 0x44], eax
push 1
push 0xffffffffffffffff
push 0x100c
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x48], eax
mov eax, 0x4b9d8c
mov edx, 1
call fcn.0044534c
mov eax, 0x1c4
call fcn.004116e0
mov edx, eax
mov eax, 0x4b9d8c
call fcn.004453ac
push 0
push 0
push 0xb
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, ebx
call fcn.00462e54
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_Remove
push dword [ebx + 8]
push 1
push 0x1003
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 0x4b9d7c
call fcn.0047887c
lea edx, [ebp - 0x11c]
mov eax, 0x4ba564
call fcn.0045d130
lea ecx, [ebp - 0xd1c]
lea edx, [ebp - 0x51c]
mov eax, 0x4ba564
call fcn.0045d0d0
lea edx, [ebp - 0x51c]
push edx
call fcn.0048d788
pop ecx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0xd1c]
call fcn.0040f90c
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x4c], 0
je 0x45f08d
inc dword [ebp - 0x4c]
cmp byte [0x4a88d0], 0
je 0x45f0a8
lea edx, [ebp - 0x51c]
mov eax, 0x4a87d0
call fcn.0040fd88
jmp 0x45f0b5
lea edx, [ebp - 0x51c]
push edx
call fcn.0048d788
pop ecx
test eax, eax
je 0x45f0ba
inc eax
cmp dword [ebp - 0x50], 0
je 0x45f0c6
mov ecx, dword [ebp - 0x50]
inc ecx
jmp 0x45f0c8
mov ecx, eax
mov dword [ebp - 0x50], ecx
xor edi, edi
mov byte [ebp - 0x51], 0
mov byte [ebp - 0x52], 0
mov edx, 0x49f854
mov eax, 0x49f84b
mov ecx, 1
call fcn.004659b8
test eax, eax
mov edx, str.FlatView
setne al
and eax, 1
xor ecx, ecx
mov byte [ebp - 0x53], al
mov eax, 0x49f84b
call fcn.004659b8
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x54], dl
mov word [ebp - 0x2c], 0x20
lea eax, [ebp - 0x18]
call fcn.0045fb3c
inc dword [ebp - 0x20]
mov word [ebp - 0x2c], 0x14
mov byte [ebp - 0x111c], 0
jmp 0x45f76c
cmp byte [ebp - 0x51], 0
jne 0x45f166
test edi, 0x1f
jne 0x45f166
call fcn.00495aec
sub eax, dword [ebp - 0x44]
cmp eax, 0x1f4
jle 0x45f166
mov byte [ebp - 0x51], 1
push 0x7f02
push 0
call sub.USER32.DLL_LoadCursorA
push eax
call sub.USER32.DLL_SetCursor
lea esi, [ebp - 0x1d4c]
add esi, dword [ebp - 0x4c]
mov word [ebp - 0x2c], 0x14
mov eax, dword [ebp - 0x50]
add eax, eax
lea edx, [ebp - 0x194c]
add eax, edx
mov dword [ebp - 0x58], eax
test byte [ebp - 0x113c], 0x10
setne cl
and ecx, 1
mov byte [ebp - 0x59], cl
cmp byte [ebp - 0x54], 0
je 0x45f1b6
lea eax, [ebp - 0x1d4c]
call fcn.0040b578
mov esi, eax
lea eax, [ebp - 0x194c]
call fcn.0040b604
mov dword [ebp - 0x58], eax
cmp byte [ebp - 0x59], 0
je 0x45f2a1
cmp byte [ebp - 0x54], 0
jne 0x45f2a1
test byte [ebp - 0x112e], 1
je 0x45f220
lea edx, [ebp - 0x111c]
push edx
push esi
call fcn.0048d70c
add esp, 8
test eax, eax
je 0x45f76c
push esi
lea ecx, [ebp - 0x111c]
push ecx
call fcn.0048d758
add esp, 8
lea ecx, [ebp - 0x194c]
lea edx, [ebp - 0x1d4c]
mov eax, 0x4c244c
push 0
call fcn.004651b0
test al, al
jne 0x45f76c
jmp 0x45f2a1
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x194c]
push eax
mov eax, 0x4c244c
lea edx, [ebp - 0x1d4c]
call fcn.004651b0
test al, al
je 0x45f2a1
mov eax, 0x4c244c
mov edx, dword [ebp - 0x60]
call fcn.0046524c
mov ecx, dword [ebp - 0x1138]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x1134]
mov dword [eax + 0x24], ecx
lea ecx, [ebp - 0x1db0]
lea edx, [ebp - 0x1138]
mov eax, ebx
call fcn.0045f9e8
mov dword [ebp - 0x1dd0], 4
lea eax, [ebp - 0x1db0]
lea edx, [ebp - 0x1dd8]
mov dword [ebp - 0x1dc4], eax
push edx
push dword [ebp - 0x60]
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45f76c
mov dword [ebp - 0x1e00], 7
xor ecx, ecx
mov dword [ebp - 0x1dfc], edi
mov dword [ebp - 0x1df8], ecx
mov dword [ebp - 0x1de4], ecx
lea eax, [ebp - 0x64]
lea edx, [ebp - 0x1e64]
push eax
push edx
lea eax, [ebp - 0x68]
push 0x64
push eax
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x113c]
mov edx, esi
call fcn.0045fc38
mov byte [ebp - 0x74], 0
test byte [ebp - 0x1130], 1
je 0x45f2fe
push 0x49f870
lea eax, [ebp - 0x74]
push eax
call fcn.0048d67c
add esp, 8
mov eax, dword [ebp - 0x1130]
and eax, 6
test eax, eax
je 0x45f35c
sub eax, 2
je 0x45f31c
sub eax, 2
je 0x45f32f
sub eax, 2
je 0x45f34b
jmp 0x45f35c
push 0x49f873
lea edx, [ebp - 0x74]
push edx
call fcn.0048d67c
add esp, 8
jmp 0x45f35c
cmp byte [ebp - 0x87], 0
jne 0x45f35c
push 0x49f878
lea ecx, [ebp - 0x74]
push ecx
call fcn.0048d67c
add esp, 8
jmp 0x45f35c
push 0x49f87d
lea eax, [ebp - 0x74]
push eax
call fcn.0048d67c
add esp, 8
cmp dword [ebp - 0x68], 0xffffffff
je 0x45f36d
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x1de4], edx
jmp 0x45f396
push dword [ebp - 0x64]
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_ReplaceIcon
mov dword [ebp - 0x1de4], eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1de4]
call fcn.0045fd68
push dword [ebp - 0x64]
call sub.USER32.DLL_DestroyIcon
lea ecx, [edi + 1]
mov dword [ebp - 0x1128], ecx
lea edx, [ebp - 0x1d4c]
mov eax, 0x4c244c
call fcn.00464ec8
mov dword [ebp - 0x1de0], eax
lea edx, [ebp - 0x1d4c]
mov eax, ebx
call fcn.0045ef00
test al, al
je 0x45f3d8
mov word [ebp - 0x194c], 0
lea ecx, [ebp - 0x194c]
mov dword [ebp - 0x58], ecx
cmp byte [ebp - 0x53], 0
jne 0x45f3f7
mov eax, esi
call fcn.00444978
cmp word [ebp - 0x194c], 0
je 0x45f3f7
mov eax, dword [ebp - 0x58]
call fcn.004449ac
call fcn.0040f818
test eax, eax
je 0x45f448
cmp word [ebp - 0x194c], 0
je 0x45f448
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x1dec], edx
mov eax, dword [ebp - 0x58]
call fcn.0040f90c
mov edx, eax
lea eax, [ebp - 0x74]
add edx, edx
mov ecx, 0x10000000
add edx, dword [ebp - 0x58]
call fcn.0040f890
lea edx, [ebp - 0x1e00]
push edx
push 0
push 0x104d
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
jmp 0x45f4b7
cmp word [ebp - 0x194c], 0
je 0x45f48d
lea edx, [ebp - 0x2264]
mov ecx, 0x10000000
mov eax, dword [ebp - 0x58]
call fcn.0040f86c
push 0x49f882
lea eax, [ebp - 0x2264]
push eax
call fcn.0048d8a1
add esp, 8
test eax, eax
jne 0x45f48d
lea edx, [ebp - 0x2264]
push edx
push esi
call fcn.0048d758
add esp, 8
mov dword [ebp - 0x1dec], esi
lea ecx, [ebp - 0x74]
push ecx
push esi
call fcn.0048d67c
add esp, 8
lea eax, [ebp - 0x1e00]
push eax
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
cmp byte [ebp - 0x59], 0
jne 0x45f5ae
cmp dword [ebp - 0x1148], 0x80000000
jne 0x45f4d4
cmp dword [ebp - 0x114c], 0
je 0x45f4eb
cmp dword [ebp - 0x1148], 0x7fffffff
jne 0x45f501
cmp dword [ebp - 0x114c], 0
jne 0x45f501
push 0x49f888
lea eax, [ebp - 0x2298]
push eax
call fcn.0048d758
add esp, 8
jmp 0x45f518
push dword [ebp - 0x1148]
push dword [ebp - 0x114c]
lea eax, [ebp - 0x2298]
call fcn.00443fec
mov dword [ebp - 0x22b8], 1
lea edx, [ebp - 0x2298]
lea ecx, [ebp - 0x22c0]
mov dword [ebp - 0x22ac], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp dword [ebp - 0x1140], 0x80000000
jne 0x45f56d
cmp dword [ebp - 0x1144], 0
jne 0x45f56d
push 0x49f888
lea eax, [ebp - 0x2298]
push eax
call fcn.0048d758
add esp, 8
jmp 0x45f584
push dword [ebp - 0x1140]
push dword [ebp - 0x1144]
lea eax, [ebp - 0x2298]
call fcn.00443fec
mov dword [ebp - 0x22e0], 2
lea edx, [ebp - 0x2298]
lea ecx, [ebp - 0x22e8]
mov dword [ebp - 0x22d4], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x2308], 3
lea eax, [ebp - 0x1e64]
lea edx, [ebp - 0x2310]
mov dword [ebp - 0x22fc], eax
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp dword [ebp - 0x1138], 0
jne 0x45f600
cmp dword [ebp - 0x1134], 0
jne 0x45f600
push 0x49f888
lea ecx, [ebp - 0x2374]
push ecx
call fcn.0048d758
add esp, 8
jmp 0x45f613
lea ecx, [ebp - 0x2374]
lea edx, [ebp - 0x1138]
mov eax, ebx
call fcn.0045f9e8
mov dword [ebp - 0x2394], 4
lea eax, [ebp - 0x2374]
lea edx, [ebp - 0x239c]
mov dword [ebp - 0x2388], eax
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, dword [ebp - 0x1130]
test al, 8
je 0x45f697
cmp byte [ebp - 0x59], 0
jne 0x45f697
push dword [ebp - 0x112c]
test al, 0x10
je 0x45f65e
mov edx, str._04X
jmp 0x45f663
mov edx, str._08X
push edx
lea eax, [ebp - 0x80]
push eax
call fcn.00490628
add esp, 0xc
mov dword [ebp - 0x23bc], 5
lea ecx, [ebp - 0x80]
lea eax, [ebp - 0x23c4]
mov dword [ebp - 0x23b0], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0x52], 0
jne 0x45f6e0
mov dword [ebp - 0x23e4], 4
test byte [ebp - 0x1130], 0x10
je 0x45f6b7
mov eax, 0x74
jmp 0x45f6bc
mov eax, 0x73
call fcn.004116e0
mov dword [ebp - 0x23d8], eax
lea edx, [ebp - 0x23e4]
push edx
push 5
push 0x101a
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov byte [ebp - 0x52], 1
cmp byte [ebp - 0x54], 0
je 0x45f76b
lea edx, [ebp - 0x27e4]
lea eax, [ebp - 0x1d4c]
call fcn.0040baa8
lea edx, [ebp - 0x2fe4]
lea eax, [ebp - 0x194c]
call fcn.0040bad0
mov dword [ebp - 0x3004], 6
call fcn.0040f818
test eax, eax
je 0x45f74b
cmp word [ebp - 0x194c], 0
je 0x45f74b
lea ecx, [ebp - 0x2fe4]
lea eax, [ebp - 0x300c]
mov dword [ebp - 0x2ff8], ecx
push eax
push esi
push 0x1074
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45f76b
lea edx, [ebp - 0x27e4]
lea ecx, [ebp - 0x300c]
mov dword [ebp - 0x2ff8], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
inc edi
lea edx, [ebp - 0x1d4c]
mov eax, 0x4ba564
mov cl, byte [ebp - 0x54]
call fcn.0045c720
test eax, eax
jne 0x45f133
mov dword [ebp - 0x3034], 7
mov dword [ebp - 0x3030], edi
xor eax, eax
mov dword [ebp - 0x302c], eax
mov dword [ebp - 0x3018], eax
mov dword [ebp - 0x3020], 0x49f848
mov byte [ebp - 0x3134], 0
lea ecx, [ebp - 0x3134]
mov edx, str.Folder
lea eax, [ebp - 0x18]
call fcn.0045fedc
mov esi, eax
mov word [ebp - 0x2c], 0x14
push esi
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_ReplaceIcon
mov dword [ebp - 0x3018], eax
push esi
call sub.USER32.DLL_DestroyIcon
push 0xc30
push 0
lea eax, [ebp - 0x3d64]
push eax
call fcn.0048d5d8
add esp, 0xc
push 0x49f848
lea edx, [ebp - 0x3d64]
push edx
call fcn.0048d758
mov dword [ebp - 0x3154], 0x10
add esp, 8
lea edx, [ebp - 0x3d64]
mov eax, 0x4c244c
call fcn.00464ec8
mov dword [ebp - 0x3014], eax
lea ecx, [ebp - 0x3034]
push ecx
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x3d84], 3
lea edx, [ebp - 0x3134]
lea ecx, [ebp - 0x3d8c]
mov dword [ebp - 0x3d78], edx
push ecx
push eax
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 0x4c244c
call fcn.0046517c
mov eax, ebx
call fcn.00462acc
cmp dword [ebp - 0x40], 0
je 0x45f8df
mov edx, dword [ebp - 0x40]
mov eax, ebx
call fcn.0045ee00
test eax, eax
jne 0x45f908
push 0
push 0
push 0x1004
push dword [ebx]
call sub.USER32.DLL_SendMessageA
test eax, eax
jle 0x45f8b3
cmp eax, dword [ebp - 0x48]
jg 0x45f8b3
dec eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3da4], 3
mov dword [ebp - 0x3da8], 3
lea edx, [ebp - 0x3db4]
push edx
push dword [ebp - 0x48]
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45f908
mov dword [ebp - 0x3dcc], 3
mov dword [ebp - 0x3dd0], 3
lea ecx, [ebp - 0x3ddc]
push ecx
push 0
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
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
mov eax, 0x4b9d8c
xor edx, edx
call fcn.004453ac
mov eax, ebx
call fcn.00461d08
mov eax, ebx
call fcn.00461f40
mov eax, 0x4b9d5c
call fcn.00479bb0
cmp byte [ebp - 0x51], 0
je 0x45f961
push 0x7f00
push 0
call sub.USER32.DLL_LoadCursorA
push eax
call sub.USER32.DLL_SetCursor
mov eax, 0x4b9d8c
xor edx, edx
call fcn.0044534c
dec dword [ebp - 0x20]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0045fbfc
dec dword [ebp - 0x20]
cmp dword [0x4bc1b0], 0
jle 0x45f98f
dec dword [0x4bc1b0]
mov ecx, dword [ebp - 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret