Function at 0x1401865f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r12d, dword [rsp + 0xc0]
mov eax, r12d
xor eax, 0x7aa9c0da
add eax, dword [0x1405464a8]
cmp ecx, eax
jne 0x1401866ec
test edx, edx
je 0x14018674e
movzx eax, byte [0x1405461ad]
cmp al, 0xc0
je 0x140186847
mov r14d, r12d
not r14d
mov esi, r12d
xor esi, 0x7c2f2964
mov r13d, r12d
xor r13d, 0x77efd5c9
mov eax, r14d
and eax, 0x81a7401f
mov r15d, r12d
xor r15d, 0x7e58bfe0
or r15d, eax
not r15d
or r15d, eax
nop dword [rax]
mov r8d, esi
sub r8d, dword [0x1405464a8]
mov eax, r14d
xor eax, r8d
or r8d, r14d
and r8d, eax
lea rcx, [rsp + 0x30]
mov edx, 0xde32d274
call fcn.140186ae0
movzx ebx, byte [rsp + 0x30]
movzx ebp, byte [rsp + 0x31]
mov dword [rsp + 0x20], r13d
mov ecx, ebx
mov edx, ebp
lea r8, [rsp + 0x2e]
mov r9d, 0x69d5a28e
call fcn.1401851e0
movzx edi, byte [rsp + 0x2e]
mov r9d, dword [0x1405464a8]
add r9d, r15d
xor r9d, r12d
mov ecx, ebx
mov edx, ebp
mov r8d, 0x75985703
call fcn.140138730
test al, 1
jne 0x140186809
cmp dil, 0xc0
jne 0x140186670
jmp 0x140186847
test edx, edx
je 0x140186798
movzx eax, byte [0x140545f73]
cmp al, 0x8f
je 0x1401868d8
mov esi, r12d
xor esi, 0x8a5564a6
lea rdi, [rsp + 0x2f]
nop word cs:[rax + rax]
mov rcx, rdi
mov edx, 0x19ec4df
mov r8d, esi
call fcn.140186a00
test al, 1
jne 0x140186853
mov eax, r12d
xor al, 0x7c
add al, byte [0x1405464ac]
cmp byte [rsp + 0x2f], al
jne 0x140186720
jmp 0x1401868d8
movzx eax, byte [0x14054618b]
cmp al, 0x3c
je 0x1401869ca
mov bl, 5
mov esi, r12d
xor esi, 0x17ac7d2c
nop dword [rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x14054618b], bl
je 0x1401868e4
mov ecx, eax
mov edx, 0x4eda881b
mov r8d, esi
call fcn.1401865e0
test al, 1
je 0x140186770
jmp 0x1401869ca
movzx eax, byte [0x140546143]
cmp al, 0xc1
je 0x1401869e5
mov esi, r12d
xor esi, 0xa668722d
lea rdi, [rsp + 0x40]
mov ebx, r12d
xor ebx, 0xbed13c82
mov ebp, r12d
xor ebp, 0x752d90fe
nop word [rax + rax]
mov rcx, rdi
mov edx, 0xb926263b
mov r8d, esi
call fcn.140186f00
cmp byte [rsp + 0x41], 0
jne 0x140186981
movzx ecx, byte [rsp + 0x40]
mov edx, dword [0x1405464a8]
add edx, ebp
mov r8d, ebx
call fcn.140186380
test al, 1
je 0x1401867d0
jmp 0x1401869e5
xor edx, edx
lea rax, [0x1405461a0]
lea rcx, [0x140468660]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0xd
jl 0x140186820
mov al, 0xc0
xchg byte [0x1405461ad], al
lea rax, [0x1405461a0]
jmp 0x1401869ec
xor edx, edx
lea rax, [0x140545f50]
lea rcx, [0x140468410]
xor r12d, 0x7aa9c0db
add r12d, 0x24a9e51
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
not r9b
mov r10d, r9d
or r10b, r8b
not r10b
and r9b, r8b
or r9b, r10b
mov byte [rdx + rax], r9b
mov r8d, dword [0x1405464a8]
mov r9d, r12d
xor r9d, r8d
and r8d, r12d
lea r8d, [r9 + r8*2]
add r8d, 0xfdb561af
mov r9d, edx
xor r9d, r8d
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0x23
jl 0x140186880
mov al, 0x8f
xchg byte [0x140545f73], al
lea rax, [0x140545f50]
jmp 0x1401869ec
xor esi, esi
mov edi, r12d
xor edi, 0x7b10347b
lea r15, [0x140546180]
mov ebp, r12d
xor ebp, 0x30717800
mov r13d, r12d
xor r13d, 0x26894669
mov ebx, r12d
xor ebx, 0x7aa9c0d5
nop word cs:[rax + rax]
mov ecx, esi
lea rdx, [rsp + 0x50]
mov r8d, 0x5d5f75a0
mov r9d, edi
call fcn.1401386c0
mov rax, qword [rsp + 0x50]
movzx r14d, byte [rax + r15]
mov r8d, dword [0x1405464a8]
add r8d, r13d
mov rcx, rsi
lea rdx, [rsp + 0x2d]
mov r9d, ebp
call fcn.140185ec0
movzx eax, byte [rsp + 0x2d]
mov ecx, eax
xor cl, al
not cl
and cl, r14b
xor cl, al
mov byte [rsi + r15], cl
lea eax, [rsi + 1]
mov ecx, dword [0x1405464a8]
add ecx, ebx
cmp eax, ecx
jge 0x1401869b8
inc rsi
jmp 0x140186920
xor eax, eax
lea rcx, [0x140546130]
lea rdx, [0x1404685f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x12
jg 0x1401869d3
inc rax
jmp 0x1401869a0
xor r12b, 0xc9
add r12b, byte [0x1405464ac]
xchg byte [0x14054618b], r12b
lea rax, [0x140546180]
jmp 0x1401869ec
xor r12b, 0x4e
add r12b, byte [0x1405464ac]
xchg byte [0x140546143], r12b
lea rax, [0x140546130]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret