Function at 0x1400a26a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0xd0], xmm6
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x1403a8f38]
xor rax, rsp
mov qword [rsp + 0xc8], rax
test rdx, rdx
je 0x1400a270d
test r8d, r8d
jle 0x1400a2c62
test rdi, rdi
je 0x1400a2c1d
mov esi, r8d
mov qword [rsp + 0x30], rbx
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x1400a2756
call fcn.140030310
test rax, rax
je 0x1400a2bcf
mov edx, 0xc8
mov rsi, rax
mov rcx, rax
call fcn.1400303e0
test rax, rax
je 0x1400a2bf3
mov rax, qword [rsi + 8]
mov byte [rax], 0
test rdi, rdi
mov rcx, rsi
je 0x1400a2c0e
mov esi, 0xc8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdi]
call fcn.1400672b0
xor ebp, ebp
test rax, rax
je 0x1400a2bd6
mov dword [rsp + 0x44], esi
pxor xmm6, xmm6
movaps xmm7, xmmword [0x1402c96d0]
mov esi, 1
movaps xmm8, xmmword [0x1402c96e0]
lea rbx, [0x1402c96f0]
xor r14d, r14d
mov qword [rsp + 0x48], rdi
jmp 0x1400a27bf
mov byte [rax], 0
inc r14
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
call fcn.1400672b0
mov ebp, r13d
cmp r14, rax
jae 0x1400a2bd9
mov rcx, qword [rdi]
mov rdx, r14
call fcn.14009c5d0
mov r12, rax
mov rcx, qword [rax]
call fcn.140094a90
test eax, eax
je 0x1400a27e5
mov ecx, eax
call fcn.140094ec0
test rax, rax
jne 0x1400a27fe
mov r8, qword [r12]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov edx, 0x50
call fcn.140027dc0
mov rax, rdi
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.140278140
mov rcx, qword [r12 + 8]
mov edi, dword [rcx]
cmp edi, 0x100000
jg 0x1400a2c07
mov r15, rax
mov rax, qword [rcx + 8]
test dil, 3
mov qword [rsp + 0x50], r12
jne 0x1400a2993
cmp dword [rcx + 4], 0x1b
jne 0x1400a2993
movdqa xmmword [rsp + 0xb0], xmm6
test edi, edi
jle 0x1400a2ab0
cmp edi, 8
jb 0x1400a2942
lea rdx, [rdi - 5]
mov ecx, 0
cmp rdx, 0xfffffffffffffffc
jb 0x1400a2944
mov ecx, edi
and ecx, 0xfffffff8
mov r10d, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0xb4]
mov r8d, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
xor r11d, r11d
nop word cs:[rax + rax]
movd xmm0, dword [rax + r11]
movd xmm1, dword [rax + r11 + 4]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pcmpeqb xmm0, xmm6
movmskps r13d, xmm0
xor r13d, 0xf
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pcmpeqb xmm1, xmm6
movmskps r12d, xmm1
xor r12d, 0xf
test r13b, 1
cmovne r10d, esi
test r13b, 2
cmovne r9d, esi
test r13b, 4
cmovne r8d, esi
test r13b, 8
cmovne edx, esi
test r12b, 1
cmovne r10d, esi
test r12b, 2
cmovne r9d, esi
test r12b, 4
cmovne r8d, esi
test r12b, 8
cmovne edx, esi
add r11, 8
cmp rcx, r11
jne 0x1400a28a0
mov dword [rsp + 0xb0], r10d
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb8], r8d
mov dword [rsp + 0xbc], edx
cmp rcx, rdi
jne 0x1400a2944
jmp 0x1400a2978
xor ecx, ecx
mov rdx, rcx
test dil, 1
je 0x1400a2965
cmp byte [rax + rcx], 0
je 0x1400a295e
mov dword [rsp + 0xb0], 1
mov rdx, rcx
or rdx, 1
mov r8, rdi
neg r8
xor rcx, r8
cmp rcx, 0xffffffffffffffff
jne 0x1400a29fd
mov ecx, dword [rsp + 0xb4]
or ecx, dword [rsp + 0xb0]
or ecx, dword [rsp + 0xb8]
je 0x1400a2ab0
movaps xmmword [rsp + 0xb0], xmm7
test edi, edi
jle 0x1400a2ac1
cmp edi, 1
jne 0x1400a2a30
xor edx, edx
xor ecx, ecx
test dil, 1
je 0x1400a2ac3
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a2ac3
movzx eax, byte [rax + rdx]
add al, 0x81
xor edx, edx
cmp al, 0xa1
setb dl
lea eax, [rdx + rdx*2]
add ecx, eax
inc ecx
jmp 0x1400a2ac3
add rdx, 2
cmp rdi, rdx
je 0x1400a2978
cmp byte [rax + rdx], 0
je 0x1400a2a13
mov ecx, edx
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
cmp byte [rax + rdx + 1], 0
je 0x1400a29f0
lea rcx, [rdx + 1]
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
jmp 0x1400a29f0
mov r8d, edi
and r8d, 0xfffffffe
xor edx, edx
xor ecx, ecx
jmp 0x1400a2a4d
add rdx, 2
cmp r8, rdx
je 0x1400a29b0
mov r9d, edx
and r9d, 2
cmp dword [rsp + r9*4 + 0xb0], 0
je 0x1400a2a7c
movzx r9d, byte [rax + rdx]
add r9b, 0x81
xor r10d, r10d
cmp r9b, 0xa1
setb r10b
lea r9d, [r10 + r10*2]
add ecx, r9d
inc ecx
lea r9d, [rdx + 1]
and r9d, 3
cmp dword [rsp + r9*4 + 0xb0], 0
je 0x1400a2a40
movzx r9d, byte [rax + rdx + 1]
add r9b, 0x81
xor r10d, r10d
cmp r9b, 0xa1
setb r10b
lea r9d, [r10 + r10*2]
add ecx, r9d
inc ecx
jmp 0x1400a2a40
movaps xmmword [rsp + 0xb0], xmm8
test edi, edi
jg 0x1400a29a3
xor ecx, ecx
lea eax, [r15 + rbp]
lea r13d, [rcx + rax]
add r13d, 2
cmp r13d, 0x100000
jg 0x1400a2c31
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x1400a2b10
lea eax, [r13 + 1]
movsxd rdx, eax
mov rcx, r12
call fcn.1400303e0
test rax, rax
je 0x1400a2c5a
mov rax, qword [r12 + 8]
jmp 0x1400a2b20
mov rax, qword [rsp + 0x30]
cmp r13d, dword [rsp + 0x44]
jge 0x1400a2bf8
movsxd rcx, ebp
lea rbp, [rax + rcx]
inc rbp
mov byte [rax + rcx], 0x2f
mov r8, r15
mov eax, 0xffffffff
and r8, rax
je 0x1400a2b48
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
call fcn.1402695f0
movsxd rcx, r15d
lea rax, [rcx + rbp]
inc rax
mov byte [rbp + rcx], 0x3d
test edi, edi
jle 0x1400a27a0
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 8]
xor edx, edx
jmp 0x1400a2b82
mov byte [rax], r8b
inc rax
inc rdx
cmp rdi, rdx
je 0x1400a27a0
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a2b76
movzx r8d, byte [rcx + rdx]
lea r9d, [r8 - 0x7f]
cmp r9b, 0xa0
ja 0x1400a2b70
movzx r8d, r8b
mov word [rax], 0x785c
mov r9d, r8d
shr r9d, 4
movzx r9d, byte [r9 + rbx]
mov byte [rax + 2], r9b
and r8d, 0xf
movzx r8d, byte [r8 + rbx]
mov byte [rax + 3], r8b
add rax, 4
jmp 0x1400a2b76
xor ecx, ecx
jmp 0x1400a2c5d
xor r14d, r14d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400a2bf8
mov rbx, qword [rcx + 8]
call fcn.1400940b0
test r14, r14
jne 0x1400a2c64
jmp 0x1400a2c02
mov rcx, rsi
jmp 0x1400a2c5d
mov rbx, qword [rsp + 0x30]
test r14, r14
jne 0x1400a2c64
mov byte [rbx], 0
jmp 0x1400a2c64
mov eax, 0x79
jmp 0x1400a2c36
mov rbx, qword [rcx + 8]
call fcn.1400940b0
mov r8d, 0xc8
mov r8d, r8d
lea rdx, str.NO_X509_NAME
mov rcx, rbx
call fcn.1400947a0
jmp 0x1400a2c64
mov eax, 0x9d
mov dword [rsp + 0x20], eax
lea r9, str..._.._third_party_boringssl_src_crypto_x509_x509_obj.c
mov ecx, listen
xor edx, edx
mov r8d, 0x87
call fcn.14004adc0
mov rcx, qword [rsp + 0x38]
jmp 0x1400a2c5d
mov rcx, r12
call fcn.1400296e0
xor ebx, ebx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.140265f80
mov rax, rbx
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret