Function at 0x4ab230
Capabilities:
Delete volume shadow copies

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ab897
sub esp, 0x3c
movzx edx, byte [esp + 0x50]
test dl, dl
je 0x4ab25d
mov edx, dword [esp + 0x48]
test edx, edx
setl bl
jmp 0x4ab263
mov edx, dword [esp + 0x48]
xor ebx, ebx
test bl, bl
je 0x4ab278
xor ebp, ebp
mov edi, dword [esp + 0x44]
sub ebp, edi
mov edi, 0
sbb edi, edx
jmp 0x4ab27e
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 0x4ab2a1
movzx ebp, byte [edx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ab2f3
mov ebp, dword [edx + 0x10]
add ebp, dword [edx + 0x14]
add ebp, 3
cmp ebp, 0x44
jg 0x4ab2b6
mov ebp, 0x44
jmp 0x4ab2f8
mov dword [esp + 0x14], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edi
lea eax, [0x535200]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447510
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 0x4ab2f8
mov ebp, 0x44
mov dword [esp + 0x24], ebp
mov esi, ebx
movzx ebx, byte [edx + 5]
test bl, bl
je 0x4ab35e
mov ebx, dword [edx + 0x14]
test ebx, ebx
jne 0x4ab39e
test edi, edi
sete dl
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
jne 0x4ab32f
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
jmp 0x4ab39e
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.004aa810
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 0x4ab39c
movzx ebx, byte [edx + 4]
test bl, bl
je 0x4ab39c
mov ebx, dword [edx + 0x10]
test al, al
jne 0x4ab393
movzx ebp, byte [edx + 7]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ab385
mov ebp, dword [esp + 0x24]
jmp 0x4ab393
movzx ebp, byte [edx + 9]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ab396
mov ebp, dword [esp + 0x24]
dec ebx
jmp 0x4ab39e
mov ebp, dword [esp + 0x24]
jmp 0x4ab39e
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x4c]
cmp edx, 8
jg 0x4ab3c2
cmp edx, 2
je 0x4ab84f
cmp edx, 8
je 0x4ab7eb
jmp 0x4ab6b4
cmp edx, 0xa
je 0x4ab6e7
cmp edx, 0x10
je 0x4ab402
jmp 0x4ab6b4
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 0x4ab44b
mov edx, ecx
and ecx, 0xf
mov ebx, dword [esp + 0x5c]
cmp ebx, ecx
jbe 0x4ab6ab
lea edi, [ebp - 1]
mov ebx, dword [esp + 0x58]
movzx ebx, byte [ecx + ebx]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
ja 0x4ab3d5
jmp 0x4ab6a4
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x4ab697
mov edx, dword [esp + 0x5c]
cmp edx, ecx
jbe 0x4ab68e
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x58]
movzx edi, byte [edi + ecx]
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
jbe 0x4ab687
xchg edi, eax
mov byte [ebp + esi - 1], al
xchg edi, eax
mov ebp, dword [esp + 0x18]
jmp 0x4ab491
mov byte [ebx + esi - 1], 0x30
mov ebx, edx
mov edx, ecx
mov ecx, edi
test ebx, ebx
jle 0x4ab4ab
mov edi, ecx
sub ecx, ebx
cmp ebp, ecx
jle 0x4ab4ad
mov ecx, edx
lea edx, [ebx - 1]
cmp edi, edx
ja 0x4ab486
jmp 0x4ab67e
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 0x4ab554
mov ebp, dword [esp + 0x4c]
cmp ebp, 2
jne 0x4ab4ec
lea edx, [ebx - 1]
cmp edi, edx
jbe 0x4ab675
mov byte [ebx + esi - 1], 0x62
lea edx, [ebx - 2]
cmp edi, edx
jbe 0x4ab66c
mov byte [ebx + esi - 2], 0x30
jmp 0x4ab556
cmp ebp, 8
jne 0x4ab517
cmp ebx, edi
jae 0x4ab663
lea edx, [esi + ebx]
cmp byte [edx], 0x30
je 0x4ab513
lea edx, [ebx - 1]
cmp edi, edx
jbe 0x4ab65a
mov byte [ebx + esi - 1], 0x30
jmp 0x4ab556
mov edx, ebx
jmp 0x4ab556
cmp ebp, 0x10
jne 0x4ab550
cmp edx, 0x10
jbe 0x4ab64e
lea edx, [ebx - 1]
mov ebp, dword [esp + 0x58]
movzx ebp, byte [ebp + 0x10]
cmp edi, edx
jbe 0x4ab645
xchg ebp, eax
mov byte [ebx + esi - 1], al
xchg ebp, eax
lea edx, [ebx - 2]
cmp edi, edx
jbe 0x4ab63c
mov byte [ebx + esi - 2], 0x30
jmp 0x4ab556
mov edx, ebx
jmp 0x4ab556
mov edx, ebx
mov ebx, dword [esp + 0x54]
cmp ebx, 0x4f
jne 0x4ab583
lea ebx, [edx - 1]
cmp edi, ebx
jbe 0x4ab633
mov byte [edx + esi - 1], 0x6f
lea ebx, [edx - 2]
cmp edi, ebx
jbe 0x4ab62a
mov byte [edx + esi - 2], 0x30
test al, al
jmp 0x4ab587
test al, al
mov ebx, edx
je 0x4ab59b
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ab623
mov byte [ebx + esi - 1], 0x2d
jmp 0x4ab5c9
movzx edx, byte [ecx + 7]
test dl, dl
je 0x4ab5b1
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ab61c
mov byte [ebx + esi - 1], 0x2b
jmp 0x4ab5c9
movzx edx, byte [ecx + 9]
test dl, dl
je 0x4ab5c7
lea eax, [ebx - 1]
cmp edi, eax
jbe 0x4ab615
mov byte [ebx + esi - 1], 0x20
jmp 0x4ab5c9
mov eax, ebx
movzx edx, byte [ecx + 0xa]
mov byte [ecx + 0xa], 0
cmp eax, edi
ja 0x4ab60e
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.004aa960
movzx eax, byte [esp + 0x11]
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0xa], al
add esp, 0x3c
ret
mov ecx, edi
call fcn.0045f4b0
mov ecx, edi
call fcn.0045f450
mov ecx, edi
call fcn.0045f450
mov ecx, edi
call fcn.0045f450
mov eax, ebx
mov ecx, edi
call fcn.0045f450
mov eax, ebx
mov ecx, edi
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, 0x10
mov ecx, edx
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, ebx
mov ecx, edi
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, edx
mov ecx, edi
call fcn.0045f450
mov eax, ebx
call fcn.0045f450
mov eax, ecx
mov ecx, edx
call fcn.0045f460
mov esi, edx
mov eax, ecx
mov ecx, dword [esp + 0x5c]
call fcn.0045f510
mov eax, edi
call fcn.0045f450
mov eax, ecx
mov ecx, ebx
call fcn.0045f460
lea eax, [0x535040]
mov dword [esp], eax
lea eax, [0x57d6e4]
mov dword [esp + 4], eax
call fcn.004332d0
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 0x4ab7b8
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 0x4ab6cc
jmp 0x4ab7c3
mov ebp, dword [esp + 0x20]
mov edx, edi
jmp 0x4ab44f
mov eax, ebp
call fcn.0045f450
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 0x4ab81e
mov edx, ecx
and ecx, 7
add ecx, 0x30
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x24]
cmp edi, ebx
ja 0x4ab7ca
jmp 0x4ab827
mov edx, dword [esp + 0x38]
jmp 0x4ab44f
mov eax, ebx
mov ecx, edi
call fcn.0045f450
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 0x4ab884
mov edx, ecx
and ecx, 1
add ecx, 0x30
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x24]
cmp edi, ebx
ja 0x4ab830
jmp 0x4ab88d
mov edx, dword [esp + 0x38]
jmp 0x4ab44f
mov eax, ebx
mov ecx, edi
call fcn.0045f450
nop
call fcn.0045e000
jmp fcn.004ab230