Function at 0x1402f2b10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
test ecx, ecx
je 0x1402f2b83
test edx, edx
je 0x1402f2bb9
movzx eax, byte [0x14047fbd3]
cmp al, 0xff
je 0x1402f2c50
mov cl, 0x7e
mov edx, 0x27f7a550
lea rax, [fcn.1402f2b10]
lea r8d, [rax + rax]
add r8d, 0x5e0
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x14047fbd3], cl
je 0x1402f2c20
mov r9d, dword [0x140480e90]
add r9d, edx
test r8d, r9d
mov r9d, dword [0x140495184]
cmp r9d, 0x26
jg 0x1402f2b6d
cmp al, 0xff
jne 0x1402f2b50
jmp 0x1402f2c50
test edx, edx
je 0x1402f2c06
movzx eax, byte [0x14047feb1]
cmp al, 0x22
je 0x1402f2d39
mov cl, 0xc
nop dword [rax + rax]
mov al, 0x7f
lock cmpxchg byte [0x14047feb1], cl
je 0x1402f2c64
cmp al, 0x22
jne 0x1402f2ba0
jmp 0x1402f2d39
movzx eax, byte [0x1404803b8]
cmp al, 0xc4
je 0x1402f2e6b
mov cl, 0xb5
nop word [rax + rax]
mov al, 8
lock cmpxchg byte [0x1404803b8], cl
je 0x1402f2d45
mov edx, dword [0x140495180]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
mov edx, dword [0x140495184]
cmp edx, 0x3f
jg 0x1402f2bf2
cmp al, 0xc4
jne 0x1402f2bd0
jmp 0x1402f2e6b
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f2eb1
jmp 0x1402f2e77
xor eax, eax
lea rcx, [0x14047fbc0]
lea rdx, [0x140390270]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x12
jg 0x1402f2c48
inc rax
jmp 0x1402f2c30
mov al, 0xff
xchg byte [0x14047fbd3], al
mov eax, dword [0x140495184]
cmp eax, 0x60
jle 0x1402f2f6e
jmp 0x1402f2f79
xor r8d, r8d
lea r9, [0x14047fea0]
lea r10, [0x140390550]
mov r11d, 0x27f7a550
xor esi, esi
xor edi, edi
test r8b, r8b
jne 0x1402f2cb6
nop word cs:[rax + rax]
movzx eax, byte [rdi + r10]
add byte [rdi + r9], al
mov eax, dword [0x140495180]
mov ecx, dword [0x140480e90]
add ecx, r11d
not ecx
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
je 0x1402f2cf0
movzx eax, byte [rdi + r9]
movzx ecx, byte [rdi + r10]
sub al, cl
mul cl
mov edx, eax
sub cl, al
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
sub al, dl
mul dl
add al, dl
mov byte [rdi + r9], al
jmp 0x1402f2c90
lea eax, [rdi + 1]
cmp eax, 0x10
jg 0x1402f2d10
inc rdi
dec esi
test r8b, r8b
jne 0x1402f2cb6
jmp 0x1402f2c90
mov eax, dword [0x140495184]
cmp eax, 0x2d
jle 0x1402f2d26
mov eax, dword [0x140495184]
cmp eax, 0x62
jge 0x1402f2d10
mov eax, dword [0x140495184]
cmp eax, 0x14
jg 0x1402f2d1b
mov al, 0x22
xchg byte [0x14047feb1], al
lea rax, [0x14047fea0]
jmp 0x1402f2f6b
mov ecx, 0x27f7a551
lea rax, [fcn.1402f2b10]
add eax, eax
add eax, 0x1660
mov r8d, eax
not r8d
and r8d, eax
mov r9d, 0x27f7a54f
nop word [rax + rax]
mov edx, dword [0x140495180]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140480e90]
add r10d, ecx
xor edx, edx
div r10d
test edx, edx
jne 0x1402f2d9d
mov eax, dword [0x140480e90]
add eax, r9d
cmp r8d, eax
je 0x1402f2dbb
mov eax, dword [0x140495180]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x140480e90]
add eax, r9d
cmp edx, eax
jne 0x1402f2d70
jmp 0x1402f2d8f
xor edx, edx
lea rax, [0x1404803b0]
lea rcx, [0x140390a60]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x140480e90]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 8
jl 0x1402f2dd0
mov eax, dword [0x140495180]
nop word [rax + rax]
mov eax, dword [0x140495180]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1402f2e00
mov al, 1
nop word cs:[rax + rax]
mov ecx, dword [0x140495180]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402f2e50
movzx ecx, byte [0x140480e94]
mov edx, ecx
xor dl, 0x10
and dl, cl
xor cl, 0xef
add dl, dl
add dl, cl
xchg byte [0x1404803b8], dl
test al, al
je 0x1402f2e20
movzx ecx, byte [0x140480e94]
add cl, 0xef
xchg byte [0x1404803b8], cl
mov ecx, dword [0x140495184]
cmp ecx, 0x1a
jg 0x1402f2e31
lea rax, [0x1404803b0]
jmp 0x1402f2f6b
movzx eax, byte [0x140480239]
lea rcx, [fcn.1402f2b10]
add ecx, ecx
add ecx, 0x4a60
mov edx, ecx
not edx
and edx, ecx
mov ecx, dword [0x140480e90]
mov r8d, ecx
xor r8d, 0x27f7a54f
and ecx, 0x27f7a54f
lea ecx, [r8 + rcx*2]
cmp edx, ecx
je 0x1402f2eba
movzx eax, byte [0x140480239]
jmp 0x1402f2e77
cmp al, 0x42
je 0x1402f2f64
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x140480239], cl
je 0x1402f2ee5
cmp al, 0x42
jne 0x1402f2ed0
jmp 0x1402f2f64
xor eax, eax
lea rcx, [0x140480230]
lea rdx, [0x1403908e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1402f2f18
inc rax
jmp 0x1402f2f00
mov ecx, 0x27f7a551
mov r8b, 1
mov eax, dword [0x140495184]
cmp eax, 0x33
jle 0x1402f2f3d
nop dword [rax + rax]
mov al, 0x42
xchg byte [0x140480239], al
test r8b, r8b
je 0x1402f2f20
mov al, 0x42
xchg byte [0x140480239], al
mov edx, dword [0x140495180]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140480e90]
add r9d, ecx
xor edx, edx
div r9d
test edx, edx
jne 0x1402f2f30
lea rax, [0x140480230]
pop rdi
pop rsi
ret
mov eax, dword [0x140495184]
cmp eax, 0x22
jl 0x1402f2f96
lea rax, [fcn.1402f2b10]
add eax, eax
add eax, 0x4c40
mov ecx, eax
not ecx
nop dword [rax + rax]
test ecx, eax
jne 0x1402f2f90
jmp 0x1402f2f6e
lea rax, [0x14047fbc0]
jmp 0x1402f2f6b