Function at 0x150356a58
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
mov rax, qword [0x150012098]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rax, rcx
mov qword [rsp + 8], rcx
add rax, 8
lea r9, [rsp + 0x40]
lea r8, [rdx + 2]
mov qword [rsp + 0x10], rax
sub r9, rdx
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x18], xmm0
movups xmmword [rsp + 0x28], xmm1
movzx eax, byte [r8 - 1]
movzx ecx, byte [r8 - 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8]
shl ecx, 8
lea r8, [r8 + 4]
or ecx, eax
movzx eax, byte [r8 - 3]
shl ecx, 8
or ecx, eax
mov dword [r9 + r8 - 6], ecx
sub rdx, 1
jne 0x150356abc
lea r9, [rsp + 0x78]
lea r10d, [rdx + 0x30]
mov ecx, dword [r9]
mov r8d, ecx
mov edx, dword [r9 - 0x34]
lea r9, [r9 + 4]
mov eax, ecx
ror r8d, 0x13
shr ecx, 0xa
ror eax, 0x11
xor r8d, eax
mov eax, edx
xor r8d, ecx
ror eax, 7
mov ecx, edx
shr edx, 3
ror ecx, 0x12
xor ecx, eax
xor ecx, edx
add r8d, ecx
add r8d, dword [r9 - 0x3c]
add r8d, dword [r9 - 0x18]
mov dword [r9 + 4], r8d
sub r10, 1
jne 0x150356af6
mov edi, dword [rsp + 0x18]
mov r14d, dword [rsp + 0x28]
mov ecx, r14d
mov ebx, dword [rsp + 0x2c]
mov eax, r14d
mov r10d, dword [rsp + 0x30]
mov edx, ebx
mov r11d, dword [rsp + 0x1c]
xor edx, r10d
mov r9d, dword [rsp + 0x20]
and edx, r14d
mov r8d, dword [rsp + 0x34]
xor edx, r10d
mov r12d, dword [rsp + 0x24]
add r8d, 0x428a2f98
ror eax, 0xb
mov esi, r11d
ror ecx, 0x19
or esi, edi
xor ecx, eax
and esi, r9d
mov eax, r14d
ror eax, 6
xor ecx, eax
mov eax, edi
add ecx, dword [rsp + 0x40]
add edx, ecx
ror eax, 0xd
add r8d, edx
mov edx, edi
ror edx, 0x16
add r12d, r8d
xor edx, eax
mov ecx, r12d
ror ecx, 0x19
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, r11d
and eax, edi
or esi, eax
lea eax, [r8 + rdx]
mov edx, ebx
add esi, eax
lea r8d, [r10 + 0x71374491]
xor edx, r14d
mov eax, r12d
ror eax, 0xb
and edx, r12d
xor ecx, eax
xor edx, ebx
mov eax, r12d
ror eax, 6
xor ecx, eax
mov eax, esi
add ecx, dword [rsp + 0x44]
ror eax, 0xd
add edx, ecx
add r8d, edx
mov edx, esi
ror edx, 0x16
xor edx, eax
mov eax, esi
ror eax, 2
lea r15d, [r9 + r8]
xor edx, eax
mov r9d, esi
mov eax, esi
and eax, edi
or r9d, edi
and r9d, r11d
mov ecx, r15d
or r9d, eax
ror ecx, 0x19
lea eax, [r8 + rdx]
add r9d, eax
mov eax, r15d
ror eax, 0xb
xor ecx, eax
mov eax, r15d
ror eax, 6
xor ecx, eax
lea r8d, [rbx - 0x4a3f0431]
add ecx, dword [rsp + 0x48]
mov edx, r12d
xor edx, r14d
mov eax, r9d
ror eax, 0xd
and edx, r15d
xor edx, r14d
mov r10d, r9d
add edx, ecx
or r10d, esi
add r8d, edx
and r10d, edi
mov ecx, r9d
mov edx, r12d
ror ecx, 0x16
xor edx, r15d
xor ecx, eax
mov eax, r9d
ror eax, 2
lea r13d, [r11 + r8]
xor ecx, eax
and edx, r13d
xor edx, r12d
mov eax, r9d
and eax, esi
mov r11d, r9d
or r10d, eax
lea eax, [r8 + rcx]
mov ecx, r13d
add r10d, eax
ror ecx, 0x19
or r11d, r10d
lea r8d, [r14 - 0x164a245b]
and r11d, esi
mov eax, r13d
ror eax, 0xb
xor ecx, eax
mov eax, r13d
ror eax, 6
xor ecx, eax
mov eax, r10d
add ecx, dword [rsp + 0x4c]
add edx, ecx
ror eax, 0xd
add r8d, edx
mov ecx, r10d
ror ecx, 0x16
xor ecx, eax
mov eax, r10d
ror eax, 2
xor ecx, eax
lea r14d, [rdi + r8]
mov eax, r9d
mov dword [rsp], r14d
and eax, r10d
mov edx, r14d
or r11d, eax
ror edx, 0x19
lea eax, [r8 + rcx]
mov ecx, r15d
add r11d, eax
xor ecx, r13d
and ecx, r14d
mov eax, r14d
ror eax, 0xb
xor ecx, r15d
xor edx, eax
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x50]
add eax, r12d
add edx, 0x3956c25b
add ecx, eax
mov eax, r11d
add edx, ecx
mov ecx, r11d
ror ecx, 0x16
lea edi, [rsi + rdx]
ror eax, 0xd
mov ebx, r10d
xor ecx, eax
or ebx, r11d
and ebx, r9d
mov eax, r11d
ror eax, 2
mov r8d, edi
xor ecx, eax
xor r8d, r14d
mov eax, r10d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, edi
add ebx, eax
ror edx, 0x19
mov eax, edi
mov ecx, r13d
ror eax, 0xb
xor ecx, r14d
xor edx, eax
and ecx, edi
xor ecx, r13d
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x54]
add eax, r15d
add edx, 0x59f111f1
add ecx, eax
mov eax, ebx
ror eax, 2
add edx, ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 0x16
lea esi, [r9 + rdx]
xor ecx, eax
and r8d, esi
xor r8d, r14d
mov r9d, r11d
or r9d, ebx
mov eax, r11d
and eax, ebx
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
add r9d, eax
mov ecx, esi
ror ecx, 0x19
mov eax, esi
ror eax, 0xb
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, dword [rsp + 0x58]
add eax, 0x923f82a4
add ecx, eax
mov eax, r9d
ror eax, 2
add r8d, ecx
add r8d, r13d
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
lea r14d, [r10 + r8]
xor ecx, eax
mov r10d, ebx
mov eax, ebx
or r10d, r9d
and eax, r9d
and r10d, r11d
or r10d, eax
lea eax, [r8 + rcx]
add r10d, eax
mov r8d, dword [rsp]
mov ecx, r14d
ror ecx, 0x19
add r8d, 0xab1c5ed5
mov eax, r14d
mov edx, edi
ror eax, 0xb
xor edx, esi
xor ecx, eax
and edx, r14d
xor edx, edi
mov eax, r14d
ror eax, 6
xor ecx, eax
mov eax, r10d
add ecx, dword [rsp + 0x5c]
add edx, ecx
ror eax, 2
add r8d, edx
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
xor ecx, eax
lea r15d, [r11 + r8]
mov r11d, r9d
mov eax, r9d
and eax, r10d
or r11d, r10d
and r11d, ebx
mov edx, r15d
or r11d, eax
ror edx, 0x19
lea eax, [r8 + rcx]
mov ecx, esi
add r11d, eax
xor ecx, r14d
and ecx, r15d
mov eax, r15d
ror eax, 0xb
xor ecx, esi
xor edx, eax
mov r8d, r10d
or r8d, r11d
mov eax, r15d
ror eax, 6
and r8d, r9d
xor eax, edx
mov edx, dword [rsp + 0x60]
add eax, edi
add edx, 0xd807aa98
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
add ebx, edx
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
xor ecx, eax
mov eax, r10d
and eax, r11d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r8d, eax
ror edx, 0x19
mov eax, ebx
mov ecx, r14d
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, ebx
mov eax, ebx
xor ecx, r14d
ror eax, 6
xor eax, edx
add eax, esi
add ecx, eax
mov edx, dword [rsp + 0x64]
add edx, 0x12835b01
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 0x16
lea edi, [r9 + rdx]
xor ecx, eax
mov r9d, r11d
or r9d, r8d
mov eax, r11d
and eax, r8d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r9d, eax
ror edx, 0x19
mov eax, edi
mov ecx, r15d
ror eax, 0xb
xor ecx, ebx
xor edx, eax
and ecx, edi
xor ecx, r15d
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x68]
add eax, r14d
add edx, 0x243185be
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
lea esi, [r10 + rdx]
xor ecx, eax
mov r10d, r9d
or r10d, r8d
mov eax, r9d
and eax, r8d
and r10d, r11d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r10d, eax
ror edx, 0x19
mov eax, esi
mov ecx, ebx
ror eax, 0xb
xor ecx, edi
xor edx, eax
and ecx, esi
xor ecx, ebx
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x6c]
add eax, r15d
add edx, 0x550c7dc3
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea r14d, [r11 + rdx]
xor ecx, eax
mov r11d, r9d
mov eax, r9d
and eax, r10d
or r11d, r10d
and r11d, r8d
or r11d, eax
lea eax, [rdx + rcx]
add r11d, eax
mov ecx, edi
xor ecx, esi
mov eax, r14d
ror eax, 0xb
and ecx, r14d
xor ecx, edi
mov edx, r14d
ror edx, 0x19
xor edx, eax
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x70]
add eax, ebx
add edx, 0x72be5d74
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea ebx, [r8 + rdx]
xor ecx, eax
mov r8d, r10d
or r8d, r11d
mov eax, r10d
and eax, r11d
and r8d, r9d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r8d, eax
ror edx, 0x19
mov eax, ebx
mov ecx, esi
ror eax, 0xb
xor ecx, r14d
xor edx, eax
and ecx, ebx
xor ecx, esi
mov eax, ebx
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x74]
add eax, edi
add edx, 0x80deb1fe
add ecx, eax
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
lea edi, [r9 + rdx]
ror eax, 0x16
xor ecx, eax
mov r9d, r11d
or r9d, r8d
mov eax, r11d
and eax, r8d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r9d, eax
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov ecx, r14d
mov eax, edi
ror eax, 6
xor ecx, ebx
xor eax, edx
and ecx, edi
mov edx, dword [rsp + 0x78]
add eax, esi
xor ecx, r14d
add edx, 0x9bdc06a7
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
lea esi, [r10 + rdx]
xor ecx, eax
mov r10d, r8d
or r10d, r9d
mov eax, r8d
and eax, r9d
and r10d, r11d
or r10d, eax
lea eax, [rdx + rcx]
mov ecx, ebx
add r10d, eax
xor ecx, edi
and ecx, esi
mov eax, esi
ror eax, 0xb
xor ecx, ebx
mov edx, esi
ror edx, 0x19
xor edx, eax
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rsp + 0x7c]
add eax, r14d
add edx, 0xc19bf174
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
lea r14d, [r11 + rdx]
ror eax, 0x16
xor ecx, eax
mov r11d, r9d
or r11d, r10d
mov eax, r9d
and eax, r10d
and r11d, r8d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r11d, eax
ror edx, 0x19
mov eax, r14d
mov ecx, edi
ror eax, 0xb
xor ecx, esi
xor edx, eax
and ecx, r14d
xor ecx, edi
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x80]
add eax, ebx
add edx, 0xe49b69c1
add ecx, eax
add edx, ecx
lea ebx, [r8 + rdx]
mov r8d, r10d
mov ecx, r11d
ror ecx, 0xd
or r8d, r11d
and r8d, r9d
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r11d
ror eax, 0x16
xor ecx, eax
mov eax, r10d
and eax, r11d
or r8d, eax
lea eax, [rdx + rcx]
mov ecx, esi
add r8d, eax
xor ecx, r14d
and ecx, ebx
mov eax, ebx
ror eax, 0xb
xor ecx, esi
mov edx, ebx
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x7c]
add eax, edi
add edx, 0xefbe4786
add ecx, eax
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 0x16
lea edi, [r9 + rdx]
xor ecx, eax
mov r9d, r8d
or r9d, r11d
mov eax, r8d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r9d, eax
ror edx, 0x19
mov eax, edi
mov ecx, r14d
ror eax, 0xb
xor ecx, ebx
xor edx, eax
and ecx, edi
xor ecx, r14d
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x78]
add eax, esi
add edx, 0xfc19dc6
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
lea esi, [r10 + rdx]
ror eax, 0x16
xor ecx, eax
mov r10d, r8d
or r10d, r9d
mov eax, r8d
and r10d, r11d
and eax, r9d
or r10d, eax
lea eax, [rdx + rcx]
add r10d, eax
mov ecx, ebx
xor ecx, edi
mov eax, esi
ror eax, 0xb
and ecx, esi
xor ecx, ebx
mov edx, esi
ror edx, 0x19
xor edx, eax
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x74]
add eax, r14d
add edx, 0x240ca1cc
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea r14d, [r11 + rdx]
xor ecx, eax
mov r11d, r9d
or r11d, r10d
mov eax, r9d
and eax, r10d
and r11d, r8d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r11d, eax
ror edx, 0x19
mov eax, r14d
mov ecx, edi
ror eax, 0xb
xor ecx, esi
xor edx, eax
and ecx, r14d
xor ecx, edi
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x70]
add eax, ebx
add edx, 0x2de92c6f
add ecx, eax
mov ebx, r10d
add edx, ecx
or ebx, r11d
and ebx, r9d
mov ecx, r11d
ror ecx, 0x16
mov eax, r11d
ror eax, 0xd
xor ecx, eax
lea r15d, [r8 + rdx]
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r10d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r15d
add ebx, eax
ror edx, 0x19
mov eax, r15d
mov ecx, esi
ror eax, 0xb
xor edx, eax
mov eax, r15d
ror eax, 6
xor eax, edx
xor ecx, r14d
mov edx, dword [rbp - 0x6c]
lea r8d, [r14 + 0x76f988da]
add eax, edi
and ecx, r15d
xor ecx, esi
add edx, 0x4a7484aa
add ecx, eax
mov eax, ebx
add edx, ecx
ror eax, 0xd
mov ecx, ebx
ror ecx, 0x16
xor ecx, eax
mov eax, ebx
ror eax, 2
lea r12d, [r9 + rdx]
xor ecx, eax
mov r9d, r11d
or r9d, ebx
mov eax, r11d
and eax, ebx
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, r12d
add r9d, eax
ror edx, 0x19
mov eax, r12d
mov ecx, r14d
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, r12d
xor ecx, r14d
mov eax, r12d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x68]
add eax, esi
add edx, 0x5cb0a9dc
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
lea r13d, [r10 + rdx]
ror eax, 0x16
xor ecx, eax
mov r10d, r9d
or r10d, ebx
mov eax, r9d
and eax, ebx
and r10d, r11d
or r10d, eax
lea eax, [rdx + rcx]
mov ecx, r13d
add r10d, eax
ror ecx, 0x19
mov eax, r13d
mov edx, r15d
ror eax, 0xb
xor edx, r12d
xor ecx, eax
and edx, r13d
xor edx, r15d
mov eax, r13d
ror eax, 6
xor ecx, eax
mov eax, r10d
add ecx, dword [rbp - 0x64]
add edx, ecx
ror eax, 2
add r8d, edx
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
lea edi, [r11 + r8]
ror eax, 0x16
mov r11d, r9d
xor ecx, eax
or r11d, r10d
and r11d, ebx
mov eax, r9d
and eax, r10d
mov edx, edi
or r11d, eax
xor edx, r13d
lea eax, [r8 + rcx]
mov ecx, edi
add r11d, eax
ror ecx, 0x19
mov eax, edi
mov r8d, r12d
ror eax, 0xb
xor r8d, r13d
xor ecx, eax
and r8d, edi
xor r8d, r12d
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, dword [rbp - 0x60]
add eax, 0x983e5152
add ecx, eax
mov eax, r11d
add r8d, ecx
ror eax, 2
add r8d, r15d
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
xor ecx, eax
lea esi, [rbx + r8]
and edx, esi
mov ebx, r10d
or ebx, r11d
xor edx, r13d
and ebx, r9d
mov eax, r10d
and eax, r11d
or ebx, eax
lea eax, [r8 + rcx]
add ebx, eax
lea r8d, [r12 - 0x57ce3993]
mov eax, esi
mov ecx, esi
ror eax, 0xb
ror ecx, 0x19
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
add ecx, dword [rbp - 0x5c]
add edx, ecx
ror eax, 2
add r8d, edx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 0x16
lea r14d, [r9 + r8]
xor ecx, eax
mov r9d, r11d
mov eax, r11d
or r9d, ebx
and eax, ebx
and r9d, r10d
or r9d, eax
lea eax, [r8 + rcx]
add r9d, eax
mov ecx, r14d
ror ecx, 0x19
mov eax, r14d
ror eax, 0xb
xor ecx, eax
mov r8d, edi
xor r8d, esi
mov eax, r14d
ror eax, 6
and r8d, r14d
xor ecx, eax
xor r8d, edi
mov eax, dword [rbp - 0x58]
add eax, 0xb00327c8
add ecx, eax
mov eax, r9d
ror eax, 2
add r8d, ecx
add r8d, r13d
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
xor ecx, eax
lea r15d, [r10 + r8]
mov r10d, ebx
mov eax, ebx
and eax, r9d
or r10d, r9d
and r10d, r11d
mov edx, r15d
or r10d, eax
ror edx, 0x19
lea eax, [r8 + rcx]
mov ecx, esi
add r10d, eax
xor ecx, r14d
and ecx, r15d
mov eax, r15d
ror eax, 0xb
xor ecx, esi
xor edx, eax
mov r8d, r9d
or r8d, r10d
mov eax, r15d
ror eax, 6
and r8d, ebx
xor eax, edx
mov edx, dword [rbp - 0x54]
add eax, edi
add edx, 0xbf597fc7
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea edi, [r11 + rdx]
xor ecx, eax
mov eax, r9d
and eax, r10d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r8d, eax
ror edx, 0x19
mov eax, edi
mov ecx, r14d
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, edi
xor ecx, r14d
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x50]
add eax, esi
add edx, 0xc6e00bf3
add ecx, eax
add edx, ecx
add ebx, edx
mov r11d, r10d
or r11d, r8d
mov ecx, r8d
ror ecx, 0xd
and r11d, r9d
mov eax, r8d
ror eax, 2
xor ecx, eax
mov eax, r8d
ror eax, 0x16
xor ecx, eax
mov eax, r10d
and eax, r8d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r11d, eax
ror edx, 0x19
mov eax, ebx
mov ecx, r15d
ror eax, 0xb
xor ecx, edi
xor edx, eax
and ecx, ebx
xor ecx, r15d
mov eax, ebx
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x4c]
add eax, r14d
add edx, 0xd5a79147
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea esi, [r9 + rdx]
xor ecx, eax
mov r9d, r8d
or r9d, r11d
mov eax, r8d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r9d, eax
ror edx, 0x19
mov eax, esi
mov ecx, edi
ror eax, 0xb
xor ecx, ebx
xor edx, eax
and ecx, esi
xor ecx, edi
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x48]
add eax, r15d
add edx, 0x6ca6351
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
lea r14d, [r10 + rdx]
ror eax, 0x16
xor ecx, eax
mov r10d, r11d
or r10d, r9d
mov eax, r11d
and r10d, r8d
and eax, r9d
or r10d, eax
lea eax, [rdx + rcx]
add r10d, eax
mov ecx, ebx
xor ecx, esi
mov eax, r14d
ror eax, 0xb
and ecx, r14d
xor ecx, ebx
mov edx, r14d
ror edx, 0x19
xor edx, eax
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x44]
add eax, edi
add edx, 0x14292967
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea edi, [r8 + rdx]
xor ecx, eax
mov r8d, r9d
or r8d, r10d
mov eax, r9d
and eax, r10d
and r8d, r11d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r8d, eax
ror edx, 0x19
mov eax, edi
mov ecx, esi
ror eax, 0xb
xor ecx, r14d
xor edx, eax
and ecx, edi
xor ecx, esi
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x40]
add eax, ebx
add edx, 0x27b70a85
add ecx, eax
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
lea ebx, [r11 + rdx]
ror eax, 0x16
xor ecx, eax
mov r11d, r10d
or r11d, r8d
mov eax, r10d
and eax, r8d
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r11d, eax
ror edx, 0x19
mov eax, ebx
mov ecx, r14d
ror eax, 0xb
xor edx, eax
mov eax, ebx
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x3c]
add eax, esi
xor ecx, edi
add edx, 0x2e1b2138
and ecx, ebx
xor ecx, r14d
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea esi, [r9 + rdx]
xor ecx, eax
mov r9d, r8d
or r9d, r11d
mov eax, r8d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, edi
add r9d, eax
xor ecx, ebx
and ecx, esi
mov eax, esi
ror eax, 0xb
xor ecx, edi
mov edx, esi
ror edx, 0x19
xor edx, eax
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x38]
add eax, r14d
add edx, 0x4d2c6dfc
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
lea r14d, [r10 + rdx]
ror eax, 0x16
xor ecx, eax
mov r10d, r11d
or r10d, r9d
mov eax, r11d
and eax, r9d
and r10d, r8d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r10d, eax
ror edx, 0x19
mov eax, r14d
mov ecx, ebx
ror eax, 0xb
xor ecx, esi
xor edx, eax
and ecx, r14d
xor ecx, ebx
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x34]
add eax, edi
add edx, 0x53380d13
add ecx, eax
mov eax, r10d
add edx, ecx
mov ecx, r10d
ror ecx, 0xd
ror eax, 2
lea edi, [r8 + rdx]
xor ecx, eax
mov r8d, r9d
or r8d, r10d
mov eax, r10d
ror eax, 0x16
and r8d, r11d
xor ecx, eax
mov eax, r9d
and eax, r10d
or r8d, eax
lea eax, [rdx + rcx]
mov ecx, esi
add r8d, eax
xor ecx, r14d
and ecx, edi
mov eax, edi
ror eax, 0xb
xor ecx, esi
mov edx, edi
ror edx, 0x19
xor edx, eax
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x30]
add eax, ebx
add edx, 0x650a7354
add ecx, eax
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 0x16
lea ebx, [r11 + rdx]
xor ecx, eax
mov r11d, r10d
or r11d, r8d
mov eax, r10d
and eax, r8d
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, ebx
add r11d, eax
ror edx, 0x19
mov eax, ebx
mov ecx, r14d
ror eax, 0xb
xor ecx, edi
xor edx, eax
and ecx, ebx
xor ecx, r14d
mov eax, ebx
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x2c]
add eax, esi
add edx, 0x766a0abb
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
lea esi, [r9 + rdx]
ror eax, 0x16
xor ecx, eax
mov r9d, r8d
or r9d, r11d
mov eax, r8d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r9d, eax
ror edx, 0x19
mov ecx, edi
xor ecx, ebx
mov eax, esi
ror eax, 0xb
and ecx, esi
xor edx, eax
xor ecx, edi
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x28]
add eax, r14d
add edx, 0x81c2c92e
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
lea r14d, [r10 + rdx]
xor ecx, eax
mov r10d, r9d
or r10d, r11d
mov eax, r9d
and eax, r11d
and r10d, r8d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r10d, eax
ror edx, 0x19
mov eax, r14d
mov ecx, ebx
ror eax, 0xb
xor ecx, esi
xor edx, eax
and ecx, r14d
xor ecx, ebx
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x24]
add eax, edi
add edx, 0x92722c85
add ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea edi, [r8 + rdx]
xor ecx, eax
mov r8d, r9d
or r8d, r10d
mov eax, r9d
and eax, r10d
and r8d, r11d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r8d, eax
ror edx, 0x19
mov eax, edi
mov ecx, esi
ror eax, 0xb
xor ecx, r14d
xor edx, eax
and ecx, edi
mov eax, edi
xor ecx, esi
ror eax, 6
xor eax, edx
add eax, ebx
add ecx, eax
mov edx, dword [rbp - 0x20]
mov eax, r8d
ror eax, 0xd
add edx, 0xa2bfe8a1
add edx, ecx
mov ecx, r8d
ror ecx, 0x16
xor ecx, eax
mov eax, r8d
ror eax, 2
xor ecx, eax
lea r15d, [r11 + rdx]
mov r11d, r10d
mov eax, r10d
and eax, r8d
or r11d, r8d
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
add r11d, eax
mov edx, r15d
ror edx, 0x19
mov eax, r15d
ror eax, 0xb
mov ecx, r14d
xor edx, eax
xor ecx, edi
and ecx, r15d
mov eax, r15d
ror eax, 6
xor ecx, r14d
xor eax, edx
mov edx, dword [rbp - 0x1c]
add eax, esi
add edx, 0xa81a664b
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 0xd
mov ecx, r11d
ror ecx, 0x16
xor ecx, eax
mov eax, r11d
ror eax, 2
lea esi, [r9 + rdx]
xor ecx, eax
mov r9d, r8d
or r9d, r11d
mov eax, r8d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r9d, eax
ror edx, 0x19
mov eax, esi
mov ecx, edi
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, esi
xor ecx, edi
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x18]
add eax, r14d
add edx, 0xc24b8b70
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 0xd
mov ecx, r9d
ror ecx, 0x16
xor ecx, eax
mov eax, r9d
ror eax, 2
lea r12d, [r10 + rdx]
xor ecx, eax
mov r10d, r11d
mov eax, r11d
or r10d, r9d
and eax, r9d
and r10d, r8d
or r10d, eax
lea eax, [rdx + rcx]
add r10d, eax
mov edx, r12d
ror edx, 0x19
mov eax, r12d
ror eax, 0xb
mov ecx, r15d
xor edx, eax
xor ecx, esi
and ecx, r12d
mov eax, r12d
ror eax, 6
xor ecx, r15d
xor eax, edx
mov ebx, r10d
mov edx, dword [rbp - 0x14]
add eax, edi
add ecx, eax
add edx, 0xc76c51a3
add edx, ecx
or ebx, r9d
and ebx, r11d
mov ecx, r10d
ror ecx, 0xd
mov eax, r10d
ror eax, 2
xor ecx, eax
lea edi, [r8 + rdx]
mov eax, r10d
ror eax, 0x16
xor ecx, eax
mov eax, r10d
and eax, r9d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, edi
add ebx, eax
ror edx, 0x19
mov eax, edi
mov ecx, esi
ror eax, 0xb
xor ecx, r12d
xor edx, eax
and ecx, edi
xor ecx, esi
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 0x10]
add eax, r15d
add edx, 0xd192e819
add ecx, eax
mov eax, ebx
ror eax, 2
add edx, ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
lea r14d, [r11 + rdx]
ror eax, 0x16
xor ecx, eax
mov r11d, r10d
or r11d, ebx
mov eax, r10d
and eax, ebx
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r14d
add r11d, eax
ror edx, 0x19
mov eax, r14d
ror eax, 0xb
xor edx, eax
mov eax, r14d
ror eax, 6
mov ecx, edi
xor eax, edx
xor ecx, r12d
mov edx, dword [rbp - 0xc]
add eax, esi
and ecx, r14d
add edx, 0xd6990624
xor ecx, r12d
mov r8d, edi
add ecx, eax
xor r8d, r14d
add edx, ecx
mov eax, r11d
ror eax, 0xd
mov ecx, r11d
ror ecx, 0x16
xor ecx, eax
mov eax, r11d
ror eax, 2
lea r15d, [r9 + rdx]
xor ecx, eax
and r8d, r15d
xor r8d, edi
mov r9d, ebx
or r9d, r11d
mov eax, ebx
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [rdx + rcx]
add r9d, eax
mov ecx, r15d
ror ecx, 0x19
mov eax, r15d
ror eax, 0xb
xor ecx, eax
mov eax, r15d
ror eax, 6
xor ecx, eax
mov eax, dword [rbp - 8]
add eax, 0xf40e3585
add ecx, eax
mov eax, r9d
ror eax, 2
add r8d, ecx
add r8d, r12d
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
xor ecx, eax
lea esi, [r10 + r8]
mov r10d, r9d
mov eax, r9d
and eax, r11d
or r10d, r11d
and r10d, ebx
mov edx, esi
or r10d, eax
ror edx, 0x19
lea eax, [r8 + rcx]
mov ecx, r14d
add r10d, eax
xor ecx, r15d
and ecx, esi
mov eax, esi
ror eax, 0xb
xor ecx, r14d
xor edx, eax
mov eax, esi
ror eax, 6
xor eax, edx
mov edx, dword [rbp - 4]
add eax, edi
add edx, 0x106aa070
add ecx, eax
add edx, ecx
mov ecx, r10d
lea edi, [rbx + rdx]
ror ecx, 0xd
lea r8d, [r15 + 0x1e376c08]
mov ebx, r9d
mov eax, r10d
ror eax, 2
or ebx, r10d
xor ecx, eax
and ebx, r11d
mov eax, r10d
ror eax, 0x16
xor ecx, eax
mov eax, r9d
and eax, r10d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, edi
add ebx, eax
ror edx, 0x19
mov eax, edi
mov ecx, esi
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, edi
xor ecx, r15d
mov eax, edi
ror eax, 6
xor eax, edx
mov edx, dword [rbp]
add eax, r14d
add edx, 0x19a4c116
add ecx, eax
mov eax, ebx
add edx, ecx
ror eax, 2
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 0x16
lea r14d, [r11 + rdx]
xor ecx, eax
mov r11d, r10d
or r11d, ebx
mov eax, r10d
and eax, ebx
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov ecx, r14d
add r11d, eax
ror ecx, 0x19
mov eax, r14d
mov edx, esi
ror eax, 0xb
xor edx, edi
xor ecx, eax
and edx, r14d
xor edx, esi
mov eax, r14d
ror eax, 6
xor ecx, eax
mov eax, r11d
add ecx, dword [rbp + 4]
ror eax, 2
add edx, ecx
add r8d, edx
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea r15d, [r9 + r8]
xor ecx, eax
mov r9d, ebx
mov eax, ebx
or r9d, r11d
and eax, r11d
and r9d, r10d
or r9d, eax
lea eax, [r8 + rcx]
add r9d, eax
mov ecx, edi
xor ecx, r14d
mov eax, r15d
ror eax, 0xb
and ecx, r15d
xor ecx, edi
mov edx, r15d
ror edx, 0x19
mov r8d, r11d
xor edx, eax
or r8d, r9d
and r8d, ebx
mov eax, r15d
ror eax, 6
xor eax, edx
mov edx, dword [rbp + 8]
add eax, esi
add edx, 0x2748774c
add ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 0x16
lea esi, [r10 + rdx]
xor ecx, eax
mov r10d, r9d
mov eax, r11d
and eax, r9d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r8d, eax
ror edx, 0x19
or r10d, r8d
mov eax, esi
ror eax, 0xb
and r10d, r11d
xor edx, eax
mov ecx, r14d
xor ecx, r15d
mov eax, esi
ror eax, 6
and ecx, esi
xor eax, edx
xor ecx, r14d
mov edx, dword [rbp + 0xc]
add eax, edi
add ecx, eax
add edx, 0x34b0bcb5
add edx, ecx
mov eax, r8d
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 0x16
lea edi, [rbx + rdx]
xor ecx, eax
mov eax, r9d
and eax, r8d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r10d, eax
ror edx, 0x19
mov eax, edi
mov ecx, r15d
ror eax, 0xb
xor ecx, esi
xor edx, eax
and ecx, edi
mov eax, edi
ror eax, 6
xor eax, edx
xor ecx, r15d
mov edx, dword [rbp + 0x10]
add eax, r14d
add ecx, eax
add edx, 0x391c0cb3
add edx, ecx
mov eax, r10d
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
mov ebx, r10d
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea r14d, [r11 + rdx]
xor ecx, eax
mov r11d, r8d
or r11d, r10d
mov eax, r8d
and eax, r10d
and r11d, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov ecx, esi
add r11d, eax
xor ecx, edi
and ecx, r14d
or ebx, r11d
xor ecx, esi
and ebx, r8d
mov eax, r14d
mov edx, r14d
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, r14d
ror eax, 6
xor eax, edx
mov edx, dword [rbp + 0x14]
add eax, r15d
add edx, 0x4ed8aa4a
add ecx, eax
mov eax, r11d
add edx, ecx
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea r15d, [r9 + rdx]
xor ecx, eax
mov eax, r10d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r15d
add ebx, eax
ror edx, 0x19
mov eax, r15d
mov ecx, edi
ror eax, 0xb
xor ecx, r14d
xor edx, eax
and ecx, r15d
xor ecx, edi
mov eax, r15d
ror eax, 6
xor eax, edx
mov edx, dword [rbp + 0x18]
add eax, esi
add edx, 0x5b9cca4f
add ecx, eax
mov eax, ebx
add edx, ecx
ror eax, 2
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 0x16
lea esi, [r8 + rdx]
xor ecx, eax
mov r8d, r11d
or r8d, ebx
mov eax, r11d
and eax, ebx
and r8d, r10d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r8d, eax
ror edx, 0x19
mov eax, esi
mov ecx, r14d
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, esi
xor ecx, r14d
mov eax, esi
ror eax, 6
mov r9d, r8d
xor eax, edx
mov edx, dword [rbp + 0x1c]
add eax, edi
add edx, 0x682e6ff3
add ecx, eax
mov eax, r8d
add edx, ecx
ror eax, 2
mov ecx, r8d
ror ecx, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 0x16
lea r12d, [r10 + rdx]
xor ecx, eax
mov r10d, ebx
or r10d, r8d
mov eax, ebx
and eax, r8d
and r10d, r11d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, r12d
add r10d, eax
ror edx, 0x19
or r9d, r10d
mov eax, r12d
ror eax, 0xb
and r9d, ebx
xor edx, eax
mov ecx, r15d
xor ecx, esi
mov eax, r12d
ror eax, 6
and ecx, r12d
xor eax, edx
xor ecx, r15d
mov edx, dword [rbp + 0x20]
add eax, r14d
add ecx, eax
add edx, 0x748f82ee
add edx, ecx
mov eax, r10d
ror eax, 2
mov ecx, r10d
ror ecx, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 0x16
lea edi, [r11 + rdx]
xor ecx, eax
mov eax, r8d
and eax, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r9d, eax
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov ecx, esi
xor ecx, r12d
mov eax, edi
ror eax, 6
and ecx, edi
xor eax, edx
xor ecx, esi
mov edx, dword [rbp + 0x24]
add eax, r15d
add ecx, eax
add edx, 0x78a5636f
add edx, ecx
mov eax, r9d
ror eax, 2
mov ecx, r9d
ror ecx, 0xd
mov r11d, r10d
xor ecx, eax
or r11d, r9d
lea r15d, [rbx + rdx]
and r11d, r8d
mov eax, r9d
mov r14d, r9d
ror eax, 0x16
xor ecx, eax
mov eax, r10d
and eax, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r15d
add r11d, eax
ror edx, 0x19
or r14d, r11d
mov eax, r15d
ror eax, 0xb
and r14d, r10d
xor edx, eax
mov ecx, r12d
xor ecx, edi
mov eax, r15d
ror eax, 6
and ecx, r15d
xor eax, edx
xor ecx, r12d
mov edx, dword [rbp + 0x28]
add eax, esi
add ecx, eax
add edx, 0x84c87814
add edx, ecx
mov eax, r11d
ror eax, 2
mov ecx, r11d
ror ecx, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 0x16
lea r13d, [r8 + rdx]
mov r8d, dword [rbp + 0x2c]
xor ecx, eax
mov eax, r9d
add r8d, 0x8cc70208
and eax, r11d
or r14d, eax
lea eax, [rdx + rcx]
mov edx, r13d
add r14d, eax
ror edx, 0x19
mov eax, r13d
mov ecx, edi
ror eax, 0xb
xor ecx, r15d
xor edx, eax
and ecx, r13d
xor ecx, edi
mov eax, r13d
ror eax, 6
xor eax, edx
add eax, r12d
add ecx, eax
add r8d, ecx
lea r12d, [r10 + r8]
mov esi, r11d
or esi, r14d
mov edx, r14d
ror edx, 0x16
and esi, r9d
mov eax, r14d
mov ecx, r15d
ror eax, 0xd
xor ecx, r13d
xor edx, eax
and ecx, r12d
xor ecx, r15d
mov eax, r14d
ror eax, 2
xor edx, eax
mov eax, r11d
and eax, r14d
or esi, eax
lea eax, [r8 + rdx]
mov edx, r12d
add esi, eax
ror edx, 0x19
mov eax, r12d
mov r10d, esi
ror eax, 0xb
xor edx, eax
mov eax, r12d
ror eax, 6
xor eax, edx
mov edx, dword [rbp + 0x30]
add eax, edi
add edx, 0x90befffa
add ecx, eax
mov edi, r14d
add edx, ecx
or edi, esi
and edi, r11d
mov ecx, esi
ror ecx, 0x16
mov eax, esi
ror eax, 0xd
xor ecx, eax
lea ebx, [r9 + rdx]
mov eax, esi
mov dword [rsp + 0x34], ebx
ror eax, 2
xor ecx, eax
mov eax, r14d
and eax, esi
or edi, eax
lea eax, [rdx + rcx]
mov edx, ebx
add edi, eax
ror edx, 0x19
mov eax, ebx
mov dword [rsp + 0x24], edi
ror eax, 0xb
mov ecx, r13d
xor edx, eax
xor ecx, r12d
and ecx, ebx
mov eax, ebx
ror eax, 6
xor ecx, r13d
xor eax, edx
mov edx, dword [rbp + 0x34]
add eax, r15d
add edx, 0xa4506ceb
add ecx, eax
mov eax, edi
add edx, ecx
ror eax, 0xd
add r11d, edx
mov ecx, edi
ror ecx, 0x16
xor ecx, eax
mov dword [rsp + 0x30], r11d
mov eax, edi
ror eax, 2
xor ecx, eax
or r10d, edi
mov eax, esi
and eax, edi
and r10d, r14d
or r10d, eax
mov r9d, edi
lea eax, [rdx + rcx]
mov edx, r11d
add r10d, eax
ror edx, 0x19
mov eax, r11d
mov dword [rsp + 0x20], r10d
ror eax, 0xb
or r9d, r10d
xor edx, eax
and r9d, esi
mov eax, r11d
mov ecx, r12d
ror eax, 6
xor ecx, ebx
xor eax, edx
and ecx, r11d
mov edx, dword [rbp + 0x38]
add eax, r13d
xor ecx, r12d
add edx, 0xbef9a3f7
add ecx, eax
xor r11d, ebx
add edx, ecx
mov eax, r10d
ror eax, 0xd
mov ecx, r10d
ror ecx, 0x16
xor ecx, eax
mov eax, r10d
ror eax, 2
lea r8d, [r14 + rdx]
xor ecx, eax
mov dword [rsp + 0x2c], r8d
and r11d, r8d
mov eax, edi
and eax, r10d
xor r11d, ebx
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, r8d
add r9d, eax
ror ecx, 0x19
mov eax, r8d
mov dword [rsp + 0x1c], r9d
ror eax, 0xb
mov edx, r9d
xor ecx, eax
ror edx, 0x16
mov eax, r8d
lea r8, [rsp + 0x18]
ror eax, 6
xor eax, ecx
mov ecx, r10d
add eax, r12d
or ecx, r9d
add r11d, eax
and ecx, edi
add r11d, dword [rbp + 0x3c]
and r10d, r9d
or ecx, r10d
add ecx, 0xc67178f2
lea eax, [r11 - 0x398e870e]
add eax, esi
mov dword [rsp + 0x28], eax
mov eax, r9d
ror eax, 0xd
xor edx, eax
mov eax, r9d
ror eax, 2
xor eax, edx
mov edx, 8
add eax, r11d
add ecx, eax
sub r8, qword [rsp + 8]
mov dword [rsp + 0x18], ecx
mov rcx, qword [rsp + 0x10]
mov eax, dword [r8 + rcx - 8]
add dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x150358371
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.15040aca0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret