Function at 0x1400c25bf
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movapd xmmword [rsp + 0x60], xmm7
movdqa xmmword [rsp + 0x50], xmm6
mov byte [rsp + 0x2f], dl
mov qword [rsp + 0x40], rcx
mov esi, dword [rsp + 0xe0]
mov r12d, 0xd1b71759
imul r12, rsi
shr r12, 0x2d
imul eax, r12d, 0x2710
mov ecx, esi
sub ecx, eax
mov eax, 0xffff
and ecx, eax
shr ecx, 3
imul edi, ecx, 0x20c5
shr edi, 0x14
imul rcx, rsi, 0x10624dd3
shr rcx, 0x26
imul ecx, ecx, 0x3e8
mov edx, esi
sub edx, ecx
and edx, eax
shr edx, 2
imul ebp, edx, 0x147b
shr ebp, 0x11
imul rcx, rsi, 0x51eb851f
shr rcx, 0x25
imul ecx, ecx, 0x64
mov edx, esi
sub edx, ecx
imul r13d, edx, 0xcd
and r13d, eax
shr r13d, 0xb
mov eax, 0xcccccccd
imul rax, rsi
shr rax, 0x23
add eax, eax
lea eax, [rax + rax*4]
sub esi, eax
mov r10d, 0xff
and r12, r10
lea ecx, [r12 + rdi]
inc ecx
imul eax, ecx, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [rax + rax*4]
sub ecx, eax
mov qword [rsp + 0x38], rbp
lea eax, [rcx + rbp]
inc eax
imul edx, eax, 0xcd
shr edx, 0xa
and edx, 0x3e
lea edx, [rdx + rdx*4]
sub al, dl
movzx r11d, al
mov eax, r11d
add al, r13b
inc al
movzx eax, al
imul ebx, eax, 0xcd
shr ebx, 0xa
and ebx, 0xfffffffe
lea ebx, [rbx + rbx*4]
sub al, bl
movzx r15d, al
mov eax, r15d
mov qword [rsp + 0x30], rsi
add al, sil
inc al
movzx eax, al
imul ebx, eax, 0xcd
shr ebx, 0xa
and ebx, 0xfffffffe
lea ebx, [rbx + rbx*4]
sub al, bl
and r8b, 0xf
or r8b, 0xc0
movzx ebx, r8b
shl rbx, 0x20
mov ebp, r9d
and ebp, 0xfff
shl rbp, 0x14
or rbp, rbx
lea rdx, [0x140167d7c]
movzx esi, byte [r12 + rdx]
shl rsi, 0x10
or rsi, rbp
movzx ecx, cx
movzx r14d, byte [rcx + rdx]
shl r14, 0xc
or r14, rsi
movzx ecx, byte [r11 + rdx]
movzx esi, byte [r15 + rdx]
shl rcx, 8
or rcx, r14
shl rsi, 4
or rsi, rcx
movzx eax, al
movzx eax, byte [rax + rdx]
shr r9d, 4
movzx ecx, r9b
shl rcx, 0x18
or rcx, rbx
and r14d, 0xff0000
or r14, rcx
mov r15d, esi
and rsi, r10
and r15d, 0xff00
or rsi, rax
lea rcx, [r15 + r14]
or rcx, rsi
call fcn.140102448
shr rax, 0x18
mov qword [rsp + 0x48], rax
xor ecx, ecx
xor edx, edx
movzx eax, al
shl eax, 8
movzx edx, dx
xor edx, eax
mov eax, 8
mov ebp, edx
add ebp, edx
mov ebx, ebp
xor ebx, 0x1021
test dx, dx
mov edx, ebx
cmovns edx, ebp
dec eax
jne 0x1400c27a1
inc rcx
cmp rcx, 5
je 0x1400c27c8
mov al, byte [rsp + rcx + 0x48]
jmp 0x1400c2791
movzx r8d, di
movzx r10d, word [rsp + 0x38]
movzx r9d, r13b
mov eax, edx
shl eax, 4
shl r14, 0x10
shl r15d, 0x10
mov edi, r14d
or edi, r15d
shl esi, 0x10
or esi, edi
mov ebp, esi
shr ebp, 0x10
and ebp, 0xf
mov ebx, edx
and ebx, 0xf0
movzx eax, al
or eax, ebp
shr esi, 0x14
and esi, 0xf
or rsi, rbx
mov ebx, edx
shr ebx, 4
mov r11d, 0xf0
and ebx, r11d
shl rsi, 8
mov ebp, edi
shr ebp, 0x18
and ebp, 0xf
or ebp, ebx
shr edx, 8
and edx, r11d
shl rbp, 0x10
shr edi, 0x1c
or edi, edx
shl rdi, 0x18
lea rdx, [rax + r14]
or rdx, rsi
mov rcx, rdi
or rcx, rbp
or rcx, rdx
movq xmm0, rcx
pshufd xmm1, xmm0, 0x44
movapd xmm0, xmmword [0x140121f30]
movdqa xmm2, xmmword [0x1401200e0]
mov edx, 0x38
movapd xmm3, xmmword [0x140121f40]
movdqa xmm4, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqa xmm5, xmm1
psrlq xmm5, xmm2
pshufd xmm6, xmm2, 0xee
movdqa xmm7, xmm1
psrlq xmm7, xmm6
movsd xmm7, xmm5
andpd xmm7, xmm3
xorpd xmm0, xmm7
paddq xmm2, xmm4
add rdx, 0xfffffffffffffffe
jne 0x1400c287a
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
movq rdx, xmm1
or rdi, r14
or rbp, rdi
or rsi, rbp
or rax, rsi
add rax, rax
and rdi, 0xffffffff80000000
and ebp, 0x7f800000
add rbp, rbp
and esi, 0x7f8000
mov ecx, eax
and ecx, 0xff00
movzx eax, al
lea rbp, [rbp + rdi*2]
lea rbp, [rbp + rsi*2]
or rbp, rcx
or rbp, rax
or rbp, rdx
mov rax, rbp
shr rax, 0x20
or eax, 0xfe000000
mov rbx, qword [rsp + 0x40]
mov dword [rbx + 4], eax
mov dword [rbx + 8], ebp
cmp byte [rsp + 0x2f], 0
je 0x1400c2980
shl r9d, 0x1b
mov rax, qword [rsp + 0x30]
shl eax, 0x17
shl r8d, 0x12
shl r10d, 0xe
or r10d, r9d
shl r12d, 5
or r12d, eax
or r12d, r10d
or r12d, r8d
or r12d, 7
shl r12, 0x20
lea rdx, [r12 + 0x12000000]
mov ecx, 1
xor eax, eax
mov rbp, rax
mov rax, rdx
shr rax, cl
and eax, 1
xor rax, rbp
inc rcx
cmp rcx, 0x40
jne 0x1400c294f
or rbp, r12
shr rbp, 0x20
mov dword [rbx + 0xc], ebp
or eax, 0x12000000
mov dword [rbx + 0x10], eax
mov eax, 0x907f0082
jmp 0x1400c2985
mov eax, 0x907f0042
mov dword [rbx], eax
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret