Function at 0x140197be0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov r15, rcx
and dword [rbp - 0x49], 0
movabs rsi, 0x8bf6116cd1f2dd8
xor edi, edi
movabs rbx, 0x416664be35b4a740
movabs rax, 0xfb90f785c1ddc300
movabs r12, 0xf27ca2e53fc36b87
mov r14, qword [0x140278070]
imul r14, rax
not r14
movabs rcx, 0xbe999b41c9bdf98e
mov rax, qword [0x140278060]
xor rax, rcx
and r14, rax
ror r14, 0x15
shr r14, 8
movabs rax, 0xf97166d8f7f68c68
mov r10, qword [0x140278068]
imul r10, rax
add r10, rsi
movabs rax, 0xa6041e5dffffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0xf7409ee932e0d228
lea rcx, [r10 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x140278060]
movzx eax, r10b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6d
mov edx, 0x8000003f
and ecx, edx
jge 0x140197ce2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0xcb3bf9846e081580
mov r13, rax
imul r13, rcx
lea r9, [r8 + r13]
mov r11, r10
imul r11, r14
sub r11, r9
xor r11, r12
movzx ecx, r9b
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x140197d22
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r11, cl
movabs rcx, 0xd7f3f4465d19a400
imul rax, rcx
movabs rcx, 0x6ec484581285a640
sub rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x140278078]
xor r11, rax
xor r11, rbx
mov eax, 2
dec rax
sub rax, 1
je 0x140197e71
cmp rax, 1
jne 0x140197f43
mov r12, r9
imul r12, r10
movabs rax, 0x60454b15ecd8888
add rax, r11
xor r12, rax
ror r12, 0x2e
shr r12, 0xc
not r12
movabs rcx, 0x83572386417a
mov r8, qword [0x140278088]
add r8, rcx
movabs rax, 0xf7c21b915a7db3da
xor r8, rax
mov eax, r12d
imul eax, r11d
and eax, 0x3f
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db97b66ad85
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rsi
mov eax, 0xaabd7f6f
add rcx, rax
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x140278060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rsi, 0xb61fc0f0c903c77d
sub rsi, r12
shr rsi, cl
movabs rcx, 0xf748c3718b19e1cc
add rcx, r13
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
lea rdx, [0x140278060]
imul rax, qword [rdx + rcx*8]
imul rax, r11
sub rax, r14
xor rsi, rax
jmp 0x140197f4d
movabs rcx, 0xaaaaaa1aaaa48251
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed68a95e1d
imul r10, rcx
movabs rcx, 0xffff7e8a8cb4b08d
imul r13, rcx
movabs rcx, 0x6383f2717eb1dd28
add r10, rcx
add r10, r13
movabs rax, 0x277cd7be78745531
mov rcx, r10
xor rcx, rax
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
lea rax, [0x140278060]
imul r9, qword [rax + rcx*8]
xor r9, 0xfffffffffff15481
lea ecx, [r11 + 0x13]
and cl, 0x3f
rol r9, cl
movabs rax, 0x5802108600000000
imul r9, rax
mov rcx, r9
ror rcx, 0xb
not rcx
movabs rax, 0x9b2de6b2de635c58
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140197f4d
movabs r8, 0xaaaaaaaaaaaaaaab
movabs rcx, 0xff055d7b8ad2af5d
xor r12, rcx
mov rax, r8
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r12, rax
xor rbx, rdi
lea rax, [0x140278060]
imul rbx, qword [rax + r12*8]
not r9
imul r9, r11
imul r9, r14
imul r9, rsi
movabs rcx, 0xf5ed7e878d61e581
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, rbx
call fcn.140134c5c
mov qword [0x140279188], rax
mov eax, dword [0x140278090]
sub eax, 1
je 0x140198704
sub eax, 0x1001
je 0x140198543
sub eax, 1
je 0x140198543
sub eax, 1
je 0x140198543
sub eax, 1
je 0x140198395
sub eax, 1
je 0x140198543
sub eax, 1
je 0x140198543
xor r13d, r13d
movabs r12, 0x13cce94adbbf6644
cmp eax, 1
je 0x1401981bf
movdqa xmm0, xmmword [0x14025ac00]
movdqu xmmword [rbp - 0x45], xmm0
movdqa xmm1, xmmword [0x14025aaa0]
movdqu xmmword [rbp - 0x35], xmm1
mov word [rbp - 0x25], 0xb7e0
xor edx, edx
mov rax, r13
div r12
add dl, 0x34
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r13 - 0x45]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140278058]
sub dl, byte [0x140278050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140278048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
mov rcx, qword [0x140278040]
add dl, sil
add dl, cl
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, sil
add bl, dil
add cl, 0x51
add bl, cl
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, byte [0x140278038]
xor al, r11b
sub bl, al
mov al, byte [0x140278030]
xor al, r14b
add bl, al
mov al, r14b
xor al, 0x40
sub bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r13 - 0x45], bl
inc r13
cmp r13, 0x22
jb 0x14019802b
lea rax, [rbp - 0x45]
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], 0x22
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
lea rcx, [rbp - 0x45]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], al
jne 0x14019819e
lea rdx, [rbp - 0x45]
mov rcx, r15
call fcn.1400f1090
mov dword [rbp - 0x49], 1
jmp 0x1401988b4
movdqa xmm0, xmmword [0x14025ab80]
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x14025aad0]
movdqu xmmword [rbp - 1], xmm1
movdqa xmm0, xmmword [0x14025ac50]
movdqu xmmword [rbp + 0xf], xmm0
movdqa xmm1, xmmword [0x14025abf0]
movdqu xmmword [rbp + 0x1f], xmm1
mov dword [rbp + 0x2f], 0x3b347ed5
mov dword [rbp + 0x33], 0xc821aa1c
xor edx, edx
mov rax, r13
div r12
add dl, 0x34
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r13 - 0x11]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140278058]
sub dl, byte [0x140278050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140278048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
mov rcx, qword [0x140278040]
add dl, sil
add dl, cl
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, sil
add bl, dil
add cl, 0x51
add bl, cl
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, byte [0x140278038]
xor al, r11b
sub bl, al
mov al, byte [0x140278030]
xor al, r14b
add bl, al
mov al, r14b
xor al, 0x40
sub bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r13 - 0x11], bl
inc r13
cmp r13, 0x48
jb 0x140198201
lea rax, [rbp - 0x11]
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], 0x48
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
lea rcx, [rbp - 0x11]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], al
jne 0x140198374
lea rdx, [rbp - 0x11]
mov rcx, r15
call fcn.1400f1090
mov dword [rbp - 0x49], 1
jmp 0x1401988b4
movdqa xmm0, xmmword [str._rb_ns7]
movdqu xmmword [rbp - 0x59], xmm0
xor r13d, r13d
movabs r12, 0x13cce94adbbf6644
xor edx, edx
mov rax, r13
div r12
add dl, 0x34
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r13 - 0x59]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140278058]
sub dl, byte [0x140278050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140278048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
mov rcx, qword [0x140278040]
add dl, sil
add dl, cl
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, sil
add bl, dil
add cl, 0x51
add bl, cl
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, byte [0x140278038]
xor al, r11b
sub bl, al
mov al, byte [0x140278030]
xor al, r14b
add bl, al
mov al, r14b
xor al, 0x40
sub bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r13 - 0x59], bl
inc r13
cmp r13, 0x10
jb 0x1401983af
lea rax, [rbp - 0x59]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], 0x10
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
lea rcx, [rbp - 0x59]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], al
jne 0x140198522
lea rdx, [rbp - 0x59]
mov rcx, r15
call fcn.1400f1090
mov dword [rbp - 0x49], 1
jmp 0x1401988b4
movdqa xmm0, xmmword [0x14025ac40]
movdqu xmmword [rbp - 0x45], xmm0
movdqa xmm1, xmmword [0x14025aab0]
movdqu xmmword [rbp - 0x35], xmm1
mov word [rbp - 0x25], 0xb7e0
xor r13d, r13d
movabs r12, 0x13cce94adbbf6644
xor edx, edx
mov rax, r13
div r12
add dl, 0x34
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r9b, r14b
sar r9b, 4
mov al, r14b
shl al, 4
or r9b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r13 - 0x45]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140278058]
sub dl, byte [0x140278050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140278048]
sub dl, r8b
sub dl, r14b
sub dl, 0x50
mov rcx, qword [0x140278040]
add dl, sil
add dl, cl
mov al, r9b
sub al, r8b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r9b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, sil
add bl, dil
add cl, 0x51
add bl, cl
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, r11b
xor al, byte [0x140278038]
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, byte [0x140278030]
xor al, r14b
add bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r13 - 0x45], bl
inc r13
cmp r13, 0x22
jb 0x140198570
lea rax, [rbp - 0x45]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], 0x22
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
lea rcx, [rbp - 0x45]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], al
jne 0x1401986e3
lea rdx, [rbp - 0x45]
mov rcx, r15
call fcn.1400f1090
mov dword [rbp - 0x49], 1
jmp 0x1401988b4
mov dword [rbp - 0x59], 0xf10ac89f
mov dword [rbp - 0x55], 0xd3fc9035
mov word [rbp - 0x51], 0xcd38
xor r13d, r13d
movabs r12, 0x13cce94adbbf6644
xor edx, edx
mov rax, r13
div r12
add dl, 0x34
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r13 - 0x59]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140278058]
sub dl, byte [0x140278050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x140278048]
sub dl, 0x50
mov rcx, qword [0x140278040]
add dl, sil
add dl, cl
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, sil
add bl, dil
add cl, 0x51
add bl, cl
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, r11b
xor al, byte [0x140278038]
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, r14b
xor al, byte [0x140278030]
add bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r13 - 0x59], bl
inc r13
cmp r13, 0xa
jb 0x140198725
lea rax, [rbp - 0x59]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], 0xa
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor ebx, ebx
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], rbx
lea rax, [rbp - 0x59]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x140198898
lea rdx, [rbp - 0x59]
mov rcx, r15
call fcn.1400f1090
mov dword [rbp - 0x49], 1
mov rax, r15
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret