Function at 0x1401ef240
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
test ecx, ecx
je 0x1401ef2be
xor eax, eax
mov cl, 1
nop dword [rax]
test al, al
jne 0x1401ef269
mov r8d, dword [0x140531f00]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1401ef26f
test cl, cl
je 0x1401ef250
jmp 0x1401ef254
test edx, edx
je 0x1401ef2f9
movzx eax, byte [0x1404ea59f]
cmp al, 0x6a
je 0x1401ef607
nop word cs:[rax + rax]
movzx ecx, byte [0x1404eb190]
lea eax, [rcx - 0x79]
add cl, 0x9d
lock cmpxchg byte [0x1404ea59f], cl
je 0x1401ef399
movzx ecx, byte [0x1404eb190]
add cl, 0x56
cmp al, cl
jne 0x1401ef290
jmp 0x1401ef607
test edx, edx
je 0x1401ef369
movzx eax, byte [0x1404ea52c]
cmp al, 0x51
je 0x1401ef3f2
mov cl, 0x83
nop word [rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x1404ea52c], cl
je 0x1401ef3ad
cmp al, 0x51
jne 0x1401ef2e0
jmp 0x1401ef3f2
lea rax, [fcn.1401ef240]
add eax, eax
add eax, 0xc20
mov ecx, eax
xor ecx, 0xfffffffe
nop dword [rax]
mov edx, dword [0x140531f04]
cmp edx, 0x19
jg 0x1401ef32f
movzx edx, byte [0x1404ea401]
mov r8d, dword [0x140531f04]
cmp r8d, 0xc
jle 0x1401ef33c
movzx edx, byte [0x1404ea401]
test eax, ecx
jne 0x1401ef310
jmp 0x1401ef31b
cmp dl, 0x6f
je 0x1401ef55f
mov cl, 0x32
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x1404ea401], cl
je 0x1401ef3fe
cmp al, 0x6f
jne 0x1401ef350
jmp 0x1401ef55f
movzx eax, byte [0x1404e9da5]
cmp al, 0x24
je 0x1401ef5fb
mov cl, 0xf3
nop word [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x1404e9da5], cl
je 0x1401ef56b
cmp al, 0x24
jne 0x1401ef380
jmp 0x1401ef5fb
mov eax, dword [0x140531f04]
cmp eax, 0x4c
jg 0x1401ef640
jmp 0x1401ef610
xor edx, edx
lea rax, [0x1404ea520]
lea rcx, [0x140407c00]
nop dword [rax]
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, 0xc
jl 0x1401ef3c0
mov al, 0x51
xchg byte [0x1404ea52c], al
lea rax, [0x1404ea520]
jmp 0x1401ef602
xor edx, edx
lea r8, [0x1404ea3f0]
lea r9, [0x140407ad0]
lea rax, [fcn.1401ef240]
lea r10d, [rax + rax]
add r10d, 0x11a0
mov r11d, r10d
not r11d
jmp 0x1401ef444
mov eax, edx
xor eax, 1
and edx, 1
lea edx, [rax + rdx*2]
cmp edx, 0x11
jge 0x1401ef4eb
mov eax, dword [0x140531f04]
movsxd rsi, edx
cmp eax, 0x23
jg 0x1401ef487
nop word cs:[rax + rax]
movzx eax, byte [rsi + r8]
movzx ecx, byte [rsi + r9]
xor cl, al
mov ebx, ecx
not bl
and bl, al
add bl, bl
mov eax, ecx
xor al, bl
and bl, cl
add bl, bl
add bl, al
mov byte [rsi + r8], bl
test r11d, r10d
je 0x1401ef430
movzx ebx, byte [rsi + r8]
movzx ecx, byte [rsi + r9]
shl bl, cl
mov eax, ecx
sub al, bl
movzx edi, byte [0x1404eb190]
mov ebp, edi
xor bpl, 0xec
and dil, 0x6c
add dil, dil
add dil, bpl
mov ebp, ebx
sub bpl, dil
mul cl
mov ecx, ebp
xor cl, al
and bpl, al
add bpl, bpl
add bpl, cl
neg bpl
mov cl, 0x2d
sub cl, bl
mov eax, ecx
xor al, bpl
and cl, bpl
add cl, cl
add cl, al
add cl, 0xd3
mov eax, ecx
sub al, bl
mov ebx, eax
shl bl, cl
add bl, al
mov byte [rsi + r8], bl
jmp 0x1401ef460
mov eax, dword [0x140531f04]
mov ecx, 0xc645e0c8
nop word cs:[rax + rax]
mov edx, dword [0x140531f00]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1404eb1a0]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x1401ef500
xor eax, eax
nop word cs:[rax + rax]
mov ecx, dword [0x140531f04]
cmp ecx, 0x27
jle 0x1401ef54c
mov ecx, dword [0x140531f00]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401ef530
test al, al
jne 0x1401ef53b
movzx eax, byte [0x1404eb190]
add al, 0x5b
xchg byte [0x1404ea401], al
lea rax, [0x1404ea3f0]
jmp 0x1401ef602
mov eax, dword [0x140531f04]
mov eax, 0xc645e0fd
nop word cs:[rax + rax]
mov ecx, dword [0x140531f04]
mov edx, dword [0x1404eb1a0]
add edx, eax
cmp ecx, edx
jge 0x1401ef580
xor r8d, r8d
lea rax, [0x1404e9da0]
lea rcx, [0x1404074a0]
mov edx, 0xc645e0c7
nop dword [rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rax]
movzx r10d, byte [r8 + rcx]
not r9b
mov r11d, r9d
and r11b, r10b
not r10b
xor r9b, r10b
and r9b, r10b
or r9b, r11b
mov byte [r8 + rax], r9b
mov r9d, dword [0x1404eb1a0]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 5
jl 0x1401ef5b0
mov al, 0x24
xchg byte [0x1404e9da5], al
lea rax, [0x1404e9da0]
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rax, [0x1404ea590]
jmp 0x1401ef602
mov eax, dword [0x140531f04]
xor ecx, ecx
xor edx, edx
sub edx, dword [0x1404eb1a0]
mov r8d, edx
xor r8d, 0x39ba1ef5
and edx, 0x39ba1ef5
lea edx, [r8 + rdx*2]
neg edx
cmp eax, edx
jl 0x1401ef67a
nop word [rax + rax]
mov ecx, dword [0x140531f00]
mov r8d, dword [0x1404eb1a0]
mov eax, r8d
xor eax, 0xc645e0c7
mov edx, r8d
and edx, 0x4645e0c7
lea edx, [rax + rdx*2]
mov eax, ecx
sub eax, edx
imul eax, ecx
add r8d, 0xc645e0c8
xor edx, edx
div r8d
test edx, edx
jne 0x1401ef640
jmp 0x1401ef610
lea rax, [0x1404ea590]
lea rdx, [0x140407c70]
nop dword [rax + rax]
movsxd rcx, ecx
movzx r8d, byte [rcx + rdx]
xor byte [rcx + rax], r8b
mov r8d, ecx
xor r8d, 1
not ecx
and ecx, 0x7ffffffe
or ecx, r8d
not ecx
lea ecx, [r8 + rcx*2]
cmp ecx, 0xf
jl 0x1401ef690
movzx eax, byte [0x1404eb190]
add al, 0x56
xchg byte [0x1404ea59f], al
jmp 0x1401ef607