Function at 0x140002ec0
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0x40]
mov r10, qword [rcx + 0x30]
mov ebx, dword [rcx + 0x20]
mov r9, qword [rcx + 0x18]
mov r15, r10
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x28]
mov r8, rcx
and r15, rdx
mov dword [rsp + 0x20], ebx
mov ecx, eax
mov dword [rsp + 0x24], eax
shr rdx, cl
mov r14, rdx
test ebx, ebx
je 0x140003015
lea rcx, [0x140056680]
mov qword [rsp + 0x28], rax
mov edx, 1
lea r11, [0x140056c80]
mov qword [rsp + 0x10], rcx
lea r13, [0x140056780]
lea r12, [0x140056980]
mov qword [rsp + 0x80], r8
lea rbp, [0x140056580]
lea rdi, [0x140056b80]
mov qword [rsp + 8], r11
lea rsi, [0x140056880]
lea rbx, [0x140056a80]
nop dword [rax]
mov ecx, edx
mov rax, r9
mov r11, qword [rsp + 0x10]
ror rax, cl
xor rax, r14
mov rcx, rax
mov r8, rax
shr rcx, 8
shr r8, 0x10
and r8d, 0x3f
and ecx, 0x3f
mov ecx, dword [r13 + rcx*4]
xor ecx, dword [r12 + r8*4]
mov r8, rax
shr rax, 0x18
and r8d, 0x3f
and eax, 0x3f
xor ecx, dword [rbp + r8*4]
xor ecx, dword [rdi + rax*4]
mov rax, r9
add rcx, r15
and rcx, r10
mov r15, rcx
lea ecx, [rdx + 1]
add edx, 2
ror rax, cl
xor rax, r15
mov rcx, rax
mov r8, rax
shr rcx, 8
shr r8, 0x10
and r8d, 0x3f
and ecx, 0x3f
mov ecx, dword [rsi + rcx*4]
xor ecx, dword [rbx + r8*4]
mov r8, rax
shr rax, 0x18
and r8d, 0x3f
and eax, 0x3f
xor ecx, dword [r11 + r8*4]
mov r11, qword [rsp + 8]
xor ecx, dword [r11 + rax*4]
add rcx, r14
and rcx, qword [rsp + 0x18]
mov r14, rcx
cmp dword [rsp + 0x20], edx
jae 0x140002f60
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov ecx, eax
shl r14, cl
lea rax, [r14 + r15]
mov r15, qword [r8]
cmp rax, r15
jb 0x140003048
mov r8d, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
mov rdx, r10
and rdx, rax
shr rax, cl
test r8d, r8d
jne 0x140003060
shl rax, cl
add rax, rdx
cmp rax, r15
jae 0x14000302f
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140056680]
mov qword [rsp + 0x28], r15
lea r13, [0x140056780]
mov qword [rsp + 0x10], rcx
lea r12, [0x140056980]
lea rbp, [0x140056580]
lea rdi, [0x140056b80]
lea rsi, [0x140056880]
lea rbx, [0x140056a80]
lea r11, [0x140056c80]
nop word cs:[rax + rax]
nop dword [rax]
mov qword [rsp + 8], r10
mov r8d, 1
nop dword [rax + rax]
mov ecx, r8d
mov r15, r9
mov r10, qword [rsp + 0x10]
ror r15, cl
mov rcx, r15
xor rcx, rax
mov r14, rcx
mov r15, rcx
shr r14, 8
shr r15, 0x10
and r15d, 0x3f
and r14d, 0x3f
mov r14d, dword [r13 + r14*4]
xor r14d, dword [r12 + r15*4]
mov r15, rcx
shr rcx, 0x18
and r15d, 0x3f
and ecx, 0x3f
xor r14d, dword [rbp + r15*4]
xor r14d, dword [rdi + rcx*4]
lea ecx, [r8 + 1]
mov r15, r9
add r14, rdx
mov rdx, qword [rsp + 8]
ror r15, cl
add r8d, 2
mov rcx, r15
and rdx, r14
xor rcx, rdx
mov r14, rcx
mov r15, rcx
shr r14, 8
shr r15, 0x10
and r15d, 0x3f
and r14d, 0x3f
mov r14d, dword [rsi + r14*4]
xor r14d, dword [rbx + r15*4]
mov r15, rcx
shr rcx, 0x18
and r15d, 0x3f
and ecx, 0x3f
xor r14d, dword [r10 + r15*4]
xor r14d, dword [r11 + rcx*4]
add r14, rax
mov rax, qword [rsp + 0x18]
and rax, r14
cmp dword [rsp + 0x20], r8d
jae 0x1400030c0
mov r8d, dword [rsp + 0x24]
mov r10, qword [rsp + 8]
mov ecx, r8d
shl rax, cl
add rax, rdx
mov rdx, qword [rsp + 0x28]
cmp rax, rdx
jb 0x140003048
mov rdx, r10
and rdx, rax
shr rax, cl
jmp 0x1400030b0