Function at 0x491780
Capabilities:
Encode data using xor
Encrypt data using twofish

Disassembly:
push rbp
sub rsp, 0x130
mov rbp, rsp
mov qword [rbp + 0x140], rcx
mov rcx, qword [rbp + 0x140]
lea rdx, [rbp + 0x30]
lea r8, [0x007433c4]
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x34]
mov r9, rbp
neg r9
mov r9d, dword [rax + r9]
call fcn.00491720
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x30]
mov rcx, rbp
neg rcx
movzx rax, byte [rax + rcx]
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x28], 0
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x20]
mov rcx, rbp
neg rcx
mov rax, qword [rax + rcx]
movsxd rcx, dword [rbp + 0x28]
lea rdx, [0x007435c4]
lea r8, [0x007433c4]
movsxd r9, dword [rbp + 0x28]
movzx r9, byte [r9 + rbp + 0x30]
movzx r8, byte [r8 + r9]
xor r8d, dword [rbp + 0x2c]
movsxd r8, r8d
mov edx, dword [rdx + r8*4]
mov dword [rax + rcx*4], edx
add dword [rbp + 0x28], 1
cmp dword [rbp + 0x28], 0x100
jne 0x4917e0
nop
mov rcx, qword [rbp + 0x140]
lea rdx, [rbp + 0x30]
lea r8, [0x007434c4]
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x34]
mov r9, rbp
neg r9
mov r9d, dword [rax + r9]
shr r9d, 8
call fcn.00491720
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x31]
mov rcx, rbp
neg rcx
movzx rax, byte [rax + rcx]
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x28], 0
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x20]
mov rcx, rbp
neg rcx
mov rax, qword [rax + rcx]
movsxd rcx, dword [rbp + 0x28]
lea rdx, [0x007439c4]
lea r8, [0x007433c4]
movsxd r9, dword [rbp + 0x28]
movzx r9, byte [r9 + rbp + 0x30]
movzx r8, byte [r8 + r9]
xor r8d, dword [rbp + 0x2c]
movsxd r8, r8d
mov edx, dword [rdx + r8*4]
mov dword [rax + rcx*4 + 0x400], edx
add dword [rbp + 0x28], 1
cmp dword [rbp + 0x28], 0x100
jne 0x491885
nop
mov rcx, qword [rbp + 0x140]
lea rdx, [rbp + 0x30]
lea r8, [0x007433c4]
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x34]
mov r9, rbp
neg r9
mov r9d, dword [rax + r9]
shr r9d, 0x10
call fcn.00491720
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x32]
mov rcx, rbp
neg rcx
movzx rax, byte [rax + rcx]
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x28], 0
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x20]
mov rcx, rbp
neg rcx
mov rax, qword [rax + rcx]
movsxd rcx, dword [rbp + 0x28]
lea rdx, [0x00743dc4]
lea r8, [0x007434c4]
movsxd r9, dword [rbp + 0x28]
movzx r9, byte [r9 + rbp + 0x30]
movzx r8, byte [r8 + r9]
xor r8d, dword [rbp + 0x2c]
movsxd r8, r8d
mov edx, dword [rdx + r8*4]
mov dword [rax + rcx*4 + 0x800], edx
add dword [rbp + 0x28], 1
cmp dword [rbp + 0x28], 0x100
jne 0x49192e
nop
mov rcx, qword [rbp + 0x140]
lea rdx, [rbp + 0x30]
lea r8, [0x007434c4]
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x34]
mov r9, rbp
neg r9
mov r9d, dword [rax + r9]
shr r9d, 0x18
call fcn.00491720
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x33]
mov rcx, rbp
neg rcx
movzx rax, byte [rax + rcx]
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x28], 0
mov rax, qword [rbp + 0x140]
lea rax, [rax + rbp + 0x20]
mov rcx, rbp
neg rcx
mov rax, qword [rax + rcx]
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.9g
lea r8, [0x007434c4]
movsxd r9, dword [rbp + 0x28]
movzx r9, byte [r9 + rbp + 0x30]
movzx r8, byte [r8 + r9]
xor r8d, dword [rbp + 0x2c]
movsxd r8, r8d
mov edx, dword [rdx + r8*4]
mov dword [rax + rcx*4 + 0xc00], edx
add dword [rbp + 0x28], 1
cmp dword [rbp + 0x28], 0x100
jne 0x4919d7
nop
lea rsp, [rbp + 0x130]
pop rbp
ret