Function at 0x4463d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
movzx eax, word [ebx + 0x1a]
mov edi, eax
call fcn.00446067
mov esi, eax
test eax, eax
jne 0x446398
mov byte [0x5bb718], al
mov byte [ebx], al
pop edi
pop esi
pop ebx
ret
lea ecx, [edi + 6]
mov dword [esi - 4], ecx
xor eax, eax
mov byte [0x5bb718], al
mov dword [esi], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], 1
mov dword [ebx + 0x10], esi
adc byte [ebp - 0x48f0dfba], cl
dec ebx
add cl, byte [ebp + 0x53890114]
int3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
add esp, 0xffffffe0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x40]
mov al, byte [eax]
dec al
je 0x44640a
dec al
je 0x446477
dec al
je 0x4464de
dec al
je 0x44658b
jmp 0x446666
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
inc eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20]
sub edx, eax
jb 0x446666
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x24]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x48]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx*4 + 0x40]
mov al, byte [edx + eax]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x48]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx*4 + 0x40]
mov ecx, dword [ebp - 0x1c]
add al, byte [edx + ecx]
and al, 0xff
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x48]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx*4 + 0x40]
mov ecx, dword [ebp - 0x1c]
mov byte [edx + ecx], al
inc dword [ebp - 0x1c]
dec dword [ebp - 0x20]
jne 0x446426
jmp 0x446666
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
test eax, eax
jbe 0x446666
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x48]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x40]
mov edx, dword [ebp - 0x1c]
mov al, byte [eax + edx]
test dword [ebp + 0x4e89064f], 0xa2c031fc
sbb byte [edi + 0x1e89005b], dh
nop
mov ecx, dword [0x5bb720]
sub ecx, ebx
jb 0x44668b
mov eax, dword [0x5bb71c]
sub eax, ebx
mov dword [0x5bb71c], eax
mov dword [0x5bb720], ecx
or ebx, 2
mov dword [eax - 4], ebx
jmp 0x446692
mov eax, ebx
call fcn.0044625b
mov byte [0x5bb718], 0
pop ebx
ret
mov edx, dword [eax - 4]
test dl, 7
mov ecx, eax
push ebx
mov bl, byte [0x5bb04d]
jne 0x4467fb
test bl, bl
mov ebx, dword [edx]
jne 0x446797
sub dword [edx + 0xc], 1
mov eax, dword [edx + 8]
je 0x44676b
test eax, eax
mov dword [edx + 8], ecx
lea eax, [eax + 1]
mov dword [ecx - 4], eax
je 0x446753
xor eax, eax
mov byte [ebx], al
pop ebx
ret
mov ecx, dword [ebx + 4]
mov dword [edx + 0x14], ebx
mov dword [edx + 4], ecx
mov dword [ecx + 0x14], edx
mov dword [ebx + 4], edx
mov byte [ebx], 0
xor eax, eax
pop ebx
ret
test eax, eax
je 0x446782
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov dword [ecx + 0x14], eax
xor eax, eax
cmp dword [ebx + 0x10], edx
jne 0x446785
mov dword [ebx + 0xc], eax
mov byte [ebx], al
mov eax, edx
mov edx, dword [edx - 4]
mov bl, byte [0x5bb04d]
jmp 0x446804
mov eax, 0x100
lock cmpxchg byte [ebx], ah
je 0x446736
push ecx
push edx
push 0
call fcn.00445f53
pop edx
pop ecx
mov eax, 0x100
lock cmpxchg byte [ebx], ah
je 0x446736
push ecx
push edx
push 0xa
call fcn.00445f53
pop edx
pop ecx
jmp 0x446797
mov eax, 0x100
lock cmpxchg byte [0x5bb718], ah
je 0x446810
push 0
call fcn.00445f53
mov eax, 0x100
lock cmpxchg byte [0x5bb718], ah
je 0x446810
push 0xa
call fcn.00445f53
jmp 0x4467cb
test dl, 5
jne 0x4468eb
and edx, 0xfffffff0
test bl, bl
mov ebx, edx
push esi
mov esi, eax
jne 0x4467cb
test dword [ebx + esi - 4], 1
mov ecx, dword [ebx + esi - 4]
jne 0x446853
or ecx, 8
mov dword [ebx + esi - 4], ecx
test byte [esi - 4], 8
jne 0x44686b
cmp ebx, 0x13ffe0
je 0x446883
lea eax, [ebx + 3]
mov dword [esi - 4], eax
mov dword [ebx + esi - 8], ebx
mov eax, esi
mov edx, ebx
call fcn.0044618f
mov byte [0x5bb718], 0
xor eax, eax
pop esi
pop ebx
ret
lea eax, [ebx + esi]
and ecx, 0xfffffff0
add ebx, ecx
cmp ecx, 0xb30
jb 0x446825
call fcn.0044614f
jmp 0x446825
mov ecx, dword [esi - 8]
sub esi, ecx
add ebx, ecx
cmp ecx, 0xb30
jb 0x44682b
mov eax, esi
call fcn.0044614f
jmp 0x44682b
cmp dword [0x5bb720], 0x13ffe0
jne 0x4468bb
sub esi, 0x10
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov dword [edx], eax
mov byte [0x5bb718], 0
push 0x8000
push 0
push esi
call fcn.00445f4b
cmp eax, 1
sbb eax, eax
pop esi
pop ebx
ret
lea ebx, [esi + 0x13ffe0]
call fcn.004461ef
mov dword [ebx - 4], 2
mov dword [0x5bb720], 0x13ffe0
mov dword [0x5bb71c], ebx
mov byte [0x5bb718], 0
xor eax, eax
pop esi
pop ebx
ret
pop ebx
test dl, 3
je 0x446377
mov eax, 0xffffffff
ret