Function at 0x1402f3320
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x27f7a550
add eax, dword [0x140480e90]
lea r8, [fcn.1402f3320]
add r8d, r8d
add r8d, 0x4420
test r8d, eax
jne 0x1402f3350
mov al, 1
test al, al
jne 0x1402f335d
nop word [rax + rax]
mov eax, dword [0x140495184]
cmp eax, 0x27
jge 0x1402f3350
jmp 0x1402f3341
test ecx, ecx
je 0x1402f3399
test edx, edx
je 0x1402f33cc
movzx eax, byte [0x1404802fd]
movzx ecx, byte [0x140480e94]
add cl, 0x25
cmp al, cl
je 0x1402f36ae
mov cl, 0x97
mov al, 0xf8
lock cmpxchg byte [0x1404802fd], cl
je 0x1402f345c
cmp al, 0xfa
jne 0x1402f3380
jmp 0x1402f36ae
test edx, edx
je 0x1402f3428
movzx eax, byte [0x1404801bd]
cmp al, 0xd3
je 0x1402f33c4
mov cl, 0x2e
nop
mov al, 0x92
lock cmpxchg byte [0x1404801bd], cl
je 0x1402f34cd
cmp al, 0xd3
jne 0x1402f33b0
lea rax, [0x1404801b0]
ret
movzx eax, byte [0x1404800cc]
cmp al, 0xdd
je 0x1402f3590
mov cl, 0xd2
xor edx, edx
mov r8b, 1
jmp 0x1402f33f8
cmp al, 0xdd
je 0x1402f3590
mov al, 0x31
lock cmpxchg byte [0x1404800cc], cl
je 0x1402f354b
nop dword [rax + rax]
test dl, dl
jne 0x1402f3421
mov r9d, dword [0x140495184]
cmp r9d, 0x2f
jle 0x1402f33f0
test r8b, r8b
je 0x1402f3410
jmp 0x1402f3414
movzx eax, byte [0x14047ff3c]
cmp al, 1
je 0x1402f3454
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x14047ff3c], cl
je 0x1402f3598
cmp al, 1
jne 0x1402f3440
lea rax, [0x14047ff30]
ret
mov eax, dword [0x140495184]
nop word cs:[rax + rax]
mov eax, dword [0x140495184]
cmp eax, 0xe
jg 0x1402f3470
xor eax, eax
lea rcx, [0x1404802f0]
lea rdx, [0x1403909a0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1402f34b8
inc rax
jmp 0x1402f3490
cmp dword [0x140480e90], 0xd8085ab1
jne 0x1402f3670
jmp 0x1402f3641
xor edx, edx
lea rax, [0x1404801b0]
lea rcx, [0x140390860]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, dword [0x140480e90]
add edx, r8d
add edx, 0x27f7a550
add r8d, 0x27f7a55c
cmp edx, r8d
jl 0x1402f34e0
mov eax, dword [0x140495184]
nop word cs:[rax + rax]
mov eax, dword [0x140495184]
cmp eax, 0x43
jg 0x1402f3530
mov al, 0xd3
xchg byte [0x1404801bd], al
lea rax, [0x1404801b0]
ret
xor eax, eax
lea rcx, [0x1404800c0]
lea rdx, [0x140390770]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x1402f3588
inc rax
jmp 0x1402f3560
mov al, 0xdd
xchg byte [0x1404800cc], al
lea rax, [0x1404800c0]
ret
xor eax, eax
lea rcx, [0x14047ff30]
lea rdx, [0x1403905e0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x1402f35c8
inc rax
jmp 0x1402f35b0
mov eax, dword [0x140495184]
nop
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f35d0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402f3619
movzx ecx, byte [0x140480e94]
add cl, 0x2c
xchg byte [0x14047ff3c], cl
mov ecx, dword [0x140495180]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402f3454
mov cl, 1
xchg byte [0x14047ff3c], cl
mov ecx, dword [0x140495180]
mov edx, dword [0x140480e90]
neg edx
add edx, ecx
add edx, 0xd8085ab0
imul edx, ecx
test dl, 1
jne 0x1402f35f0
jmp 0x1402f35f4
mov eax, dword [0x140495184]
mov ecx, dword [0x140480e90]
mov edx, ecx
xor edx, 0x27f7a56d
and ecx, 0x27f7a56d
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1402f3683
nop word cs:[rax + rax]
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402f3670
jmp 0x1402f3641
mov al, 0xfa
xchg byte [0x1404802fd], al
jmp 0x1402f36ae
mov eax, dword [0x140495180]
mov ecx, dword [0x140480e90]
neg ecx
add ecx, eax
add ecx, 0xd8085ab0
imul ecx, eax
test cl, 1
je 0x1402f36ba
cmp dword [0x140480e90], 0xd8085ab1
jne 0x1402f3690
mov eax, dword [0x140495184]
cmp eax, 0x40
jg 0x1402f3690
lea rax, [0x1404802f0]
ret