Function at 0x4014e0
Capabilities:
Encrypt data using des

Disassembly:
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
push ebx
mov ch, byte [eax]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
push ebp
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
push esi
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 6]
mov esi, ecx
xor ecx, ecx
push edi
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 7]
shl ecx, 8
or ecx, edx
mov eax, ecx
mov ecx, esi
shr ecx, 4
mov edx, eax
and ecx, 0xf0f0f0f
and edx, 0xf0f0f0f
xor ecx, edx
xor eax, ecx
shl ecx, 4
xor esi, ecx
mov edx, eax
mov ecx, esi
and edx, 0xffff
shr ecx, 0x10
xor ecx, edx
xor eax, ecx
shl ecx, 0x10
xor esi, ecx
mov ecx, eax
shr ecx, 2
mov edx, esi
and ecx, 0x33333333
and edx, 0x33333333
xor ecx, edx
xor esi, ecx
shl ecx, 2
xor eax, ecx
mov edx, esi
mov ecx, eax
and edx, 0xff00ff
shr ecx, 8
and ecx, 0xff00ff
xor ecx, edx
xor esi, ecx
shl ecx, 8
xor eax, ecx
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, edx
xor eax, esi
and eax, 0xaaaaaaaa
xor edx, eax
xor esi, eax
mov eax, dword [esp + 0x14]
mov ecx, esi
shr ecx, 0x1f
mov edi, dword [eax]
add esi, esi
xor edi, edx
add eax, 4
or ecx, esi
mov esi, edi
add eax, 4
shr esi, 0x18
and esi, 0x3f
add eax, 4
add eax, 4
mov ebp, dword [esi*4 + 0x42d200]
mov esi, edi
shr esi, 0x10
and esi, 0x3f
xor ecx, ebp
mov ebx, dword [esi*4 + 0x42d400]
mov esi, edi
shr esi, 8
and esi, 0x3f
and edi, 0x3f
xor ecx, ebx
mov ebx, dword [eax - 0xc]
mov ebp, dword [esi*4 + 0x42d600]
mov esi, dword [edi*4 + 0x42d800]
xor ecx, ebp
mov edi, edx
xor ecx, esi
mov esi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d100]
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
xor edi, ebp
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
add eax, 4
xor edx, edi
add eax, 4
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
xor edx, edi
mov edi, ecx
shl esi, 0x1c
mov ebx, dword [eax]
add eax, 4
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d200]
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
xor edi, ebp
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 4]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
xor edi, ebp
and esi, 0x3f
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax]
xor edi, ebx
xor ecx, edi
add eax, 4
xor esi, ecx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 0xc]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 4]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
shr edi, 0x18
and edi, 0x3f
mov ebx, esi
mov edi, dword [edi*4 + 0x42d100]
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
add eax, 4
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor edi, ebp
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
xor edi, ebp
and esi, 0x3f
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebx
mov ebx, dword [eax]
xor ecx, edi
mov esi, edx
mov edi, edx
add eax, 4
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov edi, esi
shr edi, 0x18
and edi, 0x3f
mov ebx, esi
mov edi, dword [edi*4 + 0x42d200]
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
add eax, 4
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor edi, ebp
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
xor edi, ebx
mov ebx, dword [eax - 0xc]
xor ecx, edi
mov esi, edx
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d100]
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
xor edi, ebp
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
add eax, 4
xor edx, edi
add eax, 4
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
xor edi, ebp
mov ebp, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edx, edi
mov edi, ecx
shl edi, 0x1c
shr esi, 4
or edi, esi
mov esi, dword [eax]
xor esi, edi
add eax, 4
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
add eax, 4
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x42d100]
and ebp, 0x3f
add eax, 4
xor ebx, dword [ebp*4 + 0x42d300]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
add eax, 4
xor ebx, dword [ebp*4 + 0x42d500]
mov ebp, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor ebx, ebp
xor esi, ecx
xor edx, ebx
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x42d200]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x42d400]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x42d600]
mov ebp, dword [esi*4 + 0x42d800]
mov esi, dword [eax - 8]
xor ebx, ebp
xor esi, edi
xor edx, ebx
mov ebx, esi
shr ebx, 0x10
and ebx, 0x3f
mov edi, esi
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
xor ecx, edi
shl esi, 0x1c
mov ebx, dword [eax]
mov edi, edx
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov edi, esi
mov ebx, esi
shr edi, 0x18
and edi, 0x3f
shr ebx, 0x10
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor edi, ebp
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
add eax, 4
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov esi, edx
mov edi, edx
add eax, 4
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
xor edi, ebp
and esi, 0x3f
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax]
xor edi, ebx
add eax, 4
xor edx, edi
add eax, 4
xor esi, edx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 0xc]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
shr edi, 0x18
mov ebx, esi
and edi, 0x3f
shr ebx, 0x10
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d100]
add eax, 4
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor edi, ebp
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
add eax, 4
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
xor edi, ebp
and esi, 0x3f
mov ebx, dword [esi*4 + 0x42d800]
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov edi, esi
shr edi, 0x18
mov ebx, esi
and edi, 0x3f
shr ebx, 0x10
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d200]
add eax, 4
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor edi, ebp
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
add eax, 4
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
xor edi, ebx
mov ebx, dword [eax - 0xc]
xor edx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 4]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d100]
mov ebp, dword [ebx*4 + 0x42d300]
xor edi, ebp
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
add eax, 4
xor ecx, edi
add eax, 4
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov ebx, dword [eax]
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d200]
mov ebp, dword [ebx*4 + 0x42d400]
xor edi, ebp
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
add eax, 4
xor edi, ebp
mov ebp, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor ecx, edi
mov edi, edx
shl edi, 0x1c
shr esi, 4
or edi, esi
mov esi, dword [eax - 8]
xor esi, edi
add eax, 4
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
add eax, 4
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x42d100]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x42d300]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x42d500]
mov ebp, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor ebx, ebp
xor esi, edx
xor ecx, ebx
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x42d200]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x42d400]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x42d600]
mov ebp, dword [esi*4 + 0x42d800]
mov esi, dword [eax - 8]
xor ebx, ebp
xor esi, edi
xor ecx, ebx
mov ebx, esi
shr ebx, 0x10
and ebx, 0x3f
mov edi, esi
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov ebp, dword [ebx*4 + 0x42d400]
mov edi, dword [edi*4 + 0x42d200]
mov ebx, esi
xor edi, ebp
shr ebx, 8
and ebx, 0x3f
and esi, 0x3f
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 4]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
xor edi, dword [ebx*4 + 0x42d500]
and esi, 0x3f
add eax, 4
add eax, 4
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebx
add eax, 4
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
add eax, 4
mov edi, esi
mov ebx, esi
add eax, 4
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 0xc]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
xor edi, dword [ebx*4 + 0x42d600]
and esi, 0x3f
add eax, 4
add eax, 4
mov ebx, dword [esi*4 + 0x42d800]
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
add eax, 4
mov edi, esi
mov ebx, esi
add eax, 4
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 0xc]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d100]
mov ebp, dword [ebx*4 + 0x42d300]
xor edi, ebp
mov ebx, esi
and esi, 0x3f
shr ebx, 8
and ebx, 0x3f
add eax, 4
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
add eax, 4
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
mov ebx, dword [eax]
or esi, edi
xor esi, ebx
add eax, 4
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
add eax, 4
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
add eax, 4
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
add eax, 4
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 8]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 4]
xor edi, ebp
xor edi, ebx
xor ecx, edi
xor esi, ecx
mov edi, esi
mov ebx, esi
shr edi, 0x18
shr ebx, 0x10
and edi, 0x3f
and ebx, 0x3f
mov edi, dword [edi*4 + 0x42d200]
mov ebp, dword [ebx*4 + 0x42d400]
xor edi, ebp
mov ebx, esi
and esi, 0x3f
shr ebx, 8
and ebx, 0x3f
add eax, 4
add eax, 4
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax - 8]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
add eax, 4
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
mov ebx, dword [esi*4 + 0x42d700]
mov esi, dword [eax - 8]
xor edi, ebp
xor edi, ebx
xor edx, edi
xor esi, edx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, edx
xor edi, ebx
mov ebx, dword [eax - 4]
xor ecx, edi
mov edi, edx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d300]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d100]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d500]
xor edi, ebp
mov ebp, dword [esi*4 + 0x42d700]
xor edi, ebp
mov esi, dword [eax]
xor ecx, edi
xor esi, ecx
mov ebx, esi
mov edi, esi
shr ebx, 0x10
and ebx, 0x3f
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x42d400]
mov ebx, esi
and edi, 0x3f
and esi, 0x3f
shr ebx, 8
mov edi, dword [edi*4 + 0x42d200]
and ebx, 0x3f
xor edi, ebp
mov ebp, dword [ebx*4 + 0x42d600]
mov ebx, dword [esi*4 + 0x42d800]
xor edi, ebp
mov esi, ecx
xor edi, ebx
mov ebx, dword [eax + 4]
xor edx, edi
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
xor esi, ebx
mov edi, esi
mov eax, esi
shr edi, 0x10
and edi, 0x3f
shr eax, 0x18
mov ebx, dword [edi*4 + 0x42d300]
mov edi, esi
and eax, 0x3f
and esi, 0x3f
shr edi, 8
mov eax, dword [eax*4 + 0x42d100]
and edi, 0x3f
xor eax, ebx
mov ebp, dword [edi*4 + 0x42d500]
mov edi, dword [esi*4 + 0x42d700]
xor eax, ebp
xor eax, edi
xor edx, eax
mov eax, edx
shl eax, 0x1f
shr edx, 1
or eax, edx
mov edx, eax
xor edx, ecx
and edx, 0xaaaaaaaa
xor ecx, edx
xor eax, edx
mov edx, ecx
mov esi, eax
shl edx, 0x1f
shr ecx, 1
or edx, ecx
and esi, 0xff00ff
mov ecx, edx
shr ecx, 8
and ecx, 0xff00ff
xor ecx, esi
xor eax, ecx
shl ecx, 8
xor edx, ecx
mov esi, eax
mov ecx, edx
and esi, 0x33333333
shr ecx, 2
and ecx, 0x33333333
xor ecx, esi
xor eax, ecx
shl ecx, 2
xor edx, ecx
mov ecx, eax
mov esi, edx
shr ecx, 0x10
and esi, 0xffff
xor ecx, esi
pop edi
xor edx, ecx
shl ecx, 0x10
xor eax, ecx
mov esi, edx
mov ecx, eax
and esi, 0xf0f0f0f
shr ecx, 4
and ecx, 0xf0f0f0f
xor ecx, esi
mov esi, dword [esp + 0x18]
xor edx, ecx
shl ecx, 4
xor eax, ecx
mov byte [esi + 7], dl
mov ecx, eax
mov byte [esi + 3], al
shr ecx, 0x18
mov byte [esi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov ecx, eax
mov eax, edx
shr ecx, 8
shr eax, 0x18
mov byte [esi + 2], cl
mov byte [esi + 4], al
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
mov byte [esi + 5], cl
mov byte [esi + 6], al
pop esi
pop ebp
pop ebx
ret