Function at 0x1001aa50
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
push esi
mov esi, dword [0x1002b1f0]
xor ecx, ecx
add esi, 0xf49d1f1b
mov dword [ebp - 0x44], 0x26
inc ecx
mov dword [ebp - 0x40], 0xffffffd9
or esi, 0xa3e775c5
xor eax, eax
push edi
add ecx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0x1001aa80
push 0xc
pop edx
mov dword [ebp - 0x5c], edx
xorps xmm1, xmm1
mov dword [ebp - 0x58], 0x4b
mov dword [ebp - 0x54], 0x1b
mov dword [ebp - 0x50], 0xffffff8e
movups xmm0, xmmword [ebp - 0x5c]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov dword [ebp - 0xc], 0x31
xor eax, eax
psubd xmm1, xmm0
mov dword [ebp - 8], 0x1d
movaps xmm0, xmm1
mov dword [ebp - 4], 0xffffffb2
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x24], xmm1
sub ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x1001aae9
mov dword [ebp - 0x48], ecx
xor eax, eax
mov ecx, edx
mov dword [ebp - 0xc], 0x11
mov dword [ebp - 8], 0x29
mov dword [ebp - 4], 0xffffffd1
sub ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x1001ab0f
push 0x57
mov dword [ebp - 0x38], ecx
xor eax, eax
pop ecx
mov dword [ebp - 0xc], 0x5c
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 0xfffffef7
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x1001ab32
movzx eax, byte [0x10029f70]
mov edx, 0x1ce6
mov dword [ebp - 0x40], ecx
mov ecx, 0x10029f70
jmp 0x1001ab60
add edx, eax
inc ecx
cmp edx, 0x19fd
ja 0x1001ab66
movzx eax, byte [ecx]
test eax, eax
jne 0x1001ab52
jmp 0x1001ab71
call fcn.10018d99
and esi, 0x6ad5699b
push 0x61
lea eax, [esi - 0x2438b7eb]
mov dword [ebp - 0xc], 0xcaec5077
pop edx
mov dword [ebp - 0x1c], eax
mov esi, 0xaf9
mov dword [ebp - 8], 0x5d0fd9cc
mov ecx, str.aes_128_ccm
mov dword [ebp - 4], 0x8ce65cb0
mov dword [ebp - 0x34], edx
add esi, edx
inc ecx
cmp esi, 0x2097
ja 0x1001abb3
movsx edx, byte [ecx]
test edx, edx
jne 0x1001ab9f
jmp 0x1001abbb
sub eax, 0x724006d4
mov dword [ebp - 0x1c], eax
add eax, 0x294befa4
imul eax, eax, 0x265003be
mov dword [ebp - 0x30], eax
call fcn.10018c61
push 5
pop ecx
mov esi, str.rsaOAEPEncryptionSET
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x1001abe0
xor esi, esi
xor edx, edx
mov dword [ebp - 0x28], 0x14
mov eax, esi
mov cl, byte [ebp + esi - 0x160]
div dword [ebp - 0x28]
mov byte [ebp - 0x15], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x60]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x160]
mov byte [ebp + esi - 0x160], al
inc esi
mov al, byte [ebp - 0x15]
mov byte [ebp + edi - 0x160], al
cmp esi, 0x100
jb 0x1001abf1
and dword [ebp - 0x28], 0
xor eax, eax
mov edi, dword [ebp - 0x1c]
xor esi, esi
inc eax
movzx eax, al
mov dword [ebp - 0x1c], eax
mov cl, byte [ebp + eax - 0x160]
mov eax, dword [ebp - 0x28]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x160]
mov byte [ebp + edx - 0x160], al
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x160], cl
mov eax, edx
mov ecx, 0x10029f70
movzx eax, byte [ebp + eax - 0x160]
add eax, dword [ebp - 0x2c]
movzx eax, al
mov dl, byte [ebp + eax - 0x160]
mov al, byte [0x10029f70]
jmp 0x1001acaa
sub al, 0x30
cmp al, 9
ja 0x1001acb0
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1001aca1
jmp 0x1001acb9
mov edi, dword [ebp - 0x30]
and edi, 0x52d3f799
imul eax, edi, 0x8f7fdfc1
mov dword [ebp - 0x30], eax
mov al, byte [ebp + esi - 0xc]
xor al, dl
mov byte [ebp + esi - 0x58], al
inc esi
mov eax, dword [ebp - 0x1c]
cmp esi, 0xc
jb 0x1001ac44
call fcn.100191df
xor edi, 0xe9e746b9
mov byte [ebp - 0x4c], 0
xor edi, 0x971f76cb
push ecx
mov dword [0x1002b2d8], edi
call fcn.100190d8
pop ecx
push 0x61
mov edx, 0x259b
mov eax, str.aes_128_ccm
pop ecx
add edx, ecx
inc eax
cmp edx, 0x15a3
ja 0x1001ad1c
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1001ad08
jmp 0x1001ad28
push ecx
mov ecx, 0x10029f70
call fcn.10018e73
pop ecx
call fcn.1001945e
mov dword [ebp - 0x10], 0x32
lea eax, [edi - 0x7a64a4cf]
mov dword [ebp - 0xc], 0x40
and eax, 0xc1d2f379
mov dword [ebp - 8], 0x3d
mov dword [ebp - 4], 0xffffff06
movups xmm1, xmmword [ebp - 0x10]
imul esi, eax, 0xdf1f6269
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x4c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
cmp dword [ebp + 8], eax
jne 0x1001ae91
push 0x41
pop ecx
mov dword [ebp - 0xc], 0x18
xor eax, eax
mov dword [ebp - 8], 0x50
mov dword [ebp - 4], 0xffffffd4
sub ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x1001ada6
push 0x44
mov dword [ebp - 0x20], ecx
mov eax, str.DetectHKCUSoftwareORLVNCviewer
mov dword [ebp - 0x24], 0x55
mov ecx, 0xd40
mov dword [ebp - 0xc], 0x62
mov dword [ebp - 8], 0xd
mov dword [ebp - 4], 0x24
pop edx
add ecx, edx
lea eax, [eax + 2]
cmp ecx, 0x75f
ja 0x1001adf2
movzx edx, word [eax]
test edx, edx
jne 0x1001addc
jmp 0x1001ae0f
call fcn.1001950b
push ecx
mov ecx, str.aes_128_ccm
sub edi, 0x3e068924
call fcn.10018e73
pop ecx
xor edi, 0xaa9efe9b
mov esi, edi
and esi, 0xc88772db
mov dword [0x1002b1f0], esi
call fcn.10019953
push 0x6e
mov ecx, str.narrowing_error
pop edx
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x1001ae42
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x1001ae2a
jmp 0x1001ae48
or esi, 0x4b02bad7
call fcn.10018efc
mov edx, dword [ebp - 0x24]
xor eax, eax
add edx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x1001ae52
mov dword [ebp - 0x24], edx
mov edi, dword [ebp - 0x20]
mov ecx, 0xfe5
mov edx, str.aes_128_ccm
add ecx, dword [ebp - 0x34]
inc edx
cmp ecx, 0x1fe0
ja 0x1001af4f
movsx eax, byte [edx]
mov dword [ebp - 0x34], eax
test eax, eax
lea eax, [esi - 0x571c74b0]
jne 0x1001ae6c
jmp 0x1001af5a
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
jne 0x1001ae5f
push 0x44
mov dword [ebp - 0x20], 0x4b
mov ecx, 0x2259
mov eax, str.DetectHKCUSoftwareORLVNCviewer
pop edx
add ecx, edx
lea eax, [eax + 2]
cmp ecx, 0xa39
ja 0x1001aec3
movzx edx, word [eax]
test edx, edx
jne 0x1001aead
jmp 0x1001aecb
mov esi, edi
or esi, 0x75d1d2f8
and esi, 0x35aec61f
sub esi, 0x1e5aa6d5
imul esi, esi, 0x9f91b6df
call fcn.1001987c
mov edi, dword [ebp - 0x20]
xor eax, eax
push 5
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x10
mov dword [ebp - 0xc], 0x2f
mov dword [ebp - 8], 0x46
mov dword [ebp - 4], 0xffffffbc
sub edi, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, ecx
jl 0x1001af09
call fcn.10018c61
push ecx
mov edx, esi
mov ecx, esi
or edx, 0x26ef65ff
call fcn.100195fd
add esp, 4
mov dword [ebp - 0x3c], 0x63
mov dword [ebp - 0x38], 0xfffffff9
xor eax, eax
push 0x5e
pop edx
add edx, dword [ebp + eax*4 - 0x3c]
inc eax
cmp eax, 2
jl 0x1001af3d
mov dword [ebp - 0x24], edx
jmp 0x1001ae62
call fcn.10019045
lea eax, [esi - 0xf1e0dea]
or eax, 0xbe24c819
mov dword [0x1002b1f0], eax
xor eax, 0x6bec54e0
mov dword [0x1002b2d8], eax
call fcn.10019045
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x58]
call fcn.1001bfc3
call eax
mov esi, dword [0x1002a020]
add eax, esi
mov dword [ebp + 8], eax
xor ecx, ecx
mov dword [ebp - 0x14], 0x62
mov dword [ebp - 0x10], 0x4f
xor eax, eax
mov dword [ebp - 0xc], 2
mov dword [ebp - 8], 0x5a
mov dword [ebp - 4], 0xfffffef3
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0x1001afb2
lea eax, [ebp + 8]
mov edx, esi
push eax
call fcn.1001a900
pop ecx
mov ecx, dword [0x1002b6e8]
mov eax, dword [eax*8 + 0x1002a028]
add eax, edi
add ecx, eax
movzx eax, byte [ecx]
cmp eax, dword [ebp - 0x24]
je 0x1001afe9
cmp dword [ebp - 0x2c], 0
jne 0x1001af8b
jmp 0x1001afeb
mov eax, ecx
pop edi
pop esi
leave
ret