Function at 0x439240
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov eax, dword [0x4b13a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
cmp dword [edi + 0x28], ebx
jne 0x4392b7
call fcn.00447db0
cmp eax, 2
jg 0x439295
push 2
push 0x48
push str.c:_b_build_slavewin_build_srcchromeinstallerutil_self_cleaning_temp_dir.cc
lea ecx, [ebp - 0xec]
mov ebx, 1
call fcn.004472f0
add eax, 8
push str.Attempting_to_Delete_an_uninitialized_SelfCleaningTempDir.
push eax
call fcn.00404cd0
add esp, 8
test bl, 1
je 0x4392a5
lea ecx, [ebp - 0xec]
call fcn.00447510
pop edi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047cd41
mov esp, ebp
pop ebp
ret
push esi
lea esi, [edi + 0x18]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x3c], esi
push eax
mov ecx, esi
call fcn.004462c0
push 1
push esi
mov byte [ebp - 0x35], bl
call fcn.00448fa0
add esp, 8
test al, al
jne 0x43935f
call fcn.00447db0
cmp eax, 1
jg 0x439334
push 1
push 0x54
push str.c:_b_build_slavewin_build_srcchromeinstallerutil_self_cleaning_temp_dir.cc
lea ecx, [ebp - 0xec]
mov ebx, 2
call fcn.004472f0
add eax, 8
push str.Failed_to_delete_temporary_directory
push eax
call fcn.00404cd0
add esp, 8
cmp dword [esi + 0x14], 8
jb 0x43931d
mov ecx, dword [esi]
jmp 0x43931f
mov ecx, esi
push ecx
push eax
call fcn.00447950
push str.._Scheduling_for_deletion_at_reboot.
push eax
call fcn.00404cd0
add esp, 0x10
test bl, 2
je 0x439347
lea ecx, [ebp - 0xec]
and ebx, 0xfffffffd
call fcn.00447510
push esi
mov byte [ebp - 0x35], 1
call fcn.004302f0
add esp, 4
test al, al
jne 0x43935f
xor bl, bl
jmp 0x439465
cmp dword [edi + 0x10], 0
je 0x43943f
lea esp, [esp]
cmp byte [ebp - 0x35], 0
jne 0x439401
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x43940d
call fcn.00447db0
cmp eax, 1
jg 0x4393ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x91
je 0x4393ea
or ebx, 4
lea esi, [ebp - 0x1c]
cmp dword [ebp - 8], 8
cmovae esi, dword [ebp - 0x1c]
call sub.KERNEL32.dll_GetLastError
push eax
push 1
push 0x61
push str.c:_b_build_slavewin_build_srcchromeinstallerutil_self_cleaning_temp_dir.cc
lea ecx, [ebp - 0xf4]
call fcn.004474e0
push esi
add eax, 0x10
push str.Error_removing_directory
push eax
call fcn.00404cd0
add esp, 8
push eax
call fcn.00447950
add esp, 8
test bl, 4
je 0x4393fd
lea ecx, [ebp - 0xf4]
and ebx, 0xfffffffb
call fcn.00447780
mov byte [ebp - 0x35], 1
lea eax, [ebp - 0x1c]
push eax
call fcn.004306a0
add esp, 4
push edi
lea ecx, [ebp - 0x1c]
call fcn.00445a70
test al, al
jne 0x43943c
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004462c0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00445a50
lea ecx, [ebp - 0x34]
call fcn.00407ff0
jmp 0x439370
mov esi, dword [ebp - 0x3c]
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x43944e
mov edi, dword [edi]
xor eax, eax
mov word [edi], ax
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], eax
jb 0x43945e
mov esi, dword [esi]
xor eax, eax
mov bl, 1
mov word [esi], ax
lea ecx, [ebp - 0x1c]
call fcn.00407ff0
mov ecx, dword [ebp - 4]
mov al, bl
pop esi
pop edi
xor ecx, ebp
pop ebx
call fcn.0047cd41
mov esp, ebp
pop ebp
ret