Function at 0x1400012c0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x1400e59c8]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rbx, 0xffffffffffffffff
mov rdi, r9
mov r9, rbx
mov r15, r8
mov r14, rdx
mov r12, rcx
inc r9
cmp byte [rdi + r9], 0
jne 0x140001306
xor r13d, r13d
lea rcx, [rbp + 0x40]
mov r8d, r13d
mov eax, r13d
nop dword [rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jl 0x140001320
mov r10d, r13d
lea r11, [rbp + 0x40]
nop word [rax + rax]
movzx esi, byte [r11]
mov eax, r10d
cdq
idiv r9d
movsxd rax, edx
movsx ecx, byte [rax + rdi]
add r8d, ecx
add r8d, esi
and r8d, 0x800000ff
jge 0x14000136e
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rax, r8d
lea rcx, [rbp + 0x40]
add rcx, rax
inc r10d
movzx eax, byte [rcx]
mov byte [r11], al
inc r11
mov byte [rcx], sil
cmp r10d, 0x100
jl 0x140001340
mov edx, r13d
mov r8d, r13d
test r15, r15
je 0x14000140a
mov r11, r14
nop
inc edx
and edx, 0x800000ff
jge 0x1400013b4
dec edx
or edx, 0xffffff00
inc edx
movsxd rax, edx
lea r10, [rbp + 0x40]
add r10, rax
movzx r9d, byte [r10]
add r8d, r9d
and r8d, 0x800000ff
jge 0x1400013db
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rax, r8d
lea rcx, [rbp + 0x40]
add rcx, rax
movzx eax, byte [rcx]
mov byte [r10], al
mov byte [rcx], r9b
movzx eax, byte [r10]
add r9, rax
movzx eax, r9b
movzx ecx, byte [rbp + rax + 0x40]
xor byte [r11], cl
inc r11
sub r15, 1
jne 0x1400013a0
lea rsi, vtable.std::wstring_convert_class_std::codecvt_utf8_utf16_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov cl, 1
mov qword [rbp - 0x40], rsi
call fcn.140007080
movdqa xmm1, xmmword [0x140057710]
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov ecx, 0x40
movdqa xmm1, xmmword [0x140057700]
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x28], rax
movups xmmword [rbp], xmm0
mov byte [rbp - 0x20], r13b
movdqa xmmword [rbp + 0x10], xmm1
mov word [rbp], r13w
mov word [rbp + 0x28], r13w
mov byte [rbp + 0x2a], r13b
call fcn.14002f61c
mov rdi, rax
test rax, rax
je 0x140001595
mov dword [rax + 8], r13d
lea rcx, [rsp + 0x20]
lea rax, vtable.std::codecvt_wchar_t__char__struct__Mbstatet_.0
xor edx, edx
mov qword [rdi], rax
call fcn.140006994
lea rdx, [0x140057524]
mov qword [rsp + 0x28], r13
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x30], r13b
mov qword [rsp + 0x38], r13
mov byte [rsp + 0x40], r13b
mov qword [rsp + 0x48], r13
mov word [rsp + 0x50], r13w
mov qword [rsp + 0x58], r13
mov word [rsp + 0x60], r13w
mov qword [rsp + 0x68], r13
mov byte [rsp + 0x70], r13b
mov qword [rsp + 0x78], r13
mov byte [rbp - 0x80], r13b
call fcn.1400071f0
lea rcx, [rbp - 0x70]
call fcn.140006c30
lea rcx, [rsp + 0x20]
movups xmm0, xmmword [rax]
movups xmmword [rdi + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x20], xmm1
movsd xmm0, qword [rax + 0x20]
movsd qword [rdi + 0x30], xmm0
mov eax, dword [rax + 0x28]
mov dword [rdi + 0x38], eax
call fcn.14000725c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140001516
call fcn.14003602c
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x78], r13
test rcx, rcx
je 0x14000152a
call fcn.14003602c
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x68], r13
test rcx, rcx
je 0x14000153e
call fcn.14003602c
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], r13
test rcx, rcx
je 0x140001552
call fcn.14003602c
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x48], r13
test rcx, rcx
je 0x140001566
call fcn.14003602c
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x38], r13
test rcx, rcx
je 0x14000157a
call fcn.14003602c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], r13
call fcn.140006a0c
lea rax, vtable.std::codecvt_utf8_utf16_wchar_t__1114111__0_.0
mov qword [rdi], rax
jmp 0x140001598
mov rdi, r13
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.140005350
cmp byte [r14 + rbx + 1], r13b
lea rbx, [rbx + 1]
jne 0x1400015a4
lea r9, [r14 + rbx]
mov r8, r14
mov rdx, r12
lea rcx, [rbp - 0x40]
call fcn.140005fc0
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x40], rsi
cmp rdx, 8
jb 0x140001606
mov rcx, qword [rbp]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001601
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400016af
call fcn.14002f658
mov rdx, qword [rbp - 8]
movdqa xmm0, xmmword [0x140057700]
movdqa xmmword [rbp + 0x10], xmm0
mov word [rbp], r13w
cmp rdx, 0x10
jb 0x14000164f
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000164a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400016af
call fcn.14002f658
mov rcx, qword [rbp - 0x28]
movdqa xmm0, xmmword [0x140057710]
movdqa xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], r13b
test rcx, rcx
je 0x140001682
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x140001682
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rax, r12
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.14002fa80
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140035fb4
int3