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

Disassembly:
push eax
push ecx
nop
push edx
nop
push ebx
push esp
push ebp
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x6c
mov dword [ebp - 0xc], 0xe
mov dword [ebp - 8], 4
and dword [ebp - 4], 0
mov dword [ebp - 0x44], 0x4000
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
jmp 0x4029f1
mov dword [ebp - 0x34], 0x97612466
jmp 0x402b2c
mov eax, dword [ebp - 4]
mov edx, eax
add edx, eax
mov dword [ebp - 0x2c], edx
add dword [ebp - 0x14], 0x4714
dec dword [ebp - 0x34]
jmp 0x40298d
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
sub eax, 0xb
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov al, byte [edx + eax]
mov byte [ebp - 0x19], al
movzx edx, byte [ebp - 0x19]
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov edx, eax
shr edx, 1
add ecx, edx
mov edx, ecx
and edx, 0xff
mov ecx, dword [ebp - 0x6c]
xor ecx, edx
mov edx, ecx
mov byte [ebp - 0x19], dl
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov cl, byte [ebp - 0x19]
mov byte [edx + eax], cl
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jb 0x402932
mov dword [ebp - 0x3c], 0x442000
mov dword [ebp - 0x48], 0x41a691
jmp 0x402a11
add dword [ebp - 0x18], 0x64d0
jmp 0x402926
mov esi, 0x437691
mov ebx, 0x47a000
jmp 0x4029b3
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
dec eax
cmp dword [ebp - 0x2c], eax
jae 0x402996
jmp 0x402926
mov eax, dword [ebp - 8]
sub eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x48]
mov al, byte [edx + eax]
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x19]
mov byte [edx + eax], cl
inc dword [ebp - 0x24]
mov eax, 0x1cf90
cmp eax, dword [ebp - 0x24]
ja 0x4029bc
mov dword [ebp - 0x10], 0x43ec91
mov dword [ebp - 0x4c], 0x10000000
jmp 0x4029fa
mov dword [ebp - 0x18], 0x1be4
jmp 0x402a27
mov edi, dword [ebp - 0xc]
sub edi, 0xe
cmp edi, 0x6fa4
je 0x402a16
mov al, byte [esi + edi]
mov byte [ebx + edi], al
inc edi
jmp 0x402a00
inc dword [ebp - 0x2c]
jmp 0x4029a2
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], 0x1000
jmp 0x402a33
add dword [ebp - 0x14], 0x411b7d
jmp 0x402904
mov eax, dword [ebp - 8]
mov edx, eax
add edx, eax
mov eax, edx
sub eax, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x68], 0x39000
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
sub edx, 0xa
add eax, edx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], eax
mov ax, word [eax]
mov word [ebp - 0x36], ax
movzx edx, word [ebp - 0x36]
mov ecx, dword [ebp - 8]
shl edx, cl
mov word [ebp - 0x2e], dx
movzx edx, word [ebp - 0x2e]
sar edx, cl
mov word [ebp - 0x2e], dx
jmp 0x402a9b
movzx edx, word [ebp - 0x36]
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
sub ecx, 2
sar edx, cl
mov word [ebp - 0x56], dx
jmp 0x402ab1
movzx eax, word [ebp - 0x36]
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
sub edx, 0xe
cmp eax, edx
jne 0x402a86
jmp 0x402b38
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
jmp 0x402af7
movzx eax, word [ebp - 0x56]
mov edx, dword [ebp - 4]
add edx, 3
cmp eax, edx
jne 0x402ae9
mov eax, dword [ebp - 0x5c]
movzx edx, word [ebp - 0x2e]
add eax, edx
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], eax
mov edx, eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0xe
mov eax, dword [ebp - 0x64]
add eax, dword [edx]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
sub eax, 0xc
add dword [ebp - 0x28], eax
jmp 0x402b13
mov eax, dword [ebp - 8]
sub eax, 4
movzx edx, word [ebp - 0x2e]
cmp eax, edx
jne 0x402abc
mov eax, dword [ebp - 4]
mov edx, eax
add edx, eax
cmp dword [ebp - 0x28], edx
je 0x402abc
jmp 0x402b38
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
sub edx, 0x11
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + edx*4]
cmp dword [ebp - 0x28], edx
jae 0x402b38
jmp 0x402a49
add dword [ebp - 0x18], 0x1f94c
jmp 0x402910
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
sub edx, 0xd
mov ecx, eax
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x10], ecx
cmp ecx, 0x4418c9
jb 0x402a16
leave
jmp 0x45ebf8