Function at 0x1400a5c20
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 [0x14039fd98]
xor rax, rsp
mov qword [rsp + 0xc8], rax
test rdx, rdx
je 0x1400a5c97
mov ebx, r8d
test r8d, r8d
jle 0x1400a6248
test r12, r12
je 0x1400a61ff
mov qword [rsp + 0x40], rsi
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x1400a5cdd
call fcn.140032160
test rax, rax
je 0x1400a618f
mov edx, 0xc8
mov rdi, rax
mov rcx, rax
call fcn.140032270
test rax, rax
je 0x1400a61bc
mov rax, qword [rdi + 8]
mov byte [rax], 0
mov ebx, 0xc8
test r12, r12
je 0x1400a61ee
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rsi
mov rcx, qword [r12]
call fcn.140069580
xor ebp, ebp
test rax, rax
je 0x1400a6198
mov dword [rsp + 0x4c], ebx
pxor xmm6, xmm6
movaps xmm7, xmmword [0x1402f5b80]
pcmpeqd xmm8, xmm8
mov esi, 1
movaps xmm9, xmmword [0x1402f5b90]
lea rbx, [0x1402f5ba0]
xor r14d, r14d
jmp 0x1400a5d43
mov rbx, r14
mov r14, qword [rsp + 0x38]
mov byte [rax], 0
inc r14
mov rcx, qword [r12]
call fcn.140069580
mov ebp, r13d
cmp r14, rax
jae 0x1400a619b
mov rcx, qword [r12]
mov rdx, r14
call fcn.1400a0a80
mov r15, rax
mov rcx, qword [rax]
call fcn.140098ec0
test eax, eax
je 0x1400a5d6a
mov ecx, eax
call fcn.1400992f0
test rax, rax
jne 0x1400a5d82
mov r8, qword [r15]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov edx, 0x50
call fcn.140027a60
mov rax, rdi
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.1402774d0
mov rcx, qword [r15 + 8]
mov edi, dword [rcx]
cmp edi, 0x100001
jge 0x1400a6213
mov r11, rax
mov rax, qword [rcx + 8]
cmp dword [rcx + 4], 0x1b
jne 0x1400a5f13
mov ecx, edi
and ecx, 3
jne 0x1400a5f13
movdqa xmmword [rsp + 0xb0], xmm6
test edi, edi
jle 0x1400a6030
cmp edi, 8
jb 0x1400a5ec9
lea rdx, [rdi - 5]
mov ecx, 0
cmp rdx, 0xfffffffffffffffc
jb 0x1400a5ecb
mov qword [rsp + 0x38], 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 0x1400a5e20
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 + 0x38]
jne 0x1400a5ecb
jmp 0x1400a5ef8
xor ecx, ecx
mov rdx, rcx
test dil, 1
je 0x1400a5eec
cmp byte [rax + rcx], 0
je 0x1400a5ee5
mov dword [rsp + 0xb0], 1
mov rdx, rcx
or rdx, 1
not rcx
add rcx, rdi
jne 0x1400a5f7d
mov ecx, dword [rsp + 0xb4]
or ecx, dword [rsp + 0xb0]
or ecx, dword [rsp + 0xb8]
je 0x1400a6030
movaps xmmword [rsp + 0xb0], xmm7
test edi, edi
jle 0x1400a6041
cmp edi, 1
jne 0x1400a5fb0
xor edx, edx
xor ecx, ecx
test dil, 1
je 0x1400a6043
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a6043
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 0x1400a6043
add rdx, 2
cmp rdi, rdx
je 0x1400a5ef8
cmp byte [rax + rdx], 0
je 0x1400a5f93
mov ecx, edx
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
cmp byte [rax + rdx + 1], 0
je 0x1400a5f70
lea rcx, [rdx + 1]
and ecx, 3
mov dword [rsp + rcx*4 + 0xb0], 1
jmp 0x1400a5f70
mov r8d, edi
and r8d, 0xfffffffe
xor edx, edx
xor ecx, ecx
jmp 0x1400a5fcd
add rdx, 2
cmp r8, rdx
je 0x1400a5f30
mov r9d, edx
and r9d, 2
cmp dword [rsp + r9*4 + 0xb0], 0
je 0x1400a5ffc
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 0x1400a5fc0
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 0x1400a5fc0
movaps xmmword [rsp + 0xb0], xmm9
test edi, edi
jg 0x1400a5f23
xor ecx, ecx
lea eax, [r11 + rbp]
lea r13d, [rcx + rax]
add r13d, 2
cmp r13d, 0x100001
jge 0x1400a621d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x38], r14
mov r14, rbx
mov rbx, r12
mov r12, qword [rsp + 0x30]
test r12, r12
je 0x1400a60b0
mov r15, rbp
mov rbp, r11
lea eax, [r13 + 1]
movsxd rdx, eax
mov rcx, r12
call fcn.140032270
test rax, rax
je 0x1400a61c1
mov rax, qword [r12 + 8]
mov r11, rbp
mov rbp, r15
jmp 0x1400a60c0
mov rax, qword [rsp + 0x40]
cmp r13d, dword [rsp + 0x4c]
jge 0x1400a6293
movsxd rcx, ebp
lea rbp, [rax + rcx]
inc rbp
mov byte [rax + rcx], 0x2f
mov r8, r11
mov eax, 0xffffffff
and r8, rax
je 0x1400a60ee
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
mov r12, r11
call fcn.1402689f0
mov r11, r12
movsxd rcx, r11d
lea rax, [rcx + rbp]
inc rax
mov byte [rbp + rcx], 0x3d
test edi, edi
mov r12, rbx
jle 0x1400a5d20
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 + 0x38]
jmp 0x1400a6142
mov byte [rax], r8b
inc rax
inc rdx
cmp rdi, rdx
je 0x1400a5d28
mov r8d, edx
and r8d, 3
cmp dword [rsp + r8*4 + 0xb0], 0
je 0x1400a6136
movzx r8d, byte [rcx + rdx]
lea r9d, [r8 - 0x7f]
cmp r9b, 0xa0
ja 0x1400a6130
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 0x1400a6136
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x1400a61c1
xor r14d, r14d
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400a61df
mov rsi, qword [rcx + 8]
call fcn.1400986b0
test r14, r14
jne 0x1400a624a
jmp 0x1400a62a2
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x20], 0xc3
lea r9, str..._.._third_party_boringssl_src_crypto_x509_x509_obj.c
mov ecx, ntohs
xor edx, edx
mov r8d, 0x41
jmp 0x1400a6239
mov rsi, qword [rsp + 0x40]
test r14, r14
jne 0x1400a624a
jmp 0x1400a62a2
mov rsi, qword [rdi + 8]
mov rcx, rdi
call fcn.1400986b0
mov ebx, 0xc8
mov r8d, ebx
lea rdx, str.NO_X509_NAME
mov rcx, rsi
call fcn.140098ba0
jmp 0x1400a624a
mov dword [rsp + 0x20], 0x7b
jmp 0x1400a6225
mov dword [rsp + 0x20], 0x9a
lea r9, str..._.._third_party_boringssl_src_crypto_x509_x509_obj.c
mov ecx, ntohs
xor edx, edx
mov r8d, 0x87
call fcn.1400490c0
mov rcx, qword [rsp + 0x30]
call fcn.14002a290
xor esi, esi
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.140265fe0
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 + 0x40]
mov r14, qword [rsp + 0x38]
test r14, r14
jne 0x1400a624a
mov byte [rsi], 0
jmp 0x1400a624a