Function at 0x4401e4
Capabilities:
Encode data using xor
Encrypt data using hc-128

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffec8
mov dword [esp], eax
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x90]
mov eax, dword [esp]
mov eax, dword [eax + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x9c]
mov dword [esp + 0x14], eax
mov esi, dword [esp]
mov esi, dword [esi + 0xa0]
mov eax, dword [esp]
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x18], eax
mov eax, dword [esp]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov eax, dword [eax + 0xac]
mov dword [esp + 0x20], eax
lea edx, [esp + 0x38]
mov eax, dword [esp]
mov ecx, 0x40
call fcn.00407394
mov edi, 0x10
lea ebp, [esp + 0x38]
mov eax, dword [ebp]
call fcn.00441898
mov dword [ebp], eax
add ebp, 4
dec edi
jne 0x44026b
mov edi, 0x30
lea eax, [esp + 0x3c]
mov edx, dword [eax]
mov dword [esp + 0x24], edx
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
shl edx, 0x19
mov ecx, dword [esp + 0x24]
shr ecx, 7
or edx, ecx
mov ecx, dword [esp + 0x28]
shl ecx, 0xe
mov ebp, dword [esp + 0x28]
shr ebp, 0x12
or ecx, ebp
xor edx, ecx
mov ecx, dword [eax]
shr ecx, 3
xor edx, ecx
mov dword [esp + 4], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
shl edx, 0xf
mov ecx, dword [esp + 0x2c]
shr ecx, 0x11
or edx, ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0xd
mov ebp, dword [esp + 0x30]
shr ebp, 0x13
or ecx, ebp
xor edx, ecx
mov ecx, dword [eax + 0x34]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [eax - 4]
add ecx, dword [esp + 4]
add ecx, dword [eax + 0x20]
add edx, ecx
mov dword [eax + 0x3c], edx
add eax, 4
dec edi
jne 0x440285
mov edi, 0x40
mov eax, 0x8b789c
lea edx, [esp + 0x38]
mov dword [esp + 0x34], edx
mov edx, ebx
shl edx, 0x1e
mov ecx, ebx
shr ecx, 2
or edx, ecx
mov ecx, ebx
shl ecx, 0x13
mov ebp, ebx
shr ebp, 0xd
or ecx, ebp
xor edx, ecx
mov ecx, ebx
shl ecx, 0xa
mov ebp, ebx
shr ebp, 0x16
or ecx, ebp
xor edx, ecx
mov dword [esp + 4], edx
mov edx, ebx
and edx, dword [esp + 0xc]
mov ecx, ebx
and ecx, dword [esp + 0x10]
xor edx, ecx
mov ecx, dword [esp + 0xc]
and ecx, dword [esp + 0x10]
xor edx, ecx
add edx, dword [esp + 4]
mov dword [esp + 8], edx
mov edx, esi
shl edx, 0x1a
mov ecx, esi
shr ecx, 6
or edx, ecx
mov ecx, esi
shl ecx, 0x15
mov ebp, esi
shr ebp, 0xb
or ecx, ebp
xor edx, ecx
mov ecx, esi
shl ecx, 7
mov ebp, esi
shr ebp, 0x19
or ecx, ebp
xor edx, ecx
mov ecx, esi
and ecx, dword [esp + 0x18]
mov ebp, esi
not ebp
and ebp, dword [esp + 0x1c]
xor ecx, ebp
add edx, dword [esp + 0x20]
add ecx, edx
add ecx, dword [eax]
mov edx, dword [esp + 0x34]
add ecx, dword [edx]
mov edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x14]
add esi, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov ebx, edx
add ebx, dword [esp + 8]
add dword [esp + 0x34], 4
add eax, 4
dec edi
jne 0x44031e
mov eax, dword [esp]
add dword [eax + 0x90], ebx
mov eax, dword [esp]
mov edx, dword [esp + 0xc]
add dword [eax + 0x94], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x10]
add dword [eax + 0x98], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x14]
add dword [eax + 0x9c], edx
mov eax, dword [esp]
add dword [eax + 0xa0], esi
mov eax, dword [esp]
mov edx, dword [esp + 0x18]
add dword [eax + 0xa4], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x1c]
add dword [eax + 0xa8], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x20]
add dword [eax + 0xac], edx
add esp, 0x138
pop ebp
pop edi
pop esi
pop ebx
ret