Function at 0x180033da0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x108
cmp qword [0x18033eaf8], 0
jne 0x180033ed5
lea rax, [rsp + 0xd0]
lea rcx, [0x18006dfb0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2c
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 0x15
movzx eax, word [rsp + rax + 0xd0]
test eax, eax
je 0x180033e06
mov dword [rsp + 0x2c], 1
jmp 0x180033e0e
mov dword [rsp + 0x2c], 0
movzx eax, byte [rsp + 0x2c]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
movzx eax, al
test eax, eax
je 0x180033e77
mov dword [rsp + 0x24], 0
jmp 0x180033e37
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x16
jge 0x180033e77
movsxd rax, dword [rsp + 0x24]
movzx eax, word [rsp + rax*2 + 0xd0]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x24]
cdq
mov ecx, 0xb
idiv ecx
mov eax, edx
add eax, 0x67
mov ecx, dword [rsp + 0x30]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x24]
mov word [rsp + rcx*2 + 0xd0], ax
jmp 0x180033e2d
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18003e720
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [0x18033eaf8], rax
mov dword [rsp + 0x28], 0
jmp 0x180033ebd
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0x16
jge 0x180033ed5
movsxd rax, dword [rsp + 0x28]
xor ecx, ecx
mov word [rsp + rax*2 + 0xd0], cx
jmp 0x180033eb3
lea rcx, [rsp + 0x60]
call fcn.180008180
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x130]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x68], xmm0
mov rax, qword [rsp + 0x130]
movsd xmm0, qword [rax + 8]
movsd qword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x138]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x78], xmm0
mov rax, qword [rsp + 0x138]
movsd xmm0, qword [rax + 8]
movsd qword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x140]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x88], xmm0
mov rax, qword [rsp + 0x140]
movsd xmm0, qword [rax + 8]
movsd qword [rsp + 0x90], xmm0
mov rax, qword [rsp + 0x148]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0x148]
movsd xmm0, qword [rax + 8]
movsd qword [rsp + 0xa0], xmm0
lea rax, [rsp + 0xa8]
mov rdi, rax
mov rsi, qword [rsp + 0x150]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x158]
mov byte [rsp + 0xb8], al
movss xmm0, dword [rsp + 0x160]
movss dword [rsp + 0xbc], xmm0
mov rax, qword [rsp + 0x168]
movsd xmm0, qword [rax]
movsd qword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x168]
movsd xmm0, qword [rax + 8]
movsd qword [rsp + 0xc8], xmm0
mov rax, qword [0x18033eaf8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x180034047
mov eax, 8
imul rax, rax, 0x4f
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x120]
call qword [rsp + 0x58]
nop
add rsp, 0x108
pop rdi
pop rsi
ret