Function at 0x180129010
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x18015a008]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov edi, edx
mov dword [rbp - 0x80], 0x7050000
mov ebx, ecx
mov dword [rbp - 0x7c], 0x7430738
xor r11d, r11d
mov dword [rbp - 0x78], 0x7880763
mov dword [rbp - 0x74], 0x7cb0794
mov dword [rbp - 0x70], 0x7f807e8
mov dword [rbp - 0x6c], 0x83e080c
mov dword [rbp - 0x68], 0x89e0878
mov dword [rbp - 0x64], 0x8ee08d8
mov dword [rbp - 0x60], 0x94f0928
mov dword [rbp - 0x5c], 0x9b809a8
mov dword [rbp - 0x58], 0xa2409d4
mov dword [rbp - 0x54], 0xaac0a6c
mov dword [rbp - 0x50], 0xb1a0ade
mov dword [rbp - 0x4c], 0xb8a0b4e
mov dword [rbp - 0x48], 0xbb80ba8
mov dword [rbp - 0x44], 0xd080bd4
mov dword [rbp - 0x40], 0xe700d80
mov dword [rbp - 0x3c], 0xe900e80
mov dword [rbp - 0x38], 0xeb60ea0
mov dword [rbp - 0x34], 0xf380ef8
mov dword [rbp - 0x30], 0xf580f48
mov dword [rbp - 0x2c], 0xf800f68
mov dword [rbp - 0x28], 0xfc80fa8
mov dword [rbp - 0x24], 0x100a0fd8
mov dword [rbp - 0x20], 0x104a102a
mov dword [rbp - 0x1c], 0x108a106a
mov dword [rbp - 0x18], 0x10c810aa
mov dword [rbp - 0x14], 0x10f810d8
mov dword [rbp - 0x10], 0x11481138
mov dword [rbp - 0xc], 0x1178115a
mov dword [rbp - 8], 0x11981188
mov dword [rbp - 4], 0x18361804
mov dword [rbp], 0x18881878
mov dword [rbp + 4], 0x191d18d8
mov dword [rbp + 8], 0x19811969
mov dword [rbp + 0xc], 0xf01cf008
mov dword [rbp + 0x10], 0xf05ef048
mov dword [rbp + 0x14], 0xf0aaf098
mov dword [rbp + 0x18], 0xf0e8f0ca
mov dword [rbp + 0x1c], 0xf108f0f8
mov dword [rbp + 0x20], 0xf158f11e
mov dword [rbp + 0x24], 0xf178f168
mov dword [rbp + 0x28], 0xf1b8f18c
mov dword [rbp + 0x2c], 0xf1daf1c8
mov dword [rbp + 0x30], 0xf22ef1fc
mov dword [rbp + 0x34], 0xf2aaf26e
mov dword [rbp + 0x38], 0xf2e8f2ca
mov dword [rbp + 0x3c], 0xf30af2f8
mov dword [rbp + 0x40], 0xf35ef32c
mov dword [rbp + 0x44], 0xf3caf39c
mov dword [rbp + 0x48], 0xf40ef3ea
mov dword [rbp + 0x4c], 0xf45af448
mov dword [rbp + 0x50], 0xf48cf478
mov dword [rbp + 0x54], 0xf4b8f4b0
mov dword [rbp + 0x58], 0xf4c8f4c0
mov dword [rbp + 0x5c], 0xf52ef50a
mov dword [rbp + 0x60], 0xf5aaf56e
mov dword [rbp + 0x64], 0xf5fef5cc
mov dword [rbp + 0x68], 0xf64af638
mov dword [rbp + 0x6c], 0xf68ef66a
mov dword [rbp + 0x70], 0xf70af6ce
mov dword [rbp + 0x74], 0xf74ef72a
mov dword [rbp + 0x78], 0xf79ef788
mov dword [rsp], 0x65636100
mov dword [rsp + 4], 0x756f6e69
mov dword [rsp + 8], 0x63617979
mov dword [rsp + 0xc], 0x67656564
mov dword [rsp + 0x10], 0x6b6a6968
mov dword [rsp + 0x14], 0x726f6e6c
mov dword [rsp + 0x18], 0x75757473
mov dword [rsp + 0x1c], 0x6f7a7977
mov dword [rsp + 0x20], 0x6f696175
mov dword [rsp + 0x24], 0x67e1f575
mov dword [rsp + 0x28], 0x6aef6f6b
mov dword [rsp + 0x2c], 0x61e16e67
mov dword [rsp + 0x30], 0x726f6965
mov dword [rsp + 0x34], 0x68747375
mov dword [rsp + 0x38], 0x6fef6561
lea r10d, [rcx*8]
mov qword [rsp + 0x3c], 0x79ef
or r10d, 7
mov dword [rsp + 0x44], 0x62610000
mov dword [rsp + 0x48], 0xe56464e3
mov ecx, 0x7d
mov dword [rsp + 0x4c], 0x6766e565
mov r9d, r11d
mov dword [rsp + 0x50], 0xe9696868
mov dword [rsp + 0x54], 0x6cec6c6b
mov dword [rsp + 0x58], 0x70ef6e6d
mov dword [rsp + 0x5c], 0x7372f272
mov dword [rsp + 0x60], 0xf57574f3
mov dword [rsp + 0x64], 0x78777776
mov dword [rsp + 0x68], 0x74687a79
mov dword [rsp + 0x6c], 0xe1617977
mov dword [rsp + 0x70], 0xe565e1e1
mov dword [rsp + 0x74], 0xef6f69e5
mov dword [rsp + 0x78], 0xf575efef
mov word [rsp + 0x7c], 0x79f5
nop word [rax + rax]
lea eax, [r9 + rcx]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
movzx r8d, word [rbp + rdx*2 - 0x80]
lea edx, [rax + 1]
cmp r10d, r8d
cmovb edx, r9d
mov r9d, edx
lea edx, [rax - 1]
cmovb eax, r11d
cmovb ecx, edx
movsxd r11, eax
cmp ecx, r9d
jge 0x180128f50
test edi, edi
jne 0x180128f8b
cmp byte [rsp + r11], dil
jl 0x180128fa7
movzx eax, word [rbp + r11*2 - 0x80]
mov ecx, eax
and eax, 7
shr ecx, 3
add ecx, eax
cmp ebx, ecx
jg 0x180128fa7
movzx ebx, byte [rsp + r11]
and ebx, 0x7f
mov eax, ebx
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.18012ba20
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
push rdi
sub rsp, 0x20
mov edi, edx
cmp ecx, 0x80
jge 0x180129032
lea edx, [rcx - 0x41]
cmp edx, 0x19
lea eax, [rcx + 0x20]
cmova eax, ecx
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x10000
jge 0x1801290f7
xor r10d, r10d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
mov r9d, 0xa2
mov r11d, r10d
lea rsi, [0x180000000]
lea ebx, [r10 - 1]
nop
lea eax, [r11 + r9]
mov r8d, ecx
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
movzx edx, word [rsi + rdx*4 + 0x132f70]
sub r8d, edx
mov edx, eax
cmovs edx, ebx
test r8d, r8d
movsxd rbx, edx
lea edx, [rax + 1]
cmovs edx, r11d
dec eax
test r8d, r8d
mov r11d, edx
cmovs r9d, eax
cmp r9d, edx
jge 0x180129060
lea r8, [rbx*4 + 0x132f70]
mov rbx, qword [rsp + 0x30]
movzx edx, word [r8 + rsi]
movzx eax, byte [r8 + rsi + 3]
add eax, edx
cmp ecx, eax
jge 0x1801290da
movzx eax, byte [r8 + rsi + 2]
xor edx, ecx
and edx, eax
test dl, 1
jne 0x1801290da
shr rax, 1
movzx eax, word [rsi + rax*2 + 0x1343a0]
add eax, ecx
movzx ecx, ax
mov rsi, qword [rsp + 0x38]
test edi, edi
je 0x180129105
cmp edi, 2
sete r10b
mov edx, r10d
add rsp, 0x20
pop rdi
jmp 0x180128c50
lea eax, [rcx - 0x10400]
cmp eax, 0x27
lea eax, [rcx + 0x28]
jbe 0x180129107
mov eax, ecx
add rsp, 0x20
pop rdi
ret