Function at 0x201efec0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x204a2dec]
lea r8d, [rax - 1]
imul r8d, eax
and r8d, 1
mov eax, 0xef640478
add eax, dword [0x204673f0]
cmp r8d, eax
nop word cs:[rax + rax]
mov eax, 0xef640479
add eax, dword [0x204673f0]
lea r8, [fcn.201efec0]
add r8d, r8d
add r8d, 0x4d40
test r8d, eax
jne 0x201efef0
test ecx, ecx
je 0x201eff37
test edx, edx
je 0x201f003c
mov eax, dword [0x204a2dec]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f0289
jmp 0x201f027c
mov eax, 0xef640478
add eax, dword [0x204673f0]
cmp edx, eax
jne 0x201eff80
movzx eax, byte [0x204672a8]
cmp al, 0x2a
je 0x201f0184
mov cl, 0xbf
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x204672a8], cl
je 0x201f013a
cmp al, 0x2a
jne 0x201eff60
jmp 0x201f0184
mov eax, dword [0x204a2df0]
cmp eax, 0x58
jle 0x201effa3
movzx eax, byte [0x20467373]
mov eax, dword [0x204a2dec]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201eff80
movzx eax, byte [0x20467373]
movzx ecx, byte [0x204673f4]
mov edx, dword [0x204a2dec]
mov r8d, dword [0x204673f0]
neg r8d
add r8d, edx
inc r8d
imul r8d, edx
test r8b, 1
jne 0x201eff8b
add cl, 0xe2
cmp al, cl
je 0x201f0231
mov cl, 0x61
nop
mov eax, dword [0x204a2df0]
cmp eax, 0x28
jg 0x201f0030
nop dword [rax + rax]
movzx edx, byte [0x204673f4]
lea eax, [rdx + 0x2e]
add dl, 0x96
lock cmpxchg byte [0x20467373], dl
sete dl
cmp dword [0x204673f0], 0x109bfb88
jne 0x201f0030
test dl, dl
jne 0x201f0168
cmp al, 0xad
jne 0x201effe0
jmp 0x201f0231
mov al, 0xf9
lock cmpxchg byte [0x20467373], cl
jmp 0x201efff0
movzx eax, byte [0x2046731e]
cmp al, 0xe6
je 0x201f0131
mov cl, 0xd0
nop dword [rax]
mov al, 0x2b
lock cmpxchg byte [0x2046731e], cl
je 0x201f0065
cmp al, 0xe6
jne 0x201f0050
jmp 0x201f0131
xor edx, edx
lea r8, [0x20467310]
lea r9, [0x2037c850]
mov r10d, 0xef640479
lea rax, [fcn.201efec0]
lea r11d, [rax + rax]
add r11d, 0x12e0
nop dword [rax]
mov eax, dword [0x204a2dec]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, edx
jmp 0x201f00fb
movzx eax, byte [rsi + r8]
movzx ecx, byte [rsi + r9]
movzx edi, byte [0x204673f4]
mul cl
lea ebx, [rdi + rcx]
add bl, al
add bl, 0x35
sub cl, bl
shl bl, cl
mov eax, ecx
sub al, bl
mov ebx, edi
xor bl, 0x35
and dil, 0x35
add dil, dil
add dil, bl
sub dil, al
add dil, cl
xor dil, al
mov byte [rsi + r8], dil
mov eax, dword [0x204a2dec]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f00b0
movzx eax, byte [rsi + r9]
xor byte [rsi + r8], al
mov eax, dword [0x204673f0]
add eax, r10d
test r11d, eax
jne 0x201f00b0
inc edx
cmp edx, 0xe
jl 0x201f0090
movzx eax, byte [0x204673f4]
add al, 0x1b
xchg byte [0x2046731e], al
lea rax, [0x20467310]
jmp 0x201f018b
xor eax, eax
lea rcx, [0x204672a0]
lea rdx, [0x2037c7e0]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 7
jg 0x201f0175
inc rax
jmp 0x201f0150
mov eax, dword [0x204a2df0]
cmp eax, 0x59
jle 0x201f018f
jmp 0x201f0195
movzx eax, byte [0x204673f4]
add al, 0x5f
xchg byte [0x204672a8], al
lea rax, [0x204672a0]
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x201f01c8
mov eax, 0xef640479
lea rcx, [fcn.201efec0]
add ecx, ecx
add ecx, 0x2260
nop dword [rax]
mov edx, dword [0x204673f0]
add edx, eax
mov r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
jne 0x201f01b0
jmp 0x201f018f
xor eax, eax
lea rcx, [0x20467350]
lea rdx, [0x2037c890]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x201f01f8
inc rax
jmp 0x201f01e0
mov al, 1
nop word [rax + rax]
mov ecx, dword [0x204a2dec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x201f021d
mov cl, 0xad
xchg byte [0x20467373], cl
test al, al
je 0x201f0200
mov cl, 0xad
xchg byte [0x20467373], cl
cmp dword [0x204673f0], 0x109bfb88
jne 0x201f0211
mov eax, 0xef6404a3
nop word cs:[rax + rax]
mov ecx, dword [0x204a2df0]
mov edx, dword [0x204673f0]
add edx, eax
cmp ecx, edx
jge 0x201f025d
mov ecx, dword [0x204a2df0]
cmp ecx, 0x14
jle 0x201f0270
mov ecx, dword [0x204a2dec]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x201f0240
jmp 0x201f0252
lea rax, [0x20467350]
jmp 0x201f018b
movzx eax, byte [0x204672e8]
xor ecx, ecx
test cl, cl
je 0x201f0292
movzx eax, byte [0x204672e8]
jmp 0x201f027c
movzx ecx, byte [0x204673f4]
add cl, 0x5d
cmp al, cl
je 0x201f0353
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x204672e8], cl
je 0x201f02c5
cmp al, 0x28
jne 0x201f02b0
jmp 0x201f0353
mov eax, dword [0x204a2dec]
nop dword [rax + rax]
mov eax, dword [0x204a2dec]
mov ecx, dword [0x204673f0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x201f02d0
xor eax, eax
lea rcx, [0x204672e0]
lea rdx, [0x2037c820]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 7
jg 0x201f0328
inc rax
jmp 0x201f0300
mov eax, dword [0x204a2dec]
lea rax, [fcn.201efec0]
add eax, eax
add eax, 0x4580
mov ecx, eax
not ecx
test ecx, eax
jne 0x201f0340
movzx eax, byte [0x204673f4]
add al, 0x5d
xchg byte [0x204672e8], al
lea rax, [0x204672e0]
jmp 0x201f018b