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

Disassembly:
mov rcx, qword [rcx]
add qword [rcx], r8
add rcx, 8
jmp 0x1400acac4
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rbp, r8
mov rbx, rdx
mov qword [rsp + 0xa8], rcx
mov al, byte [0x14011e028]
cmp al, 1
je 0x1400acb3e
movzx eax, al
cmp eax, 0xff
jne 0x1400acb64
lea rsi, [rsp + 0x28]
mov rcx, rsi
call fcn.1400ad8f0
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.1400ad912
mov eax, dword [rsi + 8]
mov ecx, dword [rsi + 0xc]
mov edx, dword [rdi + 4]
shr edx, 0x1d
shr ecx, 0x1a
and ecx, edx
and ecx, 1
not eax
test eax, 0x80200
sete al
and al, cl
mov byte [0x14011e028], al
je 0x1400acb64
mov rcx, qword [rsp + 0xa8]
mov rdx, rbx
mov r8, rbp
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400adb88
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 + 0xa8]
mov r9d, dword [rax]
mov r8d, dword [rax + 4]
mov r11d, dword [rax + 8]
mov r14d, dword [rax + 0xc]
mov eax, dword [rax + 0x10]
mov qword [rsp + 0xa0], rax
shl rbp, 6
add rbp, rbx
mov qword [rsp + 0x108], rbp
cmp rbx, qword [rsp + 0x108]
je 0x1400ad8ba
lea rax, [rbx + 0x40]
mov qword [rsp + 0x110], rax
xor eax, eax
cmp rax, 0x10
je 0x1400acbeb
mov ecx, dword [rbx + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x1400acbd4
mov edx, dword [rsp + 0xc0]
mov qword [rsp + 0x90], rdx
mov edi, dword [rsp + 0xc4]
mov dword [rsp + 0x98], edi
mov esi, dword [rsp + 0xc8]
mov dword [rsp + 0xb0], esi
mov ecx, dword [rsp + 0xcc]
mov dword [rsp + 0x64], ecx
mov ebp, dword [rsp + 0xd0]
mov r13d, dword [rsp + 0xd4]
mov dword [rsp + 0x5c], r13d
mov ebx, dword [rsp + 0xd8]
mov dword [rsp + 0x74], ebx
mov r15d, dword [rsp + 0xdc]
mov dword [rsp + 0x6c], r15d
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x60], eax
mov r12d, dword [rsp + 0xec]
mov dword [rsp + 0x7c], r12d
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0xa0]
lea eax, [rdx + rax]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], ecx
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x78], eax
lea rsi, [rsp + 0x4c]
mov rcx, rsi
mov dword [rsp + 0xbc], r14d
lea rdx, [rsp + 0x3c]
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xb4], r8d
lea r14, [rsp + 0x28]
mov r8, r14
mov dword [rsp + 0x9c], r9d
xor r9d, r9d
call fcn.1400ad934
mov edi, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], ecx
mov eax, dword [rsp + 0x9c]
rol eax, 0x1e
add eax, ebp
mov dword [rsp + 0x84], ebp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r13d
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], r15d
mov rcx, rsi
mov r15, rsi
lea rdx, [rsp + 0x3c]
mov rsi, rdx
mov r8, r14
xor r9d, r9d
call fcn.1400ad934
mov ebx, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x3c], ebx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], ecx
rol edi, 0x1e
mov r14d, dword [rsp + 0x80]
add edi, r14d
mov dword [rsp + 0x28], edi
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x2c], r13d
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], r12d
mov rcx, r15
mov r12, r15
mov rdx, rsi
mov r15, rsi
lea r8, [rsp + 0x28]
xor r9d, r9d
call fcn.1400ad934
mov edi, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], ecx
rol ebx, 0x1e
add ebx, dword [rsp + 0x88]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rsp + 0x8c]
mov dword [rsp + 0x2c], ebx
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x30], esi
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x34], eax
mov rcx, r12
mov rdx, r15
lea r8, [rsp + 0x28]
xor r9d, r9d
call fcn.1400ad934
mov r15d, dword [rsp + 0x4c]
mov eax, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x90]
xor edx, eax
mov ecx, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x64]
xor ecx, r8d
xor eax, ebp
mov ebp, r14d
xor ebp, ebx
xor ebp, edx
mov r12d, r13d
xor r12d, esi
xor r12d, ecx
mov r14d, dword [rsp + 0x60]
xor r14d, dword [rsp + 0x78]
xor r14d, eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov esi, r8d
mov ebx, dword [rsp + 0x5c]
xor esi, ebx
rol ebp, 1
rol r12d, 1
rol r14d, 1
xor esi, dword [rsp + 0x7c]
xor esi, ebp
rol esi, 1
mov dword [rsp + 0x48], eax
rol edi, 0x1e
add edi, ebp
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x64], esi
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
xor r9d, r9d
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x90], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x84]
xor edx, ecx
mov edi, ebx
mov ebx, dword [rsp + 0x6c]
xor edi, ebx
xor ecx, dword [rsp + 0x80]
xor ebx, r13d
xor edx, dword [rsp + 0x88]
xor edx, r12d
rol edx, 1
mov dword [rsp + 0x84], edx
mov r13d, dword [rsp + 0x8c]
xor edi, r13d
xor edi, r14d
rol edi, 1
xor ecx, dword [rsp + 0x70]
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x74], ecx
xor ebx, dword [rsp + 0x78]
xor ebx, edx
rol ebx, 1
mov dword [rsp + 0x48], eax
rol r15d, 0x1e
add r15d, edx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x6c], ebx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 1
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x98], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x60]
mov esi, dword [rsp + 0x80]
xor esi, ecx
mov r15d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x7c]
xor r15d, edx
xor ecx, dword [rsp + 0x88]
xor edx, r13d
xor esi, ebp
xor esi, edi
rol esi, 1
xor r15d, r12d
xor r15d, dword [rsp + 0x74]
rol r15d, 1
mov dword [rsp + 0x68], r15d
xor ecx, r14d
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x60], ecx
xor edx, dword [rsp + 0x64]
xor edx, esi
rol edx, 1
mov dword [rsp + 0x7c], edx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x90]
rol eax, 0x1e
add eax, esi
mov r13d, esi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r15d
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], edx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 1
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x90], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
xor ecx, r15d
mov ebx, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x78]
xor ebx, edi
xor r15d, ebp
xor edi, r12d
mov esi, dword [rsp + 0x84]
xor ecx, esi
xor ecx, dword [rsp + 0x68]
rol ecx, 1
mov dword [rsp + 0x88], ecx
xor ebx, dword [rsp + 0x5c]
xor ebx, dword [rsp + 0x60]
rol ebx, 1
xor r15d, dword [rsp + 0x74]
xor r15d, dword [rsp + 0x7c]
rol r15d, 1
xor edi, dword [rsp + 0x6c]
xor edi, ecx
rol edi, 1
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x98]
rol eax, 0x1e
add eax, ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x8c], ebx
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x78], edi
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 1
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x80], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
xor ebp, r14d
mov ecx, dword [rsp + 0x64]
xor r12d, ecx
xor r14d, esi
xor ecx, dword [rsp + 0x5c]
xor ebp, r13d
xor ebp, ebx
rol ebp, 1
mov esi, dword [rsp + 0x68]
xor r12d, esi
xor r12d, r15d
rol r12d, 1
xor r14d, dword [rsp + 0x60]
xor r14d, edi
rol r14d, 1
xor ecx, dword [rsp + 0x7c]
xor ecx, ebp
rol ecx, 1
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x90]
rol eax, 0x1e
add eax, ebp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 1
call fcn.1400ad934
mov r15d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov edx, dword [rsp + 0x84]
mov ebx, dword [rsp + 0x74]
xor edx, ebx
mov ecx, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x5c]
xor edi, ecx
xor ebx, r13d
xor ecx, esi
mov esi, dword [rsp + 0x88]
xor edx, esi
xor edx, r12d
rol edx, 1
mov dword [rsp + 0x84], edx
xor edi, dword [rsp + 0x8c]
xor edi, r14d
rol edi, 1
mov dword [rsp + 0x5c], edi
xor ebx, dword [rsp + 0x70]
xor ebx, dword [rsp + 0x64]
rol ebx, 1
xor ecx, dword [rsp + 0x78]
xor ecx, edx
rol ecx, 1
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
rol eax, 0x1e
add eax, edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 1
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x80], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov edx, dword [rsp + 0x60]
xor r13d, edx
mov ecx, dword [rsp + 0x68]
mov edi, dword [rsp + 0x7c]
xor ecx, edi
xor edx, esi
xor edi, dword [rsp + 0x8c]
xor r13d, ebp
xor r13d, dword [rsp + 0x5c]
rol r13d, 1
xor ecx, r12d
xor ecx, ebx
rol ecx, 1
mov esi, ecx
xor edx, r14d
xor edx, dword [rsp + 0x6c]
rol edx, 1
mov dword [rsp + 0x60], edx
xor edi, dword [rsp + 0x64]
xor edi, r13d
rol edi, 1
mov dword [rsp + 0x7c], edi
mov dword [rsp + 0x48], eax
rol r15d, 0x1e
add r15d, r13d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], edi
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 2
call fcn.1400ad934
mov r15d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov edx, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x70]
xor edx, ebx
mov ecx, dword [rsp + 0x78]
mov edi, dword [rsp + 0x8c]
xor edi, ecx
xor ebx, ebp
xor ecx, r12d
xor edx, dword [rsp + 0x84]
xor edx, esi
rol edx, 1
mov dword [rsp + 0x88], edx
mov esi, dword [rsp + 0x5c]
xor edi, esi
xor edi, dword [rsp + 0x60]
rol edi, 1
xor ebx, dword [rsp + 0x74]
xor ebx, dword [rsp + 0x7c]
rol ebx, 1
mov dword [rsp + 0x70], ebx
xor ecx, dword [rsp + 0x6c]
xor ecx, edx
rol ecx, 1
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
rol eax, 0x1e
add eax, edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x8c], edi
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 2
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x80], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
xor ebp, r14d
mov ecx, dword [rsp + 0x64]
xor r12d, ecx
xor r14d, dword [rsp + 0x84]
xor ecx, esi
xor ebp, r13d
xor ebp, edi
rol ebp, 1
mov ebx, dword [rsp + 0x68]
xor r12d, ebx
xor r12d, dword [rsp + 0x70]
rol r12d, 1
xor r14d, dword [rsp + 0x60]
xor r14d, dword [rsp + 0x78]
rol r14d, 1
xor ecx, dword [rsp + 0x7c]
xor ecx, ebp
rol ecx, 1
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x48], eax
rol r15d, 0x1e
add r15d, ebp
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 2
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x90], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov esi, dword [rsp + 0x84]
mov edx, dword [rsp + 0x74]
xor esi, edx
mov ecx, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x6c]
xor ecx, edi
xor edx, r13d
xor edi, ebx
mov ebx, dword [rsp + 0x88]
xor esi, ebx
xor esi, r12d
rol esi, 1
mov dword [rsp + 0x84], esi
mov r15d, dword [rsp + 0x8c]
xor ecx, r15d
xor ecx, r14d
rol ecx, 1
mov dword [rsp + 0x5c], ecx
xor edx, dword [rsp + 0x70]
xor edx, dword [rsp + 0x64]
rol edx, 1
mov dword [rsp + 0x74], edx
xor edi, dword [rsp + 0x78]
xor edi, esi
rol edi, 1
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x6c], edi
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 2
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x80], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x60]
xor r13d, ecx
mov esi, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x68]
xor edx, esi
xor ecx, ebx
xor esi, r15d
xor r13d, ebp
xor r13d, dword [rsp + 0x5c]
rol r13d, 1
xor edx, r12d
xor edx, dword [rsp + 0x74]
rol edx, 1
mov ebx, edx
xor ecx, r14d
xor ecx, edi
rol ecx, 1
mov dword [rsp + 0x60], ecx
xor esi, dword [rsp + 0x64]
xor esi, r13d
rol esi, 1
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x90]
rol eax, 0x1e
add eax, r13d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], esi
lea rcx, [rsp + 0x4c]
mov rsi, rcx
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 2
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x90], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x70]
xor ecx, edx
mov edi, dword [rsp + 0x78]
xor r15d, edi
xor edx, ebp
xor edi, r12d
xor ecx, dword [rsp + 0x84]
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x88], ecx
xor r15d, dword [rsp + 0x5c]
xor r15d, dword [rsp + 0x60]
rol r15d, 1
xor edx, dword [rsp + 0x74]
xor edx, dword [rsp + 0x7c]
rol edx, 1
mov dword [rsp + 0x70], edx
xor edi, dword [rsp + 0x6c]
xor edi, ecx
rol edi, 1
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
rol eax, 0x1e
add eax, ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r15d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], edi
mov ebx, edi
mov dword [rsp + 0x78], edi
mov rcx, rsi
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 3
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x8c], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
xor ebp, r14d
mov ecx, dword [rsp + 0x64]
xor r12d, ecx
mov esi, dword [rsp + 0x84]
xor r14d, esi
xor ecx, dword [rsp + 0x5c]
xor ebp, r13d
xor ebp, r15d
rol ebp, 1
mov edi, dword [rsp + 0x68]
xor r12d, edi
xor r12d, dword [rsp + 0x70]
rol r12d, 1
xor r14d, dword [rsp + 0x60]
xor r14d, ebx
rol r14d, 1
xor ecx, dword [rsp + 0x7c]
xor ecx, ebp
rol ecx, 1
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x90]
rol eax, 0x1e
add eax, ebp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 3
call fcn.1400ad934
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x80], ecx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x58]
mov edx, dword [rsp + 0x74]
xor esi, edx
mov ecx, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0x5c]
xor ebx, ecx
xor edx, r13d
xor ecx, edi
mov edi, dword [rsp + 0x88]
xor esi, edi
xor esi, r12d
rol esi, 1
mov dword [rsp + 0x84], esi
xor ebx, r15d
xor ebx, r14d
rol ebx, 1
xor edx, dword [rsp + 0x70]
xor edx, dword [rsp + 0x64]
rol edx, 1
mov dword [rsp + 0x74], edx
xor ecx, dword [rsp + 0x78]
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x8c]
rol eax, 0x1e
add eax, esi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ebx
mov esi, ebx
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], ecx
lea rcx, [rsp + 0x4c]
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 3
call fcn.1400ad934
mov eax, dword [rsp + 0x60]
xor r13d, eax
xor eax, edi
xor eax, r14d
mov r14d, eax
mov ebx, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x68]
xor ecx, edi
xor edi, r15d
xor edi, dword [rsp + 0x64]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x48], eax
xor r13d, ebp
xor r13d, esi
rol r13d, 1
xor edi, r13d
mov eax, dword [rsp + 0x80]
rol eax, 0x1e
add eax, r13d
mov edx, eax
mov eax, ecx
xor eax, r12d
mov esi, dword [rsp + 0x74]
xor eax, esi
rol eax, 1
mov dword [rsp + 0x68], eax
xor r14d, dword [rsp + 0x6c]
rol r14d, 1
rol edi, 1
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x34], edi
lea r13, [rsp + 0x4c]
mov rcx, r13
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 3
call fcn.1400ad934
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x70]
xor ecx, eax
xor ebp, eax
mov eax, dword [rsp + 0x78]
xor r15d, eax
xor r12d, eax
xor ecx, dword [rsp + 0x84]
xor r15d, dword [rsp + 0x5c]
xor ebp, esi
xor r12d, dword [rsp + 0x6c]
xor ecx, dword [rsp + 0x68]
xor r15d, r14d
mov esi, dword [rsp + 0x4c]
xor ebp, edi
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x48], eax
mov eax, ecx
rol eax, 1
rol ebx, 0x1e
xor r12d, eax
add ebx, eax
rol r15d, 1
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], r15d
rol ebp, 1
mov dword [rsp + 0x30], ebp
rol r12d, 1
mov dword [rsp + 0x34], r12d
mov rcx, r13
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x28]
mov r9b, 3
call fcn.1400ad934
mov r9d, dword [rsp + 0x9c]
mov r8d, dword [rsp + 0xb4]
mov r11d, dword [rsp + 0xb8]
mov r14d, dword [rsp + 0xbc]
add r9d, dword [rsp + 0x4c]
add r8d, dword [rsp + 0x50]
add r11d, dword [rsp + 0x54]
add r14d, dword [rsp + 0x58]
rol esi, 0x1e
add esi, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0x110]
mov eax, esi
mov qword [rsp + 0xa0], rax
jmp 0x1400acbb8
mov rax, qword [rsp + 0xa8]
mov dword [rax], r9d
mov dword [rax + 4], r8d
mov dword [rax + 8], r11d
mov dword [rax + 0xc], r14d
mov rcx, qword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
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
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
movdqu xmm0, xmmword [rcx]
pshufd xmm2, xmm0, 0xff
pinsrd xmm2, dword [rcx + 8], 1
pinsrd xmm2, dword [rcx + 4], 2
pinsrd xmm2, dword [rcx], 3
movd xmm9, dword [rcx + 0x10]
pslldq xmm9, 0xc
shl r8, 6
movdqa xmm8, xmmword [0x1400dd8a0]
test r8, r8
je 0x1400addd2
movdqu xmm6, xmmword [rdx]
movdqu xmm5, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqu xmm3, xmmword [rdx + 0x30]
add rdx, 0x40
pshufb xmm6, xmm8
pshufb xmm5, xmm8
pshufb xmm4, xmm8
pshufb xmm3, xmm8
movdqa xmm7, xmm9
paddd xmm7, xmm6
movdqa xmm0, xmm2
sha1rnds4 xmm0, xmm7, 0
movdqa xmm7, xmm2
sha1nexte xmm7, xmm5
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 0
sha1nexte xmm0, xmm4
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 0
sha1nexte xmm1, xmm3
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 0
sha1msg1 xmm6, xmm5
pxor xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 0
sha1msg1 xmm5, xmm4
pxor xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm0, xmm5
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm1, xmm4
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 1
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm7, xmm3
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 1
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm0, xmm6
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 1
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm1, xmm5
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm7, xmm4
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm0, xmm3
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 2
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm1, xmm6
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 2
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm7, xmm5
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 2
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm0, xmm4
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm1, xmm3
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 3
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 3
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm0, xmm5
movaps xmm7, xmm1
sha1rnds4 xmm7, xmm0, 3
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm1, xmm4
movaps xmm0, xmm7
sha1rnds4 xmm0, xmm1, 3
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm7, xmm3
movaps xmm1, xmm0
sha1rnds4 xmm1, xmm7, 3
paddd xmm2, xmm1
sha1nexte xmm0, xmm9
add r8, 0xffffffffffffffc0
movdqa xmm9, xmm0
jmp 0x1400adbd7
pshufd xmm0, xmm2, 0x1b
movdqu xmmword [rcx], xmm0
pextrd dword [rcx + 0x10], xmm9, 3
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
ret