Function at 0x18001dc60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp], xmm7
movdqa xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
test r8d, r8d
js 0x18001dcd0
mov eax, 0x15
mov ecx, 0xcccccccd
nop
mov edx, r8d
imul rdx, rcx
shr rdx, 0x23
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, r8d
sub r10d, r9d
or r10b, 0x30
mov byte [rbp + rax - 0x31], r10b
dec rax
cmp r8d, 9
mov r8d, edx
ja 0x18001dca0
jmp 0x18001dd13
neg r8d
mov eax, 0x14
mov ecx, 0xcccccccd
nop dword [rax]
mov edx, r8d
imul rdx, rcx
shr rdx, 0x23
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, r8d
sub r10d, r9d
or r10b, 0x30
mov byte [rbp + rax - 0x30], r10b
dec rax
cmp r8d, 9
mov r8d, edx
ja 0x18001dce0
mov byte [rbp + rax - 0x30], 0x2d
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x50], xmm0
cmp rax, 0x15
jne 0x18001dd35
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
jmp 0x18001dd4f
lea rdx, [rax + rbp]
add rdx, 0xffffffffffffffd0
mov r8d, 0x15
sub r8, rax
lea rcx, [rbp - 0x50]
call fcn.180013420
mov byte [rbp - 0x30], 0x2e
mov rax, qword [0x18004d980]
cmp byte [0x18004f0c1], 0
jne 0x18001deae
movabs rcx, 0x6e329ba4080cd9eb
add rcx, rax
movabs rdx, 0x6e329ba4080cda03
add rdx, rax
movabs r9, 0x6e329ba4080cda14
add r9, rax
lea r8, [0x18004f0b0]
cmp r9, r8
jbe 0x18001ddae
lea r9, [0x18004f0c1]
cmp rcx, r9
jae 0x18001ddae
xor r9d, r9d
jmp 0x18001de40
movdqu xmm1, xmmword [rdx]
movdqu xmm3, xmmword [rcx]
movdqa xmm0, xmmword [0x18003fc90]
por xmm0, xmm3
pcmpeqd xmm2, xmm2
movdqa xmm4, xmmword [str._b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b88888888888888883333333333333333]
movdqa xmm5, xmm3
pandn xmm5, xmm4
movdqa xmm6, xmmword [0x18003fca0]
pand xmm6, xmm3
movdqa xmm7, xmmword [0x18003f700]
pand xmm3, xmm7
pxor xmm3, xmmword [0x18003fa30]
por xmm3, xmm5
por xmm6, xmm3
pxor xmm6, xmm7
pxor xmm1, xmm4
movdqa xmm4, xmm3
por xmm4, xmm0
pand xmm6, xmm0
pandn xmm0, xmm3
por xmm0, xmm6
pxor xmm0, xmm4
movdqa xmm3, xmm1
por xmm3, xmm0
pxor xmm3, xmm2
pand xmm0, xmm1
por xmm0, xmm3
movdqa xmmword [0x18004f0b0], xmm0
mov r9d, 0x10
movzx r10d, byte [rdx + r9]
movzx r11d, byte [rcx + r9]
mov ebx, r11d
not bl
mov r14d, r11d
or r14b, 0xf7
and bl, 8
mov r15d, r11d
and r15b, 0xe7
and r11b, 0x18
xor r11b, 0x10
or r11b, bl
or r15b, r11b
xor r15b, r11b
xor r10b, 8
mov ebx, r11d
or bl, r14b
xor r15b, 0x18
and r15b, r14b
xor bl, r11b
xor bl, r15b
mov r11d, ebx
not r11b
and bl, r10b
xor r10b, r11b
and r10b, r11b
or r10b, bl
mov byte [r9 + r8], r10b
inc r9
cmp r9, 0x11
jne 0x18001de40
mov byte [0x18004f0c1], 1
cmp byte [0x18004f0ae], 0
jne 0x18001df21
movabs rcx, 0x6e329ba4080cd9bf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x6e329ba4080cd9d7
xor cl, byte [rax + rdx]
mov byte [0x18004f0ab], cl
movabs rcx, 0x6e329ba4080cd9c0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x6e329ba4080cd9d8
xor cl, byte [rax + rdx]
mov byte [0x18004f0ac], cl
movabs rcx, 0x6e329ba4080cd9c1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x6e329ba4080cd9d9
xor cl, byte [rax + rdx]
mov byte [0x18004f0ad], cl
mov byte [0x18004f0ae], 1
movabs rax, 0x6e329ba4080cc68b
mov rdx, qword [0x18004d988]
add rdx, rax
add rax, qword [0x18004d990]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x30]
mov rcx, rsi
mov r8, rdi
call fcn.18001e140
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x18001df94
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001df8f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18001dfaf
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180039c44
mov rax, rsi
movaps xmm6, xmmword [rbp - 0x10]
movaps xmm7, xmmword [rbp]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3