Function at 0x41ce70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov dword [esp + 0x10], 0xab1eadc1
mov dword [esp + 0x14], 0x9739a93b
mov dword [esp + 0x18], 0x93069535
mov dword [esp + 0x1c], 0x9f0e91d1
mov dword [esp + 0x20], 0x9bd69d0c
mov dword [esp + 0x24], 0x871a9939
mov dword [esp + 0x28], 0x83ef8525
lea eax, [esp + 0x2c]
mov word [esp + 0x2c], 0x8180
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x36], 0
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x2f
ja 0x41cf49
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx esi, byte [esp + ecx + 0x10]
lea ecx, [edx + esi]
add ecx, 0x4853c91a
add edx, 0x4853c91a
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x4a
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x30
jb 0x41cf00
lea esi, [esp + 0x10e]
lea edx, [esp + 0x10]
mov ecx, 7
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x12a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebx, [esp + 0x7c]
push ebx
push 0
push 0
push 0xe
push esi
push 0
call dword [0x4492f0]
mov edi, dword [esp + 0x7c]
test edi, edi
jns 0x41cf95
mov eax, 0xffffffff
jmp 0x41cf98
lea eax, [edi + edi]
push eax
call fcn.00435ac0
add esp, 4
mov esi, eax
push ebx
push edi
push eax
push 0xe
lea eax, [esp + 0x11e]
push eax
push 0
call dword [0x4492f0]
mov dword [esp + 0x10], 0xc312c11c
mov dword [esp + 0x14], 0xc765c565
mov dword [esp + 0x18], 0xcb6bc963
mov dword [esp + 0x1c], 0xcf6bcd6b
mov dword [esp + 0x20], 0xd3d2d163
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x1f
ja 0x41d077
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 0xa0]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edx, 0xf6e2d6df
sub edx, ecx
add ecx, 0x91d29a0
and edx, 0x60
and ecx, 0x9f
sub ecx, edx
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x20
jb 0x41d020
lea edi, [esp + 0xfa]
lea edx, [esp + 0x10]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x10e]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov ecx, eax
add ecx, 9
jns 0x41d0ad
mov eax, 0xffffffff
jmp 0x41d0b2
add eax, eax
add eax, 0x12
push eax
call fcn.00435ac0
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x41d0e1
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d0d0
mov word [eax], 0
movzx ecx, word [esp + 0xfa]
test cx, cx
je 0x41d111
lea edx, [esp + 0xfc]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d100
mov word [eax], 0
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.0043af40
add esp, 8
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x4435d4]
mov ecx, 0x86296e5c
xor ecx, dword [0x4435dc]
add eax, ecx
inc eax
jmp eax