Function at 0x140039aa0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x348
mov eax, edx
mov r14, qword [0x1400f6380]
mov rdx, qword [r14]
xor rdx, rsp
mov qword [rsp + 0x340], rdx
mov rsi, qword [rcx]
mov edi, dword [rcx + 8]
test edi, edi
jle 0x140039adf
xor ecx, ecx
nop
cmp byte [rsi + rcx], 0x30
jne 0x140039ae3
add rcx, 1
cmp rdi, rcx
jne 0x140039ad0
xor edi, edi
jmp 0x140039ae8
add rsi, rcx
sub edi, ecx
movsxd rbx, edi
lea ecx, [rbx + 1]
lea edx, [rax - 1]
nop word cs:[rax + rax]
nop dword [rax + rax]
test rbx, rbx
jle 0x140039b43
add ecx, 0xffffffff
add edx, 1
cmp byte [rsi + rbx - 1], 0x30
lea rbx, [rbx - 1]
je 0x140039b00
cmp ecx, 0x30d
jl 0x140039b49
lea r8, [rsp + 0x33b]
lea rax, [rsi + 0x30b]
lea r9, [rsp + 0x30]
cmp r9, rax
jae 0x140039b51
cmp rsi, r8
jae 0x140039b51
xor ebx, ebx
jmp 0x140039e0d
add edi, eax
xor ecx, ecx
mov edx, edi
mov r9, rsi
jmp 0x140039e96
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmm1, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmm1, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movups xmm0, xmmword [rsi + 0x60]
movups xmm1, xmmword [rsi + 0x70]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [rsi + 0x80]
movups xmm1, xmmword [rsi + 0x90]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movups xmm0, xmmword [rsi + 0xa0]
movups xmm1, xmmword [rsi + 0xb0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm1
movups xmm0, xmmword [rsi + 0xc0]
movups xmm1, xmmword [rsi + 0xd0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
movups xmm0, xmmword [rsi + 0xe0]
movups xmm1, xmmword [rsi + 0xf0]
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm1
movups xmm0, xmmword [rsi + 0x100]
movups xmm1, xmmword [rsi + 0x110]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movups xmm0, xmmword [rsi + 0x120]
movups xmm1, xmmword [rsi + 0x130]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
movups xmm0, xmmword [rsi + 0x140]
movups xmm1, xmmword [rsi + 0x150]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x180], xmm1
movups xmm0, xmmword [rsi + 0x160]
movups xmm1, xmmword [rsi + 0x170]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
movups xmm0, xmmword [rsi + 0x180]
movups xmm1, xmmword [rsi + 0x190]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1c0], xmm1
movups xmm0, xmmword [rsi + 0x1a0]
movups xmm1, xmmword [rsi + 0x1b0]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1e0], xmm1
movups xmm0, xmmword [rsi + 0x1c0]
movups xmm1, xmmword [rsi + 0x1d0]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x200], xmm1
movups xmm0, xmmword [rsi + 0x1e0]
movups xmm1, xmmword [rsi + 0x1f0]
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x220], xmm1
movups xmm0, xmmword [rsi + 0x200]
movups xmm1, xmmword [rsi + 0x210]
movaps xmmword [rsp + 0x230], xmm0
movaps xmmword [rsp + 0x240], xmm1
movups xmm0, xmmword [rsi + 0x220]
movups xmm1, xmmword [rsi + 0x230]
movaps xmmword [rsp + 0x250], xmm0
movaps xmmword [rsp + 0x260], xmm1
movups xmm0, xmmword [rsi + 0x240]
movups xmm1, xmmword [rsi + 0x250]
movaps xmmword [rsp + 0x270], xmm0
movaps xmmword [rsp + 0x280], xmm1
movups xmm0, xmmword [rsi + 0x260]
movups xmm1, xmmword [rsi + 0x270]
movaps xmmword [rsp + 0x290], xmm0
movaps xmmword [rsp + 0x2a0], xmm1
movups xmm0, xmmword [rsi + 0x280]
movups xmm1, xmmword [rsi + 0x290]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x2c0], xmm1
movups xmm0, xmmword [rsi + 0x2a0]
movups xmm1, xmmword [rsi + 0x2b0]
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmmword [rsp + 0x2e0], xmm1
movups xmm0, xmmword [rsi + 0x2c0]
movups xmm1, xmmword [rsi + 0x2d0]
movaps xmmword [rsp + 0x2f0], xmm0
movaps xmmword [rsp + 0x300], xmm1
movups xmm0, xmmword [rsi + 0x2e0]
movups xmm1, xmmword [rsi + 0x2f0]
movaps xmmword [rsp + 0x310], xmm0
movaps xmmword [rsp + 0x320], xmm1
mov rbx, qword [rsi + 0x300]
mov qword [rsp + 0x330], rbx
mov ebx, 0x308
cmp rsi, r8
setb r8b
cmp r9, rax
setb r10b
and r10b, r8b
mov rdi, 0xfffffffffffffffe
nop word cs:[rax + rax]
nop
movzx eax, byte [rsi + rbx]
mov byte [rsp + rbx + 0x30], al
test rdi, rdi
je 0x140039e47
add rbx, 1
add rdi, 1
jmp 0x140039e30
test r10b, r10b
je 0x140039e81
nop dword [rax]
movzx eax, byte [rsi + rbx + 1]
mov byte [rsp + rbx + 0x31], al
movzx eax, byte [rsi + rbx + 2]
mov byte [rsp + rbx + 0x32], al
movzx eax, byte [rsi + rbx + 3]
mov byte [rsp + rbx + 0x33], al
movzx eax, byte [rsi + rbx + 4]
mov byte [rsp + rbx + 0x34], al
add rbx, 4
cmp rbx, 0x30a
jne 0x140039e50
mov byte [rsp + 0x33b], 0x31
add edx, ecx
add edx, 0xfffffcf4
mov ecx, 0x30c
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0x20]
call fcn.140039250
mov rax, qword [rsp + 0x340]
xor rax, rsp
mov rcx, qword [r14]
cmp rcx, rax
jne 0x140039ec9
add rsp, 0x348
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.140072349
int3