Function at 0x14014cce0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
mov eax, dword [0x140575b4c]
cmp eax, 0x46
jg 0x14014cd00
cmp dword [0x140515ac0], 0x2d090a5f
je 0x14014cd0d
nop dword [rax]
mov eax, dword [0x140575b4c]
cmp eax, 0x14
jge 0x14014cd00
jmp 0x14014cced
test ecx, ecx
je 0x14014cd49
test edx, edx
je 0x14014cddd
movzx eax, byte [0x1405154c5]
cmp al, 0x19
je 0x14014ced2
mov cl, 0x22
nop word [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x1405154c5], cl
je 0x14014ce27
cmp al, 0x19
jne 0x14014cd30
jmp 0x14014ced2
mov eax, dword [0x140515ac0]
mov ecx, eax
xor ecx, 0xd2f6f5a1
and eax, 0x52f6f5a1
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x14014ce09
movzx eax, byte [0x140515599]
cmp al, 1
je 0x14014cf9c
mov cl, 0x40
jmp 0x14014cd8b
add dl, 0xd5
cmp al, dl
je 0x14014cf9c
mov al, 0xbc
lock cmpxchg byte [0x140515599], cl
je 0x14014cf40
mov edx, dword [0x140575b4c]
cmp edx, 0x1d
jg 0x14014cdd0
nop word cs:[rax + rax]
movzx edx, byte [0x140515ac4]
mov r8d, dword [0x140575b4c]
cmp r8d, 0xe
jl 0x14014cd80
nop word cs:[rax + rax]
mov edx, dword [0x140575b4c]
cmp edx, 0x1d
jge 0x14014cdd0
jmp 0x14014cdb0
movzx eax, byte [0x14051571d]
cmp al, 0xf7
je 0x14014cf37
mov cl, 0x66
nop
mov al, 0x63
lock cmpxchg byte [0x14051571d], cl
je 0x14014cefa
cmp al, 0xf7
jne 0x14014cdf0
jmp 0x14014cf37
mov eax, dword [0x140575b4c]
mov ecx, 0xd2f6f5f5
add ecx, dword [0x140515ac0]
cmp eax, ecx
jge 0x14014cfc0
jmp 0x14014cfa6
xor edx, edx
lea rax, [0x1405154b0]
lea rcx, [0x14043c7a0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x14
jle 0x14014ce40
mov eax, 0xd2f6f5a1
mov ecx, 0xd2f6f5a2
lea rdx, [fcn.14014cce0]
add edx, edx
add edx, 0x34e0
nop dword [rax + rax]
mov r8d, dword [0x140575b48]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140515ac0]
add r8d, eax
cmp r9d, r8d
je 0x14014ceb9
mov r8b, 0x19
xchg byte [0x1405154c5], r8b
mov r8d, dword [0x140575b4c]
cmp r8d, 0x54
jge 0x14014ce80
mov r8b, 0x19
xchg byte [0x1405154c5], r8b
mov r8d, dword [0x140515ac0]
add r8d, ecx
test edx, r8d
jne 0x14014cea2
mov ecx, dword [0x140575b48]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xd2f6f5a3
add ecx, dword [0x140515ac0]
xor edx, edx
div ecx
test edx, edx
jne 0x14014d10b
jmp 0x14014d0fa
xor edx, edx
lea rax, [0x140515710]
lea rcx, [0x14043c9d0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0xd
jl 0x14014cf10
mov al, 0xf7
xchg byte [0x14051571d], al
lea rax, [0x140515710]
jmp 0x14014cfa3
mov eax, 1
xor ecx, ecx
lea rdx, [0x140515590]
lea r8, [0x14043c860]
xor r9d, r9d
test cl, cl
jne 0x14014cf89
nop dword [rax]
movzx r10d, byte [r9 + r8]
xor byte [r9 + rdx], r10b
mov r10d, dword [0x140575b4c]
cmp r10d, 0x43
jg 0x14014cf89
lea r10d, [r9 + 1]
cmp r10d, 8
jg 0x14014cf94
inc r9
dec eax
test cl, cl
je 0x14014cf60
movzx r10d, byte [r9 + r8]
xor byte [r9 + rdx], r10b
jmp 0x14014cf60
mov al, 1
xchg byte [0x140515599], al
lea rax, [0x140515590]
pop rdi
pop rsi
ret
movzx eax, byte [0x140515663]
cmp dword [0x140515ac0], 0x2d090a5f
je 0x14014cfd4
nop dword [rax]
movzx eax, byte [0x140515663]
mov eax, dword [0x140575b4c]
cmp eax, 0x13
jge 0x14014cfc0
jmp 0x14014cfa6
cmp al, 0x45
je 0x14014d0ee
mov cl, 0xb1
mov edx, 0xd2f6f5a2
lea rax, [fcn.14014cce0]
lea r8d, [rax + rax]
add r8d, 0x4220
mov r9d, r8d
not r9d
jmp 0x14014d008
cmp al, 0x45
je 0x14014d0ee
mov al, 0xad
lock cmpxchg byte [0x140515663], cl
je 0x14014d07f
nop word cs:[rax + rax]
mov r10d, dword [0x140515ac0]
add r10d, edx
mov r11d, r10d
not r11d
mov esi, r9d
and esi, r10d
mov edi, r8d
and edi, r11d
or edi, esi
xor r11d, r9d
and r10d, r8d
or r10d, r11d
not r10d
or r10d, edi
cmp r10d, 0xffffffff
jne 0x14014d068
mov r10d, dword [0x140575b48]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x14014d000
mov r10d, dword [0x140575b48]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
jne 0x14014d020
jmp 0x14014d053
xor r8d, r8d
lea rax, [0x140515640]
lea rcx, [0x14043c900]
mov edx, 0xd2f6f5a2
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x140515ac0]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0x23
jl 0x14014d0a0
mov al, 1
nop dword [rax + rax]
test al, al
je 0x14014d0d0
mov ecx, dword [0x140575b4c]
cmp ecx, 0x35
jge 0x14014d0d0
movzx eax, byte [0x140515ac4]
add al, 0x19
xchg byte [0x140515663], al
lea rax, [0x140515640]
jmp 0x14014cfa3
mov eax, dword [0x140575b48]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14014d12d
mov eax, 0xd2f6f5a1
mov ecx, dword [0x140575b48]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x140515ac0]
add ecx, eax
cmp edx, ecx
jne 0x14014d110
jmp 0x14014d0fa
lea rax, [0x1405154b0]
jmp 0x14014cfa3