Function at 0x51a450
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2f8
mov rbx, rcx
mov rsi, r8
mov r14, rdx
mov r15, r9
mov r8, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x368]
lea rdx, [0x007a26c0]
call sym.EVP_MD_fetch
mov r13, rax
call sym.EVP_MD_CTX_new
mov r12, rax
test r13, r13
je 0x51a4d0
test rax, rax
je 0x51a4d0
xor r8d, r8d
mov rdx, r13
mov rcx, rax
call sym.EVP_DigestInit_ex
test eax, eax
je 0x51a4d0
mov rdx, qword [rsp + 0x360]
mov r8d, 0x20
mov rcx, r12
call sym.EVP_DigestUpdate
test eax, eax
jne 0x51a528
nop dword [rax]
lea rbp, [rsp + 0x190]
lea r10, [rsp + 0x1d0]
xor r14d, r14d
mov rcx, r10
mov edx, 0x40
call sym.OPENSSL_cleanse
mov edx, 0x40
mov rcx, rbp
call sym.OPENSSL_cleanse
mov rcx, r13
call sym.EVP_MD_free
mov rcx, r12
call sym.EVP_MD_CTX_free
mov eax, r14d
add rsp, 0x2f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x10c]
lea rbp, [rsp + 0x190]
mov rcx, r12
mov r8, rdi
mov rdx, rbp
call sym.EVP_DigestFinal_ex
lea r10, [rsp + 0x1d0]
test eax, eax
je 0x51a4e0
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x28], r10
movzx eax, byte [rsp + 0x1af]
and byte [rsp + 0x190], 0xf8
and eax, 0x3f
or eax, 0x40
mov byte [rsp + 0x1af], al
call sym.EVP_DigestInit_ex
mov r10, qword [rsp + 0x28]
test eax, eax
je 0x51a4e0
lea rdx, [rsp + 0x1b0]
mov r8d, 0x20
mov rcx, r12
call sym.EVP_DigestUpdate
mov r10, qword [rsp + 0x28]
test eax, eax
je 0x51a4e0
mov r8, rsi
mov rdx, r14
mov rcx, r12
call sym.EVP_DigestUpdate
mov r10, qword [rsp + 0x28]
test eax, eax
je 0x51a4e0
mov rdx, r10
mov r8, rdi
mov rcx, r12
call sym.EVP_DigestFinal_ex
mov r10, qword [rsp + 0x28]
test eax, eax
je 0x51a4e0
mov rcx, r10
call sym.x25519_sc_reduce
mov r10, qword [rsp + 0x28]
lea r9, [rsp + 0x250]
mov rcx, r9
mov qword [rsp + 0x30], r9
mov rdx, r10
mov qword [rsp + 0x38], r10
call sym.ge_scalarmult_base
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x2a0]
mov rcx, r8
mov qword [rsp + 0x28], r8
call sym.fe_invert
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
lea r11, [rsp + 0x160]
mov rcx, r11
mov qword [rsp + 0x30], r11
mov rdx, r9
call sym.fe_mul
lea rax, [rsp + 0x210]
mov r8, qword [rsp + 0x28]
lea rdx, [rsp + 0x278]
mov rcx, rax
mov qword [rsp + 0x28], rax
call sym.fe_mul
mov rdx, qword [rsp + 0x28]
mov rcx, rbx
call sym.fe_tobytes
mov r11, qword [rsp + 0x30]
lea rcx, [rsp + 0x110]
mov rdx, r11
call sym.fe_tobytes
xor r8d, r8d
mov rdx, r13
mov rcx, r12
movzx eax, byte [rsp + 0x110]
shl eax, 7
xor byte [rbx + 0x1f], al
call sym.EVP_DigestInit_ex
mov r10, qword [rsp + 0x38]
test eax, eax
je 0x51a4e0
mov r8d, 0x20
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x30], r10
call sym.EVP_DigestUpdate
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x51a4e0
mov r8d, 0x20
mov rdx, r15
mov rcx, r12
call sym.EVP_DigestUpdate
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x51a4e0
mov r8, rsi
mov rdx, r14
mov rcx, r12
call sym.EVP_DigestUpdate
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x51a4e0
mov r8, rdi
mov rdi, qword [rsp + 0x28]
mov rcx, r12
mov rdx, rdi
call sym.EVP_DigestFinal_ex
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x51a4e0
mov rcx, rdi
mov qword [rsp + 0xf8], r10
call sym.x25519_sc_reduce
movzx ecx, byte [rsp + 0x211]
movzx eax, byte [rsp + 0x212]
movzx edx, byte [rsp + 0x210]
mov esi, dword [rsp + 0x217]
shl rax, 0x10
shl rcx, 8
movzx r8d, byte [rsp + 0x21f]
or rcx, rax
mov eax, dword [rsp + 0x212]
shr rsi, 7
or rcx, rdx
movzx edx, byte [rsp + 0x216]
shl r8, 0x10
and esi, 0x1fffff
shr rax, 5
and ecx, 0x1fffff
and eax, 0x1fffff
shl rdx, 8
mov r10, rax
movzx eax, byte [rsp + 0x217]
shl rax, 0x10
or rdx, rax
movzx eax, byte [rsp + 0x215]
or rdx, rax
mov eax, dword [rsp + 0x21a]
shr rdx, 2
shr rax, 4
and edx, 0x1fffff
and eax, 0x1fffff
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x21e]
shl rax, 8
or rax, r8
movzx r8d, byte [rsp + 0x21d]
or rax, r8
movzx r8d, byte [rsp + 0x224]
shr rax, 1
and eax, 0x1fffff
shl r8, 0x10
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x21f]
shr rax, 6
mov rdi, rax
movzx eax, byte [rsp + 0x223]
and edi, 0x1fffff
shl rax, 8
mov qword [rsp + 0x88], rdi
or rax, r8
movzx r8d, byte [rsp + 0x222]
or rax, r8
movzx r8d, byte [rsp + 0x227]
mov r11, rax
movzx eax, byte [rsp + 0x226]
shr r11, 3
mov qword [rsp + 0x90], r11
shl rax, 8
shl r8, 0x10
movzx r11d, byte [rsp + 0x225]
or rax, r8
or r11, rax
mov eax, dword [rsp + 0x227]
and r11d, 0x1fffff
shr rax, 5
mov qword [rsp + 0x98], r11
mov r15, rax
movzx eax, byte [rsp + 0x22b]
and r15d, 0x1fffff
mov r8, rax
movzx eax, byte [rsp + 0x22c]
mov qword [rsp + 0x60], r15
shl r8, 8
shl rax, 0x10
or rax, r8
movzx r8d, byte [rsp + 0x22a]
or rax, r8
shr rax, 2
mov r9, rax
mov eax, dword [rsp + 0x22c]
and r9d, 0x1fffff
mov r8, rax
mov qword [rsp + 0x68], r9
shr r8, 7
mov qword [rsp + 0x70], r8
movzx r11d, byte [rsp + 0x190]
movzx eax, byte [rsp + 0x191]
mov r14d, dword [rsp + 0x19a]
movzx r8d, byte [rsp + 0x192]
mov edi, dword [rsp + 0x192]
shl rax, 8
shr r14, 4
shl r8, 0x10
mov r9, r14
shr rdi, 5
movzx r14d, byte [rsp + 0x19e]
or r8, rax
and edi, 0x1fffff
movzx eax, byte [rsp + 0x196]
and r9d, 0x1fffff
or r8, r11
mov r15, r14
mov qword [rsp + 0x28], r9
movzx r14d, byte [rsp + 0x19f]
mov r11, rax
movzx eax, byte [rsp + 0x197]
shl r15, 8
and r8d, 0x1fffff
shl r11, 8
shl r14, 0x10
shl rax, 0x10
or rax, r11
movzx r11d, byte [rsp + 0x195]
or rax, r11
mov r11d, dword [rsp + 0x197]
shr rax, 2
shr r11, 7
and eax, 0x1fffff
and r11d, 0x1fffff
or r14, r15
movzx r15d, byte [rsp + 0x19d]
or r14, r15
movzx r15d, byte [rsp + 0x1a2]
shr r14, 1
mov r9, r14
mov r14d, dword [rsp + 0x19f]
and r9d, 0x1fffff
shr r14, 6
mov qword [rsp + 0x30], r9
mov r9, r14
movzx r14d, byte [rsp + 0x1a3]
and r9d, 0x1fffff
mov qword [rsp + 0x38], r9
mov r9, r14
movzx r14d, byte [rsp + 0x1a4]
shl r9, 8
shl r14, 0x10
or r14, r9
or r14, r15
movzx r15d, byte [rsp + 0x1a7]
mov r9, r14
movzx r14d, byte [rsp + 0x1a6]
shr r9, 3
shl r15, 0x10
mov qword [rsp + 0x40], r9
shl r14, 8
movzx r9d, byte [rsp + 0x1a5]
or r14, r15
movzx r15d, byte [rsp + 0x1aa]
or r14, r9
mov r9, r14
mov r14d, dword [rsp + 0x1a7]
and r9d, 0x1fffff
shr r14, 5
mov qword [rsp + 0x48], r9
mov r9, r14
movzx r14d, byte [rsp + 0x1ab]
and r9d, 0x1fffff
mov qword [rsp + 0x50], r9
mov r9, r14
movzx r14d, byte [rsp + 0x1ac]
shl r9, 8
shl r14, 0x10
or r14, r9
or r14, r15
shr r14, 2
mov r9, r14
mov r14d, dword [rsp + 0x1ac]
and r9d, 0x1fffff
mov r15, r14
shr r15, 7
mov qword [rsp + 0x58], r15
movzx r15d, byte [rsp + 0x1d0]
mov qword [rsp + 0xa0], r15
movzx r14d, byte [rsp + 0x1e5]
movzx r15d, byte [rsp + 0x1d2]
mov qword [rsp + 0xa8], r14
movzx r14d, byte [rsp + 0x1d1]
shl r15, 0x10
shl r14, 8
or r14, r15
mov r15, rcx
or r14, qword [rsp + 0xa0]
imul r15, r8
and r14d, 0x1fffff
add r15, r14
mov r14d, dword [rsp + 0x1d2]
mov qword [rsp + 0xa0], r15
mov r15, rcx
shr r14, 5
imul r15, rdi
and r14d, 0x1fffff
add r14, r15
mov r15, r10
imul r15, r8
add r15, r14
movzx r14d, byte [rsp + 0x1d6]
mov qword [rsp + 0xb0], r15
shl r14, 8
mov r15, r14
movzx r14d, byte [rsp + 0x1d7]
shl r14, 0x10
or r14, r15
movzx r15d, byte [rsp + 0x1d5]
or r14, r15
mov r15, rcx
imul r15, rax
shr r14, 2
and r14d, 0x1fffff
add r15, r14
mov r14, r10
imul r14, rdi
add r14, r15
mov r15, rdx
imul r15, r8
add r14, r15
mov r15, rcx
mov qword [rsp + 0xb8], r14
mov r14d, dword [rsp + 0x1d7]
imul r15, r11
shr r14, 7
and r14d, 0x1fffff
add r15, r14
mov r14, r10
imul r14, rax
add r15, r14
mov r14, rdx
imul r14, rdi
add r14, r15
mov r15, rsi
imul r15, r8
add r15, r14
mov r14d, dword [rsp + 0x1da]
mov qword [rsp + 0xc0], r15
mov r15, qword [rsp + 0x28]
shr r14, 4
imul r15, rcx
and r14d, 0x1fffff
add r14, r15
mov r15, r10
imul r15, r11
add r15, r14
mov r14, rdx
imul r14, rax
add r15, r14
mov r14, rsi
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x78]
imul r15, r8
add r15, r14
movzx r14d, byte [rsp + 0x1de]
mov qword [rsp + 0xc8], r15
mov r15, r14
movzx r14d, byte [rsp + 0x1df]
shl r15, 8
shl r14, 0x10
or r14, r15
movzx r15d, byte [rsp + 0x1dd]
or r14, r15
mov r15, qword [rsp + 0x30]
shr r14, 1
imul r15, rcx
and r14d, 0x1fffff
add r15, r14
mov r14, qword [rsp + 0x28]
imul r14, r10
add r14, r15
mov r15, rdx
imul r15, r11
add r15, r14
mov r14, rsi
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x78]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x80]
imul r15, r8
add r14, r15
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0xd0], r14
mov r14d, dword [rsp + 0x1df]
imul r15, rcx
shr r14, 6
and r14d, 0x1fffff
add r15, r14
mov r14, qword [rsp + 0x30]
imul r14, r10
add r15, r14
mov r14, qword [rsp + 0x28]
imul r14, rdx
add r14, r15
mov r15, rsi
imul r15, r11
add r15, r14
mov r14, qword [rsp + 0x78]
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x80]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x88]
imul r15, r8
add r15, r14
movzx r14d, byte [rsp + 0x1e3]
mov qword [rsp + 0xd8], r15
mov r15, r14
movzx r14d, byte [rsp + 0x1e4]
shl r15, 8
shl r14, 0x10
or r14, r15
movzx r15d, byte [rsp + 0x1e2]
or r14, r15
mov r15, qword [rsp + 0x40]
shr r14, 3
imul r15, rcx
add r14, r15
mov r15, qword [rsp + 0x38]
imul r15, r10
add r15, r14
mov r14, qword [rsp + 0x30]
imul r14, rdx
add r15, r14
mov r14, qword [rsp + 0x28]
imul r14, rsi
add r14, r15
mov r15, qword [rsp + 0x78]
imul r15, r11
add r15, r14
mov r14, qword [rsp + 0x80]
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x88]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x90]
imul r15, r8
add r15, r14
movzx r14d, byte [rsp + 0x1e6]
mov qword [rsp + 0xe0], r15
movzx r15d, byte [rsp + 0x1e7]
shl r14, 8
shl r15, 0x10
or r14, r15
mov r15, qword [rsp + 0x48]
or r14, qword [rsp + 0xa8]
and r14d, 0x1fffff
imul r15, rcx
add r15, r14
mov r14, qword [rsp + 0x40]
imul r14, r10
add r14, r15
mov r15, qword [rsp + 0x38]
imul r15, rdx
add r15, r14
mov r14, qword [rsp + 0x30]
imul r14, rsi
add r15, r14
mov r14, qword [rsp + 0x78]
imul r14, qword [rsp + 0x28]
add r14, r15
mov r15, qword [rsp + 0x80]
imul r15, r11
add r15, r14
mov r14, qword [rsp + 0x88]
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x90]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x98]
imul r15, r8
add r15, r14
mov r14d, dword [rsp + 0x1e7]
mov qword [rsp + 0xa8], r15
mov r15, qword [rsp + 0x50]
shr r14, 5
imul r15, rcx
and r14d, 0x1fffff
add r15, r14
mov r14, qword [rsp + 0x48]
imul r14, r10
add r15, r14
mov r14, qword [rsp + 0x40]
imul r14, rdx
add r14, r15
mov r15, qword [rsp + 0x38]
imul r15, rsi
add r15, r14
mov r14, qword [rsp + 0x78]
imul r14, qword [rsp + 0x30]
add r15, r14
mov r14, qword [rsp + 0x80]
imul r14, qword [rsp + 0x28]
add r14, r15
mov r15, qword [rsp + 0x88]
imul r15, r11
add r15, r14
mov r14, qword [rsp + 0x90]
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x98]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x60]
imul r15, r8
add r15, r14
movzx r14d, byte [rsp + 0x1eb]
mov qword [rsp + 0xe8], r15
mov r15, r14
movzx r14d, byte [rsp + 0x1ec]
shl r15, 8
shl r14, 0x10
or r14, r15
movzx r15d, byte [rsp + 0x1ea]
or r14, r15
mov r15, rcx
imul r15, r9
shr r14, 2
and r14d, 0x1fffff
add r14, r15
mov r15, qword [rsp + 0x50]
imul r15, r10
add r15, r14
mov r14, qword [rsp + 0x48]
imul r14, rdx
add r15, r14
mov r14, qword [rsp + 0x40]
imul r14, rsi
add r14, r15
mov r15, qword [rsp + 0x78]
imul r15, qword [rsp + 0x38]
add r15, r14
mov r14, qword [rsp + 0x80]
imul r14, qword [rsp + 0x30]
add r15, r14
mov r14, qword [rsp + 0x88]
imul r14, qword [rsp + 0x28]
add r14, r15
mov r15, qword [rsp + 0x90]
imul r15, r11
imul rcx, qword [rsp + 0x58]
add r15, r14
mov r14, qword [rsp + 0x98]
imul r14, rax
add r15, r14
mov r14, qword [rsp + 0x60]
imul r14, rdi
add r14, r15
mov r15, qword [rsp + 0x68]
imul r15, r8
add r15, r14
mov r14d, dword [rsp + 0x1ec]
shr r14, 7
add rcx, r14
mov r14, r10
imul r14, r9
add r14, rcx
mov rcx, qword [rsp + 0x50]
imul rcx, rdx
add rcx, r14
mov r14, qword [rsp + 0x48]
imul r14, rsi
add r14, rcx
mov rcx, qword [rsp + 0x78]
imul rcx, qword [rsp + 0x40]
add r14, rcx
mov rcx, qword [rsp + 0x80]
imul rcx, qword [rsp + 0x38]
imul r8, qword [rsp + 0x70]
add rcx, r14
mov r14, qword [rsp + 0x88]
imul r14, qword [rsp + 0x30]
add r14, rcx
mov rcx, qword [rsp + 0x90]
imul rcx, qword [rsp + 0x28]
add r14, rcx
mov rcx, qword [rsp + 0x98]
imul rcx, r11
add rcx, r14
mov r14, qword [rsp + 0x60]
imul r14, rax
add r14, rcx
mov rcx, qword [rsp + 0x68]
imul rcx, rdi
add rcx, r14
mov r14, qword [rsp + 0x80]
add r8, rcx
imul r10, qword [rsp + 0x58]
mov qword [rsp + 0xf0], r8
mov r8, rdx
imul rdi, qword [rsp + 0x70]
imul r8, r9
mov rcx, r10
mov r10, qword [rsp + 0x50]
imul rdx, qword [rsp + 0x58]
imul r10, rsi
add rcx, r8
mov r8, r10
mov r10, qword [rsp + 0x78]
add r8, rcx
mov rcx, qword [rsp + 0x48]
imul rcx, r10
add r8, rcx
mov rcx, qword [rsp + 0x40]
imul rcx, r14
add rcx, r8
mov r8, qword [rsp + 0x88]
imul r8, qword [rsp + 0x38]
add r8, rcx
mov rcx, qword [rsp + 0x90]
imul rcx, qword [rsp + 0x30]
add r8, rcx
mov rcx, qword [rsp + 0x98]
imul rcx, qword [rsp + 0x28]
add rcx, r8
mov r8, qword [rsp + 0x60]
imul r8, r11
add r8, rcx
mov rcx, qword [rsp + 0x68]
imul rcx, rax
add rcx, r8
mov r8, qword [rsp + 0x88]
add rdi, rcx
mov rcx, rsi
imul rcx, r9
add rcx, rdx
mov rdx, qword [rsp + 0x50]
imul rdx, r10
add rcx, rdx
mov rdx, qword [rsp + 0x48]
imul rdx, r14
add rdx, rcx
mov rcx, qword [rsp + 0x40]
imul rcx, r8
add rcx, rdx
mov rdx, qword [rsp + 0x90]
imul rdx, qword [rsp + 0x38]
add rcx, rdx
mov rdx, qword [rsp + 0x98]
imul rdx, qword [rsp + 0x30]
imul rax, qword [rsp + 0x70]
imul rsi, qword [rsp + 0x58]
add rdx, rcx
mov rcx, qword [rsp + 0x60]
imul rcx, qword [rsp + 0x28]
add rcx, rdx
mov rdx, qword [rsp + 0x68]
imul rdx, r11
imul r11, qword [rsp + 0x70]
add rdx, rcx
mov rcx, r10
add rdx, rax
mov rax, r10
mov r10, r14
imul rax, r9
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x48]
imul r14, qword [rsp + 0x50]
imul rdx, r8
add rsi, rax
mov rax, r14
mov r14, r10
add rax, rsi
imul r14, r9
mov rsi, r8
mov r8, qword [rsp + 0x90]
add rdx, rax
mov rax, qword [rsp + 0x40]
imul rax, r8
add rdx, rax
mov rax, qword [rsp + 0x98]
imul rax, qword [rsp + 0x38]
add rax, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, qword [rsp + 0x30]
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0x28]
add rax, rdx
mov rdx, qword [rsp + 0x50]
add r11, rax
mov rax, qword [rsp + 0x58]
imul rdx, rsi
imul rax, rcx
mov rcx, r8
add rax, r14
add rdx, rax
mov rax, qword [rsp + 0x48]
imul rax, r8
mov r8, qword [rsp + 0x98]
add rdx, rax
mov rax, qword [rsp + 0x40]
imul rax, r8
add rax, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, qword [rsp + 0x38]
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0x30]
add rax, rdx
mov rdx, qword [rsp + 0x28]
imul rdx, qword [rsp + 0x70]
add rdx, rax
mov qword [rsp + 0x80], rdx
mov r14, qword [rsp + 0x58]
mov rdx, rsi
mov rax, qword [rsp + 0x50]
imul rdx, r9
imul r14, r10
mov r10, rcx
imul rax, rcx
add rdx, r14
mov r14, qword [rsp + 0x30]
imul r14, qword [rsp + 0x70]
add rdx, rax
mov rax, qword [rsp + 0x48]
imul rax, r8
add rax, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, qword [rsp + 0x40]
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0x38]
add rax, rdx
mov rdx, r10
imul rdx, r9
lea rcx, [rax + r14]
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x38]
imul r14, qword [rsp + 0x70]
imul rax, rsi
mov rsi, r10
mov r10, r8
imul r8, qword [rsp + 0x50]
add rdx, rax
mov rax, r8
mov r8, r10
add rax, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, qword [rsp + 0x48]
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0x40]
add rax, rdx
lea rdx, [rax + r14]
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x50]
imul rax, rsi
mov rsi, qword [rsp + 0x60]
imul r8, r9
imul rdx, rsi
imul r14, qword [rsp + 0x70]
add rax, r8
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0x48]
add rax, rdx
mov rdx, rsi
imul rdx, r9
lea r8, [rax + r14]
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
imul r14, qword [rsp + 0x70]
imul rax, r10
mov r10, qword [rsp + 0x68]
imul rsi, qword [rsp + 0x58]
add rdx, rax
mov rax, qword [rsp + 0x50]
imul rax, r10
add rax, rdx
mov rdx, r10
add rax, r14
imul rdx, r9
mov qword [rsp + 0x38], rax
mov r14, qword [rsp + 0x50]
mov rax, rsi
mov rsi, r10
mov r10, qword [rsp + 0x70]
add rax, rdx
imul r14, r10
lea rdx, [rax + r14]
mov rax, rsi
mov rsi, qword [rsp + 0x58]
mov r14, r9
imul r14, r10
mov r9, qword [rsp + 0xb8]
imul r10, rsi
imul rax, rsi
mov rsi, qword [rsp + 0xb0]
add rax, r14
mov r14, r10
mov r10, qword [rsp + 0xa0]
mov qword [rsp + 0x40], rax
lea rax, [r10 + 0x100000]
sar rax, 0x15
add rsi, rax
shl rax, 0x15
sub r10, rax
lea rax, [r9 + 0x100000]
mov qword [rsp + 0x48], r10
mov r10, qword [rsp + 0xc0]
sar rax, 0x15
add r10, rax
shl rax, 0x15
mov qword [rsp + 0x50], r10
mov r10, qword [rsp + 0xc8]
sub r9, rax
mov qword [rsp + 0x58], r9
mov r9, qword [rsp + 0xd0]
mov rax, r10
add rax, 0x100000
sar rax, 0x15
add r9, rax
shl rax, 0x15
mov qword [rsp + 0x60], r9
mov r9, qword [rsp + 0xd8]
sub r10, rax
mov qword [rsp + 0x68], r10
mov r10, qword [rsp + 0xe0]
mov rax, r9
add rax, 0x100000
sar rax, 0x15
add r10, rax
shl rax, 0x15
mov qword [rsp + 0x70], r10
mov r10, qword [rsp + 0xa8]
sub r9, rax
mov qword [rsp + 0x88], r9
mov r9, qword [rsp + 0xe8]
mov rax, r10
add rax, 0x100000
sar rax, 0x15
add r9, rax
shl rax, 0x15
sub r10, rax
mov qword [rsp + 0x90], r9
lea rax, [r15 + 0x100000]
mov r9, qword [rsp + 0xf0]
sar rax, 0x15
mov qword [rsp + 0x98], r10
add r9, rax
shl rax, 0x15
sub r15, rax
lea rax, [rdi + 0x100000]
mov qword [rsp + 0xa0], r15
mov r15, qword [rsp + 0x78]
sar rax, 0x15
add r15, rax
shl rax, 0x15
sub rdi, rax
lea rax, [r11 + 0x100000]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x78], rdi
mov rdi, qword [rsp + 0x80]
sar rax, 0x15
add rdi, rax
shl rax, 0x15
sub r11, rax
lea rax, [rcx + 0x100000]
mov qword [rsp + 0x80], r11
mov r11, qword [rsp + 0x30]
sar rax, 0x15
add r11, rax
shl rax, 0x15
sub rcx, rax
lea rax, [r8 + 0x100000]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x38]
sar rax, 0x15
mov r10, qword [rsp + 0x58]
add rcx, rax
shl rax, 0x15
sub r8, rax
lea rax, [rdx + 0x100000]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0x40]
sar rax, 0x15
add r8, rax
shl rax, 0x15
sub rdx, rax
lea rax, [r14 + 0x100000]
sar rax, 0x15
mov qword [rsp + 0x40], rdx
mov rdx, rax
shl rdx, 0x15
sub r14, rdx
lea rdx, [rsi + 0x100000]
sar rdx, 0x15
lea r15, [r10 + rdx]
shl rdx, 0x15
mov r10, qword [rsp + 0x68]
sub rsi, rdx
mov qword [rsp + 0x58], r15
mov qword [rsp + 0xa8], rsi
mov rsi, qword [rsp + 0x50]
lea rdx, [rsi + 0x100000]
sar rdx, 0x15
lea r15, [r10 + rdx]
mov r10, qword [rsp + 0x60]
shl rdx, 0x15
sub rsi, rdx
mov qword [rsp + 0x50], r15
mov r15, qword [rsp + 0xa0]
mov rdx, r10
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0x88]
add rdx, 0x100000
sar rdx, 0x15
add rsi, rdx
shl rdx, 0x15
mov qword [rsp + 0x60], rsi
mov rsi, r10
mov r10, qword [rsp + 0x98]
sub rsi, rdx
mov qword [rsp + 0x88], rsi
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
add rdx, 0x100000
sar rdx, 0x15
add r10, rdx
shl rdx, 0x15
sub rsi, rdx
mov qword [rsp + 0x70], r10
mov r10, rsi
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
add rdx, 0x100000
sar rdx, 0x15
add r15, rdx
shl rdx, 0x15
sub rsi, rdx
mov qword [rsp + 0x90], r15
mov r15, qword [rsp + 0x78]
lea rdx, [r9 + 0x100000]
sar rdx, 0x15
mov qword [rsp + 0x98], rsi
add r15, rdx
shl rdx, 0x15
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0x28]
sub r9, rdx
mov rsi, r9
lea rdx, [r15 + 0x100000]
mov r15, qword [rsp + 0x80]
sar rdx, 0x15
lea r9, [r15 + rdx]
mov r15, qword [rsp + 0x28]
shl rdx, 0x15
mov qword [rsp + 0x80], r9
mov r9, qword [rsp + 0x30]
sub r15, rdx
lea rdx, [rdi + 0x100000]
sar rdx, 0x15
add r9, rdx
shl rdx, 0x15
sub rdi, rdx
lea rdx, [r11 + 0x100000]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rdi
mov rdi, qword [rsp + 0x38]
sar rdx, 0x15
add rdi, rdx
shl rdx, 0x15
sub r11, rdx
lea rdx, [rcx + 0x100000]
mov qword [rsp + 0x38], r11
mov r11, qword [rsp + 0x40]
sar rdx, 0x15
mov r9, qword [rsp + 0x78]
add r11, rdx
shl rdx, 0x15
sub rcx, rdx
lea rdx, [r8 + 0x100000]
sar rdx, 0x15
add r14, rdx
shl rdx, 0x15
sub r8, rdx
imul rdx, rax, 0xa2c13
add rsi, rdx
imul rdx, rax, 0x72d18
add r9, rdx
imul rdx, rax, 0x9fb67
add r15, rdx
imul rdx, rax, 0xfffffffffff0c653
add rdx, qword [rsp + 0x80]
mov qword [rsp + 0x40], rdx
imul rdx, rax, 0x215d1
add rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
imul rax, rax, 0xfffffffffff59083
add rax, qword [rsp + 0x28]
imul rdx, r14, 0xa2c13
add rdx, qword [rsp + 0x90]
mov qword [rsp + 0x28], rdx
imul rdx, r14, 0x72d18
add rsi, rdx
imul rdx, r14, 0x9fb67
add r9, rdx
imul rdx, r14, 0xfffffffffff0c653
add r15, rdx
imul rdx, r14, 0x215d1
add rdx, qword [rsp + 0x40]
mov qword [rsp + 0x40], rdx
imul r14, r14, 0xfffffffffff59083
add r14, qword [rsp + 0x30]
imul rdx, r8, 0xa2c13
mov qword [rsp + 0x30], r14
mov r14, qword [rsp + 0x98]
add r14, rdx
imul rdx, r8, 0x72d18
add rdx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdx
imul rdx, r8, 0x9fb67
add rsi, rdx
imul rdx, r8, 0xfffffffffff0c653
add r9, rdx
imul rdx, r8, 0x215d1
imul r8, r8, 0xfffffffffff59083
add r15, rdx
mov rdx, qword [rsp + 0x40]
add rdx, r8
imul r8, r11, 0xa2c13
add r8, qword [rsp + 0x70]
mov qword [rsp + 0x40], r8
imul r8, r11, 0x72d18
add r14, r8
imul r8, r11, 0x9fb67
add r8, qword [rsp + 0x28]
mov qword [rsp + 0x28], r8
imul r8, r11, 0xfffffffffff0c653
add rsi, r8
imul r8, r11, 0x215d1
imul r11, r11, 0xfffffffffff59083
add r9, r8
imul r8, rcx, 0xa2c13
add r11, r15
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x70], r11
mov r11, r10
add r11, r8
imul r8, rcx, 0x72d18
add r15, r8
imul r8, rcx, 0x9fb67
mov r10, r15
add r14, r8
imul r8, rcx, 0xfffffffffff0c653
add r8, qword [rsp + 0x28]
mov qword [rsp + 0x28], r8
imul r8, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add rsi, r8
imul r8, rdi, 0x72d18
add r9, rcx
imul rcx, rdi, 0xa2c13
add rcx, qword [rsp + 0x60]
lea r15, [r8 + r11]
imul r11, rdi, 0xfffffffffff0c653
imul r8, rdi, 0x9fb67
add r14, r11
imul r11, rdi, 0x215d1
add r11, qword [rsp + 0x28]
imul rdi, rdi, 0xfffffffffff59083
add r8, r10
add rsi, rdi
lea rdi, [rcx + 0x100000]
sar rdi, 0x15
add r15, rdi
shl rdi, 0x15
sub rcx, rdi
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
lea rcx, [r8 + 0x100000]
sar rcx, 0x15
add r14, rcx
shl rcx, 0x15
sub r8, rcx
lea rcx, [r11 + 0x100000]
sar rcx, 0x15
add rsi, rcx
shl rcx, 0x15
sub r11, rcx
lea rcx, [r9 + 0x100000]
mov r10, r11
mov r11, qword [rsp + 0x70]
sar rcx, 0x15
add r11, rcx
shl rcx, 0x15
sub r9, rcx
lea rcx, [rdx + 0x100000]
sar rcx, 0x15
add rdi, rcx
shl rcx, 0x15
sub rdx, rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x30], rdx
lea rdx, [rax + 0x100000]
sar rdx, 0x15
add rcx, rdx
shl rdx, 0x15
sub rax, rdx
mov rdx, r10
mov qword [rsp + 0x38], rax
lea rax, [r15 + 0x100000]
mov r10, qword [rsp + 0x88]
sar rax, 0x15
add r8, rax
shl rax, 0x15
sub r15, rax
lea rax, [r14 + 0x100000]
mov qword [rsp + 0x40], r8
mov r8, rsi
sar rax, 0x15
add rdx, rax
shl rax, 0x15
sub r14, rax
lea rax, [rsi + 0x100000]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x30]
sar rax, 0x15
add r9, rax
shl rax, 0x15
sub r8, rax
lea rax, [r11 + 0x100000]
sar rax, 0x15
mov qword [rsp + 0x70], r8
mov r8, qword [rsp + 0x38]
add rdx, rax
shl rax, 0x15
sub r11, rax
lea rax, [rdi + 0x100000]
sar rax, 0x15
add r8, rax
shl rax, 0x15
sub rdi, rax
imul rax, rcx, 0xa2c13
lea rsi, [rax + r10]
imul rax, rcx, 0x72d18
add rax, qword [rsp + 0x28]
mov r10, rax
imul rax, rcx, 0x9fb67
add r15, rax
imul rax, rcx, 0xfffffffffff0c653
add rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
imul rax, rcx, 0x215d1
add r14, rax
imul rax, rcx, 0xfffffffffff59083
add rax, qword [rsp + 0x60]
imul rcx, r8, 0xa2c13
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rcx
imul rcx, r8, 0x72d18
add rsi, rcx
imul rcx, r8, 0x9fb67
add rcx, r10
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0x38], rcx
imul rcx, r8, 0xfffffffffff0c653
add r15, rcx
imul rcx, r8, 0x215d1
add rcx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rcx
imul r8, r8, 0xfffffffffff59083
imul rcx, rdi, 0xa2c13
add r14, r8
lea r8, [rcx + r10]
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0x40], r14
imul rcx, rdi, 0x72d18
lea r14, [rcx + r10]
mov r10, qword [rsp + 0x38]
imul rcx, rdi, 0x9fb67
add rsi, rcx
imul rcx, rdi, 0xfffffffffff0c653
add r10, rcx
imul rcx, rdi, 0x215d1
imul rdi, rdi, 0xfffffffffff59083
add r15, rcx
mov rcx, qword [rsp + 0x28]
add rcx, rdi
imul rdi, rdx, 0xa2c13
add rdi, qword [rsp + 0x58]
mov qword [rsp + 0x28], rdi
imul rdi, rdx, 0x72d18
add rdi, r8
imul r8, rdx, 0x9fb67
add r14, r8
imul r8, rdx, 0xfffffffffff0c653
add rsi, r8
imul r8, rdx, 0x215d1
imul rdx, rdx, 0xfffffffffff59083
add r8, r10
add rdx, r15
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rdx
imul rdx, r11, 0xa2c13
add r15, rdx
imul rdx, r11, 0x72d18
add rdx, qword [rsp + 0x28]
mov r10, rdx
imul rdx, r11, 0x9fb67
add rdi, rdx
imul rdx, r11, 0xfffffffffff0c653
add r14, rdx
imul rdx, r11, 0x215d1
imul r11, r11, 0xfffffffffff59083
add rsi, rdx
add r8, r11
imul rdx, r9, 0xa2c13
add rdx, qword [rsp + 0x48]
imul r11, r9, 0x72d18
add r15, r11
imul r11, r9, 0x9fb67
mov qword [rsp + 0x28], r15
imul r15, r9, 0xfffffffffff0c653
add r11, r10
mov r10, qword [rsp + 0x28]
add r15, rdi
imul rdi, r9, 0x215d1
imul r9, r9, 0xfffffffffff59083
add r14, rdi
lea rdi, [rdx + 0x100000]
sar rdi, 0x15
add rsi, r9
lea r9, [r10 + rdi]
shl rdi, 0x15
sub rdx, rdi
mov rdi, r11
mov r10, rdx
lea rdx, [r11 + 0x100000]
mov r11, qword [rsp + 0x30]
sar rdx, 0x15
add r15, rdx
shl rdx, 0x15
sub rdi, rdx
lea rdx, [r14 + 0x100000]
sar rdx, 0x15
add rsi, rdx
shl rdx, 0x15
sub r14, rdx
lea rdx, [r8 + 0x100000]
sar rdx, 0x15
add r11, rdx
shl rdx, 0x15
sub r8, rdx
lea rdx, [rcx + 0x100000]
mov qword [rsp + 0x28], r8
mov r8, qword [rsp + 0x40]
sar rdx, 0x15
add r8, rdx
shl rdx, 0x15
sub rcx, rdx
lea rdx, [rax + 0x100000]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x70]
sar rdx, 0x15
add rcx, rdx
shl rdx, 0x15
sub rax, rdx
mov rdx, r9
mov qword [rsp + 0x38], rax
lea rax, [r9 + 0x100000]
mov r9, qword [rsp + 0x30]
sar rax, 0x15
add rdi, rax
shl rax, 0x15
sub rdx, rax
lea rax, [r15 + 0x100000]
sar rax, 0x15
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x28]
add r14, rax
shl rax, 0x15
sub r15, rax
lea rax, [rsi + 0x100000]
sar rax, 0x15
add rdx, rax
shl rax, 0x15
sub rsi, rax
lea rax, [r11 + 0x100000]
sar rax, 0x15
add r9, rax
shl rax, 0x15
mov qword [rsp + 0x28], r9
sub r11, rax
mov r9, qword [rsp + 0x38]
lea rax, [r8 + 0x100000]
sar rax, 0x15
add r9, rax
shl rax, 0x15
sub r8, rax
mov qword [rsp + 0x30], r9
mov r9, rcx
mov qword [rsp + 0x38], r8
lea r8, [rcx + 0x100000]
mov rax, r8
and r8, 0xffffffffffe00000
sar rax, 0x15
sub r9, r8
imul r8, rax, 0xa2c13
imul rcx, rax, 0x72d18
add r8, r10
mov r10, qword [rsp + 0x40]
add r10, rcx
imul rcx, rax, 0x9fb67
add rdi, rcx
imul rcx, rax, 0xfffffffffff0c653
add r15, rcx
imul rcx, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r14, rcx
add rsi, rax
mov rax, r8
sar rax, 0x15
lea rcx, [r10 + rax]
shl rax, 0x15
sub r8, rax
mov rax, rcx
mov r10, rcx
mov rcx, qword [rsp + 0x38]
sar rax, 0x15
add rdi, rax
shl rax, 0x15
sub r10, rax
mov rax, rdi
sar rax, 0x15
add r15, rax
shl rax, 0x15
sub rdi, rax
mov rax, r15
sar rax, 0x15
add r14, rax
shl rax, 0x15
sub r15, rax
mov rax, r14
sar rax, 0x15
add rsi, rax
shl rax, 0x15
sub r14, rax
mov rax, rsi
sar rax, 0x15
add rdx, rax
shl rax, 0x15
sub rsi, rax
mov rax, rdx
sar rax, 0x15
add r11, rax
shl rax, 0x15
sub rdx, rax
mov rax, r11
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x28]
sar rax, 0x15
add rdx, rax
shl rax, 0x15
sub r11, rax
mov rax, rdx
sar rax, 0x15
mov qword [rsp + 0x28], r11
mov r11, qword [rsp + 0x30]
add rcx, rax
shl rax, 0x15
sub rdx, rax
mov rax, rcx
sar rax, 0x15
mov qword [rsp + 0x38], rdx
lea rdx, [r11 + rax]
shl rax, 0x15
sub rcx, rax
mov rax, rdx
sar rax, 0x15
mov qword [rsp + 0x30], rcx
lea rcx, [r9 + rax]
shl rax, 0x15
mov r9, rdx
sub r9, rax
mov rax, rcx
and ecx, 0x1fffff
sar rax, 0x15
mov qword [rsp + 0x48], r9
mov r9, rcx
imul rdx, rax, 0xa2c13
add r8, rdx
imul rdx, rax, 0x72d18
lea rcx, [rdx + r10]
mov r10, qword [rsp + 0x38]
imul rdx, rax, 0x9fb67
add rdi, rdx
imul rdx, rax, 0xfffffffffff0c653
add r15, rdx
imul rdx, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r14, rdx
add rsi, rax
mov rax, r8
sar rax, 0x15
lea rdx, [rcx + rax]
shl rax, 0x15
sub r8, rax
mov rax, rdx
sar rax, 0x15
mov qword [rsp + 0x50], r8
mov r8, rdx
add rdi, rax
shl rax, 0x15
sub r8, rax
mov rax, rdi
sar rax, 0x15
add r15, rax
shl rax, 0x15
sub rdi, rax
mov rax, r15
mov rcx, r15
mov r15, qword [rsp + 0x28]
sar rax, 0x15
mov r11, rdi
add r14, rax
shl rax, 0x15
sub rcx, rax
mov rax, r14
mov rdi, r14
sar rax, 0x15
add rsi, rax
shl rax, 0x15
sub rdi, rax
mov rax, rsi
mov rdx, rdi
mov rdi, qword [rsp + 0x40]
sar rax, 0x15
add rdi, rax
shl rax, 0x15
mov r14, rax
mov rax, rsi
mov rsi, rdi
sar rsi, 0x15
sub rax, r14
add r15, rsi
shl rsi, 0x15
sub rdi, rsi
mov rsi, r15
sar rsi, 0x15
lea r14, [r10 + rsi]
shl rsi, 0x15
mov r10, r8
sub r15, rsi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
mov r15, r14
sar r15, 0x15
add rsi, r15
shl r15, 0x15
sub r14, r15
mov r15, rsi
sar r15, 0x15
mov qword [rsp + 0x30], r14
mov r14, r15
mov r15, qword [rsp + 0x48]
add r15, r14
shl r14, 0x15
sub rsi, r14
mov r14, r15
shl r10, 5
sar r14, 0x15
add r9, r14
shl r14, 0x15
sub r15, r14
mov r14, qword [rsp + 0x50]
mov word [rbx + 0x20], r14w
sar r14, 0x10
or r14d, r10d
mov r10, r8
sar r10, 3
mov byte [rbx + 0x22], r14b
lea r14, [r11*4]
mov byte [rbx + 0x23], r10b
mov r10, r8
sar r8, 0x13
or r8d, r14d
sar r10, 0xb
mov r14d, 1
mov byte [rbx + 0x25], r8b
mov r8, r11
sar r11, 0xe
sar r8, 6
mov byte [rbx + 0x24], r10b
mov byte [rbx + 0x26], r8b
mov r8, rcx
shl r8, 7
or r11d, r8d
mov r8, rcx
sar r8, 1
mov byte [rbx + 0x27], r11b
mov byte [rbx + 0x28], r8b
mov r8, rcx
sar rcx, 0x11
sar r8, 9
mov byte [rbx + 0x29], r8b
mov r8, rdx
shl r8, 4
or ecx, r8d
mov byte [rbx + 0x2a], cl
mov rcx, rdx
sar rcx, 4
mov byte [rbx + 0x2b], cl
mov rcx, rdx
sar rdx, 0x14
sar rcx, 0xc
mov byte [rbx + 0x2c], cl
lea rcx, [rax + rax]
or edx, ecx
mov byte [rbx + 0x2d], dl
mov rdx, rax
sar rax, 0xf
sar rdx, 7
mov byte [rbx + 0x2e], dl
mov rdx, rdi
shl rdx, 6
or eax, edx
mov rdx, rdi
sar rdx, 2
mov byte [rbx + 0x2f], al
mov byte [rbx + 0x30], dl
mov rdx, rdi
sar rdx, 0xa
sar rdi, 0x12
mov rax, rdi
mov rdi, qword [rsp + 0x28]
mov byte [rbx + 0x31], dl
lea rdx, [rdi*8]
mov r10, rdi
or eax, edx
mov rdx, rsi
sar r10, 5
mov byte [rbx + 0x32], al
mov rax, qword [rsp + 0x30]
shl rdx, 5
mov byte [rbx + 0x33], r10b
mov r10, rdi
mov word [rbx + 0x35], ax
sar rax, 0x10
sar r10, 0xd
or eax, edx
lea rdx, [r15*4]
mov byte [rbx + 0x34], r10b
mov r10, qword [rsp + 0xf8]
mov byte [rbx + 0x37], al
mov rax, rsi
sar rax, 3
mov byte [rbx + 0x38], al
mov rax, rsi
sar rax, 0xb
mov byte [rbx + 0x39], al
mov rax, rsi
sar rax, 0x13
or eax, edx
mov rdx, r9
mov byte [rbx + 0x3a], al
mov rax, r15
shl rdx, 7
sar rax, 6
mov byte [rbx + 0x3b], al
mov rax, r15
sar rax, 0xe
or eax, edx
mov byte [rbx + 0x3c], al
mov rax, r9
sar rax, 1
mov byte [rbx + 0x3d], al
mov rax, r9
sar rax, 9
mov byte [rbx + 0x3e], al
mov rax, r9
sar rax, 0x11
mov byte [rbx + 0x3f], al
jmp 0x51a4e3