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

Disassembly:
sub esp, 0x120
mov eax, dword [esp + 0x124]
push ebx
push ebp
push esi
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x18]
mov ebp, dword [eax]
mov ebx, dword [eax + 0x10]
push edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x14]
lea esi, [eax + 0x28]
mov ecx, 0x10
lea edi, [esp + 0x30]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x2c], 0x30
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x68]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov eax, dword [ecx - 0x34]
mov ecx, dword [ecx]
mov edx, ecx
mov esi, ecx
shr edx, 0x11
shl esi, 0xf
or edx, esi
mov esi, ecx
mov edi, ecx
shr esi, 0x13
shl edi, 0xd
or esi, edi
mov edi, eax
xor edx, esi
mov esi, eax
shr ecx, 0xa
xor edx, ecx
mov ecx, eax
shr ecx, 0x12
shl esi, 0xe
or ecx, esi
mov esi, eax
shl esi, 0x19
shr edi, 7
or esi, edi
xor ecx, esi
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x2c]
add edx, ecx
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx - 0x38]
mov esi, dword [ecx - 0x14]
add edx, edi
add ecx, 4
add edx, esi
dec eax
mov dword [ecx + 4], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
jne 0x4eee3e
xor esi, esi
push esi
push 0x483bbc
call 0x512c68
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add esp, 8
push edi
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ebx
push ecx
push edx
push eax
push ebp
push 0x483b90
call 0x512c68
mov eax, ebx
mov ecx, ebx
shl eax, 0x15
shr ecx, 0xb
or eax, ecx
mov edx, ebx
mov ecx, ebx
add esp, 0x24
shl edx, 0x1a
shr ecx, 6
or edx, ecx
mov ecx, ebx
xor eax, edx
mov edx, ebx
shr edx, 0x19
shl ecx, 7
or edx, ecx
mov ecx, dword [esp + 0x20]
xor eax, edx
mov edx, ebx
not edx
and edx, ecx
mov ecx, dword [esp + 0x18]
and ecx, ebx
or edx, ecx
mov ecx, dword [esi*4 + 0x483a70]
add eax, edx
mov edx, dword [esp + esi*4 + 0x30]
add eax, ecx
mov ecx, ebp
add eax, edx
mov edx, ebp
shl ecx, 0x13
shr edx, 0xd
add eax, edi
or ecx, edx
mov edx, ebp
mov edi, ebp
shr edx, 0x16
shl edi, 0xa
or edx, edi
mov edi, ebp
xor ecx, edx
mov edx, ebp
shl edx, 0x1e
shr edi, 2
or edx, edi
mov edi, dword [esp + 0x14]
xor ecx, edx
mov edx, dword [esp + 0x10]
or edx, ebp
and edx, edi
mov edi, dword [esp + 0x10]
and edi, ebp
or edx, edi
add ecx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x1c]
inc esi
cmp esi, 0x40
lea ebx, [eax + edx]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
lea ebp, [ecx + eax]
jl 0x4eeea8
push esi
push 0x483bbc
call 0x512c68
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add esp, 8
push esi
push edi
push eax
mov eax, dword [esp + 0x1c]
push ebx
push ecx
push edx
push eax
push ebp
push 0x483b90
call 0x512c68
mov eax, dword [esp + 0x158]
add esp, 0x24
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, ebp
mov ebp, dword [eax + 8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x14]
add ebp, edx
mov edx, dword [eax + 0xc]
mov dword [eax + 8], ebp
mov ebp, dword [eax + 0x10]
add edx, ecx
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x18]
add ebp, ebx
mov ebx, dword [eax + 0x14]
add ebx, edx
mov edx, dword [eax + 0x18]
add edx, edi
add ecx, esi
pop edi
mov dword [eax + 0x10], ebp
pop esi
mov dword [eax + 0x14], ebx
pop ebp
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
pop ebx
add esp, 0x120
ret