Function at 0x140121df0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rbx, rcx
mov r15, qword [rsp + 0xe0]
mov rax, qword [0x140187028]
xor rax, rsp
test r15, r15
cmove r15, r9
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx + 8]
movsxd rax, dword [rcx + 8]
test rax, rax
je 0x140121ec2
mov r13, r9
mov r12, r8
mov r14, rdx
mov ebp, dword [rsp + 0xe8]
mov edi, dword [r9 + 4]
mov rdx, qword [rcx]
xor r8d, r8d
xor r9d, r9d
or r9, qword [rdx + r8*8]
inc r8
cmp rax, r8
jne 0x140121e4f
test r9, r9
je 0x140121ec2
call fcn.14004a480
add eax, 7
mov esi, eax
and esi, 7
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x140121f48
mov rcx, rbx
mov rax, rdx
call qword [0x1401ae008]
mov ecx, eax
test esi, esi
jne 0x140121e99
mov byte [r14], 0
inc r14
dec rcx
lea rax, [rdi + 2]
cmp rcx, rax
jae 0x140121f10
mov dword [rsp + 0x20], 0x271
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x72
jmp 0x140121ee0
mov dword [rsp + 0x20], 0x264
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, pe_nt_image_headers64
call fcn.140139ad0
xor r14d, r14d
mov rcx, r14
call fcn.140094eb0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400b4910
mov eax, ebx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x48], r12
mov r12, rdi
cmp ebp, 0xffffffff
je 0x140121f2c
cmp ebp, 0xfffffffe
jne 0x140121f89
mov r12, rcx
sub r12, rdi
add r12, 0xfffffffffffffffe
mov rbp, rcx
sub rbp, rdi
lea rax, [rbp - 2]
cmp rax, r12
jae 0x140121f50
mov dword [rsp + 0x20], 0x286
jmp 0x140121eaa
shr eax, 3
jmp 0x140121e89
xor ebx, ebx
test r12, r12
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rcx
je 0x140121f96
mov rcx, r12
call fcn.140094e50
test rax, rax
je 0x140121ee5
mov r14, rax
lea r8, [0x14016f150]
mov rcx, rax
mov rdx, r12
call fcn.140119ce0
jmp 0x140121f99
test ebp, ebp
js 0x1401220ec
mov r12d, ebp
jmp 0x140121f2c
xor r14d, r14d
xorps xmm0, xmm0
lea rcx, [rsp + 0x50]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov rdx, r13
call fcn.14004c680
test eax, eax
je 0x14012210f
mov rax, qword [rsp + 0x38]
add rax, rbp
dec rax
mov qword [rsp + 0x30], rax
dec rbp
lea r13, [rsp + 0x50]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rdx, [0x14016f1b0]
mov r8d, 8
mov rcx, r13
call qword [0x1401ae008]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
mov rdx, qword [rsp + 0x48]
mov r8, rdi
call qword [0x1401ae008]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
mov rdx, r14
mov r8, r12
call qword [0x1401ae008]
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
mov rdx, qword [rsp + 0x30]
call qword [0x1401ae008]
mov rax, qword [r13]
mov rcx, qword [r13 + 8]
mov edx, dword [rax + 0x2c]
call fcn.140094ef0
mov rcx, qword [r13 + 8]
call fcn.140094eb0
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x140122064
mov rax, qword [rax]
mov rcx, qword [rsp + 0x60]
call qword [0x1401ae008]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], r15
mov r15, qword [rsp + 0x38]
mov rcx, r15
mov rdx, rbp
mov r8, qword [rsp + 0x30]
mov r9, rdi
call fcn.14004f260
test eax, eax
je 0x140121ee8
add rdi, r12
mov r9, qword [rsp + 0x40]
mov rax, r9
sub rax, rdi
mov r8, r15
xor byte [rax + r15 - 2], 1
test r12, r12
je 0x1401220c9
add rax, r8
dec rax
xor ecx, ecx
mov dl, byte [r14 + rcx]
xor byte [rax + rcx], dl
inc rcx
cmp r12, rcx
jne 0x1401220ba
test esi, esi
je 0x1401220dc
mov cl, 8
sub cl, sil
mov eax, 0xff
shr eax, cl
and byte [r8], al
mov byte [r9 + r8 - 1], 0xbc
mov ebx, 1
jmp 0x140121ee8
mov dword [rsp + 0x20], 0x27f
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140121ee0
mov rcx, qword [rsp + 0x58]
call fcn.140094eb0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140122131
mov rax, qword [rax]
mov rcx, qword [rsp + 0x60]
call qword [0x1401ae008]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
jmp 0x140121ee8