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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, dword [0x537408]
mov eax, esi
imul eax, esi
imul eax, esi
push edi
mov edi, edx
mov ebx, ecx
cdq
mov ecx, 0x15
idiv ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], ebx
cmp edx, 5
jne 0x42b067
xor edx, edx
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x42afe4
mov dword [0x537408], esi
test ebx, ebx
je 0x42b25d
cmp dword [ebp + 8], 0
je 0x42b25d
lea eax, [ebp - 0xc]
push eax
mov edx, edi
mov ecx, ebx
call fcn.0042aee0
add esp, 4
test al, al
je 0x42b25d
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp + 0xc]
ja 0x42b25d
cmp byte [0x537410], 0
jne 0x42b0ca
xor ecx, ecx
jmp 0x42b0b0
movzx eax, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 0x537418], cl
inc ecx
cmp ecx, 0x40
jl 0x42b0b0
mov byte [0x537410], 1
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x14], esi
jbe 0x42b24f
mov eax, dword [0x537408]
movsd xmm7, qword [0x521658]
movsd xmm6, qword [0x521680]
movsd xmm5, qword [0x521650]
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 0xa
nop
mov al, byte [edi + ebx]
mov ecx, dword [ebp - 0x18]
mov dl, byte [edi + ebx + 1]
mov cl, byte [edi + ecx + 3]
mov bl, byte [edi + ebx + 2]
add edi, 4
mov byte [ebp - 1], cl
cmp al, 0x3d
je 0x42b128
movzx eax, al
movzx ecx, byte [eax + 0x537418]
jmp 0x42b12a
xor ecx, ecx
cmp dl, 0x3d
je 0x42b13e
movzx eax, dl
movzx eax, byte [eax + 0x537418]
mov dword [ebp - 0x10], eax
jmp 0x42b145
mov dword [ebp - 0x10], 0
cmp bl, 0x3d
je 0x42b156
movzx eax, bl
movzx ebx, byte [eax + 0x537418]
jmp 0x42b158
xor ebx, ebx
mov eax, dword [ebp - 8]
imul eax, dword [0x537408]
cdq
idiv dword [ebp - 0x1c]
cmp edx, 9
mov edx, dword [0x537408]
jne 0x42b17b
dec edx
dec dword [ebp - 8]
mov dword [0x537408], edx
mov al, byte [ebp - 1]
cmp al, 0x3d
je 0x42b18e
movzx eax, al
movzx eax, byte [eax + 0x537418]
jmp 0x42b190
xor eax, eax
shl ecx, 6
add ecx, dword [ebp - 0x10]
shl ecx, 6
add ecx, ebx
mov ebx, dword [ebp - 0xc]
shl ecx, 6
add ecx, eax
cmp esi, ebx
jae 0x42b1db
mov edx, dword [ebp + 8]
mov eax, ecx
shr eax, 0x10
mov byte [esi + edx], al
mov edx, dword [0x537408]
inc esi
cmp esi, ebx
jae 0x42b1db
mov edx, dword [ebp + 8]
mov eax, ecx
shr eax, 8
mov byte [esi + edx], al
mov edx, dword [0x537408]
inc esi
cmp esi, ebx
jae 0x42b1db
mov eax, dword [ebp + 8]
inc esi
mov byte [esi + eax - 1], cl
mov ecx, dword [ebp - 8]
lea eax, [ecx + 1]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xc
idiv ecx
cmp edx, 0xb
jne 0x42b240
movd xmm4, dword [0x537408]
movapd xmm3, xmm7
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
jmp 0x42b210
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42b22a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42b210
mov ebx, dword [ebp - 0x18]
cmp edi, dword [ebp - 0x14]
jb 0x42b100
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret