Function at 0x45ac8c
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 0x45ac95
mov eax, dword [ebp - 4]
add esp, 0xfffff22c
push ebx
push esi
push edi
mov dword [ebp - 0x40], edx
mov ebx, eax
mov eax, 0x4983bc
call fcn.00482ea0
mov word [ebp - 0x2c], 8
inc dword [0x4afc14]
inc dword [ebp - 0x20]
mov word [ebp - 0x2c], 0x14
call fcn.0048e410
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, 0x4adb14
mov edx, 1
call fcn.00441ee8
mov eax, 0x1c4
call fcn.00410804
mov edx, eax
mov eax, 0x4adb14
call fcn.00441f48
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
push dword [ebx + 8]
push 1
push 0x1003
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 0x4adb04
call fcn.0046d120
lea edx, [ebp - 0x118]
mov eax, 0x4adfd0
call fcn.00459040
lea ecx, [ebp - 0xd18]
lea edx, [ebp - 0x518]
mov eax, 0x4adfd0
call fcn.00458fe0
lea edx, [ebp - 0x518]
push edx
call fcn.00482a30
pop ecx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0xd18]
call fcn.0040eab0
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x4c], 0
je 0x45ad95
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x50], 0
je 0x45ada1
mov edx, dword [ebp - 0x50]
inc edx
jmp 0x45ada4
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edx
xor edi, edi
mov byte [ebp - 0x51], 0
mov byte [ebp - 0x52], 0
mov edx, 0x498110
mov eax, 0x498107
mov ecx, 1
call fcn.00460c28
test eax, eax
mov edx, str.FlatView
setne al
and eax, 1
xor ecx, ecx
mov byte [ebp - 0x53], al
mov eax, 0x498107
call fcn.00460c28
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x54], dl
mov word [ebp - 0x2c], 0x20
lea eax, [ebp - 0x18]
call fcn.0045b7c0
inc dword [ebp - 0x20]
mov word [ebp - 0x2c], 0x14
mov byte [ebp - 0x1118], 0
jmp 0x45b410
cmp byte [ebp - 0x51], 0
jne 0x45ae42
test edi, 0x1f
jne 0x45ae42
call fcn.0048e410
sub eax, dword [ebp - 0x44]
cmp eax, 0x1f4
jle 0x45ae42
mov byte [ebp - 0x51], 1
push 0x7f02
push 0
call sub.USER32.DLL_LoadCursorA
push eax
call sub.USER32.DLL_SetCursor
lea esi, [ebp - 0x1d48]
add esi, dword [ebp - 0x4c]
mov word [ebp - 0x2c], 0x14
mov eax, dword [ebp - 0x50]
add eax, eax
lea edx, [ebp - 0x1948]
add eax, edx
mov dword [ebp - 0x58], eax
test byte [ebp - 0x1138], 0x10
setne cl
and ecx, 1
mov byte [ebp - 0x59], cl
cmp byte [ebp - 0x54], 0
je 0x45ae92
lea eax, [ebp - 0x1d48]
call fcn.0040a924
mov esi, eax
lea eax, [ebp - 0x1948]
call fcn.0040a9b0
mov dword [ebp - 0x58], eax
cmp byte [ebp - 0x59], 0
je 0x45af7d
cmp byte [ebp - 0x54], 0
jne 0x45af7d
test byte [ebp - 0x112a], 1
je 0x45aefc
lea edx, [ebp - 0x1118]
push edx
push esi
call fcn.004829b4
add esp, 8
test eax, eax
je 0x45b410
push esi
lea ecx, [ebp - 0x1118]
push ecx
call fcn.00482a00
add esp, 8
lea ecx, [ebp - 0x1948]
lea edx, [ebp - 0x1d48]
mov eax, 0x4bb27c
push 0
call fcn.0046046c
test al, al
jne 0x45b410
jmp 0x45af7d
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x1948]
push eax
mov eax, 0x4bb27c
lea edx, [ebp - 0x1d48]
call fcn.0046046c
test al, al
je 0x45af7d
mov eax, 0x4bb27c
mov edx, dword [ebp - 0x60]
call fcn.004604f4
mov ecx, dword [ebp - 0x1134]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x1130]
mov dword [eax + 0x24], ecx
lea ecx, [ebp - 0x1dac]
lea edx, [ebp - 0x1134]
mov eax, ebx
call fcn.0045b688
mov dword [ebp - 0x1dcc], 4
lea eax, [ebp - 0x1dac]
lea edx, [ebp - 0x1dd4]
mov dword [ebp - 0x1dc0], eax
push edx
push dword [ebp - 0x60]
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45b410
mov dword [ebp - 0x1dfc], 7
xor ecx, ecx
mov dword [ebp - 0x1df8], edi
mov dword [ebp - 0x1df4], ecx
mov dword [ebp - 0x1de0], ecx
lea eax, [ebp - 0x64]
lea edx, [ebp - 0x1e60]
push eax
push edx
lea eax, [ebp - 0x68]
push 0x64
push eax
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x1138]
mov edx, esi
call fcn.0045b898
mov byte [ebp - 0x74], 0
test byte [ebp - 0x112c], 1
je 0x45afda
push 0x49812c
lea eax, [ebp - 0x74]
push eax
call fcn.00482924
add esp, 8
mov eax, dword [ebp - 0x112c]
and eax, 6
test eax, eax
je 0x45b038
sub eax, 2
je 0x45aff8
sub eax, 2
je 0x45b00b
sub eax, 2
je 0x45b027
jmp 0x45b038
push 0x49812f
lea edx, [ebp - 0x74]
push edx
call fcn.00482924
add esp, 8
jmp 0x45b038
cmp byte [ebp - 0x83], 0
jne 0x45b038
push 0x498134
lea ecx, [ebp - 0x74]
push ecx
call fcn.00482924
add esp, 8
jmp 0x45b038
push 0x498139
lea eax, [ebp - 0x74]
push eax
call fcn.00482924
add esp, 8
cmp dword [ebp - 0x68], 0xffffffff
je 0x45b049
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x1de0], edx
jmp 0x45b072
push dword [ebp - 0x64]
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_ReplaceIcon
mov dword [ebp - 0x1de0], eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1de0]
call fcn.0045b9c8
push dword [ebp - 0x64]
call sub.USER32.DLL_DestroyIcon
lea ecx, [edi + 1]
mov dword [ebp - 0x1124], ecx
lea edx, [ebp - 0x1d48]
mov eax, 0x4bb27c
call fcn.00460190
mov dword [ebp - 0x1ddc], eax
cmp byte [ebp - 0x53], 0
jne 0x45b0b0
mov eax, esi
call fcn.004415c4
cmp word [ebp - 0x1948], 0
je 0x45b0b0
mov eax, dword [ebp - 0x58]
call fcn.004415f8
call fcn.0040e9e0
test eax, eax
je 0x45b101
cmp word [ebp - 0x1948], 0
je 0x45b101
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x1de8], edx
mov eax, dword [ebp - 0x58]
call fcn.0040eab0
mov edx, eax
lea eax, [ebp - 0x74]
add edx, edx
mov ecx, 0x10000000
add edx, dword [ebp - 0x58]
call fcn.0040ea48
lea edx, [ebp - 0x1dfc]
push edx
push 0
push 0x104d
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
jmp 0x45b170
cmp word [ebp - 0x1948], 0
je 0x45b146
lea edx, [ebp - 0x2260]
mov ecx, 0x10000000
mov eax, dword [ebp - 0x58]
call fcn.0040ea34
push 0x49813e
lea eax, [ebp - 0x2260]
push eax
call fcn.00482b49
add esp, 8
test eax, eax
jne 0x45b146
lea edx, [ebp - 0x2260]
push edx
push esi
call fcn.00482a00
add esp, 8
mov dword [ebp - 0x1de8], esi
lea ecx, [ebp - 0x74]
push ecx
push esi
call fcn.00482924
add esp, 8
lea eax, [ebp - 0x1dfc]
push eax
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
cmp byte [ebp - 0x59], 0
jne 0x45b252
cmp dword [ebp - 0x1144], 0x80000000
jne 0x45b1a5
cmp dword [ebp - 0x1148], 0
jne 0x45b1a5
push 0x498144
lea eax, [ebp - 0x2294]
push eax
call fcn.00482a00
add esp, 8
jmp 0x45b1bc
push dword [ebp - 0x1144]
push dword [ebp - 0x1148]
lea eax, [ebp - 0x2294]
call fcn.00440c08
mov dword [ebp - 0x22b4], 1
lea edx, [ebp - 0x2294]
lea ecx, [ebp - 0x22bc]
mov dword [ebp - 0x22a8], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp dword [ebp - 0x113c], 0x80000000
jne 0x45b211
cmp dword [ebp - 0x1140], 0
jne 0x45b211
push 0x498144
lea eax, [ebp - 0x2294]
push eax
call fcn.00482a00
add esp, 8
jmp 0x45b228
push dword [ebp - 0x113c]
push dword [ebp - 0x1140]
lea eax, [ebp - 0x2294]
call fcn.00440c08
mov dword [ebp - 0x22dc], 2
lea edx, [ebp - 0x2294]
lea ecx, [ebp - 0x22e4]
mov dword [ebp - 0x22d0], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x2304], 3
lea eax, [ebp - 0x1e60]
lea edx, [ebp - 0x230c]
mov dword [ebp - 0x22f8], eax
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp dword [ebp - 0x1134], 0
jne 0x45b2a4
cmp dword [ebp - 0x1130], 0
jne 0x45b2a4
push 0x498144
lea ecx, [ebp - 0x2370]
push ecx
call fcn.00482a00
add esp, 8
jmp 0x45b2b7
lea ecx, [ebp - 0x2370]
lea edx, [ebp - 0x1134]
mov eax, ebx
call fcn.0045b688
mov dword [ebp - 0x2390], 4
lea eax, [ebp - 0x2370]
lea edx, [ebp - 0x2398]
mov dword [ebp - 0x2384], eax
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, dword [ebp - 0x112c]
test al, 8
je 0x45b33b
cmp byte [ebp - 0x59], 0
jne 0x45b33b
push dword [ebp - 0x1128]
test al, 0x10
je 0x45b302
mov edx, str._04X
jmp 0x45b307
mov edx, str._08X
push edx
lea eax, [ebp - 0x80]
push eax
call fcn.00486578
add esp, 0xc
mov dword [ebp - 0x23b8], 5
lea ecx, [ebp - 0x80]
lea eax, [ebp - 0x23c0]
mov dword [ebp - 0x23ac], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0x52], 0
jne 0x45b384
mov dword [ebp - 0x23e0], 4
test byte [ebp - 0x112c], 0x10
je 0x45b35b
mov eax, 0x74
jmp 0x45b360
mov eax, 0x73
call fcn.00410804
mov dword [ebp - 0x23d4], eax
lea edx, [ebp - 0x23e0]
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 0x45b40f
lea edx, [ebp - 0x27e0]
lea eax, [ebp - 0x1d48]
call fcn.0040ae44
lea edx, [ebp - 0x2fe0]
lea eax, [ebp - 0x1948]
call fcn.0040ae6c
mov dword [ebp - 0x3000], 6
call fcn.0040e9e0
test eax, eax
je 0x45b3ef
cmp word [ebp - 0x2fe0], 0
je 0x45b3ef
lea ecx, [ebp - 0x2fe0]
lea eax, [ebp - 0x3008]
mov dword [ebp - 0x2ff4], ecx
push eax
push esi
push 0x1074
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45b40f
lea edx, [ebp - 0x27e0]
lea ecx, [ebp - 0x3008]
mov dword [ebp - 0x2ff4], edx
push ecx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
inc edi
lea edx, [ebp - 0x1d48]
mov eax, 0x4adfd0
mov cl, byte [ebp - 0x54]
call fcn.0045869c
test eax, eax
jne 0x45ae0f
mov dword [ebp - 0x3030], 7
mov dword [ebp - 0x302c], edi
xor eax, eax
mov dword [ebp - 0x3028], eax
mov dword [ebp - 0x3014], eax
mov dword [ebp - 0x301c], 0x498104
lea ecx, [ebp - 0x3130]
mov edx, str.Folder
lea eax, [ebp - 0x18]
call fcn.0045bb3c
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 - 0x3014], eax
push esi
call sub.USER32.DLL_DestroyIcon
push 0xc30
push 0
lea eax, [ebp - 0x3d60]
push eax
call fcn.00482880
add esp, 0xc
push 0x498104
lea edx, [ebp - 0x3d60]
push edx
call fcn.00482a00
mov dword [ebp - 0x3150], 0x10
add esp, 8
lea edx, [ebp - 0x3d60]
mov eax, 0x4bb27c
call fcn.00460190
mov dword [ebp - 0x3010], eax
lea ecx, [ebp - 0x3030]
push ecx
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x3d80], 3
lea edx, [ebp - 0x3130]
lea ecx, [ebp - 0x3d88]
mov dword [ebp - 0x3d74], edx
push ecx
push eax
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 0x4bb27c
call fcn.00460438
mov eax, ebx
call fcn.0045e0b0
cmp dword [ebp - 0x40], 0
je 0x45b57c
mov edx, dword [ebp - 0x40]
mov eax, ebx
call fcn.0045ab8c
test eax, eax
jne 0x45b5a5
push 0
push 0
push 0x1004
push dword [ebx]
call sub.USER32.DLL_SendMessageA
test eax, eax
jle 0x45b550
cmp eax, dword [ebp - 0x48]
jg 0x45b550
dec eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3da0], 3
mov dword [ebp - 0x3da4], 3
lea edx, [ebp - 0x3db0]
push edx
push dword [ebp - 0x48]
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45b5a5
mov dword [ebp - 0x3dc8], 3
mov dword [ebp - 0x3dcc], 3
lea ecx, [ebp - 0x3dd8]
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, 0x4adb14
xor edx, edx
call fcn.00441f48
mov eax, ebx
call fcn.0045d2f4
mov eax, ebx
call fcn.0045d528
mov eax, 0x4adae4
call fcn.0046e1b0
cmp byte [ebp - 0x51], 0
je 0x45b5fe
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
dec dword [ebp - 0x20]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0045b85c
dec dword [ebp - 0x20]
cmp dword [0x4afc14], 0
jle 0x45b62c
dec dword [0x4afc14]
mov ecx, dword [ebp - 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret