Function at 0x1400565e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rbx, r8
mov r8, rdx
mov rsi, rcx
mov eax, dword [0x141dc7170]
sub eax, dword [0x141dc7174]
shr eax, 2
imul rax, rax, 0x52b3aa5d
shr rax, 0x39
and eax, 4
cmp eax, 0x86da5be8
je 0x140056662
mov ecx, dword [0x141dc7178]
and ecx, dword [str._Ewc]
or ecx, 0x48024240
and ecx, 0xd8264e73
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
cmp ecx, 0x57cf89b3
jne 0x14005667e
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
jmp 0x140056622
mov eax, dword [0x141dc7180]
and eax, dword [0x141dc7184]
add eax, 0x90abd8f2
xor eax, 0xb9cf9686
cmp eax, 0x32b267e8
jb 0x1400566cb
mov eax, dword [0x141dc7188]
imul eax, dword [0x141dc718c]
imul rcx, rax, 0x688c5857
shr rcx, 0x3e
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xd4eda11b
jbe 0x1400566da
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x14005669b
cmp byte [rsi + 0x10], 0
mov r12, qword [rsi]
mov cl, 1
je 0x140056701
mov eax, dword [0x141dc71f8]
add eax, dword [0x141dc71fc]
cmp eax, 0x587eb3d
jne 0x140056b59
jmp 0x140056b83
mov r14, qword [rsi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7190]
add eax, dword [0x141dc7194]
xor eax, 0x20040004
and eax, 0xa0c4c054
imul eax, eax, 0xd134d566
cmp eax, 0x3cfb2fab
jb 0x140056710
mov r9d, dword [r14 + 0x34]
test r9b, 4
jne 0x140056850
mov rdi, r8
lea rax, [0x141db4f63]
lea rcx, [0x141db4f57]
nop word cs:[rax + rax]
mov edx, dword [0x141dc7198]
imul edx, dword [0x141dc719c]
add edx, 0x8edb73ff
imul r10, rdx, 0x787c31f5
shr r10, 0x3c
add r10d, 0xeb27d34f
xor r8d, r8d
test r12, r12
mov r9, rcx
cmove r9, rax
setne dl
cmp r10d, 0x1a870858
jb 0x140056760
mov r8b, dl
inc r8
mov eax, dword [0x141dc71a0]
xor edx, edx
div dword [0x141dc71a4]
mov eax, 0xc494407f
nop word [rax + rax]
mov ecx, dword [0x141dc71a8]
or ecx, dword [0x141dc71ac]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x6ef40ac4
or ecx, 0x946446d6
cmp ecx, 0xf8ea780b
jb 0x1400567c0
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
sub rsp, 0x20
mov rdx, r9
call qword [rax + 0x18]
add rsp, 0x20
mov cl, 1
test al, al
jne 0x1400566e5
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call rbx
add rsp, 0x20
mov ecx, eax
mov eax, 0x8230c965
nop
mov edx, dword [0x141dc71b8]
or edx, dword [0x141dc71bc]
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0xc1f4e7f7
je 0x140056820
jmp 0x1400566e5
mov eax, dword [0x141dc71b0]
xor edx, edx
div dword [0x141dc71b4]
or eax, 0x20034001
and eax, 0xaa93ca41
imul rax, rax, 0x12776891
shr rax, 0x3b
cmp eax, 0xf120e1c4
je 0x140056850
test r12, r12
jne 0x140056906
mov rcx, qword [r14 + 0x20]
mov qword [rbp], r8
nop dword [rax + rax]
mov eax, dword [0x141dc71c0]
or eax, dword [0x141dc71c4]
imul eax, eax, 0xe7610e69
and eax, 0xf177cc28
cmp eax, 0x4f281caa
je 0x140056890
mov rax, qword [r14 + 0x28]
sub rsp, 0x20
lea rdx, [0x141db4f64]
mov r8d, 2
call qword [rax + 0x18]
add rsp, 0x20
mov cl, 1
test al, al
jne 0x1400566e5
nop word cs:[rax + rax]
mov eax, dword [0x141dc71c8]
sub eax, dword [0x141dc71cc]
and eax, 0xd72e1b3d
imul eax, eax, 0x163fb613
cmp eax, 0x86f9465e
je 0x1400568e0
mov r9d, dword [r14 + 0x34]
mov r8, qword [rbp]
mov qword [rbp - 8], rsi
mov qword [rbp - 0x10], r12
mov eax, dword [0x141dc71d0]
or eax, dword [0x141dc71d4]
add eax, 0xc94fd9cd
or eax, 0x260ae2f5
mov ecx, 0x8393c4c3
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x6851035f
jne 0x1400569ae
mov byte [r13], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov eax, dword [r14 + 0x30]
movzx ecx, byte [r14 + 0x38]
mov dword [r15 + 0x34], r9d
mov dword [r15 + 0x30], eax
mov byte [r15 + 0x38], cl
movups xmm0, xmmword [r14]
movaps xmmword [r15], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [r15 + 0x10], xmm0
mov qword [r15 + 0x20], rdi
lea rax, [0x141db4f20]
mov qword [r15 + 0x28], rax
sub rsp, 0x20
mov rcx, r8
mov rdx, r15
mov r12, r13
mov r13, r14
mov r14, r8
mov rsi, rdi
mov edi, r9d
call rbx
mov r9d, edi
mov rdi, rsi
mov r8, r14
mov r14, r13
mov r13, r12
add rsp, 0x20
mov qword [rbp], rbx
nop word cs:[rax + rax]
mov ebx, dword [0x141dc71d8]
or ebx, dword [0x141dc71dc]
and ebx, 0xee911d17
imul rax, rbx, 0x3c04eb8b
shr rax, 0x20
sub ebx, eax
shr ebx, 1
add ebx, eax
shr ebx, 0x1f
add ebx, 0x56a95629
mov byte [r13], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov eax, dword [r14 + 0x30]
movzx ecx, byte [r14 + 0x38]
mov dword [r15 + 0x34], r9d
mov dword [r15 + 0x30], eax
mov byte [r15 + 0x38], cl
movups xmm0, xmmword [r14]
movaps xmmword [r15], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [r15 + 0x10], xmm0
mov qword [r15 + 0x20], rdi
lea rax, [0x141db4f20]
mov qword [r15 + 0x28], rax
sub rsp, 0x20
mov rcx, r8
mov rdx, r15
mov r12, r13
mov r13, r14
mov r14, r8
mov rsi, rdi
mov edi, r9d
call qword [rbp]
mov r9d, edi
mov rdi, rsi
mov r8, r14
mov r14, r13
mov r13, r12
add rsp, 0x20
cmp ebx, 0x7af5b740
ja 0x1400569c0
test al, al
je 0x140056ab4
mov r12, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
nop word [rax + rax]
mov eax, dword [0x141dc71f0]
sub eax, dword [0x141dc71f4]
imul rcx, rax, 0x13c5f0e7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xa4f99bc0
cmp eax, 0xcd5cdb3c
je 0x140056a80
mov cl, 1
jmp 0x1400566e5
mov rdi, qword [r15 + 0x20]
mov rbx, qword [r15 + 0x28]
mov eax, dword [0x141dc71e0]
or eax, dword [0x141dc71e4]
or eax, 0x64c15689
add eax, 0xe560fb6
and eax, 0x48062117
cmp eax, 0x5ed3085c
mov rsi, qword [rbp - 8]
je 0x140056b26
mov eax, dword [0x141dc71e8]
sub eax, dword [0x141dc71ec]
mov ecx, 0xb117d6a3
imul rcx, rax
shr rcx, 0x3f
imul r14d, ecx, 0x12d50543
sub rsp, 0x20
lea rdx, [0x141db4f5e]
mov r8d, 2
mov rcx, rdi
call qword [rbx + 0x18]
add rsp, 0x20
cmp r14d, 0xf302679a
jbe 0x140056b43
sub rsp, 0x20
lea rdx, [0x141db4f5e]
mov r8d, 2
mov rcx, rdi
call qword [rbx + 0x18]
add rsp, 0x20
jmp 0x140056ae2
mov ecx, eax
mov al, 1
mov r12, qword [rbp - 0x10]
nop dword [rax + rax]
test al, al
je 0x140056b50
jmp 0x1400566e5
mov eax, dword [0x141dc7200]
xor edx, edx
div dword [0x141dc7204]
add eax, 0xdbc4d8cf
or eax, 0xd9df87b9
lea rdx, [r12 + 1]
mov byte [rsi + 0x10], cl
mov qword [rsi], rdx
cmp eax, 0x92ba173e
jne 0x140056b90
mov byte [rsi + 0x10], cl
lea rax, [r12 + 1]
mov qword [rsi], rax
jmp 0x140056b59
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret