Function at 0x18001f7cf
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push rax
pushf
mov eax, 0x3475b354
pushf
not eax
add eax, 0xc3105fd4
xor eax, 0xb507b76c
rol eax, 0x2b
popf
pushf
not eax
add eax, 0x948f3561
xor eax, 0xabb69b84
rol eax, 0x59
popf
cmp eax, 4
jne 0x18001f80c
popf
pop rax
jmp 0x18001fa78
cmp eax, 0
jne 0x18001f81b
popf
pop rax
jmp 0x18001f875
cmp eax, 3
jne 0x18001f82a
popf
pop rax
jmp 0x18001f9da
cmp eax, 1
jne 0x18001f839
popf
pop rax
jmp 0x18001f94c
cmp eax, 5
jne 0x18001f848
popf
pop rax
jmp 0x18001fac3
cmp eax, 7
jne 0x18001f857
popf
pop rax
jmp 0x18001fc7a
cmp eax, 6
jne 0x18001f866
popf
pop rax
jmp 0x18001fb5e
cmp eax, 2
jne 0x18001f875
popf
pop rax
jmp 0x18001f9d4
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x158
mov rax, rcx
mov ecx, dword [rcx + 0x50]
mov dword [rsp + 0x44], ecx
mov r11d, ecx
lea rcx, [rsp + 0x50]
mov r10d, dword [rax + 0x54]
mov r9d, dword [rax + 0x58]
mov ebp, dword [rax + 0x5c]
mov esi, dword [rax + 0x60]
mov edi, dword [rax + 0x64]
mov ebx, dword [rax + 0x68]
mov r8d, dword [rax + 0x6c]
lea rax, [rdx + 0x3c]
cmp rcx, rax
ja 0x18001f8f3
push rax
pushf
mov eax, 0xb1bb8a7a
pushf
not eax
add eax, 0x9f34017f
xor eax, 0x9d216c33
rol eax, 0x70
popf
pushf
not eax
add eax, 0xf1c515bc
xor eax, 0xd48da562
rol eax, 0x87
popf
jmp 0x18001f7fd
push rax
pushf
mov eax, 0xcf20e1b
pushf
not eax
add eax, 0xe595258d
xor eax, 0x8ff4e81d
rol eax, 0x80
popf
pushf
not eax
add eax, 0x94975cd7
xor eax, 0xc21c242f
rol eax, 0xb5
popf
pushf
not eax
add eax, 0xc7e996a6
xor eax, 0xb61f845f
rol eax, 0x6f
popf
pushf
not eax
add eax, 0xf4aa111e
xor eax, 0xd9757cd2
rol eax, 0x5c
popf
jmp 0x18001f7fd
xor ecx, ecx
lea rax, [rsp + 0x8c]
cmp rax, rdx
jb 0x18001f9a1
push rax
pushf
mov eax, 0x20f474f9
pushf
not eax
add eax, 0xc648a6f4
xor eax, 0x81bae6c7
rol eax, 0x42
popf
pushf
not eax
add eax, 0xa8705404
xor eax, 0xfb2cef9b
rol eax, 0x38
popf
pushf
not eax
add eax, 0x888e73bb
xor eax, 0xf39adba2
rol eax, 0xef
popf
jmp 0x18001f7fd
push rax
pushf
mov eax, 0xe9143f2e
pushf
not eax
add eax, 0xbc0f4ed0
xor eax, 0xc6115103
rol eax, 0xa8
popf
pushf
not eax
add eax, 0xadd41adf
xor eax, 0xc375786a
rol eax, 0x7b
popf
jmp 0x18001f7fd
nop word [rax + rax]
mov eax, dword [rdx + rcx*4]
bswap eax
mov dword [rsp + rcx*4 + 0x50], eax
inc rcx
cmp rcx, 0x10
jl 0x18001fa1f
push rax
pushf
mov eax, 0x1a97747f
pushf
not eax
add eax, 0x8982f52e
xor eax, 0xb4c60164
rol eax, 0x21
popf
pushf
not eax
add eax, 0x95873183
xor eax, 0xf12c2ded
rol eax, 0xe6
popf
jmp 0x18001f7fd
push rax
pushf
mov eax, 0xf1a4de63
pushf
not eax
add eax, 0xd73d8e4d
xor eax, 0xb9c909f7
rol eax, 0x52
popf
pushf
not eax
add eax, 0xfe1c721b
xor eax, 0xbf6d0462
rol eax, 0xc1
popf
pushf
not eax
add eax, 0xd3a9c40f
xor eax, 0x93ab70a2
rol eax, 0xe4
popf
pushf
not eax
add eax, 0xc5717c55
xor eax, 0xe704dc1c
rol eax, 0xc6
popf
jmp 0x18001f7fd
jmp 0x18001fc7a
movdqa xmm3, xmmword [0x18000a880]
lea rcx, [rsp + 0x60]
movdqa xmm4, xmmword [0x18000a870]
lea rax, [rsp + 0x60]
sub rdx, rcx
mov ecx, 0xaee8b6d6
pushf
not ecx
add ecx, 0xaeb252f2
xor ecx, 0x94509387
rol ecx, 0xc8
popf
pushf
not ecx
add ecx, 0xcdc7f070
xor ecx, 0xce2c2d1c
rol ecx, 0xa4
popf
pushf
not ecx
add ecx, 0xa4bda554
xor ecx, 0xfb7617c4
rol ecx, 0xd7
popf
nop dword [rax]
push rax
pushf
mov eax, 0xe71664d2
pushf
not eax
add eax, 0xce461555
xor eax, 0xb29547a4
rol eax, 0x36
popf
pushf
not eax
add eax, 0xbec18a28
xor eax, 0xf52c1b6c
rol eax, 0
popf
jmp 0x18001f7fd
movdqu xmm1, xmmword [rax + rdx]
lea rax, [rax + 0x20]
movdqa xmm2, xmm1
movdqa xmm0, xmm1
pslld xmm0, 0x10
andps xmm2, xmm4
orps xmm2, xmm0
movdqa xmm0, xmm1
pslld xmm2, 8
andps xmm0, xmm3
psrld xmm1, 0x10
orps xmm0, xmm1
psrld xmm0, 8
orps xmm2, xmm0
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmmword [rax - 0x30], xmm2
movdqa xmm2, xmm1
movdqa xmm0, xmm1
pslld xmm0, 0x10
andps xmm2, xmm4
orps xmm2, xmm0
movdqa xmm0, xmm1
psrld xmm1, 0x10
andps xmm0, xmm3
pslld xmm2, 8
orps xmm0, xmm1
psrld xmm0, 8
orps xmm2, xmm0
movdqu xmmword [rax - 0x20], xmm2
sub rcx, 1
jne 0x18001fc34
push rax
pushf
mov eax, 0x61ac587d
pushf
not eax
add eax, 0xd8b7f19d
xor eax, 0xf8f7e87b
rol eax, 0x22
popf
pushf
not eax
add eax, 0x8eb35df2
xor eax, 0x9e9c8a78
rol eax, 0xd4
popf
pushf
not eax
add eax, 0x89aa11bb
xor eax, 0xbf2e9fb6
rol eax, 0xfb
popf
pushf
not eax
add eax, 0xfcd02efe
xor eax, 0xfe0c125b
rol eax, 0x6e
popf
jmp 0x18001f7fd
push rax
pushf
mov eax, 0xf63d1011
pushf
not eax
add eax, 0xc5a4f5b9
xor eax, 0xdcbc4bc4
rol eax, 0x3b
popf
pushf
not eax
add eax, 0x96ad2ef7
xor eax, 0x888e43fd
rol eax, 0x10
popf
pushf
not eax
add eax, 0xaff70b04
xor eax, 0x9d781783
rol eax, 0x59
popf
jmp 0x18001f7fd
add r8d, 0x428a2f98
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
and ecx, ebx
mov eax, esi
ror eax, 6
add ebx, 0x71374491
xor edx, eax
mov eax, edi
add edx, dword [rsp + 0x50]
and eax, esi
xor ecx, eax
mov eax, r11d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
mov ecx, r11d
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
ror ecx, 0x16
xor ecx, eax
mov r8d, r10d
or r8d, r11d
mov eax, r11d
ror eax, 2
and r8d, r9d
xor ecx, eax
mov eax, r10d
and eax, r11d
or r8d, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror edx, 0x19
mov eax, ebp
mov ecx, ebp
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, esi
add edx, dword [rsp + 0x54]
and eax, ebp
xor ecx, eax
mov eax, r8d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push rbx
not ebx
sub edx, ebx
pop rbx
sub edx, 1
mov ecx, r8d
push rdx
not edx
sub r9d, edx
pop rdx
sub r9d, 1
ror ecx, 0x16
xor ecx, eax
mov ebx, r8d
or ebx, r11d
mov eax, r8d
ror eax, 2
and ebx, r10d
xor ecx, eax
mov eax, r8d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r9d
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, r9d
mov ecx, r9d
ror eax, 0xb
not ecx
xor edx, eax
mov eax, r9d
ror eax, 6
xor edx, eax
and ecx, esi
add edx, dword [rsp + 0x58]
add edi, 0xb5c0fbcf
add esi, 0xe9b5dba5
mov eax, ebp
and eax, r9d
xor ecx, eax
mov eax, ebx
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push rdi
not edi
sub edx, edi
pop rdi
sub edx, 1
mov ecx, ebx
push rdx
not edx
sub r10d, edx
pop rdx
sub r10d, 1
ror ecx, 0x16
xor ecx, eax
mov edi, r8d
or edi, ebx
mov eax, ebx
ror eax, 2
and edi, r11d
xor ecx, eax
mov eax, r8d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, r10d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
mov eax, r10d
mov ecx, r10d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebp
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r9d
add edx, dword [rsp + 0x5c]
and eax, r10d
xor ecx, eax
mov eax, edi
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
mov ecx, edi
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
ror ecx, 0x16
xor ecx, eax
mov esi, ebx
or esi, edi
mov eax, edi
ror eax, 2
and esi, r8d
xor ecx, eax
mov eax, ebx
and eax, edi
or esi, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r9d
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
mov eax, dword [rsp + 0x60]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rbp + 0x3956c25b]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, esi
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
ror ecx, 0x16
mov ebp, edi
mov eax, esi
ror eax, 0xd
or ebp, esi
xor ecx, eax
and ebp, ebx
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, esi
or ebp, eax
lea eax, [rdx + rcx]
mov edx, r8d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
mov eax, r8d
mov ecx, r8d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, r8d
ror eax, 6
xor edx, eax
mov eax, r8d
and eax, r11d
xor ecx, eax
mov eax, dword [rsp + 0x64]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r9 + 0x59f111f1]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r9d, esi
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or r9d, ebp
push rdx
not edx
sub ebx, edx
pop rdx
sub ebx, 1
and r9d, edi
mov ecx, ebp
mov eax, ebp
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, ebp
or r9d, eax
lea eax, [rdx + rcx]
mov edx, ebx
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
ror edx, 0x19
mov eax, ebx
mov ecx, ebx
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r11d
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, r8d
and eax, ebx
xor ecx, eax
mov eax, dword [rsp + 0x68]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r10 - 0x6dc07d5c]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r10d, ebp
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, r9d
ror eax, 0xd
mov ecx, r9d
ror ecx, 0x16
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
xor ecx, eax
or r10d, r9d
mov eax, r9d
ror eax, 2
xor ecx, eax
and r10d, esi
mov eax, ebp
and eax, r9d
or r10d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r10d, eax
pop rax
sub r10d, 1
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
mov ecx, edi
xor edx, eax
not ecx
and ecx, r8d
mov eax, edi
ror eax, 6
mov r13d, r10d
xor edx, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, dword [rsp + 0x6c]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r11 - 0x54e3a12b]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r11d, r9d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or r11d, r10d
push rdx
not edx
sub esi, edx
pop rdx
sub esi, 1
and r11d, ebp
mov ecx, r10d
mov eax, r10d
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, r10d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r10d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, esi
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
or r13d, r11d
mov eax, esi
ror eax, 0xb
and r13d, r9d
xor edx, eax
mov ecx, esi
not ecx
mov eax, esi
ror eax, 6
and ecx, ebx
xor edx, eax
mov eax, edi
add edx, dword [rsp + 0x70]
and eax, esi
xor ecx, eax
mov eax, r11d
ror eax, 0xd
add ecx, 0xd807aa98
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r11d
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
ror ecx, 0x16
xor ecx, eax
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r10d
and eax, r11d
or r13d, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
ror edx, 0x19
mov eax, ebp
ror eax, 0xb
xor edx, eax
mov eax, ebp
mov ecx, ebp
ror eax, 6
not ecx
xor edx, eax
and ecx, edi
add edx, dword [rsp + 0x74]
mov eax, esi
and eax, ebp
mov r12d, r13d
xor ecx, eax
or r12d, r11d
add ecx, 0x12835b01
and r12d, r10d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, r13d
ror eax, 0xd
push rbx
not ebx
sub edx, ebx
pop rbx
sub edx, 1
push rdx
not edx
sub r9d, edx
pop rdx
sub r9d, 1
mov ecx, r13d
ror ecx, 0x16
mov r15d, r13d
xor ecx, eax
mov eax, r13d
ror eax, 2
xor ecx, eax
mov eax, r13d
and eax, r11d
or r12d, eax
lea eax, [rdx + rcx]
mov edx, r9d
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
ror edx, 0x19
or r15d, r12d
mov eax, r9d
ror eax, 0xb
and r15d, r11d
xor edx, eax
mov ecx, r9d
not ecx
mov eax, r9d
ror eax, 6
and ecx, esi
xor edx, eax
mov eax, ebp
add edx, dword [rsp + 0x78]
and eax, r9d
xor ecx, eax
mov eax, r12d
ror eax, 0xd
add ecx, 0x243185be
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r12d
push rdi
not edi
sub edx, edi
pop rdi
sub edx, 1
ror ecx, 0x16
xor ecx, eax
push rdx
not edx
sub r10d, edx
pop rdx
sub r10d, 1
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, r13d
and eax, r12d
or r15d, eax
lea eax, [rdx + rcx]
mov edx, r10d
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
ror edx, 0x19
mov eax, r10d
mov ecx, r10d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebp
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r9d
add edx, dword [rsp + 0x7c]
and eax, r10d
xor ecx, eax
add ecx, 0x550c7dc3
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov edi, r12d
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
or edi, r15d
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
and edi, r13d
mov ecx, r15d
mov eax, r15d
ror eax, 0xd
mov r8d, r11d
ror ecx, 0x16
not r8d
xor ecx, eax
and r8d, r9d
mov eax, r15d
mov ebx, r15d
ror eax, 2
xor ecx, eax
mov eax, r12d
and eax, r15d
or edi, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
or ebx, edi
mov eax, r11d
ror eax, 0xb
and ebx, r12d
xor edx, eax
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r11d
xor r8d, eax
mov eax, dword [rsp + 0x80]
add eax, 0x72be5d74
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, edi
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror edx, 0x16
push rbp
not ebp
sub r8d, ebp
pop rbp
sub r8d, 1
mov eax, edi
ror eax, 0xd
push r8
not r8d
sub r13d, r8d
pop r8
sub r13d, 1
xor edx, eax
mov ecx, r13d
not ecx
mov eax, edi
ror eax, 2
and ecx, r10d
xor edx, eax
mov eax, r15d
and eax, edi
or ebx, eax
lea eax, [r8 + rdx]
mov edx, r13d
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, r13d
ror eax, 0xb
xor edx, eax
mov eax, r13d
ror eax, 6
xor edx, eax
mov eax, r13d
add edx, dword [rsp + 0x84]
and eax, r11d
xor ecx, eax
mov eax, ebx
add ecx, 0x80deb1fe
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, ebx
ror ecx, 0x16
push r9
not r9d
sub edx, r9d
pop r9
sub edx, 1
xor ecx, eax
push rdx
not edx
sub r12d, edx
pop rdx
sub r12d, 1
mov eax, ebx
ror eax, 2
xor ecx, eax
mov r8d, dword [rsp + 0x88]
mov esi, edi
mov eax, edi
and eax, ebx
or esi, ebx
and esi, r15d
mov ebp, ebx
or esi, eax
lea eax, [rdx + rcx]
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
mov edx, r12d
ror edx, 0x19
or ebp, esi
and ebp, edi
mov eax, r12d
ror eax, 0xb
mov ecx, r12d
xor edx, eax
not ecx
and ecx, r11d
mov eax, r12d
ror eax, 6
mov r14d, esi
xor edx, eax
mov eax, r13d
and eax, r12d
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
xor ecx, eax
mov eax, esi
ror eax, 0xd
add ecx, 0x9bdc06a7
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, esi
ror ecx, 0x16
push r10
not r10d
sub edx, r10d
pop r10
sub edx, 1
mov r10, qword [rsp + 0x8c]
xor ecx, eax
push rdx
not edx
sub r15d, edx
pop rdx
sub r15d, 1
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, ebx
and eax, esi
or ebp, eax
lea eax, [rdx + rcx]
mov edx, r15d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
or r14d, ebp
mov eax, r15d
ror eax, 0xb
and r14d, ebx
xor edx, eax
mov ecx, r15d
not ecx
mov eax, r15d
ror eax, 6
and ecx, r13d
xor edx, eax
mov eax, r12d
and eax, r15d
xor ecx, eax
lea eax, [r10 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r11 - 0x3e640e8c]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, ebp
ror eax, 0xd
mov ecx, ebp
ror ecx, 0x16
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, ebp
or r14d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
mov r9d, dword [rsp + 0x54]
mov r11d, r8d
mov edx, r9d
ror r11d, 0x13
ror edx, 0x12
mov eax, r9d
ror eax, 7
mov ecx, r10d
xor edx, eax
ror ecx, 0x13
mov eax, r9d
shr eax, 3
xor edx, eax
mov eax, r8d
ror eax, 0x11
xor r11d, eax
mov eax, r8d
mov r8d, dword [rsp + 0x58]
shr eax, 0xa
xor r11d, eax
mov eax, dword [rsp + 0x50]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, r8d
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x12
add r11d, dword [rsp + 0x74]
mov eax, r10d
ror eax, 0x11
xor ecx, eax
mov dword [rsp + 0x10], r11d
mov eax, r10d
shr eax, 0xa
xor ecx, eax
mov eax, r8d
ror eax, 7
xor edx, eax
mov eax, r8d
shr eax, 3
xor edx, eax
lea eax, [r9 + rcx]
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
mov r9d, r11d
add edx, dword [rsp + 0x78]
ror r9d, 0x13
mov dword [rsp], edx
mov edx, dword [rsp + 0x5c]
mov ecx, edx
ror ecx, 0x12
mov eax, edx
ror eax, 7
xor ecx, eax
mov eax, edx
shr eax, 3
xor ecx, eax
mov eax, r11d
ror eax, 0x11
xor r9d, eax
mov eax, r11d
shr eax, 0xa
xor r9d, eax
lea eax, [r8 + rcx]
mov r8d, dword [rsp + 0x60]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
add r9d, dword [rsp + 0x7c]
mov eax, r8d
ror eax, 7
mov ecx, r8d
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0xc], r9d
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp]
ror eax, 0x13
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp]
ror eax, 0x11
xor dword [rsp + 0x1a8], eax
mov eax, dword [rsp]
shr eax, 0xa
xor dword [rsp + 0x1a8], eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x1a8]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, edx
add ecx, dword [rsp + 0x80]
ror eax, 7
mov dword [rsp + 0x1a8], ecx
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov eax, edx
shr eax, 3
xor ecx, eax
mov eax, r9d
ror eax, 0x13
mov dword [rsp + 0x1b0], eax
mov eax, r9d
ror eax, 0x11
xor dword [rsp + 0x1b0], eax
mov eax, r9d
mov r9d, dword [rsp + 0x1b0]
shr eax, 0xa
xor r9d, eax
lea eax, [r8 + rcx]
mov r8d, dword [rsp + 0x68]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
add r9d, dword [rsp + 0x84]
mov eax, r8d
ror eax, 7
mov ecx, r8d
mov dword [rsp + 0x1b0], r9d
ror ecx, 0x12
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x1a8]
mov r9d, eax
ror eax, 0x11
ror r9d, 0x13
xor r9d, eax
mov eax, dword [rsp + 0x1a8]
shr eax, 0xa
xor r9d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x1b0]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
add r9d, dword [rsp + 0x88]
mov eax, edx
ror eax, 0x11
mov ecx, edx
ror ecx, 0x13
xor ecx, eax
mov dword [rsp + 4], r9d
mov eax, edx
mov edx, dword [rsp + 0x6c]
shr eax, 0xa
mov r9d, edx
xor ecx, eax
ror r9d, 0x12
mov eax, edx
ror eax, 7
xor r9d, eax
mov eax, edx
shr eax, 3
xor r9d, eax
lea eax, [r8 + rcx]
mov r8d, dword [rsp + 0x70]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
push r10
not r10d
sub r9d, r10d
pop r10
sub r9d, 1
mov eax, r8d
ror eax, 7
mov ecx, r8d
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x18], r9d
mov eax, r8d
shr eax, 3
xor ecx, eax
mov r9d, dword [rsp + 4]
mov r8d, r9d
ror r8d, 0x13
mov eax, r9d
ror eax, 0x11
xor r8d, eax
mov eax, r9d
shr eax, 0xa
mov r9d, r14d
xor r8d, eax
ror r9d, 0x16
lea eax, [rdx + rcx]
mov edx, edi
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror edx, 0x19
push r11
not r11d
sub r8d, r11d
pop r11
sub r8d, 1
mov eax, edi
ror eax, 0xb
mov ecx, ebp
xor edx, eax
mov dword [rsp + 8], r8d
or ecx, r14d
mov eax, edi
ror eax, 6
and ecx, esi
xor edx, eax
mov r8d, edi
not r8d
mov eax, r15d
and eax, edi
and r8d, r12d
xor r8d, eax
lea eax, [r11 + rdx]
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
mov eax, r14d
ror eax, 0xd
push r13
not r13d
sub r8d, r13d
pop r13
sub r8d, 1
xor r9d, eax
mov eax, r14d
ror eax, 2
xor r9d, eax
mov eax, ebp
and eax, r14d
lea r10d, [r8 - 0x1b64963f]
or ecx, eax
push rbx
not ebx
sub r10d, ebx
pop rbx
sub r10d, 1
add ecx, 0xe49b69c1
push r8
not r8d
sub r9d, r8d
pop r8
sub r9d, 1
push rcx
not ecx
sub r9d, ecx
pop rcx
sub r9d, 1
mov eax, r10d
ror eax, 0xb
mov edx, r10d
ror edx, 0x19
mov ecx, r10d
xor edx, eax
not ecx
and ecx, r15d
mov eax, r10d
ror eax, 6
mov r11d, r9d
xor edx, eax
or r11d, r14d
add edx, dword [rsp]
mov eax, r10d
and eax, edi
and r11d, ebp
xor ecx, eax
mov eax, r9d
add ecx, 0xefbe4786
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r9d
ror ecx, 0x16
push r12
not r12d
sub edx, r12d
pop r12
sub edx, 1
xor ecx, eax
push rdx
not edx
sub esi, edx
pop rdx
sub esi, 1
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r14d
or r11d, eax
mov ebx, r9d
lea eax, [rdx + rcx]
mov edx, esi
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
or ebx, r11d
mov eax, esi
ror eax, 0xb
and ebx, r14d
xor edx, eax
mov ecx, esi
not ecx
mov eax, esi
ror eax, 6
and ecx, edi
xor edx, eax
mov eax, r10d
add edx, dword [rsp + 0xc]
and eax, esi
xor ecx, eax
mov eax, r11d
ror eax, 0xd
add ecx, 0xfc19dc6
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r11d
ror ecx, 0x16
push r15
not r15d
sub edx, r15d
pop r15
sub edx, 1
xor ecx, eax
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, ebp
mov ecx, ebp
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, esi
and eax, ebp
xor ecx, eax
mov eax, dword [rsp + 0x1a8]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rdi + 0x240ca1cc]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov edi, r11d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or edi, ebx
push rdx
not edx
sub r14d, edx
pop rdx
sub r14d, 1
and edi, r9d
mov ecx, ebx
mov eax, ebx
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, r11d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, r14d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
mov eax, r14d
ror eax, 0xb
xor edx, eax
mov eax, r14d
ror eax, 6
xor edx, eax
mov r13d, dword [rsp + 0x18]
lea r8d, [r10 + 0x2de92c6f]
mov ecx, r14d
not ecx
mov eax, ebp
and eax, r14d
and ecx, esi
xor ecx, eax
mov eax, dword [rsp + 0x1b0]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, edi
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
ror edx, 0x16
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
lea r10d, [r9 + r8]
mov r9d, ebx
mov eax, ebx
and eax, edi
or r9d, edi
and r9d, r11d
mov ecx, r10d
or r9d, eax
not ecx
lea eax, [r8 + rdx]
and ecx, ebp
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
mov edx, r10d
ror edx, 0x19
mov eax, r10d
ror eax, 0xb
xor edx, eax
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r14d
xor ecx, eax
mov eax, dword [rsp + 4]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rsi + 0x4a7484aa]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov esi, edi
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or esi, r9d
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
and esi, ebx
mov ecx, r9d
mov eax, r9d
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, r9d
or esi, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r14d
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
lea eax, [rdx + r13]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r8d, dword [rsp + 0x78]
lea edx, [rbp + 0x5cb0a9dc]
mov eax, esi
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push rdx
not edx
sub ebx, edx
pop rdx
sub ebx, 1
mov ecx, esi
ror ecx, 0x16
mov ebp, r9d
xor ecx, eax
or ebp, esi
and ebp, edi
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, esi
or ebp, eax
lea eax, [rdx + rcx]
mov edx, ebx
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
mov eax, ebx
mov ecx, ebx
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
mov eax, dword [rsp + 8]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r14 + 0x76f988da]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r14d, esi
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or r14d, ebp
and r14d, r9d
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
mov ecx, ebp
mov eax, ebp
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, ebp
or r14d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x74]
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
mov ecx, r13d
ror ecx, 0x13
mov eax, r13d
ror eax, 0x11
mov r12d, edx
xor ecx, eax
ror r12d, 0x12
mov eax, r13d
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 7
xor r12d, eax
mov eax, edx
shr eax, 3
xor r12d, eax
mov eax, dword [rsp]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r8d
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
add r12d, dword [rsp + 0x70]
mov dword [rsp + 0x1c], r12d
ror ecx, 0x12
mov eax, r8d
ror eax, 7
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 8]
mov r15d, eax
ror eax, 0x11
ror r15d, 0x13
xor r15d, eax
mov eax, dword [rsp + 8]
shr eax, 0xa
xor r15d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
mov edx, dword [rsp + 0x7c]
add r15d, dword [rsp + 0xc]
mov eax, edx
ror eax, 7
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x14], r15d
mov r15d, r12d
mov eax, edx
shr eax, 3
xor ecx, eax
ror r15d, 0x13
mov eax, r12d
ror eax, 0x11
xor r15d, eax
mov eax, r12d
shr eax, 0xa
xor r15d, eax
lea eax, [r8 + rcx]
mov r8d, dword [rsp + 0x14]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
add r15d, dword [rsp + 0x1a8]
mov eax, r8d
ror eax, 0x11
mov ecx, r8d
ror ecx, 0x13
xor ecx, eax
mov dword [rsp + 0x20], r15d
mov eax, r8d
mov r8d, dword [rsp + 0x80]
shr eax, 0xa
mov r12d, r8d
xor ecx, eax
ror r12d, 0x12
mov eax, r8d
ror eax, 7
xor r12d, eax
mov eax, r8d
shr eax, 3
xor r12d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x84]
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
add r12d, dword [rsp + 0x1b0]
mov eax, edx
ror eax, 7
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x2c], r12d
mov eax, edx
shr eax, 3
xor ecx, eax
mov eax, r15d
ror eax, 0x13
mov dword [rsp + 0x1b8], eax
mov eax, r15d
ror eax, 0x11
xor dword [rsp + 0x1b8], eax
mov eax, r15d
mov r15d, dword [rsp + 0x1b8]
shr eax, 0xa
xor r15d, eax
lea eax, [r8 + rcx]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
mov r8d, dword [rsp + 0x88]
add r15d, dword [rsp + 4]
mov ecx, r8d
ror ecx, 0x12
mov eax, r8d
ror eax, 7
xor ecx, eax
mov dword [rsp + 0x1b8], r15d
mov r15d, r12d
mov eax, r8d
shr eax, 3
xor ecx, eax
ror r15d, 0x13
mov eax, r12d
ror eax, 0x11
xor r15d, eax
mov eax, r12d
shr eax, 0xa
xor r15d, eax
lea eax, [rdx + rcx]
mov rdx, qword [rsp + 0x8c]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
push r13
not r13d
sub r15d, r13d
pop r13
sub r15d, 1
mov ecx, edx
mov r13d, dword [rsp + 0x1b8]
mov eax, edx
ror eax, 7
mov r12d, r13d
ror ecx, 0x12
xor ecx, eax
ror r12d, 0x13
mov eax, edx
mov dword [rsp + 0x34], r15d
shr eax, 3
xor ecx, eax
mov eax, r13d
ror eax, 0x11
xor r12d, eax
mov eax, r13d
shr eax, 0xa
xor r12d, eax
mov eax, dword [rsp + 8]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r15d
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
ror ecx, 0x13
push r8
not r8d
sub r12d, r8d
pop r8
sub r12d, 1
mov eax, r15d
mov r8d, dword [rsp + 0x10]
mov r13d, r8d
ror eax, 0x11
xor ecx, eax
ror r13d, 0x12
mov eax, r15d
mov dword [rsp + 0x30], r12d
shr eax, 0xa
xor ecx, eax
mov eax, r8d
ror eax, 7
xor r13d, eax
mov eax, r8d
mov r8d, dword [rsp + 0x1c]
shr eax, 3
xor r13d, eax
lea eax, [r8 + rcx]
mov ecx, edi
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
not ecx
push rdx
not edx
sub r13d, edx
pop rdx
sub r13d, 1
mov eax, edi
ror eax, 0xb
mov edx, edi
ror edx, 0x19
xor edx, eax
mov dword [rsp + 0x38], r13d
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, ebx
and ecx, r11d
and eax, edi
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
xor ecx, eax
mov eax, r14d
ror eax, 0xd
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
push r10
not r10d
sub r8d, r10d
pop r10
sub r8d, 1
mov ecx, ebp
or ecx, r14d
lea r10d, [r9 - 0x67c1aeae]
and ecx, esi
push r8
not r8d
sub r10d, r8d
pop r8
sub r10d, 1
mov r9d, r14d
mov edx, r10d
ror edx, 0x19
ror r9d, 0x16
xor r9d, eax
mov eax, r14d
ror eax, 2
xor r9d, eax
mov eax, ebp
and eax, r14d
push r8
not r8d
sub r9d, r8d
pop r8
sub r9d, 1
or ecx, eax
mov eax, r10d
ror eax, 0xb
add ecx, 0x983e5152
xor edx, eax
push rcx
not ecx
sub r9d, ecx
pop rcx
sub r9d, 1
mov eax, r10d
mov ecx, r10d
ror eax, 6
not ecx
xor edx, eax
and ecx, ebx
mov eax, r10d
and eax, edi
xor ecx, eax
mov eax, dword [rsp + 0x14]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r11 - 0x57ce3993]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r11d, r9d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or r11d, r14d
push rdx
not edx
sub esi, edx
pop rdx
sub esi, 1
and r11d, ebp
mov ecx, r9d
mov eax, r9d
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r14d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, esi
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
mov eax, esi
mov ecx, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, esi
xor ecx, eax
mov eax, dword [rsp + 0x20]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rbx - 0x4ffcd838]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r11d
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
ror ecx, 0x16
mov eax, r11d
ror eax, 0xd
mov ebx, r9d
xor ecx, eax
or ebx, r11d
and ebx, r14d
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, ebp
mov ecx, ebp
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, esi
and eax, ebp
xor ecx, eax
mov eax, dword [rsp + 0x2c]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rdi - 0x40a68039]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov edi, r11d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or edi, ebx
push rdx
not edx
sub r14d, edx
pop rdx
sub r14d, 1
and edi, r9d
mov ecx, ebx
mov eax, ebx
ror eax, 0xd
mov r8d, r14d
ror ecx, 0x16
not r8d
xor ecx, eax
and r8d, esi
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, r11d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, r14d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
mov eax, r14d
mov ecx, ebx
ror eax, 0xb
xor edx, eax
mov eax, r14d
ror eax, 6
xor edx, eax
mov eax, ebp
and eax, r14d
xor r8d, eax
mov eax, dword [rsp + 0x1b8]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, edi
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror edx, 0x16
push r10
not r10d
sub r8d, r10d
pop r10
sub r8d, 1
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
lea r10d, [r8 - 0x391ff40d]
xor edx, eax
push r9
not r9d
sub r10d, r9d
pop r9
sub r10d, 1
or ecx, edi
and ecx, r11d
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
mov eax, ebx
mov edx, r10d
and eax, edi
ror edx, 0x19
or ecx, eax
mov eax, r10d
ror eax, 0xb
add ecx, 0xc6e00bf3
xor edx, eax
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov eax, r10d
mov ecx, r10d
ror eax, 6
not ecx
xor edx, eax
and ecx, ebp
push r15
not r15d
sub edx, r15d
pop r15
sub edx, 1
mov eax, r10d
and eax, r14d
mov r15d, edi
xor ecx, eax
or r15d, r8d
add ecx, 0xd5a79147
and r15d, ebx
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, r8d
ror eax, 0xd
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
mov ecx, r8d
ror ecx, 0x16
xor ecx, eax
mov eax, r8d
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, r8d
or r15d, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r14d
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r11d
push r12
not r12d
sub edx, r12d
pop r12
sub edx, 1
xor ecx, eax
mov r12d, r8d
add ecx, 0x6ca6351
or r12d, r15d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
and r12d, edi
push rbp
not ebp
sub edx, ebp
pop rbp
sub edx, 1
mov ecx, r15d
push rdx
not edx
sub ebx, edx
pop rdx
sub ebx, 1
ror ecx, 0x16
mov eax, r15d
ror eax, 0xd
xor ecx, eax
mov eax, r15d
ror eax, 2
xor ecx, eax
mov eax, r8d
and eax, r15d
or r12d, eax
lea eax, [rdx + rcx]
mov edx, ebx
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
ror edx, 0x19
mov eax, ebx
ror eax, 0xb
xor edx, eax
mov r9d, dword [rsp]
mov eax, ebx
mov ecx, ebx
ror eax, 6
not ecx
xor edx, eax
and ecx, r10d
push r13
not r13d
sub edx, r13d
pop r13
sub edx, 1
mov eax, r11d
and eax, ebx
mov ebp, r9d
xor ecx, eax
ror ebp, 0x12
add ecx, 0x14292967
mov eax, r12d
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push r14
not r14d
sub edx, r14d
pop r14
sub edx, 1
mov ecx, r12d
mov r14d, dword [rsp + 0xc]
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
ror ecx, 0x16
mov r13d, r15d
xor ecx, eax
or r13d, r12d
and r13d, r8d
mov eax, r12d
ror eax, 2
mov esi, r14d
xor ecx, eax
ror esi, 0x12
mov eax, r15d
and eax, r12d
or r13d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x30]
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
mov ecx, edx
ror ecx, 0x13
mov eax, edx
ror eax, 0x11
xor ecx, eax
mov eax, edx
shr eax, 0xa
xor ecx, eax
mov eax, r9d
ror eax, 7
xor ebp, eax
mov eax, r9d
mov r9d, dword [rsp + 0x38]
shr eax, 3
xor ebp, eax
mov eax, dword [rsp + 0x14]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r9d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror ecx, 0x13
add ebp, dword [rsp + 0x10]
mov eax, r9d
ror eax, 0x11
xor ecx, eax
mov dword [rsp + 0x24], ebp
mov eax, r9d
shr eax, 0xa
xor ecx, eax
mov eax, r14d
ror eax, 7
xor esi, eax
mov eax, r14d
mov r14d, dword [rsp + 0x1a8]
shr eax, 3
xor esi, eax
mov eax, dword [rsp + 0x20]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r14d
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
mov eax, r14d
add esi, dword [rsp]
mov dword [rsp + 0x3c], esi
ror ecx, 0x12
ror eax, 7
xor ecx, eax
mov eax, r14d
shr eax, 3
mov r14d, ebp
xor ecx, eax
ror r14d, 0x13
mov eax, ebp
ror eax, 0x11
xor r14d, eax
mov eax, ebp
shr eax, 0xa
xor r14d, eax
mov eax, dword [rsp + 0xc]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, esi
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
ror ecx, 0x13
add r14d, dword [rsp + 0x2c]
mov eax, esi
ror eax, 0x11
xor ecx, eax
mov dword [rsp + 0x28], r14d
mov eax, esi
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x1b0]
mov ebp, eax
ror eax, 7
ror ebp, 0x12
xor ebp, eax
mov eax, dword [rsp + 0x1b0]
shr eax, 3
xor ebp, eax
mov eax, dword [rsp + 0x1b8]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r14d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror ecx, 0x13
add ebp, dword [rsp + 0x1a8]
mov eax, r14d
ror eax, 0x11
xor ecx, eax
mov dword [rsp + 0x40], ebp
mov eax, r14d
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 4]
ror eax, 0x12
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 4]
ror eax, 7
xor dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 4]
shr eax, 3
xor dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x34]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, dword [rsp + 0x1a8]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, ebp
add ecx, dword [rsp + 0x1b0]
ror eax, 0x11
mov dword [rsp + 0x1a8], ecx
mov ecx, ebp
ror ecx, 0x13
xor ecx, eax
mov eax, ebp
mov ebp, dword [rsp + 0x18]
shr eax, 0xa
xor ecx, eax
mov eax, ebp
ror eax, 0x12
mov dword [rsp + 0x1b0], eax
mov eax, ebp
ror eax, 7
xor dword [rsp + 0x1b0], eax
mov eax, ebp
shr eax, 3
xor dword [rsp + 0x1b0], eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 8]
mov ecx, dword [rsp + 0x1b0]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, edx
add ecx, dword [rsp + 4]
ror eax, 7
mov dword [rsp + 0x1b0], ecx
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov eax, edx
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x1a8]
mov edx, eax
ror eax, 0x11
ror edx, 0x13
xor edx, eax
mov eax, dword [rsp + 0x1a8]
shr eax, 0xa
xor edx, eax
lea eax, [rcx + rbp]
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
push r9
not r9d
sub edx, r9d
pop r9
sub edx, 1
mov r9d, dword [rsp + 0x1b0]
mov dword [rsp + 0x18], edx
mov edx, dword [rsp + 0x1c]
mov ecx, edx
mov eax, edx
ror ecx, 0x12
ror eax, 7
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r9d
xor ecx, eax
ror edx, 0x13
mov eax, r9d
ror eax, 0x11
xor edx, eax
mov eax, r9d
mov r9d, dword [rsp + 0x24]
shr eax, 0xa
xor edx, eax
lea eax, [r9 + rcx]
mov ecx, edi
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
not ecx
add edx, dword [rsp + 8]
and ecx, r11d
mov dword [rsp + 0x10], edx
mov eax, edi
ror eax, 0xb
mov edx, edi
ror edx, 0x19
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, edi
xor ecx, eax
lea eax, [r9 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r10 + 0x27b70a85]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, r13d
ror eax, 0xd
mov ecx, r13d
ror ecx, 0x16
mov r10d, r12d
xor ecx, eax
or r10d, r13d
mov eax, r13d
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
ror eax, 2
and r10d, r15d
xor ecx, eax
mov eax, r12d
and eax, r13d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, r8d
push rax
not eax
sub r10d, eax
pop rax
sub r10d, 1
ror edx, 0x19
mov eax, r8d
mov ecx, r8d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, r8d
mov ebp, r10d
ror eax, 6
xor edx, eax
mov eax, edi
and eax, r8d
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
xor ecx, eax
mov esi, r10d
add ecx, 0x2e1b2138
or esi, r13d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
and esi, r12d
push r11
not r11d
sub edx, r11d
pop r11
sub edx, 1
mov ecx, r10d
push rdx
not edx
sub r15d, edx
pop rdx
sub r15d, 1
ror ecx, 0x16
mov eax, r10d
ror eax, 0xd
xor ecx, eax
mov eax, r10d
ror eax, 2
xor ecx, eax
mov eax, r10d
and eax, r13d
or esi, eax
lea eax, [rdx + rcx]
mov edx, r15d
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
ror edx, 0x19
or ebp, esi
mov eax, r15d
ror eax, 0xb
and ebp, r13d
xor edx, eax
mov ecx, r15d
not ecx
mov eax, r15d
ror eax, 6
and ecx, edi
xor edx, eax
mov eax, r8d
and eax, r15d
push r14
not r14d
sub edx, r14d
pop r14
sub edx, 1
xor ecx, eax
mov eax, esi
ror eax, 0xd
add ecx, 0x4d2c6dfc
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, esi
push rbx
not ebx
sub edx, ebx
pop rbx
sub edx, 1
ror ecx, 0x16
xor ecx, eax
push rdx
not edx
sub r12d, edx
pop rdx
sub r12d, 1
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, r10d
and eax, esi
or ebp, eax
lea eax, [rdx + rcx]
mov edx, r12d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
mov eax, r12d
mov ecx, r12d
ror eax, 0xb
xor edx, eax
mov eax, r12d
ror eax, 6
xor edx, eax
add edx, dword [rsp + 0x40]
not ecx
and ecx, r8d
mov r14d, esi
or r14d, ebp
mov eax, r15d
and eax, r12d
and r14d, r10d
xor ecx, eax
mov r9d, ebp
add ecx, 0x53380d13
mov eax, ebp
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push rdi
not edi
sub edx, edi
pop rdi
sub edx, 1
mov ecx, ebp
push rdx
not edx
sub r13d, edx
pop rdx
sub r13d, 1
ror ecx, 0x16
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, ebp
or r14d, eax
lea eax, [rdx + rcx]
mov edx, r13d
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
ror edx, 0x19
or r9d, r14d
mov eax, r13d
ror eax, 0xb
and r9d, esi
xor edx, eax
mov ecx, r13d
not ecx
mov eax, r13d
ror eax, 6
and ecx, r15d
xor edx, eax
mov eax, r12d
and eax, r13d
xor ecx, eax
mov eax, dword [rsp + 0x1a8]
add eax, 0x650a7354
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, r14d
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
ror edx, 0x16
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov eax, r14d
ror eax, 0xd
push r8
not r8d
sub r10d, r8d
pop r8
sub r10d, 1
xor edx, eax
mov ecx, r10d
not ecx
mov eax, r14d
ror eax, 2
and ecx, r12d
xor edx, eax
mov eax, ebp
and eax, r14d
or r9d, eax
lea eax, [r8 + rdx]
mov edx, r10d
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
ror edx, 0x19
mov eax, r10d
ror eax, 0xb
xor edx, eax
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r10d
add edx, dword [rsp + 0x1b0]
and eax, r13d
xor ecx, eax
add ecx, 0x766a0abb
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push r15
not r15d
sub edx, r15d
pop r15
sub edx, 1
push rdx
not edx
sub esi, edx
pop rdx
sub esi, 1
mov r8d, dword [rsp + 0x18]
mov r11d, r14d
or r11d, r9d
mov ecx, r9d
ror ecx, 0x16
and r11d, ebp
mov eax, r9d
mov ebx, r9d
ror eax, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, r14d
and eax, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, esi
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
or ebx, r11d
mov eax, esi
ror eax, 0xb
and ebx, r14d
xor edx, eax
mov ecx, esi
not ecx
mov eax, esi
ror eax, 6
and ecx, r13d
xor edx, eax
mov edi, r11d
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
mov eax, r10d
and eax, esi
xor ecx, eax
mov eax, r11d
ror eax, 0xd
add ecx, 0x81c2c92e
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r11d
ror ecx, 0x16
push r12
not r12d
sub edx, r12d
pop r12
sub edx, 1
mov r12d, dword [rsp + 0x10]
xor ecx, eax
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, ebp
mov ecx, ebp
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, esi
and eax, ebp
push r12
not r12d
sub edx, r12d
pop r12
sub edx, 1
xor ecx, eax
mov eax, ebx
add ecx, 0x92722c85
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, ebx
ror ecx, 0x16
push r13
not r13d
sub edx, r13d
pop r13
sub edx, 1
xor ecx, eax
push rdx
not edx
sub r14d, edx
pop rdx
sub r14d, 1
mov eax, ebx
ror eax, 2
xor ecx, eax
mov r15d, dword [rsp + 0x14]
or edi, ebx
and edi, r9d
mov eax, r11d
and eax, ebx
mov r13d, r12d
or edi, eax
ror r13d, 0x13
lea eax, [rdx + rcx]
mov ecx, r15d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror ecx, 0x12
mov eax, r15d
mov edx, r8d
ror eax, 7
xor ecx, eax
ror edx, 0x13
mov eax, r15d
shr eax, 3
xor ecx, eax
mov eax, r8d
ror eax, 0x11
xor edx, eax
mov eax, r8d
mov r8d, dword [rsp + 0x20]
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 0x1c]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r8d
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
ror ecx, 0x12
add edx, dword [rsp + 0x3c]
mov eax, r8d
ror eax, 7
xor ecx, eax
mov dword [rsp + 0x1c], edx
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, r12d
ror eax, 0x11
xor r13d, eax
mov eax, r12d
shr eax, 0xa
xor r13d, eax
mov eax, dword [rsp + 0x28]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, edx
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
ror ecx, 0x13
push r15
not r15d
sub r13d, r15d
pop r15
sub r13d, 1
mov eax, edx
ror eax, 0x11
xor ecx, eax
mov dword [rsp + 0x20], r13d
mov eax, edx
mov edx, dword [rsp + 0x2c]
shr eax, 0xa
mov r15d, edx
xor ecx, eax
ror r15d, 0x12
mov eax, edx
ror eax, 7
xor r15d, eax
mov eax, edx
shr eax, 3
xor r15d, eax
lea eax, [r8 + rcx]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
mov ecx, r13d
add r15d, dword [rsp + 0x40]
mov eax, r13d
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov dword [rsp], r15d
mov eax, r13d
mov r13d, dword [rsp + 0x1b8]
shr eax, 0xa
xor ecx, eax
mov r15d, r13d
mov eax, r13d
ror eax, 7
ror r15d, 0x12
xor r15d, eax
mov eax, r13d
shr eax, 3
xor r15d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x34]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
add r15d, dword [rsp + 0x1a8]
mov eax, edx
ror eax, 7
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x2c], r15d
mov eax, edx
shr eax, 3
xor ecx, eax
mov eax, dword [rsp]
mov r8d, eax
ror eax, 0x11
ror r8d, 0x13
xor r8d, eax
mov eax, dword [rsp]
shr eax, 0xa
xor r8d, eax
mov eax, dword [rsp + 0x1b0]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
push r13
not r13d
sub r8d, r13d
pop r13
sub r8d, 1
mov r13d, r15d
ror r13d, 0x13
mov dword [rsp + 0xc], r8d
mov r8d, dword [rsp + 0x30]
mov ecx, r8d
ror ecx, 0x12
mov eax, r8d
ror eax, 7
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, r15d
ror eax, 0x11
xor r13d, eax
mov eax, r15d
shr eax, 0xa
xor r13d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0xc]
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
add r13d, dword [rsp + 0x18]
mov eax, edx
ror eax, 0x11
mov ecx, edx
ror ecx, 0x13
xor ecx, eax
mov dword [rsp + 0x30], r13d
mov eax, edx
mov edx, dword [rsp + 0x38]
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 0x12
mov dword [rsp + 0x1b8], eax
mov eax, edx
ror eax, 7
xor dword [rsp + 0x1b8], eax
mov eax, edx
shr eax, 3
xor dword [rsp + 0x1b8], eax
lea eax, [r8 + rcx]
mov ecx, dword [rsp + 0x1b8]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
push r12
not r12d
sub ecx, r12d
pop r12
sub ecx, 1
mov dword [rsp + 0x1b8], ecx
mov ecx, r13d
ror ecx, 0x13
mov r8d, dword [rsp + 0x24]
mov eax, r13d
ror eax, 0x11
mov r12d, r8d
xor ecx, eax
ror r12d, 0x12
mov eax, r13d
shr eax, 0xa
xor ecx, eax
mov eax, r8d
ror eax, 7
xor r12d, eax
mov eax, r8d
mov r8d, dword [rsp + 0x1c]
shr eax, 3
xor r12d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
mov edx, r14d
ror edx, 0x19
push r8
not r8d
sub r12d, r8d
pop r8
sub r12d, 1
mov eax, r14d
mov dword [rsp + 0x14], r12d
ror eax, 0xb
mov ecx, r14d
xor edx, eax
not ecx
and ecx, esi
mov eax, r14d
ror eax, 6
xor edx, eax
mov eax, ebp
and eax, r14d
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
xor ecx, eax
mov eax, edi
ror eax, 0xd
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
push r10
not r10d
sub r8d, r10d
pop r10
sub r8d, 1
mov ecx, ebx
or ecx, edi
lea r10d, [r9 - 0x5d40175f]
and ecx, r11d
push r8
not r8d
sub r10d, r8d
pop r8
sub r10d, 1
mov r9d, edi
mov edx, r10d
ror edx, 0x19
ror r9d, 0x16
xor r9d, eax
mov eax, edi
ror eax, 2
xor r9d, eax
mov eax, ebx
and eax, edi
push r8
not r8d
sub r9d, r8d
pop r8
sub r9d, 1
or ecx, eax
mov eax, r10d
ror eax, 0xb
add ecx, 0xa2bfe8a1
xor edx, eax
push rcx
not ecx
sub r9d, ecx
pop rcx
sub r9d, 1
mov eax, r10d
mov ecx, r10d
ror eax, 6
not ecx
xor edx, eax
and ecx, ebp
add edx, dword [rsp + 0x20]
mov eax, r10d
and eax, r14d
xor ecx, eax
mov eax, r9d
add ecx, 0xa81a664b
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r9d
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
ror ecx, 0x16
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
xor ecx, eax
mov eax, r9d
ror eax, 2
mov r12d, r9d
xor ecx, eax
or r12d, edi
and r12d, ebx
mov eax, r9d
and eax, edi
or r12d, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r14d
mov eax, r11d
mov r13d, r12d
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
mov eax, dword [rsp]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [rbp - 0x3db47490]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov ebp, r9d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or ebp, r12d
push rdx
not edx
sub ebx, edx
pop rdx
sub ebx, 1
and ebp, edi
mov ecx, r12d
mov eax, r12d
ror eax, 0xd
ror ecx, 0x16
xor ecx, eax
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r12d
or ebp, eax
lea eax, [rdx + rcx]
mov edx, ebx
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
or r13d, ebp
mov eax, ebx
ror eax, 0xb
and r13d, r9d
xor edx, eax
mov ecx, ebx
not ecx
mov eax, ebx
ror eax, 6
and ecx, r10d
xor edx, eax
mov eax, r11d
and eax, ebx
push r15
not r15d
sub edx, r15d
pop r15
sub edx, 1
xor ecx, eax
mov eax, ebp
ror eax, 0xd
add ecx, 0xc76c51a3
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, ebp
ror ecx, 0x16
push r14
not r14d
sub edx, r14d
pop r14
sub edx, 1
xor ecx, eax
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, r12d
and eax, ebp
or r13d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
mov r14d, dword [rsp + 0x30]
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
mov r8d, edi
xor edx, eax
not r8d
and r8d, r11d
mov eax, edi
ror eax, 6
mov ecx, ebp
xor edx, eax
or ecx, r13d
and ecx, r12d
mov eax, ebx
and eax, edi
xor r8d, eax
mov eax, dword [rsp + 0xc]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov edx, r13d
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror edx, 0x16
push r10
not r10d
sub r8d, r10d
pop r10
sub r8d, 1
mov eax, r13d
ror eax, 0xd
lea r10d, [r9 - 0x2e6d17e7]
xor edx, eax
push r8
not r8d
sub r10d, r8d
pop r8
sub r10d, 1
mov eax, r13d
mov r9d, r13d
ror eax, 2
xor edx, eax
mov eax, ebp
and eax, r13d
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
or ecx, eax
mov edx, r10d
add ecx, 0xd192e819
ror edx, 0x19
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov eax, r10d
ror eax, 0xb
or r9d, r8d
xor edx, eax
and r9d, ebp
mov eax, r10d
mov ecx, r10d
ror eax, 6
not ecx
xor edx, eax
and ecx, ebx
push r14
not r14d
sub edx, r14d
pop r14
sub edx, 1
mov eax, r10d
and eax, edi
xor ecx, eax
mov eax, r8d
ror eax, 0xd
add ecx, 0xd6990624
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r8d
push r11
not r11d
sub edx, r11d
pop r11
sub edx, 1
ror ecx, 0x16
xor ecx, eax
push rdx
not edx
sub r12d, edx
pop rdx
sub r12d, 1
mov eax, r8d
ror eax, 2
xor ecx, eax
mov eax, r13d
and eax, r8d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, r12d
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
ror edx, 0x19
mov eax, r12d
mov dword [rsp + 0x38], r9d
ror eax, 0xb
xor edx, eax
mov eax, r12d
ror eax, 6
xor edx, eax
mov esi, dword [rsp + 0x1b8]
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
mov ecx, r12d
not ecx
mov eax, r10d
and eax, r12d
and ecx, edi
xor ecx, eax
mov r11d, r8d
add ecx, 0xf40e3585
or r11d, r9d
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
and r11d, r13d
push rbx
not ebx
sub edx, ebx
pop rbx
sub edx, 1
mov ecx, r9d
ror ecx, 0x16
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov eax, r9d
mov ebx, r9d
ror eax, 0xd
xor ecx, eax
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, r8d
and eax, r9d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
or ebx, r11d
mov dword [rsp + 4], r11d
and ebx, r8d
mov eax, ebp
ror eax, 0xb
mov ecx, ebp
xor edx, eax
not ecx
and ecx, r10d
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, r12d
add edx, dword [rsp + 0x14]
and eax, ebp
xor ecx, eax
mov eax, r11d
ror eax, 0xd
add ecx, 0x106aa070
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r11d
ror ecx, 0x16
push rdi
not edi
sub edx, edi
pop rdi
sub edx, 1
xor ecx, eax
push rdx
not edx
sub r13d, edx
pop rdx
sub r13d, 1
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r9d
mov r9d, dword [rsp + 0x3c]
and eax, r11d
or ebx, eax
lea eax, [rdx + rcx]
mov ecx, r9d
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror ecx, 0x12
mov eax, r9d
mov dword [rsp + 8], ebx
ror eax, 7
mov edx, esi
xor ecx, eax
ror edx, 0x13
mov eax, r9d
shr eax, 3
xor ecx, eax
mov eax, esi
ror eax, 0x11
xor edx, eax
mov eax, esi
mov esi, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x14]
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 0x20]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, ebx
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
ror ecx, 0x13
add edx, dword [rsp + 0x24]
mov eax, ebx
ror eax, 0x11
mov edi, edx
xor ecx, eax
ror edi, 0x13
mov eax, ebx
mov dword [rsp + 0x24], edx
shr eax, 0xa
mov ebx, esi
xor ecx, eax
ror ebx, 0x12
mov eax, esi
ror eax, 7
xor ebx, eax
mov eax, esi
shr eax, 3
xor ebx, eax
lea eax, [r9 + rcx]
mov r9d, dword [rsp + 0x40]
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
add ebx, dword [rsp]
mov eax, r9d
ror eax, 7
mov ecx, r9d
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x28], ebx
mov eax, r9d
shr eax, 3
xor ecx, eax
mov eax, edx
ror eax, 0x11
xor edi, eax
mov eax, edx
mov edx, dword [rsp + 0x1a8]
shr eax, 0xa
xor edi, eax
lea eax, [rsi + rcx]
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
mov ecx, ebx
ror ecx, 0x13
push r15
not r15d
sub edi, r15d
pop r15
sub edi, 1
mov eax, ebx
mov dword [rsp + 0x3c], edi
ror eax, 0x11
mov esi, edx
xor ecx, eax
ror esi, 0x12
mov eax, ebx
mov r15d, edi
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 7
xor esi, eax
mov eax, edx
shr eax, 3
xor esi, eax
lea eax, [r9 + rcx]
mov r9d, dword [rsp + 0x1b0]
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
add esi, dword [rsp + 0xc]
mov eax, r9d
ror eax, 7
mov ecx, r9d
ror ecx, 0x12
xor ecx, eax
mov eax, r9d
shr eax, 3
xor ecx, eax
ror r15d, 0x13
mov eax, edi
ror eax, 0x11
xor r15d, eax
mov eax, edi
shr eax, 0xa
xor r15d, eax
lea eax, [r14 + rcx]
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
mov ecx, esi
push rdx
not edx
sub r15d, edx
pop rdx
sub r15d, 1
ror ecx, 0x13
mov edx, dword [rsp + 0x18]
mov eax, esi
ror eax, 0x11
mov r14d, edx
xor ecx, eax
ror r14d, 0x12
mov eax, esi
mov dword [rsp + 0x34], r15d
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 7
xor r14d, eax
mov eax, edx
shr eax, 3
xor r14d, eax
mov eax, dword [rsp + 0x1b8]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
push r9
not r9d
sub r14d, r9d
pop r9
sub r14d, 1
mov r9d, dword [rsp + 0x10]
mov ecx, r9d
mov eax, r9d
ror eax, 7
ror ecx, 0x12
xor ecx, eax
mov eax, r9d
shr eax, 3
mov r9d, r15d
xor ecx, eax
ror r9d, 0x13
mov eax, r15d
ror eax, 0x11
xor r9d, eax
mov eax, r15d
shr eax, 0xa
xor r9d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x1c]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
add r9d, dword [rsp + 0x14]
mov eax, edx
ror eax, 7
mov ecx, edx
ror ecx, 0x12
xor ecx, eax
mov dword [rsp + 0x18], r9d
mov eax, edx
mov edx, r14d
shr eax, 3
xor ecx, eax
ror edx, 0x13
mov eax, r14d
ror eax, 0x11
xor edx, eax
mov eax, r14d
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 0x10]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
push rax
not eax
sub edx, eax
pop rax
sub edx, 1
mov eax, r13d
add edx, dword [rsp + 0x24]
mov dword [rsp + 0x10], edx
mov edx, r13d
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, r13d
ror eax, 6
xor edx, eax
mov ecx, r13d
not ecx
mov eax, ebp
and eax, r13d
and ecx, r12d
xor ecx, eax
mov eax, dword [rsp + 0x24]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r10 + 0x19a4c116]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov r10d, dword [rsp + 8]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
or r11d, r10d
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
mov ecx, r10d
ror ecx, 0x16
mov eax, r10d
ror eax, 0xd
xor ecx, eax
mov eax, r10d
mov r10d, dword [rsp + 0x38]
and r11d, r10d
ror eax, 2
xor ecx, eax
mov eax, dword [rsp + 4]
and eax, dword [rsp + 8]
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r8d
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
mov eax, r8d
mov ecx, r8d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebp
mov eax, r8d
ror eax, 6
xor edx, eax
mov eax, r13d
and eax, r8d
xor ecx, eax
lea eax, [rbx + rdx]
mov ebx, r11d
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r12 + 0x1e376c08]
mov r12d, dword [rsp + 8]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push rdx
not edx
sub r10d, edx
pop rdx
sub r10d, 1
or ebx, r12d
and ebx, dword [rsp + 4]
mov ecx, r11d
ror ecx, 0x16
mov eax, r11d
ror eax, 0xd
xor ecx, eax
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r11d
and eax, r12d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r10d
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, r10d
mov ecx, r10d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r13d
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r8d
and eax, r10d
xor ecx, eax
lea eax, [rdi + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [rbp + 0x2748774c]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ebp, dword [rsp + 4]
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov edi, r11d
or edi, ebx
mov dword [rsp + 4], ebp
and edi, r12d
mov ecx, ebx
ror ecx, 0x16
mov eax, ebx
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, r11d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, ebp
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
mov eax, ebp
mov ecx, ebp
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r8d
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, r10d
and eax, ebp
xor ecx, eax
lea eax, [rsi + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r13 + 0x34b0bcb5]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov r13d, r12d
push rdx
not edx
sub r13d, edx
pop rdx
sub r13d, 1
mov ecx, edi
ror ecx, 0x16
mov eax, edi
ror eax, 0xd
mov r12d, ebx
xor ecx, eax
mov dword [rsp + 8], r13d
or r12d, edi
mov eax, edi
ror eax, 2
and r12d, r11d
xor ecx, eax
mov eax, ebx
and eax, edi
or r12d, eax
lea eax, [rdx + rcx]
mov edx, r13d
push rax
not eax
sub r12d, eax
pop rax
sub r12d, 1
ror edx, 0x19
mov eax, r13d
mov ecx, r13d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r10d
mov eax, r13d
ror eax, 6
xor edx, eax
mov eax, ebp
and eax, r13d
push r15
not r15d
sub edx, r15d
pop r15
sub edx, 1
xor ecx, eax
mov eax, r12d
add ecx, 0x391c0cb3
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r12d
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
ror ecx, 0x16
mov r15d, dword [rsp + 8]
mov r13d, edi
ror eax, 0xd
or r13d, r12d
xor ecx, eax
and r13d, ebx
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, r12d
or r13d, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub r13d, eax
pop rax
sub r13d, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebp
mov eax, r11d
mov ebp, r12d
ror eax, 6
or ebp, r13d
xor edx, eax
and ebp, edi
push r14
not r14d
sub edx, r14d
pop r14
sub edx, 1
mov eax, r11d
and eax, r15d
mov r8d, r13d
xor ecx, eax
mov eax, r13d
ror eax, 0xd
add ecx, 0x4ed8aa4a
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r13d
ror ecx, 0x16
push r10
not r10d
sub edx, r10d
pop r10
sub edx, 1
xor ecx, eax
push rdx
not edx
sub ebx, edx
pop rdx
sub ebx, 1
mov eax, r13d
ror eax, 2
xor ecx, eax
mov eax, r12d
and eax, r13d
or ebp, eax
lea eax, [rdx + rcx]
mov edx, ebx
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
mov eax, ebx
mov ecx, ebx
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r15d
mov eax, ebx
or r8d, ebp
ror eax, 6
xor edx, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
lea eax, [r9 + rdx]
mov edx, dword [rsp + 4]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
add edx, 0x5b9cca4f
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, ebp
ror eax, 0xd
mov ecx, ebp
ror ecx, 0x16
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, r13d
and r8d, r12d
and eax, ebp
mov r10d, ebp
or r8d, eax
lea eax, [rdx + rcx]
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
mov edx, edi
or r10d, r8d
ror edx, 0x19
and r10d, r13d
mov dword [rsp + 0x1b0], r8d
mov eax, edi
mov ecx, edi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r11d
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, dword [rsp + 0x10]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
lea edx, [r15 + 0x682e6ff3]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, r8d
ror eax, 0xd
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov ecx, r8d
push rdx
not edx
sub r12d, edx
pop rdx
sub r12d, 1
ror ecx, 0x16
xor ecx, eax
mov eax, r8d
ror eax, 2
xor ecx, eax
mov eax, ebp
and eax, r8d
or r10d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x10]
push rax
not eax
sub r10d, eax
pop rax
sub r10d, 1
mov ecx, r9d
ror ecx, 0x13
mov eax, r9d
ror eax, 0x11
mov r8d, edx
xor ecx, eax
ror r8d, 0x13
mov eax, r9d
mov dword [rsp + 0x1a8], r10d
mov r9d, dword [rsp + 0x20]
mov r15d, r9d
mov r10d, dword [rsp]
shr eax, 0xa
xor ecx, eax
ror r15d, 0x12
mov eax, r9d
ror eax, 7
xor r15d, eax
mov eax, r9d
shr eax, 3
xor r15d, eax
mov eax, dword [rsp + 0x28]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r10d
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
ror ecx, 0x12
add r15d, dword [rsp + 0x1c]
mov eax, r10d
ror eax, 7
xor ecx, eax
mov dword [rsp + 0x28], r15d
mov eax, r10d
shr eax, 3
xor ecx, eax
mov eax, edx
ror eax, 0x11
xor r8d, eax
mov eax, edx
shr eax, 0xa
xor r8d, eax
mov edx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x3c]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r15d
push rax
not eax
sub r8d, eax
pop rax
sub r8d, 1
ror ecx, 0x13
push r9
not r9d
sub r8d, r9d
pop r9
sub r8d, 1
mov eax, r15d
ror eax, 0x11
mov r9d, edx
xor ecx, eax
ror r9d, 0x12
mov eax, r15d
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 7
xor r9d, eax
mov eax, edx
shr eax, 3
xor r9d, eax
lea eax, [rsi + rcx]
mov esi, dword [rsp + 0xc]
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
push r10
not r10d
sub r9d, r10d
pop r10
sub r9d, 1
mov eax, r8d
ror eax, 0x11
mov r10d, esi
ror r10d, 0x12
mov ecx, r8d
ror ecx, 0x13
xor ecx, eax
mov eax, r8d
shr eax, 0xa
xor ecx, eax
mov eax, esi
ror eax, 7
xor r10d, eax
mov eax, esi
shr eax, 3
xor r10d, eax
lea eax, [rdx + rcx]
mov edx, dword [rsp + 0x30]
push rax
not eax
sub r10d, eax
pop rax
sub r10d, 1
add r10d, dword [rsp + 0x34]
mov eax, r9d
ror eax, 0x11
mov ecx, r9d
ror ecx, 0x13
mov esi, edx
xor ecx, eax
ror esi, 0x12
mov eax, r9d
shr eax, 0xa
xor ecx, eax
mov eax, edx
ror eax, 7
xor esi, eax
mov eax, edx
shr eax, 3
xor esi, eax
lea eax, [r14 + rcx]
mov r14d, dword [rsp + 0x1b8]
push rax
not eax
sub esi, eax
pop rax
sub esi, 1
add esi, dword [rsp + 0xc]
mov eax, r14d
ror eax, 7
mov ecx, r14d
ror ecx, 0x12
xor ecx, eax
mov eax, r14d
shr eax, 3
mov r14d, r10d
xor ecx, eax
ror r14d, 0x13
mov eax, r10d
ror eax, 0x11
xor r14d, eax
mov eax, r10d
shr eax, 0xa
xor r14d, eax
mov eax, dword [rsp + 0x18]
push rcx
not ecx
sub eax, ecx
pop rcx
sub eax, 1
mov ecx, r12d
push rax
not eax
sub r14d, eax
pop rax
sub r14d, 1
not ecx
and ecx, ebx
push rdx
not edx
sub r14d, edx
pop rdx
sub r14d, 1
mov edx, r12d
mov eax, r12d
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, r12d
ror eax, 6
xor edx, eax
mov eax, edi
and eax, r12d
xor ecx, eax
lea eax, [r15 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r11 + 0x748f82ee]
mov r11d, dword [rsp + 0x1a8]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push rdx
not edx
sub r13d, edx
pop rdx
sub r13d, 1
mov ecx, r11d
ror ecx, 0x16
mov eax, r11d
ror eax, 0xd
xor ecx, eax
mov eax, r11d
mov r11d, dword [rsp + 0x1b0]
mov r15d, r11d
or r15d, dword [rsp + 0x1a8]
ror eax, 2
and r15d, ebp
xor ecx, eax
mov eax, r11d
and eax, dword [rsp + 0x1a8]
or r15d, eax
lea eax, [rdx + rcx]
mov edx, r13d
push rax
not eax
sub r15d, eax
pop rax
sub r15d, 1
ror edx, 0x19
mov eax, r13d
mov ecx, r13d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, r13d
ror eax, 6
xor edx, eax
mov eax, r12d
and eax, r13d
xor ecx, eax
lea eax, [r8 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [rbx + 0x78a5636f]
mov ebx, dword [rsp + 0x1a8]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov ecx, r15d
mov dword [rsp + 0x1b0], ebp
mov eax, r15d
mov r8d, dword [rsp + 0x1b0]
mov ebp, r15d
ror eax, 0xd
or ebp, ebx
ror ecx, 0x16
and ebp, r11d
xor ecx, eax
mov eax, r15d
ror eax, 2
xor ecx, eax
mov eax, r15d
and eax, ebx
or ebp, eax
lea eax, [rdx + rcx]
mov edx, r8d
push rax
not eax
sub ebp, eax
pop rax
sub ebp, 1
ror edx, 0x19
mov eax, r8d
ror eax, 0xb
mov ecx, r8d
xor edx, eax
not ecx
and ecx, r12d
mov eax, r8d
ror eax, 6
xor edx, eax
mov eax, r13d
and eax, r8d
xor ecx, eax
lea eax, [r9 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [rdi - 0x7b3787ec]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, ebp
ror eax, 0xd
push rdx
not edx
sub r11d, edx
pop rdx
sub r11d, 1
mov ecx, ebp
mov dword [rsp + 0x1b0], r11d
ror ecx, 0x16
mov edi, r15d
xor ecx, eax
or edi, ebp
and edi, ebx
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, r15d
and eax, ebp
or edi, eax
lea eax, [rdx + rcx]
mov edx, r11d
push rax
not eax
sub edi, eax
pop rax
sub edi, 1
ror edx, 0x19
mov eax, r11d
mov ecx, r11d
ror eax, 0xb
not ecx
xor edx, eax
and ecx, r13d
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, r8d
and eax, r11d
xor ecx, eax
lea eax, [r10 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r12 - 0x7338fdf8]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov r12d, ebx
push rdx
not edx
sub r12d, edx
pop rdx
sub r12d, 1
mov ecx, edi
ror ecx, 0x16
mov eax, edi
ror eax, 0xd
mov ebx, ebp
xor ecx, eax
or ebx, edi
and ebx, r15d
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, ebp
and eax, edi
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r12d
push rax
not eax
sub ebx, eax
pop rax
sub ebx, 1
ror edx, 0x19
mov eax, r12d
mov ecx, r12d
ror eax, 0xb
not ecx
xor edx, eax
mov eax, r12d
ror eax, 6
xor edx, eax
mov r9d, dword [rsp + 0x1b0]
and ecx, r8d
push rsi
not esi
sub edx, esi
pop rsi
sub edx, 1
mov eax, r11d
and eax, r12d
mov r11d, edi
xor ecx, eax
or r11d, ebx
add ecx, 0x90befffa
and r11d, ebp
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, ebx
ror eax, 0xd
push r13
not r13d
sub edx, r13d
pop r13
sub edx, 1
push rdx
not edx
sub r15d, edx
pop rdx
sub r15d, 1
mov ecx, ebx
ror ecx, 0x16
mov r10d, ebx
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, ebx
or r11d, eax
lea eax, [rdx + rcx]
mov edx, r15d
push rax
not eax
sub r11d, eax
pop rax
sub r11d, 1
ror edx, 0x19
or r10d, r11d
mov eax, r15d
ror eax, 0xb
and r10d, edi
xor edx, eax
mov ecx, r15d
not ecx
mov eax, r15d
ror eax, 6
and ecx, r9d
xor edx, eax
mov eax, r15d
and eax, r12d
xor ecx, eax
lea eax, [r14 + rdx]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
lea edx, [r8 - 0x5baf9315]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
mov eax, r11d
ror eax, 0xd
push rdx
not edx
sub ebp, edx
pop rdx
sub ebp, 1
mov ecx, r11d
mov r8d, ebp
ror ecx, 0x16
xor ecx, eax
ror r8d, 0x19
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, ebx
and eax, r11d
or r10d, eax
lea eax, [rdx + rcx]
mov ecx, esi
push rax
not eax
sub r10d, eax
pop rax
sub r10d, 1
ror ecx, 0x13
mov eax, ebp
ror eax, 0xb
xor r8d, eax
mov eax, ebp
ror eax, 6
xor r8d, eax
mov eax, esi
ror eax, 0x11
xor ecx, eax
shr esi, 0xa
xor ecx, esi
mov esi, dword [rsp + 0x14]
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
mov ecx, ebp
xor edx, eax
not ecx
and ecx, r12d
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, r15d
add edx, dword [rsp + 0x1b8]
and eax, ebp
xor ecx, eax
push r8
not r8d
sub edx, r8d
pop r8
sub edx, 1
push rdx
not edx
sub ecx, edx
pop rdx
sub ecx, 1
mov eax, r10d
add ecx, dword [rsp + 0x10]
lea edx, [r9 - 0x41065c09]
push rcx
not ecx
sub edx, ecx
pop rcx
sub edx, 1
ror eax, 0xd
push rdx
not edx
sub edi, edx
pop rdx
sub edi, 1
mov ecx, r10d
ror ecx, 0x16
mov r9d, r11d
xor ecx, eax
or r9d, r10d
and r9d, ebx
mov eax, r10d
ror eax, 2
mov r8d, edi
xor ecx, eax
ror r8d, 0x19
mov eax, r11d
and eax, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, r14d
push rax
not eax
sub r9d, eax
pop rax
sub r9d, 1
ror ecx, 0x13
mov eax, edi
ror eax, 0xb
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, r14d
ror eax, 0x11
xor ecx, eax
shr r14d, 0xa
xor ecx, r14d
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
mov ecx, dword [rsp + 0x24]
mov edx, ecx
mov eax, ecx
shr ecx, 3
ror edx, 0x12
ror eax, 7
xor edx, eax
mov eax, ebp
xor edx, ecx
and eax, edi
add edx, dword [rsp + 0x28]
mov ecx, edi
push rdx
not edx
sub r8d, edx
pop rdx
sub r8d, 1
not ecx
and ecx, r15d
mov edx, r9d
xor ecx, eax
ror edx, 0x16
add ecx, 0xc67178f2
mov eax, r9d
push rcx
not ecx
sub r8d, ecx
pop rcx
sub r8d, 1
ror eax, 0xd
xor edx, eax
push rsi
not esi
sub r8d, esi
pop rsi
sub r8d, 1
mov eax, r9d
mov ecx, r10d
ror eax, 2
push r12
not r12d
sub r8d, r12d
pop r12
sub r8d, 1
xor edx, eax
or ecx, r9d
and ecx, r11d
mov eax, r10d
and eax, r9d
or ecx, eax
mov eax, dword [rsp + 0x44]
push rdx
not edx
sub eax, edx
pop rdx
sub eax, 1
mov rdx, qword [rsp + 0x1a0]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
push r8
not r8d
sub ecx, r8d
pop r8
sub ecx, 1
mov eax, dword [rdx + 0x60]
add dword [rdx + 0x54], r9d
push r8
not r8d
sub eax, r8d
pop r8
sub eax, 1
add dword [rdx + 0x58], r10d
push rbx
not ebx
sub eax, ebx
pop rbx
sub eax, 1
add dword [rdx + 0x5c], r11d
add dword [rdx + 0x64], edi
add dword [rdx + 0x68], ebp
add dword [rdx + 0x6c], r15d
mov dword [rdx + 0x60], eax
mov dword [rdx + 0x50], ecx
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret