Function at 0x6fd04610
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
lea rsi, [rsp + 0x60]
mov r12, r8
mov r14, rdx
lea rdi, [rsp + 0x20]
mov rdx, r8
mov rbp, rcx
lea rbx, [rsp + 0x40]
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8, r12
mov rdx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8, rsi
mov rdx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8, r12
mov rdx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sym.libSFTP.dll_curve25519Mul
mov rcx, rbx
mov r8, rdi
mov rdx, rdi
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 3
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov rcx, rbx
mov r8, rsi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 7
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov rcx, rbx
mov r8, rsi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 0xf
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov rcx, rbx
mov r8, rsi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 0x1f
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov r8, rsi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 0x3e
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov rcx, rbx
mov r8, rsi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8d, 0x7d
mov rdx, rsi
mov rcx, rbx
call sym.libSFTP.dll_curve25519Pwr2
mov rcx, rbx
mov r8, rsi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, rdi
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov r8, r14
mov rdx, rbx
call sym.libSFTP.dll_curve25519Mul
mov rcx, rsi
mov r8, r12
mov rdx, r12
call sym.libSFTP.dll_curve25519Mul
mov r8, r12
mov rdx, rsi
xor r13d, r13d
call sym.libSFTP.dll_curve25519Mul
mov r8, rsi
mov rdx, rbx
mov rcx, rbx
call sym.libSFTP.dll_curve25519Mul
lea r8, [0x6fd2bca0]
mov rdx, rbx
mov rcx, rsi
call sym.libSFTP.dll_curve25519Mul
mov r8, rbx
mov rdx, rbx
mov rcx, rdi
call sym.libSFTP.dll_curve25519Mul
mov r8, r12
mov rdx, rdi
call sym.libSFTP.dll_curve25519Mul
xor eax, eax
mov edx, dword [rdi + rax]
xor edx, dword [r14 + rax]
add rax, 4
or r13d, edx
cmp rax, 0x20
jne 0x6fd04843
mov eax, r13d
mov r8, rsi
mov rdx, rsi
neg eax
mov rcx, rdi
or r13d, eax
call sym.libSFTP.dll_curve25519Mul
mov rdx, rdi
mov r8, r12
shr r13d, 0x1f
call sym.libSFTP.dll_curve25519Mul
xor edx, edx
xor eax, eax
mov ecx, dword [rdi + rdx]
xor ecx, dword [r14 + rdx]
add rdx, 4
or eax, ecx
cmp rdx, 0x20
jne 0x6fd04880
lea r10d, [r13 - 1]
mov edx, eax
mov r9d, r13d
neg edx
neg r9d
or eax, edx
xor edx, edx
shr eax, 0x1f
nop dword [rax + rax]
mov ecx, dword [rbx + rdx]
mov r8d, dword [rsi + rdx]
and ecx, r10d
and r8d, r9d
or ecx, r8d
mov dword [rbp + rdx], ecx
add rdx, 4
cmp rdx, 0x20
jne 0x6fd048b0
and eax, r13d
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret