Function at 0x10012d10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x10091570
mov eax, 0xa0
call fcn.100011c0
mov eax, dword [0x102293a4]
xor eax, esp
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0xa8]
push ebp
mov ebp, dword [esp + 0xb0]
push edi
mov al, byte [ecx]
mov byte [ebp], al
movsx eax, al
test eax, eax
je 0x10091842
cmp eax, 0x80
jae 0x10091842
lfence
movzx edi, byte [eax + 0x101b2678]
mov al, byte [ecx + 1]
mov byte [ebp + 1], al
movsx eax, al
shl edi, 2
test eax, eax
je 0x10091842
cmp eax, 0x80
jae 0x10091842
mov edx, dword [esp + 0xac]
push esi
lfence
movzx esi, byte [eax + 0x101b2678]
shl esi, 6
xor eax, eax
mov cl, byte [edx]
lea edx, [edx + 1]
test cl, cl
je 0x1009160d
add cl, cl
mov byte [esp + eax + 0xa0], cl
inc eax
cmp eax, 8
jb 0x100915f3
jmp 0x10091620
cmp eax, 8
jae 0x10091620
mov byte [esp + eax + 0xa0], 0
inc eax
cmp eax, 8
jb 0x10091612
push ebx
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xa8]
push eax
call sym.libcrypto_1_1.dll_DES_set_key_unchecked
push esi
push edi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.1000deb0
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov eax, ecx
mov byte [esp + 0x98], cl
shr eax, 8
mov ebx, 0x80
mov byte [esp + 0x99], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [esp + 0x9a], al
mov byte [esp + 0x9b], cl
mov ecx, dword [esp + 0x14]
mov eax, ecx
shr eax, 8
mov byte [esp + 0x9d], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x9c], cl
shr ecx, 0x18
xor esi, esi
mov byte [esp + 0x9e], al
mov al, 0x80
mov byte [esp + 0x9f], cl
mov byte [esp + 0xa0], 0
mov dword [esp + 0x10], 2
nop word [eax + eax]
mov cl, byte [esp + esi + 0x98]
lea edi, [esi + 1]
and cl, al
shr al, 1
movzx edx, al
cmove edx, ebx
test al, al
mov al, cl
cmovne edi, esi
neg al
sbb al, al
and eax, 0xffffff02
test byte [esp + edi + 0x98], dl
je 0x100916f9
test cl, cl
setne al
lea eax, [eax*2 + 1]
shr dl, 1
lea esi, [edi + 1]
movzx ebx, dl
mov ecx, 0x80
cmove ebx, ecx
test dl, dl
cmovne esi, edi
add al, al
mov dword [esp + 0xa4], eax
or al, 1
movzx edx, al
mov eax, dword [esp + 0xa4]
movzx ecx, byte [esp + esi + 0x98]
lea edi, [esi + 1]
and cl, bl
movzx eax, al
mov ecx, 0x80
cmove edx, eax
shr bl, 1
movzx eax, bl
cmove eax, ecx
test bl, bl
mov dword [esp + 0xa4], eax
cmovne edi, esi
add dl, dl
movzx ecx, byte [esp + edi + 0x98]
lea esi, [edi + 1]
and cl, al
mov al, dl
or al, 1
test cl, cl
movzx ebx, al
mov ecx, 0x80
movzx eax, dl
cmove ebx, eax
mov eax, dword [esp + 0xa4]
shr al, 1
movzx edx, al
cmove edx, ecx
test al, al
mov dword [esp + 0xa4], edx
cmovne esi, edi
add bl, bl
mov al, bl
or al, 1
movzx ecx, byte [esp + esi + 0x98]
lea edi, [esi + 1]
and cl, dl
movzx edx, al
test cl, cl
movzx eax, bl
mov ecx, 0x80
cmove edx, eax
mov eax, dword [esp + 0xa4]
shr al, 1
movzx ebx, al
cmove ebx, ecx
test al, al
cmovne edi, esi
add dl, dl
mov dword [esp + 0xa4], edx
or dl, 1
mov eax, dword [esp + 0xa4]
movzx eax, al
movzx ecx, byte [esp + edi + 0x98]
lea esi, [edi + 1]
and cl, bl
movzx edx, dl
mov ecx, 0x80
cmove edx, eax
shr bl, 1
movzx eax, bl
cmove eax, ecx
test bl, bl
mov ebx, dword [esp + 0x10]
movzx ecx, dl
cmovne esi, edi
movzx ecx, byte [ecx + 0x101b26f8]
mov byte [ebx + ebp], cl
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, 0xd
mov ebx, 0x80
jb 0x100916c0
pop ebx
pop esi
pop edi
mov byte [ebp + 0xd], 0
mov eax, ebp
pop ebp
mov ecx, dword [esp + 0x9c]
xor ecx, esp
call fcn.1000b910
add esp, 0xa0
ret
mov ecx, dword [esp + 0xa4]
xor eax, eax
pop edi
pop ebp
xor ecx, esp
call fcn.1000b910
add esp, 0xa0
ret