Function at 0x180015750
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x18002e518]
xor rax, rsp
mov qword [rbp + 0x88], rax
mov rsi, r8
mov r14, rdx
mov r15d, ecx
xor eax, eax
mov qword [rsp + 0x48], rax
mov r13d, ILRemoveLastID
mov qword [rsp + 0x50], r13
mov byte [rsp + 0x38], al
lea r12d, [rcx + 5]
cmp ecx, r12d
jae 0x1800158a5
lea r8, section..data
movzx ebx, word [rsp + 0x20]
nop dword [rax + rax]
mov eax, r15d
sub eax, 0x10b
je 0x1800158ed
sub eax, 5
je 0x180015843
sub eax, 1
je 0x180015830
sub eax, 4
je 0x1800157f4
cmp eax, 1
jne 0x180015894
rol bx, 8
mov r13, qword [rsp + 0x50]
jmp 0x1800158aa
mov ebx, 0xffff
mov edx, dword [rsi]
test edx, edx
je 0x180015826
nop
mov edx, dword [rsi]
dec edx
mov dword [rsi], edx
movzx ecx, byte [r14]
movzx eax, bx
xor rcx, rax
movzx eax, cl
shr bx, 8
movzx eax, word [r8 + rax*2]
xor bx, ax
inc r14
test edx, edx
jne 0x180015800
lea eax, [rdx - 1]
mov dword [rsi], eax
not bx
jmp 0x180015894
lea r8, [rsp + 0x38]
mov edx, 0xda
xor ecx, ecx
call fcn.18000e9d0
jmp 0x18001588d
mov ecx, 0x20
call fcn.180024b80
mov rdi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18001587a
mov r8, qword [r14 + 8]
mov rdx, qword [r14]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r13
mov byte [rax], 0
mov rcx, rax
call fcn.180017000
jmp 0x18001587c
xor edi, edi
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x48], xmm1
lea r8, section..data
inc r15d
cmp r15d, r12d
jb 0x1800157c0
mov r13, qword [rsp + 0x50]
movzx ebx, word [rsp + 0x20]
cmp r13, 0x10
jb 0x180015b28
lea rdx, [r13 + 1]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015b23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180015b23
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov edx, 0x70
xor ecx, ecx
call fcn.1800079c0
mov esi, 0x79
test al, al
jne 0x180015b03
lea ebx, [rsi - 0x4b]
lea r13d, [rsi - 0x13]
lea r15d, [rsi + 0x63]
lea r12, [0x1800054a0]
movzx edi, byte [rsp + 0x20]
nop dword [rax]
cmp ebx, 0x621c
ja 0x180015a52
je 0x180015a33
cmp ebx, 0x2e
je 0x180015a1e
cmp ebx, 0x13c4
je 0x1800159bb
cmp ebx, 0x275a
je 0x1800159a2
cmp ebx, 0x3af0
je 0x18001596f
cmp ebx, 0x4e86
jne 0x180015af1
mov dword [rbp + 0x44], 0x720065
mov word [rbp + 0x48], si
jmp 0x180015af1
lea rax, [rbp + 0x60]
sub rax, 2
nop word [rax + rax]
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x180015980
movsd xmm0, qword [0x180028268]
movsd qword [rax], xmm0
mov dword [rbp + 0x40], 0x750051
jmp 0x180015af1
movsd xmm0, qword [0x180028290]
movsd qword [rbp + 0x76], xmm0
mov dword [rbp + 0x7e], 0x6f
jmp 0x180015af1
lea rcx, [rbp + 0x60]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x1800159c3
movsd xmm0, qword [str.aria]
movsd qword [rcx], xmm0
movzx eax, word [0x180028280]
mov word [rcx + 8], ax
mov r8d, 2
lea rdx, [0x180028284]
lea rcx, [rbp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 1
lea rdx, [0x18002828c]
lea rcx, [rbp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov dword [rbp + 0x74], 0x3a
jmp 0x180015af1
mov eax, dword [0x180028270]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], 0x56
jmp 0x180015af1
mov dword [rbp + 0x4a], 0x76004f
mov word [rbp + 0x4e], r13w
mov dword [rbp + 0x50], 0x6e0049
mov dword [rbp + 0x54], 0x6f0066
jmp 0x180015af1
cmp ebx, 0x75b2
je 0x180015ad9
cmp ebx, 0x8948
je 0x180015acd
cmp ebx, 0x9cde
je 0x180015a98
cmp ebx, 0xb074
jne 0x180015af1
lea rdx, [rsp + 0x28]
mov ecx, 0xef
call fcn.1800047a0
test al, al
jne 0x180015af1
mov byte [rsp + 0x20], al
movzx ebx, word [rsp + 0x20]
mov r13, qword [rsp + 0x50]
jmp 0x1800158aa
mov qword [rsp + 0x30], r14
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x60]
call qword [sym.imp.GDI32.dll_CreateICW]
test rax, rax
jne 0x180015abd
xor dil, dil
jmp 0x180015af1
test dil, dil
je 0x180015af1
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x180015af1
mov word [rbp - 0x5c], r15w
mov qword [rsp + 0x28], r12
jmp 0x180015af1
xor eax, eax
mov word [rbp + 0x58], ax
mov dil, 1
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
add ebx, 0x1396
cmp ebx, 0xc3dc
jbe 0x180015920
lea r8, [r14 + 0x48]
xor edx, edx
mov ecx, esi
call fcn.18000d5c0
mov byte [rsp + 0x20], al
movzx ebx, word [rsp + 0x20]
mov r13, qword [rsp + 0x50]
jmp 0x1800158aa
call fcn.180024bbc
movzx eax, bx
mov rcx, qword [rbp + 0x88]
xor rcx, rsp
call fcn.1800250d0
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret