Function at 0x1401dd5d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x14049151c]
lea r8d, [rax - 1]
imul r8d, eax
and r8d, 1
mov eax, 0xef640478
add eax, dword [0x140455b00]
cmp r8d, eax
nop word cs:[rax + rax]
mov eax, 0xef640479
add eax, dword [0x140455b00]
lea r8, [fcn.1401dd5d0]
add r8d, r8d
add r8d, 0x4d40
test r8d, eax
jne 0x1401dd600
test ecx, ecx
je 0x1401dd647
test edx, edx
je 0x1401dd74c
mov eax, dword [0x14049151c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401dd999
jmp 0x1401dd98c
mov eax, 0xef640478
add eax, dword [0x140455b00]
cmp edx, eax
jne 0x1401dd690
movzx eax, byte [0x1404559b8]
cmp al, 0x2a
je 0x1401dd894
mov cl, 0xbf
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x1404559b8], cl
je 0x1401dd84a
cmp al, 0x2a
jne 0x1401dd670
jmp 0x1401dd894
mov eax, dword [0x140491520]
cmp eax, 0x58
jle 0x1401dd6b3
movzx eax, byte [0x140455a83]
mov eax, dword [0x14049151c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401dd690
movzx eax, byte [0x140455a83]
movzx ecx, byte [0x140455b04]
mov edx, dword [0x14049151c]
mov r8d, dword [0x140455b00]
neg r8d
add r8d, edx
inc r8d
imul r8d, edx
test r8b, 1
jne 0x1401dd69b
add cl, 0xe2
cmp al, cl
je 0x1401dd941
mov cl, 0x61
nop
mov eax, dword [0x140491520]
cmp eax, 0x28
jg 0x1401dd740
nop dword [rax + rax]
movzx edx, byte [0x140455b04]
lea eax, [rdx + 0x2e]
add dl, 0x96
lock cmpxchg byte [0x140455a83], dl
sete dl
cmp dword [0x140455b00], 0x109bfb88
jne 0x1401dd740
test dl, dl
jne 0x1401dd878
cmp al, 0xad
jne 0x1401dd6f0
jmp 0x1401dd941
mov al, 0xf9
lock cmpxchg byte [0x140455a83], cl
jmp 0x1401dd700
movzx eax, byte [0x140455a2e]
cmp al, 0xe6
je 0x1401dd841
mov cl, 0xd0
nop dword [rax]
mov al, 0x2b
lock cmpxchg byte [0x140455a2e], cl
je 0x1401dd775
cmp al, 0xe6
jne 0x1401dd760
jmp 0x1401dd841
xor edx, edx
lea r8, [0x140455a20]
lea r9, [0x14036a830]
mov r10d, 0xef640479
lea rax, [fcn.1401dd5d0]
lea r11d, [rax + rax]
add r11d, 0x12e0
nop dword [rax]
mov eax, dword [0x14049151c]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, edx
jmp 0x1401dd80b
movzx eax, byte [rsi + r8]
movzx ecx, byte [rsi + r9]
movzx edi, byte [0x140455b04]
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 [0x14049151c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401dd7c0
movzx eax, byte [rsi + r9]
xor byte [rsi + r8], al
mov eax, dword [0x140455b00]
add eax, r10d
test r11d, eax
jne 0x1401dd7c0
inc edx
cmp edx, 0xe
jl 0x1401dd7a0
movzx eax, byte [0x140455b04]
add al, 0x1b
xchg byte [0x140455a2e], al
lea rax, [0x140455a20]
jmp 0x1401dd89b
xor eax, eax
lea rcx, [0x1404559b0]
lea rdx, [0x14036a7c0]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 7
jg 0x1401dd885
inc rax
jmp 0x1401dd860
mov eax, dword [0x140491520]
cmp eax, 0x59
jle 0x1401dd89f
jmp 0x1401dd8a5
movzx eax, byte [0x140455b04]
add al, 0x5f
xchg byte [0x1404559b8], al
lea rax, [0x1404559b0]
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x1401dd8d8
mov eax, 0xef640479
lea rcx, [fcn.1401dd5d0]
add ecx, ecx
add ecx, 0x2260
nop dword [rax]
mov edx, dword [0x140455b00]
add edx, eax
mov r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
jne 0x1401dd8c0
jmp 0x1401dd89f
xor eax, eax
lea rcx, [0x140455a60]
lea rdx, [0x14036a870]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x1401dd908
inc rax
jmp 0x1401dd8f0
mov al, 1
nop word [rax + rax]
mov ecx, dword [0x14049151c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1401dd92d
mov cl, 0xad
xchg byte [0x140455a83], cl
test al, al
je 0x1401dd910
mov cl, 0xad
xchg byte [0x140455a83], cl
cmp dword [0x140455b00], 0x109bfb88
jne 0x1401dd921
mov eax, 0xef6404a3
nop word cs:[rax + rax]
mov ecx, dword [0x140491520]
mov edx, dword [0x140455b00]
add edx, eax
cmp ecx, edx
jge 0x1401dd96d
mov ecx, dword [0x140491520]
cmp ecx, 0x14
jle 0x1401dd980
mov ecx, dword [0x14049151c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401dd950
jmp 0x1401dd962
lea rax, [0x140455a60]
jmp 0x1401dd89b
movzx eax, byte [0x1404559f8]
xor ecx, ecx
test cl, cl
je 0x1401dd9a2
movzx eax, byte [0x1404559f8]
jmp 0x1401dd98c
movzx ecx, byte [0x140455b04]
add cl, 0x5d
cmp al, cl
je 0x1401dda63
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x1404559f8], cl
je 0x1401dd9d5
cmp al, 0x28
jne 0x1401dd9c0
jmp 0x1401dda63
mov eax, dword [0x14049151c]
nop dword [rax + rax]
mov eax, dword [0x14049151c]
mov ecx, dword [0x140455b00]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1401dd9e0
xor eax, eax
lea rcx, [0x1404559f0]
lea rdx, [0x14036a800]
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 0x1401dda38
inc rax
jmp 0x1401dda10
mov eax, dword [0x14049151c]
lea rax, [fcn.1401dd5d0]
add eax, eax
add eax, 0x4580
mov ecx, eax
not ecx
test ecx, eax
jne 0x1401dda50
movzx eax, byte [0x140455b04]
add al, 0x5d
xchg byte [0x1404559f8], al
lea rax, [0x1404559f0]
jmp 0x1401dd89b