Function at 0x1403aa760
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov esi, r9d
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp ecx, eax
jne 0x1403aa853
mov eax, dword [0x1405794f0]
mov ecx, eax
xor ecx, 0xd8763234
and eax, 0x58763234
add eax, eax
mov r8d, ecx
xor r8d, eax
and eax, ecx
lea ecx, [r8 + rax*2]
mov eax, ecx
xor eax, ecx
not eax
and eax, esi
xor eax, ecx
mov ecx, edx
mov edx, eax
mov r8d, 0x73334ce1
call fcn.1403b0070
test al, 1
je 0x1403aa8b4
movzx eax, byte [0x140577e0a]
cmp al, 1
je 0x1403aaa88
mov bpl, 0xe7
mov edi, esi
xor edi, 0xc4da52b0
mov al, 0x52
lock cmpxchg byte [0x140577e0a], bpl
mov ebx, eax
sete dl
mov ecx, eax
mov r8d, edi
mov r9d, 0x17d7eec2
call fcn.1400f93d0
test al, 1
jne 0x1403aa98f
mov eax, dword [0x1405794f0]
mov ecx, eax
xor ecx, 0xb2a6db1f
mov edx, eax
xor edx, 0x4d5924e0
and edx, eax
lea ecx, [rcx + rdx*2]
mov edx, ecx
xor edx, ecx
not edx
and edx, esi
xor edx, ecx
neg eax
mov ecx, eax
xor ecx, 0x8898d797
and eax, 0x898d797
lea r8d, [rcx + rax*2]
neg r8d
mov ecx, ebx
call fcn.1403b0090
test al, 1
je 0x1403aa7e0
jmp 0x1403aaa88
test edx, edx
je 0x1403aa8e9
movzx eax, byte [0x140577f50]
cmp al, 0x1c
je 0x1403aa983
mov eax, esi
not eax
and eax, 0x8b03c119
mov edi, esi
xor edi, 0x74fc3ee6
or edi, eax
not edi
or edi, eax
lea rbx, [rsp + 0x38]
nop word cs:[rax + rax]
mov rcx, rbx
mov edx, edi
mov r8d, 0xfb2893
call fcn.1403af0b0
test al, 1
jne 0x1403aa93d
cmp byte [rsp + 0x38], 0x1c
jne 0x1403aa890
jmp 0x1403aa983
movzx eax, byte [0x140578038]
movzx ecx, byte [0x1405794f4]
add cl, 0x7c
cmp al, cl
je 0x1403aaa77
mov cl, 0xe2
nop
mov al, 0x87
lock cmpxchg byte [0x140578038], cl
je 0x1403aaa21
cmp al, 0x52
jne 0x1403aa8d0
jmp 0x1403aaa77
movzx eax, byte [0x1405781c7]
movzx ecx, byte [0x1405794f4]
mov edx, ecx
xor dl, 0x69
and cl, 0x69
add cl, cl
add cl, dl
cmp al, cl
je 0x1403aaadc
nop dword [rax + rax]
movzx ecx, byte [0x1405794f4]
lea eax, [rcx - 0x6e]
mov edx, ecx
xor dl, 0x73
and cl, 0x73
add cl, cl
add cl, dl
lock cmpxchg byte [0x1405781c7], cl
je 0x1403aaa91
cmp al, 0x3f
jne 0x1403aa910
jmp 0x1403aaadc
xor edi, edi
xor esi, 0x6f2dd9f2
lea rbx, [rsp + 0x37]
lea r14, [rsp + 0x38]
nop
mov dword [rsp + 0x20], 0x2a1b391b
mov ecx, edi
mov rdx, rbx
mov r8, r14
mov r9d, esi
call fcn.1403b0290
movzx eax, byte [rsp + 0x37]
mov rcx, qword [rsp + 0x38]
mov byte [rcx], al
inc edi
cmp edi, 0x10
jl 0x1403aa950
mov al, 0x1c
xchg byte [0x140577f50], al
lea rax, [0x140577f40]
jmp 0x1403aaae3
xor edi, edi
mov ebx, esi
xor ebx, 0xd106ef98
lea r14, [rsp + 0x38]
lea r15, [0x140577e00]
mov ebp, 0xac65a448
nop word [rax + rax]
mov ecx, edi
mov rdx, r14
mov r8d, ebx
mov r9d, 0x483e1e18
call fcn.1403afca0
mov rax, qword [rsp + 0x38]
movzx r12d, byte [rax]
mov eax, dword [0x1405794f0]
mov ecx, eax
xor ecx, 0xb4385761
and eax, 0x34385761
lea r8d, [rcx + rax*2]
xor r8d, esi
mov ecx, edi
mov rdx, r14
mov r9d, 0x567a4f49
call fcn.1403afce0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov ecx, eax
xor cl, al
not cl
and cl, r12b
xor cl, al
mov byte [rdi + r15], cl
lea eax, [rdi + 1]
mov ecx, dword [0x1405794f0]
add ecx, ebp
cmp eax, ecx
jge 0x1403aaa80
inc rdi
jmp 0x1403aa9b0
xor ecx, ecx
lea rbx, [0x140578030]
lea r14, [0x140470bc0]
xor esi, 0xf928e0f
lea rdi, [rsp + 0x38]
nop dword [rax]
movsxd rcx, ecx
movzx eax, byte [rcx + r14]
mov edx, eax
xor dl, al
not dl
and dl, byte [rcx + rbx]
xor dl, al
mov byte [rcx + rbx], dl
mov rdx, rdi
mov r8d, esi
mov r9d, 0x8e528751
call fcn.1403b0650
mov ecx, dword [rsp + 0x38]
test al, 1
je 0x1403aaa40
mov al, 0x52
xchg byte [0x140578038], al
lea rax, [0x140578030]
jmp 0x1403aaae3
mov al, 1
xchg byte [0x140577e0a], al
lea rax, [0x140577e00]
jmp 0x1403aaae3
xor ecx, ecx
lea rbx, [0x1405781c0]
lea r14, [0x140470d50]
xor esi, 0x9190d315
lea rdi, [rsp + 0x38]
nop dword [rax]
movsxd rcx, ecx
movzx eax, byte [rcx + r14]
add byte [rcx + rbx], al
mov rdx, rdi
mov r8d, esi
mov r9d, 0x20344d1f
call fcn.1403b0620
mov ecx, dword [rsp + 0x38]
test al, 1
je 0x1403aaab0
mov al, 0x3f
xchg byte [0x1405781c7], al
lea rax, [0x1405781c0]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret