Function at 0x18012e619
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rdx, rdx
je 0x18012e917
mov r11, rsp
push rdi
push r13
push r14
sub rsp, 0x140
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x28], r9
mov r14, r9
mov edi, r8d
mov r13, rdx
test r8d, r8d
je 0x18012e8fb
mov qword [r11 + 0x10], rbx
xor ebx, ebx
mov qword [r11 - 0x20], rbp
xor ebp, ebp
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], r12
xor r12b, r12b
mov qword [r11 - 0x38], r15
xor r15b, r15b
mov byte [rsp + 0x20], r12b
call fcn.1800e2800
xor esi, esi
mov qword [rsp + 0x30], rax
mov r9, rax
lea r10d, [rbp + 0x70]
xor al, al
nop dword [rax]
movzx edx, byte [rsi + r13]
dec edi
inc rsi
inc ebp
test al, al
je 0x18012e6b6
cmp dl, 0xf
jne 0x18012e6b6
xor al, al
xor r15b, r15b
mov byte [rsp + 0x20], al
xor r12b, r12b
jmp 0x18012e8ac
cmp dl, 0x1b
jne 0x18012e751
nop
test edi, edi
je 0x18012e8bf
movzx eax, byte [rsi + r13]
dec edi
inc rsi
inc ebp
cmp al, 0x1b
je 0x18012e6c0
cmp al, 0x24
jne 0x18012e70a
test edi, edi
je 0x18012e8bf
movzx eax, byte [rsi + r13]
dec edi
sub al, 0x40
inc ebp
inc rsi
test al, 0xfd
movzx eax, byte [rsp + 0x20]
jne 0x18012e8ac
mov r15b, 1
xor r12b, r12b
jmp 0x18012e8ac
cmp al, 0x28
jne 0x18012e8a7
test edi, edi
je 0x18012e8bf
movzx ecx, byte [rsi + r13]
dec edi
inc ebp
inc rsi
lea eax, [rcx - 0x42]
test al, 0xf7
je 0x18012e746
movzx eax, byte [rsp + 0x20]
cmp cl, 0x49
jne 0x18012e8ac
mov r12b, 1
xor r15b, r15b
jmp 0x18012e8ac
xor r15b, r15b
xor r12b, r12b
jmp 0x18012e8a7
cmp dl, 0xd
je 0x18012e871
cmp dl, 0xa
je 0x18012e871
test r15b, r15b
je 0x18012e852
test edi, edi
je 0x18012e8bf
movzx r8d, byte [rsi + r13]
lea eax, [rdx - 0x79]
inc rsi
dec edi
inc ebp
cmp al, 3
ja 0x18012e7eb
movzx eax, al
imul ecx, eax, 0x5e
lea eax, [r8 - 0x21]
movzx eax, al
add ecx, eax
cmp ecx, 0x1f6
ja 0x18012e7eb
lea r14d, [rcx + rcx]
movsxd rcx, ebx
movzx eax, byte [r14 + r9]
inc ebx
mov byte [rsp + rcx + 0x40], al
cmp ebx, 0xc8
jne 0x18012e7d1
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x40]
mov r8d, ebx
call fcn.1800baf90
mov r9, qword [rsp + 0x30]
xor ebx, ebx
lea eax, [r14 + 1]
movsxd rdx, ebx
movzx eax, byte [rax + r9]
mov r14, qword [rsp + 0x28]
mov byte [rsp + rdx + 0x40], al
jmp 0x18012e88b
mov ecx, edx
test dl, 1
je 0x18012e803
xor r14d, r14d
cmp r8b, 0x5f
seta r14b
add r14d, 0x1f
jmp 0x18012e809
mov r14d, 0x7e
add r14b, r8b
mov eax, 0xb0
inc ecx
shr ecx, 1
cmp dl, 0x5f
cmovb eax, r10d
add cl, al
movsxd rax, ebx
inc ebx
mov byte [rsp + rax + 0x40], cl
cmp ebx, 0xc8
jne 0x18012e843
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x40]
mov r8d, ebx
call fcn.1800baf90
xor ebx, ebx
movsxd rax, ebx
mov byte [rsp + rax + 0x40], r14b
mov r14, qword [rsp + 0x28]
jmp 0x18012e88b
test r12b, r12b
je 0x18012e85c
add dl, 0x80
jmp 0x18012e884
cmp dl, 0xe
jne 0x18012e884
mov r12b, 1
xor r15b, r15b
movzx eax, r12b
mov byte [rsp + 0x20], al
jmp 0x18012e8ac
xor ecx, ecx
movzx eax, r12b
test r15b, r15b
cmove ecx, eax
xor r15b, r15b
movzx r12d, cl
movsxd rax, ebx
mov byte [rsp + rax + 0x40], dl
inc ebx
cmp ebx, 0xc8
jne 0x18012e8a7
mov r8d, ebx
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1800baf90
xor ebx, ebx
movzx eax, byte [rsp + 0x20]
mov r9, qword [rsp + 0x30]
mov r10d, WSAStartup
test edi, edi
jne 0x18012e690
mov r15, qword [rsp + 0x120]
mov r12, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
test ebx, ebx
je 0x18012e8f3
mov r8d, ebx
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1800baf90
mov rbx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x140
pop r14
pop r13
pop rdi
ret