Function at 0x4964b0
Capabilities:
Get file system object information

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5436bd
push eax
mov dword fs:[0], esp
sub esp, 0x17c
push ebx
push ebp
mov ebp, ecx
push esi
lea ebx, [ebp + 0x2415c]
mov ecx, ebx
call fcn.0050d388
lea ecx, [ebp + 0x24160]
call fcn.0050d388
mov esi, dword [esp + 0x198]
test esi, esi
jne 0x4964ff
mov ecx, ebp
call fcn.00491a40
jmp 0x4967aa
mov ecx, esi
call fcn.00479d20
test eax, eax
jne 0x496516
mov ecx, ebp
call fcn.00491a40
jmp 0x4967aa
cmp dword [ebp + 0x24078], 5
jne 0x4967aa
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x496531
mov ecx, esi
call fcn.00479d40
lea eax, [esp + 0x14]
push edi
push eax
mov ecx, esi
call fcn.00464d90
push 0x588788
lea ecx, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x1a0], 0
call fcn.0050d692
lea edi, [esi + 0x1e4]
lea edx, [esp + 0x28]
push edi
push eax
push edx
mov byte [esp + 0x1a0], 1
call fcn.0050d62c
push eax
mov ecx, ebx
mov byte [esp + 0x198], 2
call fcn.0050d536
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 1
call fcn.0050d3fd
lea ecx, [esp + 0x1c]
mov byte [esp + 0x194], 0
call fcn.0050d3fd
lea ecx, [esp + 0x18]
mov dword [esp + 0x194], 0xffffffff
call fcn.0050d3fd
push edi
lea ecx, [ebp + 0x24160]
call fcn.0050d536
mov eax, dword [0x591288]
mov dword [esp + 0x24], eax
mov dword [esp + 0x194], 3
mov dword [esp + 0x14], eax
push 0xf41a
lea ecx, [esp + 0x18]
mov byte [esp + 0x198], 4
call fcn.004c9660
call fcn.0042eff0
add eax, 0x4cc
push eax
call fcn.0042eff0
mov ecx, dword [esi + 0x28]
add eax, 0x4c8
push eax
call fcn.00414550
test eax, eax
je 0x496784
mov ecx, dword [esi + 0x28]
call fcn.00414880
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x496784
jmp 0x496638
mov esi, dword [esp + 0x19c]
mov ecx, dword [esi + 0x28]
push edi
call fcn.00414890
mov esi, eax
push 0x4010
lea ecx, [esp + 0x30]
push 0x160
mov eax, dword [esi]
push ecx
push 0x80
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov edx, dword [esp + 0x30]
mov eax, dword [esi]
push 0
push edx
push 0
push 0
push eax
push edi
push 3
mov ecx, ebp
call fcn.00507f32
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
push 1
push 2
push eax
lea edx, [esp + 0x2c]
push ecx
push edx
call fcn.00411e90
add esp, 0x14
mov eax, dword [eax]
mov ecx, ebp
push eax
push 1
push edi
mov byte [esp + 0x1a0], 5
call fcn.0050802d
lea ecx, [esp + 0x20]
mov byte [esp + 0x194], 4
call fcn.0050d3fd
mov eax, dword [0x591288]
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov ecx, ebx
mov byte [esp + 0x194], 6
or ecx, eax
jne 0x4966e4
push 0x58868c
lea ecx, [esp + 0x14]
call fcn.0050d586
jmp 0x49671b
cmp dword [esi + 0x18], 0xfffffffd
je 0x4966d4
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push 0
push 0x64
push edx
push eax
call fcn.004ede70
mov ecx, dword [esi + 0xc]
push ecx
push ebx
push edx
push eax
call fcn.004eddc0
push edx
push eax
lea ecx, [esp + 0x18]
push str._d__
push ecx
call fcn.005060bb
add esp, 0x10
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 2
push edi
call fcn.0050802d
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 3
push 0x2c
push eax
lea edx, [esp + 0x18]
push ecx
push edx
call fcn.0051418c
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push 3
push edi
call fcn.0050802d
push esi
push 0
push 0
push 0
push 0
push 4
push 0
push edi
mov ecx, ebp
call fcn.00507fb4
lea ecx, [esp + 0x10]
mov byte [esp + 0x194], 4
call fcn.0050d3fd
mov eax, dword [esp + 0x18]
inc edi
cmp edi, eax
jl 0x496631
lea ecx, [esp + 0x14]
mov byte [esp + 0x194], 3
call fcn.0050d3fd
lea ecx, [esp + 0x24]
mov dword [esp + 0x194], 0xffffffff
call fcn.0050d3fd
pop edi
mov ecx, dword [esp + 0x188]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x188
ret 4