Function at 0x1400a9270
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
test ecx, ecx
je 0x1400a92b9
mov eax, dword [0x1405d0514]
cmp eax, 0x55
xor eax, eax
test al, al
jne 0x1400a9280
test edx, edx
je 0x1400a92dc
movzx eax, byte [0x14055020e]
cmp al, 0x1b
je 0x1400a9786
mov cl, 0x84
nop dword [rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x14055020e], cl
je 0x1400a9339
cmp al, 0x1b
jne 0x1400a92a0
jmp 0x1400a9786
mov eax, 0xf3dea17
add eax, dword [0x1405508c8]
cmp edx, eax
jne 0x1400a9305
mov eax, dword [0x1405d0514]
cmp eax, 0x57
jle 0x1400a94d0
jmp 0x1400a94f5
movzx eax, byte [0x140550324]
cmp al, 0x10
je 0x1400a9716
mov cl, 0x7b
nop dword [rax]
mov al, 0x50
lock cmpxchg byte [0x140550324], cl
je 0x1400a9377
cmp al, 0x10
jne 0x1400a92f0
jmp 0x1400a9716
movzx eax, byte [0x14055034f]
cmp al, 0x8c
je 0x1400a94aa
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xda
lock cmpxchg byte [0x14055034f], cl
je 0x1400a943d
cmp al, 0x8c
jne 0x1400a9320
jmp 0x1400a94aa
xor eax, eax
lea rcx, [0x140550200]
lea rdx, [0x140489270]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x1400a9368
inc rax
jmp 0x1400a9350
mov al, 1
test al, al
je 0x1400a9770
jmp 0x1400a9741
xor r9d, r9d
lea r10, [0x140550310]
lea r11, [0x140489380]
jmp 0x1400a9399
inc r9d
cmp r9d, 0x14
jge 0x1400a9415
mov eax, dword [0x1405d0510]
mov ecx, dword [0x1405508c8]
sub ecx, eax
add ecx, 0x2134e754
imul ecx, eax
movsxd rsi, r9d
test cl, 1
jne 0x1400a93e0
nop dword [rax + rax]
movzx eax, byte [rsi + r11]
xor byte [rsi + r10], al
mov eax, dword [0x1405d0510]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400a9390
nop word [rax + rax]
movzx eax, byte [rsi + r10]
movzx ecx, byte [rsi + r11]
sub al, cl
mul cl
mov edx, eax
shl dl, cl
mov r8d, eax
mov ecx, edx
shl r8b, cl
mov ecx, r8d
shl al, cl
shl al, cl
xor al, r8b
mov byte [rsi + r10], al
mov eax, dword [0x1405d0514]
cmp eax, 0x1d
jge 0x1400a93e0
jmp 0x1400a93c0
mov eax, dword [0x1405508c8]
mov ecx, eax
xor ecx, 0xf3dea17
not eax
and eax, 0x70c215e8
or eax, ecx
not eax
add eax, eax
add eax, ecx
jne 0x1400a9730
jmp 0x1400a971f
xor edx, edx
lea rax, [0x140550340]
lea rcx, [0x1404893b0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x1405508c8]
add edx, r8d
add edx, 0xf3dea18
cmp edx, 0xf
jl 0x1400a9450
mov eax, dword [0x1405d0510]
mov eax, 0xf3dea59
nop dword [rax]
mov ecx, dword [0x1405d0514]
mov edx, dword [0x1405508c8]
add edx, eax
cmp ecx, edx
jge 0x1400a9490
mov al, 0x8c
xchg byte [0x14055034f], al
mov eax, dword [0x1405d0510]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400a94c0
lea rax, [0x140550340]
jmp 0x1400a96d3
movzx eax, byte [0x1405500d2]
mov ecx, dword [0x1405d0510]
mov edx, dword [0x1405508c8]
neg edx
add edx, ecx
add edx, 0xa1a057f0
imul edx, ecx
test dl, 1
je 0x1400a951b
mov eax, 0xf3dea52
nop word [rax + rax]
movzx ecx, byte [0x1405500d2]
mov ecx, dword [0x1405d0514]
mov edx, dword [0x1405508c8]
add edx, eax
cmp ecx, edx
jge 0x1400a9500
jmp 0x1400a94d0
cmp al, 0x38
je 0x1400a96a6
mov ecx, 0xf3dea17
mov dl, 0xbc
mov r8d, 0xf3dea18
lea rax, [fcn.1400a9270]
lea r9d, [rax + rax]
add r9d, 0x160
mov r10b, 1
jmp 0x1400a9558
cmp al, 0x38
je 0x1400a96a6
mov eax, dword [0x1405d0510]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
mov eax, dword [0x1405508c8]
add eax, ecx
cmp r11d, eax
jne 0x1400a9597
mov al, 0xce
lock cmpxchg byte [0x1405500d2], dl
sete r11b
mov esi, dword [0x1405d0510]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
je 0x1400a95d0
movzx r11d, byte [0x1405508cc]
lea eax, [r11 + 0x44]
mov ebx, r11d
xor bl, 0x32
and r11b, 0x32
add r11b, r11b
add r11b, bl
lock cmpxchg byte [0x1405500d2], r11b
mov eax, dword [0x1405d0514]
cmp eax, 0x60
jge 0x1400a9558
jmp 0x1400a9577
test r11b, r11b
jne 0x1400a960e
nop word cs:[rax + rax]
mov r11d, dword [0x1405d0514]
cmp r11d, 0x19
jle 0x1400a95f2
test r10b, r10b
je 0x1400a95e0
mov r11d, dword [0x1405508c8]
add r11d, r8d
mov esi, r9d
xor esi, r11d
not esi
test esi, r11d
jne 0x1400a95ed
jmp 0x1400a9550
xor eax, eax
mov cl, 1
nop word cs:[rax + rax]
mov edx, dword [0x1405d0514]
cmp edx, 0x33
jg 0x1400a962f
test al, al
je 0x1400a9635
test cl, cl
je 0x1400a9620
jmp 0x1400a962b
xor eax, eax
lea rcx, [0x1405500c0]
lea rdx, [0x140489150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
not r10b
mov r11d, r8d
xor r11b, r10b
xor r10b, r9b
and r10b, r8b
xor r10b, r9b
and r11b, r8b
add r11b, r11b
mov r8d, r10d
xor r8b, r11b
and r11b, r10b
add r11b, r11b
add r11b, r8b
mov byte [rax + rcx], r11b
lea r8d, [rax + 1]
cmp r8d, 0x11
jg 0x1400a9697
inc rax
jmp 0x1400a9650
movzx eax, byte [0x1405508cc]
add al, 0xae
xchg byte [0x1405500d2], al
xor eax, eax
nop dword [rax + rax]
mov ecx, dword [0x1405d0514]
cmp ecx, 0x5a
jg 0x1400a96bf
test al, al
je 0x1400a96cc
mov ecx, dword [0x1405d0514]
cmp ecx, 0x48
jge 0x1400a96b0
jmp 0x1400a96bb
lea rax, [0x1405500c0]
pop rbx
pop rdi
pop rsi
ret
mov ecx, dword [0x1405d0510]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1400a970a
mov cl, 0x10
xchg byte [0x140550324], cl
mov ecx, dword [0x1405d0510]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1400a96e0
mov cl, 0x10
xchg byte [0x140550324], cl
test al, al
jne 0x1400a96f1
lea rax, [0x140550310]
jmp 0x1400a96d3
mov al, 1
test al, al
jne 0x1400a973d
nop word cs:[rax + rax]
mov eax, dword [0x1405d0514]
cmp eax, 0x57
jge 0x1400a9730
jmp 0x1400a971f
xor eax, eax
jmp 0x1400a96e0
movzx eax, byte [0x1405508cc]
add al, 0x91
xchg byte [0x14055020e], al
lea rax, [fcn.1400a9270]
add eax, eax
add eax, 0x6a0
mov ecx, eax
not ecx
test ecx, eax
je 0x1400a9786
nop word cs:[rax + rax]
mov al, 0x1b
xchg byte [0x14055020e], al
cmp dword [0x1405508c8], 0xf0c215e9
jne 0x1400a9770
jmp 0x1400a9741
lea rax, [0x140550200]
jmp 0x1400a96d3