Function at 0x140213270
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, edx
lea rax, [fcn.140213270]
add eax, eax
add eax, 0x30c0
mov edx, eax
not edx
test edx, eax
jne 0x1402132a2
mov eax, 0x4a2b696
add eax, dword [0x14051e5f8]
mov edx, dword [0x140564edc]
cmp edx, 0x45
jl 0x1402132d1
mov r9d, 0x4a2b698
nop dword [rax + rax]
mov edx, dword [0x140564ed8]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x14051e5f8]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1402132b0
jmp 0x14021328c
cmp ecx, eax
jne 0x140213418
test r8d, r8d
je 0x14021343c
movzx eax, byte [0x14051c298]
movzx ecx, byte [0x14051e608]
add cl, 0x10
cmp al, cl
je 0x14021348c
mov r8b, 0x6c
mov r9d, 0x4a2b696
mov r10d, 0x4a2b698
jmp 0x140213319
cmp cl, 0xff
je 0x14021348c
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402133a0
mov al, 0x33
lock cmpxchg byte [0x14051c298], r8b
mov ecx, eax
sete al
mov edx, dword [0x140564edc]
cmp edx, 0x25
jg 0x1402133a0
test al, al
jne 0x1402133c0
nop dword [rax]
mov eax, dword [0x140564ed8]
mov edx, 3
sub edx, eax
imul edx, eax
and edx, 1
mov eax, dword [0x14051e5f8]
add eax, r9d
cmp edx, eax
jne 0x14021337b
mov eax, dword [0x140564edc]
cmp eax, 0x1e
jle 0x140213310
mov edx, dword [0x140564ed8]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x14051e5f8]
add r11d, r10d
xor edx, edx
div r11d
test edx, edx
jne 0x140213350
jmp 0x140213370
mov al, 0x33
lock cmpxchg byte [0x14051c298], r8b
mov eax, dword [0x140564edc]
cmp eax, 0x2b
jge 0x140213319
jmp 0x14021332a
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402133dc
mov eax, dword [0x140564edc]
cmp eax, 0x3d
jge 0x1402133c0
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402133d1
xor eax, eax
lea rcx, [0x14051c280]
lea rdx, [0x1404310e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x17
jg 0x140213484
inc rax
jmp 0x140213400
lea rax, [fcn.140213270]
test r8d, r8d
je 0x140213454
add eax, eax
add eax, 0x400
mov ecx, eax
not ecx
test ecx, eax
jne 0x1402137f3
jmp 0x1402137e1
lea rax, [fcn.140213270]
add eax, eax
add eax, 0x4700
mov ecx, eax
not ecx
test ecx, eax
jne 0x1402134b0
jmp 0x140213498
add eax, eax
add eax, 0x22c0
mov ecx, eax
not ecx
and ecx, eax
mov eax, dword [0x14051e5f8]
mov edx, eax
xor edx, 0x4a2b696
and eax, 0x4a2b696
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x140213600
jmp 0x1402135ad
mov al, 0xff
xchg byte [0x14051c298], al
lea rax, [0x14051c280]
jmp 0x1402135a9
movzx eax, byte [0x14051c2bd]
mov ecx, dword [0x140564ed8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402134b9
movzx eax, byte [0x14051c2bd]
jmp 0x140213498
cmp al, 0x3d
je 0x1402135a2
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14051c2bd], cl
je 0x140213502
movzx edx, byte [0x14051e608]
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 0x1402134d0
jmp 0x1402135a2
xor ecx, ecx
mov r8d, 0x4a2b698
mov r9d, 0x4a2b6d0
test cl, cl
jne 0x14021354a
mov edx, dword [0x140564ed8]
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 [0x14051e5f8]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
je 0x14021355f
mov eax, dword [0x140564edc]
mov edx, dword [0x14051e5f8]
add edx, r9d
cmp eax, edx
jge 0x140213510
jmp 0x140213514
xor edx, edx
lea rax, [0x14051c2a0]
lea rcx, [0x140431100]
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 0x140213570
mov al, 0x3d
xchg byte [0x14051c2bd], al
lea rax, [0x14051c2a0]
pop rbx
pop rdi
pop rsi
ret
movzx eax, byte [0x14051c314]
movzx ecx, byte [0x14051e608]
mov edx, dword [0x140564ed8]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x14051e5f8]
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 0x140213623
nop word cs:[rax + rax]
movzx eax, byte [0x14051c314]
mov eax, dword [0x140564ed8]
mov ecx, dword [0x14051e5f8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140213600
jmp 0x1402135ad
add cl, 0x20
cmp al, cl
je 0x140213795
mov cl, 0x79
xor edx, edx
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x14051c314], cl
je 0x14021365b
test dl, dl
test dl, dl
jne 0x14021364e
cmp al, 0xf
jne 0x140213640
jmp 0x140213795
xor r9d, r9d
mov r10d, 0x4a2b696
lea r11, [0x14051c2f0]
lea rsi, [0x140431150]
mov bl, 1
jmp 0x14021368d
inc r9d
cmp r9d, 0x24
jge 0x140213750
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x14051e5f8]
add eax, r10d
movsxd rdi, r9d
cmp ecx, eax
jne 0x1402136e0
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 [0x140564edc]
cmp eax, 0x40
jl 0x140213680
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 0x1402136e0
jmp 0x1402136b0
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402137c0
jmp 0x1402137a1
movzx eax, byte [0x14051e608]
add al, 0x20
xchg byte [0x14051c314], al
mov al, 1
test al, al
jne 0x140213795
nop dword [rax + rax]
mov al, 0xf
xchg byte [0x14051c314], al
mov eax, dword [0x140564edc]
cmp eax, 0xa
jge 0x140213780
jmp 0x140213763
lea rax, [0x14051c2f0]
jmp 0x1402135a9
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402137ce
nop word cs:[rax + rax]
cmp dword [0x14051e5f8], 0xfb5d496a
jne 0x1402137c0
jmp 0x1402137a1
mov eax, dword [0x140564ed8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140213780
jmp 0x140213763
movzx eax, byte [0x14051c785]
mov ecx, dword [0x140564edc]
cmp ecx, 0x5b
jle 0x1402137fc
movzx eax, byte [0x14051c785]
jmp 0x1402137e1
cmp al, 0x11
je 0x140213869
mov cl, 0x95
nop word cs:[rax + rax]
mov al, 0x67
lock cmpxchg byte [0x14051c785], cl
je 0x14021382c
movzx edx, byte [0x14051e608]
add dl, 0x22
cmp al, dl
jne 0x140213810
jmp 0x140213869
xor edx, edx
lea rax, [0x14051c770]
lea rcx, [0x140431590]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14051e5f8]
add edx, r8d
add edx, 0x4a2b697
cmp edx, 0x15
jl 0x140213840
mov al, 0x11
xchg byte [0x14051c785], al
lea rax, [0x14051c770]
jmp 0x1402135a9