Function at 0x41aefb
Capabilities:
Encrypt data using rc4 prga

Disassembly:
je 0x41ae2e
mov edx, dword [ecx + 0x53]
mov ebx, ecx
mov dword [ebp - 4], edx
push esi
push edi
mov edi, dword [ebp + 8]
movzx eax, word [ebx]
movzx eax, ax
xor edx, edx
movzx eax, byte [eax + 0x204c2140]
add byte [eax + 0x21], 0x4c
and byte [ebp + 0x2ee8430c], cl
sbb ecx, dword [ebp - 0x740f74ff]
salc
movzx eax, word [esi]
mov bh, 6
cmp eax, 0xe8830087
je 0x457d7d
add byte [0xe8830083], bh
cmp eax, 0xe8830083
je 0x457e42
cmp eax, 0xe8830084
je 0x457e42
cmp eax, 0xe8830088
je 0x457e42
sub eax, 0xf
test dl, dh
iretd
cmp eax, 0xe8830089
je 0x457e42
cmp eax, 0xe8830085
je 0x457e29
cmp eax, 0xe8830086
je 0x457e29
cmp eax, 0xe883008a
je 0x457e29
cmp eax, 0xe883008b
je 0x457e29
cmp eax, 0x7d
je 0x41aece
cmp eax, 0xe8830081
je 0x41aed5
cmp eax, 0xe8830082
je 0x41aed5
cmp eax, 0x55
je 0x457df5
cmp eax, 0x56
je 0x457df5
cmp eax, 0x5e
je 0x457df5
cmp eax, 0x1b
je 0x457e5e
cmp eax, 0x1c
je 0x457e5e
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
push 1
jmp 0x457e45
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x10]
inc eax
push eax
adc byte [eax + 0x50], al
jmp 0x457e48
add eax, dword [eax]
je 0x41af19
mov eax, dword [ebx + 0x565318ec]
mov eax, edx
mov dword [ebp - 0xc], 0xe8830086
push edi
mov ebx, ecx
mov dword [ebp - 0x18], eax
xor edi, edi
mov dword [ebp - 8], 0xe883007d
or esi, 0xffffffff
mov dword [eax], esi
movzx eax, word [ebx]
mov ecx, 0xe8830085
cmp ax, cx
je 0x457e79
add ecx, 5
cmp ax, cx
je 0x457e79
rol dword [0xfc13b66], 0x84
push ebp
iretd
add byte [ecx - 0x177cff7a], bh
mov ecx, 0xe8830086
cmp ax, cx
je 0x457e79
add ecx, 5
cmp ax, cx
je 0x457e79
push 4
pop eax
xor edx, edx
inc edx
lea ecx, [eax + ebx]
call 0xe8c4c94b
mov ecx, eax
movzx edx, word [ecx]
mov eax, edx
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
cmp ax, 0x31
ja 0x41af8e
cmp ax, 0x30
jae 0x457f0d
cmp ax, 0x1d
je 0x457e9b
cmp ax, 0x1e
je 0x457f0d
cmp ax, 0x22
ja 0x457e80
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
cmp ax, 0x36
je 0x41afba
cmp ax, 0x38
je 0x457f0d
cmp ax, word [ebp - 8]
inc ebp
clc
je 0x457ed6
mov dword [ebp - 4], 0xe8830080
cmp ax, word [ebp - 4]
jbe 0x41af87
jmp 0x457eb1
add ecx, 2
jmp 0x457f0d
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
cmp word [esi], cx
je 0x457dee
lea ecx, [esi + 4]
xor edx, edx
call fcn.0041c964
mov esi, eax
movzx eax, word [esi]
jmp 0x41ae48
jg 0x41aee0
cmp dword [edi + 0x70], 0
jne 0x41aee0
cmp dword [ebp + 0x10], 0
jmp 0x41aeda
movzx ecx, word [esi + 4]
xor edx, edx
add al, 0x33
rol byte [edx - 0x7d], cl
stc
and byte [ebx + 2], dh
inc edx
cmp ecx, 0x20
jae 0x457e50
shl edx, cl
push dword [ebp + 0x10]
or edx, dword [ebp - 4]
push dword [ebp + 0xc]
jmp 0x457e64
push dword [ebp + 0xc]
mov edx, dword [ebp - 4]
push edi
mov ecx, esi
call fcn.0041ae10
add dword [ebp + 0xc], 0xffffff85
dec eax
je 0x41aee0
movzx eax, word [ebx + 2]
push 0x77
inc ebx
add ch, byte [edx + 0x77]
lea ebx, [ebx + eax*2]
pop eax
cmp word [ebx], ax
je 0x41ae22
xor eax, eax
inc eax
jmp 0x41aee2
clc
and al, 0x76
adc eax, 0x29f88366
je 0x457eb1
cmp ax, 0x2b
jne 0x41afa0
jmp 0x457eb4
add ecx, 2
cmp dword [ebp + 8], 0
je 0x41afa0
movzx eax, word [ecx + 2]
test esi, esi
jns 0x457f3f
xor esi, esi
jmp 0x457f3b
add byte [esi + 0x3b], ah
inc ebp
cld
jbe 0x41afa0
mov eax, 0x8b
cmp dx, ax
ja 0x41afa0
push 0x7d
xor eax, eax
pop edx
cmp word [ebp - 0x10], dx
lea edx, [ebp - 0x14]
sete al
push eax
call 0x41aefb
pop ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
js 0x41afa0
xor ah, bh
invalid
mov eax, 0x8b0679f6
clc
mov esi, ecx
jmp 0x457f47
mov edi, eax
jmp 0x457f47
cmp edi, eax
jne 0x41afa0
movzx eax, word [ebx + 2]
push 0x77
pop edx
lea ebx, [ebx + eax*2]
cmp word [ebx], dx
jne 0x457f5d
mov eax, edx
jmp 0x41af23
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov eax, edi
jmp 0x41afa2