Function at 0x1400b2c80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r14, qword [rcx + 0x2100]
movsxd rbx, r8d
mov rbp, rcx
mov qword [rsp + 0x98], rdx
cmp ebx, 3
jle 0x1400b3001
movsx edi, word [rdx]
mov esi, ebx
lea r9, [r14 + 0x30]
and esi, 1
lea r8, [r14 + 0x24]
lea r15, [r14 + 0x348]
add esi, 1
add r14, 0x448
movsxd rsi, esi
mov edx, edi
sub edx, dword [rcx + rsi*4 + 0x9a0]
lea rcx, [rcx + 0x330]
call fcn.1400b9430
mov eax, dword [rbp + rbx*4 + 0x14]
mov dword [rbp + rsi*4 + 0x9a0], edi
test eax, eax
mov dword [rsp + 0x28], eax
jle 0x1400b30b0
lea r10, [rbp + 0xd9]
xor r13d, r13d
mov r9d, 1
mov eax, 0x20
movzx edx, byte [r10]
mov rbx, qword [rsp + 0x98]
movsx r12d, word [rbx + rdx*2]
test r12d, r12d
je 0x1400b2e00
cmp r13d, 0xf
jle 0x1400b2fef
mov r11d, r13d
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x30], r13d
mov r12, r15
mov r13, r14
mov edx, dword [rbp + 0x330]
mov edi, dword [rbp + 0x334]
mov dword [rsp + 0x38], r9d
mov r14d, r11d
mov r15, r10
jmp 0x1400b2dbe
mov r8, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x348]
sub rcx, r8
cmp rcx, 3
jle 0x1400b2de0
mov ecx, edi
mov r10d, ebx
shl edx, cl
mov ecx, esi
sub ecx, edi
shr r10d, cl
or edx, r10d
bswap edx
mov dword [r8], edx
add qword [rbp + 0x340], 4
mov edx, eax
sub edx, esi
mov esi, edx
add esi, edi
sub r14d, 0x10
mov dword [rbp + 0x330], ebx
mov dword [rbp + 0x334], esi
cmp r14d, 0xf
mov edx, ebx
mov edi, esi
jle 0x1400b2e41
movzx esi, byte [r12 + 0xf0]
movzx ebx, word [r13 + 0x1e0]
cmp esi, edi
jge 0x1400b2d63
mov ecx, esi
sub edi, esi
shl edx, cl
mov esi, edi
or ebx, edx
jmp 0x1400b2da0
lea r8, [0x1403ebec0]
mov edx, 0x10
xor ecx, ecx
mov dword [rsp + 0x24], eax
call fcn.14036cf30
mov eax, dword [rsp + 0x24]
jmp 0x1400b2d98
add r13d, 1
add r9d, 1
add r10, 1
cmp dword [rsp + 0x28], r9d
jge 0x1400b2d13
test r13d, r13d
setne al
cmp dword [rsp + 0x28], 0x3e
jle 0x1400b3031
test al, al
jne 0x1400b3031
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, r13
mov r13d, dword [rsp + 0x30]
mov r10, r15
mov r9d, dword [rsp + 0x38]
mov r15, r12
mov r12d, dword [rsp + 0x2c]
mov r8d, ebx
and r13d, 0xf
test r12d, r12d
mov edi, r12d
js 0x1400b2f70
or edi, 1
mov r11d, eax
shl r13d, 4
bsr edi, edi
xor edi, 0x1f
sub r11d, edi
or r13d, r11d
movsxd rdx, r13d
movzx ebx, byte [r15 + rdx]
movzx r13d, word [r14 + rdx*2]
cmp ebx, esi
jl 0x1400b2f60
mov rdx, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x348]
sub rcx, rdx
cmp rcx, 3
jle 0x1400b2fb1
mov ecx, esi
shl r8d, cl
mov ecx, ebx
mov dword [rsp + 0x24], r8d
sub ecx, esi
mov r8d, r13d
shr r8d, cl
mov ecx, r8d
mov r8d, dword [rsp + 0x24]
or r8d, ecx
bswap r8d
mov dword [rdx], r8d
add qword [rbp + 0x340], 4
mov edx, eax
sub edx, ebx
add esi, edx
mov edx, 1
mov ecx, r11d
mov dword [rbp + 0x330], r13d
shl edx, cl
mov dword [rbp + 0x334], esi
sub edx, 1
and r12d, edx
cmp r11d, esi
jl 0x1400b2f55
mov rdx, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x348]
sub rcx, rdx
cmp rcx, 3
jle 0x1400b2f80
mov ecx, esi
mov ebx, r12d
shl r13d, cl
mov ecx, r11d
sub ecx, esi
shr ebx, cl
or r13d, ebx
bswap r13d
mov dword [rdx], r13d
add qword [rbp + 0x340], 4
add esi, edi
mov dword [rbp + 0x330], r12d
mov dword [rbp + 0x334], esi
xor r13d, r13d
jmp 0x1400b2e04
shl r13d, cl
sub esi, r11d
or r12d, r13d
jmp 0x1400b2f40
mov ecx, ebx
sub esi, ebx
shl r8d, cl
or r13d, r8d
jmp 0x1400b2ee5
neg edi
sub r12d, 1
jmp 0x1400b2e6c
lea r8, [0x1403ebec0]
mov edx, 0x10
xor ecx, ecx
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x24], eax
call fcn.14036cf30
mov r10, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x24]
jmp 0x1400b2f3e
lea r8, [0x1403ebec0]
mov edx, 0x10
xor ecx, ecx
mov qword [rsp + 0x38], r10
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x24], r11d
call fcn.14036cf30
mov r10, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x2c]
mov r11d, dword [rsp + 0x24]
jmp 0x1400b2edf
mov r8d, dword [rbp + 0x330]
mov esi, dword [rbp + 0x334]
jmp 0x1400b2e60
movsx edi, word [rdx]
lea r9, [r14 + 0xc]
lea rcx, [rcx + 0x330]
mov r8, r14
lea r15, [r14 + 0x48]
xor esi, esi
add r14, 0x148
mov edx, edi
sub edx, dword [rcx + 0x670]
call fcn.1400b9430
jmp 0x1400b2ce7
movzx esi, byte [r15]
mov ebx, dword [rbp + 0x334]
movzx edi, word [r14]
mov eax, dword [rbp + 0x330]
cmp esi, ebx
jl 0x1400b3091
mov r8, qword [rbp + 0x340]
mov rdx, qword [rbp + 0x348]
sub rdx, r8
cmp rdx, 3
jle 0x1400b309b
mov ecx, ebx
mov edx, edi
shl eax, cl
mov ecx, esi
sub ecx, ebx
shr edx, cl
or eax, edx
bswap eax
mov dword [r8], eax
add qword [rbp + 0x340], 4
sub ebx, esi
add ebx, 0x20
mov dword [rbp + 0x330], edi
mov dword [rbp + 0x334], ebx
jmp 0x1400b2e30
mov ecx, esi
sub ebx, esi
shl eax, cl
or edi, eax
jmp 0x1400b3080
lea r8, [0x1403ebec0]
mov edx, 0x10
xor ecx, ecx
call fcn.14036cf30
jmp 0x1400b307b
xor eax, eax
jmp 0x1400b2e1d