Function at 0x42b8d8
Capabilities:
Delete directory

Disassembly:
push 0xc
mov eax, 0x4a00ef
call fcn.0048a2c9
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
mov esi, str.Cannot_empty_base_dir_for__s
push ecx
lea eax, [ebp + 8]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00421355
call fcn.0042b6de
mov dword [esp], 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push ecx
mov eax, esp
mov dword [ebp - 0x14], esp
push dword [ebp + 0xc]
push str.__Removing_files_from__s
push eax
call fcn.00452370
add esp, 0xc
call fcn.004296cc
lea eax, [ebp + 0xc]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00421355
call fcn.00454070
pop ecx
test eax, eax
jne 0x42b9d6
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.00452370
add esp, 0xc
cmp dword [ebp + 0x10], ebx
jl 0x42b9d0
mov eax, dword [eax]
push 2
push str.Fatal
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov edi, eax
call fcn.0042001a
cmp edi, 4
je 0x42b8ef
cmp edi, 3
jne 0x42b9d6
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.00452370
add esp, 0xc
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x14]
push eax
call fcn.004223cd
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0042001a
mov eax, ebx
call fcn.0048a3a1
ret
mov byte [ebp - 4], 3
jmp 0x42b99e
push 0x5c
push ecx
mov dword [ebp - 0x14], esp
mov esi, esp
push 0x5c
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00421355
push esi
call fcn.004529b0
lea eax, [ebp - 0x10]
add esp, 0xc
push eax
call fcn.00452880
mov eax, dword [eax]
add esp, 0xc
push 0x4a9f80
push eax
call fcn.00485d30
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [ebp - 0x10]
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.0042001a
test bl, bl
je 0x42ba5a
push 0x5c
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00421355
lea eax, [ebp - 0x10]
push eax
call fcn.004529b0
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0042001a
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push str.SoftwareVOS_s
push eax
call fcn.00452370
add esp, 8
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x14], esp
push dword [eax]
push str.__Removing_registry_from__s
push ecx
call fcn.00452370
add esp, 0xc
call fcn.004296cc
pop ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0042001a
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push str.SoftwareVOS_s
push eax
call fcn.00452370
add esp, 0xc
mov byte [ebp - 4], 5
mov esi, dword [eax]
call fcn.00453950
mov ebx, eax
neg ebx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.0042001a
test bl, bl
je 0x42bb81
call edi
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Cannot_delete_registry_key_for__s:__d
push eax
call fcn.00452370
add esp, 0x10
cmp dword [ebp + 0x10], 1
jl 0x42bb7b
mov eax, dword [eax]
push 2
push str.Fatal
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov esi, eax
call fcn.0042001a
cmp esi, 4
je 0x42baaa
cmp esi, 3
jne 0x42bb81
call edi
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Cannot_delete_registry_key_for__s:__d
push eax
call fcn.00452370
add esp, 0x10
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0x14]
push eax
call fcn.004223cd
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0042001a
xor eax, eax
inc eax
jmp 0x42b9ca
mov byte [ebp - 4], 7
jmp 0x42bb49
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push dword [0x4c8994]
call fcn.004211c4
call fcn.00454a90
pop ecx
test eax, eax
je 0x42bbb6
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Base_dir_could_not_be_emptied_for__s
push eax
call fcn.00452370
add esp, 0xc
mov byte [ebp - 4], 8
jmp 0x42bb49
push ecx
mov eax, esp
mov dword [ebp - 0x14], esp
push dword [0x4c8960]
push str.SoftwareVOS_s
push eax
call fcn.00452370
add esp, 0xc
call fcn.004535d0
pop ecx
test eax, eax
je 0x42bc29
call edi
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Registry_key_could_not_be_emptied_for__s:__d
push eax
call fcn.00452370
add esp, 0x10
mov ecx, dword [ebp + 0x14]
push eax
mov byte [ebp - 4], 9
call fcn.004223cd
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0042001a
xor esi, esi
inc esi
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0042001a
mov eax, esi
jmp 0x42b9ca
xor esi, esi
jmp 0x42bc0c