Function at 0x4879e0
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x1060
call fcn.0051c5b0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1070]
test esi, esi
push edi
mov ebp, ecx
je 0x487d30
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x487d30
cmp word [esi], 0
je 0x487d30
mov ax, word [0x56bc90]
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 [0x523704]
test eax, eax
je 0x487a6d
push 0x53ac40
push esi
call fcn.0043f700
add esp, 8
test eax, eax
je 0x487aa7
push esi
lea ecx, [esp + 0x2c]
push 0x823
push ecx
push 0x56bc90
push 0x5601a4
push str.InternetShortcut
call dword [0x523324]
jmp 0x487aa7
push esi
call fcn.004df470
add esp, 4
test eax, eax
je 0x487aa7
mov edi, dword [0x59d7b4]
call fcn.004a4480
mov edx, dword [esp + 0x107c]
lea eax, [esp + 0x28]
push edx
push 1
push 0x823
push eax
push esi
push edi
call fcn.004a4480
mov ecx, eax
call fcn.004a4960
cmp word [esp + 0x28], 0
jne 0x487ac8
push esi
push 0x5384a4
lea ecx, [esp + 0x30]
push 0x823
push ecx
call dword [0x52346c]
add esp, 0x10
lea edx, [esp + 0x28]
push edx
call fcn.004be8a0
lea eax, [esp + 0x2c]
push eax
call fcn.00471a30
add esp, 8
test eax, eax
je 0x487ae7
xor ebx, ebx
jmp 0x487aee
mov ebx, dword [esp + 0x1084]
mov eax, dword [esp + 0x1088]
xor edi, edi
cmp eax, edi
je 0x487b90
lea ecx, [esp + 0x28]
push edi
push ecx
mov ecx, ebp
call fcn.0048aec0
mov esi, eax
cmp esi, edi
je 0x487b90
cmp dword [esi + 0x3148], edi
jne 0x487b90
mov edi, dword [esi + 0x560c]
mov ecx, dword [ebp + 0x58]
push 0
push edi
call fcn.0050fed0
cmp word [esi + 0x3150], 0
lea eax, [esi + 0x3150]
jne 0x487b55
cmp word [esi + 0x70], 0
lea ecx, [esi + 0x70]
jne 0x487b57
cmp word [esi + 0x2100], 0
lea ecx, [esi + 0x2100]
jne 0x487b57
mov ecx, eax
lea edx, [esp + 0x28]
push edx
push ecx
call dword [0x523710]
test eax, eax
je 0x487b81
mov eax, dword [esp + 0x107c]
push 0
push 0
push 0
lea ecx, [esp + 0x34]
push eax
push ecx
mov ecx, esi
call fcn.00417030
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x20
mov ecx, dword [ebp + 0x58]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
call fcn.0050cd60
mov ecx, dword [ebp + 0x58]
push eax
call fcn.0050ce60
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1078]
xor edx, edx
cmp ecx, edi
je 0x487cb3
cmp dword [ecx + 0x30], edi
je 0x487be2
mov eax, dword [esp + 0x107c]
test al, 0xb
jne 0x487bdd
test ah, 1
je 0x487be2
mov edx, 1
xor edi, edi
test esi, esi
je 0x487c14
cmp word [esi + 0x3150], 0
lea edi, [esi + 0x3150]
jne 0x487c14
cmp word [esi + 0x70], 0
lea eax, [esi + 0x70]
jne 0x487c12
cmp word [esi + 0x2100], 0
lea eax, [esi + 0x2100]
je 0x487c14
mov edi, eax
test ebx, ebx
je 0x487c2a
mov eax, dword [ecx + 0x5648]
test eax, eax
jne 0x487c2a
test edx, edx
je 0x487cb3
mov ecx, ebp
call fcn.0048e550
mov ecx, dword [esp + 0x107c]
push 0
push edi
push 0
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x20]
push edx
call fcn.00417030
test eax, eax
je 0x487cac
mov ecx, dword [ebp + 0x5c]
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
test ecx, ecx
mov dword [esp + 0x24], eax
je 0x487c8a
lea edx, [esp + 0x18]
push edx
call fcn.004d09d0
test eax, eax
je 0x487c8a
mov ecx, dword [ebp + 0x64]
lea eax, [esp + 0x18]
push eax
push 1
call fcn.00416e80
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x560c]
mov ecx, dword [ebp + 0x58]
push esi
call fcn.0050ff90
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1060
ret 0x20
mov edi, 1
jmp 0x487cba
mov edi, dword [esp + 0x1080]
test esi, esi
je 0x487cfb
cmp word [esi + 0x3150], 0
lea ecx, [esi + 0x3150]
jne 0x487ce8
cmp word [esi + 0x70], 0
lea eax, [esi + 0x70]
jne 0x487cea
cmp word [esi + 0x2100], 0
lea eax, [esi + 0x2100]
jne 0x487cea
mov eax, ecx
push eax
mov ecx, 0x586a2c
call fcn.004d82a0
test eax, eax
je 0x487cfb
xor esi, esi
mov edx, dword [esp + 0x108c]
mov eax, dword [esp + 0x107c]
mov ecx, dword [esp + 0x1090]
push 0
push edx
push esi
push eax
push ecx
lea edx, [esp + 0x3c]
push edi
push edx
mov ecx, ebp
call fcn.004849e0
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