Function at 0x180005e00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
xor r14d, r14d
mov dword [rbp - 0x20], 0x416845a2
mov dword [rbp - 0x1c], 0x657f6367
mov rbx, rcx
mov dword [rbp - 0x18], 0x6a66626c
mov word [rbp - 0x14], 0x74
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x30]
nop word [rax + rax]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x30]
add cl, 6
xor cl, byte [rbp + rax - 0x1f]
mov rax, qword [rbp + 0x30]
mov byte [rbp + rax - 0x1f], cl
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
cmp rax, 0xc
jb 0x180005e40
mov byte [rbp - 0x13], r14b
call fcn.1800018d0
mov rcx, qword gs:[0x58]
mov rsi, rax
mov edx, dword [0x18039b468]
mov eax, 4
mov rdi, qword [rcx + rdx*8]
add rdi, rax
mov ecx, dword [rdi]
cmp dword [0x18039d510], ecx
jle 0x180005ecc
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180005ecc
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x180005f05
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180005f05
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 - 0x1f]
call qword [0x1803a1560]
test rax, rax
je 0x1800060af
mov qword [rsp + 0x88], r12
xor ecx, ecx
mov qword [rsp + 0x90], r15
call rax
movdqa xmm0, xmmword [0x18038fc50]
lea r12, [rbx + 0x10]
movdqu xmmword [rbp - 0x12], xmm0
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [r12], r14
mov qword [rbx + 0x18], r14
mov word [rbp - 2], 0xfe
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x30]
nop word [rax + rax]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x30]
sub cl, 0x74
xor cl, byte [rbp + rax - 0x11]
mov rax, qword [rbp + 0x30]
mov byte [rbp + rax - 0x11], cl
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x180005f70
mov byte [rbp - 1], r14b
call fcn.1800018d0
mov edx, dword [rdi]
mov r14, rax
cmp dword [0x18039d510], edx
jle 0x180005fe1
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180005fe1
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x18000601a
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000601a
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, r14
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x11]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x180006091
xor edx, edx
mov qword [rsp + 0x20], r12
lea r9, [0x18038ea70]
lea rcx, [0x18038ee48]
lea r8d, [rdx + 0x17]
call rdi
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r9, [0x18038e928]
lea rcx, [0x18038eae0]
lea r8d, [rdx + 0x17]
call rdi
test eax, eax
js 0x180006091
mov rcx, qword [rbx]
lea rdx, [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
js 0x180006091
mov rcx, qword [rbx + 8]
lea rdx, [rbx + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov r12, qword [rsp + 0x88]
mov rax, rbx
mov r15, qword [rsp + 0x90]
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, rbx
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret