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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov dword [esp], 0x383b3a3d
mov dword [esp + 4], 0
mov eax, 0x4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x4b]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x89
mov byte [esp + eax - 0x4b], cl
inc eax
cmp eax, 0x53
jne 0x443d40
mov ebx, dword [esp]
mov eax, dword [0x44fbb4]
test eax, eax
je 0x443dbe
xor ecx, ecx
mov edx, dword [0x44fbb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x8784ccde
je 0x443d90
inc ecx
cmp eax, ecx
jne 0x443d80
jmp 0x443dbe
mov eax, dword [edx + ecx*8 + 4]
cmp eax, ebx
je 0x443dbe
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 6
push dword [0x44fbbc]
push eax
call fcn.004403c0
add esp, 0x24
mov ebx, eax
mov dword [esp], 0xf13e3f19
mov dword [esp + 4], 0
mov eax, 0x43
mov ecx, 0xbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0x8e
mov edx, eax
and edx, 0x41
sub edx, edi
xor dl, byte [esp + eax - 0x43]
add dl, 0x77
mov byte [esp + eax - 0x43], dl
inc eax
dec ecx
cmp eax, 0x4b
jne 0x443de0
cmp ebx, dword [esp]
jne 0x443fd6
push dword [esp + 0x10]
call fcn.0043da10
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp], 0x383b3a3d
mov dword [esp + 4], 0
mov edx, 0x4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx - 0x4b]
mov ecx, ebx
and ecx, edx
add cl, cl
sub bl, cl
movzx ecx, bl
add ecx, edx
add cl, 0x89
mov byte [esp + edx - 0x4b], cl
inc edx
cmp edx, 0x53
jne 0x443e40
mov ebx, dword [esp]
mov edx, dword [0x44fbb4]
test edx, edx
je 0x443ed0
mov dword [esp + 8], edi
mov ecx, ebp
xor edi, edi
mov ebp, dword [0x44fbb8]
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x8784ccde
je 0x443e93
inc edi
cmp edx, edi
jne 0x443e80
mov ebp, ecx
jmp 0x443ecc
mov edx, dword [ebp + edi*8 + 4]
cmp edx, ebx
mov ebp, ecx
mov edi, dword [esp + 8]
je 0x443ed0
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x10]
push edi
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 6
push dword [0x44fbbc]
push edx
mov edi, eax
call fcn.004403c0
add esp, 0x24
mov ebx, eax
mov eax, edi
mov edi, dword [esp + 8]
test ebp, ebp
je 0x443fcd
test ebx, ebx
js 0x443fcd
test esi, esi
je 0x443fc5
mov ecx, dword [edi + 0xc]
shr ecx, 1
mov edx, dword [ebp]
cmp edx, ecx
jb 0x443ef6
mov edx, ecx
test edx, edx
je 0x443fbc
add eax, 0x10
mov ecx, edx
and ecx, 3
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
je 0x443f4c
mov ebp, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [eax]
xor edx, edx
test bx, bx
setne dl
lea eax, [eax + edx*2]
mov word [esi], bx
add esi, 2
inc edi
cmp ecx, edi
jne 0x443f20
mov edx, ebp
sub ebp, edi
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
cmp edx, 4
jae 0x443f60
jmp 0x443fbc
mov ebp, edx
cmp edx, 4
jb 0x443fbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, esi
movzx edx, word [eax]
xor ecx, ecx
test dx, dx
setne cl
lea esi, [eax + ecx*2]
mov word [ebx], dx
movzx eax, word [eax + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
lea edx, [esi + ecx*2]
mov word [ebx + 2], ax
movzx eax, word [esi + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
lea edi, [edx + ecx*2]
mov word [ebx + 4], ax
movzx ecx, word [edx + ecx*2]
xor eax, eax
test cx, cx
setne al
mov word [ebx + 6], cx
lea esi, [ebx + 8]
lea eax, [edi + eax*2]
add ebp, 0xfffffffc
jne 0x443f60
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov word [esi], 0
mov ebp, dword [esp + 0x34]
mov eax, dword [edi + 0xc]
shr eax, 1
mov dword [ebp], eax
push edi
call fcn.0043da90
add esp, 4
mov eax, ebx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret