Function at 0x1401ae0a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
test ecx, ecx
je 0x1401ae0f9
mov eax, dword [0x1404e3938]
mov ecx, eax
xor ecx, 0xab5152af
and eax, 0x2b5152af
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x1401ae167
movzx eax, byte [0x1404e37d0]
cmp al, 0x44
je 0x1401ae300
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x1404e37d0], cl
je 0x1401ae218
cmp al, 0x44
jne 0x1401ae0e0
jmp 0x1401ae300
test edx, edx
je 0x1401ae204
movzx eax, byte [0x1404e37b2]
cmp al, 0x52
je 0x1401ae52b
mov cl, 0x82
xor edx, edx
mov r8b, 1
jmp 0x1401ae128
cmp al, 0x52
je 0x1401ae52b
mov al, 0x9d
lock cmpxchg byte [0x1404e37b2], cl
je 0x1401ae335
test dl, dl
jne 0x1401ae150
nop dword [rax]
test r8b, r8b
jne 0x1401ae120
nop word cs:[rax + rax]
mov r9d, dword [0x140531b38]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x1401ae150
jmp 0x1401ae140
mov eax, 0xab5152f9
mov ecx, 0xab5152af
nop word cs:[rax + rax]
mov edx, dword [0x140531b3c]
mov r8d, dword [0x1404e3938]
add r8d, eax
cmp edx, r8d
jge 0x1401ae1a9
movzx edx, byte [0x1404e3757]
mov r8d, dword [0x140531b3c]
cmp r8d, 0x42
jle 0x1401ae1d1
movzx edx, byte [0x1404e3757]
mov edx, dword [0x140531b38]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1404e3938]
add edx, ecx
cmp r8d, edx
jne 0x1401ae180
jmp 0x1401ae195
cmp dl, 0xb9
je 0x1401ae32c
nop word [rax + rax]
movzx ecx, byte [0x1404e3948]
lea eax, [rcx + 0x6b]
add cl, 0xb8
lock cmpxchg byte [0x1404e3757], cl
je 0x1401ae2ce
cmp al, 0xb9
jne 0x1401ae1e0
jmp 0x1401ae32c
mov eax, dword [0x140531b3c]
cmp eax, 0x10
jle 0x1401ae35c
jmp 0x1401ae385
xor edx, edx
lea r8, [0x1404e37c0]
lea r9, [0x140404e50]
jmp 0x1401ae23b
inc edx
cmp edx, 0x10
jge 0x1401ae2f8
mov eax, dword [0x140531b3c]
movsxd r10, edx
cmp eax, 0x23
jg 0x1401ae270
nop dword [rax]
movzx eax, byte [r10 + r9]
add byte [r10 + r8], al
cmp dword [0x1404e3938], 0x54aead51
je 0x1401ae230
nop word cs:[rax + rax]
movzx r11d, byte [r10 + r8]
movzx ecx, byte [r10 + r9]
shl r11b, cl
mov eax, r11d
sub al, cl
mul cl
mov ecx, eax
sub cl, r11b
sub cl, r11b
mov eax, r11d
sub al, cl
mul cl
mov ebx, eax
sub bl, r11b
add bl, 0x27
mov ecx, ebx
xor cl, 0xd9
and bl, 0x59
add bl, bl
add bl, cl
mov ecx, eax
shl bl, cl
sub al, bl
add bl, 0x52
mov ecx, ebx
xor cl, al
and bl, al
add bl, bl
add bl, cl
add bl, 0xae
mov byte [r10 + r8], bl
mov eax, dword [0x140531b3c]
cmp eax, 0x2f
jge 0x1401ae270
jmp 0x1401ae250
xor eax, eax
lea rcx, [0x1404e3750]
lea rdx, [0x140404de0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x1401ae324
inc rax
jmp 0x1401ae2e0
mov al, 0x44
xchg byte [0x1404e37d0], al
mov eax, dword [0x140531b3c]
nop word cs:[rax + rax]
mov eax, dword [0x140531b3c]
cmp eax, 0x4b
jg 0x1401ae310
lea rax, [0x1404e37c0]
pop rbx
ret
mov al, 0xb9
xchg byte [0x1404e3757], al
lea rax, [0x1404e3750]
pop rbx
ret
mov eax, dword [0x140531b38]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xab5152af
add eax, dword [0x1404e3938]
cmp ecx, eax
je 0x1401ae459
jmp 0x1401ae45f
movzx eax, byte [0x1404e3883]
mov ecx, 0xab5152b0
add ecx, dword [0x1404e3938]
lea rdx, [fcn.1401ae0a0]
add edx, edx
add edx, 0x1220
xor edx, ecx
not edx
test edx, ecx
je 0x1401ae38e
movzx eax, byte [0x1404e3883]
jmp 0x1401ae35c
cmp al, 0x2d
je 0x1401ae450
lea rax, [fcn.1401ae0a0]
lea ecx, [rax + rax]
add ecx, 0x2c00
mov dl, 0x99
nop dword [rax + rax]
mov eax, dword [0x1404e3938]
lea r8d, [rax - 0x54aead50]
and r8d, ecx
mov r9d, eax
xor r9d, 0xab5152af
and eax, 0x2b5152af
lea eax, [r9 + rax*2]
cmp r8d, eax
jne 0x1401ae410
nop dword [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x1404e3883], dl
sete r8b
mov r9d, dword [0x140531b3c]
cmp r9d, 0x49
jg 0x1401ae410
test r8b, r8b
jne 0x1401ae41c
cmp al, 0x2d
jne 0x1401ae3b0
jmp 0x1401ae450
mov al, 0xe7
lock cmpxchg byte [0x1404e3883], dl
jmp 0x1401ae3e0
xor eax, eax
lea rcx, [0x1404e3870]
lea rdx, [0x140404ef0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x12
jg 0x1401ae448
inc rax
jmp 0x1401ae430
mov al, 0x2d
xchg byte [0x1404e3883], al
lea rax, [0x1404e3870]
pop rbx
ret
mov al, 1
test al, al
jne 0x1401ae486
lea rax, [fcn.1401ae0a0]
add eax, eax
add eax, 0x21e0
mov ecx, eax
not ecx
nop word cs:[rax + rax]
test ecx, eax
jne 0x1401ae480
jmp 0x1401ae459
xor eax, eax
lea rcx, [0x1404e37a0]
lea rdx, [0x140404e30]
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, 0x11
jg 0x1401ae4c8
inc rax
jmp 0x1401ae4a0
lea rax, [fcn.1401ae0a0]
add eax, eax
add eax, 0x220
nop word cs:[rax + rax]
mov ecx, dword [0x140531b38]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401ae502
mov ecx, dword [0x140531b38]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1401ae51c
mov ecx, dword [0x1404e3938]
lea edx, [rcx - 0x54aead50]
and edx, eax
add ecx, 0xab5152af
cmp edx, ecx
jne 0x1401ae4e0
jmp 0x1401ae4f1
movzx eax, byte [0x1404e3948]
add al, 0xae
xchg byte [0x1404e37b2], al
lea rax, [0x1404e37a0]
pop rbx
ret