Function at 0x140191730
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, 0xb8
mov qword [rsp + 0x48], rdx
mov eax, dword [rsp + 0x128]
mov rdx, qword [0x1403a7038]
xor rdx, rsp
mov qword [rsp + 0xb0], rdx
movaps xmm0, xmmword [0x14033b990]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
test r9, r9
cmove r9, r8
mov qword [rsp + 0x30], r9
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r8
mov r14d, dword [r8 + 4]
mov edx, r14d
mov qword [rsp + 0x28], rdx
cmp eax, 0xffffffff
jne 0x140191c23
mov r12, qword [rsp + 0x120]
mov r8, qword [rcx + 8]
mov ebx, dword [r8 + 8]
mov rsi, rbx
test esi, esi
jle 0x140191c36
mov rax, qword [r8]
lea rdx, [rsi - 1]
cmp qword [rax + rsi*8 - 8], 0
mov rsi, rdx
je 0x1401917cb
inc edx
mov esi, edx
movsxd rdx, esi
shl esi, 6
mov rdi, qword [rax + rdx*8 - 8]
xor r9d, r9d
test rdi, rdi
setne r9b
or r9d, esi
xor ebp, ebp
mov rdx, rdi
shr rdx, 0x20
cmove rdx, rdi
setne bpl
shl ebp, 5
mov rax, rdx
shr rax, 0x10
xor edi, edi
cmp rdx, 0x10000
cmovb rax, rdx
setae dil
shl edi, 4
mov rsi, rax
shr rsi, 8
xor r10d, r10d
cmp rax, 0x100
cmovb rsi, rax
setae r10b
mov rax, rsi
shr rax, 4
xor r11d, r11d
cmp rsi, 0x10
setae r11b
cmovb rax, rsi
mov rsi, rax
shr rsi, 2
xor edx, edx
cmp rax, 4
setae dl
cmovb rsi, rax
add edx, edx
or ebp, r9d
or ebp, edi
lea eax, [rbp + r10*8]
lea r9d, [rax + r11*4]
add r9d, 0xffffffc0
or r9d, edx
cmp rsi, 2
sbb r9d, 0xffffffff
dec r9d
and r9d, 7
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140191c46
test ebx, ebx
jle 0x140191c8d
mov rax, qword [r8]
lea rcx, [rbx - 1]
cmp qword [rax + rbx*8 - 8], 0
mov rbx, rcx
je 0x1401918a8
inc ecx
mov ebx, ecx
movsxd rcx, ebx
shl ebx, 6
mov rdi, qword [rax + rcx*8 - 8]
xor eax, eax
test rdi, rdi
setne al
or eax, ebx
xor ecx, ecx
mov rdx, rdi
shr rdx, 0x20
cmove rdx, rdi
setne cl
shl ecx, 5
mov rsi, rdx
shr rsi, 0x10
xor edi, edi
cmp rdx, 0x10000
cmovb rsi, rdx
setae dil
shl edi, 4
mov rdx, rsi
shr rdx, 8
xor r8d, r8d
cmp rsi, 0x100
cmovb rdx, rsi
setae r8b
mov rsi, rdx
shr rsi, 4
xor ebp, ebp
cmp rdx, 0x10
setae bpl
cmovb rsi, rdx
mov rdx, rsi
shr rdx, 2
xor ebx, ebx
cmp rsi, 4
setae bl
cmovb rdx, rsi
add ebx, ebx
or ecx, eax
or ecx, edi
lea eax, [rcx + r8*8]
lea esi, [rax + rbp*4]
add esi, 0xffffffc0
or esi, ebx
cmp rdx, 2
sbb esi, 0xffffffff
add esi, 7
shr esi, 3
movzx eax, byte [r12]
mov ecx, r9d
shr eax, cl
test eax, eax
jne 0x140191c5a
xor r13d, r13d
test r9d, r9d
sete r13b
mov r15d, esi
sub r15d, r13d
lea eax, [r14 + 2]
cmp r15d, eax
jl 0x140191bfc
mov rax, qword [rsp + 0x28]
add eax, r14d
add eax, 2
cmp r15d, eax
jl 0x140191bfc
mov dword [rsp + 0x3c], r9d
add r12, r13
movsxd rax, r15d
cmp byte [rax + r12 - 1], 0xbc
jne 0x140191c9d
mov ebx, r14d
not ebx
add r15d, ebx
mov rbp, r14
movsxd r14, r15d
mov rcx, r14
call fcn.1401a45c0
test rax, rax
je 0x140191cc0
mov rdi, rax
lea r8, [r12 + r14]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r14
mov qword [rsp + 0x30], r8
mov r9, rbp
call fcn.14009e360
test eax, eax
je 0x140191ce3
mov r14, rbp
test r15d, r15d
mov ebp, dword [rsp + 0x3c]
jle 0x140191a2f
mov eax, r15d
xor ecx, ecx
mov dl, byte [r12 + rcx]
xor byte [rdi + rcx], dl
inc rcx
cmp rax, rcx
jne 0x140191a20
test ebp, ebp
je 0x140191a41
mov cl, 8
sub cl, bpl
mov eax, 0xff
shr eax, cl
and byte [rdi], al
neg r13d
lea eax, [r15 - 1]
cdqe
xor ecx, ecx
mov r12, qword [rsp + 0x40]
mov dl, byte [rdi + rcx]
lea rbp, [rcx + 1]
test dl, dl
jne 0x140191a64
cmp rcx, rax
mov rcx, rbp
jl 0x140191a51
cmp dl, 1
jne 0x140191cea
mov rax, qword [rsp + 0x28]
test eax, eax
js 0x140191a87
add r13d, esi
sub r13d, eax
add ebx, r13d
cmp ebx, ebp
jne 0x140191d52
cmp qword [rsp + 0x50], r12
je 0x140191ab8
mov ecx, dword [r12 + 0x2c]
call fcn.1401a45c0
test rax, rax
je 0x140191d2a
mov rbx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1401a4600
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], r12
mov esi, r15d
sub rsi, rbp
mov rax, qword [r12 + 0x10]
lea rcx, [0x14025d290]
cmp rax, rcx
jne 0x140191bec
mov rax, qword [rsp + 0x58]
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 [0x140347d30]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140347d40]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
lea rbx, [rsp + 0x50]
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
lea rdx, [0x1403484c1]
mov r8d, 8
mov rcx, rbx
call qword [0x1403db008]
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
mov r8, r14
call qword [0x1403db008]
movsxd r8, esi
mov rdx, rdi
add rdx, rbp
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
mov rcx, rbx
call qword [0x1403db008]
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [0x1403db008]
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov edx, dword [rax + 0x2c]
call fcn.1401a4640
mov ebx, 1
test r14d, r14d
je 0x140191ba6
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
mov r8, r14
call fcn.1401d2d10
test eax, eax
jne 0x140191d0a
mov rcx, rdi
call fcn.1401a4600
mov rcx, qword [rsp + 0x58]
call fcn.1401a4600
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x140191c7a
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1401d1390
mov eax, ebx
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x50]
call qword [0x1403db008]
jmp 0x140191b0b
mov dword [rsp + 0x20], 0x212
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x71
call fcn.1402b48b0
xor edi, edi
jmp 0x140191ba6
cmp eax, 0xfffffffe
jne 0x140191d72
mov qword [rsp + 0x28], rax
jmp 0x1401917b8
test esi, esi
je 0x140191da0
mov rax, qword [r8]
jmp 0x1401917e9
mov esi, r9d
call qword [0x1403db008]
mov r9d, esi
mov rsi, rax
jmp 0x14019196a
mov dword [rsp + 0x20], 0x209
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x7a
jmp 0x140191c1a
mov rax, qword [rax]
mov rcx, qword [rsp + 0x60]
call qword [0x1403db008]
jmp 0x140191bc6
test ebx, ebx
je 0x140191da8
mov rax, qword [r8]
jmp 0x1401918c6
mov dword [rsp + 0x20], 0x216
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x7f
jmp 0x140191c1a
mov dword [rsp + 0x20], 0x21d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x41
jmp 0x140191c1a
xor ebx, ebx
jmp 0x140191ba6
mov dword [rsp + 0x20], 0x22d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x8b
jmp 0x140191d48
mov dword [rsp + 0x20], 0x23c
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x69
jmp 0x140191d48
mov dword [rsp + 0x20], 0xd2
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_digest_digest.c
xor ebx, ebx
mov ecx, 0x1d
xor edx, edx
mov r8d, 0x41
call fcn.1402b48b0
jmp 0x140191ba6
mov dword [rsp + 0x20], 0x231
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140191d48
mov qword [rsp + 0x28], rax
jge 0x1401917b8
mov dword [rsp + 0x20], 0x202
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor ebx, ebx
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x140191c1a
xor r9d, r9d
jmp 0x140191891
xor esi, esi
jmp 0x140191964