Function at 0x4fee80
Capabilities:
Encrypt data using twofish

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x4ff771
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0xd0], rax
cmp rbx, 0x10
je 0x4feed1
cmp rbx, 0x18
je 0x4feed1
cmp rbx, 0x20
je 0x4feed1
mov rax, rbx
call sym.runtime.convT64
lea rbx, [0x005ec180]
mov rcx, rax
xor eax, eax
add rsp, 0xc0
pop rbp
ret
movups xmmword [rsp + 0x44], xmm15
mov rdx, rbx
shr rbx, 3
xor esi, esi
jmp 0x4feee5
inc rsi
cmp rsi, rbx
jge 0x4fef09
movups xmm0, xmmword [0x006dd520]
movups xmmword [rsp + 0x5c], xmm0
movups xmm0, xmmword [0x006dd530]
movups xmmword [rsp + 0x6c], xmm0
xor edi, edi
jmp 0x4ff668
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xd0], rax
lea rax, [0x00591540]
call sym.runtime.newobject
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0x3f], 0
xor ecx, ecx
jmp 0x4fef60
rol r11d, 9
mov dword [r13 + rdx*4 + 0x1000], r11d
lea ecx, [r10 + 1]
mov rax, r13
nop dword [rax]
cmp cl, 0x14
jae 0x4ff03b
xor edx, edx
jmp 0x4ff622
mov byte [rsp + 0x43], cl
lea rax, [rsp + 0x3f]
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xe0]
xor r9d, r9d
nop dword [rax]
call sym.golang.org_x_crypto_twofish.h
movzx edx, byte [rsp + 0x43]
xor ecx, ecx
jmp 0x4ff640
mov dword [rsp + 0x8c], eax
lea rax, [rsp + 0x3f]
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xe0]
mov r9d, 1
call sym.golang.org_x_crypto_twofish.h
rol eax, 8
movzx edx, byte [rsp + 0x43]
mov r10d, edx
shl edx, 1
movzx edx, dl
mov r11d, dword [rsp + 0x8c]
lea r12d, [r11 + rax]
cmp rdx, 0x28
jae 0x4ff658
mov r13, qword [rsp + 0xb8]
mov dword [r13 + rdx*4 + 0x1000], r12d
lea edx, [r10 + r10]
lea edx, [rdx + 1]
movzx edx, dl
lea r11d, [r11 + rax*2]
cmp rdx, 0x28
jb 0x4fef49
jmp 0x4ff64b
mov rdx, qword [rsp + 0xb0]
cmp rdx, 2
jne 0x4ff050
xor ecx, ecx
jmp 0x4ff602
cmp rdx, 3
jne 0x4ff05d
xor ecx, ecx
jmp 0x4ff468
xor ecx, ecx
nop
jmp 0x4ff280
mov qword [rsp + 0x90], rcx
movzx edx, cl
mov qword [rsp + 0xb0], rdx
lea rsi, [0x006e14a0]
movzx edi, byte [rdx + rsi]
movzx r8d, byte [rsp + 0x44]
xor r8d, edi
movzx edi, r8b
movzx edi, byte [rsi + rdi]
movzx r8d, byte [rsp + 0x48]
xor r8d, edi
movzx edi, r8b
lea r8, [0x006e13a0]
movzx edi, byte [r8 + rdi]
movzx r9d, byte [rsp + 0x4c]
xor r9d, edi
movzx edi, r9b
movzx edi, byte [r8 + rdi]
movzx r9d, byte [rsp + 0x50]
xor r9d, edi
movzx edi, r9b
movzx eax, byte [rdi + rsi]
xor ebx, ebx
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4], eax
lea rsi, [0x006e13a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x45]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e14a0]
movzx r8d, byte [r8 + r9]
movzx r10d, byte [rsp + 0x49]
xor r10d, r8d
movzx r8d, r10b
movzx r8d, byte [r8 + r9]
movzx r10d, byte [rsp + 0x4d]
xor r10d, r8d
movzx r8d, r10b
movzx r8d, byte [rsi + r8]
movzx r10d, byte [rsp + 0x51]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r8 + rsi]
mov ebx, 1
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x400], eax
lea rsi, [0x006e13a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x46]
xor r9d, r8d
movzx r8d, r9b
movzx r8d, byte [rsi + r8]
movzx r9d, byte [rsp + 0x4a]
xor r9d, r8d
movzx r8d, r9b
movzx r8d, byte [rsi + r8]
movzx r9d, byte [rsp + 0x4e]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e14a0]
movzx r8d, byte [r9 + r8]
movzx r10d, byte [rsp + 0x52]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r8 + r9]
mov ebx, 2
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x800], eax
lea rsi, [0x006e14a0]
mov rdi, qword [rsp + 0xb0]
movzx edi, byte [rdi + rsi]
movzx r8d, byte [rsp + 0x47]
xor r8d, edi
movzx edi, r8b
lea r8, [0x006e13a0]
movzx edi, byte [r8 + rdi]
movzx r9d, byte [rsp + 0x4b]
xor r9d, edi
movzx edi, r9b
movzx edi, byte [rsi + rdi]
movzx r9d, byte [rsp + 0x4f]
xor r9d, edi
movzx edi, r9b
movzx esi, byte [rdi + rsi]
movzx edi, byte [rsp + 0x53]
xor edi, esi
movzx esi, dil
movzx eax, byte [rsi + r8]
mov ebx, 3
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0xc00], eax
inc rcx
mov rax, rdx
nop word [rax + rax]
cmp rcx, 0x100
jl 0x4ff065
xor ebx, ebx
xor ecx, ecx
add rsp, 0xc0
pop rbp
ret
mov qword [rsp + 0x98], rcx
movzx edx, cl
mov qword [rsp + 0xb0], rdx
lea rsi, [0x006e14a0]
movzx edi, byte [rdx + rsi]
movzx r8d, byte [rsp + 0x44]
xor r8d, edi
movzx edi, r8b
lea r8, [0x006e13a0]
movzx edi, byte [r8 + rdi]
movzx r9d, byte [rsp + 0x48]
xor r9d, edi
movzx edi, r9b
movzx edi, byte [r8 + rdi]
movzx r9d, byte [rsp + 0x4c]
xor r9d, edi
movzx edi, r9b
movzx eax, byte [rsi + rdi]
xor ebx, ebx
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4], eax
lea rsi, [0x006e14a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x45]
xor r9d, r8d
movzx r8d, r9b
movzx r8d, byte [r8 + rsi]
movzx r9d, byte [rsp + 0x49]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e13a0]
movzx r8d, byte [r9 + r8]
movzx r10d, byte [rsp + 0x4d]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r9 + r8]
mov ebx, 1
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x400], eax
lea rsi, [0x006e13a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x46]
xor r9d, r8d
movzx r8d, r9b
movzx r8d, byte [rsi + r8]
movzx r9d, byte [rsp + 0x4a]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e14a0]
movzx r8d, byte [r8 + r9]
movzx r10d, byte [rsp + 0x4e]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r9 + r8]
mov ebx, 2
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x800], eax
lea rsi, [0x006e13a0]
mov rdi, qword [rsp + 0xb0]
movzx edi, byte [rdi + rsi]
movzx r8d, byte [rsp + 0x47]
xor r8d, edi
movzx edi, r8b
lea r8, [0x006e14a0]
movzx edi, byte [rdi + r8]
movzx r9d, byte [rsp + 0x4b]
xor r9d, edi
movzx edi, r9b
movzx edi, byte [rdi + r8]
movzx r8d, byte [rsp + 0x4f]
xor r8d, edi
movzx edi, r8b
movzx eax, byte [rdi + rsi]
mov ebx, 3
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0xc00], eax
inc rcx
mov rax, rdx
cmp rcx, 0x100
jl 0x4ff29a
jmp 0x4ff28d
mov qword [rsp + 0xa0], rcx
movzx edx, cl
mov qword [rsp + 0xb0], rdx
lea rsi, [0x006e13a0]
movzx edi, byte [rdx + rsi]
movzx r8d, byte [rsp + 0x44]
xor r8d, edi
movzx edi, r8b
movzx edi, byte [rsi + rdi]
movzx r8d, byte [rsp + 0x48]
xor r8d, edi
movzx edi, r8b
lea r8, [0x006e14a0]
movzx eax, byte [rdi + r8]
xor ebx, ebx
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4], eax
lea rsi, [0x006e14a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x45]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e13a0]
movzx r8d, byte [r9 + r8]
movzx r10d, byte [rsp + 0x49]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r9 + r8]
mov ebx, 1
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x400], eax
lea rsi, [0x006e13a0]
mov rdi, qword [rsp + 0xb0]
movzx r8d, byte [rdi + rsi]
movzx r9d, byte [rsp + 0x46]
xor r9d, r8d
movzx r8d, r9b
lea r9, [0x006e14a0]
movzx r8d, byte [r9 + r8]
movzx r10d, byte [rsp + 0x4a]
xor r10d, r8d
movzx r8d, r10b
movzx eax, byte [r9 + r8]
mov ebx, 2
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0x800], eax
lea rsi, [0x006e14a0]
mov rdi, qword [rsp + 0xb0]
movzx edi, byte [rdi + rsi]
movzx r8d, byte [rsp + 0x47]
xor r8d, edi
movzx edi, r8b
movzx esi, byte [rdi + rsi]
movzx edi, byte [rsp + 0x4b]
xor edi, esi
movzx esi, dil
lea rdi, [0x006e13a0]
movzx eax, byte [rsi + rdi]
mov ebx, 3
nop dword [rax + rax]
call sym.golang.org_x_crypto_twofish.mdsColumnMult
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov dword [rdx + rcx*4 + 0xc00], eax
inc rcx
mov rax, rdx
cmp rcx, 0x100
jl 0x4ff47a
jmp 0x4ff28d
mov r10d, ecx
shl r10d, 1
mov byte [rsp + rdx + 0x3f], r10b
inc rdx
cmp rdx, 4
jl 0x4ff614
jmp 0x4fef70
lea r10d, [rdx + rdx]
lea r10d, [r10 + 1]
mov byte [rsp + rcx + 0x3f], r10b
inc rcx
nop dword [rax]
cmp rcx, 4
jl 0x4ff62d
jmp 0x4fefb1
mov rax, rdx
mov ecx, 0x28
call sym.runtime.panicIndex
mov rax, rdx
mov ecx, 0x28
call sym.runtime.panicIndex
inc rdi
cmp rdi, 4
jge 0x4feee2
mov r8, qword [rsp + rdi*8 + 0x5c]
mov qword [rsp + 0x54], r8
xor r8d, r8d
nop
jmp 0x4ff693
movzx r9d, byte [rsp + r10 + 0x44]
xor r9d, r11d
mov byte [rsp + r10 + 0x44], r9b
inc r8
cmp r8, 8
jge 0x4ff665
lea r9, [r8 + rsi*8]
nop dword [rax]
cmp rdx, r9
jbe 0x4ff765
movzx r10d, byte [rsp + r8 + 0x54]
movzx r9d, byte [rax + r9]
mov qword [rsp + 0x84], 0
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x7c], 0
mov dword [rsp + 0x80], 0x14d
xor r10d, r10d
xor r11d, r11d
jmp 0x4ff718
lea r10, [rdi + rsi*4]
and r9d, 1
mov r9d, dword [rsp + r9*4 + 0x84]
xor r11d, r9d
cmp r10, 0x10
jb 0x4ff682
jmp 0x4ff748
shl r15d, 1
xor r15d, dword [rsp + r13*4 + 0x7c]
mov dword [rsp + 0x88], r15d
inc r10
shr r12b, 1
mov r9d, r12d
cmp r10, 7
jge 0x4ff6e4
mov r12d, r9d
and r9d, 1
mov r9d, dword [rsp + r9*4 + 0x84]
mov r13d, dword [rsp + 0x88]
mov r15d, r13d
shr r13d, 7
xor r11d, r9d
nop
cmp r13, 2
jb 0x4ff6ff
jmp 0x4ff755
mov rax, r10
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, r13d
mov ecx, 2
nop dword [rax]
call sym.runtime.panicIndex
mov rax, r9
mov rcx, rdx
call sym.runtime.panicIndex
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.golang.org_x_crypto_twofish.NewCipher