Function at 0x1400440b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movdqa xmmword [rsp + 0x90], xmm6
mov r14d, ecx
mov r11, qword [rsp + 0x130]
mov r13, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x120]
mov r10, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x110]
movzx ebx, r8b
test dl, dl
jne 0x1400448f0
mov r14d, r11d
and r14d, 0x1f
mov rsi, r11
and rsi, 0xffffffffffffffe0
lea rax, [rsi + r13]
lea rdx, [rax + r14]
mov qword [rsp + 0x58], rdx
test rsi, rsi
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x50], rax
je 0x140044388
mov qword [rsp + 0x70], rbx
mov edx, r11d
and edx, 3
mov rdi, r14
mov qword [rsp + 0x80], rdx
sub rdi, rdx
add rax, rdi
mov qword [rsp + 0x78], rax
lea rbx, [rsi + r13]
add rbx, 2
xor r14d, r14d
pxor xmm6, xmm6
mov rdx, 0xffffffffffffffff
xor r12d, r12d
jmp 0x1400441c2
xor ecx, ecx
inc r12
add rax, rcx
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rdx, qword [rsp + 0x88]
cmp rax, rdx
cmovb rdx, rax
movzx eax, r14b
movzx r14d, byte [rsp + 0x4f]
cmova r14d, eax
cmp r12, 4
mov rbp, qword [rsp + 0x110]
je 0x140044365
mov qword [rsp + 0x88], rdx
lea rax, [0x140266e60]
movzx ecx, byte [r12 + rax]
mov r15, r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rbp
mov byte [rsp + 0x4f], cl
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
call fcn.1400431a0
xor ecx, ecx
xor eax, eax
mov r8, qword [rsp + 0x68]
jmp 0x140044229
add rcx, 0x20
cmp rsi, rcx
je 0x140044280
movdqu xmm0, xmmword [r13 + rcx]
movdqu xmm1, xmmword [r13 + rcx + 0x10]
pxor xmm2, xmm2
psubb xmm2, xmm0
pminub xmm2, xmm0
pxor xmm0, xmm0
psubb xmm0, xmm1
pminub xmm0, xmm1
psadbw xmm0, xmm6
psadbw xmm2, xmm6
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
paddq xmm0, xmm2
movq rdx, xmm0
add rdx, rax
mov rax, 0xffffffffffffffff
jb 0x140044220
mov rax, rdx
jmp 0x140044220
test r8, r8
mov r10, qword [rsp + 0x118]
mov r11, r15
je 0x140044180
cmp r8d, 4
mov r15, qword [rsp + 0x58]
jae 0x1400442b0
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
jmp 0x140044340
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word [rax + rax]
movzx edx, word [rbx + rcx - 2]
movd xmm2, edx
movzx edx, word [rbx + rcx]
movd xmm3, edx
pxor xmm4, xmm4
psubb xmm4, xmm2
pminub xmm4, xmm2
pxor xmm2, xmm2
psubb xmm2, xmm3
pminub xmm2, xmm3
punpcklbw xmm4, xmm6
punpcklwd xmm4, xmm6
punpckldq xmm4, xmm6
paddq xmm0, xmm4
punpcklbw xmm2, xmm6
punpcklwd xmm2, xmm6
punpckldq xmm2, xmm6
paddq xmm1, xmm2
add rcx, 4
cmp rdi, rcx
jne 0x1400442c0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rcx, xmm0
mov rdx, qword [rsp + 0x78]
cmp qword [rsp + 0x80], 0
je 0x140044182
nop dword [rax + rax]
movzx r8d, byte [rdx]
inc rdx
mov r9d, r8d
sar r9b, 7
xor r8b, r9b
sub r8b, r9b
movzx r8d, r8b
add rcx, r8
cmp rdx, r15
jne 0x140044340
jmp 0x140044182
mov al, 4
cmp r14b, 4
mov r9, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x70]
jne 0x1400448f0
jmp 0x14004491a
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rbp
mov cl, 1
mov rdx, rbx
mov r8, rdi
mov r12, r10
mov r15, r11
call fcn.1400431a0
test r14, r14
je 0x1400443e4
cmp r14d, 3
ja 0x14004444f
xor ebp, ebp
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x118]
mov r11, r15
mov r10, qword [rsp + 0x58]
jmp 0x140044500
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbp
mov cl, 2
mov rdx, rbx
mov r8, rdi
mov rsi, r12
mov r12, qword [rsp + 0x60]
mov r9, r12
call fcn.1400431a0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbp
mov cl, 3
mov rdx, rbx
mov r8, rdi
mov r9, r12
call fcn.1400431a0
mov r9, r12
mov r14b, 4
mov r10, rsi
mov r11, r15
jmp 0x1400448f0
mov r11, r15
mov ecx, r11d
and ecx, 3
mov rdx, r14
sub rdx, rcx
mov rax, qword [rsp + 0x50]
add rax, rdx
lea r8, [rsi + r13]
add r8, 2
pxor xmm1, xmm1
xor r9d, r9d
pxor xmm2, xmm2
pxor xmm0, xmm0
nop dword [rax]
movzx r10d, word [r8 + r9 - 2]
movd xmm3, r10d
movzx r10d, word [r8 + r9]
movd xmm4, r10d
pxor xmm5, xmm5
psubb xmm5, xmm3
pminub xmm5, xmm3
pxor xmm3, xmm3
psubb xmm3, xmm4
pminub xmm3, xmm4
punpcklbw xmm5, xmm1
punpcklwd xmm5, xmm1
punpckldq xmm5, xmm1
paddq xmm2, xmm5
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
punpckldq xmm3, xmm1
paddq xmm0, xmm3
add r9, 4
cmp rdx, r9
jne 0x140044480
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rbp, xmm1
test rcx, rcx
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x118]
mov r10, qword [rsp + 0x58]
je 0x14004451a
nop
movzx ecx, byte [rax]
inc rax
mov edx, ecx
sar dl, 7
xor cl, dl
sub cl, dl
movzx ecx, cl
add rbp, rcx
cmp rax, r10
jne 0x140044500
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r8
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov cl, 2
mov rdx, rbx
mov r8, rdi
mov r15, r11
call fcn.1400431a0
mov rdx, qword [rsp + 0x68]
cmp edx, 4
jae 0x14004456a
xor r14d, r14d
mov rax, qword [rsp + 0x50]
mov r11, r15
mov r8, qword [rsp + 0x58]
jmp 0x140044620
mov ecx, r15d
and ecx, 3
sub rdx, rcx
mov rax, qword [rsp + 0x50]
add rax, rdx
lea r8, [rsi + r13]
add r8, 2
pxor xmm1, xmm1
xor r9d, r9d
pxor xmm2, xmm2
pxor xmm0, xmm0
mov r11, r15
nop word cs:[rax + rax]
movzx r10d, word [r8 + r9 - 2]
movd xmm3, r10d
movzx r10d, word [r8 + r9]
movd xmm4, r10d
pxor xmm5, xmm5
psubb xmm5, xmm3
pminub xmm5, xmm3
pxor xmm3, xmm3
psubb xmm3, xmm4
pminub xmm3, xmm4
punpcklbw xmm5, xmm1
punpcklwd xmm5, xmm1
punpckldq xmm5, xmm1
paddq xmm2, xmm5
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
punpckldq xmm3, xmm1
paddq xmm0, xmm3
add r9, 4
cmp rdx, r9
jne 0x1400445a0
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq r14, xmm1
test rcx, rcx
mov r8, qword [rsp + 0x58]
je 0x14004463a
nop word cs:[rax + rax]
movzx ecx, byte [rax]
inc rax
mov edx, ecx
sar dl, 7
xor cl, dl
sub cl, dl
movzx ecx, cl
add r14, rcx
cmp rax, r8
jne 0x140044620
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov cl, 3
mov rdx, rbx
mov r8, rdi
mov r9, qword [rsp + 0x60]
mov r15, r11
call fcn.1400431a0
mov rdx, qword [rsp + 0x68]
cmp edx, 4
jae 0x140044699
mov r12, rbx
xor edi, edi
mov rax, qword [rsp + 0x50]
mov r11, r15
mov r8, qword [rsp + 0x58]
jmp 0x140044750
mov ecx, r15d
and ecx, 3
sub rdx, rcx
mov rax, qword [rsp + 0x50]
add rax, rdx
lea r8, [rsi + r13]
add r8, 2
pxor xmm1, xmm1
xor r9d, r9d
pxor xmm2, xmm2
pxor xmm0, xmm0
mov r11, r15
nop word cs:[rax + rax]
movzx r10d, word [r8 + r9 - 2]
movd xmm3, r10d
movzx r10d, word [r8 + r9]
movd xmm4, r10d
pxor xmm5, xmm5
psubb xmm5, xmm3
pminub xmm5, xmm3
pxor xmm3, xmm3
psubb xmm3, xmm4
pminub xmm3, xmm4
punpcklbw xmm5, xmm1
punpcklwd xmm5, xmm1
punpckldq xmm5, xmm1
paddq xmm2, xmm5
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
punpckldq xmm3, xmm1
paddq xmm0, xmm3
add r9, 4
cmp rdx, r9
jne 0x1400446d0
mov r12, rbx
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rdi, xmm1
test rcx, rcx
mov r8, qword [rsp + 0x58]
je 0x14004476a
nop word cs:[rax + rax]
movzx ecx, byte [rax]
inc rax
mov edx, ecx
sar dl, 7
xor cl, dl
sub cl, dl
movzx ecx, cl
add rdi, rcx
cmp rax, r8
jne 0x140044750
cmp rbp, r14
mov bl, 2
sbb bl, 0
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x30], r8
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov cl, 4
mov rdx, r12
mov r9, qword [rsp + 0x60]
mov r15, r11
call fcn.1400431a0
mov r9, qword [rsp + 0x68]
cmp r9d, 4
jae 0x1400447e1
xor ecx, ecx
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x118]
mov r11, r15
mov r8, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
jmp 0x1400448a0
mov eax, r15d
and eax, 3
sub r9, rax
add qword [rsp + 0x50], r9
lea rcx, [rsi + r13]
add rcx, 2
pxor xmm1, xmm1
xor edx, edx
pxor xmm2, xmm2
pxor xmm0, xmm0
mov r11, r15
nop dword [rax + rax]
movzx r8d, word [rcx + rdx - 2]
movd xmm3, r8d
movzx r8d, word [rcx + rdx]
movd xmm4, r8d
pxor xmm5, xmm5
psubb xmm5, xmm3
pminub xmm5, xmm3
pxor xmm3, xmm3
psubb xmm3, xmm4
pminub xmm3, xmm4
punpcklbw xmm5, xmm1
punpcklwd xmm5, xmm1
punpckldq xmm5, xmm1
paddq xmm2, xmm5
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
punpckldq xmm3, xmm1
paddq xmm0, xmm3
add rdx, 4
cmp r9, rdx
jne 0x140044810
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rcx, xmm1
test rax, rax
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x118]
mov r8, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
je 0x1400448bb
nop word cs:[rax + rax]
movzx eax, byte [r8]
inc r8
mov edx, eax
sar dl, 7
xor al, dl
sub al, dl
movzx eax, al
add rcx, rax
cmp r8, rsi
jne 0x1400448a0
cmp r14, rbp
cmovb rbp, r14
cmp rdi, rbp
movzx eax, bl
mov r14d, 3
cmova r14d, eax
cmovb rbp, rdi
mov al, 4
cmp rcx, rbp
mov rdi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x110]
jbe 0x14004491a
mov rbx, r12
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rbp
mov ecx, r14d
mov rdx, rbx
mov r8, rdi
call fcn.1400431a0
mov eax, r14d
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret