Function at 0x4a9f90
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5be02e
mov eax, dword fs:[0]
push eax
sub esp, 0x420
mov eax, dword [0x61f138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
lea edx, [edi + 0x108]
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x364], eax
xor eax, eax
mov dword [ebp - 0x370], esi
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x378], eax
call fcn.004a9ee0
mov esi, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
push 6
xor eax, eax
mov dword [ebp - 0x3c], 0
push str.LOCAL
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
call fcn.00445cb0
push esi
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.0044a330
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa035
mov eax, dword [eax]
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
push eax
mov eax, dword [edi + 0x134]
push dword [eax + 8]
call ebx
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x4aa081
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa077
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9e2
push edx
push ecx
call fcn.0056eec5
add esp, 8
xor eax, eax
mov dword [ebp - 0x54], 0
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp edx, 8
jb 0x4aa0d2
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa0c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9e7
push edx
push ecx
call fcn.0056eec5
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x4aa127
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa11d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9ec
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea edx, [edi + 0xf4]
lea ecx, [ebp - 0x34]
call fcn.004a9ee0
mov esi, eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x4c]
push 7
xor eax, eax
mov dword [ebp - 0x3c], 0
push str.REMOTE
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
call fcn.00445cb0
push esi
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.0044a330
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa17c
mov eax, dword [eax]
push eax
mov eax, dword [edi + 0x138]
push dword [eax + 8]
call ebx
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x4aa1c2
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa1b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9f1
push edx
push ecx
call fcn.0056eec5
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp edx, 8
jb 0x4aa214
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa20a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9f6
push edx
push ecx
call fcn.0056eec5
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x4aa269
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa25f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9fb
push edx
push ecx
call fcn.0056eec5
add esp, 8
push 1
mov edx, str.Name
lea ecx, [ebp - 0x34]
call fcn.004a9e20
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa283
mov eax, dword [eax]
mov esi, dword [ebp - 0x370]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x403
push esi
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 0
call ebx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x4aa2eb
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa2e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aaa00
push edx
push ecx
call fcn.0056eec5
add esp, 8
push 2
mov edx, str.Size
lea ecx, [ebp - 0x34]
call fcn.004a9e20
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa305
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x403
push esi
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0
call ebx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x4aa361
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa357
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aaa05
push edx
push ecx
call fcn.0056eec5
add esp, 8
push 3
mov edx, str.Date
lea ecx, [ebp - 0x34]
call fcn.004a9e20
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa37b
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x403
push esi
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 0
call ebx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x4aa3d7
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa3cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aaa0a
push edx
push ecx
call fcn.0056eec5
add esp, 8
push 4
mov edx, str.Type
lea ecx, [ebp - 0x34]
call fcn.004a9e20
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4aa3f1
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x403
push esi
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x14], 0
call ebx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x4aa44d
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa443
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aaa0f
push edx
push ecx
call fcn.0056eec5
add esp, 8
mov eax, dword [ebp - 0x364]
xor edx, edx
mov dword [ebp - 0x374], edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 6
test eax, eax
je 0x4aa9c4
xor edi, edi
mov dword [ebp - 0x368], edi
cmp dword [edi + ecx + 0x14], 8
lea eax, [edi + ecx]
jb 0x4aa481
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
push eax
push 0x403
push esi
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 1
call ebx
mov dword [ebp - 0x42c], 0x5ec86c
mov dword [ebp - 0x41c], 0x5ec864
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x3c4]
mov eax, dword [ebp - 0x36c]
or eax, 1
mov dword [ebp - method.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x3c8], 0x50
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x420], 0
call fcn.00436840
lea eax, [ebp - 0x414]
mov dword [ebp - 0x388], 0
push 0x20
lea ecx, [ebp - 0x3c4]
mov dword [ebp - 0x38c], eax
call fcn.00448c30
cmp dword [ebp - 0x38c], 0
mov word [ebp - 0x384], ax
jne 0x4aa54f
mov eax, dword [ebp - 0x3b8]
lea ecx, [ebp - 0x3c4]
push 0
or eax, 4
push eax
call fcn.004367c0
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x420], eax
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x430], eax
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x430], eax
lea ecx, [ebp - 0x414]
call fcn.004485b0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 4], 0xa
add edi, dword [ecx]
cmp dword [edi + 0x2c], 8
lea esi, [edi + 0x18]
jb 0x4aa61b
mov esi, dword [edi + 0x18]
cmp dword [edi + 0x28], 3
jne 0x4aa65b
mov ecx, 0x5f299c
mov edx, 3
sub esi, ecx
lea ecx, [ecx]
mov ax, word [ecx + esi]
cmp ax, word [ecx]
jne 0x4aa65b
add ecx, 2
sub edx, 1
jne 0x4aa630
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
test ecx, ecx
jl 0x4aa6d7
jg 0x4aa661
test eax, eax
je 0x4aa6d7
jmp 0x4aa661
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
push ecx
push eax
xor edx, edx
lea ecx, [ebp - 0xac]
call fcn.00510490
add esp, 8
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4aa682
mov eax, dword [eax]
push ecx
mov edx, eax
lea ecx, [ebp - 0x41c]
call fcn.0044d4b0
mov byte [ebp - 4], 0xa
add esp, 4
mov edx, dword [ebp - 0x98]
cmp edx, 8
jb 0x4aa6d7
mov ecx, dword [ebp - 0xac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa6cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9e2
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x414]
call fcn.004466f0
or dword [ebp - 0x36c], 0x10
lea eax, [ebp - 0x34]
cmp dword [ebp - 0x20], 8
mov esi, dword [ebp - 0x370]
cmovae eax, dword [ebp - 0x34]
mov edi, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], edi
push eax
push 0x403
push esi
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x68], 2
call ebx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x4aa759
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4aa74f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4aa9e2
push edx
push ecx
call fcn.0056eec5
add esp, 8
mov eax, dword [ebp - 0x364]
mov ecx, dword [ebp - 0x368]
add ecx, 0x30
mov eax, dword [eax]
add ecx, eax
cmp dword [ecx], 0
je 0x4aa7ea
lea eax, [ebp - 0x44]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
movzx eax, word [ebp - 0x52]
push eax
movzx eax, word [ebp - 0x54]
push eax
movzx eax, word [ebp - 0x5c]
push eax
movzx eax, word [ebp - 0x5a]
push eax
movzx eax, word [ebp - 0x56]
push eax
lea eax, [ebp - 0x2ac]
push str._02d__02d__d___02d:_02d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
mov dword [ebp - 0x7c], edi
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x78], 3
mov dword [ebp - 0x74], 0
push eax
lea eax, [ebp - 0x7c]
push eax
push 0x403
push esi
call ebx
mov ecx, dword [ebp - 0x364]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x368]
add ecx, 0x18
add eax, ecx
mov esi, eax
mov edi, dword [eax + 0x14]
cmp edi, 8
jb 0x4aa801
mov esi, dword [eax]
cmp dword [eax + 0x10], 3
jne 0x4aa828
mov ecx, 0x5f299c
mov edx, 3
sub esi, ecx
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x4aa828
add ecx, 2
sub edx, 1
jne 0x4aa813
mov al, 1
jmp 0x4aa82a
xor al, al
test al, al
je 0x4aa875
push 0x410
push 0x2b4
lea eax, [ebp - 0x360]
push eax
push 0x10
push 0x5f299c
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x14c]
push eax
mov dword [ebp - 0x88], ecx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x84], 4
mov dword [ebp - 0x80], 0
jmp 0x4aa8b3
mov eax, dword [ebp - 0x364]
mov ecx, dword [ebp - 0x368]
add ecx, 0x18
mov eax, dword [eax]
add eax, ecx
cmp edi, 8
jb 0x4aa88f
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
push eax
mov dword [ebp - 0x94], ecx
lea eax, [ebp - 0x94]
mov dword [ebp - 0x90], 4
mov dword [ebp - 0x8c], 0
mov esi, dword [ebp - 0x370]
push eax
push 0x403
push esi
call ebx
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x430], eax
lea ecx, [ebp - 0x414]
call fcn.00442a20
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x430], eax
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x420], eax
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x430], eax
lea eax, [ebp - 0x3c4]
mov dword [ebp - 4], 0xc
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0055c7c7
mov edx, dword [ebp - 0x364]
add esp, 4
mov edi, dword [ebp - 0x368]
inc dword [ebp - 0x374]
add edi, 0x40
inc dword [ebp + 0x10]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 6
mov dword [ebp - 0x368], edi
cmp dword [ebp - 0x374], eax
jb 0x4aa475
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056eeb4
mov esp, ebp
pop ebp
ret 0xc
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
int3