Function at 0x1402f3eb0
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov eax, dword [0x140495184]
cmp eax, 0x33
jg 0x1402f3f10
mov eax, dword [0x140480e90]
mov r8d, eax
xor r8d, 0x27f7a550
and eax, 0x27f7a550
add eax, eax
mov r9d, r8d
xor r9d, eax
and eax, r8d
lea eax, [r9 + rax*2]
lea r8, [fcn.1402f3eb0]
add r8d, r8d
add r8d, 0x340
mov r9d, r8d
not r9d
mov r10d, r9d
and r10d, eax
not eax
and r8d, eax
or r8d, r10d
and eax, r9d
or eax, r8d
cmp eax, 0xffffffff
je 0x1402f3f26
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x1402f3f20
jmp 0x1402f3ebc
test ecx, ecx
je 0x1402f3f59
test edx, edx
je 0x1402f3f89
movzx eax, byte [0x14047fcf7]
cmp al, 0x29
je 0x1402f41b8
mov cl, 0x59
nop
mov al, 0x97
lock cmpxchg byte [0x14047fcf7], cl
je 0x1402f4004
cmp al, 0x29
jne 0x1402f3f40
jmp 0x1402f41b8
test edx, edx
je 0x1402f3fb9
movzx eax, byte [0x1404801a1]
cmp al, 0x92
je 0x1402f409c
mov cl, 0xab
nop
mov al, 0x5e
lock cmpxchg byte [0x1404801a1], cl
je 0x1402f404e
cmp al, 0x92
jne 0x1402f3f70
jmp 0x1402f409c
movzx eax, byte [0x14047fbe7]
cmp al, 0xe
je 0x1402f40e0
mov cl, 0x35
nop word [rax + rax]
mov al, 0x21
lock cmpxchg byte [0x14047fbe7], cl
je 0x1402f40a5
cmp al, 0xe
jne 0x1402f3fa0
jmp 0x1402f40e0
movzx eax, byte [0x14047fb1d]
movzx ecx, byte [0x140480e94]
add cl, 0xec
cmp al, cl
je 0x1402f41af
nop word cs:[rax + rax]
movzx ecx, byte [0x140480e94]
lea eax, [rcx - 0x5f]
add cl, 9
lock cmpxchg byte [0x14047fb1d], cl
je 0x1402f40e9
cmp al, 0xc1
jne 0x1402f3fe0
jmp 0x1402f41af
xor edx, edx
lea rax, [0x14047fcc0]
lea rcx, [0x140390370]
nop word cs:[rax + rax]
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, 0x37
jl 0x1402f4020
mov al, 1
test al, al
je 0x1402f41e9
jmp 0x1402f41c1
xor edx, edx
lea rax, [0x140480190]
lea rcx, [0x140390840]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x140480e90]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 0x11
jl 0x1402f4060
mov eax, dword [0x140495180]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1402f4090
mov al, 0x92
xchg byte [0x1404801a1], al
lea rax, [0x140480190]
pop rsi
ret
xor eax, eax
lea rcx, [0x14047fbe0]
lea rdx, [0x140390290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x1402f40d8
inc rax
jmp 0x1402f40c0
mov al, 0xe
xchg byte [0x14047fbe7], al
lea rax, [0x14047fbe0]
pop rsi
ret
xor r8d, r8d
lea r9, [0x14047fb00]
lea r10, [0x1403901c0]
mov r11d, 0x27f7a56c
jmp 0x1402f4127
mov ecx, r8d
xor ecx, 1
and r8d, 1
lea r8d, [rcx + r8*2]
cmp r8d, eax
jge 0x1402f41a7
mov eax, dword [0x140495180]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x1402f4160
nop dword [rax + rax]
movzx eax, byte [rsi + r10]
add byte [rsi + r9], al
mov eax, dword [0x140480e90]
add eax, r11d
mov ecx, dword [0x140495184]
cmp ecx, 0x31
jl 0x1402f4110
nop dword [rax]
movzx eax, byte [rsi + r9]
movzx edx, byte [rsi + r10]
sub al, dl
mul dl
sub al, dl
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov ecx, edx
shl al, cl
add al, dl
mov byte [rsi + r9], al
mov eax, dword [0x140480e90]
mov ecx, eax
xor ecx, 0x58085ab0
and ecx, eax
xor eax, 0x27f7a54f
add ecx, ecx
add ecx, eax
jne 0x1402f4160
jmp 0x1402f4140
mov al, 0xc1
xchg byte [0x14047fb1d], al
lea rax, [0x14047fb00]
pop rsi
ret
lea rax, [0x14047fcc0]
pop rsi
ret
mov ecx, dword [0x140495180]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140480e90]
lea r8d, [rcx + 0x27f7a551]
xor edx, edx
div r8d
add ecx, 0x27f7a54f
cmp edx, ecx
je 0x1402f4223
lea rax, [fcn.1402f3eb0]
add eax, eax
add eax, 0x1460
nop word [rax + rax]
mov ecx, dword [0x140480e90]
mov edx, ecx
xor edx, 0xdf0730ab
and ecx, 0x5f0730ab
lea ecx, [rdx + rcx*2]
add ecx, 0x48f074a5
test eax, ecx
jne 0x1402f4200
jmp 0x1402f41c1
mov eax, dword [0x140495184]
mov ecx, 0x27f7a587
add ecx, dword [0x140480e90]
cmp eax, ecx
jge 0x1402f4267
mov al, 0x29
xchg byte [0x14047fcf7], al
mov eax, dword [0x140495184]
mov ecx, dword [0x140480e90]
mov edx, ecx
xor edx, 0x58085aa2
and edx, ecx
xor ecx, 0x27f7a55d
lea ecx, [rcx + rdx*2]
cmp eax, ecx
jl 0x1402f41b8
mov eax, 0x27f7a54f
nop dword [rax]
mov cl, 0x29
xchg byte [0x14047fcf7], cl
mov ecx, dword [0x140495180]
lea edx, [rcx + 0x240ff380]
not edx
add edx, 0x240ff380
imul edx, ecx
and edx, 1
mov ecx, dword [0x140480e90]
add ecx, eax
cmp edx, ecx
jne 0x1402f4270
jmp 0x1402f4238