Function at 0x1402f2460
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test ecx, ecx
je 0x1402f258d
test edx, edx
je 0x1402f269e
mov eax, 0x2899cc02
nop word cs:[rax + rax]
mov ecx, dword [0x140495180]
mov edx, dword [0x140480e90]
add edx, eax
not edx
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x1402f24c9
movzx ecx, byte [0x14047ffdd]
mov edx, dword [0x140495180]
mov r8d, edx
not r8d
imul r8d, edx
test r8b, 1
je 0x1402f24dd
movzx ecx, byte [0x14047ffdd]
mov ecx, dword [0x140495184]
cmp ecx, 0x2a
jge 0x1402f2490
jmp 0x1402f24ac
cmp cl, 0xdf
je 0x1402f2af5
xor r8d, r8d
mov r9b, 0xcd
mov r10d, 0x27f7a585
mov r11d, 0x27f7a551
jmp 0x1402f2509
cmp cl, 0xdf
je 0x1402f2af5
test r8b, r8b
jne 0x1402f2550
nop
mov al, 0x30
lock cmpxchg byte [0x14047ffdd], r9b
mov ecx, eax
sete al
mov edx, dword [0x140495184]
mov esi, dword [0x140480e90]
add esi, r10d
cmp edx, esi
jge 0x1402f2550
test al, al
jne 0x1402f26f9
test r8b, r8b
jne 0x1402f2580
jmp 0x1402f2560
mov al, 0x30
lock cmpxchg byte [0x14047ffdd], r9b
jmp 0x1402f2510
mov edx, dword [0x140495180]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x140480e90]
add esi, r11d
xor edx, edx
div esi
test edx, edx
je 0x1402f2500
nop dword [rax]
mov eax, dword [0x140495184]
cmp eax, 0xd
jge 0x1402f2580
jmp 0x1402f2560
test edx, edx
je 0x1402f26c5
movzx eax, byte [0x140495130]
cmp al, 0x6b
je 0x1402f2692
mov cl, 0xd3
nop word cs:[rax + rax]
mov eax, dword [0x140495184]
cmp eax, 0x25
jg 0x1402f25f0
nop dword [rax + rax]
xor eax, eax
lock cmpxchg byte [0x140495130], cl
sete dl
mov r8d, dword [0x140495180]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1402f2610
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x140495130], cl
mov eax, dword [0x140495180]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402f25f0
jmp 0x1402f25c0
test dl, dl
jne 0x1402f2620
cmp al, 0x6b
jne 0x1402f25b0
jmp 0x1402f2692
mov eax, dword [0x140495184]
cmp eax, 0x31
jle 0x1402f2636
mov eax, dword [0x140495184]
cmp eax, 0x21
jge 0x1402f2620
mov eax, dword [0x140495184]
cmp eax, 0x34
jg 0x1402f262b
xor edx, edx
lea rax, [0x14047ff50]
lea rcx, [0x140390600]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0xd
jl 0x1402f2660
mov al, 0x6b
xchg byte [0x140495130], al
lea rax, [0x14047ff50]
jmp 0x1402f27d8
mov eax, 0x27f7a550
add eax, dword [0x140480e90]
lea rcx, [fcn.1402f2460]
add ecx, ecx
add ecx, 0x640
test ecx, eax
jne 0x1402f292d
jmp 0x1402f2920
movzx eax, byte [0x14047fb28]
cmp al, 4
je 0x1402f27d1
mov cl, 0xd6
nop word cs:[rax + rax]
mov al, 0x30
lock cmpxchg byte [0x14047fb28], cl
je 0x1402f27ba
cmp al, 4
jne 0x1402f26e0
jmp 0x1402f27d1
xor edi, edi
lea rbx, [0x14047ffd0]
lea r14, [0x140390680]
lea rsi, [0x1402f4750]
jmp 0x1402f2730
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [rax + rdi*2]
cmp edi, 0xd
jge 0x1402f27a0
mov eax, dword [0x140495184]
movsxd r15, edi
cmp eax, 0x44
jg 0x1402f2766
nop
movzx eax, byte [r15 + rbx]
movzx ecx, byte [r15 + r14]
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [r15 + rbx], cl
cmp dword [0x140480e90], 0xd8085ab1
je 0x1402f2720
mov ecx, 0x28
call fcn.1402f9c64
mov qword [0x140495148], rax
mov rcx, rsi
call fcn.140319880
movzx ecx, byte [r15 + r14]
mov eax, ecx
sub al, byte [r15 + rbx]
mul cl
mul cl
not cl
mov edx, ecx
or dl, al
not dl
and cl, al
or cl, dl
mov byte [r15 + rbx], cl
jmp 0x1402f2740
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f2ae0
jmp 0x1402f2ad2
mov eax, dword [0x140495184]
mov ecx, 0x27f7a584
add ecx, dword [0x140480e90]
cmp eax, ecx
jl 0x1402f27e5
jmp 0x1402f27eb
lea rax, [0x14047fb20]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov al, 1
test al, al
jne 0x1402f280d
mov eax, 0x27f7a54f
mov ecx, dword [0x140495180]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x140480e90]
add ecx, eax
cmp edx, ecx
jne 0x1402f27f0
jmp 0x1402f27e5
xor edi, edi
lea r14, [0x14047fb20]
lea r15, [0x1403901e0]
lea rax, [fcn.1402f2460]
lea ebp, [rax + rax]
add ebp, 0x660
not ebp
lea rsi, [0x1402f4730]
nop word cs:[rax + rax]
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f28b0
nop word cs:[rax + rax]
movzx eax, byte [rdi + r15]
add byte [rdi + r14], al
mov eax, dword [0x140480e90]
lea ecx, [rax + 0x27f7a550]
not ecx
mov edx, ebp
xor edx, ecx
and edx, ebp
or edx, ecx
not edx
mov ecx, eax
xor ecx, 0x27f7a54f
and eax, 0x27f7a54f
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x1402f28b0
lea eax, [rdi + 1]
cmp eax, 7
jg 0x1402f2913
inc rdi
jmp 0x1402f2840
movzx ebx, byte [rdi + r14]
mov ecx, 0x3f
call fcn.1402f9c64
mov qword [0x140495140], rax
mov rcx, rsi
call fcn.140319880
movzx ecx, byte [rdi + r15]
sub bl, cl
mov eax, ebx
mul cl
sub al, cl
mul cl
mov r8d, eax
sub al, cl
mul cl
mov edx, eax
mov eax, r8d
sub al, dl
mul dl
mov ecx, r8d
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
sub r8b, cl
mov eax, r8d
mul cl
sub al, cl
shl al, cl
sub cl, al
mov byte [rdi + r14], cl
jmp 0x1402f2860
mov al, 4
xchg byte [0x14047fb28], al
jmp 0x1402f27d1
movzx eax, byte [0x14048004d]
xor ecx, ecx
test cl, cl
je 0x1402f2936
movzx eax, byte [0x14048004d]
jmp 0x1402f2920
cmp al, 0x8e
je 0x1402f2a7a
mov cl, 0xa9
mov al, 0x32
lock cmpxchg byte [0x14048004d], cl
je 0x1402f2955
cmp al, 0x8e
jne 0x1402f2940
jmp 0x1402f2a7a
mov eax, dword [0x140495180]
nop dword [rax + rax]
mov eax, dword [0x140495180]
mov ecx, eax
sub ecx, dword [0x140480e90]
imul ecx, eax
test cl, 1
jne 0x1402f2960
xor r8d, r8d
lea r9, [0x140480040]
lea r10, [0x1403906f0]
jmp 0x1402f29b6
add r8d, 0x51a11f8f
mov eax, r8d
xor eax, 1
and r8d, 1
lea r8d, [rax + r8*2]
add r8d, 0xae5ee071
cmp r8d, 0xd
jge 0x1402f2a72
mov eax, dword [0x140495184]
movsxd r11, r8d
cmp eax, 0x41
jg 0x1402f2a10
nop word cs:[rax + rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
mov edx, ecx
not dl
mov ebx, eax
and bl, dl
xor dl, al
not al
mov esi, eax
xor sil, cl
or bl, sil
not bl
and al, cl
or al, dl
not al
or al, bl
mov byte [r11 + r9], al
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402f2990
nop dword [rax]
movzx eax, byte [r11 + r9]
movzx ecx, byte [r11 + r10]
shl al, cl
mul cl
mov edx, eax
xor dl, cl
mov ebx, edx
not bl
and bl, al
add bl, bl
add bl, dl
movzx edx, byte [0x140480e94]
sub dl, bl
add dl, cl
add dl, 0x2b
mov eax, edx
shl al, cl
mov ebx, edx
mov ecx, eax
shl bl, cl
mov eax, edx
sub al, bl
mul bl
mov ecx, eax
sub dl, al
mov eax, edx
mul cl
xor al, cl
mov byte [r11 + r9], al
mov eax, dword [0x140495180]
mov ecx, 0xd2212249
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1402f2a10
jmp 0x1402f29d0
mov al, 0x8e
xchg byte [0x14048004d], al
mov eax, 0x27f7a550
add eax, dword [0x140480e90]
lea rcx, [fcn.1402f2460]
add ecx, ecx
add ecx, 0xac0
mov edx, ecx
not edx
xor ecx, eax
not eax
and eax, edx
or eax, ecx
cmp eax, 0xffffffff
jne 0x1402f2ab0
mov eax, dword [0x140495184]
cmp eax, 0x35
jl 0x1402f2ac6
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x1402f2ac0
jmp 0x1402f2aa5
lea rax, [0x140480040]
jmp 0x1402f27d8
mov eax, dword [0x140495184]
cmp eax, 0x29
jl 0x1402f2aed
nop dword [rax]
mov eax, dword [0x140495184]
cmp eax, 0x26
jge 0x1402f2ae0
jmp 0x1402f2ad2
mov al, 0xdf
xchg byte [0x14047ffdd], al
lea rax, [0x14047ffd0]
jmp 0x1402f27d8