Function at 0x41d91e
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x8c], edx
push edi
mov dword [ebp - 0x78], ecx
xor esi, esi
mov dword [ebp - 0x84], 0x26
mov dword [ebp - 0x80], 0x21
mov dword [ebp - 0x7c], 0xffffffb9
sub eax, dword [ebp + esi*4 - 0x84]
inc esi
cmp esi, 3
jl 0x41d94f
push 0x25
mov dword [ebp - 0x88], eax
mov ecx, 0x4021b0
pop edx
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x41d988
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x41d96a
mov esi, dword [0x44d610]
jmp 0x41d994
mov esi, dword [0x44d610]
add esi, 0x36c35cf7
mov eax, dword [0x4020f4]
xor esi, 0x9cc86175
and dword [ebp - 8], 0
mov dword [ebp - 0x80], eax
mov ax, word [0x4020f8]
mov word [ebp - 0x7c], ax
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x44], 0x8c93277
mov dword [ebp - 0x40], 0x8f13c18a
mov dword [ebp - 0x3c], 0xdbe5b4a9
mov dword [ebp - 0x38], 0xf097d824
mov dword [ebp - 0x34], 0x370825f7
mov dword [ebp - 0x30], 0x19f57274
mov dword [ebp - 0x2c], 0xccce882e
mov dword [ebp - 0x28], 0x2e841cf9
mov dword [ebp - 0x24], 0x9d9970d5
mov dword [ebp - 0x20], 0x7c4f0779
mov dword [ebp - 0x1c], 0x33ffab53
mov dword [ebp - 0x18], 0x697e67ee
mov dword [ebp - 0x14], 0xf822d001
mov dword [ebp - 0x10], 0x17f71877
mov word [ebp - 0xc], 0xb80e
mov byte [ebp - 0xa], 0x67
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0x41da21
mov esi, dword [ebp - 8]
xor edi, edi
xor edx, edx
mov bl, byte [ebp + edi - 0x18c]
push 5
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x80]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x18c]
mov byte [ebp + edi - 0x18c], al
inc edi
mov byte [ebp + esi - 0x18c], bl
cmp edi, 0x100
jb 0x41da35
and dword [ebp - 8], 0
xor ebx, ebx
mov esi, dword [ebp - 4]
xor edi, edi
lea eax, [ebx + 1]
imul esi, esi, 0x47f0a906
movzx ebx, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + ebx - 0x18c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x18c]
mov byte [ebp + ebx - 0x18c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x18c], cl
movzx eax, byte [ebp + ebx - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + edi - 0x44]
mov byte [ebp + edi - 0x1c8], al
inc edi
cmp edi, 0x3b
jb 0x41da7d
mov dword [ebp - 4], esi
lea edi, [ebp - 0x84]
mov edx, dword [ebp - 4]
mov esi, 0x401608
xor ebx, ebx
mov dword [ebp - 0x74], 0x9e9ed1f3
mov byte [ebp - 0x18d], bl
mov ecx, ebx
mov dword [ebp - 0x70], 0xc0bd06dc
add edx, 0x185f9600
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6c], 0x9fe0ce41
mov dword [ebp - 0x68], 0x1c8bf0
mov dword [ebp - 0x64], 0xcd6e3a6d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], 0x30e19c87
mov dword [ebp - 0x5c], 0x28fb8168
mov dword [ebp - 0x58], 0x4dceac7
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x54], 0x6eedfedf
mov edi, ebx
mov dword [ebp - 0x50], 0xb462d5c7
mov dword [ebp - 0x4c], 0x79c29803
mov word [ebp - 0x48], 0x141e
mov byte [ebp + ecx - 0x18c], cl
inc ecx
cmp ecx, 0x100
jb 0x41db54
mov al, byte [0x44d648]
mov ecx, 0x44d648
jmp 0x41db79
sub al, 0x30
cmp al, 9
ja 0x41db7f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x41db70
jmp 0x41db85
or edx, 0xa6fb7e49
sub edx, 0x4671ca5a
mov dword [0x44d610], edx
call fcn.0041ba62
mov esi, ebx
mov dl, byte [ebp + esi - 0x18c]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x84]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], dl
cmp esi, 0x100
jb 0x41db98
movzx eax, byte [0x44d648]
mov edx, 0x28c
mov ecx, 0x44d648
jmp 0x41dbf5
add edx, eax
inc ecx
cmp edx, 0x2215
ja 0x41dc3e
movzx eax, byte [ecx]
test eax, eax
jne 0x41dbe7
mov eax, dword [0x44d610]
imul esi, eax, 0x5f61f2da
mov dword [ebp - 4], ebx
sub esi, 0x4be1d00a
xor edi, edi
mov dword [0x44d610], esi
push 0x25
mov edx, 0x23ad
mov eax, 0x4021b0
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x987
ja 0x41dc4a
movzx ecx, word [eax]
test ecx, ecx
jne 0x41dc22
xor esi, 0xe97d3bde
jmp 0x41dc70
mov eax, dword [0x44d610]
sub eax, 0x49b03a8a
jmp 0x41dbfe
sub esp, 0xc
call fcn.0041b81e
add esp, 0xc
mov edx, 0x4022f0
mov ecx, 0x44d648
or esi, 0xab81ec31
call fcn.0041b89e
xor esi, 0xaefa89e0
lea eax, [ebx + 1]
add esi, 0xcb7487a7
movzx ebx, al
and esi, 0xdb0b3ed8
mov eax, dword [ebp - 4]
mov dword [0x44d610], esi
mov cl, byte [ebp + ebx - 0x18c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x18c]
mov byte [ebp + ebx - 0x18c], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x18c], cl
movzx eax, byte [ebp + ebx - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + edi - 0x74]
mov byte [ebp + edi - 0x38], al
inc edi
cmp edi, 0x2e
jb 0x41dc15
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x78]
mov byte [ebp - 0xa], 0
cmp eax, ecx
jae 0x41dcff
cmp byte [eax + ebx], 0x5f
jne 0x41dcfc
mov byte [eax + ebx], 0x3d
inc eax
jmp 0x41dcee
mov ecx, ebx
call fcn.004369c6
mov edx, eax
call fcn.0040c1fb
lea ecx, [ebp - 0x38]
mov edx, eax
push ecx
lea ecx, [ebp - 0x1c8]
push ecx
mov ecx, ebx
call fcn.0040ae17
pop ecx
pop ecx
pop edi
pop esi
mov byte [eax + ebx], 0
pop ebx
leave
ret