Function at 0x441240
Capabilities:
Get file system object information

Disassembly:
push ebx
push ebp
xor ebx, ebx
cmp dword [0x4b1718], ebx
push esi
push edi
jne 0x441321
cmp dword [esp + 0x18], ebx
jne 0x441321
mov edi, dword [esp + 0x24]
cmp edi, 4
mov ebp, dword [esp + 0x20]
jl 0x4412f1
push 4
lea esi, [edi + ebp - 4]
push esi
push str..exe
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
push 4
push esi
push str..ico
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
push 4
push esi
push str..ani
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
push 4
push esi
push str..cur
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
push 4
push esi
push str..lnk
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
push 4
push esi
push str..url
call fcn.004520f0
add esp, 0xc
test eax, eax
je 0x441329
lea eax, [edi + ebp]
cmp eax, ebp
jbe 0x441304
sub eax, 1
cmp byte [eax], 0x2e
je 0x441317
cmp eax, ebp
ja 0x4412f8
cmp dword [esp + 0x1c], ebx
pop edi
pop esi
pop ebp
pop ebx
jne 0x441422
jmp fcn.004405c0
sub ebp, eax
add ebp, edi
mov edi, ebp
mov ebp, eax
jmp 0x441329
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
push 0x4b04ac
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
push ebp
call fcn.00440190
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x441427
call fcn.004404d0
mov eax, dword [0x4b04cc]
lea edx, [edi + 0x1e]
lea ecx, [eax + edi + 0x1e]
push edx
mov dword [0x4b04cc], ecx
call fcn.00445590
mov esi, eax
push edi
lea eax, [esi + 0x1d]
push ebp
push eax
call fcn.00489b40
mov ecx, dword [esp + 0x24]
mov byte [esi + edi + 0x1d], bl
push esi
mov dword [esi + 0x14], edi
mov byte [esi + 0x18], bl
mov dword [esi + 0x19], ecx
call fcn.00440280
add esp, 0x14
cmp dword [0x4b04dc], ebx
je 0x4413a6
mov edx, dword [0x4b0494]
mov dword [edx], esi
mov eax, dword [0x4b0494]
mov dword [esi + 4], eax
jmp 0x4413af
mov dword [0x4b04dc], esi
mov dword [esi + 4], ebx
mov dword [0x4b0494], esi
mov dword [esi], ebx
cmp dword [0x4b04a8], ebx
je 0x4413d3
mov ecx, dword [0x4b049c]
mov dword [ecx + 8], esi
mov edx, dword [0x4b049c]
mov dword [esi + 0xc], edx
jmp 0x4413dc
mov dword [0x4b04a8], esi
mov dword [esi + 0xc], ebx
mov dword [0x4b049c], esi
mov dword [esi + 8], ebx
cmp dword [0x4b04d8], ebx
jne 0x4413f2
call fcn.00440f10
mov eax, dword [0x4b04d8]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0x4b04ac
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x18], ebx
jne 0x44141e
cmp dword [esp + 0x1c], ebx
jne 0x44141e
pop edi
pop esi
pop ebp
pop ebx
jmp fcn.004405c0
pop edi
pop esi
pop ebp
pop ebx
jmp fcn.00440560
mov al, byte [esi + 0x18]
cmp al, 1
push 0x4b04ac
jne 0x441451
mov byte [esi + 0x18], bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x18], ebx
jne 0x44141e
cmp dword [esp + 0x1c], ebx
jne 0x44141e
pop edi
pop esi
pop ebp
pop ebx
jmp fcn.004405c0
cmp al, bl
jne 0x441470
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x18], ebx
jne 0x44141e
cmp dword [esp + 0x1c], ebx
jne 0x44141e
pop edi
pop esi
pop ebp
pop ebx
jmp fcn.004405c0
cmp al, 3
jne 0x44148f
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x18], ebx
jne 0x44141e
cmp dword [esp + 0x1c], ebx
jne 0x44141e
pop edi
pop esi
pop ebp
pop ebx
jmp fcn.004405c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x10]
pop edi
pop esi
pop ebp
pop ebx
ret