Function at 0x140041590
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsp
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
add byte [rax], al
add bh, al
and al, 0x34
add eax, dword [rax]
add byte [rax], al
cmp ecx, 1
jne case.0x14004188b.0
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 0x1400415ed
invalid
mov rcx, rsi
mov ecx, esi
call dbg._Unwind_GetLanguageSpecificData
invalid
add byte [rcx - 0x77], cl
invalid
mov dword [rsp + 0x3c], 0
lea rdx, [rsp + 0x3c]
mov rcx, rsi
mov ecx, esi
call dbg._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 dbg._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
lea rax, [rsp + 0x68]
push 0x24448948
js 0x140041678
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
lea rax, dbg.drop_in_place_std::backtrace::lazy_resolve::closure0::closure_env0_
mov qword [rsp + 0x90], rax
test r12, r12
je 0x14004186c
add byte [rax], al
movzx r8d, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x28], esp
cmp r8b, 0xff
je 0x14004169a
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x78]
push rsp
and al, 0x78
js 0x140041669
jmp 0x14004161d
invalid
dec dword [rax - 0x77]
push rsp
and al, 0x40
test rax, rax
jne case.0x14004188b.0
mov r12, qword [rsp + 0x28]
jmp 0x1400416a4
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.0x140036fa3.112
nop word cs:[rax + rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
js 0x1400416c0
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 0x1400416f0
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 dword cs:[rax + rax]
add byte [rax], al
add byte [rax], al
cmp rax, qword [rsp + 0x58]
jae 0x1400418c9
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.0x14004188b.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.0x14004188b.0
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, edi
call dbg.read_encoded_pointer
test rax, rax
cmove r15, rdx
jne case.0x14004188b.0
mov rax, qword [rsp + 0x28]
xor edx, edx
xor ecx, ecx
nop dword [rax + rax]
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 0x1400417a0
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x48]
add rcx, r13
add ecx, ebp
cmp r14, rcx
jb 0x1400418c9
add rcx, rsi
cmp r14, rcx
jae 0x140041730
test r15, r15
je 0x14004186c
add r15, qword [rsp + 0x40]
test rdx, rdx
je 0x14004190e
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 0x140041810
mov rdx, 0xffffffffffffffff
shl rdx, cl
xor r9d, r9d
xor eax, eax
test byte [rsp + 0x38], 1
mov eax, 4
mov eax, 1
test byte [rsp + 0x38], 1
je 0x140041875
jmp case.default.0x14004188b