Function at 0x4584f6
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a052e
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4d4684]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x4d4684]
xor eax, esp
push eax
lea eax, [esp + 0x2b8]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0046c34c
push eax
lea ecx, [esp + 0x1c]
call fcn.00401764
xor ebx, ebx
mov dword [esp + 0x2c0], ebx
call fcn.0046c34c
push eax
lea ecx, [esp + 0x24]
call fcn.00401764
mov byte [esp + 0x2c0], 1
call fcn.0046c34c
push eax
lea ecx, [esp + 0x20]
call fcn.00401764
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.0045e7e8
test eax, eax
pop ecx
jne 0x45877c
push ebx
push 0x5c
mov ecx, esi
call fcn.00406a9a
test eax, eax
jl 0x4585fb
mov ecx, esi
call fcn.0045a872
test eax, eax
je 0x4585fb
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.0047d520
test eax, eax
jne 0x4585db
push ebx
jmp 0x45877e
push 0x101
push 0x160
lea eax, [esp + 0x154]
push eax
push ebx
push dword [esi]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
jmp 0x458771
mov cl, 0x2e
call fcn.00406acb
cmp eax, ebx
jl 0x45877c
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.004018c1
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x14]
push str.GETRGT
push eax
lea ecx, [esp + 0x28]
call fcn.00404ce0
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c4], 4
call fcn.004018c1
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
lea edi, [esp + 0x20]
call fcn.0040f8a5
lea ebx, [esp + 0x14]
call fcn.004587ed
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c4], 5
call fcn.004018c1
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
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 [esp + 0x14]
add ecx, 0xfffffff0
mov edi, eax
call fcn.0040174a
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.004032e0
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.0040174a
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004032e0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x2c0], 6
call fcn.0045a8d6
mov byte [esp + 0x2c0], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
xor ebx, ebx
mov esi, dword [esp + 0x14c]
cmp esi, ebx
jne 0x458795
push 1
push dword [0x4d95c4]
call fcn.004701ac
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.00417352
mov esi, eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.0040174a
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.00486793
mov esp, ebp
pop ebp
ret