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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
mov r13, rdx
mov r12, rcx
xor r14d, r14d
mov ebx, 0x208
mov ecx, ebx
call fcn.14000bbfc
mov rdi, rax
mov ecx, ebx
call fcn.14000bbfc
mov rsi, rax
mov rbx, qword [0x1400a8cc8]
mov rdx, qword [0x1400a8cc0]
xor ecx, ecx
call rdx
mov rcx, rax
mov r8d, 0x104
mov rdx, rdi
call rbx
mov rcx, rsi
sub rcx, rdi
movzx eax, word [rdi]
mov word [rdi + rcx], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x140037d52
mov edx, 0x5c
mov rcx, rsi
call fcn.14000d978
lea r11, [rax + 2]
movzx eax, word [0x1400485c0]
mov word [rbp + 0xd0], ax
mov r9d, r14d
lea r10, [rbp + 0xd0]
lea r15, [0x140048600]
mov r8d, r14d
mov rax, r15
inc r8d
cmp byte [rax], r14b
je 0x140037da5
inc rax
jmp 0x140037d98
mov cl, byte [r10]
mov eax, r9d
cdq
idiv r8d
movsxd rax, edx
xor cl, byte [rax + r15]
mov byte [r10], cl
inc r9d
inc r10
cmp r9d, 2
jb 0x140037d92
mov r8d, r14d
lea r9, [rbp + 0xd0]
mov r10d, r14d
mov rax, r15
inc r10d
cmp byte [rax], r14b
je 0x140037de2
inc rax
jmp 0x140037dd5
mov cl, byte [r9]
mov eax, r8d
cdq
idiv r10d
movsxd rax, edx
xor cl, byte [rax + r15]
mov byte [r9], cl
inc r8d
inc r9
cmp r8d, 2
jb 0x140037dcf
movsx rax, byte [rbp + 0xd0]
mov word [r11 + rax*2], r14w
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], r14
mov dword [rbp + 0x70], 0x6a09e667
mov dword [rbp + 0x74], 0xbb67ae85
mov dword [rbp + 0x78], 0x3c6ef372
mov dword [rbp + 0x7c], 0xa54ff53a
mov dword [rbp + 0x80], 0x510e527f
mov dword [rbp + 0x84], 0x9b05688c
mov dword [rbp + 0x88], 0x1f83d9ab
mov dword [rbp + 0x8c], 0x5be0cd19
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
or r8, 0xffffffffffffffff
inc r8
cmp word [r11 + r8*2], r14w
jne 0x140037e6e
mov rdx, r11
lea rcx, [rbp - 0x80]
call fcn.140001740
nop
lea rsi, [rbp - 0x80]
mov r8, qword [rbp - 0x68]
cmp r8, 8
setae r9b
mov rcx, qword [rbp - 0x80]
jb 0x140037ea3
mov rsi, rcx
mov rdx, rcx
jmp 0x140037ea7
lea rdx, [rbp - 0x80]
mov rax, qword [rbp - 0x70]
lea rbx, [rdx + rax*2]
lea rdi, [rbp - 0x80]
test r9b, r9b
cmovne rdi, rcx
cmp rdi, rbx
je 0x140037edf
sub rsi, rdi
movzx ecx, word [rdi]
call fcn.140012508
mov word [rdi + rsi], ax
add rdi, 2
cmp rdi, rbx
jne 0x140037ec2
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp - 0x80]
cmp r8, 8
cmovae rdx, rcx
lea rcx, [rbp - 0x20]
call fcn.140038584
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, 0xdf
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.1400019a0
nop
lea rcx, [rsp + 0x60]
mov r8, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 0x10
jb 0x140037f37
mov rdx, qword [rsp + 0x60]
add r8, rdx
jmp 0x140037f3f
add r8, rcx
lea rdx, [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
cmp rdx, r8
jne 0x140037f6d
mov qword [rsp + 0x30], r14
mov edi, 7
mov qword [rsp + 0x38], rdi
mov word [rsp + 0x20], r14w
jmp 0x140037f82
mov r9, r8
sub r9, rdx
lea rcx, [rsp + 0x20]
call fcn.140001cb4
mov rdi, qword [rsp + 0x38]
lea rdx, [rsp + 0x20]
cmp rdi, 8
setae bl
mov rsi, qword [rsp + 0x20]
cmovae rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.140038584
nop
test bl, bl
je 0x140037fdb
lea rdx, [rdi*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140037fd2
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383a6
mov rcx, rsi
call fcn.14000bbf4
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140038018
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038013
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383ac
call fcn.14000bbf4
mov qword [rsp + 0x70], r14
mov eax, 0xf
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x60], r14b
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov rsi, qword [rbp - 0x10]
lea r15, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r15, qword [rbp - 0x20]
movabs rbx, 0x7fffffffffffffff
cmp rsi, rbx
ja 0x1400383b2
lea ecx, [rax + 7]
movabs r14, 0x8000000000000000
mov qword [rsp + 0x58], rax
cmp rsi, 0x10
jae 0x14003808c
mov qword [rsp + 0x50], rsi
movups xmm0, xmmword [r15]
movdqu xmmword [rsp + 0x40], xmm0
jmp 0x1400380e7
mov rdi, rsi
or rdi, rax
cmp rdi, rbx
jbe 0x14003809f
mov rdi, rbx
mov rcx, r14
jmp 0x1400380b3
cmp rdi, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400380ba
call fcn.140001f10
jmp 0x1400380c8
test rcx, rcx
je 0x1400380c6
call fcn.14000bbb0
jmp 0x1400380c8
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
lea r8, [rsi + 1]
mov rdx, r15
mov rcx, rax
call fcn.14000df50
nop
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [rsp + 0x40]
call fcn.1400016b4
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x20]
call fcn.140032724
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov rdi, qword [rbp - 0x50]
lea rsi, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rsi, qword [rbp - 0x60]
cmp rdi, rbx
ja 0x1400383b8
cmp rdi, 0x10
jae 0x140038176
mov qword [rsp + 0x30], rdi
lea edi, [r15 + 0xf]
mov qword [rsp + 0x38], rdi
movups xmm0, xmmword [rsi]
movdqu xmmword [rsp + 0x20], xmm0
jmp 0x1400381e6
mov qword [rsp + 0x38], 0xf
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x1400381a7
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
lea r14, [rbx + 1]
cmp r14, 0x1000
jb 0x1400381b1
mov rcx, r14
call fcn.140001f10
jmp 0x1400381c3
test r14, r14
je 0x1400381c0
mov rcx, r14
call fcn.14000bbb0
jmp 0x1400381c3
mov rax, r15
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.14000df50
mov edi, 0xf
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.140037880
nop
mov rcx, r13
call fcn.14000bbfc
mov rbx, rax
mov r9, r15
mov r8, qword [rbp]
test r13, r13
je 0x14003822b
sub r12, rax
lea rdx, [r9 + rbx]
mov rcx, r9
and ecx, 0x1f
mov al, byte [rcx + r8]
xor al, byte [rdx + r12]
mov byte [rdx], al
inc r9
cmp r9, r13
jb 0x14003820f
mov esi, 0x1000
test r8, r8
je 0x140038266
mov rdx, qword [rbp + 0x10]
sub rdx, r8
mov rax, r8
cmp rdx, rsi
jb 0x14003825d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383be
mov rcx, r8
call fcn.14000bbf4
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14003829d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rsi
jb 0x140038298
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383c4
call fcn.14000bbf4
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], r15b
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400382e2
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rsi
jb 0x1400382dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383ca
call fcn.14000bbf4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x40], r15b
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140038328
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rsi
jb 0x140038323
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383d0
call fcn.14000bbf4
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x40], r15b
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x140038367
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rsi
jb 0x140038362
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400383a0
call fcn.14000bbf4
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], rdi
mov byte [rbp - 0x20], r15b
lea rcx, [rbp - 0x80]
call fcn.140001650
mov rax, rbx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001353c
nop
call fcn.14001353c
nop
call fcn.14001353c
int3
call fcn.140001340
nop
call fcn.140001340
int3
call fcn.14001353c
nop
call fcn.14001353c
nop
call fcn.14001353c
nop
call fcn.14001353c
int3