Function at 0x422b15
Capabilities:
Delete directory
Delete file

Disassembly:
push 0x3c
mov eax, 0x438ec6
call fcn.00434148
mov esi, ecx
xor eax, eax
cmp dword [esi + 0x10], eax
je 0x422d60
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x3c]
mov dword [ebp - 4], eax
call fcn.0040afc0
mov ebx, dword [ebp - 0x3c]
mov edi, ebx
jmp 0x422bbe
and dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
and dword [ebp - 0x1c], 0
and dword [ebp - 0x18], 0
push esi
call fcn.0040670f
mov byte [ebp - 4], 1
mov edx, edi
cmp dword [edi + 0x14], 8
jb 0x422b6c
mov edx, dword [edi]
lea ecx, [ebp - 0x2c]
call fcn.0040540d
lea ecx, [ebp - 0x2c]
call fcn.00422b15
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x422bb9
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422bb0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x422d66
push edx
push ecx
call fcn.0042f05f
pop ecx
pop ecx
push 0x18
pop eax
add edi, eax
cmp edi, dword [ebp - 0x38]
jne 0x422b49
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x48]
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.0040af3e
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x30], edi
cmp edi, dword [ebp - 0x44]
je 0x422c96
xor eax, eax
lea ecx, [ebp - 0x2c]
push esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.0040670f
mov eax, dword [ebp - 0x30]
mov edx, eax
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x422c10
mov edx, dword [eax]
lea ecx, [ebp - 0x2c]
call fcn.0040540d
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
test eax, eax
jne 0x422c47
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
push str.Failed_to_remove_temporary_file___s_.
call fcn.00404fce
pop ecx
pop ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x422c84
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422c7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x422d66
push edx
push ecx
call fcn.0042f05f
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
add eax, 0x18
mov dword [ebp - 0x30], eax
cmp eax, dword [ebp - 0x44]
jne 0x422beb
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x422ca0
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x422cc0
cmp dword [esi + 0x14], 8
jb 0x422cb3
mov esi, dword [esi]
push esi
push str.Failed_to_remove_temporary_directory___s_.
call fcn.00404fce
pop ecx
pop ecx
test edi, edi
je 0x422d10
mov esi, edi
cmp esi, dword [ebp - 0x44]
je 0x422cdf
push 0x18
pop ebx
mov ecx, esi
call fcn.004017e5
add esi, ebx
cmp esi, dword [ebp - 0x44]
jne 0x422cce
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
imul ecx, eax, 0x18
mov eax, edi
cmp ecx, 0x1000
jb 0x422d07
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x422d66
push ecx
push edi
call fcn.0042f05f
pop ecx
pop ecx
test ebx, ebx
je 0x422d60
mov esi, ebx
cmp esi, dword [ebp - 0x38]
je 0x422d2f
push 0x18
pop ebx
mov ecx, esi
call fcn.004017e5
add esi, ebx
cmp esi, dword [ebp - 0x38]
jne 0x422d1e
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
sub eax, ebx
push 0x18
cdq
pop ecx
idiv ecx
imul ecx, eax, 0x18
mov eax, ebx
cmp ecx, 0x1000
jb 0x422d57
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x422d66
push ecx
push ebx
call fcn.0042f05f
pop ecx
pop ecx
call fcn.004340f7
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3