Function at 0x180001e10
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x180093030]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, rdx
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov edx, 0x80000000
xor r8d, r8d
mov dword [rsp + 0x28], pe_nt_image_headers64
or ebx, 0xffffffff
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180002167
lea r9, [rsp + 0x40]
mov r8d, 0x1aa0
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000215e
cmp dword [rsp + 0x40], 0x1aa0
jne 0x18000215e
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x102
call fcn.180030f50
mov rax, qword [0x180094c40]
xor r11d, r11d
mov ecx, reloc.WLDAP32.dll_Ordinal_32
mov qword [rbp + 0x52], r11
mov qword [rbp + 0x52], rax
mov rax, qword [0x180094c48]
mov qword [rbp + 0x5a], r11
mov qword [rbp + 0x62], r11
mov qword [rbp + 0x5a], rax
mov rax, qword [0x180094c50]
mov qword [rbp + 0x6a], r11
mov qword [rbp + 0x62], rax
mov rax, qword [0x180094c58]
mov qword [rbp + 0x72], r11
mov qword [rbp + 0x7a], r11
mov qword [rbp + 0x82], r11
mov qword [rbp + 0x8a], r11
mov qword [rbp + 0x6a], rax
mov dword [rbp + 0x94], ecx
test ecx, ecx
je 0x18000215c
xor eax, eax
lea rcx, [rsp + 0x50]
nop dword [rax]
mov byte [rcx], al
inc eax
inc rcx
cmp eax, 0x100
jl 0x180001f30
xor r9d, r9d
mov word [rbp + 0x50], r11w
lea r8, [rsp + 0x50]
xor r10b, r10b
nop
mov eax, r9d
inc r9d
inc r8
cdq
idiv dword [rbp + 0x94]
movsxd rax, edx
movzx ecx, byte [rbp + rax + 0x52]
add cl, byte [r8 - 1]
add r10b, cl
movzx ecx, byte [r8 - 1]
movzx edx, r10b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [r8 - 1], al
mov byte [rsp + rdx + 0x50], cl
cmp r9d, 0x100
jl 0x180001f50
movzx edx, byte [rbp + 0x51]
movzx r8d, byte [rbp + 0x50]
inc rsi
mov r10d, 0x470
inc r8b
mov byte [rbp + 0x50], r8b
movzx r8d, r8b
add dl, byte [rsp + r8 + 0x50]
mov byte [rbp + 0x51], dl
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, dl
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx r9d, byte [rbp + 0x51]
movzx ecx, byte [rsp + r9 + 0x50]
movzx edx, byte [rbp + 0x50]
add cl, byte [rsp + rdx + 0x50]
inc dl
movzx eax, cl
movzx r8d, dl
movzx ecx, byte [rsp + rax + 0x50]
mov byte [rbp + 0x50], dl
add r9b, byte [rsp + r8 + 0x50]
xor byte [rsi - 1], cl
mov byte [rbp + 0x51], r9b
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, r9b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx r9d, byte [rbp + 0x51]
movzx ecx, byte [rsp + r9 + 0x50]
movzx edx, byte [rbp + 0x50]
add cl, byte [rsp + rdx + 0x50]
inc dl
movzx eax, cl
movzx r8d, dl
movzx ecx, byte [rsp + rax + 0x50]
mov byte [rbp + 0x50], dl
add r9b, byte [rsp + r8 + 0x50]
xor byte [rsi], cl
mov byte [rbp + 0x51], r9b
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, r9b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx r9d, byte [rbp + 0x51]
movzx ecx, byte [rsp + r9 + 0x50]
movzx edx, byte [rbp + 0x50]
add cl, byte [rsp + rdx + 0x50]
inc dl
movzx eax, cl
movzx r8d, dl
movzx ecx, byte [rsp + rax + 0x50]
mov byte [rbp + 0x50], dl
add r9b, byte [rsp + r8 + 0x50]
xor byte [rsi + 1], cl
mov byte [rbp + 0x51], r9b
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, r9b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx r9d, byte [rbp + 0x51]
movzx ecx, byte [rsp + r9 + 0x50]
movzx edx, byte [rbp + 0x50]
add cl, byte [rsp + rdx + 0x50]
inc dl
movzx r8d, dl
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x50]
mov byte [rbp + 0x50], dl
xor byte [rsi + 2], cl
add r9b, byte [rsp + r8 + 0x50]
mov byte [rbp + 0x51], r9b
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, r9b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx r9d, byte [rbp + 0x51]
movzx ecx, byte [rsp + r9 + 0x50]
movzx edx, byte [rbp + 0x50]
add cl, byte [rsp + rdx + 0x50]
inc dl
add rsi, 6
movzx eax, cl
movzx r8d, dl
movzx ecx, byte [rsp + rax + 0x50]
mov byte [rbp + 0x50], dl
add r9b, byte [rsp + r8 + 0x50]
xor byte [rsi - 3], cl
mov byte [rbp + 0x51], r9b
movzx ecx, byte [rsp + r8 + 0x50]
movzx edx, r9b
movzx eax, byte [rsp + rdx + 0x50]
mov byte [rsp + r8 + 0x50], al
mov byte [rsp + rdx + 0x50], cl
movzx edx, byte [rbp + 0x51]
movzx r8d, byte [rbp + 0x50]
movzx ecx, byte [rsp + rdx + 0x50]
add cl, byte [rsp + r8 + 0x50]
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x50]
xor byte [rsi - 2], cl
dec r10
jne 0x180001fa0
xor ebx, ebx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.18002cf50
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1b0
pop rdi
pop rsi
pop rbp
ret