Function at 0x472910
Capabilities:
Get file system object information

Disassembly:
sub esp, 0x6ec
mov eax, dword [0x4f00a8]
xor eax, esp
mov dword [esp + 0x6e8], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x700]
push edi
mov edi, dword [esp + 0x700]
mov dword [esp + 0x30], ecx
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], ebp
call fcn.00478080
test eax, eax
ja 0x472974
mov al, 1
mov ecx, dword [esp + 0x6f8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004911aa
add esp, 0x6ec
ret 8
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
push eax
mov ecx, edi
call fcn.00478030
test al, al
je 0x472c73
lea ecx, [esp + 0x10]
push ecx
push str.flags
mov ecx, edi
mov dword [esp + 0x18], ebp
call fcn.00478180
push 0x103
lea edx, [esp + 0x4f4]
push edx
push 0x4d0a2c
mov ecx, edi
call fcn.004781c0
mov eax, dword [esi + 0x3c]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
add eax, 0x208
push eax
lea ecx, [esp + 0x2ec]
push ecx
call ebx
mov edx, dword [esi + 0x3c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push edx
lea eax, [esp + 0x2ec]
push eax
call esi
lea ecx, [esp + 0x4f0]
push ecx
lea edx, [esp + 0x2ec]
push edx
call esi
push 0x103
lea eax, [esp + 0x4f4]
push eax
push str.FullPath
mov ecx, edi
call fcn.004781c0
lea ecx, [esp + 0x18]
push ecx
push str.FileTime
mov ecx, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.004782c0
test byte [esp + 0x10], 1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
je 0x472abd
lea ecx, [esp + 0x2e8]
push ecx
lea edx, [esp + 0x38]
push edx
call ebx
lea eax, [esp + 0x34]
push eax
call fcn.00476ff0
mov esi, dword [esp + 0x34]
add esp, 4
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call fcn.0046f9f0
cmp eax, ebp
jne 0x472a7a
lea edx, [esp + 0x34]
push edx
mov ecx, esi
call fcn.004705e0
mov cl, byte [esp + 0x10]
mov esi, eax
mov eax, dword [esi + 0x3c]
mov byte [eax + 0x6d0], cl
mov eax, dword [esi + 0x3c]
lea edx, [esp + 0x4f0]
push edx
add eax, 0x418
push eax
call ebx
mov esi, dword [esi + 0x3c]
lea ecx, [esi + 0x6c2]
push ecx
add esi, 0x6c0
push esi
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
jmp 0x472c4f
push 0x6d8
call fcn.004919dd
add esp, 4
cmp eax, ebp
je 0x472b1a
xor ecx, ecx
xor edx, edx
mov word [eax], cx
mov word [eax + 0x208], dx
mov dword [eax + 0x410], ebp
mov dword [eax + 0x414], ebp
mov word [eax + 0x418], cx
mov word [eax + 0x620], dx
mov word [eax + 0x6c0], cx
mov word [eax + 0x6c2], dx
mov dword [eax + 0x6c8], ebp
mov dword [eax + 0x6cc], ebp
mov byte [eax + 0x6d0], cl
mov esi, eax
jmp 0x472b1c
xor esi, esi
mov al, byte [esp + 0x10]
lea ecx, [esp + 0x2e8]
push ecx
push esi
mov dword [esp + 0x28], esi
mov byte [esi + 0x6d0], al
call ebx
push esi
call fcn.00477190
add esp, 4
lea edx, [esp + 0x2e8]
push edx
lea ebp, [esi + 0x208]
push ebp
call ebx
push ebp
call fcn.00477110
add esp, 4
test al, al
jne 0x472b64
push 0x4ca150
push ebp
call ebx
lea eax, [esp + 0x4f0]
push eax
lea ecx, [esi + 0x418]
push ecx
call ebx
push 0x410
push 0x2b4
lea edx, [esp + 0x3c]
push edx
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
je 0x472ba5
lea eax, [esp + 0x248]
push eax
lea ecx, [esi + 0x620]
push ecx
call ebx
cmp word [esi + 0x20a], 0
je 0x472bdf
lea edx, [esp + 0x2e8]
push edx
mov ecx, 0x539fd8
call fcn.0046f9f0
test eax, eax
je 0x472bc9
mov ebx, eax
jmp 0x472be5
lea eax, [esp + 0x2e8]
push eax
mov ecx, 0x539fd8
call fcn.004705e0
mov ebx, eax
jmp 0x472be5
mov ebx, dword [0x539fe0]
lea ecx, [esi + 0x6c2]
push ecx
lea edx, [esi + 0x6c0]
push edx
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
lea ecx, [esp + 0x18]
push ecx
push str.FileSize
mov ecx, edi
call fcn.004782c0
mov edx, dword [esp + 0x18]
mov dword [esi + 0x6c8], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x6cc], eax
mov ebp, dword [ebx + 0x30]
mov edx, dword [ebp + 4]
lea esi, [ebx + 0x1c]
lea ecx, [esp + 0x20]
push ecx
push edx
push ebp
mov ecx, esi
call fcn.0045aea0
push 1
mov ecx, esi
mov ebx, eax
call fcn.0045bb10
mov dword [ebp + 4], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
xor ebp, ebp
mov ecx, edi
call fcn.00477b00
mov esi, dword [esp + 0x14]
inc esi
mov ecx, edi
mov dword [esp + 0x14], esi
call fcn.00478080
cmp esi, eax
jb 0x472970
jmp 0x47294f
xor al, al
jmp 0x472951