Function at 0x18013d920
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x180476ea8]
xor rax, rsp
mov qword [rbp - 0x10], rax
movzx r12d, r8b
mov rsi, rdx
mov rdi, rcx
mov qword [rbp - 0x48], rcx
mov r13d, dword [rcx + 0x40c]
mov dword [rbp - 0x40], r13d
mov rax, qword [rdx + 0x28]
mov qword [rbp - 0x30], rax
add rcx, 0xe0
lea rdx, [rbp - 0x30]
call fcn.180145bc0
test rax, rax
je 0x18013d991
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x50], xmm1
jmp 0x18013d99c
mov qword [rbp - 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
lea rax, [rbp - 0x60]
movups xmm1, xmmword [rax]
movups xmmword [rbp - 0x30], xmm1
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x20], xmm0
movd eax, xmm1
cmp eax, 3
jne 0x18013da8e
movsd xmm1, qword [rbp - 0x28]
comisd xmm1, xmmword [0x18044b9a8]
jb 0x18013dbc7
movsd xmm0, qword [0x18044b9d8]
comisd xmm0, xmm1
jb 0x18013dbc7
cvttsd2si r14d, xmm1
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm1
jp 0x18013dbc7
jne 0x18013dbc7
dec r14b
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e7d0
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18013da28
mov rdx, qword [rdi]
mov ecx, dword [rcx + 0xc]
inc ecx
mov dword [rdx + 0x1b8], ecx
mov rbx, qword [rdi]
movzx ecx, r14b
shl ecx, 8
movzx eax, al
or ecx, eax
shl ecx, 8
or ecx, r12d
shl ecx, 8
or ecx, 0x13
mov dword [rbp - 0x30], ecx
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18013da59
mov dword [rdx], ecx
add qword [rbx + 0x30], 4
jmp 0x18013da66
lea r8, [rbp - 0x30]
lea rcx, [rbx + 0x28]
call fcn.180135a80
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18013dc40
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18013dc46
cmp eax, 5
jne 0x18013dbc7
mov ebx, dword [rbp - 0x2c]
mov r14, qword [rbp - 0x28]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], rbx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
mov rcx, qword [rdi]
call fcn.18012fda0
mov r15d, eax
test eax, eax
js 0x18013dc74
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e7d0
movzx r8d, al
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18013daee
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 0x18013db1c
nop dword [rax]
movzx ecx, byte [r14 + rdx - 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 0x18013db00
movzx ecx, bl
shl ecx, 8
or ecx, r8d
shl ecx, 8
or ecx, r12d
shl ecx, 8
or ecx, 0x4d
mov dword [rbp - 0x30], ecx
mov rdx, qword [rsi + 0x30]
cmp rdx, qword [rsi + 0x38]
je 0x18013db47
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18013db54
lea r8, [rbp - 0x30]
lea rcx, [rsi + 0x28]
call fcn.180135a80
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18013db75
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18013db7a
call fcn.180135a80
mov rbx, qword [rdi]
mov dword [rbp - 0x30], r15d
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18013db99
mov dword [rdx], r15d
add qword [rbx + 0x30], 4
jmp 0x18013dba2
lea r8, [rbp - 0x30]
call fcn.180135a80
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18013dc40
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18013dc46
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e7d0
movzx ebx, al
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
call fcn.18013e7d0
mov rsi, qword [rdi]
movzx ecx, al
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, r12d
shl ecx, 8
or ecx, 0x87
mov dword [rbp - 0x30], ecx
mov rdx, qword [rsi + 0x30]
cmp rdx, qword [rsi + 0x38]
je 0x18013dc12
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18013dc1f
lea r8, [rbp - 0x30]
lea rcx, [rsi + 0x28]
call fcn.180135a80
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18013dc40
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18013dc46
call fcn.180135a80
nop
mov dword [rdi + 0x40c], r13d
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1803831e0
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsi + 0xc]
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.180136580
int3