Function at 0x140045f50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rsi
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
add byte [rax], al
mov dword [rsp + 0x34], 3
add eax, dword [rax]
add byte [rax], al
cmp ecx, 1
jne case.0x14004624b.0
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x50], r9
mov rsi, qword [rsp + 0x110]
mov ah, 0x24
adc byte [rcx], al
add byte [rax], al
mov qword [rsp + 0x60], rsi
and al, 0x60
mov rcx, rsi
call sym._Unwind_GetLanguageSpecificData
mov r12, rax
mov dword [rsp + 0x3c], 0
and al, 0x3c
add byte [rax], al
add byte [rax], al
lea rdx, [rsp + 0x3c]
and al, 0x3c
mov rcx, rsi
call sym._Unwind_GetIPInfo
mov r14, rax
cmp dword [rsp + 0x3c], 1
sbb r14, 0
sbb esi, 0
add byte [rax - 0x77], cl
mov ecx, esi
call sym._Unwind_GetRegionStart
invalid
add byte [rax - 0x73], cl
and al, 0x60
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x98], r14
mov ah, 0x24
cwde
add byte [rax], al
add byte [rax], al
mov rcx, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x78], eax
and al, 0x78
lea rax, dbg.drop_in_place_mut_std::io::Write::write_fmt::Adapter_alloc::vec::Vec_u8__alloc::alloc::Global___
or byte [rax], al
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x88], rax
mov byte [rax], al
add byte [rax], al
lea rax, dbg.drop_in_place_mut_std::io::Write::write_fmt::Adapter_alloc::vec::Vec_u8__alloc::alloc::Global___
or byte [rax], al
mov qword [rsp + 0x90], rax
test r12, r12
je 0x14004622c
movzx r8d, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x28], esp
cmp r8b, 0xff
je 0x14004605a
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x78]
js 0x140046029
jmp 0x140045fdd
invalid
dec dword [rax - 0x77]
push rsp
and al, 0x40
test rax, rax
jne case.0x14004624b.0
mov r12, qword [rsp + 0x28]
jmp case.0x14003bb53.156
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
movzx eax, byte [r12]
inc r12
mov qword [rsp + 0x28], r12
cmp al, 0xff
je 0x140046091
nop word cs:[rax + rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
js case.0x14003bb53.149
mov qword [rsp + 0x28], r12
movzx edi, byte [r12]
inc r12
inc esp
mov qword [rsp + 0x28], r12
xor ebp, ebp
xor ecx, ecx
nop word cs:[rax + rax]
invalid
movzx eax, byte [r12]
mov edx, eax
and edx, 0x7f
loop 0x140046139
shl rdx, cl
inc r12
or rbp, rdx
add rcx, 7
test al, al
js 0x1400460b0
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]
cmp rax, qword [rsp + 0x58]
jae 0x140046289
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, edi
call dbg.read_encoded_pointer
test rax, rax
cmove r13, rdx
invalid
jne case.0x14004624b.0
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, edi
call dbg.read_encoded_pointer
test rax, rax
cmove rsi, rdx
jne case.0x14004624b.0
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, edi
call dbg.read_encoded_pointer
test rax, rax
cmove r15, rdx
jne case.0x14004624b.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 0x140046160
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x48]
add rcx, r13
add ecx, ebp
cmp r14, rcx
jb 0x140046289
add rcx, rsi
cmp r14, rcx
jae 0x1400460f0
test r15, r15
je 0x14004622c
add r15, qword [rsp + 0x40]
test rdx, rdx
je 0x1400462ce
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 0x1400461d0
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 0x140046235
invalid
jmp case.default.0x14004624b
xor eax, eax
test byte [rsp + 0x38], 1
jne case.default.0x14004624b
mov eax, 4
test byte [rsp + 0x38], 1
mov eax, 1
test byte [rsp + 0x38], 1
je 0x140046235
jmp case.default.0x14004624b