Function at 0x1400a1b80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm9
movdqa xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0xd0], xmm6
mov rsi, rdx
mov r12, rcx
mov rax, qword [0x140396de8]
xor rax, rsp
mov qword [rsp + 0xc8], rax
test rdx, rdx
je 0x1400a1bf7
mov ebx, r8d
test r8d, r8d
jle 0x1400a2187
test r12, r12
je 0x1400a213b
mov qword [rsp + 0x38], rsi
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x1400a1c3d
call fcn.140030230
test rax, rax
je 0x1400a20ef
mov edx, 0xc8
mov rdi, rax
mov rcx, rax
call fcn.140030300
test rax, rax
je 0x1400a2116
mov rax, qword [rdi + 8]
mov byte [rax], 0
mov ebx, 0xc8
test r12, r12
je 0x1400a212a
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rsi
mov rcx, qword [r12]
call fcn.1400668c0
xor ebp, ebp
test rax, rax
je 0x1400a20f6
mov dword [rsp + 0x4c], ebx
pxor xmm6, xmm6
movaps xmm7, xmmword [0x1402edae0]
pcmpeqd xmm8, xmm8
mov esi, 1
movaps xmm9, xmmword [0x1402edaf0]
lea rbx, [0x1402edb00]
xor r14d, r14d
jmp 0x1400a1ca3
mov rbx, r14
mov r14, qword [rsp + 0x30]
mov byte [rax], 0
inc r14
mov rcx, qword [r12]
call fcn.1400668c0
mov ebp, r13d
cmp r14, rax
jae 0x1400a20f9
mov rcx, qword [r12]
mov rdx, r14
call fcn.14009bb50
mov r15, rax
mov rcx, qword [rax]
call fcn.140094080
test eax, eax
je 0x1400a1cca
mov ecx, eax
call fcn.1400944b0
test rax, rax
jne 0x1400a1ce2
mov r8, qword [r15]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov edx, 0x50
call fcn.140027b60
mov rax, rdi
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.14026f4d0
mov rcx, qword [r15 + 8]
mov edi, dword [rcx]
cmp edi, 0x100000
jg 0x1400a214f
mov r11, rax
mov rax, qword [rcx + 8]
cmp dword [rcx + 4], 0x1b
jne 0x1400a1e73
mov ecx, edi
and ecx, 3
jne 0x1400a1e73
movdqa xmmword [rsp + 0xb0], xmm6
test edi, edi
jle 0x1400a1f90
cmp edi, 8
jb 0x1400a1e29
lea rdx, [rdi - 5]
mov ecx, 0
cmp rdx, 0xfffffffffffffffc
jb 0x1400a1e2b
mov qword [rsp + 0x30], r11
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]
pcmpeqb xmm0, xmm6
pxor xmm0, xmm8
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
movmskps r13d, xmm0
pcmpeqb xmm1, xmm6
test r13b, 1
cmovne r10d, esi
pxor xmm1, xmm8
test r13b, 2
cmovne r9d, esi
punpcklbw xmm0, xmm1
test r13b, 4
cmovne r8d, esi
punpcklwd xmm0, xmm0
test r13b, 8
cmovne edx, esi
movmskps r13d, xmm0
test r13b, 1
cmovne r10d, esi
test r13b, 2
cmovne r9d, esi
test r13b, 4
cmovne r8d, esi
test r13b, 8
cmovne edx, esi
add r11, 8
cmp rcx, r11
jne 0x1400a1d80
mov dword [rsp + 0xb0], r10d
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb8], r8d
mov dword [rsp + 0xbc], edx
cmp rcx, rdi
mov r11, qword [rsp + 0x30]
jne 0x1400a1e2b
jmp 0x1400a1e58
xor ecx, ecx
mov rdx, rcx
test dil, 1
je 0x1400a1e4c
cmp byte [rax + rcx], 0
je 0x1400a1e45
mov dword [rsp + 0xb0], 1
mov rdx, rcx
or rdx, 1
not rcx
add rcx, rdi
jne 0x1400a1edd
mov ecx, dword [rsp + 0xb4]
or ecx, dword [rsp + 0xb0]
or ecx, dword [rsp + 0xb8]
je 0x1400a1f90
movaps xmmword [rsp + 0xb0], xmm7
test edi, edi
jle 0x1400a1fa1
cmp edi, 1
jne 0x1400a1f10
xor edx, edx
xor ecx, ecx
test dil, 1
je 0x1400a1fa3
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a1fa3
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 0x1400a1fa3
add rdx, 2
cmp rdi, rdx
je 0x1400a1e58
cmp byte [rax + rdx], 0
je 0x1400a1ef3
mov ecx, edx
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
cmp byte [rax + rdx + 1], 0
je 0x1400a1ed0
lea rcx, [rdx + 1]
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
jmp 0x1400a1ed0
mov r8d, edi
and r8d, 0xfffffffe
xor edx, edx
xor ecx, ecx
jmp 0x1400a1f2d
add rdx, 2
cmp r8, rdx
je 0x1400a1e90
mov r9d, edx
and r9d, 2
cmp dword [rsp + r9*4 + 0xb0], 0
je 0x1400a1f5c
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 0x1400a1f20
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 0x1400a1f20
movaps xmmword [rsp + 0xb0], xmm9
test edi, edi
jg 0x1400a1e83
xor ecx, ecx
lea eax, [r11 + rbp]
lea r13d, [rcx + rax]
add r13d, 2
cmp r13d, 0x100000
jg 0x1400a2156
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x30], r14
mov r14, rbx
mov rbx, r12
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x1400a2010
mov r15, rbp
mov rbp, r11
lea eax, [r13 + 1]
movsxd rdx, eax
mov rcx, r12
call fcn.140030300
test rax, rax
je 0x1400a217f
mov rax, qword [r12 + 8]
mov r11, rbp
mov rbp, r15
jmp 0x1400a2020
mov rax, qword [rsp + 0x38]
cmp r13d, dword [rsp + 0x4c]
jge 0x1400a21d2
movsxd rcx, ebp
lea rbp, [rax + rcx]
inc rbp
mov byte [rax + rcx], 0x2f
mov r8, r11
mov eax, 0xffffffff
and r8, rax
je 0x1400a204e
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
mov r12, r11
call fcn.1402609f0
mov r11, r12
movsxd rcx, r11d
lea rax, [rcx + rbp]
inc rax
mov byte [rbp + rcx], 0x3d
test edi, edi
mov r12, rbx
jle 0x1400a1c80
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 8]
xor edx, edx
mov rbx, r14
mov r14, qword [rsp + 0x30]
jmp 0x1400a20a2
mov byte [rax], r8b
inc rax
inc rdx
cmp rdi, rdx
je 0x1400a1c88
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a2096
movzx r8d, byte [rcx + rdx]
lea r9d, [r8 - 0x7f]
cmp r9b, 0xa0
ja 0x1400a2090
movzx r8d, r8b
mov word [rax], 0x785c
mov r9, r8
shr r9, 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 0x1400a2096
xor ecx, ecx
jmp 0x1400a2182
xor r14d, r14d
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400a211b
mov rsi, qword [rcx + 8]
call fcn.1400936a0
test r14, r14
jne 0x1400a2189
jmp 0x1400a21e1
mov rcx, rdi
jmp 0x1400a2182
mov rsi, qword [rsp + 0x38]
test r14, r14
jne 0x1400a2189
jmp 0x1400a21e1
mov rsi, qword [rdi + 8]
mov rcx, rdi
call fcn.1400936a0
mov ebx, 0xc8
mov r8d, ebx
lea rdx, str.NO_X509_NAME
mov rcx, rsi
call fcn.140093d90
jmp 0x1400a2189
mov eax, 0x79
jmp 0x1400a215b
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.14004a6a0
mov rcx, qword [rsp + 0x40]
jmp 0x1400a2182
mov rcx, r12
call fcn.140029670
xor esi, esi
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.14025dfe0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
test r14, r14
jne 0x1400a2189
mov byte [rsi], 0
jmp 0x1400a2189