Function at 0x1400f67c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rsi, rcx
mov eax, dword [0x141dcd450]
add eax, dword [0x141dcd454]
imul eax, eax, 0xae6f91f7
imul rax, rax, 0x250fc81d
shr rax, 0x3d
cmp eax, 0x8ab97b07
jbe 0x1400f6830
mov eax, 0x800
call fcn.1400f1350
sub rsp, rax
mov eax, 0x800
call fcn.1400f1350
sub rsp, rax
mov eax, 0x810
call fcn.1400f1350
sub rsp, rax
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov eax, dword [0x141dcd458]
imul eax, dword [0x141dcd45c]
imul rax, rax, 0x5113e4e1
shr rax, 0x3d
imul ecx, eax, 0xb5f27c50
mov eax, 0x800
call fcn.1400f1350
sub rsp, rax
mov r12, rsp
mov eax, 0x800
call fcn.1400f1350
sub rsp, rax
mov r14, rsp
mov eax, 0x810
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
cmp ecx, 0xff002c1c
je 0x1400f6830
mov eax, dword [0x141dcd460]
xor edx, edx
div dword [0x141dcd464]
imul eax, eax, 0xbac5a55a
add eax, 0x72b7ce7a
cmp eax, 0xcdfd2cc3
jbe 0x1400f68e0
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov qword [rsi + 0x820], 1
mov qword [r15], rsi
nop word cs:[rax + rax]
mov ecx, dword [0x141dcd468]
imul ecx, dword [0x141dcd46c]
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
mov qword [rsi + 0x820], 1
mov qword [r15], rsi
cmp ecx, 0x538eeef7
je 0x1400f68e0
mov rax, qword [rsi + 0x818]
cmp rax, 0xffffffffffffffff
je 0x1400f6a27
lea rcx, [rax + 1]
mov qword [rsi + 0x818], rcx
nop
mov ecx, dword [0x141dcd470]
and ecx, dword [0x141dcd474]
imul ecx, ecx, 0x379e9b0b
cmp ecx, 0x250bb4a1
je 0x1400f6930
test rax, rax
jne 0x1400f6b12
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x180]
or rcx, 1
xor eax, eax
lock cmpxchg qword [rsi + 0x880], rcx
mov eax, dword [0x141dcd490]
xor edx, edx
div dword [0x141dcd494]
imul eax, eax, 0xcd245c38
and eax, 0x306e4150
add eax, 0xb68ecaf0
cmp eax, 0x13b807be
jae 0x1400f6999
inc qword [rsi + 0x828]
xor eax, eax
nop dword [rax + rax]
mov rcx, qword [rsi + 0x828]
lea rdx, [rcx + 1]
mov qword [rsi + 0x828], rdx
test al, al
jne 0x1400f69a0
test cl, 0x7f
jne 0x1400f6b12
nop
mov eax, dword [0x141dcd498]
or eax, dword [0x141dcd49c]
imul rcx, rax, 0x20c2c6fd
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
imul eax, eax, 0x8b6ffa34
and eax, 0x9f6d1458
cmp eax, 0x9e05ec42
je 0x1400f69c0
mov r13, qword [rsi + 8]
mov eax, dword [0x141dcd4a0]
xor edx, edx
div dword [0x141dcd4a4]
xor eax, 0xac9995af
mov ecx, 0x97b1826f
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xe765f6d2
jbe 0x1400f6ab7
jmp 0x1400f6ad4
mov eax, dword [0x141dcd478]
and eax, dword [0x141dcd47c]
add eax, 0x697d89d
mov ecx, 0xb2e51b8f
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0xe04fe2c9
cmp ecx, 0x91e2276f
jae 0x1400f6a60
ud2
mov eax, dword [0x141dcd480]
or eax, dword [0x141dcd484]
imul eax, eax, 0x79884a15
add eax, 0x11bc5ee5
imul rax, rax, 0x50776499
shr rax, 0x3d
ud2
lea rcx, [r13 + 0x80]
sub rsp, 0x20
mov rdx, r15
call fcn.1400f5720
add rsp, 0x20
xor eax, eax
test al, al
je 0x1400f6af0
lea rcx, [r13 + 0x80]
sub rsp, 0x20
mov rdx, r15
call fcn.1400f5720
add rsp, 0x20
jmp 0x1400f6ab7
mov eax, dword [0x141dcd4a8]
and eax, dword [0x141dcd4ac]
xor eax, 0x388540f7
add eax, 0x601dda9
or eax, 0x2752e987
cmp eax, 0xa7ddd7e8
ja 0x1400f6af0
mov qword [rbp - 8], rdi
mov rax, qword [r15]
mov qword [rbp], rax
mov r15, qword [rsi + 8]
mov eax, 0x60
movups xmm0, xmmword [0x141dbb460]
movups xmm1, xmmword [0x141dbb450]
nop word cs:[rax + rax]
movups xmmword [r12 + rax - 0x50], xmm0
movups xmmword [r12 + rax - 0x60], xmm1
movups xmmword [r12 + rax - 0x40], xmm1
movups xmmword [r12 + rax - 0x30], xmm0
movups xmmword [r12 + rax - 0x20], xmm1
movups xmmword [r12 + rax - 0x10], xmm0
movups xmmword [r12 + rax], xmm1
movups xmmword [r12 + rax + 0x10], xmm0
sub rax, 0xffffffffffffff80
cmp rax, 0x860
jne 0x1400f6b40
mov eax, dword [0x141dcd4b0]
xor edx, edx
div dword [0x141dcd4b4]
add eax, 0x7175d027
or eax, 0xed00021
and eax, 0xefd34761
cmp eax, 0x567f75b7
jb 0x1400f6be9
mov eax, dword [0x141dcd4b8]
and eax, dword [0x141dcd4bc]
imul rax, rax, 0x7ed606d9
shr rax, 0x3e
or eax, 0x828691c6
mov edi, 0x999684e1
imul rdi, rax
shr rdi, 0x3e
sub rsp, 0x20
mov r8d, 0x800
mov rcx, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp edi, 0x25065694
jne 0x1400f6c04
sub rsp, 0x20
mov r8d, 0x800
mov rcx, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
jmp 0x1400f6b9f
lea r13, [rsi + 0x10]
mov eax, dword [0x141dcd4c0]
sub eax, dword [0x141dcd4c4]
imul eax, eax, 0x4807b08e
cmp eax, 0xb69cda8d
jne 0x1400f6c7b
sub rsp, 0x20
mov r8d, 0x808
mov rcx, rbx
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, r13
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [rsi + 0x810], 0
mfence
mov rax, qword [r15 + 0x180]
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
mov qword [rbp - 0x10], r14
mov r14, rbx
mov rbx, rsi
nop word cs:[rax + rax]
mov eax, dword [0x141dcd4c8]
xor edx, edx
div dword [0x141dcd4cc]
and eax, 0x26072072
xor eax, 0xf07e474c
imul rsi, rax, 0x216648af
shr rsi, 0x3a
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r14
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, r13
mov rdx, qword [rbp - 0x10]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [rbx + 0x810], 0
mfence
mov rdi, qword [r15 + 0x180]
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
cmp esi, 0x81789886
ja 0x1400f6c90
mov r12, rax
test rax, rax
je 0x1400f6f04
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r12
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r12 + 0x808], rdi
mov eax, dword [0x141dcd4e8]
or eax, dword [0x141dcd4ec]
imul eax, eax, 0x67bcf432
cmp eax, 0x9c3ad3d9
jne 0x1400f6d6c
mov qword [r12 + 0x810], 0
mov rdi, qword [rbp - 8]
mov eax, dword [0x141dcd4f0]
or eax, dword [0x141dcd4f4]
xor eax, 0x28f3b320
add eax, 0xba812c1e
and eax, 0x46869b76
mov qword [r12 + 0x810], 0
cmp eax, 0xfc35da7b
je 0x1400f6d70
xor edx, edx
test dl, dl
je 0x1400f6db0
mov rax, qword [r15 + 0x100]
nop dword [rax + rax]
mov eax, dword [0x141dcd4f8]
or eax, dword [0x141dcd4fc]
or eax, 0xa00b4083
xor eax, 0x920bc0c9
or eax, 0x5e42a30
mov rcx, qword [r15 + 0x100]
cmp eax, 0x86917c1f
ja 0x1400f6db0
mov r8, rcx
and r8, 0xfffffffffffffff8
mov eax, dword [0x141dcd500]
sub eax, dword [0x141dcd504]
and eax, 0xbeaefcf9
cmp eax, 0x87349169
jne 0x1400f6e00
mov rax, qword [r8 + 0x810]
nop
mov eax, dword [0x141dcd508]
imul eax, dword [0x141dcd50c]
add eax, 0x8030d9db
and eax, 0x5815b4d6
mov r9, qword [r8 + 0x810]
cmp eax, 0x515d9ea3
je 0x1400f6e00
nop word cs:[rax + rax]
mov eax, dword [0x141dcd510]
imul eax, dword [0x141dcd514]
xor eax, 0x5126847c
imul rax, rax, 0x4703b39
shr rax, 0x3a
cmp eax, 0x6873f6bc
ja 0x1400f6e30
cmp r9, 7
ja 0x1400f6eb0
xor eax, eax
lock cmpxchg qword [r8 + 0x810], r12
sete al
nop dword [rax + rax]
mov r8d, dword [0x141dcd518]
or r8d, dword [0x141dcd51c]
imul r9, r8, 0x2d768b95
shr r9, 0x20
sub r8d, r9d
shr r8d, 1
add r8d, r9d
shr r8d, 0x1f
or r8d, 0xf9c11262
cmp r8d, 0x26ee4aa
je 0x1400f6e70
test al, al
je 0x1400f6da0
jmp 0x1400f6ee3
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], r9
nop dword [rax]
mov eax, dword [0x141dcd520]
xor eax, dword [0x141dcd524]
imul eax, eax, 0x542db04e
add eax, 0x42fc8e84
cmp eax, 0xf3071ea0
jae 0x1400f6ec0
jmp 0x1400f6da0
mov eax, dword [0x141dcd528]
or eax, dword [0x141dcd52c]
add eax, 0x65d14c86
cmp eax, 0x7b731f61
jae 0x1400f6f85
jmp 0x1400f6fb4
mov eax, dword [0x141dcd4d0]
xor eax, dword [0x141dcd4d4]
add eax, 0x9dc3f92d
or eax, 0xc00101c8
and eax, 0xe86563d9
cmp eax, 0x554d989
je 0x1400f6f54
mov eax, dword [0x141dcd4d8]
xor edx, edx
div dword [0x141dcd4dc]
and eax, 0xd8edb474
shr eax, 1
imul rax, rax, 0x29ff52fd
shr rax, 0x3a
or eax, 0x8f9a5180
ud2
ud2
mov edx, dword [0x141dcd530]
or edx, dword [0x141dcd534]
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], r12
imul eax, edx, 0xf869f4df
xor eax, 0xc04040
and eax, 0x99c1424d
cmp eax, 0x94c14b33
jbe 0x1400f6fc2
mov rax, rcx
lock cmpxchg qword [r15 + 0x100], r12
jmp 0x1400f6f85
mov rcx, qword [rbp]
test rcx, rcx
je 0x1400f6ffc
mov rax, qword [rcx + 0x818]
lea rdx, [rax - 1]
mov qword [rcx + 0x818], rdx
cmp rax, 1
jne 0x1400f6ffc
mov qword [rcx + 0x880], 0
cmp qword [rcx + 0x820], 0
je 0x1400f70ba
mov qword [rbx + 0x820], 0
mov rax, qword [rbx + 8]
xor ecx, ecx
test cl, cl
je 0x1400f7019
lock or qword [rbx], 1
mov qword [rdi], rax
xor ecx, ecx
nop dword [rax + rax]
lock or qword [rbx], 1
mov qword [rdi], rax
test cl, cl
jne 0x1400f7020
mov ecx, dword [0x141dcd538]
sub ecx, dword [0x141dcd53c]
and ecx, 0xd67fa637
imul ecx, ecx, 0x3dfeb748
imul rcx, rcx, 0x5bc158e5
shr rcx, 0x3d
cmp ecx, 0x768776a4
jne 0x1400f7060
lock dec qword [rax]
nop dword [rax + rax]
mov edx, dword [0x141dcd540]
and edx, dword [0x141dcd544]
add edx, 0x71b14373
or edx, 0xffbea32e
lock dec qword [rax]
sete cl
cmp edx, 0x280741e7
jb 0x1400f7060
test cl, cl
je 0x1400f7149
mov eax, dword [0x141dcd548]
xor edx, edx
div dword [0x141dcd54c]
imul rax, rax, 0x44f2f89
shr rax, 0x37
and eax, 7
imul eax, eax, 0x445e03a8
cmp eax, 0x64424f19
jbe 0x1400f70d9
jmp 0x1400f7104
sub rsp, 0x20
call fcn.1400f67c0
add rsp, 0x20
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400f70d0
jmp 0x1400f6ffc
mov eax, dword [0x141dcd550]
and eax, dword [0x141dcd554]
mov ecx, 0xd1b17337
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x1924a365
or eax, 0x18ff9445
cmp eax, 0x7bbc8f64
jne 0x1400f7106
jmp 0x1400f70d9
sub rsp, 0x20
mov rcx, rdi
call fcn.140067260
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dcd558]
imul eax, dword [0x141dcd55c]
or eax, 0xe8094026
and eax, 0xed5d4326
imul rax, rax, 0x2751f957
shr rax, 0x3b
cmp eax, 0x1dbd64c9
ja 0x1400f7120
mov eax, 0xc8e5b0d9
nop
mov ecx, dword [0x141dcd560]
xor ecx, dword [0x141dcd564]
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0x65f719
imul ecx, ecx, 0x4f6452cc
cmp ecx, 0x76fd9d8f
je 0x1400f7150
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret