Function at 0x4abe90
Capabilities:
Delete volume shadow copies

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ac4f7
sub esp, 0x3c
movzx edx, byte [esp + 0x50]
test dl, dl
je 0x4abebd
mov edx, dword [esp + 0x48]
test edx, edx
setl bl
jmp 0x4abec3
mov edx, dword [esp + 0x48]
xor ebx, ebx
test bl, bl
je 0x4abed8
xor ebp, ebp
mov edi, dword [esp + 0x44]
sub ebp, edi
mov edi, 0
sbb edi, edx
jmp 0x4abede
mov ebp, dword [esp + 0x44]
mov edi, edx
mov byte [esp + 0x13], bl
mov edx, dword [esp + 0x40]
mov eax, ebx
lea ebx, [edx + 0x18]
mov ecx, ebp
movzx ebp, byte [edx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4abf01
movzx ebp, byte [edx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4abf53
mov ebp, dword [edx + 0x10]
add ebp, dword [edx + 0x14]
add ebp, 3
cmp ebp, 0x44
jg 0x4abf16
mov ebp, 0x44
jmp 0x4abf58
mov dword [esp + 0x14], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edi
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447590
mov ebx, dword [esp + 0xc]
movzx eax, byte [esp + 0x13]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x14]
jmp 0x4abf58
mov ebp, 0x44
mov dword [esp + 0x24], ebp
mov esi, ebx
movzx ebx, byte [edx + 5]
test bl, bl
je 0x4abfbe
mov ebx, dword [edx + 0x14]
test ebx, ebx
jne 0x4abffe
test edi, edi
sete dl
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
jne 0x4abf8f
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
jmp 0x4abffe
mov eax, dword [esp + 0x40]
movzx ecx, byte [eax + 0xa]
mov byte [esp + 0x12], cl
mov byte [eax + 0xa], 0
mov edx, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004ab470
movzx eax, byte [esp + 0x12]
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0xa], al
add esp, 0x3c
ret
movzx ebx, byte [edx + 0xa]
test bl, bl
je 0x4abffc
movzx ebx, byte [edx + 4]
test bl, bl
je 0x4abffc
mov ebx, dword [edx + 0x10]
test al, al
jne 0x4abff3
movzx ebp, byte [edx + 7]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4abfe5
mov ebp, dword [esp + 0x24]
jmp 0x4abff3
movzx ebp, byte [edx + 9]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4abff6
mov ebp, dword [esp + 0x24]
dec ebx
jmp 0x4abffe
mov ebp, dword [esp + 0x24]
jmp 0x4abffe
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x4c]
cmp edx, 8
jg 0x4ac022
cmp edx, 2
je 0x4ac4af
cmp edx, 8
je 0x4ac44b
jmp 0x4ac314
cmp edx, 0xa
je 0x4ac347
cmp edx, 0x10
je 0x4ac062
jmp 0x4ac314
mov byte [ebp + esi - 1], bl
shr edx, 4
mov ebx, dword [esp + 0x38]
mov ebp, ebx
shl ebx, 0x1c
or ebx, edx
shr ebp, 4
mov edx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
mov ecx, ebx
mov ebx, dword [esp + 0x18]
mov ebx, edi
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], edi
test edi, edi
seta dl
cmp ecx, 0x10
setae bl
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
or edx, edi
test dl, dl
je 0x4ac0ab
mov edx, ecx
and ecx, 0xf
mov ebx, dword [esp + 0x5c]
cmp ebx, ecx
jbe 0x4ac30b
lea edi, [ebp - 1]
mov ebx, dword [esp + 0x58]
movzx ebx, byte [ecx + ebx]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
ja 0x4ac035
jmp 0x4ac304
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x4ac2f7
mov edx, dword [esp + 0x5c]
cmp edx, ecx
jbe 0x4ac2ee
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x58]
movzx edi, byte [edi + ecx]
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
jbe 0x4ac2e7
xchg edi, eax
mov byte [ebp + esi - 1], al
xchg edi, eax
mov ebp, dword [esp + 0x18]
jmp 0x4ac0f1
mov byte [ebx + esi - 1], 0x30
mov ebx, edx
mov edx, ecx
mov ecx, edi
test ebx, ebx
jle 0x4ac10b
mov edi, ecx
sub ecx, ebx
cmp ebp, ecx
jle 0x4ac10d
mov ecx, edx
lea edx, [ebx - 1]
cmp edi, edx
ja 0x4ac0e6
jmp 0x4ac2de
mov edi, ecx
mov ebp, dword [esp + 0x40]
mov ecx, ebp
movzx ebp, byte [ebp + 8]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ac1b4
mov ebp, dword [esp + 0x4c]
cmp ebp, 2
jne 0x4ac14c
lea edx, [ebx - 1]
cmp edi, edx
jbe 0x4ac2d5
mov byte [ebx + esi - 1], 0x62
lea edx, [ebx - 2]
cmp edi, edx
jbe 0x4ac2cc
mov byte [ebx + esi - 2], 0x30
jmp 0x4ac1b6
cmp ebp, 8
jne 0x4ac177
cmp ebx, edi
jae 0x4ac2c3
lea edx, [esi + ebx]
cmp byte [edx], 0x30
je 0x4ac173
lea edx, [ebx - 1]
cmp edi, edx
jbe 0x4ac2ba
mov byte [ebx + esi - 1], 0x30
jmp 0x4ac1b6
mov edx, ebx
jmp 0x4ac1b6
cmp ebp, 0x10
jne 0x4ac1b0
cmp edx, 0x10
jbe 0x4ac2ae
lea edx, [ebx - 1]
mov ebp, dword [esp + 0x58]
movzx ebp, byte [ebp + 0x10]
cmp edi, edx
jbe 0x4ac2a5
xchg ebp, eax
mov byte [ebx + esi - 1], al
xchg ebp, eax
lea edx, [ebx - 2]
cmp edi, edx
jbe 0x4ac29c
mov byte [ebx + esi - 2], 0x30
jmp 0x4ac1b6
mov edx, ebx
jmp 0x4ac1b6
mov edx, ebx
mov ebx, dword [esp + 0x54]
cmp ebx, 0x4f
jne 0x4ac1e3
lea ebx, [edx - 1]
cmp edi, ebx
jbe 0x4ac293
mov byte [edx + esi - 1], 0x6f
lea ebx, [edx - 2]
cmp edi, ebx
jbe 0x4ac28a
mov byte [edx + esi - 2], 0x30
test al, al
jmp 0x4ac1e7
test al, al
mov ebx, edx
je 0x4ac1fb
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ac283
mov byte [ebx + esi - 1], 0x2d
jmp 0x4ac229
movzx edx, byte [ecx + 7]
test dl, dl
je 0x4ac211
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ac27c
mov byte [ebx + esi - 1], 0x2b
jmp 0x4ac229
movzx edx, byte [ecx + 9]
test dl, dl
je 0x4ac227
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ac275
mov byte [ebx + esi - 1], 0x20
jmp 0x4ac229
mov eax, ebx
movzx edx, byte [ecx + 0xa]
mov byte [ecx + 0xa], 0
cmp eax, edi
ja 0x4ac26e
mov byte [esp + 0x11], dl
mov dword [esp], ecx
sub edi, eax
mov edx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call fcn.004ab5c0
movzx eax, byte [esp + 0x11]
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0xa], al
add esp, 0x3c
ret
mov ecx, edi
call fcn.0045f530
mov ecx, edi
call fcn.0045f4d0
mov ecx, edi
call fcn.0045f4d0
mov ecx, edi
call fcn.0045f4d0
mov eax, ebx
mov ecx, edi
call fcn.0045f4d0
mov eax, ebx
mov ecx, edi
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, 0x10
mov ecx, edx
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, ebx
mov ecx, edi
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, edx
mov ecx, edi
call fcn.0045f4d0
mov eax, ebx
call fcn.0045f4d0
mov eax, ecx
mov ecx, edx
call fcn.0045f4e0
mov esi, edx
mov eax, ecx
mov ecx, dword [esp + 0x5c]
call fcn.0045f5a0
mov eax, edi
call fcn.0045f4d0
mov eax, ecx
mov ecx, ebx
call fcn.0045f4e0
lea eax, [0x5474c0]
mov dword [esp], eax
lea eax, [0x59a414]
mov dword [esp + 4], eax
call fcn.00433350
mov byte [edx + esi - 1], al
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + 0x13]
mov edx, dword [esp + 0x4c]
mov edi, ebx
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], ebp
test edi, edi
seta dl
cmp ecx, 0xa
setae bl
test edi, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or edx, ebp
test dl, dl
je 0x4ac418
mov dword [esp + 0x30], ecx
mov eax, 0xcccccccd
mul edi
shr edx, 3
mov dword [esp + 0x38], edx
lea ebp, [edx + edx*4]
shl ebp, 1
sub edi, ebp
mov eax, 0x19999999
mul edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
mov eax, ecx
mov ebx, 0xcccccccd
mul ebx
shr edx, 3
mov eax, edx
add edx, 0
mov dword [esp + 0x28], edx
mov ebp, dword [esp + 0x2c]
add edx, ebp
lea edi, [edi + edi*2]
lea ebp, [eax + eax*4]
shl ebp, 1
sub ecx, ebp
lea ebp, [ecx + edi*2]
mov ecx, eax
mov eax, ebx
mov edi, edx
mul ebp
shr edx, 3
mov ebp, edx
add edx, edi
mov dword [esp + 0x1c], edx
mov eax, edx
mov ebx, 0xa
mul ebx
mov edx, dword [esp + 0x30]
sub edx, eax
add edx, 0x30
add ecx, 0
mov ebx, dword [esp + 0x38]
adc ebx, 0
mov eax, edx
mov edx, dword [esp + 0x28]
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov edx, dword [esp + 0x34]
adc ebx, edx
add ecx, edi
adc ebx, 0
mov edx, dword [esp + 0x20]
lea ebp, [edx - 1]
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
ja 0x4ac32c
jmp 0x4ac423
mov ebp, dword [esp + 0x20]
mov edx, edi
jmp 0x4ac0af
mov eax, ebp
call fcn.0045f4d0
mov byte [ebp + esi - 1], cl
shr edx, 3
mov ecx, dword [esp + 0x38]
mov ebp, ecx
shl ecx, 0x1d
or ecx, edx
shr ebp, 3
mov edx, dword [esp + 0x4c]
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], edi
cmp ecx, 8
setae dl
test edi, edi
sete bl
xchg edi, ebx
seta bl
xchg edi, ebx
and ebx, edx
or ebx, edi
test bl, bl
je 0x4ac47e
mov edx, ecx
and ecx, 7
add ecx, 0x30
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x24]
cmp edi, ebx
ja 0x4ac42a
jmp 0x4ac487
mov edx, dword [esp + 0x38]
jmp 0x4ac0af
mov eax, ebx
mov ecx, edi
call fcn.0045f4d0
mov byte [ebp + esi - 1], cl
shr edx, 1
mov ecx, dword [esp + 0x38]
mov ebp, ecx
shl ecx, 0x1f
or ecx, edx
shr ebp, 1
mov edx, dword [esp + 0x4c]
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], edi
cmp ecx, 2
setae dl
test edi, edi
sete bl
xchg edi, ebx
seta bl
xchg edi, ebx
and ebx, edx
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4ac4e4
mov edx, ecx
and ecx, 1
add ecx, 0x30
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x24]
cmp edi, ebx
ja 0x4ac490
jmp 0x4ac4ed
mov edx, dword [esp + 0x38]
jmp 0x4ac0af
mov eax, ebx
mov ecx, edi
call fcn.0045f4d0
nop
call fcn.0045e080
jmp fcn.004abe90