Function at 0x40ddc0
Capabilities:
Delete volume shadow copies

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40e0a0
sub esp, 0x30
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40e087
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40e071
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [edx]
mov ebp, dword [eax + 8]
lea esi, [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], ebp
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x38]
movzx ebx, byte [ecx + 4]
xor ebx, 4
mov byte [ecx + 4], bl
mov ebx, dword [ecx + 0xc]
test ebx, ebx
jne 0x40de6d
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.0040a920
mov eax, dword [0x6573b0]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x40de59
mov edx, dword [esp + 0x38]
mov dword [edx + 0xc], ecx
jmp 0x40de67
mov edx, dword [esp + 0x38]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.0045f3d0
mov eax, dword [esp + 0x14]
mov ecx, edx
mov edx, dword [esp + 0x34]
jmp 0x40de95
mov dword [esp], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0040d0b0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x34]
movzx ebx, byte [ecx + 5]
mov ebp, ecx
mov ecx, ebx
mov esi, 1
shl esi, cl
lea ebx, [esi - 1]
and ebx, eax
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40ded4
mov dword [esp + 0x18], ebx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0040e0b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
movzx esi, word [edx + 0x32]
mov dword [esp + 0x1c], esi
imul ebx, esi
add ebx, dword [ebp + 0xc]
xor ecx, ecx
xor edi, edi
jmp 0x40df5c
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x40dfdb
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
mov esi, dword [ebp]
inc esi
movzx ebx, byte [ebp + 5]
cmp esi, 8
jle 0x40df33
mov ecx, ebx
mov ebp, 1
shl ebp, cl
shr ebp, 1
lea ebx, [ebp + ebp*2]
lea ebx, [ebp + ebx*4]
cmp ebx, esi
jb 0x40de73
mov ebx, ecx
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
movzx esi, word [ebp + 6]
cmp bl, 0xf
jbe 0x40df41
mov ebx, 0xf
and ebx, 0xf
mov ecx, ebx
mov ebp, 1
shl ebp, cl
cmp si, bp
jae 0x40de73
jmp 0x40dfcf
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
jmp 0x40df8a
mov ebp, ebx
lea ebx, [ebx + esi - 4]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x40df58
jmp 0x40dee8
inc ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
mov ebp, dword [esp + 0x10]
cmp ebp, 8
jae 0x40df6c
test byte [ebx], al
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x40dfb3
test ecx, ecx
jne 0x40dfa8
mov ecx, ebx
mov edi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x40df7d
jmp 0x40deea
mov esi, ebx
lea ebx, [ebx + ebp*4 + 8]
mov ebx, dword [ebx]
cmp dword [esp + 0x3c], ebx
je 0x40dfc5
mov ebx, esi
jmp 0x40df7d
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
jmp 0x40e039
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
test ecx, ecx
jne 0x40e001
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0040bb60
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
xor edi, edi
shr eax, 0x18
cmp al, 5
jae 0x40e00c
add eax, 5
test byte [ecx], al
mov ebx, edi
and edi, 7
mov byte [ecx + edi], al
mov esi, ecx
lea edi, [ecx + ebx*4 + 8]
test byte [edi], al
nop
mov ecx, dword [0x6573b0]
mov eax, dword [esp + 0x3c]
test ecx, ecx
jne 0x40e031
mov dword [edi], eax
jmp 0x40e036
call fcn.0045f3d0
inc dword [ebp]
movzx eax, byte [edx + 0x31]
imul eax, ebx
movzx ecx, byte [ebp + 4]
lea eax, [eax + esi + 0x28]
test cl, 4
je 0x40e05b
and ecx, 0xfffffffb
mov byte [ebp + 4], cl
mov dword [esp + 0x40], eax
add esp, 0x30
ret
lea eax, [0x54c432]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00433a00
lea eax, [0x54c432]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00433a00
lea eax, [0x537fa0]
mov dword [esp], eax
lea eax, [0x57d96c]
mov dword [esp + 4], eax
call fcn.004332d0
nop
call fcn.0045e000
jmp fcn.0040ddc0