Function at 0x140080820
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rbp, r9
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rsp + 0x128]
mov rcx, qword [0x140188028]
xor rcx, rsp
mov qword [rsp + 0xb0], rcx
test r9, r9
cmove rbp, r8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x48], r8
mov r15d, dword [r8 + 4]
mov ecx, r15d
mov dword [rsp + 0x2c], r15d
cmp eax, 0xffffffff
jne 0x140080beb
mov r13, qword [rsp + 0x120]
mov rcx, qword [rsi + 8]
call fcn.140079480
add eax, 7
mov ebx, eax
and ebx, 7
mov rcx, qword [rsi]
mov rdx, qword [rcx + 0x20]
test rdx, rdx
jne 0x140080c26
shr eax, 3
movzx edx, byte [r13]
mov ecx, ebx
shr edx, cl
test edx, edx
jne 0x140080b66
mov edx, eax
xor r14d, r14d
test ebx, ebx
sete r14b
mov r12, rdx
sub r12, r14
lea rax, [r15 + 2]
cmp r12, rax
jb 0x140080af7
mov ecx, dword [rsp + 0x2c]
mov r8d, ecx
test ecx, ecx
js 0x1400808f5
add rax, r8
cmp r12, rax
jb 0x140080af7
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdi
add r13, r14
cmp byte [r12 + r13 - 1], 0xbc
jne 0x140080b86
mov rdi, r15
not rdi
add r12, rdi
mov rcx, r12
call fcn.14004afa0
test rax, rax
je 0x140080ae1
mov rsi, rax
lea rax, [r12 + r13]
mov qword [rsp + 0x20], rbp
mov rbp, rax
mov rcx, rsi
mov rdx, r12
mov r8, rax
mov r9, r15
call fcn.140080680
test eax, eax
je 0x140080ae3
test r12, r12
je 0x14008096c
xor eax, eax
mov cl, byte [r13 + rax]
xor byte [rsi + rax], cl
inc rax
cmp rax, r12
jb 0x14008095c
test ebx, ebx
je 0x14008097d
mov cl, 8
sub cl, bl
mov eax, 0xff
shr eax, cl
and byte [rsi], al
neg r14
lea rax, [r12 - 1]
xor ecx, ecx
mov dl, byte [rsi + rcx]
lea r13, [rcx + 1]
test dl, dl
jne 0x14008099a
cmp rcx, rax
mov rcx, r13
jb 0x140080987
cmp dl, 1
jne 0x140080b1e
cmp dword [rsp + 0x2c], 0
js 0x1400809c0
add r14, qword [rsp + 0x38]
sub r14, qword [rsp + 0x30]
add rdi, r14
cmp rdi, r13
jne 0x140080bc8
movaps xmm0, xmmword [0x14015cb80]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
call fcn.140049990
test eax, eax
je 0x140080ae3
sub r12, r13
lea rbx, [rsp + 0x50]
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
lea rdx, [0x14016ea60]
mov r8d, 8
mov rcx, rbx
call qword [0x1401b0008]
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
mov r8, r15
call qword [0x1401b0008]
mov rdx, rsi
add rdx, r13
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
mov rcx, rbx
mov r8, r12
call qword [0x1401b0008]
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [0x1401b0008]
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov edx, dword [rax + 0x2c]
call fcn.14004b040
cmp r15d, 0x20
jne 0x140080ba9
lea rcx, [rsp + 0x70]
mov r8d, 0x20
mov rdx, rbp
call fcn.1400a5610
mov edi, 1
test eax, eax
jne 0x140080b46
mov rcx, rsi
call fcn.14004b000
mov rcx, qword [rsp + 0x58]
call fcn.14004b000
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x140080ae7
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400a3c70
mov eax, edi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
xor edi, edi
jmp 0x140080a9f
mov rax, qword [rax]
mov rcx, qword [rsp + 0x60]
call qword [0x1401b0008]
jmp 0x140080abb
mov dword [rsp + 0x20], 0xfa
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x71
call fcn.1400df2c0
xor esi, esi
jmp 0x140080a9f
mov dword [rsp + 0x20], 0x119
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8b
call fcn.1400df2c0
jmp 0x140080a9f
mov dword [rsp + 0x20], 0x12b
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x69
jmp 0x140080b3c
mov dword [rsp + 0x20], 0xf0
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x7a
jmp 0x140080b15
mov dword [rsp + 0x20], 0xfe
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x7f
jmp 0x140080b15
test r15d, r15d
jne 0x140080bb8
mov edi, 1
jmp 0x140080a9f
lea rcx, [rsp + 0x70]
mov rdx, rbp
mov r8, r15
jmp 0x140080a8d
mov dword [rsp + 0x20], 0x11f
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140080b3c
cmp eax, 0xfffffffe
jne 0x140080bf9
mov dword [rsp + 0x2c], eax
jmp 0x140080883
mov dword [rsp + 0x2c], eax
jge 0x140080883
mov dword [rsp + 0x20], 0xe9
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140080b15
mov rcx, rsi
mov rax, rdx
call qword [0x1401b0008]
jmp 0x1400808af