Function at 0x1402f1f80
Capabilities:
Encode data using xor

Disassembly:
push rsi
test ecx, ecx
je 0x1402f1fac
mov eax, dword [0x1406951d0]
mov ecx, dword [0x14063ae78]
neg ecx
add ecx, eax
add ecx, 0xed76a64
imul ecx, eax
test cl, 1
jne 0x1402f22a0
jmp 0x1402f2282
mov eax, 0xf128959b
mov cl, 1
nop word cs:[rax + rax]
mov r8d, dword [0x1406951d0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402f1ff4
mov r8d, dword [0x14063ae78]
add r8d, eax
mov r9d, dword [0x1406951d0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1402f1ffa
test cl, cl
je 0x1402f1fc0
jmp 0x1402f1fd5
cmp edx, r8d
jne 0x1402f2058
movzx eax, byte [0x14063ac3d]
nop word cs:[rax + rax]
cmp al, 0x85
je 0x1402f2132
movzx ecx, byte [0x14063ae70]
lea eax, [rcx + 0x63]
add cl, 0x59
lock cmpxchg byte [0x14063ac3d], cl
jne 0x1402f2010
xor eax, eax
lea rcx, [0x14063ac30]
lea rdx, [0x14053ed70]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1402f207f
inc rax
jmp 0x1402f2040
mov eax, dword [0x1406951d0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, 0xf128959b
add eax, dword [0x14063ae78]
cmp ecx, eax
je 0x1402f2151
jmp 0x1402f2190
mov eax, dword [0x1406951d0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f20b0
mov eax, dword [0x1406951d0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402f20bd
nop word cs:[rax + rax]
mov eax, dword [0x1406951d4]
cmp eax, 0x22
jge 0x1402f20b0
jmp 0x1402f2090
mov eax, dword [0x1406951d4]
cmp eax, 0x2c
jg 0x1402f20f0
movzx eax, byte [0x14063ae70]
add al, 0x1b
xchg byte [0x14063ac3d], al
mov eax, dword [0x14063ae78]
mov ecx, eax
xor ecx, 0xf128959b
and eax, 0x7128959b
add eax, eax
add eax, ecx
je 0x1402f2132
mov al, 0x85
xchg byte [0x14063ac3d], al
jmp 0x1402f20c8
mov ecx, dword [0x1406951d0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14063ae78]
lea r8d, [rcx - 0xed76a63]
xor edx, edx
div r8d
mov eax, ecx
xor eax, 0xf128959b
and ecx, 0x7128959b
lea eax, [rax + rcx*2]
cmp edx, eax
je 0x1402f213d
mov eax, dword [0x1406951d4]
cmp eax, 0x1a
jg 0x1402f2100
mov eax, dword [0x1406951d4]
cmp eax, 0x29
jg 0x1402f2100
lea rax, [0x14063ac30]
pop rsi
ret
movzx eax, byte [0x14063ab30]
movzx ecx, byte [0x14063ae70]
mov edx, dword [0x1406951d0]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x14063ae78]
mov r9d, edx
xor r9d, 0xf128959b
and edx, 0x7128959b
lea edx, [r9 + rdx*2]
cmp r8d, edx
je 0x1402f2199
movzx eax, byte [0x14063ab30]
jmp 0x1402f2151
add cl, 0x3b
cmp al, cl
je 0x1402f2279
mov cl, 0xa
lea rax, [fcn.1402f1f80]
lea edx, [rax + rax]
add edx, 0x1aa0
mov r8d, edx
not r8d
mov r9b, 1
jmp 0x1402f21d8
cmp al, 0xa5
je 0x1402f2279
mov al, 0x1d
lock cmpxchg byte [0x14063ab30], cl
je 0x1402f2227
test r8d, edx
jne 0x1402f2220
nop dword [rax]
mov r10d, dword [0x1406951d0]
mov r11d, dword [0x14063ae78]
mov esi, r10d
sub esi, r11d
imul esi, r10d
and esi, 1
add r11d, 0xf128959b
cmp esi, r11d
je 0x1402f21d0
nop word [rax + rax]
test r9b, r9b
je 0x1402f2220
jmp 0x1402f21f0
xor eax, eax
lea rcx, [0x14063ab20]
lea rdx, [0x14053ec70]
mov r8d, 0xf12895ab
nop dword [rax]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rax + rcx]
xor r10b, r9b
mov byte [rax + rcx], r10b
lea r9d, [rax + 1]
mov r10d, dword [0x14063ae78]
add r10d, r8d
cmp r9d, r10d
jge 0x1402f2271
inc rax
jmp 0x1402f2240
mov al, 0xa5
xchg byte [0x14063ab30], al
lea rax, [0x14063ab20]
pop rsi
ret
mov eax, dword [0x1406951d4]
mov ecx, 0xf12895fa
add ecx, dword [0x14063ae78]
cmp eax, ecx
jl 0x1402f22ad
nop word [rax + rax]
mov eax, dword [0x1406951d4]
cmp eax, 0x19
jge 0x1402f22a0
jmp 0x1402f2282
test edx, edx
je 0x1402f22e5
movzx eax, byte [0x14063ac84]
cmp al, 0xe6
je 0x1402f2386
mov cl, 0x88
nop word cs:[rax + rax]
mov al, 0xa2
lock cmpxchg byte [0x14063ac84], cl
je 0x1402f230c
cmp al, 0xe6
jne 0x1402f22d0
jmp 0x1402f2386
mov eax, dword [0x1406951d0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, 0xf128959b
add eax, dword [0x14063ae78]
cmp ecx, eax
jne 0x1402f23a0
jmp 0x1402f238f
xor eax, eax
lea rcx, [0x14063ac70]
lea rdx, [0x14053edb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
mov r9d, dword [0x14063ae78]
mov r10d, r9d
xor r10d, 0xf12895af
and r9d, 0x712895af
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1402f2353
inc rax
jmp 0x1402f2320
xor eax, eax
mov cl, 1
nop word [rax + rax]
test al, al
jne 0x1402f2378
mov edx, dword [0x1406951d0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1402f237e
test cl, cl
je 0x1402f2360
jmp 0x1402f2364
mov al, 0xe6
xchg byte [0x14063ac84], al
lea rax, [0x14063ac70]
pop rsi
ret
movzx eax, byte [0x14063aab2]
mov cl, 1
test cl, cl
jne 0x1402f23b4
nop dword [rax]
movzx eax, byte [0x14063aab2]
mov eax, dword [0x1406951d4]
cmp eax, 0x19
jge 0x1402f23a0
jmp 0x1402f238f
cmp al, 0x82
je 0x1402f2440
mov cl, 0xc8
nop
mov al, 0x28
lock cmpxchg byte [0x14063aab2], cl
je 0x1402f23d2
cmp al, 0x82
jne 0x1402f23c0
jmp 0x1402f2440
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402f23ee
cmp qword [0x1406951e8], 0
je 0x1402f23fb
mov ecx, dword [0x1406951d4]
cmp ecx, 0x54
jge 0x1402f23e0
jmp 0x1402f23e4
xor edx, edx
lea rax, [0x14063aaa0]
lea rcx, [0x14053ec00]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14063ae78]
add edx, r8d
add edx, 0xf128959c
cmp edx, 0x12
jl 0x1402f2410
movzx eax, byte [0x14063ae70]
add al, 0x18
xchg byte [0x14063aab2], al
lea rax, [0x14063aaa0]
pop rsi
ret