Function at 0x18000c340
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x48
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov rax, rcx
cmp byte [0x180047aa9], 0
jne 0x18000c6ac
mov r9, qword [0x180046618]
movabs rcx, 0x1496ff2e4a083345
add rcx, r9
movabs rdx, 0x1496ff2e4a083360
add rdx, r9
movabs r10, 0x1496ff2e4a083375
add r10, r9
lea r8, [0x180047a94]
cmp r10, r8
jbe 0x18000c3bd
lea r10, [0x180047aa9]
cmp rcx, r10
jae 0x18000c3bd
xor r9d, r9d
jmp 0x18000c650
movd xmm6, dword [rdx]
movd xmm0, dword [rcx]
pcmpeqd xmm1, xmm1
movdqa xmm7, xmm0
pxor xmm7, xmm1
por xmm7, xmm6
pxor xmm6, xmm1
por xmm6, xmm0
movdqa xmm2, xmmword [0x18003a560]
movdqa xmm8, xmm7
pxor xmm8, xmm2
movdqa xmm0, xmmword [0x18003a570]
movdqa xmm3, xmm6
pand xmm3, xmm0
pand xmm6, xmm2
movdqa xmm4, xmmword [0x18003a580]
por xmm6, xmm4
pxor xmm6, xmm3
movdqa xmm3, xmmword [0x18003a590]
movdqa xmm5, xmm6
pxor xmm5, xmm3
pxor xmm7, xmm0
pand xmm7, xmm5
movdqa xmm5, xmmword [str.bbbb]
pxor xmm6, xmm5
pand xmm6, xmm8
por xmm6, xmm7
movd dword [0x180047a94], xmm6
movabs r10, 0x1496ff2e4a083364
movd xmm6, dword [r9 + r10]
movabs r10, 0x1496ff2e4a083349
movd xmm7, dword [r9 + r10]
movdqa xmm8, xmm7
pxor xmm8, xmm1
por xmm8, xmm6
pxor xmm6, xmm1
por xmm6, xmm7
movdqa xmm7, xmm8
pxor xmm7, xmm2
movdqa xmm9, xmm6
pand xmm9, xmm0
pand xmm6, xmm2
por xmm6, xmm4
pxor xmm6, xmm9
movdqa xmm9, xmm6
pxor xmm9, xmm3
pxor xmm8, xmm0
pand xmm8, xmm9
pxor xmm6, xmm5
pand xmm6, xmm7
por xmm6, xmm8
movd dword [0x180047a98], xmm6
movabs r10, 0x1496ff2e4a083368
movd xmm6, dword [r9 + r10]
movabs r10, 0x1496ff2e4a08334d
movd xmm7, dword [r9 + r10]
movdqa xmm8, xmm7
pxor xmm8, xmm1
por xmm8, xmm6
pxor xmm6, xmm1
por xmm6, xmm7
movdqa xmm7, xmm8
pxor xmm7, xmm2
movdqa xmm9, xmm6
pand xmm9, xmm0
pand xmm6, xmm2
por xmm6, xmm4
pxor xmm6, xmm9
movdqa xmm9, xmm6
pxor xmm9, xmm3
pxor xmm8, xmm0
pand xmm8, xmm9
pxor xmm6, xmm5
pand xmm6, xmm7
por xmm6, xmm8
movd dword [0x180047a9c], xmm6
movabs r10, 0x1496ff2e4a08336c
movd xmm6, dword [r9 + r10]
movabs r10, 0x1496ff2e4a083351
movd xmm7, dword [r9 + r10]
movdqa xmm8, xmm7
pxor xmm8, xmm1
por xmm8, xmm6
pxor xmm6, xmm1
por xmm6, xmm7
movdqa xmm7, xmm8
pxor xmm7, xmm2
movdqa xmm9, xmm6
pand xmm9, xmm0
pand xmm6, xmm2
por xmm6, xmm4
pxor xmm6, xmm9
movdqa xmm9, xmm6
pxor xmm9, xmm3
pxor xmm8, xmm0
pand xmm8, xmm9
pxor xmm6, xmm5
pand xmm6, xmm7
por xmm6, xmm8
movd dword [0x180047aa0], xmm6
movabs r10, 0x1496ff2e4a083370
movd xmm6, dword [r9 + r10]
movabs r10, 0x1496ff2e4a083355
movd xmm7, dword [r9 + r10]
movdqa xmm8, xmm7
pxor xmm8, xmm1
por xmm8, xmm6
pxor xmm6, xmm1
por xmm6, xmm7
movdqa xmm1, xmm8
pxor xmm1, xmm2
movdqa xmm7, xmm6
pand xmm7, xmm0
pand xmm6, xmm2
por xmm6, xmm4
pxor xmm6, xmm7
pxor xmm3, xmm6
pxor xmm8, xmm0
pand xmm8, xmm3
pxor xmm6, xmm5
pand xmm6, xmm1
por xmm6, xmm8
movd dword [0x180047aa4], xmm6
mov r9d, 0x14
nop word cs:[rax + rax]
movzx r10d, byte [rdx + r9]
movzx r11d, byte [rcx + r9]
mov ebx, r11d
not bl
or bl, r10b
not r10b
or r10b, r11b
mov r11d, ebx
xor r11b, 0x1d
mov esi, r10d
and sil, 0xe2
and r10b, 0x1d
or r10b, 0x80
xor r10b, sil
mov esi, r10d
xor sil, 0x9d
xor bl, 0xe2
and bl, sil
xor r10b, 0x62
and r10b, r11b
or r10b, bl
mov byte [r9 + r8], r10b
inc r9
cmp r9, 0x15
jne 0x18000c650
mov byte [0x180047aa9], 1
mov qword [rax + 0x10], 0
lea rcx, [0x180047a94]
mov qword [rax + 8], rcx
lea rcx, vtable.std::bad_array_new_length.0
mov qword [rax], rcx
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rsi
ret