Function at 0x1401af590
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1401af5e9
mov ecx, edx
mov edx, 0xeb03f27d
mov r8d, 0x784a1adf
call fcn.1400712d0
test al, 1
je 0x1401af650
movzx eax, byte [0x140547359]
cmp al, 0xeb
je 0x1401af728
mov cl, 0x2e
nop dword [rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x140547359], cl
je 0x1401af6d9
cmp al, 0xeb
jne 0x1401af5d0
jmp 0x1401af728
test edx, edx
je 0x1401af697
movzx eax, byte [0x14054741d]
cmp al, 0x75
je 0x1401af828
lea rsi, [rsp + 0x40]
lea rdi, [rsp + 0x3f]
nop word [rax + rax]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x8f8ca27a
mov r9d, 0xe72b6fc4
call fcn.1401b1740
cmp byte [rsp + 0x41], 0
jne 0x1401af7b4
movzx ecx, byte [rsp + 0x3f]
mov edx, 0x9a20cbae
mov r8d, 0x1548ae0d
call fcn.1401aff50
test al, 1
je 0x1401af610
jmp 0x1401af828
movzx eax, byte [0x1405474b5]
cmp al, 0x5b
je 0x1401af7a8
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, 0x898e2feb
mov r8d, 0xec5586e2
call fcn.1401afa50
test al, 1
jne 0x1401af734
cmp byte [rsp + 0x40], 0x5b
jne 0x1401af670
jmp 0x1401af7a8
lea rcx, [rsp + 0x40]
mov edx, 0xe9d5a170
mov r8d, 0xacd61a42
call fcn.1401af960
cmp byte [rsp + 0x40], 0x84
je 0x1401af89a
mov cl, 0x1d
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x14054743d], cl
je 0x1401af831
cmp al, 0x84
jne 0x1401af6c0
jmp 0x1401af89a
xor r8d, r8d
lea rax, [0x140547350]
lea rcx, [0x140468fe0]
mov edx, 0x76a2eb09
nop
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x140549fb8]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 9
jl 0x1401af6f0
mov ecx, 0x70f5ca80
mov edx, 0x9fdb76a4
call fcn.1401afa40
lea rax, [0x140547350]
jmp 0x1401af8a1
xor edi, edi
lea rsi, [rsp + 0x40]
nop dword [rax + rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0xa147fd2a
mov r9d, 0x406c36f2
call fcn.1401afad0
movzx ebx, byte [rsp + 0x40]
movsxd rdi, edi
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xbf239692
mov r9d, 0x8b5257f5
call fcn.1401b1710
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 0x4d0ed324
mov dword [rsp + 0x20], 0x7c369957
mov ecx, ebx
mov r8d, edi
mov r9, rsi
call fcn.1401aff20
mov edi, dword [rsp + 0x40]
cmp edi, 0x15
jl 0x1401af740
mov al, 0x5b
xchg byte [0x1405474b5], al
lea rax, [0x1405474a0]
jmp 0x1401af8a1
xor edi, edi
lea rsi, [rsp + 0x40]
lea rbx, [0x1404690a0]
lea r14, [0x140547410]
nop dword [rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0x81517fb0
mov r9d, 0xc8065800
call fcn.1401b16d0
movzx eax, byte [rsp + 0x40]
movsxd rcx, edi
movzx edx, byte [rcx + rbx]
mov r8d, eax
xor r8b, dl
not al
not dl
and dl, al
or dl, r8b
not dl
add dl, dl
add dl, r8b
mov byte [rcx + r14], dl
mov eax, dword [0x140549fb8]
lea edi, [rax + rcx]
add edi, 0x76a2eb09
cmp edi, 0xd
jl 0x1401af7d0
mov al, 0x75
xchg byte [0x14054741d], al
lea rax, [0x140547410]
jmp 0x1401af8a1
xor edi, edi
lea rsi, [rsp + 0x40]
nop dword [rax + rax]
movsxd rdi, edi
mov rcx, rdi
mov edx, edi
mov r8d, 0xc7831f4e
mov r9d, 0x835923e5
call fcn.1401af8c0
mov r9d, dword [0x140549fb8]
lea r8d, [r9 - 0x25ab0809]
add r9d, 0xda267f10
mov ecx, edi
mov rdx, rsi
call fcn.1401b1700
mov edi, dword [rsp + 0x40]
mov ecx, edi
mov edx, 0x1e6bb55d
mov r8d, 0x19b7d54d
call fcn.1401afaf0
test al, 1
je 0x1401af840
mov al, 0x84
xchg byte [0x14054743d], al
lea rax, [0x140547430]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret