Function at 0x18003cd50
Capabilities:
Hash data using sha1

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
mov esi, dword [rcx - 0x2c]
mov r11d, dword [rcx - 0x28]
mov r10d, dword [rcx - 0x24]
mov r9d, dword [rcx - 0x20]
mov eax, dword [rcx - 0x1c]
mov r8d, dword [rdx]
bswap r8d
mov dword [rcx - 0x18], r8d
mov r8d, esi
rol r8d, 5
add r8d, eax
mov ebx, r9d
xor ebx, r10d
and ebx, r11d
xor ebx, r9d
add ebx, r8d
mov edi, dword [rcx - 0x18]
mov eax, 0x5a827999
add edi, eax
add edi, ebx
rol r11d, 0x1e
mov r8d, dword [rdx + 4]
bswap r8d
mov dword [rcx - 0x14], r8d
mov ebx, edi
rol ebx, 5
mov ebp, r11d
xor ebp, r10d
and ebp, esi
xor ebp, r10d
mov r8d, dword [rcx - 0x14]
add r8d, r9d
add r8d, ebp
add r8d, eax
add r8d, ebx
rol esi, 0x1e
mov r9d, dword [rdx + 8]
bswap r9d
mov ebx, r8d
rol ebx, 5
mov dword [rcx - 0x10], r9d
mov ebp, r11d
xor ebp, esi
and ebp, edi
xor ebp, r11d
mov r9d, dword [rcx - 0x10]
add r9d, r10d
add r9d, ebp
add r9d, eax
add r9d, ebx
rol edi, 0x1e
mov r10d, dword [rdx + 0xc]
bswap r10d
mov dword [rcx - 0xc], r10d
mov ebx, r9d
rol ebx, 5
mov ebp, edi
xor ebp, esi
and ebp, r8d
xor ebp, esi
mov r10d, dword [rcx - 0xc]
add r10d, r11d
add r10d, ebp
add r10d, eax
rol r8d, 0x1e
add r10d, ebx
mov r11d, dword [rdx + 0x10]
bswap r11d
mov dword [rcx - 8], r11d
mov ebx, r10d
rol ebx, 5
mov ebp, r8d
xor ebp, edi
and ebp, r9d
xor ebp, edi
mov r11d, dword [rcx - 8]
add r11d, esi
add r11d, ebp
add r11d, eax
add r11d, ebx
rol r9d, 0x1e
mov esi, dword [rdx + 0x14]
bswap esi
mov dword [rcx - 4], esi
mov ebx, r11d
rol ebx, 5
mov ebp, r9d
xor ebp, r8d
and ebp, r10d
xor ebp, r8d
mov esi, dword [rcx - 4]
add esi, edi
add esi, ebp
add esi, eax
add esi, ebx
rol r10d, 0x1e
mov edi, dword [rdx + 0x18]
bswap edi
mov ebx, esi
rol ebx, 5
mov dword [rcx], edi
mov ebp, r10d
xor ebp, r9d
and ebp, r11d
xor ebp, r9d
mov edi, dword [rcx]
add edi, r8d
add edi, ebp
add edi, eax
add edi, ebx
rol r11d, 0x1e
mov r8d, dword [rdx + 0x1c]
bswap r8d
mov dword [rcx + 4], r8d
mov ebx, edi
rol ebx, 5
mov ebp, r11d
xor ebp, r10d
and ebp, esi
xor ebp, r10d
mov r8d, dword [rcx + 4]
add r8d, r9d
add r8d, ebp
add r8d, eax
rol esi, 0x1e
add r8d, ebx
mov r9d, dword [rdx + 0x20]
bswap r9d
mov dword [rcx + 8], r9d
mov r9d, r8d
rol r9d, 5
mov ebp, esi
xor ebp, r11d
and ebp, edi
xor ebp, r11d
mov ebx, dword [rcx + 8]
add ebx, r10d
add ebx, ebp
add ebx, eax
add ebx, r9d
rol edi, 0x1e
mov r9d, dword [rdx + 0x24]
bswap r9d
mov dword [rcx + 0xc], r9d
mov r9d, ebx
rol r9d, 5
mov r10d, edi
xor r10d, esi
and r10d, r8d
xor r10d, esi
mov ebp, dword [rcx + 0xc]
add ebp, r11d
add ebp, r10d
add ebp, eax
add ebp, r9d
rol r8d, 0x1e
mov r9d, dword [rdx + 0x28]
bswap r9d
mov r10d, ebp
rol r10d, 5
mov dword [rcx + 0x10], r9d
mov r9d, r8d
xor r9d, edi
and r9d, ebx
xor r9d, edi
mov r14d, dword [rcx + 0x10]
add r14d, esi
add r14d, r9d
add r14d, eax
add r14d, r10d
rol ebx, 0x1e
mov r9d, dword [rdx + 0x2c]
bswap r9d
mov dword [rcx + 0x14], r9d
mov r10d, r14d
rol r10d, 5
mov r11d, ebx
xor r11d, r8d
and r11d, ebp
xor r11d, r8d
mov r9d, dword [rcx + 0x14]
add r9d, edi
add r9d, r11d
add r9d, eax
rol ebp, 0x1e
add r9d, r10d
mov r10d, dword [rdx + 0x30]
bswap r10d
mov dword [rcx + 0x18], r10d
mov r11d, r9d
rol r11d, 5
mov esi, ebp
xor esi, ebx
and esi, r14d
xor esi, ebx
mov r10d, dword [rcx + 0x18]
add r10d, r8d
add r10d, esi
add r10d, eax
add r10d, r11d
rol r14d, 0x1e
mov r8d, dword [rdx + 0x34]
bswap r8d
mov dword [rcx + 0x1c], r8d
mov r8d, r10d
rol r8d, 5
mov r11d, r14d
xor r11d, ebp
and r11d, r9d
xor r11d, ebp
mov esi, dword [rcx + 0x1c]
add esi, ebx
add esi, r11d
add esi, eax
add esi, r8d
rol r9d, 0x1e
mov r8d, dword [rdx + 0x38]
bswap r8d
mov edi, esi
rol edi, 5
mov dword [rcx + 0x20], r8d
mov r8d, r9d
xor r8d, r14d
and r8d, r10d
xor r8d, r14d
mov r11d, dword [rcx + 0x20]
add r11d, ebp
add r11d, r8d
add r11d, eax
add r11d, edi
rol r10d, 0x1e
mov edx, dword [rdx + 0x3c]
bswap edx
mov dword [rcx + 0x24], edx
mov r8d, r11d
rol r8d, 5
mov edi, r10d
xor edi, r9d
and edi, esi
xor edi, r9d
mov edx, dword [rcx + 0x24]
add edx, r14d
add edx, edi
add edx, eax
rol esi, 0x1e
add edx, r8d
mov r8d, dword [rcx + 0x1c]
mov edi, dword [rcx + 8]
xor edi, r8d
mov r8d, dword [rcx - 0x10]
mov ebx, dword [rcx - 0x18]
xor ebx, r8d
xor ebx, edi
rol ebx, 1
mov dword [rcx - 0x18], ebx
mov edi, edx
rol edi, 5
mov ebx, esi
xor ebx, r10d
and ebx, r11d
xor ebx, r10d
mov r8d, dword [rcx - 0x18]
add r8d, r9d
add r8d, ebx
add r8d, eax
rol r11d, 0x1e
add r8d, edi
mov r9d, dword [rcx + 0x20]
mov edi, dword [rcx + 0xc]
xor edi, r9d
mov r9d, dword [rcx - 0xc]
mov ebx, dword [rcx - 0x14]
xor ebx, r9d
xor ebx, edi
rol ebx, 1
mov dword [rcx - 0x14], ebx
mov edi, r8d
rol edi, 5
mov ebx, r11d
xor ebx, esi
and ebx, edx
xor ebx, esi
mov r9d, dword [rcx - 0x14]
add r9d, r10d
add r9d, ebx
add r9d, eax
rol edx, 0x1e
add r9d, edi
mov r10d, dword [rcx + 0x24]
mov edi, dword [rcx + 0x10]
xor edi, r10d
mov r10d, dword [rcx - 8]
mov ebx, dword [rcx - 0x10]
xor ebx, r10d
xor ebx, edi
rol ebx, 1
mov dword [rcx - 0x10], ebx
mov edi, r9d
rol edi, 5
mov ebx, edx
xor ebx, r11d
and ebx, r8d
xor ebx, r11d
mov r10d, dword [rcx - 0x10]
add r10d, esi
add r10d, ebx
add r10d, eax
rol r8d, 0x1e
add r10d, edi
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, r10d
rol edi, 5
mov ebx, r8d
xor ebx, edx
and ebx, r9d
xor ebx, edx
mov esi, dword [rcx - 0xc]
add esi, r11d
add esi, ebx
add esi, eax
rol r9d, 0x1e
add esi, edi
mov eax, dword [rcx - 0x14]
mov r11d, dword [rcx + 0x18]
xor r11d, eax
mov eax, dword [rcx]
mov edi, dword [rcx - 8]
xor edi, eax
xor edi, r11d
rol edi, 1
mov dword [rcx - 8], edi
mov edi, esi
rol edi, 5
mov eax, r9d
xor eax, r8d
xor eax, r10d
mov r11d, dword [rcx - 8]
add r11d, edx
add r11d, eax
mov eax, 0x6ed9eba1
add r11d, eax
rol r10d, 0x1e
add r11d, edi
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 edi, r11d
rol edi, 5
mov ebx, r10d
xor ebx, r9d
xor ebx, esi
mov edx, dword [rcx - 4]
add edx, r8d
add edx, ebx
add edx, eax
rol esi, 0x1e
mov r8d, dword [rcx - 0xc]
mov ebx, dword [rcx + 0x20]
xor ebx, r8d
mov r8d, dword [rcx + 8]
mov ebp, dword [rcx]
xor ebp, r8d
xor ebp, ebx
rol ebp, 1
add edx, edi
mov edi, edx
rol edi, 5
mov dword [rcx], ebp
mov ebx, esi
xor ebx, r10d
xor ebx, r11d
mov r8d, dword [rcx]
add r8d, r9d
add r8d, ebx
add r8d, eax
add r8d, edi
rol r11d, 0x1e
mov r9d, dword [rcx - 8]
mov edi, dword [rcx + 0x24]
xor edi, r9d
mov r9d, dword [rcx + 0xc]
mov ebx, dword [rcx + 4]
xor ebx, r9d
xor ebx, edi
rol ebx, 1
mov dword [rcx + 4], ebx
mov edi, r8d
rol edi, 5
mov ebx, r11d
xor ebx, esi
xor ebx, edx
mov r9d, dword [rcx + 4]
add r9d, r10d
add r9d, ebx
add r9d, eax
add r9d, edi
rol edx, 0x1e
mov r10d, dword [rcx - 4]
mov edi, dword [rcx - 0x18]
xor edi, r10d
mov r10d, dword [rcx + 0x10]
mov ebx, dword [rcx + 8]
xor ebx, r10d
xor ebx, edi
rol ebx, 1
mov dword [rcx + 8], ebx
mov edi, r9d
rol edi, 5
mov ebx, edx
xor ebx, r11d
xor ebx, r8d
mov r10d, dword [rcx + 8]
add r10d, esi
add r10d, ebx
add r10d, eax
rol r8d, 0x1e
add r10d, edi
mov esi, dword [rcx]
mov edi, dword [rcx - 0x14]
xor edi, esi
mov esi, dword [rcx + 0x14]
mov ebx, dword [rcx + 0xc]
xor ebx, esi
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0xc], ebx
mov edi, r10d
rol edi, 5
mov ebx, r8d
xor ebx, edx
xor ebx, r9d
mov esi, dword [rcx + 0xc]
add esi, r11d
add esi, ebx
add esi, eax
rol r9d, 0x1e
mov r11d, dword [rcx + 4]
mov ebx, dword [rcx - 0x10]
xor ebx, r11d
mov r11d, dword [rcx + 0x18]
mov ebp, dword [rcx + 0x10]
xor ebp, r11d
xor ebp, ebx
rol ebp, 1
add esi, edi
mov edi, esi
rol edi, 5
mov dword [rcx + 0x10], ebp
mov ebx, r9d
xor ebx, r8d
xor ebx, r10d
mov r11d, dword [rcx + 0x10]
add r11d, edx
add r11d, ebx
add r11d, eax
add r11d, edi
rol r10d, 0x1e
mov edx, dword [rcx + 8]
mov edi, dword [rcx - 0xc]
xor edi, edx
mov edx, dword [rcx + 0x1c]
mov ebx, dword [rcx + 0x14]
xor ebx, edx
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0x14], ebx
mov edi, r11d
rol edi, 5
mov ebx, r10d
xor ebx, r9d
xor ebx, esi
mov edx, dword [rcx + 0x14]
add edx, r8d
add edx, ebx
add edx, eax
add edx, edi
rol esi, 0x1e
mov r8d, dword [rcx + 0xc]
mov edi, dword [rcx - 8]
xor edi, r8d
mov r8d, dword [rcx + 0x20]
mov ebx, dword [rcx + 0x18]
xor ebx, r8d
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0x18], ebx
mov edi, edx
rol edi, 5
mov ebx, esi
xor ebx, r10d
xor ebx, r11d
mov r8d, dword [rcx + 0x18]
add r8d, r9d
add r8d, ebx
add r8d, eax
rol r11d, 0x1e
add r8d, edi
mov r9d, dword [rcx + 0x10]
mov edi, dword [rcx - 4]
xor edi, r9d
mov r9d, dword [rcx + 0x24]
mov ebx, dword [rcx + 0x1c]
xor ebx, r9d
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0x1c], ebx
mov edi, r8d
rol edi, 5
mov ebx, r11d
xor ebx, esi
xor ebx, edx
mov r9d, dword [rcx + 0x1c]
add r9d, r10d
add r9d, ebx
add r9d, eax
rol edx, 0x1e
mov r10d, dword [rcx + 0x14]
mov ebx, dword [rcx]
xor ebx, r10d
mov r10d, dword [rcx - 0x18]
mov ebp, dword [rcx + 0x20]
xor ebp, r10d
xor ebp, ebx
rol ebp, 1
add r9d, edi
mov r10d, r9d
rol r10d, 5
mov dword [rcx + 0x20], ebp
mov ebx, edx
xor ebx, r11d
xor ebx, r8d
mov edi, dword [rcx + 0x20]
add edi, esi
add edi, ebx
add edi, eax
add edi, r10d
rol r8d, 0x1e
mov r10d, dword [rcx + 0x18]
mov esi, dword [rcx + 4]
xor esi, r10d
mov r10d, dword [rcx - 0x14]
mov ebx, dword [rcx + 0x24]
xor ebx, r10d
xor ebx, esi
rol ebx, 1
mov dword [rcx + 0x24], ebx
mov r10d, edi
rol r10d, 5
mov ebx, r8d
xor ebx, edx
xor ebx, r9d
mov esi, dword [rcx + 0x24]
add esi, r11d
add esi, ebx
add esi, eax
add esi, r10d
rol r9d, 0x1e
mov r10d, dword [rcx + 0x1c]
mov r11d, dword [rcx + 8]
xor r11d, r10d
mov r10d, dword [rcx - 0x10]
mov ebx, dword [rcx - 0x18]
xor ebx, r10d
xor ebx, r11d
rol ebx, 1
mov dword [rcx - 0x18], ebx
mov r10d, esi
rol r10d, 5
mov r11d, r9d
xor r11d, r8d
xor r11d, edi
mov ebx, dword [rcx - 0x18]
add ebx, edx
add ebx, r11d
add ebx, eax
rol edi, 0x1e
add ebx, r10d
mov edx, dword [rcx + 0x20]
mov r10d, dword [rcx + 0xc]
xor r10d, edx
mov edx, dword [rcx - 0xc]
mov r11d, dword [rcx - 0x14]
xor r11d, edx
xor r11d, r10d
rol r11d, 1
mov dword [rcx - 0x14], r11d
mov edx, ebx
rol edx, 5
mov r10d, edi
xor r10d, r9d
xor r10d, esi
mov ebp, dword [rcx - 0x14]
add ebp, r8d
add ebp, r10d
add ebp, eax
rol esi, 0x1e
mov r8d, dword [rcx + 0x24]
mov r10d, dword [rcx + 0x10]
xor r10d, r8d
mov r8d, dword [rcx - 8]
mov r11d, dword [rcx - 0x10]
xor r11d, r8d
xor r11d, r10d
rol r11d, 1
add ebp, edx
mov edx, ebp
rol edx, 5
mov dword [rcx - 0x10], r11d
mov r8d, esi
xor r8d, edi
xor r8d, ebx
mov r14d, dword [rcx - 0x10]
add r14d, r9d
add r14d, r8d
add r14d, eax
add r14d, edx
rol ebx, 0x1e
mov edx, dword [rcx - 0x18]
mov r8d, dword [rcx + 0x14]
xor r8d, edx
mov edx, dword [rcx - 4]
mov r9d, dword [rcx - 0xc]
xor r9d, edx
xor r9d, r8d
rol r9d, 1
mov dword [rcx - 0xc], r9d
mov edx, r14d
rol edx, 5
mov r8d, ebx
xor r8d, esi
xor r8d, ebp
mov r10d, dword [rcx - 0xc]
add r10d, edi
add r10d, r8d
add r10d, eax
add r10d, edx
rol ebp, 0x1e
mov edx, dword [rcx - 0x14]
mov r8d, dword [rcx + 0x18]
xor r8d, edx
mov edx, dword [rcx]
mov r9d, dword [rcx - 8]
xor r9d, edx
xor r9d, r8d
rol r9d, 1
mov dword [rcx - 8], r9d
mov edx, r10d
rol edx, 5
mov r8d, ebp
xor r8d, ebx
xor r8d, r14d
mov r11d, dword [rcx - 8]
add r11d, esi
add r11d, r8d
add r11d, eax
rol r14d, 0x1e
add r11d, edx
mov edx, dword [rcx - 0x10]
mov r8d, dword [rcx + 0x1c]
xor r8d, edx
mov edx, dword [rcx + 4]
mov r9d, dword [rcx - 4]
xor r9d, edx
xor r9d, r8d
rol r9d, 1
mov dword [rcx - 4], r9d
mov edx, r11d
rol edx, 5
mov r8d, r14d
xor r8d, ebp
xor r8d, r10d
mov esi, dword [rcx - 4]
add esi, ebx
add esi, r8d
add esi, eax
rol r10d, 0x1e
mov r8d, dword [rcx - 0xc]
mov r9d, dword [rcx + 0x20]
xor r9d, r8d
mov r8d, dword [rcx + 8]
mov edi, dword [rcx]
xor edi, r8d
xor edi, r9d
rol edi, 1
add esi, edx
mov r8d, esi
rol r8d, 5
mov dword [rcx], edi
mov r9d, r10d
xor r9d, r14d
xor r9d, r11d
mov edx, dword [rcx]
add edx, ebp
add edx, r9d
add edx, eax
add edx, r8d
rol r11d, 0x1e
mov r8d, dword [rcx - 8]
mov r9d, dword [rcx + 0x24]
xor r9d, r8d
mov r8d, dword [rcx + 0xc]
mov edi, dword [rcx + 4]
xor edi, r8d
xor edi, r9d
rol edi, 1
mov dword [rcx + 4], edi
mov r9d, edx
rol r9d, 5
mov edi, r11d
xor edi, r10d
xor edi, esi
mov r8d, dword [rcx + 4]
add r8d, r14d
add r8d, edi
add r8d, eax
add r8d, r9d
rol esi, 0x1e
mov eax, dword [rcx - 4]
mov r9d, dword [rcx - 0x18]
xor r9d, eax
mov eax, dword [rcx + 0x10]
mov edi, dword [rcx + 8]
xor edi, eax
xor edi, r9d
rol edi, 1
mov dword [rcx + 8], edi
mov eax, r8d
rol eax, 5
mov r9d, edx
and r9d, esi
mov edi, edx
or edi, esi
and edi, r11d
or edi, r9d
mov r9d, dword [rcx + 8]
add r9d, r10d
add r9d, edi
add r9d, eax
mov eax, 0x8f1bbcdc
rol edx, 0x1e
lea edi, [r9 + rax]
mov r10d, dword [rcx]
mov ebx, dword [rcx - 0x14]
xor ebx, r10d
mov r10d, dword [rcx + 0x14]
mov ebp, dword [rcx + 0xc]
xor ebp, r10d
xor ebp, ebx
rol ebp, 1
mov dword [rcx + 0xc], ebp
mov ebx, edi
rol ebx, 5
mov r10d, r8d
and r10d, edx
mov ebp, r8d
or ebp, edx
and ebp, esi
or ebp, r10d
mov r10d, dword [rcx + 0xc]
add r10d, r11d
add r10d, ebp
add r10d, ebx
lea ebx, [r10 + rax]
rol r8d, 0x1e
mov r11d, dword [rcx + 4]
mov ebp, dword [rcx - 0x10]
xor ebp, r11d
mov r11d, dword [rcx + 0x18]
mov r14d, dword [rcx + 0x10]
xor r14d, r11d
xor r14d, ebp
rol r14d, 1
mov dword [rcx + 0x10], r14d
mov ebp, ebx
rol ebp, 5
mov r11d, edi
and r11d, r8d
shld r9d, edi, 0x1e
or edi, r8d
and edi, edx
or edi, r11d
mov r11d, dword [rcx + 0x10]
add r11d, esi
add r11d, edi
add r11d, ebp
mov esi, dword [rcx + 8]
mov edi, dword [rcx - 0xc]
xor edi, esi
mov esi, dword [rcx + 0x1c]
mov ebp, dword [rcx + 0x14]
xor ebp, esi
xor ebp, edi
rol ebp, 1
lea esi, [r11 + rax]
mov r14d, esi
rol r14d, 5
mov dword [rcx + 0x14], ebp
mov edi, ebx
shld r10d, ebx, 0x1e
and edi, r9d
or ebx, r9d
and ebx, r8d
or ebx, edi
mov edi, dword [rcx + 0x14]
add edi, edx
add edi, ebx
add edi, r14d
lea edx, [rdi + rax]
mov ebx, dword [rcx + 0xc]
mov ebp, dword [rcx - 8]
xor ebp, ebx
mov ebx, dword [rcx + 0x20]
mov r14d, dword [rcx + 0x18]
xor r14d, ebx
xor r14d, ebp
rol r14d, 1
mov dword [rcx + 0x18], r14d
mov ebx, edx
rol ebx, 5
mov ebp, esi
and ebp, r10d
shld r11d, esi, 0x1e
or esi, r10d
and esi, r9d
or esi, ebp
mov ebp, dword [rcx + 0x18]
add esi, r8d
add esi, ebp
add esi, ebx
lea r8d, [rsi + rax]
mov ebx, dword [rcx + 0x10]
mov ebp, dword [rcx - 4]
xor ebp, ebx
mov ebx, dword [rcx + 0x24]
mov r14d, dword [rcx + 0x1c]
xor r14d, ebx
xor r14d, ebp
rol r14d, 1
mov dword [rcx + 0x1c], r14d
mov ebx, r8d
rol ebx, 5
mov ebp, edx
and ebp, r11d
shld edi, edx, 0x1e
or edx, r11d
and edx, r10d
or edx, ebp
mov ebp, dword [rcx + 0x1c]
add edx, r9d
add edx, ebp
add edx, ebx
lea r9d, [rdx + rax]
mov ebx, dword [rcx + 0x14]
mov ebp, dword [rcx]
xor ebp, ebx
mov ebx, dword [rcx - 0x18]
mov r14d, dword [rcx + 0x20]
xor r14d, ebx
xor r14d, ebp
rol r14d, 1
mov dword [rcx + 0x20], r14d
mov ebx, r9d
rol ebx, 5
mov ebp, r8d
and ebp, edi
shld esi, r8d, 0x1e
or r8d, edi
and r8d, r11d
or r8d, ebp
mov ebp, dword [rcx + 0x20]
add r8d, r10d
add r8d, ebp
add r8d, ebx
mov r10d, dword [rcx + 0x18]
mov ebx, dword [rcx + 4]
xor ebx, r10d
mov r10d, dword [rcx - 0x14]
mov ebp, dword [rcx + 0x24]
xor ebp, r10d
xor ebp, ebx
rol ebp, 1
lea ebx, [r8 + rax]
mov r10d, ebx
rol r10d, 5
mov dword [rcx + 0x24], ebp
mov ebp, r9d
shld edx, r9d, 0x1e
and ebp, esi
or r9d, esi
and r9d, edi
or r9d, ebp
mov ebp, dword [rcx + 0x24]
add r9d, r11d
add r9d, ebp
add r9d, r10d
lea r10d, [r9 + rax]
mov r11d, dword [rcx + 0x1c]
mov ebp, dword [rcx + 8]
xor ebp, r11d
mov r11d, dword [rcx - 0x10]
mov r14d, dword [rcx - 0x18]
xor r14d, r11d
xor r14d, ebp
rol r14d, 1
mov dword [rcx - 0x18], r14d
mov r11d, r10d
rol r11d, 5
mov ebp, ebx
and ebp, edx
shld r8d, ebx, 0x1e
or ebx, edx
and ebx, esi
or ebx, ebp
mov ebp, dword [rcx - 0x18]
add ebx, edi
add ebx, ebp
add ebx, r11d
lea r11d, [rbx + rax]
mov edi, dword [rcx + 0x20]
mov ebp, dword [rcx + 0xc]
xor ebp, edi
mov edi, dword [rcx - 0xc]
mov r14d, dword [rcx - 0x14]
xor r14d, edi
xor r14d, ebp
rol r14d, 1
mov dword [rcx - 0x14], r14d
mov edi, r11d
rol edi, 5
mov ebp, r10d
and ebp, r8d
shld r9d, r10d, 0x1e
or r10d, r8d
and r10d, edx
or r10d, ebp
mov ebp, dword [rcx - 0x14]
add r10d, esi
add r10d, ebp
add r10d, edi
lea esi, [r10 + rax]
mov edi, dword [rcx + 0x24]
mov ebp, dword [rcx + 0x10]
xor ebp, edi
mov edi, dword [rcx - 8]
mov r14d, dword [rcx - 0x10]
xor r14d, edi
xor r14d, ebp
rol r14d, 1
mov dword [rcx - 0x10], r14d
mov edi, esi
rol edi, 5
mov ebp, r11d
and ebp, r9d
shld ebx, r11d, 0x1e
or r11d, r9d
and r11d, r8d
or r11d, ebp
mov ebp, dword [rcx - 0x10]
add r11d, edx
add r11d, ebp
add r11d, edi
mov edx, dword [rcx - 0x18]
mov edi, dword [rcx + 0x14]
xor edi, edx
mov edx, dword [rcx - 4]
mov ebp, dword [rcx - 0xc]
xor ebp, edx
xor ebp, edi
rol ebp, 1
lea r14d, [r11 + rax]
mov edx, r14d
rol edx, 5
mov dword [rcx - 0xc], ebp
mov edi, esi
shld r10d, esi, 0x1e
and edi, ebx
or esi, ebx
and esi, r9d
or esi, edi
mov edi, dword [rcx - 0xc]
add esi, r8d
add esi, edi
add esi, edx
lea edi, [rsi + rax]
mov edx, dword [rcx - 0x14]
mov r8d, dword [rcx + 0x18]
xor r8d, edx
mov edx, dword [rcx]
mov ebp, dword [rcx - 8]
xor ebp, edx
xor ebp, r8d
rol ebp, 1
mov dword [rcx - 8], ebp
mov edx, edi
rol edx, 5
mov r8d, r14d
and r8d, r10d
shld r11d, r14d, 0x1e
or r14d, r10d
and r14d, ebx
or r14d, r8d
mov r8d, dword [rcx - 8]
add r14d, r9d
add r14d, r8d
add r14d, edx
lea edx, [r14 + rax]
mov r8d, dword [rcx - 0x10]
mov r9d, dword [rcx + 0x1c]
xor r9d, r8d
mov r8d, dword [rcx + 4]
mov ebp, dword [rcx - 4]
xor ebp, r8d
xor ebp, r9d
rol ebp, 1
mov dword [rcx - 4], ebp
mov r8d, edx
rol r8d, 5
mov r9d, edi
and r9d, r11d
shld esi, edi, 0x1e
or edi, r11d
and edi, r10d
or edi, r9d
mov r9d, dword [rcx - 4]
add edi, ebx
add edi, r9d
add edi, r8d
lea r8d, [rdi + rax]
mov r9d, dword [rcx - 0xc]
mov ebx, dword [rcx + 0x20]
xor ebx, r9d
mov r9d, dword [rcx + 8]
mov ebp, dword [rcx]
xor ebp, r9d
xor ebp, ebx
rol ebp, 1
mov dword [rcx], ebp
mov r9d, r8d
rol r9d, 5
mov ebx, edx
and ebx, esi
shld r14d, edx, 0x1e
or edx, esi
and edx, r11d
or edx, ebx
mov ebx, dword [rcx]
add edx, r10d
add edx, ebx
add edx, r9d
mov r9d, dword [rcx - 8]
mov r10d, dword [rcx + 0x24]
xor r10d, r9d
mov r9d, dword [rcx + 0xc]
mov ebx, dword [rcx + 4]
xor ebx, r9d
xor ebx, r10d
rol ebx, 1
lea r10d, [rdx + rax]
mov r9d, r10d
rol r9d, 5
mov dword [rcx + 4], ebx
mov ebx, r8d
shld edi, r8d, 0x1e
and ebx, r14d
or r8d, r14d
and r8d, esi
or r8d, ebx
mov ebx, dword [rcx + 4]
add r8d, r11d
add r8d, ebx
add r8d, r9d
lea r9d, [r8 + rax]
mov r11d, dword [rcx - 4]
mov ebx, dword [rcx - 0x18]
xor ebx, r11d
mov r11d, dword [rcx + 0x10]
mov ebp, dword [rcx + 8]
xor ebp, r11d
xor ebp, ebx
rol ebp, 1
mov dword [rcx + 8], ebp
mov r11d, r9d
rol r11d, 5
mov ebx, r10d
and ebx, edi
shld edx, r10d, 0x1e
or r10d, edi
and r10d, r14d
or r10d, ebx
mov ebx, dword [rcx + 8]
add r10d, esi
add r10d, ebx
add r10d, r11d
lea r11d, [r10 + rax]
mov esi, dword [rcx]
mov ebx, dword [rcx - 0x14]
xor ebx, esi
mov esi, dword [rcx + 0x14]
mov ebp, dword [rcx + 0xc]
xor ebp, esi
xor ebp, ebx
rol ebp, 1
mov dword [rcx + 0xc], ebp
mov esi, r11d
rol esi, 5
mov ebx, r9d
and ebx, edx
shld r8d, r9d, 0x1e
or r9d, edx
and r9d, edi
or r9d, ebx
mov ebx, dword [rcx + 0xc]
add r9d, r14d
add r9d, ebx
add r9d, esi
lea ebx, [r9 + rax]
mov esi, dword [rcx + 4]
mov ebp, dword [rcx - 0x10]
xor ebp, esi
mov esi, dword [rcx + 0x18]
mov r14d, dword [rcx + 0x10]
xor r14d, esi
xor r14d, ebp
rol r14d, 1
mov dword [rcx + 0x10], r14d
mov esi, ebx
rol esi, 5
mov ebp, r11d
and ebp, r8d
shld r10d, r11d, 0x1e
or r11d, r8d
and r11d, edx
or r11d, ebp
mov ebp, dword [rcx + 0x10]
add r11d, edi
add r11d, ebp
add r11d, esi
mov esi, dword [rcx + 8]
mov edi, dword [rcx - 0xc]
xor edi, esi
mov esi, dword [rcx + 0x1c]
mov ebp, dword [rcx + 0x14]
xor ebp, esi
xor ebp, edi
rol ebp, 1
lea edi, [r11 + rax]
mov dword [rcx + 0x14], ebp
shld r9d, ebx, 0x1e
mov esi, r9d
xor esi, r10d
shld r11d, edi, 0x1e
xor esi, edi
rol edi, 5
mov ebp, ebx
and ebp, r10d
or ebx, r10d
and ebx, r8d
or ebx, ebp
mov ebp, dword [rcx + 0x14]
add ebx, edx
add ebx, ebp
add ebx, edi
add eax, ebx
mov edx, dword [rcx + 0xc]
mov edi, dword [rcx - 8]
xor edi, edx
mov edx, dword [rcx + 0x20]
mov ebp, dword [rcx + 0x18]
xor ebp, edx
xor ebp, edi
rol ebp, 1
mov dword [rcx + 0x18], ebp
mov edi, eax
rol edi, 5
mov edx, dword [rcx + 0x18]
add esi, r8d
add esi, edx
mov edx, 0xca62c1d6
add esi, edx
add esi, edi
mov r8d, dword [rcx + 0x10]
mov edi, dword [rcx - 4]
xor edi, r8d
mov r8d, dword [rcx + 0x24]
mov ebp, dword [rcx + 0x1c]
xor ebp, r8d
xor ebp, edi
rol ebp, 1
mov dword [rcx + 0x1c], ebp
mov r8d, esi
rol r8d, 5
mov edi, r11d
xor edi, r9d
xor edi, eax
mov ebp, dword [rcx + 0x1c]
add edi, r10d
add edi, ebp
add edi, edx
shrd eax, ebx, 2
mov r10d, dword [rcx + 0x14]
mov ebx, dword [rcx]
xor ebx, r10d
mov r10d, dword [rcx - 0x18]
mov ebp, dword [rcx + 0x20]
xor ebp, r10d
xor ebp, ebx
rol ebp, 1
add edi, r8d
mov r10d, edi
rol r10d, 5
mov dword [rcx + 0x20], ebp
mov r8d, eax
xor r8d, r11d
xor r8d, esi
mov ebx, dword [rcx + 0x20]
add r8d, r9d
add r8d, ebx
add r8d, edx
add r8d, r10d
rol esi, 0x1e
mov r9d, dword [rcx + 0x18]
mov r10d, dword [rcx + 4]
xor r10d, r9d
mov r9d, dword [rcx - 0x14]
mov ebx, dword [rcx + 0x24]
xor ebx, r9d
xor ebx, r10d
rol ebx, 1
mov dword [rcx + 0x24], ebx
mov r10d, r8d
rol r10d, 5
mov r9d, esi
xor r9d, eax
xor r9d, edi
mov ebx, dword [rcx + 0x24]
add r9d, r11d
add r9d, ebx
add r9d, edx
add r9d, r10d
rol edi, 0x1e
mov r10d, dword [rcx + 0x1c]
mov r11d, dword [rcx + 8]
xor r11d, r10d
mov r10d, dword [rcx - 0x10]
mov ebx, dword [rcx - 0x18]
xor ebx, r10d
xor ebx, r11d
rol ebx, 1
mov dword [rcx - 0x18], ebx
mov r11d, r9d
rol r11d, 5
mov r10d, edi
xor r10d, esi
xor r10d, r8d
mov ebx, dword [rcx - 0x18]
add r10d, eax
add r10d, ebx
add r10d, edx
rol r8d, 0x1e
add r10d, r11d
mov eax, dword [rcx + 0x20]
mov r11d, dword [rcx + 0xc]
xor r11d, eax
mov eax, dword [rcx - 0xc]
mov ebx, dword [rcx - 0x14]
xor ebx, eax
xor ebx, r11d
rol ebx, 1
mov dword [rcx - 0x14], ebx
mov r11d, r10d
rol r11d, 5
mov eax, r8d
xor eax, edi
xor eax, r9d
mov ebx, dword [rcx - 0x14]
add eax, esi
add eax, ebx
add eax, edx
rol r9d, 0x1e
mov esi, dword [rcx + 0x24]
mov ebx, dword [rcx + 0x10]
xor ebx, esi
mov esi, dword [rcx - 8]
mov ebp, dword [rcx - 0x10]
xor ebp, esi
xor ebp, ebx
rol ebp, 1
add eax, r11d
mov esi, eax
rol esi, 5
mov dword [rcx - 0x10], ebp
mov r11d, r9d
xor r11d, r8d
xor r11d, r10d
mov ebx, dword [rcx - 0x10]
add r11d, edi
add r11d, ebx
add r11d, edx
add r11d, esi
rol r10d, 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 esi, r10d
xor esi, r9d
xor esi, eax
mov ebx, dword [rcx - 0xc]
add esi, r8d
add esi, ebx
add esi, edx
add esi, edi
rol eax, 0x1e
mov r8d, dword [rcx - 0x14]
mov edi, dword [rcx + 0x18]
xor edi, r8d
mov r8d, dword [rcx]
mov ebx, dword [rcx - 8]
xor ebx, r8d
xor ebx, edi
rol ebx, 1
mov dword [rcx - 8], ebx
mov edi, esi
rol edi, 5
mov r8d, eax
xor r8d, r10d
xor r8d, r11d
mov ebx, dword [rcx - 8]
add r8d, r9d
add r8d, ebx
add r8d, edx
rol r11d, 0x1e
add r8d, edi
mov r9d, dword [rcx - 0x10]
mov edi, dword [rcx + 0x1c]
xor edi, r9d
mov r9d, dword [rcx + 4]
mov ebx, dword [rcx - 4]
xor ebx, r9d
xor ebx, edi
rol ebx, 1
mov dword [rcx - 4], ebx
mov edi, r8d
rol edi, 5
mov r9d, r11d
xor r9d, eax
xor r9d, esi
mov ebx, dword [rcx - 4]
add r9d, r10d
add r9d, ebx
add r9d, edx
rol esi, 0x1e
mov r10d, dword [rcx - 0xc]
mov ebx, dword [rcx + 0x20]
xor ebx, r10d
mov r10d, dword [rcx + 8]
mov ebp, dword [rcx]
xor ebp, r10d
xor ebp, ebx
rol ebp, 1
add r9d, edi
mov edi, r9d
rol edi, 5
mov dword [rcx], ebp
mov r10d, esi
xor r10d, r11d
xor r10d, r8d
mov ebx, dword [rcx]
add r10d, eax
add r10d, ebx
add r10d, edx
add r10d, edi
rol r8d, 0x1e
mov eax, dword [rcx - 8]
mov edi, dword [rcx + 0x24]
xor edi, eax
mov eax, dword [rcx + 0xc]
mov ebx, dword [rcx + 4]
xor ebx, eax
xor ebx, edi
rol ebx, 1
mov dword [rcx + 4], ebx
mov eax, r10d
rol eax, 5
mov edi, r8d
xor edi, esi
xor edi, r9d
mov ebx, dword [rcx + 4]
add edi, r11d
add edi, ebx
add edi, edx
add edi, eax
rol r9d, 0x1e
mov eax, dword [rcx - 4]
mov r11d, dword [rcx - 0x18]
xor r11d, eax
mov eax, dword [rcx + 0x10]
mov ebx, dword [rcx + 8]
xor ebx, eax
xor ebx, r11d
rol ebx, 1
mov dword [rcx + 8], ebx
mov eax, edi
rol eax, 5
mov r11d, r9d
xor r11d, r8d
xor r11d, r10d
mov ebx, dword [rcx + 8]
add r11d, esi
add r11d, ebx
add r11d, edx
rol r10d, 0x1e
add r11d, eax
mov eax, dword [rcx]
mov esi, dword [rcx - 0x14]
xor esi, eax
mov eax, dword [rcx + 0x14]
mov ebx, dword [rcx + 0xc]
xor ebx, eax
xor ebx, esi
rol ebx, 1
mov dword [rcx + 0xc], ebx
mov eax, r11d
rol eax, 5
mov esi, r10d
xor esi, r9d
xor esi, edi
mov ebx, dword [rcx + 0xc]
add esi, r8d
add esi, ebx
add esi, edx
rol edi, 0x1e
mov r8d, dword [rcx + 4]
mov ebx, dword [rcx - 0x10]
xor ebx, r8d
mov r8d, dword [rcx + 0x18]
mov ebp, dword [rcx + 0x10]
xor ebp, r8d
xor ebp, ebx
rol ebp, 1
add esi, eax
mov r8d, esi
rol r8d, 5
mov dword [rcx + 0x10], ebp
mov eax, edi
xor eax, r10d
xor eax, r11d
mov ebx, dword [rcx + 0x10]
add eax, r9d
add eax, ebx
add eax, edx
add eax, r8d
rol r11d, 0x1e
mov r8d, dword [rcx + 8]
mov r9d, dword [rcx - 0xc]
xor r9d, r8d
mov r8d, dword [rcx + 0x1c]
mov ebx, dword [rcx + 0x14]
xor ebx, r8d
xor ebx, r9d
rol ebx, 1
mov dword [rcx + 0x14], ebx
mov r9d, eax
rol r9d, 5
mov r8d, r11d
xor r8d, edi
xor r8d, esi
mov ebx, dword [rcx + 0x14]
add r8d, r10d
add r8d, ebx
add r8d, edx
add r8d, r9d
rol esi, 0x1e
mov r9d, dword [rcx + 0xc]
mov r10d, dword [rcx - 8]
xor r10d, r9d
mov r9d, dword [rcx + 0x20]
mov ebx, dword [rcx + 0x18]
xor ebx, r9d
xor ebx, r10d
rol ebx, 1
mov dword [rcx + 0x18], ebx
mov r10d, r8d
rol r10d, 5
mov r9d, esi
xor r9d, r11d
xor r9d, eax
mov ebx, dword [rcx + 0x18]
add r9d, edi
add r9d, ebx
add r9d, edx
rol eax, 0x1e
add r9d, r10d
mov r10d, dword [rcx + 0x10]
mov edi, dword [rcx - 4]
xor edi, r10d
mov r10d, dword [rcx + 0x24]
mov ebx, dword [rcx + 0x1c]
xor ebx, r10d
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0x1c], ebx
mov edi, r9d
rol edi, 5
mov r10d, eax
xor r10d, esi
xor r10d, r8d
mov ebx, dword [rcx + 0x1c]
add r10d, r11d
add r10d, ebx
add r10d, edx
rol r8d, 0x1e
mov r11d, dword [rcx + 0x14]
mov ebx, dword [rcx]
xor ebx, r11d
mov r11d, dword [rcx - 0x18]
mov ebp, dword [rcx + 0x20]
xor ebp, r11d
xor ebp, ebx
rol ebp, 1
add r10d, edi
mov edi, r10d
rol edi, 5
mov dword [rcx + 0x20], ebp
mov r11d, r8d
xor r11d, eax
xor r11d, r9d
mov ebx, dword [rcx + 0x20]
add r11d, esi
add r11d, ebx
add r11d, edx
add r11d, edi
rol r9d, 0x1e
mov esi, dword [rcx + 0x18]
mov edi, dword [rcx + 4]
xor edi, esi
mov esi, dword [rcx - 0x14]
mov ebx, dword [rcx + 0x24]
xor ebx, esi
xor ebx, edi
rol ebx, 1
mov dword [rcx + 0x24], ebx
mov esi, r11d
rol esi, 5
mov edi, r9d
xor edi, r8d
xor edi, r10d
mov ebx, dword [rcx + 0x24]
rol r10d, 0x1e
mov ebp, dword [rcx - 0x2c]
add edi, eax
add edi, ebx
add edi, ebp
add edi, edx
add edi, esi
mov dword [rcx - 0x2c], edi
add dword [rcx - 0x28], r11d
add dword [rcx - 0x24], r10d
add dword [rcx - 0x20], r9d
add dword [rcx - 0x1c], r8d
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret