Function at 0x1402a8f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rbp - 0x30], rcx
test rdx, rdx
je 0x1402a8f9e
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
mov qword [rbp - 0x28], rdx
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
jmp 0x1402a8fcf
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 7
mov word [rbp], 0
mov eax, dword [0x140694d00]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1402a8fb0
movabs rsi, 0x2b00f2efdc2a593e
mov rax, qword [0x140633aa8]
add rax, rsi
mov qword [rbp + 0x10], rax
mov eax, 0xffff8ccc
add eax, dword [0x140633ab0]
mov qword [rbp + 0x18], 7
mov word [rbp], ax
mov eax, dword [0x140694d04]
cmp eax, 0x3c
jge 0x1402a8fb0
xor r13d, r13d
lea r15, [0x14053ba70]
mov r14, rbp
xorps xmm6, xmm6
jmp 0x1402a9072
mov rdx, qword [0x140633aa8]
movabs r8, 0x2b00f2efdc2a5967
add rdx, r8
mov r8, rax
xor r8, rdx
and rdx, rax
lea r9, [r8 + rdx*2]
mov r8, rcx
mov eax, dword [0x140633aa4]
lea ecx, [rax + 0x136d98de]
lea edx, [rax + 0x136d98df]
add eax, 0xbbea4e11
mov dword [rsp + 0x20], eax
call fcn.1402b5a80
test bl, bl
je 0x1402a9474
inc r13d
cmp r13d, 3
ja 0x1402a9474
mov eax, r13d
mov r12, qword [r15 + rax*8]
mov rcx, r12
xor edx, edx
xor r8d, r8d
call fcn.1402af650
mov edi, eax
nop word cs:[rax + rax]
mov eax, dword [0x140694d04]
cmp eax, 0x35
jg 0x1402a90bc
mov eax, dword [0x140694d00]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1402a90e0
mov eax, dword [0x140694d00]
mov ecx, dword [0x140633aa4]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1402a90a0
jmp 0x1402a90ab
test edi, edi
je 0x1402a906f
mov ecx, edi
add rcx, rcx
call fcn.1404e9d44
mov rcx, r12
mov rdx, rax
mov r8d, edi
mov qword [rbp + 0x20], rax
call fcn.1402af650
mov rbx, qword [rbp + 0x20]
test eax, eax
je 0x1402a9206
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], 0
mov rcx, rbx
mov edx, 0x4edc7c3c
mov r8d, 0x134e51e8
call fcn.1400a98f0
mov rdi, rax
cmp rax, 7
jbe 0x1402a9150
lea rcx, [rbp - 0x58]
mov rdx, rdi
mov r9, rbx
call fcn.14008f760
jmp 0x1402a918c
mov qword [rbp - 0x48], rdi
movzx ecx, byte [0x140633aa8]
add cl, 0x3f
mov r8, rdi
shl r8, cl
lea rcx, [rbp - 0x58]
mov rdx, rbx
call fcn.140511c70
movzx eax, word [0x140633ab0]
mov ecx, eax
xor ecx, 0xffff8ccc
and eax, 0xccc
lea eax, [rcx + rax*2]
mov word [rbp + rdi*2 - 0x58], ax
mov rcx, qword [rbp + 0x20]
call fcn.1400a75d0
mov r12, qword [rbp - 0x48]
mov rax, qword [0x140633aa8]
add rax, rsi
mov bl, 1
cmp r12, rax
je 0x1402a93eb
cmp qword [rbp - 0x40], 8
lea r9, [rbp - 0x58]
jb 0x1402a91bd
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x18]
cmp rax, r12
jae 0x1402a91dd
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a9320
jmp 0x1402a9220
lea r8, [r12 + r12]
mov rdi, r14
cmp rax, 8
jb 0x1402a91ee
mov rdi, qword [rbp]
mov qword [rbp + 0x10], r12
mov rcx, rdi
mov rdx, r9
call fcn.140511c70
mov word [rdi + r12*2], 0
jmp 0x1402a9258
mov rcx, rbx
call fcn.1400a75d0
jmp 0x1402a906f
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140633aa4]
mov edx, eax
xor edx, 0x136d98de
and eax, 0x136d98de
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x1402a9320
mov rcx, r14
mov rdx, r12
call fcn.14008f760
mov eax, dword [0x140633aa4]
mov ecx, 0x136d98df
add eax, ecx
cmp r13d, eax
jbe 0x1402a9280
mov rcx, r14
lea rdx, [0x14053ba90]
lea r8, [0x14053ba98]
call fcn.1402bfad0
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x10], 0
lea rcx, [rbp - 0x38]
mov rdx, r14
lea r8, [rbp - 0x20]
call fcn.1402a2c80
mov eax, dword [0x140633aa4]
mov ecx, eax
xor ecx, 0x136d98df
and eax, 0x136d98df
lea eax, [rcx + rax*2]
cmp dword [rbp - 0x38], eax
jbe 0x1402a93d0
mov eax, dword [0x140694d00]
mov ecx, dword [0x140633aa4]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
mov rax, qword [rbp - 0x10]
mov ecx, dword [0x140694d04]
cmp ecx, 0x42
jg 0x1402a92d3
mov rcx, rax
not rcx
mov rdx, rax
xor rdx, 1
and rcx, 0xfffffffffffffffe
or rcx, rdx
not rcx
test rcx, rcx
je 0x1402a9312
cmp rax, 1
jne 0x1402a93d0
cmp dword [rbp - 0x20], 0
jne 0x1402a93d0
cmp dword [0x140633aa4], 0xec926722
jne 0x1402a9360
jmp 0x1402a9340
mov eax, dword [0x140633aa4]
mov ecx, eax
xor ecx, 0x136d98de
and eax, 0x136d98de
add eax, eax
add eax, ecx
jne 0x1402a9320
jmp 0x1402a9220
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x10], 0
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402a937f
nop dword [rax]
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x10], 0
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a9360
jmp 0x1402a9340
lea rcx, [rbp - 0x38]
mov rdx, r14
lea r8, [rbp - 0x20]
call fcn.1402a2c80
cmp dword [rbp - 0x38], 3
jne 0x1402a93d0
mov rax, qword [rbp - 0x10]
mov rcx, qword [0x140633aa8]
movabs rdx, 0x2b00f2efdc2a593f
add rcx, rdx
test rax, rcx
je 0x1402a93c7
mov rcx, qword [0x140633aa8]
add rcx, rdx
cmp rax, rcx
jne 0x1402a93d0
cmp dword [rbp - 0x20], 0
jne 0x1402a93d0
xor ebx, ebx
jmp 0x1402a93eb
cmp qword [rbp + 0x18], 8
mov rax, r14
jb 0x1402a93de
mov rax, qword [rbp]
mov qword [rbp + 0x10], 0
mov word [rax], 0
mov rax, qword [rbp - 0x40]
cmp rax, 8
jb 0x1402a9450
movzx ecx, byte [0x140633aa8]
add cl, 0x3f
shl rax, cl
mov r8, qword [rbp - 0x58]
lea r9, [rax + 2]
cmp r9, 0x1000
jb 0x1402a9047
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
mov rdx, qword [0x140633aa8]
movabs r9, 0x2b00f2efdc2a595e
add rdx, r9
cmp r8, rdx
jb 0x1402a9023
jmp 0x1402a94ac
lea rax, [fcn.1402a8f60]
add eax, eax
add eax, 0x1280
mov ecx, eax
not ecx
test ecx, eax
mov eax, dword [0x140694d04]
cmp eax, 0x59
jg 0x1402a9464
jmp 0x1402a9067
cmp qword [rbp + 0x10], 0
jne 0x1402a9754
xor ecx, ecx
xor edx, edx
call fcn.1402a98f0
mov edi, eax
test eax, eax
je 0x1402a94b1
mov ecx, edi
add rcx, rcx
call fcn.1404e9d44
mov ecx, dword [0x140694d04]
cmp ecx, 0x3c
jg 0x1402a9680
jmp 0x1402a9665
call fcn.1404ca324
call fcn.14027d400
mov ebx, eax
mov eax, dword [0x140694d04]
cmp eax, 0x5b
jg 0x1402a94ce
mov eax, dword [0x140694d04]
cmp eax, 9
jle 0x1402a94db
mov eax, dword [0x140694d04]
cmp eax, 0x4d
jge 0x1402a94b8
jmp 0x1402a94c3
test ebx, ebx
jne 0x1402a9566
cmp qword [rbp - 0x28], 0
je 0x1402a94fc
xorps xmm0, xmm0
mov rax, qword [rbp - 0x28]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x10], 0
mov ecx, 0xffff8ccc
add ecx, dword [0x140633ab0]
mov qword [rax + 0x18], 7
mov word [rax], cx
mov rsi, qword [rbp + 0x18]
cmp rsi, 8
jb 0x1402a9767
mov rdi, qword [rbp]
lea r9, [rsi + rsi]
add r9, 2
cmp r9, 0x1000
jb 0x1402a9640
add rsi, rsi
mov eax, dword [0x140694d04]
mov ecx, 0x136d993e
add ecx, dword [0x140633aa4]
cmp eax, ecx
jl 0x1402a95e5
jmp 0x1402a95f1
mov eax, dword [0x140694d00]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x136d98de
add eax, dword [0x140633aa4]
cmp ecx, eax
je 0x1402a95a4
mov ecx, 1
mov edx, 1
mov r8d, 0xe3b5a088
call fcn.1402b4d40
mov eax, dword [0x140694d04]
cmp eax, 0x28
jge 0x1402a9584
mov r8d, dword [0x140633aa4]
mov eax, r8d
xor eax, 0x136d98df
mov ecx, r8d
and ecx, 0x136d98df
lea ecx, [rax + rcx*2]
lea edx, [r8 + 0x136d98df]
add r8d, 0xf7233966
call fcn.1402b4d40
mov ecx, ebx
mov rdx, qword [rbp - 0x28]
mov r8, rax
call fcn.1402d3810
jmp 0x1402a94fc
cmp dword [0x140633aa4], 0xec926722
je 0x1402a9625
mov r14d, 0x136d98f3
lea rbx, [0x1402b9020]
mov r15b, 1
mov ecx, dword [0x140633aa4]
add ecx, r14d
call fcn.1404ca39c
mov qword [0x140694cf0], rax
mov rcx, rbx
call fcn.1404ea090
test r15b, r15b
je 0x1402a9601
jmp 0x1402a95e5
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x1402a9660
add rsi, 0x29
mov r9, rsi
mov rdi, rax
mov dword [rsp + 0x20], 0xa87cb533
xor ecx, ecx
mov edx, 1
mov r8, rdi
call fcn.1402b5a80
mov rax, qword [rbp - 0x30]
jmp 0x1402a9767
call fcn.1404ca324
mov edx, dword [0x140694d00]
lea ecx, [rdx - 1]
imul ecx, edx
test cl, 1
je 0x1402a9693
nop word cs:[rax + rax]
mov edx, dword [0x140694d00]
lea ecx, [rdx + 1]
imul ecx, edx
test cl, 1
jne 0x1402a9680
jmp 0x1402a9665
mov qword [rbp + 0x20], rax
mov rcx, rax
mov edx, edi
call fcn.1402a98f0
nop word cs:[rax + rax]
mov ecx, dword [0x140694d04]
cmp ecx, 0x4c
jle 0x1402a96c7
cmp dword [0x140633aa4], 0xec926722
jne 0x1402a96b0
test eax, eax
mov rsi, qword [rbp + 0x20]
je 0x1402a977f
mov rcx, rsi
mov edx, 0x4edc7c3c
mov r8d, 0x134e51e8
call fcn.1400a98f0
mov rdi, rax
mov rax, qword [rbp + 0x18]
cmp rax, rdi
jae 0x1402a9702
mov rcx, rbp
mov rdx, rdi
mov r9, rsi
call fcn.14008f760
jmp 0x1402a9735
mov r8, rdi
add r8, rdi
cmp rax, 8
jb 0x1402a9714
mov rbx, qword [rbp]
jmp 0x1402a9717
mov rbx, rbp
mov qword [rbp + 0x10], rdi
mov rcx, rbx
mov rdx, rsi
call fcn.140511c70
mov eax, 0xffff8ccc
add eax, dword [0x140633ab0]
mov word [rbx + rdi*2], ax
lea rdx, [0x14053ba90]
lea r8, [0x14053ba98]
mov rcx, rbp
call fcn.1402bfad0
mov rcx, qword [rbp + 0x20]
call fcn.1400a75d0
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
mov rax, qword [rbp - 0x30]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm6, xmmword [rbp + 0x30]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rsi
call fcn.1400a75d0
jmp 0x1402a94b1