Function at 0x180013ac0
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x1800c17f8]
xor rax, rsp
mov qword [rbp + 0x27], rax
lea r15d, [r8 + 9]
mov edi, r8d
mov r13, rdx
mov r12, rcx
cmp r8d, r15d
jae case.0x180013b38.2
mov r14, qword [rbp - 0x29]
lea esi, [r8 - 0x39]
mov rbx, qword [rbp - 0x29]
lea rdx, [0x180000000]
xor r8d, r8d
lea r10, [0x1800c1c30]
cmp esi, 0x13
ja case.0x180013b38.3
mov ecx, dword [rdx + rsi*4 + 0x1419c]
add rcx, rdx
jmp rcx
mov qword [r13 + 0x60], r8
jmp case.0x180013b38.3
movzx eax, byte [r13 + 0x18]
neg al
mov byte [rbp - 0x39], 0
sbb ecx, ecx
and ecx, 3
mov dword [rbp - 0x35], ecx
jmp case.0x180013b38.3
mov qword [0x1800c1968], r10
mov qword [0x1800c1970], 0x2000
jmp case.0x180013b38.3
mov dword [rbp + 7], 0x6a09e667
mov dword [rbp + 0xb], 0xbb67ae85
mov dword [rbp + 0xf], 0x3c6ef372
mov dword [rbp + 0x13], 0xa54ff53a
movups xmm1, xmmword [rbp + 7]
mov dword [rbp + 0x17], 0x510e527f
mov dword [rbp + 0x1b], 0x9b05688c
movups xmmword [0x1800c2c30], xmm1
mov dword [rbp + 0x1f], 0x1f83d9ab
mov dword [rbp + 0x23], 0x5be0cd19
movups xmm0, xmmword [rbp + 0x17]
movups xmmword [0x1800c2c40], xmm0
movups xmmword [r13 + 0x40], xmm1
movups xmmword [r13 + 0x50], xmm0
jmp case.0x180013b38.3
cmp dword [0x1800c1920], 0
mov qword [rbp - 0x21], 0xffffffffffffffff
mov qword [rbp - 0x19], r8
mov qword [rbp - 0x11], r8
jne case.0x180013b38.3
cmp dword [0x1800c1924], 1
jne case.0x180013b38.3
mov qword [rsp + 0x30], r8
xor r9d, r9d
mov dword [rsp + 0x28], 0xe5
xor edx, edx
mov qword [rsp + 0x20], r8
xor ecx, ecx
xor r8d, r8d
call fcn.18003ecb0
cmp eax, 1
jne 0x180013c31
mov rax, qword [0x1800c1928]
mov rcx, qword [rbp - 0x21]
test rax, rax
cmovne rcx, rax
mov qword [rbp - 0x21], rcx
mov rax, qword [0x1800c1930]
lea rdx, [0x180000000]
lea r10, [0x1800c1c30]
test rax, rax
je 0x180013c67
mov rax, qword [rax]
mov rcx, qword [rbp - 0x21]
cmp rcx, rax
jae 0x180013c63
sub rax, rcx
mov qword [rbp - 0x19], rax
xor r8d, r8d
jmp case.0x180013b38.3
mov qword [rbp - 0x21], rax
xor r8d, r8d
jmp case.0x180013b38.3
mov rbx, qword [r13]
mov r14, r8
inc edi
inc esi
cmp edi, r15d
jb 0x180013b25
jmp case.0x180013b38.2
test rbx, rbx
je 0x180013ca7
mov rax, qword [r12]
nop
cmp qword [rbx], rax
jbe 0x180013c9b
mov rbx, qword [rbx + 0x18]
jmp 0x180013ca2
mov r14, rbx
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x180013c90
mov rax, r14
jmp 0x180013e77
cmp dword [0x1800c1940], 0
jne 0x180013e6c
mov esi, dword [rbp - 0x31]
mov ecx, 1
movzx r15d, byte [rbp - 0x39]
mov r14d, 0xffffffff
mov rbx, qword [rbp - 0x29]
lea rdx, [0x1800c1a30]
mov r12d, 0xaf
mov eax, r12d
sub eax, 0xaf
je 0x180014096
sub eax, 1
je 0x180013d17
cmp eax, 1
jne 0x180014139
mov qword [rsp + 0x20], r8
lea edx, [rax + 0x47]
xor r8d, r8d
xor r9d, r9d
xor ecx, ecx
call fcn.18003a050
jmp 0x180014136
cmp qword [0x1800c1970], 0
jne 0x180013d75
cmp dword [0x1800c1920], 2
je 0x180013d63
lea r9, [rbp - 0x31]
mov qword [rbp - 0x31], 0x2000
mov r8, r13
mov edx, 0x114
mov rcx, r10
call fcn.180036700
test al, al
jne 0x180013e6c
xor r8d, r8d
lea rdx, [0x1800c1a30]
lea r10, [0x1800c1c30]
lea ecx, [r8 + 1]
mov qword [0x1800c1968], r10
mov qword [0x1800c1970], 0x2000
cmp esi, 1
jne 0x180013e2f
mov eax, dword [rbp - 0x35]
cmp eax, esi
je 0x180013dd3
cmp eax, 4
jne 0x180013e37
cmp qword [0x1800c1930], 0
jne 0x180013dac
mov rax, qword [0x1800c1928]
mov qword [rbp - 0x21], rax
mov dword [rbp - 0x35], r8d
jmp 0x180014139
lea r9, [rbp - 0x11]
mov dword [rsp + 0x20], 0x12
lea r8, [rbp - 0x21]
xor edx, edx
lea rcx, [rbp - 0x19]
call fcn.18002a140
xor r8d, r8d
mov dword [rbp - 0x35], r8d
jmp 0x180014139
mov eax, 0x2000
lea r9, [rbp - 0x31]
sub rax, qword [0x1800c1970]
mov r8, r13
mov edx, 0x114
mov qword [rbp - 0x31], rax
mov rcx, r10
call fcn.180036700
test al, al
jne 0x180013e6c
lea rax, [0x1800c1c30]
mov qword [0x1800c1970], 0x2000
xor r8d, r8d
mov qword [0x1800c1968], rax
mov edx, 0xbf
xor ecx, ecx
call fcn.18001e090
xor r8d, r8d
mov dword [rbp - 0x35], r8d
jmp 0x180014139
test esi, esi
je 0x180014139
mov r14d, 0x20
nop dword [rax]
mov eax, r14d
sub eax, 0x20
je 0x180014022
sub eax, 1
je 0x180013f50
sub eax, 1
je 0x180013ea4
cmp eax, 1
jne 0x18001406e
test r15b, r15b
je 0x18001406e
movzx eax, byte [rbp - 0x39]
mov byte [rbp - 0x19], al
mov rax, qword [rbp - 0x19]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.18004d0f0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp esi, 6
jne 0x18001406e
mov ecx, 0xcb
mov eax, ecx
sub eax, 0xcb
je 0x180013ef4
sub eax, 3
je 0x180013ee1
cmp eax, 3
jne 0x180013ee8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1800c1950], xmm0
mov qword [0x1800c1970], rax
movups xmmword [0x1800c1960], xmm0
jmp 0x180013ee8
mov qword [0x1800c1950], r8
inc ecx
cmp ecx, 0xce
jb 0x180013eb2
jmp 0x180013f25
mov rcx, qword [0x1800c1988]
test rcx, rcx
je 0x180013f23
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x180013f23
mov rcx, qword [rcx]
lea r8, [rbp - 1]
xor r9d, r9d
lea rdx, [rbp - 9]
call rax
test eax, eax
jne 0x180013f23
mov rbx, qword [rbp - 9]
jmp 0x180013f25
xor ebx, ebx
mov rax, rbx
mov qword [rbp - 0x29], rbx
mov eax, 1
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x29]
mov dword [rbp - 0x31], eax
lea ecx, [rax + 0x3d]
call fcn.180039e10
lea r10, [0x1800c1c30]
jmp 0x18001406e
cmp esi, 1
jne 0x180013fe1
mov rax, qword [0x1800c1958]
mov edi, 0x58
cmp edi, 0x58
je 0x180013f79
cmp edi, 0xe8
jne 0x180013fc7
mov esi, 9
jmp 0x180013fc7
cmp byte [0x1800c18ee], 0
jne 0x180014175
test rax, rax
jne 0x180013fc7
cmp byte [r13 + 0x18], al
jne 0x180014195
mov qword [rbp - 0x29], rcx
lea r9, [rbp - 0x29]
mov rcx, r13
lea r8d, [rax + 0x33]
call fcn.18001eae0
mov ecx, 0xffffffff
mov qword [0x1800c1958], rax
cmp rax, rcx
je 0x180013e6c
test rax, rax
je 0x180014195
add edi, 0x90
lea rdx, [0x1800c1a30]
mov ecx, 1
cmp edi, 0x208
jb 0x180013f65
xor edx, edx
mov dword [rbp - 0x31], esi
lea rcx, [rbp - 0x31]
lea r8d, [rdx + 0x6b]
call fcn.18003bb10
mov rdx, qword [r13]
mov r8, rax
lea rcx, str._s:__s
test r15b, r15b
je 0x180014014
call fcn.180038c80
lea r10, [0x1800c1c30]
jmp 0x18001406e
call fcn.18003ba90
lea r10, [0x1800c1c30]
jmp 0x18001406e
lea eax, [rsi - 2]
cmp eax, 1
jbe 0x18001406b
cmp dword [0x1800c1920], 2
mov r15b, 1
je 0x18001406e
mov eax, 0x2000
lea r9, [rbp - 0x29]
sub rax, qword [0x1800c1970]
mov r8, r13
mov edx, 0x114
mov qword [rbp - 0x29], rax
mov rcx, r10
call fcn.180036700
test al, al
jne 0x180013e6c
lea r10, [0x1800c1c30]
jmp 0x18001406e
xor r15b, r15b
mov ecx, 1
lea rdx, [0x1800c1a30]
inc r14d
lea r8d, [rcx - 1]
cmp r14d, 0x24
jb 0x180013e40
mov r14d, 0xffffffff
jmp 0x180014139
cmp qword [0x1800c1958], 0
mov edi, dword [rbp - 0x35]
jne 0x18001411c
test edi, edi
jne 0x18001411c
mov eax, 0x2000
mov qword [0x1800c1950], rdx
cmp qword [rbp - 0x21], rax
lea r9, [rbp - 0x29]
lea r8d, [rdi + 0x33]
mov rcx, r13
cmovb rax, qword [rbp - 0x21]
mov qword [rbp - 0x29], rax
call fcn.18001eae0
mov qword [0x1800c1958], rax
mov rcx, rax
cmp rax, r14
je 0x180013e6c
cmp byte [r13 + 0x18], dil
je 0x1800140f0
mov edi, 3
jmp 0x180014119
mov rax, qword [rbp - 0x21]
cmp rax, 0xffffffffffffffff
je 0x18001410a
sub rax, rcx
mov qword [rbp - 0x21], rax
jne 0x18001410a
mov edi, 4
jmp 0x180014119
cmp byte [0x1800c18ef], 0
mov eax, 1
cmovne edi, eax
mov dword [rbp - 0x35], edi
lea r8, [0x1800c1950]
mov dword [rbp - 0x31], edi
mov edx, 4
lea rcx, [rbp - 0x31]
call fcn.180034500
mov esi, eax
xor r8d, r8d
inc r12d
lea rdx, [0x1800c1a30]
lea r10, [0x1800c1c30]
mov ecx, 1
cmp r12d, 0xb2
jb 0x180013ce1
cmp dword [0x1800c1940], 0
jne 0x180013e6c
lea r10, [0x1800c1c30]
jmp 0x180013cd4
mov qword [rbp - 0x29], rax
xor r9d, r9d
lea rax, [rbp - 0x29]
xor r8d, r8d
mov rdx, r13
mov qword [rsp + 0x20], rax
mov ecx, 0xc8
call fcn.18002ec10
mov al, 1
jmp 0x180013e70