Function at 0x1400964b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
lea rsi, [rcx + 0x428]
lea rax, [rsp + 0x30]
mov qword [rbp + 0x6f], rax
movzx eax, word [0x140136240]
mov word [rbp + 0x67], ax
movzx eax, byte [0x140136242]
mov byte [rbp + 0x67], 0x32
xor byte [rbp + 0x68], 0x36
xor al, 0x37
mov byte [rbp + 0x69], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor r14d, r14d
mov qword [rbp - 0x79], r14
mov qword [rbp - 0x71], r14
lea rax, [rbp + 0x67]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x140096520
lea rdx, [rbp + 0x67]
lea rcx, [rsp + 0x30]
call fcn.140079f10
lea r13, [rsp + 0x30]
lea rax, [rbp - 0x69]
mov qword [rbp + 0x77], rax
movzx eax, word [0x140137b08]
mov word [rbp + 0x67], ax
movzx eax, byte [0x140137b0a]
mov byte [rbp + 0x67], 0x37
xor byte [rbp + 0x68], 0x36
xor al, 0x37
mov byte [rbp + 0x69], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x51], r14
lea rax, [rbp + 0x67]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140096580
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x69]
call fcn.140079f10
lea r12, [rbp - 0x69]
lea rax, [rbp - 0x49]
mov qword [rbp + 0x7f], rax
mov eax, dword [0x140138508]
mov dword [rbp + 0x67], eax
mov edi, dword [0x140152090]
cmp byte [0x14013850b], 0
je 0x14009666d
mov ecx, r14d
cmp edi, 2
jl 0x140096639
movdqa xmm3, xmmword [0x140138f00]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140138ff0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140138ff0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [str.7777]
psubd xmm3, xmm0
andps xmm3, xmmword [0x140138fb0]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x140139010]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rbp + 0x67], xmm3
jmp 0x14009666d
lea r8, [rbp + 0x67]
nop dword [rax]
mov eax, 0x29e4129f
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul edx, eax, 0x37
movzx eax, cl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 4
jl 0x140096640
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x31], r14
lea rax, [rbp + 0x67]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140096683
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x49]
call fcn.140079f10
lea r15, [rbp - 0x49]
mov eax, dword [0x1401381c0]
mov dword [rbp + 0x67], eax
cmp byte [0x1401381c3], 0
je 0x140096772
mov r8d, r14d
cmp edi, 2
jl 0x14009672e
movdqa xmm3, xmmword [0x140138f00]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140138ff0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140138ff0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [str.7777]
psubd xmm3, xmm0
andps xmm3, xmmword [0x140138fb0]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x140139010]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rbp + 0x67], xmm3
jmp 0x140096772
lea r9, [rbp + 0x67]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x29e4129f
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140096740
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x11], r14
lea rax, [rbp + 0x67]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140096785
mov r8, rbx
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x29]
call fcn.140079f10
nop
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r12
mov r9, r15
lea r8, [rbp - 0x29]
lea rdx, [rbp - 9]
call fcn.140095630
mov r8d, 0x32
mov rdx, rax
mov rcx, rsi
call fcn.140091c20
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret