Function at 0x456650
Capabilities:
Delete file
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x258
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], 0
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x24c], 0x6889d0
mov dword [ebp - 0x248], 1
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x23c], 0
lea ecx, [ebp - 0x21c]
call fcn.00413220
lea edx, [ebp - 0x258]
push edx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x456937
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x214]
call fcn.004131e0
push 3
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x214]
call fcn.0045e690
push eax
lea ecx, [ebp - 0x214]
call fcn.0040d360
lea ecx, [ebp - 0x230]
call fcn.00413870
lea ecx, [ebp - 0x214]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x456758
push 0x30
push 0x6889e4
push 0x6889ec
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45692c
mov dword [ebp - 0x218], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x238], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x22c], xmm0
push 0
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x214]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
cmp dword [ebp - 0x228], 0
jg 0x4567cc
jl 0x4567b1
cmp dword [ebp - 0x22c], 0x1f47d000
jae 0x4567cc
push 0x30
push 0x688a18
push 0x688a20
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x456911
cmp dword [ebp - 0x228], 0
jg 0x456808
jl 0x4567e3
cmp dword [ebp - 0x22c], 0x320c800
jae 0x456808
mov dword [ebp - 0x218], 0
push 0x30
push 0x688a58
push 0x688a60
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x456911
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x210]
call fcn.004131e0
lea ecx, [ebp - 0x210]
call fcn.0040dcd0
sub eax, 1
push eax
lea ecx, [ebp - 0x210]
call fcn.0045d050
movzx ecx, ax
cmp ecx, 0x5c
je 0x45685e
push 0x688a94
lea ecx, [ebp - 0x210]
call fcn.004318c0
push 0x688a98
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str.testwpcache.txt
lea ecx, [ebp - 0x210]
call fcn.00422310
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x210]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xffffffff
je 0x4568e6
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x210]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4568e4
push 0x10
push 0x688aac
push 0x688ab4
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x218], 0
jmp 0x456906
push 0x10
push 0x688aec
push 0x688af4
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x218], 0
lea ecx, [ebp - 0x210]
call fcn.00413870
cmp dword [ebp - 0x218], 0
je 0x45692c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00413a70
lea ecx, [ebp - 0x214]
call fcn.00413870
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00421650
lea ecx, [ebp - 0x21c]
call fcn.00413870
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret