Function at 0x18002d760
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, r8
mov r13, rdx
mov rsi, rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rdx, r9
mov rcx, r13
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov dword [rsp + 0x20], 1
mov qword [rsi + 0x38], r13
mov r8, r14
movzx edx, byte [rsi + 0x28]
mov rcx, rsi
call sym.OnePiece.dll_private:_void___cdecl_AESCodec::addRoundKey_unsigned_char__class_QByteArray_const____ptr64____ptr64
movzx r12d, byte [rsi + 0x28]
sub r12b, 1
je 0x18002d89b
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov r8, rax
movzx edx, byte [rax + 0xd]
movzx ecx, byte [rax + 9]
mov byte [rax + 0xd], cl
movzx ecx, byte [rax + 5]
mov byte [rax + 9], cl
movzx ecx, byte [rax + 1]
mov byte [rax + 5], cl
mov byte [rax + 1], dl
movzx ecx, byte [rax + 0xa]
movzx eax, byte [rax + 2]
mov byte [r8 + 0xa], al
mov byte [r8 + 2], cl
movzx ecx, byte [r8 + 0xe]
movzx eax, byte [r8 + 6]
mov byte [r8 + 0xe], al
mov byte [r8 + 6], cl
movzx ecx, byte [r8 + 7]
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 7], al
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 0xb], al
movzx eax, byte [r8 + 3]
mov byte [r8 + 0xf], al
mov byte [r8 + 3], cl
mov rcx, rsi
call sym.OnePiece.dll_private:_void___cdecl_AESCodec::invSubBytes_void____ptr64
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov rdi, rax
mov ebx, ebp
movzx r15d, r12b
shl r15d, 2
nop dword [rax]
nop dword [rax + rax]
mov edx, ebx
shr edx, 2
add edx, r15d
imul edx, dword [rsi + 0x10]
mov eax, ebx
and eax, 3
add edx, eax
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor byte [rdi], al
inc ebx
lea rdi, [rdi + 1]
cmp ebx, 0x10
jl 0x18002d860
mov rcx, rsi
call sym.OnePiece.dll_private:_void___cdecl_AESCodec::invMixColumns_void____ptr64
add r12b, 0xff
jne 0x18002d7c6
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov r8, rax
movzx edx, byte [rax + 0xd]
movzx ecx, byte [rax + 9]
mov byte [rax + 0xd], cl
movzx ecx, byte [rax + 5]
mov byte [rax + 9], cl
movzx ecx, byte [rax + 1]
mov byte [rax + 5], cl
mov byte [rax + 1], dl
movzx ecx, byte [rax + 0xa]
movzx eax, byte [rax + 2]
mov byte [r8 + 0xa], al
mov byte [r8 + 2], cl
movzx ecx, byte [r8 + 0xe]
movzx eax, byte [r8 + 6]
mov byte [r8 + 0xe], al
mov byte [r8 + 6], cl
movzx ecx, byte [r8 + 7]
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 7], al
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 0xb], al
movzx eax, byte [r8 + 3]
mov byte [r8 + 0xf], al
mov byte [r8 + 3], cl
mov rcx, rsi
call sym.OnePiece.dll_private:_void___cdecl_AESCodec::invSubBytes_void____ptr64
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov rbx, rax
nop
mov edx, ebp
shr edx, 2
imul edx, dword [rsi + 0x10]
mov ecx, ebp
and ecx, 3
add edx, ecx
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor byte [rbx], al
inc ebp
lea rbx, [rbx + 1]
cmp ebp, 0x10
jl 0x18002d920
mov rax, r13
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret