Function at 0x1400adf80
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov esi, r9d
test ecx, ecx
je 0x1400adfc9
test edx, edx
je 0x1400adff9
movzx eax, byte [0x1405101b6]
cmp al, 0x8f
je 0x1400ae15a
mov cl, 0xc1
nop dword [rax + rax]
mov al, 0xb6
lock cmpxchg byte [0x1405101b6], cl
je 0x1400ae0c0
cmp al, 0x8f
jne 0x1400adfb0
jmp 0x1400ae15a
test edx, edx
je 0x1400ae044
movzx eax, byte [0x14051045d]
cmp al, 0x50
je 0x1400ae1d7
mov cl, 0x6c
nop
mov al, 0xb
lock cmpxchg byte [0x14051045d], cl
je 0x1400ae166
cmp al, 0x50
jne 0x1400adfe0
jmp 0x1400ae1d7
mov ecx, esi
xor ecx, 0xfe707e2e
mov edx, 0x29a7e079
add edx, dword [0x140512a80]
call fcn.1400ae7c0
test al, 1
jne 0x1400ae1f5
nop dword [rax]
movzx ecx, byte [0x140512a84]
lea eax, [rcx + 0x2b]
add cl, 0xdb
lock cmpxchg byte [0x1405103ef], cl
je 0x1400ae198
cmp al, 0xf3
jne 0x1400ae020
jmp 0x1400ae1f5
movzx eax, byte [0x140510313]
cmp al, 0xcc
je 0x1400ae25f
mov edi, esi
xor edi, 0x3bed8546
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3e]
nop word cs:[rax + rax]
mov rcx, rbx
mov rdx, r14
mov r8d, edi
mov r9d, 0x7d1f3950
call fcn.1400af320
cmp byte [rsp + 0x41], 0
jne 0x1400ae1fe
movzx ecx, byte [rsp + 0x3e]
mov eax, dword [0x140512a80]
mov edx, 0xd67c0f8f
sub edx, eax
add eax, 0x2983f070
xor edx, eax
and edx, esi
xor edx, eax
mov r8d, 0xb169d297
call fcn.1400ae690
test al, 1
je 0x1400ae070
jmp 0x1400ae25f
xor eax, eax
lea rbx, [0x1405101b0]
lea r14, [0x14044c5a0]
lea rdi, [rsp + 0x44]
nop word cs:[rax + rax]
movsxd r8, eax
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
xor cl, byte [r8 + r14]
mov eax, dword [0x140512a80]
lea r9d, [rax + 0xbcf1173]
mov r10d, r9d
xor r10d, r9d
not r10d
and r10d, esi
xor r10d, r9d
add eax, 0x1b169748
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
mov r9, rdi
call fcn.1400ae790
mov eax, dword [rsp + 0x44]
mov ecx, dword [0x140512a80]
mov edx, ecx
xor edx, 0x99d46e42
and ecx, 0x19d46e42
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1400ae0e0
mov eax, 0x1666a891
add eax, dword [0x140512a80]
xor esi, eax
mov ecx, esi
mov edx, 0x6ea3c5e3
call fcn.1400ae7e0
lea rax, [0x1405101b0]
jmp 0x1400ae266
xor eax, eax
lea rcx, [0x140510450]
lea rdx, [0x14044c820]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1400ae1c8
inc rax
jmp 0x1400ae180
xor eax, eax
lea rcx, [0x1405103e0]
lea rdx, [0x14044c7b0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xe
jg 0x1400ae1e3
inc rax
jmp 0x1400ae1b0
movzx eax, byte [0x140512a84]
add al, 0xe0
xchg byte [0x14051045d], al
lea rax, [0x140510450]
jmp 0x1400ae266
xor esi, 0x607b515c
mov ecx, esi
mov edx, 0xbf8803bd
call fcn.1400af3f0
lea rax, [0x1405103e0]
jmp 0x1400ae266
xor ebx, ebx
lea r14, [0x140510310]
lea r15, [0x14044c6e0]
xor esi, 0x747c3296
mov ebp, 0xc377659c
lea rdi, [rsp + 0x3f]
nop
movzx ecx, byte [rbx + r14]
movzx edx, byte [rbx + r15]
mov eax, dword [0x140512a80]
add eax, ebp
mov dword [rsp + 0x20], eax
mov r8, rdi
mov r9d, esi
call fcn.1400ae7b0
movzx eax, byte [rsp + 0x3f]
mov byte [rbx + r14], al
lea eax, [rbx + 1]
cmp eax, 2
jg 0x1400ae257
inc rbx
jmp 0x1400ae220
mov al, 0xcc
xchg byte [0x140510313], al
lea rax, [0x140510310]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret