Function at 0x1400c07f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], rcx
mov eax, dword [str.Fac5]
mov ecx, dword [0x141dd8304]
add eax, ecx
add eax, 0xf8b78bce
imul rax, rax, 0x20c8fa89
shr rax, 0x3d
cmp eax, 0x2888d76b
jbe 0x1400c0840
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
nop dword [rax + rax]
mov eax, dword [0x141dd8308]
or eax, dword [0x141dd830c]
imul ecx, eax, 0x954e78d5
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
cmp ecx, 0x13bf0d24
je 0x1400c0840
mov eax, dword [0x141dd8310]
or eax, dword [0x141dd8314]
xor eax, 0x81890860
or eax, 0x7634d61d
imul eax, eax, 0x775bb0b2
cmp eax, 0x8c77c2e6
jne 0x1400c08b0
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
nop word [rax + rax]
mov r8d, dword [0x141dd8318]
imul r8d, dword [0x141dd831c]
and r8d, 0x48001000
add r8d, 0x632651ac
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rax, rsp
cmp r8d, 0x3540d604
jb 0x1400c08b0
mov r8, qword [rbp]
mov r13, qword [r8 + 0x18]
movzx ebx, word [r13 + 0x3d2]
lea r12, [rbx + rdx]
nop word [rax + rax]
mov r8d, dword [0x141dd8320]
or r8d, dword [0x141dd8324]
and r8d, 0x29668e4f
add r8d, 0xf5b8efac
or r8d, 0xa4f17a3e
cmp r8d, 0xbaec1c6a
ja 0x1400c0910
cmp r12, 0xc
jae 0x1400c09f9
mov r8, qword [rbp]
mov rdi, qword [r8 + 0x28]
movzx r10d, word [rdi + 0x3d2]
nop word cs:[rax + rax]
mov r8d, dword [0x141dd8330]
xor r8d, dword [str.eMa]
and r8d, 0x250a1a10
add r8d, 0xa2accbb2
cmp r8d, 0x8b7dc680
jb 0x1400c0960
nop word cs:[rax + rax]
mov r8d, dword [0x141dd8338]
sub r8d, dword [0x141dd833c]
or r8d, 0x73e5bb30
add r8d, 0x6e908aa3
imul r8, r8, 0x7b186faf
shr r8, 0x3e
cmp r8d, 0xa47bc05f
je 0x1400c0990
mov r11, r10
sub r11, rdx
jb 0x1400c0a1d
mov r8d, dword [0x141dd8340]
or r8d, dword [0x141dd8344]
and r8d, 0xe96759d7
xor r8d, 0x9bedc1de
add r8d, 0x94c8e049
cmp r8d, 0x5256c9a6
jbe 0x1400c0a1f
jmp 0x1400c0a7c
ud2
ud2
mov r8d, dword [0x141dd8348]
xor r8d, dword [0x141dd834c]
imul r9, r8, 0x12ab6a1b
shr r9, 0x3c
add r9d, 0xacee63f7
xor r9d, 0xa67a2030
lea r8, [rdx - 1]
mov r14, r8
shl r14, 5
mov word [r13 + 0x3d2], r12w
mov word [rdi + 0x3d2], r11w
movups xmm0, xmmword [rdi + r14]
movups xmm1, xmmword [rdi + r14 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp r9d, 0xc7c82256
jbe 0x1400c0aab
mov word [r13 + 0x3d2], r12w
mov word [rdi + 0x3d2], r11w
mov r8, rdx
shl r8, 5
movups xmm0, xmmword [r8 + rdi - 0x20]
movups xmm1, xmmword [r8 + rdi - 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
jmp 0x1400c0a1f
mov qword [rbp - 8], r11
mov qword [rbp - 0x30], r10
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x50], r8
imul rdx, r8, 0x38
mov qword [rbp - 0x20], rdx
lea r9, [rdi + rdx]
add r9, 0x168
mov rdx, qword [rbp]
mov r10, qword [rdx]
mov r11d, dword [0x141dd8350]
or r11d, dword [0x141dd8354]
and r11d, 0xf1f69c55
xor r11d, 0x5bacc513
imul r11d, r11d, 0xf48f59b1
cmp r11d, 0x5bc2b70d
jbe 0x1400c0bf0
mov r8, qword [rdx + 0x10]
imul r11, r8, 0x38
shl r8, 5
mov rsi, qword [r10 + r11 + 0x198]
mov qword [rcx + 0x30], rsi
movups xmm0, xmmword [r10 + r11 + 0x168]
movups xmm1, xmmword [r10 + r11 + 0x178]
movups xmm2, xmmword [r10 + r11 + 0x188]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rsi, qword [r9 + 0x30]
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [r10 + r11 + 0x168], xmm0
mov qword [r10 + r11 + 0x198], rsi
movups xmmword [r10 + r11 + 0x188], xmm2
movups xmmword [r10 + r11 + 0x178], xmm1
movups xmm0, xmmword [r10 + r8]
movups xmm1, xmmword [r10 + r8 + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r10 + r8 + 0x10], xmm1
movups xmmword [r10 + r8], xmm0
imul r8, rbx, 0x38
mov r11, qword [rcx + 0x30]
mov qword [r13 + r8 + 0x198], r11
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r13 + r8 + 0x188], xmm2
movups xmmword [r13 + r8 + 0x178], xmm1
movups xmmword [r13 + r8 + 0x168], xmm0
mov r8, rbx
shl r8, 5
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r13 + r8], xmm0
movups xmmword [r13 + r8 + 0x10], xmm1
mov qword [rbp - 0x40], rdi
lea rdx, [rdi + 0x168]
mov qword [rbp - 0x18], rdx
lea rdx, [r13 + 0x168]
mov qword [rbp - 0x10], rdx
imul r11, rbx, 0x38
mov rdx, rbx
shl rdx, 5
inc rbx
mov qword [rbp - 0x28], r12
sub r12, rbx
mov qword [rbp - 0x48], r12
nop word cs:[rax + rax]
mov esi, dword [0x141dd8358]
add esi, dword [0x141dd835c]
mov r8, qword [rbp]
mov r12, qword [r8 + 0x10]
imul r8, r12, 0x38
mov rdi, qword [r10 + r8 + 0x198]
mov qword [rcx + 0x30], rdi
movups xmm0, xmmword [r10 + r8 + 0x168]
movups xmm1, xmmword [r10 + r8 + 0x178]
movups xmm2, xmmword [r10 + r8 + 0x188]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rdi, qword [r9 + 0x30]
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
mov qword [r10 + r8 + 0x198], rdi
and esi, 0x75c5904d
imul esi, esi, 0x257d4dbb
add esi, 0x285750dd
shl r12, 5
movups xmmword [r10 + r8 + 0x168], xmm0
movups xmmword [r10 + r8 + 0x188], xmm2
movups xmmword [r10 + r8 + 0x178], xmm1
movups xmm0, xmmword [r10 + r12]
movups xmm1, xmmword [r10 + r12 + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r10 + r12 + 0x10], xmm1
movups xmmword [r10 + r12], xmm0
mov r8, qword [rcx + 0x30]
mov qword [r13 + r11 + 0x198], r8
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r13 + r11 + 0x188], xmm2
movups xmmword [r13 + r11 + 0x178], xmm1
movups xmmword [r13 + r11 + 0x168], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r13 + rdx + 0x10], xmm1
movups xmmword [r13 + rdx], xmm0
cmp esi, 0xac5c10ca
ja 0x1400c0c30
mov rax, qword [rbp - 0x48]
cmp qword [rbp - 0x50], rax
jne 0x1400c0d79
mov eax, dword [0x141dd8368]
or eax, dword [0x141dd836c]
imul eax, eax, 0x27b3242e
xor eax, 0x72180400
and eax, 0xf25e4490
cmp eax, 0x3b14c005
mov rdi, qword [rbp - 0x20]
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
jae 0x1400c0da8
jmp 0x1400c0deb
ud2
mov eax, dword [0x141dd8370]
add eax, dword [0x141dd8374]
xor eax, 0xf9e66c33
mov esi, 0xf72aec8b
imul rsi, rax
shr rsi, 0x3e
and esi, 0xfffffffe
imul rcx, rbx, 0x38
add rcx, r12
sub rsp, 0x20
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp esi, 0x17bd707c
jne 0x1400c0e07
imul rcx, rbx, 0x38
add rcx, r12
sub rsp, 0x20
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
jmp 0x1400c0da8
mov rcx, rbx
shl rcx, 5
add rcx, r13
sub rsp, 0x20
mov rsi, qword [rbp - 0x40]
mov rdx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdi, qword [rbp - 0x38]
imul rdx, rdi, 0x38
add rdx, r15
mov r14, qword [rbp - 8]
imul r8, r14, 0x38
sub rsp, 0x20
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rdx, rdi
shl rdx, 5
add rdx, rsi
mov r8, r14
shl r8, 5
sub rsp, 0x20
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
xor eax, eax
mov r15, qword [rbp - 0x30]
nop word cs:[rax + rax]
test al, al
jne 0x1400c0e80
mov rcx, qword [rbp]
mov rax, qword [rcx + 0x30]
cmp qword [rcx + 0x20], 0
mov r12, qword [rbp - 0x28]
je 0x1400c104d
test rax, rax
je 0x1400c0a1d
lea r14, [rsi + 0x3d8]
lea rcx, [rbx*8 + 0x3d8]
add rcx, r13
lea r8, [rdi*8]
sub rsp, 0x20
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea rdx, [rsi + rdi*8]
add rdx, 0x3d8
mov rax, qword [rbp - 8]
lea r8, [rax*8 + 8]
sub rsp, 0x20
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
test rdi, rdi
je 0x1400c1019
nop
mov eax, dword [0x141dd8380]
xor eax, dword [0x141dd8384]
add eax, 0x4e46c979
shr eax, 1
imul rax, rax, 0xa4e95db
shr rax, 0x37
and eax, 2
cmp eax, 0x47c780ee
ja 0x1400c0f00
mov ecx, edi
and ecx, 3
nop dword [rax]
mov eax, dword [0x141dd8388]
imul eax, dword [0x141dd838c]
and eax, 0x16206499
xor eax, 0x34046489
or eax, 0xc95b9b46
cmp eax, 0xb2ba1086
jb 0x1400c0f30
test rcx, rcx
je 0x1400c0ff0
xor r8d, r8d
nop
mov eax, dword [0x141dd8390]
and eax, dword [0x141dd8394]
add eax, 0xc1e90154
xor eax, 0x20165aae
cmp eax, 0x42fe4c45
jae 0x1400c0fa0
mov rax, qword [r13 + rbx*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], bx
nop word cs:[rax + rax]
mov eax, dword [0x141dd8398]
xor edx, edx
div dword [0x141dd839c]
add eax, 0xfb05c3f1
xor eax, 0x6025e53e
add eax, 0xd43d6825
mov rdx, qword [r13 + rbx*8 + 0x3d8]
mov qword [rdx + 0x160], r13
mov word [rdx + 0x3d0], bx
cmp eax, 0xacd112bf
ja 0x1400c0fa0
inc rbx
inc r8
cmp r8, rcx
jne 0x1400c0f60
nop dword [rax]
mov eax, dword [0x141dd83a0]
add eax, dword [0x141dd83a4]
and eax, 0x498bf8a
imul eax, eax, 0xecad73f5
and eax, 0x1fac395a
cmp eax, 0x7351d2d4
je 0x1400c0ff0
cmp rdi, 4
jae 0x1400c105b
cmp qword [rbp - 8], 0xffffffffffffffff
je 0x1400c129f
inc r15
sub r15, rdi
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400c1030
mov ecx, r15d
and ecx, 3
cmp qword [rbp - 8], 3
jae 0x1400c117c
xor r8d, r8d
jmp 0x1400c1250
test rax, rax
je 0x1400c129f
jmp 0x1400c0a1d
inc r12
jmp 0x1400c1069
add rbx, 4
cmp r12, rbx
je 0x1400c1019
mov eax, dword [0x141dd83a8]
or eax, dword [0x141dd83ac]
or eax, 0x62ff2518
and eax, 0x63ff2558
cmp eax, 0xe76ff6a9
ja 0x1400c1116
nop word [rax + rax]
mov eax, dword [0x141dd83b0]
and eax, dword [0x141dd83b4]
or eax, 0xe0507842
imul eax, eax, 0x1a8701dd
lea ecx, [rbx + 1]
lea edx, [rbx + 2]
mov r8, qword [r13 + rbx*8 + 0x3d8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], bx
mov r8, qword [r13 + rbx*8 + 0x3e0]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], cx
lea ecx, [rbx + 3]
mov r8, qword [r13 + rbx*8 + 0x3e8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], dx
mov rdx, qword [r13 + rbx*8 + 0x3f0]
mov qword [rdx + 0x160], r13
mov word [rdx + 0x3d0], cx
cmp eax, 0x79f62161
jbe 0x1400c1060
mov rax, qword [r13 + rbx*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], bx
mov rax, qword [r13 + rbx*8 + 0x3e0]
mov qword [rax + 0x160], r13
lea ecx, [rbx + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + rbx*8 + 0x3e8]
mov qword [rax + 0x160], r13
lea ecx, [rbx + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + rbx*8 + 0x3f0]
mov qword [rax + 0x160], r13
lea ecx, [rbx + 3]
mov word [rax + 0x3d0], cx
jmp 0x1400c1090
and r15, 0xfffffffffffffffc
mov eax, dword [0x141dd83b8]
add eax, dword [0x141dd83bc]
xor eax, 0x201412
or eax, 0x9ecce0cd
and eax, 0x9eedfcdf
cmp eax, 0x97238f4b
jb 0x1400c1180
mov r8d, 0xd218a389
nop dword [rax + rax]
mov eax, dword [0x141dd83c0]
xor edx, edx
div dword [0x141dd83c4]
imul rax, r8
shr rax, 0x3e
cmp eax, 0xfc9780f8
je 0x1400c11b0
xor r8d, r8d
mov rax, qword [rsi + r8*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov edx, r8d
mov word [rax + 0x3d0], r8w
mov rax, qword [rsi + r8*8 + 0x3e0]
mov qword [rax + 0x160], rsi
lea r9d, [rdx + 1]
mov word [rax + 0x3d0], r9w
mov rax, qword [rsi + r8*8 + 0x3e8]
mov qword [rax + 0x160], rsi
lea r9d, [rdx + 2]
mov word [rax + 0x3d0], r9w
mov rax, qword [rsi + r8*8 + 0x3f0]
add r8, 4
mov qword [rax + 0x160], rsi
add edx, 3
mov word [rax + 0x3d0], dx
cmp r8, r15
jne 0x1400c11d0
nop word cs:[rax + rax]
mov eax, dword [0x141dd8378]
xor edx, edx
div dword [0x141dd837c]
xor eax, 0x19c02204
and eax, 0xddc53385
add eax, 0x64645321
cmp eax, 0x672cc75c
jb 0x1400c1250
test rcx, rcx
je 0x1400c129f
nop dword [rax]
mov rax, qword [rsi + r8*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r8w
inc r8
dec rcx
jne 0x1400c1280
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret