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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov dword [ebp - 0x14], 0x13
xorps xmm2, xmm2
mov dword [ebp - 0x10], 0x5a
mov dword [ebp - 0xc], 0x4b
mov dword [ebp - 8], 0x32d
movups xmm1, xmmword [ebp - 0x14]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x10], 0x49
movaps xmm0, xmm1
mov dword [ebp - 0xc], 8
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0x155
movups xmm0, xmm1
mov dword [ebp - 0x5c], ecx
psrldq xmm0, 4
mov ecx, 0xfbc
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x14]
push ebx
add eax, 0x1b
movaps xmm0, xmm1
mov dword [ebp - 0x54], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
push esi
mov esi, dword [0x1002859c]
psrldq xmm0, 4
add esi, 0x1e8152d0
paddd xmm1, xmm0
movd eax, xmm1
push edi
push 0x2e
add eax, 0x53
mov dword [ebp - 0x50], eax
mov eax, str.._AVCWMIMonitor_Piriform__
pop edx
add ecx, edx
inc eax
cmp ecx, 0x1c4f
ja 0x10007202
movsx edx, byte [eax]
test edx, edx
jne 0x100071e8
imul esi, esi, 0xce545716
jmp 0x1000721b
xor esi, 0x38f21612
push ecx
mov dword [0x1002859c], esi
call fcn.10006e73
pop ecx
add esi, 0xf7d31e04
add esi, 0x7c6c47da
mov dword [ebp - 0x18], 0x21
xor ebx, ebx
mov dword [ebp - 0x14], 0x18
mov ecx, ebx
mov dword [ebp - 0x10], 0x5c
mov dword [ebp - 0xc], 0x5f
mov eax, ebx
mov dword [ebp - 8], 0xffffff0c
sub ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 5
jl 0x1000724a
push 0xd
pop eax
mov dword [ebp - 0x44], ebx
mov edi, ebx
mov ebx, str.cryptoctct_x509v3.c
mov dword [ebp - 0x18], eax
push 0x63
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x14], 0x4e
mov dword [ebp - 0xc], 0x34
mov dword [ebp - 8], 0xffffff64
mov dword [ebp - 0x4c], ebx
pop eax
mov ecx, ebx
mov edx, eax
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x100072a3
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10007289
jmp 0x100072a9
or esi, 0xe97553e1
call fcn.10006ee9
imul esi, esi, 0x8145d94c
mov edx, 0x220b
push 0x64
mov eax, str.div.resultsContainersContainer
pop ecx
or esi, 0x21b2cbac
add edx, ecx
inc eax
cmp edx, 0xa22
ja 0x100072db
movsx ecx, byte [eax]
test ecx, ecx
jne 0x100072c7
jmp 0x100072e6
add esi, 0x4b14d79e
call fcn.10006c07
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp + edi*4 - 0x18]
imul esi, esi, 0xc6e96f14
push 0x63
mov dword [ebp - 0x44], eax
pop eax
or esi, 0xa0b30269
inc edi
cmp edi, 5
jl 0x10007285
push 0x15
pop eax
push 0xa
mov dword [ebp - 4], esi
lea edi, [ebp - 0x9c]
pop ecx
mov esi, str.._AUprogress_ctl_factory_behavior_html__
mov dword [ebp - 0x38], 0xda644ef3
rep movsd dword es:[edi], dword [esi]
push 0x48
mov dword [ebp - 0x34], 0xb772ecb6
xor ebx, ebx
mov word [ebp - 0x30], 0x868f
movsb byte es:[edi], byte [esi]
mov edi, str.HasField
mov byte [ebp - 0x2e], al
mov dword [ebp - 0x2d], 0x24568d3b
mov ecx, edi
mov dword [ebp - 0x29], 0x9a806074
mov dword [ebp - 0x25], 0x37af92ab
mov dword [ebp - 0x21], 0x7908ac43
mov dword [ebp - 0x1d], 0x71a21014
mov byte [ebp - 0x19], 0x31
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10007383
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10007366
mov esi, dword [ebp - 4]
jmp 0x1000738a
imul esi, dword [ebp - 4], 0xfa015973
and esi, 0x1bd6bc34
mov dword [0x1002859c], esi
call fcn.10006f53
push 0x48
mov edx, 0x304
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1743
ja 0x100073bb
movzx ecx, word [eax]
test ecx, ecx
jne 0x100073a5
jmp 0x100073c8
push ecx
call fcn.100069d1
pop ecx
and esi, 0x23e240c7
or esi, 0xc6fab5c3
xor esi, 0x79ee4ab3
push ecx
mov dword [0x1002859c], esi
call fcn.10006fd8
pop ecx
mov dword [ebp - 4], ebx
mov eax, ebx
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x100073e6
mov edi, ebx
xor edx, edx
mov bl, byte [ebp + edi - 0x19c]
push 0x28
mov eax, edi
xor esi, 0x47dd3ec3
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x9c]
add eax, dword [ebp - 4]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 4], ecx
mov al, byte [ebp + ecx - 0x19c]
mov byte [ebp + edi - 0x19c], al
inc edi
mov byte [ebp + ecx - 0x19c], bl
cmp edi, 0x100
jb 0x100073f7
xor ebx, ebx
mov dword [0x1002859c], esi
mov dword [ebp - 4], ebx
mov ecx, ebx
mov dword [ebp - 8], ebx
mov eax, str.HasField
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x489
jg 0x10007469
cmp word [eax], bx
jne 0x10007456
jmp 0x10007476
push ecx
call fcn.10006fd8
pop ecx
and esi, 0x3f06d9a2
imul esi, esi, 0x23ba7bd
mov edi, ebx
sub esi, 0x23d35eb7
mov ecx, ebx
mov eax, str.cryptoctct_x509v3.c
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xcba
jl 0x1000749e
cmp word [eax], bx
jne 0x1000748b
jmp 0x100074a9
call fcn.10006a98
and esi, 0x7a9ffa3e
call fcn.100068d1
mov eax, dword [ebp - 8]
xor esi, 0xfdffffff
inc eax
and esi, 0x86006000
movzx eax, al
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 8]
imul esi, esi, 0xe0ecfbe5
mov cl, byte [ebp + eax - 0x19c]
mov eax, dword [ebp - 4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
push 0
mov al, byte [ebp + eax - 0x19c]
mov byte [ebp + ebx - 0x19c], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x19c], cl
mov eax, ebx
pop ebx
movzx eax, byte [ebp + eax - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + edi - 0x38]
mov byte [ebp + edi - 0x94], al
inc edi
cmp edi, 0x20
jb 0x10007484
push 0x63
mov ecx, str.cryptoctct_x509v3.c
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x1000754a
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10007530
jmp 0x10007550
sub esi, 0x69bd6198
or esi, 0xdddf7d0e
mov edi, str.HasField
push 0x48
add esi, 0x4ef948e
mov edx, 0x1c74
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0xc24
ja 0x10007581
movzx ecx, word [eax]
test ecx, ecx
jne 0x1000756b
jmp 0x10007587
add esi, 0x56f7b350
or esi, 0xf0c948ab
mov byte [ebp - 0x74], bl
add esi, 0x8454c
mov ecx, edi
push 0x48
and esi, 0x11a9c416
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x100075bb
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x100075a1
jmp 0x100075c1
sub esi, 0x1cf1a71a
xor esi, 0xc8c22f67
push ecx
mov dword [0x1002859c], esi
call fcn.100069d1
pop ecx
imul esi, esi, 0xdd5aabfc
mov edi, ebx
push 0x48
mov ecx, str.HasField
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x100075fe
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x100075e4
jmp 0x10007604
or esi, 0x8358510b
or esi, 0x5dd5a75
mov dword [0x1002859c], esi
call fcn.10006cbf
push 0x2e
mov edx, 0x186e
mov eax, str.._AVCWMIMonitor_Piriform__
pop ecx
add edx, ecx
inc eax
cmp edx, 0xc8d
ja 0x10007636
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10007622
jmp 0x10007645
push ecx
push ecx
call fcn.10006d8a
pop ecx
pop ecx
or esi, 0xdf7fcad1
xor esi, 0x787cbf66
call fcn.10006f53
inc edi
cmp edi, 0x100
jb 0x100075dc
push 0x48
and esi, 0xfe22190
mov ecx, str.HasField
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10007681
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10007667
jmp 0x10007687
sub esi, 0x6663c1ba
xor esi, 0xeeba6db2
mov eax, ebx
inc eax
cmp eax, 0xc9e
jl 0x100076a2
cmp byte [eax + str.._AVCWMIMonitor_Piriform__], 0
jne 0x1000768f
jmp 0x100076af
xor esi, 0x9dc395f8
cmp eax, 0x155
jle 0x100076b7
xor esi, 0x5830834b
jmp 0x100076bd
and esi, 0x112ea1c9
mov ecx, ebx
imul eax, esi, 0x1e658cc8
or eax, 0x872bcd22
inc ecx
cmp ecx, 0x20
jb 0x100076c5
push 3
mov edx, ebx
mov dword [ebp - 0x10], 0x29
mov dword [ebp - 0xc], 0x46
mov ecx, ebx
mov dword [ebp - 8], 0xffffff91
pop esi
sub edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, esi
jl 0x100076ec
push 0x34
mov dword [ebp - 0x68], edx
mov ecx, ebx
mov dword [ebp - 0x10], 0x22
mov dword [ebp - 0xc], 0x40
mov dword [ebp - 8], 0x36a
pop edx
add edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, esi
jl 0x10007712
push 2
mov dword [ebp - 0x64], edx
mov ecx, ebx
pop edx
mov dword [ebp - 0x10], 0x39
mov dword [ebp - 0xc], 0x1f
mov dword [ebp - 8], 0x1a6
add edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, esi
jl 0x10007738
push 0x62
mov dword [ebp - 0x60], edx
mov ecx, ebx
pop edx
mov dword [ebp - 0x10], 0x1e
mov dword [ebp - 0xc], 0x45
mov dword [ebp - 8], 0xffffff3b
add edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, esi
jl 0x1000775e
mov dword [ebp - 0x14], 0x59
lea edi, [ebp - 0x30]
mov dword [ebp - 0x10], 0x57
mov esi, str.invalid_format_string
mov dword [ebp - 0xc], 0x56
mov dword [ebp - 8], 0xfffffef0
movups xmm1, xmmword [ebp - 0x14]
push 5
mov dword [ebp - 0x6c], edx
paddd xmm1, xmm2
mov dword [ebp - 0x40], 0x13ffa3fc
movaps xmm0, xmm1
mov byte [ebp - 0x3c], 0x62
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0xb
xor eax, 0xdf9f5139
mov dword [ebp - 0x70], ecx
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + ecx - 0x19c], cl
inc ecx
cmp ecx, 0x100
jb 0x100077d3
mov esi, ebx
imul eax, eax, 0xef93987c
xor edx, edx
push 0x15
pop ecx
mov bl, byte [ebp + esi - 0x19c]
mov dword [ebp - 8], eax
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x19c]
mov byte [ebp + esi - 0x19c], al
inc esi
mov eax, dword [ebp - 8]
mov byte [ebp + edi - 0x19c], bl
cmp esi, 0x100
jb 0x100077e5
push 0x63
pop esi
xor ebx, ebx
mov ecx, eax
push 9
mov dword [ebp - 4], ebx
or ecx, 0x399cd2c
mov edx, str.cryptoctct_x509v3.c
pop edi
lea eax, [esi - 0x30]
cmp ax, di
ja 0x1000785d
add edx, 2
movzx eax, word [edx]
mov esi, eax
test ax, ax
jne 0x10007846
jmp 0x10007863
xor ecx, 0x3304b2d
mov edi, ebx
lea esi, [ecx - 0x21b8e3da]
push 0x48
add esi, 0x5e3a094e
mov ecx, str.HasField
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10007893
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10007879
jmp 0x10007899
and esi, 0xc66b2684
sub esi, 0x484362f1
mov dword [0x1002859c], esi
call fcn.10006be8
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + ebx - 0x19c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x19c]
mov byte [ebp + ebx - 0x19c], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x19c], cl
movzx eax, byte [ebp + ebx - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + edi - 0x40]
mov byte [ebp + edi - 0xc], al
inc edi
cmp edi, 5
jb 0x1000786b
xor ebx, ebx
mov dword [ebp - 0x2c], 0x2d
mov byte [ebp - 7], bl
mov ecx, 0x1068
mov dword [ebp - 0x28], 0x12
mov eax, ebx
mov dword [ebp - 0x24], 0x4a
mov dword [ebp - 0x20], 0x61
mov dword [ebp - 0x1c], 0xe20
sub ecx, dword [ebp + eax*4 - 0x2c]
inc eax
cmp eax, 5
jl 0x10007932
mov dword [ebp - 0x48], ecx
call fcn.1001b56b
call fcn.1000512f
test eax, eax
jne 0x10007abc
mov ecx, dword [ebp - 0x50]
imul ecx, dword [ebp - 0x54]
call fcn.10012ed9
mov edi, eax
call fcn.100024dc
test eax, eax
jne 0x10007abc
call fcn.100044bc
test eax, eax
je 0x10007984
or dword [0x1002859c], 0x5c62497
jmp 0x10007abc
cmp edi, dword [ebp - 0x58]
je 0x10007abc
call fcn.100048b5
test eax, eax
jne 0x10007abc
mov ecx, dword [ebp - 0x5c]
mov edx, edi
call fcn.1000aec0
mov esi, eax
mov dword [ebp - 4], esi
call fcn.10001f61
test eax, eax
je 0x100079f3
push 0x63
pop ecx
lea eax, [ecx - 0x30]
push 9
pop ecx
cmp ax, cx
ja 0x100079da
mov eax, dword [ebp - 0x4c]
add eax, 2
mov dword [ebp - 0x4c], eax
movzx eax, word [eax]
mov ecx, eax
test ax, ax
jne 0x100079b5
mov eax, dword [0x1002859c]
jmp 0x100079e4
mov eax, dword [0x1002859c]
or eax, 0x8b97d28f
xor eax, 0xe6a1b607
mov dword [0x1002859c], eax
jmp 0x10007abc
imul eax, dword [0x1002859c], 0x762cb6db
mov ecx, esi
mov dword [0x1002859c], eax
call fcn.10012ed9
mov esi, eax
cmp esi, dword [ebp - 0x44]
jne 0x10007a1f
and dword [0x1002859c], 0x4457c7b
jmp 0x10007abc
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x94]
push esi
push ecx
push eax
mov ecx, edi
call fcn.100179c1
add esp, 0xc
inc ebx
cmp ebx, 0x1555
jl 0x10007a4e
cmp byte [ebx + str.div.resultsContainersContainer], 0
jne 0x10007a35
mov eax, dword [0x1002859c]
jmp 0x10007a61
push ecx
push ecx
call fcn.10007011
imul eax, dword [0x1002859c], 0x9d71229c
pop ecx
pop ecx
imul eax, eax, 0x2c5886
push ecx
or eax, 0xbd23b1ba
mov dword [0x1002859c], eax
call fcn.10006e73
mov eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0x64]
push eax
push dword [ebp - 0x68]
push edi
call fcn.100133e9
mov ecx, edi
call fcn.100131a2
mov ecx, esi
call fcn.10014c62
push dword [ebp - 4]
push dword [ebp - 0x6c]
push esi
call fcn.100133e9
add esp, 0x1c
mov ecx, esi
call fcn.100131a2
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x70]
lea edx, [ebp - 0xc]
call fcn.1001b5c7
call eax
pop edi
pop esi
pop ebx
leave
ret