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

Disassembly:
sub esp, 0x138
mov eax, dword [0x100ca170]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
push esi
push edi
mov ebp, dword [esp + 0x14c]
xor eax, eax
mov word [esp + 0x78], ax
mov ecx, 0x705
mov word [esp + 0x7a], cx
mov edx, 0x738
mov word [esp + 0x7c], dx
mov eax, 0x743
mov word [esp + 0x7e], ax
mov ecx, 0x763
mov word [esp + 0x80], cx
mov edx, 0x788
mov word [esp + 0x82], dx
mov eax, 0x794
mov word [esp + 0x84], ax
mov ecx, 0x7cb
mov word [esp + 0x86], cx
mov edx, 0x7e8
mov word [esp + 0x88], dx
mov eax, 0x7f8
mov word [esp + 0x8a], ax
mov ecx, 0x80c
mov word [esp + 0x8c], cx
mov edx, 0x83e
mov word [esp + 0x8e], dx
mov eax, 0x878
mov word [esp + 0x90], ax
mov ecx, 0x89e
mov word [esp + 0x92], cx
mov edx, 0x8d8
mov word [esp + 0x94], dx
mov eax, 0x8ee
mov word [esp + 0x96], ax
mov ecx, 0x928
mov word [esp + 0x98], cx
mov edx, 0x94f
mov word [esp + 0x9a], dx
mov eax, 0x9a8
mov word [esp + 0x9c], ax
mov ecx, 0x9b8
mov word [esp + 0x9e], cx
mov edx, 0x9d4
mov word [esp + 0xa0], dx
mov eax, 0xa24
mov word [esp + 0xa2], ax
mov ecx, 0xa6c
mov word [esp + 0xa4], cx
mov edx, 0xaac
mov word [esp + 0xa6], dx
mov eax, 0xade
mov word [esp + 0xa8], ax
mov ecx, 0xb1a
mov word [esp + 0xaa], cx
mov edx, 0xb4e
mov eax, 0xb8a
mov ecx, 0xba8
mov word [esp + 0xac], dx
mov word [esp + 0xae], ax
mov word [esp + 0xb0], cx
mov edx, 0xbb8
mov eax, 0xbd4
mov ecx, 0xd08
mov word [esp + 0xb2], dx
mov word [esp + 0xb4], ax
mov word [esp + 0xb6], cx
mov edx, 0xd80
mov eax, 0xe70
mov ecx, 0xe80
mov word [esp + 0xb8], dx
mov word [esp + 0xba], ax
mov word [esp + 0xbc], cx
mov edx, 0xe90
mov eax, 0xea0
mov ecx, 0xf38
mov word [esp + 0xbe], dx
mov word [esp + 0xc0], ax
mov word [esp + 0xc2], cx
mov edx, 0xf48
mov word [esp + 0xc4], dx
mov eax, 0xf58
mov word [esp + 0xc6], ax
mov ecx, 0xf80
mov word [esp + 0xc8], cx
mov edx, 0xfa8
mov word [esp + 0xca], dx
mov eax, 0xfc8
mov word [esp + 0xcc], ax
mov ecx, 0x100a
mov word [esp + 0xce], cx
mov edx, 0x102a
mov word [esp + 0xd0], dx
mov eax, 0x104a
mov word [esp + 0xd2], ax
mov ecx, 0x106a
mov word [esp + 0xd4], cx
mov edx, 0x108a
mov word [esp + 0xd6], dx
mov eax, 0x10aa
mov word [esp + 0xd8], ax
mov ecx, 0x10c8
mov word [esp + 0xda], cx
mov edx, 0x10d8
mov word [esp + 0xdc], dx
mov eax, 0x10f8
mov word [esp + 0xde], ax
mov ecx, 0x1138
mov word [esp + 0xe0], cx
mov edx, 0x1148
mov word [esp + 0xe2], dx
mov eax, 0x1178
mov word [esp + 0xe4], ax
mov ecx, 0x1198
mov word [esp + 0xe6], cx
mov edx, 0x1804
mov word [esp + 0xe8], dx
mov eax, 0x1836
mov word [esp + 0xea], ax
mov ecx, 0x1878
mov word [esp + 0xec], cx
mov edx, 0x1888
mov word [esp + 0xee], dx
mov eax, 0x18d8
mov word [esp + 0xf0], ax
mov ecx, 0x191d
mov word [esp + 0xf2], cx
mov edx, 0x1969
mov word [esp + 0xf4], dx
mov eax, 0x1981
mov word [esp + 0xf6], ax
mov ecx, 0xf008
mov word [esp + 0xf8], cx
mov edx, 0xf01c
mov word [esp + 0xfa], dx
mov eax, 0xf05e
mov word [esp + 0xfc], ax
mov ecx, 0xf098
mov edx, 0xf0ca
mov word [esp + 0xfe], cx
mov word [esp + 0x100], dx
mov eax, 0xf0f8
mov word [esp + 0x102], ax
mov ecx, 0xf108
mov edx, 0xf11e
mov word [esp + 0x104], cx
mov word [esp + 0x106], dx
mov eax, 0xf158
mov ecx, 0xf168
mov edx, 0xf18c
mov word [esp + 0x108], ax
mov eax, 0xf1b8
mov word [esp + 0x10a], cx
mov word [esp + 0x10c], dx
mov ecx, 0xf1da
mov edx, 0xf1fc
mov word [esp + 0x10e], ax
mov word [esp + 0x110], cx
mov word [esp + 0x112], dx
mov eax, 0xf22e
mov word [esp + 0x114], ax
mov ecx, 0xf2aa
mov word [esp + 0x116], cx
mov edx, 0xf2ca
mov word [esp + 0x118], dx
mov eax, 0xf2f8
mov word [esp + 0x11a], ax
mov ecx, 0xf30a
mov word [esp + 0x11c], cx
mov edx, 0xf35e
mov word [esp + 0x11e], dx
mov eax, 0xf39c
mov word [esp + 0x120], ax
mov ecx, 0xf3ea
mov word [esp + 0x122], cx
mov edx, 0xf40e
mov word [esp + 0x124], dx
mov eax, 0xf448
mov word [esp + 0x126], ax
mov ecx, 0xf45a
mov word [esp + 0x128], cx
mov edx, 0xf478
mov word [esp + 0x12a], dx
mov eax, 0xf48c
mov word [esp + 0x12c], ax
mov ecx, 0xf4b0
mov word [esp + 0x12e], cx
mov edx, 0xf4b8
mov eax, 0xf4c0
mov ecx, 0xf4c8
mov word [esp + 0x130], dx
mov word [esp + 0x132], ax
mov word [esp + 0x134], cx
mov edx, 0xf50a
mov eax, 0xf5cc
mov ecx, 0xf64a
mov word [esp + 0x136], dx
mov word [esp + 0x138], ax
mov word [esp + 0x13a], cx
mov edx, 0xf66a
mov eax, 0xf72a
mov ecx, 0xf79e
mov bl, 0x79
mov word [esp + 0x13c], dx
mov dl, 0x6f
mov word [esp + 0x13e], ax
mov word [esp + 0x140], cx
mov cl, 0x75
xor eax, eax
mov byte [esp + 0x10], al
mov byte [esp + 0x11], 0x61
mov byte [esp + 0x12], 0x63
mov byte [esp + 0x13], 0x65
mov byte [esp + 0x14], 0x69
mov byte [esp + 0x15], 0x6e
mov byte [esp + 0x16], dl
mov byte [esp + 0x17], cl
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], bl
mov byte [esp + 0x1a], 0x61
mov byte [esp + 0x1b], 0x63
mov byte [esp + 0x1c], 0x64
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1e], 0x65
mov byte [esp + 0x1f], 0x67
mov byte [esp + 0x20], 0x68
mov byte [esp + 0x21], 0x69
mov byte [esp + 0x22], 0x6a
mov byte [esp + 0x23], 0x6b
mov byte [esp + 0x24], 0x6c
mov byte [esp + 0x25], 0x6e
mov byte [esp + 0x26], dl
mov byte [esp + 0x27], 0x72
mov byte [esp + 0x28], 0x73
mov byte [esp + 0x29], 0x74
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2c], 0x77
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2e], 0x7a
mov byte [esp + 0x2f], dl
mov byte [esp + 0x30], cl
mov byte [esp + 0x34], cl
mov byte [esp + 0x40], cl
mov byte [esp + 0x64], cl
mov byte [esp + 0x73], cl
lea ecx, [ebp*8]
mov byte [esp + 0x47], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x74], bl
or ecx, 7
xor ebx, ebx
mov byte [esp + 0x31], 0x61
mov byte [esp + 0x32], 0x69
mov byte [esp + 0x33], dl
mov byte [esp + 0x35], 0x67
mov byte [esp + 0x36], 0x6b
mov byte [esp + 0x37], dl
mov byte [esp + 0x38], 0x6a
mov byte [esp + 0x39], 0x67
mov byte [esp + 0x3a], 0x6e
mov byte [esp + 0x3b], 0x61
mov byte [esp + 0x3c], 0x65
mov byte [esp + 0x3d], 0x69
mov byte [esp + 0x3e], dl
mov byte [esp + 0x3f], 0x72
mov byte [esp + 0x41], 0x73
mov byte [esp + 0x42], 0x74
mov byte [esp + 0x43], 0x68
mov byte [esp + 0x44], 0x61
mov byte [esp + 0x45], 0x65
mov byte [esp + 0x46], dl
mov byte [esp + 0x48], al
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], al
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], al
mov byte [esp + 0x50], 0x61
mov byte [esp + 0x51], 0x62
mov byte [esp + 0x52], 0x64
mov byte [esp + 0x53], 0x64
mov byte [esp + 0x54], 0x65
mov byte [esp + 0x55], 0x66
mov byte [esp + 0x56], 0x67
mov byte [esp + 0x57], 0x68
mov byte [esp + 0x58], 0x68
mov byte [esp + 0x59], 0x69
mov byte [esp + 0x5a], 0x6b
mov byte [esp + 0x5b], 0x6c
mov byte [esp + 0x5c], 0x6c
mov byte [esp + 0x5d], 0x6d
mov byte [esp + 0x5e], 0x6e
mov byte [esp + 0x5f], 0x70
mov byte [esp + 0x60], 0x72
mov byte [esp + 0x61], 0x72
mov byte [esp + 0x62], 0x73
mov byte [esp + 0x63], 0x74
mov byte [esp + 0x65], 0x76
mov byte [esp + 0x66], 0x77
mov byte [esp + 0x67], 0x77
mov byte [esp + 0x68], 0x78
mov byte [esp + 0x6a], 0x7a
mov byte [esp + 0x6b], 0x68
mov byte [esp + 0x6c], 0x74
mov byte [esp + 0x6d], 0x77
mov byte [esp + 0x6f], 0x61
mov byte [esp + 0x70], 0x65
mov byte [esp + 0x71], 0x69
mov byte [esp + 0x72], dl
mov edi, 0x64
xor esi, esi
lea eax, [esi + edi]
cdq
sub eax, edx
sar eax, 1
movzx edx, word [esp + eax*2 + 0x78]
cmp ecx, edx
jb 0x10010bcd
mov ebx, eax
lea esi, [eax + 1]
jmp 0x10010bd0
lea edi, [eax - 1]
cmp edi, esi
jge 0x10010bb5
movzx eax, word [esp + ebx*2 + 0x78]
mov ecx, eax
and eax, 7
shr ecx, 3
add ecx, eax
cmp ebp, ecx
mov eax, ebp
jg 0x10010bee
movsx eax, byte [esp + ebx + 0x10]
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001180
add esp, 0x138
ret
push ecx
cmp ecx, 0x80
mov eax, ecx
jge 0x10018ccc
lea edx, [ecx - 0x41]
cmp edx, 0x19
ja 0x10018d6e
lea eax, [ecx + 0x20]
pop ecx
ret
cmp ecx, 0x10000
jge 0x10018d60
push ebx
push esi
push edi
xor esi, esi
mov edi, 0xa2
or ebx, 0xffffffff
push ebp
lea eax, [esi + edi]
cdq
sub eax, edx
sar eax, 1
movzx edx, word [eax*4 + 0x100b45b0]
mov ebp, ecx
sub ebp, edx
js 0x10018d03
mov ebx, eax
lea esi, [eax + 1]
jmp 0x10018d06
lea edi, [eax - 1]
cmp edi, esi
jge 0x10018ce6
pop ebp
test ebx, ebx
jl 0x10018d48
movzx eax, word [ebx*4 + 0x100b45b0]
movzx edx, byte [ebx*4 + 0x100b45b3]
add edx, eax
cmp ecx, edx
jge 0x10018d48
movzx edx, byte [ebx*4 + 0x100b45b2]
xor eax, ecx
and eax, edx
test al, 1
jne 0x10018d48
shr edx, 1
movzx eax, word [edx*2 + 0x100b4840]
add eax, ecx
and eax, 0xffff
jmp 0x10018d4a
mov eax, ecx
cmp dword [esp + 0x14], 0
pop edi
pop esi
pop ebx
je 0x10018d6e
add esp, 4
mov dword [esp + 4], eax
jmp 0x10010490
lea edx, [ecx - 0x10400]
cmp edx, 0x27
ja 0x10018d6e
lea eax, [ecx + 0x28]
pop ecx
ret