Function at 0x140115870
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, rcx
mov r13, qword [rsp + 0xd0]
mov rax, qword [0x140178028]
xor rax, rsp
test r13, r13
cmove r13, r9
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx + 8]
movsxd rax, dword [rcx + 8]
test rax, rax
je 0x140115954
mov r15, r9
mov r9d, dword [rsp + 0xd8]
mov r12d, dword [r15 + 4]
mov rbp, qword [rcx]
xor ebx, ebx
xor esi, esi
or rsi, qword [rbp + rbx*8]
inc rbx
cmp rax, rbx
jne 0x1401158c8
test rsi, rsi
je 0x140115954
mov esi, r9d
mov rbp, r8
mov qword [rsp + 0x28], rdx
call fcn.140046830
add eax, 7
mov r14d, eax
and r14d, 7
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x1401159d4
mov rcx, rdi
mov rax, rdx
call qword [0x14019d008]
mov ecx, eax
test r14d, r14d
jne 0x14011592a
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
inc rax
mov qword [rsp + 0x28], rax
dec rcx
lea rax, [r12 + 2]
cmp rcx, rax
jae 0x1401159a1
mov dword [rsp + 0x20], 0x26c
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x72
jmp 0x140115972
mov dword [rsp + 0x20], 0x25f
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, pe_nt_image_headers64
call fcn.14012ee90
xor ebx, ebx
mov rcx, rbx
call fcn.1400891f0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400a8490
mov eax, esi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, r12
cmp esi, 0xffffffff
je 0x1401159b8
cmp esi, 0xfffffffe
jne 0x140115a0e
mov rdi, rcx
sub rdi, r12
add rdi, 0xfffffffffffffffe
mov rsi, rcx
sub rsi, r12
lea rax, [rsi - 2]
cmp rax, rdi
jae 0x1401159dc
mov dword [rsp + 0x20], 0x281
jmp 0x14011593c
shr eax, 3
jmp 0x140115910
test rdi, rdi
mov qword [rsp + 0x38], rcx
je 0x140115a1a
mov rcx, rdi
call fcn.1400891b0
test rax, rax
je 0x140115bc5
mov rbx, rax
lea r8, [0x140161a10]
mov rcx, rax
mov rdx, rdi
call fcn.140087780
jmp 0x140115a1c
test esi, esi
js 0x140115b6c
mov edi, esi
jmp 0x1401159b8
xor ebx, ebx
xorps xmm0, xmm0
lea rcx, [rsp + 0x40]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov rdx, r15
call fcn.140048bd0
test eax, eax
je 0x140115b8f
mov rax, qword [rsp + 0x28]
add rax, rsi
dec rax
mov qword [rsp + 0x30], rax
dec rsi
lea r15, [rsp + 0x40]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
lea rdx, [0x140161ab1]
mov r8d, 8
mov rcx, r15
call qword [0x14019d008]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
mov rcx, r15
mov rdx, rbp
mov r8, r12
call qword [0x14019d008]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call qword [0x14019d008]
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rcx, r15
mov rdx, qword [rsp + 0x30]
call qword [0x14019d008]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov edx, dword [rax + 0x2c]
call fcn.140089230
mov rcx, qword [r15 + 8]
call fcn.1400891f0
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x140115ae0
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
call qword [0x14019d008]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x20], r13
mov rbp, qword [rsp + 0x28]
mov rcx, rbp
mov rdx, rsi
mov r8, qword [rsp + 0x30]
mov r9, r12
call fcn.14004b8e0
test eax, eax
je 0x140115bbe
add r12, rdi
mov rsi, qword [rsp + 0x38]
mov rax, rsi
sub rax, r12
xor byte [rax + rbp - 2], 1
test rdi, rdi
je 0x140115b45
mov rcx, qword [rsp + 0x28]
add rax, rcx
dec rax
xor ecx, ecx
mov dl, byte [rbx + rcx]
xor byte [rax + rcx], dl
inc rcx
cmp rdi, rcx
jne 0x140115b37
test r14d, r14d
mov rdx, qword [rsp + 0x28]
je 0x140115b5d
mov cl, 8
sub cl, r14b
mov eax, 0xff
shr eax, cl
and byte [rdx], al
mov byte [rsi + rdx - 1], 0xbc
mov esi, 1
jmp 0x140115979
mov dword [rsp + 0x20], 0x27a
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140115972
mov rcx, qword [rsp + 0x48]
call fcn.1400891f0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140115bb1
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
call qword [0x14019d008]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
xor esi, esi
jmp 0x140115979
mov dword [rsp + 0x20], 0x288
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x41
jmp 0x140115972