Function at 0x18000c260
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
movdqa xmm0, xmmword [0x18038fbc0]
mov qword [rbp + 0x6f], 0x22
mov qword [rbp + 0x67], 0x16
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov qword [rbp + 0x67], rcx
xor edi, edi
mov rax, qword [rbp + 0x67]
mov dword [rbp - 0x49], eax
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], 0xfafdf3
mov qword [rbp + 0x67], rdi
mov rax, qword [rbp + 0x67]
nop word [rax + rax]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
add cl, 0x78
xor cl, byte [rbp + rax - 0x5f]
mov rax, qword [rbp + 0x67]
mov byte [rbp + rax - 0x5f], cl
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x12
jb 0x18000c2c0
mov byte [rbp - 0x4d], dil
call fcn.1800015d0
mov rcx, qword gs:[0x58]
mov rsi, rax
mov edx, dword [0x18039b468]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x18039d510], ecx
jle 0x18000c34c
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18000c34c
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000c385
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000c385
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x5f]
call qword [0x1803a1560]
test rax, rax
je 0x18000c3a6
lea rcx, [rbp - 0x49]
call rax
movdqa xmm0, xmmword [0x18038f700]
xor eax, eax
mov byte [rbp - 0x61], al
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0x435a7756
mov dword [rbp - 0x65], 0x485c4c59
mov qword [rbp + 0x67], rdi
mov rax, qword [rbp + 0x67]
nop
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
add cl, 0x24
xor cl, byte [rbp + rax - 0x78]
mov rax, qword [rbp + 0x67]
mov byte [rbp + rax - 0x78], cl
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x17
jb 0x18000c3d0
mov byte [rbp - 0x61], dil
call fcn.1800015d0
mov edx, dword [rbx]
mov rsi, rax
cmp dword [0x18039d510], edx
jle 0x18000c441
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18000c441
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000c47a
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000c47a
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x78]
call qword [0x1803a1560]
mov qword [rbp + 0x67], 3
mov rbx, rax
mov qword [rbp + 0x6f], 1
mov rdx, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x6f]
add rdx, rcx
mov qword [rbp + 0x77], rdx
xor edx, edx
mov qword [rbp + 0x6f], 0x37
mov qword [rbp + 0x67], 9
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x77]
div rcx
test rax, rax
je 0x18000c555
mov rsi, rdi
test rbx, rbx
je 0x18000c4f1
lea rcx, [rbp + 0x7f]
call rbx
mov edx, dword [rbp - 0x39]
inc edi
add edx, dword [rbp - 0x29]
add edx, dword [rbp - 0x19]
add edx, dword [rbp + 0x7f]
mov dword [rbp + rsi*4 - 9], edx
xor edx, edx
mov qword [rbp + 0x67], 3
mov qword [rbp + 0x6f], 1
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov esi, edi
mov qword [rbp + 0x77], rcx
mov qword [rbp + 0x6f], 0x37
mov qword [rbp + 0x67], 9
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x77]
div rcx
cmp rsi, rax
jb 0x18000c4e6
mov qword [rbp + 0x6f], 0x2a
xor edx, edx
mov qword [rbp + 0x67], 0x16
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov qword [rbp + 0x77], rcx
mov qword [rbp + 0x6f], 1
mov qword [rbp + 0x67], 3
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x6f]
add rcx, rax
mov qword [rbp + 0x67], rcx
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x77]
div rcx
lea rcx, [rbp - 9]
mov rdx, rax
call fcn.18000bec0
add rsp, 0xd8
pop rdi
pop rsi
pop rbx
pop rbp
ret