Function at 0x14013a550
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 [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0xc8], rax
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
test rdx, rdx
je 0x14013a5f8
mov ebx, r8d
test r8d, r8d
jle 0x14013ab87
test r12, r12
je 0x14013ab3b
mov qword [rsp + 0x38], rsi
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x14013a63e
call fcn.1400fc580
test rax, rax
je 0x14013aaef
mov edx, 0xc8
mov rdi, rax
mov rcx, rax
call fcn.1400fc650
test rax, rax
je 0x14013ab16
mov rax, qword [rdi + 8]
mov byte [rax], 0
mov ebx, 0xc8
test r12, r12
je 0x14013ab2a
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rsi
mov rcx, qword [r12]
call fcn.140076b40
xor ebp, ebp
test rax, rax
je 0x14013aaf6
mov dword [rsp + 0x4c], ebx
pxor xmm6, xmm6
movaps xmm7, xmmword [0x14019bc10]
pcmpeqd xmm8, xmm8
mov esi, 1
movaps xmm9, xmmword [0x1401cec60]
lea rbx, str.0123456789ABCDEF
xor r14d, r14d
jmp 0x14013a6a3
mov rbx, r14
mov r14, qword [rsp + 0x30]
mov byte [rax], 0
inc r14
mov rcx, qword [r12]
call fcn.140076b40
mov ebp, r13d
cmp r14, rax
jae 0x14013aaf9
mov rcx, qword [r12]
mov rdx, r14
call fcn.1400c2680
mov r15, rax
mov rcx, qword [rax]
call fcn.1400fd4b0
test eax, eax
je 0x14013a6ca
mov ecx, eax
call fcn.1400fd940
test rax, rax
jne 0x14013a6e2
mov r8, qword [r15]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov edx, 0x50
call fcn.1400dbb50
mov rax, rdi
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.1401812d0
mov rcx, qword [r15 + 8]
mov edi, dword [rcx]
cmp edi, 0x100000
jg 0x14013ab4f
mov r11, rax
mov rax, qword [rcx + 8]
cmp dword [rcx + 4], 0x1b
jne 0x14013a873
mov ecx, edi
and ecx, 3
jne 0x14013a873
movdqa xmmword [rsp + 0xb0], xmm6
test edi, edi
jle 0x14013a990
cmp edi, 8
jb 0x14013a829
lea rdx, [rdi - 5]
mov ecx, 0
cmp rdx, 0xfffffffffffffffc
jb 0x14013a82b
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 0x14013a780
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 0x14013a82b
jmp 0x14013a858
xor ecx, ecx
mov rdx, rcx
test dil, 1
je 0x14013a84c
cmp byte [rax + rcx], 0
je 0x14013a845
mov dword [rsp + 0xb0], 1
mov rdx, rcx
or rdx, 1
not rcx
add rcx, rdi
jne 0x14013a8dd
mov ecx, dword [rsp + 0xb4]
or ecx, dword [rsp + 0xb0]
or ecx, dword [rsp + 0xb8]
je 0x14013a990
movaps xmmword [rsp + 0xb0], xmm7
test edi, edi
jle 0x14013a9a1
cmp edi, 1
jne 0x14013a910
xor edx, edx
xor ecx, ecx
test dil, 1
je 0x14013a9a3
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x14013a9a3
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 0x14013a9a3
add rdx, 2
cmp rdi, rdx
je 0x14013a858
cmp byte [rax + rdx], 0
je 0x14013a8f3
mov ecx, edx
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
cmp byte [rax + rdx + 1], 0
je 0x14013a8d0
lea rcx, [rdx + 1]
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
jmp 0x14013a8d0
mov r8d, edi
and r8d, 0xfffffffe
xor edx, edx
xor ecx, ecx
jmp 0x14013a92d
add rdx, 2
cmp r8, rdx
je 0x14013a890
mov r9d, edx
and r9d, 2
cmp dword [rsp + r9*4 + 0xb0], 0
je 0x14013a95c
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 0x14013a920
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 0x14013a920
movaps xmmword [rsp + 0xb0], xmm9
test edi, edi
jg 0x14013a883
xor ecx, ecx
lea eax, [r11 + rbp]
lea r13d, [rcx + rax]
add r13d, 2
cmp r13d, 0x100000
jg 0x14013ab56
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 0x14013aa10
mov r15, rbp
mov rbp, r11
lea eax, [r13 + 1]
movsxd rdx, eax
mov rcx, r12
call fcn.1400fc650
test rax, rax
je 0x14013ab7f
mov rax, qword [r12 + 8]
mov r11, rbp
mov rbp, r15
jmp 0x14013aa20
mov rax, qword [rsp + 0x38]
cmp r13d, dword [rsp + 0x4c]
jge 0x14013abd2
movsxd rcx, ebp
lea rbp, [rax + rcx]
inc rbp
mov byte [rax + rcx], 0x2f
mov r8, r11
mov eax, 0xffffffff
and r8, rax
je 0x14013aa4e
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
mov r12, r11
call fcn.140160f20
mov r11, r12
movsxd rcx, r11d
lea rax, [rcx + rbp]
inc rax
mov byte [rbp + rcx], 0x3d
test edi, edi
mov r12, rbx
jle 0x14013a680
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 0x14013aaa2
mov byte [rax], r8b
inc rax
inc rdx
cmp rdi, rdx
je 0x14013a688
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x14013aa96
movzx r8d, byte [rcx + rdx]
lea r9d, [r8 - 0x7f]
cmp r9b, 0xa0
ja 0x14013aa90
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 0x14013aa96
xor ecx, ecx
jmp 0x14013ab82
xor r14d, r14d
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14013ab1b
mov rsi, qword [rcx + 8]
call fcn.1400c09c0
test r14, r14
jne 0x14013ab89
jmp 0x14013abe1
mov rcx, rdi
jmp 0x14013ab82
mov rsi, qword [rsp + 0x38]
test r14, r14
jne 0x14013ab89
jmp 0x14013abe1
mov rsi, qword [rdi + 8]
mov rcx, rdi
call fcn.1400c09c0
mov ebx, 0xc8
mov r8d, ebx
lea rdx, str.NO_X509_NAME
mov rcx, rsi
call fcn.1400c10d0
jmp 0x14013ab89
mov eax, 0x79
jmp 0x14013ab5b
mov eax, 0x9d
mov dword [rsp + 0x20], eax
lea r9, str....._third_party_boringssl_srccryptox509x509_obj.c
mov ecx, ntohl
xor edx, edx
mov r8d, 0x87
call fcn.1400c18f0
mov rcx, qword [rsp + 0x40]
jmp 0x14013ab82
mov rcx, r12
call fcn.1400c26c0
xor esi, esi
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.14015c2e0
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 0x14013ab89
mov byte [rsi], 0
jmp 0x14013ab89