Function at 0x4b1df0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x546e5e
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x596c60]
xor eax, esp
mov dword [esp + 0x16c], eax
push esi
push edi
mov eax, dword [0x596c60]
xor eax, esp
push eax
lea eax, [esp + 0x17c]
mov dword fs:[0], eax
mov esi, ecx
push 1
push str.McShieldClient
mov dword [esp + 0x14], esi
call fcn.00485db0
mov dword [esp + 0x184], 0
lea ecx, [esp + 0x10]
push 0xc
push str.AVInitialize
mov dword [esi], 0x574c08
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 1
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x3c], eax
jb 0x4b1ea9
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b1ea9
push eax
call fcn.00507b54
add esp, 4
push 0xe
push str.AVUnInitialize
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 2
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x40], eax
jb 0x4b1f06
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b1f06
push eax
call fcn.00507b54
add esp, 4
push 0x10
push str.AVGetSystemState
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 3
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x48], eax
jb 0x4b1f63
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b1f63
push eax
call fcn.00507b54
add esp, 4
push 0x10
push str.AVSetSystemState
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 4
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x4c], eax
jb 0x4b1fc0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b1fc0
push eax
call fcn.00507b54
add esp, 4
push 0x13
push str.AVSetConnectionInfo
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 5
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x44], eax
jb 0x4b201d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b201d
push eax
call fcn.00507b54
add esp, 4
push 0x18
push str.AVSetStateChangeCallback
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 6
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x50], eax
jb 0x4b207a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b207a
push eax
call fcn.00507b54
add esp, 4
push 0x16
push str.AVMcShieldGetInterface
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 7
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x54], eax
jb 0x4b20d7
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b20d7
push eax
call fcn.00507b54
add esp, 4
push 0x1a
push str.AVMcShieldReleaseInterface
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 8
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x58], eax
jb 0x4b2134
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2134
push eax
call fcn.00507b54
add esp, 4
push 0x10
push str.AVMcShieldListen
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 9
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x5c], eax
jb 0x4b2191
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2191
push eax
call fcn.00507b54
add esp, 4
push 0x14
push str.AVMcShieldListenStop
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xa
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x60], eax
jb 0x4b21ee
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b21ee
push eax
call fcn.00507b54
add esp, 4
push 0x16
push str.AVPolicyCreateSnapshot
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xb
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x64], eax
jb 0x4b224b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b224b
push eax
call fcn.00507b54
add esp, 4
push 0x16
push str.AVPolicyDeleteSnapshot
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xc
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x68], eax
jb 0x4b22a8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b22a8
push eax
call fcn.00507b54
add esp, 4
push 0x13
push str.AVPolicyBeginUpdate
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xd
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x6c], eax
jb 0x4b2305
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2305
push eax
call fcn.00507b54
add esp, 4
push 0x11
push str.AVPolicyEndUpdate
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xe
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x70], eax
jb 0x4b2362
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2362
push eax
call fcn.00507b54
add esp, 4
push 0x14
push str.AVPolicySetAttribute
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0xf
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x74], eax
jb 0x4b23bf
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b23bf
push eax
call fcn.00507b54
add esp, 4
push 0x18
push str.AVPolicyRestoreAttribute
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x10
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x78], eax
jb 0x4b241c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b241c
push eax
call fcn.00507b54
add esp, 4
push 0x14
push str.AVPolicyCancelUpdate
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
call fcn.0047c020
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x11
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x7c], eax
jb 0x4b2479
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2479
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyRestoreDefault
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x12
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x80], eax
jb 0x4b24c2
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b24c2
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyCheckIfPending
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x13
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x84], eax
jb 0x4b250b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b250b
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyCheckIfExists
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x14
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x88], eax
jb 0x4b2554
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2554
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyGetAttribute
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x15
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x8c], eax
jb 0x4b259d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b259d
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyGet
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x16
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x90], eax
jb 0x4b25e6
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b25e6
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyGetAllPoliciesInClass
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x17
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x94], eax
jb 0x4b262f
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b262f
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyGetAllPoliciesInState
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x18
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x98], eax
jb 0x4b2678
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2678
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyFreePolicyClassInfo
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x19
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x9c], eax
jb 0x4b26c1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b26c1
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyFreePolicyAttributeList
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1a
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xa0], eax
jb 0x4b270a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b270a
push eax
call fcn.00507b54
add esp, 4
push str.AVPolicyFreePolicyAttribute
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1b
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xa4], eax
jb 0x4b2753
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2753
push eax
call fcn.00507b54
add esp, 4
push str.AVGetExtensionList
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1c
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xa8], eax
jb 0x4b279c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b279c
push eax
call fcn.00507b54
add esp, 4
push str.AVGetDetectionNames
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1d
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xac], eax
jb 0x4b27e5
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b27e5
push eax
call fcn.00507b54
add esp, 4
push str.AVFreeDetectionNames
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1e
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xb0], eax
jb 0x4b282e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b282e
push eax
call fcn.00507b54
add esp, 4
push str.AVGetVersionInfo
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x1f
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xb4], eax
jb 0x4b2877
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2877
push eax
call fcn.00507b54
add esp, 4
push str.AVFreeVersionInfo
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x20
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xb8], eax
jb 0x4b28c0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b28c0
push eax
call fcn.00507b54
add esp, 4
push str.AVGetPointProductData
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x21
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xc4], eax
jb 0x4b2909
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2909
push eax
call fcn.00507b54
add esp, 4
push str.AVGetBackedupContentVersion
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x22
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xc8], eax
jb 0x4b2952
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2952
push eax
call fcn.00507b54
add esp, 4
push str.AVFreeBackedupContentVersion
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x23
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xcc], eax
jb 0x4b299b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b299b
push eax
call fcn.00507b54
add esp, 4
push str.AVGetTrustInfo
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x24
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xbc], eax
jb 0x4b29e4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b29e4
push eax
call fcn.00507b54
add esp, 4
push str.AVFreeTrustInfo
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x25
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xc0], eax
jb 0x4b2a2d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2a2d
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerGetInterface
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x26
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xd0], eax
jb 0x4b2a76
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2a76
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerRelease
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x27
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xd4], eax
jb 0x4b2abf
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2abf
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerSetCallbacks
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x28
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xd8], eax
jb 0x4b2b08
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2b08
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerScan
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x29
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xdc], eax
jb 0x4b2b51
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2b51
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerTerminateScan
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2a
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xe0], eax
jb 0x4b2b9a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2b9a
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerSetScanPriority
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2b
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xe4], eax
jb 0x4b2be3
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2be3
push eax
call fcn.00507b54
add esp, 4
push str.AVSetMoveDirectory
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2c
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xe8], eax
jb 0x4b2c2c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2c2c
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerExcludeThisThread
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2d
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xec], eax
jb 0x4b2c75
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2c75
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerUnExcludeThisThread
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2e
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xf0], eax
jb 0x4b2cbe
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2cbe
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerDeleteFile
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x2f
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xf4], eax
jb 0x4b2d07
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2d07
push eax
call fcn.00507b54
add esp, 4
push str.AVScannerDeleteRegistryObject
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x30
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xf8], eax
jb 0x4b2d50
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2d50
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdate
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x31
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0xfc], eax
jb 0x4b2d99
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2d99
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdateGetContentPath
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x32
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x104], eax
jb 0x4b2de2
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2de2
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdateGetScannerPath
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x33
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x100], eax
jb 0x4b2e2b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2e2b
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdateGetInstallPath
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x34
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x108], eax
jb 0x4b2e74
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2e74
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdateGetAMCoreBuildNumber
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x35
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x10c], eax
jb 0x4b2ebd
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2ebd
push eax
call fcn.00507b54
add esp, 4
push str.AVUpdateMarkContent
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x36
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x110], eax
jb 0x4b2f06
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2f06
push eax
call fcn.00507b54
add esp, 4
push str.AVBackupInitialize
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x37
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x114], eax
jb 0x4b2f4f
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2f4f
push eax
call fcn.00507b54
add esp, 4
push str.AVBackupRelease
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esp + 0x10]
mov byte [esp + 0x184], 0x38
push eax
lea ecx, [esi + 4]
call fcn.004f2ed0
mov byte [esp + 0x184], 0
cmp dword [esp + 0x24], 0x10
mov dword [esi + 0x118], eax
jb 0x4b2f98
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2f98
push eax
call fcn.00507b54
add esp, 4
push str.AVBackupGetItemByID
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x11c]
mov byte [esp + 0x184], 0x39
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupFreeBackupItem
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x120]
mov byte [esp + 0x184], 0x3a
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupGetCount
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x124]
mov byte [esp + 0x184], 0x3b
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupRestoreByID
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x128]
mov byte [esp + 0x184], 0x3c
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupRestoreByIndex
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x12c]
mov byte [esp + 0x184], 0x3d
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupDeleteByID
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x130]
mov byte [esp + 0x184], 0x3e
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupSubmitSample
lea ecx, [esp + 0x14]
call fcn.0047aaf0
lea eax, [esi + 0x134]
mov byte [esp + 0x184], 0x3f
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x10]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupGetAll
lea ecx, [esp + 0xbc]
call fcn.0047aaf0
lea eax, [esi + 0x138]
mov byte [esp + 0x184], 0x40
push eax
lea eax, [esp + 0xbc]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0xb8]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupGetRange
lea ecx, [esp + 0x5c]
call fcn.0047aaf0
lea eax, [esi + 0x13c]
mov byte [esp + 0x184], 0x41
push eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x58]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupFreeBackupItemList
lea ecx, [esp + 0xec]
call fcn.0047aaf0
lea eax, [esi + 0x140]
mov byte [esp + 0x184], 0x42
push eax
lea eax, [esp + 0xec]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0xe8]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupGetCustomStream
lea ecx, [esp + 0x8c]
call fcn.0047aaf0
lea eax, [esi + 0x144]
mov byte [esp + 0x184], 0x43
push eax
lea eax, [esp + 0x8c]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x88]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupSetCustomStream
lea ecx, [esp + 0x14c]
call fcn.0047aaf0
lea eax, [esi + 0x148]
mov byte [esp + 0x184], 0x44
push eax
lea eax, [esp + 0x14c]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x148]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupRestoreDB
lea ecx, [esp + 0x2c]
call fcn.0047aaf0
lea eax, [esi + 0x14c]
mov byte [esp + 0x184], 0x45
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x28]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupStart
lea ecx, [esp + 0x11c]
call fcn.0047aaf0
lea eax, [esi + 0x150]
mov byte [esp + 0x184], 0x46
push eax
lea eax, [esp + 0x11c]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x118]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupNotifyEx
lea ecx, [esp + 0x44]
call fcn.0047aaf0
lea eax, [esi + 0x154]
mov byte [esp + 0x184], 0x47
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x40]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupEnd
lea ecx, [esp + 0x74]
call fcn.0047aaf0
lea eax, [esi + 0x158]
mov byte [esp + 0x184], 0x48
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x70]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVBackupRollback
lea ecx, [esp + 0xa4]
call fcn.0047aaf0
lea eax, [esi + 0x15c]
mov byte [esp + 0x184], 0x49
push eax
lea eax, [esp + 0xa4]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0xa0]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVPolicyCheckIfExcluded
lea ecx, [esp + 0xd4]
call fcn.0047aaf0
mov byte [esp + 0x184], 0x4a
lea eax, [esi + 0x160]
push eax
lea eax, [esp + 0xd4]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0xd0]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVMcShieldStartService
lea ecx, [esp + 0x104]
call fcn.0047aaf0
lea eax, [esi + 0x164]
mov byte [esp + 0x184], 0x4b
push eax
lea eax, [esp + 0x104]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x100]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVMcShieldStopService
lea ecx, [esp + 0x134]
call fcn.0047aaf0
lea eax, [esi + 0x168]
mov byte [esp + 0x184], 0x4c
push eax
lea eax, [esp + 0x134]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x130]
mov byte [esp + 0x184], 0
call fcn.0047abe0
push str.AVOEMWhitelistingEndGracePeriod
lea ecx, [esp + 0x164]
call fcn.0047aaf0
lea edx, [esi + 0x16c]
mov byte [esp + 0x184], 0x4d
push edx
lea eax, [esp + 0x164]
push eax
lea ecx, [esi + 4]
call fcn.004b8110
lea ecx, [esp + 0x160]
call fcn.0047abe0
mov eax, esi
mov ecx, dword [esp + 0x17c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x16c]
xor ecx, esp
call fcn.005072fd
add esp, 0x17c
ret