Function at 0x1400ad2c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov ebp, dword [rsp + 0xb0]
mov eax, ebp
xor eax, 0x1afa7fe4
add eax, dword [0x1404f14e8]
cmp ecx, eax
jne 0x1400ad319
test edx, edx
je 0x1400ad359
movzx eax, byte [0x1404f038f]
cmp al, 0x17
je 0x1400ad44f
mov cl, 0x26
nop dword [rax]
mov al, 0xee
lock cmpxchg byte [0x1404f038f], cl
je 0x1400ad3f5
cmp al, 0x17
jne 0x1400ad300
jmp 0x1400ad44f
test edx, edx
je 0x1400ad3a7
movzx ecx, byte [0x1404f00b6]
mov edx, 0x6cf68257
call fcn.1400aab40
test al, 1
jne 0x1400ad500
mov cl, 0xb3
nop dword [rax]
mov al, 0x8f
lock cmpxchg byte [0x1404f00b6], cl
je 0x1400ad45b
cmp al, 0x39
jne 0x1400ad340
jmp 0x1400ad500
movzx eax, byte [0x1404f0253]
cmp al, 0xaa
je 0x1400ad5f4
nop dword [rax + rax]
movzx ecx, byte [0x1404f14d8]
mov eax, ebp
xor al, 0xa9
add al, cl
mov edx, ebp
xor dl, 0x8b
add dl, cl
lock cmpxchg byte [0x1404f0253], dl
je 0x1400ad50c
mov ecx, eax
mov edx, 0x1ca9c170
call fcn.1400aaa40
test al, 1
je 0x1400ad370
jmp 0x1400ad5f4
mov ecx, ebp
xor ecx, 0x9a014440
add ecx, dword [0x1404f14e8]
call fcn.1400aaaa0
test al, 1
jne 0x1400ad60f
mov bl, 0x90
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x1404f02c6], bl
je 0x1400ad53c
mov ecx, eax
mov edx, 0x1e274e37
call fcn.1400aab70
test al, 1
je 0x1400ad3d0
jmp 0x1400ad60f
xor eax, eax
lea rdi, [0x1404f0380]
lea rbx, [0x140426aa0]
lea rsi, [rsp + 0x40]
nop word [rax + rax]
movsxd r8, eax
lea rdx, [rdi + r8]
movzx ecx, byte [r8 + rdi]
movzx eax, byte [r8 + rbx]
mov r9d, ecx
xor r9b, al
and cl, al
add cl, cl
add cl, r9b
mov dword [rsp + 0x20], 0xb8c29d27
mov r9, rsi
call fcn.1400aab50
mov eax, dword [rsp + 0x40]
cmp eax, 0xf
jl 0x1400ad410
mov al, 0x17
xchg byte [0x1404f038f], al
lea rax, [0x1404f0380]
jmp 0x1400ad616
xor esi, esi
lea rdi, [rsp + 0x40]
lea r14, [0x1404f00b0]
lea rbx, [rsp + 0x3f]
xor ebp, 0x1afa7fea
nop word cs:[rax + rax]
mov ecx, esi
mov rdx, rdi
mov r8d, 0xdd5bcf1
call fcn.1400aa810
mov rcx, qword [rsp + 0x40]
add rcx, r14
mov dword [rsp + 0x20], 0x7d7b3c15
mov edx, esi
mov r8, rbx
mov r9, rdi
call fcn.1400aaaf0
movzx r15d, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r8d, 0xe311269f
call fcn.1400aa800
movzx eax, byte [rsp + 0x40]
mov ecx, r15d
xor cl, al
and r15b, al
add r15b, r15b
add r15b, cl
mov byte [rsi + r14], r15b
lea eax, [rsi + 1]
mov ecx, dword [0x1404f14e8]
mov edx, ebp
xor edx, ecx
and ecx, ebp
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x1400ad4f8
inc rsi
jmp 0x1400ad480
mov al, 0x39
xchg byte [0x1404f00b6], al
lea rax, [0x1404f00b0]
jmp 0x1400ad616
xor eax, eax
lea rcx, [0x1404f0250]
lea rdx, [0x140426970]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x1400ad5e2
inc rax
jmp 0x1400ad520
xor esi, esi
mov r14d, ebp
xor r14d, 0x95a2ed8b
lea rdi, [rsp + 0x3f]
lea rbx, [rsp + 0x40]
mov r12d, ebp
xor r12d, 0x11655fc2
lea r13, [0x1404f02c0]
mov r15d, ebp
xor r15d, 0x1afa7fea
nop dword [rax]
mov eax, dword [0x1404f14e8]
add eax, r14d
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, esi
mov r8, rdi
mov r9, rbx
call fcn.1400aa9b0
movzx ecx, byte [rsp + 0x3f]
mov rax, qword [rsp + 0x40]
lea rdx, [0x1404269e0]
movzx edx, byte [rax + rdx]
mov eax, dword [0x1404f14e8]
add eax, r12d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r8d, esi
mov r9, rdi
call fcn.1400aab10
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r13], al
lea eax, [rsi + 1]
mov ecx, dword [0x1404f14e8]
add ecx, r15d
cmp eax, ecx
jge 0x1400ad5fd
inc rsi
jmp 0x1400ad570
xor bpl, 0x21
add bpl, byte [0x1404f14d8]
xchg byte [0x1404f0253], bpl
lea rax, [0x1404f0250]
jmp 0x1400ad616
xor bpl, 0xde
add bpl, byte [0x1404f14d8]
xchg byte [0x1404f02c6], bpl
lea rax, [0x1404f02c0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret