Function at 0x140002a20
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov r11d, dword [rdx + 8]
mov r12, rdx
mov edi, dword [rdx]
mov r15, rcx
mov r10d, dword [rdx + 0xc]
mov ebx, dword [rdx + 4]
mov r9d, dword [rdx + 0x10]
movups xmm0, xmmword [r8]
mov rax, qword [rcx + 0xc0]
add r9d, 0x5a827999
movups xmmword [rax], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
mov r8d, r10d
xor r8d, r11d
movups xmmword [rax + 0x30], xmm1
mov rax, qword [rcx + 0xc0]
and r8d, ebx
xor r8d, r10d
rol ebx, 0x1e
add r10d, 0x5a827999
mov edx, dword [rax]
bswap edx
mov dword [rax], edx
mov eax, edi
rol eax, 5
add eax, edx
add r8d, eax
mov rax, qword [rcx + 0xc0]
add r8d, r9d
mov r9d, r11d
xor r9d, ebx
and r9d, edi
rol edi, 0x1e
mov edx, dword [rax + 4]
xor r9d, r11d
bswap edx
mov dword [rax + 4], edx
add r11d, 0x5a827999
mov eax, r8d
rol eax, 5
add eax, edx
add r9d, eax
mov rax, qword [rcx + 0xc0]
add r9d, r10d
mov r10d, ebx
xor r10d, edi
and r10d, r8d
rol r8d, 0x1e
mov edx, dword [rax + 8]
xor r10d, ebx
bswap edx
mov dword [rax + 8], edx
add ebx, 0x5a827999
mov eax, r9d
rol eax, 5
add eax, edx
add r10d, eax
mov rax, qword [rcx + 0xc0]
add r10d, r11d
mov r11d, r8d
xor r11d, edi
and r11d, r9d
mov edx, dword [rax + 0xc]
xor r11d, edi
bswap edx
mov dword [rax + 0xc], edx
mov eax, r10d
rol eax, 5
add eax, edx
add r11d, eax
mov rax, qword [rcx + 0xc0]
add r11d, ebx
rol r9d, 0x1e
mov edx, dword [rax + 0x10]
bswap edx
mov dword [rax + 0x10], edx
mov eax, r11d
rol eax, 5
add edx, 0x5a827999
add eax, edx
mov ebx, r8d
xor ebx, r9d
and ebx, r10d
rol r10d, 0x1e
xor ebx, r8d
add ebx, eax
mov rax, qword [rcx + 0xc0]
add ebx, edi
mov ecx, r9d
xor ecx, r10d
and ecx, r11d
rol r11d, 0x1e
mov edx, dword [rax + 0x14]
xor ecx, r9d
bswap edx
mov dword [rax + 0x14], edx
add edx, 0x5a827999
mov eax, ebx
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r8d, ecx
mov ecx, r10d
xor ecx, r11d
and ecx, ebx
rol ebx, 0x1e
mov edx, dword [rax + 0x18]
xor ecx, r10d
bswap edx
mov dword [rax + 0x18], edx
add edx, 0x5a827999
mov eax, r8d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r9d, ecx
mov ecx, r11d
xor ecx, ebx
and ecx, r8d
rol r8d, 0x1e
mov edx, dword [rax + 0x1c]
xor ecx, r11d
bswap edx
mov dword [rax + 0x1c], edx
add edx, 0x5a827999
mov eax, r9d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r10d, ecx
mov ecx, r8d
xor ecx, ebx
and ecx, r9d
rol r9d, 0x1e
mov edx, dword [rax + 0x20]
xor ecx, ebx
bswap edx
mov dword [rax + 0x20], edx
add edx, 0x5a827999
mov eax, r10d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r11d, ecx
mov ecx, r8d
xor ecx, r9d
and ecx, r10d
mov edx, dword [rax + 0x24]
xor ecx, r8d
bswap edx
mov dword [rax + 0x24], edx
mov eax, r11d
rol eax, 5
add edx, 0x5a827999
add eax, edx
rol r10d, 0x1e
add ecx, eax
mov rax, qword [r15 + 0xc0]
add ebx, ecx
mov ecx, r9d
xor ecx, r10d
and ecx, r11d
rol r11d, 0x1e
mov edx, dword [rax + 0x28]
xor ecx, r9d
bswap edx
mov dword [rax + 0x28], edx
add edx, 0x5a827999
mov eax, ebx
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r8d, ecx
mov ecx, r10d
xor ecx, r11d
and ecx, ebx
rol ebx, 0x1e
mov edx, dword [rax + 0x2c]
xor ecx, r10d
bswap edx
mov dword [rax + 0x2c], edx
add edx, 0x5a827999
mov eax, r8d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r9d, ecx
mov ecx, r11d
xor ecx, ebx
and ecx, r8d
rol r8d, 0x1e
mov edx, dword [rax + 0x30]
xor ecx, r11d
bswap edx
mov dword [rax + 0x30], edx
add edx, 0x5a827999
mov eax, r9d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r10d, ecx
mov ecx, r8d
xor ecx, ebx
and ecx, r9d
rol r9d, 0x1e
mov edx, dword [rax + 0x34]
xor ecx, ebx
bswap edx
mov dword [rax + 0x34], edx
add ebx, 0x5a827999
add edx, 0x5a827999
mov eax, r10d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r11d, ecx
mov ecx, r8d
xor ecx, r9d
and ecx, r10d
mov edx, dword [rax + 0x38]
xor ecx, r8d
bswap edx
mov dword [rax + 0x38], edx
mov eax, r11d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add ebx, ecx
rol r10d, 0x1e
mov edx, dword [rax + 0x3c]
bswap edx
mov dword [rax + 0x3c], edx
mov r14d, r9d
add edx, 0x5a827999
xor r14d, r10d
and r14d, r11d
mov eax, ebx
rol eax, 5
xor r14d, r9d
add eax, edx
rol r11d, 0x1e
add r14d, eax
mov ebp, r10d
mov rax, qword [r15 + 0xc0]
add r14d, r8d
xor ebp, r11d
mov esi, r11d
and ebp, ebx
rol ebx, 0x1e
xor esi, ebx
xor ebp, r10d
mov edx, dword [rax + 0x34]
and esi, r14d
xor edx, dword [rax + 0x20]
xor esi, r11d
xor edx, dword [rax + 8]
xor edx, dword [rax]
rol edx, 1
mov dword [rax], edx
add edx, 0x5a827999
mov eax, r14d
rol r14d, 0x1e
rol eax, 5
mov edi, r14d
add eax, edx
xor edi, ebx
add ebp, eax
mov r8d, r14d
mov rax, qword [r15 + 0xc0]
add ebp, r9d
and edi, ebp
xor edi, ebx
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 4]
rol edx, 1
mov dword [rax + 4], edx
add edx, 0x5a827999
mov eax, ebp
rol ebp, 0x1e
rol eax, 5
xor r8d, ebp
add eax, edx
add esi, eax
mov rax, qword [r15 + 0xc0]
add esi, r10d
and r8d, esi
xor r8d, r14d
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x28]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 8]
rol edx, 1
mov dword [rax + 8], edx
add edx, 0x5a827999
mov eax, esi
rol eax, 5
add eax, edx
add edi, eax
mov rax, qword [r15 + 0xc0]
add edi, r11d
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0xc]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0xc], edx
mov eax, edi
rol eax, 5
add edx, 0x5a827999
add eax, edx
rol esi, 0x1e
add r8d, eax
mov r9d, ebp
mov rax, qword [r15 + 0xc0]
add r8d, ebx
xor r9d, esi
mov r10d, esi
xor r9d, edi
rol edi, 0x1e
xor r10d, edi
mov edx, dword [rax + 0x30]
xor r10d, r8d
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x10]
rol edx, 1
mov dword [rax + 0x10], edx
add edx, 0x6ed9eba1
mov eax, r8d
rol r8d, 0x1e
rol eax, 5
add eax, edx
add r9d, eax
mov rax, qword [r15 + 0xc0]
add r9d, r14d
mov r11d, r9d
xor r11d, edi
add edi, 0x6ed9eba1
mov edx, dword [rax + 0x34]
xor r11d, r8d
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 8]
xor edx, dword [rax + 0x14]
rol edx, 1
mov dword [rax + 0x14], edx
add edx, 0x6ed9eba1
mov eax, r9d
rol r9d, 0x1e
rol eax, 5
mov ebx, r9d
add eax, edx
add r10d, eax
mov rax, qword [r15 + 0xc0]
add r10d, ebp
xor ebx, r10d
xor ebx, r8d
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 0x18]
rol edx, 1
mov dword [rax + 0x18], edx
add edx, 0x6ed9eba1
mov eax, r10d
rol r10d, 0x1e
rol eax, 5
add eax, edx
add r11d, eax
mov rax, qword [r15 + 0xc0]
add r11d, esi
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x1c]
rol edx, 1
mov dword [rax + 0x1c], edx
mov eax, r11d
rol eax, 5
add eax, edx
add ebx, eax
mov rax, qword [r15 + 0xc0]
add ebx, edi
mov edx, dword [rax + 0x28]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0x20]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0x20], edx
mov eax, ebx
rol eax, 5
add edx, 0x6ed9eba1
mov edi, r9d
add eax, edx
xor edi, r10d
xor edi, r11d
mov esi, r10d
add edi, eax
rol r11d, 0x1e
mov rax, qword [r15 + 0xc0]
add edi, r8d
xor esi, r11d
mov ebp, r11d
xor esi, ebx
rol ebx, 0x1e
xor ebp, ebx
mov edx, dword [rax + 0x2c]
xor ebp, edi
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x24]
rol edx, 1
mov dword [rax + 0x24], edx
add edx, 0x6ed9eba1
mov eax, edi
rol edi, 0x1e
rol eax, 5
add eax, edx
add esi, eax
mov rax, qword [r15 + 0xc0]
add esi, r9d
mov r8d, esi
xor r8d, ebx
mov edx, dword [rax + 0x30]
xor r8d, edi
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 8]
xor edx, dword [rax + 0x28]
rol edx, 1
mov dword [rax + 0x28], edx
add edx, 0x6ed9eba1
mov eax, esi
rol esi, 0x1e
rol eax, 5
mov r9d, esi
add eax, edx
add ebp, eax
mov rax, qword [r15 + 0xc0]
add ebp, r10d
xor r9d, ebp
xor r9d, edi
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 0x2c]
rol edx, 1
mov dword [rax + 0x2c], edx
add edx, 0x6ed9eba1
mov eax, ebp
rol ebp, 0x1e
rol eax, 5
add eax, edx
add r8d, eax
mov rax, qword [r15 + 0xc0]
add r8d, r11d
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x30]
rol edx, 1
mov dword [rax + 0x30], edx
add edx, 0x6ed9eba1
mov eax, r8d
rol eax, 5
add eax, edx
add r9d, eax
mov rax, qword [r15 + 0xc0]
add r9d, ebx
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x28]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0x34]
rol edx, 1
mov r10d, esi
mov dword [rax + 0x34], edx
xor r10d, ebp
add edx, 0x6ed9eba1
xor r10d, r8d
mov eax, r9d
rol r8d, 0x1e
rol eax, 5
mov ebx, r8d
add eax, edx
mov r11d, ebp
add r10d, eax
xor r11d, r8d
mov rax, qword [r15 + 0xc0]
xor r11d, r9d
add r10d, edi
rol r9d, 0x1e
xor ebx, r9d
xor ebx, r10d
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x18]
xor edx, dword [rax]
xor edx, dword [rax + 0x38]
rol edx, 1
mov dword [rax + 0x38], edx
add edx, 0x6ed9eba1
mov eax, r10d
rol r10d, 0x1e
rol eax, 5
add eax, edx
add r11d, eax
mov rax, qword [r15 + 0xc0]
add r11d, esi
mov ecx, r11d
xor ecx, r9d
mov edx, dword [rax + 0x30]
xor ecx, r10d
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x3c]
rol edx, 1
mov dword [rax + 0x3c], edx
add edx, 0x6ed9eba1
mov eax, r11d
rol r11d, 0x1e
rol eax, 5
add eax, edx
add ebx, eax
mov rax, qword [r15 + 0xc0]
add ebx, ebp
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 8]
xor edx, dword [rax]
rol edx, 1
mov dword [rax], edx
add edx, 0x6ed9eba1
mov eax, ebx
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r8d, ecx
mov ecx, r11d
xor ecx, ebx
xor ecx, r10d
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 4]
rol edx, 1
mov dword [rax + 4], edx
mov eax, r8d
rol eax, 5
add edx, 0x6ed9eba1
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r9d, ecx
rol ebx, 0x1e
mov edx, dword [rax + 0x3c]
mov ecx, r11d
xor edx, dword [rax + 0x28]
xor ecx, ebx
xor edx, dword [rax + 0x10]
xor ecx, r8d
xor edx, dword [rax + 8]
rol edx, 1
mov dword [rax + 8], edx
mov eax, r9d
add edx, 0x6ed9eba1
rol eax, 5
add eax, edx
rol r8d, 0x1e
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r10d, ecx
mov ecx, ebx
xor ecx, r8d
xor ecx, r9d
rol r9d, 0x1e
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0xc]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0xc], edx
add edx, 0x6ed9eba1
mov eax, r10d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r11d, ecx
mov ecx, r8d
xor ecx, r9d
mov edi, r11d
xor ecx, r10d
xor edi, r9d
mov edx, dword [rax + 0x30]
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x10]
rol edx, 1
mov dword [rax + 0x10], edx
mov eax, r11d
add edx, 0x6ed9eba1
rol eax, 5
add eax, edx
rol r10d, 0x1e
add ecx, eax
rol r11d, 0x1e
mov rax, qword [r15 + 0xc0]
add ebx, ecx
xor edi, r10d
mov ecx, r11d
xor ecx, ebx
xor ecx, r10d
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 8]
xor edx, dword [rax + 0x14]
rol edx, 1
mov dword [rax + 0x14], edx
add edx, 0x6ed9eba1
mov eax, ebx
rol eax, 5
add eax, edx
add edi, eax
mov rax, qword [r15 + 0xc0]
add edi, r8d
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 0x18]
rol edx, 1
mov dword [rax + 0x18], edx
mov eax, edi
rol eax, 5
add edx, 0x6ed9eba1
add eax, edx
add ecx, eax
rol ebx, 0x1e
mov rax, qword [r15 + 0xc0]
add r9d, ecx
mov ecx, r11d
xor ecx, ebx
xor ecx, edi
rol edi, 0x1e
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x1c]
rol edx, 1
mov dword [rax + 0x1c], edx
add edx, 0x6ed9eba1
mov eax, r9d
rol eax, 5
add eax, edx
add ecx, eax
mov rax, qword [r15 + 0xc0]
add r10d, ecx
mov ecx, edi
or ecx, r9d
mov edx, r10d
and ecx, ebx
rol edx, 5
mov r8d, dword [rax + 0x28]
xor r8d, dword [rax + 0x14]
xor r8d, dword [rax + 0x20]
xor r8d, dword [rax]
rol r8d, 1
mov dword [rax + 0x20], r8d
mov eax, edi
and eax, r9d
rol r9d, 0x1e
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r11d
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
mov ecx, r9d
mov r8d, dword [rax + 0x2c]
or ecx, r10d
xor r8d, dword [rax + 0x18]
and ecx, edi
xor r8d, dword [rax + 4]
mov edx, r11d
xor r8d, dword [rax + 0x24]
rol r8d, 1
mov dword [rax + 0x24], r8d
mov eax, r9d
and eax, r10d
rol edx, 5
or ecx, eax
rol r10d, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, ebx
lea ebx, [rdx - 0x70e44324]
add ebx, ecx
mov ecx, r11d
mov r8d, dword [rax + 0x30]
or ecx, r10d
xor r8d, dword [rax + 0x1c]
and ecx, r9d
xor r8d, dword [rax + 8]
mov edx, ebx
xor r8d, dword [rax + 0x28]
rol r8d, 1
mov dword [rax + 0x28], r8d
mov eax, r11d
and eax, r10d
rol edx, 5
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, edi
lea edi, [rdx - 0x70e44324]
add edi, ecx
rol r11d, 0x1e
mov r8d, dword [rax + 0x34]
mov ecx, r11d
xor r8d, dword [rax + 0x20]
or ecx, ebx
xor r8d, dword [rax + 0xc]
and ecx, r10d
xor r8d, dword [rax + 0x2c]
mov edx, edi
rol r8d, 1
mov dword [rax + 0x2c], r8d
mov eax, r11d
and eax, ebx
rol edx, 5
or ecx, eax
rol ebx, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r9d
lea r9d, [rdx - 0x70e44324]
add r9d, ecx
mov ecx, ebx
mov r8d, dword [rax + 0x38]
or ecx, edi
xor r8d, dword [rax + 0x24]
and ecx, r11d
xor r8d, dword [rax + 0x10]
mov edx, r9d
xor r8d, dword [rax + 0x30]
rol r8d, 1
mov dword [rax + 0x30], r8d
mov eax, ebx
and eax, edi
rol edx, 5
or ecx, eax
rol edi, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r10d
lea r10d, [rdx - 0x70e44324]
add r10d, ecx
mov ecx, edi
mov r8d, dword [rax + 0x3c]
or ecx, r9d
xor r8d, dword [rax + 0x28]
and ecx, ebx
xor r8d, dword [rax + 0x14]
mov edx, r10d
xor r8d, dword [rax + 0x34]
rol r8d, 1
mov dword [rax + 0x34], r8d
mov eax, edi
and eax, r9d
rol edx, 5
or ecx, eax
rol r9d, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r11d
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
mov ecx, r9d
mov r8d, dword [rax + 0x2c]
or ecx, r10d
xor r8d, dword [rax + 0x18]
and ecx, edi
xor r8d, dword [rax + 0x38]
mov edx, r11d
xor r8d, dword [rax]
rol r8d, 1
mov dword [rax + 0x38], r8d
mov eax, r9d
and eax, r10d
rol edx, 5
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, ebx
lea ebx, [rdx - 0x70e44324]
mov r8d, dword [rax + 0x30]
add ebx, ecx
rol r10d, 0x1e
xor r8d, dword [rax + 0x1c]
mov ecx, r11d
xor r8d, dword [rax + 4]
or ecx, r10d
xor r8d, dword [rax + 0x3c]
and ecx, r9d
rol r8d, 1
mov edx, ebx
mov dword [rax + 0x3c], r8d
mov eax, r11d
and eax, r10d
rol edx, 5
or ecx, eax
rol r11d, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, edi
lea edi, [rdx - 0x70e44324]
add edi, ecx
mov ecx, r11d
mov r8d, dword [rax + 0x34]
or ecx, ebx
xor r8d, dword [rax + 0x20]
and ecx, r10d
xor r8d, dword [rax + 8]
mov edx, edi
xor r8d, dword [rax]
rol r8d, 1
mov dword [rax], r8d
mov eax, r11d
and eax, ebx
rol edx, 5
or ecx, eax
rol ebx, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r9d
lea r9d, [rdx - 0x70e44324]
add r9d, ecx
mov ecx, ebx
mov r8d, dword [rax + 0x38]
or ecx, edi
xor r8d, dword [rax + 0x24]
and ecx, r11d
xor r8d, dword [rax + 0xc]
mov edx, r9d
xor r8d, dword [rax + 4]
rol r8d, 1
mov dword [rax + 4], r8d
mov eax, ebx
and eax, edi
rol edx, 5
or ecx, eax
rol edi, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r10d
lea r10d, [rdx - 0x70e44324]
add r10d, ecx
mov ecx, edi
mov r8d, dword [rax + 0x3c]
or ecx, r9d
xor r8d, dword [rax + 0x28]
and ecx, ebx
xor r8d, dword [rax + 0x10]
mov edx, r10d
xor r8d, dword [rax + 8]
rol r8d, 1
mov dword [rax + 8], r8d
mov eax, edi
and eax, r9d
rol edx, 5
or ecx, eax
rol r9d, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r11d
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
mov r8d, dword [rax + 0x2c]
xor r8d, dword [rax + 0x14]
xor r8d, dword [rax + 0xc]
mov ecx, r9d
xor r8d, dword [rax]
or ecx, r10d
and ecx, edi
rol r8d, 1
mov dword [rax + 0xc], r8d
mov edx, r11d
rol edx, 5
mov eax, r9d
and eax, r10d
rol r10d, 0x1e
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, ebx
lea ebx, [rdx - 0x70e44324]
add ebx, ecx
mov ecx, r11d
mov r8d, dword [rax + 0x30]
or ecx, r10d
xor r8d, dword [rax + 0x18]
and ecx, r9d
xor r8d, dword [rax + 4]
mov edx, ebx
xor r8d, dword [rax + 0x10]
add r9d, 0x8f1bbcdc
rol r8d, 1
mov dword [rax + 0x10], r8d
mov eax, r11d
add r8d, 0x8f1bbcdc
rol r11d, 0x1e
and eax, r10d
rol edx, 5
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add edi, ecx
mov ecx, r11d
or ecx, ebx
add edi, edx
mov r8d, dword [rax + 0x34]
and ecx, r10d
xor r8d, dword [rax + 0x1c]
mov esi, edi
xor r8d, dword [rax + 8]
add r10d, 0x8f1bbcdc
xor r8d, dword [rax + 0x14]
rol r8d, 1
mov dword [rax + 0x14], r8d
mov eax, r11d
and eax, ebx
rol esi, 5
or ecx, eax
rol ebx, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r9d
add esi, ecx
mov ecx, ebx
or ecx, edi
mov ebp, esi
mov r8d, dword [rax + 0x38]
and ecx, r11d
xor r8d, dword [rax + 0x20]
xor r8d, dword [rax + 0xc]
xor r8d, dword [rax + 0x18]
rol r8d, 1
mov dword [rax + 0x18], r8d
mov eax, ebx
and eax, edi
rol ebp, 5
or ecx, eax
rol edi, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r10d
add ebp, ecx
mov r8d, dword [rax + 0x3c]
xor r8d, dword [rax + 0x24]
xor r8d, dword [rax + 0x10]
xor r8d, dword [rax + 0x1c]
add r11d, 0x8f1bbcdc
rol r8d, 1
mov r9d, ebp
mov dword [rax + 0x1c], r8d
mov ecx, edi
or ecx, esi
rol r9d, 5
and ecx, ebx
mov eax, edi
and eax, esi
add ebx, 0x8f1bbcdc
or ecx, eax
rol esi, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, r11d
add r9d, ecx
mov ecx, esi
or ecx, ebp
mov r10d, r9d
mov r8d, dword [rax + 0x28]
and ecx, edi
xor r8d, dword [rax + 0x14]
xor r8d, dword [rax + 0x20]
xor r8d, dword [rax]
rol r8d, 1
mov dword [rax + 0x20], r8d
mov eax, esi
and eax, ebp
rol r10d, 5
or ecx, eax
rol ebp, 0x1e
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, ebx
add r10d, ecx
mov ecx, r9d
or ecx, ebp
mov r11d, r10d
mov r8d, dword [rax + 0x2c]
and ecx, esi
xor r8d, dword [rax + 0x18]
xor r8d, dword [rax + 4]
xor r8d, dword [rax + 0x24]
rol r8d, 1
mov dword [rax + 0x24], r8d
mov eax, r9d
add r8d, 0x8f1bbcdc
rol r9d, 0x1e
and eax, ebp
rol r11d, 5
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, edi
add r11d, ecx
mov ecx, r9d
mov r8d, dword [rax + 0x30]
or ecx, r10d
xor r8d, dword [rax + 0x1c]
and ecx, ebp
xor r8d, dword [rax + 8]
mov ebx, r11d
xor r8d, dword [rax + 0x28]
rol r8d, 1
mov dword [rax + 0x28], r8d
mov eax, r9d
add r8d, 0x8f1bbcdc
rol ebx, 5
and eax, r10d
rol r10d, 0x1e
or ecx, eax
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, esi
add ebx, ecx
mov r8d, dword [rax + 0x34]
xor r8d, dword [rax + 0x20]
xor r8d, dword [rax + 0xc]
xor r8d, dword [rax + 0x2c]
rol r8d, 1
mov ecx, r10d
mov dword [rax + 0x2c], r8d
or ecx, r11d
and ecx, r9d
mov eax, r10d
and eax, r11d
mov edx, ebx
or ecx, eax
rol edx, 5
mov rax, qword [r15 + 0xc0]
add ecx, r8d
add ecx, ebp
rol r11d, 0x1e
lea r8d, [rdx - 0x70e44324]
mov edx, dword [rax + 0x38]
add r8d, ecx
xor edx, dword [rax + 0x24]
mov ecx, r8d
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x30]
rol edx, 1
mov dword [rax + 0x30], edx
mov eax, r10d
xor eax, r11d
rol ecx, 5
xor eax, ebx
rol ebx, 0x1e
add eax, edx
add eax, r9d
lea r9d, [rcx - 0x359d3e2a]
add r9d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r9d
rol ecx, 5
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x28]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0x34]
rol edx, 1
mov dword [rax + 0x34], edx
mov eax, r11d
xor eax, ebx
xor eax, r8d
rol r8d, 0x1e
add eax, edx
add eax, r10d
lea r10d, [rcx - 0x359d3e2a]
add r10d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r10d
rol ecx, 5
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 0x38]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0x38], edx
mov eax, r9d
xor eax, ebx
rol r9d, 0x1e
xor eax, r8d
add eax, edx
add eax, r11d
lea r11d, [rcx - 0x359d3e2a]
add r11d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r11d
rol ecx, 5
mov edx, dword [rax + 0x30]
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x3c]
rol edx, 1
mov dword [rax + 0x3c], edx
mov eax, r9d
xor eax, r10d
xor eax, r8d
add eax, edx
add eax, ebx
lea ebx, [rcx - 0x359d3e2a]
add ebx, eax
rol r10d, 0x1e
mov rax, qword [r15 + 0xc0]
mov ecx, ebx
rol ecx, 5
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 8]
xor edx, dword [rax]
rol edx, 1
mov dword [rax], edx
mov eax, r9d
xor eax, r10d
xor eax, r11d
rol r11d, 0x1e
add eax, edx
add eax, r8d
lea r8d, [rcx - 0x359d3e2a]
add r8d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r8d
rol ecx, 5
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 4]
rol edx, 1
mov dword [rax + 4], edx
mov eax, r10d
xor eax, r11d
xor eax, ebx
rol ebx, 0x1e
add eax, edx
add eax, r9d
lea r9d, [rcx - 0x359d3e2a]
add r9d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r9d
rol ecx, 5
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x28]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 8]
rol edx, 1
mov dword [rax + 8], edx
mov eax, r11d
xor eax, ebx
xor eax, r8d
rol r8d, 0x1e
add eax, edx
add eax, r10d
lea r10d, [rcx - 0x359d3e2a]
add r10d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r10d
rol ecx, 5
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0xc]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0xc], edx
mov eax, r9d
xor eax, ebx
rol r9d, 0x1e
xor eax, r8d
add eax, edx
add eax, r11d
lea r11d, [rcx - 0x359d3e2a]
add r11d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r11d
rol ecx, 5
mov edx, dword [rax + 0x30]
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x10]
rol edx, 1
mov dword [rax + 0x10], edx
mov eax, r9d
xor eax, r10d
xor eax, r8d
rol r10d, 0x1e
add eax, edx
add eax, ebx
lea ebx, [rcx - 0x359d3e2a]
add ebx, eax
mov rax, qword [r15 + 0xc0]
mov ecx, ebx
rol ecx, 5
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 8]
xor edx, dword [rax + 0x14]
rol edx, 1
mov dword [rax + 0x14], edx
mov eax, r9d
xor eax, r10d
xor eax, r11d
rol r11d, 0x1e
add eax, edx
add eax, r8d
lea r8d, [rcx - 0x359d3e2a]
add r8d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r8d
rol ecx, 5
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 0x18]
rol edx, 1
mov dword [rax + 0x18], edx
mov eax, r10d
xor eax, r11d
xor eax, ebx
rol ebx, 0x1e
add eax, edx
add eax, r9d
lea r9d, [rcx - 0x359d3e2a]
add r9d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r9d
rol ecx, 5
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x1c]
rol edx, 1
mov dword [rax + 0x1c], edx
mov eax, r11d
xor eax, ebx
xor eax, r8d
rol r8d, 0x1e
add eax, edx
add eax, r10d
lea r10d, [rcx - 0x359d3e2a]
add r10d, eax
mov rax, qword [r15 + 0xc0]
mov edi, r10d
rol edi, 5
mov edx, dword [rax + 0x28]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0x20]
xor edx, dword [rax]
rol edx, 1
mov dword [rax + 0x20], edx
add edx, 0xca62c1d6
mov eax, r9d
rol r9d, 0x1e
xor eax, ebx
xor eax, r8d
add eax, edx
add eax, r11d
add edi, eax
mov rax, qword [r15 + 0xc0]
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x24]
rol edx, 1
mov dword [rax + 0x24], edx
add edx, 0xca62c1d6
mov eax, r9d
xor eax, r10d
mov ecx, edi
xor eax, r8d
rol r10d, 0x1e
add eax, edx
rol ecx, 5
add ebx, eax
mov rax, qword [r15 + 0xc0]
add ebx, ecx
mov esi, ebx
rol esi, 5
mov edx, dword [rax + 0x30]
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 8]
xor edx, dword [rax + 0x28]
rol edx, 1
mov dword [rax + 0x28], edx
add edx, 0xca62c1d6
mov eax, r9d
add r9d, 0xca62c1d6
xor eax, r10d
xor eax, edi
rol edi, 0x1e
add eax, edx
add eax, r8d
add esi, eax
mov rax, qword [r15 + 0xc0]
mov r11d, esi
rol r11d, 5
mov edx, dword [rax + 0x34]
xor edx, dword [rax + 0x20]
xor edx, dword [rax + 0xc]
xor edx, dword [rax + 0x2c]
rol edx, 1
mov dword [rax + 0x2c], edx
mov eax, r10d
xor eax, edi
xor eax, ebx
rol ebx, 0x1e
add eax, edx
add eax, r9d
add r11d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r11d
rol ecx, 5
mov edx, dword [rax + 0x38]
xor edx, dword [rax + 0x24]
xor edx, dword [rax + 0x10]
xor edx, dword [rax + 0x30]
rol edx, 1
mov dword [rax + 0x30], edx
add edx, 0xca62c1d6
mov eax, edi
xor eax, ebx
xor eax, esi
rol esi, 0x1e
add eax, edx
add r10d, eax
mov rax, qword [r15 + 0xc0]
add r10d, ecx
mov r9d, r10d
rol r9d, 5
mov edx, dword [rax + 0x3c]
xor edx, dword [rax + 0x28]
xor edx, dword [rax + 0x14]
xor edx, dword [rax + 0x34]
rol edx, 1
mov dword [rax + 0x34], edx
mov eax, r11d
xor eax, ebx
rol r11d, 0x1e
xor eax, esi
add edx, 0xca62c1d6
add eax, edx
add eax, edi
add r9d, eax
mov rax, qword [r15 + 0xc0]
mov edx, dword [rax + 0x2c]
xor edx, dword [rax + 0x18]
xor edx, dword [rax + 0x38]
add ebx, 0xca62c1d6
xor edx, dword [rax]
mov r8d, r9d
mov rbp, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
rol edx, 1
mov dword [rax + 0x38], edx
mov eax, r11d
xor eax, r10d
rol r8d, 5
xor eax, esi
rol r10d, 0x1e
add eax, edx
add eax, ebx
mov rbx, qword [rsp + 0x20]
add r8d, eax
mov rax, qword [r15 + 0xc0]
mov ecx, r8d
rol ecx, 5
add ecx, esi
mov rsi, qword [rsp + 0x30]
mov edx, dword [rax + 0x30]
xor edx, dword [rax + 0x1c]
xor edx, dword [rax + 4]
xor edx, dword [rax + 0x3c]
rol edx, 1
mov dword [rax + 0x3c], edx
mov eax, r11d
add dword [r12 + 4], r8d
xor eax, r10d
add dword [r12 + 0xc], r10d
xor eax, r9d
add eax, 0xca62c1d6
rol r9d, 0x1e
add dword [r12 + 8], r9d
add eax, edx
add eax, ecx
add dword [r12], eax
add dword [r12 + 0x10], r11d
pop r15
pop r14
pop r12
ret