Function at 0x42c260
Capabilities:
Get common file path

Disassembly:
sub esp, 0x214
push ebx
mov ebx, dword [esp + 0x220]
push ebp
xor ebp, ebp
cmp ebx, ebp
je 0x42c475
cmp dword [esp + 0x228], ebp
je 0x42c475
push esi
push edi
push ebx
xor esi, esi
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
test eax, eax
jne 0x42c298
or esi, 0xffffffff
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebp
push eax
push str.FAV_URL
mov dword [esp + 0x18], ebp
call fcn.004c60d0
mov edx, dword [esp + 0x1c]
add esp, 8
lea ecx, [esp + 0x10]
push 1
push ecx
neg edx
push ebp
push edx
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov eax, dword [esp + 0x10]
cmp eax, ebp
jne 0x42c2d9
call fcn.004344c0
mov dword [esp + 0x10], eax
push eax
push esi
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov cx, word [0x500df0]
xor eax, eax
mov word [esp + 0x1c], cx
mov ecx, 0x81
lea edi, [esp + 0x1e]
lea edx, [esp + 0x1c]
rep stosd dword es:[edi], eax
push 0x104
push edx
mov dword [esp + 0x18], ebp
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, dword [esp + 0x228]
lea eax, [esp + 0x1c]
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.004afec0
mov esi, eax
cmp esi, ebp
je 0x42c3d1
push ebx
mov dword [esp + 0x1c], 1
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
cmp eax, 1
jne 0x42c357
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebp
push ecx
push str.FAV_DIRECTORY
mov dword [esp + 0x18], ebp
call fcn.004c60d0
mov ecx, dword [esp + 0x1c]
add esp, 8
lea edx, [esp + 0x10]
push 1
push edx
neg ecx
push ebp
push ecx
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov eax, dword [esp + 0x10]
cmp eax, ebp
jne 0x42c3b1
push 1
push ebp
push ebp
push 1
push esi
mov ecx, edi
call fcn.004b0900
mov edx, dword [esp + 0x230]
push ebp
push eax
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov dword [esp + 0x10], eax
push eax
mov eax, dword [esp + 0x1c]
push eax
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_DestroyIcon]
push esi
mov ecx, edi
call fcn.004b0140
push ebx
mov edi, 2
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
cmp eax, edi
jne 0x42c3e4
or edi, 0xffffffff
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ebp
push edx
push str.FAV_LOVE
mov dword [esp + 0x18], ebp
call fcn.004c60d0
mov edx, dword [esp + 0x1c]
mov esi, dword [sym.imp.SHELL32.dll_ExtractIconExW]
add esp, 8
lea ecx, [esp + 0x10]
neg edx
push 1
push ecx
push ebp
push edx
push eax
call esi
mov eax, dword [esp + 0x10]
cmp eax, ebp
jne 0x42c451
mov ecx, dword [0x73ff2c]
lea eax, [esp + 0x1c]
push 0x104
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x10]
push 1
push edx
push ebp
lea eax, [esp + 0x28]
push 0xffffff51
push eax
call esi
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x42c465
push eax
push edi
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_DestroyIcon]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x214
ret
pop ebp
xor eax, eax
pop ebx
add esp, 0x214
ret