Function at 0x44b6fa
Capabilities:
Get file system object information

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
push edi
call sub.MSVCRT.dll_strlen
pop ecx
lea esi, [edi + eax]
jmp 0x44b716
cmp byte [esi], 0x2e
je 0x44b71a
dec esi
cmp esi, edi
jae 0x44b710
inc esi
push esi
call sub.MSVCRT.dll_strlen
pop ecx
cmp eax, 4
ja 0x44b961
lea eax, [esp + 0x10]
push esi
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 4
lea eax, [esp + 0x14]
pop edx
mov cl, byte [eax]
cmp cl, 0x61
movsx ecx, cl
jl 0x44b74c
sub ecx, 0x20
mov byte [eax], cl
inc eax
dec edx
jne 0x44b73f
lea eax, [esp + 0x10]
push 0x48a5e4
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x44b961
lea eax, [esp + 0x10]
push 0x48a5e8
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x44b961
lea eax, [esp + 0x10]
push 0x48a5ec
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x44b961
lea eax, [esp + 0x10]
push 0x48a5f0
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x44b961
mov ecx, dword [0x4a07f0]
xor esi, esi
mov ebx, esi
test ecx, ecx
jle 0x44b7ec
mov ebp, esi
mov eax, dword [0x4a07fc]
add eax, ebp
push eax
lea eax, [esp + 0x14]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x44b82d
mov ecx, dword [0x4a07f0]
inc ebx
add ebp, 0xc
cmp ebx, ecx
jl 0x44b7c6
mov edx, dword [0x4a068c]
lea eax, [ecx + 1]
imul eax, eax, 0xc
cmp eax, edx
jbe 0x44b84f
add edx, 0x4b0
push edx
push dword [0x4a07fc]
mov dword [0x4a068c], edx
push 8
push dword [0x49d758]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov ecx, dword [0x4a07f0]
mov edx, eax
mov dword [0x4a07fc], edx
jmp 0x44b855
mov edx, dword [0x4a07fc]
mov eax, dword [esp + 0x20]
imul esi, ebx, 0xc
mov ecx, dword [esi + edx + 4]
add ecx, dword [0x4a07f8]
mov dword [eax], ecx
mov eax, dword [esi + edx + 8]
jmp 0x44b9a4
mov edx, dword [0x4a07fc]
push 4
lea eax, [esp + 0x14]
push eax
imul eax, ecx, 0xc
add eax, edx
push eax
call sub.MSVCRT.dll_memcpy
mov ebx, 0x160
mov ebp, 0x4a0690
push ebx
push esi
push ebp
call sub.MSVCRT.dll_memset
add esp, 0x18
push 0x4401
push ebx
push ebp
push esi
push edi
call dword [sym.imp.SHELL32.DLL_SHGetFileInfoA]
imul edx, dword [0x4a07f0], 0xc
mov edi, 0x4a07a0
mov eax, dword [0x4a07fc]
mov ecx, dword [0x4a0694]
push edi
mov dword [edx + eax + 8], ecx
call sub.MSVCRT.dll_strlen
pop ecx
test eax, eax
jne 0x44b8c8
mov edx, dword [0x4a07f0]
mov eax, dword [0x4a07fc]
imul ecx, edx, 0xc
mov dword [ecx + eax + 4], esi
jmp 0x44b952
push edi
call sub.MSVCRT.dll_strlen
mov edx, dword [0x4a0584]
mov esi, dword [0x4a07f4]
add eax, esi
pop ecx
lea ecx, [edx - 1]
cmp eax, ecx
jbe 0x44b915
add edx, 0x1f4
push edx
push dword [0x4a07f8]
mov dword [0x4a0584], edx
push 8
push dword [0x49d758]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov esi, dword [0x4a07f4]
mov edx, eax
mov dword [0x4a07f8], edx
jmp 0x44b91b
mov edx, dword [0x4a07f8]
imul ecx, dword [0x4a07f0], 0xc
mov eax, dword [0x4a07fc]
push edi
mov dword [ecx + eax + 4], esi
lea eax, [esi + edx]
push eax
call sub.MSVCRT.dll_strcpy
push edi
call sub.MSVCRT.dll_strlen
mov ecx, dword [0x4a07f4]
add esp, 0xc
mov edx, dword [0x4a07f0]
inc ecx
add eax, ecx
mov dword [0x4a07f4], eax
mov eax, dword [esp + 0x20]
inc edx
mov dword [0x4a07f0], edx
mov dword [eax], edi
jmp 0x44b99f
mov ebx, 0x160
xor esi, esi
push ebx
push esi
mov ebp, 0x4a0690
push ebp
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x4401
push ebx
push ebp
push esi
push edi
call dword [sym.imp.SHELL32.DLL_SHGetFileInfoA]
push 0x4a07a0
mov esi, 0x4a0588
push esi
call sub.MSVCRT.dll_strcpy
mov eax, dword [esp + 0x28]
pop ecx
pop ecx
mov dword [eax], esi
mov eax, dword [0x4a0694]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret 8