Function at 0x140053710
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x150]
sub rsp, 0x250
lea r9, [0x1400b5e40]
mov rbx, 0xffffffffffffffff
mov rax, rbx
nop word [rax + rax]
inc rax
cmp byte [r9 + rax], 0
jne 0x140053740
sub rax, 0x16
cmp rax, 1
ja 0x140053e9c
mov dword [rsp + 0x50], 0xe2e6a6f8
mov dword [rsp + 0x54], 0xa8b3aaec
mov dword [rsp + 0x58], 0xf3afffae
mov byte [rsp + 0x5c], 0x8f
xor r14d, r14d
mov ecx, r14d
lea rdx, [rsp + 0x50]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0xc
jb 0x140053780
mov byte [rsp + 0x5c], r14b
lea r8, [rsp + 0x50]
mov edx, 0x104
lea rcx, [rbp + 0x40]
call fcn.14004b130
mov rcx, qword [0x1400b61e0]
mov rdx, qword [0x1400b61e8]
cmp rcx, rdx
je 0x1400537ce
call fcn.140060130
mov rax, qword [0x1400b61e0]
mov qword [0x1400b61e8], rax
mov dword [rsp + 0x50], 0xe9e6e7e2
mov dword [rsp + 0x54], 0xf9fde6f2
mov word [rsp + 0x58], 0xe0ee
mov byte [rsp + 0x5a], 0x8d
mov ecx, r14d
lea rdx, [rsp + 0x50]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0xa
jb 0x1400537f2
mov byte [rsp + 0x5a], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
lea rax, [rsp + 0x50]
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], r14b
jne 0x140053820
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.1400608e0
movdqa xmm0, xmmword [0x1400a5630]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0xf8e0fbf0
mov dword [rsp + 0x44], 0xf6fcebe3
mov byte [rsp + 0x48], 0x9b
mov ecx, r14d
lea rdx, [rsp + 0x30]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0x18
jb 0x140053862
mov byte [rsp + 0x48], r14b
movdqa xmm0, xmmword [0x1400a5450]
movdqu xmmword [rbp - 0x50], xmm0
mov ecx, r14d
lea rdx, [rbp - 0x50]
nop dword [rax + rax]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0xf
jb 0x140053890
mov byte [rbp - 0x41], r14b
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
lea rdx, [rbp - 0x50]
lea rcx, [rbp]
call fcn.140050e60
nop
mov dword [rbp + 0x188], 0xe3f0f6f7
mov byte [rbp + 0x18c], 0x87
mov ecx, r14d
lea rdx, [rbp + 0x188]
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 4
jb 0x1400538f0
mov byte [rbp + 0x18c], 0
lea rax, [rsp + 0x50]
mov qword [rbp + 0x190], rax
mov dword [rbp + 0x180], 0x86e2f7ee
mov ecx, r14d
lea rdx, [rbp + 0x180]
nop word [rax + rax]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 3
jb 0x140053930
mov byte [rbp + 0x183], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
lea rax, [rbp + 0x180]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140053963
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x50]
call fcn.1400608e0
nop
lea rdx, [rbp]
lea rcx, [rbp - 0x70]
call fcn.14005e950
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14004d7c0
mov rcx, rax
lea rdx, [rbp + 0x188]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x1400539b0
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400539c7
mov rcx, qword [rcx]
cmp r8, rax
jne 0x1400539e1
lea rdx, [rbp + 0x188]
call fcn.1400917e0
test eax, eax
jne 0x1400539e1
mov dil, 1
jmp 0x1400539e4
xor dil, dil
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140053a20
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053a1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540db
call fcn.1400624fc
test dil, dil
je 0x140053f09
lea rax, [rsp + 0x50]
mov qword [rbp + 0x188], rax
mov dword [rbp + 0x180], 0xe7f1e5e7
mov byte [rbp + 0x184], 0x87
mov ecx, r14d
lea rdx, [rbp + 0x180]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 4
jb 0x140053a50
mov byte [rbp + 0x184], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
lea rax, [rbp + 0x180]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140053a83
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x50]
call fcn.1400608e0
nop
lea rdx, [rbp]
lea rcx, [rbp - 0x70]
call fcn.14005e950
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14004d7c0
mov rsi, qword [rax + 0x10]
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140053aff
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053afa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540e1
call fcn.1400624fc
lea rdi, [0x1400b61e0]
test rsi, rsi
je 0x140053d22
mov word [rbp + 0x180], 0x7c
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea rax, [rbp + 0x180]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140053b31
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x70]
call fcn.1400608e0
nop
lea rax, [rbp - 0x20]
mov qword [rbp + 0x188], rax
mov dword [rbp + 0x180], 0xe7f1e5e7
mov byte [rbp + 0x184], 0x87
mov ecx, r14d
lea rdx, [rbp + 0x180]
lea eax, [rcx - 0x7d]
xor byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 4
jb 0x140053b72
mov byte [rbp + 0x184], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea rax, [rbp + 0x180]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x140053ba0
mov r8, rbx
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x20]
call fcn.1400608e0
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x20]
call fcn.14005e950
nop
lea r8, [rbp - 0x20]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14004d7c0
nop
lea r8, [rbp - 0x70]
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14004db40
mov rbx, rax
cmp rdi, rax
je 0x140053c8e
mov rcx, qword [0x1400b61e0]
test rcx, rcx
je 0x140053c63
mov rdx, qword [0x1400b61e8]
call fcn.140060130
mov rcx, qword [0x1400b61e0]
mov rdx, qword [0x1400b61f0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x140053c4c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400540ed
mov rcx, r8
call fcn.1400624fc
mov qword [0x1400b61e0], r14
xorps xmm0, xmm0
movdqu xmmword [0x1400b61e8], xmm0
mov rax, qword [rbx]
mov qword [0x1400b61e0], rax
mov rax, qword [rbx + 8]
mov qword [0x1400b61e8], rax
mov rax, qword [rbx + 0x10]
mov qword [0x1400b61f0], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
lea rcx, [rsp + 0x50]
call fcn.14005e730
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140053cd5
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053cd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540e7
call fcn.1400624fc
movdqa xmm0, xmmword [0x1400a5090]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140053d22
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053d1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540f3
call fcn.1400624fc
mov rdx, qword [0x1400b61e8]
mov rax, rdx
sub rax, qword [0x1400b61e0]
sar rax, 5
cmp rax, 1
jne 0x140053eaa
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
lea ebx, [rax + 0xe]
cmp rdx, qword [0x1400b61f0]
je 0x140053d85
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov edx, ebx
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140053d97
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140053dcf
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053dca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540d5
call fcn.1400624fc
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov rdx, qword [0x1400b61e8]
cmp rdx, qword [0x1400b61f0]
je 0x140053e15
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140053e27
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rbx, qword [rsp + 0x48]
cmp rbx, 0xf
jbe 0x140053e61
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540d5
call fcn.1400624fc
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140053e9c
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540cf
call fcn.1400624fc
add rsp, 0x250
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp rax, 2
jne 0x140053e61
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
cmp rdx, qword [0x1400b61f0]
je 0x140053ef2
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
lea ebx, [rax + 0xd]
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140053f04
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rbx, qword [rsp + 0x48]
jmp 0x140053e27
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov rdx, qword [0x1400b61e8]
lea rdi, [0x1400b61e0]
mov ebx, 0xf
cmp rdx, qword [0x1400b61f0]
je 0x140053f5d
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov edx, ebx
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140053f6f
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140053fa7
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053fa2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540d5
call fcn.1400624fc
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov rdx, qword [0x1400b61e8]
cmp rdx, qword [0x1400b61f0]
je 0x140053ff0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov rdx, rbx
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140054002
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14005403a
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054035
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540d5
call fcn.1400624fc
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1400a5090]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov rdx, qword [0x1400b61e8]
cmp rdx, qword [0x1400b61f0]
je 0x140054080
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov byte [rsp + 0x30], 0
add qword [0x1400b61e8], 0x20
jmp 0x140054092
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400617f0
mov rbx, qword [rsp + 0x48]
cmp rbx, 0xf
jbe 0x140053e61
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540d5
jmp 0x140053e5b
call fcn.1400788cc
nop
call fcn.1400788cc
int3
call fcn.1400788cc
int3
call fcn.1400788cc
nop
call fcn.1400788cc
nop
call fcn.1400788cc
nop
call fcn.1400788cc
int3