Function at 0x41cb10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov ebx, dword [ebp + 0x14]
mov dword [esp + 8], 0xfb6df92a
mov dword [esp + 0xc], 0xff6dfd6e
mov dword [esp + 0x10], 0xf353f16c
mov dword [esp + 0x14], 0xf753f56b
mov dword [esp + 0x18], 0xeb4ce95a
mov dword [esp + 0x1c], 0xef4aed4d
mov dword [esp + 0x20], 0xe377e14d
mov dword [esp + 0x24], 0xe770e57e
lea eax, [esp + 0x28]
mov word [esp + 0x28], 0xd9e6
mov dword [esp + 0x2a], 0
mov dword [esp + 0x2e], 0
mov word [esp + 0x32], 0
mov ecx, 0x847034bf
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x7b8fcb49]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x70]
add dl, 0xc7
mov byte [esp + ecx + 0x7b8fcb49], dl
movzx edx, byte [esp + ecx + 0x7b8fcb4a]
lea esi, [ecx + 1]
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
inc edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x70]
add dl, 0xc7
mov byte [esp + ecx + 0x7b8fcb4a], dl
add ecx, 2
cmp ecx, 0x847034eb
jne 0x41cb90
lea edi, [esp + 0x70]
lea edx, [esp + 8]
mov ecx, 8
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x90]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax], 0
lea eax, [eax + 2]
jne 0x41cc20
lea ecx, [edi + eax]
add ecx, 0xfffffffe
mov eax, edi
not eax
and eax, ecx
xor ecx, edi
add eax, eax
sub eax, ecx
cmp eax, 0xffffffdd
jge 0x41cc48
mov eax, 0xffffffff
jmp 0x41cc4b
add eax, 0x22
push eax
call fcn.00409370
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x41cc81
add edi, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41cc70
mov word [eax], 0
movzx ecx, word [esp + 0x70]
test cx, cx
je 0x41ccb1
lea edx, [esp + 0x72]
nop
nop
nop
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 0x41cca0
mov word [eax], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 8], 0xbb29b959
mov dword [esp + 0xc], 0xbf93bd20
mov dword [esp + 0x10], 0xa338a159
mov dword [esp + 0x14], 0xa743a536
mov dword [esp + 0x18], 0xab3da948
mov dword [esp + 0x1c], 0xaf3dad41
mov dword [esp + 0x20], 0x537d5140
mov dword [esp + 0x24], 0x5779557f
mov dword [esp + 0x28], 0x5ba6597c
mov dword [esp + 0x2c], 0x5fc95dcd
mov dword [esp + 0x30], 0x43d241b9
mov dword [esp + 0x34], 0x47d54587
mov dword [esp + 0x38], 0x4bdc49a8
mov dword [esp + 0x3c], 0x4fd44dad
mov dword [esp + 0x40], 0x73bb71da
mov dword [esp + 0x44], 0x77ab7596
mov dword [esp + 0x48], 0x7b78795c
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov eax, 0x84043ae7
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x7bfbc521]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xaf
mov byte [esp + eax + 0x7bfbc521], cl
movzx ecx, byte [esp + eax + 0x7bfbc522]
lea edx, [eax + 1]
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
inc ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xaf
mov byte [esp + eax + 0x7bfbc522], cl
add eax, 2
cmp eax, 0x84043b37
jne 0x41cd80
lea eax, [esp + 0x5c]
push eax
push 0x41d100
lea eax, [esp + 0x10]
push eax
push esi
call fcn.0041d850
add esp, 0x10
mov ebx, eax
jmp dword [0x444514]