Function at 0x41ab70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pop ebp
ret
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x44f004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0x10
mov edx, 0x2a4b
cmp edx, 0x4ee1
jne 0x41ab9c
add esp, 0x10a
add esp, 0x10
call 0x41abce
cmp esp, dword [edi + 0x28351e13]
les edi, [edi + 0x10]
jle 0x41ab85
xchg ebp, eax
mov ecx, 0xf03603ca
dec edx
dec esp
pop ebp
out dx, al
adc byte [edi + 0x32], 0xb6
ror dword [edx], cl
dec edx
add cl, byte [edx - 0x2d]
inc esp
loopne 0x41ac0e
xchg ebx, eax
inc edx
sti
push esp
in eax, dx
loopne 0x41ab63
sub byte [ebx - 0x3cb1dbfc], al
std
sal dword [ecx + 0x7d2ccec8], 0xc9
imul esi, dword [edx + edi*2 + 0xa], 0xeedf1a78
dec edx
fadd dword [ebx + 0x16]
mov al, 0x9a
sbb dword [edx + eax + 0x7b], esp
outsb dx, byte [si]
les ebx, [esp - 0x48]
dec esi
push esi
add byte [eax], al
mov word [ebp - 0x24], ax
mov ecx, 0x36dd
mov word [ebp - 0x22], cx
mov edx, 0x7c3f
mov word [ebp - 0x20], dx
xor eax, eax
mov word [ebp - 0x1e], ax
mov ecx, dword [0x44b124]
shl byte [esi - 0x77], 0x45
loop 0x41ab9f
or eax, 0x44b124
mov dword [ebp - 0x14], ecx
mov dx, word [0x44b128]
mov word [ebp - 0x10], dx
mov eax, 0x5ba5
mov word [ebp - 0x1c], ax
mov ecx, 0x49c3
mov word [ebp - 0x1a], cx
xor edx, edx
mov word [ebp - 0x18], dx
mov eax, dword [0x44b12c]
mov dword [ebp - 0xc], eax
mov cx, word [0x44b130]
mov word [ebp - 8], cx
mov edx, dword [0x44b134]
mov dword [ebp - 0xd0], edx
mov ax, word [0x44b138]
mov word [ebp - 0xcc], ax
mov ecx, dword [0x44b13c]
mov dword [ebp - 0x2c], ecx
mov dx, word [0x44b140]
mov word [ebp - 0x28], dx
mov dword [ebp - 0xec], 0x298
mov dword [ebp - 0x108], 0xfaf
mov dword [ebp - 0xe8], 0
xor eax, eax
mov dword [ebp - 0x114], 0x917
mov dword [ebp - 0x110], eax
xor ecx, ecx
mov dword [ebp - 0x11c], 0xd46
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0xa4], 0x263f
xorps xmm0, xmm0
movlpd qword [ebp - 0x9c], xmm0
xor edx, edx
mov dword [ebp - 0xb8], 0xa11
mov dword [ebp - 0xb4], edx
xor eax, eax
mov dword [ebp - 0xc0], 0xaa1
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x68], 0x3103
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0x10c], 1
mov byte [ebp - 0x54], 0xeb
mov byte [ebp - 0x53], 0xac
xor ecx, ecx
mov byte [ebp - 0x52], cl
mov dx, word [0x44b144]
mov word [ebp - 0x58], dx
mov al, byte [0x44b146]
mov byte [ebp - 0x56], al
mov ecx, dword [0x44b148]
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x50], 0x95
mov byte [ebp - 0x4f], 0xc8
xor edx, edx
mov byte [ebp - 0x4e], dl
mov eax, dword [0x44b14c]
mov ecx, dword [0x44b150]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
mov edx, dword [0x44b154]
mov dword [ebp - 0xd8], edx
mov ax, word [0x44b158]
mov word [ebp - 0xd4], ax
mov ecx, 0x1dff
mov word [ebp - 0x3c], cx
mov edx, 0x3993
mov word [ebp - 0x3a], dx
mov eax, 0x5d11
mov word [ebp - 0x38], ax
xor ecx, ecx
mov word [ebp - 0x36], cx
mov edx, dword [0x44b15c]
mov dword [ebp - 0xe0], edx
mov ax, word [0x44b160]
mov word [ebp - 0xdc], ax
mov byte [ebp - 0x60], 0xdf
mov byte [ebp - 0x5f], 0x1d
xor ecx, ecx
mov byte [ebp - 0x5e], cl
mov dx, word [0x44b164]
mov word [ebp - 0x80], dx
mov al, byte [0x44b166]
mov byte [ebp - 0x7e], al
mov ecx, dword [0x44b168]
mov dword [ebp - 0x100], ecx
mov edx, dword [0x44b16c]
mov dword [ebp - 0xfc], edx
mov ax, word [0x44b170]
mov word [ebp - 0x84], ax
mov cl, byte [0x44b172]
mov byte [ebp - 0x82], cl
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x70], 1
cmp dword [ebp - 0x70], 0
jne 0x41ae34
mov edx, 0x9b
test edx, edx
je 0x41b11f
mov eax, dword [0x44b174]
mov dword [ebp - 0x34], eax
mov cx, word [0x44b178]
mov word [ebp - 0x30], cx
mov edx, dword [0x44b17c]
mov eax, dword [0x44b180]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], eax
mov ecx, dword [0x44b184]
mov edx, dword [0x44b188]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x44b18c]
mov ecx, dword [0x44b190]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, 1
imul eax, edx, 0
movzx ecx, byte [ebp + eax - 0x5c]
mov edx, 2
imul eax, edx, 0
movzx edx, word [ebp + eax - 0x44]
imul ecx, edx
mov eax, 2
imul edx, eax, 0
mov word [ebp + edx - 0x34], cx
mov eax, 2
imul ecx, eax, 0
movzx eax, word [ebp + ecx - 0x4c]
cdq
mov ecx, eax
add ecx, dword [ebp - 0xb8]
mov edx, 1
imul eax, edx, 0
movzx eax, byte [ebp + eax - 0x5c]
cdq
add ecx, eax
mov edx, 2
imul eax, edx, 0
mov word [ebp + eax - 0x44], cx
mov dword [ebp - 0xf0], 0
xor ecx, ecx
mov dword [ebp - 0x78], 0x7da
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x6c], 0x224
mov edx, dword [ebp - 0x70]
add edx, dword [ebp - 0x6c]
mov eax, 2
imul ecx, eax, 0
movzx eax, word [ebp + ecx - 0xc]
sub edx, eax
xor ecx, ecx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0xa0]
cdq
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov edx, 2
imul eax, edx, 0
movzx eax, word [ebp + eax - 0x2c]
cdq
sub ecx, eax
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x78]
mov edx, 1
shl edx, 1
movzx eax, byte [ebp + edx - 0x5c]
cdq
sub ecx, eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x7c], 1
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0x68], eax
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [ebp + edx - 0x50]
add eax, dword [ebp - 0x7c]
mov ecx, 2
imul edx, ecx, 0
movzx ecx, word [ebp + edx - 0xc]
add eax, ecx
mov edx, 2
imul ecx, edx, 0
mov word [ebp + ecx - 0xc], ax
mov byte [ebp - 0x64], 0x48
mov byte [ebp - 0x63], 0x7c
mov byte [ebp - 0x62], 0x5f
xor edx, edx
mov byte [ebp - 0x61], dl
mov ax, word [0x44b194]
mov word [ebp - 0x94], ax
mov cl, byte [0x44b196]
mov byte [ebp - 0x92], cl
mov dx, word [0x44b198]
mov word [ebp - 0x88], dx
mov al, byte [0x44b19a]
mov byte [ebp - 0x86], al
mov cx, word [0x44b19c]
mov word [ebp - 0x8c], cx
mov dl, byte [0x44b19e]
mov byte [ebp - 0x8a], dl
mov ax, word [0x44b1a0]
mov word [ebp - 0x90], ax
mov cl, byte [0x44b1a2]
mov byte [ebp - 0x8e], cl
mov edx, dword [ebp - 0x68]
sub edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xa4]
imul eax, dword [ebp - 0x68]
xor ecx, ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
xor edx, edx
mov dword [ebp - 0xc8], 0x3c77
mov dword [ebp - 0xc4], edx
xor eax, eax
mov dword [ebp - 0xb0], 0x924
mov dword [ebp - 0xac], eax
xor ecx, ecx
mov dword [ebp - 0x134], 0xac4
mov dword [ebp - 0x130], ecx
mov edx, 1
shl edx, 0
movzx eax, byte [ebp + edx - 0x50]
mov ecx, 1
shl ecx, 0
movzx edx, byte [ebp + ecx - 0x58]
sub eax, edx
mov ecx, 2
imul edx, ecx, 0
movzx ecx, word [ebp + edx - 0x1c]
add eax, ecx
mov edx, 2
imul ecx, edx, 0
mov word [ebp + ecx - 0x14], ax
mov edx, 1
shl edx, 1
movzx eax, byte [ebp + edx - 0x5c]
add eax, dword [ebp - 0x70]
mov ecx, 2
imul edx, ecx, 0
movzx ecx, word [ebp + edx - 0x14]
add eax, ecx
mov edx, 1
shl edx, 0
mov byte [ebp + edx - 0x50], al
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xc8]
mov ecx, 1
imul edx, ecx, 0
mov byte [ebp + edx - 0x54], al
mov eax, 2
imul ecx, eax, 0
movzx eax, word [ebp + ecx - 0x24]
cdq
push edx
push eax
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004444a0
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x58], al
mov edx, dword [0x451878]
push edx
call fcn.004153c0
add esp, 4
mov dword [ebp - 0xa8], eax
jmp 0x41b148
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0xa8]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004388a4
mov esp, ebp
pop ebp
ret