Function at 0x4656b0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f0693
mov eax, dword fs:[0]
push eax
sub esp, 0xc98
mov eax, dword [0x52b360]
xor eax, esp
mov dword [esp + 0xc90], eax
push ebx
push esi
push edi
mov eax, dword [0x52b360]
xor eax, esp
push eax
lea eax, [esp + 0xca8]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
push 0x3ff
lea eax, [esp + 0xa1]
push 0
push eax
mov byte [esp + 0xa8], 0
call fcn.004d1df0
add esp, 0xc
lea esi, [esp + 0x30]
call fcn.0047fd60
mov esi, 8
cmp dword [eax + 0x18], esi
jb 0x46572a
mov eax, dword [eax + 4]
jmp 0x46572d
add eax, 4
push eax
push 0
push str.jsoncon_ver
push str.wallpaper
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x48], esi
jb 0x465757
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004c8f17
add esp, 4
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call edi
push 1
mov esi, eax
call edi
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x4c], eax
mov dword [esp + 0xa2], esi
xor esi, esi
mov dword [esp + 0xa6], eax
xor eax, eax
mov byte [esp + 0x9c], 0x30
mov byte [esp + 0x9d], 1
mov dword [esp + 0x9e], edx
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], esi
mov byte [esp + 0x78], 0
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x90], 4
mov dword [esp + 0x94], 3
mov dword [esp + 0x98], 6
mov word [esp + 0x70], ax
push 0x1e
push str.tcpservice.wallpaper.updrv.com
lea ecx, [esp + 0x7c]
mov dword [esp + 0xcb8], esi
call fcn.00404980
mov eax, dword [0x5323a8]
mov ecx, 0xcea
mov word [esp + 0x70], cx
cmp eax, esi
je 0x46580f
call eax
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], esi
jne 0x46583f
push str.get_download_config_json_url_create_udp_fail.
push 0x13b
push 1
call fcn.004845b0
mov ecx, eax
mov eax, str..wallpaperJsonConfigMgr.cpp
call fcn.00484890
add esp, 0xc
lea edx, [esp + 0x68]
push edx
jmp 0x465ae9
lea eax, [esp + 0x9c]
push eax
mov edi, 0xe
lea eax, [esp + 0x6c]
call fcn.00484fd0
test eax, eax
je 0x465ae4
mov ecx, dword [esp + 0x6c]
xor edi, edi
cmp ecx, edi
je 0x46588f
mov eax, dword [0x532734]
cmp eax, edi
je 0x46588a
mov edx, dword [esp + 0x98]
push edx
push 0x400
lea edx, [esp + 0xa4]
push edx
push ecx
call eax
jmp 0x4658b6
or eax, 0xffffffff
jmp 0x4658b6
mov ecx, dword [esp + 0x68]
cmp ecx, edi
je 0x4658b4
mov eax, dword [0x53239c]
cmp eax, edi
je 0x4658b4
push edi
push edi
push 0x400
lea edx, [esp + 0xa8]
push edx
push ecx
call eax
jmp 0x4658b6
xor eax, eax
xor ecx, ecx
xor edx, edx
mov word [esp + 0x1e], cx
mov dword [esp + 0x20], edi
mov word [esp + 0x24], dx
mov dword [esp + 0x26], edi
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x14]
push edx
mov byte [esp + 0xcb8], 1
call fcn.004660d0
test al, al
je 0x465aa2
cmp byte [esp + 0x10], 0x31
jne 0x465aa2
mov esi, dword [esp + 0x20]
cmp esi, edi
jne 0x46590b
cmp dword [esp + 0x26], edi
je 0x465ae4
mov ecx, dword [esp + 0x9e]
push 0x800
lea edx, [esp + 0x4a0]
push edi
push edx
mov dword [ebx + 0x50], ecx
call fcn.004d1df0
movzx ecx, word [esp + 0x2a]
add esp, 0xc
push 0x800
lea eax, [esp + 0x4a0]
push eax
push ecx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0xfde9
call edi
lea esi, [ebx + 0x10]
push esi
lea edx, [esp + 0x4a0]
call fcn.00401720
push 0x800
lea edx, [esp + 0x4a0]
push 0
push edx
call fcn.004d1df0
movzx ecx, word [esp + 0x30]
mov edx, dword [esp + 0x32]
add esp, 0xc
push 0x800
lea eax, [esp + 0x4a0]
push eax
push ecx
push edx
push 0
push 0xfde9
call edi
add ebx, 0x2c
push ebx
lea edx, [esp + 0x4a0]
call fcn.00401720
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
mov edi, 8
mov byte [esp + 0xcb0], 2
cmp dword [esi + 0x18], edi
jb 0x4659d1
mov esi, dword [esi + 4]
jmp 0x4659d4
add esi, 4
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.004854e0
mov eax, dword [esp + 0x58]
mov esi, 0x10
add esp, 8
cmp dword [esp + 0x64], esi
jae 0x4659f5
lea eax, [esp + 0x50]
push eax
push str.get_download__url_ok.__s
push 0x15b
push edi
call fcn.004845b0
mov ecx, eax
mov eax, str..wallpaperJsonConfigMgr.cpp
call fcn.00484890
add esp, 0x10
cmp dword [ebx + 0x18], edi
jb 0x465a1f
mov ebx, dword [ebx + 4]
jmp 0x465a22
add ebx, 4
lea ecx, [esp + 0x4c]
push ecx
push ebx
call fcn.004854e0
mov eax, dword [esp + 0x58]
add esp, 8
cmp dword [esp + 0x64], esi
jae 0x465a3e
lea eax, [esp + 0x50]
push eax
push str.get_download_url_ok._zip_url___s
push 0x15e
push edi
call fcn.004845b0
mov ecx, eax
mov eax, str..wallpaperJsonConfigMgr.cpp
call fcn.00484890
add esp, 0x10
lea ecx, [esp + 0x4c]
call fcn.00405090
mov eax, dword [esp + 0x26]
test eax, eax
je 0x465a78
push eax
call fcn.004ca215
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x465a89
push eax
call fcn.004ca215
add esp, 4
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0xcb4], 0xffffffff
call fcn.00484e20
mov al, 1
jmp 0x465afb
push str.get_download_config_json_url_fail.
push 0x161
push 1
call fcn.004845b0
mov ecx, eax
mov eax, str..wallpaperJsonConfigMgr.cpp
call fcn.00484890
mov eax, dword [esp + 0x32]
add esp, 0xc
cmp eax, edi
je 0x465ad3
push eax
call fcn.004ca215
add esp, 4
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x465ae4
push eax
call fcn.004ca215
add esp, 4
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xcb4], 0xffffffff
call fcn.00484e20
xor al, al
mov ecx, dword [esp + 0xca8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc90]
xor ecx, esp
call fcn.004c8f08
mov esp, ebp
pop ebp
ret 4