Function at 0x4d219a
Capabilities:
Delete directory

Disassembly:
push 0xa4
mov eax, 0x51517c
call fcn.005060cc
mov ebx, ecx
mov ecx, dword [ebx + 4]
xor edx, edx
inc edx
cmp ecx, edx
je 0x4d25fa
cmp ecx, 2
je 0x4d25fa
cmp ecx, 0x1b
je 0x4d24a5
cmp ecx, 0x1c
je 0x4d24a5
push 7
lea eax, [ecx - 3]
pop esi
cmp eax, esi
ja 0x4d2258
lea eax, [ebp - 0xa8]
mov ecx, ebx
push eax
call fcn.004d191e
mov ecx, dword [eax]
call fcn.00424b0f
mov edx, dword [ebp - 0xa8]
or esi, 0xffffffff
mov edi, eax
add edx, 0xfffffff0
mov ecx, esi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4d2215
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, ebx
call fcn.004169ca
test eax, eax
jne 0x4d2251
lea eax, [ebp - 0xa8]
mov ecx, ebx
push eax
call fcn.004d198b
push dword [eax]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x4d2251
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
jmp 0x4d2693
cmp ecx, 0x10
jne 0x4d22a4
lea eax, [ebp - 0xa8]
mov ecx, ebx
push eax
call fcn.004d1a55
mov ecx, dword [eax]
test ecx, ecx
je 0x4d227d
push 3
pop edx
call fcn.004c4cf5
mov esi, eax
jmp 0x4d227f
xor esi, esi
mov edx, dword [ebp - 0xa8]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4d229d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
jmp 0x4d2693
cmp ecx, 0x11
je 0x4d2471
cmp ecx, 0x12
je 0x4d2471
cmp ecx, 0x15
je 0x4d2471
cmp ecx, 0x16
je 0x4d2471
cmp ecx, 0x19
je 0x4d2471
cmp ecx, 0x1a
je 0x4d2471
cmp ecx, 0x13
je 0x4d241c
cmp ecx, 0x14
je 0x4d241c
cmp ecx, 0x17
je 0x4d2395
cmp ecx, 0x18
je 0x4d2395
cmp ecx, 0x1d
je 0x4d230f
cmp ecx, 0x1e
je 0x4d230f
xor eax, eax
jmp 0x4d2693
cmp dword [0xd5b274], 0
jne 0x4d235f
push 0x90
lea eax, [ebp - 0xa0]
mov dword [0xd5b274], edx
push 0
push eax
mov dword [ebp - 0xa4], 0x94
call fcn.004f1a90
add esp, 0xc
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
imul eax, dword [ebp - 0xa0], 0xa
add eax, dword [ebp - 0x9c]
mov dword [0xd5b270], eax
jmp 0x4d2364
mov eax, dword [0xd5b270]
push 0x20
pop ecx
push 0x5c
pop edx
cmp eax, 0x3c
cmovge ecx, edx
add ecx, ebx
push ecx
mov esi, esp
mov dword [ebp - 0xa8], esi
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
call fcn.004c30f8
pop ecx
jmp 0x4d2693
mov edi, dword [ebx + 8]
push ecx
mov eax, esp
mov dword [ebp - 0xa8], esp
push eax
mov ecx, ebx
call fcn.004d1a87
push ecx
mov dword [ebp - 4], esi
mov ecx, ebx
mov esi, esp
call fcn.004169ca
test eax, eax
mov edx, str.AnVirDisabled
mov ecx, 0x51e784
cmove ecx, edx
mov edx, 0xd5af20
push ecx
mov ecx, esi
call fcn.00405cb9
or dword [ebp - 4], 0xffffffff
mov edx, edi
pop ecx
mov ecx, dword [ebx + 0x2c]
call fcn.00414f9c
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0xa8], ecx
mov ecx, ebx
call fcn.004169ca
test eax, eax
jne 0x4d268d
mov esi, dword [ebx + 8]
mov edx, 0xd5af20
push ecx
mov ecx, esp
push str.AnVirDisabled
call fcn.00405cb9
pop ecx
mov edx, esi
jmp 0x4d2684
mov edi, dword [ebx + 8]
push ecx
mov eax, esp
mov dword [ebp - 0xac], esp
push eax
mov ecx, ebx
call fcn.004d1a87
push ecx
mov dword [ebp - 4], 6
mov esi, esp
mov dword [ebp - 0xa8], esi
mov ecx, dword [0xd5af18]
lea ecx, [ecx - 0x10]
call fcn.004098e7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov ecx, dword [ebx + 0x2c]
call fcn.00414f9c
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4d2693
mov esi, dword [ebx + 8]
push ecx
mov eax, esp
mov dword [ebp - 0xac], esp
push eax
mov ecx, ebx
call fcn.004d1a87
push ecx
push esp
mov ecx, ebx
mov dword [ebp - 4], 5
call fcn.004d1abc
mov ecx, dword [ebx + 0x2c]
mov edx, esi
or dword [ebp - 4], 0xffffffff
call fcn.00415099
jmp 0x4d2461
and dword [ebp - 0xa8], 0
mov edi, dword [ebx + 0x3c]
cmp edi, edx
je 0x4d2599
cmp edi, 2
je 0x4d2547
lea eax, [edi - 3]
cmp eax, 4
ja 0x4d265b
push dword [ebx + 8]
push ecx
mov esi, esp
mov dword [ebp - 0xac], esp
mov dword [ebp - 0xa8], esi
mov ecx, dword [ebx + 0x24]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov dword [ebp - 4], 3
mov esi, esp
mov dword [ebp - 0xb0], esi
mov ecx, dword [ebx + 0x38]
sub ecx, 0x10
mov dword [ebp - 0xa8], esp
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 4
mov esi, esp
mov dword [ebp - 0xb0], esi
mov ecx, dword [ebx + 0x30]
sub ecx, 0x10
call fcn.004098e7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov ecx, dword [ebx + 0x2c]
call fcn.0041383a
add esp, 0x10
jmp 0x4d25eb
mov edi, dword [ebx + 8]
push ecx
mov esi, esp
mov dword [ebp - 0xb0], esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x38]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov dword [ebp - 4], 2
mov esi, esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x30]
sub ecx, 0x10
call fcn.004098e7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov ecx, dword [ebx + 0x2c]
call fcn.00414f9c
jmp 0x4d25e9
mov edi, dword [ebx + 8]
push ecx
mov esi, esp
mov dword [ebp - 0xb0], esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x34]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov dword [ebp - 4], 1
mov esi, esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x30]
sub ecx, 0x10
call fcn.004098e7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov ecx, dword [ebx + 0x2c]
call fcn.00415099
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0xa8], ecx
jmp 0x4d265b
mov edi, dword [ebx + 8]
push ecx
mov esi, esp
mov dword [ebp - 0xb0], esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x20]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov dword [esi], eax
and dword [ebp - 4], 0
push ecx
mov esi, esp
mov dword [ebp - 0xac], esi
mov ecx, dword [ebx + 0x30]
sub ecx, 0x10
call fcn.004098e7
or dword [ebp - 4], 0xffffffff
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov ecx, dword [ebx + 0x2c]
call fcn.00414f9c
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
sete cl
cmp dword [ebx], 0
mov dword [ebp - 0xa8], ecx
jne 0x4d2666
mov ecx, ebx
call fcn.004169ca
test eax, eax
jne 0x4d268d
mov edi, dword [ebx + 8]
push ecx
mov esi, esp
mov dword [ebp - 0xb0], esi
mov ecx, dword [ebx + 0x30]
sub ecx, 0x10
call fcn.004098e7
add eax, 0x10
mov edx, edi
mov dword [esi], eax
mov ecx, dword [ebx + 0x2c]
call fcn.00415189
pop ecx
mov eax, dword [ebp - 0xa8]
call fcn.00506076
ret