Function at 0x4439a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
mov ecx, ebp
add ecx, ebx
adc edx, 0
xor eax, eax
mov esi, 0xfffffffe
cmp esi, ecx
mov ecx, 0
sbb ecx, edx
mov esi, dword [esp + 0x2c]
jb 0x443a52
mov ecx, ebp
shr ecx, 2
mov edx, ebx
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebp
and edx, 0xfffffffc
add esi, edx
add edx, ebx
mov ecx, ebp
not ecx
or ecx, 3
lea ebx, [ecx + ebp]
inc ebx
mov ecx, ebx
shr ecx, 1
mov ebp, edx
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov edi, ebx
xor edi, 0xfffffffe
mov ebp, ebx
or ebp, 1
and ebp, edi
je 0x443c30
and ebx, 0xfffffffe
add edx, ebx
add esi, ebx
mov edi, ebp
and edi, 7
je 0x443bb3
xor ebx, ebx
nop
nop
nop
nop
movzx ecx, byte [edx + ebx]
mov byte [esi + ebx], cl
inc ebx
cmp edi, ebx
jne 0x443a30
add edx, ebx
add esi, ebx
mov edi, ebp
sub edi, ebx
cmp ebp, 8
jae 0x443bba
jmp 0x443c30
mov dword [esp], 0xf4f5f6f7
mov eax, 0x717b28ac
mov ebp, 0x8e84d753
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x717b28ac]
mov edx, eax
and edx, edi
add edx, edx
lea ebx, [eax + edi]
mov ecx, ebp
sub ecx, edi
and ecx, edx
not edx
and edx, ebx
sub edx, ecx
add dl, 0xa4
mov byte [esp + eax - 0x717b28ac], dl
inc eax
dec ebp
cmp eax, 0x717b28b0
jne 0x443a70
mov eax, dword [esp]
mov ecx, dword [0x451ae0]
test ecx, ecx
je 0x443ad0
xor edx, edx
mov edi, dword [0x451ae4]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
nop
nop
nop
cmp dword [edi + edx*8], 0x7789b0cb
je 0x443ada
inc edx
cmp ecx, edx
jne 0x443ac0
jmp 0x443b04
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
jmp 0x443b04
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x443b04
lea eax, [esp + 8]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x451ae8]
push ecx
call fcn.004425f0
add esp, 0x28
test eax, eax
mov edi, dword [esp + 0x28]
js 0x443c30
push 0x1e03da9a
push dword [0x459af4]
call fcn.00444eb0
add esp, 8
push 0
push 0
push ebp
push esi
push edi
push ebx
push dword [esp + 0x20]
call eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0xf4f5f6f7
mov edx, 0x717b28ac
mov ecx, 0x8e84d753
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx - 0x717b28a8]
mov ebx, edx
and ebx, edi
add ebx, ebx
lea ebp, [edx + edi]
mov esi, ecx
sub esi, edi
and esi, ebx
not ebx
and ebx, ebp
sub ebx, esi
add bl, 0xa4
mov byte [esp + edx - 0x717b28a8], bl
inc edx
dec ecx
cmp edx, 0x717b28b0
jne 0x443b50
mov edx, dword [0x451ae0]
test edx, edx
je 0x443c30
mov esi, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x451ae4]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x443c0f
inc edi
cmp edx, edi
jne 0x443ba0
jmp 0x443c30
mov edi, ebp
cmp ebp, 8
jb 0x443c30
xor eax, eax
xor ecx, ecx
nop
nop
movzx ebx, byte [edx + ecx]
mov byte [esi + ecx], bl
movzx ebx, byte [edx + ecx + 1]
mov byte [esi + ecx + 1], bl
movzx ebx, byte [edx + ecx + 2]
mov byte [esi + ecx + 2], bl
movzx ebx, byte [edx + ecx + 3]
mov byte [esi + ecx + 3], bl
movzx ebx, byte [edx + ecx + 4]
mov byte [esi + ecx + 4], bl
movzx ebx, byte [edx + ecx + 5]
mov byte [esi + ecx + 5], bl
movzx ebx, byte [edx + ecx + 6]
mov byte [esi + ecx + 6], bl
movzx ebx, byte [edx + ecx + 7]
mov byte [esi + ecx + 7], bl
add ecx, 8
cmp edi, ecx
jne 0x443bc0
jmp 0x443c30
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x443c30
push dword [esp + 0xc]
push 1
push dword [0x451ae8]
push edx
mov esi, eax
call fcn.004425f0
mov eax, esi
add esp, 0x10
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret