Function at 0x1400a6b10
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
test ecx, ecx
je 0x1400a6b89
test edx, edx
je 0x1400a6c8a
xor eax, eax
nop
test al, al
jne 0x1400a6b46
movzx ecx, byte [0x1404c529d]
mov edx, dword [0x14053125c]
cmp edx, 0x51
jle 0x1400a6b60
movzx ecx, byte [0x1404c529d]
mov ecx, dword [0x140531258]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1400a6b30
jmp 0x1400a6b34
cmp cl, 0xe4
je 0x1400a71cc
mov cl, 0x1a
nop dword [rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x1404c529d], cl
je 0x1400a6d87
cmp al, 0xe4
jne 0x1400a6b70
jmp 0x1400a71cc
test edx, edx
je 0x1400a6cc9
movzx eax, byte [0x1404c52a6]
cmp al, 0x38
je 0x1400a6eb1
mov dil, 0x8b
xor ebp, ebp
mov r14d, 0xba6e2fbd
lea rax, [fcn.1400a6b10]
lea r15d, [rax + rax]
add r15d, 0x2220
lea rsi, [rsp + 0x38]
jmp 0x1400a6bd9
cmp bl, 0x38
je 0x1400a6eb1
mov ecx, 0xbd8f0fb
mov edx, 0x50e1afcf
call fcn.1400aac20
test al, 1
je 0x1400a6c20
mov al, 0x8a
lock cmpxchg byte [0x1404c52a6], dil
mov ebx, eax
sete al
mov ecx, dword [0x14053125c]
cmp ecx, 0x16
jg 0x1400a6c20
test al, al
jne 0x1400a6e32
test bpl, bpl
jne 0x1400a6c50
jmp 0x1400a6c40
mov al, 0x8a
lock cmpxchg byte [0x1404c52a6], dil
cmp dword [0x1404c5e68], 0x4591d044
jne 0x1400a6bd9
jmp 0x1400a6bec
mov eax, dword [0x1404c5e68]
add eax, r14d
test r15d, eax
je 0x1400a6bd0
nop
mov eax, dword [0x140531258]
lea ecx, [rax - 1]
imul ecx, eax
mov rdx, rsi
mov r8d, 0x28c88681
mov r9d, 0x608fbc9c
call fcn.1400aa410
mov ecx, dword [rsp + 0x38]
mov edx, 0x325177da
mov r8d, 0x24849257
call fcn.1400a8350
test al, 1
je 0x1400a6c50
jmp 0x1400a6c40
mov ecx, 0xf1a2ee71
mov edx, 0x3c2eef47
call fcn.1400aacd0
test al, 1
jne 0x1400a6f3e
mov cl, 0x5e
nop word cs:[rax + rax]
mov al, 0x4d
lock cmpxchg byte [0x1404c51b6], cl
je 0x1400a6ebd
cmp al, 0xc7
jne 0x1400a6cb0
jmp 0x1400a6f3e
lea rsi, [rsp + 0x38]
lea rdi, [rsp + 0x44]
mov ebx, 0xba6e2fbe
mov bpl, 1
nop dword [rax + rax]
mov eax, dword [0x140531258]
mov ecx, dword [0x1404c5e68]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
jne 0x1400a6d41
mov rcx, rsi
mov edx, 0x555f8e7a
mov r8d, 0x52b3575b
call fcn.1400aaa40
movzx r14d, byte [rsp + 0x38]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xf16223d
mov r9d, 0xce31116b
call fcn.1400aaad0
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x38]
mov ecx, dword [0x1404c5e68]
add ecx, ebx
xor edx, edx
div ecx
test edx, edx
je 0x1400a6d4f
movzx eax, byte [0x1404c533d]
test bpl, bpl
je 0x1400a6ce0
jmp 0x1400a6cf8
test r14b, 1
jne 0x1400a715c
lea rsi, [rsp + 0x38]
nop
mov rcx, rsi
mov edx, 0xb2c1a251
mov r8d, 0x6ea3f3f5
call fcn.1400aac60
test al, 1
jne 0x1400a6f4a
cmp byte [rsp + 0x38], 0x14
jne 0x1400a6d60
jmp 0x1400a715c
xor eax, eax
lea rsi, [rsp + 0x38]
lea rbx, [0x1403fe880]
lea r14, [0x1404c5290]
nop dword [rax]
movsxd rdi, eax
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xb41c5dea
mov r9d, 0xbc61ec13
call fcn.1400aad60
movzx eax, byte [rsp + 0x38]
add al, byte [rdi + rbx]
mov byte [rdi + r14], al
mov eax, edi
xor eax, 1
and edi, 1
lea eax, [rax + rdi*2]
cmp eax, 0xd
jl 0x1400a6da0
nop word cs:[rax + rax]
mov ecx, 0x230821f5
mov edx, 0x96c90c3f
call fcn.140089a60
mov eax, dword [0x14053125c]
cmp eax, 0x19
jle 0x1400a6e05
mov eax, dword [0x14053125c]
cmp eax, 0x10
jge 0x1400a6de0
cmp dword [0x1404c5e68], 0x4591d044
jne 0x1400a6dfa
mov eax, dword [0x140531258]
mov ecx, dword [0x1404c5e68]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1400a71b0
jmp 0x1400a718e
xor eax, eax
lea rcx, [0x1404c52a0]
lea rdx, [0x1403fe890]
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, 5
jg 0x1400a6e80
inc rax
jmp 0x1400a6e50
mov ecx, 0x24849257
mov edx, 0xeae50581
call fcn.140089a60
mov eax, dword [0x140531258]
mov ecx, dword [0x1404c5e68]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1400a6e80
mov al, 0x38
xchg byte [0x1404c52a6], al
lea rax, [0x1404c52a0]
jmp 0x1400a717d
xor edi, edi
lea rbx, [0x1404c51a0]
lea r14, [0x1403fe7a0]
lea rsi, [rsp + 0x38]
nop word cs:[rax + rax]
movsxd rdi, edi
movzx ebp, byte [rdi + rbx]
lea rcx, [r14 + rdi]
mov rdx, rsi
mov r8d, 0x121f6fe6
mov r9d, 0x7ad3e66e
call fcn.1400aa370
movzx eax, byte [rsp + 0x38]
mov ecx, ebp
xor cl, al
and bpl, al
add bpl, bpl
add bpl, cl
mov byte [rdi + rbx], bpl
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [rax + rdi*2]
mov ecx, edi
mov edx, 0x8dd8244e
mov r8d, 0x45082205
call fcn.1400a96c0
test al, 1
je 0x1400a6ee0
mov al, 0xc7
xchg byte [0x1404c51b6], al
lea rax, [0x1404c51a0]
jmp 0x1400a717d
lea rsi, [rsp + 0x38]
nop
mov eax, dword [0x140531258]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a6f74
mov ecx, 0x10a1c33d
mov edx, 0x5d4db859
call fcn.1400aa800
test al, 1
jne 0x1400a6f90
mov rcx, rsi
mov edx, 0x4cc75122
mov r8d, 0x67ba4988
call fcn.1400a8560
cmp dword [rsp + 0x38], 0x53
jge 0x1400a6f50
jmp 0x1400a6f61
lea rbp, [0x1404c5330]
lea rdi, [rsp + 0x44]
lea r12, [0x1403fe920]
lea rbx, [0x1400a72f0]
xor r14d, r14d
jmp 0x1400a6fcd
mov eax, r14d
xor eax, 1
and r14d, 1
lea r14d, [rax + r14*2]
add ecx, 0xba6e2fc9
cmp r14d, ecx
jge 0x1400a7154
movsxd r15, r14d
xor eax, eax
test al, al
jne 0x1400a7050
nop word cs:[rax + rax]
lea rcx, [r15 + rbp]
mov dword [rsp + 0x28], 0x13f93ae0
mov dword [rsp + 0x20], 0xa5eae4ce
mov edx, r15d
mov r8, rdi
mov r9, rsi
call fcn.1400a96d0
movzx edx, byte [rsp + 0x44]
mov rcx, qword [rsp + 0x38]
mov r8d, 0xe31382bd
mov r9d, 0xa7eb6e
call fcn.1400aa4a0
mov ecx, dword [0x1404c5e68]
mov edx, dword [0x140531258]
mov eax, edx
sub eax, ecx
add eax, 0x4591d043
imul eax, edx
lea r8d, [rcx - 0x4591d042]
xor edx, edx
div r8d
test edx, edx
je 0x1400a6fb0
nop dword [rax]
mov ecx, r14d
mov rdx, rsi
mov r8d, 0x1c06a815
mov r9d, 0x474960bd
call fcn.1400aa840
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
movzx ecx, byte [r15 + r12]
sub al, cl
mul cl
sub al, cl
mul cl
mov edx, eax
sub al, cl
mul cl
neg dl
mov r8d, edx
xor r8b, al
and dl, al
add dl, dl
add r8b, al
movzx ecx, byte [0x1404c5e68]
add cl, 0xbd
mov eax, r14d
shl eax, cl
add r8b, dl
mov byte [r15 + rbp], r8b
mov ecx, 1
sub ecx, eax
mov dword [rsp + 0x20], 0x2065ea96
mov rdx, rdi
mov r8, rsi
mov r9d, 0x1902e6dc
call fcn.1400a9660
mov r13, r12
mov r12, rbp
mov ebp, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x28], 0x890597df
mov dword [rsp + 0x20], 0x6cef4645
mov edx, ebp
mov r8, rdi
mov r9, rsi
call fcn.1400aaa90
mov edx, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x30], 0x51df347b
mov dword [rsp + 0x28], 0xb7627e54
mov r8d, ebp
mov rbp, r12
mov r12, r13
mov r13d, 0xba6e301d
mov r9, rdi
call fcn.1400aa3e0
mov ecx, dword [0x1404c5e68]
add ecx, r13d
mov r13b, 1
call fcn.14039c114
mov qword [0x140531250], rax
mov rcx, rbx
call fcn.1403bbdc0
test r13b, r13b
je 0x1400a7050
jmp 0x1400a6fe0
mov al, 0x14
xchg byte [0x1404c533d], al
xor eax, eax
test al, al
jne 0x1400a7168
mov al, 1
test al, al
jne 0x1400a7176
mov al, 1
nop word [rax + rax]
test al, al
je 0x1400a7170
jmp 0x1400a7162
lea rax, [0x1404c5330]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 0xe4
xchg byte [0x1404c529d], al
mov eax, dword [0x140531258]
mov ecx, dword [0x1404c5e68]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x1400a71cc
mov ecx, 0xecd20991
mov edx, 0x5d27832
call fcn.1400a9570
mov eax, dword [0x14053125c]
cmp eax, 0x4e
jge 0x1400a71b0
jmp 0x1400a718e
lea rax, [0x1404c5290]
jmp 0x1400a717d