Function at 0x46085a
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc0
mov eax, dword [0x5a05c4]
mov esi, ecx
xor eax, ebp
mov dword [ebp - 0x10], eax
movzx eax, byte [ecx + 0x17]
test al, al
jns 0x46087d
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4608ab
lea edi, [esi + 0xc]
lea ebx, [ebp - 0x1c]
mov ecx, edi
push ebx
call fcn.0043ad30
push edi
call fcn.00452b10
add esp, 4
test al, al
je 0x4608f3
mov dword [ebp - 0xcc], 0
jmp 0x460983
push 2
call fcn.0043e5e0
add esp, 4
test al, al
je 0x4608ec
lea esi, [ebp - 0xc4]
mov ecx, esi
push 2
push 0x48
push str..._.._chrome_installer_util_self_cleaning_temp_dir.cc
call fcn.0043e680
lea eax, [ebp - 0xc0]
push 0x3a
push str.Attempting_to_Delete_an_uninitialized_SelfCleaningTempDir.
push eax
call fcn.004058b5
add esp, 0xc
mov ecx, esi
call fcn.0043ea30
xor ebx, ebx
jmp 0x460ab9
push 1
call fcn.0043e5e0
add esp, 4
test al, al
je 0x46096a
lea ecx, [ebp - 0xc4]
push 1
push 0x54
push str..._.._chrome_installer_util_self_cleaning_temp_dir.cc
call fcn.0043e680
lea eax, [ebp - 0xc0]
push 0x25
push str.Failed_to_delete_temporary_directory
push eax
call fcn.004058b5
add esp, 0xc
cmp byte [edi + 0xb], 0
mov dword [ebp - 0xc8], edi
jns 0x46093f
mov ecx, dword [ebp - 0xc8]
mov edi, dword [ecx]
push edi
push eax
call fcn.0043f290
add esp, 8
push 0x24
push str.._Scheduling_for_deletion_at_reboot.
push eax
call fcn.004058b5
add esp, 0xc
lea ecx, [ebp - 0xc4]
call fcn.0043ea30
mov edi, dword [ebp - 0xc8]
mov al, 1
mov dword [ebp - 0xcc], eax
push edi
call fcn.0045d18e
add esp, 4
test al, al
je 0x460aaf
mov al, byte [esi + 0xb]
test al, al
js 0x46098f
movzx ecx, al
jmp 0x460992
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x460a6e
mov dword [ebp - 0xc8], edi
lea edi, [ebp - 0xc4]
test byte [ebp - 0xcc], 1
jne 0x460a34
cmp byte [ebp - 0x11], 0
mov eax, ebx
jns 0x4609be
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x460a3d
mov al, 1
mov dword [ebp - 0xcc], eax
push 1
call fcn.0043e5e0
add esp, 4
test al, al
je 0x460a34
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x91
je 0x460a34
call fcn.0043ef80
mov ecx, edi
push eax
push 1
push 0x61
push str..._.._chrome_installer_util_self_cleaning_temp_dir.cc
call fcn.0043f140
push 0x19
push str.Error_removing_directory
lea eax, [ebp - 0xbc]
push eax
call fcn.004058b5
add esp, 0xc
cmp byte [ebp - 0x11], 0
mov ecx, ebx
jns 0x460a23
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.0043f290
add esp, 8
mov ecx, edi
call fcn.0043f200
push ebx
call fcn.0045cfdc
add esp, 4
mov ecx, ebx
push esi
call fcn.0043a570
test al, al
jne 0x460a65
mov ecx, ebx
push edi
call fcn.0043ad30
mov ecx, ebx
push edi
call fcn.0043a500
mov ecx, edi
call fcn.0043a4c0
jmp 0x4609a6
mov al, byte [esi + 0xb]
mov edi, dword [ebp - 0xc8]
test al, al
js 0x460a7d
mov word [esi], 0
mov byte [esi + 0xb], 0
jmp 0x460a8b
mov eax, dword [esi]
mov word [eax], 0
mov dword [esi + 4], 0
cmp byte [edi + 0xb], 0
js 0x460a9c
mov word [edi], 0
mov byte [edi + 0xb], 0
jmp 0x460aab
mov eax, dword [esi + 0xc]
mov word [eax], 0
mov dword [esi + 0x10], 0
mov bl, 1
jmp 0x460ab1
xor ebx, ebx
lea ecx, [ebp - 0x1c]
call fcn.0043a4c0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00527311
mov eax, ebx
add esp, 0xc0
pop esi
pop edi
pop ebx
pop ebp
ret