Function at 0x140036a50
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, 0x1f8
mov rbx, r9
mov r14, r8
mov qword [rsp + 0x40], rcx
mov rcx, qword [0x141936110]
test rcx, rcx
je 0x140036a90
mov al, 2
test cx, cx
jns 0x140036aa5
lea rcx, [rdx - 1]
cmp rcx, 0x40
jb 0x140036ac8
jmp 0x140036ecb
mov rsi, rdx
call fcn.1400ee7b0
mov rdx, rsi
mov rcx, rax
mov al, 2
test cx, cx
js 0x140036a81
mov rax, qword [0x141936110]
test rax, rax
je 0x140036ebb
shr eax, 0xa
and al, 1
lea rcx, [rdx - 1]
cmp rcx, 0x40
jae 0x140036ecb
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
movabs rcx, 0x6a09e667f2bdc908
xor rcx, rdx
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
lea r15, [rsp + 0xd0]
mov qword [rsp + 0xd0], rcx
movabs rcx, 0xbb67ae8584caa73b
mov qword [rsp + 0xd8], rcx
movabs rcx, 0x3c6ef372fe94f82b
mov qword [rsp + 0xe0], rcx
movabs rcx, 0xa54ff53a5f1d36f1
mov qword [rsp + 0xe8], rcx
movabs rcx, 0x510e527fade682d1
mov qword [rsp + 0xf0], rcx
movabs rcx, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xf8], rcx
movabs rcx, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x100], rcx
movabs rcx, 0x5be0cd19137e2179
mov qword [rsp + 0x108], rcx
movaps xmmword [rsp + 0x110], xmm0
mov byte [rsp + 0x120], 0
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x121], dl
mov byte [rsp + 0x122], al
mov word [rsp + 0x123], 1
shl rbx, 4
add rbx, r14
xor ebp, ebp
nop word cs:[rax + rax]
mov r13, qword [r14]
mov rdi, qword [r14 + 8]
test bpl, bpl
je 0x140036cf0
movzx eax, bpl
mov r12d, pe_nt_image_headers64
sub r12, rax
cmp r12, rdi
mov rbp, rdi
cmovb rbp, r12
mov rcx, rbp
add rcx, rax
jb 0x140036ecb
cmp rcx, 0x80
ja 0x140036ecb
lea rcx, [rsp + rax]
add rcx, 0x50
mov rdx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0x120]
add al, bpl
mov byte [rsp + 0x120], al
mov rsi, rdi
sub rsi, rbp
add r13, rbp
cmp r12, rdi
jae 0x140036ceb
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 1
mov r8d, pe_nt_image_headers64
lea rdx, [rsp + 0x50]
mov r9, r15
call fcn.140038e10
add qword [rsp + 0x110], 0x80
adc qword [rsp + 0x118], 0
mov byte [rsp + 0x120], 0
xor eax, eax
mov rdi, rsi
jmp 0x140036cf2
xor eax, eax
mov rcx, rdi
sub rcx, 1
mov ebp, 0
cmovae rbp, rcx
and rbp, 0xffffffffffffff80
je 0x140036d61
sub rdi, rbp
jb 0x140036ecb
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 1
mov rdx, r13
mov r8, rbp
mov r9, r15
call fcn.140038e10
add qword [rsp + 0x110], rbp
adc qword [rsp + 0x118], 0
add r13, rbp
movzx eax, byte [rsp + 0x120]
movzx eax, al
mov ebp, pe_nt_image_headers64
sub rbp, rax
cmp rbp, rdi
cmovae rbp, rdi
mov rcx, rbp
add rcx, rax
jb 0x140036ecb
cmp rcx, 0x80
ja 0x140036ecb
lea rcx, [rsp + rax]
add rcx, 0x50
mov rdx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
add bpl, byte [rsp + 0x120]
mov byte [rsp + 0x120], bpl
add r14, 0x10
cmp r14, rbx
jne 0x140036c20
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x160], xmm3
movaps xmmword [rsp + 0x150], xmm2
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
cmp bpl, 0x81
jae 0x140036ecb
movzx r8d, bpl
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
lea rdx, [rsp + 0x50]
lea r9, [rsp + 0x130]
call fcn.140038e10
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmm3, xmmword [rsp + 0x160]
movzx eax, byte [rsp + 0x121]
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x180], xmm1
movups xmmword [rsp + 0x190], xmm2
movups xmmword [rsp + 0x1a0], xmm3
mov byte [rsp + 0x1b0], al
cmp rax, 0x41
jae 0x140036ecb
mov r8, qword [rsp + 0x48]
cmp rax, r8
jne 0x140036ecd
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
nop
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rdx
call fcn.1400ee7b0
mov rdx, rsi
jmp 0x140036ab5
ud2
call fcn.14003d970
int3