Function at 0x41d9f0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov dword [esp + 8], 0x8b28954d
mov dword [esp + 0xc], 0x8f2d891b
mov dword [esp + 0x10], 0x83108d29
mov dword [esp + 0x14], 0x87108145
mov dword [esp + 0x18], 0x7b408516
mov dword [esp + 0x1c], 0x7fec79dd
mov dword [esp + 0x20], 0x73a77dd9
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0x7172
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0x94], 0
mov ecx, dword [esp + 0x94]
cmp ecx, 0x26
ja 0x41dace
nop
nop
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x94]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add esi, 0x1aa4996d
add ecx, 0x6d
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 5
mov edx, dword [esp + 0x94]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
cmp ecx, 0x27
jb 0x41da70
lea esi, [esp + 0x94]
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 + 0xb0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebx, [esp + 0x6c]
push ebx
push 0
push 0
push 0xe
push esi
push 0
call dword [0x4498f4]
mov edi, dword [esp + 0x6c]
test edi, edi
jns 0x41db1a
mov eax, 0xffffffff
jmp 0x41db1d
lea eax, [edi + edi]
push eax
call fcn.00408c60
add esp, 4
mov esi, eax
push ebx
push edi
push eax
push 0xe
lea eax, [esp + 0xa4]
push eax
push 0
call dword [0x4498f4]
mov dword [esp + 8], 0xb344b552
mov dword [esp + 0xc], 0xaf2db12d
mov dword [esp + 0x10], 0xab33ad3b
mov dword [esp + 0x14], 0xa733a933
mov dword [esp + 0x18], 0xa3a4a52b
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x70]
cmp ecx, 0x18
ja 0x41dbd8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x70]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx + edx]
add ecx, 0xe9
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x137ec7e9
mov dword [esp + 0xc8], edi
mov ecx, dword [esp + 0xc8]
add cl, 0xa1
mov edx, dword [esp + 0x70]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
cmp ecx, 0x19
jb 0x41db90
lea edi, [esp + 0xb4]
lea edx, [esp + 8]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
add ecx, 9
jns 0x41dc0e
mov eax, 0xffffffff
jmp 0x41dc13
add eax, eax
add eax, 0x12
push eax
call fcn.00408c60
add esp, 4
mov ebx, eax
movzx ecx, word [esi]
test cx, cx
je 0x41dc41
lea edx, [esi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41dc30
mov word [eax], 0
movzx ecx, word [esp + 0xb4]
test cx, cx
je 0x41dc71
lea edx, [esp + 0xb6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41dc60
mov edi, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.0043b3e0
add esp, 8
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443da8]