Function at 0x42bb10
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x186c
call fcn.004d3780
mov dx, word [0x4ffec0]
push ebx
push ebp
push esi
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x21e]
mov word [esp + 0x21c], dx
mov word [esp + 0x14], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
mov dword [esp + 0x10], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x1884]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
mov ebx, dword [esp + 0x1890]
cmp ebx, eax
jge 0x42bb7d
test ebx, ebx
je 0x42bb7d
cmp ebx, 1
jne 0x42bb80
or ebx, 0xffffffff
mov ebp, dword [esp + 0x188c]
mov esi, dword [esp + 0x1880]
lea ecx, [esp + 0x21c]
push 0x104
mov edx, dword [ebp + 4]
push ecx
push edx
mov ecx, esi
call fcn.004aefe0
mov eax, dword [ebp + 8]
test eax, eax
je 0x42bcef
mov ax, word [0x4ffec0]
mov ecx, 0x81
mov word [esp + 0x424], ax
xor eax, eax
lea edi, [esp + 0x426]
lea edx, [esp + 0x424]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x21c]
push ecx
push str._sDesktop.ini
push 0x103
push edx
stosw word es:[edi], ax
call dword [sym.imp.MSVCRT.dll__snwprintf]
lea eax, [esp + 0x434]
push 0
push eax
call fcn.004a7ab0
add esp, 0x18
test eax, eax
je 0x42bcdf
lea ecx, [esp + 0x424]
lea edx, [esp + 0x14]
push ecx
push 0x104
push edx
push 0x4ffec0
push str.IconFile
push str..ShellClassInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x42bcdf
mov ax, word [0x4ffec0]
mov ecx, 0x81
mov word [esp + 0x62c], ax
xor eax, eax
lea edi, [esp + 0x62e]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
push ecx
stosw word es:[edi], ax
call dword [sym.imp.SHELL32.dll_DoEnvironmentSubstW]
lea edx, [esp + 0x14]
lea eax, [esp + 0x21c]
push edx
lea ecx, [esp + 0x630]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x424]
push edx
push 0
push str.IconIndex
push str..ShellClassInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
test esi, esi
jl 0x42bcd3
lea eax, [esp + 0x62c]
push 0
push eax
call fcn.004a7ab0
add esp, 8
test eax, eax
je 0x42bcd3
lea ecx, [esp + 0x10]
push 1
push ecx
push 0
lea edx, [esp + 0x638]
push esi
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x42be11
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x186c
ret
lea eax, [ebp + 0x214]
push 4
push eax
push 0x4ebc40
call dword [sym.imp.MSVCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42be09
mov eax, dword [0x6c4334]
test eax, eax
je 0x42bdfc
mov cx, word [0x4ffec0]
xor eax, eax
mov word [esp + 0x834], cx
mov ecx, 0x411
lea edi, [esp + 0x836]
lea edx, [esp + 0x21c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edx
lea eax, [esp + 0x18]
push 0x104
push eax
push 0x4ffec0
push str.IconFile
push str.InternetShortcut
call edi
test eax, eax
je 0x42bdb4
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathIsURLW]
test eax, eax
je 0x42bd9c
mov eax, dword [ebp + 4]
lea edx, [esp + 0x834]
push 0x824
push edx
push eax
mov ecx, esi
call fcn.004af090
lea ecx, [esp + 0x834]
push 0
push ecx
jmp 0x42bde8
lea edx, [esp + 0x10]
push 1
push edx
push 0
lea eax, [esp + 0x20]
push 0
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
jmp 0x42bdf4
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x834]
push ecx
push 0x824
push edx
push 0x4ffec0
push 0x4ebbb0
push str.InternetShortcut
call edi
test eax, eax
je 0x42bdf4
lea eax, [esp + 0x834]
push 0
push eax
call fcn.00433a60
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x42be11
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x186c
ret
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42be3a
mov ecx, dword [esp + 0x1884]
push eax
push ebx
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov edx, dword [esp + 0x10]
mov esi, eax
push edx
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, 0xffffffff
jne 0x42be86
mov esi, dword [esp + 0x1880]
mov eax, dword [ebp + 4]
push 1
push 0
push 0
push 1
push eax
mov ecx, esi
call fcn.004af5b0
mov ecx, dword [esp + 0x1888]
push 0
push eax
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov edx, dword [esp + 0x1884]
mov esi, eax
push esi
push ebx
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x186c
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x186c
ret