Function at 0x1400a99d0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1400a9a0c
test edx, edx
je 0x1400a9a3c
movzx eax, byte [0x1405001b6]
cmp al, 0x88
je 0x1400a9a04
mov cl, 0x18
nop word cs:[rax + rax]
mov al, 0xe1
lock cmpxchg byte [0x1405001b6], cl
je 0x1400a9b11
cmp al, 0x88
jne 0x1400a99f0
lea rax, [0x1405001a0]
ret
test edx, edx
je 0x1400a9a6c
movzx eax, byte [0x140500231]
cmp al, 0x98
je 0x1400a9a34
mov cl, 0x2c
nop dword [rax]
mov al, 0x5f
lock cmpxchg byte [0x140500231], cl
je 0x1400a9baf
cmp al, 0x98
jne 0x1400a9a20
lea rax, [0x140500220]
ret
movzx eax, byte [0x1405000a6]
cmp al, 0x4c
je 0x1400a9a64
mov cl, 0xc2
nop dword [rax]
mov al, 0xdb
lock cmpxchg byte [0x1405000a6], cl
je 0x1400a9bf1
cmp al, 0x4c
jne 0x1400a9a50
lea rax, [0x1405000a0]
ret
movzx eax, byte [0x140500145]
movzx ecx, byte [0x1405015c4]
add cl, 0x70
cmp al, cl
je 0x1400a9cc9
mov r8d, 0x7380dc9f
xor r9d, r9d
jmp 0x1400a9aa1
movzx eax, byte [0x1405015c4]
add al, 0x70
cmp cl, al
je 0x1400a9cc9
movzx ecx, byte [0x1405015c4]
lea eax, [rcx + 0x26]
mov edx, ecx
xor dl, 0x7b
and cl, 0x7b
add cl, cl
add cl, dl
add cl, 0xcc
lock cmpxchg byte [0x140500145], cl
je 0x1400a9c7b
mov ecx, eax
nop word [rax + rax]
mov edx, dword [0x140575630]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1405015c0]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
jne 0x1400a9af4
test r9b, r9b
je 0x1400a9a90
mov eax, dword [0x1405015c0]
mov edx, eax
xor edx, 0xc7f2362
and edx, eax
xor eax, 0x7380dc9d
add edx, edx
add edx, eax
jne 0x1400a9ad0
jmp 0x1400a9aef
xor edx, edx
lea rax, [0x1405001a0]
lea rcx, [0x1404386c0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x16
jl 0x1400a9b30
nop
mov ecx, dword [0x140575630]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405015c0]
lea r8d, [rcx + 0x7380dc9f]
xor edx, edx
div r8d
mov eax, ecx
xor eax, 0x7380dc9d
and ecx, 0x7380dc9d
lea eax, [rax + rcx*2]
cmp edx, eax
je 0x1400a9b8d
mov eax, dword [0x140575634]
cmp eax, 0x27
jge 0x1400a9b50
mov eax, dword [0x140575634]
cmp eax, 0x2f
jg 0x1400a9b82
movzx eax, byte [0x1405015c4]
add al, 0x41
xchg byte [0x1405001b6], al
lea rax, [0x1405001a0]
ret
xor eax, eax
lea rcx, [0x140500220]
lea rdx, [0x140438730]
mov r8d, 0x7380dcae
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x1405015c0]
add r10d, r8d
cmp r9d, r10d
jge 0x1400a9c28
inc rax
jmp 0x1400a9bd0
xor eax, eax
lea rcx, [0x1405000a0]
lea rdx, [0x1404385d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x1400a9c6b
inc rax
jmp 0x1400a9c10
mov eax, dword [0x140575634]
mov eax, 0x7380dc9d
nop word cs:[rax + rax]
mov ecx, dword [0x140575630]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405015c0]
add ecx, eax
cmp edx, ecx
jne 0x1400a9c40
mov al, 0x98
xchg byte [0x140500231], al
lea rax, [0x140500220]
ret
mov al, 0x4c
xchg byte [0x1405000a6], al
lea rax, [0x1405000a0]
ret
xor eax, eax
lea rcx, [0x140500130]
lea rdx, [0x140438650]
mov r8d, 0x7380dcb2
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x1405015c0]
add r10d, r8d
cmp r9d, r10d
jge 0x1400a9cc1
inc rax
jmp 0x1400a9ca0
mov al, 0xb7
xchg byte [0x140500145], al
lea rax, [0x140500130]
ret