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

Disassembly:
mov eax, 0x1060
call fcn.004d2930
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1070]
xor ebx, ebx
push edi
cmp esi, ebx
mov ebp, ecx
je 0x470918
cmp dword [ebp + 0x54], ebx
je 0x470918
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
test eax, eax
je 0x470918
mov ax, word [0x50b180]
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 0x4706c5
push 0x4ef360
push esi
call fcn.00433aa0
add esp, 8
test eax, eax
je 0x4706ff
push esi
lea ecx, [esp + 0x2c]
push 0x823
push ecx
push 0x50b180
push 0x504088
push str.InternetShortcut
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x4706ff
push esi
call fcn.004a6e20
add esp, 4
test eax, eax
je 0x4706ff
mov edi, dword [0x5ea558]
call fcn.00481470
mov edx, dword [esp + 0x107c]
lea eax, [esp + 0x28]
push edx
push 1
push 0x823
push eax
push esi
push edi
call fcn.00481470
mov ecx, eax
call fcn.00481950
cmp word [esp + 0x28], bx
jne 0x47071f
push esi
push 0x4ef254
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.0048c2f0
lea eax, [esp + 0x2c]
push eax
call fcn.0045c600
add esp, 8
test eax, eax
je 0x470741
mov dword [esp + 0x1084], ebx
cmp dword [esp + 0x1088], ebx
je 0x470782
lea ecx, [esp + 0x28]
push ebx
push ecx
mov ecx, ebp
call fcn.00473690
cmp eax, ebx
je 0x470782
cmp dword [eax + 0x3148], ebx
jne 0x470782
mov esi, dword [eax + 0x5608]
mov ecx, dword [ebp + 0x54]
push ebx
push esi
call fcn.004c00b0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x20
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.004c0b10
mov ecx, dword [ebp + 0x54]
push eax
call fcn.004c1160
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1078]
xor edx, edx
cmp ecx, ebx
je 0x47089f
cmp dword [ecx + 0x30], ebx
je 0x4707d4
mov eax, dword [esp + 0x107c]
test al, 0xb
jne 0x4707cf
test ah, 1
je 0x4707d4
mov edx, 1
xor edi, edi
cmp esi, ebx
je 0x470803
cmp word [esi + 0x3150], bx
lea edi, [esi + 0x3150]
jne 0x470803
cmp word [esi + 0x70], bx
lea eax, [esi + 0x70]
jne 0x470801
cmp word [esi + 0x2100], bx
lea eax, [esi + 0x2100]
je 0x470803
mov edi, eax
cmp dword [esp + 0x1084], ebx
je 0x47081c
cmp dword [ecx + 0x5644], ebx
jne 0x47081c
cmp edx, ebx
je 0x47089f
mov ecx, ebp
call fcn.00475eb0
mov ecx, dword [esp + 0x107c]
push ebx
push edi
push ebx
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x20]
push edx
call fcn.00411250
test eax, eax
je 0x470898
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 0x470876
lea edx, [esp + 0x18]
push edx
call fcn.00499920
test eax, eax
je 0x470876
mov ecx, dword [ebp + 0x60]
lea eax, [esp + 0x18]
push eax
push 1
call fcn.004110a0
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x5608]
mov ecx, dword [ebp + 0x54]
push esi
call fcn.004c3700
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x20
mov edi, 1
jmp 0x4708a6
mov edi, dword [esp + 0x1080]
cmp esi, ebx
je 0x4708e4
cmp word [esi + 0x3150], bx
lea ecx, [esi + 0x3150]
jne 0x4708d1
cmp word [esi + 0x70], bx
lea eax, [esi + 0x70]
jne 0x4708d3
cmp word [esi + 0x2100], bx
lea eax, [esi + 0x2100]
jne 0x4708d3
mov eax, ecx
push eax
mov ecx, 0x5e3848
call fcn.004a1210
test eax, eax
je 0x4708e4
xor esi, esi
mov edx, dword [esp + 0x108c]
mov eax, dword [esp + 0x107c]
mov ecx, dword [esp + 0x1090]
push ebx
push edx
push esi
push eax
push ecx
lea edx, [esp + 0x3c]
push edi
push edx
mov ecx, ebp
call fcn.0046e6f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x20
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1060
ret 0x20