Function at 0x1401fb4d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov eax, 0xbbc59a69
add eax, dword [0x14051144c]
cmp ecx, eax
jne 0x1401fb51a
test edx, edx
je 0x1401fb5af
mov eax, dword [0x14055c4c8]
mov ecx, dword [0x14051144c]
add ecx, eax
add ecx, 0x443a6596
imul ecx, eax
test cl, 1
jne 0x1401fb6c5
jmp 0x1401fb6b3
test edx, edx
je 0x1401fb562
movzx eax, byte [0x1405113a0]
cmp al, 0x27
je 0x1401fb85c
mov cl, 0xdc
nop
mov al, 0xb
lock cmpxchg byte [0x1405113a0], cl
je 0x1401fb5df
cmp al, 0x27
jne 0x1401fb530
jmp 0x1401fb85c
movzx eax, byte [0x1405113f3]
mov eax, dword [0x14055c4cc]
cmp eax, 0x5d
jl 0x1401fb56e
cmp dword [0x14051144c], 0x443a6597
jne 0x1401fb550
movzx eax, byte [0x1405113f3]
cmp dword [0x14051144c], 0x443a6597
jne 0x1401fb550
cmp al, 0xc1
je 0x1401fb850
mov cl, 0xb0
nop dword [rax + rax]
mov al, 0xe2
lock cmpxchg byte [0x1405113f3], cl
je 0x1401fb5ee
movzx edx, byte [0x140511450]
add dl, 0x6f
cmp al, dl
jne 0x1401fb590
jmp 0x1401fb850
movzx eax, byte [0x140511449]
cmp al, 0x47
je 0x1401fb69d
mov cl, 0xd3
mov al, 0xf6
lock cmpxchg byte [0x140511449], cl
je 0x1401fb649
movzx edx, byte [0x140511450]
add dl, 0xf5
cmp al, dl
jne 0x1401fb5c0
jmp 0x1401fb69d
xor eax, eax
test al, al
jne 0x1401fb880
jmp 0x1401fb868
xor edx, edx
lea rax, [0x1405113f0]
lea rcx, [0x14042fc40]
nop
movsxd r8, edx
movzx edx, byte [r8 + rax]
movzx r9d, byte [r8 + rcx]
not dl
mov r10d, edx
and r10b, r9b
or dl, r9b
not dl
or dl, r10b
mov byte [r8 + rax], dl
lea edx, [r8 + r8]
sub edx, r8d
inc edx
cmp edx, 3
jl 0x1401fb600
mov eax, dword [0x14055c4c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401fb820
jmp 0x1401fb7e6
xor eax, eax
lea rcx, [0x140511440]
lea rdx, [0x14042fc90]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, r8b
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1401fb695
inc rax
jmp 0x1401fb660
mov al, 0x47
xchg byte [0x140511449], al
lea rax, [0x140511440]
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movzx eax, byte [0x1405113c5]
mov ecx, dword [0x14055c4cc]
cmp ecx, 0x16
jle 0x1401fb6ce
movzx eax, byte [0x1405113c5]
jmp 0x1401fb6b3
cmp al, 2
je 0x1401fb77f
mov cl, 0x97
nop dword [rax + rax]
mov al, 0x62
lock cmpxchg byte [0x1405113c5], cl
je 0x1401fb6f5
cmp al, 2
jne 0x1401fb6e0
jmp 0x1401fb77f
xor edx, edx
lea rax, [0x1405113b0]
lea rcx, [0x14042fc00]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 0x8c4d2744
and edx, 0xc4d2744
lea edx, [r8 + rdx*2]
add edx, 0x73b2d8bd
cmp edx, 0x15
jl 0x1401fb710
lea rax, [fcn.1401fb4d0]
add eax, eax
add eax, 0x36c0
mov ecx, eax
not ecx
nop dword [rax]
mov edx, dword [0x14051144c]
mov r8d, 0x443a6595
sub r8d, edx
add edx, 0xbbc59a6a
and r8d, ecx
xor edx, eax
or edx, r8d
cmp edx, 0xffffffff
jne 0x1401fb750
mov eax, dword [0x14055c4cc]
cmp eax, 0x24
jle 0x1401fb78b
jmp 0x1401fb7a5
lea rax, [0x1405113b0]
jmp 0x1401fb6a4
movzx eax, byte [0x140511450]
add al, 0xb0
xchg byte [0x1405113c5], al
mov eax, dword [0x14055c4cc]
cmp eax, 0x3f
jl 0x1401fb77f
mov eax, 0xbbc59a6a
lea rcx, [fcn.1401fb4d0]
add ecx, ecx
add ecx, 0x3040
not ecx
nop dword [rax + rax]
mov dl, 2
xchg byte [0x1405113c5], dl
mov edx, dword [0x14051144c]
add edx, eax
not edx
mov r8d, ecx
xor r8d, edx
and r8d, ecx
or r8d, edx
cmp r8d, 0xffffffff
jne 0x1401fb7c0
jmp 0x1401fb78b
mov al, 0xc1
xchg byte [0x1405113f3], al
mov eax, dword [0x14051144c]
mov ecx, eax
xor ecx, 0xbbc59a6a
and eax, 0x3bc59a6a
lea eax, [rcx + rax*2]
lea rcx, [fcn.1401fb4d0]
add ecx, ecx
add ecx, 0x2540
xor eax, ecx
not eax
test eax, ecx
je 0x1401fb850
nop dword [rax + rax]
mov al, 0xc1
xchg byte [0x1405113f3], al
mov eax, dword [0x14055c4c8]
mov ecx, dword [0x14051144c]
mov edx, eax
sub edx, ecx
add edx, 0x443a6596
imul edx, eax
and edx, 1
add ecx, 0xbbc59a69
cmp edx, ecx
jne 0x1401fb820
jmp 0x1401fb7e6
lea rax, [0x1405113f0]
jmp 0x1401fb6a4
lea rax, [0x140511390]
jmp 0x1401fb6a4
mov eax, dword [0x14055c4c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401fb898
nop dword [rax]
mov eax, dword [0x14055c4c8]
mov ecx, eax
sub ecx, dword [0x14051144c]
imul ecx, eax
test cl, 1
jne 0x1401fb880
jmp 0x1401fb868
xor edi, edi
lea rbx, [0x140511390]
lea r14, [0x14042fbf0]
mov bpl, 1
lea rsi, [0x1401fb9c0]
jmp 0x1401fb8d4
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [rax + rdi*2]
cmp edi, 0x10
jge 0x1401fb961
mov eax, dword [0x14055c4c8]
mov ecx, dword [0x14051144c]
neg ecx
add ecx, eax
add ecx, 0x443a6596
imul ecx, eax
movsxd r15, edi
test cl, 1
jne 0x1401fb920
nop word cs:[rax + rax]
movzx eax, byte [r15 + r14]
mov ecx, eax
xor cl, al
not cl
and cl, byte [r15 + rbx]
xor cl, al
mov byte [r15 + rbx], cl
test bpl, bpl
jne 0x1401fb8c0
nop word [rax + rax]
movzx eax, byte [r15 + rbx]
movzx ecx, byte [r15 + r14]
sub al, cl
mul cl
mov r12d, ecx
xor r12b, cl
not r12b
and r12b, al
xor r12b, cl
mov ecx, 0x28
call fcn.1403c4b54
mov qword [0x14055c4c0], rax
mov rcx, rsi
call fcn.1403e5350
mov byte [r15 + rbx], r12b
test bpl, bpl
je 0x1401fb920
jmp 0x1401fb900
mov al, 0x27
xchg byte [0x1405113a0], al
jmp 0x1401fb85c