Function at 0x1401d7120
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x1401d7194
mov eax, 0xb57fef91
add eax, dword [0x1405aee78]
mov ecx, eax
xor ecx, 0xcdc9dbdb
and eax, 0x4dc9dbdb
lea eax, [rcx + rax*2]
add eax, 0xe2999a60
cmp edx, eax
jne 0x1401d7266
movzx eax, byte [0x1405adab8]
cmp al, 0x7f
je 0x1401d74c4
xor ecx, ecx
nop
mov al, 0x89
lock cmpxchg byte [0x1405adab8], cl
je 0x1401d732b
movzx edx, byte [0x1405aee88]
mov r8d, edx
xor r8b, 1
and r8b, dl
xor dl, 0xfe
add r8b, r8b
add r8b, dl
cmp al, r8b
jne 0x1401d7160
jmp 0x1401d74c4
test edx, edx
je 0x1401d7299
movzx eax, byte [0x1405adace]
nop word cs:[rax + rax]
cmp al, 0x3a
je 0x1401d7552
movzx ecx, byte [0x1405aee88]
lea eax, [rcx - 0x27]
add cl, 0xc2
lock cmpxchg byte [0x1405adace], cl
jne 0x1401d71b0
xor ecx, ecx
lea rdx, [0x1405adac0]
lea r8, [0x1404cff30]
xor eax, eax
jmp 0x1401d7217
mov r9d, 0x190d08a2
sub r9d, eax
mov eax, r9d
xor eax, 0x810f9191
and r9d, 0x10f9191
lea eax, [rax + r9*2]
neg eax
cmp eax, 0xe
jge 0x1401d74d0
movsxd r9, eax
test cl, cl
jne 0x1401d7247
nop
movzx eax, byte [r9 + r8]
xor byte [r9 + rdx], al
mov eax, dword [0x1405aee78]
add eax, r9d
mov r10d, dword [0x140612ab0]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x1401d71f0
movzx eax, byte [r9 + rdx]
movzx r10d, byte [r9 + r8]
sub al, r10b
mul r10b
sub al, r10b
mul r10b
xor al, r10b
mov byte [r9 + rdx], al
jmp 0x1401d7220
movzx eax, byte [0x1405adb3d]
cmp al, 0x91
je 0x1401d7476
mov cl, 4
nop word [rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x1405adb3d], cl
je 0x1401d73ee
cmp al, 0x91
jne 0x1401d7280
jmp 0x1401d7476
movzx eax, byte [0x1405ada62]
cmp al, 0x41
je 0x1401d76a3
mov cl, 0x45
mov r8b, 1
mov r9d, 0x65e365ce
nop word cs:[rax + rax]
mov eax, dword [0x140612ab4]
cmp eax, 0x49
jg 0x1401d7300
nop dword [rax + rax]
mov al, 0x53
lock cmpxchg byte [0x1405ada62], cl
sete dl
test r8b, r8b
je 0x1401d7300
test dl, dl
jne 0x1401d755e
cmp al, 0x41
jne 0x1401d72c0
jmp 0x1401d76a3
mov al, 0x53
lock cmpxchg byte [0x1405ada62], cl
mov edx, dword [0x140612ab0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1405aee78]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1401d7300
jmp 0x1401d72d0
mov edx, 0x65e365cd
xor r8d, r8d
lea r9, [0x1405adaa0]
lea r10, [0x1404cff10]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x140612ab4]
cmp eax, 0x54
jg 0x1401d7390
nop dword [rax + rax]
movzx eax, byte [r11 + r10]
xor byte [r11 + r9], al
test r8b, r8b
jne 0x1401d7390
lea eax, [r11 + 1]
cmp eax, 0x17
jg 0x1401d7482
dec edx
inc r11
jmp 0x1401d7350
movzx ebx, byte [r11 + r10]
mov eax, ebx
sub al, byte [r11 + r9]
mul bl
add al, bl
mov cl, 0x5c
sub cl, al
mov eax, ecx
xor al, 0xa4
and cl, 0x24
add cl, cl
add cl, al
mov eax, ecx
mul bl
add al, 0xb8
mov ecx, ebx
neg cl
mov esi, eax
xor sil, cl
and al, cl
add al, al
add al, sil
add al, 0x48
mul bl
mov ecx, eax
neg cl
dec al
mov esi, ebx
xor sil, al
xor al, cl
and al, bl
xor al, cl
and sil, bl
add sil, sil
add sil, al
xor sil, bl
mov byte [r11 + r9], sil
jmp 0x1401d7360
xor r8d, r8d
lea rax, [0x1405adb30]
lea rcx, [0x1404cffa0]
mov edx, 0x65e365cd
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rax]
movzx r10d, byte [r8 + rcx]
mov r11d, r9d
not r11b
mov ebx, r11d
xor bl, r10b
and r11b, r10b
xor r10b, r9b
and r9b, r10b
or r9b, bl
not r9b
not r10b
or r11b, r10b
not r11b
or r11b, r9b
mov byte [r8 + rax], r11b
mov r9d, dword [0x1405aee78]
add r9d, edx
mov r10d, r9d
xor r10d, r10d
not r10d
and r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0xd
jl 0x1401d7410
mov al, 0x91
xchg byte [0x1405adb3d], al
lea rax, [0x1405adb30]
jmp 0x1401d76aa
mov al, 1
jmp 0x1401d74b4
movzx ecx, byte [0x1405aee88]
mov edx, ecx
xor dl, 0xfe
and cl, 0x7e
add cl, cl
mov r8d, edx
xor r8b, cl
and cl, dl
add cl, cl
add cl, r8b
xchg byte [0x1405adab8], cl
test al, al
je 0x1401d7490
mov cl, 0x7f
xchg byte [0x1405adab8], cl
test al, al
je 0x1401d7490
lea rax, [0x1405adaa0]
jmp 0x1401d76aa
mov ecx, 0x65e36618
mov r8d, 0x65e365cc
mov r9d, 0x65e365ce
nop word cs:[rax + rax]
mov eax, dword [0x140612ab4]
mov edx, dword [0x1405aee78]
add edx, ecx
cmp eax, edx
jge 0x1401d7522
mov eax, dword [0x140612ab0]
mov edx, 0xf61c4215
sub edx, eax
imul edx, eax
and edx, 1
mov eax, dword [0x1405aee78]
add eax, r8d
cmp edx, eax
je 0x1401d7543
mov edx, dword [0x140612ab0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1405aee78]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1401d74f0
jmp 0x1401d7502
movzx eax, byte [0x1405aee88]
add al, 0xb9
xchg byte [0x1405adace], al
lea rax, [0x1405adac0]
jmp 0x1401d76aa
mov eax, dword [0x140612ab4]
lea rax, [fcn.1401d7120]
add eax, eax
add eax, 0x2fc0
mov ecx, eax
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x1405aee78]
mov r8d, 0x9a1c9a32
sub r8d, edx
add edx, 0x65e365cd
and r8d, ecx
and edx, eax
or edx, r8d
mov r8d, edx
xor r8d, ecx
test r8d, edx
jne 0x1401d7580
xor r8d, r8d
lea r9, [0x1405ada50]
lea r10, [0x1404cfec0]
jmp 0x1401d75cd
inc r8d
cmp r8d, 0x12
jge 0x1401d767c
cmp dword [0x1405aee78], 0x9a1c9a34
movsxd r11, r8d
jne 0x1401d7620
nop dword [rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
xor cl, al
mov edx, ecx
not dl
and dl, al
add dl, dl
add dl, cl
mov byte [r11 + r9], dl
mov eax, dword [0x140612ab0]
mov ecx, dword [0x1405aee78]
not ecx
add ecx, eax
mov edx, 0xac7333f4
sub edx, ecx
imul edx, eax
test dl, 1
je 0x1401d75c0
nop dword [rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
sub al, cl
mul cl
mov edx, eax
mov ebx, eax
shl bl, cl
sub bl, al
sub al, bl
mul bl
mov ecx, eax
shl dl, cl
mov eax, edx
shl al, cl
add al, dl
mov byte [r11 + r9], al
mov ecx, dword [0x140612ab0]
mov eax, ecx
not eax
lea eax, [rax + rcx*2]
imul eax, ecx
mov ecx, dword [0x1405aee78]
mov edx, ecx
xor edx, 0x65e365ce
and ecx, 0x65e365ce
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x1401d7620
jmp 0x1401d75e0
mov eax, dword [0x140612ab4]
nop word cs:[rax + rax]
mov eax, dword [0x140612ab4]
cmp eax, 0xb
jg 0x1401d7690
mov al, 0x41
xchg byte [0x1405ada62], al
lea rax, [0x1405ada50]
pop rbx
pop rsi
ret