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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x460
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x41c], ecx
lea ecx, [ebp - 0x424]
call fcn.00413220
push 0x20
push 0
lea eax, [ebp - 0x458]
push eax
call fcn.0063a460
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0063a460
add esp, 0xc
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], 0
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x450], ecx
mov ecx, dword [ebp + 0xc]
call fcn.0040d3c0
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], 1
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x43c], 0
lea edx, [ebp - 0x458]
push edx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
jne 0x576cff
jmp 0x576f95
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x418]
call fcn.004131e0
push 3
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x418]
call fcn.0045e690
push eax
lea ecx, [ebp - 0x418]
call fcn.0040d360
lea ecx, [ebp - 0x438]
call fcn.00413870
lea ecx, [ebp - 0x418]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x576d91
push 0
push 0x6a26c4
push 0x6a26cc
mov ecx, dword [ebp - 0x41c]
add ecx, 4
call fcn.00508c80
lea ecx, [ebp - 0x418]
call fcn.00413870
jmp 0x576f95
xorps xmm0, xmm0
movlpd qword [ebp - 0x460], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x434], xmm0
push 0
lea ecx, [ebp - 0x460]
push ecx
lea edx, [ebp - 0x434]
push edx
lea ecx, [ebp - 0x418]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
cmp dword [ebp - 0x430], 0
jg 0x576dfc
jl 0x576de0
cmp dword [ebp - 0x434], 0x1f47d000
jae 0x576dfc
push 0x30
push 0x6a26f8
push 0x6a2700
mov ecx, dword [ebp - 0x41c]
add ecx, 4
call fcn.00508c80
jmp 0x576e3d
cmp dword [ebp - 0x430], 0
jg 0x576e3d
jl 0x576e13
cmp dword [ebp - 0x434], 0x320c800
jae 0x576e3d
push 0x30
push 0x6a2738
push 0x6a2740
mov ecx, dword [ebp - 0x41c]
add ecx, 4
call fcn.00508c80
lea ecx, [ebp - 0x418]
call fcn.00413870
jmp 0x576f95
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x420]
call fcn.004131e0
lea ecx, [ebp - 0x420]
call fcn.0040dcd0
sub eax, 1
push eax
lea ecx, [ebp - 0x420]
call fcn.0045d050
movzx ecx, ax
cmp ecx, 0x5c
je 0x576e83
push 0x6a2774
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x208
push 0
lea eax, [ebp - 0x414]
push eax
call fcn.0063a460
add esp, 0xc
push 0x6a2778
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0xffffffff
jne 0x576f15
push 0x10
push 0x6a2798
push 0x6a27a0
mov ecx, dword [ebp - 0x41c]
add ecx, 4
call fcn.00508c80
lea ecx, [ebp - 0x420]
call fcn.00413870
lea ecx, [ebp - 0x418]
call fcn.00413870
jmp 0x576f95
mov ecx, dword [ebp - 0x42c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x576f65
push 0x10
push 0x6a27d4
push 0x6a27dc
mov ecx, dword [ebp - 0x41c]
add ecx, 4
call fcn.00508c80
lea ecx, [ebp - 0x420]
call fcn.00413870
lea ecx, [ebp - 0x418]
call fcn.00413870
jmp 0x576f95
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x424]
call fcn.00413a70
lea ecx, [ebp - 0x420]
call fcn.00413870
lea ecx, [ebp - 0x418]
call fcn.00413870
xor ecx, ecx
jne 0x576c64
lea edx, [ebp - 0x424]
push edx
mov ecx, dword [ebp + 8]
call fcn.00421650
lea ecx, [ebp - 0x424]
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 8