Function at 0x18013d8c0
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 [0x18048aea8]
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.180145b60
test rax, rax
je 0x18013d931
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x50], xmm1
jmp 0x18013d93c
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 0x18013da2e
movsd xmm1, qword [rbp - 0x28]
comisd xmm1, xmmword [0x18045d390]
jb 0x18013db67
movsd xmm0, qword [0x18045d3c0]
comisd xmm0, xmm1
jb 0x18013db67
cvttsd2si r14d, xmm1
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm1
jp 0x18013db67
jne 0x18013db67
dec r14b
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e770
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18013d9c8
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 0x18013d9f9
mov dword [rdx], ecx
add qword [rbx + 0x30], 4
jmp 0x18013da06
lea r8, [rbp - 0x30]
lea rcx, [rbx + 0x28]
call fcn.180135a20
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18013dbe0
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18013dbe6
cmp eax, 5
jne 0x18013db67
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.18012fd30
mov r15d, eax
test eax, eax
js 0x18013dc14
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e770
movzx r8d, al
mov rcx, qword [rsi + 0x28]
cmp dword [rdi + 0xc], 1
jl 0x18013da8e
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 0x18013dabc
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 0x18013daa0
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 0x18013dae7
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18013daf4
lea r8, [rbp - 0x30]
lea rcx, [rsi + 0x28]
call fcn.180135a20
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18013db15
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18013db1a
call fcn.180135a20
mov rbx, qword [rdi]
mov dword [rbp - 0x30], r15d
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18013db39
mov dword [rdx], r15d
add qword [rbx + 0x30], 4
jmp 0x18013db42
lea r8, [rbp - 0x30]
call fcn.180135a20
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18013dbe0
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18013dbe6
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
call fcn.18013e770
movzx ebx, al
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
call fcn.18013e770
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 0x18013dbb2
mov dword [rdx], ecx
add qword [rsi + 0x30], 4
jmp 0x18013dbbf
lea r8, [rbp - 0x30]
lea rcx, [rsi + 0x28]
call fcn.180135a20
lea rcx, [rsi + 0x40]
lea r8, [rsi + 0x1b8]
mov rdx, qword [rsi + 0x48]
cmp rdx, qword [rsi + 0x50]
je 0x18013dbe0
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rsi + 0x48], 4
jmp 0x18013dbe6
call fcn.180135a20
nop
mov dword [rdi + 0x40c], r13d
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180394080
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.180136520
int3