Function at 0x180019d40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
push r12
push r15
sub rsp, 0x188
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov r15, rcx
mov qword [rsp + 0x30], r9
imul ecx, r8d, 0x10e
mov eax, r8d
mov dword [rsp + 0x24], eax
mov r12, rdx
mov dword [rsp + 0x28], ecx
cmp r8d, ecx
ja 0x180019ff5
mov qword [r11 + 0x18], rbx
mov r8d, pe_nt_image_headers64
movzx ebx, byte [rsp + 0x20]
mov qword [r11 - 0x18], rbp
movzx ebp, byte [rsp + 0x20]
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
movzx edi, byte [rsp + 0x20]
imul edx, eax, 0x36
mov qword [r11 - 0x30], r13
xor r10d, r10d
mov r13, qword [rsp + 0x30]
mov qword [r11 - 0x38], r14
mov r14, qword [rsp + 0x30]
mov dword [rsp + 0x2c], edx
cmp eax, 0x2f
je 0x180019f7d
cmp eax, 0xb1
je 0x180019f2f
cmp eax, 0xa19
je 0x180019ea4
cmp eax, 0x2607
je 0x180019e04
cmp eax, 0x4b5d
jne 0x180019fb1
mov byte [rsp + 0x141], bl
jmp 0x180019fb1
cmp qword [r15 + 0x18], 0x10
mov r9, r15
jb 0x180019e11
mov r9, qword [r15]
cmp r14, qword [r15 + 0x10]
jae 0x180019e92
nop word [rax + rax]
mov r8d, 0x6e
cmp r8d, 0x6e
je 0x180019e57
cmp r8d, 0x71
jne 0x180019e76
movzx eax, bl
mov byte [rsp + rax + 0x40], bpl
movzx eax, dil
movzx ecx, byte [rsp + rax + 0x40]
add cl, bpl
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x40]
xor byte [r9 + r14], cl
inc r14
jmp 0x180019e76
inc dil
lea rdx, [rsp + 0x40]
movzx eax, dil
add rdx, rax
movzx ebp, byte [rdx]
add bl, bpl
movzx eax, bl
movzx ecx, byte [rsp + rax + 0x40]
mov byte [rdx], cl
add r8d, 3
cmp r8d, 0x74
jb 0x180019e26
cmp r14, qword [r15 + 0x10]
jb 0x180019e20
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x30]
mov byte [rsp + 0x140], dil
jmp 0x180019fb1
xor r11b, r11b
xor sil, sil
nop word [rax + rax]
mov r9d, 0xd8
mov eax, r9d
sub eax, 0xd8
je 0x180019ee0
sub eax, 1
je 0x180019ed0
cmp eax, 1
jne 0x180019f09
inc r10w
jmp 0x180019f09
movzx eax, r11b
inc eax
cdq
idiv dword [r12]
mov r11d, edx
jmp 0x180019f09
movzx edx, r10w
movzx eax, r11b
movzx r8d, byte [rdx + r13]
movzx ecx, byte [rax + r15]
add cl, r8b
add sil, cl
movzx ecx, sil
movzx eax, byte [rcx + r13]
mov byte [rdx + r13], al
mov byte [rcx + r13], r8b
inc r9d
cmp r9d, 0xdb
jb 0x180019eb6
mov r8d, pe_nt_image_headers64
cmp r10w, r8w
jb 0x180019eb0
mov r9, qword [rsp + 0x30]
xor r10d, r10d
mov edx, dword [rsp + 0x2c]
jmp 0x180019fa9
cmp qword [r12 + 0x18], 0x10
mov r14, r10
mov rcx, r12
jb 0x180019f41
mov rcx, qword [r12]
mov eax, dword [r12 + 0x10]
lea r9, [rsp + 0x40]
mov r8d, 0x2f
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x38]
call fcn.180019d40
mov r9, qword [rsp + 0x30]
xor r10d, r10d
mov edx, dword [rsp + 0x2c]
movzx edi, byte [rsp + 0x140]
movzx ebx, byte [rsp + 0x141]
jmp 0x180019fa9
mov r13, r9
movzx eax, r10w
mov rcx, r9
nop word [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc ax
cmp ax, r8w
jb 0x180019f90
mov word [r9 + 0x100], 0
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
add eax, edx
mov r8d, pe_nt_image_headers64
mov dword [rsp + 0x24], eax
cmp eax, ecx
jbe 0x180019dc7
mov r14, qword [rsp + 0x160]
mov r13, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
mov rbp, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.180050c90
add rsp, 0x188
pop r15
pop r12
ret