Function at 0x1400c54d0
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 [0x14016c028]
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 0x1400c558c
mov r15, r9
mov r12, 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 0x1400c5538
xor ebx, ebx
xor ecx, ecx
jmp 0x1400c5570
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 0x1400c5540
test rbp, rbp
je 0x1400c5587
lea rax, [rdx + rbx*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbp, rdx
jne 0x1400c557b
test rcx, rcx
jne 0x1400c55cf
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.1400425f0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14010e4a0
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 [r15 + 4]
mov rcx, rsi
call fcn.1400434f0
mov ebx, eax
dec ebx
and ebx, 7
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1400c58d8
mov rcx, rdi
call rax
mov ecx, eax
test ebx, ebx
jne 0x1400c5608
mov byte [r13], 0
inc r13
dec rcx
lea rax, [rbp + 2]
cmp rcx, rax
jae 0x1400c5634
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 0x1400c55aa
mov eax, dword [rsp + 0xe8]
mov rsi, rbp
cmp eax, 0xffffffff
je 0x1400c5656
cmp eax, 0xfffffffe
jne 0x1400c589c
mov rsi, rcx
sub rsi, rbp
add rsi, 0xfffffffffffffffe
mov rax, rcx
sub rax, rbp
mov qword [rsp + 0x40], rax
add rax, 0xfffffffffffffffe
cmp rax, rsi
jae 0x1400c5674
mov dword [rsp + 0x20], 0x27b
jmp 0x1400c5619
mov qword [rsp + 0x38], rcx
test rsi, rsi
je 0x1400c58a7
cmp rsi, 0xfffffffffffffff7
ja 0x1400c5a30
lea rdi, [rsi + 8]
mov rcx, qword [0x14016f440]
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 0x1400c56be
cmp byte [0x140173a90], 0
jne 0x1400c5a16
test rdi, rdi
je 0x1400c5a30
mov qword [rdi], rsi
add rdi, 8
je 0x1400c5a30
lea r8, [0x140156520]
mov rcx, rdi
mov rdx, rsi
call fcn.14002aab0
mov qword [rsp + 0x30], rbp
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
test r15, r15
je 0x1400c59c2
mov eax, dword [r15 + 0x2c]
mov qword [rsp + 0x28], rax
lea rdx, [rax + 8]
mov rcx, qword [0x14016f440]
mov qword [rsp + 0x48], rcx
mov rbp, rdx
xor r8d, r8d
call qword [rcx]
test rax, rax
jne 0x1400c5734
cmp byte [0x140173a90], 0
jne 0x1400c59c9
test rax, rax
je 0x1400c59e1
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rax, 8
je 0x1400c59e1
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
add rcx, r13
dec rcx
mov qword [rsp + 0x28], rcx
mov rdx, qword [r15 + 0x10]
lea rcx, [0x140106ad0]
cmp rdx, rcx
jne 0x1400c59b6
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 [0x140154fc0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140154fd0]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
lea rbp, [rsp + 0x50]
mov rax, qword [rbp]
lea rdx, [0x1401565c1]
mov r8d, 8
mov rcx, rbp
call qword [rax + 0x18]
mov rax, qword [rbp]
mov rcx, rbp
mov rdx, r12
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.140110bf0
mov rbp, qword [rbp + 8]
test rbp, rbp
jne 0x1400c598b
mov r15d, ebx
mov rbx, qword [rsp + 0x40]
dec rbx
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400c583c
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.1400c46a0
test eax, eax
je 0x1400c58ae
add rbx, rsi
mov rax, qword [rsp + 0x38]
sub rax, rbx
xor byte [rax + r13 - 2], 1
test rsi, rsi
je 0x1400c5932
add rax, r13
add rax, 0xfffffffffffffffe
lea rdx, [rsi - 1]
mov ecx, esi
and ecx, 3
cmp rdx, 3
jae 0x1400c58eb
xor edx, edx
jmp 0x1400c5919
test eax, eax
js 0x1400c58b5
mov esi, eax
jmp 0x1400c5656
xor edi, edi
jmp 0x1400c56e6
xor esi, esi
jmp 0x1400c5957
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 0x1400c55aa
mov rcx, rsi
call fcn.1400434f0
add eax, 7
shr eax, 3
jmp 0x1400c55f7
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 0x1400c58f1
test rcx, rcx
je 0x1400c5932
add rdx, rdi
xor ebp, ebp
mov bl, byte [rdx + rbp]
xor byte [rax + rbp + 1], bl
inc rbp
cmp rcx, rbp
jne 0x1400c5923
test r15d, r15d
je 0x1400c5947
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 0x1400c55af
mov r8, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
add r8, 8
mov rcx, rdi
xor edx, edx
call fcn.140110bf0
mov rcx, qword [0x14016f440]
mov rdx, rdi
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400c55af
mov r8, qword [rbp - 8]
add rbp, 0xfffffffffffffff8
add r8, 8
mov rcx, rbp
xor edx, edx
call fcn.140110bf0
mov rcx, qword [0x14016f440]
mov rdx, rbp
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400c5820
lea rcx, [rsp + 0x50]
call rdx
jmp 0x1400c57b0
xor eax, eax
jmp 0x1400c5759
mov rcx, rbp
call fcn.140020d60
mov rdx, rbp
test al, al
mov rcx, qword [rsp + 0x48]
jne 0x1400c571a
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.1400425f0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1400c5957
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140020d60
test al, al
mov rcx, qword [rsp + 0x28]
jne 0x1400c56a1
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 0x1400c55aa