Function at 0x140028b40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x140108020]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, rdx
mov r14, rcx
mov qword [rbp - 0x51], rcx
mov qword [rbp - 0x51], rdx
xor r12d, r12d
mov rax, rdx
mov r8, qword [rdx + 0x18]
cmp r8, 0x10
jb 0x140028b90
mov rax, qword [rdx]
nop dword [rax]
mov rdx, rbx
cmp r8, 0x10
jb 0x140028b9c
mov rdx, qword [rbx]
mov rsi, qword [rbx + 0x10]
mov rcx, rsi
sub rcx, rax
add rcx, rdx
cmp rcx, 4
jle 0x140028c1d
lea rdi, [rax + 4]
mov rax, rsi
mov edx, 1
cmp r8, 0x10
jb 0x140028bd0
sub rdi, qword [rbx]
sub rax, rdi
cmp rax, rdx
cmovb rdx, rax
jmp 0x140028be6
sub rdi, rbx
sub rax, rdi
cmp rax, rdx
cmovb rdx, rax
mov rax, rbx
cmp r8, 0x10
jb 0x140028be9
mov rax, qword [rbx]
lea rcx, [rax + rdi]
sub rsi, rdx
mov r8, rsi
sub r8, rdi
inc r8
add rdx, rcx
call fcn.140057a20
mov qword [rbx + 0x10], rsi
mov rax, rbx
mov r8, qword [rbx + 0x18]
cmp r8, 0x10
jb 0x140028c15
mov rax, qword [rbx]
add rax, rdi
jmp 0x140028b90
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rax
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140028560
nop
mov r8, qword [rbp - 0x41]
mov rax, r8
mov rcx, qword [rbp - 0x49]
sub rax, rcx
sar rax, 1
xorps xmm0, xmm0
cmp rax, 0x10
ja 0x140028d95
movups xmmword [rbp - 0x31], xmm0
movdqa xmm1, xmmword [0x1400fa040]
movdqu xmmword [rbp - 0x21], xmm1
mov byte [rbp - 0x31], 0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r12
lea rax, [rbp - 0x31]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140028c81
lea rdx, [rbp - 0x31]
mov rcx, r14
call fcn.140010020
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x140028cd4
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028cce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028f91
call fcn.140055894
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x140028d21
mov rax, qword [rbp - 0x39]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028d10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028f97
call fcn.140055894
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r12
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140028d5b
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140028d56
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140028f9d
mov rcx, r8
call fcn.140055894
mov rax, r14
mov byte [rbx], 0
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], r12
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140055540
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rax, [rcx + 0x20]
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], r12
mov qword [rbp + 7], r12
cmp rcx, rax
jne 0x140028dc1
mov r15, r12
mov qword [rbp - 1], r12
mov esi, 7
mov qword [rbp + 7], rsi
mov word [rbp - 0x11], r12w
jmp 0x140028de6
sub rax, rcx
sar rax, 1
mov r8, rax
mov rdx, rcx
lea rcx, [rbp - 0x11]
call fcn.140011650
mov r8, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x49]
mov rsi, qword [rbp + 7]
mov r15, qword [rbp - 1]
lea rdx, [rcx + 0x20]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], r12
cmp rdx, r8
jne 0x140028e11
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], 7
mov word [rbp - 0x31], r12w
jmp 0x140028e21
sub r8, rdx
sar r8, 1
lea rcx, [rbp - 0x31]
call fcn.140011650
nop
lea rdx, [rbp - 0x31]
lea rcx, [rbp - 0x71]
call fcn.14000c540
mov r9, r12
mov rdi, qword [rbp - 0x11]
mov r10, qword [rbp - 0x21]
test r10, r10
je 0x140028e74
nop
lea rcx, [rbp - 0x11]
cmp rsi, 8
cmovae rcx, rdi
xor edx, edx
mov rax, r9
div r15
movzx r8d, word [rcx + rdx*2]
lea rax, [rbp - 0x71]
cmp qword [rbp - 0x59], 8
cmovae rax, qword [rbp - 0x71]
xor word [rax + r9*2], r8w
inc r9
cmp r9, r10
jb 0x140028e40
lea rdx, [rbp - 0x71]
lea rcx, [rbp + 0xf]
call fcn.140028a30
nop
mov rdx, qword [rbp - 0x59]
cmp rdx, 8
jb 0x140028ec2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028ebd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028fa3
call fcn.140055894
movups xmm0, xmmword [rbp + 0xf]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x1f]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140028f14
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028f0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028fa9
call fcn.140055894
nop
cmp rsi, 8
jb 0x140028f4c
lea rdx, [rsi*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140028f43
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028f91
mov rcx, rdi
call fcn.140055894
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x140028d21
mov rax, qword [rbp - 0x39]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028d10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028f97
jmp 0x140028d10
call fcn.14005c3e8
nop
call fcn.14005c3e8
nop
call fcn.14005c3e8
nop
call fcn.14005c3e8
nop
call fcn.14005c3e8
int3