Function at 0x1400347a1
Capabilities:
Hash data using sha1 via x86 extensions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov r14, r8
mov r12, rdx
mov qword [rsp + 0xa0], rcx
mov al, byte [section..data]
cmp al, 1
je 0x140016583
movzx eax, al
cmp eax, 0xff
jne 0x1400165a9
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.140017293
lea rcx, [rsp + 0xc0]
call fcn.1400172b5
mov edi, dword [rbx + 8]
mov esi, dword [rbx + 0xc]
mov eax, 0xc000000
mov ebx, edi
and ebx, eax
cmp ebx, eax
jne 0x14001652e
mov ebp, dword [rsp + 0xc4]
call fcn.1400172e0
and eax, 2
shr eax, 1
shr ebp, 0x1d
and ebp, eax
call fcn.1400172e0
and eax, 2
shr eax, 1
jmp 0x140016532
xor ebp, ebp
xor eax, eax
and bpl, al
shr esi, 0x1a
and sil, bpl
cmp ebx, 0xc000000
jne 0x14001654f
call fcn.1400172e0
and eax, 2
shr eax, 1
jmp 0x140016551
xor eax, eax
mov ecx, edi
shr ecx, 9
and cl, al
and sil, cl
cmp ebx, 0xc000000
jne 0x14001656f
call fcn.1400172e0
and eax, 2
shr eax, 1
jmp 0x140016571
xor eax, eax
shr edi, 0x13
and dil, al
and sil, dil
mov byte [section..data], sil
je 0x1400165a9
mov rcx, qword [rsp + 0xa0]
mov rdx, r12
mov r8, r14
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140017548
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0xa0]
mov ebx, dword [rax]
mov edx, dword [rax + 0x10]
movdqu xmm0, xmmword [rax]
pshufd xmm1, xmm0, 0xff
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd r8d, xmm1
pshufd xmm0, xmm0, 0x55
movd r9d, xmm0
shl r14, 6
add r14, r12
mov qword [rsp + 0x100], r14
movd xmm0, ebx
movd xmm3, r9d
movd xmm1, r8d
movd xmm2, eax
cmp r12, qword [rsp + 0x100]
je 0x140017264
mov dword [rsp + 0xb8], eax
lea rax, [r12 + 0x40]
mov qword [rsp + 0x110], rax
xor eax, eax
cmp rax, 0x10
je 0x140016657
mov ecx, dword [r12 + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x14001663f
mov r15d, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x9c], ecx
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x48], eax
mov edi, dword [rsp + 0xd0]
mov r13d, dword [rsp + 0xd4]
mov dword [rsp + 0x7c], r13d
mov r12d, dword [rsp + 0xd8]
mov dword [rsp + 0x68], r12d
mov ebp, dword [rsp + 0xdc]
mov dword [rsp + 0x40], ebp
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x6c], eax
punpckldq xmm0, xmm3
lea eax, [r15 + rdx]
movd xmm3, eax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x44], eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movd xmm1, ecx
punpckldq xmm3, xmm1
movdqu xmm1, xmmword [rsp + 0xc8]
punpcklqdq xmm3, xmm1
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x20], xmm3
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x4c], eax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x108], rdx
lea rdx, [rsp + 0x80]
mov dword [rsp + 0xb4], r8d
lea r14, [rsp + 0x20]
mov r8, r14
mov dword [rsp + 0xb0], r9d
xor r9d, r9d
call fcn.1400172f0
mov esi, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
mov eax, ebx
rol eax, 0x1e
mov dword [rsp + 0x78], edi
add eax, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], ebp
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov r13, rdx
mov r8, r14
mov r12, r14
xor r9d, r9d
call fcn.1400172f0
mov dword [rsp + 0xbc], ebx
mov r14d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
rol esi, 0x1e
add esi, dword [rsp + 0x74]
mov dword [rsp + 0x20], esi
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x2c], eax
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov rdx, r13
mov r8, r12
mov r13, r12
xor r9d, r9d
call fcn.1400172f0
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
rol r14d, 0x1e
add r14d, dword [rsp + 0x34]
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x6c]
mov dword [rsp + 0x24], r14d
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x28], ebx
mov ebp, dword [rsp + 0x4c]
mov dword [rsp + 0x2c], ebp
mov rcx, rsi
lea rdx, [rsp + 0x80]
mov r8, r13
xor r9d, r9d
call fcn.1400172f0
mov eax, dword [rsp + 0x70]
xor r15d, eax
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x9c]
xor r8d, ecx
xor eax, edi
mov edx, eax
mov r13d, dword [rsp + 0x74]
mov esi, r13d
xor esi, r14d
xor esi, r15d
rol esi, 1
mov r15d, dword [rsp + 0x64]
xor r15d, ebx
xor r15d, r8d
mov eax, dword [rsp + 0x3c]
xor eax, ebp
xor eax, edx
rol r12d, 0x1e
add r12d, esi
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov edi, ecx
mov ebx, dword [rsp + 0x7c]
xor edi, ebx
rol r15d, 1
rol eax, 1
xor edi, dword [rsp + 0x38]
xor edi, esi
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], eax
mov r14d, eax
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x48], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
xor r9d, r9d
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xac], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x68]
xor eax, edx
mov r8d, dword [rsp + 0x40]
xor ebx, r8d
xor edx, r13d
xor r8d, dword [rsp + 0x64]
xor eax, dword [rsp + 0x34]
xor eax, r15d
rol eax, 1
mov ecx, eax
mov r13d, dword [rsp + 0x6c]
xor ebx, r13d
xor ebx, r14d
mov dword [rsp + 0x70], r14d
rol ebx, 1
mov eax, edx
xor eax, dword [rsp + 0x44]
xor eax, edi
rol eax, 1
mov edx, eax
mov eax, r8d
xor eax, ebp
mov dword [rsp + 0x78], ecx
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0x80], xmm0
rol r12d, 0x1e
add r12d, ecx
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x24], ebx
mov edi, ebx
mov dword [rsp + 0x28], edx
mov r12d, edx
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x9c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ebp, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x74]
xor ecx, ebp
mov ebx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x64]
xor eax, ebx
xor ebp, dword [rsp + 0x34]
xor ebx, r13d
xor ecx, esi
xor ecx, edi
mov r13d, edi
rol ecx, 1
mov dword [rsp + 0x74], ecx
xor eax, r15d
xor eax, r12d
rol eax, 1
mov edi, eax
xor ebp, r14d
xor ebp, dword [rsp + 0x40]
rol ebp, 1
xor ebx, dword [rsp + 0x48]
xor ebx, ecx
rol ebx, 1
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0xac]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov r14d, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x4c]
xor r14d, r8d
xor edx, esi
xor r8d, r15d
mov r12d, dword [rsp + 0x78]
xor ecx, r12d
xor ecx, edi
rol ecx, 1
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x7c], r13d
xor r14d, r13d
xor r14d, ebp
rol r14d, 1
mov eax, edx
xor eax, dword [rsp + 0x68]
xor eax, ebx
rol eax, 1
mov edx, eax
mov eax, r8d
xor eax, dword [rsp + 0x40]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x9c]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], r14d
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x28], edx
mov edi, edx
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x70]
xor esi, ecx
mov eax, dword [rsp + 0x48]
xor r15d, eax
xor ecx, r12d
xor eax, r13d
mov r13d, dword [rsp + 0x74]
xor esi, r13d
xor esi, r14d
rol esi, 1
mov r14d, dword [rsp + 0x64]
xor r15d, r14d
xor r15d, edi
rol r15d, 1
xor ecx, ebp
xor ecx, dword [rsp + 0x4c]
rol ecx, 1
mov edx, ecx
mov dword [rsp + 0x70], ecx
xor eax, ebx
xor eax, esi
rol eax, 1
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, esi
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x68]
xor r12d, eax
mov ecx, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x40]
xor ecx, edx
xor eax, r13d
xor edx, r14d
xor r12d, dword [rsp + 0x34]
xor r12d, r15d
rol r12d, 1
mov dword [rsp + 0x78], r12d
mov edi, dword [rsp + 0x6c]
xor ecx, edi
mov r14d, dword [rsp + 0x70]
xor ecx, r14d
rol ecx, 1
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x48]
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x68], eax
mov eax, edx
xor eax, dword [rsp + 0x4c]
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x38]
rol edx, 0x1e
add edx, r12d
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], ecx
mov r12d, ecx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
xor r13d, ebp
mov eax, dword [rsp + 0x64]
xor eax, ebx
xor ebp, dword [rsp + 0x34]
xor ebx, edi
xor r13d, esi
xor r13d, r12d
rol r13d, 1
mov dword [rsp + 0x74], r13d
xor eax, r15d
xor eax, dword [rsp + 0x68]
rol eax, 1
xor ebp, r14d
mov r14d, dword [rsp + 0x40]
xor ebp, r14d
rol ebp, 1
xor ebx, dword [rsp + 0x48]
xor ebx, r13d
rol ebx, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, r13d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], eax
mov edi, eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x44]
mov edx, dword [rsp + 0x34]
xor edx, eax
mov r13d, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x4c]
xor r13d, r8d
xor eax, esi
xor r8d, r15d
xor edx, dword [rsp + 0x78]
xor edx, edi
rol edx, 1
mov dword [rsp + 0x7c], r12d
xor r13d, r12d
xor r13d, ebp
rol r13d, 1
xor eax, dword [rsp + 0x68]
xor eax, ebx
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, r14d
mov dword [rsp + 0x34], edx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x38]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x70]
xor esi, eax
mov edi, dword [rsp + 0x48]
xor r15d, edi
xor eax, dword [rsp + 0x78]
xor edi, r12d
xor esi, dword [rsp + 0x74]
xor esi, r13d
rol esi, 1
mov r14d, dword [rsp + 0x64]
xor r15d, r14d
xor r15d, dword [rsp + 0x44]
rol r15d, 1
xor eax, ebp
xor eax, dword [rsp + 0x4c]
rol eax, 1
mov dword [rsp + 0x70], eax
xor edi, ebx
xor edi, esi
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, esi
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x48], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r12d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x68]
xor r12d, edx
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x40]
xor eax, ecx
mov r13d, dword [rsp + 0x74]
xor edx, r13d
xor ecx, r14d
xor r12d, dword [rsp + 0x34]
xor r12d, r15d
rol r12d, 1
mov dword [rsp + 0x78], r12d
xor eax, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x70]
xor eax, r14d
rol eax, 1
mov r8d, eax
mov eax, edx
xor eax, dword [rsp + 0x44]
xor eax, edi
rol eax, 1
mov edi, eax
mov eax, ecx
xor eax, dword [rsp + 0x4c]
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, r12d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r8d
mov r12d, r8d
mov dword [rsp + 0x7c], r8d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
xor r13d, ebp
mov eax, dword [rsp + 0x64]
xor eax, ebx
xor ebp, dword [rsp + 0x34]
xor ebx, dword [rsp + 0x6c]
xor r13d, esi
xor r13d, r12d
rol r13d, 1
mov dword [rsp + 0x74], r13d
xor eax, r15d
xor eax, edi
rol eax, 1
mov edi, eax
xor ebp, r14d
mov r14d, dword [rsp + 0x40]
xor ebp, r14d
rol ebp, 1
xor ebx, dword [rsp + 0x48]
xor ebx, r13d
rol ebx, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, r13d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x4c]
xor eax, r8d
xor edx, esi
xor r8d, r15d
mov r12d, dword [rsp + 0x78]
xor ecx, r12d
xor ecx, edi
rol ecx, 1
mov dword [rsp + 0x34], ecx
mov r13d, dword [rsp + 0x7c]
xor eax, r13d
xor eax, ebp
rol eax, 1
mov edi, eax
mov eax, edx
xor eax, dword [rsp + 0x68]
xor eax, ebx
rol eax, 1
mov edx, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, r14d
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x38]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r14d, dword [rsp + 0x70]
xor esi, r14d
mov ecx, dword [rsp + 0x48]
xor r15d, ecx
xor r14d, r12d
xor ecx, r13d
mov r13d, dword [rsp + 0x74]
xor esi, r13d
xor esi, edi
rol esi, 1
xor r15d, dword [rsp + 0x64]
xor r15d, dword [rsp + 0x44]
rol r15d, 1
xor r14d, ebp
xor r14d, dword [rsp + 0x4c]
rol r14d, 1
xor ecx, ebx
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x48], ecx
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x3c]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x2c], ecx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x68]
mov edx, r12d
xor edx, eax
mov r9d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x7c]
xor ecx, r9d
xor eax, r13d
mov r12d, dword [rsp + 0x64]
xor r9d, r12d
xor edx, dword [rsp + 0x34]
xor edx, r15d
rol edx, 1
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x6c], edi
xor ecx, edi
xor ecx, r14d
rol ecx, 1
mov r13d, ecx
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x48]
rol eax, 1
xor r9d, dword [rsp + 0x4c]
xor r9d, edx
rol r9d, 1
mov dword [rsp + 0x40], r9d
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x38]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x28], eax
mov r14d, eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x2c], r9d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400172f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x74]
xor eax, ebp
xor r12d, ebx
xor ebp, dword [rsp + 0x34]
xor ebx, edi
xor eax, esi
xor eax, r13d
rol eax, 1
xor r12d, r15d
xor r12d, r14d
rol r12d, 1
xor ebp, dword [rsp + 0x70]
mov r14d, dword [rsp + 0xbc]
xor ebp, dword [rsp + 0x40]
rol ebp, 1
xor ebx, dword [rsp + 0x48]
xor ebx, eax
rol ebx, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea r13, [rsp + 0x80]
mov rdx, r13
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400172f0
mov edi, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x4c]
xor eax, r8d
xor esi, edx
xor r15d, r8d
xor ecx, dword [rsp + 0x78]
xor ecx, r12d
rol ecx, 1
xor eax, dword [rsp + 0x7c]
xor eax, ebp
rol eax, 1
xor esi, dword [rsp + 0x68]
xor esi, ebx
rol esi, 1
xor r15d, dword [rsp + 0x40]
xor r15d, ecx
rol r15d, 1
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x38]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], r15d
lea rcx, [rsp + 0x50]
mov rdx, r13
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400172f0
mov r9d, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0xb4]
movdqa xmm0, xmmword [rsp + 0x50]
add r14d, dword [rsp + 0x50]
mov ebx, r14d
rol edi, 0x1e
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
pshufd xmm0, xmm0, 0xff
movd edx, xmm0
add r9d, eax
add r8d, ecx
mov eax, dword [rsp + 0xb8]
add eax, edx
add edi, dword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
mov edx, edi
jmp 0x140016609
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0x10], edx
punpckldq xmm0, xmm3
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqu xmmword [rax], xmm0
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
movdqu xmm0, xmmword [rcx]
pshufd xmm0, xmm0, 0xff
pinsrd xmm0, dword [rcx + 8], 1
pinsrd xmm0, dword [rcx + 4], 2
pinsrd xmm0, dword [rcx], 3
movd xmm1, dword [rcx + 0x10]
pslldq xmm1, 0xc
shl r8, 6
movdqa xmm2, xmmword [0x140061570]
test r8, r8
je 0x1400177be
movdqu xmm6, xmmword [rdx]
movdqu xmm5, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqu xmm3, xmmword [rdx + 0x30]
add rdx, 0x40
pshufb xmm6, xmm2
pshufb xmm5, xmm2
pshufb xmm4, xmm2
pshufb xmm3, xmm2
movdqa xmm7, xmm1
paddd xmm7, xmm6
movdqa xmm8, xmm0
sha1rnds4 xmm8, xmm7, 0
movdqa xmm7, xmm0
sha1nexte xmm7, xmm5
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 0
sha1nexte xmm8, xmm4
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 0
sha1nexte xmm9, xmm3
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 0
sha1msg1 xmm6, xmm5
pxor xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 0
sha1msg1 xmm5, xmm4
pxor xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm8, xmm5
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm9, xmm4
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 1
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm7, xmm3
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 1
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm8, xmm6
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 1
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm9, xmm5
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm7, xmm4
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm8, xmm3
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 2
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm9, xmm6
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 2
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm7, xmm5
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 2
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm8, xmm4
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm9, xmm3
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 3
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 3
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm8, xmm5
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 3
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm9, xmm4
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 3
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm7, xmm3
movaps xmm3, xmm8
sha1rnds4 xmm3, xmm7, 3
paddd xmm0, xmm3
sha1nexte xmm8, xmm1
add r8, 0xffffffffffffffc0
movdqa xmm1, xmm8
jmp 0x140017595
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [rcx], xmm0
pextrd dword [rcx + 0x10], xmm1, 3
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov rcx, qword [rcx]
add qword [rcx], r8
add rcx, 8
jmp 0x1400164a2