Function at 0x1400753a0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
vmovdqa xmmword [rsp + 0xf0], xmm6
mov byte [rsp + 0x2f], r8b
test rcx, rcx
je 0x140075559
mov rdi, r9
mov ebp, r8d
mov r14, rdx
mov r12d, dword [rsp + 0x180]
mov dword [rsp + 0x6c], 0xb8010000
cmp qword [rsp + 0x178], 0
setne r15b
test r12d, r12d
setne bl
vmovaps ymm0, ymmword [0x140176340]
vmovups ymmword [rsp + 0x70], ymm0
mov qword [rsp + 0xe0], 0
lea r13, [rsp + 0x90]
mov byte [rsp + 0x90], 1
mov byte [rsp + 0x2e], 2
mov qword [rsp + 0xd4], 5
mov dword [rsp + 0x91], 0xb8010000
mov dword [rsp + 0xd0], 5
mov eax, 5
cmp r8b, 4
je 0x14007550e
inc dword [rsp + 0xd4]
jne 0x140075466
inc dword [rsp + 0xd8]
movzx eax, byte [rsp + 0x2f]
mov byte [rsp + 0x95], al
mov eax, dword [rsp + 0xd0]
inc eax
mov dword [rsp + 0xd0], eax
cmp eax, 0x40
jne 0x14007550e
vmovdqa xmm0, xmmword [0x1401761b0]
vmovdqa xmm1, xmmword [rsp + 0x90]
vmovdqa xmm2, xmmword [rsp + 0xa0]
vmovdqa xmm3, xmmword [rsp + 0xb0]
vmovdqa xmm4, xmmword [rsp + 0xc0]
vpshufb xmm2, xmm2, xmm0
vpshufb xmm1, xmm1, xmm0
vinsertf128 ymm1, ymm1, xmm2, 1
vmovups ymmword [rsp + 0x90], ymm1
vpshufb xmm1, xmm4, xmm0
vpshufb xmm0, xmm3, xmm0
vinsertf128 ymm0, ymm0, xmm1, 1
vmovups ymmword [rsp + 0xb0], ymm0
lea rcx, [rsp + 0x70]
mov rdx, r13
vzeroupper
call fcn.14009b3f0
vmovaps ymm0, ymmword [0x140176340]
mov dword [rsp + 0xd0], 0
xor eax, eax
mov esi, dword [rsp + 0x170]
and r15b, bl
mov ebx, 0x37
mov cl, 1
mov dword [rsp + 0x5c], ecx
test rdi, rdi
jne 0x140075530
test esi, esi
jne 0x14007576f
mov qword [rsp + 0x60], r14
test rdi, rdi
jne 0x140075542
test esi, esi
je 0x140075700
cmp eax, 0x3f
jbe 0x140075563
mov r14, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x180]
jmp 0x14007576f
mov ecx, 1
jmp 0x1400758f6
add dword [rsp + 0xd4], esi
jae 0x140075573
inc dword [rsp + 0xd8]
mov r14, rdi
mov r12d, esi
test eax, eax
je 0x140075638
mov ebx, 0x40
sub ebx, eax
cmp ebx, esi
cmovae ebx, esi
mov ecx, eax
add rcx, r13
mov rdx, rdi
mov r8, rbx
vzeroupper
call fcn.14016e4a0
mov r12d, esi
mov eax, ebx
add eax, dword [rsp + 0xd0]
sub r12d, ebx
mov dword [rsp + 0xd0], eax
lea r14, [rdi + rbx]
cmp eax, 0x40
jne 0x140075638
vmovdqa xmm0, xmmword [0x1401761b0]
vmovdqa xmm1, xmmword [rsp + 0x90]
vmovdqa xmm2, xmmword [rsp + 0xa0]
vmovdqa xmm3, xmmword [rsp + 0xb0]
vmovdqa xmm4, xmmword [rsp + 0xc0]
vpshufb xmm2, xmm2, xmm0
vpshufb xmm1, xmm1, xmm0
vinsertf128 ymm1, ymm1, xmm2, 1
vmovups ymmword [rsp + 0x90], ymm1
vpshufb xmm1, xmm4, xmm0
vpshufb xmm0, xmm3, xmm0
vinsertf128 ymm0, ymm0, xmm1, 1
vmovups ymmword [rsp + 0xb0], ymm0
lea rcx, [rsp + 0x70]
mov rdx, r13
vzeroupper
call fcn.14009b3f0
mov dword [rsp + 0xd0], 0
cmp r12d, 0x40
jb 0x1400756dd
vmovdqa xmm6, xmmword [0x1401761b0]
lea rbx, [rsp + 0x70]
nop
vmovups ymm0, ymmword [r14]
vmovups ymm1, ymmword [r14 + 0x20]
vmovups ymmword [r13 + 0x20], ymm1
vmovups ymmword [r13], ymm0
add r14, 0x40
add r12d, 0xffffffc0
vmovdqa xmm0, xmmword [rsp + 0x90]
vmovdqa xmm1, xmmword [rsp + 0xa0]
vmovdqa xmm2, xmmword [rsp + 0xb0]
vmovdqa xmm3, xmmword [rsp + 0xc0]
vpshufb xmm1, xmm1, xmm6
vpshufb xmm0, xmm0, xmm6
vinsertf128 ymm0, ymm0, xmm1, 1
vmovups ymmword [rsp + 0x90], ymm0
vpshufb xmm0, xmm3, xmm6
vpshufb xmm1, xmm2, xmm6
vinsertf128 ymm0, ymm1, xmm0, 1
vmovups ymmword [rsp + 0xb0], ymm0
mov rcx, rbx
mov rdx, r13
vzeroupper
call fcn.14009b3f0
cmp r12d, 0x3f
ja 0x140075650
test r12d, r12d
mov ebx, 0x37
je 0x140075700
mov r8d, r12d
mov rcx, r13
mov rdx, r14
vzeroupper
call fcn.14016e4a0
mov dword [rsp + 0xd0], r12d
test r15b, r15b
mov r12d, dword [rsp + 0x180]
je 0x140075730
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x178]
mov r8d, r12d
vzeroupper
call fcn.14009b240
test eax, eax
je 0x140075730
mov r14, qword [rsp + 0x60]
jmp 0x140075767
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x30]
vzeroupper
call fcn.14009b8c0
test eax, eax
mov r14, qword [rsp + 0x60]
jne 0x140075767
vmovups ymm0, ymmword [rsp + 0x30]
vmovups ymmword [r14], ymm0
add r14, 0x20
mov ebx, 0x17
mov dword [rsp + 0x5c], 0
vmovaps ymm0, ymmword [0x140176340]
vmovups ymmword [rsp + 0x70], ymm0
mov dword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
movzx eax, byte [rsp + 0x2e]
mov byte [rsp + 0x90], al
mov byte [rsp + 0x2e], 3
mov qword [rsp + 0xd0], 5
mov dword [rsp + 0xd4], 5
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x91], eax
cmp bpl, 4
je 0x1400757e1
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x2f]
mov r8d, 1
vzeroupper
call fcn.14009b240
test eax, eax
jne 0x14007584f
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, esi
vzeroupper
call fcn.14009b240
test eax, eax
jne 0x14007584f
test r15b, r15b
je 0x140075816
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x178]
mov r8d, r12d
call fcn.14009b240
test eax, eax
jne 0x14007584f
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x30]
call fcn.14009b8c0
test eax, eax
jne 0x14007584f
cmp byte [rsp + 0x5c], 0
je 0x14007583d
vmovups ymm0, ymmword [rsp + 0x30]
vmovups ymmword [r14], ymm0
jmp 0x14007584d
lea rdx, [rsp + 0x30]
mov rcx, r14
mov r8, rbx
call fcn.14016e4a0
xor eax, eax
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov byte [rsp + 0x32], 0
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x34], 0
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0
mov byte [rsp + 0x3a], 0
mov byte [rsp + 0x3b], 0
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0
mov byte [rsp + 0x3e], 0
mov byte [rsp + 0x3f], 0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
vmovaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret