Function at 0x1403543c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov dword [rbp - 8], r8d
nop word cs:[rax + rax]
mov rax, qword [0x14054a7c8]
movsxd r8, dword [rax]
mov r9d, dword [0x140567054]
lea r10d, [r9 + 1]
imul r10d, r9d
test r10b, 1
je 0x14035441a
mov rax, qword [0x14054a7c8]
mov eax, dword [rax]
jmp 0x1403543f0
mov r9, r8
xor r9, rax
and r8, rax
lea r15, [r9 + r8*2]
nop word [rax + rax]
mov eax, dword [0x140567058]
cmp eax, 0x58
jg 0x140354430
mov r12d, dword [0x14044ba34]
mov rax, qword [rdx]
mov rsi, qword [rdx + 0x10]
mov r8, qword [rdx + 0x18]
cmp r8, 0x10
setae r9b
movzx r10d, byte [0x1405646f0]
xor r9b, r10b
cmovne rdx, rax
cmp r8, 0x10
mov rbx, rdx
cmovae rbx, rax
mov rcx, qword [rcx + 0x10]
mov qword [rbp - 0x10], rcx
test r10b, r10b
cmovne rbx, rax
test r9b, r9b
cmovne rbx, rdx
cmp rsi, 0x10
jae 0x1403544a0
lea rax, [rbp - 0x30]
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
mov r13d, 0xf
jmp 0x1403545fe
mov eax, dword [0x140567054]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403544a0
mov eax, esi
and eax, 0xf
mov ecx, esi
not ecx
and ecx, 0xf
mov r13, rsi
and r13, 0xfffffffffffffff0
or r13, rcx
xor r13, rax
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
mov eax, dword [0x140567058]
mov ecx, 0xd39b695c
add ecx, dword [0x14054aad4]
cmp eax, ecx
jge 0x1403544a0
mov eax, 0xf021
cmp r13, 0xfff
jb 0x140354563
add eax, dword [0x14054a894]
lea rcx, [r13 + 0x28]
cdqe
add rax, qword [0x14054a8a8]
mov edx, 0xe759e265
mov r8d, 0xd1042c9f
call qword [0x1404ee420]
mov rcx, rax
sub rcx, qword [0x14054aac8]
movabs rdx, 0x8497b7ddd8bae5f7
add rdx, rcx
mov r14, rdx
not r14
xor rdx, 0x1f
mov rcx, r14
and rcx, 0xffffffffffffffe0
or rdx, rcx
not rdx
and r14d, 0x1f
or r14, rcx
or r14, rdx
not r14
mov qword [r14 - 8], rax
jmp 0x14035458a
add eax, dword [0x14054a894]
lea rcx, [r13 + 1]
cdqe
add rax, qword [0x14054a8a8]
mov edx, 0xe759e265
mov r8d, 0xd1042c9f
call qword [0x1404ee420]
mov r14, rax
mov ecx, dword [0x140567054]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xd39b6925
add ecx, dword [0x14054aad4]
xor edx, edx
div ecx
test edx, edx
jne 0x1403545ea
mov qword [rbp - 0x30], r14
mov rax, rsi
xor rax, 1
mov ecx, esi
and ecx, 1
lea r8, [rax + rcx*2]
mov rcx, r14
mov rdx, rbx
call fcn.14040bf30
mov eax, dword [0x14054aad4]
add eax, 0xd39b6924
lea rcx, [fcn.1403543c0]
add ecx, ecx
add ecx, 0x4340
xor eax, ecx
not eax
test eax, ecx
je 0x1403545fe
mov qword [rbp - 0x30], r14
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
call fcn.14040bf30
jmp 0x1403545a9
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], r13
lea rax, [0x140426b18]
mov qword [rbp - 0x38], rax
lea r8, [rbp - 0x38]
mov edx, 0x28
mov rcx, qword [rbp - 0x10]
call fcn.1403c1560
mov r8, qword [rbp - 0x18]
cmp r8, 0x10
jb 0x1403549d1
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140567050]
lea r10d, [rax + 1]
mov dword [0x140567050], r10d
mov r9d, 0xfffffffe
sub r9d, eax
mov edx, r10d
xor edx, r9d
and edx, eax
xor r9d, r9d
xor r9d, edx
mov dword [rbp - 4], r10d
test r9d, r10d
je 0x14035466b
xor r11d, r11d
jmp 0x14035467c
xor ebx, ebx
mov r11d, 0
test r12d, r12d
jg 0x140354763
lea rdx, [r8 + 1]
mov eax, dword [0x140567054]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
je 0x1403546b3
mov eax, dword [0x140567054]
mov r10d, dword [0x14054aad4]
add r10d, eax
add r10d, 0x2c6496dc
imul r10d, eax
test r10b, 1
jne 0x140354680
mov eax, dword [0x140567054]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
jne 0x140354692
cmp rdx, 0x1000
jb 0x1403549a5
mov rax, qword [rcx - 8]
movabs rdx, 0x8e126d8914d251f1
add rdx, qword [0x140566c98]
add rcx, 0xfffffffffffffff8
mov rsi, rdx
xor rsi, rax
and rdx, rax
lea rdx, [rsi + rdx*2]
movabs rax, 0x71ed9276eb2dae0f
add rax, rdx
sub rcx, rax
and r9d, dword [rbp - 4]
movzx edx, byte [0x14044ba30]
xor r10d, r10d
neg r9d
sbb r10d, r10d
sub dl, r11b
add dl, 0x86
mov r9d, edx
xor r9b, 0x7a
and dl, 0x7a
add dl, dl
add dl, r9b
not dl
mov r9d, edx
xor r9b, r10b
and r9b, dl
or r9b, r10b
not r9b
mov edx, dword [0x140567054]
lea r10d, [rdx - 1]
imul r10d, edx
movzx edx, r9b
test r10b, 1
jne 0x140354930
jmp 0x1403548e3
xor r13d, r13d
xor r11d, r11d
nop dword [rax]
movsxd rax, r13d
movzx edx, byte [r15 + rax]
mov eax, r11d
not al
mov esi, dword [0x140567058]
cmp esi, 0xf
movzx r14d, byte [0x14054aad0]
mov esi, r13d
sub esi, dword [0x14054aad4]
mov edi, dword [0x140567054]
mov r10d, 0xd534c04d
sub r10d, edi
imul r10d, edi
test r10b, 1
jne 0x140354786
add r14b, 0x1b
xor r14b, dl
mov r10d, edx
not r10b
mov edi, eax
and dil, r10b
xor r10b, r11b
and r14b, r11b
and r11b, dl
or dil, r11b
and al, dl
or al, r10b
not al
or al, dil
xor al, r14b
and r14b, al
not al
mov r11d, eax
or r11b, r14b
add esi, 0x2c6496de
mov eax, dword [0x140567054]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14035489e
nop word cs:[rax + rax]
mov eax, dword [0x140567054]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov eax, dword [0x140567054]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14035481f
mov eax, dword [0x140567054]
mov edx, 0xae940d45
sub edx, eax
imul edx, eax
test dl, 1
jne 0x14035489e
nop word cs:[rax + rax]
test bl, bl
jne 0x140354850
mov r13d, esi
cmp esi, r12d
jl 0x140354770
jmp 0x14035467c
mov edx, dword [0x140567054]
mov r10d, dword [0x14054aad4]
mov eax, edx
sub eax, r10d
add eax, 0x2c6496dc
imul eax, edx
add r10d, 0xd39b6925
xor edx, edx
div r10d
test edx, edx
je 0x140354810
mov eax, dword [0x140567058]
cmp eax, 0x39
jg 0x1403548d0
nop dword [rax]
mov eax, dword [0x140567054]
mov edx, 0xdd55a92a
sub edx, dword [0x14054aad4]
not edx
sub edx, eax
inc edx
imul edx, eax
test dl, 1
je 0x140354870
nop
mov eax, dword [0x140567054]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1403548d0
jmp 0x1403548b0
mov r11, qword [0x140566c98]
mov r9, r11
xor r9, rdx
xor r11d, edx
not r11d
and r11d, edx
add r11, r11
mov r10, r9
xor r10, r11
and r11d, r9d
lea r9, [r10 + r11*2]
mov qword [0x140566c98], r9
mov r10d, dword [0x140567054]
lea r9d, [r10 - 1]
imul r9d, r10d
test r9b, 1
je 0x140354973
nop word cs:[rax + rax]
mov r11, qword [0x140566c98]
sub r11, rdx
imul r11, rdx
mov r9, rdx
sub r9, r11
mov r10, r11
xor r10, r11
not r10
and r10, r9
xor r10, r11
and r9, r11
lea r9, [r10 + r9*2]
mov qword [0x140566c98], r9
mov r9d, dword [0x140567058]
cmp r9d, 0x2c
jge 0x140354930
jmp 0x1403548e3
cmp rcx, 0x20
jae 0x1403549ec
movabs rcx, 0x1525ff048d8792a2
add r8, rcx
mov rcx, r8
xor rcx, 0x28
and r8d, 0x28
lea rcx, [rcx + r8*2]
movabs rdx, 0xeada00fb72786d5e
add rdx, rcx
mov rcx, rax
mov eax, dword [0x14054a890]
sub eax, dword [0x14054aad4]
add eax, 0x2c6586fe
cdqe
add rax, qword [0x14054a8a0]
mov r8d, 0xc1e5cbda
mov r9d, 0xd51bed27
call qword [0x1404ee420]
mov eax, dword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov dword [rcx + 0x20], eax
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140567058]
cmp eax, 0x31
jle 0x140354a0e
mov eax, 0xd39b696b
mov ecx, dword [0x140567058]
mov edx, dword [0x14054aad4]
add edx, eax
cmp ecx, edx
jge 0x1403549fc
call fcn.1403c3cac
int3