Function at 0x6f87f0
Capabilities:
Encrypt data using twofish

Disassembly:
push rbp
push rdi
push rsi
sub rsp, 0x10
mov rbp, rsp
mov rax, rcx
mov rsi, r8
xor ecx, ecx
movsxd r8, r9d
lea r8, [r8 + 1]
lea r8, [r8*4 + 0xf]
and r8, 0xfffffffffffffff0
mov r11, r8
neg r11
mov r10, r11
and r10, 0xfff
cmp r10, r11
jle 0x6f883a
sub r10, 0x1000
mov byte [rsp + r10], r10b
cmp r10, r11
jg 0x6f882a
sub rsp, r8
lea r8, [rsp + rcx]
movsxd r9, r9d
lea rcx, [r9 + 1]
mov rdi, r8
rep movsd dword [rdi], dword [rsi]
mov qword [rbp + 8], r8
mov ecx, edx
and ecx, 0xff
mov r8d, edx
shr r8d, 8
and r8d, 0xff
mov r9d, edx
shr r9d, 0x10
and r9d, 0xff
shr edx, 0x18
mov r10, qword [rax + 0xa0]
cmp dword [r10 + 0x60], 0x20
jne 0x6f890a
mov r10, qword [rbp + 8]
mov r10d, dword [r10 + 0xc]
mov r11, qword [0x0078ef20]
mov ecx, ecx
movzx rcx, byte [r11 + rcx + 0x100]
mov r11d, r10d
and r11d, 0xff
xor ecx, r11d
mov r11, qword [0x0078ef20]
mov r8d, r8d
movzx r8, byte [r11 + r8]
mov r11d, r10d
shr r11d, 8
and r11d, 0xff
xor r8d, r11d
mov r11, qword [0x0078ef20]
mov r9d, r9d
movzx r9, byte [r11 + r9]
mov r11d, r10d
shr r11d, 0x10
and r11d, 0xff
xor r9d, r11d
mov r11, qword [0x0078ef20]
mov edx, edx
movzx rdx, byte [r11 + rdx + 0x100]
shr r10d, 0x18
xor edx, r10d
mov rax, qword [rax + 0xa0]
cmp dword [rax + 0x60], 0x18
jl 0x6f8994
mov rax, qword [rbp + 8]
mov eax, dword [rax + 8]
mov r10, qword [0x0078ef20]
mov ecx, ecx
movzx rcx, byte [r10 + rcx + 0x100]
mov r10d, eax
and r10d, 0xff
xor ecx, r10d
mov r10, qword [0x0078ef20]
mov r8d, r8d
movzx r8, byte [r10 + r8 + 0x100]
mov r10d, eax
shr r10d, 8
and r10d, 0xff
xor r8d, r10d
mov r10, qword [0x0078ef20]
mov r9d, r9d
movzx r9, byte [r10 + r9]
mov r10d, eax
shr r10d, 0x10
and r10d, 0xff
xor r9d, r10d
mov r10, qword [0x0078ef20]
mov edx, edx
movzx rdx, byte [r10 + rdx]
shr eax, 0x18
xor edx, eax
mov rax, qword [rbp + 8]
mov eax, dword [rax + 4]
mov r10, qword [0x0078ef20]
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
mov r10d, eax
and r10d, 0xff
xor ecx, r10d
mov r10, qword [0x0078ef20]
mov r8d, r8d
movzx r8, byte [r10 + r8 + 0x100]
mov r10d, eax
shr r10d, 8
and r10d, 0xff
xor r8d, r10d
mov r10, qword [0x0078ef20]
mov r9d, r9d
movzx r9, byte [r10 + r9]
mov r10d, eax
shr r10d, 0x10
and r10d, 0xff
xor r9d, r10d
mov r10, qword [0x0078ef20]
mov edx, edx
movzx rdx, byte [r10 + rdx + 0x100]
shr eax, 0x18
xor edx, eax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov r10, qword [0x0078ef20]
mov ecx, ecx
movzx rcx, byte [r10 + rcx]
mov r10d, eax
and r10d, 0xff
xor ecx, r10d
mov r10, qword [0x0078ef20]
mov r8d, r8d
movzx r8, byte [r10 + r8]
mov r10d, eax
shr r10d, 8
and r10d, 0xff
xor r8d, r10d
mov r10, qword [0x0078ef20]
mov r9d, r9d
movzx r9, byte [r10 + r9 + 0x100]
mov r10d, eax
shr r10d, 0x10
and r10d, 0xff
xor r9d, r10d
mov r10, qword [0x0078ef20]
mov edx, edx
movzx rdx, byte [r10 + rdx + 0x100]
shr eax, 0x18
xor edx, eax
mov rax, qword [0x0078f938]
mov ecx, ecx
mov r10, qword [0x0078f938]
mov r8d, r8d
mov eax, dword [rax + rcx*4]
xor eax, dword [r10 + r8*4 + 0x400]
mov rcx, qword [0x0078f938]
mov r9d, r9d
xor eax, dword [rcx + r9*4 + 0x800]
mov rcx, qword [0x0078f938]
mov edx, edx
xor eax, dword [rcx + rdx*4 + 0xc00]
lea rsp, [rbp + 0x10]
pop rsi
pop rdi
pop rbp
ret