Function at 0x1400f2220
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov eax, 0x1828
call fcn.1400ed360
sub rsp, rax
mov rsi, rcx
mov qword [rcx + 0x820], 1
mov qword [rsp + 0x820], rcx
mov rcx, qword [rcx + 0x818]
cmp rcx, 0xffffffffffffffff
je 0x1400f2652
lea rax, [rcx + 1]
nop word cs:[rax + rax]
mov edx, dword [0x141dc7278]
sub edx, dword [0x141dc727c]
or edx, 0xecf3cf8b
add edx, 0x17e720c0
cmp edx, 0x64736f4b
ja 0x1400f2270
mov qword [rsi + 0x818], rax
nop word [rax + rax]
mov eax, dword [0x141dc7280]
xor edx, edx
div dword [0x141dc7284]
and eax, 0x726bec4b
add eax, 0x2324c8f1
cmp eax, 0xd121e89c
ja 0x1400f22a0
test rcx, rcx
jne 0x1400f238f
nop dword [rax + rax]
mov eax, dword [0x141dc7288]
and eax, dword [0x141dc728c]
add eax, 0x2b48a9bf
and eax, 0x9e88e7b8
add eax, 0x36d2db62
cmp eax, 0xda0f93ad
ja 0x1400f22d0
mov eax, dword [0x141dc7290]
or eax, dword [0x141dc7294]
imul eax, eax, 0xcca750c6
add eax, 0x814860ec
mov ecx, 0xa8923581
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x8665258e
jne 0x1400f2340
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x180]
or rcx, 1
xor eax, eax
lock cmpxchg qword [rsi + 0x880], rcx
inc qword [rsi + 0x828]
nop
mov eax, dword [0x141dc7298]
imul eax, dword [0x141dc729c]
imul ecx, eax, 0xd99c14a3
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x180]
or rdx, 1
xor eax, eax
lock cmpxchg qword [rsi + 0x880], rdx
mov rax, qword [rsi + 0x828]
lea rdx, [rax + 1]
mov qword [rsi + 0x828], rdx
cmp ecx, 0x1b673047
je 0x1400f2340
test al, 0x7f
je 0x1400f2495
mov eax, dword [0x141dc72a0]
xor eax, dword [0x141dc72a4]
mov rdi, qword [rsp + 0x820]
add eax, 0x3414779d
and eax, 0x3d2550fe
cmp eax, 0x8e6323c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc72a8]
or eax, dword [0x141dc72ac]
imul rax, rax, 0x737e5dbb
shr rax, 0x3e
imul eax, eax, 0xb10d10de
add eax, 0x38652ff3
cmp eax, 0xd9c55a5f
jb 0x1400f23c0
mov r15, qword [rsi + 8]
mov eax, 0x8308c4f7
nop word cs:[rax + rax]
mov ecx, dword [0x141dc72b0]
sub ecx, dword [0x141dc72b4]
xor ecx, 0xbec066df
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xe73af29c
je 0x1400f2400
mov eax, 0x60
movups xmm0, xmmword [0x141db6260]
movups xmm1, xmmword [0x141db6250]
nop word cs:[rax + rax]
movups xmmword [rsp + rax - 0x30], xmm0
movups xmmword [rsp + rax - 0x40], xmm1
movups xmmword [rsp + rax - 0x20], xmm1
movups xmmword [rsp + rax - 0x10], xmm0
movups xmmword [rsp + rax], xmm1
movups xmmword [rsp + rax + 0x10], xmm0
movups xmmword [rsp + rax + 0x20], xmm1
movups xmmword [rsp + rax + 0x30], xmm0
sub rax, 0xffffffffffffff80
cmp rax, 0x860
jne 0x1400f2440
lea rbx, [rsi + 0x10]
mov eax, dword [0x141dc72b8]
and eax, dword [0x141dc72bc]
imul eax, eax, 0xd3aef9dd
cmp eax, 0x41b3cb2e
jne 0x1400f24af
jmp 0x1400f2534
mov rcx, qword [rsi + 8]
sub rcx, 0xffffffffffffff80
lea rdx, [rsp + 0x820]
call fcn.1400f11c0
jmp 0x1400f238f
mov eax, dword [0x141dc72c0]
add eax, dword [0x141dc72c4]
imul eax, eax, 0x7cc080d6
or eax, 0xf2fd6ff8
mov r12d, 0xa37e5089
imul r12, rax
shr r12, 0x3e
lea r14, [rsp + 0x1028]
lea rdx, [rsp + 0x20]
mov r8d, 0x800
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x820]
mov r8d, 0x808
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x810], 0
mfence
mov r14, qword [r15 + 0x180]
cmp r12d, 0x4d70a23e
jne 0x1400f2590
lea r14, [rsp + 0x1028]
lea rdx, [rsp + 0x20]
mov r8d, 0x800
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x820]
mov r8d, 0x808
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x810], 0
mfence
mov rax, qword [r15 + 0x180]
jmp 0x1400f24af
movzx eax, byte [0x141dd7ff8]
mov edx, 0x818
xor ecx, ecx
call fcn.1400beea0
test rax, rax
je 0x1400f25d8
mov rbx, rax
mov eax, dword [0x141dc72e0]
imul eax, dword [0x141dc72e4]
and eax, 0x73d060d3
imul eax, eax, 0x8b7c5eae
or eax, 0xa19e0b58
cmp eax, 0x53382571
jae 0x1400f2654
jmp 0x1400f2691
mov eax, dword [0x141dc72c8]
xor edx, edx
div dword [0x141dc72cc]
or eax, 0xbfeb7779
xor eax, 0x42f2d391
cmp eax, 0xc2eef636
jae 0x1400f2600
ud2
mov eax, dword [0x141dc72d0]
xor edx, edx
div dword [0x141dc72d4]
or eax, 0xa6c23d38
xor eax, 0x334e37af
imul eax, eax, 0xd0105c33
ud2
ud2
mov eax, dword [0x141dc72e8]
mov ecx, dword [0x141dc72ec]
add eax, ecx
add eax, 0xa656b123
imul r12, rax, 0x106abcbd
shr r12, 0x3a
lea rdx, [rsp + 0x820]
mov r8d, 0x808
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp r12d, 0x70960ea
jne 0x1400f26a9
lea rdx, [rsp + 0x820]
mov r8d, 0x808
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400f2654
mov qword [rbx + 0x808], r14
mov qword [rbx + 0x810], 0
nop dword [rax + rax]
mov eax, dword [0x141dc72f0]
xor edx, edx
div dword [0x141dc72f4]
or eax, 0x24d40088
and eax, 0xb4fe07a8
imul eax, eax, 0x317a02ab
cmp eax, 0xd5011113
je 0x1400f26c0
xor r8d, r8d
mov r9b, 1
nop dword [rax + rax]
mov eax, dword [0x141dc72f8]
sub eax, dword [0x141dc72fc]
or eax, 0x28aab7a2
add eax, 0x825ef8fb
and eax, 0x27443865
cmp eax, 0xc4fe98de
jne 0x1400f2720
mov rax, qword [r15 + 0x100]
nop dword [rax]
mov eax, dword [0x141dc7300]
sub eax, dword [0x141dc7304]
or eax, 0xb4609c3
add eax, 0x9f1de47f
mov rcx, qword [r15 + 0x100]
cmp eax, 0x81fbf4c2
jb 0x1400f2720
mov r10, rcx
and r10, 0xfffffffffffffff8
nop dword [rax + rax]
test r8b, r8b
jne 0x1400f2750
mov rdx, qword [r10 + 0x810]
cmp rdx, 7
ja 0x1400f27e0
xor eax, eax
lock cmpxchg qword [r10 + 0x810], rbx
sete r10b
mov eax, dword [0x141dc7308]
xor edx, edx
div dword [0x141dc730c]
nop
mov eax, dword [0x141dc7310]
mov edx, dword [0x141dc7314]
add eax, edx
add eax, 0x9e2fe404
xor eax, 0xe59594b4
cmp eax, 0x139c4e1f
jb 0x1400f2780
nop
mov eax, dword [0x141dc7318]
xor eax, dword [0x141dc731c]
imul eax, eax, 0xb96359da
xor eax, 0xcedab25f
imul rdx, rax, 0x194f6e53
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x7bfc9ec3
ja 0x1400f27a0
test r10b, r10b
je 0x1400f26f0
jmp 0x1400f284a
mov eax, dword [0x141dc7320]
sub eax, dword [0x141dc7324]
or eax, 0x9978ff3b
add eax, 0xff3b93c2
cmp eax, 0xf4769d35
jbe 0x1400f2810
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], rdx
nop dword [rax]
mov r10d, dword [0x141dc7328]
sub r10d, dword [0x141dc732c]
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], rdx
or r10d, 0x9e4ba16b
imul eax, r10d, 0xe7a9bbc
cmp eax, 0x83d23dc2
ja 0x1400f2810
nop
test r9b, r9b
je 0x1400f2840
jmp 0x1400f26f0
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], rbx
test rdi, rdi
je 0x1400f2934
nop
mov eax, dword [0x141dc7330]
sub eax, dword [0x141dc7334]
add eax, 0x9a8d7c14
imul rax, rax, 0x4d384761
shr rax, 0x3e
cmp eax, 0xe5997b5
ja 0x1400f2860
mov rax, qword [rdi + 0x818]
lea rcx, [rax - 1]
mov qword [rdi + 0x818], rcx
cmp rax, 1
jne 0x1400f2934
mov qword [rdi + 0x880], 0
mov rax, qword [rdi + 0x820]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc7338]
or ecx, dword [0x141dc733c]
or ecx, 0x3d8af0ca
cmp ecx, 0xc78f6cb0
je 0x1400f28c0
test rax, rax
jne 0x1400f2934
mov eax, dword [0x141dc7340]
or eax, dword [0x141dc7344]
add eax, 0xb38cdae0
and eax, 0x10500402
cmp eax, 0x3b8ab5d0
je 0x1400f292a
mov eax, dword [0x141dc7348]
add eax, dword [0x141dc734c]
imul ebx, eax, 0xa79f45ef
or ebx, 0x70945468
add ebx, 0x71d80491
mov rcx, rdi
call fcn.1400f2220
cmp ebx, 0x4071e4c7
jae 0x1400f2934
mov rcx, rdi
call fcn.1400f2220
jmp 0x1400f28fc
mov eax, dword [0x141dc7350]
or eax, dword [0x141dc7354]
imul eax, eax, 0x20a752f6
xor eax, 0x820d021
or eax, 0x56dc2ec6
cmp eax, 0xb5990206
jne 0x1400f2970
mov qword [rsi + 0x820], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dc7358]
or eax, dword [0x141dc735c]
and eax, 0xf449c26e
xor eax, 0x521ef291
add eax, 0x5a04c470
mov qword [rsi + 0x820], 0
cmp eax, 0x6774ff0f
jb 0x1400f2970
mov rax, qword [rsi + 8]
lock or qword [rsi], 1
mov qword [rsp + 0x820], rax
lock dec qword [rax]
jne 0x1400f2a10
mov eax, dword [0x141dc7360]
add eax, dword [0x141dc7364]
cmp eax, 0x38d9e87b
jne 0x1400f29d4
lea rcx, [rsp + 0x820]
call fcn.140064ce0
lea rsi, [rsp + 0x820]
nop dword [rax]
mov eax, dword [0x141dc7368]
xor edx, edx
div dword [0x141dc736c]
imul edi, eax, 0x32090cc3
xor edi, 0x32dcf5f0
add edi, 0x8fa8f9cc
mov rcx, rsi
call fcn.140064ce0
cmp edi, 0x1fef9ca2
jb 0x1400f29e0
mov eax, dword [0x141dc7370]
xor eax, dword [0x141dc7374]
or eax, 0xe2ad6551
imul rax, rax, 0xaff996b
shr rax, 0x3a
or eax, 0x2052e511
cmp eax, 0x625aaaed
ja 0x1400f2a10
nop dword [rax + rax]
mov eax, dword [0x141dc7378]
sub eax, dword [0x141dc737c]
cmp eax, 0x536da83d
je 0x1400f2a40
add rsp, 0x1828
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret