Function at 0x425678
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffec
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ebx, eax
mov esi, 0x43a5dc
lea edi, [esp + 8]
lea ebp, [esp + 0xc]
mov edx, edi
mov eax, dword [esp]
mov ecx, 4
call fcn.004026c8
mov edx, ebp
mov eax, dword [esp]
add eax, 4
mov ecx, 4
call fcn.004026c8
mov dword [esp + 0x10], 3
mov eax, dword [ebx + 0x10]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x14]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x18]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x1c]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x20]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x24]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x28]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
dec dword [esp + 0x10]
jne 0x4256be
mov eax, dword [ebx + 0x2c]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x28]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x24]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x20]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x1c]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x18]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov eax, dword [ebx + 0x14]
add eax, dword [edi]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [ebp], edx
mov eax, dword [ebx + 0x10]
add eax, dword [ebp]
mov edx, eax
shr edx, 0x18
mov edx, dword [esi + edx*4 + 0xc00]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x800]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
xor edx, dword [esi + ecx*4 + 0x400]
and eax, 0xff
xor edx, dword [esi + eax*4]
xor dword [edi], edx
mov edx, dword [esp + 4]
mov eax, ebp
mov ecx, 4
call fcn.004026c8
mov edx, dword [esp + 4]
add edx, 4
mov eax, edi
mov ecx, 4
call fcn.004026c8
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
ret