Function at 0x516090
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, dword [rcx + 0xa0]
mov ebp, dword [rcx + 0x80]
sub eax, 4
mov edi, dword [rcx + 0x84]
mov esi, dword [rcx + 0x88]
mov ebx, dword [rcx + 0x8c]
mov r11d, dword [rcx + 0x90]
mov r9d, dword [rcx + 0x94]
mov r10d, dword [rcx + 0x98]
mov r8d, dword [rcx + 0x9c]
cmp eax, 4
ja case.default.0x5016d4
lea rcx, [0x00734980]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov dword [rdx], ebp
mov dword [rdx + 4], edi
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], ebx
mov dword [rdx + 0x10], r11d
mov dword [rdx + 0x14], r9d
mov dword [rdx + 0x18], r10d
mov dword [rdx + 0x1c], r8d
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, r8d
shr eax, 0x1b
add ebp, eax
mov eax, r8d
shr eax, 0x16
and eax, 0x1f
add edi, eax
mov eax, r8d
shr eax, 0x12
and eax, 0xf
add esi, eax
mov eax, r8d
shr eax, 0xd
and eax, 0x1f
add ebx, eax
mov eax, r8d
shr eax, 9
and eax, 0xf
add r11d, eax
mov eax, r8d
shr eax, 4
and eax, 0x1f
and r8d, 0xf
add r9d, eax
add r10d, r8d
mov dword [rdx], ebp
mov dword [rdx + 4], edi
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], ebx
mov dword [rdx + 0x10], r11d
mov dword [rdx + 0x14], r9d
mov dword [rdx + 0x18], r10d
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov ecx, r11d
and ecx, 0xff00
movzx eax, r8b
or eax, ecx
mov ecx, r9d
and ecx, 0xff0000
or eax, ecx
mov ecx, r10d
and ecx, 0xff000000
or eax, ecx
mov ecx, r8d
and ecx, 0xff00
rorx eax, eax, 8
add ebp, eax
movzx eax, r10b
or eax, ecx
mov ecx, r11d
and ecx, 0xff0000
or eax, ecx
mov ecx, r9d
and ecx, 0xff000000
or eax, ecx
rorx eax, eax, 0x10
add edi, eax
mov eax, r10d
movzx ecx, r9b
and eax, 0xff00
or eax, ecx
mov ecx, r8d
and ecx, 0xff0000
or eax, ecx
and r9d, 0xff00
mov ecx, r11d
movzx r11d, r11b
or r9d, r11d
and r10d, 0xff0000
and ecx, 0xff000000
or r10d, r9d
and r8d, 0xff000000
or eax, ecx
or r8d, r10d
add ebx, r8d
rorx eax, eax, 0x18
add esi, eax
mov dword [rdx], ebp
mov dword [rdx + 4], edi
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], ebx
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, r9d
mov ecx, r10d
and ecx, 0xfe000000
and eax, 0x1f80000
or eax, ecx
mov ecx, r8d
and ecx, 0x3f
or eax, ecx
rorx eax, eax, 0x13
mov ecx, r10d
add ebp, eax
mov eax, r9d
and ecx, 0x3f
and eax, 0xfe000000
or eax, ecx
mov ecx, r8d
and ecx, 0xfc0
or eax, ecx
rorx eax, eax, 0x19
mov ecx, r10d
add edi, eax
mov eax, r9d
and ecx, 0xfc0
and eax, 0x3f
or eax, ecx
mov ecx, r8d
and ecx, 0x7f000
or eax, ecx
add esi, eax
mov ecx, r10d
mov eax, r9d
and ecx, 0x7f000
and eax, 0xfc0
or eax, ecx
and r9d, 0x7f000
mov ecx, r8d
and r10d, 0x1f80000
and ecx, 0x1f80000
or r10d, r9d
and r8d, 0xfe000000
or eax, ecx
or r8d, r10d
shr eax, 6
shr r8d, 0xc
add ebx, eax
add r11d, r8d
mov dword [rdx], ebp
mov dword [rdx + 4], edi
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], ebx
mov dword [rdx + 0x10], r11d
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, r10d
mov ecx, r8d
and ecx, 0x1f
and eax, 0xfc000000
or eax, ecx
rorx eax, eax, 0x1a
mov ecx, r8d
add ebp, eax
mov eax, r10d
and ecx, 0x3e0
and eax, 0x1f
or eax, ecx
add edi, eax
mov ecx, r8d
mov eax, r10d
and ecx, 0xfc00
and eax, 0x3e0
or eax, ecx
shr eax, 5
add esi, eax
mov ecx, r8d
mov eax, r10d
and ecx, 0x1f0000
and eax, 0xfc00
or eax, ecx
shr eax, 0xa
add ebx, eax
mov ecx, r8d
mov eax, r10d
and eax, 0x1f0000
and ecx, 0x3e00000
and r10d, 0x3e00000
and r8d, 0xfc000000
or eax, ecx
or r8d, r10d
shr eax, 0x10
shr r8d, 0x15
add r11d, eax
add r9d, r8d
mov dword [rdx], ebp
mov dword [rdx + 4], edi
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], ebx
mov dword [rdx + 0x10], r11d
mov dword [rdx + 0x14], r9d
pop rbx
pop rsi
pop rdi
pop rbp
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov eax, dword [rcx + 0xa8]
mov r15, rcx
and eax, 0x7f
mov ecx, eax
lea r10d, [rax + 1]
movzx eax, dl
mov edx, 8
sub edx, r8d
shrx edx, eax, edx
mov eax, 1
shlx r8d, eax, r8d
or edx, r8d
mov byte [r15 + rcx], dl
mov qword [rsp + 0x30], r9
mov ecx, r10d
mov ebx, dword [r15 + 0x80]
mov r11d, dword [r15 + 0x90]
mov r9d, dword [r15 + 0x8c]
mov ebp, dword [r15 + 0x94]
mov esi, dword [r15 + 0x84]
mov eax, r11d
mov edx, ebx
mov r14d, dword [r15 + 0x98]
and edx, r9d
and eax, ebp
mov edi, dword [r15 + 0x88]
xor eax, edx
mov edx, esi
xor edx, r14d
and edx, edi
mov r13d, r14d
xor eax, r14d
mov dword [rsp + 0x1c], r14d
mov r14d, edi
xor eax, edx
rorx edx, r14d, 0xb
mov dword [rsp + 0x18], edx
rorx edx, esi, 0xb
mov dword [rsp + 0x24], edx
rorx edx, ebx, 0xb
mov dword [rsp + 0x28], edx
mov edx, ebx
mov dword [rsp], r11d
and edx, esi
mov dword [rsp + 0x14], ebp
mov dword [rsp + 0x10], ebx
rorx r12d, ebp, 0xb
rorx ebp, r11d, 0xb
mov r11d, r14d
mov r14d, ebx
mov ebx, edx
xor ebx, r11d
mov edx, r11d
mov dword [rsp + 4], esi
mov r11d, esi
mov dword [rsp + 0x2c], ebx
mov ebx, esi
mov esi, dword [rsp]
and ebx, edx
and edx, r9d
xor esi, edx
mov edx, r14d
mov r14d, dword [rsp + 0x14]
mov dword [rsp + 0xc], r9d
xor edx, r14d
and edx, r11d
mov dword [rsp + 8], edi
xor ebx, r9d
rorx edi, r9d, 0xb
mov r9d, edx
mov edx, dword [rsp + 0xc]
mov r8d, dword [r15 + 0x9c]
and edx, dword [rsp]
xor edx, r14d
mov dword [rsp + 0x20], r8d
add rcx, r15
xor edx, r9d
rorx eax, eax, 7
rorx r8d, r8d, 0xb
rorx r13d, r13d, 0xb
cmp r10d, 0x76
ja 0x518bd8
mov r14d, 0x76
sub r14d, r10d
mov r9d, r14d
xor r11d, r11d
cmp r14d, 0x20
jae 0x518b60
and r14d, 0x10
jne 0x51b6c8
test r9b, 8
jne 0x51b6f8
test r9b, 4
jne 0x51b710
test r9d, r9d
jne 0x51b670
add eax, r8d
mov r8d, dword [rsp + 8]
add eax, dword [r15]
mov r11d, r8d
and r11d, eax
xor edx, r11d
rorx r11d, edx, 7
mov edx, dword [rsp]
mov r14d, dword [rsp + 0x10]
add r13d, dword [r15 + 4]
add r13d, r11d
xor edx, eax
mov r11d, dword [rsp + 4]
and edx, r14d
xor esi, edx
mov edx, r11d
and edx, r13d
add r12d, dword [r15 + 8]
xor esi, edx
rorx esi, esi, 7
add r12d, esi
mov esi, dword [rsp + 0xc]
add ebp, dword [r15 + 0xc]
xor esi, r13d
mov edx, esi
and edx, eax
xor ebx, edx
mov edx, r14d
and edx, r12d
xor ebx, edx
mov edx, r8d
xor edx, r12d
mov ecx, dword [r15 + 0xa0]
and edx, r13d
mov r10d, r11d
rorx ebx, ebx, 7
add ebp, ebx
mov ebx, eax
xor edx, dword [rsp + 0x2c]
and ebx, ebp
xor r10d, ebp
add edi, dword [r15 + 0x10]
and r10d, r12d
shl ecx, 3
xor edx, ebx
mov byte [r15 + 0x77], cl
rorx edx, edx, 7
mov rcx, qword [r15 + 0xa8]
add edi, edx
mov edx, r10d
mov r10d, r14d
and r10d, eax
shl rcx, 3
mov ebx, r13d
xor r10d, r11d
mov r9d, r14d
and ebx, edi
xor r10d, edx
xor r9d, edi
and r9d, ebp
xor r10d, ebx
mov ebx, dword [rsp + 0x18]
mov edx, r9d
mov r9d, eax
add ebx, dword [r15 + 0x14]
and r9d, r13d
xor r9d, r14d
rorx r10d, r10d, 7
add r10d, ebx
mov ebx, r12d
and ebx, r10d
xor r9d, edx
xor r9d, ebx
mov ebx, dword [rsp + 0x24]
rorx r9d, r9d, 7
add ebx, dword [r15 + 0x18]
add r9d, ebx
mov ebx, eax
xor ebx, r10d
and ebx, edi
mov r8d, ebx
mov ebx, r13d
and ebx, r12d
xor ebx, eax
mov r14d, ebp
and r14d, r9d
xor ebx, r8d
xor ebx, r14d
mov r14d, dword [rsp + 0x28]
rorx ebx, ebx, 7
add r14d, dword [r15 + 0x1c]
add ebx, r14d
mov r14d, r13d
xor r14d, r9d
and r14d, r10d
mov edx, r14d
mov r14d, r12d
and r14d, ebp
xor r14d, r13d
mov r8d, edi
and r8d, ebx
xor r14d, edx
xor r14d, r8d
rorx eax, eax, 0xb
mov r8d, ebp
add eax, dword [r15 + 0x20]
rorx r14d, r14d, 7
add r14d, eax
and r8d, edi
mov eax, r12d
xor eax, ebx
mov r11d, r8d
and eax, r9d
xor r11d, r12d
xor r11d, eax
mov eax, r10d
and eax, r14d
xor r11d, eax
rorx r13d, r13d, 0xb
add r13d, dword [r15 + 0x24]
rorx r11d, r11d, 7
add r11d, r13d
mov r13d, ebp
xor r13d, r14d
mov eax, r13d
mov r13d, edi
and r13d, r10d
mov esi, r13d
and eax, ebx
xor esi, ebp
xor esi, eax
mov r13d, edi
mov eax, r9d
and eax, r11d
xor r13d, r11d
xor esi, eax
mov eax, r13d
mov r13d, r10d
and r13d, r9d
mov edx, r13d
and eax, r14d
xor edx, edi
rorx r12d, r12d, 0xb
add r12d, dword [r15 + 0x28]
xor edx, eax
rorx esi, esi, 7
mov eax, ebx
add esi, r12d
and eax, esi
xor edx, eax
mov eax, r10d
xor eax, esi
and eax, r11d
mov r8d, eax
mov eax, r9d
and eax, ebx
rorx ebp, ebp, 0xb
add ebp, dword [r15 + 0x2c]
rorx edx, edx, 7
rorx edi, edi, 0xb
add edx, ebp
add edi, dword [r15 + 0x30]
xor eax, r10d
xor eax, r8d
mov r8d, r14d
and r8d, edx
xor eax, r8d
rorx r8d, r10d, 0xb
mov r10d, r9d
xor r10d, edx
rorx eax, eax, 7
add eax, edi
mov edi, dword [r15 + 0x34]
and r10d, esi
add edi, r8d
mov r8d, r10d
mov r10d, ebx
and r10d, r14d
xor r10d, r9d
xor r10d, r8d
mov r8d, r11d
and r8d, eax
rorx r9d, r9d, 0xb
add r9d, dword [r15 + 0x38]
xor r10d, r8d
mov r8d, r9d
mov r9d, ebx
xor r9d, eax
rorx r10d, r10d, 7
add r10d, edi
mov edi, r9d
mov r9d, r14d
and r9d, r11d
and edi, edx
xor r9d, ebx
xor r9d, edi
mov edi, esi
and edi, r10d
xor r9d, edi
rorx r9d, r9d, 7
mov edi, r14d
add r9d, r8d
mov r8d, r11d
xor edi, r10d
and r8d, esi
and edi, eax
xor r8d, r14d
xor r8d, edi
mov edi, edx
and edi, r9d
xor r8d, edi
mov ebp, r11d
rorx ebx, ebx, 0xb
add ebx, dword [r15 + 0x3c]
rorx r8d, r8d, 7
rorx r14d, r14d, 0xb
add r8d, ebx
add r14d, dword [r15 + 0x40]
xor ebp, r9d
mov ebx, ebp
mov ebp, esi
and ebp, edx
and ebx, r10d
xor ebp, r11d
xor ebp, ebx
mov edi, esi
mov ebx, eax
and ebx, r8d
xor edi, r8d
xor ebp, ebx
mov ebx, edi
mov edi, edx
and edi, eax
and ebx, r9d
xor edi, esi
xor edi, ebx
rorx ebp, ebp, 7
mov ebx, r10d
add ebp, r14d
and ebx, ebp
mov qword [r15 + 0x78], rcx
xor edi, ebx
mov byte [r15 + 0x76], 0x29
rorx r11d, r11d, 0xb
add r11d, dword [r15 + 0x44]
mov ebx, dword [r15 + 0x48]
mov r14d, eax
rorx esi, esi, 0xb
add ebx, esi
and r14d, r10d
rorx edi, edi, 7
add edi, r11d
mov r11d, ebx
mov ebx, edx
xor ebx, ebp
mov esi, r14d
and ebx, r8d
xor esi, edx
xor esi, ebx
mov ebx, r9d
and ebx, edi
xor esi, ebx
mov ebx, dword [r15 + 0x4c]
mov r14d, r10d
rorx edx, edx, 0xb
add ebx, edx
and r14d, r9d
rorx esi, esi, 7
add esi, r11d
mov r11d, ebx
mov ebx, eax
xor ebx, edi
mov edx, r14d
and ebx, ebp
xor edx, eax
xor edx, ebx
mov ebx, r8d
and ebx, esi
xor edx, ebx
rorx eax, eax, 0xb
add eax, dword [r15 + 0x50]
rorx edx, edx, 7
add edx, r11d
mov r11d, eax
mov eax, r10d
xor eax, esi
mov ebx, eax
mov eax, r9d
and eax, r8d
and ebx, edi
xor eax, r10d
xor eax, ebx
mov ebx, ebp
and ebx, edx
xor eax, ebx
rorx r10d, r10d, 0xb
add r10d, dword [r15 + 0x54]
rorx eax, eax, 7
add eax, r11d
mov r11d, r10d
mov r10d, r9d
xor r10d, edx
mov ebx, r10d
mov r10d, r8d
and r10d, ebp
and ebx, esi
xor r10d, r9d
xor r10d, ebx
mov ebx, edi
and ebx, eax
xor r10d, ebx
rorx r9d, r9d, 0xb
add r9d, dword [r15 + 0x58]
rorx r10d, r10d, 7
add r10d, r11d
mov r11d, r9d
mov r9d, r8d
xor r9d, eax
mov ebx, r9d
mov r9d, ebp
and r9d, edi
and ebx, edx
xor r9d, r8d
xor r9d, ebx
mov ebx, esi
and ebx, r10d
xor r9d, ebx
mov ebx, dword [r15 + 0x5c]
rorx r8d, r8d, 0xb
add ebx, r8d
mov r14d, edi
rorx r9d, r9d, 7
add r9d, r11d
mov r11d, ebx
mov ebx, ebp
xor ebx, r10d
and r14d, esi
mov r8d, r14d
and ebx, eax
xor r8d, ebp
xor r8d, ebx
mov ebx, edx
and ebx, r9d
xor r8d, ebx
rorx ebp, ebp, 0xb
add ebp, dword [r15 + 0x60]
rorx r8d, r8d, 7
add r8d, r11d
mov r11d, ebp
mov ebp, edi
xor ebp, r9d
mov ebx, ebp
mov ebp, esi
and ebp, edx
and ebx, r10d
xor ebp, edi
xor ebp, ebx
mov ebx, eax
and ebx, r8d
xor ebp, ebx
rorx edi, edi, 0xb
add edi, dword [r15 + 0x64]
rorx ebp, ebp, 7
add ebp, r11d
mov r11d, edi
mov edi, esi
xor edi, r8d
mov ebx, edi
mov edi, edx
and edi, eax
and ebx, r9d
xor edi, esi
xor edi, ebx
mov ebx, r10d
and ebx, ebp
xor edi, ebx
mov ebx, dword [r15 + 0x68]
mov r14d, eax
rorx esi, esi, 0xb
add ebx, esi
and r14d, r10d
rorx edi, edi, 7
add edi, r11d
mov r11d, ebx
mov ebx, edx
xor ebx, ebp
mov esi, r14d
and ebx, r8d
xor esi, edx
xor esi, ebx
mov ebx, r9d
and ebx, edi
xor esi, ebx
mov ebx, eax
xor ebx, edi
and ebx, ebp
rorx esi, esi, 7
add esi, r11d
mov r11d, ebx
mov ebx, r10d
and ebx, r9d
xor ebx, eax
mov r14d, r8d
and r14d, esi
xor ebx, r11d
mov r13d, dword [r15 + 0x6c]
xor ebx, r14d
mov r14d, r10d
xor r14d, esi
and r14d, edi
rorx edx, edx, 0xb
add edx, r13d
rorx ebx, ebx, 7
add ebx, edx
mov edx, r14d
mov r14d, r9d
and r14d, r8d
mov r11d, r14d
xor r11d, r10d
mov r14d, ebp
and r14d, ebx
xor r11d, edx
xor r11d, r14d
rorx eax, eax, 0xb
rorx r10d, r10d, 0xb
add eax, dword [r15 + 0x70]
add r10d, dword [r15 + 0x74]
rorx r11d, r11d, 7
add r11d, eax
mov eax, r10d
mov r10d, r9d
xor r10d, ebx
and r10d, esi
mov edx, r10d
mov r10d, r8d
and r10d, ebp
xor r10d, r9d
mov r14d, edi
and r14d, r11d
xor r10d, edx
xor r10d, r14d
rorx r9d, r9d, 0xb
rorx r10d, r10d, 7
add r10d, eax
lea eax, [r9 + rcx]
mov r9d, r8d
xor r9d, r11d
and r9d, ebx
mov edx, r9d
mov r9d, ebp
and r9d, edi
xor r9d, r8d
mov r12d, esi
and r12d, r10d
xor r9d, edx
mov r14d, ecx
xor r9d, r12d
shr rcx, 0x20
mov r12, rcx
rorx r8d, r8d, 0xb
rorx r9d, r9d, 7
add r9d, eax
lea eax, [r8 + rcx]
mov ecx, ebp
xor ecx, r10d
and ecx, r11d
mov edx, ecx
mov ecx, edi
and ecx, esi
mov r8d, ecx
xor r8d, ebp
mov ecx, ebx
and ecx, r9d
xor r8d, edx
xor r8d, ecx
mov ecx, dword [r15 + 0x14]
rorx r8d, r8d, 7
rorx ebp, ebp, 0xb
add r8d, eax
lea ebp, [rcx + rbp + 0x452821e6]
mov eax, edi
mov ecx, r10d
and ecx, r9d
xor eax, esi
xor eax, ecx
andn ecx, r8d, ebx
xor eax, ecx
mov ecx, ebx
xor ecx, r10d
mov edx, ecx
and edx, r9d
mov ecx, r10d
and ecx, r8d
xor edx, esi
and eax, r11d
xor edx, ecx
xor edx, eax
rorx ecx, edx, 7
add ecx, ebp
mov ebp, dword [r15 + 0x38]
mov eax, esi
rorx edi, edi, 0xb
lea ebp, [rbp + rdi + 0x38d01377]
mov edi, r9d
and edi, r8d
xor eax, ebx
xor eax, edi
mov edi, r11d
andn edx, ecx, r11d
xor eax, edx
xor edi, r9d
and edi, r8d
mov edx, r9d
and edx, ecx
xor edi, ebx
and eax, r10d
xor edi, edx
xor edi, eax
rorx edx, edi, 7
mov edi, dword [r15 + 0x68]
add edx, ebp
rorx esi, esi, 0xb
lea ebp, [rdi + rsi - 0x41ab9931]
mov edi, ebx
xor edi, r11d
mov eax, r8d
and eax, ecx
mov esi, edi
mov edi, r10d
xor esi, eax
xor edi, r8d
andn eax, edx, r10d
and edi, ecx
xor esi, eax
mov eax, r8d
and eax, edx
xor edi, r11d
and esi, r9d
xor edi, eax
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x48]
add eax, ebp
rorx ebx, ebx, 0xb
lea ebp, [rdi + rbx + 0x34e90c6c]
mov edi, r11d
xor edi, r10d
mov ebx, ecx
and ebx, edx
mov esi, edi
mov edi, r9d
xor esi, ebx
xor edi, ecx
andn ebx, eax, r9d
and edi, edx
xor esi, ebx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 0x2c]
add ebx, ebp
rorx r11d, r11d, 0xb
lea ebp, [rdi + r11 - 0x3f53d649]
mov edi, edx
and edi, eax
mov r11d, edi
mov edi, r10d
xor edi, r9d
mov esi, edi
mov edi, r8d
xor esi, r11d
xor edi, edx
andn r11d, ebx, r8d
and edi, eax
xor esi, r11d
mov r11d, edx
and r11d, ebx
xor edi, r9d
and esi, ecx
xor edi, r11d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x70]
add r11d, ebp
rorx r10d, r10d, 0xb
lea ebp, [rdi + r10 - 0x3683af23]
mov edi, r9d
xor edi, r8d
mov r10d, eax
and r10d, ebx
mov esi, edi
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x1c]
add r10d, ebp
rorx r9d, r9d, 0xb
lea ebp, [rdi + r9 + 0x3f84d5b5]
mov edi, r8d
xor edi, ecx
mov r9d, ebx
and r9d, r11d
mov esi, edi
mov edi, edx
xor esi, r9d
andn r9d, r10d, edx
xor edi, ebx
xor esi, r9d
and edi, r11d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
mov edi, dword [r15 + 0x40]
add r9d, ebp
rorx r8d, r8d, 0xb
lea ebp, [rdi + r8 - 0x4ab8f6e9]
mov edi, r11d
and edi, r10d
mov r8d, edi
mov edi, ecx
xor edi, edx
mov esi, edi
mov edi, eax
xor esi, r8d
xor edi, r11d
andn r8d, r9d, eax
and edi, r10d
xor esi, r8d
mov r8d, r11d
and r8d, r9d
xor edi, edx
and esi, ebx
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
mov edi, dword [r15]
add r8d, ebp
rorx ecx, ecx, 0xb
lea ebp, [rdi + rcx - 0x6de92a27]
mov edi, edx
xor edi, eax
mov ecx, r10d
and ecx, r9d
mov esi, edi
mov edi, ebx
xor esi, ecx
xor edi, r10d
andn ecx, r8d, ebx
and edi, r9d
xor esi, ecx
mov ecx, r10d
and esi, r11d
xor edi, eax
and ecx, r8d
xor edi, ecx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x5c]
add ecx, ebp
rorx edx, edx, 0xb
lea ebp, [rdi + rdx - 0x768604e5]
mov edi, r9d
and edi, r8d
mov edx, edi
mov edi, eax
xor edi, ebx
mov esi, edi
mov edi, r11d
xor esi, edx
xor edi, r9d
andn edx, ecx, r11d
and edi, r8d
xor esi, edx
mov edx, r9d
and edx, ecx
xor edi, ebx
and esi, r10d
xor edi, edx
xor edi, esi
rorx edx, edi, 7
mov edi, dword [r15 + 0x50]
add edx, ebp
rorx eax, eax, 0xb
lea ebp, [rdi + rax - 0x2ecef45a]
mov edi, ebx
xor edi, r11d
mov eax, r8d
and eax, ecx
mov esi, edi
mov edi, r10d
xor esi, eax
xor edi, r8d
andn eax, edx, r10d
and edi, ecx
xor esi, eax
mov eax, r8d
and eax, edx
xor edi, r11d
and esi, r9d
xor edi, eax
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x58]
add eax, ebp
rorx ebx, ebx, 0xb
lea ebp, [rdi + rbx - 0x67204a54]
mov edi, r11d
xor edi, r10d
mov ebx, ecx
and ebx, edx
mov esi, edi
mov edi, r9d
xor esi, ebx
xor edi, ecx
andn ebx, eax, r9d
and edi, edx
xor esi, ebx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 4]
add ebx, ebp
rorx r11d, r11d, 0xb
lea ebp, [rdi + r11 + 0x2ffd72db]
mov edi, edx
and edi, eax
mov r11d, edi
mov edi, r10d
xor edi, r9d
mov esi, edi
mov edi, r8d
xor esi, r11d
xor edi, edx
andn r11d, ebx, r8d
and edi, eax
xor esi, r11d
mov r11d, edx
and r11d, ebx
xor edi, r9d
and esi, ecx
xor edi, r11d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x28]
add r11d, ebp
rorx r10d, r10d, 0xb
lea ebp, [rdi + r10 - 0x2fe52049]
mov edi, r9d
xor edi, r8d
mov r10d, eax
and r10d, ebx
mov esi, edi
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and esi, edx
xor edi, r8d
and r10d, r11d
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x10]
add r10d, ebp
rorx r9d, r9d, 0xb
lea ebp, [rdi + r9 - 0x471e5013]
mov edi, r8d
xor edi, ecx
mov r9d, ebx
and r9d, r11d
mov esi, edi
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
mov edi, dword [r15 + 0x20]
add r9d, ebp
rorx r8d, r8d, 0xb
lea ebp, [rdi + r8 + 0x6a267e96]
mov edi, r11d
and edi, r10d
mov r8d, edi
mov edi, ecx
xor edi, edx
mov esi, edi
mov edi, eax
xor esi, r8d
xor edi, r11d
andn r8d, r9d, eax
and edi, r10d
xor esi, r8d
mov r8d, r11d
and r8d, r9d
xor edi, edx
and esi, ebx
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
rorx ecx, ecx, 0xb
add r8d, ebp
mov edi, edx
lea ebp, [r14 + rcx - 0x45836fbb]
mov ecx, r10d
and ecx, r9d
xor edi, eax
mov esi, edi
mov edi, ebx
xor esi, ecx
xor edi, r10d
andn ecx, r8d, ebx
and edi, r9d
xor esi, ecx
mov ecx, r10d
and ecx, r8d
xor edi, eax
and esi, r11d
xor edi, ecx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0xc]
add ecx, ebp
rorx edx, edx, 0xb
lea ebp, [rdi + rdx - 0xed38067]
mov edi, r9d
and edi, r8d
mov edx, edi
mov edi, eax
xor edi, ebx
mov esi, edi
mov edi, r11d
xor esi, edx
xor edi, r9d
andn edx, ecx, r11d
and edi, r8d
xor esi, edx
mov edx, r9d
and edx, ecx
xor edi, ebx
and esi, r10d
xor edi, edx
xor edi, esi
rorx edx, edi, 7
mov edi, dword [r15 + 0x54]
add edx, ebp
rorx eax, eax, 0xb
lea ebp, [rdi + rax + 0x24a19947]
mov edi, ebx
xor edi, r11d
mov eax, r8d
and eax, ecx
mov esi, edi
xor esi, eax
mov edi, r10d
andn eax, edx, r10d
xor edi, r8d
xor esi, eax
and esi, r9d
mov eax, r8d
and edi, ecx
xor edi, r11d
and eax, edx
xor edi, eax
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x24]
add eax, ebp
rorx ebx, ebx, 0xb
lea ebp, [rdi + rbx - 0x4c6e9309]
mov edi, r11d
xor edi, r10d
mov ebx, ecx
and ebx, edx
mov esi, edi
mov edi, r9d
xor esi, ebx
xor edi, ecx
andn ebx, eax, r9d
and edi, edx
xor esi, ebx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 0x44]
add ebx, ebp
rorx r11d, r11d, 0xb
lea ebp, [rdi + r11 + 0x801f2e2]
mov edi, edx
and edi, eax
mov r11d, edi
mov edi, r10d
xor edi, r9d
mov esi, edi
mov edi, r8d
xor esi, r11d
xor edi, edx
andn r11d, ebx, r8d
and edi, eax
xor esi, r11d
mov r11d, edx
and r11d, ebx
xor edi, r9d
and esi, ecx
xor edi, r11d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x60]
add r11d, ebp
rorx r10d, r10d, 0xb
lea ebp, [rdi + r10 - 0x7a7103ea]
mov r10d, eax
mov edi, r9d
and r10d, ebx
xor edi, r8d
mov esi, edi
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x74]
add r10d, ebp
rorx r9d, r9d, 0xb
lea ebp, [rdi + r9 + 0x636920d8]
mov edi, r8d
xor edi, ecx
mov r9d, ebx
and r9d, r11d
mov esi, edi
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
mov edi, dword [r15 + 0x18]
add r9d, ebp
rorx r8d, r8d, 0xb
lea ebp, [rdi + r8 + 0x71574e69]
mov edi, r11d
and edi, r10d
mov r8d, edi
mov edi, ecx
xor edi, edx
mov esi, edi
xor esi, r8d
mov edi, eax
andn r8d, r9d, eax
xor esi, r8d
and esi, ebx
xor edi, r11d
and edi, r10d
mov r8d, r11d
and r8d, r9d
xor edi, edx
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
mov edi, dword [r15 + 0x4c]
add r8d, ebp
rorx ecx, ecx, 0xb
lea ebp, [rdi + rcx - 0x5ba7015d]
mov edi, edx
xor edi, eax
mov ecx, r10d
and ecx, r9d
mov esi, edi
mov edi, ebx
xor esi, ecx
xor edi, r10d
andn ecx, r8d, ebx
and edi, r9d
xor esi, ecx
mov ecx, r10d
and ecx, r8d
xor edi, eax
and esi, r11d
xor edi, ecx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x30]
add ecx, ebp
rorx edx, edx, 0xb
lea ebp, [rdi + rdx - 0xb6cc282]
mov edi, r9d
and edi, r8d
mov edx, edi
mov edi, eax
xor edi, ebx
mov esi, edi
mov edi, r11d
xor esi, edx
xor edi, r9d
andn edx, ecx, r11d
and edi, r8d
xor esi, edx
mov edx, r9d
and edx, ecx
xor edi, ebx
and esi, r10d
xor edi, edx
xor edi, esi
rorx edx, edi, 7
mov edi, dword [r15 + 0x3c]
add edx, ebp
rorx eax, eax, 0xb
lea ebp, [rdi + rax + 0xd95748f]
mov edi, ebx
xor edi, r11d
mov eax, r8d
and eax, ecx
mov esi, edi
mov edi, r10d
xor esi, eax
xor edi, r8d
andn eax, edx, r10d
and edi, ecx
xor esi, eax
mov eax, r8d
and eax, edx
xor edi, r11d
and esi, r9d
xor edi, eax
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x34]
add eax, ebp
rorx ebx, ebx, 0xb
lea ebp, [rdi + rbx + 0x728eb658]
mov edi, r11d
xor edi, r10d
mov ebx, ecx
and ebx, edx
mov esi, edi
mov edi, r9d
xor esi, ebx
xor edi, ecx
andn ebx, eax, r9d
and edi, edx
xor esi, ebx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 8]
add ebx, ebp
rorx r11d, r11d, 0xb
lea ebp, [rdi + r11 + 0x718bcd58]
mov edi, edx
and edi, eax
mov r11d, edi
mov edi, r10d
xor edi, r9d
mov esi, edi
xor esi, r11d
mov edi, r8d
andn r11d, ebx, r8d
xor esi, r11d
and esi, ecx
xor edi, edx
and edi, eax
mov r11d, edx
and r11d, ebx
xor edi, r9d
xor edi, r11d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x64]
add r11d, ebp
rorx r10d, r10d, 0xb
lea ebp, [rdi + r10 - 0x7deab512]
mov edi, r9d
xor edi, r8d
mov r10d, eax
and r10d, ebx
mov esi, edi
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
mov edi, r8d
add r10d, ebp
xor edi, ecx
rorx r9d, r9d, 0xb
lea ebp, [r12 + r9 + 0x7b54a41d]
mov r9d, ebx
and r9d, r11d
mov esi, edi
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
mov esi, ecx
add r9d, ebp
rorx r8d, r8d, 0xb
lea ebp, [r13 + r8 - 0x3da5a64b]
mov r8d, r11d
and r8d, r10d
xor esi, edx
xor esi, r8d
andn r8d, r9d, eax
xor esi, r8d
mov r8d, eax
xor r8d, r11d
and r8d, r10d
mov edi, r11d
and edi, r9d
xor r8d, edx
and esi, ebx
xor r8d, edi
xor r8d, esi
rorx r8d, r8d, 7
add r8d, ebp
mov ebp, dword [r15 + 0x4c]
rorx ecx, ecx, 0xb
lea ecx, [rbp + rcx - 0x63cf2ac7]
mov ebp, eax
xor ebp, r10d
xor edi, ebp
and edi, ebx
mov ebp, edi
mov edi, edx
and edi, r11d
xor edi, eax
xor edi, ebp
mov ebp, r9d
and ebp, r8d
xor ebp, edi
rorx ebp, ebp, 7
mov edi, r10d
add ebp, ecx
mov ecx, dword [r15 + 0x24]
and edi, r8d
rorx edx, edx, 0xb
lea ecx, [rcx + rdx + 0x2af26013]
mov edx, edi
mov edi, ebx
xor edi, r9d
xor edx, edi
mov edi, edx
and edi, r11d
mov esi, edi
mov edi, eax
and edi, r10d
mov edx, edi
xor edx, ebx
mov edi, r8d
and edi, ebp
xor edx, esi
xor edx, edi
rorx edx, edx, 7
add edx, ecx
mov ecx, dword [r15 + 0x10]
mov edi, r11d
rorx eax, eax, 0xb
lea eax, [rcx + rax - 0x3a2e4fdd]
mov ecx, r9d
xor edi, r8d
and ecx, ebp
xor ecx, edi
and ecx, r10d
mov esi, ecx
mov ecx, ebx
and ecx, r9d
xor ecx, r11d
mov edi, ebp
and edi, edx
xor ecx, esi
xor ecx, edi
mov edi, dword [r15 + 0x50]
rorx ebx, ebx, 0xb
rorx ecx, ecx, 7
add ecx, eax
lea eax, [rdi + rbx + 0x286085f0]
mov edi, r8d
mov ebx, r10d
xor ebx, ebp
and edi, edx
xor edi, ebx
mov ebx, edi
mov edi, r11d
and edi, r8d
and ebx, r9d
xor edi, r10d
xor edi, ebx
mov ebx, edx
and ebx, ecx
xor edi, ebx
mov ebx, dword [r15 + 0x70]
rorx r11d, r11d, 0xb
rorx edi, edi, 7
add edi, eax
lea eax, [rbx + r11 - 0x35be86e8]
mov ebx, ebp
and ebx, ecx
mov esi, ebx
mov ebx, r9d
xor ebx, edx
xor esi, ebx
mov ebx, esi
and ebx, r8d
mov r11d, ebx
mov ebx, r10d
and ebx, ebp
mov esi, ebx
xor esi, r9d
mov ebx, ecx
and ebx, edi
xor esi, r11d
xor esi, ebx
mov ebx, dword [r15 + 0x44]
rorx r10d, r10d, 0xb
rorx esi, esi, 7
add esi, eax
lea eax, [rbx + r10 - 0x4724c711]
mov r10d, edx
mov ebx, r8d
and r10d, edi
xor ebx, ecx
xor r10d, ebx
and r10d, ebp
mov r11d, r10d
mov r10d, r9d
and r10d, edx
xor r10d, r8d
mov ebx, edi
and ebx, esi
xor r10d, r11d
xor r10d, ebx
mov ebx, dword [r15 + 0x20]
rorx r9d, r9d, 0xb
rorx r10d, r10d, 7
add r10d, eax
lea eax, [rbx + r9 - 0x71862350]
mov ebx, ecx
mov r9d, ebp
xor r9d, edi
and ebx, esi
xor ebx, r9d
and ebx, edx
mov r9d, ebx
mov ebx, r8d
and ebx, ecx
xor ebx, ebp
xor ebx, r9d
mov r9d, esi
and r9d, r10d
xor ebx, r9d
mov r9d, dword [r15 + 0x58]
rorx r8d, r8d, 0xb
rorx ebx, ebx, 7
add ebx, eax
lea eax, [r9 + r8 + 0x603a180e]
mov r9d, edi
and r9d, r10d
mov r8d, edx
xor r8d, esi
mov r11d, r9d
mov r9d, ebp
and r9d, edi
xor r11d, r8d
mov r8d, r11d
mov r11d, r9d
and r8d, ecx
xor r11d, edx
xor r11d, r8d
mov r8d, r10d
mov r9d, dword [r15 + 0x74]
and r8d, ebx
xor r11d, r8d
rorx ebp, ebp, 0xb
rorx r11d, r11d, 7
lea r8d, [r9 + rbp + 0x6c9e0e8b]
add r11d, eax
mov r9d, ecx
mov eax, esi
xor r9d, r10d
and eax, ebx
xor eax, r9d
mov r9d, eax
mov eax, edx
and eax, esi
and r9d, edi
xor eax, ecx
xor eax, r9d
mov r9d, ebx
and r9d, r11d
xor eax, r9d
mov r9d, dword [r15 + 0x38]
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, r8d
lea r8d, [r9 + rdx - 0x4fe175c2]
mov r9d, r10d
and r9d, r11d
mov edx, r9d
mov r9d, edi
xor r9d, ebx
mov ebp, ecx
and ebp, r10d
xor edx, r9d
mov r9d, edx
mov edx, ebp
and r9d, esi
xor edx, edi
xor edx, r9d
mov r9d, r11d
and r9d, eax
xor edx, r9d
mov r9d, dword [r15 + 0x64]
rorx ecx, ecx, 0xb
rorx edx, edx, 7
add edx, r8d
lea r8d, [r9 + rcx - 0x28ea883f]
mov ecx, ebx
mov r9d, esi
xor r9d, r11d
and ecx, eax
xor ecx, r9d
and ecx, r10d
mov r9d, ecx
mov ecx, edi
and ecx, ebx
xor ecx, esi
xor ecx, r9d
mov r9d, eax
and r9d, edx
xor ecx, r9d
mov r9d, dword [r15 + 0x30]
rorx edi, edi, 0xb
lea r9d, [r9 + rdi - 0x42ceb4d9]
mov edi, r11d
and edi, edx
rorx ecx, ecx, 7
add ecx, r8d
mov r8d, edi
mov edi, r10d
xor edi, eax
xor r8d, edi
mov edi, r8d
mov r8d, esi
and edi, ebx
and r8d, r11d
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
xor r8d, edi
mov edi, dword [r15 + 0x60]
rorx r8d, r8d, 7
rorx esi, esi, 0xb
add r8d, r9d
lea esi, [rdi + rsi + 0x78af2fda]
mov r9d, eax
mov edi, ebx
xor edi, edx
and r9d, ecx
xor r9d, edi
mov edi, r9d
mov r9d, r10d
and r9d, eax
and edi, r11d
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
xor r9d, edi
rorx r10d, r10d, 0xb
mov edi, r11d
rorx r9d, r9d, 7
add r9d, esi
lea esi, [r14 + r10 + 0x55605c60]
mov r10d, edx
xor edi, ecx
and r10d, r8d
xor r10d, edi
mov edi, r10d
mov r10d, ebx
and r10d, edx
and edi, eax
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
xor r10d, edi
mov edi, dword [r15 + 0x40]
rorx ebx, ebx, 0xb
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rdi + rbx - 0x19aada0d]
mov ebx, ecx
mov edi, eax
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
xor ebx, edi
mov edi, dword [r15 + 0x68]
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [rdi + r11 - 0x55aa546c]
mov edi, r8d
and edi, r10d
mov r11d, edi
mov edi, edx
xor edi, r9d
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
xor r11d, edi
rorx eax, eax, 0xb
mov edi, ecx
rorx r11d, r11d, 7
add r11d, esi
lea esi, [r12 + rax + 0x57489862]
mov eax, r9d
xor edi, r10d
and eax, ebx
xor eax, edi
mov edi, eax
mov eax, edx
and eax, r9d
and edi, r8d
xor eax, ecx
xor eax, edi
mov edi, ebx
and edi, r11d
xor eax, edi
mov edi, dword [r15 + 0x3c]
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, esi
lea esi, [rdi + rdx + 0x63e81440]
mov edi, r10d
and edi, r11d
mov edx, edi
mov edi, r8d
xor edi, ebx
mov ebp, ecx
and ebp, r10d
xor edx, edi
mov edi, edx
mov edx, ebp
and edi, r9d
xor edx, r8d
xor edx, edi
mov edi, r11d
and edi, eax
xor edx, edi
mov edi, dword [r15 + 0x1c]
rorx ecx, ecx, 0xb
rorx edx, edx, 7
add edx, esi
lea esi, [rdi + rcx + 0x55ca396a]
mov ecx, ebx
mov edi, r9d
xor edi, r11d
and ecx, eax
xor ecx, edi
and ecx, r10d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, r9d
xor ecx, edi
mov edi, eax
and edi, edx
xor ecx, edi
mov edi, dword [r15 + 0xc]
rorx r8d, r8d, 0xb
rorx ecx, ecx, 7
add ecx, esi
lea esi, [rdi + r8 + 0x2aab10b6]
mov edi, r11d
and edi, edx
mov r8d, edi
mov edi, r10d
xor edi, eax
xor r8d, edi
mov edi, r8d
mov r8d, r9d
and r8d, r11d
and edi, ebx
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
xor r8d, edi
mov edi, dword [r15 + 4]
rorx r9d, r9d, 0xb
rorx r8d, r8d, 7
add r8d, esi
lea esi, [rdi + r9 - 0x4b33a3cc]
mov r9d, eax
mov edi, ebx
xor edi, edx
and r9d, ecx
xor r9d, edi
mov edi, r9d
mov r9d, r10d
and r9d, eax
and edi, r11d
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
xor r9d, edi
mov edi, dword [r15]
rorx r10d, r10d, 0xb
rorx r9d, r9d, 7
add r9d, esi
lea esi, [rdi + r10 + 0x1141e8ce]
mov r10d, edx
mov edi, r11d
and r10d, r8d
xor edi, ecx
xor r10d, edi
mov edi, r10d
mov r10d, ebx
and r10d, edx
and edi, eax
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
xor r10d, edi
mov edi, dword [r15 + 0x48]
rorx ebx, ebx, 0xb
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rdi + rbx - 0x5eab7951]
mov ebx, ecx
mov edi, eax
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
xor ebx, edi
mov edi, r8d
and edi, r10d
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [r13 + r11 + 0x7c72e993]
mov r11d, edi
mov edi, edx
xor edi, r9d
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
xor r11d, edi
mov edi, dword [r15 + 0x34]
rorx eax, eax, 0xb
rorx r11d, r11d, 7
add r11d, esi
lea esi, [rdi + rax - 0x4c11ebef]
mov eax, r9d
mov edi, ecx
xor edi, r10d
and eax, ebx
xor eax, edi
mov edi, eax
mov eax, edx
and eax, r9d
and edi, r8d
xor eax, ecx
xor eax, edi
mov edi, ebx
and edi, r11d
mov dword [rsp + 0x24], r12d
xor eax, edi
mov edi, dword [r15 + 0x18]
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, esi
lea esi, [rdi + rdx + 0x636fbc2a]
mov edi, r10d
and edi, r11d
mov edx, edi
mov edi, r8d
xor edi, ebx
mov ebp, ecx
and ebp, r10d
xor edx, edi
mov edi, edx
mov edx, ebp
and edi, r9d
xor edx, r8d
xor edx, edi
mov edi, r11d
and edi, eax
xor edx, edi
mov edi, dword [r15 + 0x54]
rorx ecx, ecx, 0xb
rorx edx, edx, 7
add edx, esi
lea esi, [rdi + rcx + 0x2ba9c55d]
mov ecx, ebx
mov edi, r9d
xor edi, r11d
and ecx, eax
xor ecx, edi
and ecx, r10d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, r9d
xor ecx, edi
mov edi, eax
and edi, edx
xor ecx, edi
mov edi, dword [r15 + 0x28]
rorx r8d, r8d, 0xb
rorx ecx, ecx, 7
add ecx, esi
lea esi, [rdi + r8 + 0x741831f6]
mov edi, r11d
and edi, edx
mov r8d, edi
mov edi, r10d
xor edi, eax
xor r8d, edi
mov edi, r8d
mov r8d, r9d
and edi, ebx
and r8d, r11d
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
xor r8d, edi
mov edi, dword [r15 + 0x5c]
rorx r9d, r9d, 0xb
rorx r8d, r8d, 7
add r8d, esi
lea esi, [rdi + r9 - 0x31a3c1ea]
mov r9d, eax
mov edi, ebx
xor edi, edx
and r9d, ecx
xor r9d, edi
mov edi, r9d
mov r9d, r10d
and r9d, eax
and edi, r11d
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
xor r9d, edi
mov edi, dword [r15 + 0x2c]
rorx r10d, r10d, 0xb
rorx r9d, r9d, 7
add r9d, esi
lea esi, [rdi + r10 - 0x64786ce2]
mov r10d, edx
mov edi, r11d
xor edi, ecx
and r10d, r8d
xor r10d, edi
mov edi, r10d
mov r10d, ebx
and r10d, edx
and edi, eax
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
xor r10d, edi
mov edi, dword [r15 + 0x14]
rorx ebx, ebx, 0xb
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rdi + rbx - 0x502945cd]
mov ebx, ecx
mov edi, eax
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
xor ebx, edi
mov edi, dword [r15 + 8]
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [rdi + r11 + 0x6c24cf5c]
mov edi, r8d
and edi, r10d
mov r11d, edi
mov edi, edx
xor edi, r9d
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
xor r11d, edi
mov edi, dword [r15 + 0x60]
rorx eax, eax, 0xb
lea r12d, [rdi + rax + 0x7a325381]
mov edi, r9d
or edi, ebx
mov eax, r8d
rorx r11d, r11d, 7
add r11d, esi
mov esi, edi
and eax, r11d
xor esi, ecx
mov ebp, edx
xor esi, eax
xor ebp, r8d
mov eax, ebx
xor ebp, ebx
and eax, r11d
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
and edi, r9d
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x10]
add eax, r12d
rorx edx, edx, 0xb
lea r12d, [rdi + rdx + 0x28958677]
mov edi, r10d
or edi, r11d
mov esi, edi
mov edi, r9d
and edi, eax
xor esi, r8d
xor esi, edi
mov ebp, ecx
mov edi, r11d
and edi, eax
xor ebp, r9d
xor ebp, r11d
mov edx, edi
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
and edi, r10d
xor edi, esi
rorx edx, edi, 7
mov edi, dword [r15]
add edx, r12d
rorx ecx, ecx, 0xb
lea r12d, [rdi + rcx + 0x3b8f4898]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x38]
add ecx, r12d
rorx r8d, r8d, 0xb
lea r12d, [rdi + r8 + 0x6b4bb9af]
mov edi, r11d
or edi, edx
mov esi, edi
mov edi, ebx
and edi, ecx
xor esi, r10d
xor esi, edi
mov ebp, r9d
mov edi, edx
and esi, eax
and edi, ecx
xor ebp, ebx
xor ebp, edx
mov r8d, edi
xor r8d, r9d
andn edi, ecx, r10d
xor edi, ebp
xor esi, r8d
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
mov edi, dword [r15 + 8]
add r8d, r12d
rorx r9d, r9d, 0xb
lea r12d, [rdi + r9 - 0x3b4017e5]
mov edi, eax
or edi, ecx
mov esi, edi
mov r9d, r11d
and r9d, r8d
xor esi, ebx
mov ebp, r10d
xor esi, r9d
xor ebp, r11d
mov r9d, ecx
xor ebp, ecx
and r9d, r8d
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
and edi, eax
xor edi, esi
rorx r9d, edi, 7
mov edi, dword [r15 + 0x1c]
add r9d, r12d
rorx r10d, r10d, 0xb
lea r12d, [rdi + r10 + 0x66282193]
mov edi, edx
or edi, r8d
mov esi, edi
mov r10d, eax
and r10d, r9d
xor esi, r11d
xor esi, r10d
mov r10d, r8d
and r10d, r9d
xor r10d, ebx
and esi, ecx
mov ebp, ebx
xor esi, r10d
xor ebp, eax
xor ebp, r8d
andn edi, r9d, r11d
xor edi, ebp
and edi, edx
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x70]
add r10d, r12d
rorx ebx, ebx, 0xb
lea r12d, [rdi + rbx + 0x61d809cc]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
and ebx, r10d
xor esi, eax
mov ebp, r11d
xor esi, ebx
xor ebp, edx
mov ebx, r9d
xor ebp, r9d
and ebx, r10d
xor ebx, r11d
andn edi, r10d, eax
and esi, r8d
xor edi, ebp
xor esi, ebx
and edi, ecx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 0x5c]
add ebx, r12d
rorx r11d, r11d, 0xb
lea r12d, [rdi + r11 - 0x4de566f]
mov edi, r8d
or edi, r10d
mov esi, edi
mov edi, ecx
and edi, ebx
xor esi, edx
xor esi, edi
mov edi, r10d
and edi, ebx
mov r11d, edi
xor r11d, eax
and esi, r9d
mov ebp, eax
xor esi, r11d
andn edi, ebx, edx
xor ebp, ecx
xor ebp, r10d
xor edi, ebp
and edi, r8d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x68]
add r11d, r12d
rorx eax, eax, 0xb
lea r12d, [rdi + rax + 0x487cac60]
mov edi, r9d
or edi, ebx
mov esi, edi
mov eax, r8d
and eax, r11d
xor esi, ecx
mov ebp, edx
xor esi, eax
xor ebp, r8d
mov eax, ebx
xor ebp, ebx
and eax, r11d
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
and edi, r9d
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x18]
add eax, r12d
rorx edx, edx, 0xb
lea r12d, [rdi + rdx + 0x5dec8032]
mov edi, r10d
or edi, r11d
mov esi, edi
mov edi, r9d
and edi, eax
xor esi, r8d
xor esi, edi
mov edi, r11d
and edi, eax
mov ebp, ecx
xor ebp, r9d
mov edx, edi
xor edx, ecx
and esi, ebx
xor ebp, r11d
xor esi, edx
andn edi, eax, r8d
xor edi, ebp
and edi, r10d
xor edi, esi
rorx edx, edi, 7
rorx ecx, ecx, 0xb
add edx, r12d
lea r12d, [r14 + rcx - 0x107ba2a3]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x50]
add ecx, r12d
rorx r8d, r8d, 0xb
lea r12d, [rdi + r8 - 0x167a8a4f]
mov edi, r11d
or edi, edx
mov esi, edi
mov edi, ebx
and edi, ecx
xor esi, r10d
xor esi, edi
mov ebp, r9d
mov edi, edx
and edi, ecx
xor ebp, ebx
xor ebp, edx
mov r8d, edi
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
mov edi, dword [r15 + 0x48]
add r8d, r12d
rorx r9d, r9d, 0xb
lea r12d, [rdi + r9 - 0x23d9dcfe]
mov edi, eax
or edi, ecx
mov esi, edi
mov r9d, r11d
and r9d, r8d
xor esi, ebx
mov ebp, r10d
xor esi, r9d
xor ebp, r11d
mov r9d, ecx
xor ebp, ecx
and r9d, r8d
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
and edi, eax
xor edi, esi
rorx r9d, edi, 7
mov edi, dword [r15 + 0x64]
add r9d, r12d
rorx r10d, r10d, 0xb
lea r12d, [rdi + r10 - 0x149ae478]
mov edi, edx
or edi, r8d
mov esi, edi
mov r10d, eax
and r10d, r9d
xor esi, r11d
mov ebp, ebx
xor esi, r10d
xor ebp, eax
mov r10d, r8d
xor ebp, r8d
and r10d, r9d
xor r10d, ebx
andn edi, r9d, r11d
and esi, ecx
xor edi, ebp
xor esi, r10d
and edi, edx
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x4c]
add r10d, r12d
rorx ebx, ebx, 0xb
lea r12d, [rdi + rbx + 0x23893e81]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
and ebx, r10d
xor esi, eax
mov ebp, r11d
xor esi, ebx
xor ebp, edx
mov ebx, r9d
xor ebp, r9d
and ebx, r10d
xor ebx, r11d
andn edi, r10d, eax
and esi, r8d
xor edi, ebp
xor esi, ebx
and edi, ecx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 0xc]
add ebx, r12d
rorx r11d, r11d, 0xb
lea r12d, [rdi + r11 - 0x2c69533b]
mov edi, r8d
or edi, r10d
mov esi, edi
mov edi, ecx
and edi, ebx
xor esi, edx
xor esi, edi
mov ebp, eax
mov edi, r10d
and edi, ebx
xor ebp, ecx
xor ebp, r10d
mov r11d, edi
xor r11d, eax
andn edi, ebx, edx
and esi, r9d
xor edi, ebp
xor esi, r11d
and edi, r8d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 0x58]
add r11d, r12d
rorx eax, eax, 0xb
lea r12d, [rdi + rax + 0xf6d6ff3]
mov edi, r9d
or edi, ebx
mov esi, edi
mov eax, r8d
xor esi, ecx
mov ebp, edx
and eax, r11d
xor esi, eax
xor ebp, r8d
mov eax, ebx
xor ebp, ebx
and eax, r11d
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
and edi, r9d
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x2c]
add eax, r12d
rorx edx, edx, 0xb
lea r12d, [rdi + rdx - 0x7c0bbdc7]
mov edi, r10d
or edi, r11d
mov esi, edi
mov edi, r9d
and edi, eax
xor esi, r8d
xor esi, edi
mov ebp, ecx
mov edi, r11d
and edi, eax
xor ebp, r9d
xor ebp, r11d
mov edx, edi
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
and edi, r10d
xor edi, esi
rorx edx, edi, 7
add edx, r12d
mov r12d, dword [rsp + 0x24]
rorx ecx, ecx, 0xb
lea r12d, [r12 + rcx + 0x2e0b4482]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
xor esi, ecx
mov ebp, r8d
and esi, r11d
mov ecx, eax
xor ebp, r10d
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
xor edi, ebp
xor esi, ecx
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x54]
add ecx, r12d
rorx r8d, r8d, 0xb
lea r12d, [rdi + r8 - 0x5b7bdffc]
mov edi, r11d
or edi, edx
mov esi, edi
mov edi, ebx
and edi, ecx
xor esi, r10d
xor esi, edi
mov ebp, r9d
mov edi, edx
and edi, ecx
xor ebp, ebx
xor ebp, edx
mov r8d, edi
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
mov edi, dword [r15 + 0x20]
add r8d, r12d
rorx r9d, r9d, 0xb
lea r12d, [rdi + r9 + 0x69c8f04a]
mov edi, eax
or edi, ecx
mov esi, edi
mov r9d, r11d
and r9d, r8d
xor esi, ebx
xor esi, r9d
mov r9d, ecx
and r9d, r8d
mov ebp, r10d
and esi, edx
xor r9d, r10d
xor ebp, r11d
xor ebp, ecx
andn edi, r8d, ebx
xor edi, ebp
xor esi, r9d
and edi, eax
xor edi, esi
rorx r9d, edi, 7
mov edi, edx
or edi, r8d
add r9d, r12d
mov esi, edi
rorx r10d, r10d, 0xb
lea r12d, [r13 + r10 - 0x61e064a2]
mov r10d, eax
and r10d, r9d
xor esi, r11d
mov ebp, ebx
xor esi, r10d
xor ebp, eax
mov r10d, r8d
xor ebp, r8d
and r10d, r9d
xor r10d, ebx
andn edi, r9d, r11d
and esi, ecx
xor edi, ebp
xor esi, r10d
and edi, edx
xor edi, esi
rorx r10d, edi, 7
mov edi, dword [r15 + 0x30]
add r10d, r12d
rorx ebx, ebx, 0xb
lea r12d, [rdi + rbx + 0x21c66842]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
and ebx, r10d
xor esi, eax
xor esi, ebx
mov ebx, r9d
and ebx, r10d
xor ebx, r11d
and esi, r8d
mov ebp, r11d
xor esi, ebx
andn edi, r10d, eax
xor ebp, edx
xor ebp, r9d
xor edi, ebp
and edi, ecx
xor edi, esi
rorx ebx, edi, 7
mov edi, dword [r15 + 0x24]
add ebx, r12d
rorx r11d, r11d, 0xb
lea r12d, [rdi + r11 - 0x9169366]
mov edi, r8d
or edi, r10d
mov esi, edi
mov edi, ecx
and edi, ebx
xor esi, edx
xor esi, edi
mov ebp, eax
mov edi, r10d
and edi, ebx
xor ebp, ecx
xor ebp, r10d
mov r11d, edi
xor r11d, eax
andn edi, ebx, edx
and esi, r9d
xor edi, ebp
xor esi, r11d
and edi, r8d
xor edi, esi
rorx r11d, edi, 7
mov edi, dword [r15 + 4]
add r11d, r12d
rorx eax, eax, 0xb
lea r12d, [rdi + rax + 0x670c9c61]
mov edi, r9d
or edi, ebx
mov esi, edi
mov eax, r8d
and eax, r11d
xor esi, ecx
xor esi, eax
mov eax, ebx
and eax, r11d
mov ebp, edx
xor eax, edx
and esi, r10d
xor ebp, r8d
xor esi, eax
andn edi, r11d, ecx
xor ebp, ebx
xor edi, ebp
and edi, r9d
xor edi, esi
rorx eax, edi, 7
mov edi, dword [r15 + 0x74]
add eax, r12d
rorx edx, edx, 0xb
lea r12d, [rdi + rdx - 0x542c7710]
mov edi, r10d
or edi, r11d
mov esi, edi
mov edi, r9d
and edi, eax
xor esi, r8d
xor esi, edi
mov ebp, ecx
mov edi, r11d
and edi, eax
xor ebp, r9d
xor ebp, r11d
mov edx, edi
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
and edi, r10d
xor edi, esi
mov dword [rsp + 0x3c], r14d
rorx edx, edi, 7
mov edi, dword [r15 + 0x14]
add edx, r12d
rorx ecx, ecx, 0xb
lea r12d, [rdi + rcx + 0x6a51a0d2]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
mov edi, dword [r15 + 0x3c]
add ecx, r12d
rorx r8d, r8d, 0xb
lea r12d, [rdi + r8 - 0x27abd098]
mov edi, r11d
or edi, edx
mov esi, edi
mov edi, ebx
and edi, ecx
xor esi, r10d
xor esi, edi
mov ebp, r9d
mov edi, edx
and edi, ecx
xor ebp, ebx
xor ebp, edx
mov r8d, edi
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
mov ebp, dword [r15 + 0x44]
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, r12d
lea r12d, [rbp + r9 - 0x69f058d8]
mov r9d, eax
or r9d, ecx
mov edi, ecx
mov esi, r9d
mov ebp, r10d
mov r9d, r11d
and edi, r8d
and r9d, r8d
xor esi, ebx
xor ebp, r11d
xor ebp, ecx
xor esi, r9d
mov r9d, edi
mov dword [rsp + 0x28], edi
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
mov ebp, dword [r15 + 0x28]
and edi, eax
xor edi, esi
rorx r9d, edi, 7
rorx r10d, r10d, 0xb
add r9d, r12d
lea r12d, [rbp + r10 - 0x54aecc5d]
mov r10d, edx
or r10d, r8d
mov edi, r8d
mov esi, r10d
mov ebp, ebx
mov r10d, eax
and edi, r9d
and r10d, r9d
xor esi, r11d
xor ebp, eax
xor ebp, r8d
xor esi, r10d
mov r10d, edi
mov dword [rsp + 0x2c], edi
xor r10d, ebx
andn edi, r9d, r11d
and esi, ecx
xor edi, ebp
xor esi, r10d
and edi, edx
xor edi, esi
mov ebp, edx
rorx r10d, edi, 7
add r10d, r12d
and ebp, r10d
mov r14d, ebp
mov ebp, r9d
and ebp, r10d
mov dword [rsp + 0x18], ebp
mov ebp, dword [r15 + 0x40]
rorx ebx, ebx, 0xb
lea r12d, [rbp + rbx + 0x6eef0b6c]
mov ebx, r11d
xor ebx, edx
xor ebx, r9d
andn esi, r10d, eax
xor esi, ebx
mov ebx, ecx
or ebx, r9d
mov edi, ebx
xor edi, eax
mov ebx, dword [rsp + 0x18]
xor edi, r14d
xor ebx, r11d
and edi, r8d
and esi, ecx
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, ecx
add ebx, r12d
and edi, ebx
mov r12d, edi
mov esi, eax
mov edi, r10d
and edi, ebx
mov ebp, dword [r15 + 0x34]
xor esi, ecx
xor esi, r10d
mov dword [rsp + 0x38], r14d
rorx r11d, r11d, 0xb
lea r14d, [rbp + r11 + 0x137a3be4]
andn r11d, ebx, edx
xor r11d, esi
mov esi, r8d
or esi, r10d
xor esi, edx
xor esi, r12d
mov ebp, edi
xor ebp, eax
and esi, r9d
and r11d, r8d
xor esi, ebp
xor esi, r11d
rorx esi, esi, 7
add r14d, esi
mov esi, dword [rsp + 0x2c]
rorx eax, eax, 0xb
lea r11d, [r13 + rax - 0x45c40fb0]
mov r13d, dword [rsp + 0x28]
mov eax, esi
mov ebp, dword [r15 + 0xc]
and eax, edx
xor r13d, dword [rsp + 0x38]
xor eax, ecx
andn eax, eax, ebx
rorx edx, edx, 0xb
xor eax, r13d
lea edx, [rbp + rdx + 0x7efb2a98]
mov r13d, r9d
mov ebp, dword [rsp + 0x18]
and r13d, r14d
and ebp, ecx
xor eax, r13d
rorx eax, eax, 7
add r11d, eax
mov eax, ebp
xor r12d, esi
xor eax, r8d
mov ebp, r10d
and ebp, r11d
andn eax, eax, r14d
xor eax, r12d
xor eax, ebp
mov ebp, dword [r15 + 0x54]
rorx ecx, ecx, 0xb
lea r12d, [rbp + rcx - 0x5e0e9ae3]
mov ecx, edi
and ecx, r8d
mov esi, ecx
mov ebp, dword [rsp + 0x18]
xor esi, r9d
rorx eax, eax, 7
add edx, eax
mov eax, r8d
andn esi, esi, r11d
and eax, r14d
xor ebp, eax
mov eax, ebx
and eax, r14d
xor esi, ebp
mov ecx, ebx
mov ebp, dword [r15 + 0x68]
and ecx, edx
mov r13d, eax
and r13d, r9d
xor esi, ecx
rorx r8d, r8d, 0xb
lea ebp, [rbp + r8 + 0x39af0176]
mov r8d, r9d
and r8d, r11d
rorx ecx, esi, 7
mov esi, r13d
xor edi, r8d
xor esi, r10d
add ecx, r12d
andn esi, esi, edx
xor esi, edi
mov edi, r14d
and edi, ecx
xor esi, edi
mov edi, r14d
and edi, r11d
rorx r12d, esi, 7
mov esi, edi
mov edi, dword [r15 + 0x44]
mov r8d, r10d
rorx r9d, r9d, 0xb
lea edi, [rdi + r9 + 0x66ca593e]
mov r9d, esi
and r8d, edx
and r9d, r10d
add r12d, ebp
xor eax, r8d
xor r9d, ebx
mov ebp, r11d
and ebp, r12d
andn r9d, r9d, ecx
xor r9d, eax
xor r9d, ebp
rorx ebp, r9d, 7
add ebp, edi
mov edi, r11d
and edi, edx
mov r8d, edi
mov r9d, r8d
mov edi, dword [r15 + 0x2c]
and r9d, ebx
mov eax, ebx
xor r9d, r14d
and eax, ecx
andn r9d, r9d, r12d
rorx r10d, r10d, 0xb
xor eax, esi
lea r10d, [rdi + r10 - 0x7dbcf178]
mov edi, edx
and edi, ebp
xor r9d, eax
mov r13d, edx
and r13d, ecx
xor r9d, edi
mov eax, r14d
rorx edi, r9d, 7
mov r9d, r13d
add edi, r10d
mov r10d, dword [r15 + 0x50]
and r9d, r14d
and eax, r12d
xor eax, r8d
xor r9d, r11d
rorx ebx, ebx, 0xb
lea ebx, [r10 + rbx - 0x731179e7]
mov r10d, ecx
and r10d, edi
andn r9d, r9d, ebp
xor r9d, eax
xor r9d, r10d
rorx r10d, r9d, 7
add r10d, ebx
mov ebx, ecx
and ebx, r12d
mov r8d, ebx
mov ebx, dword [r15 + 0x74]
mov eax, r11d
rorx r14d, r14d, 0xb
lea esi, [rbx + r14 + 0x456f9fb4]
mov ebx, r8d
and ebx, r11d
and eax, ebp
xor eax, r13d
xor ebx, edx
mov r9d, r12d
and r9d, r10d
andn ebx, ebx, edi
xor ebx, eax
xor ebx, r9d
rorx r9d, ebx, 7
mov ebx, r12d
and ebx, ebp
add r9d, esi
mov esi, ebx
mov ebx, dword [r15 + 0x4c]
mov eax, edx
rorx r11d, r11d, 0xb
lea r13d, [rbx + r11 + 0x7d84a5c3]
mov ebx, esi
and ebx, edx
and eax, edi
xor eax, r8d
xor ebx, ecx
andn ebx, ebx, r10d
xor ebx, eax
mov eax, ebp
and eax, r9d
xor ebx, eax
rorx r11d, ebx, 7
mov ebx, ebp
and ebx, edi
mov r8d, ebx
mov ebx, dword [r15]
add r11d, r13d
rorx edx, edx, 0xb
lea r13d, [rbx + rdx + 0x3b8b5ebe]
mov ebx, r8d
and ebx, ecx
mov eax, ecx
and eax, r10d
mov edx, ebx
xor eax, esi
xor edx, r12d
mov ebx, edi
and ebx, r11d
andn edx, edx, r9d
xor edx, eax
xor edx, ebx
mov eax, dword [r15 + 0x30]
rorx ebx, edx, 7
add ebx, r13d
mov r13d, edi
and r13d, r10d
rorx ecx, ecx, 0xb
lea ecx, [rax + rcx - 0x1f908a28]
mov eax, r13d
and eax, r12d
mov edx, eax
mov eax, r12d
and eax, r9d
xor eax, r8d
xor edx, ebp
andn edx, edx, r11d
xor edx, eax
mov eax, r10d
and eax, ebx
xor edx, eax
rorx esi, edx, 7
mov eax, r10d
add esi, ecx
mov ecx, dword [r15 + 0x1c]
and eax, r9d
mov r8d, ebp
and r8d, r11d
rorx r12d, r12d, 0xb
lea r12d, [rcx + r12 - 0x7a3edf8d]
mov ecx, eax
and ecx, ebp
mov edx, r8d
xor edx, r13d
xor ecx, edi
mov r8d, r9d
and r8d, esi
andn ecx, ecx, ebx
xor ecx, edx
xor ecx, r8d
rorx r8d, ecx, 7
mov ecx, r9d
add r8d, r12d
and ecx, r11d
mov r12d, ecx
mov ecx, dword [r15 + 0x34]
rorx ebp, ebp, 0xb
lea r13d, [rcx + rbp + 0x401a449f]
mov ebp, r12d
mov ecx, edi
and ebp, edi
and ecx, ebx
xor ecx, eax
xor ebp, r10d
andn ebp, ebp, esi
xor ebp, ecx
mov ecx, r11d
and ecx, r8d
xor ebp, ecx
rorx edx, ebp, 7
mov ecx, dword [r15 + 0x20]
mov ebp, r11d
and ebp, ebx
mov eax, r10d
rorx edi, edi, 0xb
lea edi, [rcx + rdi + 0x56c16aa6]
mov ecx, ebp
and ecx, r10d
and eax, esi
xor eax, r12d
xor ecx, r9d
add edx, r13d
andn ecx, ecx, r8d
xor ecx, eax
mov eax, ebx
and eax, edx
mov r12d, dword [rsp + 0x24]
xor ecx, eax
mov eax, ebx
and eax, esi
rorx ecx, ecx, 7
rorx r10d, r10d, 0xb
add edi, ecx
lea r12d, [r12 + r10 + 0x4ed3aa62]
mov ecx, r9d
mov r10d, eax
and ecx, r8d
and r10d, r9d
xor ebp, ecx
xor r10d, r11d
andn r10d, r10d, edx
xor r10d, ebp
mov ebp, esi
and ebp, edi
xor r10d, ebp
mov ecx, esi
rorx ebp, r10d, 7
mov r10d, dword [r15 + 0x28]
and ecx, r8d
rorx r9d, r9d, 0xb
lea r13d, [r10 + r9 + 0x363f7706]
mov r10d, ecx
mov r9d, r11d
add ebp, r12d
and r10d, r11d
and r9d, edx
xor eax, r9d
xor r10d, ebx
mov r12d, r8d
and r12d, ebp
andn r10d, r10d, edi
xor r10d, eax
xor r10d, r12d
mov eax, r8d
rorx r12d, r10d, 7
mov r10d, dword [r15 + 0x14]
and eax, edx
add r12d, r13d
rorx r11d, r11d, 0xb
lea r13d, [r10 + r11 + 0x1bfedf72]
mov r10d, eax
and r10d, ebx
mov r9d, ebx
and r9d, edi
mov r11d, r10d
xor ecx, r9d
xor r11d, esi
mov r10d, edx
and r10d, r12d
andn r11d, r11d, ebp
xor r11d, ecx
mov ecx, edx
and ecx, edi
xor r11d, r10d
rorx r10d, r11d, 7
mov r11d, ecx
mov ecx, dword [r15 + 0x24]
add r10d, r13d
rorx ebx, ebx, 0xb
lea r13d, [rcx + rbx + 0x429b023d]
mov ebx, r11d
mov ecx, esi
and ebx, esi
and ecx, ebp
xor ecx, eax
xor ebx, r8d
mov r9d, edi
and r9d, r10d
andn ebx, ebx, r12d
xor ebx, ecx
xor ebx, r9d
mov ecx, dword [r15 + 0x38]
rorx r9d, ebx, 7
mov ebx, edi
and ebx, ebp
rorx esi, esi, 0xb
lea esi, [rcx + rsi + 0x37d0d724]
mov ecx, ebx
and ecx, r8d
xor ecx, edx
mov eax, r8d
add r9d, r13d
andn ecx, ecx, r10d
and eax, r12d
xor eax, r11d
xor ecx, eax
mov eax, ebp
and eax, r9d
xor ecx, eax
mov eax, ebp
and eax, r12d
mov r14d, dword [rsp + 0x3c]
rorx ecx, ecx, 7
add esi, ecx
mov ecx, eax
and ecx, edx
rorx r8d, r8d, 0xb
lea r11d, [r14 + r8 - 0x2ff5edb8]
mov r8d, ecx
mov ecx, edx
and ecx, r10d
xor ebx, ecx
xor r8d, edi
andn r8d, r8d, r9d
xor r8d, ebx
mov ebx, r12d
and ebx, esi
mov ecx, dword [r15 + 0x48]
mov r13d, r12d
xor r8d, ebx
and r13d, r10d
mov r14d, edi
rorx ebx, r8d, 7
rorx edx, edx, 0xb
lea r8d, [rcx + rdx - 0x24f0152d]
mov ecx, r13d
and r14d, r9d
and ecx, edi
add ebx, r11d
xor eax, r14d
xor ecx, ebp
mov r14d, r10d
and r14d, ebx
andn ecx, ecx, esi
xor ecx, eax
xor ecx, r14d
rorx r11d, ecx, 7
mov r14d, r10d
mov ecx, dword [r15 + 0x18]
and r14d, r9d
rorx edi, edi, 0xb
lea ecx, [rcx + rdi + 0x49f1c09b]
mov edi, r14d
and edi, ebp
mov edx, edi
mov eax, ebp
xor edx, r12d
and eax, esi
add r11d, r8d
andn edx, edx, ebx
mov edi, r9d
xor r13d, eax
xor edx, r13d
and edi, r11d
xor edx, edi
mov r13d, r9d
rorx r8d, edx, 7
add r8d, ecx
mov ecx, dword [r15 + 0x70]
and r13d, esi
mov eax, r12d
rorx ebp, ebp, 0xb
lea edi, [rcx + rbp + 0x75372c9]
mov ecx, r13d
and ecx, r12d
and eax, ebx
xor eax, r14d
xor ecx, r10d
mov r14d, esi
and r14d, r8d
andn ecx, ecx, r11d
xor ecx, eax
xor ecx, r14d
rorx edx, ecx, 7
mov ecx, dword [r15 + 0x60]
add edx, edi
mov edi, esi
and edi, ebx
mov ebp, edi
rorx r12d, r12d, 0xb
lea r12d, [rcx + r12 - 0x7f66e485]
mov ecx, r10d
and ebp, r10d
and ecx, r11d
xor ecx, r13d
xor ebp, r9d
mov eax, ebx
and eax, edx
andn ebp, ebp, r8d
xor ebp, ecx
xor ebp, eax
mov ecx, dword [r15 + 8]
rorx eax, ebp, 7
mov ebp, ebx
and ebp, r11d
add eax, r12d
rorx r10d, r10d, 0xb
mov r12d, ebp
lea r13d, [rcx + r10 + 0x25d479d8]
mov ecx, r9d
and r12d, r9d
and ecx, r8d
xor ecx, edi
xor r12d, esi
mov r10d, r11d
andn r12d, r12d, edx
mov edi, r11d
xor r12d, ecx
and r10d, eax
mov ecx, dword [r15 + 0x5c]
and edi, r8d
xor r12d, r10d
rorx r10d, r12d, 7
rorx r9d, r9d, 0xb
add r10d, r13d
mov r12d, edi
lea r13d, [rcx + r9 - 0x9172109]
mov ecx, esi
and r12d, esi
and ecx, edx
xor ecx, ebp
xor r12d, ebx
mov r9d, r8d
and r9d, r10d
andn r12d, r12d, eax
xor r12d, ecx
mov ecx, dword [r15 + 0x40]
xor r12d, r9d
mov ebp, r8d
and ebp, edx
rorx r9d, r12d, 7
rorx esi, esi, 0xb
add r9d, r13d
lea r13d, [rcx + rsi - 0x1c01afe6]
mov ecx, ebx
and ecx, eax
mov r12d, ebp
and r12d, ebx
mov esi, ecx
xor esi, edi
xor r12d, r11d
mov ecx, edx
and ecx, r9d
mov r14d, dword [r15 + 0x58]
andn r12d, r12d, r10d
xor r12d, esi
xor r12d, ecx
mov edi, edx
and edi, eax
rorx ecx, r12d, 7
rorx ebx, ebx, 0xb
add ecx, r13d
lea r13d, [r14 + rbx - 0x4986b3c5]
mov ebx, r11d
and ebx, r10d
mov r12d, edi
and r12d, r11d
mov esi, ebx
xor esi, ebp
xor r12d, r8d
mov ebx, eax
and ebx, ecx
mov r14d, dword [r15 + 0x10]
andn r12d, r12d, r9d
xor r12d, esi
xor r12d, ebx
mov ebp, eax
rorx ebx, r12d, 7
rorx r11d, r11d, 0xb
add ebx, r13d
and ebp, r10d
lea r13d, [r14 + r11 - 0x68931f43]
mov r14d, r8d
and r14d, r9d
mov r12d, ebp
and r12d, r8d
mov esi, r14d
xor esi, edi
xor r12d, edx
mov edi, r10d
and edi, ebx
mov r14d, dword [r15 + 4]
andn r12d, r12d, ecx
xor r12d, esi
xor r12d, edi
mov edi, r10d
and edi, r9d
rorx r11d, r12d, 7
rorx r8d, r8d, 0xb
add r11d, r13d
lea r13d, [r14 + r8 + 0x4c006ba]
mov r14d, edx
and r14d, ecx
mov r12d, edi
and r12d, edx
mov esi, r14d
xor esi, ebp
xor r12d, eax
mov r14d, r9d
and r14d, r11d
andn r12d, r12d, ebx
xor r12d, esi
xor r12d, r14d
mov ebp, r9d
mov r14d, dword [r15 + 0x64]
and ebp, ecx
rorx r8d, r12d, 7
rorx edx, edx, 0xb
lea r12d, [r14 + rdx - 0x3e56b04a]
mov r14d, ebp
and r14d, eax
mov esi, r14d
mov r14d, eax
and r14d, ebx
mov edx, r14d
add r8d, r13d
xor edx, edi
xor esi, r10d
mov edi, ecx
and edi, r8d
andn esi, esi, r11d
xor esi, edx
xor esi, edi
rorx esi, esi, 7
mov edi, dword [r15 + 0x3c]
add r12d, esi
mov esi, dword [rsp + 0x10]
rorx eax, eax, 0xb
lea edx, [rsi + rdi + 0x409f60c4]
mov edi, r10d
add eax, edx
and edi, ecx
mov edx, edi
mov r13d, r10d
and edx, ebx
and r13d, r11d
xor edx, r9d
xor ebp, r13d
andn edx, edx, r8d
xor edx, ebp
mov ebp, ebx
and ebp, r12d
xor edx, ebp
add ecx, dword [rsp + 0x14]
rorx edx, edx, 7
add eax, edx
mov rdx, qword [rsp + 0x30]
mov dword [r15 + 0x94], ecx
add r12d, dword [rsp + 4]
add r8d, dword [rsp + 8]
add r11d, dword [rsp + 0xc]
add ebx, dword [rsp]
add r9d, dword [rsp + 0x1c]
add r10d, dword [rsp + 0x20]
mov rcx, r15
mov dword [r15 + 0x80], eax
mov dword [r15 + 0x84], r12d
mov dword [r15 + 0x88], r8d
mov dword [r15 + 0x8c], r11d
mov dword [r15 + 0x90], ebx
mov dword [r15 + 0x98], r9d
mov dword [r15 + 0x9c], r10d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x501680
lea r10, [rcx + 8]
and r10, 0xfffffffffffffff8
lea r9, [rcx + r14 + 8]
mov qword [rcx], 0
sub rcx, r10
mov qword [r9 - 0x28], 0
mov qword [r9 - 0x20], 0
mov qword [r9 - 0x18], 0
mov qword [r9 - 0x10], 0
lea r9d, [r14 + rcx]
and r9d, 0xffffffe0
cmp r9d, 0x20
jb 0x516229
and r9d, 0xffffffe0
xor r14d, r14d
mov ecx, r14d
add r14d, 0x20
mov qword [r10 + rcx], r11
mov qword [r10 + rcx + 8], r11
mov qword [r10 + rcx + 0x10], r11
mov qword [r10 + rcx + 0x18], r11
cmp r14d, r9d
jb 0x518bb0
jmp 0x516229
mov r9d, pe_nt_image_headers64
sub r9d, r10d
xor r14d, r14d
cmp r9d, 8
jae 0x51b690
test r9b, 4
jne 0x51b728
test r9d, r9d
je 0x518c0a
mov byte [rcx], 0
test r9b, 2
jne 0x51b73c
add r8d, dword [r15]
add eax, r8d
mov r8d, dword [rsp + 8]
add r13d, dword [r15 + 4]
mov r11d, r8d
and r11d, eax
xor edx, r11d
rorx r11d, edx, 7
mov edx, dword [rsp]
add r13d, r11d
mov r11d, dword [rsp + 0x10]
mov r14d, dword [rsp + 4]
xor edx, eax
and edx, r11d
xor esi, edx
mov ecx, r14d
mov edx, dword [rsp + 0xc]
and ecx, r13d
xor esi, ecx
add r12d, dword [r15 + 8]
xor edx, r13d
and edx, eax
mov ecx, r11d
rorx esi, esi, 7
add r12d, esi
and ecx, r12d
xor ebx, edx
mov edx, r8d
xor ebx, ecx
add ebp, dword [r15 + 0xc]
xor edx, r12d
and edx, r13d
mov ecx, eax
mov r10d, r14d
rorx ebx, ebx, 7
add ebp, ebx
and ecx, ebp
xor edx, dword [rsp + 0x2c]
xor r10d, ebp
and r10d, r12d
xor edx, ecx
add edi, dword [r15 + 0x10]
rorx edx, edx, 7
add edi, edx
mov edx, r10d
mov r10d, r11d
and r10d, eax
xor r10d, r14d
mov ecx, r13d
mov r9d, r11d
xor r10d, edx
and ecx, edi
xor r9d, edi
and r9d, ebp
xor r10d, ecx
mov ecx, dword [rsp + 0x18]
mov edx, r9d
mov r9d, eax
add ecx, dword [r15 + 0x14]
and r9d, r13d
xor r9d, r11d
mov ebx, eax
rorx r10d, r10d, 7
add r10d, ecx
mov ecx, r12d
and ecx, r10d
xor r9d, edx
xor ebx, r10d
and ebx, edi
xor r9d, ecx
mov ecx, dword [rsp + 0x24]
mov edx, ebx
mov ebx, r13d
add ecx, dword [r15 + 0x18]
and ebx, r12d
xor ebx, eax
rorx r9d, r9d, 7
add r9d, ecx
mov ecx, ebp
and ecx, r9d
xor ebx, edx
xor ebx, ecx
mov ecx, dword [rsp + 0x28]
rorx ebx, ebx, 7
add ecx, dword [r15 + 0x1c]
add ebx, ecx
mov ecx, r13d
xor ecx, r9d
and ecx, r10d
mov edx, ecx
mov ecx, r12d
and ecx, ebp
mov r14d, ecx
xor r14d, r13d
mov ecx, edi
and ecx, ebx
xor r14d, edx
xor r14d, ecx
rorx eax, eax, 0xb
mov ecx, r12d
add eax, dword [r15 + 0x20]
rorx r14d, r14d, 7
rorx r13d, r13d, 0xb
add r14d, eax
add r13d, dword [r15 + 0x24]
xor ecx, ebx
and ecx, r9d
mov eax, ecx
mov ecx, ebp
and ecx, edi
mov r11d, ecx
xor r11d, r12d
mov ecx, r10d
and ecx, r14d
xor r11d, eax
xor r11d, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, ebx
mov eax, ecx
mov ecx, edi
and ecx, r10d
xor ecx, ebp
rorx r11d, r11d, 7
add r11d, r13d
mov r13d, r9d
and r13d, r11d
xor ecx, eax
xor ecx, r13d
mov r13d, edi
xor r13d, r11d
and r13d, r14d
mov eax, r13d
mov r13d, r10d
and r13d, r9d
mov edx, r13d
rorx r12d, r12d, 0xb
add r12d, dword [r15 + 0x28]
xor edx, edi
mov r13d, ebx
rorx ecx, ecx, 7
add ecx, r12d
and r13d, ecx
xor edx, eax
xor edx, r13d
rorx ebp, ebp, 0xb
add ebp, dword [r15 + 0x2c]
rorx edx, edx, 7
add edx, ebp
mov ebp, r10d
xor ebp, ecx
mov r8d, ebp
mov ebp, r9d
and ebp, ebx
mov eax, ebp
and r8d, r11d
xor eax, r10d
xor eax, r8d
mov r8d, r14d
rorx edi, edi, 0xb
add edi, dword [r15 + 0x30]
and r8d, edx
xor eax, r8d
rorx r8d, r10d, 0xb
mov r10d, r9d
xor r10d, edx
add r8d, dword [r15 + 0x34]
and r10d, ecx
mov esi, r8d
mov r8d, r10d
mov r10d, ebx
and r10d, r14d
xor r10d, r9d
xor r10d, r8d
rorx eax, eax, 7
mov r8d, r11d
add eax, edi
and r8d, eax
rorx r9d, r9d, 0xb
add r9d, dword [r15 + 0x38]
xor r10d, r8d
mov r8d, r9d
mov r9d, ebx
xor r9d, eax
and r9d, edx
rorx r10d, r10d, 7
add r10d, esi
mov esi, r9d
mov r9d, r14d
and r9d, r11d
xor r9d, ebx
mov ebp, ecx
and ebp, r10d
xor r9d, esi
xor r9d, ebp
rorx r9d, r9d, 7
add r9d, r8d
mov r8d, r14d
xor r8d, r10d
and r8d, eax
mov esi, r8d
mov r8d, r11d
and r8d, ecx
xor r8d, r14d
mov ebp, edx
and ebp, r9d
xor r8d, esi
xor r8d, ebp
mov ebp, r11d
xor ebp, r9d
rorx ebx, ebx, 0xb
add ebx, dword [r15 + 0x3c]
rorx r8d, r8d, 7
add r8d, ebx
mov ebx, ebp
mov ebp, ecx
rorx r14d, r14d, 0xb
add r14d, dword [r15 + 0x40]
and ebx, r10d
and ebp, edx
xor ebp, r11d
xor ebp, ebx
mov ebx, eax
and ebx, r8d
xor ebp, ebx
mov edi, edx
mov ebx, ecx
xor ebx, r8d
and edi, eax
and ebx, r9d
xor edi, ecx
xor edi, ebx
rorx ebp, ebp, 7
mov ebx, r10d
add ebp, r14d
mov r14d, dword [r15 + 0x44]
and ebx, ebp
xor edi, ebx
rorx r11d, r11d, 0xb
rorx ecx, ecx, 0xb
add r11d, r14d
add ecx, dword [r15 + 0x48]
rorx edi, edi, 7
add edi, r11d
mov r11d, ecx
mov ecx, edx
xor ecx, ebp
and ecx, r8d
mov ebx, ecx
mov ecx, eax
and ecx, r10d
xor ecx, edx
xor ecx, ebx
mov ebx, r9d
and ebx, edi
xor ecx, ebx
mov ebx, dword [r15 + 0x4c]
mov r13d, r10d
rorx edx, edx, 0xb
add ebx, edx
and r13d, r9d
rorx ecx, ecx, 7
add ecx, r11d
mov r11d, ebx
mov ebx, eax
xor ebx, edi
mov edx, r13d
and ebx, ebp
xor edx, eax
xor edx, ebx
mov ebx, r8d
and ebx, ecx
xor edx, ebx
mov ebx, dword [r15 + 0x50]
mov r13d, r9d
rorx eax, eax, 0xb
add ebx, eax
and r13d, r8d
rorx edx, edx, 7
add edx, r11d
mov r11d, ebx
mov ebx, r10d
xor ebx, ecx
mov eax, r13d
and ebx, edi
xor eax, r10d
xor eax, ebx
mov ebx, ebp
and ebx, edx
xor eax, ebx
rorx r10d, r10d, 0xb
add r10d, dword [r15 + 0x54]
rorx eax, eax, 7
add eax, r11d
mov r11d, r10d
mov r10d, r9d
xor r10d, edx
mov ebx, r10d
mov r10d, r8d
and r10d, ebp
and ebx, ecx
xor r10d, r9d
xor r10d, ebx
mov ebx, edi
and ebx, eax
xor r10d, ebx
rorx r9d, r9d, 0xb
add r9d, dword [r15 + 0x58]
rorx r10d, r10d, 7
add r10d, r11d
mov r11d, r9d
mov r9d, r8d
xor r9d, eax
mov ebx, r9d
mov r9d, ebp
and r9d, edi
and ebx, edx
xor r9d, r8d
xor r9d, ebx
mov ebx, ecx
and ebx, r10d
xor r9d, ebx
mov ebx, dword [r15 + 0x5c]
rorx r8d, r8d, 0xb
add ebx, r8d
rorx r9d, r9d, 7
add r9d, r11d
mov r11d, ebx
mov ebx, ebp
xor ebx, r10d
mov r8d, edi
and ebx, eax
and r8d, ecx
xor r8d, ebp
xor r8d, ebx
mov ebx, edx
and ebx, r9d
xor r8d, ebx
rorx ebp, ebp, 0xb
add ebp, dword [r15 + 0x60]
rorx r8d, r8d, 7
add r8d, r11d
mov r11d, ebp
mov ebp, edi
xor ebp, r9d
mov ebx, ebp
mov ebp, ecx
and ebp, edx
and ebx, r10d
xor ebp, edi
xor ebp, ebx
mov ebx, eax
and ebx, r8d
xor ebp, ebx
mov ebx, dword [r15 + 0x64]
rorx edi, edi, 0xb
add ebx, edi
rorx ebp, ebp, 7
mov edi, edx
add ebp, r11d
mov r11d, ebx
mov ebx, ecx
xor ebx, r8d
and edi, eax
and ebx, r9d
xor edi, ecx
xor edi, ebx
mov ebx, r10d
and ebx, ebp
xor edi, ebx
mov ebx, edx
xor ebx, ebp
and ebx, r8d
rorx edi, edi, 7
add edi, r11d
mov r11d, ebx
mov ebx, eax
and ebx, r10d
mov esi, ebx
xor esi, edx
mov ebx, r9d
and ebx, edi
xor esi, r11d
xor esi, ebx
rorx ecx, ecx, 0xb
mov ebx, eax
add ecx, dword [r15 + 0x68]
rorx esi, esi, 7
add esi, ecx
xor ebx, edi
mov ecx, ebx
mov ebx, r10d
and ebx, r9d
and ecx, ebp
xor ebx, eax
xor ebx, ecx
mov ecx, r8d
and ecx, esi
xor ebx, ecx
mov ecx, r10d
xor ecx, esi
and ecx, edi
rorx edx, edx, 0xb
add edx, dword [r15 + 0x6c]
rorx ebx, ebx, 7
add ebx, edx
mov edx, ecx
mov ecx, r9d
and ecx, r8d
mov r11d, ecx
xor r11d, r10d
mov ecx, ebp
and ecx, ebx
xor r11d, edx
xor r11d, ecx
rorx eax, eax, 0xb
rorx r10d, r10d, 0xb
add eax, dword [r15 + 0x70]
add r10d, dword [r15 + 0x74]
rorx r11d, r11d, 7
add r11d, eax
mov eax, r10d
mov r10d, r9d
xor r10d, ebx
and r10d, esi
mov edx, r10d
mov r10d, r8d
and r10d, ebp
xor r10d, r9d
mov ecx, edi
and ecx, r11d
xor r10d, edx
xor r10d, ecx
rorx r9d, r9d, 0xb
add r9d, dword [r15 + 0x78]
rorx r10d, r10d, 7
add r10d, eax
mov eax, r9d
mov r9d, r8d
xor r9d, r11d
and r9d, ebx
mov edx, r9d
mov r9d, ebp
and r9d, edi
xor r9d, r8d
mov ecx, esi
and ecx, r10d
xor r9d, edx
xor r9d, ecx
mov ecx, dword [r15 + 0x7c]
rorx r8d, r8d, 0xb
add ecx, r8d
rorx r9d, r9d, 7
add r9d, eax
mov eax, ecx
mov ecx, ebp
xor ecx, r10d
and ecx, r11d
mov edx, ecx
mov ecx, edi
and ecx, esi
mov r8d, ecx
xor r8d, ebp
mov ecx, ebx
and ecx, r9d
xor r8d, edx
xor r8d, ecx
mov ecx, dword [r15 + 0x14]
mov r13d, edi
xor r13d, esi
rorx ebp, ebp, 0xb
lea ebp, [rcx + rbp + 0x452821e6]
mov ecx, r10d
and ecx, r9d
rorx r8d, r8d, 7
add r8d, eax
mov eax, r13d
xor eax, ecx
andn ecx, r8d, ebx
xor eax, ecx
mov ecx, ebx
xor ecx, r10d
mov edx, ecx
and edx, r9d
mov ecx, r10d
and ecx, r8d
xor edx, esi
and eax, r11d
xor edx, ecx
mov r13d, r9d
xor edx, eax
and r13d, r8d
rorx ecx, edx, 7
mov edx, r13d
mov r13d, esi
xor r13d, ebx
add ecx, ebp
mov eax, r13d
mov ebp, dword [r15 + 0x38]
xor eax, edx
rorx edi, edi, 0xb
andn edx, ecx, r11d
lea ebp, [rbp + rdi + 0x38d01377]
xor eax, edx
mov edi, r11d
and eax, r10d
xor edi, r9d
and edi, r8d
mov r13d, r9d
and r13d, ecx
xor edi, ebx
xor edi, r13d
mov r13d, r8d
xor edi, eax
and r13d, ecx
mov eax, r13d
rorx edx, edi, 7
mov r13d, ebx
add edx, ebp
mov ebp, dword [r15 + 0x68]
xor r13d, r11d
mov edi, r10d
xor edi, r8d
rorx esi, esi, 0xb
lea ebp, [rbp + rsi - 0x41ab9931]
mov esi, r13d
xor esi, eax
and edi, ecx
mov r13d, r8d
andn eax, edx, r10d
and r13d, edx
xor esi, eax
xor edi, r11d
and esi, r9d
xor edi, r13d
xor edi, esi
rorx eax, edi, 7
add eax, ebp
mov ebp, dword [r15 + 0x48]
mov r13d, r11d
xor r13d, r10d
rorx ebx, ebx, 0xb
lea ebp, [rbp + rbx + 0x34e90c6c]
mov ebx, ecx
and ebx, edx
mov esi, r13d
xor esi, ebx
andn ebx, eax, r9d
xor esi, ebx
mov ebx, r9d
xor ebx, ecx
mov edi, ebx
and edi, edx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
mov r13d, edx
rorx ebx, edi, 7
add ebx, ebp
mov ebp, dword [r15 + 0x2c]
and r13d, eax
rorx r11d, r11d, 0xb
lea ebp, [rbp + r11 - 0x3f53d649]
mov r11d, r13d
mov r13d, r10d
xor r13d, r9d
mov edi, r8d
xor edi, edx
mov esi, r13d
xor esi, r11d
and edi, eax
mov r13d, edx
andn r11d, ebx, r8d
and r13d, ebx
xor esi, r11d
xor edi, r9d
and esi, ecx
xor edi, r13d
xor edi, esi
rorx r11d, edi, 7
add r11d, ebp
mov ebp, dword [r15 + 0x70]
mov r13d, r9d
xor r13d, r8d
rorx r10d, r10d, 0xb
lea ebp, [rbp + r10 - 0x3683af23]
mov r10d, eax
and r10d, ebx
mov esi, r13d
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
add r10d, ebp
mov ebp, dword [r15 + 0x1c]
mov r13d, r8d
xor r13d, ecx
rorx r9d, r9d, 0xb
lea ebp, [rbp + r9 + 0x3f84d5b5]
mov r9d, ebx
and r9d, r11d
mov esi, r13d
xor esi, r9d
mov edi, edx
andn r9d, r10d, edx
xor esi, r9d
xor edi, ebx
and edi, r11d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
add r9d, ebp
mov ebp, dword [r15 + 0x40]
mov r13d, ecx
xor r13d, edx
rorx r8d, r8d, 0xb
lea ebp, [rbp + r8 - 0x4ab8f6e9]
mov r8d, r11d
and r8d, r10d
mov esi, r13d
mov edi, eax
xor esi, r8d
xor edi, r11d
andn r8d, r9d, eax
and edi, r10d
xor esi, r8d
mov r8d, r11d
and r8d, r9d
xor edi, edx
and esi, ebx
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
add r8d, ebp
mov ebp, dword [r15]
mov r13d, edx
xor r13d, eax
rorx ecx, ecx, 0xb
lea ebp, [rbp + rcx - 0x6de92a27]
mov ecx, r10d
and ecx, r9d
mov esi, r13d
xor esi, ecx
andn ecx, r8d, ebx
xor esi, ecx
mov ecx, ebx
xor ecx, r10d
mov edi, ecx
and edi, r9d
mov ecx, r10d
and ecx, r8d
xor edi, eax
and esi, r11d
xor edi, ecx
xor edi, esi
mov r13d, r9d
rorx ecx, edi, 7
add ecx, ebp
mov ebp, dword [r15 + 0x5c]
and r13d, r8d
rorx edx, edx, 0xb
lea ebp, [rbp + rdx - 0x768604e5]
mov edx, r13d
mov r13d, eax
xor r13d, ebx
mov edi, r11d
xor edi, r9d
mov esi, r13d
xor esi, edx
and edi, r8d
mov r13d, r9d
andn edx, ecx, r11d
and r13d, ecx
xor esi, edx
xor edi, ebx
and esi, r10d
xor edi, r13d
xor edi, esi
mov r13d, r8d
rorx edx, edi, 7
add edx, ebp
mov ebp, dword [r15 + 0x50]
and r13d, ecx
rorx eax, eax, 0xb
lea ebp, [rbp + rax - 0x2ecef45a]
mov eax, r13d
mov r13d, ebx
xor r13d, r11d
mov edi, r10d
xor edi, r8d
mov esi, r13d
xor esi, eax
and edi, ecx
mov r13d, r8d
andn eax, edx, r10d
and r13d, edx
xor esi, eax
xor edi, r11d
and esi, r9d
xor edi, r13d
xor edi, esi
rorx eax, edi, 7
add eax, ebp
mov ebp, dword [r15 + 0x58]
mov r13d, r11d
xor r13d, r10d
rorx ebx, ebx, 0xb
lea ebp, [rbp + rbx - 0x67204a54]
mov ebx, ecx
and ebx, edx
mov esi, r13d
xor esi, ebx
andn ebx, eax, r9d
xor esi, ebx
mov ebx, r9d
xor ebx, ecx
mov edi, ebx
and edi, edx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
mov r13d, edx
rorx ebx, edi, 7
add ebx, ebp
mov ebp, dword [r15 + 4]
and r13d, eax
rorx r11d, r11d, 0xb
lea ebp, [rbp + r11 + 0x2ffd72db]
mov r11d, r13d
mov r13d, r10d
xor r13d, r9d
mov edi, r8d
xor edi, edx
mov esi, r13d
xor esi, r11d
and edi, eax
mov r13d, edx
andn r11d, ebx, r8d
and r13d, ebx
xor esi, r11d
xor edi, r9d
and esi, ecx
xor edi, r13d
xor edi, esi
rorx r11d, edi, 7
add r11d, ebp
mov ebp, dword [r15 + 0x28]
mov r13d, r9d
xor r13d, r8d
rorx r10d, r10d, 0xb
lea ebp, [rbp + r10 - 0x2fe52049]
mov r10d, eax
and r10d, ebx
mov esi, r13d
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and esi, edx
xor edi, r8d
and r10d, r11d
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
add r10d, ebp
mov ebp, dword [r15 + 0x10]
mov r13d, r8d
xor r13d, ecx
rorx r9d, r9d, 0xb
lea ebp, [rbp + r9 - 0x471e5013]
mov r9d, ebx
and r9d, r11d
mov esi, r13d
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
add r9d, ebp
mov ebp, dword [r15 + 0x20]
mov r13d, ecx
xor r13d, edx
rorx r8d, r8d, 0xb
lea ebp, [rbp + r8 + 0x6a267e96]
mov r8d, r11d
and r8d, r10d
mov esi, r13d
mov edi, eax
xor esi, r8d
xor edi, r11d
andn r8d, r9d, eax
and edi, r10d
xor esi, r8d
mov r8d, r11d
and r8d, r9d
xor edi, edx
and esi, ebx
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
add r8d, ebp
mov ebp, dword [r15 + 0x78]
mov r13d, edx
xor r13d, eax
rorx ecx, ecx, 0xb
lea ebp, [rbp + rcx - 0x45836fbb]
mov ecx, r10d
and ecx, r9d
mov esi, r13d
xor esi, ecx
andn ecx, r8d, ebx
xor esi, ecx
mov ecx, ebx
xor ecx, r10d
mov edi, ecx
and edi, r9d
mov ecx, r10d
and ecx, r8d
xor edi, eax
and esi, r11d
xor edi, ecx
xor edi, esi
mov r13d, r9d
rorx ecx, edi, 7
add ecx, ebp
mov ebp, dword [r15 + 0xc]
and r13d, r8d
rorx edx, edx, 0xb
lea ebp, [rbp + rdx - 0xed38067]
mov edx, r13d
mov r13d, eax
xor r13d, ebx
mov edi, r11d
xor edi, r9d
mov esi, r13d
xor esi, edx
and edi, r8d
mov r13d, r9d
andn edx, ecx, r11d
and r13d, ecx
xor esi, edx
xor edi, ebx
and esi, r10d
xor edi, r13d
xor edi, esi
mov r13d, r8d
rorx edx, edi, 7
add edx, ebp
mov ebp, dword [r15 + 0x54]
and r13d, ecx
rorx eax, eax, 0xb
lea ebp, [rbp + rax + 0x24a19947]
mov eax, r13d
mov r13d, ebx
xor r13d, r11d
mov esi, r13d
mov edi, r10d
xor esi, eax
xor edi, r8d
andn eax, edx, r10d
and edi, ecx
xor esi, eax
mov r13d, r8d
and esi, r9d
xor edi, r11d
and r13d, edx
xor edi, r13d
xor edi, esi
rorx eax, edi, 7
add eax, ebp
mov ebp, dword [r15 + 0x24]
mov r13d, r11d
xor r13d, r10d
rorx ebx, ebx, 0xb
lea ebp, [rbp + rbx - 0x4c6e9309]
mov ebx, ecx
and ebx, edx
mov esi, r13d
xor esi, ebx
andn ebx, eax, r9d
xor esi, ebx
mov ebx, r9d
xor ebx, ecx
mov edi, ebx
and edi, edx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
mov r13d, edx
xor edi, esi
and r13d, eax
rorx ebx, edi, 7
rorx r11d, r11d, 0xb
add ebx, ebp
lea ebp, [r14 + r11 + 0x801f2e2]
mov r11d, r13d
mov r13d, r10d
xor r13d, r9d
mov edi, r8d
xor edi, edx
mov esi, r13d
xor esi, r11d
and edi, eax
mov r13d, edx
andn r11d, ebx, r8d
and r13d, ebx
xor esi, r11d
xor edi, r9d
and esi, ecx
xor edi, r13d
xor edi, esi
rorx r11d, edi, 7
add r11d, ebp
mov ebp, dword [r15 + 0x60]
mov r13d, r9d
rorx r10d, r10d, 0xb
lea ebp, [rbp + r10 - 0x7a7103ea]
mov r10d, eax
and r10d, ebx
xor r13d, r8d
mov esi, r13d
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
add r10d, ebp
mov ebp, dword [r15 + 0x74]
mov r13d, r8d
xor r13d, ecx
rorx r9d, r9d, 0xb
lea ebp, [rbp + r9 + 0x636920d8]
mov r9d, ebx
and r9d, r11d
mov esi, r13d
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
add r9d, ebp
mov ebp, dword [r15 + 0x18]
mov r13d, ecx
xor r13d, edx
rorx r8d, r8d, 0xb
lea ebp, [rbp + r8 + 0x71574e69]
mov r8d, r11d
and r8d, r10d
mov esi, r13d
xor esi, r8d
mov edi, eax
andn r8d, r9d, eax
xor edi, r11d
xor esi, r8d
and esi, ebx
mov r8d, r11d
and edi, r10d
xor edi, edx
and r8d, r9d
xor edi, r8d
xor edi, esi
rorx r8d, edi, 7
add r8d, ebp
mov ebp, dword [r15 + 0x4c]
mov r13d, edx
xor r13d, eax
rorx ecx, ecx, 0xb
lea ebp, [rbp + rcx - 0x5ba7015d]
mov ecx, r10d
and ecx, r9d
mov esi, r13d
xor esi, ecx
andn ecx, r8d, ebx
xor esi, ecx
mov ecx, ebx
xor ecx, r10d
mov edi, ecx
and edi, r9d
mov ecx, r10d
and ecx, r8d
xor edi, eax
and esi, r11d
xor edi, ecx
xor edi, esi
mov r13d, r9d
rorx ecx, edi, 7
add ecx, ebp
mov ebp, dword [r15 + 0x30]
and r13d, r8d
rorx edx, edx, 0xb
lea ebp, [rbp + rdx - 0xb6cc282]
mov edx, r13d
mov r13d, eax
xor r13d, ebx
mov edi, r11d
xor edi, r9d
mov esi, r13d
xor esi, edx
and edi, r8d
mov r13d, r9d
andn edx, ecx, r11d
and r13d, ecx
xor esi, edx
xor edi, ebx
and esi, r10d
xor edi, r13d
xor edi, esi
mov r13d, r8d
rorx edx, edi, 7
add edx, ebp
mov ebp, dword [r15 + 0x3c]
and r13d, ecx
rorx eax, eax, 0xb
lea ebp, [rbp + rax + 0xd95748f]
mov eax, r13d
mov r13d, ebx
xor r13d, r11d
mov edi, r10d
xor edi, r8d
mov esi, r13d
xor esi, eax
and edi, ecx
mov r13d, r8d
andn eax, edx, r10d
and r13d, edx
xor esi, eax
xor edi, r11d
and esi, r9d
xor edi, r13d
xor edi, esi
rorx eax, edi, 7
add eax, ebp
mov ebp, dword [r15 + 0x34]
mov r13d, r11d
xor r13d, r10d
rorx ebx, ebx, 0xb
lea ebp, [rbp + rbx + 0x728eb658]
mov ebx, ecx
and ebx, edx
mov esi, r13d
xor esi, ebx
andn ebx, eax, r9d
xor esi, ebx
mov ebx, r9d
xor ebx, ecx
mov edi, ebx
and edi, edx
mov ebx, ecx
and ebx, eax
xor edi, r10d
and esi, r8d
xor edi, ebx
xor edi, esi
mov r13d, edx
rorx ebx, edi, 7
add ebx, ebp
mov ebp, dword [r15 + 8]
and r13d, eax
rorx r11d, r11d, 0xb
lea ebp, [rbp + r11 + 0x718bcd58]
mov r11d, r13d
mov r13d, r10d
xor r13d, r9d
mov esi, r13d
xor esi, r11d
mov edi, r8d
andn r11d, ebx, r8d
xor esi, r11d
and esi, ecx
xor edi, edx
and edi, eax
mov r13d, edx
and r13d, ebx
xor edi, r9d
xor edi, r13d
xor edi, esi
rorx r11d, edi, 7
add r11d, ebp
mov ebp, dword [r15 + 0x64]
mov r13d, r9d
xor r13d, r8d
rorx r10d, r10d, 0xb
lea ebp, [rbp + r10 - 0x7deab512]
mov r10d, eax
and r10d, ebx
mov esi, r13d
mov edi, ecx
xor esi, r10d
xor edi, eax
andn r10d, r11d, ecx
and edi, ebx
xor esi, r10d
mov r10d, eax
and r10d, r11d
xor edi, r8d
and esi, edx
xor edi, r10d
xor edi, esi
rorx r10d, edi, 7
add r10d, ebp
mov ebp, dword [r15 + 0x7c]
mov r13d, r8d
xor r13d, ecx
rorx r9d, r9d, 0xb
lea ebp, [rbp + r9 + 0x7b54a41d]
mov r9d, ebx
and r9d, r11d
mov esi, r13d
mov edi, edx
xor esi, r9d
xor edi, ebx
andn r9d, r10d, edx
and edi, r11d
xor esi, r9d
mov r9d, ebx
and r9d, r10d
xor edi, ecx
and esi, eax
xor edi, r9d
xor edi, esi
rorx r9d, edi, 7
add r9d, ebp
mov ebp, dword [r15 + 0x6c]
mov r13d, ecx
xor r13d, edx
rorx r8d, r8d, 0xb
lea ebp, [rbp + r8 - 0x3da5a64b]
mov r8d, r11d
and r8d, r10d
mov esi, r13d
xor esi, r8d
andn r8d, r9d, eax
xor esi, r8d
mov r8d, eax
xor r8d, r11d
and r8d, r10d
mov edi, r11d
and edi, r9d
xor r8d, edx
and esi, ebx
xor r8d, edi
xor r8d, esi
rorx r8d, r8d, 7
add r8d, ebp
mov ebp, dword [r15 + 0x4c]
rorx ecx, ecx, 0xb
lea ecx, [rbp + rcx - 0x63cf2ac7]
mov ebp, eax
xor ebp, r10d
xor edi, ebp
mov ebp, edi
mov edi, edx
and edi, r11d
and ebp, ebx
xor edi, eax
xor edi, ebp
mov ebp, r9d
and ebp, r8d
xor ebp, edi
mov r13d, r10d
rorx ebp, ebp, 7
add ebp, ecx
mov ecx, dword [r15 + 0x24]
and r13d, r8d
rorx edx, edx, 0xb
lea ecx, [rcx + rdx + 0x2af26013]
mov edx, r13d
mov r13d, ebx
xor r13d, r9d
xor edx, r13d
mov r13d, edx
and r13d, r11d
mov esi, r13d
mov r13d, eax
and r13d, r10d
mov edx, r13d
xor edx, ebx
mov r13d, r8d
and r13d, ebp
xor edx, esi
xor edx, r13d
rorx edx, edx, 7
add edx, ecx
mov ecx, dword [r15 + 0x10]
mov r13d, r11d
rorx eax, eax, 0xb
lea eax, [rcx + rax - 0x3a2e4fdd]
mov ecx, r9d
xor r13d, r8d
and ecx, ebp
xor ecx, r13d
and ecx, r10d
mov esi, ecx
mov ecx, ebx
and ecx, r9d
xor ecx, r11d
mov r13d, ebp
and r13d, edx
xor ecx, esi
xor ecx, r13d
mov r13d, dword [r15 + 0x50]
rorx ebx, ebx, 0xb
rorx ecx, ecx, 7
add ecx, eax
lea eax, [r13 + rbx + 0x286085f0]
mov ebx, r8d
and ebx, edx
mov edi, ebx
mov ebx, r10d
xor ebx, ebp
xor edi, ebx
mov ebx, edi
mov edi, r11d
and edi, r8d
and ebx, r9d
xor edi, r10d
xor edi, ebx
mov ebx, edx
and ebx, ecx
xor edi, ebx
mov ebx, dword [r15 + 0x70]
rorx r11d, r11d, 0xb
rorx edi, edi, 7
add edi, eax
lea eax, [rbx + r11 - 0x35be86e8]
mov ebx, ebp
and ebx, ecx
mov esi, ebx
mov ebx, r9d
xor ebx, edx
xor esi, ebx
mov ebx, esi
and ebx, r8d
mov r11d, ebx
mov ebx, r10d
and ebx, ebp
mov esi, ebx
xor esi, r9d
mov ebx, ecx
and ebx, edi
xor esi, r11d
xor esi, ebx
rorx r10d, r10d, 0xb
mov ebx, r8d
rorx esi, esi, 7
add esi, eax
lea eax, [r14 + r10 - 0x4724c711]
mov r10d, edx
and r10d, edi
xor ebx, ecx
xor r10d, ebx
and r10d, ebp
mov r11d, r10d
mov r10d, r9d
and r10d, edx
xor r10d, r8d
mov ebx, edi
and ebx, esi
xor r10d, r11d
xor r10d, ebx
mov ebx, dword [r15 + 0x20]
rorx r9d, r9d, 0xb
rorx r10d, r10d, 7
add r10d, eax
lea eax, [rbx + r9 - 0x71862350]
mov ebx, ecx
mov r9d, ebp
xor r9d, edi
and ebx, esi
xor ebx, r9d
and ebx, edx
mov r9d, ebx
mov ebx, r8d
and ebx, ecx
xor ebx, ebp
xor ebx, r9d
mov r9d, esi
and r9d, r10d
xor ebx, r9d
mov r9d, dword [r15 + 0x58]
rorx r8d, r8d, 0xb
rorx ebx, ebx, 7
add ebx, eax
lea eax, [r9 + r8 + 0x603a180e]
mov r9d, edi
and r9d, r10d
mov r8d, edx
xor r8d, esi
mov r11d, r9d
mov r9d, ebp
and r9d, edi
xor r11d, r8d
mov r8d, r11d
mov r11d, r9d
and r8d, ecx
xor r11d, edx
mov r9d, dword [r15 + 0x74]
xor r11d, r8d
mov r8d, r10d
and r8d, ebx
xor r11d, r8d
rorx ebp, ebp, 0xb
lea r8d, [r9 + rbp + 0x6c9e0e8b]
mov r9d, esi
and r9d, ebx
rorx r11d, r11d, 7
add r11d, eax
mov eax, r9d
mov r9d, ecx
xor r9d, r10d
xor eax, r9d
mov r9d, eax
mov ebp, edx
and r9d, edi
and ebp, esi
mov eax, ebp
xor eax, ecx
xor eax, r9d
mov r9d, ebx
and r9d, r11d
xor eax, r9d
mov r9d, dword [r15 + 0x38]
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, r8d
lea r8d, [r9 + rdx - 0x4fe175c2]
mov r9d, r10d
and r9d, r11d
mov edx, r9d
mov r9d, edi
xor r9d, ebx
mov ebp, ecx
and ebp, r10d
xor edx, r9d
mov r9d, edx
mov edx, ebp
and r9d, esi
xor edx, edi
xor edx, r9d
mov r9d, r11d
and r9d, eax
xor edx, r9d
mov r9d, dword [r15 + 0x64]
rorx ecx, ecx, 0xb
rorx edx, edx, 7
add edx, r8d
lea r8d, [r9 + rcx - 0x28ea883f]
mov ecx, ebx
mov r9d, esi
xor r9d, r11d
and ecx, eax
xor ecx, r9d
and ecx, r10d
mov r9d, ecx
mov ecx, edi
and ecx, ebx
xor ecx, esi
xor ecx, r9d
mov r9d, eax
and r9d, edx
xor ecx, r9d
mov r9d, dword [r15 + 0x30]
rorx edi, edi, 0xb
rorx ecx, ecx, 7
lea r9d, [r9 + rdi - 0x42ceb4d9]
add ecx, r8d
mov edi, r10d
mov r8d, r11d
xor edi, eax
and r8d, edx
xor r8d, edi
mov edi, r8d
mov r8d, esi
and r8d, r11d
and edi, ebx
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
xor r8d, edi
rorx r8d, r8d, 7
add r8d, r9d
mov r9d, dword [r15 + 0x60]
mov edi, ebx
rorx esi, esi, 0xb
lea esi, [r9 + rsi + 0x78af2fda]
mov r9d, eax
xor edi, edx
and r9d, ecx
xor r9d, edi
and r9d, r11d
mov edi, r9d
mov r9d, r10d
and r9d, eax
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
mov ebp, dword [r15 + 0x78]
xor r9d, edi
rorx r10d, r10d, 0xb
mov edi, r11d
rorx r9d, r9d, 7
add r9d, esi
lea esi, [rbp + r10 + 0x55605c60]
mov r10d, edx
xor edi, ecx
and r10d, r8d
xor r10d, edi
and r10d, eax
mov edi, r10d
mov r10d, ebx
and r10d, edx
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
mov ebp, dword [r15 + 0x40]
xor r10d, edi
rorx ebx, ebx, 0xb
mov edi, eax
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rbp + rbx - 0x19aada0d]
mov ebx, ecx
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
mov ebp, dword [r15 + 0x68]
xor ebx, edi
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [rbp + r11 - 0x55aa546c]
mov ebp, r8d
and ebp, r10d
mov edi, edx
xor edi, r9d
mov r11d, ebp
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
mov ebp, dword [r15 + 0x7c]
xor r11d, edi
rorx eax, eax, 0xb
rorx r11d, r11d, 7
add r11d, esi
lea esi, [rbp + rax + 0x57489862]
mov ebp, r9d
and ebp, ebx
mov edi, ecx
xor edi, r10d
mov eax, ebp
mov ebp, edx
and ebp, r9d
xor eax, edi
mov edi, eax
mov eax, ebp
and edi, r8d
xor eax, ecx
xor eax, edi
mov edi, ebx
and edi, r11d
mov ebp, dword [r15 + 0x3c]
xor eax, edi
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, esi
lea esi, [rbp + rdx + 0x63e81440]
mov ebp, r10d
and ebp, r11d
mov edi, r8d
xor edi, ebx
mov edx, ebp
mov ebp, ecx
and ebp, r10d
xor edx, edi
mov edi, edx
mov edx, ebp
and edi, r9d
xor edx, r8d
xor edx, edi
mov edi, r11d
and edi, eax
mov ebp, dword [r15 + 0x1c]
xor edx, edi
rorx ecx, ecx, 0xb
mov edi, r9d
rorx edx, edx, 7
add edx, esi
lea esi, [rbp + rcx + 0x55ca396a]
mov ecx, ebx
xor edi, r11d
and ecx, eax
xor ecx, edi
and ecx, r10d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, r9d
xor ecx, edi
mov edi, eax
and edi, edx
mov ebp, dword [r15 + 0xc]
xor ecx, edi
rorx r8d, r8d, 0xb
mov edi, r10d
rorx ecx, ecx, 7
add ecx, esi
lea esi, [rbp + r8 + 0x2aab10b6]
mov r8d, r11d
xor edi, eax
and r8d, edx
xor r8d, edi
mov edi, r8d
mov r8d, r9d
and r8d, r11d
and edi, ebx
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
mov ebp, dword [r15 + 4]
xor r8d, edi
rorx r9d, r9d, 0xb
mov edi, ebx
rorx r8d, r8d, 7
add r8d, esi
lea esi, [rbp + r9 - 0x4b33a3cc]
mov r9d, eax
xor edi, edx
and r9d, ecx
xor r9d, edi
and r9d, r11d
mov edi, r9d
mov r9d, r10d
and r9d, eax
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
mov ebp, dword [r15]
xor r9d, edi
rorx r10d, r10d, 0xb
mov edi, r11d
rorx r9d, r9d, 7
add r9d, esi
lea esi, [rbp + r10 + 0x1141e8ce]
mov r10d, edx
and r10d, r8d
xor edi, ecx
xor r10d, edi
and r10d, eax
mov edi, r10d
mov r10d, ebx
and r10d, edx
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
mov ebp, dword [r15 + 0x48]
xor r10d, edi
rorx ebx, ebx, 0xb
mov edi, eax
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rbp + rbx - 0x5eab7951]
mov ebx, ecx
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
mov ebp, dword [r15 + 0x6c]
xor ebx, edi
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [rbp + r11 + 0x7c72e993]
mov ebp, r8d
and ebp, r10d
mov edi, edx
xor edi, r9d
mov r11d, ebp
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
mov ebp, dword [r15 + 0x34]
xor r11d, edi
rorx eax, eax, 0xb
rorx r11d, r11d, 7
add r11d, esi
lea esi, [rbp + rax - 0x4c11ebef]
mov ebp, r9d
and ebp, ebx
mov edi, ecx
xor edi, r10d
mov eax, ebp
xor eax, edi
mov edi, eax
mov ebp, edx
and edi, r8d
and ebp, r9d
mov eax, ebp
xor eax, ecx
xor eax, edi
mov edi, ebx
mov ebp, dword [r15 + 0x18]
and edi, r11d
xor eax, edi
rorx edx, edx, 0xb
rorx eax, eax, 7
add eax, esi
lea esi, [rbp + rdx + 0x636fbc2a]
mov ebp, r10d
and ebp, r11d
mov edi, r8d
xor edi, ebx
mov edx, ebp
mov ebp, ecx
and ebp, r10d
xor edx, edi
mov edi, edx
mov edx, ebp
and edi, r9d
xor edx, r8d
xor edx, edi
mov edi, r11d
and edi, eax
mov ebp, dword [r15 + 0x54]
xor edx, edi
rorx ecx, ecx, 0xb
mov edi, r9d
rorx edx, edx, 7
add edx, esi
lea esi, [rbp + rcx + 0x2ba9c55d]
mov ecx, ebx
xor edi, r11d
and ecx, eax
xor ecx, edi
and ecx, r10d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, r9d
xor ecx, edi
mov edi, eax
and edi, edx
mov ebp, dword [r15 + 0x28]
xor ecx, edi
rorx r8d, r8d, 0xb
mov edi, r10d
rorx ecx, ecx, 7
add ecx, esi
lea esi, [rbp + r8 + 0x741831f6]
mov r8d, r11d
xor edi, eax
and r8d, edx
xor r8d, edi
mov edi, r8d
mov r8d, r9d
and r8d, r11d
and edi, ebx
xor r8d, r10d
xor r8d, edi
mov edi, edx
and edi, ecx
mov ebp, dword [r15 + 0x5c]
xor r8d, edi
rorx r9d, r9d, 0xb
mov edi, ebx
rorx r8d, r8d, 7
add r8d, esi
lea esi, [rbp + r9 - 0x31a3c1ea]
mov r9d, eax
xor edi, edx
and r9d, ecx
xor r9d, edi
and r9d, r11d
mov edi, r9d
mov r9d, r10d
and r9d, eax
xor r9d, ebx
xor r9d, edi
mov edi, ecx
and edi, r8d
mov ebp, dword [r15 + 0x2c]
xor r9d, edi
rorx r10d, r10d, 0xb
mov edi, r11d
rorx r9d, r9d, 7
add r9d, esi
lea esi, [rbp + r10 - 0x64786ce2]
mov r10d, edx
xor edi, ecx
and r10d, r8d
xor r10d, edi
and r10d, eax
mov edi, r10d
mov r10d, ebx
and r10d, edx
xor r10d, r11d
xor r10d, edi
mov edi, r8d
and edi, r9d
mov ebp, dword [r15 + 0x14]
xor r10d, edi
rorx ebx, ebx, 0xb
mov edi, eax
rorx r10d, r10d, 7
add r10d, esi
lea esi, [rbp + rbx - 0x502945cd]
mov ebx, ecx
xor edi, r8d
and ebx, r9d
xor ebx, edi
and ebx, edx
mov edi, ebx
mov ebx, r11d
and ebx, ecx
xor ebx, eax
xor ebx, edi
mov edi, r9d
and edi, r10d
mov ebp, dword [r15 + 8]
xor ebx, edi
rorx r11d, r11d, 0xb
rorx ebx, ebx, 7
add ebx, esi
lea esi, [rbp + r11 + 0x6c24cf5c]
mov ebp, r8d
and ebp, r10d
mov edi, edx
xor edi, r9d
mov r11d, ebp
mov ebp, eax
and ebp, r8d
xor r11d, edi
mov edi, r11d
mov r11d, ebp
and edi, ecx
mov ebp, dword [r15 + 0x60]
xor r11d, edx
xor r11d, edi
mov edi, r10d
and edi, ebx
rorx eax, eax, 0xb
lea r12d, [rbp + rax + 0x7a325381]
mov ebp, r9d
or ebp, ebx
xor r11d, edi
rorx r11d, r11d, 7
add r11d, esi
mov esi, ebp
mov ebp, r8d
and ebp, r11d
xor esi, ecx
xor esi, ebp
mov ebp, ebx
and ebp, r11d
mov eax, ebp
mov ebp, edx
xor ebp, r8d
xor ebp, ebx
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
mov ebp, dword [r15 + 0x10]
and edi, r9d
xor edi, esi
rorx eax, edi, 7
rorx edx, edx, 0xb
add eax, r12d
lea r12d, [rbp + rdx + 0x28958677]
mov ebp, r10d
or ebp, r11d
mov esi, ebp
mov ebp, r9d
and ebp, eax
xor esi, r8d
xor esi, ebp
mov ebp, r11d
and esi, ebx
and ebp, eax
mov edx, ebp
mov ebp, ecx
xor ebp, r9d
xor ebp, r11d
xor edx, ecx
andn edi, eax, r8d
xor edi, ebp
xor esi, edx
mov ebp, dword [r15]
and edi, r10d
xor edi, esi
rorx edx, edi, 7
rorx ecx, ecx, 0xb
add edx, r12d
lea r12d, [rbp + rcx + 0x3b8f4898]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
mov ebp, dword [r15 + 0x38]
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
rorx r8d, r8d, 0xb
add ecx, r12d
lea r12d, [rbp + r8 + 0x6b4bb9af]
mov ebp, r11d
or ebp, edx
mov esi, ebp
mov r8d, ebx
and r8d, ecx
xor esi, r10d
xor esi, r8d
mov r8d, edx
and r8d, ecx
mov ebp, r9d
and esi, eax
xor r8d, r9d
xor ebp, ebx
xor ebp, edx
andn edi, ecx, r10d
xor edi, ebp
xor esi, r8d
mov ebp, dword [r15 + 8]
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, r12d
lea r12d, [rbp + r9 - 0x3b4017e5]
mov r9d, eax
or r9d, ecx
mov esi, r9d
mov r9d, r11d
and r9d, r8d
xor esi, ebx
mov ebp, r10d
xor esi, r9d
xor ebp, r11d
mov r9d, ecx
xor ebp, ecx
and r9d, r8d
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
mov ebp, dword [r15 + 0x1c]
and edi, eax
xor edi, esi
rorx r9d, edi, 7
rorx r10d, r10d, 0xb
add r9d, r12d
lea r12d, [rbp + r10 + 0x66282193]
mov r10d, edx
or r10d, r8d
mov esi, r10d
mov r10d, eax
and r10d, r9d
xor esi, r11d
xor esi, r10d
mov r10d, r8d
and r10d, r9d
xor r10d, ebx
and esi, ecx
mov ebp, ebx
xor esi, r10d
andn edi, r9d, r11d
xor ebp, eax
xor ebp, r8d
xor edi, ebp
and edi, edx
mov ebp, dword [r15 + 0x70]
xor edi, esi
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, r12d
lea r12d, [rbp + rbx + 0x61d809cc]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
and ebx, r10d
xor esi, eax
mov ebp, r11d
xor esi, ebx
xor ebp, edx
mov ebx, r9d
xor ebp, r9d
and ebx, r10d
xor ebx, r11d
andn edi, r10d, eax
and esi, r8d
xor edi, ebp
xor esi, ebx
mov ebp, dword [r15 + 0x5c]
and edi, ecx
xor edi, esi
rorx ebx, edi, 7
rorx r11d, r11d, 0xb
add ebx, r12d
lea r12d, [rbp + r11 - 0x4de566f]
mov ebp, r8d
or ebp, r10d
mov esi, ebp
mov ebp, ecx
and ebp, ebx
xor esi, edx
xor esi, ebp
mov ebp, r10d
and ebp, ebx
mov r11d, ebp
mov ebp, eax
xor r11d, eax
and esi, r9d
xor ebp, ecx
xor esi, r11d
andn edi, ebx, edx
xor ebp, r10d
xor edi, ebp
and edi, r8d
mov ebp, dword [r15 + 0x68]
xor edi, esi
rorx r11d, edi, 7
rorx eax, eax, 0xb
add r11d, r12d
lea r12d, [rbp + rax + 0x487cac60]
mov ebp, r9d
or ebp, ebx
mov esi, ebp
mov ebp, r8d
and ebp, r11d
xor esi, ecx
xor esi, ebp
mov ebp, ebx
and ebp, r11d
mov eax, ebp
mov ebp, edx
xor ebp, r8d
xor ebp, ebx
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
mov ebp, dword [r15 + 0x18]
and edi, r9d
xor edi, esi
rorx eax, edi, 7
rorx edx, edx, 0xb
add eax, r12d
lea r12d, [rbp + rdx + 0x5dec8032]
mov ebp, r10d
or ebp, r11d
mov esi, ebp
mov ebp, r9d
and ebp, eax
xor esi, r8d
xor esi, ebp
mov ebp, r11d
and ebp, eax
mov edx, ebp
mov ebp, ecx
xor ebp, r9d
xor ebp, r11d
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
mov ebp, dword [r15 + 0x78]
and edi, r10d
xor edi, esi
rorx edx, edi, 7
rorx ecx, ecx, 0xb
add edx, r12d
lea r12d, [rbp + rcx - 0x107ba2a3]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
and edi, ebx
mov ebp, r11d
xor edi, esi
or ebp, edx
mov esi, ebp
rorx ecx, edi, 7
rorx r8d, r8d, 0xb
add ecx, r12d
lea r12d, [r13 + r8 - 0x167a8a4f]
mov r8d, ebx
and r8d, ecx
xor esi, r10d
mov ebp, r9d
xor esi, r8d
xor ebp, ebx
mov r8d, edx
xor ebp, edx
and r8d, ecx
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
mov ebp, dword [r15 + 0x48]
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, r12d
lea r12d, [rbp + r9 - 0x23d9dcfe]
mov r9d, eax
or r9d, ecx
mov esi, r9d
mov r9d, r11d
and r9d, r8d
xor esi, ebx
mov ebp, r10d
xor esi, r9d
xor ebp, r11d
mov r9d, ecx
xor ebp, ecx
and r9d, r8d
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
mov ebp, dword [r15 + 0x64]
and edi, eax
xor edi, esi
rorx r9d, edi, 7
rorx r10d, r10d, 0xb
add r9d, r12d
lea r12d, [rbp + r10 - 0x149ae478]
mov r10d, edx
or r10d, r8d
mov esi, r10d
mov r10d, eax
and r10d, r9d
xor esi, r11d
mov ebp, ebx
xor esi, r10d
xor ebp, eax
mov r10d, r8d
xor ebp, r8d
and r10d, r9d
xor r10d, ebx
andn edi, r9d, r11d
and esi, ecx
xor edi, ebp
xor esi, r10d
mov ebp, dword [r15 + 0x4c]
and edi, edx
xor edi, esi
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, r12d
lea r12d, [rbp + rbx + 0x23893e81]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
xor esi, eax
mov ebp, r11d
and ebx, r10d
xor esi, ebx
xor ebp, edx
mov ebx, r9d
xor ebp, r9d
and ebx, r10d
xor ebx, r11d
andn edi, r10d, eax
and esi, r8d
xor edi, ebp
xor esi, ebx
mov ebp, dword [r15 + 0xc]
and edi, ecx
xor edi, esi
rorx ebx, edi, 7
rorx r11d, r11d, 0xb
add ebx, r12d
lea r12d, [rbp + r11 - 0x2c69533b]
mov ebp, r8d
or ebp, r10d
mov esi, ebp
mov ebp, ecx
and ebp, ebx
xor esi, edx
xor esi, ebp
mov ebp, r10d
and ebp, ebx
mov r11d, ebp
mov ebp, eax
xor ebp, ecx
xor ebp, r10d
xor r11d, eax
andn edi, ebx, edx
and esi, r9d
xor edi, ebp
xor esi, r11d
mov ebp, dword [r15 + 0x58]
and edi, r8d
xor edi, esi
rorx r11d, edi, 7
rorx eax, eax, 0xb
add r11d, r12d
lea r12d, [rbp + rax + 0xf6d6ff3]
mov ebp, r9d
or ebp, ebx
mov esi, ebp
mov ebp, r8d
and ebp, r11d
xor esi, ecx
xor esi, ebp
mov ebp, ebx
and ebp, r11d
mov eax, ebp
mov ebp, edx
xor ebp, r8d
xor ebp, ebx
xor eax, edx
andn edi, r11d, ecx
and esi, r10d
xor edi, ebp
xor esi, eax
mov ebp, dword [r15 + 0x2c]
and edi, r9d
xor edi, esi
rorx eax, edi, 7
rorx edx, edx, 0xb
add eax, r12d
lea r12d, [rbp + rdx - 0x7c0bbdc7]
mov ebp, r10d
or ebp, r11d
mov esi, ebp
mov ebp, r9d
and ebp, eax
xor esi, r8d
xor esi, ebp
mov ebp, r11d
and ebp, eax
mov edx, ebp
mov ebp, ecx
xor ebp, r9d
xor ebp, r11d
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
mov ebp, dword [r15 + 0x7c]
and edi, r10d
xor edi, esi
rorx edx, edi, 7
rorx ecx, ecx, 0xb
add edx, r12d
lea r12d, [rbp + rcx + 0x2e0b4482]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
xor esi, ecx
mov ebp, r8d
mov ecx, eax
and esi, r11d
and ecx, edx
xor ebp, r10d
xor ebp, eax
xor ecx, r8d
andn edi, edx, r9d
xor edi, ebp
xor esi, ecx
mov ebp, dword [r15 + 0x54]
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
rorx r8d, r8d, 0xb
add ecx, r12d
lea r12d, [rbp + r8 - 0x5b7bdffc]
mov ebp, r11d
or ebp, edx
mov esi, ebp
mov r8d, ebx
and r8d, ecx
xor esi, r10d
mov ebp, r9d
xor esi, r8d
xor ebp, ebx
mov r8d, edx
xor ebp, edx
and r8d, ecx
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
mov ebp, dword [r15 + 0x20]
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, r12d
lea r12d, [rbp + r9 + 0x69c8f04a]
mov r9d, eax
or r9d, ecx
mov esi, r9d
mov r9d, r11d
and r9d, r8d
xor esi, ebx
xor esi, r9d
mov r9d, ecx
and r9d, r8d
xor r9d, r10d
and esi, edx
mov ebp, r10d
xor esi, r9d
xor ebp, r11d
xor ebp, ecx
andn edi, r8d, ebx
xor edi, ebp
and edi, eax
mov ebp, dword [r15 + 0x6c]
xor edi, esi
rorx r9d, edi, 7
rorx r10d, r10d, 0xb
add r9d, r12d
lea r12d, [rbp + r10 - 0x61e064a2]
mov r10d, edx
or r10d, r8d
mov esi, r10d
mov r10d, eax
and r10d, r9d
xor esi, r11d
mov ebp, ebx
xor esi, r10d
xor ebp, eax
mov r10d, r8d
xor ebp, r8d
and r10d, r9d
xor r10d, ebx
andn edi, r9d, r11d
and esi, ecx
xor edi, ebp
xor esi, r10d
mov ebp, dword [r15 + 0x30]
and edi, edx
xor edi, esi
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, r12d
lea r12d, [rbp + rbx + 0x21c66842]
mov ebx, ecx
or ebx, r9d
mov esi, ebx
mov ebx, edx
and ebx, r10d
xor esi, eax
xor esi, ebx
mov ebx, r9d
and ebx, r10d
xor ebx, r11d
and esi, r8d
mov ebp, r11d
xor esi, ebx
andn edi, r10d, eax
xor ebp, edx
xor ebp, r9d
xor edi, ebp
and edi, ecx
mov ebp, dword [r15 + 0x24]
xor edi, esi
rorx ebx, edi, 7
rorx r11d, r11d, 0xb
add ebx, r12d
lea r12d, [rbp + r11 - 0x9169366]
mov ebp, r8d
or ebp, r10d
mov esi, ebp
mov ebp, ecx
and ebp, ebx
xor esi, edx
xor esi, ebp
mov ebp, r10d
and ebp, ebx
mov r11d, ebp
mov ebp, eax
xor ebp, ecx
xor ebp, r10d
xor r11d, eax
andn edi, ebx, edx
and esi, r9d
xor edi, ebp
xor esi, r11d
mov ebp, dword [r15 + 4]
and edi, r8d
xor edi, esi
rorx r11d, edi, 7
rorx eax, eax, 0xb
add r11d, r12d
lea r12d, [rbp + rax + 0x670c9c61]
mov ebp, r9d
or ebp, ebx
mov esi, ebp
mov ebp, r8d
and ebp, r11d
xor esi, ecx
xor esi, ebp
mov ebp, ebx
and ebp, r11d
mov eax, ebp
mov ebp, edx
xor ebp, r8d
xor eax, edx
and esi, r10d
xor ebp, ebx
xor esi, eax
andn edi, r11d, ecx
xor edi, ebp
and edi, r9d
mov ebp, dword [r15 + 0x74]
xor edi, esi
rorx eax, edi, 7
rorx edx, edx, 0xb
add eax, r12d
lea r12d, [rbp + rdx - 0x542c7710]
mov ebp, r10d
or ebp, r11d
mov esi, ebp
mov ebp, r9d
and ebp, eax
xor esi, r8d
xor esi, ebp
mov ebp, r11d
and ebp, eax
mov edx, ebp
mov ebp, ecx
xor ebp, r9d
xor ebp, r11d
xor edx, ecx
andn edi, eax, r8d
and esi, ebx
xor edi, ebp
xor esi, edx
mov ebp, dword [r15 + 0x14]
and edi, r10d
xor edi, esi
rorx edx, edi, 7
rorx ecx, ecx, 0xb
add edx, r12d
lea r12d, [rbp + rcx + 0x6a51a0d2]
mov ecx, ebx
or ecx, eax
mov esi, ecx
mov ecx, r10d
and ecx, edx
xor esi, r9d
mov ebp, r8d
xor esi, ecx
xor ebp, r10d
mov ecx, eax
xor ebp, eax
and ecx, edx
xor ecx, r8d
andn edi, edx, r9d
and esi, r11d
xor edi, ebp
xor esi, ecx
mov ebp, dword [r15 + 0x3c]
and edi, ebx
xor edi, esi
rorx ecx, edi, 7
rorx r8d, r8d, 0xb
add ecx, r12d
lea r12d, [rbp + r8 - 0x27abd098]
mov ebp, r11d
or ebp, edx
mov esi, ebp
mov r8d, ebx
and r8d, ecx
xor esi, r10d
mov ebp, r9d
xor esi, r8d
xor ebp, ebx
mov r8d, edx
xor ebp, edx
and r8d, ecx
xor r8d, r9d
andn edi, ecx, r10d
and esi, eax
xor edi, ebp
xor esi, r8d
and edi, r11d
xor edi, esi
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, r12d
lea r12d, [r14 + r9 - 0x69f058d8]
mov r9d, eax
or r9d, ecx
mov ebp, ecx
mov esi, r9d
mov r9d, r11d
and ebp, r8d
and r9d, r8d
xor esi, ebx
mov dword [rsp + 0x28], ebp
xor esi, r9d
mov r9d, ebp
mov ebp, r10d
xor ebp, r11d
xor ebp, ecx
xor r9d, r10d
andn edi, r8d, ebx
and esi, edx
xor edi, ebp
xor esi, r9d
mov r13d, dword [r15 + 0x28]
and edi, eax
xor edi, esi
mov ebp, r8d
rorx r9d, edi, 7
rorx r10d, r10d, 0xb
add r9d, r12d
lea r12d, [r13 + r10 - 0x54aecc5d]
mov r10d, edx
and ebp, r9d
or r10d, r8d
mov esi, r10d
mov r10d, eax
and r10d, r9d
xor esi, r11d
xor esi, r10d
mov r10d, ebp
xor r10d, ebx
and esi, ecx
xor esi, r10d
mov r10d, ebx
xor r10d, eax
mov dword [rsp + 0x2c], ebp
mov ebp, r10d
xor ebp, r8d
andn edi, r9d, r11d
xor edi, ebp
and edi, edx
xor edi, esi
rorx r10d, edi, 7
add r10d, r12d
mov r12d, edx
and r12d, r10d
mov dword [rsp + 0x18], r12d
mov r12d, dword [r15 + 0x40]
rorx ebx, ebx, 0xb
lea ebp, [r12 + rbx + 0x6eef0b6c]
mov ebx, r11d
xor ebx, edx
xor ebx, r9d
andn esi, r10d, eax
xor esi, ebx
mov ebx, ecx
or ebx, r9d
mov r13d, r9d
mov edi, ebx
and r13d, r10d
xor edi, eax
xor edi, dword [rsp + 0x18]
mov ebx, r13d
xor ebx, r11d
and edi, r8d
and esi, ecx
xor edi, ebx
xor edi, esi
rorx ebx, edi, 7
mov edi, ecx
add ebx, ebp
and edi, ebx
mov r12d, dword [r15 + 0x34]
mov ebp, edi
mov esi, eax
mov edi, r10d
and edi, ebx
mov dword [rsp + 0x24], r13d
rorx r11d, r11d, 0xb
lea r13d, [r12 + r11 + 0x137a3be4]
andn r11d, ebx, edx
xor esi, ecx
xor esi, r10d
xor r11d, esi
mov esi, r8d
or esi, r10d
xor esi, edx
xor esi, ebp
mov r12d, edi
xor r12d, eax
and esi, r9d
and r11d, r8d
xor esi, r12d
xor esi, r11d
mov r12d, dword [r15 + 0x6c]
rorx r11d, esi, 7
mov esi, dword [rsp + 0x2c]
add r13d, r11d
rorx eax, eax, 0xb
lea r11d, [r12 + rax - 0x45c40fb0]
mov r12d, dword [rsp + 0x18]
mov eax, esi
and eax, edx
xor r12d, dword [rsp + 0x28]
xor eax, ecx
andn eax, eax, ebx
xor eax, r12d
mov r12d, r9d
and r12d, r13d
xor eax, r12d
mov r12d, dword [r15 + 0xc]
rorx edx, edx, 0xb
lea edx, [r12 + rdx + 0x7efb2a98]
mov r12d, dword [rsp + 0x24]
rorx eax, eax, 7
and r12d, ecx
add r11d, eax
mov eax, r12d
xor ebp, esi
xor eax, r8d
andn eax, eax, r13d
xor eax, ebp
mov ebp, r10d
and ebp, r11d
xor eax, ebp
mov ebp, dword [r15 + 0x54]
rorx ecx, ecx, 0xb
lea esi, [rbp + rcx - 0x5e0e9ae3]
mov ecx, edi
and ecx, r8d
xor ecx, r9d
mov ebp, r8d
rorx eax, eax, 7
add edx, eax
mov eax, dword [rsp + 0x24]
andn ecx, ecx, r11d
and ebp, r13d
xor eax, ebp
mov ebp, ebx
and ebp, edx
xor ecx, eax
xor ecx, ebp
rorx ebp, ecx, 7
mov ecx, ebx
and ecx, r13d
mov eax, ecx
mov ecx, dword [r15 + 0x68]
add ebp, esi
rorx r8d, r8d, 0xb
lea esi, [rcx + r8 + 0x39af0176]
mov ecx, eax
and ecx, r9d
mov r8d, ecx
mov ecx, r9d
and ecx, r11d
xor edi, ecx
xor r8d, r10d
mov ecx, r13d
and ecx, ebp
andn r8d, r8d, edx
xor r8d, edi
xor r8d, ecx
mov ecx, r13d
and ecx, r11d
rorx edi, r8d, 7
rorx r9d, r9d, 0xb
add edi, esi
mov r8d, r10d
lea esi, [r14 + r9 + 0x66ca593e]
mov r9d, ecx
and r8d, edx
and r9d, r10d
xor eax, r8d
xor r9d, ebx
mov r12d, r11d
and r12d, edi
andn r9d, r9d, ebp
xor r9d, eax
xor r9d, r12d
rorx eax, r9d, 7
mov r9d, dword [r15 + 0x2c]
mov r8d, r11d
lea r14d, [rax + rsi]
and r8d, edx
rorx r10d, r10d, 0xb
lea esi, [r9 + r10 - 0x7dbcf178]
mov r10d, ebx
and r10d, ebp
mov r9d, r8d
and r9d, ebx
mov eax, r10d
xor eax, ecx
xor r9d, r13d
mov r10d, edx
andn r9d, r9d, edi
xor r9d, eax
and r10d, r14d
xor r9d, r10d
rorx r10d, r9d, 7
mov r9d, dword [r15 + 0x50]
mov ecx, edx
add r10d, esi
and ecx, ebp
rorx ebx, ebx, 0xb
lea esi, [r9 + rbx - 0x731179e7]
mov r9d, r13d
and r9d, edi
mov ebx, ecx
and ebx, r13d
mov eax, r9d
xor eax, r8d
xor ebx, r11d
mov r9d, ebp
and r9d, r10d
andn ebx, ebx, r14d
xor ebx, eax
xor ebx, r9d
rorx r9d, ebx, 7
mov ebx, dword [r15 + 0x74]
mov r12d, ebp
add r9d, esi
and r12d, edi
rorx r13d, r13d, 0xb
lea esi, [rbx + r13 + 0x456f9fb4]
mov r13d, r11d
and r13d, r14d
mov ebx, r12d
and ebx, r11d
mov eax, r13d
xor eax, ecx
xor ebx, edx
mov ecx, edi
and ecx, r9d
andn ebx, ebx, r10d
xor ebx, eax
xor ebx, ecx
rorx r8d, ebx, 7
mov ecx, dword [r15 + 0x4c]
mov ebx, edi
and ebx, r14d
add r8d, esi
rorx r11d, r11d, 0xb
lea esi, [rcx + r11 + 0x7d84a5c3]
mov ecx, ebx
and ecx, edx
mov r11d, ecx
mov ecx, edx
and ecx, r10d
mov eax, ecx
xor eax, r12d
xor r11d, ebp
mov ecx, r14d
and ecx, r8d
andn r11d, r11d, r9d
xor r11d, eax
xor r11d, ecx
mov r13d, r14d
rorx ecx, r11d, 7
add ecx, esi
and r13d, r10d
mov esi, r13d
mov r13d, dword [r15]
rorx edx, edx, 0xb
lea r12d, [r13 + rdx + 0x3b8b5ebe]
mov r13d, esi
and r13d, ebp
mov r11d, r13d
mov r13d, ebp
and r13d, r9d
mov eax, r13d
xor eax, ebx
xor r11d, edi
mov ebx, r10d
and ebx, ecx
andn r11d, r11d, r8d
xor r11d, eax
xor r11d, ebx
mov ebx, r10d
and ebx, r9d
rorx edx, r11d, 7
mov r11d, ebx
mov ebx, dword [r15 + 0x30]
add edx, r12d
rorx ebp, ebp, 0xb
lea r12d, [rbx + rbp - 0x1f908a28]
mov ebx, edi
and ebx, r8d
mov ebp, r11d
and ebp, edi
mov eax, ebx
xor eax, esi
xor ebp, r14d
mov ebx, r9d
and ebx, edx
andn ebp, ebp, ecx
xor ebp, eax
mov r13d, dword [r15 + 0x1c]
xor ebp, ebx
rorx ebx, ebp, 7
mov ebp, r9d
add ebx, r12d
and ebp, r8d
rorx edi, edi, 0xb
lea r12d, [r13 + rdi - 0x7a3edf8d]
mov r13d, r14d
and r13d, ecx
mov edi, ebp
and edi, r14d
mov eax, r13d
xor eax, r11d
xor edi, r10d
mov r13d, r8d
and r13d, ebx
andn edi, edi, edx
xor edi, eax
xor edi, r13d
mov r13d, r8d
and r13d, ecx
mov r11d, r13d
mov r13d, dword [r15 + 0x34]
rorx eax, r14d, 0xb
rorx esi, edi, 7
lea r13d, [r13 + rax + 0x401a449f]
add esi, r12d
mov eax, r10d
mov r12d, r11d
and r12d, r10d
and eax, edx
xor eax, ebp
xor r12d, r9d
mov edi, ecx
and edi, esi
andn r12d, r12d, ebx
xor r12d, eax
xor r12d, edi
mov ebp, ecx
rorx edi, r12d, 7
add edi, r13d
mov r13d, dword [r15 + 0x20]
and ebp, edx
mov r12d, ebp
rorx r10d, r10d, 0xb
lea r13d, [r13 + r10 + 0x56c16aa6]
mov r10d, r9d
and r12d, r9d
and r10d, ebx
xor r10d, r11d
xor r12d, r8d
andn r12d, r12d, esi
xor r12d, r10d
mov r10d, edx
and r10d, edi
xor r12d, r10d
rorx eax, r12d, 7
mov r10d, dword [r15 + 0x7c]
mov r12d, edx
and r12d, ebx
add eax, r13d
rorx r9d, r9d, 0xb
lea r13d, [r10 + r9 + 0x4ed3aa62]
mov r10d, r12d
mov r9d, r8d
and r10d, r8d
and r9d, esi
xor r9d, ebp
xor r10d, ecx
andn r10d, r10d, edi
xor r10d, r9d
mov r9d, ebx
and r9d, eax
mov ebp, ebx
and ebp, esi
xor r10d, r9d
rorx r11d, r10d, 7
mov r9d, ebp
mov r10d, dword [r15 + 0x28]
and r9d, ecx
add r11d, r13d
xor r9d, edx
rorx r8d, r8d, 0xb
lea r13d, [r10 + r8 + 0x363f7706]
mov r8d, ecx
andn r9d, r9d, eax
and r8d, edi
xor r8d, r12d
mov r10d, esi
and r10d, r11d
xor r9d, r8d
xor r9d, r10d
mov r12d, esi
rorx r10d, r9d, 7
mov r9d, dword [r15 + 0x14]
and r12d, edi
add r10d, r13d
rorx ecx, ecx, 0xb
lea r13d, [r9 + rcx + 0x1bfedf72]
mov ecx, r12d
and ecx, edx
mov r8d, ecx
mov ecx, edx
and ecx, eax
xor ecx, ebp
xor r8d, ebx
mov r9d, edi
and r9d, r10d
andn r8d, r8d, r11d
xor r8d, ecx
mov ecx, edi
and ecx, eax
xor r8d, r9d
rorx r9d, r8d, 7
mov r8d, ecx
mov ecx, dword [r15 + 0x24]
mov ebp, ebx
add r9d, r13d
and ebp, r11d
rorx edx, edx, 0xb
lea r13d, [rcx + rdx + 0x429b023d]
mov ecx, r8d
and ecx, ebx
mov edx, ebp
xor edx, r12d
xor ecx, esi
mov ebp, eax
and ebp, r9d
andn ecx, ecx, r10d
xor ecx, edx
xor ecx, ebp
rorx ebp, ecx, 7
mov ecx, eax
add ebp, r13d
mov r13d, dword [r15 + 0x38]
and ecx, r11d
mov r12d, ecx
rorx ebx, ebx, 0xb
lea r13d, [r13 + rbx + 0x37d0d724]
mov ebx, esi
and ebx, r10d
and r12d, esi
xor r12d, edi
mov edx, ebx
andn r12d, r12d, r9d
mov ebx, r11d
xor edx, r8d
xor r12d, edx
and ebx, ebp
xor r12d, ebx
rorx ebx, r12d, 7
add ebx, r13d
mov r13d, dword [r15 + 0x78]
mov r12d, r11d
and r12d, r10d
rorx esi, esi, 0xb
lea r13d, [r13 + rsi - 0x2ff5edb8]
mov esi, edi
and esi, r9d
mov r8d, r12d
and r8d, edi
mov edx, esi
xor edx, ecx
xor r8d, eax
mov ecx, r10d
and ecx, ebx
andn r8d, r8d, ebp
xor r8d, edx
xor r8d, ecx
mov ecx, r10d
and ecx, r9d
mov edx, ecx
mov ecx, dword [r15 + 0x48]
rorx esi, r8d, 7
rorx edi, edi, 0xb
add esi, r13d
lea r13d, [rcx + rdi - 0x24f0152d]
mov ecx, edx
and ecx, eax
mov edi, ecx
mov ecx, eax
and ecx, ebp
xor ecx, r12d
xor edi, r11d
andn edi, edi, ebx
xor edi, ecx
mov ecx, r9d
and ecx, esi
xor edi, ecx
mov r12d, r9d
mov ecx, dword [r15 + 0x18]
and r12d, ebp
rorx r8d, edi, 7
rorx eax, eax, 0xb
add r8d, r13d
lea r13d, [rcx + rax + 0x49f1c09b]
mov ecx, r12d
and ecx, r11d
mov edi, ecx
mov ecx, r11d
and ecx, ebx
mov eax, ecx
xor eax, edx
xor edi, r10d
mov ecx, ebp
andn edi, edi, esi
xor edi, eax
and ecx, r8d
xor edi, ecx
rorx ecx, edi, 7
mov edi, ebp
and edi, ebx
add ecx, r13d
mov eax, edi
mov r13d, dword [r15 + 0x70]
and eax, r10d
rorx r11d, r11d, 0xb
lea r13d, [r13 + r11 + 0x75372c9]
mov r11d, eax
mov eax, r10d
and eax, esi
xor eax, r12d
xor r11d, r9d
mov r12d, ebx
and r12d, ecx
andn r11d, r11d, r8d
xor r11d, eax
xor r11d, r12d
rorx edx, r11d, 7
add edx, r13d
mov r13d, ebx
and r13d, esi
mov r11d, r13d
mov r13d, dword [r15 + 0x60]
mov r12d, r11d
rorx r10d, r10d, 0xb
lea r13d, [r13 + r10 - 0x7f66e485]
mov r10d, r9d
and r12d, r9d
and r10d, r8d
xor r10d, edi
xor r12d, ebp
andn r12d, r12d, ecx
xor r12d, r10d
mov r10d, esi
and r10d, edx
xor r12d, r10d
rorx eax, r12d, 7
mov r10d, dword [r15 + 8]
mov r12d, esi
and r12d, r8d
add eax, r13d
mov edi, r12d
rorx r9d, r9d, 0xb
lea r13d, [r10 + r9 + 0x25d479d8]
mov r10d, ebp
and edi, ebp
and r10d, ecx
xor r10d, r11d
xor edi, ebx
mov r9d, r8d
and r9d, eax
andn edi, edi, edx
xor edi, r10d
xor edi, r9d
mov r10d, dword [r15 + 0x5c]
rorx r9d, edi, 7
mov edi, r8d
add r9d, r13d
rorx ebp, ebp, 0xb
and edi, ecx
lea r13d, [r10 + rbp - 0x9172109]
mov r10d, ebx
and r10d, edx
mov ebp, edi
and ebp, ebx
mov r11d, r10d
xor r11d, r12d
xor ebp, esi
mov r10d, ecx
and r10d, r9d
andn ebp, ebp, eax
xor ebp, r11d
xor ebp, r10d
rorx r10d, ebp, 7
mov ebp, ecx
add r10d, r13d
mov r13d, dword [r15 + 0x40]
and ebp, edx
mov r12d, ebp
rorx ebx, ebx, 0xb
lea r13d, [r13 + rbx - 0x1c01afe6]
mov ebx, esi
and r12d, esi
and ebx, eax
xor ebx, edi
xor r12d, r8d
andn r12d, r12d, r9d
xor r12d, ebx
mov ebx, edx
and ebx, r10d
xor r12d, ebx
mov ebx, edx
and ebx, eax
mov edi, ebx
mov ebx, dword [r15 + 0x58]
rorx r11d, r12d, 7
rorx esi, esi, 0xb
add r11d, r13d
lea r13d, [rbx + rsi - 0x4986b3c5]
mov ebx, r8d
and ebx, r9d
mov r12d, edi
and r12d, r8d
mov esi, ebx
xor esi, ebp
xor r12d, ecx
mov ebx, eax
and ebx, r11d
andn r12d, r12d, r10d
mov ebp, eax
xor r12d, esi
and ebp, r9d
xor r12d, ebx
mov esi, ecx
rorx ebx, r12d, 7
mov r12d, ebp
add ebx, r13d
mov r13d, dword [r15 + 0x10]
and r12d, ecx
and esi, r10d
xor esi, edi
xor r12d, edx
rorx r8d, r8d, 0xb
lea r13d, [r13 + r8 - 0x68931f43]
mov r8d, r9d
and r8d, ebx
andn r12d, r12d, r11d
xor r12d, esi
xor r12d, r8d
rorx r8d, r12d, 7
add r8d, r13d
mov r13d, dword [r15 + 4]
mov edi, r9d
and edi, r10d
rorx ecx, ecx, 0xb
lea r13d, [r13 + rcx + 0x4c006ba]
mov ecx, edx
and ecx, r11d
mov r12d, edi
and r12d, edx
mov esi, ecx
xor esi, ebp
xor r12d, eax
mov ecx, r10d
and ecx, r8d
andn r12d, r12d, ebx
xor r12d, esi
xor r12d, ecx
mov ebp, r10d
rorx ecx, r12d, 7
add ecx, r13d
mov r13d, dword [r15 + 0x64]
and ebp, r11d
rorx edx, edx, 0xb
lea r12d, [r13 + rdx - 0x3e56b04a]
mov r13d, ebp
and r13d, eax
mov esi, r13d
mov r13d, eax
and r13d, ebx
mov edx, r13d
xor edx, edi
xor esi, r9d
mov r13d, r11d
and r13d, ecx
andn esi, esi, r8d
xor esi, edx
mov edi, dword [rsp + 0x10]
xor esi, r13d
mov r13d, dword [r15 + 0x3c]
rorx eax, eax, 0xb
lea edx, [rdi + r13 + 0x409f60c4]
mov edi, r9d
and edi, r11d
add eax, edx
mov edx, edi
and edx, ebx
mov edi, r9d
rorx esi, esi, 7
add r12d, esi
xor edx, r10d
add dword [rsp + 4], r12d
add dword [rsp], ebx
add dword [rsp + 0x14], r11d
and edi, r8d
add dword [rsp + 0xc], r8d
xor ebp, edi
add dword [rsp + 8], ecx
mov edi, ebx
and edi, r12d
andn edx, edx, ecx
xor edx, ebp
xor edx, edi
mov r14d, dword [rsp + 4]
rorx edx, edx, 7
lea edi, [rdx + rax]
mov edx, dword [rsp + 0x14]
mov eax, dword [rsp]
mov esi, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
mov dword [rsp + 0x10], edi
add dword [rsp + 0x1c], r10d
mov ebx, dword [rsp + 0x1c]
mov r11d, eax
mov r10d, edx
and eax, edx
mov edx, r14d
xor edx, ebx
and edx, ecx
xor eax, ebx
xor eax, edx
mov edx, edi
and edx, esi
add dword [rsp + 0x20], r9d
mov r9d, ebx
mov ebx, edi
xor eax, edx
rorx edx, ecx, 0xb
mov dword [rsp + 0x18], edx
rorx edx, r14d, 0xb
mov dword [rsp + 0x24], edx
rorx edx, ebx, 0xb
mov dword [rsp + 0x28], edx
mov edx, ebx
and edx, r14d
xor edx, ecx
rorx r13d, r9d, 0xb
mov r9d, ebx
mov dword [rsp + 0x2c], edx
mov edx, r9d
mov r9d, dword [rsp + 0x14]
mov ebx, r14d
xor edx, r9d
and edx, r14d
and ebx, ecx
rorx r12d, r10d, 0xb
and ecx, esi
mov r10d, esi
xor ebx, esi
rorx edi, esi, 0xb
mov esi, ecx
mov ecx, edx
mov edx, r10d
mov r8d, dword [rsp + 0x20]
and edx, r11d
xor edx, r9d
xor edx, ecx
xor esi, r11d
mov rcx, r15
mov r14d, 0x76
rorx eax, eax, 7
rorx r8d, r8d, 0xb
rorx ebp, r11d, 0xb
jmp 0x5161f2
mov byte [rcx], 0
test r9b, 2
je 0x516229
xor r10d, r10d
mov word [rcx + r9 - 2], r10w
jmp 0x516229
mov r10d, r9d
dec r9d
mov qword [rcx + r10 - 8], 0
cmp r9d, 8
jb 0x518c0a
and r9d, 0xfffffff8
xor r10d, r10d
mov r11d, r10d
add r10d, 8
mov qword [rcx + r11], r14
cmp r10d, r9d
jb 0x51b6b0
jmp 0x518c0a
mov qword [rcx], 0
mov qword [rcx + 8], 0
lea rcx, [rcx + r9 + 0x10]
mov qword [rcx - 0x20], 0
mov qword [rcx - 0x18], 0
jmp 0x516229
mov qword [rcx], 0
mov qword [rcx + r9 - 8], 0
jmp 0x516229
mov dword [rcx], 0
mov dword [rcx + r9 - 4], 0
jmp 0x516229
mov dword [rcx], 0
mov dword [rcx + r9 - 4], 0
jmp 0x518c0a
xor r11d, r11d
mov word [rcx + r9 - 2], r11w
jmp 0x518c0a
xor r8d, r8d
mov r9, rdx
xor edx, edx
jmp 0x516090