Function at 0x140042f30
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
jne case.0x14004322b.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 0x140042f8d
invalid
mov rcx, rsi
mov ecx, esi
call dbg._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 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 0x140043018
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 byte [rax], al
mov qword [rsp + 0x90], rax
test r12, r12
je 0x14004320c
add byte [rax], al
movzx r8d, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x28], esp
cmp r8b, 0xff
je 0x14004303a
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x78]
push rsp
and al, 0x78
js 0x140043009
jmp 0x140042fbd
invalid
dec dword [rax - 0x77]
push rsp
and al, 0x40
test rax, rax
jne case.0x14004322b.0
mov r12, qword [rsp + 0x28]
jmp 0x140043044
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.0x140038943.112
nop word cs:[rax + rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
js 0x140043060
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 0x140043090
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 0x140043269
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
jne case.0x14004322b.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.0x14004322b.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.0x14004322b.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 0x140043140
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x48]
add rcx, r13
cmp r14, rcx
jb 0x140043269
add rcx, rsi
cmp r14, rcx
jae 0x1400430d0
test r15, r15
je 0x14004320c
add r15, qword [rsp + 0x40]
test rdx, rdx
je 0x1400432ae
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 0x1400431b0
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 0x140043215
jmp 0x140043275
xor eax, eax
test byte [rsp + 0x38], 1
jne 0x140043275
mov eax, 4
test byte [rsp + 0x38], 1
mov eax, 1
test byte [rsp + 0x38], 1
je 0x140043215
jmp 0x140043275