Function at 0x450284
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x496c20
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4c7674]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x4c7674]
xor eax, esp
push eax
lea eax, [esp + 0x2b8]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00462b71
push eax
lea ecx, [esp + 0x1c]
call fcn.0040176f
xor ebx, ebx
mov dword [esp + 0x2c0], ebx
call fcn.00462b71
push eax
lea ecx, [esp + 0x24]
call fcn.0040176f
mov byte [esp + 0x2c0], 1
call fcn.00462b71
push eax
lea ecx, [esp + 0x20]
call fcn.0040176f
mov byte [esp + 0x2c0], 2
push str..lnk
mov edi, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.004564b7
test eax, eax
pop ecx
jne 0x45050a
push ebx
push 0x5c
mov ecx, esi
call fcn.004068d8
test eax, eax
jl 0x450389
mov ecx, esi
call fcn.004525e6
test eax, eax
je 0x450389
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.00470766
test eax, eax
jne 0x450369
push ebx
jmp 0x45050c
push 0x101
push 0x160
lea eax, [esp + 0x154]
push eax
push ebx
push dword [esi]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
jmp 0x4504ff
mov cl, 0x2e
call fcn.00406909
cmp eax, ebx
jl 0x45050a
push eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.004013ad
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2c4], 3
call fcn.004018cc
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401755
lea eax, [esp + 0x14]
push str.GETRGT
push eax
lea ecx, [esp + 0x28]
call fcn.00404afb
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c4], 4
call fcn.004018cc
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401755
lea edi, [esp + 0x20]
call fcn.0040f6e3
lea ebx, [esp + 0x14]
call fcn.0045057b
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c4], 5
call fcn.004018cc
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401755
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004030df
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 [esp + 0x14]
add ecx, 0xfffffff0
mov edi, eax
call fcn.00401755
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004030df
mov eax, dword [eax]
add esp, 0xc
push 0x101
push 0x160
lea ecx, [esp + 0x154]
push ecx
push esi
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401755
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004030df
add esp, 0xc
mov esi, eax
mov byte [esp + 0x2c0], 6
call fcn.0045264a
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401755
xor ebx, ebx
mov esi, dword [esp + 0x14c]
cmp esi, ebx
jne 0x450523
push 1
push dword [0x4cc5a4]
call fcn.00466a93
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.0041718d
mov esi, eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, esi
mov ecx, dword [esp + 0x2b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a0]
xor ecx, esp
call fcn.0047d103
mov esp, ebp
pop ebp
ret