Function at 0x18002c140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 8]
xor r8d, r8d
movabs rbx, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rax, rcx
mul rbx
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r9d, ecx
sub r9d, eax
or r9b, 0x30
mov byte [rbp + r8 + 4], r9b
dec r8
cmp rcx, 9
mov rcx, rdx
ja 0x18002c180
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r8, r8
je 0x18002c1d1
lea rdx, [r8 + rbp]
add rdx, 5
neg r8
lea rcx, [rbp - 0x30]
call fcn.1800118c0
jmp 0x18002c1dd
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rcx, qword [rdi + 0x10]
inc rcx
xor r8d, r8d
nop word [rax + rax]
mov rax, rcx
mul rbx
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r9d, ecx
sub r9d, eax
or r9b, 0x30
mov byte [rbp + r8 - 0x3c], r9b
dec r8
cmp rcx, 9
mov rcx, rdx
ja 0x18002c1f0
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
test r8, r8
je 0x18002c241
lea rdx, [r8 + rbp]
add rdx, 0xffffffffffffffc5
neg r8
lea rcx, [rbp - 0x10]
call fcn.1800118c0
jmp 0x18002c24d
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rax, qword [0x18004ae50]
cmp byte [0x18004ce7f], 0
jne 0x18002c3b2
movabs rcx, 0xf4b997a52f3d5ec0
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5edf
xor cl, byte [rax + rdx]
mov byte [0x18004ce75], cl
movabs rcx, 0xf4b997a52f3d5ec1
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee0
xor cl, byte [rax + rdx]
mov byte [0x18004ce76], cl
movabs rcx, 0xf4b997a52f3d5ec2
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee1
xor cl, byte [rax + rdx]
mov byte [0x18004ce77], cl
movabs rcx, 0xf4b997a52f3d5ec3
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee2
xor cl, byte [rax + rdx]
mov byte [0x18004ce78], cl
movabs rcx, 0xf4b997a52f3d5ec4
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee3
xor cl, byte [rax + rdx]
mov byte [0x18004ce79], cl
movabs rcx, 0xf4b997a52f3d5ec5
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee4
xor cl, byte [rax + rdx]
mov byte [0x18004ce7a], cl
movabs rcx, 0xf4b997a52f3d5ec6
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee5
xor cl, byte [rax + rdx]
mov byte [0x18004ce7b], cl
movabs rcx, 0xf4b997a52f3d5ec7
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee6
xor cl, byte [rax + rdx]
mov byte [0x18004ce7c], cl
movabs rcx, 0xf4b997a52f3d5ec8
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee7
xor cl, byte [rax + rdx]
mov byte [0x18004ce7d], cl
movabs rcx, 0xf4b997a52f3d5ec9
movzx ecx, byte [rax + rcx]
movabs rdx, 0xf4b997a52f3d5ee8
xor cl, byte [rax + rdx]
mov byte [0x18004ce7e], cl
mov byte [0x18004ce7f], 1
cmp byte [0x18004ce74], 0
jne 0x18002c46a
movabs rcx, 0xf4b997a52f3d5e82
add rcx, rax
movabs rdx, 0xf4b997a52f3d5e9f
add rdx, rax
xor eax, eax
lea r8, [0x18004ce6a]
nop word cs:[rax + rax]
movzx r9d, byte [rdx + rax]
movzx r10d, byte [rcx + rax]
mov r11d, r10d
and r11b, 2
mov ebx, r10d
and bl, 0xf1
mov edi, ebx
xor dil, 0xac
mov r14d, r10d
and r14b, 0xc
or r11b, 0x51
xor bl, 0x53
and bl, r11b
or r14b, 0xa0
and r14b, dil
or r14b, bl
mov r11d, r10d
xor r11b, 0xf1
xor r10b, 0xe
or r10b, r11b
not r10b
or r10b, r14b
mov r11d, r9d
xor r11b, 0xe
xor r9b, r10b
xor r9b, 0xf1
and r9b, r10b
or r11b, r10b
not r11b
or r11b, r9b
mov byte [rax + r8], r11b
inc rax
cmp rax, 0xa
jne 0x18002c3f0
mov byte [0x18004ce74], 1
movabs r9, 0xf4b997a52f3d313d
mov rdx, qword [0x18004ae58]
add rdx, r9
add r9, qword [0x18004ae60]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x10]
mov rcx, rsi
call fcn.18002c830
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18002c4d5
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002c4d0
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002c521
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18002c510
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002c50b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002c521
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800376d4
mov rax, rsi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3