Function at 0x5c52a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x5c55b7
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rcx
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0xa4], xmm15
movups xmmword [rsp + 0xb4], xmm15
movups xmmword [rsp + 0xc4], xmm15
movups xmmword [rsp + 0xd4], xmm15
nop
jmp 0x5c5302
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x40], rdx
test rdx, rdx
setne byte [rsp + 0x17]
jne 0x5c531b
jmp 0x5c5340
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
test rcx, rcx
ja 0x5c5335
jmp 0x5c55af
cmp byte [rdx], 0
sete byte [rsp + 0x17]
jmp 0x5c5342
jmp 0x5c5342
cmp byte [rsp + 0x17], 0
jne 0x5c534b
jmp 0x5c53a7
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
jmp 0x5c5365
cmp rcx, 1
jae 0x5c5370
jmp 0x5c55a5
dec rbx
lea rsi, [rcx - 1]
mov rdi, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
add rdx, rbx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rdi
nop
jmp 0x5c53a2
jmp 0x5c5302
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rdx
movups xmmword [rsp + 0x4c], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
mov byte [rsp + 0x16], 0
mov rdx, qword [rsp + 0x20]
dec rdx
mov qword [rsp + 0x28], rdx
jmp 0x5c53e9
cmp qword [rsp + 0x28], 0
jge 0x5c53f6
jmp 0x5c550c
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
cmp rcx, rax
ja 0x5c5415
jmp 0x5c55a0
add rdx, rax
movzx edx, byte [rdx]
movzx ebx, byte [rsp + 0x16]
add edx, ebx
mov word [rsp + 0x1c], dx
mov byte [rsp + 0x15], 0
cmp qword [rsp + 0x28], 0
jg 0x5c5436
jmp 0x5c546a
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x28]
lea rbx, [rax - 1]
cmp rcx, rbx
ja 0x5c5459
jmp 0x5c5595
lea rdx, [rax + rdx]
lea rdx, [rdx - 1]
movzx edx, byte [rdx]
mov byte [rsp + 0x15], dl
jmp 0x5c546c
jmp 0x5c546c
movzx edx, word [rsp + 0x1c]
shr dx, 1
movzx ebx, byte [rsp + 0x15]
shl ebx, 7
movzx ebx, bl
or edx, ebx
mov word [rsp + 0x1e], dx
movzx ebx, word [rsp + 0x1c]
add ebx, edx
mov word [rsp + 0x18], bx
xor ebx, edx
mov word [rsp + 0x1a], bx
mov rax, qword [rsp + 0x28]
lea rdx, [rax + 1]
mov qword [rsp + 0x38], rdx
movzx ebx, word [rsp + 0x18]
movzx esi, word [rsp + 0x1a]
and ebx, esi
cmp rdx, 0x21
jb 0x5c54be
jmp 0x5c5588
lea rdx, [rsp + rax + 0x4d]
mov byte [rdx], bl
mov rax, qword [rsp + 0x28]
lea rdx, [rax + 1]
mov qword [rsp + 0x30], rdx
movzx ebx, word [rsp + 0x1e]
movzx esi, word [rsp + 0x1a]
and ebx, esi
nop
cmp rdx, 0x21
jb 0x5c54eb
jmp 0x5c557b
lea rdx, [rsp + rax + 0x70]
mov byte [rdx], bl
movzx edx, word [rsp + 0x18]
shr dx, 8
mov byte [rsp + 0x16], dl
nop
jmp 0x5c5502
dec qword [rsp + 0x28]
jmp 0x5c53e9
movzx eax, byte [rsp + 0x16]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x16]
dec eax
neg eax
mov byte [rsp + 0x6d], al
mov rax, qword [rsp + 0x20]
inc rax
mov byte [rsp + 0x6e], al
mov rax, qword [rsp + 0x4c]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + 0xa4], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xb4], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0xc4], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xd4], xmm0
add rsp, 0x90
pop rbp
ret
mov rax, rdx
mov ecx, 0x21
call sym.runtime.panicIndex
mov rax, rdx
mov ecx, 0x21
call sym.runtime.panicIndex
mov rax, rbx
call sym.runtime.panicIndex
nop dword [rax]
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicSliceB
xor eax, eax
call sym.runtime.panicIndex
nop
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
jmp sym.github.com_decred_dcrd_dcrec_secp256k1_v4.naf