Function at 0x180004640
Capabilities:
Hash data using sha256

Disassembly:
endbr64
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
movsxd rdx, edx
mov qword [rsp + 0x40], rdx
xor rcx, rcx
mov r8d, dword [rsi + rcx*4]
bswap r8d
mov dword [rsp + rcx*4], r8d
mov r9d, dword [rsi + rcx*4 + 4]
bswap r9d
mov dword [rsp + rcx*4 + 4], r9d
add rcx, 2
cmp rcx, 0x10
jl 0x18000466a
mov r8d, dword [rdi]
mov r9d, dword [rdi + 4]
mov r10d, dword [rdi + 8]
mov r11d, dword [rdi + 0xc]
mov r12d, dword [rdi + 0x10]
mov r13d, dword [rdi + 0x14]
mov r14d, dword [rdi + 0x18]
mov r15d, dword [rdi + 0x1c]
add r15d, 0x428a2f98
add r15d, dword [rsp]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 4]
mov ebx, dword [rsp + 0x38]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 4]
mov edx, dword [rsp + 0x38]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp]
add ebx, dword [rsp + 0x24]
add eax, ebx
mov dword [rsp], eax
add r14d, 0x71374491
add r14d, dword [rsp + 4]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 8]
mov ebx, dword [rsp + 0x3c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 0x3c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 4]
add ebx, dword [rsp + 0x28]
add eax, ebx
mov dword [rsp + 4], eax
add r13d, 0xb5c0fbcf
add r13d, dword [rsp + 8]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0xc]
mov ebx, dword [rsp]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 8]
add ebx, dword [rsp + 0x2c]
add eax, ebx
mov dword [rsp + 8], eax
add r12d, 0xe9b5dba5
add r12d, dword [rsp + 0xc]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x10]
mov ebx, dword [rsp + 4]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0xc]
add ebx, dword [rsp + 0x30]
add eax, ebx
mov dword [rsp + 0xc], eax
add r11d, 0x3956c25b
add r11d, dword [rsp + 0x10]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x14]
mov ebx, dword [rsp + 8]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x14]
mov edx, dword [rsp + 8]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x10]
add ebx, dword [rsp + 0x34]
add eax, ebx
mov dword [rsp + 0x10], eax
add r10d, 0x59f111f1
add r10d, dword [rsp + 0x14]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x18]
mov ebx, dword [rsp + 0xc]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp + 0xc]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x14]
add ebx, dword [rsp + 0x38]
add eax, ebx
mov dword [rsp + 0x14], eax
add r9d, 0x923f82a4
add r9d, dword [rsp + 0x18]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x1c]
mov ebx, dword [rsp + 0x10]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 0x10]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x18]
add ebx, dword [rsp + 0x3c]
add eax, ebx
mov dword [rsp + 0x18], eax
add r8d, 0xab1c5ed5
add r8d, dword [rsp + 0x1c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp + 0x20]
mov ebx, dword [rsp + 0x14]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x14]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x1c]
add ebx, dword [rsp]
add eax, ebx
mov dword [rsp + 0x1c], eax
add r15d, 0xd807aa98
add r15d, dword [rsp + 0x20]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x18]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x18]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x20]
add ebx, dword [rsp + 4]
add eax, ebx
mov dword [rsp + 0x20], eax
add r14d, 0x12835b01
add r14d, dword [rsp + 0x24]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x1c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x1c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x24]
add ebx, dword [rsp + 8]
add eax, ebx
mov dword [rsp + 0x24], eax
add r13d, 0x243185be
add r13d, dword [rsp + 0x28]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x20]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x28]
add ebx, dword [rsp + 0xc]
add eax, ebx
mov dword [rsp + 0x28], eax
add r12d, 0x550c7dc3
add r12d, dword [rsp + 0x2c]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x24]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x24]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x2c]
add ebx, dword [rsp + 0x10]
add eax, ebx
mov dword [rsp + 0x2c], eax
add r11d, 0x72be5d74
add r11d, dword [rsp + 0x30]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x28]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x28]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x30]
add ebx, dword [rsp + 0x14]
add eax, ebx
mov dword [rsp + 0x30], eax
add r10d, 0x80deb1fe
add r10d, dword [rsp + 0x34]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x2c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x2c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x34]
add ebx, dword [rsp + 0x18]
add eax, ebx
mov dword [rsp + 0x34], eax
add r9d, 0x9bdc06a7
add r9d, dword [rsp + 0x38]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x30]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x38]
add ebx, dword [rsp + 0x1c]
add eax, ebx
mov dword [rsp + 0x38], eax
add r8d, 0xc19bf174
add r8d, dword [rsp + 0x3c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp]
mov ebx, dword [rsp + 0x34]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp]
mov edx, dword [rsp + 0x34]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x3c]
add ebx, dword [rsp + 0x20]
add eax, ebx
mov dword [rsp + 0x3c], eax
add r15d, 0xe49b69c1
add r15d, dword [rsp]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 4]
mov ebx, dword [rsp + 0x38]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 4]
mov edx, dword [rsp + 0x38]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp]
add ebx, dword [rsp + 0x24]
add eax, ebx
mov dword [rsp], eax
add r14d, 0xefbe4786
add r14d, dword [rsp + 4]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 8]
mov ebx, dword [rsp + 0x3c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 0x3c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 4]
add ebx, dword [rsp + 0x28]
add eax, ebx
mov dword [rsp + 4], eax
add r13d, 0xfc19dc6
add r13d, dword [rsp + 8]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0xc]
mov ebx, dword [rsp]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 8]
add ebx, dword [rsp + 0x2c]
add eax, ebx
mov dword [rsp + 8], eax
add r12d, 0x240ca1cc
add r12d, dword [rsp + 0xc]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x10]
mov ebx, dword [rsp + 4]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0xc]
add ebx, dword [rsp + 0x30]
add eax, ebx
mov dword [rsp + 0xc], eax
add r11d, 0x2de92c6f
add r11d, dword [rsp + 0x10]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x14]
mov ebx, dword [rsp + 8]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x14]
mov edx, dword [rsp + 8]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x10]
add ebx, dword [rsp + 0x34]
add eax, ebx
mov dword [rsp + 0x10], eax
add r10d, 0x4a7484aa
add r10d, dword [rsp + 0x14]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x18]
mov ebx, dword [rsp + 0xc]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp + 0xc]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x14]
add ebx, dword [rsp + 0x38]
add eax, ebx
mov dword [rsp + 0x14], eax
add r9d, 0x5cb0a9dc
add r9d, dword [rsp + 0x18]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x1c]
mov ebx, dword [rsp + 0x10]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 0x10]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x18]
add ebx, dword [rsp + 0x3c]
add eax, ebx
mov dword [rsp + 0x18], eax
add r8d, 0x76f988da
add r8d, dword [rsp + 0x1c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp + 0x20]
mov ebx, dword [rsp + 0x14]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x14]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x1c]
add ebx, dword [rsp]
add eax, ebx
mov dword [rsp + 0x1c], eax
add r15d, 0x983e5152
add r15d, dword [rsp + 0x20]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x18]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x18]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x20]
add ebx, dword [rsp + 4]
add eax, ebx
mov dword [rsp + 0x20], eax
add r14d, 0xa831c66d
add r14d, dword [rsp + 0x24]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x1c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x1c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x24]
add ebx, dword [rsp + 8]
add eax, ebx
mov dword [rsp + 0x24], eax
add r13d, 0xb00327c8
add r13d, dword [rsp + 0x28]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x20]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x28]
add ebx, dword [rsp + 0xc]
add eax, ebx
mov dword [rsp + 0x28], eax
add r12d, 0xbf597fc7
add r12d, dword [rsp + 0x2c]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x24]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x24]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x2c]
add ebx, dword [rsp + 0x10]
add eax, ebx
mov dword [rsp + 0x2c], eax
add r11d, 0xc6e00bf3
add r11d, dword [rsp + 0x30]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x28]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x28]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x30]
add ebx, dword [rsp + 0x14]
add eax, ebx
mov dword [rsp + 0x30], eax
add r10d, 0xd5a79147
add r10d, dword [rsp + 0x34]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x2c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x2c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x34]
add ebx, dword [rsp + 0x18]
add eax, ebx
mov dword [rsp + 0x34], eax
add r9d, 0x6ca6351
add r9d, dword [rsp + 0x38]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x30]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x38]
add ebx, dword [rsp + 0x1c]
add eax, ebx
mov dword [rsp + 0x38], eax
add r8d, 0x14292967
add r8d, dword [rsp + 0x3c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp]
mov ebx, dword [rsp + 0x34]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp]
mov edx, dword [rsp + 0x34]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x3c]
add ebx, dword [rsp + 0x20]
add eax, ebx
mov dword [rsp + 0x3c], eax
add r15d, 0x27b70a85
add r15d, dword [rsp]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 4]
mov ebx, dword [rsp + 0x38]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 4]
mov edx, dword [rsp + 0x38]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp]
add ebx, dword [rsp + 0x24]
add eax, ebx
mov dword [rsp], eax
add r14d, 0x2e1b2138
add r14d, dword [rsp + 4]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 8]
mov ebx, dword [rsp + 0x3c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 0x3c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 4]
add ebx, dword [rsp + 0x28]
add eax, ebx
mov dword [rsp + 4], eax
add r13d, 0x4d2c6dfc
add r13d, dword [rsp + 8]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0xc]
mov ebx, dword [rsp]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 8]
add ebx, dword [rsp + 0x2c]
add eax, ebx
mov dword [rsp + 8], eax
add r12d, 0x53380d13
add r12d, dword [rsp + 0xc]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x10]
mov ebx, dword [rsp + 4]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0xc]
add ebx, dword [rsp + 0x30]
add eax, ebx
mov dword [rsp + 0xc], eax
add r11d, 0x650a7354
add r11d, dword [rsp + 0x10]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x14]
mov ebx, dword [rsp + 8]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x14]
mov edx, dword [rsp + 8]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x10]
add ebx, dword [rsp + 0x34]
add eax, ebx
mov dword [rsp + 0x10], eax
add r10d, 0x766a0abb
add r10d, dword [rsp + 0x14]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x18]
mov ebx, dword [rsp + 0xc]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp + 0xc]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x14]
add ebx, dword [rsp + 0x38]
add eax, ebx
mov dword [rsp + 0x14], eax
add r9d, 0x81c2c92e
add r9d, dword [rsp + 0x18]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x1c]
mov ebx, dword [rsp + 0x10]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 0x10]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x18]
add ebx, dword [rsp + 0x3c]
add eax, ebx
mov dword [rsp + 0x18], eax
add r8d, 0x92722c85
add r8d, dword [rsp + 0x1c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp + 0x20]
mov ebx, dword [rsp + 0x14]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x14]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x1c]
add ebx, dword [rsp]
add eax, ebx
mov dword [rsp + 0x1c], eax
add r15d, 0xa2bfe8a1
add r15d, dword [rsp + 0x20]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
mov eax, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x18]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x18]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x20]
add ebx, dword [rsp + 4]
add eax, ebx
mov dword [rsp + 0x20], eax
add r14d, 0xa81a664b
add r14d, dword [rsp + 0x24]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
mov eax, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x1c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x1c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x24]
add ebx, dword [rsp + 8]
add eax, ebx
mov dword [rsp + 0x24], eax
add r13d, 0xc24b8b70
add r13d, dword [rsp + 0x28]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
mov eax, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x20]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x28]
add ebx, dword [rsp + 0xc]
add eax, ebx
mov dword [rsp + 0x28], eax
add r12d, 0xc76c51a3
add r12d, dword [rsp + 0x2c]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
mov eax, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x24]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x24]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x2c]
add ebx, dword [rsp + 0x10]
add eax, ebx
mov dword [rsp + 0x2c], eax
add r11d, 0xd192e819
add r11d, dword [rsp + 0x30]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x28]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x28]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x30]
add ebx, dword [rsp + 0x14]
add eax, ebx
mov dword [rsp + 0x30], eax
add r10d, 0xd6990624
add r10d, dword [rsp + 0x34]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
mov eax, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x2c]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x2c]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x34]
add ebx, dword [rsp + 0x18]
add eax, ebx
mov dword [rsp + 0x34], eax
add r9d, 0xf40e3585
add r9d, dword [rsp + 0x38]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
mov eax, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x30]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x38]
add ebx, dword [rsp + 0x1c]
add eax, ebx
mov dword [rsp + 0x38], eax
add r8d, 0x106aa070
add r8d, dword [rsp + 0x3c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
mov eax, dword [rsp]
mov ebx, dword [rsp + 0x34]
shr eax, 3
shr ebx, 0xa
mov ecx, dword [rsp]
mov edx, dword [rsp + 0x34]
ror ecx, 7
ror edx, 0x11
xor eax, ecx
xor ebx, edx
ror ecx, 0xb
ror edx, 2
xor eax, ecx
xor ebx, edx
add eax, dword [rsp + 0x3c]
add ebx, dword [rsp + 0x20]
add eax, ebx
mov dword [rsp + 0x3c], eax
add r15d, 0x19a4c116
add r15d, dword [rsp]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
add r14d, 0x1e376c08
add r14d, dword [rsp + 4]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
add r13d, 0x2748774c
add r13d, dword [rsp + 8]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
add r12d, 0x34b0bcb5
add r12d, dword [rsp + 0xc]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
add r11d, 0x391c0cb3
add r11d, dword [rsp + 0x10]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
add r10d, 0x4ed8aa4a
add r10d, dword [rsp + 0x14]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
add r9d, 0x5b9cca4f
add r9d, dword [rsp + 0x18]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
add r8d, 0x682e6ff3
add r8d, dword [rsp + 0x1c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
add r15d, 0x748f82ee
add r15d, dword [rsp + 0x20]
mov ecx, r12d
mov edx, r12d
ror ecx, 6
mov ebx, r12d
push r12
not edx
ror r12d, 0xb
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 0xe
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r15d, ebx
add r11d, r15d
mov ecx, r8d
mov edx, r8d
ror ecx, 2
mov ebx, r8d
push r8
xor edx, r9d
ror r8d, 0xd
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 9
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r15d, ebx
add r14d, 0x78a5636f
add r14d, dword [rsp + 0x24]
mov ecx, r11d
mov edx, r11d
ror ecx, 6
mov ebx, r11d
push r11
not edx
ror r11d, 0xb
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 0xe
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r14d, ebx
add r10d, r14d
mov ecx, r15d
mov edx, r15d
ror ecx, 2
mov ebx, r15d
push r15
xor edx, r8d
ror r15d, 0xd
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 9
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r14d, ebx
add r13d, 0x84c87814
add r13d, dword [rsp + 0x28]
mov ecx, r10d
mov edx, r10d
ror ecx, 6
mov ebx, r10d
push r10
not edx
ror r10d, 0xb
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 0xe
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r13d, ebx
add r9d, r13d
mov ecx, r14d
mov edx, r14d
ror ecx, 2
mov ebx, r14d
push r14
xor edx, r15d
ror r14d, 0xd
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 9
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r13d, ebx
add r12d, 0x8cc70208
add r12d, dword [rsp + 0x2c]
mov ecx, r9d
mov edx, r9d
ror ecx, 6
mov ebx, r9d
push r9
not edx
ror r9d, 0xb
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 0xe
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r12d, ebx
add r8d, r12d
mov ecx, r13d
mov edx, r13d
ror ecx, 2
mov ebx, r13d
push r13
xor edx, r14d
ror r13d, 0xd
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 9
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r12d, ebx
add r11d, 0x90befffa
add r11d, dword [rsp + 0x30]
mov ecx, r8d
mov edx, r8d
ror ecx, 6
mov ebx, r8d
push r8
not edx
ror r8d, 0xb
and ebx, r9d
and edx, r10d
xor ecx, r8d
ror r8d, 0xe
xor edx, ebx
xor ecx, r8d
pop r8
lea rbx, [rcx + rdx]
add r11d, ebx
add r15d, r11d
mov ecx, r12d
mov edx, r12d
ror ecx, 2
mov ebx, r12d
push r12
xor edx, r13d
ror r12d, 0xd
and ebx, r13d
and edx, r14d
xor ecx, r12d
ror r12d, 9
xor edx, ebx
xor ecx, r12d
pop r12
lea rbx, [rcx + rdx]
add r11d, ebx
add r10d, 0xa4506ceb
add r10d, dword [rsp + 0x34]
mov ecx, r15d
mov edx, r15d
ror ecx, 6
mov ebx, r15d
push r15
not edx
ror r15d, 0xb
and ebx, r8d
and edx, r9d
xor ecx, r15d
ror r15d, 0xe
xor edx, ebx
xor ecx, r15d
pop r15
lea rbx, [rcx + rdx]
add r10d, ebx
add r14d, r10d
mov ecx, r11d
mov edx, r11d
ror ecx, 2
mov ebx, r11d
push r11
xor edx, r12d
ror r11d, 0xd
and ebx, r12d
and edx, r13d
xor ecx, r11d
ror r11d, 9
xor edx, ebx
xor ecx, r11d
pop r11
lea rbx, [rcx + rdx]
add r10d, ebx
add r9d, 0xbef9a3f7
add r9d, dword [rsp + 0x38]
mov ecx, r14d
mov edx, r14d
ror ecx, 6
mov ebx, r14d
push r14
not edx
ror r14d, 0xb
and ebx, r15d
and edx, r8d
xor ecx, r14d
ror r14d, 0xe
xor edx, ebx
xor ecx, r14d
pop r14
lea rbx, [rcx + rdx]
add r9d, ebx
add r13d, r9d
mov ecx, r10d
mov edx, r10d
ror ecx, 2
mov ebx, r10d
push r10
xor edx, r11d
ror r10d, 0xd
and ebx, r11d
and edx, r12d
xor ecx, r10d
ror r10d, 9
xor edx, ebx
xor ecx, r10d
pop r10
lea rbx, [rcx + rdx]
add r9d, ebx
add r8d, 0xc67178f2
add r8d, dword [rsp + 0x3c]
mov ecx, r13d
mov edx, r13d
ror ecx, 6
mov ebx, r13d
push r13
not edx
ror r13d, 0xb
and ebx, r14d
and edx, r15d
xor ecx, r13d
ror r13d, 0xe
xor edx, ebx
xor ecx, r13d
pop r13
lea rbx, [rcx + rdx]
add r8d, ebx
add r12d, r8d
mov ecx, r9d
mov edx, r9d
ror ecx, 2
mov ebx, r9d
push r9
xor edx, r10d
ror r9d, 0xd
and ebx, r10d
and edx, r11d
xor ecx, r9d
ror r9d, 9
xor edx, ebx
xor ecx, r9d
pop r9
lea rbx, [rcx + rdx]
add r8d, ebx
add dword [rdi], r8d
add dword [rdi + 4], r9d
add dword [rdi + 8], r10d
add dword [rdi + 0xc], r11d
add dword [rdi + 0x10], r12d
add dword [rdi + 0x14], r13d
add dword [rdi + 0x18], r14d
add dword [rdi + 0x1c], r15d
add rsi, 0x40
sub qword [rsp + 0x40], 0x40
jg 0x180004667
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret