Function at 0x140217840
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x140217883
test edx, edx
je 0x140217945
movzx eax, byte [0x1404ef86d]
cmp al, 0xe
je 0x140217a40
mov cl, 0x4d
nop
mov al, 0x4b
lock cmpxchg byte [0x1404ef86d], cl
je 0x140217a09
movzx edx, byte [0x1404f1428]
add dl, 0x1f
cmp al, dl
jne 0x140217860
jmp 0x140217a40
test edx, edx
je 0x140217996
movzx eax, byte [0x1404efb6c]
movzx ecx, byte [0x1404f1428]
add cl, 0x79
cmp al, cl
je 0x140217ae0
mov cl, 0x61
mov r8b, 1
nop dword [rax]
mov edx, dword [0x140532470]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1404f1418]
lea r10d, [r9 + 0x4a2b698]
xor edx, edx
div r10d
add r9d, 0x4a2b696
cmp edx, r9d
jne 0x140217910
nop dword [rax + rax]
mov al, 0xf0
lock cmpxchg byte [0x1404efb6c], cl
sete dl
mov r9d, dword [0x140532470]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x140217930
nop word cs:[rax + rax]
movzx edx, byte [0x1404f1428]
lea eax, [rdx + 1]
add dl, 0x72
lock cmpxchg byte [0x1404efb6c], dl
test r8b, r8b
je 0x140217910
jmp 0x1402178e0
test dl, dl
jne 0x140217a4c
cmp al, 0x68
jne 0x1402178b0
jmp 0x140217ae0
movzx eax, byte [0x1404ef1c4]
cmp al, 0xc
je 0x140217af4
mov cl, 0xc1
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x1404ef1c4], cl
je 0x140217aa7
mov edx, dword [0x140532470]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
mov edx, dword [0x140532474]
cmp edx, 0x59
jg 0x140217982
cmp al, 0xc
jne 0x140217960
jmp 0x140217af4
lea rax, [fcn.140217840]
add eax, eax
add eax, 0x2b20
mov ecx, eax
not ecx
nop dword [rax + rax]
cmp dword [0x1404f1418], 0xfb5d496a
jne 0x1402179c7
movzx edx, byte [0x1404efc18]
test ecx, eax
je 0x1402179db
movzx edx, byte [0x1404efc18]
mov edx, dword [0x140532474]
cmp edx, 0x57
jge 0x1402179b0
jmp 0x1402179bc
cmp dl, 0x64
je 0x140217bed
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x1404efc18], cl
je 0x140217b00
cmp al, 0x64
jne 0x1402179f0
jmp 0x140217bed
xor eax, eax
lea rcx, [0x1404ef860]
lea rdx, [0x1404096d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x140217a38
inc rax
jmp 0x140217a20
mov al, 0xe
xchg byte [0x1404ef86d], al
lea rax, [0x1404ef860]
jmp 0x140217bf4
xor eax, eax
lea rcx, [0x1404efb60]
lea rdx, [0x1404099d0]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
not r10b
mov r11d, r8d
and r11b, r10b
xor r10b, r8b
not r8b
mov ebx, r8d
xor bl, r9b
or r11b, bl
not r11b
and r8b, r9b
or r8b, r10b
not r8b
or r8b, r11b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x140217ad8
inc rax
jmp 0x140217a60
xor eax, eax
lea rcx, [0x1404ef1a0]
lea rdx, [0x140409060]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x23
jg 0x140217aec
inc rax
jmp 0x140217ac0
mov al, 0x68
xchg byte [0x1404efb6c], al
lea rax, [0x1404efb60]
jmp 0x140217bf4
mov al, 0xc
xchg byte [0x1404ef1c4], al
lea rax, [0x1404ef1a0]
jmp 0x140217bf4
xor r8d, r8d
lea r9, [0x1404efc00]
lea r10, [0x140409a70]
mov r11d, 0x4a2b698
jmp 0x140217b2d
inc r8d
cmp r8d, 0x18
jge 0x140217be5
mov eax, dword [0x140532470]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x140217b80
nop word cs:[rax + rax]
movzx eax, byte [rsi + r9]
movzx ecx, byte [rsi + r10]
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [rsi + r9], cl
mov eax, dword [0x140532474]
cmp eax, 0x26
jl 0x140217b20
nop word cs:[rax + rax]
movzx ecx, byte [rsi + r10]
mov eax, ecx
sub al, byte [rsi + r9]
shl al, cl
neg al
mul cl
sub cl, al
mov edx, eax
shl dl, cl
movzx ebx, byte [0x1404f1428]
sub bl, al
mov ecx, edx
shl al, cl
add bl, al
add bl, 0x11
mov ecx, eax
shl bl, cl
mov ecx, ebx
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
shl bl, cl
xor bl, cl
mov byte [rsi + r9], bl
mov ecx, dword [0x140532470]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404f1418]
add ecx, r11d
xor edx, edx
div ecx
test edx, edx
jne 0x140217b80
jmp 0x140217b50
mov al, 0x64
xchg byte [0x1404efc18], al
lea rax, [0x1404efc00]
pop rbx
pop rsi
ret