Function at 0x1400a7f80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov eax, 0xfd3fe02f
add eax, dword [0x140532d9c]
cmp ecx, eax
jne 0x1400a7fe3
test edx, edx
je 0x1400a8015
movzx eax, byte [0x1405312b6]
cmp al, 0x34
je 0x1400a8080
nop dword [rax]
movzx ecx, byte [0x140532d98]
lea eax, [rcx - 0x35]
mov edx, ecx
xor dl, 0xb3
and cl, 0x33
add cl, cl
add cl, dl
lock cmpxchg byte [0x1405312b6], cl
je 0x1400a8045
movzx ecx, byte [0x140532d98]
add cl, 0x42
cmp al, cl
jne 0x1400a7fb0
jmp 0x1400a8080
mov eax, dword [0x140532d9c]
mov ecx, eax
xor ecx, 0xfd3fe030
and eax, 0x7d3fe030
lea eax, [rcx + rax*2]
lea rcx, [fcn.1400a7f80]
add ecx, ecx
add ecx, 0x3ca0
test ecx, eax
jne 0x1400a8110
jmp 0x1400a8101
movzx eax, byte [0x14053146d]
movzx ecx, byte [0x140532d98]
add cl, 0xad
cmp al, cl
je 0x1400a80ee
mov cl, 0x11
mov al, 0xbe
lock cmpxchg byte [0x14053146d], cl
je 0x1400a8089
cmp al, 0x9f
jne 0x1400a8030
jmp 0x1400a80ee
xor eax, eax
lea rcx, [0x1405312a0]
lea rdx, [0x14046ae60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1400a8078
inc rax
jmp 0x1400a8060
mov al, 0x34
xchg byte [0x1405312b6], al
lea rax, [0x1405312a0]
jmp 0x1400a80f5
xor r8d, r8d
lea rax, [0x140531460]
lea rcx, [0x14046b010]
mov edx, 0xfd3fe030
nop
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
xor byte [r8 + rax], r9b
mov r9d, dword [0x140532d9c]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0xd
jl 0x1400a80a0
nop dword [rax]
mov eax, dword [0x1405b3218]
mov ecx, eax
sub ecx, dword [0x140532d9c]
imul ecx, eax
test cl, 1
jne 0x1400a80d0
mov al, 0x9f
xchg byte [0x14053146d], al
lea rax, [0x140531460]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov al, 1
test al, al
jne 0x1400a811d
nop word [rax + rax]
mov eax, dword [0x1405b321c]
cmp eax, 0x42
jge 0x1400a8110
jmp 0x1400a8101
test edx, edx
je 0x1400a8155
movzx eax, byte [0x1405311c5]
cmp al, 0x9d
je 0x1400a8271
mov cl, 0x13
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x1405311c5], cl
je 0x1400a8164
cmp al, 0x9d
jne 0x1400a8140
jmp 0x1400a8271
xor eax, eax
test al, al
jne 0x1400a82b5
jmp 0x1400a8299
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400a8170
mov edi, 1
xor ebx, ebx
lea r14, [0x1405311b0]
lea r15, [0x14046ad80]
lea rsi, [0x1400a8c00]
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a81ca
nop word cs:[rax + rax]
movzx eax, byte [rbx + r15]
xor byte [rbx + r14], al
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400a8220
mov ecx, 0x24
call fcn.1404068e4
mov qword [0x1405b3200], rax
mov rcx, rsi
call fcn.140426cd0
movzx eax, byte [rbx + r14]
movzx ecx, byte [rbx + r15]
mov edx, eax
shl dl, cl
mov ecx, eax
neg cl
mov r8d, ecx
xor r8b, dl
and cl, dl
add cl, cl
add cl, r8b
sub al, cl
mul cl
mov edx, eax
shl dl, cl
mov ecx, edx
xor cl, dl
not cl
and cl, al
xor cl, dl
mov byte [rbx + r14], cl
jmp 0x1400a81b0
lea eax, [rbx + 1]
cmp eax, 0x14
jg 0x1400a8232
inc rbx
dec edi
jmp 0x1400a8190
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400a8240
mov al, 0x9d
xchg byte [0x1405311c5], al
jmp 0x1400a8271
mov eax, dword [0x1405b321c]
mov ecx, dword [0x140532d9c]
mov edx, ecx
xor edx, 0xfd3fe04d
and ecx, 0x7d3fe04d
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1400a827c
mov eax, dword [0x1405b321c]
cmp eax, 0x32
jg 0x1400a8250
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a8250
lea rax, [0x1405311b0]
jmp 0x1400a80f5
movzx eax, byte [0x140531196]
mov ecx, dword [0x1405b321c]
mov edx, 0xfd3fe06f
add edx, dword [0x140532d9c]
cmp ecx, edx
jl 0x1400a82db
mov eax, 0xfd3fe087
nop word [rax + rax]
movzx ecx, byte [0x140531196]
mov ecx, dword [0x1405b321c]
mov edx, dword [0x140532d9c]
add edx, eax
cmp ecx, edx
jge 0x1400a82c0
jmp 0x1400a8299
cmp al, 0x22
je 0x1400a845b
mov r8b, 0xc2
mov r9d, 0xfd3fe030
lea rax, [fcn.1400a7f80]
lea r10d, [rax + rax]
add r10d, 0x1f40
jmp 0x1400a8350
mov al, 0x39
lock cmpxchg byte [0x140531196], r8b
mov ecx, eax
sete r11b
mov edx, dword [0x1405b3218]
mov esi, dword [0x140532d9c]
mov eax, edx
sub eax, esi
add eax, 0x2c01fd0
imul eax, edx
add esi, 0xfd3fe031
xor edx, edx
div esi
test edx, edx
je 0x1400a8370
mov al, 0x39
lock cmpxchg byte [0x140531196], r8b
mov eax, dword [0x140532d9c]
add eax, r9d
test r10d, eax
je 0x1400a8300
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a8337
jmp 0x1400a8300
test r11b, r11b
jne 0x1400a8380
cmp cl, 0x22
jne 0x1400a8350
jmp 0x1400a845b
mov eax, dword [0x1405b3218]
mov ecx, dword [0x140532d9c]
mov edx, eax
sub edx, ecx
imul edx, eax
and edx, 1
add ecx, 0xfd3fe02f
cmp edx, ecx
je 0x1400a83a9
cmp byte [0x1405b349c], 0
jne 0x1400a8380
mov eax, dword [0x1405b321c]
cmp eax, 0x4d
jg 0x1400a83a0
xor edx, edx
lea rax, [0x140531190]
lea rcx, [0x14046ad60]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 6
jl 0x1400a83d0
mov eax, dword [0x1405b321c]
mov ecx, 0xfd3fe071
add ecx, dword [0x140532d9c]
cmp eax, ecx
jge 0x1400a8440
mov al, 0x22
xchg byte [0x140531196], al
mov eax, dword [0x1405b3218]
mov ecx, dword [0x140532d9c]
mov edx, eax
sub edx, ecx
add edx, 0x2c01fd0
imul edx, eax
and edx, 1
add ecx, 0xfd3fe02f
cmp edx, ecx
je 0x1400a845b
nop word cs:[rax + rax]
mov al, 0x22
xchg byte [0x140531196], al
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a8440
jmp 0x1400a8404
mov eax, dword [0x1405b321c]
nop word cs:[rax + rax]
mov eax, dword [0x1405b3218]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400a8470
lea rax, [0x140531190]
jmp 0x1400a80f5