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

Disassembly:
mov eax, 0x1060
call fcn.004cd000
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1070]
xor ebx, ebx
push edi
cmp esi, ebx
mov ebp, ecx
je 0x46e871
cmp dword [ebp + 0x54], ebx
je 0x46e871
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
test eax, eax
je 0x46e871
mov ax, word [0x4fff00]
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 0x46e615
push 0x4e4acc
push esi
call fcn.00433380
add esp, 8
test eax, eax
je 0x46e64f
push esi
lea ecx, [esp + 0x2c]
push 0x823
push ecx
push 0x4fff00
push 0x4f8eb0
push str.InternetShortcut
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x46e64f
push esi
call fcn.004a2b50
add esp, 4
test eax, eax
je 0x46e64f
mov edi, dword [0x5dd558]
call fcn.0047dd50
mov edx, dword [esp + 0x107c]
lea eax, [esp + 0x28]
push edx
push 1
push 0x823
push eax
push esi
push edi
call fcn.0047dd50
mov ecx, eax
call fcn.0047e230
cmp word [esp + 0x28], bx
jne 0x46e66f
push esi
push 0x4e49c0
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.00488e30
lea eax, [esp + 0x2c]
push eax
call fcn.00461460
add esp, 8
test eax, eax
je 0x46e691
mov dword [esp + 0x1084], ebx
cmp dword [esp + 0x1088], ebx
je 0x46e6d2
lea ecx, [esp + 0x28]
push ebx
push ecx
mov ecx, ebp
call fcn.00471530
cmp eax, ebx
je 0x46e6d2
cmp dword [eax + 0x3144], ebx
jne 0x46e6d2
mov esi, dword [eax + 0x5604]
mov ecx, dword [ebp + 0x54]
push ebx
push esi
call fcn.004bbbd0
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.004bc630
mov ecx, dword [ebp + 0x54]
push eax
call fcn.004bcc80
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1078]
xor edx, edx
cmp ecx, ebx
je 0x46e7f0
cmp dword [ecx + 0x30], ebx
je 0x46e724
mov eax, dword [esp + 0x107c]
test al, 0xb
jne 0x46e71f
test ah, 1
je 0x46e724
mov edx, 1
xor edi, edi
cmp esi, ebx
je 0x46e753
cmp word [esi + 0x314c], bx
lea edi, [esi + 0x314c]
jne 0x46e753
cmp word [esi + 0x6c], bx
lea eax, [esi + 0x6c]
jne 0x46e751
cmp word [esi + 0x20fc], bx
lea eax, [esi + 0x20fc]
je 0x46e753
mov edi, eax
cmp dword [esp + 0x1084], ebx
je 0x46e76c
cmp dword [ecx + 0x5640], ebx
jne 0x46e76c
cmp edx, ebx
je 0x46e7f0
mov ecx, ebp
call fcn.00473ca0
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.00411060
test eax, eax
je 0x46e7e9
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 0x46e7c7
lea edx, [esp + 0x18]
push edx
call fcn.00496610
test eax, eax
je 0x46e7c7
mov ecx, dword [ebp + 0x60]
lea eax, [esp + 0x18]
push eax
push 1
call fcn.00410eb0
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x5604]
mov ecx, dword [ebp + 0x54]
push esi
call fcn.004bf1e0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x24
mov edi, 1
jmp 0x46e7f7
mov edi, dword [esp + 0x1080]
cmp esi, ebx
je 0x46e835
cmp word [esi + 0x314c], bx
lea ecx, [esi + 0x314c]
jne 0x46e822
cmp word [esi + 0x6c], bx
lea eax, [esi + 0x6c]
jne 0x46e824
cmp word [esi + 0x20fc], bx
lea eax, [esi + 0x20fc]
jne 0x46e824
mov eax, ecx
push eax
mov ecx, 0x5d7cc8
call fcn.0049cd60
test eax, eax
je 0x46e835
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.0046c690
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