Function at 0x1403af070
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov esi, r9d
mov eax, 0xeda651b9
add eax, dword [0x140561988]
cmp ecx, eax
jne 0x1403af0c9
test edx, edx
je 0x1403af149
movzx eax, byte [0x14057905c]
cmp al, 0x75
je 0x1403af1f2
mov cl, 0x64
nop dword [rax + rax]
xor eax, eax
lock cmpxchg byte [0x14057905c], cl
je 0x1403af179
cmp al, 0x75
jne 0x1403af0b0
jmp 0x1403af1f2
mov eax, esi
xor eax, 0x29e83167
mov ecx, edx
mov edx, eax
mov r8d, 0xd59aff46
call fcn.1400aa6a0
test al, 1
je 0x1403af119
movzx eax, byte [0x14055f813]
cmp al, 0x39
je 0x1403af2a1
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0x22
lock cmpxchg byte [0x14055f813], cl
je 0x1403af1fe
cmp al, 0x39
jne 0x1403af100
jmp 0x1403af2a1
movzx eax, byte [0x14055f92d]
cmp al, 0xc4
je 0x1403af2b5
mov cl, 0xac
nop word [rax + rax]
mov al, 0xb6
lock cmpxchg byte [0x14055f92d], cl
je 0x1403af257
cmp al, 0xc4
jne 0x1403af130
jmp 0x1403af2b5
movzx eax, byte [0x14055fd16]
cmp al, 0x91
je 0x1403af3a9
mov cl, 0x10
nop word [rax + rax]
mov al, 0xc0
lock cmpxchg byte [0x14055fd16], cl
je 0x1403af2c1
cmp al, 0x91
jne 0x1403af160
jmp 0x1403af3a9
xor edi, edi
mov ebx, esi
xor ebx, 0x229dbda8
lea r14, [rsp + 0x40]
xor esi, 0xc9fb096a
lea r15, [0x14045fd30]
lea r12, [0x14055f750]
nop dword [rax]
mov ecx, edi
mov rdx, r14
mov r8d, ebx
mov r9d, 0x600347d0
call fcn.1400aa120
mov rcx, qword [rsp + 0x40]
mov rdx, r14
mov r8d, esi
mov r9d, 0x3c23714b
call fcn.1403b1fc0
movzx eax, byte [rsp + 0x40]
add al, byte [rdi + r15]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 4
jg 0x1403af1e3
inc rdi
jmp 0x1403af1a0
movzx eax, byte [0x140561998]
add al, 0x63
xchg byte [0x14057905c], al
lea rax, [0x14055f750]
jmp 0x1403af3b0
xor edi, edi
lea r15, [0x14055f810]
xor esi, 0x92fb654c
lea rbx, [rsp + 0x3f]
lea r14, [rsp + 0x40]
nop word [rax + rax]
lea rcx, [r15 + rdi]
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], 0xda561e69
mov edx, edi
mov r8, rbx
mov r9, r14
call fcn.1403b2970
movzx eax, byte [rsp + 0x40]
add al, byte [rsp + 0x3f]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 2
jg 0x1403af299
inc rdi
jmp 0x1403af220
xor eax, eax
lea rcx, [0x14055f920]
lea rdx, [0x14045fef0]
nop word [rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
or r9b, r8b
and r9b, r10b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1403af2ad
inc rax
jmp 0x1403af270
mov al, 0x39
xchg byte [0x14055f813], al
lea rax, [0x14055f810]
jmp 0x1403af3b0
mov al, 0xc4
xchg byte [0x14055f92d], al
lea rax, [0x14055f920]
jmp 0x1403af3b0
xor ebp, ebp
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x723d23e4
mov edi, esi
and edi, 0x8dc2dc1b
or edi, ecx
lea rbx, [rsp + 0x40]
and eax, 0xccbd928f
and esi, 0x33426d70
or esi, eax
mov r15d, 0x13ee3913
lea r14, [rsp + 0x3f]
lea r12, [0x1404602b0]
lea r13, [0x14055fd10]
nop word cs:[rax + rax]
mov ecx, ebp
mov rdx, rbx
mov r8d, edi
mov r9d, 0x82306d9
call fcn.1403b1910
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140561988]
add eax, r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
mov edx, ebp
mov r8, r14
mov r9, rbx
call fcn.1402223d0
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
add al, byte [rcx + r12]
movsxd rcx, ebp
mov byte [rcx + r13], al
mov eax, dword [0x140561988]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x1259ae45
mov r9d, edx
and r9d, 0xeda651ba
or r9d, r8d
xor eax, 0x6da651ba
and edx, 0x1259ae45
or edx, eax
not edx
lea eax, [r9 + rdx*2]
mov edx, ecx
xor edx, eax
and ecx, eax
lea ebp, [rdx + rcx*2]
cmp ebp, 6
jl 0x1403af310
mov al, 0x91
xchg byte [0x14055fd16], al
lea rax, [0x14055fd10]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret