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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
xor r13d, r13d
mov eax, r13d
nop
mov byte [rbp + rax + 0x1a0], al
inc rax
cmp rax, 0x101
jb 0x180012670
xor edx, edx
lea rcx, [rbp + 0x40]
mov r8d, 0x118
call fcn.180082af0
mov r14d, dword [rbp + 0x108]
mov r12, r13
movabs rsi, 0xe38e38e38e38e38f
mov r15d, 0x40
nop dword [rax]
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x118
call fcn.180082af0
mov edx, dword [rbp - 0x18]
lea rbx, [rbp + 0x1a0]
mov rdi, r12
test edx, edx
je 0x18001272f
mov ecx, 0x48
mov rsi, r12
sub ecx, edx
cmp rcx, r12
cmovb rsi, rcx
lea rcx, [rbp - 0x14]
add rcx, rdx
mov r8, rsi
lea rdx, [rbp + 0x1a0]
call fcn.180082090
mov edi, dword [rbp - 0x18]
add edi, esi
mov dword [rbp - 0x18], edi
cmp edi, 0x48
jb 0x180012780
lea rbx, [rbp + 0x1a0]
mov rdi, r12
add rbx, rsi
lea rdx, [rbp - 0x14]
sub rdi, rsi
lea rcx, [rsp + 0x20]
call fcn.1800118a0
movabs rsi, 0xe38e38e38e38e38f
cmp rdi, 0x48
jb 0x180012767
mov rax, rsi
mul rdi
mov rsi, rdx
shr rsi, 6
imul rax, rsi, 0xffffffffffffffb8
add rdi, rax
nop dword [rax]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1800118a0
add rbx, 0x48
sub rsi, 1
jne 0x180012750
mov dword [rbp - 0x18], edi
test edi, edi
je 0x180012780
mov r8d, edi
lea rcx, [rbp - 0x14]
mov rdx, rbx
call fcn.180082090
mov edi, dword [rbp - 0x18]
mov eax, edi
mov r8d, 0x47
xor edx, edx
mov byte [rbp + rax - 0x14], 1
lea rax, [rbp - 0x14]
mov ecx, dword [rbp - 0x18]
sub r8d, ecx
inc ecx
add rcx, rax
call fcn.180082af0
or byte [rbp + 0x33], 0x80
lea rdx, [rbp - 0x14]
lea rcx, [rsp + 0x20]
call fcn.1800118a0
mov r8, r13
nop dword [rax + rax]
mov rax, r8
lea rdx, [rsp + 0x20]
shr rax, 3
mov ecx, dword [rdx + rax*8]
lea rdx, [rdx + rax*8]
movzx eax, byte [rdx]
mov byte [rbp + r8 + 0x160], al
mov eax, ecx
shr eax, 8
mov byte [rbp + r8 + 0x161], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbp + r8 + 0x162], al
mov byte [rbp + r8 + 0x163], cl
mov rcx, qword [rdx]
shr rcx, 0x20
mov eax, ecx
mov byte [rbp + r8 + 0x164], cl
shr eax, 8
mov byte [rbp + r8 + 0x165], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbp + r8 + 0x166], al
mov byte [rbp + r8 + 0x167], cl
add r8, 8
cmp r8, r15
jb 0x1800127c0
lea rbx, [rbp + 0x160]
mov rsi, r15
test r14d, r14d
je 0x1800128f6
mov ecx, 0x48
mov eax, r14d
sub ecx, r14d
lea rdx, [rbp + 0x160]
cmp rcx, r15
mov rdi, r15
cmovb rdi, rcx
lea rcx, [rbp + 0x10c]
add rcx, rax
mov r8, rdi
call fcn.180082090
mov r14d, dword [rbp + 0x108]
add r14d, edi
mov dword [rbp + 0x108], r14d
cmp r14d, 0x48
jb 0x18001291c
lea rbx, [rbp + 0x160]
sub rsi, rdi
lea rdx, [rbp + 0x10c]
add rbx, rdi
lea rcx, [rbp + 0x40]
call fcn.1800118a0
cmp rsi, 0x48
jb 0x1800128f6
movabs rax, 0xe38e38e38e38e38f
mul rsi
mov rdi, rdx
shr rdi, 6
imul rax, rdi, 0xffffffffffffffb8
add rsi, rax
nop word [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.1800118a0
add rbx, 0x48
sub rdi, 1
jne 0x1800128e0
mov dword [rbp + 0x108], esi
mov r14d, esi
test esi, esi
je 0x18001291c
mov r8d, esi
lea rcx, [rbp + 0x10c]
mov rdx, rbx
call fcn.180082090
mov r14d, dword [rbp + 0x108]
inc r12
movabs rsi, 0xe38e38e38e38e38f
cmp r12, 0x102
jb 0x1800126b0
mov eax, r14d
mov r8d, 0x47
xor edx, edx
mov byte [rbp + rax + 0x10c], 1
mov eax, dword [rbp + 0x108]
sub r8d, eax
lea ecx, [rax + 1]
lea rax, [rbp + 0x10c]
add rcx, rax
call fcn.180082af0
or byte [rbp + 0x153], 0x80
lea rdx, [rbp + 0x10c]
lea rcx, [rbp + 0x40]
call fcn.1800118a0
mov r8, r13
nop
mov rax, r8
lea rdx, [rbp + 0x40]
shr rax, 3
mov ecx, dword [rdx + rax*8]
lea rdx, [rdx + rax*8]
movzx eax, byte [rdx]
mov byte [rbp + r8 + 0x160], al
mov eax, ecx
shr eax, 8
mov byte [rbp + r8 + 0x161], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbp + r8 + 0x162], al
mov byte [rbp + r8 + 0x163], cl
mov rcx, qword [rdx]
shr rcx, 0x20
mov eax, ecx
mov byte [rbp + r8 + 0x164], cl
shr eax, 8
mov byte [rbp + r8 + 0x165], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbp + r8 + 0x166], al
mov byte [rbp + r8 + 0x167], cl
add r8, 8
cmp r8, r15
jb 0x180012980
mov rdx, r13
lea r8, [0x18009fad0]
nop dword [rax]
movzx ecx, byte [rdx + r8]
movzx eax, byte [rbp + rdx + 0x160]
lea rdx, [rdx + 1]
xor ecx, eax
or r13d, ecx
sub r15, 1
jne 0x180012a10
lea eax, [r13 - 1]
shr eax, 8
and eax, 1
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.1800810a0
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret