Function at 0x140435290
Capabilities:
Hash data using sha256

Disassembly:
sub rsp, 0x28
test rcx, rcx
je case.0x14042cbd1.6
mov eax, dword [rcx]
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x14042cbd1.6
lea r10, [0x14042ccc0]
movsxd rax, dword [r10 + rax*4]
add rax, r10
jmp rax
mov rcx, rdx
mov rdx, r8
mov r8, r9
add rsp, 0x28
jmp 0x140436890
mov eax, 0xffffaf00
add rsp, 0x28
ret
mov rcx, rdx
mov rdx, r8
mov r8, r9
add rsp, 0x28
jmp 0x1404384d0
mov rcx, rdx
mov rdx, r8
mov r8, r9
add rsp, 0x28
jmp 0x140439aa0
mov rcx, rdx
mov rdx, r8
mov r8, r9
mov r9d, 1
jmp 0x14042cc30
mov rcx, rdx
mov rdx, r8
mov r8, r9
xor r9d, r9d
add rsp, 0x28
jmp 0x140435290
mov rcx, rdx
mov rdx, r8
mov r8, r9
mov r9d, 1
jmp 0x14042cc56
mov rcx, rdx
mov rdx, r8
mov r8, r9
xor r9d, r9d
add rsp, 0x28
jmp 0x140435c90
movzx eax, byte [rcx + 4]
mov qword [rsp + 0x20], rax
mov ecx, 1
call fcn.1404342f0
jmp 0x14042cbea
movzx eax, byte [rcx + 4]
mov qword [rsp + 0x20], rax
mov ecx, 2
call fcn.1404342f0
jmp 0x14042cbea
movzx eax, byte [rcx + 4]
mov qword [rsp + 0x20], rax
mov ecx, 3
call fcn.1404342f0
jmp 0x14042cbea
movzx eax, byte [rcx + 4]
mov qword [rsp + 0x20], rax
mov ecx, 4
call fcn.1404342f0
jmp 0x14042cbea
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ebp, 0xffffff8c
cmp r9d, 1
ja 0x140435395
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x40], ymm0
vmovups ymmword [rsp + 0x20], ymm0
mov qword [rsp + 0x60], 0
test r9d, r9d
je 0x1404352f1
vmovaps ymm0, ymmword [0x140470a00]
jmp 0x1404352f9
vmovaps ymm0, ymmword [0x1404709e0]
vmovups ymmword [rsp + 0x68], ymm0
mov dword [rsp + 0x88], r9d
test rdi, rdi
je 0x140435374
mov dword [rsp + 0x60], edi
lea r14, [rsp + 0x20]
nop word cs:[rax + rax]
cmp rdi, 0x40
jb 0x14043535c
xor r15d, r15d
nop dword [rax]
lea rdx, [rbx + r15]
mov rcx, r14
vzeroupper
call fcn.1404344d0
add rdi, 0xffffffffffffffc0
add r15, 0x40
cmp rdi, 0x3f
ja 0x140435330
add rbx, r15
test r15, r15
jne 0x140435320
mov ebp, 0xffffffff
jmp 0x140435386
test rdi, rdi
je 0x140435374
lea rcx, [rsp + 0x20]
mov rdx, rbx
mov r8, rdi
vzeroupper
call fcn.140464e80
lea rcx, [rsp + 0x20]
mov rdx, rsi
vzeroupper
call fcn.1404351b0
xor ebp, ebp
lea rcx, [rsp + 0x20]
mov edx, 0x6c
call fcn.140424570
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140439e00
mov eax, ebp
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov ebp, 0xffffff8b
cmp r9d, 1
ja 0x140435dd5
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x40], ymm0
vmovups ymmword [rsp + 0x20], ymm0
vmovups ymmword [rsp + 0x60], ymm0
vmovups ymmword [rsp + 0xd8], ymm0
vmovups ymmword [rsp + 0xc0], ymm0
vmovups ymmword [rsp + 0xa0], ymm0
vmovups ymmword [rsp + 0x80], ymm0
test r9d, r9d
je 0x140435d1c
vmovaps ymm0, ymmword [0x140471000]
jne 0x140435d26
vmovaps ymm1, ymmword [0x140471020]
jmp 0x140435d2e
vmovaps ymm0, ymmword [0x140470fe0]
je 0x140435d12
vmovaps ymm1, ymmword [0x140471040]
vmovups ymmword [rsp + 0x30], ymm0
vmovups ymmword [rsp + 0x50], ymm1
mov dword [rsp + 0xf0], r9d
test rdi, rdi
je 0x140435db4
mov qword [rsp + 0x20], rdi
lea r14, [rsp + 0x20]
nop word cs:[rax + rax]
cmp rdi, 0x80
jb 0x140435d9c
xor r15d, r15d
nop dword [rax]
lea rdx, [rbx + r15]
mov rcx, r14
vzeroupper
call fcn.140435470
add rdi, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
cmp rdi, 0x7f
ja 0x140435d70
add rbx, r15
test r15, r15
jne 0x140435d60
mov ebp, 0xffffffff
jmp 0x140435dc6
test rdi, rdi
je 0x140435db4
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
vzeroupper
call fcn.140464e80
lea rcx, [rsp + 0x20]
mov rdx, rsi
vzeroupper
call fcn.140435b70
xor ebp, ebp
lea rcx, [rsp + 0x20]
mov edx, 0xd8
call fcn.140424570
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140439e00
mov eax, ebp
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov rsi, r8
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x80], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x20], ymm0
vmovups ymmword [rsp + 0x58], ymm0
vmovups ymmword [rsp + 0x40], ymm0
vmovaps xmm0, xmmword [0x140471390]
vmovups xmmword [rsp + 0x28], xmm0
test rdx, rdx
je 0x140436924
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], edi
cmp rdx, 0x40
jb 0x140436911
lea r14, [rsp + 0x20]
nop
mov rcx, r14
mov rdx, rbx
vzeroupper
call fcn.140435e50
add rbx, 0x40
add rdi, 0xffffffffffffffc0
cmp rdi, 0x3f
ja 0x1404368f0
test rdi, rdi
je 0x140436924
lea rcx, [rsp + 0x38]
mov rdx, rbx
mov r8, rdi
vzeroupper
call fcn.140464e80
mov r8d, dword [rsp + 0x20]
and r8d, 0x3f
lea rdi, [rsp + 0x38]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x38], 0x80
lea rcx, [rsp + rax]
add rcx, 0x38
cmp r8d, 0x37
ja 0x140436961
mov eax, 0x37
sub eax, r8d
xor edx, edx
mov r8, rax
vzeroupper
call fcn.140465520
jmp 0x140436989
xor r8d, 0x3f
xor edx, edx
vzeroupper
call fcn.140465520
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.140435e50
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rdi], ymm0
vmovups ymmword [rdi + 0x18], ymm0
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
shld ecx, eax, 3
shl eax, 3
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], ecx
lea rbx, [rsp + 0x20]
mov rcx, rbx
mov rdx, rdi
vzeroupper
call fcn.140435e50
vmovups xmm0, xmmword [rsp + 0x28]
vmovups xmmword [rsi], xmm0
mov edx, 0x58
mov rcx, rbx
call fcn.140424570
mov edx, 0x58
mov rcx, rbx
call fcn.140424570
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140439e00
xor eax, eax
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov rsi, r8
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x80], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x20], ymm0
vmovups ymmword [rsp + 0x5c], ymm0
vmovups ymmword [rsp + 0x40], ymm0
vmovaps xmm0, xmmword [0x140471390]
vmovups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x38], 0xc3d2e1f0
test rdx, rdx
je 0x140438574
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], edi
cmp rdx, 0x40
jb 0x140438561
lea r14, [rsp + 0x20]
nop word [rax + rax]
mov rcx, r14
mov rdx, rbx
vzeroupper
call fcn.140436a60
add rbx, 0x40
add rdi, 0xffffffffffffffc0
cmp rdi, 0x3f
ja 0x140438540
test rdi, rdi
je 0x140438574
lea rcx, [rsp + 0x3c]
mov rdx, rbx
mov r8, rdi
vzeroupper
call fcn.140464e80
lea rdi, [rsp + 0x20]
mov rcx, rdi
mov rdx, rsi
vzeroupper
call fcn.1404382f0
mov edx, 0x5c
mov rcx, rdi
call fcn.140424570
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140439e00
xor eax, eax
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov rsi, r8
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x80], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x20], ymm0
vmovups ymmword [rsp + 0x5c], ymm0
vmovups ymmword [rsp + 0x40], ymm0
vmovaps xmm0, xmmword [0x140471390]
vmovups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x38], 0xc3d2e1f0
test rdx, rdx
je 0x140439b44
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], edi
cmp rdx, 0x40
jb 0x140439b31
lea r14, [rsp + 0x20]
nop word [rax + rax]
mov rcx, r14
mov rdx, rbx
vzeroupper
call fcn.1404385c0
add rbx, 0x40
add rdi, 0xffffffffffffffc0
cmp rdi, 0x3f
ja 0x140439b10
test rdi, rdi
je 0x140439b44
lea rcx, [rsp + 0x3c]
mov rdx, rbx
mov r8, rdi
vzeroupper
call fcn.140464e80
lea rdi, [rsp + 0x20]
mov rcx, rdi
mov rdx, rsi
vzeroupper
call fcn.1404399d0
mov edx, 0x5c
mov rcx, rdi
call fcn.140424570
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140439e00
xor eax, eax
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret