Function at 0x459684
Capabilities:
Get file system object information

Disassembly:
push 0x2a0
mov eax, 0x4a1837
call fcn.0048d04b
mov esi, ecx
call fcn.0046d63c
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00401764
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.0046d63c
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00401764
mov byte [ebp - 4], 1
call fcn.0046d63c
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.0045fa8a
test eax, eax
pop ecx
jne 0x4598ff
push ebx
push 0x5c
mov ecx, esi
call fcn.00406acd
test eax, eax
jl 0x459768
mov ecx, esi
call fcn.0045b9d9
test eax, eax
je 0x459768
mov eax, dword [esi]
lea ecx, [ebp - 0x13c]
push ecx
push eax
call fcn.0047e640
test eax, eax
jne 0x459740
push ebx
jmp 0x459901
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 0x4598f5
mov cl, 0x2e
call fcn.00406afe
cmp eax, ebx
jl 0x4598ff
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.00404cf6
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.0040f9d0
lea ebx, [ebp - 0x2a0]
call fcn.0045996a
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.004032d6
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.004032d6
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.004032d6
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 6
call fcn.0045ba3d
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 0x459918
push 1
push dword [0x4da604]
call fcn.00471426
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.0041741a
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.0048d0ce
ret