Function at 0x52e820
Capabilities:
Delete volume shadow copies

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52ece4
sub esp, 0x48
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x52e8dc
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
jg 0x52eccb
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
je 0x52e880
nop
mov esi, ebp
mov eax, esi
lea esi, [ebx + ecx - 1]
cmp esi, ebp
jb 0x52e87e
mov ebp, ebx
lea esi, [eax + ecx - 1]
cmp esi, ebx
jae 0x52ecb3
mov ebx, ebp
mov ebp, eax
jmp 0x52e880
mov ebp, eax
mov esi, dword [esp + 0x4c]
mov eax, ebp
mov ebp, dword [esi + 0x70]
test ebp, ebp
je 0x52e8d2
mov edx, ebx
lea ebx, [ebp - 0x40]
neg ebx
cmp ebx, 0x40
ja 0x52eca7
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
lea ebx, [ebp + esi + 0x30]
cmp ecx, edi
jge 0x52e8b6
mov ebp, ecx
jmp 0x52e8ba
mov ebp, ecx
mov ecx, edi
mov edi, esi
lea esi, [ecx - 1]
cmp ebp, esi
jbe 0x52ec9e
mov dword [esp + 0x34], ebx
xor esi, esi
jmp 0x52ec4e
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x58]
jmp 0x52e8e0
add esp, 0x48
ret
test ecx, ecx
je 0x52ebf2
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov edi, ecx
add ecx, 0x3f
sar edi, 0x1f
mov ebx, dword [esp + 0x2c]
add ebx, 0x3f
adc edi, 0
shr ecx, 6
mov ebx, edi
shl edi, 0x1a
or ecx, edi
mov edi, ebp
movzx ebp, byte [esi + 0x74]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x52ec20
mov dword [esp + 0x28], ecx
mov ebp, dword [esi + 0x20]
add ecx, ebp
shr ebx, 6
mov esi, dword [esp + 0x28]
add esi, ebp
adc ebx, 0
cmp ebx, 1
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x52ec20
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x52e96e
mov ebx, dword [esp + 0x4c]
mov byte [ebx + 0x74], 1
jmp 0x52e972
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
mov ebp, ecx
and ecx, 0x3f
mov esi, ebp
sub ebp, ecx
test ebp, ebp
jle 0x52e9df
cmp edi, ebp
jb 0x52ec17
cmp edx, ebp
jb 0x52ec10
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], eax
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
call fcn.0052ecf0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
cmp esi, ebp
jb 0x52ec07
mov ecx, esi
sub esi, ebp
mov dword [esp + 0x2c], esi
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
lea esi, [eax + edi]
cmp ecx, ebp
jb 0x52ec00
mov dword [esp + 0x44], esi
mov ecx, dword [ebx + 0x20]
add ecx, 1
mov eax, 0
adc eax, 0
test ecx, ecx
seta cl
cmp eax, 1
mov eax, esi
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, ebx
seta bl
sub edx, ebp
neg edx
sar edx, 0x1f
and edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
and esi, ecx
or ebx, esi
test bl, bl
je 0x52eb2f
lea ecx, [edi + 0x30]
mov ebx, edi
mov edi, ecx
mov ebp, eax
xor eax, eax
call fcn.0045f670
mov ecx, dword [esp + 0x2c]
lea esi, [ecx + 0x3f]
sar esi, 0x1f
shr esi, 0x1a
lea esi, [esi + ecx + 0x3f]
sar esi, 6
shl esi, 6
lea eax, [esi - 0x40]
neg eax
cmp eax, 0x40
ja 0x52ebf6
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
lea eax, [esi + ebx + 0x30]
cmp edi, ecx
jle 0x52ea98
mov esi, ecx
jmp 0x52ea9c
mov esi, ecx
mov ecx, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], eax
cmp eax, edx
je 0x52eac4
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fd70
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
call fcn.0052ecf0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jge 0x52eaf4
mov ecx, eax
jmp 0x52eafa
mov ecx, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
je 0x52eb22
mov dword [esp + 0x2c], eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0045fd70
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x70], ecx
add esp, 0x48
ret
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x52ebee
lea ebx, [edi + 0x30]
mov ebp, edi
mov edi, ebx
mov esi, eax
xor eax, eax
call fcn.0045f670
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x40
jge 0x52eb58
mov eax, ecx
jmp 0x52eb5f
mov eax, ecx
mov ecx, 0x40
mov dword [esp + 0x40], ebx
cmp ebx, edx
je 0x52eb7f
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fd70
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
nop
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], 0x40
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x18], 0x40
call fcn.0052ecf0
mov eax, dword [esp + 0x2c]
cmp eax, 0x40
jle 0x52ebbe
mov eax, 0x40
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
cmp ecx, edx
je 0x52ebe2
mov dword [esp + 0x2c], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd70
mov eax, dword [esp + 0x2c]
add eax, 0xffffffc0
neg eax
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x70], eax
add esp, 0x48
ret
add esp, 0x48
ret
mov ecx, 0x40
call fcn.0045f530
mov eax, ebp
call fcn.0045f530
mov eax, ebp
mov ecx, esi
call fcn.0045f530
mov ecx, ebp
call fcn.0045f510
mov ecx, ebp
mov edx, edi
call fcn.0045f510
lea eax, [0x5474c0]
mov dword [esp], eax
lea eax, [0x59a45c]
mov dword [esp + 4], eax
call fcn.00433350
movzx edi, byte [edx + esi]
xor edi, ebx
xchg edi, ebx
mov byte [eax + esi], bl
xchg edi, ebx
inc esi
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
cmp esi, ecx
jge 0x52ec5c
movzx ebx, byte [esi + ebx]
cmp ebp, esi
ja 0x52ec38
jmp 0x52ec95
sub dword [edi + 0x70], ecx
mov ebx, dword [esp + 0x58]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
add eax, ebx
sub ebp, ecx
mov ebx, dword [esp + 0x64]
sub ebx, ecx
mov dword [esp + 0x2c], ebx
neg ebx
sar ebx, 0x1f
and ecx, ebx
lea ebx, [edx + ecx]
mov ecx, ebp
mov edx, dword [esp + 0x2c]
mov ebp, esi
mov esi, edi
jmp 0x52e8e0
mov eax, esi
mov ecx, ebp
call fcn.0045f4d0
mov eax, esi
mov ecx, ebp
call fcn.0045f4d0
mov eax, ebx
mov ecx, 0x40
call fcn.0045f530
lea eax, [0x5474c0]
mov dword [esp], eax
lea eax, [0x59a454]
mov dword [esp + 4], eax
call fcn.00433350
lea eax, [0x5474c0]
mov dword [esp], eax
lea eax, [0x59a44c]
mov dword [esp + 4], eax
call fcn.00433350
nop
call fcn.0045e080
jmp fcn.0052e820