Function at 0x1400bc510
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400bc530
mov rsi, qword [rcx + 0x18]
movzx r8d, word [rsi + 0x3d2]
mov rdx, qword [rcx + 0x28]
movzx eax, word [rdx + 0x3d2]
mov qword [rsp + 0x28], rax
lea r9, [r8 + rax]
inc r9
cmp r9, 0xc
jae 0x1400bc5e3
mov qword [rsp + 0x30], rdx
mov r15, qword [rcx]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x98], rax
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xa0], rax
mov r12, r8
lea r13, [r8 + 1]
nop dword [rax + rax]
mov eax, dword [0x141dd3e20]
xor edx, edx
div dword [0x141dd3e24]
and eax, 0x7be52c
add eax, 0x5bbf2f9f
or eax, 0xd682c6a3
cmp eax, 0xbe65b060
jb 0x1400bc590
mov eax, dword [0x141dd3e28]
xor eax, dword [0x141dd3e2c]
and eax, 0xc2bf534e
add eax, 0xd3a003ba
cmp eax, 0x114ce3e0
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x38], rcx
mov rbp, r9
jae 0x1400bc656
jmp 0x1400bc754
mov eax, dword [0x141dd3e10]
imul eax, dword [0x141dd3e14]
or eax, 0x2b7b1781
add eax, 0xb7d5e6cb
imul rax, rax, 0x459fb355
shr rax, 0x3b
cmp eax, 0x6533769c
jbe 0x1400bc610
ud2
mov eax, dword [0x141dd3e18]
imul eax, dword [0x141dd3e1c]
add eax, 0x33418c60
imul rcx, rax, 0x3fb64287
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
ud2
mov ebx, dword [0x141dd3e30]
sub ebx, dword [0x141dd3e34]
add ebx, 0xf8790844
or ebx, 0xfd93c333
movzx r14d, word [r15 + 0x3d2]
mov rdi, qword [rcx + 0x10]
mov word [rsi + 0x3d2], r9w
imul rax, rdi, 0x38
lea rcx, [r15 + rax]
add rcx, 0x168
mov rdx, qword [r15 + rax + 0x198]
mov qword [rsp + 0x70], rdx
movups xmm0, xmmword [r15 + rax + 0x168]
movups xmm1, xmmword [r15 + rax + 0x178]
movups xmm2, xmmword [r15 + rax + 0x188]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [r15 + rax]
add rdx, 0x1a0
mov r12, rdi
not r12
add r12, r14
imul r8, r12, 0x38
call sub.VCRUNTIME140.dll_memmove
imul rax, qword [rsp + 0x20], 0x38
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + rax + 0x168], xmm0
movups xmmword [rsi + rax + 0x178], xmm1
movups xmmword [rsi + rax + 0x188], xmm2
mov rcx, qword [rsp + 0x70]
mov qword [rsi + rax + 0x198], rcx
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x168]
imul rax, r13, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
imul r8, qword [rsp + 0x28], 0x38
call sub.VCRUNTIME140.dll_memcpy
mov r9, rbp
cmp ebx, 0x25eef80a
jae 0x1400bc839
movzx eax, word [r15 + 0x3d2]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rcx + 0x10]
mov word [rsi + 0x3d2], r9w
imul rdx, r8, 0x38
lea rcx, [r15 + rdx]
add rcx, 0x168
mov r9, qword [r15 + rdx + 0x198]
mov qword [rsp + 0x70], r9
movups xmm0, xmmword [r15 + rdx + 0x168]
movups xmm1, xmmword [r15 + rdx + 0x178]
movups xmm2, xmmword [r15 + rdx + 0x188]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
add rdx, r15
add rdx, 0x1a0
not r8
add r8, rax
imul r8, r8, 0x38
call sub.VCRUNTIME140.dll_memmove
imul rax, qword [rsp + 0x20], 0x38
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + rax + 0x168], xmm0
movups xmmword [rsi + rax + 0x178], xmm1
movups xmmword [rsi + rax + 0x188], xmm2
mov rcx, qword [rsp + 0x70]
mov qword [rsi + rax + 0x198], rcx
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x168]
imul rax, r13, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
imul r8, qword [rsp + 0x28], 0x38
call sub.VCRUNTIME140.dll_memcpy
mov r9, rbp
mov rcx, qword [rsp + 0x38]
jmp 0x1400bc656
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x80], r9
lea rbx, [rdi + 1]
mov eax, dword [0x141dd3e38]
xor eax, dword [0x141dd3e3c]
imul eax, eax, 0x7f4bcec7
xor eax, 0x3adb345
and eax, 0x9bedf755
cmp eax, 0xf3184aeb
mov rbp, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov rdx, rdi
jbe 0x1400bc915
mov rax, rdx
shl rax, 5
lea rcx, [r15 + rax]
movups xmm0, xmmword [r15 + rax]
movups xmm1, xmmword [r15 + rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rdi, rdx
mov rdx, rbx
shl rdx, 5
add rdx, r15
mov r8, r12
shl r8, 5
call sub.VCRUNTIME140.dll_memmove
mov rax, r14
shl rax, 5
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rsi + rax], xmm0
movups xmmword [rsi + rax + 0x10], xmm1
mov rcx, r13
shl rcx, 5
add rcx, rsi
mov r8, rbp
shl r8, 5
mov rdx, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r15 + rbx*8]
add rcx, 0x3d8
lea rdx, [r15 + rdi*8]
add rdx, 0x3e8
lea r8, [r12*8]
call sub.VCRUNTIME140.dll_memmove
mov rdx, rdi
mov rdi, rdx
shl rdi, 5
lea rax, [r15 + rdi]
mov qword [rsp + 0x38], rax
mov rax, rbx
shl rax, 5
add rax, r15
mov qword [rsp + 0xd0], rax
mov rax, r12
shl rax, 5
mov qword [rsp + 0xc8], rax
shl r14, 5
mov rax, r13
shl rax, 5
add rax, rsi
mov qword [rsp + 0x20], rax
shl rbp, 5
mov qword [rsp + 0xc0], rbp
lea rax, [r15 + rbx*8]
add rax, 0x3d8
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x88], rdx
lea rax, [r15 + rdx*8]
add rax, 0x3e8
mov qword [rsp + 0xb0], rax
lea rax, [r12*8]
mov qword [rsp + 0xa8], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd3e40]
xor eax, dword [0x141dd3e44]
imul ebp, eax, 0x5cb80d7b
add ebp, 0xfcf94db7
and ebp, 0xc6df6fde
movups xmm0, xmmword [r15 + rdi]
movups xmm1, xmmword [r15 + rdi + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
call sub.VCRUNTIME140.dll_memmove
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rsi + r14], xmm0
movups xmmword [rsi + r14 + 0x10], xmm1
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0xc0]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa8]
call sub.VCRUNTIME140.dll_memmove
cmp ebp, 0x11d1e47c
jb 0x1400bc9b0
mov r11, qword [rsp + 0x90]
cmp rbx, r11
mov rbp, qword [rsp + 0x30]
jae 0x1400bcafc
mov rax, r11
mov rdx, qword [rsp + 0x88]
sub rax, rdx
add rax, 0xfffffffffffffffe
nop word [rax + rax]
mov ecx, dword [0x141dd3e48]
xor ecx, dword [0x141dd3e4c]
or ecx, 0x1ffa7d18
add ecx, 0x22e8fc24
or ecx, 0x58748070
cmp ecx, 0x528b545f
jb 0x1400bca80
test r12b, 3
je 0x1400bcaf2
lea rcx, [r15 + rdx*8]
add rcx, 0x3e0
not dl
add dl, r11b
movzx edx, dl
and edx, 3
xor r8d, r8d
nop word cs:[rax + rax]
mov r9, qword [rcx + r8*8]
mov qword [r9 + 0x160], r15
lea r10d, [rbx + r8]
mov word [r9 + 0x3d0], r10w
inc r8
cmp rdx, r8
jne 0x1400bcad0
add rbx, r8
cmp rax, 3
jae 0x1400bcd6d
movzx eax, word [r15 + 0x3d2]
mov ecx, dword [0x141dd3e60]
imul ecx, dword [0x141dd3e64]
imul ecx, ecx, 0x56cc24bd
imul rcx, rcx, 0x1cb367f5
shr rcx, 0x39
xor ecx, 0x369729e6
cmp ecx, 0x9bd72eb5
jbe 0x1400bcb3b
lea ecx, [rax - 1]
mov word [r15 + 0x3d2], cx
dec eax
nop dword [rax]
mov ecx, dword [0x141dd3e68]
add ecx, dword [0x141dd3e6c]
xor ecx, 0x584ad58d
imul rdx, rcx, 0x1f21a7c5
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
mov word [r15 + 0x3d2], ax
cmp ecx, 0xc316b8ee
je 0x1400bcb40
cmp qword [rsp + 0x98], 2
jb 0x1400bcd2e
lea r14, [rsi + r13*8]
add r14, 0x3d8
lea r15, [rbp + 0x3d8]
mov rax, qword [rsp + 0x28]
lea r12, [rax*8]
mov eax, dword [0x141dd3e70]
mov ecx, dword [0x141dd3e74]
add eax, ecx
add eax, 0x4faf5e7b
xor eax, 0xda9af54e
cmp eax, 0x6e665166
jae 0x1400bcbd3
lea r8, [r12 + 8]
mov rcx, r14
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add r12, 8
nop word [rax + rax]
mov eax, dword [0x141dd3e78]
add eax, dword [0x141dd3e7c]
imul eax, eax, 0xd9595f4
imul rdi, rax, 0x218efc55
shr rdi, 0x3b
mov rcx, r14
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp edi, 0xbe2a5dce
ja 0x1400bcbe0
mov r10, qword [rsp + 0x28]
lea ecx, [r10 + 1]
and ecx, 3
je 0x1400bce7c
xor r8d, r8d
mov r9, qword [rsp + 0x80]
mov eax, dword [0x141dd3e80]
or eax, dword [0x141dd3e84]
add eax, 0x99818dce
xor eax, 0x50050314
and eax, 0xfc650334
cmp eax, 0xd547c63e
jbe 0x1400bcc70
mov rax, qword [rsi + r13*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r13w
nop dword [rax]
mov eax, dword [0x141dd3e88]
xor edx, edx
div dword [0x141dd3e8c]
or eax, 0xb20d3514
add eax, 0xd4d73fe8
mov rdx, qword [rsi + r13*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r13w
cmp eax, 0xb15901c0
ja 0x1400bcc70
inc r13
inc r8
cmp r8, rcx
jne 0x1400bcc30
cmp r10w, 3
jb 0x1400bcd2e
nop dword [rax]
mov rax, qword [rsi + r13*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r13w
mov rax, qword [rsi + r13*8 + 0x3e0]
mov qword [rax + 0x160], rsi
lea ecx, [r13 + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [rsi + r13*8 + 0x3e8]
mov qword [rax + 0x160], rsi
lea ecx, [r13 + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [rsi + r13*8 + 0x3f0]
mov qword [rax + 0x160], rsi
lea rcx, [r13 + 3]
mov word [rax + 0x3d0], cx
add r13, 4
cmp rcx, r9
jne 0x1400bccc0
mov eax, dword [0x141dd3e90]
imul eax, dword [0x141dd3e94]
or eax, 0x85ac134
shr eax, 1
mov ecx, 0x88a25a79
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xaa8f19a0
jne 0x1400bce94
jmp 0x1400bcebe
add rbx, 4
cmp r11, rbx
je 0x1400bcafc
mov eax, dword [0x141dd3e50]
xor eax, dword [0x141dd3e54]
xor eax, 0xa6809447
add eax, 0xde367d3f
cmp eax, 0xbfbe4f68
ja 0x1400bce16
nop
mov eax, dword [0x141dd3e58]
and eax, dword [0x141dd3e5c]
imul eax, eax, 0x9fa64f4a
add eax, 0xacbc3cc0
lea ecx, [rbx + 1]
lea edx, [rbx + 2]
mov r8, qword [r15 + rbx*8 + 0x3d8]
mov qword [r8 + 0x160], r15
mov word [r8 + 0x3d0], bx
mov r8, qword [r15 + rbx*8 + 0x3e0]
mov qword [r8 + 0x160], r15
mov word [r8 + 0x3d0], cx
lea ecx, [rbx + 3]
mov r8, qword [r15 + rbx*8 + 0x3e8]
mov qword [r8 + 0x160], r15
mov word [r8 + 0x3d0], dx
mov rdx, qword [r15 + rbx*8 + 0x3f0]
mov qword [rdx + 0x160], r15
mov word [rdx + 0x3d0], cx
cmp eax, 0x10cbaca5
jae 0x1400bcd60
mov rax, qword [r15 + rbx*8 + 0x3d8]
mov qword [rax + 0x160], r15
mov word [rax + 0x3d0], bx
mov rax, qword [r15 + rbx*8 + 0x3e0]
mov qword [rax + 0x160], r15
lea ecx, [rbx + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [r15 + rbx*8 + 0x3e8]
mov qword [rax + 0x160], r15
lea ecx, [rbx + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [r15 + rbx*8 + 0x3f0]
mov qword [rax + 0x160], r15
lea ecx, [rbx + 3]
mov word [rax + 0x3d0], cx
jmp 0x1400bcd90
mov r9, qword [rsp + 0x80]
cmp r10w, 3
jae 0x1400bccc0
jmp 0x1400bcd2e
mov eax, dword [0x141dd3e98]
and eax, dword [0x141dd3e9c]
and eax, 0x5c861478
imul eax, eax, 0x7a7824d9
add eax, 0xb908aeaf
mov rcx, qword [0x141dda6a0]
cmp eax, 0x8c3c9f66
jbe 0x1400bcec7
mov rax, qword [0x141dda6a0]
jmp 0x1400bce94
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, rsi
mov rdx, qword [rsp + 0xa0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret