Function at 0x180016a90
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x150
mov rax, qword [0x18010a170]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov eax, 0x705
xor r10d, r10d
mov ebx, ecx
mov word [rsp + 0x72], ax
mov eax, 0x738
mov word [rsp + 0x70], r10w
mov word [rsp + 0x74], ax
mov eax, 0x743
mov word [rsp + 0x76], ax
mov eax, 0x763
mov word [rsp + 0x78], ax
mov eax, 0x788
mov word [rsp + 0x7a], ax
mov eax, 0x794
mov word [rsp + 0x7c], ax
mov eax, 0x7cb
mov word [rsp + 0x7e], ax
mov eax, 0x7e8
mov word [rsp + 0x80], ax
mov eax, 0x7f8
mov word [rsp + 0x82], ax
mov eax, 0x80c
mov word [rsp + 0x84], ax
mov eax, 0x83e
mov word [rsp + 0x86], ax
mov eax, 0x878
mov word [rsp + 0x88], ax
mov eax, 0x89e
mov word [rsp + 0x8a], ax
mov eax, 0x8d8
mov word [rsp + 0x8c], ax
mov eax, 0x8ee
mov word [rsp + 0x8e], ax
mov eax, 0x928
mov word [rsp + 0x90], ax
mov eax, 0x94f
mov word [rsp + 0x92], ax
mov eax, 0x9a8
mov word [rsp + 0x94], ax
mov eax, 0x9b8
mov word [rsp + 0x96], ax
mov eax, 0x9d4
mov word [rsp + 0x98], ax
mov eax, 0xa24
mov word [rsp + 0x9a], ax
mov eax, 0xa6c
mov word [rsp + 0x9c], ax
mov eax, 0xaac
mov word [rsp + 0x9e], ax
mov eax, 0xade
mov word [rsp + 0xa0], ax
mov eax, 0xb1a
mov word [rsp + 0xa2], ax
mov eax, 0xb4e
mov word [rsp + 0xa4], ax
mov eax, 0xb8a
mov word [rsp + 0xa6], ax
mov eax, 0xba8
mov word [rsp + 0xa8], ax
mov eax, 0xbb8
mov word [rsp + 0xaa], ax
mov eax, 0xbd4
mov word [rsp + 0xac], ax
mov eax, 0xd08
mov word [rsp + 0xae], ax
mov eax, 0xd80
mov word [rsp + 0xb0], ax
mov eax, 0xe70
mov word [rsp + 0xb2], ax
mov eax, 0xe80
mov word [rsp + 0xb4], ax
mov eax, 0xe90
mov word [rsp + 0xb6], ax
mov eax, 0xea0
mov word [rsp + 0xb8], ax
mov eax, 0xf38
mov word [rsp + 0xba], ax
mov eax, 0xf48
mov word [rsp + 0xbc], ax
mov eax, 0xf58
mov word [rsp + 0xbe], ax
mov eax, 0xf80
mov word [rsp + 0xc0], ax
mov eax, 0xfa8
mov word [rsp + 0xc2], ax
mov eax, 0xfc8
mov word [rsp + 0xc4], ax
mov eax, 0x100a
mov word [rsp + 0xc6], ax
mov eax, 0x102a
mov word [rsp + 0xc8], ax
mov eax, 0x104a
mov word [rsp + 0xca], ax
mov eax, 0x106a
mov word [rsp + 0xcc], ax
mov eax, 0x108a
mov word [rsp + 0xce], ax
mov eax, 0x10aa
mov word [rsp + 0xd0], ax
mov eax, 0x10c8
mov word [rsp + 0xd2], ax
mov eax, 0x10d8
mov word [rsp + 0xd4], ax
mov eax, 0x10f8
mov word [rsp + 0xd6], ax
mov eax, 0x1138
mov word [r11 - 0x80], ax
mov eax, 0x1148
mov word [r11 - 0x7e], ax
mov eax, 0x1178
mov word [r11 - 0x7c], ax
mov eax, 0x1198
mov word [r11 - 0x7a], ax
mov eax, 0x1804
mov word [r11 - 0x78], ax
mov eax, 0x1836
mov word [r11 - 0x76], ax
mov eax, 0x1878
mov word [r11 - 0x74], ax
mov eax, 0x1888
mov word [r11 - 0x72], ax
mov eax, 0x18d8
mov word [r11 - 0x70], ax
mov eax, 0x191d
mov word [r11 - 0x6e], ax
mov eax, 0x1969
mov word [r11 - 0x6c], ax
mov eax, 0x1981
mov word [r11 - 0x6a], ax
mov eax, 0xf008
mov word [r11 - 0x68], ax
mov eax, 0xf01c
mov word [r11 - 0x66], ax
mov eax, 0xf05e
mov word [r11 - 0x64], ax
mov eax, 0xf098
mov word [r11 - 0x62], ax
mov eax, 0xf0ca
mov word [r11 - 0x60], ax
mov eax, 0xf0f8
mov word [r11 - 0x5e], ax
mov eax, 0xf108
mov word [r11 - 0x5c], ax
mov eax, 0xf11e
mov word [r11 - 0x5a], ax
mov eax, 0xf158
mov word [r11 - 0x58], ax
mov eax, 0xf168
mov word [r11 - 0x56], ax
mov eax, 0xf18c
mov word [r11 - 0x54], ax
mov eax, 0xf1b8
mov word [r11 - 0x52], ax
mov eax, 0xf1da
mov word [r11 - 0x50], ax
mov eax, 0xf1fc
mov word [r11 - 0x4e], ax
mov eax, 0xf22e
mov word [r11 - 0x4c], ax
mov eax, 0xf2aa
mov word [r11 - 0x4a], ax
mov eax, 0xf2ca
mov word [r11 - 0x48], ax
mov eax, 0xf2f8
mov byte [rsp], r10b
mov word [r11 - 0x46], ax
mov eax, 0xf30a
mov byte [rsp + 1], 0x61
mov word [r11 - 0x44], ax
mov eax, 0xf35e
mov byte [rsp + 2], 0x63
mov word [r11 - 0x42], ax
mov eax, 0xf39c
mov byte [rsp + 3], 0x65
mov word [r11 - 0x40], ax
mov eax, 0xf3ea
mov byte [rsp + 4], 0x69
mov word [r11 - 0x3e], ax
mov eax, 0xf40e
mov byte [rsp + 5], 0x6e
mov word [r11 - 0x3c], ax
mov eax, 0xf448
mov byte [rsp + 6], 0x6f
mov word [r11 - 0x3a], ax
mov eax, 0xf45a
mov byte [rsp + 7], 0x75
mov word [r11 - 0x38], ax
mov eax, 0xf478
mov byte [rsp + 8], 0x79
mov word [r11 - 0x36], ax
mov eax, 0xf48c
mov byte [rsp + 9], 0x79
mov word [r11 - 0x34], ax
mov eax, 0xf4b0
mov byte [rsp + 0xa], 0x61
mov word [r11 - 0x32], ax
mov eax, 0xf4b8
mov byte [rsp + 0xb], 0x63
mov word [r11 - 0x30], ax
mov eax, 0xf4c0
mov byte [rsp + 0xc], 0x64
mov word [r11 - 0x2e], ax
mov eax, 0xf4c8
mov byte [rsp + 0xd], 0x65
mov word [r11 - 0x2c], ax
mov eax, 0xf50a
mov byte [rsp + 0xe], 0x65
mov word [r11 - 0x2a], ax
mov eax, 0xf5cc
mov byte [rsp + 0xf], 0x67
mov word [r11 - 0x28], ax
mov eax, 0xf64a
mov byte [rsp + 0x10], 0x68
mov word [r11 - 0x26], ax
mov eax, 0xf66a
mov byte [rsp + 0x11], 0x69
mov word [r11 - 0x24], ax
mov eax, 0xf72a
mov byte [rsp + 0x12], 0x6a
mov word [r11 - 0x22], ax
mov eax, 0xf79e
mov byte [rsp + 0x13], 0x6b
mov byte [rsp + 0x14], 0x6c
mov byte [rsp + 0x15], 0x6e
mov byte [rsp + 0x16], 0x6f
mov word [r11 - 0x20], ax
mov byte [rsp + 0x17], 0x72
mov byte [rsp + 0x18], 0x73
mov byte [rsp + 0x19], 0x74
mov byte [rsp + 0x1a], 0x75
mov byte [rsp + 0x1b], 0x75
mov byte [rsp + 0x1c], 0x77
mov byte [rsp + 0x1d], 0x79
mov byte [rsp + 0x1e], 0x7a
mov byte [rsp + 0x1f], 0x6f
mov byte [rsp + 0x20], 0x75
mov byte [rsp + 0x21], 0x61
mov byte [rsp + 0x22], 0x69
mov byte [rsp + 0x23], 0x6f
mov byte [rsp + 0x24], 0x75
mov byte [rsp + 0x25], 0x67
mov byte [rsp + 0x26], 0x6b
mov byte [rsp + 0x27], 0x6f
lea r11d, [rcx*8]
mov byte [rsp + 0x28], 0x6a
mov byte [rsp + 0x29], 0x67
mov byte [rsp + 0x2a], 0x6e
mov byte [rsp + 0x2b], 0x61
mov byte [rsp + 0x2c], 0x65
or r11d, 7
mov byte [rsp + 0x2d], 0x69
mov byte [rsp + 0x2e], 0x6f
mov byte [rsp + 0x2f], 0x72
mov byte [rsp + 0x30], 0x75
mov byte [rsp + 0x31], 0x73
mov byte [rsp + 0x32], 0x74
mov byte [rsp + 0x33], 0x68
mov byte [rsp + 0x34], 0x61
mov byte [rsp + 0x35], 0x65
mov byte [rsp + 0x36], 0x6f
mov byte [rsp + 0x37], 0x79
mov byte [rsp + 0x38], r10b
mov byte [rsp + 0x39], r10b
mov byte [rsp + 0x3a], r10b
mov byte [rsp + 0x3b], r10b
mov byte [rsp + 0x3c], r10b
mov byte [rsp + 0x3d], r10b
mov byte [rsp + 0x3e], r10b
mov byte [rsp + 0x3f], r10b
mov byte [rsp + 0x40], 0x61
mov byte [rsp + 0x41], 0x62
mov byte [rsp + 0x42], 0x64
mov byte [rsp + 0x43], 0x64
mov byte [rsp + 0x44], 0x65
mov byte [rsp + 0x45], 0x66
mov byte [rsp + 0x46], 0x67
mov byte [rsp + 0x47], 0x68
mov byte [rsp + 0x48], 0x68
mov byte [rsp + 0x49], 0x69
mov byte [rsp + 0x4a], 0x6b
mov byte [rsp + 0x4b], 0x6c
mov byte [rsp + 0x4c], 0x6c
mov byte [rsp + 0x4d], 0x6d
mov byte [rsp + 0x4e], 0x6e
mov byte [rsp + 0x4f], 0x70
mov byte [rsp + 0x50], 0x72
mov byte [rsp + 0x51], 0x72
mov byte [rsp + 0x52], 0x73
mov byte [rsp + 0x53], 0x74
mov byte [rsp + 0x54], 0x75
mov byte [rsp + 0x55], 0x76
mov byte [rsp + 0x56], 0x77
mov byte [rsp + 0x57], 0x77
mov byte [rsp + 0x58], 0x78
mov byte [rsp + 0x59], 0x79
mov byte [rsp + 0x5a], 0x7a
mov byte [rsp + 0x5b], 0x68
mov byte [rsp + 0x5c], 0x74
mov byte [rsp + 0x5d], 0x77
mov byte [rsp + 0x5e], 0x79
mov byte [rsp + 0x5f], 0x61
mov byte [rsp + 0x60], 0x65
mov byte [rsp + 0x61], 0x69
mov byte [rsp + 0x62], 0x6f
mov byte [rsp + 0x63], 0x75
mov byte [rsp + 0x64], 0x79
mov r8d, 0x64
mov r9d, r10d
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [rsp + rcx*2 + 0x70]
cmp r11d, edx
jb 0x18000ce50
mov r10d, eax
lea r9d, [rax + 1]
jmp 0x18000ce54
lea r8d, [rax - 1]
cmp r8d, r9d
jge 0x18000ce31
movsxd rdx, r10d
movzx eax, word [rsp + rdx*2 + 0x70]
mov ecx, eax
and eax, 7
shr ecx, 3
add ecx, eax
mov eax, ebx
cmp ebx, ecx
jg 0x18000ce75
movsx eax, byte [rsp + rdx]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.180001190
add rsp, 0x150
pop rbx
ret
push rbx
sub rsp, 0x20
cmp ecx, 0x80
mov ebx, edx
mov r8d, ecx
jge 0x180016ab8
lea eax, [rcx - 0x41]
cmp eax, 0x19
ja 0x180016b8a
lea eax, [rcx + 0x20]
add rsp, 0x20
pop rbx
ret
cmp ecx, 0x10000
jge 0x180016b76
mov qword [rsp + 0x30], rdi
xor r10d, r10d
mov r9d, 0xa2
or r11d, 0xffffffff
lea rdi, [0x180000000]
nop dword [rax]
lea eax, [r10 + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [rdi + rcx*4 + 0xeb620]
cmp r8d, edx
js 0x180016b02
mov r11d, eax
lea r10d, [rax + 1]
jmp 0x180016b06
lea r9d, [rax - 1]
cmp r9d, r10d
jge 0x180016ae0
test r11d, r11d
js 0x180016b57
movsxd rdx, r11d
movzx ecx, word [rdi + rdx*4 + 0xeb620]
movzx eax, byte [rdi + rdx*4 + 0xeb623]
add eax, ecx
cmp r8d, eax
jge 0x180016b57
movzx r9d, byte [rdi + rdx*4 + 0xeb622]
xor ecx, r8d
mov eax, r9d
and eax, 1
and eax, ecx
test al, al
jne 0x180016b57
mov rax, r9
shr rax, 1
movzx eax, word [rdi + rax*2 + 0xeb8b0]
add eax, r8d
movzx r8d, ax
mov rdi, qword [rsp + 0x30]
test ebx, ebx
je 0x180016b6d
mov ecx, r8d
add rsp, 0x20
pop rbx
jmp 0x18000c790
mov eax, r8d
add rsp, 0x20
pop rbx
ret
lea eax, [rcx - 0x10400]
cmp eax, 0x27
ja 0x180016b8a
lea eax, [rcx + 0x28]
add rsp, 0x20
pop rbx
ret
mov eax, ecx
add rsp, 0x20
pop rbx
ret