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

Disassembly:
push 0xffffffffffffffff
push 0x4ae551
mov eax, dword fs:[0]
push eax
mov eax, 0x3b64
call fcn.0049e430
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x3b60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c0390]
xor eax, esp
push eax
lea eax, [esp + 0x3b78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3b88]
inc dword [0x4dbd58]
mov esi, ecx
mov ecx, dword [esp + 0x3b8c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
xor edi, edi
mov dword [esp + 0x3b80], edi
mov edx, dword [esi]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0xffffffffffffffff
push 0x100c
push edx
call ebx
push 1
mov ecx, 0x4dc1d0
mov dword [esp + 0x24], eax
call fcn.00464dd0
push 0x1c2
call fcn.0045bde0
push eax
mov ecx, 0x4dc1d0
call fcn.00464e40
mov eax, dword [0x4dbd5c]
cmp eax, edi
je 0x441079
push eax
call dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
mov dword [0x4dbd5c], 0xffffffff
push 0x400
lea eax, [esp + 0x2f78]
push eax
lea ecx, [esp + 0x2b7c]
push ecx
mov byte [esp + 0x22], 0
call fcn.0047e400
cmp byte [esi + 0xc1e], 0
je 0x4410b0
mov ecx, 0x4dfed0
call fcn.00406fb0
jmp 0x4411c0
push edi
lea edx, [esp + 0x2b78]
push edx
call fcn.0044d8f0
test al, al
jne 0x441130
cmp word [esp + 0x2f74], di
jne 0x4410fa
lea eax, [esp + 0x2b74]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4410f0
lea ecx, [esp + 0x2b74]
push ecx
call fcn.0044db30
test eax, eax
jne 0x44111e
cmp word [esp + 0x2f74], di
je 0x441130
lea edx, [esp + 0x2f74]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x441130
lea eax, [esp + 0x2f74]
push eax
call fcn.0044dbb0
test eax, eax
je 0x441130
push edi
push 0x4b1a5c
call fcn.0047f460
test al, al
sete byte [esp + 0x16]
lea ecx, [esp + 0x2b74]
push ecx
call fcn.0044db30
lea edx, [esp + 0x2f74]
push edx
mov ebp, eax
call fcn.0044dbb0
cmp byte [ebp], 0
jne 0x441159
lea ebp, [esp + 0x2b74]
movzx ecx, word [eax]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push ebp
call fcn.004906b0
lea edx, [esp + 0x2b74]
push edx
call fcn.0044df70
mov ebp, eax
cmp ebp, 0xffffffff
je 0x441193
call fcn.0047e390
mov edx, 1
mov ecx, ebp
shl edx, cl
test edx, eax
je 0x4418f6
cmp byte [esp + 0x16], 0
jne 0x4411c0
mov ecx, 0x4dfed0
call fcn.004068c0
mov ecx, 0x4dfeb8
call fcn.0046b960
lea eax, [esp + 0x2b74]
push eax
mov ecx, 0x4dfeb8
call fcn.0046b480
mov ecx, dword [esi]
push edi
push edi
push 0xb
push ecx
call ebx
mov ecx, esi
call fcn.0043e5e0
mov edx, dword [esi + 8]
push 0xffffffffffffffff
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_Remove]
cmp byte [esp + 0x16], 0
mov ebp, dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
jne 0x441207
push 0x4401
push 0x160
lea eax, [esp + 0xac]
push eax
push edi
push 0x4b2160
call ebp
cmp eax, edi
jne 0x441241
push 0x400
lea ecx, [esp + 0x3778]
push ecx
call fcn.0047e2d0
cmp byte [esp + 0x16], 0
je 0x441224
xor eax, eax
jmp 0x441241
push 0x4401
push 0x160
lea edx, [esp + 0xac]
push edx
push edi
lea eax, [esp + 0x3784]
push eax
call ebp
mov ecx, dword [esi]
push eax
push 1
push 0x1003
push ecx
call ebx
push 1
push str.AllowUppercase
push str.FileList
call fcn.00456960
push edi
push str.ShowSeconds
test eax, eax
push str.FileList
setne byte [esp + 0x2a]
call fcn.00456960
test eax, eax
setne byte [esp + 0x1d]
cmp byte [esi + 0xc1e], 0
je 0x441292
mov ecx, esi
call fcn.0043cfa0
jmp 0x4417e7
lea ecx, [esp + 0x1ed4]
call fcn.00432d00
mov byte [esp + 0x3b80], 1
push 0x4b175c
lea ecx, [esp + 0x1ed8]
call fcn.00432d40
lea ecx, [esp + 0x1a48]
call fcn.004680a0
lea ecx, [esp + 0x1a6c]
call fcn.004680a0
lea ecx, [esp + 0x1a90]
call fcn.004680a0
push 0x1f4
lea ecx, [esp + 0x88]
mov dword [esp + 0x1c], edi
mov byte [esp + 0x1b], 0
call fcn.0047f4f0
mov byte [esp + 0x3b80], 2
cmp byte [esp + 0x16], 0
jne 0x4416b8
jmp 0x441310
push edi
lea edx, [esp + 0xe38]
push edx
lea ecx, [esp + 0x1edc]
call fcn.004331a0
test al, al
je 0x4416b8
test byte [esp + 0x18], 0x1f
jne 0x441340
lea ecx, [esp + 0x84]
call fcn.0047eb90
mov ecx, 0x4b2160
lea eax, [esp + 0xe34]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x441370
test dl, dl
je 0x44136c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x441370
add eax, 2
add ecx, 2
test dl, dl
jne 0x441350
xor eax, eax
jmp 0x441375
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x441310
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xe34]
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x54], 7
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x5c], edi
mov ecx, 0x4b1a5c
lea eax, [esp + 0xe34]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4413d0
test dl, dl
je 0x4413cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4413d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4413b0
xor eax, eax
jmp 0x4413d5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x441408
lea edx, [esp + 0x2b74]
push edx
call fcn.0044db30
cmp byte [eax], 0
je 0x441310
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x70], eax
mov byte [esp + 0x17], 1
push 0xc30
lea ecx, [esp + 0x208]
push edi
push ecx
call fcn.0049e460
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0xe34]
mov byte [esp + eax + 0x204], cl
inc eax
test cl, cl
jne 0x441420
lea edx, [esp + 0x1234]
push edx
lea eax, [esp + 0x608]
push eax
call fcn.0046dae0
lea ecx, [esp + 0x1234]
push ecx
lea edx, [esp + 0xe38]
push edx
mov ecx, esi
call fcn.0043d1e0
test al, al
je 0x44146d
xor eax, eax
mov word [esp + 0x1234], ax
mov eax, dword [esp + 0x1a3c]
mov ecx, dword [esp + 0x1a34]
mov edx, dword [esp + 0x1a38]
mov dword [esp + 0xe14], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0xe04], ecx
mov ecx, dword [esp + 0x1ec4]
mov dword [esp + 0x18], eax
mov dword [esp + 0xe28], eax
mov dword [esp + 0xe08], edx
mov edx, dword [esp + 0x1ec8]
lea eax, [esp + 0x204]
mov dword [esp + 0xe18], ecx
push eax
mov ecx, 0x4ecbf8
mov dword [esp + 0xe10], edi
mov dword [esp + 0xe14], edi
mov dword [esp + 0xe20], edx
call fcn.0043cb60
cmp byte [esp + 0x1e], 0
mov dword [esp + 0x74], eax
jne 0x4414f8
mov ecx, dword [esp + 0x68]
push ecx
call fcn.004454c0
call fcn.0043ca60
test eax, eax
je 0x441526
cmp word [esp + 0x1234], di
je 0x441526
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push eax
push edi
lea edx, [esp + 0x123c]
push 0x104d
mov dword [esp + 0x74], edx
push ecx
jmp 0x441534
mov eax, dword [esi]
lea edx, [esp + 0x54]
push edx
push edi
push 0x1007
push eax
call ebx
cmp byte [esp + 0x1a44], 0
mov ebp, eax
jne 0x44157c
mov edx, dword [esp + 0xe08]
mov eax, dword [esp + 0xe04]
push 0x32
lea ecx, [esp + 0x2b44]
push ecx
push edx
push eax
call fcn.004449e0
mov eax, dword [esi]
lea edx, [esp + 0x24]
push edx
push ebp
lea ecx, [esp + 0x2b48]
push 0x102e
mov dword [esp + 0x44], ecx
push eax
jmp 0x441592
mov edx, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push ebp
push 0x102e
mov dword [esp + 0x44], 0x4b1914
push edx
mov dword [esp + 0x3c], 1
call ebx
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x2c], 2
je 0x4415c6
mov edx, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esp + 0x1bc]
push 0x102e
mov dword [esp + 0x44], eax
push edx
jmp 0x4415dc
mov ecx, dword [esi]
lea eax, [esp + 0x24]
push eax
push ebp
push 0x102e
mov dword [esp + 0x44], 0x4b1914
push ecx
call ebx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x1ec8]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push 0x64
lea eax, [esp + 0x2ae0]
push eax
push 0
lea ecx, [esp + 0xa0]
push ecx
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
lea edi, [esp + 0x2adc]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x441630
mov dx, word [0x4b2a74]
lea eax, [esp + 0x2adc]
mov word [edi], dx
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x441650
xor edx, edx
sub eax, ecx
cmp byte [esp + 0x1d], dl
push 0x64
setne dl
lea eax, [esp + eax + 0x2ae0]
push eax
push 0
lea ecx, [esp + 0xa0]
push ecx
dec edx
and edx, 2
push edx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov edx, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push ebp
push 0x102e
lea eax, [esp + 0x2ae8]
push edx
mov dword [esp + 0x3c], 3
mov dword [esp + 0x48], eax
call ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
xor edi, edi
jmp 0x441310
cmp byte [esp + 0x2b74], 0x5c
jne 0x4416f2
cmp byte [esp + 0x2b75], 0x5c
jne 0x4416f2
lea ecx, [esp + 0x2b76]
push 0x5c
push ecx
call fcn.0049db10
add esp, 8
cmp eax, edi
je 0x4416fd
inc eax
push 0x5c
push eax
call fcn.0049db10
add esp, 8
test eax, eax
je 0x4416fd
cmp byte [esp + 0x17], 0
jne 0x4417bf
lea edx, [esp + 0x2b74]
push edx
call fcn.0044db30
cmp byte [eax], 0
je 0x4417bf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa8]
push 0xc30
lea edx, [esp + 0x208]
push edi
push edx
mov dword [esp + 0x60], 7
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], 0x4b1a5c
call fcn.0049e460
mov cl, byte [0x4b1a5e]
mov ax, word [0x4b1a5c]
add esp, 0xc
lea edx, [esp + 0x204]
mov byte [esp + 0x206], cl
push edx
mov ecx, 0x4ecbf8
mov word [esp + 0x208], ax
mov dword [esp + 0xe18], 0x10
call fcn.0043cb60
mov ecx, dword [esi]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x54]
push eax
push edi
push 0x1007
push ecx
call ebx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1b8]
push eax
mov dword [esp + 0x40], edx
mov edx, dword [esi]
push 0x102e
push edx
mov dword [esp + 0x3c], 2
call ebx
mov byte [esp + 0x3b80], 1
lea ecx, [esp + 0x84]
call fcn.0047ebd0
mov byte [esp + 0x3b80], 0
lea ecx, [esp + 0x1ed4]
call fcn.00432d20
mov ecx, 0x4ecbf8
call fcn.0043cdf0
mov ecx, esi
call fcn.00440420
mov ebp, dword [esp + 0x4c]
cmp ebp, edi
je 0x441847
cmp byte [ebp], 0
jne 0x441836
mov eax, dword [esi]
push edi
push edi
push 0x1004
push eax
call ebx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jl 0x441821
cmp eax, edi
jle 0x441821
lea ecx, [eax - 1]
lea edx, [esp + 0x24]
mov eax, 3
push edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
push ecx
jmp 0x441869
mov ecx, dword [esp + 0x50]
push ecx
push ebp
mov ecx, esi
call fcn.00440b60
cmp eax, edi
jne 0x441873
mov eax, 3
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x441861
cmp ebp, edi
jne 0x441863
xor eax, eax
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [esi]
push 0x102b
push eax
call ebx
mov ecx, dword [esi]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call ebx
push edi
mov ecx, 0x4dc1d0
mov ebp, eax
call fcn.00464e40
mov edx, dword [esi]
push edi
push 1
push 0xb
push edx
call ebx
mov eax, dword [esi]
push edi
push edi
push 0x102a
push eax
call ebx
mov ecx, dword [esi]
push edi
push ebp
push 0x1013
push ecx
call ebx
mov ecx, esi
call fcn.0043fa30
mov ecx, esi
call fcn.0043d800
push edi
mov ecx, 0x4dc1d0
call fcn.00464dd0
mov ecx, 0x4e2e80
call fcn.00468c10
cmp byte [esp + 0x16], 0
jne 0x4418f6
cmp byte [esi + 0xc1e], 0
jne 0x4418f6
push 3
push edi
push 0x4b2160
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationA]
mov dword [0x4dbd5c], eax
mov dword [esp + 0x3b80], 0xffffffff
cmp dword [0x4dbd58], edi
jle 0x44190f
dec dword [0x4dbd58]
mov ecx, dword [esp + 0x3b78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3b60]
xor ecx, esp
call fcn.0049dea6
add esp, 0x3b70
ret 8