Function at 0x448520
Capabilities:
Check if file exists
Get file attributes
Get file system object information
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c2df1
mov eax, dword fs:[0]
push eax
mov eax, 0x3560
call fcn.004af740
mov eax, dword [0x4d88f0]
xor eax, esp
mov dword [esp + 0x355c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d88f0]
xor eax, esp
push eax
lea eax, [esp + 0x3574]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3584]
inc dword [0x51a024]
mov esi, ecx
mov dword [esp + 0x24], eax
xor ebp, ebp
mov dword [esp + 0x357c], ebp
mov ecx, dword [esi]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call ebx
push 1
mov ecx, 0x51a8d0
mov dword [esp + 0x24], eax
call fcn.0046ee80
push 0x1c2
call fcn.00465ff0
push eax
mov ecx, 0x51a8d0
call fcn.0046eef0
mov eax, dword [0x51a02c]
cmp eax, ebp
je 0x4485ce
push eax
call dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
mov dword [0x51a02c], 0xffffffff
push 0x400
lea edx, [esp + 0x2d74]
push edx
mov byte [esp + 0x1e], 0
call fcn.0048b890
cmp byte [esi + 0x81a], 0
je 0x4485fd
mov ecx, 0x520098
call fcn.004076d0
jmp 0x4486ba
lea eax, [esp + 0x2d70]
push eax
push ebp
call fcn.00455040
test al, al
jne 0x448644
lea ecx, [esp + 0x2d70]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x448644
lea edx, [esp + 0x2d70]
push edx
call fcn.00455740
test eax, eax
je 0x448644
push 0x4c5b28
call fcn.0048a790
test al, al
sete byte [esp + 0x16]
lea eax, [esp + 0x2d70]
push eax
call fcn.00455740
cmp word [eax], bp
jne 0x44865d
lea eax, [esp + 0x2d70]
push eax
call fcn.0049c650
lea ecx, [esp + 0x2d70]
push ecx
call fcn.00455bc0
mov edi, eax
cmp edi, 0xffffffff
je 0x44868d
call fcn.0048a770
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
je 0x448db4
cmp byte [esp + 0x16], 0
jne 0x4486ba
mov ecx, 0x520098
call fcn.004070a0
mov ecx, 0x520088
call fcn.00475d80
lea eax, [esp + 0x2d70]
push eax
mov ecx, 0x520088
call fcn.00475870
mov ecx, dword [esi]
push ebp
push ebp
push 0xb
push ecx
call ebx
mov ecx, esi
call fcn.00447a80
cmp byte [esp + 0x16], 0
mov edi, dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jne 0x4486f5
push 0x4401
push 0x2b4
lea edx, [esp + 0x8f0]
push edx
push ebp
push 0x4c679c
call edi
cmp eax, ebp
jne 0x44872f
push 0x400
lea eax, [esp + 0xbc]
push eax
call fcn.0048a680
cmp byte [esp + 0x16], 0
je 0x448712
xor eax, eax
jmp 0x44872f
push 0x4401
push 0x2b4
lea ecx, [esp + 0x8f0]
push ecx
push ebp
lea edx, [esp + 0xc8]
push edx
call edi
push eax
mov eax, dword [esi]
push 1
push 0x1003
push eax
call ebx
push 1
push str.AllowUppercase
push str.FileList
call fcn.0045fc40
push ebp
push str.ShowSeconds
test eax, eax
push str.FileList
setne byte [esp + 0x2a]
call fcn.0045fc40
test eax, eax
setne byte [esp + 0x1d]
cmp byte [esi + 0x81a], 0
je 0x448780
mov ecx, esi
call fcn.004448c0
jmp 0x448ca3
lea ecx, [esp + 0x203c]
call fcn.0043a100
mov byte [esp + 0x357c], 1
push 0x4c57ac
lea ecx, [esp + 0x2040]
call fcn.0043a140
lea ecx, [esp + 0x17b0]
call fcn.004128a0
lea ecx, [esp + 0x17d4]
call fcn.004128a0
lea ecx, [esp + 0x17f8]
call fcn.004128a0
push 0x1f4
lea ecx, [esp + 0xac]
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x1b], 0
call fcn.0048b400
mov byte [esp + 0x357c], 2
cmp byte [esp + 0x16], 0
jne 0x448b6e
push ebp
lea ecx, [esp + 0xba0]
push ecx
lea ecx, [esp + 0x2044]
call fcn.0043a560
test al, al
je 0x448b6e
test byte [esp + 0x18], 0x1f
jne 0x448826
lea ecx, [esp + 0xa8]
call fcn.0048ac50
mov ecx, 0x4c679c
lea eax, [esp + 0xf9c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x448858
cmp dx, bp
je 0x448854
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x448858
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x448832
xor eax, eax
jmp 0x44885d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x4487f6
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xf9c]
mov dword [esp + 0x5c], 7
mov dword [esp + 0x60], edx
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x64], ebp
mov dword [esp + 0x70], eax
mov ecx, 0x4c5b28
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4488b6
cmp dx, bp
je 0x4488b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4488b6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x448890
xor eax, eax
jmp 0x4488bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x4488ee
lea ecx, [esp + 0x2d70]
push ecx
call fcn.00455740
cmp word [eax], bp
je 0x4487f6
mov edx, dword [esp + 0x8ec]
mov dword [esp + 0x78], edx
mov byte [esp + 0x17], 1
push 0x830
lea eax, [esp + 0xbc]
push ebp
push eax
call fcn.004afbb0
add esp, 0xc
xor eax, eax
jmp 0x448910
movzx ecx, word [esp + eax + 0xf9c]
mov word [esp + eax + 0xb8], cx
add eax, 2
cmp cx, bp
jne 0x448910
lea ecx, [esp + 0xf9c]
push ecx
mov ecx, esi
call fcn.00444b50
mov eax, dword [esp + 0x17a0]
mov ecx, dword [esp + 0x17a4]
mov edx, dword [esp + 0x179c]
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0x2030]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xb8]
mov dword [esp + 0x8b8], edx
mov edx, dword [esp + 0x202c]
inc eax
push ecx
mov ecx, 0x530708
mov dword [esp + 0x8c4], ebp
mov dword [esp + 0x8c8], ebp
mov dword [esp + 0x8d0], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x8e0], eax
call fcn.004443c0
cmp byte [esp + 0x1e], 0
mov dword [esp + 0x7c], eax
jne 0x4489c2
mov edx, dword [esp + 0x70]
push edx
call fcn.0044bd20
mov edx, dword [esi]
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0x104d
lea eax, [esp + 0xfa8]
push edx
mov dword [esp + 0x80], eax
call ebx
cmp byte [esp + 0x17ac], 0
mov ebp, eax
jne 0x448a27
mov ecx, dword [esp + 0x8bc]
mov edx, dword [esp + 0x8b8]
push 0x32
lea eax, [esp + 0x2d10]
push eax
push ecx
push edx
call fcn.0044b9d0
mov edx, dword [esi]
lea ecx, [esp + 0x28]
push ecx
push ebp
lea eax, [esp + 0x2d14]
push 0x1074
mov dword [esp + 0x48], eax
push edx
jmp 0x448a3d
mov ecx, dword [esi]
lea eax, [esp + 0x28]
push eax
push ebp
push 0x1074
mov dword [esp + 0x48], 0x4c5d80
push ecx
mov dword [esp + 0x40], 1
call ebx
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x30], 2
je 0x448a71
mov ecx, dword [esi]
lea eax, [esp + 0x28]
push eax
push ebp
lea edx, [esp + 0xb04]
push 0x1074
mov dword [esp + 0x48], edx
push ecx
jmp 0x448a87
mov eax, dword [esi]
lea edx, [esp + 0x28]
push edx
push ebp
push 0x1074
mov dword [esp + 0x48], 0x4c5d80
push eax
call ebx
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x2030]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x94]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push 0x64
lea edx, [esp + 0x2c48]
push edx
push 0
lea eax, [esp + 0xa4]
push eax
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea edi, [esp + 0x2c44]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x448ae0
mov ecx, dword [0x4c7434]
lea eax, [esp + 0x2c44]
mov dword [edi], ecx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x448b00
sub eax, edx
xor ecx, ecx
sar eax, 1
cmp byte [esp + 0x1d], cl
push 0x64
setne cl
lea edx, [esp + eax*2 + 0x2c48]
push edx
push 0
lea eax, [esp + 0xa4]
push eax
dec ecx
and ecx, 2
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov ecx, dword [esi]
lea eax, [esp + 0x28]
push eax
push ebp
push 0x1074
lea edx, [esp + 0x2c50]
push ecx
mov dword [esp + 0x40], 3
mov dword [esp + 0x4c], edx
call ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], edx
xor ebp, ebp
jmp 0x4487f6
mov edi, 0x5c
cmp word [esp + 0x2d70], di
jne 0x448bad
cmp word [esp + 0x2d72], di
jne 0x448bad
lea eax, [esp + 0x2d74]
push edi
push eax
call fcn.004b0312
add esp, 8
cmp eax, ebp
je 0x448bb8
add eax, 2
push edi
push eax
call fcn.004b0312
add esp, 8
test eax, eax
je 0x448bb8
cmp byte [esp + 0x17], 0
jne 0x448c7b
lea ecx, [esp + 0x2d70]
push ecx
call fcn.00455740
cmp word [eax], bp
je 0x448c7b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x8ec]
push 0x830
lea ecx, [esp + 0xbc]
push ebp
push ecx
mov dword [esp + 0x68], 7
mov dword [esp + 0x6c], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x70], ebp
mov dword [esp + 0x7c], 0x4c5b28
call fcn.004afbb0
add esp, 0xc
xor eax, eax
movzx ecx, word [eax + 0x4c5b28]
mov word [esp + eax + 0xb8], cx
add eax, 2
cmp cx, bp
jne 0x448c10
lea edx, [esp + 0xb8]
push edx
mov ecx, 0x530708
mov dword [esp + 0x8cc], 0x10
call fcn.004443c0
mov ecx, dword [esi]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x5c]
push eax
push ebp
push 0x104d
push ecx
call ebx
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xb00]
push eax
mov dword [esp + 0x44], edx
mov edx, dword [esi]
push 0x1074
push edx
mov dword [esp + 0x40], 2
call ebx
mov byte [esp + 0x357c], 1
lea ecx, [esp + 0xa8]
call fcn.0048ac90
mov byte [esp + 0x357c], 0
lea ecx, [esp + 0x203c]
call fcn.0043a120
mov ecx, 0x530708
call fcn.00444630
mov ecx, esi
call fcn.00448170
mov edi, dword [esp + 0x24]
cmp edi, ebp
je 0x448d05
cmp word [edi], bp
jne 0x448cf9
mov eax, dword [esi]
push ebp
push ebp
push 0x1004
push eax
call ebx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jl 0x448cdc
cmp eax, ebp
jle 0x448cdc
lea ecx, [eax - 1]
lea edx, [esp + 0x28]
push edx
mov eax, 3
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
push 0x102b
push eax
jmp 0x448d2f
push edi
mov ecx, esi
call fcn.00447ec0
test al, al
jne 0x448d31
mov eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x448d1f
cmp edi, ebp
jne 0x448d21
xor eax, eax
mov edx, dword [esi]
lea ecx, [esp + 0x28]
push ecx
push eax
push 0x102b
push edx
call ebx
mov eax, dword [esi]
push 1
push 0xffffffffffffffff
push 0x100c
push eax
call ebx
push ebp
mov ecx, 0x51a8d0
mov edi, eax
call fcn.0046eef0
mov ecx, dword [esi]
push ebp
push 1
push 0xb
push ecx
call ebx
mov edx, dword [esi]
push ebp
push ebp
push 0x102a
push edx
call ebx
mov eax, dword [esi]
push ebp
push edi
push 0x1013
push eax
call ebx
mov ecx, esi
call fcn.00446760
mov ecx, esi
call fcn.00446980
push ebp
mov ecx, 0x51a8d0
call fcn.0046ee80
mov ecx, 0x5228b0
call fcn.00472f20
cmp byte [esp + 0x16], 0
jne 0x448db4
cmp byte [esi + 0x81a], 0
jne 0x448db4
push 3
push ebp
push 0x4c679c
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationW]
mov dword [0x51a02c], eax
mov dword [esp + 0x357c], 0xffffffff
cmp dword [0x51a024], ebp
jle 0x448dcd
dec dword [0x51a024]
mov ecx, dword [esp + 0x3574]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x355c]
xor ecx, esp
call fcn.004af72c
add esp, 0x356c
ret 4