Function at 0x457f30
Capabilities:
Encode data using xor

Disassembly:
movzx edx, byte [ecx]
shl edx, 0xf
or edx, dword [0x4cf930]
mov eax, dword [esp + 4]
shl edx, 8
push ebx
movzx ebx, byte [eax]
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx], edx
movzx edx, byte [ecx + 1]
shl edx, 0xf
or edx, dword [0x4cf934]
movzx ebx, byte [eax + 1]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 4], edx
movzx edx, byte [ecx + 2]
movzx ebx, byte [eax + 2]
shl edx, 0xf
or edx, dword [0x4cf938]
push ebp
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 8], edx
movzx edx, byte [ecx + 3]
movzx ebx, byte [eax + 3]
shl edx, 0xf
or edx, dword [0x4cf93c]
mov ebp, dword [esp + 0x1c]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0xc], edx
movzx edx, byte [ecx + 4]
movzx ebx, byte [eax + 4]
shl edx, 0xf
or edx, dword [0x4cf940]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x10], edx
movzx edx, byte [ecx + 5]
movzx ebx, byte [eax + 5]
shl edx, 0xf
or edx, dword [0x4cf944]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x14], edx
movzx edx, byte [ecx + 6]
movzx ebx, byte [eax + 6]
shl edx, 0xf
or edx, dword [0x4cf948]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x18], edx
movzx edx, byte [ecx + 7]
movzx ebx, byte [eax + 7]
shl edx, 0xf
or edx, dword [0x4cf94c]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x1c], edx
movzx edx, byte [ecx + 8]
movzx ebx, byte [eax + 8]
shl edx, 0xf
or edx, dword [0x4cf950]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x20], edx
movzx edx, byte [ecx + 9]
movzx ebx, byte [eax + 9]
shl edx, 0xf
or edx, dword [0x4cf954]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x24], edx
movzx edx, byte [ecx + 0xa]
movzx ebx, byte [eax + 0xa]
shl edx, 0xf
or edx, dword [0x4cf958]
mov dword [esp + 0xc], 0x20
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x28], edx
movzx edx, byte [ecx + 0xb]
movzx ebx, byte [eax + 0xb]
shl edx, 0xf
or edx, dword [0x4cf95c]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x2c], edx
movzx edx, byte [ecx + 0xc]
movzx ebx, byte [eax + 0xc]
shl edx, 0xf
or edx, dword [0x4cf960]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x30], edx
movzx edx, byte [ecx + 0xd]
movzx ebx, byte [eax + 0xd]
shl edx, 0xf
or edx, dword [0x4cf964]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x34], edx
movzx edx, byte [ecx + 0xe]
movzx ebx, byte [eax + 0xe]
shl edx, 0xf
or edx, dword [0x4cf968]
shl edx, 8
or edx, ebx
mov ebx, dword [esi]
mov dword [ebx + 0x38], edx
movzx ecx, byte [ecx + 0xf]
movzx edx, byte [eax + 0xf]
mov eax, dword [esi]
mov ebx, dword [esp + 0x14]
shl ecx, 0xf
or ecx, dword [0x4cf96c]
shl ecx, 8
or ecx, edx
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov dword [ebx], 0
mov eax, dword [esi]
mov edx, dword [eax + 0x3c]
mov ecx, dword [esp + 0x18]
add edx, edx
xor edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
and edx, 0xffff
add eax, eax
xor edx, eax
mov dword [ecx], edx
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
shl edx, 0x10
shr eax, 0xf
or edx, eax
mov dword [ebp], edx
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x14]
shl edx, 0x10
shr eax, 0xf
or edx, eax
mov dword [edi], edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov eax, dword [eax]
shl edx, 0x10
shr eax, 0xf
or edx, eax
mov eax, dword [esp + 0x20]
mov dword [eax], edx
mov edx, dword [esp + 0x10]
push edx
push edi
push ebp
push ecx
call fcn.00457e10
shr eax, 1
push eax
mov ecx, esi
call fcn.00457bf0
add esp, 0x14
sub dword [esp + 0xc], 1
jne 0x458103
pop ebp
pop ebx
ret