Function at 0x140042690
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x20], rdx
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14004284c
mov rdi, qword [rcx + 0x20]
imul r15, rax, 0xa8
add r15, rdi
lea r12, [rsp + 0x48]
xor r14d, r14d
movabs rbp, 0x6c7967656e657261
movabs rsi, 0x646f72616e646f6d
movabs r13, 0x7465646279746573
xorps xmm6, xmm6
lea rbx, [rsp + 0x28]
nop word cs:[rax + rax]
movabs rax, 0x736f6d6570736575
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r13
movups xmmword [r12 + 0x10], xmm6
movups xmmword [r12], xmm6
mov qword [r12 + 0x20], 0
mov rcx, rdi
mov rdx, rbx
call fcn.1400432e0
lea rcx, [rdi + 0x50]
mov rdx, rbx
call fcn.1400432e0
mov rax, qword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
shl r9, 0x38
or r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x30]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
add rdx, rcx
rol rcx, 0x10
xor rax, r8
xor rcx, rdx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, r14
mov r14, rdx
rol r14, 0x20
xor r14, rax
xor r14, rcx
xor r14, rdx
add rdi, 0xa8
cmp rdi, r15
jne 0x140042700
jmp 0x14004284f
xor r14d, r14d
mov qword [rsp + 0x28], r14
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, qword [rsp + 0x20]
call fcn.14001b780
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rdi, rcx
lea rbx, [rsp + 0x28]
mov r14d, 1
jmp 0x140043321
xor r8d, r8d
mov rcx, rsi
call fcn.14001b780
mov byte [rsp + 0x28], 0xff
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.14001b780
movzx r15d, byte [rdi]
mov qword [rsp + 0x28], r15
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
call fcn.14001b780
cmp r15, 6
jne 0x140043368
mov rdi, qword [rdi + 8]
mov rdx, qword [rdi + 0x50]
mov r8, qword [rdi + 0x60]
test r8, r8
je 0x140043300
cmp byte [rdx], 0x21
jne 0x140043303
xor eax, eax
dec r8
setne al
cmove r8, r14
add rdx, rax
jmp 0x140043303
lea rax, [0x14004346c]
movsxd rcx, dword [rax + r15*4]
add rcx, rax
jmp rcx
movzx eax, byte [rdi + 1]
mov byte [rsp + 0x28], al
jmp 0x1400433c2
mov rax, qword [rdi + 8]
test rax, rax
je 0x140043394
cmp eax, 1
jne 0x140043444
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov r8d, 8
jmp 0x140043457
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
mov rcx, rsi
call fcn.14001b780
mov byte [rsp + 0x28], 0xff
lea rdx, [rsp + 0x28]
mov r8d, 1
mov rcx, rsi
call fcn.14001b780
jmp case.0x140043376.0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x18]
mov qword [rsp + 0x28], rdi
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, rsi
call fcn.14001b780
test rdi, rdi
je case.0x140043376.0
shl rdi, 4
lea rdi, [rdi + rdi*4]
nop word [rax + rax]
lea r14, [rbx + 0x50]
mov rcx, rbx
mov rdx, rsi
call fcn.1400432e0
mov rbx, r14
add rdi, 0xffffffffffffffb0
jne 0x140043410
jmp case.0x140043376.0
add rdi, 8
mov rcx, rdi
mov rdx, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x140042690
mov dword [rsp + 0x28], 3
lea rdx, [rsp + 0x28]
mov r8d, 4
mov rcx, rsi
call fcn.14001b780
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret