Function at 0x42beb0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x186c
call fcn.004d4ce0
mov dx, word [0x500df0]
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 0x42bf1d
test ebx, ebx
je 0x42bf1d
cmp ebx, 1
jne 0x42bf20
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.004b0330
mov eax, dword [ebp + 8]
test eax, eax
je 0x42c08f
mov ax, word [0x500df0]
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.004a8e00
add esp, 0x18
test eax, eax
je 0x42c07f
lea ecx, [esp + 0x424]
lea edx, [esp + 0x14]
push ecx
push 0x104
push edx
push 0x500df0
push str.IconFile
push str..ShellClassInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x42c07f
mov ax, word [0x500df0]
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 0x42c073
lea eax, [esp + 0x62c]
push 0
push eax
call fcn.004a8e00
add esp, 8
test eax, eax
je 0x42c073
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 0x42c1b1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x186c
ret
lea eax, [ebp + 0x214]
push 4
push eax
push 0x4ed8c4
call dword [sym.imp.MSVCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42c1a9
mov eax, dword [0x7272cc]
test eax, eax
je 0x42c19c
mov cx, word [0x500df0]
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 0x500df0
push str.IconFile
push str.InternetShortcut
call edi
test eax, eax
je 0x42c154
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathIsURLW]
test eax, eax
je 0x42c13c
mov eax, dword [ebp + 4]
lea edx, [esp + 0x834]
push 0x824
push edx
push eax
mov ecx, esi
call fcn.004b03e0
lea ecx, [esp + 0x834]
push 0
push ecx
jmp 0x42c188
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 0x42c194
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x834]
push ecx
push 0x824
push edx
push 0x500df0
push 0x4ed834
push str.InternetShortcut
call edi
test eax, eax
je 0x42c194
lea eax, [esp + 0x834]
push 0
push eax
call fcn.00433e30
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x42c1b1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x186c
ret
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42c1da
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 0x42c226
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.004b0900
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