Function at 0x14045d839
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
push r8
mov qword [rsp], r14
sub rsp, 0x20
mov dword [rsp - 0xc], 0x671900d7
xchg rbx, rax
mov rbx, qword [rcx + 8]
xchg rbx, rax
xor r12d, r12d
mov rsi, rsi
xchg rdx, rsi
mov rdx, rcx
xchg rdx, rsi
test rax, rax
je 0x14045da72
mov dword [rsp - 0x38], edi
mov rcx, qword [rcx + 0x10]
cmp rax, rcx
jb 0x14045da64
xchg rdi, rdi
add rcx, qword [rsi + 0x18]
mov qword [rsi + 0x10], rcx
mov qword [rsp + 0x40], rbp
xchg r10, rdi
mov qword [rsp + 0x48], r10
xchg r10, rdi
lea rcx, [rcx + rcx*4]
shl rcx, 5
shl rcx, 1
call fcn.140096260
mov rdi, rdi
mov r14, rax
mov ebp, r12d
mov rax, qword [rsi + 8]
mov dword [rsp - 0x10], ecx
test rax, rax
je 0x14045d9e2
mov qword [rsp + 0x50], r15
lea rbx, [r14 + 0x78]
mov rbx, rbx
nop
movabs r15, 0xffffffff7dab961a
sub r15, 0x25917b68
xor r15, 0x12a047a9
add r15, 0x136cc326
add r15, 0x7fffffff
add r15, 0x21d8df48
sub r15, r14
mov dword [rsp - 0x18], 0x1673c05f
nop dword [rax]
nop word [rax + rax]
lea rax, [rbx - 0x70]
mov dword [rsp - 0x20], 0x5a33116d
xorps xmm0, xmm0
mov qword [rbx - 0x78], rax
lea rcx, [rbx - 0x78]
xchg r14, rax
movups xmmword [r14], xmm0
xchg r14, rax
lea rdi, [r15 + rbx]
mov dword [rsp - 0x38], 0x693df6c4
add rdi, qword [rsi]
xchg r13, rax
movups xmmword [r13 + 0x10], xmm0
xchg r13, rax
movups xmmword [rax + 0x20], xmm0
xchg r15, rdx
mov r15, qword [rdi + 0x38]
xchg r15, rdx
mov qword [rbx - 0x40], rdx
xchg r10, r10
call fcn.14000ed40
xchg r14, r8
mov r14, r12
xchg r14, r8
cmp qword [rbx - 0x40], r12
mov r12, r12
jbe 0x14045d77d
nop word [rax + rax]
xchg r9, rcx
mov r9, qword [rdi]
xchg r9, rcx
movzx edx, word [rcx + r8*2]
xchg rdi, rdi
mov word [rax + r8*2], dx
inc r8
cmp r8, qword [rbx - 0x40]
mov dword [rsp - 0x20], 0x7de74486
jb 0x14045d752
lea rax, [rbx - 0x30]
xorps xmm0, xmm0
xchg rbp, rax
mov qword [rbx - 0x38], rbp
xchg rbp, rax
lea rcx, [rbx - 0x38]
xchg rbp, rax
movups xmmword [rbp], xmm0
xchg rbp, rax
xchg r14, rax
movups xmmword [r14 + 0x10], xmm0
xchg r14, rax
xchg rdi, rax
movups xmmword [rdi + 0x20], xmm0
xchg rdi, rax
xchg r8, rdx
mov r8, qword [rdi + 0x78]
xchg rdx, r8
xchg r13, rdx
mov qword [rbx], r13
xchg r13, rdx
call fcn.14000ed40
xchg rdx, r12
mov r8, rdx
xchg r12, rdx
cmp qword [rbx], r12
mov r14, r14
jbe 0x14045d803
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x40]
xchg r15, r15
movzx edx, word [rcx + r8*2]
mov word [rax + r8*2], dx
inc r8
mov dword [rsp - 0x24], edi
cmp r8, qword [rbx]
jb 0x14045d7e2
lea rax, [rbx + 0x10]
xchg r12, r12
xorps xmm0, xmm0
xchg rdi, rax
mov qword [rbx + 8], rdi
xchg rdi, rax
lea rcx, [rbx + 8]
mov dword [rsp - 0x20], esp
movups xmmword [rax], xmm0
xchg r12, rax
movups xmmword [r12 + 0x10], xmm0
xchg r12, rax
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [rdi + 0xb8]
mov qword [rbx + 0x40], rdx
mov dword [rsp - 0x40], edx
call fcn.14000ed40
xchg r12, rbp
mov r8, rbp
xchg rbp, r12
cmp qword [rbx + 0x40], r12
jbe 0x14045d88f
mov dword [rsp - 0x1c], 0x34274ecf
nop dword [rax]
xchg rcx, r10
mov r10, qword [rdi + 0x80]
xchg rcx, r10
movzx edx, word [rcx + r8*2]
mov word [rax + r8*2], dx
xchg r11, r11
inc r8
cmp r8, qword [rbx + 0x40]
jb 0x14045d864
mov dword [rsp - 0xc], esi
lea rax, [rbx + 0x50]
xorps xmm0, xmm0
mov qword [rbx + 0x48], rax
lea rcx, [rbx + 0x48]
mov dword [rsp - 0x28], 0x63f3998e
xchg r15, rax
movups xmmword [r15], xmm0
xchg r15, rax
movups xmmword [rax + 0x10], xmm0
xchg rsi, rsi
xchg r12, rax
movups xmmword [r12 + 0x20], xmm0
xchg r12, rax
xchg rdx, rbp
mov rbp, qword [rdi + 0xf8]
xchg rdx, rbp
xchg r15, rdx
mov qword [rbx + 0x80], r15
xchg r15, rdx
call fcn.14000ed40
mov r8, r12
cmp qword [rbx + 0x80], r12
mov rsp, rsp
jbe 0x14045d928
xchg r11, rcx
mov r11, qword [rdi + 0xc0]
xchg rcx, r11
movzx edx, word [rcx + r8*2]
mov dword [rsp - 0x40], 0x109849d
mov word [rax + r8*2], dx
inc r8
cmp r8, qword [rbx + 0x80]
mov dword [rsp - 0x18], 0x53a90cf9
jb 0x14045d8f1
lea rax, [rbx + 0x90]
xorps xmm0, xmm0
lea rcx, [rbx + 0x88]
xchg r10, r10
mov qword [rcx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
xchg rsi, rax
movups xmmword [rsi + 0x20], xmm0
xchg rsi, rax
mov rdx, qword [rdi + 0x138]
mov qword [rbx + 0xc0], rdx
mov dword [rsp - 0x44], 0x5734aa8f
call fcn.14000ed40
xchg r8, rbp
mov rbp, r12
xchg rbp, r8
cmp qword [rbx + 0xc0], r12
mov r12, r12
jbe 0x14045d9b2
nop
xchg rcx, r9
mov r9, qword [rdi + 0x100]
xchg rcx, r9
movzx edx, word [rcx + r8*2]
mov dword [rsp - 0x40], edi
mov word [rax + r8*2], dx
inc r8
cmp r8, qword [rbx + 0xc0]
xchg r14, r14
jb 0x14045d984
xchg r10, rax
mov r10, qword [rsi + 8]
xchg r10, rax
inc rbp
mov dword [rsp - 0x2c], 0x635d7884
sub rbx, 0xfffffffffffffec0
cmp rbp, rax
jb 0x14045d6e2
mov dword [rsp - 0x10], 0x71a9ea8c
mov r15, qword [rsp + 0x50]
xchg rbp, rdx
mov rdx, qword [rsp + 0x40]
xchg rbp, rdx
cmp qword [rsi], r12
mov dword [rsp - 0x18], ebx
je 0x14045da54
xchg r11, rdi
mov r11, r12
xchg rdi, r11
test rax, rax
je 0x14045da4c
mov dword [rsp - 0x28], 0x6ce300f
mov rbx, r12
nop
xchg rdx, rcx
mov rdx, qword [rsi]
xchg rcx, rdx
add rcx, rbx
call fcn.140461330
inc rdi
mov dword [rsp - 0x24], ebp
add rbx, 0x42925567
sub rbx, 0x42925427
cmp rdi, qword [rsi + 8]
xchg rbp, rbp
jb 0x14045da19
mov rcx, qword [rsi]
call fcn.140095ef0
mov rdi, qword [rsp + 0x48]
xchg rcx, rcx
mov qword [rsi], r14
jmp 0x14045dab6
xchg r14, r13
mov r13, qword [rsi]
xchg r13, r14
jmp 0x14045dab6
xchg r14, r8
mov r8, qword [rcx]
xchg r8, r14
test r14, r14
mov dword [rsp - 0x40], 0x1d489d2a
jne 0x14045dab6
xchg r8, rax
mov r8, qword [rcx + 0x18]
xchg r8, rax
xchg rbx, rax
mov qword [rcx + 0x10], rbx
xchg rbx, rax
lea rcx, [rax + rax*4]
shl rcx, 6
xchg rbx, rbx
call fcn.140096260
mov r14, rax
xchg rsp, rax
mov qword [rsi], rsp
xchg rsp, rax
mov rax, qword [rsi + 8]
xor edx, edx
mov dword [rsp - 0x30], 0x1f896f5d
mov r8d, 0x794ffa65
xor r8d, 0x2a9cdade
sub r8d, 0x3f0d6c2
sub r8d, 0x2587c041
sub r8d, 0x2a5a8878
lea rbx, [rax + rax*4]
shl rbx, 6
mov r14, r14
add rbx, r14
inc rax
mov rcx, rbx
mov qword [rsi + 8], rax
xchg r13, r13
call fcn.140096540
xorps xmm0, xmm0
lea rcx, [rbx + 0xc8]
lea rax, [rbx + 8]
mov r12, r12
xchg rsi, rax
mov qword [rbx], rsi
xchg rsi, rax
lea rax, [rbx + 0x48]
xchg r13, r13
mov qword [rbx + 0x40], rax
xchg rdx, rax
movups xmmword [rdx], xmm0
xchg rdx, rax
xchg r10, rax
movups xmmword [r10 + 0x10], xmm0
xchg r10, rax
xchg r8, rax
movups xmmword [r8 + 0x20], xmm0
xchg r8, rax
mov qword [rbx + 0x78], r12
xchg rcx, rcx
lea rax, [rbx + 0x88]
mov qword [rbx + 0x80], rax
xchg rdi, rax
movups xmmword [rdi], xmm0
xchg rdi, rax
xchg r9, rax
movups xmmword [r9 + 0x10], xmm0
xchg r9, rax
xchg rdx, rax
movups xmmword [rdx + 0x20], xmm0
xchg rdx, rax
xchg r8, r12
mov qword [rbx + 0xb8], r8
xchg r12, r8
xchg rdi, rax
mov rdi, rbx
xchg rdi, rax
xchg rcx, r9
mov qword [rbx + 0xc0], r9
xchg rcx, r9
xchg r11, rcx
movups xmmword [r11], xmm0
xchg r11, rcx
xchg rcx, r8
movups xmmword [r8 + 0x10], xmm0
xchg r8, rcx
xchg rcx, r14
movups xmmword [r14 + 0x20], xmm0
xchg rcx, r14
mov qword [rbx + 0xf8], r12
lea rcx, [rbx + 0x108]
xchg rcx, rsi
mov qword [rbx + 0x100], rsi
xchg rcx, rsi
xchg rcx, rdx
movups xmmword [rdx], xmm0
xchg rdx, rcx
xchg r8, rcx
movups xmmword [r8 + 0x10], xmm0
xchg r8, rcx
xchg rbx, rcx
movups xmmword [rbx + 0x20], xmm0
xchg rbx, rcx
mov qword [rbx + 0x138], r12
mov rbx, qword [rsp + 0x58]
xchg rbp, rbp
sub rsp, 0xffffffffffffffe0
pop r14
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
ret