Function at 0x14004e0c0
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, 0xa8
mov dword [rsp + 0x34], 3
cmp ecx, 1
add dword [rdi], ecx
test dword [rdi], ebp
add eax, dword [rax]
invalid
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x50], r9
push rax
mov rsi, qword [rsp + 0x110]
adc byte [rcx], al
add byte [rax], al
mov qword [rsp + 0x60], rsi
je 0x14004e11d
invalid
mov rcx, rsi
mov ecx, esi
call sym._Unwind_GetLanguageSpecificData
invalid
add byte [rcx - 0x77], cl
invalid
mov dword [rsp + 0x3c], 0
add byte [rax], al
add byte [rax], al
lea rdx, [rsp + 0x3c]
mov rcx, rsi
mov ecx, esi
call sym._Unwind_GetIPInfo
mov ch, 7
add byte [rcx - 0x77], cl
mov byte [rbx + 0x13c247c], 0x49
sbb esi, 0
add byte [rax - 0x77], cl
int1
call sym._Unwind_GetRegionStart
lea rcx, [rsp + 0x60]
lea ecx, [rsp + 0x60]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x98], r14
mov rcx, rax
ror dword [rax - 0x77], 0x44
and al, 0x48
mov qword [rsp + 0xa0], rax
add byte [rax - 0x73], cl
and al, 0x68
push 0x24448948
js 0x14004e1a8
lea rax, dbg.drop_in_place_std::backtrace::lazy_resolve::closure0::closure_env0_
mov qword [rsp + 0x80], rax
test byte [rax + rax*4], ah
add byte [rax], al
add byte [rax - 0x73], cl
and al, 0x70
mov qword [rsp + 0x88], rax
mov byte [rax], al
add byte [rax], al
lea rax, dbg.drop_in_place_std::backtrace::lazy_resolve::closure0::closure_env0_
or dword [rax], eax
mov qword [rsp + 0x90], rax
test r12, r12
je 0x14004e39c
add byte [rax], al
movzx r8d, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x28], esp
cmp r8b, 0xff
je 0x14004e1ca
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x78]
push rsp
and al, 0x78
js 0x14004e199
jmp 0x14004e14d
invalid
dec dword [rax - 0x77]
push rsp
and al, 0x40
test rax, rax
jne case.0x14004e3bb.0
mov r12, qword [rsp + 0x28]
jmp 0x14004e1d4
invalid
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x40], eax
movzx eax, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
cmp al, 0xff
je case.0x140043d82.112
nop word cs:[rax + rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
js 0x14004e1f0
mov qword [rsp + 0x28], r12
movzx edi, byte [r12]
inc r12
invalid
mov qword [rsp + 0x28], r12
xor ebp, ebp
xor ecx, ecx
nop word cs:[rax + rax]
add byte [rax], al
add byte [rax], al
invalid
movzx eax, byte [r12]
mov edx, eax
and edx, 0x7f
shl rdx, cl
inc r12
or rbp, rdx
add rcx, 7
test al, al
js 0x14004e220
mov qword [rsp + 0x28], r12
lea rax, [r12 + rbp]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x78]
mov rax, r12
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword cs:[rax + rax]
add byte [rax], al
add byte [rax], al
cmp rax, qword [rsp + 0x58]
jae 0x14004e3f9
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, edi
call dbg.read_encoded_pointer
invalid
invalid
dec dword [rax - 0x7b]
ror byte [rdi + rcx + 0x44], 0xea
invalid
jne case.0x14004e3bb.0
lea rcx, [rsp + 0x28]
mov rdx, rbx
fiadd dword [rcx - 0x77]
clc
call dbg.read_encoded_pointer
or byte [rdx - 0x7ab70001], bl
ror byte [rax + 0xf], 0x44
bnd jne case.0x14004e3bb.0
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov edx, ebx
mov r8d, edi
call dbg.read_encoded_pointer
test rax, rax
cmove r15, rdx
jne case.0x14004e3bb.0
mov rax, qword [rsp + 0x28]
xor edx, edx
xor ecx, ecx
nop dword [rax + rax]
invalid
add byte [rax], r8b
movzx r8d, byte [rax]
mov r9d, r8d
and r9d, 0x7f
shl r9, cl
inc rax
or rdx, r9
add rcx, 7
test r8b, r8b
js 0x14004e2d0
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x48]
add rcx, r13
add ecx, ebp
cmp r14, rcx
jb 0x14004e3f9
add rcx, rsi
cmp r14, rcx
jae 0x14004e260
test r15, r15
je 0x14004e39c
add r15, qword [rsp + 0x40]
test rdx, rdx
je 0x14004e43e
add rbp, rdx
lea rdx, [r12 + rbp]
dec rdx
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
movzx r8d, byte [rdx]
mov r9d, r8d
and r9d, 0x7f
shl r9, cl
inc rdx
or rax, r9
add ecx, 7
test r8b, r8b
js 0x14004e340
mov rdx, 0xffffffffffffffff
shl rdx, cl
xor r9d, r9d
test r8b, 0x40
cmove rdx, r9
cmp ecx, 0x40
cmovae rdx, r9
xor ecx, ecx
mov r8, rax
or r8, rdx
setg cl
lahf
ror dword [rax - 0x7d], 0xf1
add ecx, dword [rax + 9]
ret 0x1b8
add byte [rax], al
add byte [rax + 0xf], cl
sal r14d, 0x44
and al, 0x38
invalid
je 0x14004e3a5
invalid
jmp 0x14004e405
xor eax, eax
test byte [rsp + 0x38], 1
jne 0x14004e405
mov eax, 4
test byte [rsp + 0x38], 1
mov eax, 1
test byte [rsp + 0x38], 1
je 0x14004e3a5
jmp 0x14004e405