Function at 0x14000611e
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
test r8, r8
je 0x140006cde
cmp r8, 1
je 0x140006cde
cmp r8, 2
jbe 0x140006cde
cmp r8, 3
je 0x140006cde
mov rsi, rcx
lea r8, [rdx + 0x10]
lea r9, [rdx + 0x20]
lea rax, [rdx + 0x30]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd0], r9
call fcn.14000584b
xor eax, eax
mov rcx, qword [rsi + rax*8 + 0x380]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x1400061af
lea rcx, [rsp + 0x40]
call fcn.140005df2
xor eax, eax
movabs rcx, 0xff000000ff0000
mov rbp, qword [rsp + rax + 0x40]
mov rdx, rbp
shr rdx, 8
xor rdx, rbp
and rdx, rcx
mov rbx, rdx
shl rbx, 8
xor rdx, rbp
xor rdx, rbx
mov qword [rsp + rax + 0x40], rdx
add rax, 8
cmp rax, 0x40
jne 0x1400061df
lea rdx, [rsi + 0x340]
lea rax, [rsi + 0x300]
lea rcx, [rsi + 0x2c0]
mov qword [rsp + 0xc0], rsi
lea rbp, [rsi + 0x280]
mov ebx, 0x68
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
xor eax, eax
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140006258
mov qword [rsp + 0xf0], rdx
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x90], r13
mov r14, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rax, r13
rol rax, 0x2c
mov r8, qword [rsp + 0x70]
movabs rbp, 0xfff0fff0fff0fff
and rax, rbp
rol r13, 0x3c
movabs r12, 0xf000f000f000f000
and r13, r12
or r13, rax
mov rax, r14
rol rax, 0x2c
and rax, rbp
mov rbx, r14
rol rbx, 0x3c
and rbx, r12
or rbx, rax
mov qword [rsp + 0x38], r10
mov rax, r10
rol rax, 0x2c
and rax, rbp
rol r10, 0x3c
and r10, r12
or r10, rax
mov rax, r11
rol rax, 0x2c
mov rdi, r11
rol rdi, 0x3c
and rax, rbp
and rdi, r12
mov qword [rsp + 0x88], rdx
mov rcx, rdx
rol rcx, 0x2c
or rdi, rax
and rcx, rbp
rol rdx, 0x3c
and rdx, r12
or rdx, rcx
mov rcx, rsi
mov qword [rsp + 0x30], rsi
mov rax, rsi
rol rax, 0x2c
and rax, rbp
rol rcx, 0x3c
and rcx, r12
or rcx, rax
mov r9, r8
mov rsi, r8
rol rsi, 0x2c
and rsi, rbp
rol r8, 0x3c
and r8, r12
or r8, rsi
mov r15, qword [rsp + 0x78]
mov rsi, r15
rol rsi, 0x2c
and rsi, rbp
mov rbp, r15
rol rbp, 0x3c
and rbp, r12
or rbp, rsi
xor rbx, r14
mov rax, qword [rsp + 0x38]
xor r10, rax
xor rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x30]
xor rcx, rsi
xor r8, r9
xor rbp, r15
xor rax, rbx
mov r12, rax
mov qword [rsp + 0x38], rax
xor rsi, rdx
mov qword [rsp + 0x30], rsi
xor r9, rcx
xor r15, r8
mov rsi, r15
xor rsi, r9
xor rbx, rsi
xor rdx, rax
xor rdx, rsi
mov rsi, qword [rsp + 0x90]
xor r13, rsi
xor rdi, r11
xor rsi, rbp
xor r14, r13
xor r11, r10
mov qword [rsp + 0x90], r11
xor r13, r9
mov r11, r9
xor r10, r15
xor r10, rsi
mov r9, rsi
mov rsi, r13
rol rsi, 0x18
xor r9, r13
movabs rax, 0xff00ff00ff00ff
and rsi, rax
rol r13, 0x28
movabs r12, 0xff00ff00ff00ff00
and r13, r12
or r13, rsi
xor r13, r9
xor r14, rbp
mov rax, qword [rsp + 0x88]
xor rax, rdi
xor rdi, r11
xor rdi, r14
mov qword [rsp + 0x40], r13
xor r14, rbx
mov rsi, rbx
rol rsi, 0x18
movabs r9, 0xff00ff00ff00ff
and rsi, r9
rol rbx, 0x28
and rbx, r12
or rbx, rsi
xor rbx, r14
mov qword [rsp + 0x48], rbx
mov rbx, r10
rol rbx, 0x18
mov rsi, qword [rsp + 0x38]
xor rsi, r10
and rbx, r9
mov r14, r9
rol r10, 0x28
and r10, r12
or r10, rbx
xor r10, rsi
mov rsi, qword [rsp + 0x90]
xor rsi, rbp
xor rcx, r15
xor rcx, rsi
mov qword [rsp + 0x50], r10
xor rsi, rdi
mov rbx, rdi
rol rbx, 0x18
rol rdi, 0x28
and rbx, r9
and rdi, r12
or rdi, rbx
xor rdi, rsi
xor rax, rbp
xor r8, rax
mov qword [rsp + 0x58], rdi
xor rax, rdx
mov rbx, rdx
rol rbx, 0x18
rol rdx, 0x28
mov rdi, r9
and rbx, r9
and rdx, r12
or rdx, rbx
xor rdx, rax
mov rax, qword [rsp + 0x30]
xor rbp, rax
mov qword [rsp + 0x60], rdx
mov rdx, rcx
rol rdx, 0x18
xor rax, rcx
and rdx, r9
rol rcx, 0x28
and rcx, r12
or rcx, rdx
xor rcx, rax
mov qword [rsp + 0x68], rcx
xor r11, r8
mov rcx, r8
rol rcx, 0x18
and rcx, r9
rol r8, 0x28
and r8, r12
or r8, rcx
xor r8, r11
mov qword [rsp + 0x70], r8
mov rax, rbp
rol rax, 0x18
xor r15, rbp
and rax, r9
rol rbp, 0x28
and rbp, r12
or rbp, rax
xor rbp, r15
mov qword [rsp + 0x78], rbp
lea rcx, [rsp + 0x40]
call fcn.140005df2
cmp qword [rsp + 0x98], 8
je 0x140006ce2
xor eax, eax
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140006569
mov r10, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x38], rdx
mov r11, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x30], r9
mov r12, r10
rol r12, 0x30
mov rbp, r13
rol rbp, 0x30
mov rdi, rax
mov r8, rax
rol rdi, 0x30
mov rsi, r15
rol rsi, 0x30
mov rbx, r14
rol rbx, 0x30
rol rdx, 0x30
mov rcx, r11
rol rcx, 0x30
mov rax, r9
rol rax, 0x30
xor r12, r10
xor rbp, r13
xor rdi, r8
xor rsi, r15
xor rbx, r14
mov r9, qword [rsp + 0x38]
xor rdx, r9
xor rcx, r11
xor rax, qword [rsp + 0x30]
xor r10, rax
xor r13, r12
xor r8, rbp
mov qword [rsp + 0x88], r8
xor r15, rdi
xor r9, rbx
mov qword [rsp + 0x38], r9
xor r11, rdx
mov r9, qword [rsp + 0x30]
xor r9, rcx
mov qword [rsp + 0x30], r9
xor r12, r11
mov r8, r9
xor r8, r11
xor rbp, r8
xor rdi, r9
xor rdi, r10
mov r9, qword [rsp + 0x88]
xor rbx, r9
xor r10, r12
rol r12, 0x20
xor rbx, r8
xor r12, r10
mov qword [rsp + 0x40], r12
xor r13, rax
xor r14, rsi
xor rsi, r11
xor rsi, r13
xor r13, rbp
rol rbp, 0x20
xor rbp, r13
mov qword [rsp + 0x48], rbp
xor r9, rdi
rol rdi, 0x20
xor rdi, r9
mov qword [rsp + 0x50], rdi
xor r15, rax
mov rdi, qword [rsp + 0x30]
xor rdx, rdi
xor rdx, r15
xor r15, rsi
rol rsi, 0x20
xor rsi, r15
mov qword [rsp + 0x58], rsi
xor r14, rax
xor rcx, r14
xor r14, rbx
rol rbx, 0x20
xor rbx, r14
mov qword [rsp + 0x60], rbx
mov rbp, qword [rsp + 0x38]
xor rax, rbp
xor rbp, rdx
rol rdx, 0x20
xor rdx, rbp
xor r11, rcx
rol rcx, 0x20
mov qword [rsp + 0x68], rdx
xor rcx, r11
mov qword [rsp + 0x70], rcx
mov rcx, rdi
xor rcx, rax
rol rax, 0x20
xor rax, rcx
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x40]
call fcn.140005df2
mov rax, qword [rsp + 0x98]
add rax, 0xfffffffffffffff0
mov qword [rsp + 0xa0], rax
xor eax, eax
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x14000671f
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov rax, r15
rol rax, 0x24
mov r8, qword [rsp + 0x70]
movabs r9, 0xf000f000f000f
and rax, r9
mov r13, r15
rol r13, 0x34
movabs r10, 0xfff0fff0fff0fff0
and r13, r10
or r13, rax
mov rax, r14
rol rax, 0x24
and rax, r9
mov rbx, r14
rol rbx, 0x34
and rbx, r10
or rbx, rax
mov qword [rsp + 0x88], rsi
mov rax, rsi
rol rax, 0x24
and rax, r9
rol rsi, 0x34
and rsi, r10
or rsi, rax
mov qword [rsp + 0x38], rdi
mov rax, rdi
rol rax, 0x24
rol rdi, 0x34
and rax, r9
and rdi, r10
mov rdx, rbp
mov qword [rsp + 0x90], rbp
mov rcx, rbp
rol rcx, 0x24
or rdi, rax
and rcx, r9
rol rdx, 0x34
and rdx, r10
or rdx, rcx
mov rcx, r11
mov qword [rsp + 0x30], r11
mov rax, r11
rol rax, 0x24
and rax, r9
rol rcx, 0x34
and rcx, r10
or rcx, rax
mov qword [rsp + 0xe8], r8
mov rbp, r8
rol rbp, 0x24
and rbp, r9
rol r8, 0x34
and r8, r10
or r8, rbp
mov r11, qword [rsp + 0x78]
mov r12, r11
rol r12, 0x24
and r12, r9
mov rbp, r11
rol rbp, 0x34
and rbp, r10
or rbp, r12
xor rbx, r14
mov r9, qword [rsp + 0x88]
xor rsi, r9
xor rdx, qword [rsp + 0x90]
mov r10, qword [rsp + 0x30]
xor rcx, r10
mov r12, qword [rsp + 0xe8]
xor r8, r12
xor rbp, r11
xor r9, rbx
mov qword [rsp + 0x88], r9
xor r10, rdx
mov qword [rsp + 0x30], r10
mov rax, r12
xor rax, rcx
xor r11, r8
mov r12, r11
xor r12, rax
xor rbx, r12
xor rdx, r9
xor rdx, r12
xor r13, r15
mov r9, qword [rsp + 0x38]
xor rdi, r9
xor r15, rbp
xor r14, r13
xor r9, rsi
mov qword [rsp + 0x38], r9
xor r13, rax
mov r9, rax
xor rsi, r11
xor rsi, r15
mov r12, r13
rol r12, 0x18
xor r15, r13
movabs rax, 0xff00ff00ff00ff
and r12, rax
rol r13, 0x28
movabs r10, 0xff00ff00ff00ff00
and r13, r10
or r13, r12
xor r13, r15
xor r14, rbp
mov rax, qword [rsp + 0x90]
xor rax, rdi
mov r12, r9
xor rdi, r9
xor rdi, r14
mov qword [rsp + 0x40], r13
xor r14, rbx
mov r9, rbx
rol r9, 0x18
movabs r15, 0xff00ff00ff00ff
and r9, r15
rol rbx, 0x28
and rbx, r10
or rbx, r9
xor rbx, r14
mov qword [rsp + 0x48], rbx
mov rbx, rsi
rol rbx, 0x18
mov r9, qword [rsp + 0x88]
xor r9, rsi
and rbx, r15
mov r14, r15
rol rsi, 0x28
and rsi, r10
or rsi, rbx
xor rsi, r9
mov rbx, qword [rsp + 0x38]
xor rbx, rbp
xor rcx, r11
xor rcx, rbx
mov qword [rsp + 0x50], rsi
xor rbx, rdi
mov rsi, rbx
mov rbx, rdi
rol rbx, 0x18
rol rdi, 0x28
and rbx, r15
and rdi, r10
or rdi, rbx
xor rdi, rsi
xor rax, rbp
xor r8, rax
mov qword [rsp + 0x58], rdi
xor rax, rdx
mov rbx, rdx
rol rbx, 0x18
rol rdx, 0x28
mov rdi, r15
and rbx, r15
and rdx, r10
or rdx, rbx
xor rdx, rax
mov rax, qword [rsp + 0x30]
xor rbp, rax
mov qword [rsp + 0x60], rdx
mov rdx, rcx
rol rdx, 0x18
xor rax, rcx
and rdx, r15
rol rcx, 0x28
and rcx, r10
or rcx, rdx
xor rcx, rax
mov qword [rsp + 0x68], rcx
mov rax, r12
xor rax, r8
mov rcx, r8
rol rcx, 0x18
and rcx, r15
rol r8, 0x28
and r8, r10
or r8, rcx
xor r8, rax
mov qword [rsp + 0x70], r8
mov rax, rbp
rol rax, 0x18
xor r11, rbp
and rax, r15
rol rbp, 0x28
and rbp, r10
or rbp, rax
xor rbp, r11
mov qword [rsp + 0x78], rbp
lea rcx, [rsp + 0x40]
call fcn.140005df2
mov rax, qword [rsp + 0x98]
add rax, 0xffffffffffffffe8
cmp qword [rsp + 0xa0], rax
jb 0x140006cde
xor eax, eax
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140006a49
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x88], rsi
mov r12, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov rax, rsi
rol rax, 0x28
mov r10, qword [rsp + 0x70]
movabs r13, 0xff00ff00ff00ff
and rax, r13
rol rsi, 0x38
movabs r9, 0xff00ff00ff00ff00
and rsi, r9
or rsi, rax
mov rax, r12
rol rax, 0x28
and rax, r13
mov rdi, r12
rol rdi, 0x38
and rdi, r9
or rdi, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
rol rax, 0x28
and rax, r13
rol rcx, 0x38
and rcx, r9
or rcx, rax
mov rax, r15
rol rax, 0x28
mov rbp, r15
rol rbp, 0x38
and rax, r13
and rbp, r9
mov rdx, r14
rol rdx, 0x28
or rbp, rax
and rdx, r13
mov rax, r14
mov qword [rsp + 0x90], r14
rol rax, 0x38
and rax, r9
or rax, rdx
mov rdx, r8
mov qword [rsp + 0x30], r8
mov rbx, r8
rol rbx, 0x28
and rbx, r13
rol rdx, 0x38
and rdx, r9
or rdx, rbx
mov rbx, r10
mov qword [rsp + 0xa0], r10
mov r8, r10
rol r8, 0x28
and r8, r13
rol rbx, 0x38
and rbx, r9
or rbx, r8
mov r11, qword [rsp + 0x78]
mov r8, r11
rol r8, 0x28
and r8, r13
mov r13, r11
rol r13, 0x38
and r13, r9
or r13, r8
mov r9, qword [rsp + 0x88]
xor rsi, r9
xor rdi, r12
mov r8, qword [rsp + 0x38]
xor rcx, r8
xor rbp, r15
xor rax, r14
mov r10, qword [rsp + 0x30]
xor rdx, r10
mov r14, qword [rsp + 0xa0]
xor rbx, r14
xor r13, r11
xor r9, r13
xor r12, rsi
xor r8, rdi
mov qword [rsp + 0x38], r8
xor r15, rcx
xor r10, rax
mov qword [rsp + 0x30], r10
xor r14, rdx
xor r11, rbx
xor rsi, r14
mov r8, r11
xor r8, r14
xor rdi, r8
xor rcx, r11
xor rcx, r9
mov r10, qword [rsp + 0x38]
xor rax, r10
xor r9, rsi
rol rsi, 0x20
xor rax, r8
xor rsi, r9
mov qword [rsp + 0x40], rsi
xor r12, r13
mov rsi, qword [rsp + 0x90]
xor rsi, rbp
xor rbp, r14
xor rbp, r12
xor r12, rdi
rol rdi, 0x20
xor rdi, r12
mov qword [rsp + 0x48], rdi
xor r10, rcx
rol rcx, 0x20
xor rcx, r10
mov qword [rsp + 0x50], rcx
xor r15, r13
xor rdx, r11
xor rdx, r15
xor r15, rbp
rol rbp, 0x20
xor rbp, r15
mov qword [rsp + 0x58], rbp
mov rcx, rsi
xor rcx, r13
xor rbx, rcx
xor rcx, rax
rol rax, 0x20
xor rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
xor r13, rax
xor rax, rdx
rol rdx, 0x20
xor rdx, rax
xor r14, rbx
rol rbx, 0x20
mov qword [rsp + 0x68], rdx
xor rbx, r14
mov qword [rsp + 0x70], rbx
xor r11, r13
rol r13, 0x20
xor r13, r11
mov qword [rsp + 0x78], r13
lea rcx, [rsp + 0x40]
call fcn.140005df2
mov rbp, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
add rbx, 0xffffffffffffffe0
mov rdx, qword [rsp + 0xf0]
mov rdi, 0xffffffffffffff00
add rdx, rdi
mov rax, qword [rsp + 0xb8]
add rax, rdi
mov rcx, qword [rsp + 0xb0]
add rcx, rdi
add rbp, rdi
mov qword [rsp + 0x98], rbx
cmp rbx, 0xfffffffffffffff8
jne 0x14000623e
ud2
xor eax, eax
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x40], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140006cec
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov rdi, rdx
shr rdi, 1
xor rdi, rcx
movabs r10, 0x5555555555555555
and rdi, r10
xor rcx, rdi
add rdi, rdi
xor rdi, rdx
mov rdx, rbx
shr rdx, 1
xor rdx, r8
and rdx, r10
xor r8, rdx
add rdx, rdx
xor rdx, rbx
mov rsi, rbp
shr rsi, 1
xor rsi, r9
and rsi, r10
xor r9, rsi
add rsi, rsi
xor rsi, rbp
mov rbx, rax
shr rbx, 1
xor rbx, r13
and rbx, r10
xor r13, rbx
add rbx, rbx
xor rbx, rax
mov rax, rdi
shr rax, 2
xor rax, rdx
movabs r10, 0x3333333333333333
and rax, r10
xor rdx, rax
shl rax, 2
xor rax, rdi
mov rbp, rcx
shr rbp, 2
xor rbp, r8
and rbp, r10
xor r8, rbp
shl rbp, 2
xor rbp, rcx
mov rdi, rsi
shr rdi, 2
xor rdi, rbx
and rdi, r10
xor rbx, rdi
shl rdi, 2
xor rdi, rsi
mov rsi, r9
shr rsi, 2
xor rsi, r13
and rsi, r10
xor r13, rsi
shl rsi, 2
xor rsi, r9
mov rcx, rax
shr rcx, 4
xor rcx, rdi
movabs r9, 0xf0f0f0f0f0f0f0f
and rcx, r9
xor rdi, rcx
shl rcx, 4
xor rcx, rax
mov r14, rbp
shr r14, 4
xor r14, rsi
and r14, r9
xor rsi, r14
shl r14, 4
xor r14, rbp
mov r15, rdx
shr r15, 4
xor r15, rbx
and r15, r9
xor rbx, r15
shl r15, 4
xor r15, rdx
mov r12, r8
shr r12, 4
xor r12, r13
and r12, r9
xor r13, r12
shl r12, 4
xor r12, r8
mov rbp, qword [rsp + 0xe0]
mov rdx, rbp
call fcn.1400060df
lea rdx, [rbp + 4]
mov rcx, rdi
call fcn.1400060df
mov rcx, r14
mov rdx, qword [rsp + 0xc8]
call fcn.1400060df
lea rdx, [rbp + 0x14]
mov rcx, rsi
call fcn.1400060df
mov rcx, r15
mov rdx, qword [rsp + 0xd0]
call fcn.1400060df
lea rdx, [rbp + 0x24]
mov rcx, rbx
call fcn.1400060df
mov rcx, r12
mov rdx, qword [rsp + 0xd8]
call fcn.1400060df
add rbp, 0x34
mov rcx, r13
mov rdx, rbp
call fcn.1400060df
nop
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret