Function at 0x18000f410
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r10d, dword [0x180045c3c]
mov r14, rdx
mov rdx, qword [0x180045c30]
inc r10d
movzx r15d, word [0x180045be8]
inc rdx
mov r13, qword [rsp + 0xb8]
mov eax, 0x1f02
mov rdi, qword [rsp + 0xc0]
xor r15w, ax
mov r12, qword [rsp + 0xb0]
lea eax, [r10 + r10*2]
mov dword [0x180045c3c], r10d
mov rsi, r9
movsxd rcx, eax
movzx eax, word [r8 + rcx*2]
mov rcx, qword [0x180045be0]
imul rax, rax, 0x1bde
dec rcx
mov qword [rsp + 0xa0], rax
movsxd rax, r10d
inc r10d
movzx eax, word [r9 + rax*2]
mov qword [0x180045c30], rdx
mov qword [0x180045be0], rcx
mov qword [rsp + 0x98], rax
movsxd rax, dword [0x180045bec]
mov rbp, rax
inc eax
or rbp, qword [0x180045c60]
mov dword [0x180045bec], eax
mov rax, qword [rsp + 0xc8]
movzx r11d, byte [rax + rcx*2]
mov eax, dword [r13 + 0x2ea0]
or r11, rdx
mov edx, dword [0x180045c50]
mov rcx, qword [0x180045c58]
dec edx
mov dword [0x180045c3c], r10d
mov dword [rsp + 0xc8], eax
movsxd rax, r10d
movsxd r9, dword [rdi + rax*4]
movzx eax, word [r12 + 0xeda]
mov dword [0x180045c50], edx
movzx r10d, byte [rcx + 0x2e8]
movzx ecx, byte [0x180045bf7]
add r10b, dl
mov qword [rsp + 0xb8], rax
xor edx, edx
movsxd rax, dword [0x180045c48]
lea r8, [r12 + rcx*2]
movzx ecx, word [r12 + rcx*2]
mov rax, qword [r9 + rax*8]
div rcx
mov word [r8], dx
movzx eax, word [rsi]
mov rcx, qword [0x180045c30]
mov ebx, dword [0x180045c3c]
mov r9, qword [0x180045be0]
mov rdx, qword [r14 + rax*8]
or rdx, 0x2a5
add rcx, rdx
lea eax, [rbx + 4]
mov qword [0x180045c30], rcx
movsxd rdx, eax
movsxd rax, dword [rdi + 0x104]
sub rax, qword [r13 + rdx*8]
movzx edx, word [r11]
movzx r11d, r10b
movsxd r8, dword [rdi + rdx*8 + 0xc]
xor edx, edx
div r8
mov qword [0x180045c70], rax
mov r8d, dword [r14 + r9*8]
inc r9
mov qword [0x180045be0], r9
cmp r8d, r11d
jge 0x18000f621
nop dword [rax + rax]
movsxd rax, ebx
mov rdx, rcx
sub rdx, rax
inc rcx
movzx eax, byte [0x180045bf6]
sub rdx, r9
or eax, r8d
mov qword [0x180045c30], rcx
add rdx, 0xc0c
inc r8d
mov qword [0x180045be0], rdx
cdq
idiv dword [0x180045c4c]
mov dword [0x180045c4c], eax
movzx eax, word [rsi]
mov dword [rdi + rax*4 + 0x14], r11d
cmp r8d, r11d
jge 0x18000f621
mov ebx, dword [0x180045c3c]
mov rcx, qword [0x180045c30]
mov r9, qword [0x180045be0]
jmp 0x18000f5c0
movsxd rcx, dword [rsp + 0xc8]
mov edx, 0x1f5b
call fcn.1800030c0
mov r8, qword [rsp + 0xa0]
inc rbp
movsxd rcx, eax
mov qword [r13 + 0x200], rcx
movsxd rax, dword [0x180045c00]
mov r9, qword [0x180045c30]
mov rcx, qword [rsp + 0x98]
add r9, rbp
mov edi, dword [0x180045c70]
movsxd rcx, dword [rcx + rax*4]
mov rax, qword [0x180045c10]
movzx edx, byte [rax + 0x200]
movzx eax, byte [0x180045bf6]
add eax, dword [0x180045c68]
movsxd rbx, eax
movsxd rax, dword [0x180045c3c]
movzx r11d, word [r12 + rax*2]
movzx eax, word [rsi]
mov r10d, dword [r8 + rax*4]
mov dword [rsp + 0x48], r10d
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], 0x40e
mov qword [rsp + 0x30], 0x11b
mov qword [rsp + 0x28], rbx
movzx r8d, r15w
mov dword [rsp + 0x20], edi
call fcn.1800022a0
movsxd rcx, eax
mov rax, qword [0x180045be0]
mov qword [r14 + rax*8], rcx
movzx eax, word [rsi + 2]
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + rax*8 + 0xa8], 0x13aa
je 0x18000f6f9
movsxd rax, dword [0x180045c00]
mov eax, 0x199f
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret