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

Disassembly:
mov rcx, qword [rcx]
add qword [rcx], r8
add rcx, 8
jmp 0x14008118d
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 + 0xa8], rcx
mov al, byte [0x14010a138]
cmp al, 1
je 0x14008126e
movzx eax, al
cmp eax, 0xff
jne 0x140081294
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.14005a186
lea rcx, [rsp + 0xc0]
call fcn.14005a1a8
mov edi, dword [rbx + 8]
mov esi, dword [rbx + 0xc]
mov eax, 0xc000000
mov ebx, edi
and ebx, eax
cmp ebx, eax
jne 0x140081219
mov ebp, dword [rsp + 0xc4]
call fcn.14003948b
and eax, 2
shr eax, 1
shr ebp, 0x1d
and ebp, eax
call fcn.14003948b
and eax, 2
shr eax, 1
jmp 0x14008121d
xor ebp, ebp
xor eax, eax
and bpl, al
shr esi, 0x1a
and sil, bpl
cmp ebx, 0xc000000
jne 0x14008123a
call fcn.14003948b
and eax, 2
shr eax, 1
jmp 0x14008123c
xor eax, eax
mov ecx, edi
shr ecx, 9
and cl, al
and sil, cl
cmp ebx, 0xc000000
jne 0x14008125a
call fcn.14003948b
and eax, 2
shr eax, 1
jmp 0x14008125c
xor eax, eax
shr edi, 0x13
and dil, al
and sil, dil
mov byte [0x14010a138], sil
je 0x140081294
mov rcx, qword [rsp + 0xa8]
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 0x140082187
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0xa8]
mov r10d, dword [rax]
mov r9d, dword [rax + 4]
mov r8d, dword [rax + 8]
mov edx, dword [rax + 0xc]
mov r11d, dword [rax + 0x10]
shl r14, 6
add r14, r12
mov qword [rsp + 0x100], r14
cmp r12, qword [rsp + 0x100]
je 0x140081f31
lea rax, [r12 + 0x40]
mov qword [rsp + 0x110], rax
xor eax, eax
cmp rax, 0x10
je 0x14008131a
mov ecx, dword [r12 + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x140081302
mov r15d, dword [rsp + 0xc0]
mov qword [rsp + 0xb0], r15
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x98], ecx
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x4c], eax
mov r14d, dword [rsp + 0xd0]
mov dword [rsp + 0x78], r14d
mov ebx, dword [rsp + 0xd4]
mov dword [rsp + 0x7c], ebx
mov esi, dword [rsp + 0xd8]
mov dword [rsp + 0x40], esi
mov edi, dword [rsp + 0xdc]
mov dword [rsp + 0x48], edi
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x68], 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 + 0x3c], eax
movd xmm0, edx
movd xmm1, r8d
punpckldq xmm1, xmm0
movd xmm0, r9d
movd xmm2, r10d
punpckldq xmm2, xmm0
lea eax, [r15 + r11]
movd xmm0, eax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x44], eax
punpcklqdq xmm2, xmm1
movd xmm1, ecx
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xc8]
punpcklqdq xmm0, xmm1
movdqa xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x70], eax
lea r13, [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0xa4], edx
lea r15, [rsp + 0x80]
mov rdx, r15
mov dword [rsp + 0xbc], r8d
lea r12, [rsp + 0x20]
mov r8, r12
mov dword [rsp + 0xb8], r9d
xor r9d, r9d
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x108], r11
call fcn.140081f5f
mov ebp, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0xa0]
rol eax, 0x1e
add eax, r14d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], edi
mov rcx, r13
mov rdx, r15
mov r8, r12
xor r9d, r9d
call fcn.140081f5f
mov r14d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
rol ebp, 0x1e
add ebp, dword [rsp + 0x74]
mov dword [rsp + 0x20], ebp
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x2c], eax
mov rbp, r13
mov rcx, r13
mov r13, r15
mov rdx, r15
mov r15, r12
mov r8, r12
xor r9d, r9d
call fcn.140081f5f
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 esi, dword [rsp + 0x3c]
mov dword [rsp + 0x24], esi
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x28], ebx
mov edi, dword [rsp + 0x70]
mov dword [rsp + 0x2c], edi
mov rcx, rbp
mov rdx, r13
mov r8, r15
xor r9d, r9d
call fcn.140081f5f
mov ecx, dword [rsp + 0x6c]
mov r9, qword [rsp + 0xb0]
xor r9d, ecx
mov eax, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x98]
xor r8d, eax
xor ecx, dword [rsp + 0x78]
mov r14d, dword [rsp + 0x74]
mov ebp, r14d
xor ebp, esi
xor ebp, r9d
rol ebp, 1
mov r15d, dword [rsp + 0x9c]
xor r15d, ebx
xor r15d, r8d
mov ebx, dword [rsp + 0x68]
xor ebx, edi
xor ebx, ecx
rol r12d, 0x1e
add r12d, ebp
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov esi, eax
mov r13d, dword [rsp + 0x7c]
xor esi, r13d
rol r15d, 1
rol ebx, 1
xor esi, dword [rsp + 0x38]
xor esi, ebp
rol esi, 1
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x6c], ebx
mov dword [rsp + 0x2c], esi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
xor r9d, r9d
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xb0], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x40]
xor ecx, r8d
mov eax, r13d
mov r9d, dword [rsp + 0x48]
xor eax, r9d
xor r8d, r14d
mov r13d, dword [rsp + 0x9c]
xor r9d, r13d
xor ecx, dword [rsp + 0x34]
xor ecx, r15d
rol ecx, 1
mov dword [rsp + 0x78], ecx
xor eax, dword [rsp + 0x3c]
xor eax, ebx
rol eax, 1
mov edx, eax
mov eax, r8d
xor eax, dword [rsp + 0x44]
xor eax, esi
mov r14d, esi
mov dword [rsp + 0x4c], esi
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x40], eax
mov eax, r9d
xor eax, edi
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x80], xmm0
rol r12d, 0x1e
add r12d, ecx
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x24], edx
mov r12d, edx
mov dword [rsp + 0x7c], edx
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.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x98], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ebx, dword [rsp + 0x68]
mov esi, dword [rsp + 0x74]
xor esi, ebx
mov edi, dword [rsp + 0x38]
xor r13d, edi
xor ebx, dword [rsp + 0x34]
xor edi, dword [rsp + 0x3c]
xor esi, ebp
xor esi, r12d
rol esi, 1
mov dword [rsp + 0x74], esi
xor r13d, r15d
xor r13d, dword [rsp + 0x40]
rol r13d, 1
xor ebx, dword [rsp + 0x6c]
xor ebx, dword [rsp + 0x48]
rol ebx, 1
xor edi, r14d
xor edi, esi
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0xb0]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r14, [rsp + 0x20]
mov r8, r14
mov r9b, 1
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x70]
xor eax, r8d
xor edx, ebp
xor r8d, r15d
mov r12d, dword [rsp + 0x78]
xor ecx, r12d
xor ecx, r13d
rol ecx, 1
mov dword [rsp + 0x34], ecx
mov esi, dword [rsp + 0x7c]
xor eax, esi
xor eax, ebx
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x3c], eax
mov eax, edx
xor eax, dword [rsp + 0x40]
xor eax, edi
rol eax, 1
mov edx, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, dword [rsp + 0x48]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x70], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x98]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov r8, r14
mov r9b, 1
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r14d, dword [rsp + 0x6c]
xor ebp, r14d
mov eax, dword [rsp + 0x4c]
xor r15d, eax
xor r14d, r12d
xor eax, esi
xor ebp, dword [rsp + 0x74]
xor ebp, dword [rsp + 0x3c]
rol ebp, 1
xor r15d, r13d
xor r15d, dword [rsp + 0x44]
rol r15d, 1
xor r14d, ebx
mov esi, dword [rsp + 0x70]
xor r14d, esi
rol r14d, 1
mov dword [rsp + 0x6c], r14d
xor eax, edi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
xor r12d, eax
mov ecx, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x48]
xor ecx, edx
xor eax, dword [rsp + 0x74]
xor edx, r13d
xor r12d, dword [rsp + 0x34]
xor r12d, r15d
rol r12d, 1
mov dword [rsp + 0x78], r12d
mov r14d, dword [rsp + 0x3c]
xor ecx, r14d
xor ecx, dword [rsp + 0x6c]
rol ecx, 1
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x4c]
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x40], eax
mov eax, edx
xor eax, esi
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x68]
rol edx, 0x1e
add edx, r12d
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], ecx
mov r12d, ecx
mov dword [rsp + 0x7c], 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.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
movaps xmm0, xmmword [rsp + 0x50]
mov esi, dword [rsp + 0x74]
xor esi, ebx
xor r13d, edi
xor ebx, dword [rsp + 0x34]
xor edi, r14d
xor esi, ebp
xor esi, r12d
rol esi, 1
mov dword [rsp + 0x74], esi
xor r13d, r15d
mov r14d, dword [rsp + 0x40]
xor r13d, r14d
rol r13d, 1
xor ebx, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x48]
xor ebx, r12d
rol ebx, 1
xor edi, dword [rsp + 0x4c]
xor edi, esi
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x38]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x44]
mov edx, dword [rsp + 0x34]
xor edx, eax
mov ecx, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x70]
xor ecx, r8d
xor eax, ebp
xor r8d, r15d
xor edx, dword [rsp + 0x78]
xor edx, r13d
rol edx, 1
mov esi, dword [rsp + 0x7c]
xor ecx, esi
xor ecx, ebx
rol ecx, 1
xor eax, r14d
xor eax, edi
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, r12d
mov dword [rsp + 0x34], edx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x70], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x68]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov r12d, ecx
mov dword [rsp + 0x3c], ecx
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.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r14d, dword [rsp + 0x6c]
xor ebp, r14d
mov eax, dword [rsp + 0x4c]
xor r15d, eax
xor r14d, dword [rsp + 0x78]
xor eax, esi
mov esi, dword [rsp + 0x74]
xor ebp, esi
xor ebp, r12d
rol ebp, 1
xor r15d, r13d
xor r15d, dword [rsp + 0x44]
rol r15d, 1
xor r14d, ebx
xor r14d, dword [rsp + 0x70]
rol r14d, 1
mov dword [rsp + 0x6c], r14d
xor eax, edi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r12d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x40]
xor r12d, edx
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x48]
xor eax, ecx
xor edx, esi
xor ecx, r13d
xor r12d, dword [rsp + 0x34]
xor r12d, r15d
rol r12d, 1
mov dword [rsp + 0x78], r12d
mov r14d, dword [rsp + 0x3c]
xor eax, r14d
xor eax, dword [rsp + 0x6c]
rol eax, 1
mov r8d, eax
mov eax, edx
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x4c]
rol eax, 1
mov edx, eax
mov dword [rsp + 0x40], eax
mov eax, ecx
xor eax, dword [rsp + 0x70]
xor eax, r12d
rol eax, 1
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x68]
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], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
movaps xmm0, xmmword [rsp + 0x50]
xor esi, ebx
xor r13d, edi
xor ebx, dword [rsp + 0x34]
xor edi, r14d
xor esi, ebp
xor esi, r12d
rol esi, 1
mov dword [rsp + 0x74], esi
xor r13d, r15d
xor r13d, dword [rsp + 0x40]
rol r13d, 1
mov r14d, dword [rsp + 0x6c]
xor ebx, r14d
xor ebx, dword [rsp + 0x48]
rol ebx, 1
xor edi, dword [rsp + 0x4c]
xor edi, esi
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x38]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x44]
xor ecx, edx
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x70]
xor eax, r8d
xor edx, ebp
xor r8d, r15d
mov r12d, dword [rsp + 0x78]
xor ecx, r12d
xor ecx, r13d
rol ecx, 1
mov dword [rsp + 0x34], ecx
mov esi, dword [rsp + 0x7c]
xor eax, esi
xor eax, ebx
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x3c], eax
mov eax, edx
xor eax, dword [rsp + 0x40]
xor eax, edi
rol eax, 1
mov edx, eax
mov dword [rsp + 0x44], eax
mov eax, r8d
xor eax, dword [rsp + 0x48]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x70], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x68]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], r9d
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.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
movaps xmm0, xmmword [rsp + 0x50]
xor ebp, r14d
mov eax, dword [rsp + 0x4c]
xor r15d, eax
xor r14d, r12d
xor eax, esi
mov esi, dword [rsp + 0x74]
xor ebp, esi
xor ebp, dword [rsp + 0x3c]
rol ebp, 1
xor r15d, r13d
xor r15d, dword [rsp + 0x44]
rol r15d, 1
xor r14d, ebx
xor r14d, dword [rsp + 0x70]
rol r14d, 1
xor eax, edi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x4c], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
mov edx, r12d
xor edx, eax
mov r12d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x7c]
xor ecx, r12d
xor eax, esi
xor r12d, r13d
xor edx, dword [rsp + 0x34]
xor edx, r15d
rol edx, 1
mov dword [rsp + 0x78], edx
mov esi, dword [rsp + 0x3c]
xor ecx, esi
xor ecx, r14d
rol ecx, 1
mov r14d, ecx
xor eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x4c]
rol eax, 1
mov dword [rsp + 0x40], eax
xor r12d, dword [rsp + 0x70]
xor r12d, edx
rol r12d, 1
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x68]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r12d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140081f5f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x74]
xor eax, ebx
xor r13d, edi
xor ebx, dword [rsp + 0x34]
xor edi, esi
xor eax, ebp
xor eax, r14d
rol eax, 1
xor r13d, r15d
xor r13d, dword [rsp + 0x40]
rol r13d, 1
xor ebx, dword [rsp + 0x6c]
xor ebx, r12d
rol ebx, 1
xor edi, dword [rsp + 0x4c]
xor edi, eax
rol edi, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], edi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140081f5f
mov esi, 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 + 0x3c]
mov r8d, dword [rsp + 0x70]
xor eax, r8d
xor ebp, edx
xor r15d, r8d
xor ecx, dword [rsp + 0x78]
xor ecx, r13d
rol ecx, 1
xor eax, r14d
xor eax, ebx
rol eax, 1
xor ebp, dword [rsp + 0x40]
xor ebp, edi
rol ebp, 1
xor r15d, r12d
xor r15d, ecx
rol r15d, 1
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x48]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], r15d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140081f5f
mov r10d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0xbc]
movdqa xmm0, xmmword [rsp + 0x50]
add r10d, dword [rsp + 0x50]
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 r9d, eax
add r8d, ecx
add dword [rsp + 0xa4], edx
mov edx, dword [rsp + 0xa4]
add esi, dword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
mov r11d, esi
jmp 0x1400812e5
mov rax, qword [rsp + 0xa8]
mov dword [rax], r10d
mov dword [rax + 4], r9d
mov dword [rax + 8], r8d
mov dword [rax + 0xc], edx
mov dword [rax + 0x10], r11d
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 [0x14010c400]
test r8, r8
je 0x1400823fd
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 0x1400821d4
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