Function at 0x1001bc34
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
mov edx, dword [0x100405f4]
push esi
push edi
push 6
pop ecx
mov esi, str.twocircleinversesansserif
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [str.memory_shortage]
lea eax, [edx + 0x11659a2a]
or eax, 0x27172873
mov byte [ebp - 0x10], cl
mov dword [ebp - 0x18], eax
mov eax, dword [0x100405c8]
or eax, 0x89cedf0
movsw word es:[edi], word [esi]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp cl, byte [ebp - 0x34]
jne 0x1001bca6
test cl, cl
je 0x1001bca6
cmp byte [ebp + eax - 0x34], 0
je 0x1001bca6
mov cl, byte [eax + 0x1003f381]
inc eax
cmp cl, byte [ebp + eax - 0x34]
je 0x1001bc8e
movzx ecx, byte [eax + str.memory_shortage]
movzx eax, byte [ebp + eax - 0x34]
sub ecx, eax
cmp ecx, 0x188
jne 0x1001bcc7
mov edx, dword [ebp - 0x14]
or edx, 0x2c4941e9
jmp 0x1001bcd2
mov eax, dword [ebp - 0x14]
or eax, 0xb6602d99
mov dword [ebp - 0x18], eax
push 6
pop ecx
mov esi, str.equals_sign
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
push 0x75
and edx, 0x77fa9b51
xor eax, eax
pop esi
mov dword [0x100405c8], edx
mov dword [ebp - 0x14], eax
cmp si, word [ebp - 0x34]
jne 0x1001bd24
mov ecx, eax
mov edx, eax
test si, si
je 0x1001bd1b
cmp word [ebp + ecx - 0x34], ax
je 0x1001bd1b
inc edx
lea ecx, [edx + edx]
movzx esi, word [ecx + str.unknown_proxytype_option_given]
cmp si, word [ebp + ecx - 0x34]
je 0x1001bcfd
mov dword [ebp - 0x14], edx
mov edx, dword [0x100405c8]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax*2 + str.unknown_proxytype_option_given]
movzx eax, byte [ebp + eax*2 - 0x34]
sub ecx, eax
cmp ecx, 0x842
ja 0x1001bd4d
mov edx, dword [ebp - 0x18]
add edx, 0x9f8fb630
mov dword [0x100405c8], edx
mov ecx, edx
xor eax, eax
or ecx, 0xf7ddfedf
mov esi, eax
cmp byte [ebp - 0x10], al
je 0x1001bd91
lea edx, [ecx - 0x438d3062]
mov dword [0x100405c8], edx
inc esi
cmp byte [esi + str.memory_shortage], al
jne 0x1001bd6a
mov ecx, dword [ebp - 0x18]
jmp 0x1001bd8d
cmp ecx, 0x1e35
jne 0x1001bd8c
add edx, 0x3f902ef8
mov dword [0x100405c8], edx
inc ecx
cmp ecx, esi
jb 0x1001bd78
mov ecx, edx
mov esi, eax
and ecx, 0x9506cd97
mov dword [0x100405f4], ecx
cmp byte [ebp - 0x10], al
je 0x1001be38
mov ecx, edx
or ecx, 0xb37a2574
mov dword [0x100405f4], ecx
inc esi
cmp byte [esi + str.memory_shortage], al
jne 0x1001bdb8
cmp esi, 0x1b8c
jbe 0x1001be38
imul esi, edx, 0xea03a4ad
lea edi, [ebp - 0x34]
push 6
pop ecx
mov dword [ebp - 0x18], esi
mov esi, str.sequential_row_overflow
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x34], 0x72
jne 0x1001be95
mov cl, 0x72
test cl, cl
je 0x1001be03
cmp byte [ebp + eax - 0x34], 0
je 0x1001be03
mov cl, byte [eax + 0x10036271]
inc eax
cmp cl, byte [ebp + eax - 0x34]
je 0x1001bdeb
mov esi, dword [ebp - 0x18]
cmp esi, eax
jae 0x1001be95
imul edi, dword [0x100405f4], 0xc8ec2948
mov ecx, dword [ebp - 0x18]
cmp esi, 0x14f0
jne 0x1001be2f
imul edx, ecx, 0xc7f520b9
mov dword [0x100405c8], edx
inc esi
mov ecx, edi
cmp esi, eax
jb 0x1001be1b
jmp 0x1001be95
lea edx, [ecx - 0xab4805d]
mov esi, str.muesum.noisivdnadnuos
push 5
pop ecx
lea edi, [ebp - 0x30]
mov dword [0x100405c8], edx
rep movsd dword es:[edi], dword [esi]
mov cl, byte [ebp - 0x10]
movsw word es:[edi], word [esi]
cmp cl, byte [ebp - 0x30]
jne 0x1001be73
test cl, cl
je 0x1001be73
cmp byte [ebp + eax - 0x30], 0
je 0x1001be73
mov cl, byte [eax + 0x1003f381]
inc eax
cmp cl, byte [ebp + eax - 0x30]
je 0x1001be5b
movzx ecx, byte [eax + str.memory_shortage]
movzx eax, byte [ebp + eax - 0x30]
sub ecx, eax
cmp ecx, 0xb14
jne 0x1001be95
xor edx, 0xf43a4be
mov dword [0x100405c8], edx
lea eax, [edx + 0x3038b193]
pop edi
mov dword [0x100405ac], eax
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret