Function at 0x45b204
Capabilities:
Check if file exists
Get file attributes
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x45b20d
mov eax, dword [ebp - 4]
add esp, 0xfffff6f4
push ebx
push esi
push edi
mov dword [ebp - 0xc48], ecx
mov dword [ebp - 0xc44], edx
mov ebx, eax
mov eax, 0x4b25b4
call fcn.004a0204
mov word [ebp - 0xc30], 8
inc dword [0x4d27dc]
inc dword [ebp - 0xc24]
mov word [ebp - 0xc30], 0x14
push 1
push 0xffffffffffffffff
push 0x100c
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0xc4c], eax
mov eax, 0x4d03b8
mov edx, 1
call fcn.0048031c
mov eax, 0x1c2
call fcn.00413388
mov edx, eax
mov eax, 0x4d03b8
call fcn.0048037c
cmp dword [0x4d27f4], 0
je 0x45b2b2
push dword [0x4d27f4]
call sub.KERNEL32.DLL_FindCloseChangeNotification
mov dword [0x4d27f4], 0xffffffff
mov byte [ebp - 0xc4d], 0
lea edx, [ebp - 0x1860]
lea eax, [ebp - 0x1060]
mov ecx, 0x400
call fcn.00466f28
cmp byte [ebx + 0x41d], 0
je 0x45b2e7
mov eax, 0x4d03a8
call fcn.00478e2c
jmp 0x45b418
lea eax, [ebp - 0x1060]
xor edx, edx
call fcn.0040c974
test al, al
jne 0x45b369
cmp word [ebp - 0x1860], 0
jne 0x45b322
lea ecx, [ebp - 0x1060]
push ecx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x45b322
lea eax, [ebp - 0x1060]
call fcn.0040c4d0
test eax, eax
jne 0x45b34c
cmp word [ebp - 0x1860], 0
je 0x45b369
lea edx, [ebp - 0x1860]
push edx
call sub.KERNEL32.DLL_GetFileAttributesW
cmp eax, 0xffffffff
jne 0x45b369
lea eax, [ebp - 0x1860]
call fcn.0040c568
test eax, eax
je 0x45b369
mov eax, 0x4b2260
xor edx, edx
call fcn.00466ea8
xor ecx, ecx
mov cl, al
cmp ecx, 1
sbb eax, eax
neg eax
mov byte [ebp - 0xc4d], al
lea eax, [ebp - 0x1060]
call fcn.0040c4d0
mov esi, eax
lea eax, [ebp - 0x1860]
call fcn.0040c568
cmp byte [esi], 0
jne 0x45b38c
lea esi, [ebp - 0x1060]
mov edx, esi
cmp word [eax], 0
jne 0x45b396
xor eax, eax
mov ecx, eax
mov eax, edx
mov edx, ecx
call fcn.00444b10
lea eax, [ebp - 0x1060]
call fcn.0040c9dc
mov esi, eax
cmp esi, 0xffffffff
je 0x45b3eb
call fcn.00466e84
mov ecx, esi
mov edx, 1
shl edx, cl
and eax, edx
jne 0x45b3eb
dec dword [ebp - 0xc24]
cmp dword [0x4d27dc], 0
jle 0x45b3da
dec dword [0x4d27dc]
mov eax, dword [ebp - 0xc40]
mov dword fs:[0], eax
jmp 0x45bbf7
cmp byte [ebp - 0xc4d], 0
jne 0x45b418
mov eax, 0x4d03a8
call fcn.004793a8
mov eax, 0x4d0370
call fcn.004612b8
lea edx, [ebp - 0x1060]
mov eax, 0x4d0370
call fcn.00461470
push 0
push 0
push 0xb
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, ebx
call fcn.00460018
push 0xffffffffffffffff
push dword [ebx + 8]
call sub.COMCTL32.DLL_ImageList_Remove
cmp byte [ebp - 0xc4d], 0
je 0x45b443
xor eax, eax
jmp 0x45b460
push 0x4401
push 0x160
lea edx, [ebp - 0x19c0]
push edx
push 0
push 0x4b2261
call sub.SHELL32.DLL_SHGetFileInfoA
test eax, eax
jne 0x45b4a0
lea eax, [ebp - 0x1dc0]
mov edx, 0x400
call fcn.00466df0
cmp byte [ebp - 0xc4d], 0
je 0x45b481
xor eax, eax
jmp 0x45b4a0
push 0x4401
lea edx, [ebp - 0x19c0]
push 0x160
push edx
lea ecx, [ebp - 0x1dc0]
push 0
push ecx
call sub.SHELL32.DLL_SHGetFileInfoA
push eax
push 1
push 0x1003
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov edx, 0x4b226c
mov eax, 0x4b2263
mov ecx, 1
call fcn.00463dec
test eax, eax
setne al
and eax, 1
mov byte [ebp - 0xc4e], al
cmp byte [ebx + 0x41d], 0
je 0x45b4e6
mov eax, ebx
call fcn.0045bc44
jmp 0x45ba60
mov word [ebp - 0xc30], 0x2c
lea eax, [ebp - 0xc0c]
call fcn.00413a88
inc dword [ebp - 0xc24]
mov edx, 0x4b227b
mov word [ebp - 0xc30], 0x38
lea eax, [ebp - 0xc0c]
call fcn.00413b24
lea eax, [ebp - 0x2264]
call fcn.00414bf8
lea eax, [ebp - 0x2238]
call fcn.00414bf8
lea eax, [ebp - 0x220c]
call fcn.00414bf8
mov byte [ebp - 0xc4f], 0
mov word [ebp - 0xc30], 0x44
xor edi, edi
lea eax, [ebp - 0xc1c]
mov edx, 0x1f4
call fcn.004674c0
inc dword [ebp - 0xc24]
mov word [ebp - 0xc30], 0x38
jmp 0x45b8d7
test edi, 0x1f
jne 0x45b583
lea eax, [ebp - 0xc1c]
call fcn.0046755c
push 0x4b2261
lea edx, [ebp - 0x2e78]
push edx
call fcn.0049fd88
add esp, 8
test eax, eax
je 0x45b8d7
mov dword [ebp - 0x2ea0], 7
mov dword [ebp - 0x2e9c], edi
xor ecx, ecx
mov dword [ebp - 0x2e84], 0xffffffff
mov dword [ebp - 0x2e98], ecx
lea eax, [ebp - 0x2e78]
mov dword [ebp - 0x2e8c], eax
lea edx, [ebp - 0x2e78]
push 0x4b2260
push edx
call fcn.0049fd88
add esp, 8
test eax, eax
sete cl
and ecx, 1
mov byte [ebp - 0xc55], cl
mov word [ebp - 0xc30], 0x38
cmp byte [ebp - 0xc55], 0
je 0x45b628
lea eax, [ebp - 0x1060]
call fcn.0040c4d0
cmp byte [eax], 0
je 0x45b8d7
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x2e84], edx
mov byte [ebp - 0xc4f], 1
push 0xc30
push 0
lea ecx, [ebp - 0x3ad0]
push ecx
call fcn.0049fc54
add esp, 0xc
lea eax, [ebp - 0x2e78]
push eax
lea edx, [ebp - 0x3ad0]
push edx
call fcn.0049fdd4
add esp, 8
lea edx, [ebp - 0x2a78]
lea eax, [ebp - 0x36d0]
call fcn.00411488
lea edx, [ebp - 0x2e78]
mov eax, ebx
call fcn.0045bf90
test al, al
je 0x45b67f
mov word [ebp - 0x2a78], 0
mov ecx, dword [ebp - 0x2278]
mov dword [ebp - 0x2ed0], ecx
mov ecx, dword [ebp - 0x2274]
mov dword [ebp - 0x2ecc], ecx
lea ecx, [edi + 1]
mov dword [ebp - 0x2ec8], 0
mov dword [ebp - 0x2ec4], 0
mov eax, dword [ebp - 0x2270]
mov dword [ebp - 0x2ec0], eax
mov eax, 0x4d48b0
mov edx, dword [ebp - 0x1dd0]
mov dword [ebp - 0x2ebc], edx
mov edx, dword [ebp - 0x1dcc]
mov dword [ebp - 0x2eb8], edx
lea edx, [ebp - 0x3ad0]
mov dword [ebp - 0x2eac], ecx
call fcn.004632a8
mov dword [ebp - 0x2e80], eax
cmp byte [ebp - 0xc4e], 0
jne 0x45b702
mov eax, dword [ebp - 0x2e8c]
call fcn.00480e64
call fcn.0041113c
test eax, eax
je 0x45b73a
cmp word [ebp - 0x2a78], 0
je 0x45b73a
lea edx, [ebp - 0x2a78]
lea ecx, [ebp - 0x2ea0]
mov dword [ebp - 0x2e8c], edx
push ecx
push 0
push 0x104d
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
jmp 0x45b751
lea eax, [ebp - 0x2ea0]
push eax
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov esi, eax
cmp byte [ebp - 0x2268], 0
jne 0x45b7a2
push dword [ebp - 0x2ecc]
push dword [ebp - 0x2ed0]
lea eax, [ebp - 0x3b04]
mov edx, 0x32
call fcn.004804e0
mov dword [ebp - 0x3b24], 1
lea ecx, [ebp - 0x3b04]
lea eax, [ebp - 0x3b2c]
mov dword [ebp - 0x3b18], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45b7ca
mov dword [ebp - 0x3b4c], 1
mov dword [ebp - 0x3b40], 0x4b2240
lea edx, [ebp - 0x3b54]
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xc55], 0
je 0x45b7ff
mov dword [ebp - 0x3b74], 2
lea ecx, [ebp - 0x18b0]
lea eax, [ebp - 0x3b7c]
mov dword [ebp - 0x3b68], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x45b827
mov dword [ebp - 0x3b9c], 2
mov dword [ebp - 0x3b90], 0x4b2240
lea edx, [ebp - 0x3ba4]
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
lea ecx, [ebp - 0xc60]
push ecx
lea eax, [ebp - 0x1dd0]
push eax
call sub.KERNEL32.DLL_FileTimeToLocalFileTime
lea edx, [ebp - 0x3bb4]
push edx
lea ecx, [ebp - 0xc60]
push ecx
call sub.KERNEL32.DLL_FileTimeToSystemTime
push 0x64
lea eax, [ebp - 0x3c18]
push eax
push 0
lea edx, [ebp - 0x3bb4]
push edx
push 0
push 0x400
call sub.KERNEL32.DLL_GetDateFormatA
push 0x4b227d
lea ecx, [ebp - 0x3c18]
push ecx
call fcn.0049fcf8
add esp, 8
push 0x64
lea eax, [ebp - 0x3c18]
push eax
call fcn.0049fe04
lea edx, [ebp - 0x3c18]
pop ecx
add eax, edx
lea ecx, [ebp - 0x3bb4]
push eax
push 0
push ecx
push 2
push 0x400
call sub.KERNEL32.DLL_GetTimeFormatA
mov dword [ebp - 0x3c38], 3
lea eax, [ebp - 0x3c18]
lea edx, [ebp - 0x3c40]
mov dword [ebp - 0x3c2c], eax
push edx
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
inc edi
cmp byte [ebp - 0xc4d], 0
jne 0x45b8fb
lea edx, [ebp - 0x2e78]
lea eax, [ebp - 0xc0c]
xor ecx, ecx
call fcn.00413b90
test al, al
jne 0x45b570
xor eax, eax
mov al, byte [ebp - 0x1060]
cmp eax, 0x5c
jne 0x45b94a
xor edx, edx
mov dl, byte [ebp - 0x105f]
cmp edx, 0x5c
jne 0x45b94a
push 0x5c
lea ecx, [ebp - 0x105e]
push ecx
call fcn.0049fea1
add esp, 8
mov word [ebp - 0xc30], 0x38
test eax, eax
je 0x45b943
push 0x5c
inc eax
push eax
call fcn.0049fea1
add esp, 8
test eax, eax
jne 0x45b94a
mov byte [ebp - 0xc4f], 0
cmp byte [ebp - 0xc4f], 0
jne 0x45ba2b
lea eax, [ebp - 0x1060]
call fcn.0040c4d0
cmp byte [eax], 0
je 0x45ba2b
mov dword [ebp - 0x3c68], 7
mov dword [ebp - 0x3c64], edi
xor ecx, ecx
mov edx, dword [ebp - 0x19bc]
lea eax, [ebp - 0x4898]
mov dword [ebp - 0x3c4c], edx
mov dword [ebp - 0x3c60], ecx
mov dword [ebp - 0x3c54], 0x4b2260
push 0xc30
push 0
push eax
call fcn.0049fc54
add esp, 0xc
push 0x4b2260
lea edx, [ebp - 0x4898]
push edx
call fcn.0049fdd4
mov dword [ebp - 0x3c88], 0x10
add esp, 8
lea edx, [ebp - 0x4898]
mov eax, 0x4d48b0
call fcn.004632a8
mov dword [ebp - 0x3c48], eax
lea ecx, [ebp - 0x3c68]
push ecx
push 0
push 0x1007
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov word [ebp - 0xc30], 0x38
mov dword [ebp - 0x48b8], 2
lea edx, [ebp - 0x18b0]
lea ecx, [ebp - 0x48c0]
mov dword [ebp - 0x48ac], edx
push ecx
push eax
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
dec dword [ebp - 0xc24]
lea eax, [ebp - 0xc1c]
mov edx, 2
call fcn.0046757c
dec dword [ebp - 0xc24]
lea eax, [ebp - 0xc0c]
mov edx, 2
call fcn.00413af4
mov word [ebp - 0xc30], 0x14
mov eax, 0x4d48b0
call fcn.00463538
mov eax, ebx
call fcn.0045fc94
xor eax, eax
mov word [ebp - 0xc30], 0x14
cmp dword [ebp - 0xc44], 0
je 0x45bafa
mov edx, dword [ebp - 0xc44]
cmp byte [edx], 0
jne 0x45bae7
push 0
push 0
push 0x1004
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp eax, dword [ebp - 0xc4c]
jg 0x45bab3
test eax, eax
jle 0x45bab3
dec eax
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0x48d8], 3
mov dword [ebp - 0x48dc], 3
lea edx, [ebp - 0x48e8]
push edx
push dword [ebp - 0xc4c]
push 0x102b
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x45bafa
mov ecx, dword [ebp - 0xc48]
mov edx, dword [ebp - 0xc44]
mov eax, ebx
call fcn.0045be34
test eax, eax
jne 0x45bb42
mov dword [ebp - 0x4900], 3
mov dword [ebp - 0x4904], 3
lea edx, [ebp - 0x4910]
push edx
cmp dword [ebp - 0xc4c], 0xffffffff
je 0x45bb2b
cmp dword [ebp - 0xc44], 0
jne 0x45bb2f
xor ecx, ecx
jmp 0x45bb35
mov ecx, dword [ebp - 0xc4c]
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, 0x4d03b8
xor edx, edx
call fcn.0048037c
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.0045eec8
mov eax, ebx
call fcn.0045f0e4
mov eax, 0x4d03b8
xor edx, edx
call fcn.0048031c
mov eax, 0x4d0388
call fcn.0047a908
cmp byte [ebp - 0xc4d], 0
jne 0x45bbd5
cmp byte [ebx + 0x41d], 0
jne 0x45bbd5
push 3
push 0
push 0x4b2261
call sub.KERNEL32.DLL_FindFirstChangeNotificationA
mov dword [0x4d27f4], eax
dec dword [ebp - 0xc24]
cmp dword [0x4d27dc], 0
jle 0x45bbea
dec dword [0x4d27dc]
mov edx, dword [ebp - 0xc40]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret