Function at 0x10018f69
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], 0x57
push 3
pop edx
mov dword [ebp - 0x40], esi
mov ecx, esi
mov dword [ebp - 0x14], edx
mov eax, esi
mov dword [ebp - 0xc], 0xffffffa6
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, edx
jl 0x10018f91
push 0x22
mov dword [ebp - 0x28], ecx
mov eax, esi
pop ecx
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x38], 0xffffffd5
add ecx, dword [ebp + eax*4 - 0x3c]
inc eax
cmp eax, 2
jl 0x10018fb0
mov al, byte [0x10027e90]
mov edx, 0x1f2c
mov dword [ebp - 0x24], ecx
mov ecx, 0x10027e90
mov byte [ebp - 0x19], al
movzx eax, al
jmp 0x10018fe6
add edx, eax
inc ecx
cmp edx, 0x137
ja 0x1001909f
movzx eax, byte [ecx]
test eax, eax
jne 0x10018fd4
mov edi, dword [0x100293b8]
mov dword [ebp - 0x54], 0x43
xorps xmm1, xmm1
mov dword [ebp - 0x50], 0x4f
and edi, 0xa0134000
mov dword [ebp - 0x4c], 0x46
xor edi, 0xaa035440
mov dword [ebp - 0x48], 0xffffff28
mov eax, esi
movups xmm0, xmmword [ebp - 0x54]
push 0x47
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 0x14], 0x5a
movaps xmm0, xmm1
mov dword [ebp - 0x10], 0x37
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xc], 0xffffff29
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 3
movd dword [ebp - 0x44], xmm1
pop edx
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, edx
jl 0x1001905d
push 0x1c
mov dword [ebp - 0x30], ecx
pop eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], 0xffffffe2
add eax, dword [ebp + esi*4 - 0x3c]
inc esi
cmp esi, 2
jl 0x10019076
mov dword [ebp - 0x38], eax
mov edx, 0x51b
mov eax, str.com.avast.ipm.ClientParameters.ZenVersion
mov dword [ebp - 8], eax
mov ecx, eax
mov al, byte [str.com.avast.ipm.ClientParameters.ZenVersion]
mov byte [ebp - 1], al
movzx eax, al
jmp 0x100190c1
call fcn.10017fdf
imul edi, dword [0x100293b8], 0x3f82c85e
jmp 0x10018ff0
add edx, eax
inc ecx
cmp edx, 0xc58
ja 0x100190c7
movzx eax, byte [ecx]
test eax, eax
jne 0x100190b3
jmp 0x100190d7
call fcn.10017dd8
add edi, 0xd9140c9
call fcn.100176b7
imul esi, edi, 0x26cc6a35
and esi, 0xe41c8c87
call fcn.1001799d
mov al, byte [ebp - 1]
jmp 0x100190fc
sub al, 0x30
cmp al, 9
ja 0x10019102
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov al, byte [eax]
test al, al
jne 0x100190ed
jmp 0x10019108
add esi, 0x27c2a02a
or esi, 0xac510ac3
mov dword [ebp - 0x14], 0x70041177
mov dword [ebp - 0x20], esi
lea edi, [ebp - 0x58]
push 5
pop ecx
mov esi, str.LIF_bad_json_result
mov dword [ebp - 0x10], 0xf5811c12
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebp - 0xc], 0xfff70a0e
mov eax, edi
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0x10019137
mov esi, edi
xor edx, edx
mov dword [ebp - 8], 0x13
mov eax, esi
mov cl, byte [ebp + esi - 0x158]
div dword [ebp - 8]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x158]
mov byte [ebp + esi - 0x158], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x158], al
cmp esi, 0x100
jb 0x10019148
mov al, byte [str.Hold_Instruction_Code]
xor edi, edi
mov dword [ebp - 8], edi
mov ecx, str.Hold_Instruction_Code
jmp 0x100191ae
sub al, 0x30
cmp al, 9
ja 0x1001922e
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100191a1
mov esi, dword [ebp - 0x20]
add esi, 0x61702a68
mov ecx, str.Popup_HealthCheck_PostAnalysis_UpgradedToPro
mov dword [ebp - 0x20], esi
call fcn.10017222
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x158]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x158]
mov byte [ebp + esi - 0x158], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x158], cl
movzx eax, byte [ebp + esi - 0x158]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x158]
xor al, byte [ebp + edi - 0x14]
mov byte [ebp + edi - 0x54], al
inc edi
cmp edi, 0xc
jb 0x100191ca
mov al, byte [str.Speed_Request_Status_Code]
mov ecx, str.Speed_Request_Status_Code
mov esi, dword [ebp - 0x20]
jmp 0x10019245
mov esi, dword [ebp - 0x20]
sub esi, 0x6f72da4
jmp 0x100191b5
sub al, 0x30
cmp al, 9
ja 0x1001924b
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1001923c
jmp 0x10019251
xor esi, 0xd9cdfaa6
push 0x10
pop edx
mov dword [ebp - 0x18], edx
xorps xmm1, xmm1
mov dword [ebp - 0x14], 0x5f
xor eax, eax
mov dword [ebp - 0x10], 0x17
and esi, 0xb385b6d6
mov dword [ebp - 0xc], 0xffffff84
movups xmm0, xmmword [ebp - 0x18]
mov byte [ebp - 0x48], al
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0xb
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x44]
cmp dword [ebp + 8], ecx
jne 0x10019316
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0x34
mov dword [ebp - 0x10], 9
mov dword [ebp - 0xc], 0xffffffa2
movups xmm1, xmmword [ebp - 0x18]
push 0x51
pop edi
movaps xmm0, xmm1
mov dword [ebp - 0x34], 0x2d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x30], 0x6a
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x16
imul esi, esi, 0x18228f6e
mov dword [ebp - 0x28], ecx
add edi, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 2
jl 0x10019301
or esi, 0x26ab0c28
jmp 0x10019402
mov ecx, dword [ebp - 0x30]
cmp dword [ebp + 8], ecx
jne 0x100193ff
mov cl, byte [ebp - 0x19]
add esi, 0x7c4ddeab
test cl, cl
je 0x1001934b
mov edx, 0x10027e90
sub cl, 0x30
cmp cl, 9
ja 0x10019345
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x10019334
jmp 0x1001934b
and esi, 0x7acb0015
mov dword [ebp - 0x18], 0x3b
and esi, 0x274ef321
mov dword [ebp - 0x14], 0x12
xor esi, 0xc31f234c
mov dword [ebp - 0x10], 0x18
mov dword [ebp - 0xc], 0xffffff71
movups xmm1, xmmword [ebp - 0x18]
mov dword [ebp - 0x34], 0x2c
mov dword [ebp - 0x30], 0x8d
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x2f
mov dword [ebp - 0x28], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
push 0x50
mov edx, 0x1422
mov ecx, str.Popup_HealthCheck_PostAnalysis_UpgradedToPro
pop edi
add edx, edi
lea ecx, [ecx + 2]
cmp edx, 0x107b
ja 0x100193d0
movzx edi, word [ecx]
test edi, edi
jne 0x100193ba
jmp 0x100193de
call fcn.1001751b
mov eax, dword [ebp - 0x40]
add esi, 0x489fd9d4
mov edi, dword [ebp - 0x24]
or esi, 0xef6d2dec
add edi, dword [ebp + eax*4 - 0x34]
add esi, 0xe159deb0
inc eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x40], eax
cmp eax, 2
jl 0x100193ad
jmp 0x10019402
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x54]
and esi, 0x7fc279d7
mov dword [0x100293b8], esi
call fcn.1001ab39
call eax
mov esi, dword [0x10027f80]
add eax, esi
mov dword [ebp - 0x18], 0x24
mov dword [ebp - 0x14], 0x26
mov dword [ebp - 0x10], 0x38
mov dword [ebp - 0xc], 0xffffff55
movups xmm2, xmmword [ebp - 0x18]
mov dword [ebp + 8], eax
movups xmm1, xmm2
lea eax, [ebp + 8]
movaps xmm0, xmm1
mov edx, esi
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
push eax
add ecx, 0x29
call fcn.10018e00
pop ecx
mov ecx, dword [0x100296d8]
mov eax, dword [eax*8 + 0x10027f88]
add eax, dword [ebp - 0x28]
add ecx, eax
movzx eax, byte [ecx]
cmp eax, edi
je 0x10019495
cmp dword [ebp - 0x2c], 0
jne 0x10019446
jmp 0x10019497
mov eax, ecx
pop edi
pop esi
leave
ret