Function at 0x1400ca350
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, rcx
mov r14, qword [rsp + 0xe0]
mov rax, qword [0x140163028]
xor rax, rsp
test r14, r14
cmove r14, r9
mov qword [rsp + 0x70], rax
mov rsi, qword [rcx + 8]
movsxd rcx, dword [rsi + 8]
test rcx, rcx
je 0x1400ca40c
mov r12, r9
mov r15, r8
mov r13, rdx
mov eax, 1
cmovne rax, rcx
mov rdx, qword [rsi]
lea rcx, [rax - 1]
mov ebp, eax
and ebp, 7
cmp rcx, 7
jae 0x1400ca3b8
xor ebx, ebx
xor ecx, ecx
jmp 0x1400ca3f0
and rax, 0xfffffffffffffff8
xor ebx, ebx
xor ecx, ecx
or rcx, qword [rdx + rbx*8]
or rcx, qword [rdx + rbx*8 + 8]
or rcx, qword [rdx + rbx*8 + 0x10]
or rcx, qword [rdx + rbx*8 + 0x18]
or rcx, qword [rdx + rbx*8 + 0x20]
or rcx, qword [rdx + rbx*8 + 0x28]
or rcx, qword [rdx + rbx*8 + 0x30]
or rcx, qword [rdx + rbx*8 + 0x38]
add rbx, 8
cmp rax, rbx
jne 0x1400ca3c0
test rbp, rbp
je 0x1400ca407
lea rax, [rdx + rbx*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbp, rdx
jne 0x1400ca3fb
test rcx, rcx
jne 0x1400ca44f
mov dword [rsp + 0x20], 0x259
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, pe_nt_image_headers64
call fcn.140048380
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140107cc0
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, dword [r12 + 4]
mov rcx, rsi
call fcn.140049270
mov ebx, eax
dec ebx
and ebx, 7
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1400ca75a
mov rcx, rdi
call rax
mov ecx, eax
test ebx, ebx
jne 0x1400ca489
mov byte [r13], 0
inc r13
dec rcx
lea rax, [rbp + 2]
cmp rcx, rax
jae 0x1400ca4b5
mov dword [rsp + 0x20], 0x266
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x72
jmp 0x1400ca42a
mov eax, dword [rsp + 0xe8]
mov rsi, rbp
cmp eax, 0xffffffff
je 0x1400ca4d7
cmp eax, 0xfffffffe
jne 0x1400ca71e
mov rsi, rcx
sub rsi, rbp
add rsi, 0xfffffffffffffffe
mov rax, rcx
sub rax, rbp
mov rdx, rax
mov qword [rsp + 0x40], rax
add rax, 0xfffffffffffffffe
cmp rax, rsi
jae 0x1400ca4f8
mov dword [rsp + 0x20], 0x27b
jmp 0x1400ca49a
mov qword [rsp + 0x38], rcx
test rsi, rsi
je 0x1400ca729
cmp rsi, 0xfffffffffffffff7
ja 0x1400ca8b0
lea rdi, [rsi + 8]
mov rcx, qword [0x140166328]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
mov rdx, rdi
xor r8d, r8d
call qword [rcx]
mov rdi, rax
test rax, rax
jne 0x1400ca542
cmp byte [0x140169410], 0
jne 0x1400ca896
test rdi, rdi
je 0x1400ca8b0
mov qword [rdi], rsi
add rdi, 8
lea r8, [0x14014dd50]
mov rcx, rdi
mov rdx, rsi
call fcn.140030cd0
mov qword [rsp + 0x30], rbp
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
test r12, r12
je 0x1400ca844
mov qword [rsp + 0x48], rsi
mov eax, dword [r12 + 0x2c]
mov qword [rsp + 0x28], rax
lea rdx, [rax + 8]
mov rcx, qword [0x140166328]
mov rbp, rdx
xor r8d, r8d
mov rsi, rcx
call qword [rcx]
test rax, rax
jne 0x1400ca5b6
cmp byte [0x140169410], 0
jne 0x1400ca84b
test rax, rax
je 0x1400ca861
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rax, 8
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r12
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rcx, r13
dec rcx
mov qword [rsp + 0x28], rcx
mov rdx, qword [r12 + 0x10]
lea rcx, [0x140101c10]
cmp rdx, rcx
jne 0x1400ca838
xorps xmm0, xmm0
movups xmmword [rax + 0x5c], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x14014c770]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x14014c780]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
lea rbp, [rsp + 0x50]
mov rax, qword [rbp]
lea rdx, [0x14014ddf1]
mov r8d, 8
mov rcx, rbp
call qword [rax + 0x18]
mov rax, qword [rbp]
mov rcx, rbp
mov rdx, r15
mov r8, qword [rsp + 0x30]
call qword [rax + 0x18]
mov rax, qword [rbp]
mov rcx, rbp
mov rdx, rdi
mov r8, rsi
call qword [rax + 0x18]
mov rax, qword [rbp]
mov rcx, rbp
mov r12, qword [rsp + 0x28]
mov rdx, r12
call qword [rax + 0x20]
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
mov r8d, dword [rax + 0x2c]
xor edx, edx
call fcn.14010a410
mov rbp, qword [rbp + 8]
test rbp, rbp
jne 0x1400ca80d
mov r15d, ebx
mov rbx, qword [rsp + 0x40]
dec rbx
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400ca6be
mov rcx, qword [rsp + 0x60]
call qword [rax]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, rbx
mov r8, r12
mov rbx, qword [rsp + 0x30]
mov r9, rbx
call fcn.1400c9530
test eax, eax
je 0x1400ca730
add rbx, rsi
mov rax, qword [rsp + 0x38]
sub rax, rbx
xor byte [rax + r13 - 2], 1
test rsi, rsi
je 0x1400ca7b4
add rax, r13
add rax, 0xfffffffffffffffe
lea rdx, [rsi - 1]
mov ecx, esi
and ecx, 3
cmp rdx, 3
jae 0x1400ca76d
xor edx, edx
jmp 0x1400ca79b
test eax, eax
js 0x1400ca737
mov esi, eax
jmp 0x1400ca4d7
xor edi, edi
jmp 0x1400ca564
xor esi, esi
jmp 0x1400ca7d9
mov dword [rsp + 0x20], 0x274
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x1400ca42a
mov rcx, rsi
call fcn.140049270
add eax, 7
shr eax, 3
jmp 0x1400ca478
and rsi, 0xfffffffffffffffc
xor edx, edx
mov bl, byte [rdi + rdx]
xor byte [rax + 1], bl
mov bl, byte [rdi + rdx + 1]
xor byte [rax + 2], bl
mov bl, byte [rdi + rdx + 2]
xor byte [rax + 3], bl
mov bl, byte [rdi + rdx + 3]
xor byte [rax + 4], bl
add rax, 4
add rdx, 4
cmp rsi, rdx
jne 0x1400ca773
test rcx, rcx
je 0x1400ca7b4
add rdx, rdi
xor ebp, ebp
mov bl, byte [rdx + rbp]
xor byte [rax + rbp + 1], bl
inc rbp
cmp rcx, rbp
jne 0x1400ca7a5
test r15d, r15d
je 0x1400ca7c9
mov cl, 8
sub cl, r15b
mov eax, 0xff
shr eax, cl
and byte [r13], al
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 - 1], 0xbc
mov esi, 1
test rdi, rdi
je 0x1400ca42f
mov r8, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
add r8, 8
mov rcx, rdi
xor edx, edx
call fcn.14010a410
mov rcx, qword [0x140166328]
mov rdx, rdi
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400ca42f
mov r8, qword [rbp - 8]
add rbp, 0xfffffffffffffff8
add r8, 8
mov rcx, rbp
xor edx, edx
call fcn.14010a410
mov rcx, qword [0x140166328]
mov rdx, rbp
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400ca6a2
lea rcx, [rsp + 0x50]
call rdx
jmp 0x1400ca632
xor eax, eax
jmp 0x1400ca5da
mov rcx, rbp
call fcn.1400236b0
mov rdx, rbp
test al, al
mov rcx, rsi
jne 0x1400ca599
mov dword [rsp + 0x20], 0xc4
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_digest_digest.c
xor esi, esi
mov ecx, 0x1d
xor edx, edx
mov r8d, 0x41
call fcn.140048380
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1400ca7d9
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1400236b0
test al, al
mov rcx, qword [rsp + 0x28]
jne 0x1400ca525
mov dword [rsp + 0x20], 0x282
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor esi, esi
mov ecx, 4
xor edx, edx
mov r8d, 0x41
jmp 0x1400ca42a