Function at 0x414efb
Capabilities:
Check if file exists
Download url
Get common file path
Query or enumerate registry value
Receive data

Disassembly:
push 0x634
mov eax, 0x43c928
call fcn.00423093
mov esi, edx
mov ebx, ecx
call fcn.004083ea
push eax
lea ecx, [ebp - 0x634]
call fcn.00407e3b
xor edi, edi
mov dword [ebp - 4], edi
call fcn.004083ea
push eax
lea ecx, [ebp - 0x630]
call fcn.00407e3b
mov byte [ebp - 4], 1
test esi, esi
je 0x414f5b
cmp word [esi], di
je 0x414f5b
mov ecx, esi
call fcn.004080cc
push eax
push esi
lea ecx, [ebp - 0x630]
call fcn.00408040
jmp 0x415075
mov eax, dword [0x4612f0]
cmp dword [eax - 0xc], 0
je 0x414f7b
push 0x4612f0
lea ecx, [ebp - 0x630]
call fcn.00409de8
jmp 0x415075
call fcn.0040e04a
mov ecx, dword [eax + 0x44]
sub ecx, 0x10
call fcn.004080e8
add eax, 0x10
mov dword [ebp - 0x63c], eax
mov esi, str.360360base.dll
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.004080cc
push eax
push esi
lea ecx, [ebp - 0x63c]
call fcn.00407faf
mov esi, dword [ebp - 0x63c]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x414fef
mov edx, esi
lea ecx, [ebp - 0x638]
call fcn.0041ce30
push eax
lea ecx, [ebp - 0x630]
mov byte [ebp - 4], 3
call fcn.00409de8
mov ecx, dword [ebp - 0x638]
lea ecx, [ecx - 0x10]
call fcn.0040233b
jmp 0x415069
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push edi
push eax
call fcn.00422860
add esp, 0xc
mov dword [ebp - 0x638], 0x103
lea eax, [ebp - 0x638]
mov dword [ebp - 0x640], 1
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x640]
push eax
push 0x44a9bc
push str.SOFTWARE360SafeLiveup
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
cmp word [ebp - 0x21c], 0
je 0x415069
push 0x20
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x630]
call fcn.00407faf
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 1
call fcn.0040233b
mov edi, dword [ebp - 0x630]
cmp dword [edi - 0xc], 0
je 0x41509d
mov eax, dword [0x4612f0]
cmp dword [eax - 0xc], 0
jne 0x41509d
lea eax, [ebp - 0x630]
mov ecx, 0x4612f0
push eax
call fcn.00409de8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push edi
push 0x45ec70
push 0x448fc0
lea eax, [ebp - 0x634]
push str.http:__s.360.cn_360game_stat.htm_ver_spid_sm_st_dtype360gamev8actionclick
push eax
call fcn.0040a280
add esp, 0x18
test ebx, ebx
je 0x4150dc
push ebx
lea eax, [ebp - 0x634]
push 0x44a9a8
push eax
call fcn.0040a2d8
add esp, 0xc
cmp dword [0x45c620], 0
jne 0x415100
mov esi, 0x44aaa4
mov ecx, esi
call fcn.004080cc
push eax
push esi
lea ecx, [ebp - 0x634]
call fcn.00407faf
jmp 0x415128
cmp dword [0x45c624], 8
mov eax, 0x45c610
cmovae eax, dword [0x45c610]
push eax
lea eax, [ebp - 0x634]
push str.s_s
push eax
call fcn.0040a2d8
add esp, 0xc
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp - 0x424], ax
xor ebx, ebx
lea eax, [ebp - 0x422]
push ebx
push eax
call fcn.00422860
add esp, 0xc
xor eax, eax
mov word [ebp - 0x62c], ax
lea eax, [ebp - 0x62a]
push esi
push ebx
push eax
call fcn.00422860
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x62c]
push eax
push ebx
push str.sta_
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov esi, dword [ebp - 0x634]
lea eax, [ebp - 0x424]
push ebx
push ebx
push eax
push esi
push ebx
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
lea ecx, [edi - 0x10]
call fcn.0040233b
lea ecx, [esi - 0x10]
call fcn.0040233b
call fcn.00423042
ret