Function at 0x1400c4e80
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, 0xc8
mov r15, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
mov eax, dword [rsp + 0x138]
mov rcx, qword [0x14016c028]
xor rcx, rsp
mov qword [rsp + 0xc0], rcx
movaps xmm0, xmmword [0x140146a10]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
test r9, r9
cmove r15, r8
mov r13d, dword [r8 + 4]
cmp eax, 0xfffffffe
je 0x1400c4fa3
mov esi, r13d
cmp eax, 0xffffffff
je 0x1400c4fa5
mov esi, eax
cmp eax, 0xfffffffd
jg 0x1400c4fa5
mov dword [rsp + 0x20], 0x202
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
call fcn.1400425f0
mov rsi, qword [rsp + 0x68]
test rsi, rsi
jne 0x1400c4f7b
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400c4f55
mov rcx, qword [rsp + 0x70]
call qword [rax]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14010e4a0
mov eax, edi
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
add r8, 8
mov rcx, rsi
xor edx, edx
call fcn.140110bf0
mov rcx, qword [0x14016f440]
mov rdx, rsi
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400c4f44
mov esi, eax
mov rbp, qword [rdi + 8]
mov rcx, rbp
call fcn.1400434f0
mov r14d, eax
dec r14d
and r14d, 7
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1400c511f
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x130]
movzx edx, byte [rdi]
mov ecx, r14d
shr edx, cl
test dl, dl
je 0x1400c5007
mov dword [rsp + 0x20], 0x209
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x7a
jmp 0x1400c4f35
lea r8, [rdi + 1]
xor r9d, r9d
test r14d, r14d
cmovne r8, rdi
sete r9b
mov ebp, eax
sub ebp, r9d
lea ecx, [r13 + 2]
cmp ebp, ecx
jl 0x1400c50d9
lea ecx, [rsi + r13]
add ecx, 2
cmp ebp, ecx
jl 0x1400c50d9
movsxd rcx, ebp
cmp byte [rcx + r8 - 1], 0xbc
jne 0x1400c50fc
mov qword [rsp + 0x50], rax
mov eax, r13d
not eax
mov dword [rsp + 0x30], eax
add ebp, eax
cmp ebp, 0xfffffff7
ja 0x1400c50b6
neg r9d
movsxd rdi, ebp
lea rax, [r8 + rdi]
mov qword [rsp + 0x48], rax
lea rdx, [rdi + 8]
mov rcx, qword [0x14016f440]
mov dword [rsp + 0x34], r9d
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x28], rcx
mov rbp, rdx
xor r8d, r8d
call qword [rcx]
test rax, rax
jne 0x1400c50a5
cmp byte [0x140173a90], 0
jne 0x1400c5441
test rax, rax
je 0x1400c50b6
mov qword [rax], rdi
mov rcx, rax
add rcx, 8
jne 0x1400c5132
mov dword [rsp + 0x20], 0x21d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x41
jmp 0x1400c4f35
mov dword [rsp + 0x20], 0x212
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x71
jmp 0x1400c4f35
mov dword [rsp + 0x20], 0x216
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x7f
jmp 0x1400c4f35
mov rcx, rbp
call fcn.1400434f0
add eax, 7
shr eax, 3
jmp 0x1400c4fd0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], rcx
mov rdx, rdi
mov r8, qword [rsp + 0x48]
mov r9, r13
call fcn.1400c46a0
test eax, eax
je 0x1400c5180
mov rdi, qword [rsp + 0x40]
test edi, edi
mov rcx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x58]
jle 0x1400c51d6
mov r9d, edi
lea rdx, [r9 - 1]
mov r8d, edi
and r8d, 3
cmp rdx, 3
jae 0x1400c5187
xor edx, edx
jmp 0x1400c51b6
xor edi, edi
jmp 0x1400c5270
and r9d, 0xfffffffc
xor edx, edx
mov al, byte [rbp + rdx]
xor byte [rcx + rdx + 8], al
mov al, byte [rbp + rdx + 1]
xor byte [rcx + rdx + 9], al
mov al, byte [rbp + rdx + 2]
xor byte [rcx + rdx + 0xa], al
mov al, byte [rbp + rdx + 3]
xor byte [rcx + rdx + 0xb], al
add rdx, 4
cmp r9, rdx
jne 0x1400c518d
test r8, r8
je 0x1400c51d6
add rcx, rdx
add rcx, 8
add rbp, rdx
xor edx, edx
mov al, byte [rbp + rdx]
xor byte [rcx + rdx], al
inc rdx
cmp r8, rdx
jne 0x1400c51c7
test r14d, r14d
mov rbp, qword [rsp + 0x38]
je 0x1400c51ef
mov cl, 8
sub cl, r14b
mov eax, 0xff
shr eax, cl
and byte [rbp], al
lea eax, [rdi - 1]
cdqe
xor r15d, r15d
mov rdx, r15
mov cl, byte [rbp + r15]
inc r15
cmp rdx, rax
jge 0x1400c520b
test cl, cl
je 0x1400c51f7
cmp cl, 1
jne 0x1400c524d
test esi, esi
js 0x1400c529b
mov eax, dword [rsp + 0x34]
add eax, dword [rsp + 0x50]
sub eax, esi
mov ecx, dword [rsp + 0x30]
add ecx, eax
cmp ecx, r15d
je 0x1400c529b
mov dword [rsp + 0x20], 0x231
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x1400c526b
mov dword [rsp + 0x20], 0x22d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x8b
call fcn.1400425f0
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsi]
add r8, 8
mov rcx, rsi
xor edx, edx
call fcn.140110bf0
mov rcx, qword [0x14016f440]
mov rdx, rsi
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400c4f3a
cmp qword [rsp + 0x60], rbx
je 0x1400c5305
mov r14d, dword [rbx + 0x2c]
lea rdi, [r14 + 8]
mov rsi, qword [0x14016f440]
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call qword [rsi]
mov rbp, rax
test rax, rax
jne 0x1400c52d1
cmp byte [0x140173a90], 0
jne 0x1400c545e
test rbp, rbp
je 0x1400c546e
mov qword [rbp], r14
add rbp, 8
je 0x1400c546e
mov rsi, qword [rsp + 0x68]
test rsi, rsi
jne 0x1400c540a
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rbx
mov rdi, qword [rsp + 0x40]
mov esi, edi
sub rsi, r15
mov rax, qword [rbx + 0x10]
lea rcx, [0x140106ad0]
cmp rax, rcx
jne 0x1400c5435
mov rax, qword [rsp + 0x68]
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 rdi, [rsp + 0x60]
mov rax, qword [rdi]
lea rdx, [0x1401565c1]
mov r8d, 8
mov rcx, rdi
call qword [rax + 0x18]
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, r12
mov r8, r13
call qword [rax + 0x18]
movsxd r8, esi
mov rdx, qword [rsp + 0x38]
add rdx, r15
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov rax, qword [rdi]
lea rdx, [rsp + 0x80]
mov rcx, rdi
call qword [rax + 0x20]
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov r8d, dword [rax + 0x2c]
xor edx, edx
call fcn.140110bf0
mov edi, 1
test r13d, r13d
je 0x1400c5270
lea rcx, [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
mov r8, r13
call fcn.1401106e0
test eax, eax
mov rsi, qword [rsp + 0x28]
je 0x1400c5275
mov dword [rsp + 0x20], 0x23c
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x69
jmp 0x1400c526b
mov r8, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
add r8, 8
mov rcx, rsi
xor edx, edx
call fcn.140110bf0
mov rcx, qword [0x14016f440]
mov rdx, rsi
xor r8d, r8d
call qword [rcx + 0x28]
jmp 0x1400c52f6
lea rcx, [rsp + 0x60]
call rax
jmp 0x1400c5356
mov rcx, rbp
call fcn.140020d60
test al, al
mov rdx, rbp
mov rcx, qword [rsp + 0x28]
jne 0x1400c508b
jmp 0x1400c50b6
mov rcx, rdi
call fcn.140020d60
test al, al
jne 0x1400c52b1
mov dword [rsp + 0x20], 0xc4
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_digest_digest.c
xor edi, edi
mov ecx, 0x1d
xor edx, edx
mov r8d, 0x41
jmp 0x1400c526b