Function at 0x1403aa3a0
Capabilities:
Encode data using xor

Disassembly:
mov r8d, edx
test ecx, ecx
je 0x1403aa439
mov eax, dword [0x140579084]
cmp eax, 0x4e
nop word cs:[rax + rax]
mov eax, dword [0x140561988]
lea ecx, [rax - 0x1259ae46]
lea rdx, [fcn.1403aa3a0]
add edx, edx
add edx, 0x15a0
mov r9d, edx
not r9d
xor edx, ecx
not ecx
and ecx, r9d
or ecx, edx
cmp ecx, 0xffffffff
jne 0x1403aa3c0
mov ecx, eax
xor ecx, 0xeda651b9
and eax, 0x6da651b9
lea eax, [rcx + rax*2]
cmp r8d, eax
jne 0x1403aa4dc
movzx eax, byte [0x14055fb76]
cmp al, 0xf9
je 0x1403aa64c
mov cl, 0x53
nop dword [rax]
mov al, 0x17
lock cmpxchg byte [0x14055fb76], cl
je 0x1403aa53c
cmp al, 0xf9
jne 0x1403aa420
jmp 0x1403aa64c
mov ecx, dword [0x140579080]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140561988]
mov edx, ecx
xor edx, 0xeda651bb
and ecx, 0x6da651bb
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
nop word cs:[rax + rax]
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403aa470
test r8d, r8d
je 0x1403aa50c
movzx eax, byte [0x14055f6d6]
movzx ecx, byte [0x140561998]
mov edx, ecx
xor dl, 0x7c
and cl, 0x7c
add cl, cl
mov r8d, edx
xor r8b, cl
and cl, dl
add cl, cl
add cl, r8b
cmp al, cl
je 0x1403aa4d4
mov cl, 0x5a
nop word cs:[rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x14055f6d6], cl
je 0x1403aa69e
cmp al, 0x8e
jne 0x1403aa4c0
lea rax, [0x14055f6d0]
ret
movzx eax, byte [0x14055fd37]
cmp al, 0xfe
je 0x1403aa504
mov cl, 0xa4
nop dword [rax]
mov al, 0xd4
lock cmpxchg byte [0x14055fd37], cl
je 0x1403aa59e
cmp al, 0xfe
jne 0x1403aa4f0
lea rax, [0x14055fd30]
ret
movzx eax, byte [0x14055f7d4]
cmp al, 0x17
je 0x1403aa534
mov cl, 0x36
nop dword [rax]
mov al, 0xed
lock cmpxchg byte [0x14055f7d4], cl
je 0x1403aa719
cmp al, 0x17
jne 0x1403aa520
lea rax, [0x14055f7d0]
ret
xor eax, eax
lea rcx, [0x14055fb60]
lea rdx, [0x140460110]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
mov r9d, dword [0x140561988]
mov r10d, r9d
xor r10d, 0xeda651cf
and r9d, 0x6da651cf
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1403aa636
inc rax
jmp 0x1403aa550
xor edx, edx
lea rax, [0x14055fd30]
lea rcx, [0x1404602d0]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
add r8b, 0x86
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
add r8b, 0x7a
mov byte [rdx + rax], r8b
mov r8d, dword [0x140561988]
add edx, r8d
add edx, 0xeda651ba
cmp edx, 7
jl 0x1403aa5b0
nop dword [rax]
mov eax, dword [0x140579084]
cmp eax, 0x14
jg 0x1403aa5f0
xor eax, eax
nop dword [rax]
mov ecx, dword [0x140579080]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1403aa622
mov ecx, dword [0x140579080]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1403aa600
test al, al
jne 0x1403aa611
mov al, 0xfe
xchg byte [0x14055fd37], al
lea rax, [0x14055fd30]
ret
mov eax, dword [0x140579080]
xor eax, eax
nop
test al, al
jne 0x1403aa640
mov al, 0xf9
xchg byte [0x14055fb76], al
mov ecx, dword [0x140579080]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140561988]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x1259ae44
mov r9d, edx
and r9d, 0xeda651bb
or r9d, r8d
xor ecx, 0x6da651bb
and edx, 0x1259ae44
or edx, ecx
not edx
lea ecx, [r9 + rdx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x1403aa770
jmp 0x1403aa75f
xor edx, edx
lea rax, [0x14055f6d0]
lea rcx, [0x14045fcb0]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
mov r11d, r9d
xor r11b, r10b
and r10b, r9b
not r11b
and r11b, r8b
or r11b, r10b
mov byte [rdx + rax], r11b
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, 1
mov r10d, edx
and r10d, 0xfffffffe
or r10d, r9d
xor edx, 1
and r8d, 0x7ffffffe
or r8d, edx
not r8d
lea edx, [r10 + r8*2]
cmp edx, 6
jl 0x1403aa6b0
mov al, 0x8e
xchg byte [0x14055f6d6], al
lea rax, [0x14055f6d0]
ret
xor eax, eax
lea rcx, [0x14055f7d0]
lea rdx, [0x14045fdb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 3
jg 0x1403aa748
inc rax
jmp 0x1403aa730
movzx eax, byte [0x140561998]
add al, 5
xchg byte [0x14055f7d4], al
lea rax, [0x14055f7d0]
ret
mov eax, dword [0x140579084]
cmp eax, 0x42
jl 0x1403aa783
nop word [rax + rax]
mov eax, dword [0x140579080]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403aa770
jmp 0x1403aa75f
lea rax, [0x14055fb60]
ret