Function at 0x1401aa440
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401aa4ac
mov eax, 0x2683e712
mov ecx, dword [0x14056f2e0]
add ecx, eax
cmp edx, ecx
jne 0x1401aa52f
movzx eax, byte [0x14056dc73]
cmp al, 0xcd
je 0x1401aa58e
movzx ecx, byte [0x14056f2f0]
lea eax, [rcx + 0x67]
add cl, 0xaf
lock cmpxchg byte [0x14056dc73], cl
jne 0x1401aa460
xor eax, eax
lea rcx, [0x14056dc50]
lea rdx, [0x14048f2f0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x1401aa586
inc rax
jmp 0x1401aa490
test edx, edx
je 0x1401aa551
movzx eax, byte [0x14056dcfd]
cmp al, 0xa8
je 0x1401aa5f6
mov cl, 0xbe
mov dl, 1
jmp 0x1401aa4e5
movzx r8d, byte [0x14056f2f0]
add r8b, 0x77
cmp al, r8b
je 0x1401aa5f6
mov al, 0x53
lock cmpxchg byte [0x14056dcfd], cl
je 0x1401aa596
mov r8d, dword [0x1405d0d50]
lea r9d, [r8 + 1]
imul r9d, r8d
test r9b, 1
jne 0x1401aa520
nop word [rax + rax]
test dl, dl
jne 0x1401aa4d0
nop word cs:[rax + rax]
mov r8d, dword [0x1405d0d54]
cmp r8d, 0x21
jge 0x1401aa520
jmp 0x1401aa510
mov ecx, dword [0x1405d0d50]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
add eax, dword [0x14056f2e0]
cmp edx, eax
je 0x1401aa638
jmp 0x1401aa645
movzx eax, byte [0x14056dbfe]
cmp al, 0x72
je 0x1401aa57e
mov cl, 0x2c
nop
mov al, 0x12
lock cmpxchg byte [0x14056dbfe], cl
je 0x1401aa5fe
movzx edx, byte [0x14056f2f0]
add dl, 0x41
cmp al, dl
jne 0x1401aa560
lea rax, [0x14056dbf0]
ret
mov al, 0xcd
xchg byte [0x14056dc73], al
lea rax, [0x14056dc50]
ret
xor eax, eax
lea rcx, [0x14056dcf0]
lea rdx, [0x14048f390]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1401aa5c8
inc rax
jmp 0x1401aa5b0
xor eax, eax
mov cl, 1
nop dword [rax]
mov edx, dword [0x1405d0d50]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x1401aa5e8
test al, al
je 0x1401aa5ee
test cl, cl
je 0x1401aa5d0
jmp 0x1401aa5e4
mov al, 0xa8
xchg byte [0x14056dcfd], al
lea rax, [0x14056dcf0]
ret
xor eax, eax
lea rcx, [0x14056dbf0]
lea rdx, [0x14048f2a0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x1401aa628
inc rax
jmp 0x1401aa610
mov al, 0x72
xchg byte [0x14056dbfe], al
lea rax, [0x14056dbf0]
ret
movzx eax, byte [0x14056dd2d]
xor ecx, ecx
test cl, cl
je 0x1401aa6a0
movzx eax, byte [0x14056dd2d]
jmp 0x1401aa638
movzx ecx, byte [0x14056f2f0]
lea eax, [rcx + 0x48]
add cl, 0xe4
lock cmpxchg byte [0x14056dd2d], cl
je 0x1401aa6ac
mov ecx, dword [0x1405d0d50]
lea edx, [rcx - 1]
imul edx, ecx
jmp 0x1401aa690
mov ecx, dword [0x1405d0d50]
mov edx, 1
sub edx, ecx
imul edx, ecx
test dl, 1
jne 0x1401aa680
mov ecx, dword [0x1405d0d54]
cmp ecx, 0x4d
jge 0x1401aa680
cmp al, 0xf5
jne 0x1401aa650
lea rax, [0x14056dd20]
ret
mov eax, dword [0x1405d0d50]
lea ecx, [rax + 1]
jmp 0x1401aa6c9
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401aa6c0
mov al, 1
test al, al
je 0x1401aa6c0
xor edx, edx
lea rax, [0x14056dd20]
lea rcx, [0x14048f3c0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14056f2e0]
add edx, r8d
add edx, 0x2683e713
cmp edx, 0xd
jl 0x1401aa6f0
mov eax, dword [0x1405d0d50]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1401aa720
mov al, 0xf5
xchg byte [0x14056dd2d], al
lea rax, [0x14056dd20]
ret