Function at 0x40dd90
Capabilities:
Delete volume shadow copies

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40e070
sub esp, 0x30
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40e057
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40e041
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 0x40de3d
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.0040a8f0
mov eax, dword [0x67e2d0]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x40de29
mov edx, dword [esp + 0x38]
mov dword [edx + 0xc], ecx
jmp 0x40de37
mov edx, dword [esp + 0x38]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.0045f450
mov eax, dword [esp + 0x14]
mov ecx, edx
mov edx, dword [esp + 0x34]
jmp 0x40de65
mov dword [esp], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0040d080
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 0x40dea4
mov dword [esp + 0x18], ebx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0040e080
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 0x40df2c
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x40dfab
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 0x40df03
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 0x40de43
mov ebx, ecx
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
movzx esi, word [ebp + 6]
cmp bl, 0xf
jbe 0x40df11
mov ebx, 0xf
and ebx, 0xf
mov ecx, ebx
mov ebp, 1
shl ebp, cl
cmp si, bp
jae 0x40de43
jmp 0x40df9f
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
jmp 0x40df5a
mov ebp, ebx
lea ebx, [ebx + esi - 4]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x40df28
jmp 0x40deb8
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 0x40df3c
test byte [ebx], al
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x40df83
test ecx, ecx
jne 0x40df78
mov ecx, ebx
mov edi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x40df4d
jmp 0x40deba
mov esi, ebx
lea ebx, [ebx + ebp*4 + 8]
mov ebx, dword [ebx]
cmp dword [esp + 0x3c], ebx
je 0x40df95
mov ebx, esi
jmp 0x40df4d
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
jmp 0x40e009
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
test ecx, ecx
jne 0x40dfd1
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0040bb30
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 0x40dfdc
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 [0x67e2d0]
mov eax, dword [esp + 0x3c]
test ecx, ecx
jne 0x40e001
mov dword [edi], eax
jmp 0x40e006
call fcn.0045f450
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 0x40e02b
and ecx, 0xfffffffb
mov byte [ebp + 4], cl
mov dword [esp + 0x40], eax
add esp, 0x30
ret
lea eax, [0x560a68]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00433a80
lea eax, [0x560a68]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00433a80
lea eax, [0x54a860]
mov dword [esp], eax
lea eax, [0x59a674]
mov dword [esp + 4], eax
call fcn.00433350
nop
call fcn.0045e080
jmp fcn.0040dd90