Function at 0x1000502a
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
push 0x31
xor eax, eax
mov dword [ebp - 0x10], 0x19
pop edx
mov dword [ebp - 0xc], 0x29
mov ecx, eax
mov dword [ebp - 8], 0xffffff8e
add edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x1000504f
push esi
push edi
push 6
pop ecx
mov esi, str.SEC_E_ALGORITHM_MISMATCH
mov dword [ebp - 0x34], edx
lea edi, [ebp - 0x54]
mov dword [ebp - 0x14], 0x68c87f96
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0xa64d2ee6
mov edx, str._tfunction_OnProgress_progress__MaxProgress_
mov dword [ebp - 0xc], 0xe0efbcd0
mov cl, 9
mov dword [ebp - 8], 0x56d0b1c9
movsb byte es:[edi], byte [esi]
mov edi, dword [0x10028404]
mov esi, edi
or esi, 0xd282bbd9
sub cl, 0x30
cmp cl, 9
ja 0x100050ae
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x1000509d
jmp 0x100050b4
lea esi, [edi - 0x4d5343e3]
and esi, 0xd1abbf0f
mov dword [ebp - 0x1c], eax
mov ecx, eax
mov byte [ebp + ecx - 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x100050bf
movzx ecx, byte [str.Popup_MyAccount_Recommended_AVG]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
mov cl, byte [ebp + eax - 0x180]
xor edx, edx
mov dword [ebp - 0x28], 0x18
div dword [ebp - 0x28]
mov byte [ebp - 1], cl
movzx ecx, cl
mov dword [ebp - 0x20], 0x2449
movzx eax, byte [ebp + edx - 0x54]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, cl
mov ecx, str.Popup_MyAccount_Recommended_AVG
mov dword [ebp - 0x1c], eax
jmp 0x10005126
add dword [ebp - 0x20], edx
inc ecx
cmp dword [ebp - 0x20], 0x1e2d
ja 0x1000512c
movzx edx, byte [ecx]
test edx, edx
jne 0x10005116
jmp 0x1000513c
call section..text
mov eax, dword [ebp - 0x1c]
mov esi, edi
and esi, 0xf3b7a22c
mov edi, esi
xor edi, 0xe7f8e5d0
sub edi, 0x68d1bd70
mov ecx, dword [ebp - 0x24]
mov al, byte [ebp + eax - 0x180]
mov byte [ebp + ecx - 0x180], al
call fcn.10002794
mov eax, dword [ebp - 0x1c]
lea esi, [edi - 0x398238e0]
mov cl, byte [ebp - 1]
mov byte [ebp + eax - 0x180], cl
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x100
jb 0x100050dc
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov eax, ecx
mov dword [ebp - 0x2c], ecx
inc eax
movzx eax, al
mov dword [ebp - 0x1c], eax
inc ecx
cmp ecx, 0x23a
jg 0x100051a8
cmp byte [ecx + str._tfunction_OnProgress_progress__MaxProgress_], 0
jne 0x10005196
cmp ecx, 0x201e
jle 0x100051bd
mov ecx, str.Popup_MyAccount_Recommended_AVG
call fcn.10001ff8
mov eax, dword [ebp - 0x1c]
and esi, 0x71600c3d
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov cl, byte [ebp + eax - 0x180]
add esi, 0xa60dc4f4
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
push 0
mov al, byte [ebp + eax - 0x180]
mov byte [ebp + edi - 0x180], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x180], cl
mov eax, edi
mov edi, dword [ebp - 0x20]
pop ecx
movzx eax, byte [ebp + eax - 0x180]
add eax, edx
mov edx, dword [ebp - 0x2c]
movzx eax, al
mov al, byte [ebp + eax - 0x180]
xor al, byte [ebp + edx - 0x14]
mov byte [ebp + edx - 0x6c], al
inc edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
cmp edx, 0x10
jb 0x1000518f
mov dword [ebp - 0x14], 0x45
xor eax, eax
mov dword [ebp - 0x10], 0x16
mov edx, str.t8_8t_0u1H
mov dword [ebp - 0xc], 0x3d
xorps xmm2, xmm2
mov dword [ebp - 8], 0xffffff25
mov esi, eax
movups xmm1, xmmword [ebp - 0x14]
mov byte [ebp - 0x5c], al
mov dword [ebp - 0x2c], edx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x44
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x28]
inc esi
lea edx, [edx + 2]
cmp esi, 0x1c07
jg 0x100052a0
cmp word [edx], ax
jne 0x1000528d
jmp 0x100052ac
lea edi, [ecx + 0x5b47e0c4]
or edi, 0xa016bdcd
or edi, 0xa946c7f3
mov edx, str.Popup_MyAccount_Recommended_AVG
mov ecx, edi
mov dword [ebp - 0x20], edi
call fcn.10001134
push 7
pop ecx
mov esi, str.CleanedItemInfo_as_constructed
mov dword [ebp - 0x14], 0x5845984a
lea edi, [ebp - 0x58]
mov dword [ebp - 0x10], 0xfb906a58
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0xc], 0x2425a9d5
mov dword [ebp - 8], 0xfe3ce530
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x28]
mov edi, edx
add esi, 0x5b47e0c4
and esi, 0xfe8431cc
or esi, 0x84843088
cmp byte [str.Popup_MyAccount_Recommended_AVG], dl
je 0x10005343
inc edi
cmp edi, 0x2288
jl 0x10005324
cmp byte [edi + str.Popup_MyAccount_Recommended_AVG], dl
jne 0x1000530e
mov ecx, dword [ebp - 0x20]
jmp 0x1000533b
call fcn.10001d3b
mov ecx, esi
xor edx, edx
and ecx, 0x3e0c06f5
cmp edi, 0x1b47
jle 0x10005346
or ecx, 0xc81a3f2e
jmp 0x1000534c
mov ecx, dword [ebp - 0x20]
or esi, 0xb437cf99
call fcn.100020c3
and esi, 0x22440480
mov dword [ebp - 0x28], edx
or esi, 0x5c1bb917
mov eax, edx
mov dword [ebp - 0x30], esi
mov byte [ebp + eax - 0x180], al
inc eax
cmp eax, 0x100
jb 0x10005365
mov esi, dword [ebp - 0x28]
mov edi, edx
mov dword [ebp - 0x24], 0x1e
xor edx, edx
mov cl, byte [ebp + edi - 0x180]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x24]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x180]
mov byte [ebp + edi - 0x180], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x180], al
cmp edi, 0x100
jb 0x10005380
mov esi, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov edi, ecx
mov dword [ebp - 0x1c], ecx
lea eax, [edi + 1]
mov dword [ebp - 0x24], ecx
movzx edi, al
mov al, byte [ebp + edi - 0x180]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
movzx eax, al
mov dword [ebp - 0x20], eax
mov eax, str.t8_8t_0u1H
inc dword [ebp - 0x24]
lea eax, [eax + 2]
cmp dword [ebp - 0x24], 0x107d
jg 0x1000540e
cmp word [eax], cx
jne 0x100053f8
jmp 0x1000541c
mov edx, str._tfunction_OnProgress_progress__MaxProgress_
mov ecx, esi
call fcn.10001134
xor ecx, ecx
xor esi, 0x44cfac
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x20]
or esi, 0x4bf24ea8
mov dl, byte [ebp - 1]
mov al, byte [ebp + eax - 0x180]
mov byte [ebp + edi - 0x180], al
mov eax, dword [ebp - 0x20]
mov byte [ebp + eax - 0x180], dl
movzx eax, byte [ebp + edi - 0x180]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
movzx eax, al
mov al, byte [ebp + eax - 0x180]
xor al, byte [ebp + edx - 0x14]
mov byte [ebp + edx - 0x80], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x10
jb 0x100053ce
mov eax, dword [ebp - 0x30]
push 0x74
pop edx
mov byte [ebp - 0x70], cl
mov ecx, eax
push 9
and ecx, 0x5646a6dc
lea esi, [eax + 0x6a6aee8b]
pop edi
lea eax, [edx - 0x30]
cmp ax, di
ja 0x100054ad
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
movzx eax, word [eax]
mov edx, eax
test ax, ax
jne 0x10005490
jmp 0x100054b5
mov ecx, esi
or ecx, 0xf569146f
or ecx, 0xbebc3b16
mov dword [0x100282cc], ecx
call fcn.10001535
mov ecx, dword [ebp - 0x34]
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x14], 5
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x4f
xor esi, 0x4e21449
mov dword [ebp - 0xc], 0x5e
mov dword [ebp - 8], 0xffffff40
movups xmm0, xmmword [ebp - 0x14]
mov dword [0x10028404], esi
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
call fcn.1001bfc3
call eax
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x44c], 0x10010
push ecx
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x80]
push eax
call fcn.1001bfc3
call eax
test eax, eax
je 0x100057cd
push 0x64
xor eax, eax
mov dword [ebp - 0x18], 0x56
pop esi
mov edx, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], 0xc
mov ecx, eax
mov dword [ebp - 0xc], 0x11
mov dword [ebp - 8], 0xffffff29
sub edx, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, 5
jl 0x10005571
mov dword [ebp - 0x10], esi
xorps xmm1, xmm1
mov dword [ebp - 0xc], 0x60
xorps xmm2, xmm2
mov dword [ebp - 8], 0xfffffef0
mov ecx, eax
mov dword [ebp - 0x14], 0x4c
movups xmm0, xmmword [ebp - 0x14]
push 0x14
pop esi
psubd xmm1, xmm0
mov dword [ebp - 0x38], edx
movaps xmm0, xmm1
mov dword [ebp - 0x10], esi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffffba
movups xmm0, xmm1
psrldq xmm0, 4
push 0x1e
paddd xmm1, xmm0
pop edx
movd dword [ebp - 0x34], xmm1
mov dword [ebp - 0xc], edx
add esi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x100055d6
mov edi, eax
mov dword [ebp - 0x50], 0x1c
mov dword [ebp - 0x4c], 0x12
mov dword [ebp - 0x48], 0x62
mov dword [ebp - 0x44], 0x2f
mov dword [ebp - 0x40], 0xffffff41
sub edi, dword [ebp + eax*4 - 0x50]
inc eax
cmp eax, 5
jl 0x10005605
mov dword [ebp - 0x14], 0x47
movaps xmm1, xmm2
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0xb
mov dword [ebp - 8], 0xffffff90
movups xmm0, xmmword [ebp - 0x14]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x30], xmm1
call fcn.10002794
mov dword [ebp - 0x14], 0x2f
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x53
mov edx, str._tfunction_OnProgress_progress__MaxProgress_
mov dword [ebp - 0xc], 0x56
mov dword [ebp - 8], 0xfffffed0
movups xmm0, xmmword [ebp - 0x14]
push 9
pop ecx
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x58
mov dword [ebp - 0x28], eax
mov eax, 0x15d5
add eax, ecx
inc edx
cmp eax, 0xdbd
ja 0x100056bd
movsx ecx, byte [edx]
test ecx, ecx
jne 0x100056aa
jmp 0x100056c2
call fcn.10002794
mov edx, dword [0x10028404]
mov ecx, edx
and ecx, 0x8865092d
cmp byte [str.Popup_MyAccount_Recommended_AVG], 0
je 0x100056f4
xor eax, eax
inc eax
cmp eax, 0x655
je 0x100056ee
cmp byte [eax + str.Popup_MyAccount_Recommended_AVG], 0
jne 0x100056db
jmp 0x100056f4
lea edx, [ecx - 0x10a2b7d9]
xor edx, 0x57469c74
mov dword [0x10028404], edx
lea eax, [edx + 0x59320f3]
mov dword [ebp - 0x10], 0x20
mov dword [0x100282cc], eax
movaps xmm1, xmm2
push 8
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0xffffffd6
movups xmm0, xmmword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x14], 4
psubd xmm1, xmm0
mov dword [ebp - 0x10], 0x11
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x1a
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffffa4
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x14]
movd ecx, xmm1
paddd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add eax, 0x2d
cmp dword [ebp - 0x448], edx
jne 0x100057c8
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x444], edx
jne 0x100057c8
cmp dword [ebp - 0x440], esi
jne 0x100057c8
cmp dword [ebp - 0x43c], edi
jne 0x100057c8
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x438], edx
jne 0x100057c8
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x434], edx
je 0x100057d0
lea eax, [ecx + 7]
jmp 0x100057d0
lea eax, [edi + 0xe]
pop edi
pop esi
leave
ret