Function at 0x41f800
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ccd38
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x50d4cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ecx, 0x518e58
call fcn.0041dbb0
push dword [ebp - 0x18]
mov edx, dword [0x518ee8]
push ecx
mov ecx, dword [0x518ee4]
call fcn.00420690
mov eax, dword [0x518ee4]
add esp, 8
mov ecx, edi
mov dword [0x518ee8], eax
push str.version
call fcn.004c1b60
test al, al
je 0x41f8d9
push 0x4df3d0
push str.version
mov edx, edi
lea ecx, [ebp - 0x74]
call fcn.0041d820
mov esi, eax
add esp, 8
cmp esi, 0x518ef4
je 0x41f8c8
cmp dword [0x518f08], 0x10
jb 0x41f8a2
push dword [0x518ef4]
call fcn.0048b08b
add esp, 4
push esi
mov ecx, 0x518ef4
mov dword [0x518f08], 0xf
mov dword [0x518f04], 0
mov byte [0x518ef4], 0
call fcn.00424840
cmp dword [ebp - 0x60], 0x10
jb 0x41f8d9
push dword [ebp - 0x74]
call fcn.0048b08b
add esp, 4
lea eax, [ebp - 0x4c]
mov ecx, str.1.1.0.0
mov dword [ebp - 0x5c], eax
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004207a0
lea eax, [ebp - 0x2c]
add esp, 0xc
cmp dword [0x518f08], 0x10
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov ecx, 0x518ef4
cmovae ecx, dword [0x518ef4]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004207a0
add esp, 0xc
xor eax, eax
jmp 0x41f950
mov ecx, dword [ebp + eax - 0x4c]
mov edx, dword [ebp + eax - 0x2c]
cmp ecx, edx
ja 0x41fa91
jb 0x41f96a
add eax, 4
cmp eax, 0x10
jl 0x41f950
push str.config
mov ecx, edi
call fcn.004c1b60
test al, al
je 0x41f98c
push str.config
mov ecx, edi
call fcn.004bfd60
push eax
call fcn.0041e020
push str.scanners
mov ecx, edi
call fcn.004c1b60
test al, al
je 0x41fa57
push str.scanners
mov ecx, edi
xor ebx, ebx
call fcn.004bfd60
mov ecx, eax
call fcn.004c26b0
test eax, eax
je 0x41fa57
lea ecx, [ecx]
xorps xmm0, xmm0
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.00420460
push ebx
mov dword [ebp - 4], 0
mov ecx, edi
mov esi, dword [ebp - 0x1c]
push str.scanners
call fcn.004bfd60
mov ecx, eax
call fcn.004bfbe0
push eax
mov ecx, esi
call fcn.0041edb0
test al, al
je 0x41fa08
lea eax, [ebp - 0x1c]
mov ecx, 0x518ee4
push eax
call fcn.0041fff0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x41fa3b
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x41fa3b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x41fa3b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.scanners
mov ecx, edi
inc ebx
call fcn.004bfd60
mov ecx, eax
call fcn.004c26b0
cmp ebx, eax
jb 0x41f9c0
push str.policy_index
mov ecx, edi
call fcn.004c1b60
test al, al
je 0x41fa88
push 0
push 0
push str.policy_index
mov ecx, edi
call fcn.004bfd60
mov ecx, eax
call fcn.0041d8b0
add esp, 8
mov dword [0x518ef0], eax
jmp 0x41faca
xor eax, eax
mov dword [0x518ef0], eax
jmp 0x41faca
lea ecx, [ebp - 0x74]
call fcn.0041f1f0
cmp dword [eax + 0x14], 0x10
jb 0x41faa1
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x60], 0x10
jb 0x41fab9
push dword [ebp - 0x74]
call fcn.0048b08b
add esp, 4
push 7
push str.1.1.0.0
mov ecx, 0x518ef4
call fcn.00407ba0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048b090
mov esp, ebp
pop ebp
ret 4