Function at 0x1402fc8f0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1402fc91b
mov eax, 0x3247008f
add eax, dword [0x14063cc7c]
cmp edx, eax
jne 0x1402fc99c
mov eax, dword [0x1406952d4]
cmp eax, 9
jg 0x1402fccb0
jmp 0x1402fcc92
test edx, edx
je 0x1402fc9cc
movzx eax, byte [0x14063c5ab]
cmp al, 0x89
je 0x1402fc994
mov cl, 0xf5
jmp 0x1402fc95b
mov al, 0x45
lock cmpxchg byte [0x14063c5ab], cl
mov eax, dword [0x1406952d0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1402fc966
mov eax, dword [0x1406952d4]
cmp eax, 0x24
jg 0x1402fc940
mov al, 0x45
lock cmpxchg byte [0x14063c5ab], cl
sete dl
mov r8d, dword [0x1406952d0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402fc940
test dl, dl
jne 0x1402fcb8e
cmp al, 0x89
jne 0x1402fc95b
lea rax, [0x14063c5a0]
ret
movzx eax, byte [0x14063c50e]
cmp al, 0x5f
je 0x1402fc9c4
mov cl, 0x4d
nop dword [rax]
mov al, 0x77
lock cmpxchg byte [0x14063c50e], cl
je 0x1402fca44
cmp al, 0x5f
jne 0x1402fc9b0
lea rax, [0x14063c500]
ret
movzx eax, byte [0x14063c3b5]
cmp al, 0xe3
je 0x1402fcc65
mov cl, 0x29
jmp 0x1402fc9e8
cmp al, 0xe3
je 0x1402fcc65
mov al, 0x9d
lock cmpxchg byte [0x14063c3b5], cl
je 0x1402fcbcf
nop dword [rax + rax]
mov edx, dword [0x1406952d4]
cmp edx, 0xe
jg 0x1402fca1f
mov edx, dword [0x1406952d0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1402fc9e0
mov edx, dword [0x1406952d0]
mov r8d, dword [0x14063cc7c]
add r8d, edx
mov r9d, 0x4e4d77c2
sub r9d, r8d
imul r9d, edx
test r9b, 1
jne 0x1402fca00
jmp 0x1402fca0b
xor r8d, r8d
lea rax, [0x14063c500]
lea rcx, [0x14053f9d0]
mov edx, 0x32470090
nop word [rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rax]
movzx r10d, byte [r8 + rcx]
mov r11d, r9d
not r11b
and r11b, r10b
not r10b
and r9b, r10b
or r9b, r11b
and r9b, r10b
or r9b, r11b
mov byte [r8 + rax], r9b
mov r9d, dword [0x14063cc7c]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0xe
jl 0x1402fca60
lea rax, [fcn.1402fc8f0]
lea ecx, [rax + rax]
add ecx, 0x3940
nop word cs:[rax + rax]
mov edx, dword [0x14063cc7c]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xcdb8ff6f
mov r10d, r8d
and r10d, 0x32470090
or r10d, r9d
and r8d, 0x4db8ff6f
mov r9d, edx
and r9d, 0x32470090
or r9d, r8d
xor r9d, 0x32470090
and edx, 0x4db8ff6f
or edx, r9d
not edx
lea edx, [r10 + rdx*2]
mov r8d, ecx
xor r8d, ecx
mov r9d, ecx
xor r9d, edx
not r8d
and r8d, edx
xor r8d, ecx
and edx, ecx
or edx, r8d
not edx
or edx, r9d
cmp edx, 0xffffffff
jne 0x1402fcb6d
mov edx, dword [0x14063cc7c]
mov r8d, edx
xor r8d, 0x32470090
and edx, 0x32470090
lea edx, [r8 + rdx*2]
lea r8d, [rax + rax]
add r8d, 0x15a0
mov r9d, r8d
xor r8d, edx
not edx
xor r9d, edx
and r9d, edx
or r9d, r8d
cmp r9d, 0xffffffff
je 0x1402fcb7e
mov edx, dword [0x1406952d4]
cmp edx, 0x45
jge 0x1402fcac0
jmp 0x1402fcb31
mov al, 0x5f
xchg byte [0x14063c50e], al
lea rax, [0x14063c500]
ret
xor edx, edx
lea rax, [0x14063c5a0]
lea rcx, [0x14053fa70]
nop
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, 0xb
jl 0x1402fcba0
mov al, 0x89
xchg byte [0x14063c5ab], al
lea rax, [0x14063c5a0]
ret
xor edx, edx
lea rax, [0x14063c3a0]
lea rcx, [0x14053f870]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
not r9b
mov r11d, r10d
xor r11b, r9b
and r11b, r10b
and r9b, r8b
or r9b, r11b
mov byte [rdx + rax], r9b
lea r8d, [rdx + rdx]
and r8d, 2
xor edx, r8d
mov r9d, edx
xor r9d, 1
not edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0x15
jl 0x1402fcbe0
mov eax, dword [0x1406952d4]
cmp eax, 0x2e
jge 0x1402fcc50
mov eax, dword [0x1406952d0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402fcc5d
nop word cs:[rax + rax]
mov eax, dword [0x1406952d4]
cmp eax, 0x3c
jge 0x1402fcc50
jmp 0x1402fcc34
mov al, 0xe3
xchg byte [0x14063c3b5], al
mov al, 1
nop word [rax + rax]
mov ecx, dword [0x1406952d4]
cmp ecx, 0x5f
jg 0x1402fcc84
cmp dword [0x1406952dc], 0
je 0x1402fcc8a
test al, al
je 0x1402fcc70
jmp 0x1402fcc7b
lea rax, [0x14063c3a0]
ret
movzx eax, byte [0x14063c238]
mov ecx, dword [0x1406952d0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402fccc4
nop word [rax + rax]
movzx eax, byte [0x14063c238]
mov eax, dword [0x1406952d4]
cmp eax, 0x27
jge 0x1402fccb0
jmp 0x1402fcc92
cmp al, 0xb2
je 0x1402fcce0
mov cl, 0x73
nop word [rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x14063c238], cl
je 0x1402fcce8
cmp al, 0xb2
jne 0x1402fccd0
lea rax, [0x14063c230]
ret
xor edx, edx
lea rax, [0x14063c230]
lea rcx, [0x14053f730]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
neg edx
mov r8d, edx
add r8d, r8d
neg r8d
add edx, r8d
inc edx
cmp edx, 8
jl 0x1402fcd00
mov al, 0xb2
xchg byte [0x14063c238], al
lea rax, [0x14063c230]
ret