Function at 0x140216980
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, edx
lea rax, [fcn.140216980]
add eax, eax
add eax, 0x30c0
mov edx, eax
not edx
test edx, eax
jne 0x1402169b2
mov eax, 0x4a2b696
add eax, dword [0x1404f1418]
mov edx, dword [0x140532474]
cmp edx, 0x45
jl 0x1402169e1
mov r9d, 0x4a2b698
nop dword [rax + rax]
mov edx, dword [0x140532470]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1404f1418]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1402169c0
jmp 0x14021699c
cmp ecx, eax
jne 0x140216b28
test r8d, r8d
je 0x140216b4c
movzx eax, byte [0x1404ef0b8]
movzx ecx, byte [0x1404f1428]
add cl, 0x10
cmp al, cl
je 0x140216b9c
mov r8b, 0x6c
mov r9d, 0x4a2b696
mov r10d, 0x4a2b698
jmp 0x140216a29
cmp cl, 0xff
je 0x140216b9c
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140216ab0
mov al, 0x33
lock cmpxchg byte [0x1404ef0b8], r8b
mov ecx, eax
sete al
mov edx, dword [0x140532474]
cmp edx, 0x25
jg 0x140216ab0
test al, al
jne 0x140216ad0
nop dword [rax]
mov eax, dword [0x140532470]
mov edx, 3
sub edx, eax
imul edx, eax
and edx, 1
mov eax, dword [0x1404f1418]
add eax, r9d
cmp edx, eax
jne 0x140216a8b
mov eax, dword [0x140532474]
cmp eax, 0x1e
jle 0x140216a20
mov edx, dword [0x140532470]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x1404f1418]
add r11d, r10d
xor edx, edx
div r11d
test edx, edx
jne 0x140216a60
jmp 0x140216a80
mov al, 0x33
lock cmpxchg byte [0x1404ef0b8], r8b
mov eax, dword [0x140532474]
cmp eax, 0x2b
jge 0x140216a29
jmp 0x140216a3a
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140216aec
mov eax, dword [0x140532474]
cmp eax, 0x3d
jge 0x140216ad0
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140216ae1
xor eax, eax
lea rcx, [0x1404ef0a0]
lea rdx, [0x140408f60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x17
jg 0x140216b94
inc rax
jmp 0x140216b10
lea rax, [fcn.140216980]
test r8d, r8d
je 0x140216b64
add eax, eax
add eax, 0x400
mov ecx, eax
not ecx
test ecx, eax
jne 0x140216f03
jmp 0x140216ef1
lea rax, [fcn.140216980]
add eax, eax
add eax, 0x4700
mov ecx, eax
not ecx
test ecx, eax
jne 0x140216bc0
jmp 0x140216ba8
add eax, eax
add eax, 0x22c0
mov ecx, eax
not ecx
and ecx, eax
mov eax, dword [0x1404f1418]
mov edx, eax
xor edx, 0x4a2b696
and eax, 0x4a2b696
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x140216d10
jmp 0x140216cbd
mov al, 0xff
xchg byte [0x1404ef0b8], al
lea rax, [0x1404ef0a0]
jmp 0x140216cb9
movzx eax, byte [0x1404ef0dd]
mov ecx, dword [0x140532470]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140216bc9
movzx eax, byte [0x1404ef0dd]
jmp 0x140216ba8
cmp al, 0x3d
je 0x140216cb2
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x1404ef0dd], cl
je 0x140216c12
movzx edx, byte [0x1404f1428]
mov r8d, edx
xor r8b, 0x4e
not dl
and dl, 0x31
or dl, r8b
not dl
add dl, dl
add dl, r8b
cmp al, dl
jne 0x140216be0
jmp 0x140216cb2
xor ecx, ecx
mov r8d, 0x4a2b698
mov r9d, 0x4a2b6d0
test cl, cl
jne 0x140216c5a
mov edx, dword [0x140532470]
mov eax, edx
xor eax, 0xd036fa26
mov r10d, edx
and r10d, 0x5036fa26
lea eax, [rax + r10*2]
add eax, 0x2fc905d9
imul eax, edx
mov r10d, dword [0x1404f1418]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
je 0x140216c6f
mov eax, dword [0x140532474]
mov edx, dword [0x1404f1418]
add edx, r9d
cmp eax, edx
jge 0x140216c20
jmp 0x140216c24
xor edx, edx
lea rax, [0x1404ef0c0]
lea rcx, [0x140408f80]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0x1d
jl 0x140216c80
mov al, 0x3d
xchg byte [0x1404ef0dd], al
lea rax, [0x1404ef0c0]
pop rbx
pop rdi
pop rsi
ret
movzx eax, byte [0x1404ef134]
movzx ecx, byte [0x1404f1428]
mov edx, dword [0x140532470]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1404f1418]
mov r9d, edx
xor r9d, 0x4a2b696
not edx
and edx, 0x7b5d4969
or edx, r9d
not edx
lea edx, [r9 + rdx*2]
cmp r8d, edx
je 0x140216d33
nop word cs:[rax + rax]
movzx eax, byte [0x1404ef134]
mov eax, dword [0x140532470]
mov ecx, dword [0x1404f1418]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140216d10
jmp 0x140216cbd
add cl, 0x20
cmp al, cl
je 0x140216ea5
mov cl, 0x79
xor edx, edx
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x1404ef134], cl
je 0x140216d6b
test dl, dl
test dl, dl
jne 0x140216d5e
cmp al, 0xf
jne 0x140216d50
jmp 0x140216ea5
xor r9d, r9d
mov r10d, 0x4a2b696
lea r11, [0x1404ef110]
lea rsi, [0x140408fd0]
mov bl, 1
jmp 0x140216d9d
inc r9d
cmp r9d, 0x24
jge 0x140216e60
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1404f1418]
add eax, r10d
movsxd rdi, r9d
cmp ecx, eax
jne 0x140216df0
nop dword [rax]
movzx eax, byte [rdi + r11]
movzx ecx, byte [rdi + rsi]
mov edx, ecx
xor dl, cl
not dl
and dl, al
xor dl, cl
and al, cl
add al, al
add al, dl
mov byte [rdi + r11], al
mov eax, dword [0x140532474]
cmp eax, 0x40
jl 0x140216d90
nop dword [rax + rax]
movzx ecx, byte [rdi + rsi]
mov eax, ecx
sub al, byte [rdi + r11]
mul cl
add al, cl
mov edx, eax
shl dl, cl
sub al, dl
mul dl
mov r8d, eax
sub dl, al
mov ecx, edx
shl al, cl
sub al, r8b
mov edx, r8d
mov ecx, eax
shl dl, cl
mov eax, r8d
sub al, dl
mul dl
mov edx, r8d
mov ecx, eax
shl dl, cl
sub r8b, dl
mov eax, r8d
mul dl
mov ecx, eax
sub al, dl
add al, 0x99
mov r8d, eax
xor r8b, 0x67
and al, 0x67
add al, al
add al, r8b
mul dl
sub al, cl
xor al, cl
mov edx, eax
not dl
and dl, cl
add dl, dl
add dl, al
mov byte [rdi + r11], dl
test bl, bl
je 0x140216df0
jmp 0x140216dc0
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140216ed0
jmp 0x140216eb1
movzx eax, byte [0x1404f1428]
add al, 0x20
xchg byte [0x1404ef134], al
mov al, 1
test al, al
jne 0x140216ea5
nop dword [rax + rax]
mov al, 0xf
xchg byte [0x1404ef134], al
mov eax, dword [0x140532474]
cmp eax, 0xa
jge 0x140216e90
jmp 0x140216e73
lea rax, [0x1404ef110]
jmp 0x140216cb9
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140216ede
nop word cs:[rax + rax]
cmp dword [0x1404f1418], 0xfb5d496a
jne 0x140216ed0
jmp 0x140216eb1
mov eax, dword [0x140532470]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140216e90
jmp 0x140216e73
movzx eax, byte [0x1404ef5a5]
mov ecx, dword [0x140532474]
cmp ecx, 0x5b
jle 0x140216f0c
movzx eax, byte [0x1404ef5a5]
jmp 0x140216ef1
cmp al, 0x11
je 0x140216f79
mov cl, 0x95
nop word cs:[rax + rax]
mov al, 0x67
lock cmpxchg byte [0x1404ef5a5], cl
je 0x140216f3c
movzx edx, byte [0x1404f1428]
add dl, 0x22
cmp al, dl
jne 0x140216f20
jmp 0x140216f79
xor edx, edx
lea rax, [0x1404ef590]
lea rcx, [0x140409410]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1404f1418]
add edx, r8d
add edx, 0x4a2b697
cmp edx, 0x15
jl 0x140216f50
mov al, 0x11
xchg byte [0x1404ef5a5], al
lea rax, [0x1404ef590]
jmp 0x140216cb9