Function at 0x4188c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x431c94]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 2
jge 0x4188e0
call fcn.004187b0
jmp 0x418c0f
push str._remove
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.0042a735
add esp, 8
test eax, eax
jne 0x4189f0
cmp dword [ebp + 8], 3
jge 0x418914
call fcn.004187b0
jmp 0x4189eb
push 0x431b20
lea eax, [ebp - 0x24]
push eax
call fcn.0041c4e0
add esp, 8
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4e0
add esp, 8
push 0x431b30
lea edx, [ebp - 0x60]
push edx
call fcn.0041c4f0
add esp, 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4f0
add esp, 8
lea edx, [ebp - 0x60]
push edx
call fcn.0041d0ff
add esp, 4
mov dword [ebp - 0x64], eax
push 0x431b34
lea eax, [ebp - 0x24]
push eax
call fcn.0041c4e0
add esp, 8
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4e0
add esp, 8
push 0x431b44
lea edx, [ebp - 0x60]
push edx
call fcn.0041c4f0
add esp, 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4f0
add esp, 8
lea edx, [ebp - 0x60]
push edx
call fcn.0041d0ff
add esp, 4
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
je 0x4189de
push str._nCustom_screen_saver_image_not_found_n
call fcn.0041966d
add esp, 4
jmp 0x4189eb
push str._nCustom_screen_saver_successfully_removed_n
call fcn.0041966d
add esp, 4
jmp 0x418c0f
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x70]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.00408f00
add esp, 0x10
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x418a3f
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
push str._s_uses_an_unsupported_format_n
call fcn.0041966d
add esp, 8
push 1
call fcn.00419c0b
cmp dword [ebp - 0x70], 0x140
jg 0x418bb6
cmp dword [ebp - 0x6c], 0x1e0
jg 0x418bb6
push str.scrsaver.gci
lea eax, [ebp - 0x24]
push eax
call fcn.0041c4e0
add esp, 8
push 0x431bcc
lea ecx, [ebp - 0x24]
push ecx
call fcn.00418f0b
add esp, 8
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.004185c0
add esp, 0x10
mov eax, dword [ebp - 0x68]
push eax
call fcn.00418c8b
add esp, 4
cmp dword [ebp + 8], 3
jne 0x418af6
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4e0
add esp, 8
push 0x431bd0
lea edx, [ebp - 0x60]
push edx
call fcn.0041c4f0
add esp, 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.0041c4f0
add esp, 8
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.004184d0
add esp, 8
mov dword [ebp - 0x64], eax
push str.scrsaver.dat
lea ecx, [ebp - 0x24]
push ecx
call fcn.0041c4e0
add esp, 8
push 0x431be4
lea edx, [ebp - 0x24]
push edx
call fcn.00418f0b
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.00418760
add esp, 0x10
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.00418c8b
add esp, 4
cmp dword [ebp + 8], 3
jne 0x418bb4
mov edx, 4
shl edx, 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx]
push ecx
lea edx, [ebp - 0x60]
push edx
call fcn.0041c4e0
add esp, 8
push 0x431be8
lea eax, [ebp - 0x60]
push eax
call fcn.0041c4f0
add esp, 8
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x60]
push edx
call fcn.0041c4f0
add esp, 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x24]
push ecx
call fcn.004184d0
add esp, 8
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
je 0x418ba7
push str._nError_installing_Custom_screen_saver_n
call fcn.0041966d
add esp, 4
jmp 0x418bb4
push str._nCustom_screen_saver_image_successfully_installed_n
call fcn.0041966d
add esp, 4
jmp 0x418c03
push str.Image_cant_be_larger_than_320x480:_n
call fcn.0041966d
add esp, 4
mov edx, dword [ebp - 0x70]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
push str._s_width___d__n
call fcn.0041966d
add esp, 0xc
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
push str._s_height___d__n
call fcn.0041966d
add esp, 0xc
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.00419133
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004191fd
mov esp, ebp
pop ebp
ret