Function at 0x1401f4760
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test ecx, ecx
je 0x1401f486d
mov eax, dword [0x1404bec38]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
nop word [rax + rax]
lea rax, [fcn.1401f4760]
add eax, eax
add eax, 0x3c20
mov ecx, eax
not ecx
test ecx, eax
jne 0x1401f4790
test edx, edx
je 0x1401f48a9
movzx eax, byte [0x140480122]
cmp al, 0x87
je 0x1401f49af
mov cl, 0x35
nop
mov edx, dword [0x1404bec38]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140480860]
lea r9d, [r8 + 0x335ae67e]
xor edx, edx
div r9d
add r8d, 0x335ae67c
cmp edx, r8d
jne 0x1401f4850
nop dword [rax + rax]
movzx edx, byte [0x140480870]
mov r8d, edx
xor r8b, 0xbd
mov eax, edx
and al, 0x3d
add al, al
add al, r8b
mov r8d, edx
xor r8b, 0xd
and dl, 0xd
add dl, dl
add dl, r8b
lock cmpxchg byte [0x140480122], dl
sete dl
mov r8d, dword [0x1404bec3c]
cmp r8d, 0x11
jge 0x1401f4850
test dl, dl
jne 0x1401f4940
movzx edx, byte [0x140480870]
add dl, 0x5f
cmp al, dl
jne 0x1401f47c0
jmp 0x1401f49af
mov al, 0xe5
lock cmpxchg byte [0x140480122], cl
mov eax, dword [0x1404bec38]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401f4850
jmp 0x1401f47f0
test edx, edx
je 0x1401f48d9
movzx eax, byte [0x14047ffdb]
cmp al, 0x9f
je 0x1401f4af5
mov cl, 0xf8
nop word cs:[rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x14047ffdb], cl
je 0x1401f49bb
cmp al, 0x9f
jne 0x1401f4890
jmp 0x1401f4af5
movzx eax, byte [0x1404800c4]
cmp al, 0x59
je 0x1401f4ae1
mov cl, 0x60
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x1404800c4], cl
je 0x1401f4a2b
cmp al, 0x59
jne 0x1401f48c0
jmp 0x1401f4ae1
movzx eax, byte [0x14048015a]
cmp al, 0xd4
je 0x1401f4c0e
mov cl, 0x22
mov dl, 1
nop dword [rax]
mov eax, dword [0x1404bec3c]
cmp eax, 0x32
jg 0x1401f4930
nop dword [rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x14048015a], cl
sete r8b
test dl, dl
je 0x1401f4930
test r8b, r8b
jne 0x1401f4b01
cmp al, 0xd4
jne 0x1401f48f0
jmp 0x1401f4c0e
mov al, 0x2a
lock cmpxchg byte [0x14048015a], cl
test dl, dl
je 0x1401f4930
jmp 0x1401f4900
xor r8d, r8d
lea rax, [0x140480110]
lea rcx, [0x140397d90]
mov edx, 0x335ae68e
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [r8 + rax]
xor r10b, r9b
mov byte [r8 + rax], r10b
add r8d, 0xb4bd735c
mov r9d, r8d
xor r9d, 0x4b428ca5
and r8d, 0x4b428ca5
lea r8d, [r9 + r8*2]
mov r9d, dword [0x140480860]
add r9d, edx
cmp r8d, r9d
jl 0x1401f4960
mov al, 0x87
xchg byte [0x140480122], al
lea rax, [0x140480110]
jmp 0x1401f4c15
xor eax, eax
lea rcx, [0x14047ffb0]
lea rdx, [0x140397c40]
mov r8d, 0x335ae6a7
nop word cs:[rax + rax]
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
not r11b
mov ebx, r11d
xor bl, r10b
not r10b
and r9b, r10b
or r9b, bl
not r9b
xor r11b, r10b
and r11b, r10b
or r11b, r9b
mov byte [rax + rcx], r11b
lea r9d, [rax + 1]
mov r10d, dword [0x140480860]
add r10d, r8d
cmp r9d, r10d
jge 0x1401f4aed
inc rax
jmp 0x1401f49e0
xor eax, eax
lea rcx, [0x1404800c0]
lea rdx, [0x140397d40]
mov r8d, 0x335ae680
nop word cs:[rax + 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 [0x140480860]
add r10d, r8d
cmp r9d, r10d
jge 0x1401f4a90
inc rax
jmp 0x1401f4a50
mov eax, dword [0x1404bec38]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401f4a90
mov eax, dword [0x1404bec3c]
cmp eax, 0x4a
jge 0x1401f4a90
jmp 0x1401f4ac3
mov al, 0x59
xchg byte [0x1404800c4], al
mov eax, dword [0x1404bec3c]
cmp eax, 0x4e
jl 0x1401f4ace
mov eax, dword [0x1404bec3c]
cmp eax, 0x15
jg 0x1401f4ab0
mov al, 0x59
xchg byte [0x1404800c4], al
mov eax, dword [0x1404bec3c]
cmp eax, 0x3b
jg 0x1401f4ab0
lea rax, [0x1404800c0]
jmp 0x1401f4c15
mov al, 0x9f
xchg byte [0x14047ffdb], al
lea rax, [0x14047ffb0]
jmp 0x1401f4c15
xor edi, edi
lea rax, [fcn.1401f4760]
lea r14d, [rax + rax]
add r14d, 0x4c60
mov dword [rsp + 0x24], r14d
not r14d
lea r15, [0x140480130]
lea r12, [0x140397db0]
mov r13d, 0x335ae6a6
lea rsi, [0x1401f4c50]
jmp 0x1401f4b53
mov ecx, edi
xor ecx, 1
and edi, 1
lea edi, [rcx + rdi*2]
cmp edi, eax
jge 0x1401f4c06
mov eax, dword [0x140480860]
mov ecx, 0xcca51982
sub ecx, eax
add eax, 0x335ae67d
and ecx, r14d
xor eax, dword [rsp + 0x24]
or eax, ecx
movsxd rbp, edi
cmp eax, 0xffffffff
jne 0x1401f4ba9
nop word cs:[rax + rax]
movzx eax, byte [rbp + r12]
add byte [rbp + r15], al
mov eax, dword [0x140480860]
add eax, r13d
mov ecx, dword [0x1404bec38]
mov edx, 1
sub edx, ecx
imul edx, ecx
test dl, 1
je 0x1401f4b40
movzx ebx, byte [rbp + r15]
mov ecx, 0x2a
call fcn.140327f1c
mov qword [0x1404bec30], rax
mov rcx, rsi
call fcn.1403477e0
movzx ecx, byte [rbp + r12]
mov eax, ebx
xor al, 0xfb
and bl, 0x7b
add bl, bl
add bl, al
sub bl, cl
add bl, 5
mov eax, ebx
mul cl
shl al, cl
sub cl, al
mov edx, ecx
sub dl, al
mov eax, edx
shl al, cl
mov ecx, eax
shl dl, cl
mov ecx, edx
xor cl, al
and dl, al
add dl, dl
add dl, cl
mov byte [rbp + r15], dl
jmp 0x1401f4b80
mov al, 0xd4
xchg byte [0x14048015a], al
lea rax, [0x140480130]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret