Function at 0x1800057e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov dword [rbp - 0x26], 0xb3de1a43
mov r14, rcx
mov dword [rbp - 0x22], 0xb09f818a
movabs r15, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x1e], 0x27da0b8b
mov word [rbp - 0x1a], 0xee
mov qword [rbp + 0x20], 0
mov rax, qword [rbp + 0x20]
nop
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x20]
movzx r8d, byte [rbp + rax - 0x25]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x20]
shl dl, 3
sub cl, dl
mov edx, 0x40857f59
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x25], dl
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 0xc
jb 0x180005830
mov byte [rbp - 0x19], 0
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x1802848b4]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x180286968], ecx
jle 0x1800058db
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x1800058db
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x180005914
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180005914
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x25]
mov rcx, rax
call r8
mov dword [rbp - 0x30], 0xd9009f77
mov r9, rax
mov dword [rbp - 0x2c], 0x37bacc39
mov word [rbp - 0x28], 4
mov qword [rbp + 0x20], 0
mov rcx, qword [rbp + 0x20]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x20]
movzx r8d, byte [rbp + rax - 0x2f]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x20]
shl dl, 3
sub cl, dl
mov edx, 0x5f2d1ad8
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x2f], dl
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 8
jb 0x180005960
lea r8, [r14 + 8]
mov byte [rbp - 0x27], 0
mov rdx, r8
lea rcx, [rbp - 0x2f]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800059c0
mov edx, 1
xor ecx, ecx
call r9
mov dword [rbp - 0x18], 0x58681d3
mov rsi, rax
mov dword [rbp - 0x14], 0x13bdfd74
mov dword [rbp - 0x10], 0x39de2bf6
mov word [rbp - 0xc], 0x59
mov qword [rbp + 0x20], 0
mov rax, qword [rbp + 0x20]
nop word [rax + rax]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x20]
movzx r8d, byte [rbp + rax - 0x17]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x20]
shl dl, 3
sub cl, dl
mov edx, 0x524959c6
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x17], dl
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 0xc
jb 0x180005a10
mov byte [rbp - 0xb], 0
call fcn.1800015c0
mov edx, dword [rbx]
mov rdi, rax
cmp dword [0x180286968], edx
jle 0x180005aa0
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180005aa0
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x180005ad9
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180005ad9
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x17]
mov rcx, rax
call r8
mov rbx, rax
call rbx
cmp eax, 0xb7
je 0x180005b10
call rbx
cmp eax, 5
je 0x180005b10
mov qword [r14], rsi
mov al, 1
jmp 0x180005b12
xor al, al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret