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

Disassembly:
add qword [rcx], r8
add rcx, 8
jmp 0x14001644b
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r14, r8
mov r12, rdx
mov qword [rsp + 0xc8], rcx
mov al, byte [0x140485dd8]
cmp al, 1
je 0x14001652c
movzx eax, al
cmp eax, 0xff
jne 0x140016552
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.140017801
lea rcx, [rsp + 0xe0]
call fcn.140017826
mov edi, dword [rbx + 8]
mov esi, dword [rbx + 0xc]
mov eax, 0xc000000
mov ebx, edi
and ebx, eax
cmp ebx, eax
jne 0x1400164d7
mov ebp, dword [rsp + 0xe4]
call fcn.140009820
and eax, 2
shr eax, 1
shr ebp, 0x1d
and ebp, eax
call fcn.140009820
and eax, 2
shr eax, 1
jmp 0x1400164db
xor ebp, ebp
xor eax, eax
and bpl, al
shr esi, 0x1a
and sil, bpl
cmp ebx, 0xc000000
jne 0x1400164f8
call fcn.140009820
and eax, 2
shr eax, 1
jmp 0x1400164fa
xor eax, eax
mov ecx, edi
shr ecx, 9
and cl, al
and sil, cl
cmp ebx, 0xc000000
jne 0x140016518
call fcn.140009820
and eax, 2
shr eax, 1
jmp 0x14001651a
xor eax, eax
shr edi, 0x13
and dil, al
and sil, dil
mov byte [0x140485dd8], sil
je 0x140016552
mov rcx, qword [rsp + 0xc8]
mov rdx, r12
mov r8, r14
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140017561
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rax]
mov dword [rsp + 0xb8], ecx
mov ecx, dword [rax + 4]
mov dword [rsp + 0xc0], ecx
mov ecx, dword [rax + 8]
mov dword [rsp + 0xc4], ecx
mov ebp, dword [rax + 0xc]
mov esi, dword [rax + 0x10]
shl r14, 6
add r14, r12
mov qword [rsp + 0x120], r14
cmp r12, qword [rsp + 0x120]
je 0x140017268
lea rax, [r12 + 0x40]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0x40
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x80], rax
and qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 4
lea rcx, [rsp + 0x70]
call fcn.1400163a2
cmp rax, 0x10
mov ecx, 0x10
cmovae rax, rcx
xor ecx, ecx
cmp rax, rcx
je 0x14001662a
mov edx, dword [r12 + rcx*4]
bswap edx
mov dword [rsp + rcx*4 + 0xe0], edx
inc rcx
jmp 0x140016613
mov r8d, dword [rsp + 0xe0]
mov qword [rsp + 0xd0], r8
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0xbc], edx
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x64], eax
mov rax, rsi
mov qword [rsp + 0x128], rsi
mov ecx, dword [rsp + 0xec]
mov dword [rsp + 0x48], ecx
mov r15d, dword [rsp + 0xf0]
mov dword [rsp + 0x60], r15d
mov r13d, dword [rsp + 0xf4]
mov dword [rsp + 0x6c], r13d
mov esi, dword [rsp + 0xf8]
mov dword [rsp + 0x50], esi
mov edi, dword [rsp + 0xfc]
mov dword [rsp + 0x40], edi
mov ecx, dword [rsp + 0x100]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rsp + 0x104]
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x108]
mov dword [rsp + 0x58], ecx
mov ecx, dword [rsp + 0x10c]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rsp + 0x110]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x114]
mov dword [rsp + 0x5c], ecx
movd xmm0, ebp
movd xmm1, dword [rsp + 0xc4]
punpckldq xmm1, xmm0
movd xmm0, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
movd xmm2, ecx
mov r12d, ecx
mov dword [rsp + 0xb8], ecx
punpckldq xmm2, xmm0
lea eax, [r8 + rax]
movd xmm0, eax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x44], eax
punpcklqdq xmm2, xmm1
movd xmm1, edx
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xe8]
punpcklqdq xmm0, xmm1
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x4c], eax
lea rcx, [rsp + 0x30]
lea rbx, [rsp + 0xa0]
mov rdx, rbx
lea r14, [rsp + 0x70]
mov r8, r14
xor r9d, r9d
call fcn.1400172a7
mov dword [rsp + 0xdc], ebp
mov ebp, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
mov eax, r12d
rol eax, 0x1e
add eax, r15d
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x7c], edi
lea rcx, [rsp + 0x30]
mov rdx, rbx
mov r8, r14
mov rdi, r14
xor r9d, r9d
call fcn.1400172a7
mov r15d, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
rol ebp, 0x1e
mov esi, dword [rsp + 0x68]
add ebp, esi
mov dword [rsp + 0x70], ebp
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x74], eax
mov r14d, dword [rsp + 0x58]
mov dword [rsp + 0x78], r14d
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
mov rbp, rbx
mov rdx, rbx
mov rbx, rdi
mov r8, rdi
xor r9d, r9d
call fcn.1400172a7
mov r12d, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
rol r15d, 0x1e
add r15d, dword [rsp + 0x28]
mov dword [rsp + 0x70], r15d
mov r15d, dword [rsp + 0x5c]
mov dword [rsp + 0x74], r15d
mov edi, dword [rsp + 0x44]
mov dword [rsp + 0x78], edi
mov r13d, dword [rsp + 0x4c]
mov dword [rsp + 0x7c], r13d
lea rcx, [rsp + 0x30]
mov rdx, rbp
mov r8, rbx
xor r9d, r9d
call fcn.1400172a7
mov ecx, dword [rsp + 0x64]
mov r9, qword [rsp + 0xd0]
xor r9d, ecx
mov eax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0xbc]
xor r8d, eax
xor ecx, dword [rsp + 0x60]
mov edx, ecx
mov ebp, esi
xor ebp, r15d
xor ebp, r9d
rol ebp, 1
mov ebx, dword [rsp + 0x54]
xor ebx, edi
xor ebx, r8d
mov edi, r13d
xor r14d, r13d
xor r14d, edx
mov ecx, r14d
rol r12d, 0x1e
add r12d, ebp
mov dword [rsp + 0x70], r12d
mov r12d, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
mov esi, eax
mov r14d, dword [rsp + 0x6c]
xor esi, r14d
rol ebx, 1
rol ecx, 1
xor esi, dword [rsp + 0x2c]
xor esi, ebp
rol esi, 1
movaps xmmword [rsp + 0xa0], xmm0
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x78], ecx
mov r15d, ecx
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x48], esi
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xbc], eax
movaps xmm0, xmmword [rsp + 0x30]
mov ecx, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
xor ecx, r8d
mov eax, r14d
mov r9d, dword [rsp + 0x40]
xor eax, r9d
mov r14d, dword [rsp + 0x68]
xor r8d, r14d
xor r9d, dword [rsp + 0x54]
xor ecx, dword [rsp + 0x28]
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x60], ecx
mov r13d, dword [rsp + 0x5c]
xor eax, r13d
xor eax, r15d
mov dword [rsp + 0x64], r15d
rol eax, 1
mov edx, eax
mov eax, r8d
xor eax, dword [rsp + 0x44]
xor eax, esi
rol eax, 1
mov r8d, eax
mov eax, r9d
xor eax, edi
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0xa0], xmm0
rol r12d, 0x1e
add r12d, ecx
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x74], edx
mov esi, edx
mov dword [rsp + 0x78], r8d
mov r12d, r8d
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 1
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xd0], eax
movaps xmm0, xmmword [rsp + 0x30]
mov edi, dword [rsp + 0x58]
mov ecx, r14d
xor ecx, edi
mov r14d, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x54]
xor eax, r14d
xor edi, dword [rsp + 0x28]
xor r14d, r13d
xor ecx, ebp
xor ecx, esi
mov r13d, esi
rol ecx, 1
mov dword [rsp + 0x68], ecx
xor eax, ebx
xor eax, r12d
rol eax, 1
mov esi, eax
xor edi, r15d
xor edi, dword [rsp + 0x40]
rol edi, 1
xor r14d, dword [rsp + 0x48]
xor r14d, ecx
rol r14d, 1
movaps xmmword [rsp + 0xa0], xmm0
mov edx, dword [rsp + 0xbc]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x70], edx
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 1
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov r15d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
xor r15d, r8d
xor edx, ebp
xor r8d, ebx
mov r12d, dword [rsp + 0x60]
xor ecx, r12d
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x6c], r13d
xor r15d, r13d
xor r15d, edi
rol r15d, 1
mov eax, edx
xor eax, dword [rsp + 0x50]
xor eax, r14d
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 + 0xa0], xmm0
mov r8d, dword [rsp + 0xd0]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], r15d
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x78], edx
mov esi, edx
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 1
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
movaps xmm0, xmmword [rsp + 0x30]
mov ecx, dword [rsp + 0x64]
xor ebp, ecx
mov eax, dword [rsp + 0x48]
xor ebx, eax
xor ecx, r12d
xor eax, r13d
mov r13d, dword [rsp + 0x68]
xor ebp, r13d
xor ebp, r15d
rol ebp, 1
mov r15d, dword [rsp + 0x54]
xor ebx, r15d
xor ebx, esi
rol ebx, 1
xor ecx, edi
xor ecx, dword [rsp + 0x4c]
rol ecx, 1
mov edx, ecx
mov dword [rsp + 0x64], ecx
xor eax, r14d
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x2c]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 1
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x50]
xor r12d, eax
mov ecx, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x40]
xor ecx, edx
xor eax, r13d
xor edx, r15d
xor r12d, dword [rsp + 0x28]
xor r12d, ebx
rol r12d, 1
mov dword [rsp + 0x60], r12d
mov esi, dword [rsp + 0x5c]
xor ecx, esi
mov r15d, dword [rsp + 0x64]
xor ecx, r15d
rol ecx, 1
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x48]
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x50], eax
mov eax, edx
xor eax, dword [rsp + 0x4c]
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0xa0], xmm0
mov edx, dword [rsp + 0x58]
rol edx, 0x1e
add edx, r12d
mov dword [rsp + 0x70], edx
mov dword [rsp + 0x74], ecx
mov r12d, ecx
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 1
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
movaps xmm0, xmmword [rsp + 0x30]
xor r13d, edi
mov eax, dword [rsp + 0x54]
xor eax, r14d
xor edi, dword [rsp + 0x28]
xor r14d, esi
xor r13d, ebp
xor r13d, r12d
rol r13d, 1
mov dword [rsp + 0x68], r13d
xor eax, ebx
xor eax, dword [rsp + 0x50]
rol eax, 1
xor edi, r15d
mov r15d, dword [rsp + 0x40]
xor edi, r15d
rol edi, 1
xor r14d, dword [rsp + 0x48]
xor r14d, r13d
rol r14d, 1
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x2c]
rol ecx, 0x1e
add ecx, r13d
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], eax
mov esi, eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 2
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x44]
mov edx, dword [rsp + 0x28]
xor edx, eax
mov r13d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
xor r13d, r8d
xor eax, ebp
xor r8d, ebx
xor edx, dword [rsp + 0x60]
xor edx, esi
rol edx, 1
mov dword [rsp + 0x6c], r12d
xor r13d, r12d
xor r13d, edi
rol r13d, 1
xor eax, dword [rsp + 0x50]
xor eax, r14d
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, r15d
mov dword [rsp + 0x28], edx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0xa0], xmm0
mov r8d, dword [rsp + 0x58]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x78], r9d
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 2
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
movaps xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x64]
xor ebp, eax
mov esi, dword [rsp + 0x48]
xor ebx, esi
xor eax, dword [rsp + 0x60]
xor esi, r12d
xor ebp, dword [rsp + 0x68]
xor ebp, r13d
rol ebp, 1
mov r15d, dword [rsp + 0x54]
xor ebx, r15d
xor ebx, dword [rsp + 0x44]
rol ebx, 1
xor eax, edi
xor eax, dword [rsp + 0x4c]
rol eax, 1
mov dword [rsp + 0x64], eax
xor esi, r14d
xor esi, ebp
rol esi, 1
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x2c]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x48], esi
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 2
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov r12d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
xor r12d, edx
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x40]
xor eax, ecx
mov r13d, dword [rsp + 0x68]
xor edx, r13d
xor ecx, r15d
xor r12d, dword [rsp + 0x28]
xor r12d, ebx
rol r12d, 1
mov dword [rsp + 0x60], r12d
xor eax, dword [rsp + 0x5c]
mov r15d, dword [rsp + 0x64]
xor eax, r15d
rol eax, 1
mov r8d, eax
mov eax, edx
xor eax, dword [rsp + 0x44]
xor eax, esi
rol eax, 1
mov esi, eax
mov eax, ecx
xor eax, dword [rsp + 0x4c]
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x40], eax
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x58]
rol ecx, 0x1e
add ecx, r12d
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], r8d
mov r12d, r8d
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 2
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
movaps xmm0, xmmword [rsp + 0x30]
xor r13d, edi
mov eax, dword [rsp + 0x54]
xor eax, r14d
xor edi, dword [rsp + 0x28]
xor r14d, dword [rsp + 0x5c]
xor r13d, ebp
xor r13d, r12d
rol r13d, 1
mov dword [rsp + 0x68], r13d
xor eax, ebx
xor eax, esi
rol eax, 1
mov esi, eax
xor edi, r15d
mov r15d, dword [rsp + 0x40]
xor edi, r15d
rol edi, 1
xor r14d, dword [rsp + 0x48]
xor r14d, r13d
rol r14d, 1
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x2c]
rol ecx, 0x1e
add ecx, r13d
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 2
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
xor eax, r8d
xor edx, ebp
xor r8d, ebx
mov r12d, dword [rsp + 0x60]
xor ecx, r12d
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x28], ecx
mov r13d, dword [rsp + 0x6c]
xor eax, r13d
xor eax, edi
rol eax, 1
mov esi, eax
mov eax, edx
xor eax, dword [rsp + 0x50]
xor eax, r14d
rol eax, 1
mov edx, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, r15d
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0xa0], xmm0
mov r8d, dword [rsp + 0x58]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 3
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
movaps xmm0, xmmword [rsp + 0x30]
mov r15d, dword [rsp + 0x64]
xor ebp, r15d
mov ecx, dword [rsp + 0x48]
xor ebx, ecx
xor r15d, r12d
xor ecx, r13d
mov r13d, dword [rsp + 0x68]
xor ebp, r13d
xor ebp, esi
rol ebp, 1
xor ebx, dword [rsp + 0x54]
xor ebx, dword [rsp + 0x44]
rol ebx, 1
xor r15d, edi
xor r15d, dword [rsp + 0x4c]
rol r15d, 1
xor ecx, r14d
xor ecx, ebp
rol ecx, 1
mov dword [rsp + 0x48], ecx
movaps xmmword [rsp + 0xa0], xmm0
mov eax, dword [rsp + 0x2c]
rol eax, 0x1e
add eax, ebp
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x78], r15d
mov dword [rsp + 0x64], r15d
mov dword [rsp + 0x7c], ecx
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 3
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x50]
mov edx, r12d
xor edx, eax
mov r9d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x6c]
xor ecx, r9d
xor eax, r13d
mov r12d, dword [rsp + 0x54]
xor r9d, r12d
xor edx, dword [rsp + 0x28]
xor edx, ebx
rol edx, 1
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x5c], esi
xor ecx, esi
xor ecx, r15d
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 + 0xa0], xmm0
mov r8d, dword [rsp + 0x58]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x78], eax
mov r15d, eax
mov dword [rsp + 0x7c], r9d
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov r9b, 3
call fcn.1400172a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x50], eax
movaps xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor eax, edi
xor r12d, r14d
xor edi, dword [rsp + 0x28]
xor r14d, esi
xor eax, ebp
xor eax, r13d
rol eax, 1
xor r12d, ebx
xor r12d, r15d
rol r12d, 1
xor edi, dword [rsp + 0x64]
xor edi, dword [rsp + 0x40]
rol edi, 1
xor r14d, dword [rsp + 0x48]
xor r14d, eax
rol r14d, 1
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0x2c]
rol ecx, 0x1e
add ecx, eax
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], r12d
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
lea rcx, [rsp + 0x30]
lea r13, [rsp + 0xa0]
mov rdx, r13
lea r8, [rsp + 0x70]
mov r9b, 3
call fcn.1400172a7
mov esi, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
xor eax, r8d
xor ebp, edx
xor ebx, r8d
xor ecx, dword [rsp + 0x60]
xor ecx, r12d
rol ecx, 1
xor eax, dword [rsp + 0x6c]
xor eax, edi
rol eax, 1
xor ebp, r15d
xor ebp, r14d
rol ebp, 1
xor ebx, dword [rsp + 0x40]
xor ebx, ecx
rol ebx, 1
movaps xmmword [rsp + 0xa0], xmm0
mov edx, dword [rsp + 0x50]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x70], edx
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], ebp
mov ebp, dword [rsp + 0xdc]
mov dword [rsp + 0x7c], ebx
lea rcx, [rsp + 0x30]
mov rdx, r13
lea r8, [rsp + 0x70]
mov r9b, 3
call fcn.1400172a7
movdqa xmm0, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0xb8]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0xb8], eax
rol esi, 0x1e
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
pshufd xmm0, xmm0, 0xff
movd edx, xmm0
add dword [rsp + 0xc0], eax
add dword [rsp + 0xc4], ecx
add ebp, edx
add esi, dword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
jmp 0x1400165b4
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0xb8]
mov dword [rax], ecx
mov ecx, dword [rsp + 0xc0]
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0xc4]
mov dword [rax + 8], ecx
mov dword [rax + 0xc], ebp
mov dword [rax + 0x10], esi
add rsp, 0x138
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 [0x140474a50]
test r8, r8
je 0x1400177d7
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 0x1400175ae
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