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

Disassembly:
sub esp, 0x124
mov ecx, 0x10
lea edx, [esp + 0x5c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x138]
push edi
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
mov esi, 0x30
mov eax, dword [edx - 0x34]
mov ecx, dword [edx]
mov edi, eax
mov ebx, eax
shr edi, 0x12
shl ebx, 0xe
or edi, ebx
mov ebx, eax
mov ebp, eax
add edx, 4
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
mov ebp, ecx
xor edi, ebx
mov ebx, ecx
shr eax, 3
xor edi, eax
mov eax, ecx
shr eax, 0x11
shl ebx, 0xf
or eax, ebx
mov ebx, ecx
shr ebx, 0x13
shl ebp, 0xd
or ebx, ebp
mov ebp, dword [edx - 0x3c]
xor eax, ebx
mov ebx, dword [edx - 0x18]
shr ecx, 0xa
xor eax, ecx
add edi, eax
add edi, ebp
add edi, ebx
dec esi
mov dword [edx + 4], edi
jne 0x1014cef5
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x18], 0
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x5c]
mov esi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x54]
mov edi, dword [ebx + 0x58]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x28], edx
mov edx, dword [ebx + 0x60]
mov ebx, dword [ebx + 0x64]
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebx
jmp 0x1014cf8e
mov edi, dword [esp + 0x14]
mov ebx, edi
mov ebp, edi
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], ebx
mov ebx, edi
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, edi
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x28]
not ebx
and ebp, edi
mov edi, dword [esp + 0x10]
and ebx, edx
xor ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b657c]
add edi, ebp
mov ebp, dword [esp + ebx + 0x34]
mov ebx, dword [esp + 0x20]
add edi, ebp
mov ebp, dword [esp + 0x1c]
add edi, ebp
mov ebp, esi
mov dword [esp + 0x10], edi
add eax, edi
mov edi, ebx
xor edi, esi
mov dword [esp + 0x2c], edi
mov edi, ebx
and edi, esi
mov ebx, esi
mov dword [esp + 0x30], edi
mov edi, esi
shl ebx, 0x13
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
shl ebp, 0xa
or edi, ebp
mov ebp, esi
xor ebx, edi
mov edi, esi
shl edi, 0x1e
shr ebp, 2
or edi, ebp
mov ebp, dword [esp + 0x2c]
xor ebx, edi
mov edi, dword [esp + 0x30]
and ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, eax
add edi, ebp
mov ebp, eax
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, eax
mov dword [esp + 0x10], ebx
mov ebx, eax
shl ebx, 0x1a
mov dword [esp + 0x1c], edi
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, eax
mov dword [esp + 0x10], ebp
mov ebp, eax
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
mov ebp, eax
not ebp
and ebp, ebx
mov ebx, dword [esp + 0x14]
and ebx, eax
xor ebp, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
mov ebp, dword [esp + 0x18]
add ebx, dword [ebp + 0x101b6580]
add ebx, dword [esp + ebp + 0x38]
mov ebp, edi
shl ebp, 0xa
add ebx, edx
mov edx, edi
mov dword [esp + 0x10], ebx
add ecx, ebx
mov ebx, edi
shl ebx, 0x13
shr edx, 0xd
or ebx, edx
mov edx, edi
shr edx, 0x16
or edx, ebp
mov ebp, edi
xor ebx, edx
mov edx, edi
shl edx, 0x1e
shr ebp, 2
or edx, ebp
mov ebp, ecx
xor ebx, edx
mov edx, dword [esp + 0x2c]
and edx, edi
mov edi, dword [esp + 0x30]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, ecx
add edx, edi
mov edi, ecx
shl edi, 0x15
shr ebx, 0xb
or edi, ebx
mov ebx, ecx
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, ecx
xor edi, ebx
mov ebx, ecx
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor edi, ebx
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, eax
and ebp, ecx
xor ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b6584]
add edi, ebp
mov ebp, dword [esp + ebx + 0x3c]
add edi, ebp
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
add edi, ebx
mov ebx, edx
add ebp, edi
mov dword [esp + 0x10], edi
mov edi, edx
mov dword [esp + 0x20], ebp
shl edi, 0x13
shr ebx, 0xd
or edi, ebx
mov ebx, edx
mov ebp, edx
shr ebx, 0x16
shl ebp, 0xa
or ebx, ebp
mov ebp, edx
xor edi, ebx
mov ebx, edx
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x1c]
xor edi, ebx
mov ebx, edx
xor ebx, esi
and ebx, ebp
mov ebp, edx
and ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, ebp
add esi, edi
mov edi, dword [esp + 0x20]
add esi, ebx
mov ebx, edi
mov ebp, edi
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], ebx
mov ebx, edi
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, edi
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, ecx
not ebx
and ebx, eax
and ebp, edi
mov edi, dword [esp + 0x10]
xor ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b6588]
add edi, ebp
mov ebp, dword [esp + ebx + 0x40]
mov ebx, dword [esp + 0x24]
add edi, ebp
add edi, dword [esp + 0x14]
add ebx, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
mov ebx, esi
mov edi, esi
shl ebx, 0x13
shr edi, 0xd
or ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x16
shl ebp, 0xa
or edi, ebp
mov ebp, esi
xor ebx, edi
mov edi, esi
shl edi, 0x1e
shr ebp, 2
or edi, ebp
mov ebp, edx
xor ebx, edi
mov edi, dword [esp + 0x1c]
xor ebp, esi
and ebp, edi
mov edi, edx
and edi, esi
xor ebp, edi
mov edi, dword [esp + 0x10]
add edi, ebx
add ebp, edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], ebp
mov ebx, edi
mov ebp, edi
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], ebx
mov ebx, edi
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, edi
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x20]
not ebx
and ebx, ecx
and ebp, edi
mov edi, dword [esp + 0x10]
xor ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b658c]
add edi, ebp
mov ebp, dword [esp + ebx + 0x44]
add edi, ebp
mov ebp, dword [esp + 0x1c]
add edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], edi
add ebp, edi
mov edi, eax
mov ebx, eax
shl edi, 0x13
shr ebx, 0xd
mov dword [esp + 0x1c], ebp
or edi, ebx
mov ebx, eax
mov ebp, eax
shr ebx, 0x16
shl ebp, 0xa
or ebx, ebp
mov ebp, eax
xor edi, ebx
mov ebx, eax
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
xor edi, ebx
mov ebx, esi
mov ebp, esi
xor ebx, eax
and ebp, eax
mov eax, dword [esp + 0x10]
and ebx, edx
xor ebx, ebp
add eax, edi
mov edi, dword [esp + 0x1c]
add eax, ebx
mov ebx, edi
mov ebp, edi
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], ebx
mov ebx, edi
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, edi
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x20]
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x24]
and edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b6590]
add edi, ebp
mov ebp, dword [esp + ebx + 0x48]
add edi, ebp
mov ebx, eax
add edi, ecx
mov ecx, eax
shl ebx, 0x13
shr ecx, 0xd
or ebx, ecx
mov ecx, eax
mov ebp, eax
add edx, edi
shr ecx, 0x16
shl ebp, 0xa
or ecx, ebp
mov ebp, eax
xor ebx, ecx
mov ecx, eax
shl ecx, 0x1e
shr ebp, 2
or ecx, ebp
xor ebx, ecx
mov ecx, dword [esp + 0x14]
mov ebp, ecx
and ecx, eax
xor ebp, eax
add edi, ebx
and ebp, esi
mov ebx, edx
xor ebp, ecx
add ebp, edi
mov edi, edx
shl edi, 0x15
shr ebx, 0xb
or edi, ebx
mov ebx, edx
mov ecx, ebp
shl ebx, 0x1a
mov ebp, edx
shr ebp, 6
or ebx, ebp
mov ebp, edx
xor edi, ebx
mov ebx, edx
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x1c]
and ebp, edx
xor ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b6594]
add edi, ebp
mov ebp, dword [esp + ebx + 0x4c]
add edi, ebp
mov ebp, dword [esp + 0x20]
add edi, ebp
mov ebx, ecx
mov dword [esp + 0x10], edi
add esi, edi
mov edi, ecx
mov ebp, ecx
shl ebx, 0x13
shr edi, 0xd
or ebx, edi
mov edi, ecx
shr edi, 0x16
shl ebp, 0xa
or edi, ebp
mov ebp, ecx
xor ebx, edi
mov edi, ecx
shl edi, 0x1e
shr ebp, 2
or edi, ebp
mov ebp, eax
xor ebx, edi
mov edi, dword [esp + 0x14]
xor ebp, ecx
mov dword [esp + 0x28], esi
and ebp, edi
mov edi, eax
and edi, ecx
xor ebp, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, esi
add edi, ebp
mov ebp, esi
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
mov ebp, esi
mov dword [esp + 0x10], ebx
mov ebx, esi
shl ebx, 0x1a
shr ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, esi
mov dword [esp + 0x10], ebp
mov ebp, esi
shr ebx, 0x19
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov ebx, esi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
not ebx
and ebx, ebp
mov ebp, edx
and ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, ebp
add esi, ebx
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x101b6598]
add esi, ebp
mov ebp, dword [esp + ebx + 0x50]
mov ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x24]
add esi, ebp
mov ebp, edi
add ebx, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
mov ebx, edi
mov esi, edi
shl ebx, 0x13
shr esi, 0xd
or ebx, esi
mov esi, edi
shr esi, 0x16
shl ebp, 0xa
or esi, ebp
mov ebp, edi
xor ebx, esi
mov esi, edi
shl esi, 0x1e
shr ebp, 2
or esi, ebp
mov ebp, ecx
xor ebx, esi
xor ebp, edi
mov esi, ecx
and ebp, eax
and esi, edi
xor ebp, esi
mov esi, dword [esp + 0x10]
add esi, ebx
mov ebx, dword [esp + 0x18]
add ebx, 0x20
add esi, ebp
cmp ebx, 0x100
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ebx
jb 0x1014cf8a
mov ebx, dword [esp + 0x138]
mov ebp, dword [ebx + 0x48]
add ebp, esi
mov esi, dword [ebx + 0x4c]
add esi, edi
pop edi
mov dword [ebx + 0x4c], esi
mov esi, dword [ebx + 0x50]
add esi, ecx
mov ecx, dword [ebx + 0x54]
add ecx, eax
mov eax, dword [ebx + 0x58]
mov dword [ebx + 0x54], ecx
mov ecx, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x58], eax
mov eax, dword [ebx + 0x5c]
add eax, ecx
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 0x60]
add eax, edx
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x60], eax
mov eax, dword [ebx + 0x64]
add eax, edx
mov dword [ebx + 0x48], ebp
pop esi
mov dword [ebx + 0x64], eax
pop ebp
pop ebx
add esp, 0x124
ret