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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r10d, 1
mov r15, rcx
mov ecx, dword [rcx + 0xa8]
mov qword [rsp + 0xc8], r9
movzx edx, dl
and ecx, 0x7f
lea r14d, [rcx + 1]
mov r9d, ecx
mov ecx, 8
sub ecx, r8d
shr edx, cl
mov ecx, r8d
mov rax, r14
shl r10d, cl
add r14, r15
or edx, r10d
mov byte [r15 + r9], dl
mov r11d, dword [r15 + 0x88]
mov r9d, dword [r15 + 0x94]
mov r13d, dword [r15 + 0x90]
mov r12d, dword [r15 + 0x98]
mov edi, dword [r15 + 0x80]
mov ebx, dword [r15 + 0x84]
mov ecx, r11d
mov esi, dword [r15 + 0x8c]
mov edx, r9d
and ecx, r13d
mov dword [rsp + 0x38], r13d
and edx, r12d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x3c], r11d
xor edx, ecx
mov ecx, edi
mov ebp, esi
xor ecx, ebx
xor edx, edi
mov r8d, ebx
and ecx, esi
mov dword [rsp + 0x2c], ebx
mov esi, r12d
xor edx, ecx
mov ecx, ebp
mov ebx, r9d
mov dword [rsp + 0x34], ecx
mov r9d, r11d
mov dword [rsp + 0x48], r12d
mov r12d, r11d
mov r11d, r13d
mov r13d, ecx
mov ecx, edi
ror r13d, 0xb
and r12d, ebp
and ecx, r8d
mov ebp, r8d
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x50], ecx
mov ecx, r9d
mov r13d, r8d
ror ecx, 0xb
ror r8d, 0xb
and ebp, r9d
mov dword [rsp + 0x54], ecx
mov ecx, edi
mov dword [rsp + 0x30], edi
ror ecx, 0xb
and edi, r9d
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x5c], ecx
mov r8d, dword [rsp + 0x34]
ror edx, 7
and r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x38]
ror esi, 0xb
and r9d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
ror ebx, 0xb
mov r10d, dword [r15 + 0x9c]
ror r11d, 0xb
and ecx, r13d
xor r8d, edi
mov dword [rsp + 0x4c], r10d
xor r9d, ecx
ror r10d, 0xb
cmp eax, 0x76
ja 0x6f5a0660
mov r13d, 0x76
sub r13d, eax
cmp r13d, 8
mov ecx, r13d
jae 0x6f59e5c0
and r13d, 4
jne 0x6f5a2665
test ecx, ecx
je 0x6f59e5e8
test cl, 2
mov byte [r14], 0
je 0x6f59e5e8
xor eax, eax
mov word [r14 + rcx - 2], ax
jmp 0x6f59e5e8
lea rdi, [r14 + 8]
mov qword [r14], 0
mov qword [r14 + r13 - 8], 0
xor eax, eax
and rdi, 0xfffffffffffffff8
sub r14, rdi
lea ecx, [r13 + r14]
shr ecx, 3
rep stosq qword [rdi], rax
movzx eax, byte [r15 + 0xa0]
mov edi, dword [rsp + 0x30]
add edx, r10d
add esi, dword [r15 + 4]
mov ecx, dword [rsp + 0x2c]
add ebx, dword [r15 + 8]
add r11d, dword [r15 + 0xc]
mov byte [r15 + 0x76], 0x21
shl eax, 3
mov byte [r15 + 0x77], al
mov rax, qword [r15 + 0xa8]
lea r13, [rax*8]
mov eax, dword [r15]
mov qword [r15 + 0x78], r13
add eax, edx
mov edx, edi
xor edx, eax
and edx, dword [rsp + 0x3c]
xor r9d, eax
xor r9d, edx
mov edx, r9d
mov r9d, eax
ror edx, 7
add esi, edx
mov edx, eax
xor edx, esi
xor r8d, esi
mov r10d, esi
and edx, ecx
xor r8d, edx
mov edx, ecx
mov ecx, edi
ror r8d, 7
and edx, eax
add r8d, ebx
xor r12d, edx
mov edx, edi
xor r10d, r8d
xor r12d, r8d
and edx, esi
and r10d, edi
mov ebx, r8d
xor ebp, edx
xor r12d, r10d
ror r12d, 7
add r12d, r11d
xor ebx, r12d
xor ebp, r12d
mov r10d, r12d
and ebx, eax
xor ebp, ebx
mov ebx, dword [rsp + 0x44]
ror ebp, 7
add ebx, dword [r15 + 0x10]
and r9d, r8d
xor r9d, dword [rsp + 0x50]
and ecx, eax
add ebp, ebx
mov ebx, r12d
xor ebx, ebp
xor r9d, ebp
mov edx, ebx
mov ebx, dword [rsp + 0x54]
add ebx, dword [r15 + 0x14]
and edx, esi
xor r9d, edx
ror r9d, 7
add r9d, ebx
mov ebx, esi
and ebx, r12d
mov r14d, r9d
xor ecx, ebx
mov ebx, ebp
xor ebx, r9d
xor ecx, r9d
mov edx, ebx
mov ebx, dword [rsp + 0x58]
add ebx, dword [r15 + 0x18]
and edx, r8d
xor ecx, edx
ror ecx, 7
add ecx, ebx
mov ebx, eax
and ebx, esi
mov edi, ebx
mov ebx, r8d
and ebx, ebp
xor edi, ebx
mov ebx, r9d
xor ebx, ecx
xor edi, ecx
mov edx, ebx
mov ebx, dword [rsp + 0x5c]
add ebx, dword [r15 + 0x1c]
and edx, r12d
xor edi, edx
ror edi, 7
add edi, ebx
ror eax, 0xb
add eax, dword [r15 + 0x20]
and r10d, r9d
mov ebx, dword [r15 + 0x28]
and r14d, edi
mov edx, eax
mov eax, esi
ror esi, 0xb
and eax, r8d
add esi, dword [r15 + 0x24]
xor eax, r10d
mov r10d, ecx
xor r10d, edi
xor eax, edi
and r10d, ebp
xor eax, r10d
mov r10d, ebp
ror eax, 7
and r10d, ecx
add eax, edx
mov edx, esi
mov esi, r8d
and esi, r12d
ror r8d, 0xb
mov r11d, eax
xor esi, r10d
mov r10d, edi
add ebx, r8d
xor r10d, eax
xor esi, eax
mov r8d, r12d
and r10d, r9d
and r8d, ebp
xor esi, r10d
xor r8d, r14d
mov r10d, ebp
ror esi, 7
mov r14d, edi
add esi, edx
xor r11d, esi
xor r8d, esi
and r11d, ecx
xor r8d, r11d
mov r11d, dword [r15 + 0x30]
ror r8d, 7
add r8d, ebx
mov ebx, ecx
and r10d, r9d
and ebx, eax
ror r12d, 0xb
add r12d, dword [r15 + 0x2c]
xor r10d, ebx
mov ebx, esi
and r14d, esi
xor ebx, r8d
xor r10d, r8d
ror ebp, 0xb
mov edx, ebx
mov ebx, r9d
ror r9d, 0xb
and edx, edi
and ebx, ecx
add r9d, dword [r15 + 0x34]
xor r10d, edx
xor ebx, r14d
mov r14d, r8d
ror r10d, 7
add r11d, ebp
add r10d, r12d
xor r14d, r10d
xor ebx, r10d
mov edx, r14d
mov r14d, dword [r15 + 0x38]
and edx, eax
xor ebx, edx
mov edx, r9d
mov r9d, ecx
ror ebx, 7
and r9d, edi
add ebx, r11d
mov r11d, eax
and r11d, r8d
xor r9d, r11d
mov r11d, r10d
xor r11d, ebx
xor r9d, ebx
and r11d, esi
xor r9d, r11d
mov r11d, esi
ror r9d, 7
ror ecx, 0xb
and r11d, r10d
add r14d, ecx
add r9d, edx
mov edx, r14d
mov r14d, edi
ror edi, 0xb
and r14d, eax
add edi, dword [r15 + 0x3c]
mov ecx, r14d
mov r14d, eax
ror eax, 0xb
xor ecx, r11d
mov r11d, ebx
and r14d, esi
xor r11d, r9d
xor ecx, r9d
add eax, dword [r15 + 0x40]
and r11d, r8d
xor ecx, r11d
mov r11d, r8d
ror ecx, 7
and r11d, ebx
add ecx, edx
mov edx, r14d
mov r14d, r10d
xor edx, r11d
mov r11d, r9d
and r14d, r9d
xor r11d, ecx
xor edx, ecx
and r11d, r10d
xor edx, r11d
mov r11d, eax
mov eax, esi
and eax, r8d
ror edx, 7
add edx, edi
xor eax, r14d
mov r14d, ecx
xor r14d, edx
xor eax, edx
mov edi, r14d
mov r14d, ebx
and edi, ebx
xor eax, edi
ror esi, 0xb
add esi, dword [r15 + 0x44]
ror eax, 7
and r14d, ecx
add eax, r11d
mov r11d, esi
mov esi, r8d
ror r8d, 0xb
and esi, r10d
add r8d, dword [r15 + 0x48]
xor esi, r14d
mov r14d, edx
xor r14d, eax
xor esi, eax
mov edi, r14d
mov r14d, r9d
and edi, r9d
and r14d, edx
xor esi, edi
ror esi, 7
add esi, r11d
mov r11d, r10d
ror r10d, 0xb
and r11d, ebx
xor r11d, r14d
mov r14d, eax
xor r14d, esi
xor r11d, esi
mov edi, r14d
mov r14d, ecx
and edi, ecx
and r14d, eax
xor r11d, edi
ror r11d, 7
add r11d, r8d
mov r8d, dword [r15 + 0x4c]
mov dword [rsp + 0x44], r13d
add r8d, r10d
mov r10d, ebx
and r10d, r9d
xor r10d, r14d
mov r14d, esi
xor r14d, r11d
xor r10d, r11d
mov edi, r14d
mov r14d, edx
and edi, edx
ror ebx, 0xb
add ebx, dword [r15 + 0x50]
xor r10d, edi
and r14d, esi
ror r10d, 7
add r10d, r8d
mov r8d, ebx
mov ebx, r9d
ror r9d, 0xb
and ebx, ecx
xor ebx, r14d
mov r14d, r11d
xor r14d, r10d
xor ebx, r10d
mov edi, r14d
mov r14d, eax
and edi, eax
and r14d, r11d
xor ebx, edi
ror ebx, 7
add ebx, r8d
mov r8d, dword [r15 + 0x54]
add r8d, r9d
mov r9d, ecx
ror ecx, 0xb
and r9d, edx
xor r9d, r14d
mov r14d, r10d
xor r14d, ebx
xor r9d, ebx
mov edi, r14d
mov r14d, edx
and edi, esi
and r14d, eax
xor r9d, edi
ror r9d, 7
add r9d, r8d
mov r8d, dword [r15 + 0x58]
add r8d, ecx
mov ecx, r14d
mov r14d, esi
and r14d, r10d
xor ecx, r14d
mov r14d, ebx
xor ecx, r9d
xor r14d, r9d
ror edx, 0xb
mov edi, r14d
mov r14d, dword [r15 + 0x5c]
and edi, r11d
xor ecx, edi
add r14d, edx
ror ecx, 7
mov edi, r14d
mov r14d, eax
add ecx, r8d
and r14d, esi
mov r8d, r11d
ror eax, 0xb
and r8d, ebx
add eax, dword [r15 + 0x60]
mov edx, r14d
xor edx, r8d
mov r8d, r9d
mov r14d, r10d
xor r8d, ecx
xor edx, ecx
and r14d, r9d
and r8d, r10d
mov ebp, ecx
xor edx, r8d
mov r8d, eax
mov eax, esi
and eax, r11d
ror edx, 7
ror esi, 0xb
add edx, edi
xor eax, r14d
mov r14d, ecx
xor r14d, edx
add esi, dword [r15 + 0x64]
xor eax, edx
mov edi, r14d
mov r14d, ebx
mov r12d, edx
and edi, ebx
and r14d, ecx
xor eax, edi
ror eax, 7
add eax, r8d
mov r8d, esi
mov esi, r11d
and esi, r10d
xor esi, r14d
mov r14d, edx
xor esi, eax
xor r14d, eax
ror r11d, 0xb
mov edi, r14d
add r11d, dword [r15 + 0x68]
mov r14d, r9d
and edi, r9d
and r14d, edx
and ebp, eax
xor esi, edi
ror esi, 7
add esi, r8d
mov r8d, r11d
mov r11d, r10d
and r11d, ebx
ror r10d, 0xb
xor r11d, r14d
mov r14d, eax
xor r14d, esi
xor r11d, esi
mov edi, r14d
mov r14d, esi
and edi, ecx
xor r11d, edi
ror r11d, 7
add r11d, r8d
mov r8d, dword [r15 + 0x6c]
xor r14d, r11d
add r8d, r10d
mov r10d, ebx
ror ebx, 0xb
and r10d, r9d
add ebx, dword [r15 + 0x70]
xor r10d, ebp
mov ebp, r14d
and ebp, edx
xor r10d, r11d
xor r10d, ebp
mov ebp, r11d
ror r10d, 7
add r10d, r8d
mov r8d, ebx
mov ebx, r9d
xor ebp, r10d
and ebx, ecx
and r12d, esi
xor ebx, r12d
mov r12d, ebp
ror r9d, 0xb
and r12d, eax
xor ebx, r10d
mov dword [rsp + 0x50], ebp
xor ebx, r12d
mov ebp, eax
ror ebx, 7
and ebp, r11d
add ebx, r8d
mov r8d, r10d
xor r8d, ebx
mov r12d, r8d
mov r8d, dword [r15 + 0x74]
add r8d, r9d
mov r9d, ecx
ror ecx, 0xb
and r9d, edx
lea edi, [rcx + r13]
mov ecx, edx
xor r9d, ebp
mov ebp, r12d
and ecx, eax
and ebp, esi
xor r9d, ebx
shr r13, 0x20
xor r9d, ebp
ror edx, 0xb
mov dword [rsp + 0x54], r13d
ror r9d, 7
add r9d, r8d
mov r8d, ebx
xor r8d, r9d
mov ebp, r8d
mov r8d, esi
and r8d, r10d
xor ecx, r8d
mov r8d, ebp
and r8d, r11d
xor ecx, r9d
xor ecx, r8d
lea r8d, [rdx + r13]
mov edx, eax
ror ecx, 7
mov r13d, r11d
and edx, esi
add ecx, edi
mov edi, r9d
xor edi, ecx
and r13d, ebx
ror eax, 0xb
xor edx, r13d
mov r13d, edi
and r14d, r9d
and r13d, r10d
xor edx, ecx
xor r14d, r10d
xor edx, r13d
mov r13d, r11d
ror edx, 7
and r13d, r9d
add edx, r8d
mov r8d, dword [r15 + 0x14]
xor r13d, r12d
lea r8d, [r8 + rax + 0x452821e6]
mov eax, edx
not eax
and eax, esi
ror esi, 0xb
xor eax, r13d
mov r13d, r11d
and r13d, edx
and eax, ecx
xor r14d, r13d
mov r13d, dword [rsp + 0x50]
xor r14d, eax
mov eax, dword [r15 + 0x38]
ror r14d, 7
add r8d, r14d
mov r14d, r10d
and r13d, ecx
lea eax, [rax + rsi + 0x38d01377]
mov esi, r8d
and r14d, ecx
not esi
xor r14d, ebp
xor r13d, ebx
and esi, r11d
xor esi, r14d
mov r14d, r10d
and r14d, r8d
and esi, edx
xor r13d, r14d
mov r14d, ebx
xor r13d, esi
mov esi, dword [r15 + 0x68]
ror r13d, 7
add eax, r13d
ror r11d, 0xb
and r14d, edx
lea esi, [rsi + r11 - 0x41ab9931]
mov r11d, eax
mov r13d, r14d
not r11d
xor r13d, edi
and r12d, edx
and r11d, r10d
mov r14d, ebx
xor r12d, r9d
and r14d, eax
xor r11d, r13d
ror r10d, 0xb
and r11d, r8d
xor r12d, r14d
mov r14d, r9d
xor r12d, r11d
mov r11d, dword [r15 + 0x48]
and r14d, r8d
ror r12d, 7
mov r13d, r14d
and ebp, r8d
add r12d, esi
mov esi, ecx
mov r14d, r9d
lea r11d, [r11 + r10 + 0x34e90c6c]
mov r10d, r12d
xor esi, edx
not r10d
xor r13d, esi
and r14d, r12d
and r10d, ebx
xor ebp, ecx
ror ebx, 0xb
xor r10d, r13d
xor ebp, r14d
mov r14d, edx
and r10d, eax
xor r14d, r8d
xor ebp, r10d
ror ebp, 7
add ebp, r11d
mov r11d, dword [r15 + 0x2c]
mov r10d, ebp
not r10d
lea r11d, [r11 + rbx - 0x3f53d649]
mov ebx, ecx
and r10d, r9d
and ebx, eax
xor ebx, r14d
and edi, eax
ror r9d, 0xb
xor r10d, ebx
mov ebx, ecx
xor edi, edx
and r10d, r12d
and ebx, ebp
and esi, r12d
xor edi, ebx
mov ebx, r10d
mov r10d, r8d
xor ebx, edi
xor r10d, eax
xor esi, r8d
ror ebx, 7
and r14d, ebp
add ebx, r11d
mov r11d, dword [r15 + 0x70]
lea edi, [r11 + r9 - 0x3683af23]
mov r9d, ebx
mov r11d, edx
and r11d, r12d
not r9d
xor r11d, r10d
and r9d, ecx
ror ecx, 0xb
xor r9d, r11d
mov r11d, edx
and r9d, ebp
and r11d, ebx
xor esi, r11d
mov r11d, r9d
mov r9d, dword [r15 + 0x1c]
xor r11d, esi
mov esi, eax
ror r11d, 7
xor esi, r12d
add r11d, edi
lea r9d, [r9 + rcx + 0x3f84d5b5]
mov edi, r8d
mov ecx, r11d
and edi, ebp
not ecx
xor edi, esi
and ecx, edx
xor ecx, edi
mov edi, r8d
and ecx, ebx
xor r14d, eax
and edi, r11d
xor r14d, edi
mov edi, ecx
ror edx, 0xb
xor edi, r14d
mov r14d, eax
and r10d, ebx
ror edi, 7
and r14d, ebx
xor r10d, r12d
add edi, r9d
mov r9d, r12d
mov r13d, r14d
xor r9d, ebp
mov r14d, eax
and esi, r11d
mov ecx, r9d
mov r9d, dword [r15 + 0x40]
and r14d, edi
xor r13d, ecx
xor r10d, r14d
xor esi, ebp
lea r9d, [r9 + rdx - 0x4ab8f6e9]
mov edx, edi
not edx
and edx, r8d
ror r8d, 0xb
xor edx, r13d
and edx, r11d
xor edx, r10d
mov r13d, edx
ror r13d, 7
add r13d, r9d
mov r9d, ebp
xor r9d, ebx
mov r10d, r13d
mov edx, r9d
mov r9d, dword [r15]
not r10d
lea r9d, [r9 + r8 - 0x6de92a27]
mov r8d, r10d
mov r10d, r12d
and r10d, r11d
and r8d, eax
xor r10d, edx
xor r8d, r10d
mov r10d, r12d
and r8d, edi
and r10d, r13d
xor esi, r10d
mov r10d, r8d
xor r10d, esi
mov esi, ebx
ror r10d, 7
xor esi, r11d
ror eax, 0xb
mov r14d, esi
mov esi, dword [r15 + 0x5c]
add r10d, r9d
mov r9d, ebp
and ecx, edi
and edx, r13d
and r9d, edi
xor ecx, ebx
xor edx, r11d
lea r8d, [rsi + rax - 0x768604e5]
mov eax, r10d
xor r9d, r14d
not eax
mov esi, dword [r15 + 0x50]
and eax, r12d
ror r12d, 0xb
xor eax, r9d
mov r9d, ebp
and r9d, r10d
and eax, r13d
lea esi, [rsi + r12 - 0x2ecef45a]
xor ecx, r9d
xor eax, ecx
mov r9d, eax
mov eax, r11d
ror r9d, 7
xor eax, edi
add r9d, r8d
mov r12d, r9d
not r12d
mov ecx, r12d
mov r12d, ebx
and r12d, r13d
and ecx, ebp
ror ebp, 0xb
mov r8d, r12d
mov r12d, ebx
xor r8d, eax
and r12d, r9d
xor ecx, r8d
xor edx, r12d
and ecx, r10d
mov r12d, ecx
xor r12d, edx
mov r8d, r12d
mov r12d, dword [r15 + 0x58]
ror r8d, 7
add r8d, esi
mov esi, edi
lea ebp, [r12 + rbp - 0x67204a54]
mov r12d, r8d
xor esi, r13d
not r12d
mov edx, r12d
mov r12d, r11d
and edx, ebx
and r12d, r10d
and r14d, r10d
mov ecx, r12d
mov r12d, r14d
mov r14d, r11d
xor ecx, esi
and r14d, r8d
xor r12d, edi
xor edx, ecx
mov ecx, r14d
ror ebx, 0xb
and edx, r9d
xor ecx, r12d
mov r12d, r13d
xor ecx, edx
mov edx, edi
xor r12d, r10d
ror ecx, 7
and edx, r9d
and eax, r9d
add ecx, ebp
mov ebp, dword [r15 + 4]
xor edx, r12d
xor eax, r13d
lea ebp, [rbp + rbx + 0x2ffd72db]
mov ebx, ecx
not ebx
and ebx, r11d
ror r11d, 0xb
xor ebx, edx
mov edx, edi
and edx, ecx
and ebx, r8d
xor eax, edx
xor ebx, eax
mov eax, r10d
xor eax, r9d
mov edx, ebx
mov ebx, r9d
mov r14d, eax
mov eax, dword [r15 + 0x28]
ror edx, 7
add edx, ebp
mov ebp, r13d
and ebp, r8d
lea r11d, [rax + r11 - 0x2fe52049]
mov eax, edx
xor ebp, r14d
not eax
and eax, edi
xor eax, ebp
mov ebp, r13d
and eax, ecx
and esi, r8d
and ebp, edx
xor esi, r10d
ror edi, 0xb
xor ebx, r8d
xor esi, ebp
and r12d, ecx
and r14d, edx
xor eax, esi
mov esi, r10d
xor r12d, r9d
mov ebp, eax
mov eax, dword [r15 + 0x10]
and esi, ecx
ror ebp, 7
xor r14d, r8d
add ebp, r11d
lea r11d, [rax + rdi - 0x471e5013]
mov eax, ebp
mov edi, esi
not eax
xor edi, ebx
mov esi, r10d
and eax, r13d
and esi, ebp
ror r13d, 0xb
xor eax, edi
xor r12d, esi
and eax, edx
xor eax, r12d
mov r12d, r8d
mov edi, eax
mov eax, dword [r15 + 0x20]
xor r12d, ecx
ror edi, 7
add edi, r11d
lea esi, [rax + r13 + 0x6a267e96]
mov r11d, edi
mov eax, r9d
and eax, edx
not r11d
xor eax, r12d
and r11d, r10d
xor r11d, eax
mov eax, r9d
and r11d, ebp
and eax, edi
xor r14d, eax
mov eax, r11d
ror r10d, 0xb
xor eax, r14d
mov r14d, dword [rsp + 0x44]
and ebx, ebp
ror eax, 7
xor ebx, ecx
and r12d, edi
add eax, esi
mov esi, ecx
xor r12d, edx
xor esi, edx
lea r11d, [r14 + r10 - 0x45836fbb]
mov r10d, eax
mov r13d, esi
mov esi, r8d
not r10d
and esi, ebp
and r10d, r9d
ror r9d, 0xb
xor esi, r13d
xor r10d, esi
mov esi, r8d
and r10d, edi
and esi, eax
xor ebx, esi
mov esi, r10d
xor esi, ebx
mov ebx, edx
xor ebx, ebp
ror esi, 7
mov r14d, ebx
mov ebx, dword [r15 + 0xc]
add esi, r11d
mov r11d, dword [r15 + 0x54]
lea r10d, [rbx + r9 - 0xed38067]
mov r9d, esi
mov ebx, ecx
and ebx, edi
not r9d
xor ebx, r14d
and r9d, r8d
xor r9d, ebx
mov ebx, ecx
and r9d, eax
and ebx, esi
xor r12d, ebx
mov ebx, r9d
mov r9d, ebp
xor ebx, r12d
mov r12d, eax
ror ebx, 7
add ebx, r10d
xor r9d, edi
ror r8d, 0xb
lea r10d, [r11 + r8 + 0x24a19947]
mov r11d, ebx
and r13d, eax
not r11d
xor r13d, ebp
and r14d, esi
mov r8d, r11d
mov r11d, edx
xor r14d, edi
and r11d, eax
and r8d, ecx
ror ecx, 0xb
xor r11d, r9d
xor r12d, esi
xor r8d, r11d
mov r11d, edx
and r8d, esi
and r11d, ebx
xor r13d, r11d
mov r11d, r8d
xor r11d, r13d
ror r11d, 7
add r11d, r10d
mov r10d, edi
xor r10d, eax
mov r13d, r10d
mov r10d, dword [r15 + 0x24]
lea r8d, [r10 + rcx - 0x4c6e9309]
mov r10d, r11d
not r10d
mov ecx, r10d
mov r10d, ebp
and r10d, esi
and ecx, edx
ror edx, 0xb
xor r10d, r13d
xor ecx, r10d
mov r10d, ebp
and ecx, ebx
and r10d, r11d
xor r14d, r10d
mov r10d, ecx
xor r10d, r14d
mov r14d, r12d
mov r12d, dword [r15 + 0x44]
ror r10d, 7
add r10d, r8d
lea ecx, [r12 + rdx + 0x801f2e2]
mov r12d, r10d
not r12d
mov edx, r12d
mov r12d, edi
and r12d, ebx
and edx, ebp
xor r12d, r14d
and r9d, ebx
ror ebp, 0xb
xor edx, r12d
mov r8d, r9d
mov r12d, edi
and edx, r11d
and r12d, r10d
xor r8d, eax
xor r8d, r12d
mov r12d, edx
mov r9d, esi
xor r12d, r8d
mov r8d, dword [r15 + 0x60]
xor r9d, ebx
ror r12d, 7
and r13d, r11d
mov dword [rsp + 0x50], r9d
add r12d, ecx
xor r13d, esi
and r14d, r10d
lea ecx, [r8 + rbp - 0x7a7103ea]
mov ebp, r12d
mov r8d, ebx
not ebp
xor r8d, r11d
mov edx, ebp
mov ebp, eax
and ebp, r11d
and edx, edi
ror edi, 0xb
xor ebp, r9d
xor edx, ebp
mov ebp, eax
and edx, r10d
and ebp, r12d
xor r13d, ebp
mov ebp, edx
xor ebp, r13d
mov r13d, r8d
mov r8d, dword [r15 + 0x74]
ror ebp, 7
add ebp, ecx
lea ecx, [r8 + rdi + 0x636920d8]
mov r8d, esi
mov edx, ebp
and r8d, r10d
not edx
mov r9d, r8d
and edx, eax
mov r8d, esi
xor r9d, r13d
xor edx, r9d
and edx, r12d
xor r14d, ebx
and r8d, ebp
xor r14d, r8d
mov r8d, r11d
ror eax, 0xb
xor edx, r14d
xor r8d, r10d
and r13d, ebp
mov edi, r8d
mov r9d, edx
mov r8d, dword [r15 + 0x18]
ror r9d, 7
xor r13d, r10d
add r9d, ecx
mov ecx, dword [rsp + 0x50]
lea edx, [r8 + rax + 0x71574e69]
mov eax, r9d
mov r8d, ebx
and r8d, r12d
not eax
xor r8d, edi
and eax, esi
and ecx, r12d
xor eax, r8d
mov r8d, ebx
xor ecx, r11d
and r8d, r9d
and eax, ebp
ror esi, 0xb
xor ecx, r8d
xor eax, ecx
mov r8d, eax
mov eax, r10d
xor eax, r12d
ror r8d, 7
mov r14d, eax
mov eax, dword [r15 + 0x4c]
add r8d, edx
lea edx, [rax + rsi - 0x5ba7015d]
mov esi, r11d
mov eax, r8d
and esi, ebp
not eax
mov ecx, esi
and eax, ebx
mov esi, r11d
xor ecx, r14d
and esi, r8d
xor eax, ecx
xor r13d, esi
mov esi, r12d
and eax, r9d
xor eax, r13d
mov ecx, eax
mov eax, dword [r15 + 0x30]
ror ecx, 7
ror ebx, 0xb
xor esi, ebp
add ecx, edx
mov edx, r10d
and edi, r9d
lea ebx, [rax + rbx - 0xb6cc282]
mov eax, ecx
and edx, r9d
not eax
xor edx, esi
xor edi, r12d
and eax, r11d
ror r11d, 0xb
and r14d, r8d
xor eax, edx
mov edx, r10d
xor r14d, ebp
and edx, ecx
and eax, r8d
xor edi, edx
xor eax, edi
mov edx, eax
mov eax, dword [r15 + 0x3c]
ror edx, 7
add edx, ebx
mov ebx, ebp
lea edi, [rax + r11 + 0xd95748f]
mov r11d, edx
mov eax, r12d
xor ebx, r9d
and eax, r8d
not r11d
xor eax, ebx
and r11d, r10d
ror r10d, 0xb
xor r11d, eax
mov eax, r12d
and r11d, ecx
and eax, edx
xor r14d, eax
mov eax, r11d
mov r11d, r9d
xor eax, r14d
mov r14d, dword [r15 + 0x34]
xor r11d, r8d
ror eax, 7
add eax, edi
lea edi, [r14 + r10 + 0x728eb658]
mov r10d, eax
mov r14d, ebp
not r10d
and r10d, r12d
and r14d, ecx
and esi, ecx
mov r13d, r14d
mov r14d, ebp
xor esi, r9d
xor r13d, r11d
and r14d, eax
ror r12d, 0xb
xor r10d, r13d
xor esi, r14d
mov r14d, r9d
and r10d, edx
and r14d, edx
and ebx, edx
xor esi, r10d
mov r10d, r8d
mov r13d, r14d
xor r10d, ecx
ror esi, 7
mov r14d, r9d
add esi, edi
mov edi, r10d
mov r10d, dword [r15 + 8]
xor r13d, edi
and r14d, esi
xor ebx, r8d
xor ebx, r14d
mov r14d, r8d
lea r12d, [r10 + r12 + 0x718bcd58]
mov r10d, esi
and r14d, eax
not r10d
and r10d, ebp
ror ebp, 0xb
xor r10d, r13d
mov r13d, r14d
mov r14d, r8d
and r10d, eax
xor ebx, r10d
mov r10d, dword [r15 + 0x64]
ror ebx, 7
add ebx, r12d
mov r12d, ecx
lea ebp, [r10 + rbp - 0x7deab512]
mov r10d, ebx
xor r12d, edx
not r10d
xor r13d, r12d
and r10d, r9d
xor r10d, r13d
mov r13d, dword [rsp + 0x54]
and r10d, esi
and r11d, eax
and r14d, ebx
xor r11d, ecx
ror r9d, 0xb
and edi, esi
xor r11d, r14d
xor edi, edx
and r12d, ebx
xor r11d, r10d
mov r10d, ecx
xor r12d, eax
ror r11d, 7
and r10d, esi
mov r14d, dword [rsp + 0x44]
add ebp, r11d
lea r11d, [r13 + r9 + 0x7b54a41d]
mov r9d, edx
xor r9d, eax
xor r10d, r9d
mov r9d, ebp
not r9d
and r9d, r8d
ror r8d, 0xb
xor r10d, r9d
mov r9d, ecx
and r10d, ebx
and r9d, ebp
xor edi, r9d
mov r9d, r10d
mov r10d, edx
xor r9d, edi
and r10d, ebx
ror r9d, 7
add r9d, r11d
mov r11d, dword [r15 + 0x6c]
lea r11d, [r11 + r8 - 0x3da5a64b]
mov r8d, eax
xor r8d, esi
xor r10d, r8d
mov r8d, r9d
not r8d
and r8d, ecx
xor r10d, r8d
mov r8d, edx
and r8d, r9d
and r10d, ebp
xor r12d, r8d
ror ecx, 0xb
xor r10d, r12d
mov r12d, eax
mov r8d, r10d
mov r10d, ebp
xor r12d, r9d
ror r8d, 7
add r8d, r11d
mov r11d, dword [r15 + 0x4c]
and r10d, r8d
lea r11d, [r11 + rcx - 0x63cf2ac7]
mov ecx, r10d
mov r10d, ebx
xor ecx, r12d
and r10d, ebp
mov r12d, esi
and ecx, edx
and r12d, r8d
xor r10d, eax
xor r10d, r12d
mov r12d, ecx
ror edx, 0xb
xor r12d, r10d
ror r12d, 7
add r12d, r11d
mov r11d, dword [r15 + 0x24]
lea r10d, [r11 + rdx + 0x2af26013]
mov r11d, r9d
and r11d, r12d
mov edx, r11d
mov r11d, esi
xor r11d, r8d
xor edx, r11d
mov r11d, ebp
and r11d, r9d
and edx, eax
ror eax, 0xb
mov ecx, r11d
mov r11d, ebx
and r11d, r12d
xor ecx, esi
xor ecx, r11d
mov r11d, edx
xor r11d, ecx
mov edi, r11d
mov r11d, dword [r15 + 0x10]
ror edi, 7
add edi, r10d
lea r10d, [r11 + rax - 0x3a2e4fdd]
mov eax, r8d
mov r11d, dword [r15 + 0x50]
and eax, edi
mov edx, eax
mov eax, ebx
xor eax, r12d
xor edx, eax
mov eax, r9d
and edx, esi
and eax, r8d
ror esi, 0xb
mov ecx, eax
mov eax, ebp
and eax, edi
xor ecx, ebx
xor ecx, eax
mov eax, edx
xor eax, ecx
ror eax, 7
add eax, r10d
lea r10d, [r11 + rsi + 0x286085f0]
mov esi, r12d
and esi, eax
mov r11d, dword [r15 + 0x70]
mov edx, esi
mov esi, ebp
xor esi, edi
xor edx, esi
mov esi, r8d
and esi, r12d
and edx, ebx
ror ebx, 0xb
mov ecx, esi
mov esi, r9d
lea r11d, [r11 + rbx - 0x35be86e8]
and esi, eax
xor ecx, ebp
mov ebx, edi
xor ecx, esi
mov esi, edx
xor esi, ecx
ror esi, 7
add esi, r10d
mov r10d, r12d
and ebx, esi
and r10d, edi
mov edx, ebx
mov ebx, r9d
xor r10d, r9d
xor ebx, eax
xor edx, ebx
mov ebx, r8d
and ebx, esi
and edx, ebp
xor r10d, ebx
mov ebx, edx
xor ebx, r10d
mov r10d, eax
mov ecx, ebx
mov ebx, dword [r15 + 0x44]
ror ecx, 7
add ecx, r11d
mov r11d, r8d
ror ebp, 0xb
xor r11d, esi
and r10d, ecx
lea ebx, [rbx + rbp - 0x4724c711]
xor r10d, r11d
mov r11d, edi
mov ebp, r12d
and r11d, eax
and ebp, ecx
and r10d, r9d
xor r11d, r8d
ror r9d, 0xb
xor r11d, ebp
xor r10d, r11d
mov r11d, eax
mov edx, r10d
mov r10d, r12d
and r11d, esi
ror edx, 7
xor r10d, ecx
xor r11d, r12d
add edx, ebx
mov ebx, dword [r15 + 0x20]
lea ebx, [rbx + r9 - 0x71862350]
mov r9d, esi
and r9d, edx
xor r9d, r10d
mov r10d, edi
and r10d, edx
and r9d, r8d
ror r8d, 0xb
xor r11d, r10d
xor r9d, r11d
mov r11d, ecx
mov r10d, r9d
mov r9d, esi
ror r10d, 7
and r9d, ecx
add r10d, ebx
mov ebx, dword [r15 + 0x58]
xor r9d, edi
and r11d, r10d
lea ebx, [rbx + r8 + 0x603a180e]
mov r8d, r11d
mov r11d, edi
xor r11d, edx
xor r8d, r11d
mov r11d, eax
and r8d, r12d
and r11d, r10d
xor r9d, r11d
mov r11d, r8d
ror r12d, 0xb
xor r11d, r9d
mov r9d, eax
ror r11d, 7
xor r9d, r10d
add r11d, ebx
mov ebx, dword [r15 + 0x74]
lea ebp, [rbx + r12 + 0x6c9e0e8b]
mov ebx, edx
mov r12d, edx
and ebx, r11d
and r12d, r10d
mov r8d, ebx
mov ebx, ecx
xor r8d, r9d
and ebx, edx
mov r9d, esi
and r8d, edi
and r9d, r11d
xor ebx, eax
xor ebx, r9d
mov r9d, r8d
ror edi, 0xb
xor r9d, ebx
mov ebx, dword [r15 + 0x38]
mov r8d, esi
ror r9d, 7
xor r8d, r11d
add r9d, ebp
lea ebp, [rbx + rdi - 0x4fe175c2]
mov ebx, r10d
mov edi, r12d
and ebx, r9d
xor edi, esi
mov r12d, r10d
xor ebx, r8d
mov r8d, ecx
and r8d, r9d
and ebx, eax
ror eax, 0xb
xor edi, r8d
xor ebx, edi
mov r8d, ebx
mov ebx, dword [r15 + 0x64]
ror r8d, 7
add r8d, ebp
lea ebp, [rbx + rax - 0x28ea883f]
mov eax, r11d
mov ebx, ecx
xor ebx, r9d
and eax, r8d
xor eax, ebx
mov ebx, r10d
and eax, esi
and ebx, r11d
ror esi, 0xb
mov edi, ebx
mov ebx, edx
and ebx, r8d
xor edi, ecx
xor edi, ebx
xor eax, edi
mov ebx, eax
mov eax, dword [r15 + 0x30]
ror ebx, 7
add ebx, ebp
lea ebp, [rax + rsi - 0x42ceb4d9]
mov esi, r9d
mov eax, edx
xor eax, r8d
and esi, ebx
xor r12d, ebx
xor esi, eax
mov eax, r11d
and eax, r9d
and esi, ecx
ror ecx, 0xb
mov edi, eax
mov eax, r10d
and eax, ebx
xor edi, edx
xor edi, eax
mov eax, esi
mov esi, dword [r15 + 0x60]
xor eax, edi
ror eax, 7
add eax, ebp
lea ebp, [rsi + rcx + 0x78af2fda]
mov esi, r8d
and esi, eax
xor esi, r12d
mov r12d, r9d
and r12d, r8d
and esi, edx
mov edi, r12d
mov r12d, r11d
and r12d, eax
xor edi, r10d
xor edi, r12d
mov r12d, r8d
xor esi, edi
mov ecx, esi
mov esi, ebx
ror ecx, 7
add ecx, ebp
ror edx, 0xb
and esi, ecx
lea ebp, [r14 + rdx + 0x55605c60]
mov edx, esi
mov esi, r11d
xor esi, eax
xor edx, esi
mov esi, r8d
and esi, ebx
and edx, r10d
ror r10d, 0xb
mov edi, esi
mov esi, r9d
and esi, ecx
xor edi, r11d
xor edi, esi
mov esi, edx
xor esi, edi
ror esi, 7
add esi, ebp
mov ebp, dword [r15 + 0x40]
xor r12d, esi
lea ebp, [rbp + r10 - 0x19aada0d]
mov r10d, eax
and r10d, esi
mov edx, r10d
mov r10d, r9d
xor r10d, ecx
xor edx, r10d
mov r10d, ebx
and r10d, eax
and edx, r11d
ror r11d, 0xb
mov edi, r10d
mov r10d, r8d
and r10d, esi
xor edi, r9d
xor edi, r10d
mov r10d, edx
xor r10d, edi
ror r10d, 7
add r10d, ebp
mov ebp, dword [r15 + 0x68]
lea ebp, [rbp + r11 - 0x55aa546c]
mov r11d, ecx
and r11d, r10d
xor r11d, r12d
mov r12d, eax
and r12d, ecx
and r11d, r9d
mov edi, r12d
mov r12d, ebx
and r12d, r10d
xor edi, r8d
xor edi, r12d
ror r9d, 0xb
xor r11d, edi
mov edx, r11d
mov r11d, esi
ror edx, 7
add edx, ebp
lea ebp, [r13 + r9 + 0x57489862]
mov r9d, ebx
xor r9d, r10d
and r11d, edx
xor r11d, r9d
mov r9d, ecx
and r9d, esi
and r11d, r8d
ror r8d, 0xb
mov edi, r9d
mov r9d, eax
and r9d, edx
xor edi, ebx
xor edi, r9d
xor r11d, edi
mov r9d, r11d
mov r11d, dword [r15 + 0x3c]
ror r9d, 7
add r9d, ebp
lea ebp, [r11 + r8 + 0x63e81440]
mov r8d, r10d
mov r11d, eax
xor r11d, edx
and r8d, r9d
mov r12d, r9d
xor r8d, r11d
mov r11d, esi
and r11d, r10d
and r8d, ebx
ror ebx, 0xb
mov edi, r11d
mov r11d, ecx
and r11d, r9d
xor edi, eax
xor edi, r11d
xor r8d, edi
mov r11d, r8d
mov r8d, dword [r15 + 0x1c]
ror r11d, 7
add r11d, ebp
lea ebp, [r8 + rbx + 0x55ca396a]
mov ebx, edx
mov r8d, ecx
xor r8d, r9d
and ebx, r11d
xor ebx, r8d
mov r8d, r10d
and ebx, eax
and r8d, edx
ror eax, 0xb
mov edi, r8d
mov r8d, esi
and r8d, r11d
xor edi, ecx
xor edi, r8d
xor ebx, edi
mov r8d, ebx
mov ebx, dword [r15 + 0xc]
ror r8d, 7
add r8d, ebp
lea ebp, [rbx + rax + 0x2aab10b6]
mov ebx, r9d
mov eax, esi
xor eax, r11d
and ebx, r8d
xor ebx, eax
mov eax, edx
and eax, r9d
and ebx, ecx
ror ecx, 0xb
mov edi, eax
mov eax, r10d
and eax, r8d
xor edi, esi
xor edi, eax
mov eax, ebx
mov ebx, dword [r15 + 4]
xor eax, edi
ror eax, 7
add eax, ebp
lea ebp, [rbx + rcx - 0x4b33a3cc]
mov ebx, r11d
and ebx, eax
mov ecx, ebx
mov ebx, r10d
xor ebx, r8d
xor ecx, ebx
mov ebx, r9d
and ebx, r11d
and ecx, esi
mov edi, ebx
mov ebx, edx
and ebx, eax
xor edi, r10d
xor edi, ebx
mov ebx, ecx
xor ebx, edi
ror ebx, 7
add ebx, ebp
mov ebp, dword [r15]
ror esi, 0xb
xor r12d, ebx
lea ebp, [rbp + rsi + 0x1141e8ce]
mov esi, r8d
and esi, ebx
mov ecx, esi
mov esi, edx
xor esi, eax
xor ecx, esi
mov esi, r11d
and esi, r8d
and ecx, r10d
ror r10d, 0xb
mov edi, esi
mov esi, r9d
and esi, ebx
xor edi, edx
xor edi, esi
mov esi, ecx
xor esi, edi
ror esi, 7
add esi, ebp
mov ebp, dword [r15 + 0x48]
lea ebp, [rbp + r10 - 0x5eab7951]
mov r10d, eax
and r10d, esi
xor r10d, r12d
mov r12d, r8d
and r12d, eax
and r10d, edx
ror edx, 0xb
mov edi, r12d
mov r12d, r11d
and r12d, esi
xor edi, r9d
xor edi, r12d
mov r12d, r11d
xor r10d, edi
xor r12d, esi
mov ecx, r10d
mov r10d, dword [r15 + 0x6c]
ror ecx, 7
add ecx, ebp
lea ebp, [r10 + rdx + 0x7c72e993]
mov r10d, ebx
and r10d, ecx
xor r10d, r12d
mov r12d, eax
and r12d, ebx
and r10d, r9d
mov edi, r12d
mov r12d, r8d
and r12d, ecx
xor edi, r11d
xor edi, r12d
ror r9d, 0xb
mov r12d, eax
xor r10d, edi
mov edx, r10d
mov r10d, dword [r15 + 0x34]
ror edx, 7
add edx, ebp
lea ebp, [r10 + r9 - 0x4c11ebef]
mov r9d, esi
mov r10d, r8d
xor r10d, ecx
and r9d, edx
and r12d, edx
xor r9d, r10d
mov r10d, ebx
and r10d, esi
and r9d, r11d
ror r11d, 0xb
xor r10d, r8d
xor r10d, r12d
xor r9d, r10d
mov r10d, ecx
mov edi, r9d
mov r9d, dword [r15 + 0x18]
ror edi, 7
add edi, ebp
lea ebp, [r9 + r11 + 0x636fbc2a]
mov r9d, eax
and r10d, edi
xor r9d, edx
mov r11d, esi
mov r12d, edi
xor r10d, r9d
and r11d, ecx
mov r9d, ebx
and r10d, r8d
and r9d, edi
xor r11d, eax
xor r11d, r9d
mov r9d, r10d
ror r8d, 0xb
xor r9d, r11d
mov r11d, dword [r15 + 0x54]
mov r10d, ebx
ror r9d, 7
xor r10d, edi
add r9d, ebp
lea ebp, [r11 + r8 + 0x2ba9c55d]
mov r8d, edx
mov r11d, ecx
and r8d, r9d
xor r8d, r10d
mov r10d, esi
and r8d, eax
and r11d, edx
and r10d, r9d
xor r11d, ebx
ror eax, 0xb
xor r11d, r10d
xor r8d, r11d
mov r11d, esi
mov r10d, r8d
mov r8d, dword [r15 + 0x28]
xor r11d, r9d
ror r10d, 7
add r10d, ebp
lea ebp, [r8 + rax + 0x741831f6]
mov eax, edi
mov r8d, edx
and eax, r10d
and r8d, edi
xor eax, r11d
mov r11d, ecx
xor r8d, esi
and r11d, r10d
and eax, ebx
ror ebx, 0xb
xor r8d, r11d
xor eax, r8d
mov r8d, edi
mov r11d, eax
mov eax, dword [r15 + 0x5c]
and r8d, r9d
ror r11d, 7
xor r8d, ecx
add r11d, ebp
lea ebp, [rax + rbx - 0x31a3c1ea]
mov eax, r9d
mov ebx, ecx
xor ebx, r10d
and eax, r11d
xor eax, ebx
mov ebx, edx
and ebx, r11d
and eax, esi
xor r8d, ebx
xor eax, r8d
mov r8d, edx
mov ebx, eax
mov eax, dword [r15 + 0x2c]
ror ebx, 7
add ebx, ebp
ror esi, 0xb
xor r8d, r11d
lea ebp, [rax + rsi - 0x64786ce2]
mov eax, r10d
mov esi, r9d
and eax, ebx
and esi, r10d
xor r12d, ebx
xor eax, r8d
mov r8d, edi
xor esi, edx
and r8d, ebx
and eax, ecx
ror ecx, 0xb
xor esi, r8d
xor eax, esi
mov r8d, eax
mov eax, dword [r15 + 0x14]
ror r8d, 7
add r8d, ebp
mov ebp, r9d
lea esi, [rax + rcx - 0x502945cd]
mov eax, r11d
and ebp, r8d
and eax, r8d
xor eax, r12d
mov r12d, r10d
and r12d, r11d
and eax, edx
ror edx, 0xb
mov ecx, r12d
mov r12d, r9d
xor ecx, edi
xor r12d, r8d
xor ecx, ebp
xor ecx, eax
mov eax, dword [r15 + 8]
ror ecx, 7
add ecx, esi
mov esi, r10d
lea edx, [rax + rdx + 0x6c24cf5c]
mov eax, ebx
and esi, ecx
and eax, ecx
xor eax, r12d
mov r12d, r11d
and r12d, ebx
and eax, edi
xor r12d, r9d
xor r12d, esi
ror edi, 0xb
xor ebp, ebx
xor r12d, eax
mov eax, dword [r15 + 0x60]
xor esi, r8d
ror r12d, 7
add r12d, edx
lea edi, [rax + rdi + 0x7a325381]
mov eax, r8d
not eax
mov edx, eax
mov eax, r9d
and edx, r11d
xor eax, ebx
xor eax, edx
xor eax, ecx
and eax, r12d
xor eax, ebp
mov ebp, r8d
and ebp, ecx
mov edx, ebp
mov ebp, r9d
ror r9d, 0xb
or ebp, r12d
xor edx, r11d
xor edx, ebp
mov ebp, r10d
and edx, r10d
xor ebp, r8d
xor eax, edx
mov edx, ebp
ror eax, 7
add edi, eax
mov eax, dword [r15 + 0x10]
mov ebp, edi
lea r9d, [rax + r9 + 0x28958677]
mov eax, ecx
not eax
and eax, ebx
xor edx, eax
mov eax, ecx
xor edx, r12d
and eax, r12d
and edx, edi
xor esi, edx
mov edx, eax
mov eax, r10d
or eax, edi
xor edx, ebx
xor edx, eax
mov eax, dword [r15]
and edx, r11d
ror r10d, 0xb
xor edx, esi
lea esi, [rax + r10 + 0x3b8f4898]
mov eax, r12d
mov r10d, r11d
not eax
xor r10d, ecx
ror edx, 7
and eax, r8d
add edx, r9d
mov r9d, r12d
xor eax, r10d
mov r10d, r11d
and r9d, edi
xor eax, edi
and r10d, r12d
xor r9d, r8d
xor r10d, ecx
and eax, edx
xor eax, r10d
mov r10d, r11d
ror r11d, 0xb
or r10d, edx
xor r9d, r10d
and r9d, ebx
xor eax, r9d
mov r9d, edi
ror eax, 7
and r9d, edx
lea r10d, [rax + rsi]
mov eax, dword [r15 + 0x38]
xor r9d, ecx
lea esi, [rax + r11 + 0x6b4bb9af]
mov eax, edi
mov r11d, ebx
not eax
xor r11d, r12d
and eax, ecx
xor eax, r11d
mov r11d, ebx
xor eax, edx
and r11d, edi
xor r11d, r12d
and eax, r10d
xor eax, r11d
mov r11d, ebx
or r11d, r10d
xor r9d, r11d
ror ebx, 0xb
and r9d, r8d
xor eax, r9d
mov r9d, r8d
ror eax, 7
xor r9d, edi
lea r11d, [rax + rsi]
mov eax, dword [r15 + 8]
lea esi, [rax + rbx - 0x3b4017e5]
mov eax, edx
mov ebx, edx
not eax
and ebx, r10d
and eax, r12d
xor ebx, r12d
xor eax, r9d
mov r9d, r8d
xor eax, r10d
and r9d, edx
xor r9d, edi
and eax, r11d
xor eax, r9d
mov r9d, r8d
ror r8d, 0xb
or r9d, r11d
xor ebx, r9d
and ebx, ecx
xor eax, ebx
ror eax, 7
lea r9d, [rax + rsi]
mov eax, dword [r15 + 0x1c]
mov esi, ecx
or esi, r9d
lea ebx, [rax + r8 + 0x66282193]
mov r8d, r10d
mov eax, ecx
not r8d
xor eax, edx
and r8d, edi
xor r8d, eax
mov eax, ecx
xor r8d, r11d
and eax, r10d
xor eax, edx
and r8d, r9d
xor r8d, eax
mov eax, r10d
and eax, r11d
xor eax, edi
xor eax, esi
ror ecx, 0xb
mov esi, r12d
and eax, r12d
xor esi, r10d
xor ebp, r11d
xor r8d, eax
mov eax, dword [r15 + 0x70]
ror r8d, 7
add ebx, r8d
lea r8d, [rax + rcx + 0x61d809cc]
mov eax, r11d
not eax
and eax, edx
xor eax, esi
mov esi, r12d
xor eax, r9d
and esi, r11d
xor esi, r10d
and eax, ebx
xor eax, esi
mov esi, r11d
and esi, r9d
mov ecx, esi
mov esi, r12d
ror r12d, 0xb
or esi, ebx
xor ecx, edx
xor ecx, esi
and ecx, edi
xor eax, ecx
ror eax, 7
lea esi, [rax + r8]
mov eax, dword [r15 + 0x5c]
lea r8d, [rax + r12 - 0x4de566f]
mov eax, r9d
mov r12d, edx
not eax
and eax, r10d
xor eax, ebp
mov ebp, edi
xor eax, ebx
and ebp, r9d
xor ebp, r11d
and eax, esi
xor eax, ebp
mov ebp, r9d
and ebp, ebx
mov ecx, ebp
mov ebp, edi
xor ecx, r10d
or ebp, esi
ror edi, 0xb
xor ecx, ebp
and ecx, edx
xor eax, ecx
ror eax, 7
lea ebp, [rax + r8]
mov eax, dword [r15 + 0x68]
mov r8d, edx
xor r8d, r9d
or r12d, ebp
lea edi, [rax + rdi + 0x487cac60]
mov eax, ebx
not eax
and eax, r11d
xor eax, r8d
mov r8d, edx
ror edx, 0xb
and r8d, ebx
xor eax, esi
mov ecx, r8d
mov r8d, ebx
and eax, ebp
and r8d, esi
xor ecx, r9d
xor r8d, r11d
xor eax, ecx
xor r8d, r12d
mov r12d, r10d
and r8d, r10d
xor eax, r8d
ror eax, 7
lea ecx, [rax + rdi]
mov eax, dword [r15 + 0x18]
lea r8d, [rax + rdx + 0x5dec8032]
mov eax, esi
not eax
mov edx, eax
mov eax, r10d
xor eax, ebx
and edx, r9d
xor edx, eax
mov eax, r10d
xor edx, ebp
and eax, esi
xor eax, ebx
and edx, ecx
xor edx, eax
mov eax, esi
and eax, ebp
xor eax, r9d
or r12d, ecx
ror r10d, 0xb
xor eax, r12d
mov r12d, ebp
and eax, r11d
xor edx, eax
mov eax, r11d
ror edx, 7
xor eax, esi
add r8d, edx
lea edx, [r14 + r10 - 0x107ba2a3]
mov r10d, ebp
not r10d
mov r14d, r11d
and r10d, ebx
or r14d, r8d
xor r10d, eax
mov eax, r11d
ror r11d, 0xb
xor r10d, ecx
and eax, ebp
xor eax, esi
and r10d, r8d
xor r10d, eax
mov eax, ebp
and eax, ecx
xor eax, ebx
xor eax, r14d
mov r14d, r9d
and eax, r9d
xor r10d, eax
mov eax, dword [r15 + 0x50]
ror r10d, 7
add edx, r10d
lea r10d, [rax + r11 - 0x167a8a4f]
mov r11d, ecx
mov eax, r9d
not r11d
xor eax, ebp
and r11d, esi
xor r11d, eax
mov eax, r9d
xor r11d, r8d
and eax, ecx
xor eax, ebp
and r11d, edx
xor r11d, eax
mov eax, ecx
and eax, r8d
or r14d, edx
ror r9d, 0xb
xor eax, esi
xor eax, r14d
mov r14d, ebx
and eax, ebx
xor r11d, eax
mov eax, dword [r15 + 0x48]
ror r11d, 7
add r10d, r11d
lea r11d, [rax + r9 - 0x23d9dcfe]
mov r9d, r8d
mov eax, ebx
not r9d
xor eax, ecx
or r14d, r10d
and r9d, ebp
xor r9d, eax
mov eax, ebx
ror ebx, 0xb
xor r9d, edx
and eax, r8d
xor eax, ecx
and r9d, r10d
xor r9d, eax
mov eax, r8d
and eax, edx
xor eax, ebp
xor eax, r14d
mov r14d, esi
and eax, esi
xor r9d, eax
mov eax, dword [r15 + 0x64]
ror r9d, 7
add r11d, r9d
lea r9d, [rax + rbx - 0x149ae478]
mov ebx, edx
mov eax, esi
not ebx
xor eax, r8d
and ebx, ecx
xor ebx, eax
mov eax, esi
xor ebx, r10d
and eax, edx
and ebx, r11d
xor eax, r8d
or r14d, r11d
xor ebx, eax
mov eax, edx
ror esi, 0xb
and eax, r10d
xor r12d, edx
xor eax, ecx
xor eax, r14d
mov r14d, ecx
and eax, ebp
xor ebx, eax
mov eax, dword [r15 + 0x4c]
ror ebx, 7
add r9d, ebx
mov ebx, r10d
lea esi, [rax + rsi + 0x23893e81]
mov eax, r10d
and ebx, r11d
not eax
xor ebx, r8d
and eax, r8d
xor eax, r12d
mov r12d, ebp
xor eax, r11d
and r12d, r10d
xor r12d, edx
and eax, r9d
xor eax, r12d
mov r12d, ebp
ror ebp, 0xb
or r12d, r9d
xor ebx, r12d
and ebx, ecx
xor eax, ebx
ror eax, 7
lea r12d, [rax + rsi]
mov eax, dword [r15 + 0xc]
mov esi, r11d
not esi
and esi, edx
lea ebx, [rax + rbp - 0x2c69533b]
mov eax, ecx
mov ebp, r8d
xor eax, r10d
xor esi, eax
mov eax, ecx
xor esi, r9d
and esi, r12d
and eax, r11d
or r14d, r12d
xor eax, r10d
ror ecx, 0xb
xor ebp, r11d
xor esi, eax
mov eax, r11d
and eax, r9d
xor eax, edx
xor eax, r14d
mov r14d, r9d
and eax, r8d
and r14d, r12d
xor esi, eax
mov eax, dword [r15 + 0x58]
ror esi, 7
add ebx, esi
lea esi, [rax + rcx + 0xf6d6ff3]
mov eax, r9d
mov ecx, r14d
not eax
xor ecx, r10d
and eax, r10d
xor eax, ebp
mov ebp, r8d
xor eax, r12d
and ebp, r9d
xor ebp, r11d
and eax, ebx
xor eax, ebp
mov ebp, r8d
ror r8d, 0xb
or ebp, ebx
xor ecx, ebp
and ecx, edx
xor eax, ecx
ror eax, 7
lea ebp, [rax + rsi]
mov eax, dword [r15 + 0x2c]
mov esi, edx
lea r8d, [rax + r8 - 0x7c0bbdc7]
mov eax, r12d
not eax
mov ecx, eax
mov eax, edx
xor eax, r9d
and ecx, r11d
xor ecx, eax
mov eax, edx
xor ecx, ebx
and ecx, ebp
and eax, r12d
or esi, ebp
xor eax, r9d
ror edx, 0xb
xor ecx, eax
mov eax, r12d
and eax, ebx
xor eax, r11d
xor eax, esi
mov esi, r10d
and eax, r10d
xor esi, r12d
xor ecx, eax
mov eax, ebx
not eax
ror ecx, 7
and eax, r9d
add r8d, ecx
lea ecx, [r13 + rdx + 0x2e0b4482]
xor eax, esi
mov esi, r10d
and esi, ebx
xor eax, ebp
mov edi, esi
mov esi, ebx
and eax, r8d
and esi, ebp
xor edi, r12d
mov edx, esi
mov esi, r10d
xor eax, edi
or esi, r8d
xor edx, r9d
ror r10d, 0xb
xor edx, esi
mov esi, ebp
and edx, r11d
xor eax, edx
ror eax, 7
lea edi, [rax + rcx]
mov eax, dword [r15 + 0x54]
lea ecx, [rax + r10 - 0x5b7bdffc]
mov eax, ebp
mov r10d, r11d
not eax
xor r10d, ebx
and eax, r12d
xor eax, r10d
mov r10d, r11d
xor eax, r8d
and r10d, ebp
and esi, r8d
xor r10d, ebx
and eax, edi
mov edx, esi
xor eax, r10d
mov r10d, r11d
xor edx, r12d
or r10d, edi
ror r11d, 0xb
mov esi, r8d
xor edx, r10d
and esi, edi
and edx, r9d
xor eax, edx
mov edx, esi
mov esi, dword [r15 + 0x30]
ror eax, 7
xor edx, ebx
lea r10d, [rax + rcx]
mov eax, dword [r15 + 0x20]
mov r14d, r10d
lea ecx, [rax + r11 + 0x69c8f04a]
mov eax, r8d
mov r11d, r9d
not eax
xor r11d, ebp
not r14d
and eax, ebx
xor eax, r11d
mov r11d, r9d
xor eax, edi
and r11d, r8d
xor r11d, ebp
and eax, r10d
xor eax, r11d
mov r11d, r9d
ror r9d, 0xb
or r11d, r10d
xor edx, r11d
and edx, r12d
xor eax, edx
ror eax, 7
lea r11d, [rax + rcx]
mov eax, dword [r15 + 0x6c]
lea r9d, [rax + r9 - 0x61e064a2]
mov eax, edi
not eax
mov edx, eax
mov eax, r12d
xor eax, r8d
and edx, ebp
xor edx, eax
mov eax, r12d
xor edx, r10d
and eax, edi
xor eax, r8d
and edx, r11d
xor edx, eax
mov eax, edi
and eax, r10d
mov ecx, eax
mov eax, r12d
ror r12d, 0xb
or eax, r11d
xor ecx, ebp
lea esi, [rsi + r12 + 0x21c66842]
xor ecx, eax
and ecx, ebx
xor edx, ecx
ror edx, 7
lea eax, [rdx + r9]
mov edx, r14d
mov r9d, ebx
xor r9d, edi
and edx, r8d
mov r14d, r10d
xor edx, r9d
mov r9d, ebx
and r14d, r11d
xor edx, r11d
and r9d, r10d
mov ecx, r14d
xor r9d, edi
and edx, eax
xor ecx, r8d
xor edx, r9d
mov r9d, ebx
ror ebx, 0xb
or r9d, eax
mov r14d, ebp
xor ecx, r9d
and ecx, ebp
xor edx, ecx
ror edx, 7
lea r9d, [rdx + rsi]
mov esi, dword [r15 + 0x24]
lea esi, [rsi + rbx - 0x9169366]
mov ebx, r11d
not ebx
mov ecx, ebx
mov ebx, ebp
xor ebx, r10d
and ecx, edi
xor ecx, ebx
mov ebx, ebp
xor ecx, eax
and ebx, r11d
or r14d, r9d
mov edx, ebx
mov ebx, r11d
and ecx, r9d
and ebx, eax
xor edx, r10d
ror ebp, 0xb
xor ebx, edi
xor ecx, edx
xor ebx, r14d
mov r14d, edi
and ebx, r8d
xor ecx, ebx
mov ebx, dword [r15 + 4]
ror ecx, 7
lea edx, [rcx + rsi]
mov esi, eax
lea ebp, [rbx + rbp + 0x670c9c61]
mov ebx, eax
and esi, r9d
not ebx
xor esi, r10d
mov ecx, ebx
mov ebx, r8d
xor ebx, r11d
and ecx, r10d
xor ecx, ebx
mov ebx, r8d
xor ecx, r9d
and ebx, eax
xor ebx, r11d
and ecx, edx
xor ecx, ebx
mov ebx, r8d
ror r8d, 0xb
or ebx, edx
xor esi, ebx
and esi, edi
xor ecx, esi
mov esi, dword [r15 + 0x74]
ror ecx, 7
lea ebx, [rcx + rbp]
lea ebp, [rsi + r8 - 0x542c7710]
mov r8d, r9d
mov esi, edi
not r8d
xor esi, eax
and r8d, r11d
xor r8d, esi
mov esi, edi
xor r8d, edx
and esi, r9d
or r14d, ebx
mov ecx, esi
mov esi, r9d
and r8d, ebx
and esi, edx
xor ecx, eax
ror edi, 0xb
xor esi, r11d
xor r8d, ecx
xor esi, r14d
mov r14d, edx
and esi, r10d
and r14d, ebx
xor r8d, esi
mov esi, dword [r15 + 0x14]
ror r8d, 7
lea ecx, [r8 + rbp]
mov r8d, r10d
lea ebp, [rsi + rdi + 0x6a51a0d2]
mov esi, edx
xor r8d, r9d
not esi
mov edi, r14d
mov r14d, ebx
and esi, eax
xor edi, eax
xor esi, r8d
mov r8d, r10d
xor esi, ebx
and r8d, edx
xor r8d, r9d
and esi, ecx
xor esi, r8d
mov r8d, r10d
ror r10d, 0xb
or r8d, ecx
xor edi, r8d
and edi, r11d
xor esi, edi
ror esi, 7
lea r8d, [rsi + rbp]
mov esi, dword [r15 + 0x3c]
lea ebp, [rsi + r10 - 0x27abd098]
mov esi, ebx
mov r10d, r11d
not esi
xor r10d, edx
and esi, r9d
xor esi, r10d
mov r10d, r11d
xor esi, ecx
and r10d, ebx
and r14d, ecx
xor r10d, edx
and esi, r8d
mov edi, r14d
xor esi, r10d
mov r10d, r11d
xor edi, r9d
or r10d, r8d
ror r11d, 0xb
mov r14d, ecx
xor edi, r10d
and r14d, r8d
and edi, eax
xor esi, edi
mov edi, r14d
mov r14d, dword [r15 + 0x34]
ror esi, 7
xor edi, edx
lea r10d, [rsi + rbp]
mov esi, dword [r15 + 0x44]
lea ebp, [rsi + r11 - 0x69f058d8]
mov esi, ecx
mov r11d, eax
not esi
xor r11d, ebx
and esi, edx
xor esi, r11d
mov r11d, eax
xor esi, r8d
and r11d, ecx
xor r11d, ebx
and esi, r10d
xor esi, r11d
mov r11d, eax
ror eax, 0xb
or r11d, r10d
xor edi, r11d
and edi, r9d
xor esi, edi
ror esi, 7
lea r11d, [rsi + rbp]
mov esi, dword [r15 + 0x28]
lea ebp, [rsi + rax - 0x54aecc5d]
mov esi, r8d
mov eax, r9d
not esi
xor eax, ecx
and esi, ebx
xor esi, eax
mov eax, r9d
xor esi, r10d
and eax, r8d
xor eax, ecx
and esi, r11d
xor esi, eax
mov eax, r8d
and eax, r10d
mov edi, eax
mov eax, r9d
ror r9d, 0xb
or eax, r11d
xor edi, ebx
xor edi, eax
and edi, edx
xor esi, edi
ror esi, 7
lea eax, [rsi + rbp]
mov esi, dword [r15 + 0x40]
mov ebp, edx
or ebp, eax
lea edi, [rsi + r9 + 0x6eef0b6c]
mov r9d, r10d
mov esi, edx
not r9d
xor esi, r8d
and r9d, ecx
xor r9d, esi
mov esi, edx
ror edx, 0xb
xor r9d, r11d
and esi, r10d
xor esi, r8d
and r9d, eax
xor r9d, esi
mov esi, r10d
and esi, r11d
xor esi, ecx
xor esi, ebp
and esi, ebx
xor r9d, esi
mov esi, dword [rsp + 0x30]
ror r9d, 7
add edi, r9d
mov r9d, ebx
lea r12d, [rsi + r14 + 0x137a3be4]
mov esi, ebx
add edx, r12d
mov r12d, r11d
not r12d
and r12d, r8d
xor r9d, r10d
or esi, edi
xor r12d, r9d
mov r9d, ebx
add ebx, dword [rsp + 0x4c]
xor r12d, eax
and r9d, r11d
xor r9d, r10d
and r12d, edi
add r10d, dword [rsp + 0x38]
xor r12d, r9d
mov r9d, r11d
add edi, dword [rsp + 0x2c]
and r9d, eax
add r11d, dword [rsp + 0x34]
add eax, dword [rsp + 0x3c]
xor r9d, r8d
add r8d, dword [rsp + 0x40]
mov dword [r15 + 0x9c], ebx
xor r9d, esi
mov dword [r15 + 0x90], r10d
and r9d, ecx
add ecx, dword [rsp + 0x48]
mov dword [r15 + 0x84], edi
xor r12d, r9d
mov dword [r15 + 0x88], eax
mov dword [r15 + 0x8c], r11d
ror r12d, 7
mov dword [r15 + 0x94], r8d
add edx, r12d
mov dword [r15 + 0x80], edx
mov rdx, qword [rsp + 0xc8]
mov dword [r15 + 0x98], ecx
mov rcx, r15
call dbg.haval_out
movabs rax, 0x85a308d3243f6a88
mov qword [r15 + 0xa8], 0
mov qword [r15 + 0x80], rax
movabs rax, 0x370734413198a2e
mov qword [r15 + 0x88], rax
movabs rax, 0x299f31d0a4093822
mov qword [r15 + 0x90], rax
movabs rax, 0xec4e6c89082efa98
mov qword [r15 + 0x98], rax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, pe_nt_image_headers64
xor r13d, r13d
sub edi, eax
cmp edi, 8
jae 0x6f5a2620
test dil, 4
jne 0x6f5a2680
test edi, edi
je 0x6f5a068f
test dil, 2
mov byte [r14], 0
jne 0x6f5a2695
add r10d, dword [r15]
mov r14d, dword [rsp + 0x30]
add esi, dword [r15 + 4]
mov edi, dword [rsp + 0x2c]
add ebx, dword [r15 + 8]
add r11d, dword [r15 + 0xc]
mov eax, r14d
add edx, r10d
xor eax, edx
and eax, dword [rsp + 0x3c]
xor r9d, edx
xor r9d, eax
mov eax, edx
ror r9d, 7
add esi, r9d
mov r9d, r14d
xor eax, esi
xor r8d, esi
mov r10d, esi
and eax, edi
and r9d, esi
xor r8d, eax
mov eax, edi
xor ebp, r9d
ror r8d, 7
and eax, edx
add ebx, r8d
xor r12d, eax
mov r8d, dword [rsp + 0x44]
xor r10d, ebx
xor r12d, ebx
mov r9d, ebx
and r10d, r14d
xor r12d, r10d
ror r12d, 7
add r11d, r12d
mov r12d, r14d
xor r9d, r11d
xor ebp, r11d
mov r10d, r11d
and r9d, edx
xor ebp, r9d
ror ebp, 7
add r8d, dword [r15 + 0x10]
and r12d, edx
lea r9d, [rbp + r8]
mov r8d, edx
mov ebp, esi
and r8d, ebx
xor r8d, dword [rsp + 0x50]
xor r10d, r9d
mov eax, r10d
mov r10d, dword [rsp + 0x54]
add r10d, dword [r15 + 0x14]
and eax, esi
xor r8d, r9d
xor r8d, eax
ror r8d, 7
add r8d, r10d
mov r10d, esi
and r10d, r11d
xor r12d, r10d
mov r10d, r9d
xor r10d, r8d
xor r12d, r8d
mov eax, r10d
mov r10d, dword [rsp + 0x58]
add r10d, dword [r15 + 0x18]
and eax, ebx
xor r12d, eax
ror r12d, 7
add r12d, r10d
mov r10d, edx
ror edx, 0xb
and r10d, esi
add edx, dword [r15 + 0x20]
mov ecx, r10d
mov r10d, ebx
and r10d, r9d
xor ecx, r10d
mov r10d, r8d
xor r10d, r12d
xor ecx, r12d
mov eax, r10d
mov r10d, dword [rsp + 0x5c]
add r10d, dword [r15 + 0x1c]
and eax, r11d
xor ecx, eax
ror ecx, 7
add ecx, r10d
mov r10d, r11d
and ebp, ebx
and r10d, r8d
ror esi, 0xb
add esi, dword [r15 + 0x24]
xor ebp, r10d
mov r10d, r12d
xor r10d, ecx
xor ebp, ecx
mov eax, r10d
mov r10d, r9d
and eax, r9d
xor ebp, eax
mov eax, esi
mov esi, ebx
ror ebp, 7
and esi, r11d
ror ebx, 0xb
add ebp, edx
mov edx, r9d
add ebx, dword [r15 + 0x28]
and edx, r12d
xor esi, edx
mov edx, ecx
xor edx, ebp
xor esi, ebp
and edx, r8d
xor esi, edx
mov edx, r11d
ror r11d, 0xb
and edx, r9d
ror esi, 7
add esi, eax
mov eax, edx
mov edx, r8d
and edx, ecx
xor eax, edx
mov edx, ebp
xor edx, esi
xor eax, esi
and edx, r12d
xor eax, edx
mov edx, r12d
ror eax, 7
add eax, ebx
add r11d, dword [r15 + 0x2c]
and edx, ebp
and r10d, r8d
ror r9d, 0xb
mov ebx, ebp
xor r10d, edx
mov edx, esi
xor edx, eax
xor r10d, eax
and edx, ecx
xor r10d, edx
mov edx, ecx
ror r10d, 7
and edx, esi
add r10d, r11d
mov r11d, dword [r15 + 0x30]
add r11d, r9d
mov r9d, r8d
ror r8d, 0xb
and r9d, r12d
xor r9d, edx
mov edx, eax
xor edx, r10d
xor r9d, r10d
and edx, ebp
xor r9d, edx
mov edx, dword [r15 + 0x34]
ror r9d, 7
add r9d, r11d
mov r11d, ebp
add edx, r8d
mov r8d, r12d
and r11d, eax
and r8d, ecx
xor r8d, r11d
mov r11d, r10d
xor r11d, r9d
xor r8d, r9d
and r11d, esi
xor r8d, r11d
mov r11d, esi
ror r8d, 7
add r8d, edx
mov edx, ecx
ror r12d, 0xb
and r11d, r10d
and edx, ebp
add r12d, dword [r15 + 0x38]
xor edx, r11d
mov r11d, r9d
and ebx, esi
xor r11d, r8d
xor edx, r8d
ror ecx, 0xb
and r11d, eax
ror ebp, 0xb
add ebp, dword [r15 + 0x40]
xor edx, r11d
mov r11d, dword [r15 + 0x3c]
ror edx, 7
add edx, r12d
add r11d, ecx
mov ecx, ebx
mov ebx, eax
and ebx, r9d
xor ecx, ebx
mov ebx, r8d
xor ebx, edx
xor ecx, edx
and ebx, r10d
xor ecx, ebx
mov ebx, r10d
ror ecx, 7
and ebx, r8d
add ecx, r11d
mov r11d, esi
and r11d, eax
xor r11d, ebx
mov ebx, edx
xor ebx, ecx
xor r11d, ecx
and ebx, r9d
xor r11d, ebx
mov ebx, dword [r15 + 0x44]
ror r11d, 7
add r11d, ebp
ror esi, 0xb
mov ebp, r9d
add ebx, esi
mov esi, eax
and ebp, edx
and esi, r10d
ror eax, 0xb
xor esi, ebp
mov ebp, ecx
xor ebp, r11d
xor esi, r11d
mov edi, ebp
mov ebp, r10d
ror r10d, 0xb
and edi, r8d
and ebp, r9d
xor esi, edi
ror esi, 7
add esi, ebx
mov ebx, dword [r15 + 0x48]
add ebx, eax
mov eax, ebp
mov ebp, r8d
and ebp, ecx
xor eax, ebp
mov ebp, r11d
xor ebp, esi
xor eax, esi
mov edi, ebp
mov ebp, edx
and edi, edx
and ebp, r11d
xor eax, edi
ror eax, 7
add eax, ebx
mov ebx, dword [r15 + 0x4c]
add ebx, r10d
mov r10d, r9d
and r10d, r8d
xor r10d, ebp
mov ebp, esi
xor ebp, eax
xor r10d, eax
mov edi, ebp
mov ebp, ecx
and edi, ecx
xor r10d, edi
ror r10d, 7
ror r9d, 0xb
and ebp, esi
add r10d, ebx
mov ebx, dword [r15 + 0x50]
add ebx, r9d
mov r9d, r8d
ror r8d, 0xb
and r9d, edx
xor r9d, ebp
mov ebp, eax
xor ebp, r10d
xor r9d, r10d
mov edi, ebp
mov ebp, r11d
and edi, r11d
and ebp, eax
xor r9d, edi
ror r9d, 7
add r9d, ebx
mov ebx, dword [r15 + 0x54]
add ebx, r8d
mov r8d, edx
ror edx, 0xb
and r8d, ecx
xor r8d, ebp
mov ebp, r10d
xor ebp, r9d
xor r8d, r9d
mov edi, ebp
mov ebp, esi
and edi, esi
and ebp, r10d
xor r8d, edi
ror r8d, 7
add r8d, ebx
mov ebx, dword [r15 + 0x58]
add ebx, edx
mov edx, ecx
and edx, r11d
xor edx, ebp
mov ebp, r9d
xor ebp, r8d
xor edx, r8d
mov edi, ebp
mov ebp, r11d
and edi, eax
xor edx, edi
and ebp, esi
ror ecx, 0xb
ror edx, 7
ror r11d, 0xb
add edx, ebx
mov ebx, dword [r15 + 0x5c]
add ebx, ecx
mov ecx, ebp
mov ebp, eax
and ebp, r9d
xor ecx, ebp
mov ebp, r8d
xor ebp, edx
xor ecx, edx
mov edi, ebp
mov ebp, r10d
and edi, r10d
and ebp, r8d
xor ecx, edi
ror ecx, 7
add ecx, ebx
mov ebx, dword [r15 + 0x60]
add ebx, r11d
mov r11d, esi
ror esi, 0xb
and r11d, eax
xor r11d, ebp
mov ebp, edx
xor ebp, ecx
xor r11d, ecx
mov edi, ebp
mov ebp, r9d
and edi, r9d
and ebp, edx
xor r11d, edi
ror r11d, 7
add r11d, ebx
mov ebx, dword [r15 + 0x64]
mov r12d, r11d
add ebx, esi
mov esi, eax
and esi, r10d
xor esi, ebp
mov ebp, ecx
xor ebp, r11d
xor esi, r11d
mov edi, ebp
mov ebp, r8d
and edi, r8d
and ebp, ecx
ror eax, 0xb
xor esi, edi
add eax, dword [r15 + 0x68]
ror esi, 7
add esi, ebx
mov ebx, r10d
ror r10d, 0xb
and ebx, r9d
add r10d, dword [r15 + 0x6c]
xor ebx, ebp
mov ebp, r11d
xor ebp, esi
xor ebx, esi
mov edi, ebp
mov ebp, esi
and edi, edx
xor ebx, edi
ror ebx, 7
add ebx, eax
mov eax, r10d
mov r10d, r9d
xor ebp, ebx
and r10d, r8d
ror r9d, 0xb
mov edi, ebp
mov ebp, edx
add r9d, dword [r15 + 0x70]
and ebp, r11d
mov r13d, ebx
mov r14d, ebx
xor r10d, ebp
mov ebp, edi
and ebp, ecx
xor r10d, ebx
xor r10d, ebp
mov ebp, ecx
ror r10d, 7
and ebp, esi
add r10d, eax
mov eax, r9d
mov r9d, r8d
and r9d, edx
xor r13d, r10d
xor r9d, ebp
mov ebp, r13d
mov dword [rsp + 0x44], r13d
xor r9d, r10d
ror r8d, 0xb
add r8d, dword [r15 + 0x74]
and ebp, r11d
and r12d, ebx
mov r13d, esi
xor r9d, ebp
mov ebp, r10d
and r13d, r10d
ror r9d, 7
add r9d, eax
mov eax, r8d
mov r8d, edx
xor ebp, r9d
and r8d, ecx
ror edx, 0xb
xor r8d, r12d
add edx, dword [r15 + 0x78]
mov r12d, ebp
and r12d, esi
xor r8d, r9d
and r14d, r9d
xor r8d, r12d
mov r12d, r9d
ror r8d, 7
add r8d, eax
mov eax, edx
mov edx, ecx
xor r12d, r8d
and edx, r11d
ror ecx, 0xb
xor edx, r13d
add ecx, dword [r15 + 0x7c]
mov r13d, r12d
and r13d, ebx
xor edx, r8d
xor edx, r13d
mov r13d, r8d
ror edx, 7
add edx, eax
mov eax, ecx
mov ecx, r11d
xor r13d, edx
and ecx, esi
xor ecx, r14d
mov r14d, r13d
ror r11d, 0xb
and r14d, r10d
xor ecx, edx
and edi, r8d
xor ecx, r14d
mov r14d, dword [r15 + 0x14]
xor edi, r10d
ror ecx, 7
add ecx, eax
lea r11d, [r14 + r11 + 0x452821e6]
mov eax, ecx
mov r14d, ebx
and r14d, r8d
not eax
xor r14d, ebp
and eax, esi
ror esi, 0xb
xor eax, r14d
mov r14d, ebx
and r14d, ecx
and eax, edx
xor edi, r14d
xor edi, eax
ror edi, 7
add r11d, edi
mov edi, dword [r15 + 0x38]
lea eax, [rdi + rsi + 0x38d01377]
mov esi, r11d
mov edi, r10d
and edi, edx
not esi
xor edi, r12d
and esi, ebx
xor esi, edi
mov edi, dword [rsp + 0x44]
and esi, ecx
and edi, edx
xor edi, r9d
mov r14d, edi
mov edi, r10d
and edi, r11d
xor edi, r14d
xor esi, edi
mov edi, dword [r15 + 0x68]
ror esi, 7
add esi, eax
ror ebx, 0xb
and ebp, ecx
lea edi, [rdi + rbx - 0x41ab9931]
mov ebx, esi
xor ebp, r8d
not ebx
and r12d, r11d
mov eax, ebx
mov ebx, r9d
xor r12d, edx
and ebx, ecx
and eax, r10d
ror r10d, 0xb
xor ebx, r13d
xor eax, ebx
mov ebx, r9d
and eax, r11d
and ebx, esi
xor ebp, ebx
mov ebx, eax
xor ebx, ebp
mov ebp, edx
xor ebp, ecx
ror ebx, 7
mov eax, ebp
mov ebp, dword [r15 + 0x48]
add ebx, edi
lea edi, [rbp + r10 + 0x34e90c6c]
mov r10d, ebx
mov ebp, r8d
and ebp, r11d
not r10d
xor ebp, eax
and r10d, r9d
ror r9d, 0xb
xor r10d, ebp
mov ebp, r8d
and ebp, ebx
and r10d, esi
xor r12d, ebp
mov ebp, ecx
xor r10d, r12d
mov r12d, dword [r15 + 0x2c]
xor ebp, r11d
ror r10d, 7
add r10d, edi
lea edi, [r12 + r9 - 0x3f53d649]
mov r9d, r10d
mov r12d, edx
and r12d, esi
not r9d
xor r12d, ebp
and r9d, r8d
xor r9d, r12d
and r13d, esi
mov r12d, edx
and r12d, r10d
xor r13d, ecx
and r9d, ebx
xor r13d, r12d
ror r8d, 0xb
and eax, ebx
xor r9d, r13d
mov r13d, r11d
xor eax, r11d
xor r13d, esi
ror r9d, 7
and ebp, r10d
mov r12d, r13d
mov r13d, dword [r15 + 0x70]
add r9d, edi
xor ebp, esi
lea edi, [r13 + r8 - 0x3683af23]
mov r8d, r9d
mov r13d, ecx
and r13d, ebx
not r8d
xor r13d, r12d
and r8d, edx
ror edx, 0xb
xor r8d, r13d
mov r13d, ecx
and r13d, r9d
and r8d, r10d
xor eax, r13d
mov r13d, esi
xor r8d, eax
xor r13d, ebx
ror r8d, 7
add r8d, edi
mov edi, dword [r15 + 0x1c]
lea edx, [rdi + rdx + 0x3f84d5b5]
mov edi, r8d
not edi
mov eax, edi
mov edi, r11d
and edi, r10d
and eax, ecx
xor edi, r13d
xor eax, edi
mov edi, r11d
and eax, r9d
and edi, r8d
and r12d, r9d
xor ebp, edi
mov edi, eax
xor r12d, ebx
xor edi, ebp
ror ecx, 0xb
and r13d, r8d
ror edi, 7
xor r13d, r10d
add edi, edx
mov edx, ebx
mov ebp, edi
xor edx, r10d
not ebp
mov r14d, edx
mov edx, dword [r15 + 0x40]
mov eax, ebp
mov ebp, esi
and ebp, r9d
and eax, r11d
ror r11d, 0xb
xor ebp, r14d
lea edx, [rdx + rcx - 0x4ab8f6e9]
xor eax, ebp
mov ebp, esi
and eax, r8d
and ebp, edi
xor r12d, ebp
mov ebp, eax
xor ebp, r12d
ror ebp, 7
add ebp, edx
mov edx, r10d
xor edx, r9d
mov r12d, edx
mov edx, dword [r15]
lea edx, [rdx + r11 - 0x6de92a27]
mov r11d, ebp
not r11d
mov eax, r11d
mov r11d, ebx
and r11d, r8d
and eax, esi
mov ecx, r11d
mov r11d, ebx
xor ecx, r12d
and r11d, ebp
xor eax, ecx
xor r13d, r11d
and eax, edi
mov r11d, eax
xor r11d, r13d
mov r13d, dword [r15 + 0x50]
mov ecx, r11d
mov r11d, r9d
ror ecx, 7
add ecx, edx
mov edx, dword [r15 + 0x5c]
ror esi, 0xb
xor r11d, r8d
and r14d, edi
and r12d, ebp
xor r14d, r9d
xor r12d, r8d
lea esi, [rdx + rsi - 0x768604e5]
mov edx, ecx
not edx
mov eax, edx
mov edx, r10d
and edx, edi
and eax, ebx
ror ebx, 0xb
xor edx, r11d
lea ebx, [r13 + rbx - 0x2ecef45a]
xor eax, edx
mov edx, r10d
and eax, ebp
and edx, ecx
xor r14d, edx
mov edx, eax
xor edx, r14d
ror edx, 7
add edx, esi
mov esi, r8d
mov r13d, edx
xor esi, edi
not r13d
mov eax, r13d
mov r13d, r9d
and r13d, ebp
and eax, r10d
ror r10d, 0xb
xor r13d, esi
xor eax, r13d
mov r13d, r9d
and r13d, edx
and eax, ecx
xor r12d, r13d
mov r13d, dword [r15 + 0x58]
xor eax, r12d
ror eax, 7
add eax, ebx
lea r12d, [r13 + r10 - 0x67204a54]
mov ebx, edi
mov r10d, eax
mov r13d, r8d
xor ebx, ebp
not r10d
and r10d, r9d
and r13d, ecx
and r11d, ecx
xor r13d, ebx
xor r11d, edi
ror r9d, 0xb
xor r10d, r13d
mov r13d, r8d
and esi, edx
and r13d, eax
and r10d, edx
xor esi, ebp
xor r11d, r13d
mov r13d, edi
xor r10d, r11d
mov r11d, ebp
and r13d, edx
xor r11d, ecx
ror r10d, 7
add r10d, r12d
mov r12d, r11d
mov r11d, dword [r15 + 4]
xor r13d, r12d
lea r11d, [r11 + r9 + 0x2ffd72db]
mov r9d, r10d
not r9d
and r9d, r8d
ror r8d, 0xb
xor r9d, r13d
mov r13d, edi
and r13d, r10d
and r9d, eax
xor esi, r13d
xor r9d, esi
mov esi, ecx
ror r9d, 7
xor esi, edx
add r9d, r11d
mov r11d, dword [r15 + 0x28]
lea r13d, [r11 + r8 - 0x2fe52049]
mov r8d, r9d
mov r11d, ebp
and r11d, eax
not r8d
xor r11d, esi
and r8d, edi
xor r8d, r11d
mov r11d, ebp
and r8d, r10d
and ebx, eax
and r11d, r9d
xor ebx, ecx
ror edi, 0xb
and r12d, r10d
xor ebx, r11d
xor r12d, edx
and esi, r9d
xor r8d, ebx
mov ebx, dword [r15 + 0x10]
xor esi, eax
mov r11d, r8d
ror r11d, 7
add r11d, r13d
lea edi, [rbx + rdi - 0x471e5013]
mov r13d, edx
mov r8d, r11d
mov ebx, ecx
xor r13d, eax
and ebx, r10d
not r8d
xor ebx, r13d
and r8d, ebp
ror ebp, 0xb
xor r8d, ebx
mov ebx, ecx
and r8d, r9d
and ebx, r11d
xor r12d, ebx
mov ebx, r8d
mov r8d, eax
xor ebx, r12d
xor r8d, r10d
mov r12d, edx
ror ebx, 7
and r12d, r9d
add ebx, edi
mov edi, r8d
mov r8d, dword [r15 + 0x20]
xor r12d, edi
lea ebp, [r8 + rbp + 0x6a267e96]
mov r8d, ebx
not r8d
and r8d, ecx
xor r8d, r12d
mov r12d, edx
and r12d, ebx
and r8d, r11d
xor esi, r12d
mov r12d, eax
xor r8d, esi
ror ecx, 0xb
mov esi, r10d
ror r8d, 7
xor esi, r9d
and r12d, r11d
add r8d, ebp
mov ebp, dword [r15 + 0x78]
xor r12d, esi
and r13d, r11d
and edi, ebx
xor r13d, r10d
xor edi, r9d
lea ebp, [rbp + rcx - 0x45836fbb]
mov ecx, r8d
not ecx
and ecx, edx
ror edx, 0xb
xor ecx, r12d
mov r12d, eax
and r12d, r8d
and ecx, ebx
xor r13d, r12d
xor ecx, r13d
mov r13d, dword [r15 + 0xc]
ror ecx, 7
add ecx, ebp
mov ebp, r9d
lea r12d, [r13 + rdx - 0xed38067]
mov edx, ecx
mov r13d, r10d
xor ebp, r11d
and r13d, ebx
not edx
xor r13d, ebp
and edx, eax
xor edx, r13d
mov r13d, r10d
and r13d, ecx
and edx, r8d
xor edi, r13d
mov r13d, r11d
xor r13d, ebx
xor edx, edi
mov edi, r13d
mov r13d, dword [r15 + 0x54]
ror edx, 7
add edx, r12d
ror eax, 0xb
and esi, r8d
xor esi, r11d
and ebp, ecx
lea r12d, [r13 + rax + 0x24a19947]
mov r13d, edx
xor ebp, ebx
not r13d
mov eax, r13d
mov r13d, r9d
and r13d, r8d
and eax, r10d
ror r10d, 0xb
xor r13d, edi
xor eax, r13d
mov r13d, r9d
and r13d, edx
and eax, ecx
xor esi, r13d
mov r13d, r11d
xor eax, esi
mov esi, ebx
and r13d, ecx
xor esi, r8d
ror eax, 7
add eax, r12d
mov r12d, esi
mov esi, dword [r15 + 0x24]
xor r13d, r12d
lea esi, [rsi + r10 - 0x4c6e9309]
mov r10d, eax
not r10d
and r10d, r9d
ror r9d, 0xb
xor r10d, r13d
mov r13d, r11d
and r13d, eax
and r10d, edx
xor ebp, r13d
xor r10d, ebp
mov ebp, r8d
ror r10d, 7
xor ebp, ecx
add r10d, esi
mov esi, dword [r15 + 0x44]
lea r13d, [rsi + r9 + 0x801f2e2]
mov r9d, r10d
mov esi, ebx
and esi, edx
not r9d
xor esi, ebp
and r9d, r11d
xor r9d, esi
and edi, edx
mov esi, ebx
and r9d, eax
and esi, r10d
xor edi, r8d
xor edi, esi
mov esi, r9d
mov r9d, ecx
xor r9d, edx
xor esi, edi
ror r11d, 0xb
mov edi, r9d
mov r9d, dword [r15 + 0x60]
ror esi, 7
add esi, r13d
and r12d, eax
and ebp, r10d
xor r12d, ecx
xor ebp, edx
lea r13d, [r9 + r11 - 0x7a7103ea]
mov r9d, esi
mov r11d, r8d
and r11d, eax
not r9d
xor r11d, edi
and r9d, ebx
ror ebx, 0xb
xor r9d, r11d
mov r11d, r8d
and r9d, r10d
and r11d, esi
xor r12d, r11d
mov r11d, r9d
mov r9d, edx
xor r9d, eax
xor r11d, r12d
mov r12d, r9d
mov r9d, dword [r15 + 0x74]
ror r11d, 7
add r11d, r13d
mov r13d, ecx
and r13d, r10d
lea ebx, [r9 + rbx + 0x636920d8]
mov r9d, r11d
xor r13d, r12d
not r9d
and r9d, r8d
xor r9d, r13d
mov r13d, ecx
and r9d, esi
and r13d, r11d
ror r8d, 0xb
xor ebp, r13d
mov r13d, edx
and edi, esi
xor r9d, ebp
mov ebp, dword [r15 + 0x18]
and r13d, esi
ror r9d, 7
xor edi, eax
and r12d, r11d
add r9d, ebx
mov ebx, eax
xor r12d, r10d
lea ebp, [rbp + r8 + 0x71574e69]
mov r8d, r9d
xor ebx, r10d
not r8d
xor r13d, ebx
and r8d, ecx
ror ecx, 0xb
xor r8d, r13d
mov r13d, edx
and r13d, r9d
and r8d, r11d
xor edi, r13d
xor r8d, edi
ror r8d, 7
add r8d, ebp
mov ebp, r10d
xor ebp, esi
mov r13d, r8d
mov edi, ebp
mov ebp, dword [r15 + 0x4c]
not r13d
lea ebp, [rbp + rcx - 0x5ba7015d]
mov ecx, r13d
mov r13d, eax
and r13d, r11d
and ecx, edx
xor r13d, edi
xor ecx, r13d
mov r13d, eax
and r13d, r8d
and ecx, r9d
xor r12d, r13d
mov r13d, dword [r15 + 0x30]
xor ecx, r12d
ror ecx, 7
add ecx, ebp
ror edx, 0xb
mov ebp, esi
lea r12d, [r13 + rdx - 0xb6cc282]
mov edx, ecx
mov r13d, r10d
xor ebp, r11d
and r13d, r9d
not edx
xor r13d, ebp
and edx, eax
and ebx, r9d
xor edx, r13d
mov r13d, r10d
xor ebx, esi
and r13d, ecx
and edx, r8d
ror eax, 0xb
xor ebx, r13d
and edi, r8d
xor edx, ebx
mov ebx, r11d
xor edi, r11d
xor ebx, r9d
ror edx, 7
add edx, r12d
mov r12d, ebx
mov ebx, dword [r15 + 0x3c]
mov r13d, edx
not r13d
lea ebx, [rbx + rax + 0xd95748f]
mov eax, r13d
mov r13d, esi
and r13d, r8d
and eax, r10d
ror r10d, 0xb
xor r13d, r12d
xor eax, r13d
mov r13d, esi
and r13d, edx
and eax, ecx
xor edi, r13d
mov r13d, dword [r15 + 0x34]
xor eax, edi
mov edi, r11d
ror eax, 7
add eax, ebx
lea r13d, [r13 + r10 + 0x728eb658]
mov ebx, r9d
mov r10d, eax
xor ebx, r8d
not r10d
and r10d, esi
and edi, ecx
and ebp, ecx
xor edi, ebx
xor ebp, r9d
ror esi, 0xb
xor r10d, edi
mov edi, r11d
and r12d, edx
and edi, eax
and r10d, edx
xor r12d, r8d
xor ebp, edi
xor r10d, ebp
mov ebp, r8d
mov edi, r10d
mov r10d, dword [r15 + 8]
xor ebp, ecx
ror edi, 7
add edi, r13d
lea r13d, [r10 + rsi + 0x718bcd58]
mov r10d, edi
mov esi, r9d
and esi, edx
not r10d
xor esi, ebp
and r10d, r11d
ror r11d, 0xb
xor r10d, esi
mov esi, r9d
and r10d, eax
and esi, edi
xor r12d, esi
mov esi, r10d
mov r10d, ecx
xor r10d, edx
xor esi, r12d
mov r12d, r10d
mov r10d, dword [r15 + 0x64]
ror esi, 7
add esi, r13d
mov r13d, r8d
and r13d, eax
lea r11d, [r10 + r11 - 0x7deab512]
mov r10d, esi
xor r13d, r12d
not r10d
and r10d, r9d
xor r10d, r13d
mov r13d, r8d
and r10d, edi
and ebx, eax
and r13d, esi
xor ebx, ecx
ror r9d, 0xb
and ebp, edi
xor ebx, r13d
xor ebp, edx
and r12d, esi
xor ebx, r10d
xor r12d, eax
ror ebx, 7
add r11d, ebx
mov ebx, dword [r15 + 0x7c]
mov r13d, r11d
lea r10d, [rbx + r9 + 0x7b54a41d]
mov ebx, ecx
mov r9d, edx
and ebx, edi
xor r9d, eax
xor r9d, ebx
mov ebx, r11d
not ebx
and ebx, r8d
ror r8d, 0xb
xor r9d, ebx
mov ebx, ecx
and ebx, r11d
and r9d, esi
xor ebp, ebx
mov ebx, dword [r15 + 0x6c]
xor r9d, ebp
mov ebp, eax
ror r9d, 7
add r9d, r10d
lea r10d, [rbx + r8 - 0x3da5a64b]
mov ebx, edx
mov r8d, eax
and ebx, esi
xor r8d, edi
xor r8d, ebx
mov ebx, r9d
not ebx
and ebx, ecx
xor r8d, ebx
mov ebx, edx
and ebx, r9d
and r8d, r11d
xor r12d, ebx
mov ebx, dword [r15 + 0x4c]
xor r8d, r12d
ror ecx, 0xb
xor ebp, r9d
ror r8d, 7
add r8d, r10d
mov r10d, r11d
lea ebx, [rbx + rcx - 0x63cf2ac7]
and r10d, r8d
mov ecx, r10d
mov r10d, esi
xor ecx, ebp
and r10d, r11d
mov ebp, edi
and ecx, edx
and ebp, r8d
xor r10d, eax
xor r10d, ebp
mov ebp, ecx
ror edx, 0xb
xor ebp, r10d
ror ebp, 7
add ebp, ebx
mov ebx, dword [r15 + 0x24]
lea r10d, [rbx + rdx + 0x2af26013]
mov edx, r9d
mov ebx, edi
xor ebx, r8d
and edx, ebp
xor edx, ebx
mov ebx, r11d
and ebx, r9d
and edx, eax
ror eax, 0xb
mov ecx, ebx
mov ebx, esi
and ebx, ebp
xor ecx, edi
xor ecx, ebx
xor edx, ecx
mov ebx, edx
mov edx, dword [r15 + 0x10]
ror ebx, 7
add ebx, r10d
mov r10d, r11d
lea ecx, [rdx + rax - 0x3a2e4fdd]
mov edx, r8d
and edx, ebx
mov eax, edx
mov edx, esi
xor edx, ebp
xor eax, edx
mov edx, r9d
and eax, edi
and edx, r8d
and r10d, ebx
xor edx, esi
ror edi, 0xb
xor r13d, ebx
xor edx, r10d
xor eax, edx
mov edx, dword [r15 + 0x50]
ror eax, 7
add eax, ecx
lea r10d, [rdx + rdi + 0x286085f0]
mov edx, ebp
and edx, eax
xor edx, r13d
mov r13d, r8d
and r13d, ebp
and edx, esi
ror esi, 0xb
mov ecx, r13d
mov r13d, r9d
and r13d, eax
xor ecx, r11d
xor ecx, r13d
mov r13d, r8d
xor edx, ecx
mov edi, edx
mov edx, dword [r15 + 0x70]
ror edi, 7
add edi, r10d
mov r10d, r9d
lea esi, [rdx + rsi - 0x35be86e8]
mov edx, ebx
xor r10d, eax
and edx, edi
and r13d, edi
xor edx, r10d
mov r10d, ebp
and r10d, ebx
and edx, r11d
ror r11d, 0xb
xor r10d, r9d
xor r10d, r13d
xor edx, r10d
mov r10d, r8d
mov ecx, edx
mov edx, dword [r15 + 0x44]
ror ecx, 7
add ecx, esi
mov esi, ebp
lea r11d, [rdx + r11 - 0x4724c711]
mov edx, eax
and edx, ecx
xor r10d, edi
and esi, ecx
xor edx, r10d
mov r10d, ebx
and r10d, eax
and edx, r9d
ror r9d, 0xb
xor r10d, r8d
xor r10d, esi
mov esi, dword [r15 + 0x20]
xor edx, r10d
mov r10d, ebp
ror edx, 7
xor r10d, ecx
add edx, r11d
lea esi, [rsi + r9 - 0x71862350]
mov r9d, edi
and r9d, edx
mov r11d, eax
xor r9d, r10d
and r11d, edi
mov r10d, ebx
and r10d, edx
xor r11d, ebp
and r9d, r8d
xor r11d, r10d
ror r8d, 0xb
xor r9d, r11d
mov r11d, ebx
mov r10d, r9d
xor r11d, edx
mov r9d, edi
ror r10d, 7
and r9d, ecx
add r10d, esi
mov esi, dword [r15 + 0x58]
xor r9d, ebx
lea esi, [rsi + r8 + 0x603a180e]
mov r8d, ecx
and r8d, r10d
xor r8d, r11d
mov r11d, eax
and r11d, r10d
and r8d, ebp
xor r9d, r11d
xor r8d, r9d
ror ebp, 0xb
mov r9d, eax
mov r11d, r8d
mov r8d, edx
xor r9d, r10d
ror r11d, 7
add r11d, esi
mov esi, dword [r15 + 0x74]
and r8d, r11d
xor r8d, r9d
mov r9d, edi
lea ebp, [rsi + rbp + 0x6c9e0e8b]
mov esi, ecx
and r9d, r11d
and esi, edx
and r8d, ebx
ror ebx, 0xb
xor esi, eax
xor esi, r9d
xor r8d, esi
mov esi, dword [r15 + 0x38]
mov r9d, r8d
mov r8d, r10d
ror r9d, 7
add r9d, ebp
lea esi, [rsi + rbx - 0x4fe175c2]
mov ebx, edi
xor ebx, r11d
and r8d, r9d
mov ebp, ecx
xor r8d, ebx
mov ebx, edx
and ebp, r9d
and ebx, r10d
and r8d, eax
ror eax, 0xb
xor ebx, edi
xor ebx, ebp
xor r8d, ebx
mov ebx, dword [r15 + 0x64]
ror r8d, 7
add r8d, esi
mov esi, r10d
lea ebp, [rbx + rax - 0x28ea883f]
mov ebx, r11d
and ebx, r8d
mov eax, ebx
mov ebx, ecx
xor ebx, r9d
xor eax, ebx
mov ebx, edx
and eax, edi
and esi, r11d
and ebx, r8d
xor esi, ecx
ror edi, 0xb
xor esi, ebx
mov ebx, eax
xor ebx, esi
mov esi, dword [r15 + 0x30]
ror ebx, 7
add ebx, ebp
mov ebp, r10d
lea edi, [rsi + rdi - 0x42ceb4d9]
mov esi, r9d
and ebp, ebx
and esi, ebx
mov eax, esi
mov esi, edx
xor esi, r8d
xor eax, esi
mov esi, r11d
and esi, r9d
and eax, ecx
ror ecx, 0xb
xor esi, edx
xor esi, ebp
mov ebp, r11d
xor eax, esi
mov esi, dword [r15 + 0x60]
ror eax, 7
add eax, edi
lea edi, [rsi + rcx + 0x78af2fda]
mov esi, r8d
and ebp, eax
and esi, eax
mov ecx, esi
mov esi, r10d
xor esi, ebx
xor ecx, esi
mov esi, r9d
and esi, r8d
and ecx, edx
ror edx, 0xb
xor esi, r10d
xor esi, ebp
xor ecx, esi
mov esi, dword [r15 + 0x78]
ror ecx, 7
add ecx, edi
lea ebp, [rsi + rdx + 0x55605c60]
mov edx, ebx
mov esi, r11d
and edx, ecx
xor esi, eax
xor edx, esi
mov esi, r8d
and esi, ebx
and edx, r10d
ror r10d, 0xb
mov edi, esi
mov esi, r9d
and esi, ecx
xor edi, r11d
xor edi, esi
xor edx, edi
mov esi, edx
mov edx, dword [r15 + 0x40]
ror esi, 7
add esi, ebp
lea ebp, [rdx + r10 - 0x19aada0d]
mov edx, eax
mov r10d, r9d
xor r10d, ecx
and edx, esi
xor edx, r10d
mov r10d, ebx
and r10d, eax
and edx, r11d
ror r11d, 0xb
mov edi, r10d
mov r10d, r8d
and r10d, esi
xor edi, r9d
xor edi, r10d
xor edx, edi
mov r10d, edx
mov edx, dword [r15 + 0x68]
ror r10d, 7
add r10d, ebp
mov ebp, ebx
lea edi, [rdx + r11 - 0x55aa546c]
mov edx, ecx
mov r11d, r8d
xor r11d, esi
and edx, r10d
and ebp, r10d
xor edx, r11d
mov r11d, eax
and r11d, ecx
and edx, r9d
xor r11d, r8d
xor r11d, ebp
mov ebp, eax
xor edx, r11d
mov r11d, dword [r15 + 0x7c]
ror r9d, 0xb
ror edx, 7
add edx, edi
lea edi, [r11 + r9 + 0x57489862]
mov r9d, esi
mov r11d, ebx
xor r11d, r10d
and r9d, edx
and ebp, edx
xor r9d, r11d
mov r11d, ecx
and r11d, esi
and r9d, r8d
ror r8d, 0xb
xor r11d, ebx
xor r11d, ebp
xor r9d, r11d
mov r11d, dword [r15 + 0x3c]
ror r9d, 7
add r9d, edi
lea ebp, [r11 + r8 + 0x63e81440]
mov r8d, r10d
mov r11d, eax
xor r11d, edx
and r8d, r9d
xor r8d, r11d
mov r11d, esi
and r11d, r10d
and r8d, ebx
ror ebx, 0xb
mov edi, r11d
mov r11d, ecx
and r11d, r9d
xor edi, eax
xor edi, r11d
xor r8d, edi
mov r11d, r8d
mov r8d, dword [r15 + 0x1c]
ror r11d, 7
add r11d, ebp
mov ebp, esi
lea edi, [r8 + rbx + 0x55ca396a]
mov r8d, edx
mov ebx, ecx
xor ebx, r9d
and r8d, r11d
xor r8d, ebx
mov ebx, r10d
and r8d, eax
and ebx, edx
and ebp, r11d
xor ebx, ecx
ror eax, 0xb
xor ebx, ebp
mov ebp, r10d
xor r8d, ebx
mov ebx, dword [r15 + 0xc]
ror r8d, 7
add r8d, edi
lea edi, [rbx + rax + 0x2aab10b6]
mov ebx, r9d
and ebp, r8d
and ebx, r8d
mov eax, ebx
mov ebx, esi
xor ebx, r11d
xor eax, ebx
mov ebx, edx
and ebx, r9d
and eax, ecx
ror ecx, 0xb
xor ebx, esi
xor ebx, ebp
xor eax, ebx
mov ebx, dword [r15 + 4]
ror eax, 7
add eax, edi
lea ebp, [rbx + rcx - 0x4b33a3cc]
mov ebx, r11d
mov r13d, eax
and ebx, eax
mov ecx, ebx
mov ebx, r10d
xor ebx, r8d
xor ecx, ebx
mov ebx, r9d
and ebx, r11d
and ecx, esi
ror esi, 0xb
mov edi, ebx
mov ebx, edx
and ebx, eax
xor edi, r10d
xor edi, ebx
mov ebx, ecx
xor ebx, edi
ror ebx, 7
add ebx, ebp
mov ebp, dword [r15]
lea ebp, [rbp + rsi + 0x1141e8ce]
mov esi, r8d
and esi, ebx
mov ecx, esi
mov esi, edx
xor esi, eax
xor ecx, esi
mov esi, r11d
and esi, r8d
and ecx, r10d
ror r10d, 0xb
mov edi, esi
mov esi, r9d
and esi, ebx
xor edi, edx
xor edi, esi
mov esi, ecx
xor esi, edi
ror esi, 7
add esi, ebp
mov ebp, dword [r15 + 0x48]
lea edi, [rbp + r10 - 0x5eab7951]
mov r10d, eax
mov ebp, r11d
and r10d, esi
and ebp, esi
mov ecx, r10d
mov r10d, r9d
xor r10d, ebx
xor ecx, r10d
mov r10d, r8d
and r10d, eax
and ecx, edx
ror edx, 0xb
xor r10d, r9d
xor r10d, ebp
mov ebp, r8d
xor ecx, r10d
mov r10d, dword [r15 + 0x6c]
ror ecx, 7
add ecx, edi
lea edi, [r10 + rdx + 0x7c72e993]
mov edx, ebx
mov r10d, r11d
xor r10d, esi
and edx, ecx
and ebp, ecx
xor edx, r10d
mov r10d, eax
and r10d, ebx
and edx, r9d
xor r10d, r11d
xor r10d, ebp
xor edx, r10d
mov r10d, dword [r15 + 0x34]
ror r9d, 0xb
ror edx, 7
add edx, edi
lea ebp, [r10 + r9 - 0x4c11ebef]
mov r9d, esi
mov r10d, r8d
xor r10d, ecx
and r9d, edx
and r13d, edx
xor r9d, r10d
mov r10d, ebx
and r10d, esi
and r9d, r11d
ror r11d, 0xb
xor r10d, r8d
xor r10d, r13d
xor r9d, r10d
mov r10d, eax
mov edi, r9d
mov r9d, dword [r15 + 0x18]
xor r10d, edx
ror edi, 7
add edi, ebp
mov ebp, ebx
lea r11d, [r9 + r11 + 0x636fbc2a]
mov r9d, ecx
and ebp, edi
and r9d, edi
xor r9d, r10d
mov r10d, esi
and r10d, ecx
and r9d, r8d
ror r8d, 0xb
xor r10d, eax
xor r10d, ebp
xor r9d, r10d
mov r10d, ebx
ror r9d, 7
xor r10d, edi
add r9d, r11d
mov r11d, dword [r15 + 0x54]
lea ebp, [r11 + r8 + 0x2ba9c55d]
mov r8d, edx
mov r11d, ecx
and r8d, r9d
xor r8d, r10d
mov r10d, esi
and r8d, eax
and r11d, edx
and r10d, r9d
xor r11d, ebx
ror eax, 0xb
xor r11d, r10d
xor r8d, r11d
mov r11d, esi
mov r10d, r8d
mov r8d, dword [r15 + 0x28]
xor r11d, r9d
ror r10d, 7
add r10d, ebp
lea ebp, [r8 + rax + 0x741831f6]
mov r8d, edi
and r8d, r10d
mov eax, r8d
mov r8d, edx
xor eax, r11d
and r8d, edi
mov r11d, ecx
and eax, ebx
and r11d, r10d
xor r8d, esi
xor r8d, r11d
mov r11d, eax
ror ebx, 0xb
xor r11d, r8d
mov r8d, dword [r15 + 0x5c]
ror r11d, 7
add r11d, ebp
lea ebp, [r8 + rbx - 0x31a3c1ea]
mov ebx, r9d
mov r8d, edi
and ebx, r11d
and r8d, r9d
mov r13d, r11d
mov eax, ebx
mov ebx, ecx
xor r8d, ecx
xor ebx, r10d
xor eax, ebx
mov ebx, edx
and eax, esi
and ebx, r11d
ror esi, 0xb
xor r8d, ebx
mov ebx, eax
xor ebx, r8d
mov r8d, dword [r15 + 0x2c]
ror ebx, 7
add ebx, ebp
lea ebp, [r8 + rsi - 0x64786ce2]
mov esi, r10d
mov r8d, edx
and esi, ebx
xor r8d, r11d
mov eax, esi
mov esi, r9d
xor eax, r8d
and esi, r10d
mov r8d, edi
and eax, ecx
and r8d, ebx
xor esi, edx
xor esi, r8d
mov r8d, eax
ror ecx, 0xb
xor r8d, esi
mov esi, dword [r15 + 0x14]
ror r8d, 7
add r8d, ebp
mov ebp, r9d
and r13d, r8d
lea esi, [rsi + rcx - 0x502945cd]
and ebp, r8d
mov ecx, r13d
mov r13d, edi
xor r13d, ebx
xor ecx, r13d
mov r13d, r10d
and r13d, r11d
and ecx, edx
ror edx, 0xb
mov eax, r13d
mov r13d, dword [r15 + 8]
xor eax, edi
xor eax, ebp
xor ecx, eax
lea edx, [r13 + rdx + 0x6c24cf5c]
mov r13d, ebx
ror ecx, 7
add ecx, esi
mov esi, r10d
and r13d, ecx
and esi, ecx
mov r12d, r13d
mov r13d, r9d
xor r13d, r8d
xor r12d, r13d
mov r13d, r11d
and r13d, ebx
and r12d, edi
mov eax, r13d
mov r13d, r9d
xor eax, r9d
xor eax, esi
xor r12d, eax
ror edi, 0xb
xor r13d, ebx
ror r12d, 7
mov eax, r13d
xor ebp, ebx
add r12d, edx
mov edx, dword [r15 + 0x60]
xor esi, r8d
lea edi, [rdx + rdi + 0x7a325381]
mov edx, r8d
not edx
and edx, r11d
xor eax, edx
mov edx, r8d
xor eax, ecx
and edx, ecx
and eax, r12d
xor edx, r11d
xor eax, ebp
mov ebp, r9d
ror r9d, 0xb
or ebp, r12d
xor edx, ebp
mov ebp, r10d
and edx, r10d
xor eax, edx
mov edx, dword [r15 + 0x10]
ror eax, 7
add edi, eax
lea r9d, [rdx + r9 + 0x28958677]
mov edx, ecx
or ebp, edi
not edx
mov eax, edx
mov edx, r10d
and eax, ebx
xor edx, r8d
xor edx, eax
xor edx, r12d
and edx, edi
xor esi, edx
mov edx, ecx
and edx, r12d
xor edx, ebx
xor edx, ebp
and edx, r11d
xor edx, esi
mov esi, dword [r15]
ror r10d, 0xb
ror edx, 7
add edx, r9d
lea r9d, [rsi + r10 + 0x3b8f4898]
mov r10d, r12d
mov esi, r11d
not r10d
xor esi, ecx
mov r13d, edx
and r10d, r8d
xor r10d, esi
mov esi, r11d
and esi, r12d
xor r10d, edi
mov eax, esi
mov esi, r12d
and r10d, edx
xor eax, ecx
and esi, edi
xor r10d, eax
mov eax, esi
mov esi, r11d
or esi, edx
xor eax, r8d
ror r11d, 0xb
xor eax, esi
mov esi, dword [r15 + 0x38]
and eax, ebx
xor r10d, eax
ror r10d, 7
add r10d, r9d
lea r9d, [rsi + r11 + 0x6b4bb9af]
mov r11d, edi
mov esi, ebx
not r11d
xor esi, r12d
and r11d, ecx
xor r11d, esi
mov esi, ebx
and esi, edi
xor r11d, edx
mov eax, esi
mov esi, edi
and r11d, r10d
xor eax, r12d
and esi, edx
xor r11d, eax
mov eax, esi
mov esi, ebx
or esi, r10d
xor eax, ecx
xor eax, esi
mov esi, dword [r15 + 8]
ror ebx, 0xb
and eax, r8d
xor r11d, eax
ror r11d, 7
add r11d, r9d
lea r9d, [rsi + rbx - 0x3b4017e5]
mov ebx, edx
mov esi, r8d
not ebx
mov ebp, r11d
xor esi, edi
and ebx, r12d
not ebp
xor ebx, esi
mov esi, r8d
and esi, edx
xor ebx, r10d
mov eax, esi
mov esi, edx
and ebx, r11d
xor eax, edi
and esi, r10d
xor ebx, eax
mov eax, esi
mov esi, r8d
or esi, r11d
xor eax, r12d
ror r8d, 0xb
xor eax, esi
mov esi, dword [r15 + 0x1c]
and eax, ecx
xor ebx, eax
lea r8d, [rsi + r8 + 0x66282193]
ror ebx, 7
mov esi, r10d
add ebx, r9d
not esi
mov r9d, ecx
xor r9d, edx
and esi, edi
xor esi, r9d
mov r9d, ecx
and r9d, r10d
xor esi, r11d
mov eax, r9d
mov r9d, r10d
and esi, ebx
xor eax, edx
and r9d, r11d
xor esi, eax
mov eax, r9d
mov r9d, ecx
xor eax, edi
or r9d, ebx
ror ecx, 0xb
xor eax, r9d
and ebp, edx
mov r9d, ebx
and eax, r12d
not r9d
xor esi, eax
and r9d, r10d
ror esi, 7
add esi, r8d
mov r8d, dword [r15 + 0x70]
lea ecx, [r8 + rcx + 0x61d809cc]
mov r8d, r12d
xor r8d, r10d
xor ebp, r8d
mov r8d, r12d
and r8d, r11d
xor ebp, ebx
mov eax, r8d
mov r8d, r11d
and ebp, esi
xor eax, r10d
and r8d, ebx
xor ebp, eax
mov eax, r8d
mov r8d, r12d
or r8d, esi
xor eax, edx
ror r12d, 0xb
xor eax, r8d
mov r8d, dword [r15 + 0x5c]
and eax, edi
xor ebp, eax
ror ebp, 7
add ebp, ecx
lea ecx, [r8 + r12 - 0x4de566f]
mov r8d, edi
xor r8d, r11d
xor r9d, r8d
mov r8d, edi
and r8d, ebx
xor r9d, esi
mov eax, r8d
and r9d, ebp
mov r8d, ebx
xor eax, r11d
xor r9d, eax
and r8d, esi
xor r13d, ebx
mov eax, r8d
mov r8d, edi
ror edi, 0xb
or r8d, ebp
xor eax, r10d
xor eax, r8d
mov r8d, dword [r15 + 0x68]
and eax, edx
xor r9d, eax
ror r9d, 7
add r9d, ecx
lea ecx, [r8 + rdi + 0x487cac60]
mov r8d, esi
not r8d
and r8d, r11d
xor r8d, r13d
mov r13d, edx
and r13d, esi
xor r8d, ebp
mov eax, r13d
mov r13d, esi
and r8d, r9d
xor eax, ebx
and r13d, ebp
xor r8d, eax
mov eax, r13d
mov r13d, edx
or r13d, r9d
xor eax, r11d
ror edx, 0xb
xor eax, r13d
mov r13d, dword [r15 + 0x18]
and eax, r10d
xor r8d, eax
lea edx, [r13 + rdx + 0x5dec8032]
mov r13d, ebp
ror r8d, 7
not r13d
add r8d, ecx
mov ecx, r13d
mov r13d, r10d
xor r13d, esi
and ecx, ebx
xor ecx, r13d
mov r13d, r10d
xor ecx, r9d
and ecx, r8d
and r13d, ebp
mov eax, r13d
mov r13d, ebp
xor eax, esi
and r13d, r9d
xor ecx, eax
mov eax, r13d
mov r13d, r10d
or r13d, r8d
xor eax, ebx
ror r10d, 0xb
xor eax, r13d
mov r13d, r11d
and eax, r11d
xor r13d, ebp
xor ecx, eax
ror ecx, 7
add ecx, edx
mov edx, dword [r15 + 0x78]
lea edx, [rdx + r10 - 0x107ba2a3]
mov r10d, r9d
not r10d
and r10d, esi
xor r10d, r13d
mov r13d, r11d
and r13d, r9d
xor r10d, r8d
mov eax, r13d
mov r13d, r9d
and r10d, ecx
xor eax, ebp
and r13d, r8d
xor r10d, eax
mov eax, r13d
mov r13d, r11d
or r13d, ecx
xor eax, esi
ror r11d, 0xb
xor eax, r13d
mov r13d, ebx
and eax, ebx
xor r13d, r9d
xor r10d, eax
ror r10d, 7
add r10d, edx
mov edx, dword [r15 + 0x50]
lea edx, [rdx + r11 - 0x167a8a4f]
mov r11d, r8d
not r11d
and r11d, ebp
xor r11d, r13d
mov r13d, ebx
xor r11d, ecx
and r13d, r8d
mov eax, r13d
mov r13d, r8d
and r11d, r10d
xor eax, r9d
and r13d, ecx
xor r11d, eax
mov eax, r13d
mov r13d, ebx
or r13d, r10d
xor eax, ebp
ror ebx, 0xb
xor eax, r13d
mov r13d, esi
and eax, esi
xor r13d, r8d
xor r11d, eax
ror r11d, 7
add r11d, edx
mov edx, dword [r15 + 0x48]
lea edx, [rdx + rbx - 0x23d9dcfe]
mov ebx, ecx
not ebx
and ebx, r9d
xor ebx, r13d
mov r13d, esi
and r13d, ecx
xor ebx, r10d
mov eax, r13d
mov r13d, ecx
and ebx, r11d
xor eax, r8d
and r13d, r10d
xor ebx, eax
mov eax, r13d
mov r13d, esi
or r13d, r11d
xor eax, r9d
ror esi, 0xb
xor eax, r13d
mov r13d, ebp
and eax, ebp
xor ebx, eax
ror ebx, 7
add ebx, edx
mov edx, dword [r15 + 0x64]
lea edx, [rdx + rsi - 0x149ae478]
mov esi, r10d
not esi
and esi, r8d
xor r13d, ecx
xor esi, r13d
mov r13d, ebp
and r13d, r10d
xor esi, r11d
mov eax, r13d
mov r13d, r10d
and esi, ebx
xor eax, ecx
and r13d, r11d
xor esi, eax
mov eax, r13d
mov r13d, ebp
or r13d, ebx
xor eax, r8d
ror ebp, 0xb
xor eax, r13d
and eax, r9d
xor esi, eax
ror esi, 7
add esi, edx
mov edx, dword [r15 + 0x4c]
lea edi, [rdx + rbp + 0x23893e81]
mov edx, r11d
mov ebp, r9d
not edx
xor ebp, r10d
and edx, ecx
xor edx, ebp
mov ebp, r9d
and ebp, r11d
xor edx, ebx
mov eax, ebp
mov ebp, r11d
and edx, esi
xor eax, r10d
and ebp, ebx
xor edx, eax
mov eax, ebp
mov ebp, r9d
or ebp, esi
xor eax, ecx
xor eax, ebp
mov ebp, dword [r15 + 0xc]
and eax, r8d
xor edx, eax
ror edx, 7
add edx, edi
ror r9d, 0xb
lea edi, [rbp + r9 - 0x2c69533b]
mov r9d, ebx
mov ebp, r8d
not r9d
or ebp, edx
mov eax, r9d
mov r9d, r8d
xor r9d, r11d
and eax, r10d
xor eax, r9d
mov r9d, r8d
ror r8d, 0xb
xor eax, esi
and r9d, ebx
xor r9d, r11d
and eax, edx
xor eax, r9d
mov r9d, ebx
and r9d, esi
xor r9d, r10d
xor r9d, ebp
mov ebp, ecx
and r9d, ecx
xor eax, r9d
mov r9d, dword [r15 + 0x58]
ror eax, 7
add eax, edi
lea edi, [r9 + r8 + 0xf6d6ff3]
mov r8d, esi
mov r9d, ecx
not r8d
xor r9d, ebx
or ebp, eax
and r8d, r11d
xor r8d, r9d
mov r9d, ecx
xor r8d, edx
and r9d, esi
xor r9d, ebx
and r8d, eax
xor r8d, r9d
mov r9d, esi
and r9d, edx
xor r9d, r11d
xor r9d, ebp
mov ebp, r10d
and r9d, r10d
xor r8d, r9d
mov r9d, dword [r15 + 0x2c]
ror r8d, 7
ror ecx, 0xb
xor ebp, esi
add r8d, edi
lea edi, [r9 + rcx - 0x7c0bbdc7]
mov r9d, edx
not r9d
and r9d, ebx
xor r9d, ebp
mov ebp, r10d
and ebp, edx
xor r9d, eax
mov ecx, ebp
mov ebp, edx
and r9d, r8d
xor ecx, esi
and ebp, eax
xor r9d, ecx
mov ecx, ebp
mov ebp, r10d
or ebp, r8d
xor ecx, ebx
ror r10d, 0xb
xor ecx, ebp
mov ebp, dword [r15 + 0x7c]
and ecx, r11d
xor r9d, ecx
ror r9d, 7
add r9d, edi
lea edi, [rbp + r10 + 0x2e0b4482]
mov r10d, eax
mov ebp, r11d
not r10d
xor ebp, edx
and r10d, esi
xor r10d, ebp
mov ebp, r11d
and ebp, eax
xor r10d, r8d
mov ecx, ebp
mov ebp, eax
and r10d, r9d
xor ecx, edx
and ebp, r8d
xor r10d, ecx
mov ecx, ebp
mov ebp, r11d
or ebp, r9d
xor ecx, esi
xor ecx, ebp
mov ebp, dword [r15 + 0x54]
and ecx, ebx
ror r11d, 0xb
xor r10d, ecx
ror r10d, 7
add r10d, edi
lea edi, [rbp + r11 - 0x5b7bdffc]
mov r11d, r8d
mov ebp, ebx
not r11d
xor ebp, eax
and r11d, edx
xor r11d, ebp
mov ebp, ebx
and ebp, r8d
xor r11d, r9d
mov ecx, ebp
mov ebp, r8d
and r11d, r10d
xor ecx, eax
and ebp, r9d
xor r11d, ecx
mov ecx, ebp
mov ebp, ebx
or ebp, r10d
xor ecx, edx
ror ebx, 0xb
xor ecx, ebp
mov ebp, dword [r15 + 0x20]
and ecx, esi
xor r11d, ecx
ror r11d, 7
add r11d, edi
lea edi, [rbp + rbx + 0x69c8f04a]
mov ebx, r9d
mov ebp, esi
not ebx
xor ebp, r8d
and ebx, eax
xor ebx, ebp
mov ebp, esi
and ebp, r9d
xor ebx, r10d
mov ecx, ebp
mov ebp, r9d
and ebx, r11d
xor ecx, r8d
and ebp, r10d
xor ebx, ecx
mov ecx, ebp
mov ebp, esi
xor ecx, eax
or ebp, r11d
ror esi, 0xb
xor ecx, ebp
mov ebp, dword [r15 + 0x6c]
and ecx, edx
xor ebx, ecx
ror ebx, 7
add ebx, edi
lea edi, [rbp + rsi - 0x61e064a2]
mov esi, r10d
not esi
mov ebp, edx
mov ecx, esi
mov esi, edx
or ebp, ebx
xor esi, r9d
and ecx, r8d
xor ecx, esi
mov esi, edx
ror edx, 0xb
xor ecx, r11d
and esi, r10d
xor esi, r9d
and ecx, ebx
xor ecx, esi
mov esi, r10d
and esi, r11d
xor esi, r8d
xor esi, ebp
mov ebp, eax
and esi, eax
xor ecx, esi
mov esi, dword [r15 + 0x30]
mov r14d, dword [rsp + 0x30]
ror ecx, 7
add ecx, edi
lea edi, [rsi + rdx + 0x21c66842]
mov edx, r11d
mov esi, eax
not edx
xor esi, r10d
and edx, r9d
xor edx, esi
mov esi, eax
xor edx, ebx
and esi, r11d
xor esi, r10d
and edx, ecx
xor edx, esi
mov esi, r11d
and esi, ebx
or ebp, ecx
ror eax, 0xb
xor esi, r9d
xor esi, ebp
mov ebp, r8d
and esi, r8d
xor edx, esi
mov esi, dword [r15 + 0x24]
ror edx, 7
add edx, edi
lea edi, [rsi + rax - 0x9169366]
mov esi, ebx
or ebp, edx
not esi
mov eax, esi
mov esi, r8d
xor esi, r11d
and eax, r10d
xor eax, esi
mov esi, r8d
ror r8d, 0xb
xor eax, ecx
and esi, ebx
xor esi, r11d
and eax, edx
xor eax, esi
mov esi, ebx
and esi, ecx
xor esi, r10d
xor esi, ebp
mov ebp, r9d
and esi, r9d
xor eax, esi
mov esi, dword [r15 + 4]
ror eax, 7
add eax, edi
lea edi, [rsi + r8 + 0x670c9c61]
mov r8d, ecx
mov esi, r9d
not r8d
xor esi, ebx
and r8d, r11d
xor r8d, esi
mov esi, r9d
xor r8d, edx
and esi, ecx
and r8d, eax
xor esi, ebx
or ebp, eax
xor r8d, esi
mov esi, ecx
ror r9d, 0xb
and esi, edx
xor esi, r11d
xor esi, ebp
mov ebp, r10d
and esi, r10d
xor r8d, esi
mov esi, dword [r15 + 0x74]
ror r8d, 7
add r8d, edi
lea edi, [rsi + r9 - 0x542c7710]
mov r9d, edx
mov esi, r10d
not r9d
xor esi, ecx
or ebp, r8d
and r9d, ebx
xor r9d, esi
mov esi, r10d
ror r10d, 0xb
xor r9d, eax
and esi, edx
xor esi, ecx
and r9d, r8d
xor r9d, esi
mov esi, edx
and esi, eax
xor esi, ebx
xor esi, ebp
mov ebp, r11d
and esi, r11d
xor r9d, esi
mov esi, dword [r15 + 0x14]
ror r9d, 7
add r9d, edi
lea edi, [rsi + r10 + 0x6a51a0d2]
mov r10d, eax
mov esi, r11d
not r10d
xor esi, edx
and r10d, ecx
xor r10d, esi
mov esi, r11d
xor r10d, r8d
and r10d, r9d
and esi, eax
or ebp, r9d
xor esi, edx
ror r11d, 0xb
xor r10d, esi
mov esi, eax
and esi, r8d
xor esi, ecx
xor esi, ebp
mov ebp, ebx
and esi, ebx
xor r10d, esi
mov esi, dword [r15 + 0x3c]
ror r10d, 7
add r10d, edi
lea edi, [rsi + r11 - 0x27abd098]
mov r11d, r8d
mov esi, ebx
not r11d
xor esi, eax
or ebp, r10d
and r11d, edx
xor r11d, esi
mov esi, ebx
ror ebx, 0xb
xor r11d, r9d
and esi, r8d
xor esi, eax
and r11d, r10d
xor r11d, esi
mov esi, r8d
and esi, r9d
xor esi, edx
xor esi, ebp
mov ebp, ecx
and esi, ecx
xor r11d, esi
mov esi, dword [r15 + 0x44]
ror r11d, 7
add r11d, edi
lea edi, [rsi + rbx - 0x69f058d8]
mov ebx, r9d
mov esi, ecx
not ebx
xor esi, r8d
and ebx, eax
xor ebx, esi
mov esi, ecx
or ebp, r11d
xor ebx, r10d
and esi, r9d
ror ecx, 0xb
xor esi, r8d
and ebx, r11d
xor ebx, esi
mov esi, r9d
and esi, r10d
xor esi, eax
xor esi, ebp
mov ebp, edx
and esi, edx
xor ebx, esi
mov esi, dword [r15 + 0x28]
ror ebx, 7
add ebx, edi
lea edi, [rsi + rcx - 0x54aecc5d]
mov esi, r10d
or ebp, ebx
not esi
mov ecx, esi
mov esi, edx
xor esi, r9d
and ecx, r8d
xor ecx, esi
mov esi, edx
ror edx, 0xb
xor ecx, r11d
and esi, r10d
xor esi, r9d
and ecx, ebx
xor ecx, esi
mov esi, r10d
and esi, r11d
xor esi, r8d
xor esi, ebp
mov ebp, eax
and esi, eax
xor ecx, esi
mov esi, dword [r15 + 0x40]
ror ecx, 7
add ecx, edi
lea edi, [rsi + rdx + 0x6eef0b6c]
mov edx, r11d
mov esi, eax
not edx
and edx, r9d
xor esi, r10d
or ebp, ecx
xor edx, esi
mov esi, eax
ror eax, 0xb
xor edx, ebx
and esi, r11d
xor esi, r10d
and edx, ecx
xor edx, esi
mov esi, r11d
and esi, ebx
xor esi, r9d
xor esi, ebp
mov ebp, ebx
and esi, r8d
not ebp
xor edx, esi
and ebp, r10d
mov esi, r8d
ror edx, 7
add edi, edx
mov edx, dword [r15 + 0x34]
or esi, edi
lea edx, [r14 + rdx + 0x137a3be4]
add eax, edx
mov edx, r8d
xor edx, r11d
xor ebp, edx
mov edx, r8d
xor ebp, ecx
and edx, ebx
xor edx, r11d
and ebp, edi
xor ebp, edx
mov edx, ebx
and edx, ecx
xor edx, r10d
xor edx, esi
and edx, r9d
xor ebp, edx
ror ebp, 7
add dword [rsp + 0x40], r10d
add dword [rsp + 0x3c], ecx
lea r14d, [rbp + rax]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
add dword [rsp + 0x38], r11d
add dword [rsp + 0x48], r9d
mov edx, eax
mov r12d, ecx
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x48]
add dword [rsp + 0x2c], edi
add dword [rsp + 0x34], ebx
mov edi, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x34]
add dword [rsp + 0x4c], r8d
mov r8d, eax
mov eax, ecx
and eax, r11d
and edx, esi
mov ebx, r8d
xor edx, eax
mov eax, r14d
mov r8d, r13d
xor eax, edi
xor edx, r14d
mov dword [rsp + 0x30], r14d
and eax, r13d
mov r9d, dword [rsp + 0x4c]
mov ebp, edi
xor edx, eax
mov eax, r13d
and r12d, r13d
ror eax, 0xb
ror edx, 7
ror esi, 0xb
mov dword [rsp + 0x44], eax
mov eax, r14d
ror r9d, 0xb
and eax, edi
mov r10d, r9d
mov r9d, r11d
mov dword [rsp + 0x50], eax
mov eax, ecx
and r8d, r9d
ror eax, 0xb
and r9d, dword [rsp + 0x40]
ror ebx, 0xb
mov dword [rsp + 0x54], eax
mov eax, edi
and edi, r13d
ror eax, 0xb
ror r11d, 0xb
and ebp, ecx
mov dword [rsp + 0x58], eax
mov eax, r14d
and r14d, ecx
ror eax, 0xb
xor r8d, r14d
mov r13d, 0x76
mov dword [rsp + 0x5c], eax
xor r9d, edi
mov r14, r15
jmp 0x6f59e590
lea rcx, [r14 + 8]
mov eax, edi
mov qword [r14], 0
mov qword [r14 + rax - 8], 0
and rcx, 0xfffffffffffffff8
sub r14, rcx
lea eax, [rdi + r14]
and eax, 0xfffffff8
cmp eax, 8
jb 0x6f5a068f
and eax, 0xfffffff8
xor edi, edi
mov r14d, edi
add edi, 8
cmp edi, eax
mov qword [rcx + r14], r13
jb 0x6f5a2652
jmp 0x6f5a068f
mov dword [r14], 0
mov dword [r14 + rcx - 4], 0
jmp 0x6f59e5e8
mov dword [r14], 0
mov dword [r14 + rdi - 4], 0
jmp 0x6f5a068f
xor ecx, ecx
mov word [r14 + rdi - 2], cx
jmp 0x6f5a068f