Function at 0x100e0220
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10349a12
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x1040706c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [ebp - 0x94]
call fcn.100fc990
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0
call fcn.100fc990
mov byte [ebp - 4], 1
mov ecx, dword [esi + 0x174]
sub ecx, dword [esi + 0x16c]
mov eax, dword [esi + 0x170]
sub eax, dword [esi + 0x168]
cmp ecx, eax
mov dword [ebp - 0x3d0], 0
cmovge ecx, eax
cmp ecx, 0x40
jl 0x100e02a4
mov ebx, 0x40
jmp 0x100e02cb
cmp ecx, 0x30
jl 0x100e02b0
mov ebx, 0x30
jmp 0x100e02cb
cmp ecx, 0x20
jl 0x100e02bc
mov ebx, 0x20
jmp 0x100e02cb
xor ebx, ebx
cmp ecx, 0x10
setge bl
lea ebx, [ebx*4 + 0xc]
lea edi, [esi + 0x574]
mov dword [esi + 0x568], ebx
mov ecx, edi
mov dword [esi + 0x56c], ebx
call fcn.100fdad0
test al, al
je 0x100e035b
lea edi, [esi + 0x5f8]
mov ecx, edi
call fcn.100fdad0
test al, al
jne 0x100e05b0
push 0x2b4
lea eax, [ebp - 0x3cc]
push 0
push eax
call fcn.101d2900
add esp, 0xc
mov esi, 0x110
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp ebx, eax
mov ecx, 0x111
lea eax, [ebp - 0x3cc]
cmovle esi, ecx
mov ecx, edi
push esi
push 0x2b4
push eax
push 0x80
call fcn.100fcd90
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esi, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], esi
jmp 0x100e05b6
push 0x2c
mov ecx, edi
call fcn.100fe2a0
mov esi, eax
test esi, esi
jle 0x100e03d2
push esi
lea eax, [ebp - 0x19c]
mov ecx, edi
push eax
call fcn.100fdbd0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 2
call fcn.100fcc50
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.100fcb40
mov ecx, edi
call fcn.100fd6b0
sub eax, esi
mov ecx, edi
dec eax
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.100fe2e0
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 3
call fcn.100fcc50
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.100fcb40
jmp 0x100e03de
push edi
lea ecx, [ebp - 0x94]
call fcn.100fcc50
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x3d4], 0
call fcn.100fdad0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test al, al
jne 0x100e041f
lea ecx, [ebp - 0x118]
call fcn.100fcd90
push eax
call fcn.101e0d44
add esp, 4
mov dword [ebp - 0x3d4], eax
jmp 0x100e0488
lea ecx, [ebp - 0x3dc]
call fcn.100e0090
push 0x10
push ebx
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.100fcd90
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0x3d0], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x3dc], 0
je 0x100e0484
mov eax, dword [0x1041d13c]
test eax, eax
jne 0x100e047c
push str.Wow64RevertWow64FsRedirection
push str.kernel32
call edi
push eax
call esi
mov dword [0x1041d13c], eax
test eax, eax
je 0x100e0484
push dword [ebp - 0x3d8]
call eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x3d0], 0
jne 0x100e05b0
lea ecx, [ebp - 0x3e4]
call fcn.100e0090
push 0x10
push 1
lea eax, [ebp - 0x3d8]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0x3d8], 0xffffffff
push eax
push ebx
push ebx
push dword [ebp - 0x3d4]
lea ecx, [ebp - 0x94]
call fcn.100fcd90
push eax
call dword [sym.imp.USER32.dll_PrivateExtractIconsW]
cmp eax, 0xffffffff
je 0x100e04ee
mov eax, dword [ebp - 0x3d8]
cmp eax, 0xffffffff
je 0x100e04ee
test eax, eax
jne 0x100e04f8
mov dword [ebp - 0x3d0], 0
mov byte [ebp - 4], 7
cmp dword [ebp - 0x3e4], 0
je 0x100e052e
mov eax, dword [0x1041d13c]
test eax, eax
jne 0x100e0526
push str.Wow64RevertWow64FsRedirection
push str.kernel32
call edi
push eax
call esi
mov dword [0x1041d13c], eax
test eax, eax
je 0x100e052e
push dword [ebp - 0x3e0]
call eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x3d0], 0
jne 0x100e05b0
push 0x2b4
lea eax, [ebp - 0x3cc]
push 0
push eax
call fcn.101d2900
add esp, 0xc
mov esi, 0x110
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp ebx, eax
mov ecx, 0x111
lea eax, [ebp - 0x3cc]
cmovle esi, ecx
lea ecx, [ebp - 0x94]
push esi
push 0x2b4
push eax
call fcn.100fcd90
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
neg eax
lea ecx, [ebp - 0x94]
sbb eax, eax
and eax, 0xffffff90
sub eax, 0xffffff80
push eax
call fcn.100fcd90
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], eax
mov esi, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x118]
call fcn.100fcb40
lea ecx, [ebp - 0x94]
call fcn.100fcb40
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f99ca
mov esp, ebp
pop ebp
ret