Function at 0x180009110
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rsi
push r12
push r14
sub rsp, 0x60
cmp byte [rcx + 0xf1], 0
mov r12, rdx
movsxd r14, r8d
mov rsi, rcx
jne 0x180009451
cmp byte [rcx + 0xf0], 0
xorps xmm0, xmm0
mov qword [rax + 0x10], rbx
mov qword [rax - 0x28], rdi
mov qword [rax - 0x38], r15
movdqu xmmword [rax - 0x50], xmm0
mov qword [rax - 0x40], 0
je 0x18000917f
mov rdx, r14
lea rcx, [rax - 0x50]
call fcn.18023a8f0
mov rbx, qword [rsp + 0x28]
lea rcx, [rsi + 8]
mov r9, rbx
mov r8d, r14d
mov rdx, r12
call fcn.1800024e0
mov r12, rbx
jmp 0x180009184
mov rbx, qword [rsp + 0x28]
xor r15d, r15d
xor edi, edi
test r14d, r14d
jle 0x180009409
mov ecx, dword [0x1802848b4]
movabs rbx, 0xaaaaaaaaaaaaaaab
mov rax, qword gs:[0x58]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], rbp
lea r13, [rax + rcx*8]
nop dword [rax]
xor eax, eax
cmp qword [rsi + 0xf8], rax
jne 0x1800093e5
mov r8d, r14d
movsxd rdx, edi
sub r8d, edi
add rdx, r12
mov rcx, rsi
call fcn.180008e80
test eax, eax
jns 0x1800093e5
mov dword [rsp + 0x98], 0x195
mov dword [rsp + 0x80], 0x253
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x98]
add ecx, eax
mov dword [rsp + 0x80], ecx
mov eax, dword [rsp + 0x80]
cmp r15d, eax
jae 0x1800093f2
cmp qword [rsi + 0xf8], 0
jne 0x1800093f2
call fcn.1800087f0
cmp eax, 0x2733
je 0x180009252
call fcn.1800087f0
cmp eax, 0x2747
jne 0x1800093f2
mov rax, qword [0x180285bb8]
test rax, rax
jne 0x1800093aa
mov byte [rsp + 0x26], al
mov dword [rsp + 0x20], 0xfb9f923
mov word [rsp + 0x24], 0x6a50
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x80]
movzx r8d, byte [rsp + rax + 0x21]
mov rax, rbx
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x80]
shl dl, 3
sub cl, dl
mov edx, 0x48cfc1aa
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x21], dl
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp rax, 5
jb 0x180009290
mov byte [rsp + 0x26], 0
call fcn.1800015c0
mov ebx, 4
mov rbp, rax
add rbx, qword [r13]
mov ecx, dword [rbx]
cmp dword [0x180286968], ecx
jle 0x180009342
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180009342
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x18000937b
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18000937b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rbp
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x21]
mov rcx, rax
call r8
mov qword [0x180285bb8], rax
movabs rbx, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0x98], 8
mov dword [rsp + 0x80], 2
mov edx, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x98]
add edx, ecx
mov dword [rsp + 0x80], edx
mov ecx, dword [rsp + 0x80]
call rax
inc r15d
jmp 0x1800093e7
add edi, eax
cmp edi, r14d
jl 0x1800091c0
jmp 0x1800093fa
mov rcx, rsi
call fcn.180009b60
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
test rbx, rbx
je 0x180009449
mov rdx, qword [rsp + 0x38]
mov rax, rbx
sub rdx, rbx
cmp rdx, 0x1000
jb 0x180009441
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000945b
mov rcx, rbx
call fcn.180249cb8
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop r14
pop r12
pop rsi
ret
call fcn.1802514a4
int3