Function at 0x1403af460
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
mov r8d, dword [rsp + 0x38]
test ecx, ecx
je 0x1403af4a9
test edx, edx
je 0x1403af52f
movzx eax, byte [0x140577d17]
cmp al, 0x2a
je 0x1403af6e0
mov cl, 0x69
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x140577d17], cl
je 0x1403af6a8
cmp al, 0x2a
jne 0x1403af490
jmp 0x1403af6e0
mov eax, r8d
xor eax, 0x60575710
add eax, dword [0x1405794f0]
cmp edx, eax
jne 0x1403af5c1
movzx eax, byte [0x1405786cd]
cmp al, 0x2c
je 0x1403af780
nop
movzx ecx, byte [0x1405794f4]
mov edx, r8d
not dl
mov r9d, edx
and r9b, 0x9d
mov eax, r8d
and al, 0x62
or al, r9b
add al, cl
and dl, 0x29
mov r9d, r8d
and r9b, 0xd6
or r9b, dl
add r9b, cl
lock cmpxchg byte [0x1405786cd], r9b
je 0x1403af733
movzx ecx, byte [0x1405794f4]
mov edx, r8d
xor dl, 0x78
mov r9d, edx
xor r9b, cl
and dl, cl
add dl, dl
add dl, r9b
cmp al, dl
jne 0x1403af4d0
jmp 0x1403af780
movzx eax, byte [0x140577cfb]
movzx ecx, byte [0x1405794f4]
mov edx, r8d
xor dl, 0x1d
mov r9d, r8d
not r9b
and r9b, r8b
xor r9b, dl
add r9b, 0x56
mov edx, r9d
xor dl, cl
and r9b, cl
add r9b, r9b
add r9b, dl
mov ecx, r9d
xor cl, 0xaa
and r9b, 0x2a
add r9b, r9b
add r9b, cl
cmp al, r9b
je 0x1403af72a
nop word [rax + rax]
movzx ecx, byte [0x1405794f4]
mov eax, r8d
xor al, 0x43
add al, cl
mov edx, r8d
not dl
mov r9d, r8d
xor r9b, 0x53
and dl, 0xac
or r9b, dl
not r9b
or r9b, dl
add r9b, cl
lock cmpxchg byte [0x140577cfb], r9b
je 0x1403af6ec
cmp al, 9
jne 0x1403af580
jmp 0x1403af72a
movzx eax, byte [0x140578532]
nop dword [rax + rax]
mov ecx, r8d
xor cl, 2
add cl, byte [0x1405794f4]
cmp al, cl
je 0x1403af69c
movzx ecx, byte [0x1405794f4]
mov eax, r8d
xor al, 0xbf
add al, cl
mov edx, r8d
xor dl, 1
mov r9d, edx
xor r9b, cl
and dl, cl
add dl, dl
add dl, r9b
lock cmpxchg byte [0x140578532], dl
jne 0x1403af5d0
xor eax, eax
lea rcx, [0x140578530]
lea rdx, [0x140471080]
mov r9d, r8d
xor r9d, 0x60575711
nop dword [rax]
cdqe
movzx r10d, byte [rax + rcx]
movzx r11d, byte [rax + rdx]
not r10b
mov ebx, r10d
and bl, r11b
not r11b
xor r10b, r11b
and r10b, r11b
or r10b, bl
mov byte [rax + rcx], r10b
mov r10d, dword [0x1405794f0]
mov r11d, r8d
xor r11d, r9d
xor r11d, 0x9fa8a8ee
and r11d, r10d
xor r11d, r9d
and r10d, r9d
add r10d, r10d
mov esi, r11d
xor esi, r10d
and r10d, r11d
lea r10d, [rsi + r10*2]
add eax, r10d
cmp eax, 2
jl 0x1403af630
xor r8b, 2
add r8b, byte [0x1405794f4]
xchg byte [0x140578532], r8b
lea rax, [0x140578530]
jmp 0x1403af787
xor eax, eax
lea rcx, [0x140577d10]
lea rdx, [0x1404708d0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x1403af6d8
inc rax
jmp 0x1403af6c0
mov al, 0x2a
xchg byte [0x140577d17], al
lea rax, [0x140577d10]
jmp 0x1403af787
xor eax, eax
lea rcx, [0x140577cf0]
lea rdx, [0x1404708b0]
nop dword [rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
cmp r9d, 0xa
jg 0x1403af718
inc rax
jmp 0x1403af700
xor r8b, 0x1d
add r8b, byte [0x1405794f4]
xchg byte [0x140577cfb], r8b
lea rax, [0x140577cf0]
jmp 0x1403af787
xor eax, eax
lea rcx, [0x1405786c0]
lea rdx, [0x1404711f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1403af778
inc rax
jmp 0x1403af750
mov al, 0x2c
xchg byte [0x1405786cd], al
lea rax, [0x1405786c0]
pop rbx
pop rsi
ret