Function at 0x1403af8d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov esi, r9d
test ecx, ecx
je 0x1403af92e
test edx, edx
je 0x1403af9bf
movzx eax, byte [0x14055fcc6]
cmp al, 0x2a
je 0x1403afaeb
mov edi, esi
xor edi, 0xb7ba1d4f
lea rbx, [rsp + 0x28]
nop dword [rax]
mov rcx, rbx
mov edx, edi
call fcn.1403af890
test al, 1
jne 0x1403afa54
cmp byte [rsp + 0x28], 0x2a
jne 0x1403af910
jmp 0x1403afaeb
mov eax, esi
xor eax, 0xd7aae6bf
mov ecx, edx
mov edx, eax
call fcn.1400aa6a0
test al, 1
je 0x1403afa0d
mov edx, esi
xor edx, 0x9806aa01
lea rcx, [rsp + 0x28]
call fcn.1403adde0
movzx ecx, byte [rsp + 0x28]
mov edx, esi
xor edx, 0xf9c6d6fc
call fcn.1403addc0
test al, 1
jne 0x1403afbf7
mov edi, esi
xor edi, 0x6f8d68cc
lea rbx, [rsp + 0x28]
mov ebp, 0xf5c3cf6c
nop word cs:[rax + rax]
mov rcx, rbx
mov edx, edi
call fcn.1403af610
test al, 1
jne 0x1403afb4d
movzx ecx, byte [rsp + 0x28]
mov edx, dword [0x140561988]
add edx, ebp
xor edx, esi
call fcn.1403addc0
test al, 1
je 0x1403af990
jmp 0x1403afbf7
movzx eax, byte [0x14055fe23]
cmp al, 0x60
je 0x1403afb41
mov edi, esi
xor edi, 0x5e8d2dfc
nop word cs:[rax + rax]
movzx ecx, byte [0x140561998]
lea eax, [rcx - 0x58]
add cl, 0xd4
lock cmpxchg byte [0x14055fe23], cl
je 0x1403afaf7
mov ecx, eax
mov edx, edi
call fcn.1403af880
test al, 1
je 0x1403af9e0
jmp 0x1403afb41
mov ecx, esi
xor ecx, 0x4c1f324f
call fcn.1403af8b0
test al, 1
jne 0x1403afbdf
nop word cs:[rax + rax]
movzx ecx, byte [0x140561998]
lea eax, [rcx + 0x28]
add cl, 0x20
lock cmpxchg byte [0x14055fa02], cl
je 0x1403afb78
cmp al, 0x25
jne 0x1403afa30
jmp 0x1403afbdf
xor edi, edi
lea r15, [0x14055fcc0]
mov ebp, esi
not ebp
mov eax, ebp
and eax, 0x498446ed
mov ebx, esi
and ebx, 0xb67bb912
or ebx, eax
lea r14, [rsp + 0x28]
nop word [rax + rax]
movzx r12d, byte [rdi + r15]
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call fcn.1403addd0
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x140561988]
mov edx, eax
xor edx, 0x2acd4ea
and eax, 0x2acd4ea
lea eax, [rdx + rax*2]
mov r8d, ebp
xor r8d, esi
and r8d, eax
xor r8d, esi
mov rdx, r14
call fcn.14015be50
movzx eax, byte [rsp + 0x28]
mov ecx, eax
xor cl, al
not cl
and cl, r12b
xor cl, al
mov byte [rdi + r15], cl
lea eax, [rdi + 1]
cmp eax, 5
jg 0x1403afae3
inc rdi
jmp 0x1403afa80
mov al, 0x2a
xchg byte [0x14055fcc6], al
lea rax, [0x14055fcc0]
jmp 0x1403afbfe
xor eax, eax
lea rbx, [0x14055fe10]
mov ebp, 0x21155509
lea rdi, [rsp + 0x28]
nop word [rax + rax]
movsxd rcx, eax
movzx edx, byte [rcx + rbx]
mov eax, dword [0x140561988]
add eax, ebp
xor eax, esi
mov dword [rsp + 0x20], eax
mov r8d, ecx
mov r9, rdi
call fcn.1403af850
mov eax, dword [rsp + 0x28]
cmp eax, 0x13
jl 0x1403afb10
mov al, 0x60
xchg byte [0x14055fe23], al
lea rax, [0x14055fe10]
jmp 0x1403afbfe
xor eax, eax
lea rcx, [0x14055f7a0]
lea rdx, [0x14045fd80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x12
jg 0x1403afbe8
inc rax
jmp 0x1403afb60
xor ecx, ecx
lea r15, [0x14055f9f0]
lea r12, [0x14045ffb0]
mov edi, esi
xor edi, 0x1df9abcc
mov ebp, 0x1e0d64e1
lea rbx, [rsp + 0x28]
nop word [rax + rax]
movsxd r14, ecx
movzx edx, byte [r14 + r15]
lea rcx, [r12 + r14]
mov r8d, r14d
mov r9d, edi
call fcn.1403afc30
mov r8d, dword [0x140561988]
add r8d, ebp
xor r8d, esi
mov ecx, r14d
mov rdx, rbx
call fcn.1403afc10
mov ecx, dword [rsp + 0x28]
test al, 1
je 0x1403afba0
mov al, 0x25
xchg byte [0x14055fa02], al
lea rax, [0x14055f9f0]
jmp 0x1403afbfe
movzx eax, byte [0x140561998]
add al, 0xc4
xchg byte [0x14055f7b3], al
lea rax, [0x14055f7a0]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret