Function at 0x45a1e8
Capabilities:
Get file system object information

Disassembly:
push 0x2a0
mov eax, 0x4a2ab2
call fcn.0048e23b
mov esi, ecx
call fcn.0046e7df
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00401764
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.0046e7df
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00401764
mov byte [ebp - 4], 1
call fcn.0046e7df
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00401764
mov byte [ebp - 4], 2
push str..lnk
mov edi, esi
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
call fcn.004609e9
test eax, eax
pop ecx
jne 0x45a463
push ebx
push 0x5c
mov ecx, esi
call fcn.00406b8e
test eax, eax
jl 0x45a2cc
mov ecx, esi
call fcn.0045c765
test eax, eax
je 0x45a2cc
mov eax, dword [esi]
lea ecx, [ebp - 0x13c]
push ecx
push eax
call fcn.0047f332
test eax, eax
jne 0x45a2a4
push ebx
jmp 0x45a465
xor eax, eax
cmp dword [ebp + 8], ebx
setne al
or eax, 0x100
push eax
push 0x160
lea eax, [ebp - 0x29c]
push eax
push ebx
push dword [esi]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
jmp 0x45a459
mov cl, 0x2e
call fcn.00406bbf
cmp eax, ebx
jl 0x45a463
push eax
lea eax, [ebp - 0x2a0]
push eax
mov ecx, esi
call fcn.004013ad
push eax
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 3
call fcn.004018c1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [ebp - 0x2a0]
push str.GETRGT
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00404dd4
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 4
call fcn.004018c1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.0040174a
lea edi, [ebp - 0x2ac]
call fcn.0040fb63
lea ebx, [ebp - 0x2a0]
call fcn.0045a4ce
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 5
call fcn.004018c1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.004032e0
mov eax, dword [eax]
add esp, 0xc
xor esi, esi
push esi
push 0x80
push 2
push esi
push esi
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
mov edi, eax
call fcn.0040174a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.004032e0
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
cmp dword [ebp + 8], esi
setne cl
or ecx, 0x100
push ecx
push 0x160
lea ecx, [ebp - 0x29c]
push ecx
push esi
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.004032e0
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 6
call fcn.0045c7c9
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.0040174a
xor ebx, ebx
mov esi, dword [ebp - 0x29c]
cmp esi, ebx
jne 0x45a47c
push 1
push dword [0x4db604]
call fcn.0047261a
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.004175e1
mov esi, eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x2ac]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x2a8]
add ecx, 0xfffffff0
call fcn.0040174a
mov eax, esi
call fcn.0048e2be
ret