Function at 0x440c9e
Capabilities:
Check if file exists
Download url
Get common file path
Receive data

Disassembly:
push 0x5b4
mov eax, 0x5db44c
call fcn.00447fd9
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x484], 0xf
mov dword [ebp - 0x488], ebx
mov byte [ebp - 0x498], bl
lea ecx, [ebp - 0x514]
mov dword [ebp - 4], ebx
call fcn.004a132b
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 1
push eax
push str.http:__res.wn51.com_srf_install_carousel_carousel.json
lea ecx, [ebp - 0x514]
call fcn.004a137a
cmp dword [ebp - 0x488], ebx
je 0x441407
cmp dword [ebp - 0x484], 0x10
lea eax, [ebp - 0x498]
cmovae eax, dword [ebp - 0x498]
push eax
call fcn.004882f9
pop ecx
lea ecx, [ebp - 0x588]
mov esi, eax
call fcn.0048db6d
lea eax, [ebp - 0x588]
push eax
lea ecx, [ebp - 0x584]
call fcn.0048db75
push ebx
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 2
call fcn.0048c662
push esi
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 3
call fcn.00423107
xor esi, esi
mov byte [ebp - 4], 4
inc esi
lea eax, [ebp - 0x5b8]
push esi
push eax
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x584]
call fcn.0048f5e7
mov bl, al
mov byte [ebp - 4], 3
push 0
neg bl
lea ecx, [ebp - 0x438]
push esi
sbb bl, bl
call fcn.00422a84
add bl, 1
je 0x440da2
xor bl, bl
jmp 0x4413f1
push 0xf
xor ebx, ebx
pop edi
mov dword [ebp - 0x4cc], edi
mov dword [ebp - 0x4d0], ebx
mov byte [ebp - 0x4e0], bl
push str.root_path
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 5
call fcn.0048c9ca
mov ecx, eax
call fcn.0048d620
test al, al
je 0x440e0f
lea eax, [ebp - 0x438]
push eax
push str.root_path
lea ecx, [ebp - 0x5b8]
call fcn.0048c9ca
mov ecx, eax
call fcn.0048cf79
push eax
lea ecx, [ebp - 0x4e0]
call fcn.00499da8
push ebx
push esi
lea ecx, [ebp - 0x438]
call fcn.00422a84
mov dword [ebp - 0x4b4], edi
mov dword [ebp - 0x4b8], ebx
mov byte [ebp - 0x4c8], bl
mov edi, str.button_data
mov byte [ebp - 4], 6
push edi
lea ecx, [ebp - 0x5b8]
call fcn.0048c9ca
mov ecx, eax
call fcn.0048d814
test eax, eax
je 0x440e88
push ebx
push edi
lea ecx, [ebp - 0x5b8]
call fcn.0048c9ca
mov ecx, eax
call fcn.0048c8ee
push 0x5e6564
mov ecx, eax
call fcn.0048c9ca
lea ecx, [ebp - 0x438]
push ecx
mov ecx, eax
call fcn.0048cf79
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00499da8
push ebx
push esi
lea ecx, [ebp - 0x438]
call fcn.00422a84
mov esi, ebx
mov dword [ebp - 0x5a0], ebx
mov edi, ebx
mov dword [ebp - 0x5a8], esi
mov dword [ebp - 0x5a4], edi
push str.carousel_data
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 7
call fcn.0048c9ca
mov ecx, eax
call fcn.0048d814
test eax, eax
je 0x440f9e
push str.carousel_data
lea ecx, [ebp - 0x5b8]
call fcn.0048c9ca
mov ebx, eax
lea eax, [ebp - 0x594]
push eax
mov ecx, ebx
call fcn.0048d0b0
lea eax, [ebp - 0x59c]
mov ecx, ebx
push eax
call fcn.0048d1ad
push eax
lea ecx, [ebp - 0x594]
call fcn.0048d5e2
test al, al
jne 0x440f9c
lea ecx, [ebp - 0x594]
call fcn.0048d140
push 0x5e6564
mov ecx, eax
call fcn.0048c9ca
lea ecx, [ebp - 0x438]
push ecx
mov ecx, eax
call fcn.0048cf79
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x5a8]
call fcn.00424091
push 0
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 7
call fcn.00422a84
lea eax, [ebp - 0x594]
push eax
lea ecx, [ebp - 0x5c0]
call fcn.0048c74b
lea ecx, [ebp - 0x594]
call fcn.0048d5cb
lea eax, [ebp - 0x59c]
mov ecx, ebx
push eax
call fcn.0048d1ad
push eax
lea ecx, [ebp - 0x594]
call fcn.0048d5e2
test al, al
je 0x440f03
mov edi, dword [ebp - 0x5a4]
mov esi, dword [ebp - 0x5a8]
xor ebx, ebx
lea eax, [ebp - 0x420]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x5e1980
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push str._s_sInstImg_
push eax
call fcn.00421690
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x440fee
lea eax, [ebp - 0x218]
push eax
call fcn.0047ebb3
pop ecx
lea eax, [ebp - 0x218]
push eax
call fcn.0047ea82
xor eax, eax
mov dword [ebp - 0x49c], 7
pop ecx
mov dword [ebp - 0x4a0], ebx
mov word [ebp - 0x4b0], ax
cmp word [ebp - 0x218], ax
jne 0x441021
mov eax, ebx
jmp 0x44102e
lea eax, [ebp - 0x218]
push eax
call fcn.004a6baf
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00401ea0
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x458], ebx
mov word [ebp - 0x468], ax
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x450], ax
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x470], ebx
mov word [ebp - 0x480], ax
lea eax, [ebp - 0x4e0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.004976dd
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.004976dd
add esp, 0x10
lea ecx, [ebp - 0x480]
push eax
call fcn.00403900
push ebx
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x4f8]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00403da0
add esp, 0xc
lea ecx, [ebp - 0x468]
push eax
call fcn.00403900
push ebx
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00403da0
add esp, 0xc
lea ecx, [ebp - 0x450]
push eax
call fcn.00403900
push ebx
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
cmp dword [ebp - 0x43c], 8
lea ecx, [ebp - 0x450]
push ebx
cmovae ecx, dword [ebp - 0x450]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 8
push ebx
cmovae eax, dword [ebp - 0x468]
push ecx
push eax
push ebx
call sub.urlmon.dll_URLDownloadToFileW
mov dword [ebp - 0x428], ebx
xor eax, eax
mov ebx, str.button_img
mov dword [ebp - 0x424], 7
push ebx
mov word [ebp - 0x438], ax
call fcn.004a6baf
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x438]
call fcn.00401ea0
mov ecx, dword [ebp - 0x58c]
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x59c]
mov byte [ebp - 4], 0xe
push eax
call fcn.0042aa77
mov ecx, dword [ebp - 0x59c]
lea eax, [ebp - 0x450]
add ecx, 0x28
cmp ecx, eax
je 0x4411d6
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
push 0
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xd
call fcn.00401de0
sub edi, esi
xor ebx, ebx
mov eax, edi
push 0x18
cdq
pop ecx
idiv ecx
mov edi, eax
test edi, edi
je 0x44137e
lea eax, [ebp - 0x438]
push esi
push eax
call fcn.004976dd
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x480]
call fcn.00403900
push 0
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x4f8]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00403da0
add esp, 0xc
lea ecx, [ebp - 0x468]
push eax
call fcn.00403900
push 0
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00403da0
add esp, 0xc
lea ecx, [ebp - 0x450]
push eax
call fcn.00403900
push 0
push 1
lea ecx, [ebp - 0x438]
call fcn.00401de0
cmp dword [ebp - 0x43c], 8
lea ecx, [ebp - 0x450]
lea eax, [ebp - 0x468]
cmovae ecx, dword [ebp - 0x450]
cmp dword [ebp - 0x454], 8
cmovae eax, dword [ebp - 0x468]
xor edx, edx
push edx
push edx
push ecx
push eax
push edx
call sub.urlmon.dll_URLDownloadToFileW
push ebx
lea eax, [ebp - 0x420]
push str.carousel_img_d
push eax
call fcn.00421690
and dword [ebp - 0x428], 0
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
cmp word [ebp - 0x420], ax
je 0x441312
lea eax, [ebp - 0x420]
push eax
call fcn.004a6baf
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x438]
call fcn.00401ea0
mov ecx, dword [ebp - 0x58c]
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x59c]
mov byte [ebp - 4], 0xf
push eax
call fcn.0042aa77
mov ecx, dword [ebp - 0x59c]
lea eax, [ebp - 0x450]
add ecx, 0x28
cmp ecx, eax
je 0x44135f
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
push 0
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xd
call fcn.00401de0
inc ebx
add esi, 0x18
cmp ebx, edi
jb 0x4411ff
push 0
push 1
lea ecx, [ebp - 0x4f8]
mov bl, 1
call fcn.00401de0
xor esi, esi
lea ecx, [ebp - 0x480]
push 0
inc esi
push esi
call fcn.00401de0
push 0
push esi
lea ecx, [ebp - 0x450]
call fcn.00401de0
push 0
push esi
lea ecx, [ebp - 0x468]
call fcn.00401de0
push 0
push esi
lea ecx, [ebp - 0x4b0]
call fcn.00401de0
lea ecx, [ebp - 0x5a8]
call fcn.00423f1d
push 0
push esi
lea ecx, [ebp - 0x4c8]
call fcn.00422a84
push 0
push esi
lea ecx, [ebp - 0x4e0]
call fcn.00422a84
lea ecx, [ebp - 0x5b8]
call fcn.0048c828
lea ecx, [ebp - 0x584]
call fcn.0042699c
lea ecx, [ebp - 0x514]
call fcn.004a1364
push 0
push 1
lea ecx, [ebp - 0x498]
call fcn.00422a84
mov al, bl
call fcn.00447f83
ret