Function at 0x18000b660
Capabilities:
Hash data using sha1

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