Function at 0x420bd0
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43c016
mov eax, dword fs:[0]
push eax
sub esp, 0x32c
mov eax, dword [0x4b249c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2fc], ecx
mov byte [ebp - 0x29d], 0
mov ecx, dword [ebp + 8]
call fcn.004052f0
movzx eax, al
cmp eax, 1
jne 0x420c1f
xor al, al
jmp 0x421192
mov ecx, dword [ebp + 8]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp eax, 1
jne 0x420cbd
push 0x443b60
call fcn.0040de50
add esp, 4
test eax, eax
jne 0x420cb6
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2c4], esp
mov edx, dword [ebp + 8]
push edx
call fcn.004051d0
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov dword [ebp - 4], 0
push str._delete_empty_Dir:
mov ecx, dword [ebp - 0x2fc]
push ecx
push 0x443ba8
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.0040d970
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004236d0
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
call fcn.0040de00
mov al, 1
jmp 0x421192
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x280]
call fcn.004051d0
mov dword [ebp - 4], 1
mov ecx, dword [ebp + 8]
call fcn.004052d0
sub eax, 1
push eax
mov ecx, dword [ebp + 8]
call fcn.004222d0
movzx eax, word [eax]
cmp eax, 0x5c
je 0x420cfc
push 0x5c
lea ecx, [ebp - 0x280]
call fcn.004222b0
push 0x443bf0
lea ecx, [ebp - 0x280]
push ecx
lea edx, [ebp - 0x29c]
push edx
call fcn.00418300
add esp, 0xc
mov byte [ebp - 4], 2
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x29c]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0xffffffff
je 0x420f96
push 0x443b5c
lea ecx, [ebp - 0x238]
push ecx
call fcn.00426b46
add esp, 8
test eax, eax
je 0x420f77
push 0x443bf8
lea edx, [ebp - 0x238]
push edx
call fcn.00426b46
add esp, 8
test eax, eax
je 0x420f77
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x280]
push ecx
lea edx, [ebp - 0x2c0]
push edx
call fcn.00418300
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x264]
and eax, 0x10
je 0x420e06
lea ecx, [ebp - 0x2c0]
call fcn.004052b0
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00405190
mov byte [ebp - 4], 4
push 0
lea ecx, [ebp - 0x2e0]
push ecx
mov ecx, dword [ebp - 0x2fc]
call fcn.00420bd0
mov byte [ebp - 0x29d], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e0]
call fcn.00405210
movzx edx, byte [ebp - 0x29d]
test edx, edx
jne 0x420e01
mov byte [ebp - 0x29d], 0
jmp 0x420f68
push 0x80
lea ecx, [ebp - 0x2c0]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x443c00
call fcn.0040de50
add esp, 4
test eax, eax
jne 0x420e99
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e4], esp
lea eax, [ebp - 0x2c0]
push eax
call fcn.004051d0
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], ecx
mov byte [ebp - 4], 5
push 0x443c90
mov edx, dword [ebp - 0x2fc]
push edx
push 0x443c48
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.0040d970
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.004236d0
mov dword [ebp - 0x314], eax
mov ecx, dword [ebp - 0x314]
call fcn.0040de00
lea ecx, [ebp - 0x2c0]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x420ebb
mov byte [ebp - 0x29d], 1
jmp 0x420f68
push 0x443ca0
call fcn.0040de50
add esp, 4
test eax, eax
jne 0x420f61
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x443d44
push 0x443d3c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e8], esp
lea eax, [ebp - 0x2c0]
push eax
call fcn.004051d0
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x31c], ecx
mov byte [ebp - 4], 6
push str.del_file
mov edx, dword [ebp - 0x2fc]
push edx
push 0x443ce8
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.0040d970
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.004236d0
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
call fcn.0040d970
mov ecx, eax
call fcn.0040d970
mov ecx, eax
call fcn.0040d7c0
mov ecx, eax
call fcn.0040de00
mov byte [ebp - 0x29d], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
call fcn.00405210
lea eax, [ebp - 0x264]
push eax
mov ecx, dword [ebp - 0x2a4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x420f91
jmp 0x420f96
jmp 0x420d3a
cmp dword [ebp - 0x2a4], 0xffffffff
je 0x420fb6
mov edx, dword [ebp - 0x2a4]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x2a4], 0xffffffff
movzx eax, byte [ebp - 0x29d]
test eax, eax
je 0x421164
push 0x443d58
call fcn.0040de50
add esp, 4
test eax, eax
jne 0x42103e
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2ec], esp
mov edx, dword [ebp + 8]
push edx
call fcn.004051d0
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 7
push 0x443de8
mov ecx, dword [ebp - 0x2fc]
push ecx
push 0x443da0
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.0040d970
mov byte [ebp - 4], 2
mov ecx, eax
call fcn.004236d0
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
call fcn.0040de00
movzx edx, byte [ebp + 0xc]
test edx, edx
je 0x42107b
mov byte [ebp - 0x2ed], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x29c]
call fcn.00405210
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.00405210
mov al, byte [ebp - 0x2ed]
jmp 0x421192
mov ecx, dword [ebp + 8]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x4210c1
mov byte [ebp - 0x2ee], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x29c]
call fcn.00405210
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.00405210
mov al, byte [ebp - 0x2ee]
jmp 0x421192
push 0x443df8
call fcn.0040de50
add esp, 4
test eax, eax
jne 0x421164
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._last_error
push str._failed
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2f4], esp
mov eax, dword [ebp + 8]
push eax
call fcn.004051d0
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x334], ecx
mov byte [ebp - 4], 8
push str.del_dir
mov edx, dword [ebp - 0x2fc]
push edx
push str.CKKPSetupEnvironment::DeleteDirImpl
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.0040d970
mov byte [ebp - 4], 2
mov ecx, eax
call fcn.004236d0
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
call fcn.0040d970
mov ecx, eax
call fcn.0040d970
mov ecx, eax
call fcn.0040d7c0
mov ecx, eax
call fcn.0040de00
mov byte [ebp - 0x2f5], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x29c]
call fcn.00405210
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.00405210
mov al, byte [ebp - 0x2f5]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042624f
mov esp, ebp
pop ebp
ret 8