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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff74
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov byte [ebp - 0xd], 0xfe
xor ebx, ebx
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004157d8
cmp dword [ebp - 0x84], 1
je 0x4b4abe
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4b42b4]
call fcn.004b4330
mov ebx, eax
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004b4400
mov byte [ebp - 0x65], al
cmp byte [ebp - 0x65], 0
jne 0x4b4abe
mov eax, ebx
call fcn.00403f70
xor ebx, ebx
test ebx, ebx
je 0x4b4e76
mov eax, ebx
call fcn.004b47ac
cmp eax, 0x1e
jl 0x4b4ade
mov eax, ebx
call fcn.004b47b4
cmp eax, 0x1e
jge 0x4b4ae7
mov byte [ebp - 0xd], 0
jmp 0x4b4e76
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x60], 7
mov eax, dword [ebp - 0x60]
imul dword [ebp - 0x60]
mov dword [ebp - 0x60], eax
mov eax, ebx
call fcn.004b47ac
dec eax
mov dword [ebp - 0x6c], eax
mov eax, ebx
call fcn.004b47b4
dec eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0xc]
jbe 0x4b4b33
mov eax, dword [ebp - 0x6c]
xor edx, edx
div dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x4b4b3a
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp + 8]
jbe 0x4b4b50
mov eax, dword [ebp - 0x70]
xor edx, edx
div dword [ebp + 8]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x4b4b57
mov dword [ebp - 0x30], 1
xor eax, eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x64], eax
jmp 0x4b4e28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, ebx
call fcn.004b4730
mov esi, eax
mov eax, esi
call fcn.004b4700
mov byte [ebp - 0xe], al
mov eax, esi
call fcn.004b4704
mov byte [ebp - 0xf], al
mov eax, esi
call fcn.004b470c
mov byte [ebp - 0x10], al
movzx esi, byte [ebp - 0xe]
mov eax, esi
movzx edi, byte [ebp - 0xf]
sub eax, edi
cdq
xor eax, edx
sub eax, edx
cdq
push edx
push eax
mov eax, esi
xor edx, edx
mov dl, byte [ebp - 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cdq
push edx
push eax
call fcn.00410cbc
push edx
push eax
mov eax, edi
xor edx, edx
mov dl, byte [ebp - 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cdq
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
push edx
push eax
call fcn.00410cbc
push edx
push eax
call fcn.00410cbc
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
mov esi, 0xfffffffd
mov eax, dword [ebp - 0x28]
add eax, esi
test eax, eax
jge 0x4b4c11
mov esi, dword [ebp - 0x28]
neg esi
mov edi, 3
mov eax, ebx
call fcn.004b47b4
mov edx, dword [ebp - 0x28]
add edx, edi
cmp eax, edx
jg 0x4b4c33
mov eax, ebx
call fcn.004b47b4
mov edi, eax
sub edi, dword [ebp - 0x28]
dec edi
sub edi, esi
jl 0x4b4d14
inc edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x20], esi
mov edi, 0xfffffffd
mov eax, dword [ebp - 0x24]
add eax, edi
test eax, eax
jge 0x4b4c58
mov edi, dword [ebp - 0x24]
neg edi
mov dword [ebp - 0x34], 3
mov eax, ebx
call fcn.004b47ac
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x34]
cmp eax, edx
jg 0x4b4c7e
mov eax, ebx
call fcn.004b47ac
sub eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
add eax, edi
lea esi, [eax + eax*2]
add esi, dword [ebx + 0x14]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
imul dword [ebx + 0x10]
add esi, eax
lea eax, [esi + 0x15]
cmp eax, dword [ebx + 8]
jge 0x4b4d05
mov eax, edi
mov edi, dword [ebp - 0x34]
sub edi, eax
jl 0x4b4d05
inc edi
mov edx, esi
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x10]
and eax, 0xff
xor edx, edx
mov dl, byte [ebp - 0xe]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
add dword [ebp - 0x54], eax
lea edx, [esi + 1]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x10]
and eax, 0xff
xor edx, edx
mov dl, byte [ebp - 0xf]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
add dword [ebp - 0x58], eax
lea edx, [esi + 2]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x10]
and eax, 0xff
xor edx, edx
mov dl, byte [ebp - 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
add dword [ebp - 0x5c], eax
add esi, 3
dec edi
jne 0x4b4ca6
inc dword [ebp - 0x20]
dec dword [ebp - 0x88]
jne 0x4b4c45
cmp dword [ebp - 0x54], 1
jge 0x4b4d30
cmp dword [ebp - 0x58], 1
jge 0x4b4d30
cmp dword [ebp - 0x5c], 1
jge 0x4b4d30
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
jmp 0x4b4d7e
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
lea edx, [edx + edx*2]
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fstp qword [ebp - 0x48]
wait
fld qword [ebp - 0x48]
fdiv dword [0x4b4e8c]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0
push 0
push 0x3ff00000
push 0
call fcn.00410bd4
fsubr dword [0x4b4e90]
fstp qword [ebp - 0x48]
wait
xor eax, eax
mov al, byte [ebp - 0xe]
imul esi, eax, 0x12b
xor edx, edx
mov dl, byte [ebp - 0xf]
imul edi, edx, 0x24b
add esi, edi
xor ecx, ecx
mov cl, byte [ebp - 0x10]
imul edi, ecx, 0x72
add esi, edi
mov dword [ebp - 0x14], esi
imul esi, eax, 0xffffff57
imul edi, edx, 0x14b
sub esi, edi
imul edi, ecx, 0x1f4
add esi, edi
mov dword [ebp - 0x18], esi
imul eax, eax, 0x1f4
imul edx, edx, 0x1a3
sub eax, edx
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*8]
sub eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], 0x2ee0
jle 0x4b4e0b
cmp dword [ebp - 0x1c], 0
jge 0x4b4e0b
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
push 0
push 0x61a8
push 0
push 0x38270
call fcn.00410c84
test al, al
je 0x4b4e0b
fld qword [ebp - 0x40]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x40]
wait
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x6c]
jl 0x4b4b70
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x70]
jl 0x4b4e11
mov eax, ebx
call fcn.004b47ac
mov esi, eax
mov eax, ebx
call fcn.004b47b4
imul esi, eax
mov dword [ebp - 0x8c], esi
fild dword [ebp - 0x8c]
fld dword [0x4b4e94]
fmul qword [ebp - 0x40]
fdivrp st(1)
fild dword [ebp - 0x2c]
fmulp st(1)
fild dword [ebp - 0x30]
fmulp st(1)
call fcn.004028e8
mov byte [ebp - 0xd], al
cmp dword [ebp - 0x64], 5
jge 0x4b4e76
mov byte [ebp - 0xd], 0xfe
mov eax, ebx
call fcn.00403f70
mov al, byte [ebp - 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4