Function at 0x180076de0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x88
mov r11, qword [r8]
mov rax, qword [r9]
mov r15, qword [rbp + 0xa7]
mov r14d, dword [rbp + 0x77]
mov esi, ecx
mov ecx, dword [rbp + 0x7f]
mov qword [rbp - 0x29], rax
mov rax, qword [rbp + 0x97]
xor r13d, r13d
mov qword [rbp - 0x19], rax
lea eax, [rcx + 6]
mov qword [rbp - 0x11], r11
mov dword [rbp + 0x7f], eax
lea eax, [rcx + 3]
mov rdi, r11
movsxd rcx, eax
mov qword [rbp - 0x21], r11
mov word [r11 + 1], r13w
add r11, rcx
lea rcx, [rbp + 0x7f]
test r15, r15
cmove rcx, r13
mov ebx, 0xfffffffe
mov qword [rbp + 0xa7], rcx
mov r12d, ebx
mov eax, esi
mov qword [rbp - 0x31], r11
and eax, 7
cmp eax, edx
je 0x180076e90
mov byte [r11], 0x13
and sil, 7
add r11, 2
mov byte [r11 - 1], sil
add dword [rbp + 0x7f], 2
mov qword [rbp - 0x31], r11
test r14d, r14d
je 0x180076eb0
mov word [r11], 0x56
mov byte [r11 + 2], 0
lea r13, [r11 + 1]
add r11, 3
add dword [rbp + 0x7f], 3
mov qword [rbp - 0x31], r11
mov rax, qword [rbp + 0x9f]
mov r9, qword [rbp + 0x6f]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x19]
lea r8, [rbp - 0x29]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x77]
lea rdx, [rbp - 0x31]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x97]
lea rcx, [rbp + 0x4f]
mov qword [rsp + 0x20], rax
call fcn.180074000
test eax, eax
je 0x180076fe2
mov esi, dword [rbp + 0x4f]
mov r11, qword [rbp - 0x31]
test r15, r15
jne 0x180076f80
cmp byte [rdi], 0x4e
je 0x180076f19
mov r12d, dword [rbp + 0x97]
mov ebx, dword [rbp + 0x77]
jmp 0x180076f59
mov eax, dword [rbp + 0x97]
test r12d, r12d
js 0x180076f33
cmp r12d, eax
je 0x180076f44
test ebx, ebx
cmovs ebx, r12d
or r12d, 0xffffffff
test eax, eax
js 0x180076f44
mov ecx, dword [rbp + 0x77]
test ecx, ecx
cmovs ecx, eax
mov dword [rbp + 0x77], ecx
jmp 0x180076f47
mov ecx, dword [rbp + 0x77]
mov eax, ecx
xor eax, ebx
test eax, 0xfffffdff
je 0x180076f57
or ebx, 0xffffffff
jmp 0x180076f59
or ebx, ecx
test r14d, r14d
je 0x180076f80
mov edx, esi
mov rcx, rdi
mov byte [r11], 0
call fcn.180072ec0
mov r10d, eax
test eax, eax
js 0x180076fcb
mov ecx, eax
mov byte [r13 + 1], al
sar ecx, 8
mov byte [r13], cl
mov rdx, qword [rbp - 0x29]
cmp byte [rdx], 0x7c
jne 0x180077003
mov rcx, qword [rbp + 0xa7]
mov byte [r11], 0x4e
inc rdx
mov rax, r11
mov qword [rbp - 0x29], rdx
mov edx, dword [rbp + 0x57]
sub rax, rdi
sar rax, 8
mov byte [r11 + 1], al
movzx eax, r11b
sub al, dil
mov rdi, r11
mov byte [r11 + 2], al
mov qword [rbp - 0x11], r11
add r11, 3
add dword [rbp + 0x7f], 3
jmp 0x180076e6b
mov ecx, 0x24
mov eax, 0x19
cmp r10d, 0xfffffffe
cmove eax, ecx
mov rcx, qword [rbp + 0x6f]
mov dword [rcx], eax
mov rax, qword [rbp - 0x29]
mov r8, qword [rbp + 0x67]
mov qword [r8], rax
xor eax, eax
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8d, r11d
sub r8d, edi
nop dword [rax]
movzx eax, byte [rdi + 2]
movzx ecx, byte [rdi + 1]
mov byte [rdi + 2], r8b
shl ecx, 8
or ecx, eax
mov eax, r8d
sar eax, 8
mov r8d, ecx
mov byte [rdi + 1], al
movsxd rax, ecx
sub rdi, rax
test ecx, ecx
jg 0x180077010
mov rcx, qword [rbp - 0x21]
mov byte [r11], 0x4f
mov rax, r11
sub rax, rcx
and esi, 7
sar rax, 8
mov byte [r11 + 1], al
movzx eax, r11b
add r11, 3
sub al, cl
mov byte [r11 - 1], al
mov eax, dword [rbp + 0x57]
cmp esi, eax
je 0x18007707e
cmp byte [rdx], 0x29
jne 0x18007707e
mov byte [r11], 0x13
mov byte [r11 + 1], al
mov ecx, dword [rbp + 0x7f]
add r11, 2
add ecx, 2
jmp 0x180077081
mov ecx, dword [rbp + 0x7f]
mov rax, qword [rbp + 0x5f]
mov r8, qword [rbp + 0x67]
mov qword [rax], r11
mov rax, qword [rbp + 0x87]
mov qword [r8], rdx
mov dword [rax], r12d
mov rax, qword [rbp + 0x8f]
mov dword [rax], ebx
test r15, r15
je 0x1800770aa
add dword [r15], ecx
mov eax, 1
jmp 0x180076fef