Function at 0x14007b920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov eax, 0xffffff53
test rcx, rcx
je 0x14007bc42
test r9, r9
je 0x14007bc42
mov r11d, dword [rsp + 0xc0]
mov r15d, dword [rsp + 0xb0]
mov esi, dword [rsp + 0xa8]
lea r10d, [r15 + rsi]
cmp r10d, r11d
ja 0x14007bc42
cmp dword [rcx + 0x2c], r11d
jne 0x14007bc42
test byte [rcx + 0x32], 1
jne 0x14007bc40
movzx r11d, byte [rsp + 0xa0]
movzx ebx, byte [rcx + 0x30]
cmp bl, 0xff
je 0x14007b9b4
mov eax, 0xfffffe8e
cmp bl, r11b
jne 0x14007bc42
cmp word [rcx + 0x24], r8w
jne 0x14007bc42
cmp dword [rcx + 0x28], edx
je 0x14007b9c0
jmp 0x14007bc42
mov byte [rcx + 0x30], r11b
mov word [rcx + 0x24], r8w
mov dword [rcx + 0x28], edx
lea r12, [rcx + 0x18]
mov rdi, qword [rcx + 0x18]
test rdi, rdi
je 0x14007bab8
mov eax, dword [rdi + 8]
mov r8d, dword [rdi + 0xc]
add r8d, eax
cmp eax, esi
seta r11b
cmp r10d, r8d
seta dl
or dl, r11b
xor r14d, r14d
cmp dl, 1
jne 0x14007ba3f
cmp r8d, esi
jae 0x14007ba3f
xor dl, 1
mov r8d, 1
mov r14, rdi
mov rdi, qword [rdi]
test rdi, rdi
je 0x14007bb49
mov eax, dword [rdi + 8]
mov r11d, dword [rdi + 0xc]
add r11d, eax
cmp eax, esi
seta bl
cmp r10d, r11d
seta bpl
or bpl, bl
movzx edx, dl
cmove edx, r8d
cmp bpl, 1
jne 0x14007ba3a
cmp r11d, esi
jb 0x14007ba00
test dl, dl
sete dl
test dl, dl
je 0x14007bbc8
test r14, r14
jne 0x14007bb0a
mov r14, r12
cmp r10d, eax
jae 0x14007bb0a
mov eax, 0xfffffe39
cmp byte [rcx + 0x31], 9
ja 0x14007bc42
mov r14, r9
mov r13, rcx
mov ebx, r15d
lea rcx, [rbx + 0x10]
call fcn.140045640
test rax, rax
je 0x14007bbc1
mov qword [rax], 0
mov dword [rax + 8], esi
mov dword [rax + 0xc], r15d
mov rcx, rax
add rcx, 0x10
mov rdx, r14
mov r8, rbx
mov rsi, rax
call fcn.1400d0cd0
mov rcx, r13
mov qword [r13 + 0x18], rsi
mov qword [rsi], rdi
jmp 0x14007bb9c
mov rbx, r9
mov r14, rcx
mov edi, r15d
lea rcx, [rdi + 0x10]
call fcn.140045640
test rax, rax
je 0x14007bba6
mov qword [rax], 0
mov dword [rax + 8], esi
mov dword [rax + 0xc], r15d
mov rcx, rax
add rcx, 0x10
mov rdx, rbx
mov r8, rdi
mov rsi, rax
call fcn.1400d0cd0
mov rcx, r14
mov qword [r14 + 0x18], rsi
mov dword [r14 + 0x20], r15d
inc byte [r14 + 0x31]
jmp 0x14007bbc8
mov r8, rdi
mov r8, qword [r8]
test r8, r8
je 0x14007bb22
mov eax, dword [r8 + 0xc]
add eax, dword [r8 + 8]
cmp eax, r10d
jbe 0x14007bb0d
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r9
mov rbx, rcx
mov rdx, rdi
mov r9d, esi
call fcn.14007bc60
mov rcx, rbx
test rax, rax
cmove rax, rdi
mov qword [r14], rax
jmp 0x14007bbc8
test dl, dl
jne 0x14007bbc8
mov eax, 0xfffffe39
cmp byte [rcx + 0x31], 9
ja 0x14007bc42
mov rbx, r9
mov r13, rcx
mov edi, r15d
lea rcx, [rdi + 0x10]
call fcn.140045640
test rax, rax
je 0x14007bbb8
mov qword [rax], 0
mov dword [rax + 8], esi
mov dword [rax + 0xc], r15d
mov rcx, rax
add rcx, 0x10
mov rdx, rbx
mov r8, rdi
mov rsi, rax
call fcn.1400d0cd0
mov qword [r14], rsi
mov rcx, r13
add dword [r13 + 0x20], r15d
inc byte [r13 + 0x31]
jmp 0x14007bbc8
mov qword [r12], 0
mov eax, 0xfffffed1
jmp 0x14007bc42
mov qword [r14], 0
jmp 0x14007bbc5
mov qword [r12], rdi
mov rcx, r13
mov edx, dword [rcx + 0x20]
cmp edx, dword [rcx + 0x2c]
jne 0x14007bc40
cmp byte [rcx + 0x31], 1
jne 0x14007bc40
mov rax, qword [r12]
cmp dword [rax + 8], 0
jne 0x14007bc40
cmp dword [rax + 0xc], edx
jne 0x14007bc40
mov qword [rcx + 8], rax
lea rdx, [rax + 0x10]
mov qword [rcx + 0x10], rdx
or byte [rcx + 0x32], 1
mov qword [rcx + 0x18], 0
mov byte [rcx + 0x31], 0
movzx edx, byte [rcx + 0x30]
mov byte [rax + 4], dl
mov edx, dword [rcx + 0x2c]
mov r8d, edx
shr r8d, 0x10
mov byte [rax + 5], r8b
mov byte [rax + 6], dh
mov byte [rax + 7], dl
mov edx, dword [rcx + 0x28]
mov byte [rax + 8], dh
mov byte [rax + 9], dl
mov word [rax + 0xa], 0
mov byte [rax + 0xc], 0
mov ecx, dword [rcx + 0x2c]
mov edx, ecx
shr edx, 0x10
mov byte [rax + 0xd], dl
mov byte [rax + 0xe], ch
mov byte [rax + 0xf], cl
xor eax, eax
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret