Function at 0x18006b080
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x180248b00]
xor rax, rsp
mov qword [rsp + 0x50], rax
movzx r15d, r8b
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x20], rcx
mov r12d, dword [rcx + 0x40c]
mov dword [rsp + 0x28], r12d
mov rax, qword [rdx + 0x28]
mov qword [rsp + 0x30], rax
add rcx, 0xe0
lea rdx, [rsp + 0x30]
call fcn.180072fc0
test rax, rax
je 0x18006b0e9
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
jmp 0x18006b100
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rsp + 0x30]
unpckhpd xmm0, xmm0
movsd qword [rsp + 0x40], xmm0
movd eax, xmm1
cmp eax, 3
jne 0x18006b1e5
movaps xmm2, xmm1
unpckhpd xmm2, xmm1
comisd xmm2, xmmword [0x18021d020]
jb 0x18006b1e5
movsd xmm0, qword [0x18021d050]
comisd xmm0, xmm2
jb 0x18006b1e5
cvttsd2si ebp, xmm2
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm2
jp 0x18006b1e5
jne 0x18006b1e5
dec bpl
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18006bf50
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18006b17d
mov rdx, qword [rdi]
mov ecx, dword [rcx + 0xc]
inc ecx
mov dword [rdx + 0x1b8], ecx
mov rbx, qword [rdi]
movzx ecx, bpl
shl ecx, 8
movzx eax, al
or ecx, eax
shl ecx, 8
or ecx, r15d
shl ecx, 8
or ecx, 0x11
mov dword [rsp + 0x30], ecx
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18006b1af
mov dword [rdx], ecx
add qword [rbx + 0x30], 4
jmp 0x18006b1bd
lea r8, [rsp + 0x30]
lea rcx, [rbx + 0x28]
call fcn.18004a840
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18006b3b2
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18006b3b8
cmp eax, 5
jne 0x18006b33a
movdqa xmm0, xmm1
psrldq xmm0, 4
movd ebx, xmm0
psrldq xmm1, 8
movq rbp, xmm1
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rbx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, qword [rdi]
call fcn.18005ea60
mov r14d, eax
test eax, eax
js 0x18006b3e5
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18006bf50
movzx r8d, al
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18006b25a
mov rdx, qword [rdi]
mov ecx, dword [rcx + 0xc]
inc ecx
mov dword [rdx + 0x1b8], ecx
mov rsi, qword [rdi]
mov rdx, rbx
test rbx, rbx
je 0x18006b28b
nop word [rax + rax]
movzx ecx, byte [rdx + rbp - 1]
mov eax, ebx
shl eax, 5
add ecx, eax
mov eax, ebx
shr eax, 2
add ecx, eax
xor ebx, ecx
sub rdx, 1
jne 0x18006b270
movzx ecx, bl
shl ecx, 8
or ecx, r8d
shl ecx, 8
or ecx, r15d
shl ecx, 8
or ecx, 0xf
mov dword [rsp + 0x30], ecx
mov rdx, qword [rsi + 0x30]
cmp rdx, qword [rsi + 0x38]
je 0x18006b2b7
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18006b2c5
lea r8, [rsp + 0x30]
lea rcx, [rsi + 0x28]
call fcn.18004a840
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18006b2e6
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18006b2eb
call fcn.18004a840
mov rbx, qword [rdi]
mov dword [rsp + 0x30], r14d
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18006b30b
mov dword [rdx], r14d
add qword [rbx + 0x30], 4
jmp 0x18006b315
lea r8, [rsp + 0x30]
call fcn.18004a840
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18006b3b2
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18006b3b8
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18006bf50
movzx ebx, al
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
call fcn.18006bf50
mov rsi, qword [rdi]
movzx ecx, al
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, r15d
shl ecx, 8
or ecx, 0xd
mov dword [rsp + 0x30], ecx
mov rdx, qword [rsi + 0x30]
cmp rdx, qword [rsi + 0x38]
je 0x18006b383
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18006b391
lea r8, [rsp + 0x30]
lea rcx, [rsi + 0x28]
call fcn.18004a840
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18006b3b2
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18006b3b8
call fcn.18004a840
nop
mov dword [rdi + 0x40c], r12d
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.18017a790
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
lea rcx, [rsi + 0xc]
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.1800642d0
int3