Function at 0x435700
Capabilities:
Change the wallpaper

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x546c98
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x5953a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x50], esi
push 1
call fcn.0046a250
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push 0
push 1
lea edi, [esi + 0x30]
push eax
mov dword [ebp - 0x4c], edi
call fcn.00476c40
add esp, 4
mov ecx, edi
push eax
call fcn.0047cf40
mov eax, dword [0x59ffa8]
test al, 1
jne 0x435773
or eax, 1
mov dword [0x59ff74], 0
mov dword [0x59ffa8], eax
xorps xmm0, xmm0
mov byte [ebp - 0x41], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0
push eax
call fcn.00460eb5
mov dword [ebp - 4], 1
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x41]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push 0x436a90
push 0x59ff74
call fcn.00460f59
add esp, 0x10
test eax, eax
je 0x435ba0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 2
push eax
call fcn.00460eef
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push 0x59eb8c
call fcn.00478510
mov dword [esi + 0x318], eax
mov eax, dword [0x59ff54]
test al, 1
jne 0x435807
or eax, 1
mov dword [0x59ff88], 0
mov dword [0x59ff54], eax
xorps xmm0, xmm0
mov byte [ebp - 0x41], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 5
push eax
call fcn.00460eb5
mov dword [ebp - 4], 6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x41]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push 0x436b40
push 0x59ff88
call fcn.00460f59
add esp, 0x10
test eax, eax
je 0x435b8a
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 7
push eax
call fcn.00460eef
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push 0x59ebdc
call fcn.00478510
mov dword [esi + 0x31c], eax
mov eax, dword [0x59ff50]
test al, 1
jne 0x43589b
or eax, 1
mov dword [0x59ff5c], 0
mov dword [0x59ff50], eax
xorps xmm0, xmm0
mov byte [ebp - 0x41], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0xa
push eax
call fcn.00460eb5
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x41]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push 0x436bf0
push 0x59ff5c
call fcn.00460f59
add esp, 0x10
test eax, eax
je 0x435b74
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0xc
push eax
call fcn.00460eef
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push 0x59ecd0
call fcn.00478510
mov dword [esi + 0x320], eax
mov eax, dword [0x59ffb4]
test al, 1
jne 0x43592f
or eax, 1
mov dword [0x59ff78], 0
mov dword [0x59ffb4], eax
xorps xmm0, xmm0
mov byte [ebp - 0x41], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0xf
push eax
call fcn.00460eb5
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x41]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push 0x436ca0
push 0x59ff78
call fcn.00460f59
add esp, 0x10
test eax, eax
je 0x435b5a
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x11
push eax
call fcn.00460eef
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push 0x59ec80
call fcn.00478510
push 1
mov ecx, eax
mov dword [esi + 0x324], eax
call fcn.00476170
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_CDialogTips::__class_DuiLib::CControlUI___void___class_CDialogTips____class_DuiLib::CControlUI____.0
mov dword [ebp - 0x70], 0x435e10
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 0x14
mov ecx, dword [esi + 0x324]
push eax
call fcn.00476110
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x435a07
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x78]
cmp ecx, eax
setne al
push eax
call edx
mov dword [ebp - 0x54], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x324]
mov ecx, dword [esi + 0x32c]
sub ecx, dword [esi + 0x328]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
mov edi, dword [eax + 0x74]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x4c]
mov eax, 3
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, eax
cmovae esi, eax
call fcn.004785b0
push 0x47
mov ecx, eax
call fcn.00476f80
mov ecx, dword [ebp - 0x48]
imul eax, esi
push 1
add eax, 4
push eax
call edi
mov eax, dword [ebp - 0x50]
push 0
mov ecx, dword [eax + 0x32c]
mov esi, dword [eax + 0x324]
sub ecx, dword [eax + 0x328]
mov eax, 0x2aaaaaab
imul ecx
mov edi, dword [esi]
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
seta al
movzx eax, al
push eax
call dword [edi + 0x200]
push dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
mov ecx, esi
call fcn.0046a930
lea eax, [ebp - 0x30]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 0x32c]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x328]
mov edi, dword [ebp - 0x28]
sub edi, dword [ebp - 0x30]
imul ecx
mov ecx, dword [ebp - 0x4c]
mov eax, 3
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 3
cmovae esi, eax
call fcn.004785b0
push 0x47
mov ecx, eax
call fcn.00476f80
imul eax, esi
xorps xmm0, xmm0
mov esi, dword [ebp - 0x24]
dec esi
movups xmmword [ebp - 0x40], xmm0
push 0
sub eax, dword [ebp - 0x2c]
add esi, eax
lea eax, [ebp - 0x40]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 0x34]
push 0x14
push esi
push edi
sub eax, esi
push eax
mov eax, dword [ebp - 0x38]
sub eax, edi
push eax
mov eax, dword [ebp - 0x50]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004e095c
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x12
push eax
call fcn.00460f10
add esp, 4
mov byte [ebp - 4], 0x10
test al, al
je 0x435bc9
jmp 0x435bb6
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xd
push eax
call fcn.00460f10
add esp, 4
mov byte [ebp - 4], 0xb
jmp 0x435b6e
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 8
push eax
call fcn.00460f10
add esp, 4
mov byte [ebp - 4], 6
jmp 0x435b6e
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
call fcn.00460f10
add esp, 4
mov byte [ebp - 4], 1
jmp 0x435b6e
sub esp, 8
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00413140
call fcn.00413200
call fcn.00460f71
int3