Function at 0x1000b9d2
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
call sub.MSVCRT.dll_strlen
mov esi, eax
pop ecx
add esi, ebx
jmp 0x1000b9f0
cmp byte [esi], 0x2e
je 0x1000b9f4
dec esi
cmp esi, ebx
jae 0x1000b9ea
inc esi
push esi
call sub.MSVCRT.dll_strlen
cmp eax, 4
pop ecx
ja 0x1000bc20
lea eax, [ebp - 8]
push esi
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
lea ecx, [ebp - 8]
mov al, byte [ecx]
cmp al, 0x61
movsx eax, al
jl 0x1000ba20
sub eax, 0x20
mov byte [ecx], al
inc ecx
lea eax, [ebp - 5]
cmp ecx, eax
jbe 0x1000ba14
lea eax, [ebp - 8]
push 0x10010160
push eax
call sub.MSVCRT.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x1000bc20
lea eax, [ebp - 8]
push 0x1001015c
push eax
call sub.MSVCRT.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x1000bc20
lea eax, [ebp - 8]
push 0x10010158
push eax
call sub.MSVCRT.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x1000bc20
lea eax, [ebp - 8]
push 0x10010154
push eax
call sub.MSVCRT.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x1000bc20
mov eax, dword [0x10016914]
xor esi, esi
test eax, eax
jle 0x1000babf
xor edi, edi
mov eax, dword [0x10016908]
add eax, edi
push eax
lea eax, [ebp - 8]
push eax
call sub.MSVCRT.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x1000bb7a
mov eax, dword [0x10016914]
inc esi
add edi, 0xc
cmp esi, eax
jl 0x1000ba97
mov ebx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
lea ecx, [eax + 1]
imul ecx, ecx, 0xc
cmp ecx, dword [0x10016918]
jbe 0x1000bafd
add dword [0x10016918], 0x4b0
push dword [0x10016918]
push dword [0x10016908]
push 8
push dword [0x10015ea8]
call ebx
mov dword [0x10016908], eax
mov eax, dword [0x10016914]
imul eax, eax, 0xc
add eax, dword [0x10016908]
push 4
lea ecx, [ebp - 8]
push ecx
push eax
call sub.MSVCRT.dll_memcpy
mov edi, 0x160
push edi
push 0
mov esi, 0x10016920
push esi
call sub.MSVCRT.dll_memset
add esp, 0x18
push 0x4401
push edi
push esi
push 0
push dword [ebp + 8]
call dword [sym.imp.SHELL32.DLL_SHGetFileInfoA]
mov eax, dword [0x10016914]
mov ecx, dword [0x10016924]
imul eax, eax, 0xc
mov edx, dword [0x10016908]
mov esi, 0x10016a30
push esi
mov dword [eax + edx + 8], ecx
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jne 0x1000bb9a
mov eax, dword [0x10016914]
mov ecx, dword [0x10016908]
imul eax, eax, 0xc
and dword [eax + ecx + 4], 0
jmp 0x1000bc18
mov eax, dword [0x10016908]
imul esi, esi, 0xc
mov edx, dword [ebp + 0xc]
add eax, esi
mov ecx, dword [eax + 4]
add ecx, dword [0x1001690c]
mov dword [edx], ecx
mov eax, dword [eax + 8]
jmp 0x1000bc62
push esi
call sub.MSVCRT.dll_strlen
mov edx, eax
mov eax, dword [0x10016910]
pop ecx
mov ecx, dword [0x1001691c]
add edx, eax
lea edi, [ecx - 1]
cmp edx, edi
jbe 0x1000bbde
add ecx, 0x1f4
push ecx
push dword [0x1001690c]
mov dword [0x1001691c], ecx
push 8
push dword [0x10015ea8]
call ebx
mov dword [0x1001690c], eax
mov eax, dword [0x10016910]
mov ecx, dword [0x10016914]
mov edx, dword [0x10016908]
imul ecx, ecx, 0xc
mov dword [ecx + edx + 4], eax
mov ecx, dword [0x1001690c]
add eax, ecx
push esi
push eax
call sub.MSVCRT.dll_strcpy
push esi
call sub.MSVCRT.dll_strlen
mov ecx, dword [0x10016910]
lea eax, [ecx + eax + 1]
add esp, 0xc
mov dword [0x10016910], eax
inc dword [0x10016914]
jmp 0x1000bc58
mov edi, 0x160
push edi
push 0
mov esi, 0x10016920
push esi
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x4401
push edi
push esi
push 0
push ebx
call dword [sym.imp.SHELL32.DLL_SHGetFileInfoA]
push 0x10016a30
mov esi, 0x10016a80
push esi
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, dword [0x10016924]
pop edi
pop esi
pop ebx
leave
ret 8