Function at 0x18008e360
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push rdi
push r14
push r15
sub rsp, 0x48
imul r15d, edx, 0x168
mov r14, r8
mov ebp, edx
mov rdi, rcx
cmp edx, r15d
ja 0x18008e71e
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], rsi
movzx esi, word [rsp + 0x78]
mov qword [rsp + 0x38], r12
imul r12d, ebp, 0x1e
mov qword [rsp + 0x30], r13
xor r13d, r13d
cmp ebp, 0x38e
ja 0x18008e4bf
je 0x18008e4ac
cmp ebp, 0xca
ja 0x18008e480
je 0x18008e476
mov eax, ebp
sub eax, 0xa
je 0x18008e464
sub eax, 0x3e
je 0x18008e43a
cmp eax, 0x60
jne 0x18008e6fe
lea edx, [rax - 0x20]
mov rcx, rdi
call fcn.180069230
mov bl, 0x61
nop dword [rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18008e41b
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18008e411
mov rax, qword [rdi]
mov byte [rax + rcx], bl
mov byte [rax + rcx + 1], r13b
jmp 0x18008e42e
xor r8d, r8d
movzx r9d, bl
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.180001e10
inc bl
cmp bl, 0x7a
jbe 0x18008e3f0
jmp 0x18008e6fe
lea r8, [rsp + 0x88]
mov word [rsp + 0x88], r13w
mov edx, 0xa9
mov byte [rsp + 0x78], 7
lea rcx, [rsp + 0x78]
call fcn.180047730
jmp 0x18008e6fe
mov dword [rdi], 0x6a09e667
mov dword [rdi + 4], 0xbb67ae85
jmp 0x18008e6fe
mov esi, 0x13f
jmp 0x18008e6fe
cmp ebp, 0x136
je 0x18008e4a0
cmp ebp, 0x262
jne 0x18008e6fe
mov dword [rdi + 0xc], 0xa54ff53a
jmp 0x18008e6fe
mov dword [rdi + 8], 0x3c6ef372
jmp 0x18008e6fe
mov dword [rdi + 0x10], 0x510e527f
mov dword [rdi + 0x14], 0x9b05688c
jmp 0x18008e6fe
cmp ebp, 0x4ba
je 0x18008e6f0
cmp ebp, 0x5e6
je 0x18008e6e7
cmp ebp, 0x1458
je 0x18008e644
cmp ebp, 0x1876
je 0x18008e579
cmp ebp, 0x2808
jne 0x18008e6fe
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18008e524
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18008e51c
mov rax, qword [rdi]
mov word [rax + rcx], 0x2d
jmp 0x18008e536
xor r8d, r8d
mov r9b, 0x2d
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.180001e10
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18008e562
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18008e557
mov rax, qword [rdi]
mov word [rax + rcx], 0x5f
jmp 0x18008e6fe
xor r8d, r8d
mov r9b, 0x5f
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.180001e10
jmp 0x18008e6fe
movzx eax, si
mov r8d, r13d
inc eax
movzx edx, ax
mov rax, qword [0x1800d7528]
movzx ecx, word [rax + 8]
mov eax, r13d
cmp edx, ecx
setae r8b
cmp byte [r14], r13b
setne al
test eax, r8d
je 0x18008e6fe
nop word [rax + rax]
mov ebx, 0xd6
mov eax, ebx
sub eax, 0xd5
je 0x18008e5f9
cmp eax, 1
jne 0x18008e607
movzx eax, byte [r14]
lea r9, [rsp + 0x88]
mov byte [rsp + 0x78], al
lea r8, [rsp + 0x78]
movzx eax, byte [rdi]
lea rcx, [rsp + 0x20]
mov edx, 0xb5
mov word [rsp + 0x88], ax
mov word [rsp + 0x20], si
call fcn.18007f7a0
jmp 0x18008e607
mov rax, qword [0x1800d7528]
sub si, word [rax + 8]
inc r14
dec ebx
cmp ebx, 0xd4
ja 0x18008e5b5
movzx eax, si
mov r8d, r13d
inc eax
movzx edx, ax
mov rax, qword [0x1800d7528]
movzx ecx, word [rax + 8]
mov eax, r13d
cmp edx, ecx
setae r8b
cmp byte [r14], r13b
setne al
test eax, r8d
jne 0x18008e5b0
jmp 0x18008e6fe
mov bl, 0x41
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18008e67b
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18008e671
mov rax, qword [rdi]
mov byte [rcx + rax], bl
mov byte [rcx + rax + 1], r13b
jmp 0x18008e68e
xor r8d, r8d
movzx r9d, bl
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.180001e10
inc bl
cmp bl, 0x5a
jbe 0x18008e650
mov bl, 0x30
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18008e6cb
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18008e6c1
mov rax, qword [rdi]
mov byte [rax + rcx], bl
mov byte [rax + rcx + 1], r13b
jmp 0x18008e6de
xor r8d, r8d
movzx r9d, bl
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.180001e10
inc bl
cmp bl, 0x39
jbe 0x18008e6a0
jmp 0x18008e6fe
mov qword [rdi + 0xc0], r13
jmp 0x18008e6fe
mov dword [rdi + 0x18], 0x1f83d9ab
mov dword [rdi + 0x1c], 0x5be0cd19
add ebp, r12d
cmp ebp, r15d
jbe 0x18008e3a3
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
add rsp, 0x48
pop r15
pop r14
pop rdi
pop rbp
ret