Function at 0x4309ba
Capabilities:
Change the wallpaper
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [ebp + 0x10]
push ebx
push esi
cmp eax, 0x20
push edi
je 0x430bf5
cmp eax, 0x205
jne 0x430a12
mov esi, dword [ebp + 8]
xor edi, edi
push edi
push dword [esi + 0x458]
mov dword [esi + 0x30], edi
call dword [sym.imp.USER32.dll_ShowWindow]
add esi, 0x44
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x430bf5
push 3
push esi
push pe_nt_image_headers32
push 0x14
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
jmp 0x430bf5
cmp eax, 0x202
jne 0x430aab
mov esi, dword [ebp + 8]
xor edi, edi
cmp dword [esi + 0x30], edi
mov dword [esi + 0x38], edi
je 0x430bf5
push 0x105
push edi
push edi
mov dword [esi + 0x30], edi
push dword [esi + 0x458]
call dword [sym.imp.USER32.dll_RedrawWindow]
lea eax, [esi + 0x20]
push edi
push eax
mov ecx, esi
call fcn.00430f98
cmp eax, edi
je 0x430a5c
push eax
mov ecx, esi
call fcn.00431508
push edi
push dword [esi + 0x458]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ebx, [esi + 0x44]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x430a87
push 3
push ebx
push pe_nt_image_headers32
push 0x14
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp dword [esi + 0x3c], edi
je 0x430bf5
push GetModuleFileNameW
push dword [0x47ec34]
push str.camera.wav
call dword [sym.imp.WINMM.dll_PlaySoundW]
jmp 0x430bf5
cmp eax, 0x200
jne 0x430b09
mov esi, dword [ebp + 8]
xor edi, edi
cmp dword [esi + 0x30], edi
jne 0x430ac5
cmp dword [esi + 0x38], edi
je 0x430bf5
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esi + 0x10]
lea eax, [esi + 0x20]
push eax
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x24], ecx
mov ecx, dword [ebp - 8]
mov dword [esi + 0x28], ecx
mov ecx, dword [ebp - 4]
mov dword [esi + 0x2c], ecx
mov ecx, esi
call fcn.00430776
push 0x105
push edi
push edi
push dword [esi + 0x458]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x430bf5
cmp eax, 0x201
jne 0x430b53
mov esi, dword [ebp + 8]
lea edi, [esi + 0x10]
push edi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [edi]
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 4]
mov edi, dword [edi]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x14]
mov dword [ecx], edi
push ecx
mov ecx, esi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x24], eax
call fcn.00430776
mov dword [esi + 0x30], 1
push 0x105
xor edi, edi
jmp 0x430af6
cmp eax, 0x101
jne 0x430bc5
mov esi, dword [ebp + 8]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
xor edi, edi
cmp dword [ebp + 0x14], 0x1b
jne 0x430b95
push edi
push dword [esi + 0x458]
call ebx
lea eax, [esi + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x430bc1
lea eax, [esi + 0x44]
push 3
push eax
push pe_nt_image_headers32
push 0x14
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp dword [ebp + 0x14], 0x53
jne 0x430bab
push edi
push dword [esi + 0x458]
call ebx
mov ecx, esi
call fcn.0043132e
cmp dword [ebp + 0x14], 0x50
jne 0x430bc1
push edi
push dword [esi + 0x458]
call ebx
mov ecx, esi
call fcn.004319f5
xor eax, eax
jmp 0x430c07
cmp eax, 0xf
jne 0x430bf5
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x48]
push eax
push dword [esi + 0x458]
call dword [sym.imp.USER32.dll_BeginPaint]
push eax
mov ecx, esi
call fcn.00431107
lea eax, [ebp - 0x48]
push eax
push dword [esi + 0x458]
call dword [sym.imp.USER32.dll_EndPaint]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_DefWindowProcW]
pop edi
pop esi
pop ebx
leave
ret 0x14