Function at 0x470ac0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
mov eax, 0x1060
call fcn.004d2e90
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1070]
xor ebx, ebx
push edi
cmp esi, ebx
mov ebp, ecx
je 0x470db1
cmp dword [ebp + 0x54], ebx
je 0x470db1
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
test eax, eax
je 0x470db1
mov ax, word [0x50b1d0]
mov ecx, 0x411
mov word [esp + 0x28], ax
xor eax, eax
lea edi, [esp + 0x2a]
push esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x470b55
push 0x4ef36c
push esi
call fcn.00433ce0
add esp, 8
test eax, eax
je 0x470b8f
push esi
lea ecx, [esp + 0x2c]
push 0x823
push ecx
push 0x50b1d0
push 0x5040d0
push str.InternetShortcut
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x470b8f
push esi
call fcn.004a7630
add esp, 4
test eax, eax
je 0x470b8f
mov edi, dword [0x5ea558]
call fcn.00481980
mov edx, dword [esp + 0x107c]
lea eax, [esp + 0x28]
push edx
push 1
push 0x823
push eax
push esi
push edi
call fcn.00481980
mov ecx, eax
call fcn.00481e60
cmp word [esp + 0x28], bx
jne 0x470baf
push esi
push 0x4ee160
lea ecx, [esp + 0x30]
push 0x823
push ecx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
lea edx, [esp + 0x28]
push edx
call fcn.0048cb10
lea eax, [esp + 0x2c]
push eax
call fcn.0045c9e0
add esp, 8
test eax, eax
je 0x470bd1
mov dword [esp + 0x1084], ebx
cmp dword [esp + 0x1088], ebx
je 0x470c12
lea ecx, [esp + 0x28]
push ebx
push ecx
mov ecx, ebp
call fcn.00473b50
cmp eax, ebx
je 0x470c12
cmp dword [eax + 0x3148], ebx
jne 0x470c12
mov esi, dword [eax + 0x5608]
mov ecx, dword [ebp + 0x54]
push ebx
push esi
call fcn.004c0610
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x24
mov ecx, dword [ebp + 0x54]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
call fcn.004c1070
mov ecx, dword [ebp + 0x54]
push eax
call fcn.004c16c0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1078]
xor edx, edx
cmp ecx, ebx
je 0x470d30
cmp dword [ecx + 0x30], ebx
je 0x470c64
mov eax, dword [esp + 0x107c]
test al, 0xb
jne 0x470c5f
test ah, 1
je 0x470c64
mov edx, 1
xor edi, edi
cmp esi, ebx
je 0x470c93
cmp word [esi + 0x3150], bx
lea edi, [esi + 0x3150]
jne 0x470c93
cmp word [esi + 0x70], bx
lea eax, [esi + 0x70]
jne 0x470c91
cmp word [esi + 0x2100], bx
lea eax, [esi + 0x2100]
je 0x470c93
mov edi, eax
cmp dword [esp + 0x1084], ebx
je 0x470cac
cmp dword [ecx + 0x5644], ebx
jne 0x470cac
cmp edx, ebx
je 0x470d30
mov ecx, ebp
call fcn.00476390
mov ecx, dword [esp + 0x107c]
push ebx
push ebx
push edi
push ebx
lea edx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00411320
test eax, eax
je 0x470d29
mov ecx, dword [ebp + 0x58]
xor eax, eax
mov dword [esp + 0x1c], eax
cmp ecx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
je 0x470d07
lea edx, [esp + 0x18]
push edx
call fcn.0049a1a0
test eax, eax
je 0x470d07
mov ecx, dword [ebp + 0x60]
lea eax, [esp + 0x18]
push eax
push 1
call fcn.00411170
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x5608]
mov ecx, dword [ebp + 0x54]
push esi
call fcn.004c3c60
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x24
mov edi, 1
jmp 0x470d37
mov edi, dword [esp + 0x1080]
cmp esi, ebx
je 0x470d75
cmp word [esi + 0x3150], bx
lea ecx, [esi + 0x3150]
jne 0x470d62
cmp word [esi + 0x70], bx
lea eax, [esi + 0x70]
jne 0x470d64
cmp word [esi + 0x2100], bx
lea eax, [esi + 0x2100]
jne 0x470d64
mov eax, ecx
push eax
mov ecx, 0x5e3898
call fcn.004a1a20
test eax, eax
je 0x470d75
xor esi, esi
mov edx, dword [esp + 0x1094]
mov eax, dword [esp + 0x108c]
mov ecx, dword [esp + 0x107c]
push edx
mov edx, dword [esp + 0x1094]
push ebx
push eax
push esi
push ecx
push edx
lea eax, [esp + 0x40]
push edi
push eax
mov ecx, ebp
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x24
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1060
ret 0x24