Function at 0x41d7f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov dword [esp + 8], 0xb3eeb195
mov dword [esp + 0xc], 0xb7d5b5cb
mov dword [esp + 0x10], 0xcbb6c9a9
mov dword [esp + 0x14], 0xcfbecd8d
mov dword [esp + 0x18], 0xc386c1b0
mov dword [esp + 0x1c], 0xc7b2c5a5
mov dword [esp + 0x20], 0xdbffd9b9
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0xdddc
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x26
ja 0x41d8c4
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add ecx, 0x38
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xae272f38
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xc0]
add cl, 0x78
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x27
jb 0x41d870
lea esi, [esp + 0x8c]
lea edx, [esp + 8]
mov ecx, 7
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x7c]
push edi
push 0
push 0
push 0xe
push esi
push 0
call dword [0x449c1c]
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jns 0x41d910
mov eax, 0xffffffff
jmp 0x41d913
lea eax, [ebx + ebx]
push eax
call fcn.00408ea0
add esp, 4
push edi
push ebx
mov ebx, eax
push eax
push 0xe
push esi
push 0
call dword [0x449c1c]
mov dword [esp + 8], 0x2b74257a
mov dword [esp + 0xc], 0x2f4d294d
mov dword [esp + 0x10], 0x334b2d43
mov dword [esp + 0x14], 0x375b315b
mov dword [esp + 0x18], 0x3b343543
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov word [esp + 0x24], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1d
ja 0x41d9c5
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + 0x6a3e2fa5]
add ecx, 0xa5
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xc0]
add cl, 0x7d
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1e
jb 0x41d980
lea edi, [esp + 0xac]
lea edx, [esp + 8]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc0]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov ecx, 1
sub ecx, eax
and ecx, 1
and eax, 0xfffffffe
sub eax, ecx
mov ecx, eax
add ecx, 0xa
jns 0x41da0a
mov eax, 0xffffffff
jmp 0x41da0f
add eax, eax
add eax, 0x14
push eax
call fcn.00408ea0
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41da41
lea edx, [ebx + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41da30
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x41da71
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41da60
mov edi, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0043b890
add esp, 8
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x443d58]
mov ecx, 0x661c62e3
xor ecx, dword [0x443d60]
add eax, ecx
inc eax
mov dword [esp + 0x80], ebx
jmp eax
and al, 0xdc
add eax, dword [eax]
add byte [eax - 0x74ffbbb1], dl
or eax, 0x445cb4
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x3d8], 0x445cbc
mov dword [esp + case.0x425ac4.1], 0x444f90
and al, 0xd0
add eax, dword [eax]
add byte [eax - 0x74ffbbb1], dl
or eax, 0x445cc8
and al, 0xd0
add eax, dword [eax]
add byte [eax - 0x74ffbbb1], dl
or eax, 0x445cc8
mov dword [esp + 0x2e0], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445cd0]
mov dword [esp + 0x2e4], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445cd8]
mov dword [esp + 0x2e8], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [str._t_W_]
mov dword [esp + 0x2ec], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445ce8]
mov dword [esp + 0x2f0], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445cf0]
mov dword [esp + 0x2f4], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445cf8]
mov dword [esp + 0x2f8], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d00]
mov dword [esp + 0x300], ecx
mov dword [esp + 0x3b0], 0x445d08
mov dword [esp + 0x3a8], 0x445d14
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d20]
mov dword [esp + 0x304], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d28]
mov dword [esp + 0x30c], ecx
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d30]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x394], 0x445d38
mov dword [esp + 0x38c], 0x445d44
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d50]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x380], 0x445d58
mov dword [esp + 0x378], 0x445d64
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ebx, dword [0x445d70]
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edx, dword [0x445d78]
mov dword [esp + case.0x425ac4.1], 0x444f90
mov ecx, dword [0x445d80]
mov dword [esp + case.0x425ac4.1], 0x444f90
mov esi, dword [0x445d88]
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445d90]
mov dword [esp + 0x274], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445d98]
mov dword [esp + 0x278], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445da0]
mov dword [esp + 0x27c], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445da8]
mov dword [esp + 0x280], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445db0]
mov dword [esp + 0x284], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445db8]
mov dword [esp + 0x288], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445dc0]
mov dword [esp + 0x28c], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445dc8]
mov dword [esp + 0x298], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445dd0]
mov dword [esp + 0x29c], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [str._r_a_24WRs]
mov dword [esp + 0x2a0], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445de0]
mov dword [esp + 0x2b0], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445de8]
mov dword [esp + 0x2c0], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445df0]
mov dword [esp + 0x2cc], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445df8]
mov dword [esp + 0x2d4], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445e00]
mov dword [esp + 0x2fc], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445e08]
mov dword [esp + 0x308], edi
mov dword [esp + case.0x425ac4.1], 0x444f90
mov edi, dword [0x445e10]
mov dword [esp + 0x2c], edi
jmp eax