Function at 0x1400016dd
Capabilities:
Hash data using sha256

Disassembly:
add qword [rcx + 0x20], r8
jmp 0x140016e42
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm13
movaps xmmword [rsp + 0x160], xmm12
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x140], xmm10
movdqa xmmword [rsp + 0x130], xmm9
movdqa xmmword [rsp + 0x120], xmm8
movdqa xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm6
mov r14, r8
mov r13, rdx
mov qword [rsp + 0x80], rcx
mov al, byte [section..data]
cmp al, 1
je 0x140016f6c
movzx eax, al
cmp eax, 0xff
jne 0x140016fd8
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.140017d32
lea rcx, [rsp + 0xa0]
call fcn.140017d54
mov edi, dword [rsi + 8]
mov esi, dword [rsi + 0xc]
mov eax, 0xc000000
mov ebx, edi
and ebx, eax
cmp ebx, eax
jne 0x140016f17
mov ebp, dword [rsp + 0xa4]
call fcn.140017d76
and eax, 2
shr eax, 1
shr ebp, 0x1d
and ebp, eax
call fcn.140017d76
and eax, 2
shr eax, 1
jmp 0x140016f1b
xor ebp, ebp
xor eax, eax
and bpl, al
shr esi, 0x1a
and sil, bpl
cmp ebx, 0xc000000
jne 0x140016f38
call fcn.140017d76
and eax, 2
shr eax, 1
jmp 0x140016f3a
xor eax, eax
mov ecx, edi
shr ecx, 9
and cl, al
and sil, cl
cmp ebx, 0xc000000
jne 0x140016f58
call fcn.140017d76
and eax, 2
shr eax, 1
jmp 0x140016f5a
xor eax, eax
shr edi, 0x13
and dil, al
and sil, dil
mov byte [section..data], sil
je 0x140016fd8
mov rcx, qword [rsp + 0x80]
mov rdx, r13
mov r8, r14
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140017f86
shl r14, 6
add r14, r13
mov qword [rsp + 0xe8], r14
xorps xmm6, xmm6
cmp r13, qword [rsp + 0xe8]
je 0x140017cd8
lea rax, [r13 + 0x40]
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
xor eax, eax
cmp rax, 0x10
je 0x14001703f
mov ecx, dword [r13 + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xa0], ecx
inc rax
jmp 0x140017026
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
movlhps xmm1, xmm0
movups xmm11, xmmword [rax]
shufps xmm11, xmm1, 0x24
movups xmm0, xmmword [rax + 8]
movss xmm1, dword [rax + 0x18]
movss xmm2, dword [rax + 0x1c]
movlhps xmm2, xmm1
shufps xmm0, xmm2, 0x24
mov r14d, dword [rsp + 0xac]
mov edi, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xa4]
movd xmm1, eax
movd xmm2, r9d
punpckldq xmm2, xmm1
movd xmm1, edi
movd xmm10, r14d
punpckldq xmm10, xmm1
punpcklqdq xmm10, xmm2
mov esi, dword [rsp + 0xbc]
mov r12d, dword [rsp + 0xb8]
mov ebx, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0xb0]
mov qword [rsp + 0x78], rcx
movd xmm1, ecx
movd xmm2, ebx
punpckldq xmm2, xmm1
movd xmm1, r12d
movd xmm9, esi
punpckldq xmm9, xmm1
punpcklqdq xmm9, xmm2
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0x90], edx
mov r8d, dword [rsp + 0xc8]
mov dword [rsp + 0x8c], r8d
mov r10d, dword [rsp + 0xc4]
mov dword [rsp + 0x88], r10d
mov ecx, dword [rsp + 0xc0]
mov qword [rsp + 0xf0], rcx
movd xmm1, ecx
movd xmm2, r10d
punpckldq xmm2, xmm1
movd xmm1, r8d
movd xmm8, edx
punpckldq xmm8, xmm1
punpcklqdq xmm8, xmm2
mov edx, dword [rsp + 0xd8]
mov dword [rsp + 0x94], edx
mov r8d, dword [rsp + 0xd4]
mov dword [rsp + 0x98], r8d
mov ecx, dword [rsp + 0xd0]
mov qword [rsp + 0x70], rcx
movd xmm1, ecx
movd xmm2, r8d
punpckldq xmm2, xmm1
movd xmm1, edx
mov ecx, dword [rsp + 0xdc]
mov dword [rsp + 0x9c], ecx
movd xmm7, ecx
punpckldq xmm7, xmm1
punpcklqdq xmm7, xmm2
add eax, 0x428a2f98
add r9d, 0x71374491
add edi, 0xb5c0fbcf
add r14d, 0xe9b5dba5
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], eax
lea rbp, [rsp + 0x30]
mov rcx, rbp
lea r15, [rsp + 0x50]
mov rdx, r15
lea r13, [rsp + 0x40]
mov r8, r13
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], edi
mov rcx, rbp
mov rdi, rbp
mov rdx, r15
mov r8, r13
mov r9d, r14d
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
mov rax, qword [rsp + 0x78]
add eax, 0x3956c25b
add ebx, 0x59f111f1
add r12d, 0x923f82a4
add esi, 0xab1c5ed5
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], eax
mov rcx, rbp
mov rdx, r15
mov r8, r13
mov r9d, ebx
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], r12d
mov rcx, rbp
mov rdx, r15
mov r8, r13
mov r9d, esi
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
mov rsi, qword [rsp + 0xf0]
lea eax, [rsi - 0x27f85568]
mov r9d, dword [rsp + 0x88]
add r9d, 0x12835b01
mov r14d, dword [rsp + 0x8c]
add r14d, 0x243185be
mov ebx, dword [rsp + 0x90]
add ebx, 0x550c7dc3
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], eax
mov rcx, rbp
mov rdx, r15
mov r8, r13
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], r14d
mov rcx, rbp
mov rdx, r15
mov r8, r13
mov r9d, ebx
call fcn.140017d83
movaps xmm13, xmmword [rsp + 0x30]
mov rax, qword [rsp + 0x70]
add eax, 0x72be5d74
mov r9d, dword [rsp + 0x98]
add r9d, 0x80deb1fe
mov ebp, dword [rsp + 0x94]
add ebp, 0x9bdc06a7
mov ebx, dword [rsp + 0x9c]
add ebx, 0xc19bf174
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm13
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov rdx, r15
mov r8, r13
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm13
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebp
mov rcx, rdi
mov r14, r15
mov rdx, r15
mov r8, r13
mov r9d, ebx
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
mov qword [rsp + 0x20], r13
lea r12, [rsp + 0x60]
mov rcx, r12
mov r15, rdi
mov rdx, rdi
mov r8, qword [rsp + 0x78]
mov r9, r14
call fcn.140017e7b
movdqa xmm10, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x240ca1cc
add edi, eax
pshufd xmm0, xmm10, 0xff
movd eax, xmm0
mov qword [rsp + 0x78], rax
add eax, 0xe49b69c1
pshufd xmm0, xmm10, 0xee
movd r9d, xmm0
add r9d, 0xefbe4786
pshufd xmm0, xmm10, 0x55
movd ebx, xmm0
add ebx, 0xfc19dc6
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r14
mov r8, r13
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rbx, r14
mov rdx, r14
mov r8, r13
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm10
mov qword [rsp + 0x20], r13
mov r14, r13
mov rcx, r12
mov rdx, r15
mov r8d, esi
mov r9, rbx
mov rsi, rbx
call fcn.140017e7b
movdqa xmm9, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x76f988da
add edi, eax
pshufd xmm0, xmm9, 0xff
movd ebp, xmm0
lea eax, [rbp + 0x2de92c6f]
pshufd xmm0, xmm9, 0xee
movd r9d, xmm0
add r9d, 0x4a7484aa
pshufd xmm0, xmm9, 0x55
movd ebx, xmm0
add ebx, 0x5cb0a9dc
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, rsi
mov r8, r13
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, rsi
mov r8, r13
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmmword [rsp + 0x40], xmm9
mov qword [rsp + 0x20], r13
mov rcx, r12
mov rdx, r15
mov r8, qword [rsp + 0x70]
mov r9, rsi
call fcn.140017e7b
movdqa xmm8, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0xbf597fc7
add edi, eax
pshufd xmm0, xmm8, 0xff
movd r13d, xmm0
lea eax, [r13 - 0x67c1aeae]
pshufd xmm0, xmm8, 0xee
movd r9d, xmm0
add r9d, 0xa831c66d
pshufd xmm0, xmm8, 0x55
movd ebx, xmm0
add ebx, 0xb00327c8
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, rsi
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rbx, rsi
mov rdx, rsi
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rsi, r12
mov rdx, r15
mov r8, qword [rsp + 0x78]
mov r9, rbx
mov r12, rbx
call fcn.140017e7b
movdqa xmm7, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x14292967
add edi, eax
pshufd xmm0, xmm7, 0xff
movd eax, xmm0
mov qword [rsp + 0x70], rax
add eax, 0xc6e00bf3
pshufd xmm0, xmm7, 0xee
movd r9d, xmm0
add r9d, 0xd5a79147
pshufd xmm0, xmm7, 0x55
movd ebx, xmm0
add ebx, 0x6ca6351
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov rdx, r15
mov r8d, ebp
mov r9, r12
call fcn.140017e7b
movdqa xmm10, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x53380d13
add edi, eax
pshufd xmm0, xmm10, 0xff
movd ebp, xmm0
lea eax, [rbp + 0x27b70a85]
pshufd xmm0, xmm10, 0xee
movd r9d, xmm0
add r9d, 0x2e1b2138
pshufd xmm0, xmm10, 0x55
movd ebx, xmm0
add ebx, 0x4d2c6dfc
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm10
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov rdx, r15
mov r8d, r13d
mov r9, r12
call fcn.140017e7b
movdqa xmm9, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x92722c85
add edi, eax
pshufd xmm0, xmm9, 0xff
movd r13d, xmm0
lea eax, [r13 + 0x650a7354]
pshufd xmm0, xmm9, 0xee
movd r9d, xmm0
add r9d, 0x766a0abb
pshufd xmm0, xmm9, 0x55
movd ebx, xmm0
add ebx, 0x81c2c92e
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmmword [rsp + 0x40], xmm9
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov rdx, r15
mov r8, qword [rsp + 0x70]
mov r9, r12
call fcn.140017e7b
movdqa xmm8, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0xc76c51a3
add edi, eax
pshufd xmm0, xmm8, 0xff
movd eax, xmm0
mov qword [rsp + 0x70], rax
add eax, 0xa2bfe8a1
pshufd xmm0, xmm8, 0xee
movd r9d, xmm0
add r9d, 0xa81a664b
pshufd xmm0, xmm8, 0x55
movd ebx, xmm0
add ebx, 0xc24b8b70
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov rdx, r15
mov r8d, ebp
mov r9, r12
call fcn.140017e7b
movdqa xmm7, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x106aa070
add edi, eax
pshufd xmm0, xmm7, 0xff
movd ebp, xmm0
lea eax, [rbp - 0x2e6d17e7]
pshufd xmm0, xmm7, 0xee
movd r9d, xmm0
add r9d, 0xd6990624
pshufd xmm0, xmm7, 0x55
movd ebx, xmm0
add ebx, 0xf40e3585
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov rdx, r15
mov r8d, r13d
mov r9, r12
call fcn.140017e7b
movdqa xmm10, xmmword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
mov eax, 0x34b0bcb5
add edi, eax
pshufd xmm0, xmm10, 0xff
movd r13d, xmm0
lea eax, [r13 + 0x19a4c116]
pshufd xmm0, xmm10, 0xee
movd r9d, xmm0
add r9d, 0x1e376c08
pshufd xmm0, xmm10, 0x55
movd ebx, xmm0
add ebx, 0x2748774c
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, edi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm10
mov qword [rsp + 0x20], r14
mov rbx, rsi
mov rcx, rsi
mov rdx, r15
mov r8, qword [rsp + 0x70]
mov r9, r12
call fcn.140017e7b
movdqa xmm9, xmmword [rsp + 0x60]
mov esi, dword [rsp + 0x60]
mov eax, 0x682e6ff3
add esi, eax
pshufd xmm0, xmm9, 0xff
movd eax, xmm0
add eax, 0x391c0cb3
pshufd xmm0, xmm9, 0xee
movd r9d, xmm0
add r9d, 0x4ed8aa4a
pshufd xmm0, xmm9, 0x55
movd edi, xmm0
add edi, 0x5b9cca4f
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], edi
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, esi
call fcn.140017d83
movaps xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmmword [rsp + 0x40], xmm9
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, r15
mov r8d, ebp
mov r9, r12
call fcn.140017e7b
movdqa xmm8, xmmword [rsp + 0x60]
mov esi, dword [rsp + 0x60]
mov eax, 0x8cc70208
add esi, eax
pshufd xmm0, xmm8, 0xff
movd eax, xmm0
add eax, 0x748f82ee
pshufd xmm0, xmm8, 0xee
movd r9d, xmm0
add r9d, 0x78a5636f
pshufd xmm0, xmm8, 0x55
movd edi, xmm0
add edi, 0x84c87814
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
movaps xmm11, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm12
movaps xmmword [rsp + 0x40], xmm11
mov dword [rsp + 0x20], edi
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, esi
call fcn.140017d83
movaps xmm10, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, r15
mov r8d, r13d
mov r9, r12
call fcn.140017e7b
movdqa xmm0, xmmword [rsp + 0x60]
mov esi, dword [rsp + 0x60]
mov eax, 0xc67178f2
add esi, eax
pshufd xmm1, xmm0, 0xff
movd eax, xmm1
add eax, 0x90befffa
pshufd xmm1, xmm0, 0xee
movd r9d, xmm1
add r9d, 0xa4506ceb
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
add edi, 0xbef9a3f7
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140017d83
mov ebx, dword [rsp + 0x30]
movdqa xmm7, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm10
movdqa xmmword [rsp + 0x40], xmm7
mov dword [rsp + 0x20], edi
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9d, esi
call fcn.140017d83
mov eax, dword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x30]
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
pshufd xmm1, xmm0, 0xee
movd edx, xmm1
pshufd xmm0, xmm0, 0xff
movd r8d, xmm0
mov r9, qword [rsp + 0x80]
add dword [r9], eax
pshufd xmm0, xmm7, 0x55
add dword [r9 + 4], ecx
movd eax, xmm0
add dword [r9 + 8], ebx
pshufd xmm0, xmm7, 0xee
add dword [r9 + 0xc], eax
movd eax, xmm0
add dword [r9 + 0x10], edx
pshufd xmm0, xmm7, 0xff
add dword [r9 + 0x14], r8d
movd ecx, xmm0
add dword [r9 + 0x18], eax
add dword [r9 + 0x1c], ecx
mov r13, qword [rsp + 0xf8]
jmp 0x140016fea
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3f8
movdqa xmmword [rsp + 0x3e0], xmm15
movdqa xmmword [rsp + 0x3d0], xmm14
movdqa xmmword [rsp + 0x3c0], xmm13
movaps xmmword [rsp + 0x3b0], xmm12
movaps xmmword [rsp + 0x3a0], xmm11
movdqa xmmword [rsp + 0x390], xmm10
movdqa xmmword [rsp + 0x380], xmm9
movaps xmmword [rsp + 0x370], xmm8
movdqa xmmword [rsp + 0x360], xmm7
movdqa xmmword [rsp + 0x350], xmm6
mov rdi, r8
movdqu xmm0, xmmword [rcx]
mov qword [rsp + 0x48], rcx
movdqu xmm1, xmmword [rcx + 0x10]
pshufd xmm0, xmm0, 0xb1
pshufd xmm11, xmm1, 0x1b
movdqa xmm12, xmm0
palignr xmm12, xmm11, 8
pblendw xmm11, xmm0, 0xf0
shl rdi, 6
movdqa xmm8, xmmword [0x140026630]
lea rbx, [rsp + 0x30]
lea r15, [rsp + 0x2e0]
lea r12, [rsp + 0x2f0]
lea r13, [rsp + 0x310]
lea rbp, [rsp + 0x320]
lea rsi, [rsp + 0x330]
test rdi, rdi
je 0x14001866f
lea r14, [rdx + 0x40]
movdqu xmm0, xmmword [rdx]
movdqu xmm9, xmmword [rdx + 0x10]
movdqu xmm14, xmmword [rdx + 0x20]
movdqu xmm13, xmmword [rdx + 0x30]
pshufb xmm0, xmm8
pshufb xmm9, xmm8
pshufb xmm14, xmm8
pshufb xmm13, xmm8
movdqa xmmword [rsp + 0x50], xmm0
paddd xmm0, xmmword [0x140026640]
movdqa xmm6, xmm11
sha256rnds2 xmm6, xmm12, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm12
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x140026650]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x140026660]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x140026670]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x70], xmm14
movdqa xmmword [rsp + 0x80], xmm13
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x70]
call fcn.140018705
movdqa xmm10, xmmword [rsp + 0x30]
movdqa xmm0, xmm10
paddd xmm0, xmmword [0x140026680]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0xb0], xmm13
movdqa xmmword [rsp + 0xc0], xmm10
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0xb0]
call fcn.140018705
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x140026690]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0xd0], xmm14
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xf0], xmm10
movdqa xmmword [rsp + 0x100], xmm15
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0xe0]
lea r9, [rsp + 0xf0]
call fcn.140018705
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x1400266a0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x110], xmm13
movdqa xmmword [rsp + 0x120], xmm10
movdqa xmmword [rsp + 0x130], xmm15
movdqa xmmword [rsp + 0x140], xmm14
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x110]
lea r8, [rsp + 0x120]
lea r9, [rsp + 0x130]
call fcn.140018705
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x1400266b0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x150], xmm10
movdqa xmmword [rsp + 0x160], xmm15
movdqa xmmword [rsp + 0x170], xmm14
movdqa xmmword [rsp + 0x180], xmm13
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x160]
lea r9, [rsp + 0x170]
call fcn.140018705
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x1400266c0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x190], xmm15
movdqa xmmword [rsp + 0x1a0], xmm14
movdqa xmmword [rsp + 0x1b0], xmm13
movdqa xmmword [rsp + 0x1c0], xmm9
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x1a0]
lea r9, [rsp + 0x1b0]
call fcn.140018705
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm0, xmm15
paddd xmm0, xmmword [0x1400266d0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x1d0], xmm14
movdqa xmmword [rsp + 0x1e0], xmm13
movdqa xmmword [rsp + 0x1f0], xmm9
movdqa xmmword [rsp + 0x200], xmm15
lea rax, [rsp + 0x200]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x1d0]
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x1f0]
call fcn.140018705
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm0, xmm14
paddd xmm0, xmmword [0x1400266e0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x210], xmm13
movdqa xmmword [rsp + 0x220], xmm9
movdqa xmmword [rsp + 0x230], xmm15
movdqa xmmword [rsp + 0x240], xmm14
lea rax, [rsp + 0x240]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x220]
lea r9, [rsp + 0x230]
call fcn.140018705
movdqa xmm13, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
paddd xmm0, xmmword [0x1400266f0]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x250], xmm9
movdqa xmmword [rsp + 0x260], xmm15
movdqa xmmword [rsp + 0x270], xmm14
movdqa xmmword [rsp + 0x280], xmm13
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x250]
lea r8, [rsp + 0x260]
lea r9, [rsp + 0x270]
call fcn.140018705
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm0, xmm9
paddd xmm0, xmmword [0x140026700]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x290], xmm15
movdqa xmmword [rsp + 0x2a0], xmm14
movdqa xmmword [rsp + 0x2b0], xmm13
movdqa xmmword [rsp + 0x2c0], xmm9
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x290]
lea r8, [rsp + 0x2a0]
lea r9, [rsp + 0x2b0]
call fcn.140018705
movdqa xmm10, xmmword [rsp + 0x30]
movdqa xmm0, xmm10
paddd xmm0, xmmword [0x140026710]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x2d0], xmm14
movdqa xmmword [rsp + 0x2e0], xmm13
movdqa xmmword [rsp + 0x2f0], xmm9
movdqa xmmword [rsp + 0x300], xmm10
lea rax, [rsp + 0x300]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea rdx, [rsp + 0x2d0]
mov r8, r15
mov r9, r12
call fcn.140018705
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x340], xmm0
paddd xmm0, xmmword [0x140026720]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
movdqa xmmword [rsp + 0x310], xmm13
movdqa xmmword [rsp + 0x320], xmm9
movdqa xmmword [rsp + 0x330], xmm10
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r13
mov r8, rbp
mov r9, rsi
call fcn.140018705
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmmword [0x140026730]
sha256rnds2 xmm6, xmm7, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm7, xmm6, xmm0
paddd xmm12, xmm7
paddd xmm11, xmm6
add rdi, 0xffffffffffffffc0
mov rdx, r14
jmp 0x140018061
pshufd xmm0, xmm12, 0x1b
pshufd xmm1, xmm11, 0xb1
movdqa xmm2, xmm0
pblendw xmm2, xmm1, 0xf0
palignr xmm1, xmm0, 8
mov rax, qword [rsp + 0x48]
movdqu xmmword [rax], xmm2
movdqu xmmword [rax + 0x10], xmm1
movaps xmm6, xmmword [rsp + 0x350]
movaps xmm7, xmmword [rsp + 0x360]
movaps xmm8, xmmword [rsp + 0x370]
movaps xmm9, xmmword [rsp + 0x380]
movaps xmm10, xmmword [rsp + 0x390]
movaps xmm11, xmmword [rsp + 0x3a0]
movaps xmm12, xmmword [rsp + 0x3b0]
movaps xmm13, xmmword [rsp + 0x3c0]
movaps xmm14, xmmword [rsp + 0x3d0]
movaps xmm15, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret