Function at 0x514980
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea r12, [rsp - 0x1a0]
cmp r12, qword [r14 + 0x10]
jbe 0x51820f
sub rsp, 0x220
mov qword [rsp + 0x218], rbp
lea rbp, [rsp + 0x218]
cmp byte [0x0073fa22], 1
je 0x51713f
mov rsi, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x238]
shr rdx, 6
shl rdx, 6
lea rdi, [rsi + rdx]
mov qword [rsp + 0x100], rdi
cmp rsi, rdi
je 0x51712f
mov rbp, qword [rsp + 0x228]
mov r8d, dword [rbp]
mov r9d, dword [rbp + 4]
mov r10d, dword [rbp + 8]
mov r11d, dword [rbp + 0xc]
mov r12d, dword [rbp + 0x10]
mov r13d, dword [rbp + 0x14]
mov r14d, dword [rbp + 0x18]
mov r15d, dword [rbp + 0x1c]
mov rbp, rsp
mov eax, dword [rsi]
bswap eax
mov dword [rbp], eax
add r15d, eax
mov eax, r12d
add r15d, 0x428a2f98
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rsi + 4]
bswap eax
mov dword [rbp + 4], eax
add r14d, eax
mov eax, r11d
add r14d, 0x71374491
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rsi + 8]
bswap eax
mov dword [rbp + 8], eax
add r13d, eax
mov eax, r10d
add r13d, 0xb5c0fbcf
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rsi + 0xc]
bswap eax
mov dword [rbp + 0xc], eax
add r12d, eax
mov eax, r9d
add r12d, 0xe9b5dba5
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rsi + 0x10]
bswap eax
mov dword [rbp + 0x10], eax
add r11d, eax
mov eax, r8d
add r11d, 0x3956c25b
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rsi + 0x14]
bswap eax
mov dword [rbp + 0x14], eax
add r10d, eax
mov eax, r15d
add r10d, 0x59f111f1
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rsi + 0x18]
bswap eax
mov dword [rbp + 0x18], eax
add r9d, eax
mov eax, r14d
add r9d, 0x923f82a4
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rsi + 0x1c]
bswap eax
mov dword [rbp + 0x1c], eax
add r8d, eax
mov eax, r13d
add r8d, 0xab1c5ed5
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rsi + 0x20]
bswap eax
mov dword [rbp + 0x20], eax
add r15d, eax
mov eax, r12d
add r15d, 0xd807aa98
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rsi + 0x24]
bswap eax
mov dword [rbp + 0x24], eax
add r14d, eax
mov eax, r11d
add r14d, 0x12835b01
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rsi + 0x28]
bswap eax
mov dword [rbp + 0x28], eax
add r13d, eax
mov eax, r10d
add r13d, 0x243185be
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rsi + 0x2c]
bswap eax
mov dword [rbp + 0x2c], eax
add r12d, eax
mov eax, r9d
add r12d, 0x550c7dc3
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rsi + 0x30]
bswap eax
mov dword [rbp + 0x30], eax
add r11d, eax
mov eax, r8d
add r11d, 0x72be5d74
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rsi + 0x34]
bswap eax
mov dword [rbp + 0x34], eax
add r10d, eax
mov eax, r15d
add r10d, 0x80deb1fe
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rsi + 0x38]
bswap eax
mov dword [rbp + 0x38], eax
add r9d, eax
mov eax, r14d
add r9d, 0x9bdc06a7
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rsi + 0x3c]
bswap eax
mov dword [rbp + 0x3c], eax
add r8d, eax
mov eax, r13d
add r8d, 0xc19bf174
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0x38]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 4]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x24]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp]
add eax, ebx
mov dword [rbp + 0x40], eax
add r15d, eax
mov eax, r12d
add r15d, 0xe49b69c1
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0x3c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 8]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x28]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 4]
add eax, ebx
mov dword [rbp + 0x44], eax
add r14d, eax
mov eax, r11d
add r14d, 0xefbe4786
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0x40]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xc]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x2c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 8]
add eax, ebx
mov dword [rbp + 0x48], eax
add r13d, eax
mov eax, r10d
add r13d, 0xfc19dc6
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0x44]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x10]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x30]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xc]
add eax, ebx
mov dword [rbp + 0x4c], eax
add r12d, eax
mov eax, r9d
add r12d, 0x240ca1cc
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0x48]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x14]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x34]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x10]
add eax, ebx
mov dword [rbp + 0x50], eax
add r11d, eax
mov eax, r8d
add r11d, 0x2de92c6f
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0x4c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x18]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x38]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x14]
add eax, ebx
mov dword [rbp + 0x54], eax
add r10d, eax
mov eax, r15d
add r10d, 0x4a7484aa
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0x50]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x1c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x3c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x18]
add eax, ebx
mov dword [rbp + 0x58], eax
add r9d, eax
mov eax, r14d
add r9d, 0x5cb0a9dc
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0x54]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x20]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x40]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x1c]
add eax, ebx
mov dword [rbp + 0x5c], eax
add r8d, eax
mov eax, r13d
add r8d, 0x76f988da
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0x58]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x24]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x44]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x20]
add eax, ebx
mov dword [rbp + 0x60], eax
add r15d, eax
mov eax, r12d
add r15d, 0x983e5152
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0x5c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x28]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x48]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x24]
add eax, ebx
mov dword [rbp + 0x64], eax
add r14d, eax
mov eax, r11d
add r14d, 0xa831c66d
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0x60]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x2c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x4c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x28]
add eax, ebx
mov dword [rbp + 0x68], eax
add r13d, eax
mov eax, r10d
add r13d, 0xb00327c8
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0x64]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x30]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x50]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x2c]
add eax, ebx
mov dword [rbp + 0x6c], eax
add r12d, eax
mov eax, r9d
add r12d, 0xbf597fc7
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0x68]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x34]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x54]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x30]
add eax, ebx
mov dword [rbp + 0x70], eax
add r11d, eax
mov eax, r8d
add r11d, 0xc6e00bf3
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0x6c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x38]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x58]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x34]
add eax, ebx
mov dword [rbp + 0x74], eax
add r10d, eax
mov eax, r15d
add r10d, 0xd5a79147
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0x70]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x3c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x5c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x38]
add eax, ebx
mov dword [rbp + 0x78], eax
add r9d, eax
mov eax, r14d
add r9d, 0x6ca6351
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0x74]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x40]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x60]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x3c]
add eax, ebx
mov dword [rbp + 0x7c], eax
add r8d, eax
mov eax, r13d
add r8d, 0x14292967
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0x78]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x44]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x64]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x40]
add eax, ebx
mov dword [rbp + 0x80], eax
add r15d, eax
mov eax, r12d
add r15d, 0x27b70a85
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0x7c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x48]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x68]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x44]
add eax, ebx
mov dword [rbp + 0x84], eax
add r14d, eax
mov eax, r11d
add r14d, 0x2e1b2138
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0x80]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x4c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x6c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x48]
add eax, ebx
mov dword [rbp + 0x88], eax
add r13d, eax
mov eax, r10d
add r13d, 0x4d2c6dfc
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0x84]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x50]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x70]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x4c]
add eax, ebx
mov dword [rbp + 0x8c], eax
add r12d, eax
mov eax, r9d
add r12d, 0x53380d13
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0x88]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x54]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x74]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x50]
add eax, ebx
mov dword [rbp + 0x90], eax
add r11d, eax
mov eax, r8d
add r11d, 0x650a7354
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0x8c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x58]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x78]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x54]
add eax, ebx
mov dword [rbp + 0x94], eax
add r10d, eax
mov eax, r15d
add r10d, 0x766a0abb
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0x90]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x5c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x7c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x58]
add eax, ebx
mov dword [rbp + 0x98], eax
add r9d, eax
mov eax, r14d
add r9d, 0x81c2c92e
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0x94]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x60]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x80]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x5c]
add eax, ebx
mov dword [rbp + 0x9c], eax
add r8d, eax
mov eax, r13d
add r8d, 0x92722c85
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0x98]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x64]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x84]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x60]
add eax, ebx
mov dword [rbp + 0xa0], eax
add r15d, eax
mov eax, r12d
add r15d, 0xa2bfe8a1
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0x9c]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x68]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x88]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x64]
add eax, ebx
mov dword [rbp + 0xa4], eax
add r14d, eax
mov eax, r11d
add r14d, 0xa81a664b
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0xa0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x6c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x8c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x68]
add eax, ebx
mov dword [rbp + 0xa8], eax
add r13d, eax
mov eax, r10d
add r13d, 0xc24b8b70
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0xa4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x70]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x90]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x6c]
add eax, ebx
mov dword [rbp + 0xac], eax
add r12d, eax
mov eax, r9d
add r12d, 0xc76c51a3
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0xa8]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x74]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x94]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x70]
add eax, ebx
mov dword [rbp + 0xb0], eax
add r11d, eax
mov eax, r8d
add r11d, 0xd192e819
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0xac]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x78]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x98]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x74]
add eax, ebx
mov dword [rbp + 0xb4], eax
add r10d, eax
mov eax, r15d
add r10d, 0xd6990624
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0xb0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x7c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0x9c]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x78]
add eax, ebx
mov dword [rbp + 0xb8], eax
add r9d, eax
mov eax, r14d
add r9d, 0xf40e3585
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0xb4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x80]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xa0]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x7c]
add eax, ebx
mov dword [rbp + 0xbc], eax
add r8d, eax
mov eax, r13d
add r8d, 0x106aa070
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0xb8]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x84]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xa4]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x80]
add eax, ebx
mov dword [rbp + 0xc0], eax
add r15d, eax
mov eax, r12d
add r15d, 0x19a4c116
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0xbc]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x88]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xa8]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x84]
add eax, ebx
mov dword [rbp + 0xc4], eax
add r14d, eax
mov eax, r11d
add r14d, 0x1e376c08
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0xc0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x8c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xac]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x88]
add eax, ebx
mov dword [rbp + 0xc8], eax
add r13d, eax
mov eax, r10d
add r13d, 0x2748774c
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0xc4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x90]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xb0]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x8c]
add eax, ebx
mov dword [rbp + 0xcc], eax
add r12d, eax
mov eax, r9d
add r12d, 0x34b0bcb5
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0xc8]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x94]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xb4]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x90]
add eax, ebx
mov dword [rbp + 0xd0], eax
add r11d, eax
mov eax, r8d
add r11d, 0x391c0cb3
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0xcc]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x98]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xb8]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x94]
add eax, ebx
mov dword [rbp + 0xd4], eax
add r10d, eax
mov eax, r15d
add r10d, 0x4ed8aa4a
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0xd0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0x9c]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xbc]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x98]
add eax, ebx
mov dword [rbp + 0xd8], eax
add r9d, eax
mov eax, r14d
add r9d, 0x5b9cca4f
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0xd4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xa0]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xc0]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0x9c]
add eax, ebx
mov dword [rbp + 0xdc], eax
add r8d, eax
mov eax, r13d
add r8d, 0x682e6ff3
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov eax, dword [rbp + 0xd8]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xa4]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xc4]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xa0]
add eax, ebx
mov dword [rbp + 0xe0], eax
add r15d, eax
mov eax, r12d
add r15d, 0x748f82ee
mov ecx, r12d
ror eax, 6
mov edx, r12d
ror ecx, 0xb
xor eax, ecx
mov ecx, r12d
ror edx, 0x19
and ecx, r13d
xor edx, eax
mov eax, r12d
not eax
add r15d, edx
and eax, r14d
xor eax, ecx
add eax, r15d
mov edi, r8d
mov ebx, r10d
ror edi, 2
mov edx, r8d
and ebx, r9d
ror edx, 0xd
mov ecx, r8d
and ecx, r10d
xor edi, edx
xor ebx, ecx
mov edx, r8d
mov ecx, r9d
ror edx, 0x16
and ecx, r8d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r15d, ebx
add r11d, eax
add r15d, eax
mov eax, dword [rbp + 0xdc]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xa8]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xc8]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xa4]
add eax, ebx
mov dword [rbp + 0xe4], eax
add r14d, eax
mov eax, r11d
add r14d, 0x78a5636f
mov ecx, r11d
ror eax, 6
mov edx, r11d
ror ecx, 0xb
xor eax, ecx
mov ecx, r11d
ror edx, 0x19
and ecx, r12d
xor edx, eax
mov eax, r11d
not eax
add r14d, edx
and eax, r13d
xor eax, ecx
add eax, r14d
mov edi, r15d
mov ebx, r9d
ror edi, 2
mov edx, r15d
and ebx, r8d
ror edx, 0xd
mov ecx, r15d
and ecx, r9d
xor edi, edx
xor ebx, ecx
mov edx, r15d
mov ecx, r8d
ror edx, 0x16
and ecx, r15d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r14d, ebx
add r10d, eax
add r14d, eax
mov eax, dword [rbp + 0xe0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xac]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xcc]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xa8]
add eax, ebx
mov dword [rbp + 0xe8], eax
add r13d, eax
mov eax, r10d
add r13d, 0x84c87814
mov ecx, r10d
ror eax, 6
mov edx, r10d
ror ecx, 0xb
xor eax, ecx
mov ecx, r10d
ror edx, 0x19
and ecx, r11d
xor edx, eax
mov eax, r10d
not eax
add r13d, edx
and eax, r12d
xor eax, ecx
add eax, r13d
mov edi, r14d
mov ebx, r8d
ror edi, 2
mov edx, r14d
and ebx, r15d
ror edx, 0xd
mov ecx, r14d
and ecx, r8d
xor edi, edx
xor ebx, ecx
mov edx, r14d
mov ecx, r15d
ror edx, 0x16
and ecx, r14d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r13d, ebx
add r9d, eax
add r13d, eax
mov eax, dword [rbp + 0xe4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xb0]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xd0]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xac]
add eax, ebx
mov dword [rbp + 0xec], eax
add r12d, eax
mov eax, r9d
add r12d, 0x8cc70208
mov ecx, r9d
ror eax, 6
mov edx, r9d
ror ecx, 0xb
xor eax, ecx
mov ecx, r9d
ror edx, 0x19
and ecx, r10d
xor edx, eax
mov eax, r9d
not eax
add r12d, edx
and eax, r11d
xor eax, ecx
add eax, r12d
mov edi, r13d
mov ebx, r15d
ror edi, 2
mov edx, r13d
and ebx, r14d
ror edx, 0xd
mov ecx, r13d
and ecx, r15d
xor edi, edx
xor ebx, ecx
mov edx, r13d
mov ecx, r14d
ror edx, 0x16
and ecx, r13d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r12d, ebx
add r8d, eax
add r12d, eax
mov eax, dword [rbp + 0xe8]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xb4]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xd4]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xb0]
add eax, ebx
mov dword [rbp + 0xf0], eax
add r11d, eax
mov eax, r8d
add r11d, 0x90befffa
mov ecx, r8d
ror eax, 6
mov edx, r8d
ror ecx, 0xb
xor eax, ecx
mov ecx, r8d
ror edx, 0x19
and ecx, r9d
xor edx, eax
mov eax, r8d
not eax
add r11d, edx
and eax, r10d
xor eax, ecx
add eax, r11d
mov edi, r12d
mov ebx, r14d
ror edi, 2
mov edx, r12d
and ebx, r13d
ror edx, 0xd
mov ecx, r12d
and ecx, r14d
xor edi, edx
xor ebx, ecx
mov edx, r12d
mov ecx, r13d
ror edx, 0x16
and ecx, r12d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r11d, ebx
add r15d, eax
add r11d, eax
mov eax, dword [rbp + 0xec]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xb8]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xd8]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xb4]
add eax, ebx
mov dword [rbp + 0xf4], eax
add r10d, eax
mov eax, r15d
add r10d, 0xa4506ceb
mov ecx, r15d
ror eax, 6
mov edx, r15d
ror ecx, 0xb
xor eax, ecx
mov ecx, r15d
ror edx, 0x19
and ecx, r8d
xor edx, eax
mov eax, r15d
not eax
add r10d, edx
and eax, r9d
xor eax, ecx
add eax, r10d
mov edi, r11d
mov ebx, r13d
ror edi, 2
mov edx, r11d
and ebx, r12d
ror edx, 0xd
mov ecx, r11d
and ecx, r13d
xor edi, edx
xor ebx, ecx
mov edx, r11d
mov ecx, r12d
ror edx, 0x16
and ecx, r11d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r10d, ebx
add r14d, eax
add r10d, eax
mov eax, dword [rbp + 0xf0]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xbc]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xdc]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xb8]
add eax, ebx
mov dword [rbp + 0xf8], eax
add r9d, eax
mov eax, r14d
add r9d, 0xbef9a3f7
mov ecx, r14d
ror eax, 6
mov edx, r14d
ror ecx, 0xb
xor eax, ecx
mov ecx, r14d
ror edx, 0x19
and ecx, r15d
xor edx, eax
mov eax, r14d
not eax
add r9d, edx
and eax, r8d
xor eax, ecx
add eax, r9d
mov edi, r10d
mov ebx, r12d
ror edi, 2
mov edx, r10d
and ebx, r11d
ror edx, 0xd
mov ecx, r10d
and ecx, r12d
xor edi, edx
xor ebx, ecx
mov edx, r10d
mov ecx, r11d
ror edx, 0x16
and ecx, r10d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r9d, ebx
add r13d, eax
add r9d, eax
mov eax, dword [rbp + 0xf4]
mov ecx, eax
ror eax, 0x11
mov edx, ecx
ror ecx, 0x13
shr edx, 0xa
mov ebx, dword [rbp + 0xc0]
xor eax, ecx
mov ecx, ebx
xor eax, edx
ror ebx, 7
mov edx, ecx
shr edx, 3
ror ecx, 0x12
add eax, dword [rbp + 0xe0]
xor ebx, ecx
xor ebx, edx
add ebx, dword [rbp + 0xbc]
add eax, ebx
mov dword [rbp + 0xfc], eax
add r8d, eax
mov eax, r13d
add r8d, 0xc67178f2
mov ecx, r13d
ror eax, 6
mov edx, r13d
ror ecx, 0xb
xor eax, ecx
mov ecx, r13d
ror edx, 0x19
and ecx, r14d
xor edx, eax
mov eax, r13d
not eax
add r8d, edx
and eax, r15d
xor eax, ecx
add eax, r8d
mov edi, r9d
mov ebx, r11d
ror edi, 2
mov edx, r9d
and ebx, r10d
ror edx, 0xd
mov ecx, r9d
and ecx, r11d
xor edi, edx
xor ebx, ecx
mov edx, r9d
mov ecx, r10d
ror edx, 0x16
and ecx, r9d
xor ebx, ecx
xor edi, edx
add ebx, edi
mov r8d, ebx
add r12d, eax
add r8d, eax
mov rbp, qword [rsp + 0x228]
add r8d, dword [rbp]
mov dword [rbp], r8d
add r9d, dword [rbp + 4]
mov dword [rbp + 4], r9d
add r10d, dword [rbp + 8]
mov dword [rbp + 8], r10d
add r11d, dword [rbp + 0xc]
mov dword [rbp + 0xc], r11d
add r12d, dword [rbp + 0x10]
mov dword [rbp + 0x10], r12d
add r13d, dword [rbp + 0x14]
mov dword [rbp + 0x14], r13d
add r14d, dword [rbp + 0x18]
mov dword [rbp + 0x18], r14d
add r15d, dword [rbp + 0x1c]
mov dword [rbp + 0x1c], r15d
add rsi, 0x40
cmp rsi, qword [rsp + 0x100]
jb 0x514a1b
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov rsi, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x238]
lea rdx, [rdi + rdx - 0x40]
mov qword [rsp + 0x200], rdx
cmp rdx, rdi
je 0x5181df
mov eax, dword [rsi]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 0x10]
mov r9d, dword [rsi + 0x14]
mov r10d, dword [rsi + 0x18]
mov r11d, dword [rsi + 0x1c]
vmovdqu ymm0, ymmword [rdi]
vmovdqu ymm1, ymmword [rdi + 0x20]
vmovdqu ymm2, ymmword [rdi + 0x40]
vmovdqu ymm3, ymmword [rdi + 0x60]
vmovdqu ymm13, ymmword [0x005dd200]
vpshufb ymm0, ymm0, ymm13
vpshufb ymm1, ymm1, ymm13
vpshufb ymm2, ymm2, ymm13
vpshufb ymm3, ymm3, ymm13
vperm2i128 ymm4, ymm0, ymm2, 0x20
vperm2i128 ymm5, ymm0, ymm2, 0x31
vperm2i128 ymm6, ymm1, ymm3, 0x20
vperm2i128 ymm7, ymm1, ymm3, 0x31
lea rbp, [0x005ded60]
add rdi, 0x40
mov qword [rsp + 0x208], rdi
xor rsi, rsi
vpaddd ymm9, ymm4, ymmword [rbp + rsi]
vmovdqu ymmword [rsp + rsi], ymm9
mov edi, eax
rorx r13d, edx, 0x19
rorx r14d, edx, 0xb
add r11d, dword [rsp + rsi]
or edi, ecx
vpalignr ymm0, ymm7, ymm6, 4
mov r15d, r9d
rorx r12d, eax, 0xd
xor r13d, r14d
xor r15d, r10d
vpaddd ymm0, ymm0, ymm4
rorx r14d, edx, 6
and r15d, edx
xor r13d, r14d
rorx r14d, eax, 0x16
add r8d, r11d
and edi, ebx
vpalignr ymm1, ymm5, ymm4, 4
xor r14d, r12d
rorx r12d, eax, 2
xor r15d, r10d
vpsrld ymm2, ymm1, 7
xor r14d, r12d
mov r12d, eax
and r12d, ecx
add r15d, r13d
vpslld ymm3, ymm1, 0x19
or edi, r12d
add r11d, r14d
add r8d, r15d
vpor ymm3, ymm3, ymm2
vpsrld ymm2, ymm1, 0x12
add r11d, r15d
add r11d, edi
mov edi, r11d
rorx r13d, r8d, 0x19
rorx r14d, r8d, 0xb
add r10d, dword [rsp + rsi + 4]
or edi, ebx
vpsrld ymm8, ymm1, 3
mov r15d, edx
rorx r12d, r11d, 0xd
xor r13d, r14d
xor r15d, r9d
rorx r14d, r8d, 6
xor r13d, r14d
rorx r14d, r11d, 0x16
and r15d, r8d
add ecx, r10d
vpslld ymm1, ymm1, 0xe
and edi, eax
xor r14d, r12d
vpxor ymm3, ymm3, ymm1
rorx r12d, r11d, 2
xor r15d, r9d
vpxor ymm3, ymm3, ymm2
xor r14d, r12d
mov r12d, r11d
and r12d, ebx
add r15d, r13d
vpxor ymm1, ymm3, ymm8
vpshufd ymm2, ymm7, 0xfa
or edi, r12d
add r10d, r14d
vpaddd ymm0, ymm0, ymm1
add ecx, r15d
add r10d, r15d
add r10d, edi
vpsrld ymm8, ymm2, 0xa
mov edi, r10d
rorx r13d, ecx, 0x19
add r9d, dword [rsp + rsi + 8]
vpsrlq ymm3, ymm2, 0x13
rorx r14d, ecx, 0xb
or edi, eax
mov r15d, r8d
xor r15d, edx
rorx r12d, r10d, 0xd
xor r13d, r14d
vpsrlq ymm2, ymm2, 0x11
and r15d, ecx
rorx r14d, ecx, 6
vpxor ymm2, ymm2, ymm3
add ebx, r9d
and edi, r11d
xor r13d, r14d
rorx r14d, r10d, 0x16
vpxor ymm8, ymm8, ymm2
xor r15d, edx
vpshufb ymm8, ymm8, ymmword [0x005dd6c0]
xor r14d, r12d
rorx r12d, r10d, 2
vpaddd ymm0, ymm0, ymm8
xor r14d, r12d
mov r12d, r10d
and r12d, eax
add r15d, r13d
vpshufd ymm2, ymm0, 0x50
or edi, r12d
add r9d, r14d
add ebx, r15d
add r9d, r15d
add r9d, edi
mov edi, r9d
rorx r13d, ebx, 0x19
rorx r14d, ebx, 0xb
add edx, dword [rsp + rsi + 0xc]
or edi, r11d
vpsrld ymm11, ymm2, 0xa
mov r15d, ecx
rorx r12d, r9d, 0xd
xor r13d, r14d
xor r15d, r8d
vpsrlq ymm3, ymm2, 0x13
rorx r14d, ebx, 6
and r15d, ebx
add eax, edx
and edi, r10d
vpsrlq ymm2, ymm2, 0x11
xor r13d, r14d
xor r15d, r8d
vpxor ymm2, ymm2, ymm3
rorx r14d, r9d, 0x16
add r15d, r13d
vpxor ymm11, ymm11, ymm2
xor r14d, r12d
add eax, r15d
rorx r12d, r9d, 2
vpshufb ymm11, ymm11, ymmword [0x005dd6e0]
vpaddd ymm4, ymm11, ymm0
xor r14d, r12d
mov r12d, r9d
and r12d, r11d
or edi, r12d
add edx, r14d
add edx, r15d
add edx, edi
vpaddd ymm9, ymm5, ymmword [rbp + rsi + 0x20]
vmovdqu ymmword [rsp + rsi + 0x20], ymm9
mov edi, edx
rorx r13d, eax, 0x19
rorx r14d, eax, 0xb
add r8d, dword [rsp + rsi + 0x20]
or edi, r10d
vpalignr ymm0, ymm4, ymm7, 4
mov r15d, ebx
rorx r12d, edx, 0xd
xor r13d, r14d
xor r15d, ecx
vpaddd ymm0, ymm0, ymm5
rorx r14d, eax, 6
and r15d, eax
xor r13d, r14d
rorx r14d, edx, 0x16
add r11d, r8d
and edi, r9d
vpalignr ymm1, ymm6, ymm5, 4
xor r14d, r12d
rorx r12d, edx, 2
xor r15d, ecx
vpsrld ymm2, ymm1, 7
xor r14d, r12d
mov r12d, edx
and r12d, r10d
add r15d, r13d
vpslld ymm3, ymm1, 0x19
or edi, r12d
add r8d, r14d
add r11d, r15d
vpor ymm3, ymm3, ymm2
vpsrld ymm2, ymm1, 0x12
add r8d, r15d
add r8d, edi
mov edi, r8d
rorx r13d, r11d, 0x19
rorx r14d, r11d, 0xb
add ecx, dword [rsp + rsi + 0x24]
or edi, r9d
vpsrld ymm8, ymm1, 3
mov r15d, eax
rorx r12d, r8d, 0xd
xor r13d, r14d
xor r15d, ebx
rorx r14d, r11d, 6
xor r13d, r14d
rorx r14d, r8d, 0x16
and r15d, r11d
add r10d, ecx
vpslld ymm1, ymm1, 0xe
and edi, edx
xor r14d, r12d
vpxor ymm3, ymm3, ymm1
rorx r12d, r8d, 2
xor r15d, ebx
vpxor ymm3, ymm3, ymm2
xor r14d, r12d
mov r12d, r8d
and r12d, r9d
add r15d, r13d
vpxor ymm1, ymm3, ymm8
vpshufd ymm2, ymm4, 0xfa
or edi, r12d
add ecx, r14d
vpaddd ymm0, ymm0, ymm1
add r10d, r15d
add ecx, r15d
add ecx, edi
vpsrld ymm8, ymm2, 0xa
mov edi, ecx
rorx r13d, r10d, 0x19
add ebx, dword [rsp + rsi + 0x28]
vpsrlq ymm3, ymm2, 0x13
rorx r14d, r10d, 0xb
or edi, edx
mov r15d, r11d
xor r15d, eax
rorx r12d, ecx, 0xd
xor r13d, r14d
vpsrlq ymm2, ymm2, 0x11
and r15d, r10d
rorx r14d, r10d, 6
vpxor ymm2, ymm2, ymm3
add r9d, ebx
and edi, r8d
xor r13d, r14d
rorx r14d, ecx, 0x16
vpxor ymm8, ymm8, ymm2
xor r15d, eax
vpshufb ymm8, ymm8, ymmword [0x005dd6c0]
xor r14d, r12d
rorx r12d, ecx, 2
vpaddd ymm0, ymm0, ymm8
xor r14d, r12d
mov r12d, ecx
and r12d, edx
add r15d, r13d
vpshufd ymm2, ymm0, 0x50
or edi, r12d
add ebx, r14d
add r9d, r15d
add ebx, r15d
add ebx, edi
mov edi, ebx
rorx r13d, r9d, 0x19
rorx r14d, r9d, 0xb
add eax, dword [rsp + rsi + 0x2c]
or edi, r8d
vpsrld ymm11, ymm2, 0xa
mov r15d, r10d
rorx r12d, ebx, 0xd
xor r13d, r14d
xor r15d, r11d
vpsrlq ymm3, ymm2, 0x13
rorx r14d, r9d, 6
and r15d, r9d
add edx, eax
and edi, ecx
vpsrlq ymm2, ymm2, 0x11
xor r13d, r14d
xor r15d, r11d
vpxor ymm2, ymm2, ymm3
rorx r14d, ebx, 0x16
add r15d, r13d
vpxor ymm11, ymm11, ymm2
xor r14d, r12d
add edx, r15d
rorx r12d, ebx, 2
vpshufb ymm11, ymm11, ymmword [0x005dd6e0]
vpaddd ymm5, ymm11, ymm0
xor r14d, r12d
mov r12d, ebx
and r12d, r8d
or edi, r12d
add eax, r14d
add eax, r15d
add eax, edi
vpaddd ymm9, ymm6, ymmword [rbp + rsi + 0x40]
vmovdqu ymmword [rsp + rsi + 0x40], ymm9
mov edi, eax
rorx r13d, edx, 0x19
rorx r14d, edx, 0xb
add r11d, dword [rsp + rsi + 0x40]
or edi, ecx
vpalignr ymm0, ymm5, ymm4, 4
mov r15d, r9d
rorx r12d, eax, 0xd
xor r13d, r14d
xor r15d, r10d
vpaddd ymm0, ymm0, ymm6
rorx r14d, edx, 6
and r15d, edx
xor r13d, r14d
rorx r14d, eax, 0x16
add r8d, r11d
and edi, ebx
vpalignr ymm1, ymm7, ymm6, 4
xor r14d, r12d
rorx r12d, eax, 2
xor r15d, r10d
vpsrld ymm2, ymm1, 7
xor r14d, r12d
mov r12d, eax
and r12d, ecx
add r15d, r13d
vpslld ymm3, ymm1, 0x19
or edi, r12d
add r11d, r14d
add r8d, r15d
vpor ymm3, ymm3, ymm2
vpsrld ymm2, ymm1, 0x12
add r11d, r15d
add r11d, edi
mov edi, r11d
rorx r13d, r8d, 0x19
rorx r14d, r8d, 0xb
add r10d, dword [rsp + rsi + 0x44]
or edi, ebx
vpsrld ymm8, ymm1, 3
mov r15d, edx
rorx r12d, r11d, 0xd
xor r13d, r14d
xor r15d, r9d
rorx r14d, r8d, 6
xor r13d, r14d
rorx r14d, r11d, 0x16
and r15d, r8d
add ecx, r10d
vpslld ymm1, ymm1, 0xe
and edi, eax
xor r14d, r12d
vpxor ymm3, ymm3, ymm1
rorx r12d, r11d, 2
xor r15d, r9d
vpxor ymm3, ymm3, ymm2
xor r14d, r12d
mov r12d, r11d
and r12d, ebx
add r15d, r13d
vpxor ymm1, ymm3, ymm8
vpshufd ymm2, ymm5, 0xfa
or edi, r12d
add r10d, r14d
vpaddd ymm0, ymm0, ymm1
add ecx, r15d
add r10d, r15d
add r10d, edi
vpsrld ymm8, ymm2, 0xa
mov edi, r10d
rorx r13d, ecx, 0x19
add r9d, dword [rsp + rsi + 0x48]
vpsrlq ymm3, ymm2, 0x13
rorx r14d, ecx, 0xb
or edi, eax
mov r15d, r8d
xor r15d, edx
rorx r12d, r10d, 0xd
xor r13d, r14d
vpsrlq ymm2, ymm2, 0x11
and r15d, ecx
rorx r14d, ecx, 6
vpxor ymm2, ymm2, ymm3
add ebx, r9d
and edi, r11d
xor r13d, r14d
rorx r14d, r10d, 0x16
vpxor ymm8, ymm8, ymm2
xor r15d, edx
vpshufb ymm8, ymm8, ymmword [0x005dd6c0]
xor r14d, r12d
rorx r12d, r10d, 2
vpaddd ymm0, ymm0, ymm8
xor r14d, r12d
mov r12d, r10d
and r12d, eax
add r15d, r13d
vpshufd ymm2, ymm0, 0x50
or edi, r12d
add r9d, r14d
add ebx, r15d
add r9d, r15d
add r9d, edi
mov edi, r9d
rorx r13d, ebx, 0x19
rorx r14d, ebx, 0xb
add edx, dword [rsp + rsi + 0x4c]
or edi, r11d
vpsrld ymm11, ymm2, 0xa
mov r15d, ecx
rorx r12d, r9d, 0xd
xor r13d, r14d
xor r15d, r8d
vpsrlq ymm3, ymm2, 0x13
rorx r14d, ebx, 6
and r15d, ebx
add eax, edx
and edi, r10d
vpsrlq ymm2, ymm2, 0x11
xor r13d, r14d
xor r15d, r8d
vpxor ymm2, ymm2, ymm3
rorx r14d, r9d, 0x16
add r15d, r13d
vpxor ymm11, ymm11, ymm2
xor r14d, r12d
add eax, r15d
rorx r12d, r9d, 2
vpshufb ymm11, ymm11, ymmword [0x005dd6e0]
vpaddd ymm6, ymm11, ymm0
xor r14d, r12d
mov r12d, r9d
and r12d, r11d
or edi, r12d
add edx, r14d
add edx, r15d
add edx, edi
vpaddd ymm9, ymm7, ymmword [rbp + rsi + 0x60]
vmovdqu ymmword [rsp + rsi + 0x60], ymm9
mov edi, edx
rorx r13d, eax, 0x19
rorx r14d, eax, 0xb
add r8d, dword [rsp + rsi + 0x60]
or edi, r10d
vpalignr ymm0, ymm6, ymm5, 4
mov r15d, ebx
rorx r12d, edx, 0xd
xor r13d, r14d
xor r15d, ecx
vpaddd ymm0, ymm0, ymm7
rorx r14d, eax, 6
and r15d, eax
xor r13d, r14d
rorx r14d, edx, 0x16
add r11d, r8d
and edi, r9d
vpalignr ymm1, ymm4, ymm7, 4
xor r14d, r12d
rorx r12d, edx, 2
xor r15d, ecx
vpsrld ymm2, ymm1, 7
xor r14d, r12d
mov r12d, edx
and r12d, r10d
add r15d, r13d
vpslld ymm3, ymm1, 0x19
or edi, r12d
add r8d, r14d
add r11d, r15d
vpor ymm3, ymm3, ymm2
vpsrld ymm2, ymm1, 0x12
add r8d, r15d
add r8d, edi
mov edi, r8d
rorx r13d, r11d, 0x19
rorx r14d, r11d, 0xb
add ecx, dword [rsp + rsi + 0x64]
or edi, r9d
vpsrld ymm8, ymm1, 3
mov r15d, eax
rorx r12d, r8d, 0xd
xor r13d, r14d
xor r15d, ebx
rorx r14d, r11d, 6
xor r13d, r14d
rorx r14d, r8d, 0x16
and r15d, r11d
add r10d, ecx
vpslld ymm1, ymm1, 0xe
and edi, edx
xor r14d, r12d
vpxor ymm3, ymm3, ymm1
rorx r12d, r8d, 2
xor r15d, ebx
vpxor ymm3, ymm3, ymm2
xor r14d, r12d
mov r12d, r8d
and r12d, r9d
add r15d, r13d
vpxor ymm1, ymm3, ymm8
vpshufd ymm2, ymm6, 0xfa
or edi, r12d
add ecx, r14d
vpaddd ymm0, ymm0, ymm1
add r10d, r15d
add ecx, r15d
add ecx, edi
vpsrld ymm8, ymm2, 0xa
mov edi, ecx
rorx r13d, r10d, 0x19
add ebx, dword [rsp + rsi + 0x68]
vpsrlq ymm3, ymm2, 0x13
rorx r14d, r10d, 0xb
or edi, edx
mov r15d, r11d
xor r15d, eax
rorx r12d, ecx, 0xd
xor r13d, r14d
vpsrlq ymm2, ymm2, 0x11
and r15d, r10d
rorx r14d, r10d, 6
vpxor ymm2, ymm2, ymm3
add r9d, ebx
and edi, r8d
xor r13d, r14d
rorx r14d, ecx, 0x16
vpxor ymm8, ymm8, ymm2
xor r15d, eax
vpshufb ymm8, ymm8, ymmword [0x005dd6c0]
xor r14d, r12d
rorx r12d, ecx, 2
vpaddd ymm0, ymm0, ymm8
xor r14d, r12d
mov r12d, ecx
and r12d, edx
add r15d, r13d
vpshufd ymm2, ymm0, 0x50
or edi, r12d
add ebx, r14d
add r9d, r15d
add ebx, r15d
add ebx, edi
mov edi, ebx
rorx r13d, r9d, 0x19
rorx r14d, r9d, 0xb
add eax, dword [rsp + rsi + 0x6c]
or edi, r8d
vpsrld ymm11, ymm2, 0xa
mov r15d, r10d
rorx r12d, ebx, 0xd
xor r13d, r14d
xor r15d, r11d
vpsrlq ymm3, ymm2, 0x13
rorx r14d, r9d, 6
and r15d, r9d
add edx, eax
and edi, ecx
vpsrlq ymm2, ymm2, 0x11
xor r13d, r14d
xor r15d, r11d
vpxor ymm2, ymm2, ymm3
rorx r14d, ebx, 0x16
add r15d, r13d
vpxor ymm11, ymm11, ymm2
xor r14d, r12d
add edx, r15d
rorx r12d, ebx, 2
vpshufb ymm11, ymm11, ymmword [0x005dd6e0]
vpaddd ymm7, ymm11, ymm0
xor r14d, r12d
mov r12d, ebx
and r12d, r8d
or edi, r12d
add eax, r14d
add eax, r15d
add eax, edi
add rsi, 0x80
cmp rsi, 0x180
jb 0x5171e5
vpaddd ymm9, ymm4, ymmword [rbp + rsi]
vmovdqu ymmword [rsp + rsi], ymm9
mov r15d, r9d
rorx r13d, edx, 0x19
rorx r14d, edx, 0xb
xor r15d, r10d
xor r13d, r14d
rorx r14d, edx, 6
and r15d, edx
xor r13d, r14d
rorx r12d, eax, 0xd
xor r15d, r10d
rorx r14d, eax, 0x16
mov edi, eax
xor r14d, r12d
rorx r12d, eax, 2
add r11d, dword [rsp + rsi]
or edi, ecx
xor r14d, r12d
mov r12d, eax
and edi, ebx
and r12d, ecx
add r15d, r13d
add r8d, r11d
or edi, r12d
add r11d, r14d
add r8d, r15d
add r11d, r15d
mov r15d, edx
rorx r13d, r8d, 0x19
rorx r14d, r8d, 0xb
xor r15d, r9d
xor r13d, r14d
rorx r14d, r8d, 6
and r15d, r8d
add r11d, edi
xor r13d, r14d
rorx r12d, r11d, 0xd
xor r15d, r9d
rorx r14d, r11d, 0x16
mov edi, r11d
xor r14d, r12d
rorx r12d, r11d, 2
add r10d, dword [rsp + rsi + 4]
or edi, ebx
xor r14d, r12d
mov r12d, r11d
and edi, eax
and r12d, ebx
add r15d, r13d
add ecx, r10d
or edi, r12d
add r10d, r14d
add ecx, r15d
add r10d, r15d
mov r15d, r8d
rorx r13d, ecx, 0x19
rorx r14d, ecx, 0xb
xor r15d, edx
xor r13d, r14d
rorx r14d, ecx, 6
and r15d, ecx
add r10d, edi
xor r13d, r14d
rorx r12d, r10d, 0xd
xor r15d, edx
rorx r14d, r10d, 0x16
mov edi, r10d
xor r14d, r12d
rorx r12d, r10d, 2
add r9d, dword [rsp + rsi + 8]
or edi, eax
xor r14d, r12d
mov r12d, r10d
and edi, r11d
and r12d, eax
add r15d, r13d
add ebx, r9d
or edi, r12d
add r9d, r14d
add ebx, r15d
add r9d, r15d
mov r15d, ecx
rorx r13d, ebx, 0x19
rorx r14d, ebx, 0xb
xor r15d, r8d
xor r13d, r14d
rorx r14d, ebx, 6
and r15d, ebx
add r9d, edi
xor r13d, r14d
rorx r12d, r9d, 0xd
xor r15d, r8d
rorx r14d, r9d, 0x16
mov edi, r9d
xor r14d, r12d
rorx r12d, r9d, 2
add edx, dword [rsp + rsi + 0xc]
or edi, r11d
xor r14d, r12d
mov r12d, r9d
and edi, r10d
and r12d, r11d
add r15d, r13d
add eax, edx
or edi, r12d
add edx, r14d
add eax, r15d
add edx, r15d
add edx, edi
vpaddd ymm9, ymm5, ymmword [rbp + rsi + 0x20]
vmovdqu ymmword [rsp + rsi + 0x20], ymm9
mov r15d, ebx
rorx r13d, eax, 0x19
rorx r14d, eax, 0xb
xor r15d, ecx
xor r13d, r14d
rorx r14d, eax, 6
and r15d, eax
xor r13d, r14d
rorx r12d, edx, 0xd
xor r15d, ecx
rorx r14d, edx, 0x16
mov edi, edx
xor r14d, r12d
rorx r12d, edx, 2
add r8d, dword [rsp + rsi + 0x20]
or edi, r10d
xor r14d, r12d
mov r12d, edx
and edi, r9d
and r12d, r10d
add r15d, r13d
add r11d, r8d
or edi, r12d
add r8d, r14d
add r11d, r15d
add r8d, r15d
mov r15d, eax
rorx r13d, r11d, 0x19
rorx r14d, r11d, 0xb
xor r15d, ebx
xor r13d, r14d
rorx r14d, r11d, 6
and r15d, r11d
add r8d, edi
xor r13d, r14d
rorx r12d, r8d, 0xd
xor r15d, ebx
rorx r14d, r8d, 0x16
mov edi, r8d
xor r14d, r12d
rorx r12d, r8d, 2
add ecx, dword [rsp + rsi + 0x24]
or edi, r9d
xor r14d, r12d
mov r12d, r8d
and edi, edx
and r12d, r9d
add r15d, r13d
add r10d, ecx
or edi, r12d
add ecx, r14d
add r10d, r15d
add ecx, r15d
mov r15d, r11d
rorx r13d, r10d, 0x19
rorx r14d, r10d, 0xb
xor r15d, eax
xor r13d, r14d
rorx r14d, r10d, 6
and r15d, r10d
add ecx, edi
xor r13d, r14d
rorx r12d, ecx, 0xd
xor r15d, eax
rorx r14d, ecx, 0x16
mov edi, ecx
xor r14d, r12d
rorx r12d, ecx, 2
add ebx, dword [rsp + rsi + 0x28]
or edi, edx
xor r14d, r12d
mov r12d, ecx
and edi, r8d
and r12d, edx
add r15d, r13d
add r9d, ebx
or edi, r12d
add ebx, r14d
add r9d, r15d
add ebx, r15d
mov r15d, r10d
rorx r13d, r9d, 0x19
rorx r14d, r9d, 0xb
xor r15d, r11d
xor r13d, r14d
rorx r14d, r9d, 6
and r15d, r9d
add ebx, edi
xor r13d, r14d
rorx r12d, ebx, 0xd
xor r15d, r11d
rorx r14d, ebx, 0x16
mov edi, ebx
xor r14d, r12d
rorx r12d, ebx, 2
add eax, dword [rsp + rsi + 0x2c]
or edi, r8d
xor r14d, r12d
mov r12d, ebx
and edi, ecx
and r12d, r8d
add r15d, r13d
add edx, eax
or edi, r12d
add eax, r14d
add edx, r15d
add eax, r15d
add eax, edi
add rsi, 0x40
vmovdqu ymm4, ymm6
vmovdqu ymm5, ymm7
cmp rsi, 0x200
jb 0x517a8f
mov rsi, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x208]
add dword [rsi], eax
mov eax, dword [rsi]
add dword [rsi + 4], ebx
mov ebx, dword [rsi + 4]
add dword [rsi + 8], ecx
mov ecx, dword [rsi + 8]
add dword [rsi + 0xc], r8d
mov r8d, dword [rsi + 0xc]
add dword [rsi + 0x10], edx
mov edx, dword [rsi + 0x10]
add dword [rsi + 0x14], r9d
mov r9d, dword [rsi + 0x14]
add dword [rsi + 0x18], r10d
mov r10d, dword [rsi + 0x18]
add dword [rsi + 0x1c], r11d
mov r11d, dword [rsi + 0x1c]
cmp qword [rsp + 0x200], rdi
jb 0x5181fc
xor rsi, rsi
mov r15d, r9d
rorx r13d, edx, 0x19
rorx r14d, edx, 0xb
xor r15d, r10d
xor r13d, r14d
rorx r14d, edx, 6
and r15d, edx
xor r13d, r14d
rorx r12d, eax, 0xd
xor r15d, r10d
rorx r14d, eax, 0x16
mov edi, eax
xor r14d, r12d
rorx r12d, eax, 2
add r11d, dword [rsp + rsi + 0x10]
or edi, ecx
xor r14d, r12d
mov r12d, eax
and edi, ebx
and r12d, ecx
add r15d, r13d
add r8d, r11d
or edi, r12d
add r11d, r14d
add r8d, r15d
add r11d, r15d
mov r15d, edx
rorx r13d, r8d, 0x19
rorx r14d, r8d, 0xb
xor r15d, r9d
xor r13d, r14d
rorx r14d, r8d, 6
and r15d, r8d
add r11d, edi
xor r13d, r14d
rorx r12d, r11d, 0xd
xor r15d, r9d
rorx r14d, r11d, 0x16
mov edi, r11d
xor r14d, r12d
rorx r12d, r11d, 2
add r10d, dword [rsp + rsi + 0x14]
or edi, ebx
xor r14d, r12d
mov r12d, r11d
and edi, eax
and r12d, ebx
add r15d, r13d
add ecx, r10d
or edi, r12d
add r10d, r14d
add ecx, r15d
add r10d, r15d
mov r15d, r8d
rorx r13d, ecx, 0x19
rorx r14d, ecx, 0xb
xor r15d, edx
xor r13d, r14d
rorx r14d, ecx, 6
and r15d, ecx
add r10d, edi
xor r13d, r14d
rorx r12d, r10d, 0xd
xor r15d, edx
rorx r14d, r10d, 0x16
mov edi, r10d
xor r14d, r12d
rorx r12d, r10d, 2
add r9d, dword [rsp + rsi + 0x18]
or edi, eax
xor r14d, r12d
mov r12d, r10d
and edi, r11d
and r12d, eax
add r15d, r13d
add ebx, r9d
or edi, r12d
add r9d, r14d
add ebx, r15d
add r9d, r15d
mov r15d, ecx
rorx r13d, ebx, 0x19
rorx r14d, ebx, 0xb
xor r15d, r8d
xor r13d, r14d
rorx r14d, ebx, 6
and r15d, ebx
add r9d, edi
xor r13d, r14d
rorx r12d, r9d, 0xd
xor r15d, r8d
rorx r14d, r9d, 0x16
mov edi, r9d
xor r14d, r12d
rorx r12d, r9d, 2
add edx, dword [rsp + rsi + 0x1c]
or edi, r11d
xor r14d, r12d
mov r12d, r9d
and edi, r10d
and r12d, r11d
add r15d, r13d
add eax, edx
or edi, r12d
add edx, r14d
add eax, r15d
add edx, r15d
add edx, edi
mov r15d, ebx
rorx r13d, eax, 0x19
rorx r14d, eax, 0xb
xor r15d, ecx
xor r13d, r14d
rorx r14d, eax, 6
and r15d, eax
xor r13d, r14d
rorx r12d, edx, 0xd
xor r15d, ecx
rorx r14d, edx, 0x16
mov edi, edx
xor r14d, r12d
rorx r12d, edx, 2
add r8d, dword [rsp + rsi + 0x30]
or edi, r10d
xor r14d, r12d
mov r12d, edx
and edi, r9d
and r12d, r10d
add r15d, r13d
add r11d, r8d
or edi, r12d
add r8d, r14d
add r11d, r15d
add r8d, r15d
mov r15d, eax
rorx r13d, r11d, 0x19
rorx r14d, r11d, 0xb
xor r15d, ebx
xor r13d, r14d
rorx r14d, r11d, 6
and r15d, r11d
add r8d, edi
xor r13d, r14d
rorx r12d, r8d, 0xd
xor r15d, ebx
rorx r14d, r8d, 0x16
mov edi, r8d
xor r14d, r12d
rorx r12d, r8d, 2
add ecx, dword [rsp + rsi + 0x34]
or edi, r9d
xor r14d, r12d
mov r12d, r8d
and edi, edx
and r12d, r9d
add r15d, r13d
add r10d, ecx
or edi, r12d
add ecx, r14d
add r10d, r15d
add ecx, r15d
mov r15d, r11d
rorx r13d, r10d, 0x19
rorx r14d, r10d, 0xb
xor r15d, eax
xor r13d, r14d
rorx r14d, r10d, 6
and r15d, r10d
add ecx, edi
xor r13d, r14d
rorx r12d, ecx, 0xd
xor r15d, eax
rorx r14d, ecx, 0x16
mov edi, ecx
xor r14d, r12d
rorx r12d, ecx, 2
add ebx, dword [rsp + rsi + 0x38]
or edi, edx
xor r14d, r12d
mov r12d, ecx
and edi, r8d
and r12d, edx
add r15d, r13d
add r9d, ebx
or edi, r12d
add ebx, r14d
add r9d, r15d
add ebx, r15d
mov r15d, r10d
rorx r13d, r9d, 0x19
rorx r14d, r9d, 0xb
xor r15d, r11d
xor r13d, r14d
rorx r14d, r9d, 6
and r15d, r9d
add ebx, edi
xor r13d, r14d
rorx r12d, ebx, 0xd
xor r15d, r11d
rorx r14d, ebx, 0x16
mov edi, ebx
xor r14d, r12d
rorx r12d, ebx, 2
add eax, dword [rsp + rsi + 0x3c]
or edi, r8d
xor r14d, r12d
mov r12d, ebx
and edi, ecx
and r12d, r8d
add r15d, r13d
add edx, eax
or edi, r12d
add eax, r14d
add edx, r15d
add eax, r15d
add eax, edi
add rsi, 0x40
cmp rsi, 0x200
jb 0x517e27
mov rsi, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x208]
add rdi, 0x40
add dword [rsi], eax
mov eax, dword [rsi]
add dword [rsi + 4], ebx
mov ebx, dword [rsi + 4]
add dword [rsi + 8], ecx
mov ecx, dword [rsi + 8]
add dword [rsi + 0xc], r8d
mov r8d, dword [rsi + 0xc]
add dword [rsi + 0x10], edx
mov edx, dword [rsi + 0x10]
add dword [rsi + 0x14], r9d
mov r9d, dword [rsi + 0x14]
add dword [rsi + 0x18], r10d
mov r10d, dword [rsi + 0x18]
add dword [rsi + 0x1c], r11d
mov r11d, dword [rsi + 0x1c]
cmp qword [rsp + 0x200], rdi
ja 0x517188
jb 0x5181fc
vmovdqu xmm4, xmmword [rdi]
vmovdqu xmm5, xmmword [rdi + 0x10]
vmovdqu xmm6, xmmword [rdi + 0x20]
vmovdqu xmm7, xmmword [rdi + 0x30]
vmovdqu ymm13, ymmword [0x005dd200]
vpshufb xmm4, xmm4, xmm13
vpshufb xmm5, xmm5, xmm13
vpshufb xmm6, xmm6, xmm13
vpshufb xmm7, xmm7, xmm13
lea rbp, [0x005ded60]
jmp 0x5171d6
mov eax, dword [rsi]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 0x10]
mov r9d, dword [rsi + 0x14]
mov r10d, dword [rsi + 0x18]
mov r11d, dword [rsi + 0x1c]
jmp 0x5181a4
vzeroupper
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
call fcn.0045f5e0
jmp fcn.00514980