Function at 0x417db0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x428f5a
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x438130]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
push 0x20019
push str.SoftwareSkypePhone
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
call fcn.004093f0
test eax, eax
je 0x417e1d
xor bl, bl
jmp 0x418003
call fcn.00403740
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x417e39
push 0x80004005
call fcn.00402180
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, 0x104
or ecx, edx
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], 0x104
jge 0x417e74
push 0x104
lea ecx, [ebp - 0x14]
call fcn.004041f0
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x18]
push ecx
push eax
push 0x42d80c
lea ecx, [ebp - 0x2c]
call fcn.004043b0
test eax, eax
mov eax, dword [ebp - 0x14]
setne bl
push dword [eax - 8]
push eax
call fcn.00418ba4
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x418025
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax - 8]
jg 0x418025
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [ebp - 0x14]
or edi, 0xffffffff
mov word [eax + ecx*2], dx
test bl, bl
jne 0x417fe3
push dword [ebp - 0x14]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x417fe3
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.004024b0
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
push esi
mov byte [ebp - 4], 2
call fcn.00405d40
add esp, 8
mov byte [ebp - 4], 1
test al, al
mov ecx, edi
sete bl
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x417f19
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
jne 0x417fe3
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.004024b0
add eax, 0x10
mov dword [ebp - 0x20], eax
push str.Skype_Technologies_SA
mov ebx, 1
mov byte [ebp - 4], 3
push eax
mov dword [ebp - 0x18], ebx
call fcn.00405e00
add esp, 0xc
test al, al
jne 0x417f88
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.004024b0
add eax, 0x10
mov dword [ebp - 0x1c], eax
push str.Skype_Software_Sarl
mov ebx, 3
mov dword [ebp - 4], 4
push eax
mov dword [ebp - 0x18], ebx
call fcn.00405e00
add esp, 0xc
mov byte [ebp - 0xd], 1
test al, al
je 0x417f8c
mov byte [ebp - 0xd], 0
test bl, 2
je 0x417f9c
lea ecx, [ebp - 0x1c]
and ebx, 0xfffffffd
call fcn.00401750
mov dword [ebp - 4], 1
test bl, 1
je 0x417fb0
lea ecx, [ebp - 0x20]
call fcn.00401750
cmp byte [ebp - 0xd], 0
jne 0x417fe3
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.004024b0
push dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00417bd0
add esp, 0xc
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401750
jmp 0x417fe5
xor bl, bl
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x418003
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x418011
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00402180
int3