Function at 0x18004e0c0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov qword [rdx + 0x18], 0xf
mov rbp, rcx
mov eax, r8d
xor edi, edi
mov qword [rdx + 0x10], rdi
mov r14, rdx
mov byte [rdx], dil
lea rdx, [rsp + 0xb8]
lea r15, [rax*8]
mov rax, qword [rcx + 0x70]
mov rcx, qword [r15 + rax]
mov rcx, qword [rcx + 0x20]
call fcn.18000b7e0
xor sil, sil
lea r13d, [rdi + 0x57]
mov ebx, edi
lea r12, [0x1803a1568]
mov ecx, dword [rax]
mov dword [rsp + 0xa8], ecx
mov byte [0x1803a1568], sil
nop dword [rax]
movzx ecx, byte [rsp + rbx + 0xa8]
lea r8, [rsp + 0xa0]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r13d
add al, cl
mov ecx, edx
mov byte [r8], al
inc r8
test edx, edx
jg 0x18004e140
lea rax, [rsp + 0xa0]
mov byte [r8], dil
sub r8d, eax
mov r10d, edi
mov r11d, r8d
shr r11d, 1
je 0x18004e1bc
lea r9, [rsp + 0xa0]
nop dword [rax]
movzx edx, byte [r9]
lea rcx, [rsp + 0xa0]
mov eax, r8d
lea r9, [r9 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r9 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x18004e190
mov ecx, edi
test sil, sil
je 0x18004e1cb
inc ecx
cmp byte [rcx + r12], dil
jne 0x18004e1c3
mov edx, ecx
lea r8, [rsp + 0xa0]
add rdx, r12
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x18004e1e0
cmp rbx, 3
jge 0x18004e231
cmp byte [0x1803a1568], dil
mov eax, edi
je 0x18004e20b
inc eax
cmp byte [rax + r12], dil
jne 0x18004e203
mov ecx, eax
lea rdx, [0x18038e6ac]
add rcx, r12
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18004e220
inc rbx
cmp rbx, 4
jge 0x18004e246
movzx esi, byte [0x1803a1568]
jmp 0x18004e130
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [r12 + r8], dil
jne 0x18004e250
mov rdx, r12
mov rcx, r14
call fcn.180353890
xor eax, eax
mov word [rsp + 0xb0], 0x738f
mov byte [rsp + 0xb2], al
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add cl, 0x49
xor cl, byte [rsp + rax + 0xb1]
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0xb1], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 1
jb 0x18004e281
mov byte [rsp + 0xb2], dil
lea rax, [rsp + 0xb1]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], dil
jne 0x18004e2d0
lea rdx, [rsp + 0xb1]
mov rcx, r14
call fcn.1803539e0
mov rax, qword [rbp + 0x70]
lea r9, [rsp + 0x28]
mov rcx, qword [r15 + rax]
movzx r8d, word [rcx + 0x4c8]
nop
mov eax, 0xcccccccd
mul r8d
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
mov eax, 0x30
cmp r8d, 0xa
cmovge eax, r13d
add al, r8b
mov r8d, edx
mov byte [r9], al
inc r9
test edx, edx
jg 0x18004e300
lea rax, [rsp + 0x28]
mov byte [r9], dil
sub r9d, eax
mov r10d, r9d
shr r10d, 1
je 0x18004e377
lea r8, [rsp + 0x28]
nop dword [rax + rax]
movzx edx, byte [r8]
lea rcx, [rsp + 0x28]
mov eax, r9d
lea r8, [r8 + 1]
sub eax, edi
inc edi
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r8 - 1], al
mov byte [rcx], dl
cmp edi, r10d
jb 0x18004e350
lea rax, [rsp + 0x28]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x18004e380
mov r8, rbx
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.1803539e0
mov rax, r14
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret