Function at 0x40ed60
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x34
shr ebx, 4
xor ebx, ecx
and ebx, 0xf0f0f0f
mov esi, ebx
xor ebx, ecx
shl esi, 4
xor esi, edx
mov edx, esi
shr edx, 0x10
xor edx, ebx
and edx, 0xffff
mov edi, edx
xor edx, ebx
shl edi, 0x10
mov ecx, edx
shr ecx, 2
xor edi, esi
xor ecx, edi
and ecx, 0x33333333
lea ebx, [ecx*4]
xor ecx, edi
xor ebx, edx
mov edx, ebx
shr edx, 8
xor edx, ecx
and edx, 0xff00ff
mov esi, edx
xor edx, ecx
shl esi, 8
mov ecx, edx
shr ecx, 1
xor esi, ebx
xor ecx, esi
and ecx, 0x55555555
lea ebx, [ecx + ecx]
xor ecx, esi
xor ebx, edx
mov edx, dword [ebp + 8]
ror ebx, 0x1f
mov dword [ebp - 0x40], ebx
mov ebx, dword [edx + 0x40]
ror ecx, 0x1f
mov edi, dword [edx]
mov dword [ebp - 0x3c], ecx
mov esi, ecx
xor ecx, ebx
xor esi, edi
mov ebx, ecx
mov edx, ecx
ror esi, 4
shr ebx, 0x18
shr edx, 0x10
and ebx, 0x3f
and edx, 0x3f
mov edi, dword [edx*4 + 0x41d220]
mov edx, dword [ebx*4 + 0x41d020]
or edi, edx
mov edx, ecx
shr ecx, 8
and edx, 0x3f
and ecx, 0x3f
mov ebx, dword [edx*4 + 0x41d620]
mov edx, esi
and edx, 0x3f
or edi, ebx
mov ebx, dword [ecx*4 + 0x41d420]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or edi, ebx
and edx, 0x3f
or edi, ecx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, esi
shr edx, 0x10
or edi, ebx
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or edi, ecx
mov edx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x40]
or edi, edx
xor edi, esi
mov ebx, dword [ecx + 4]
mov esi, edi
mov ecx, edi
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x44]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x38], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x38]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x38], ebx
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x38]
or edx, ebx
shr ecx, 8
mov dword [ebp - 0x38], edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x38]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x38], ecx
mov ebx, dword [ebp - 0x38]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x38], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x38]
or edx, ebx
mov dword [ebp - 0x38], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x38]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x38], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov edx, dword [ebp - 0x38]
or edx, ebx
mov ebx, dword [ecx + 8]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
xor esi, edx
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x48]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x24], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x24]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x24], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x24]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x24], edx
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x24]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x24]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x24], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x24]
or edx, ebx
mov dword [ebp - 0x24], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x24]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov dword [ebp - 0x24], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp - 0x24]
or ecx, ebx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
xor edx, edi
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
mov ebx, dword [edx + 0x4c]
mov edi, dword [edx + 0xc]
xor ecx, ebx
xor esi, edi
mov ebx, ecx
mov edx, ecx
shr ebx, 0x18
shr edx, 0x10
and ebx, 0x3f
and edx, 0x3f
ror esi, 4
mov edi, dword [edx*4 + 0x41d220]
mov edx, dword [ebx*4 + 0x41d020]
or edi, edx
mov edx, ecx
shr ecx, 8
and edx, 0x3f
and ecx, 0x3f
mov ebx, dword [edx*4 + 0x41d620]
mov edx, esi
and edx, 0x3f
or edi, ebx
mov ebx, dword [ecx*4 + 0x41d420]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or edi, ebx
and edx, 0x3f
or edi, ecx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, esi
shr edx, 0x10
or edi, ebx
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or edi, ecx
mov edx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x38]
or edi, edx
xor edi, esi
mov ebx, dword [ecx + 0x10]
mov esi, edi
mov ecx, edi
xor esi, ebx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x50]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x20]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x20], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x20]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x20], edx
ror esi, 4
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x20]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x20], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x20]
or edx, ebx
mov dword [ebp - 0x20], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x20]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov edx, dword [ebp - 0x20]
or edx, ebx
mov ebx, dword [ecx + 0x14]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
xor esi, edx
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x54]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x34], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x34]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x34], ebx
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x34]
or edx, ebx
shr ecx, 8
mov dword [ebp - 0x34], edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x34]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x34]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x34], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x34]
or edx, ebx
mov dword [ebp - 0x34], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x34]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov dword [ebp - 0x34], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp - 0x34]
or ecx, ebx
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
xor edx, edi
mov dword [ebp - 0x34], edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov ebx, dword [edx + 0x58]
mov edi, dword [edx + 0x18]
xor ecx, ebx
xor esi, edi
mov ebx, ecx
mov edx, ecx
shr ebx, 0x18
shr edx, 0x10
and ebx, 0x3f
and edx, 0x3f
ror esi, 4
mov edi, dword [edx*4 + 0x41d220]
mov edx, dword [ebx*4 + 0x41d020]
or edi, edx
mov edx, ecx
shr ecx, 8
and edx, 0x3f
and ecx, 0x3f
mov ebx, dword [edx*4 + 0x41d620]
mov edx, esi
and edx, 0x3f
or edi, ebx
mov ebx, dword [ecx*4 + 0x41d420]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or edi, ebx
and edx, 0x3f
or edi, ecx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, esi
or edi, ebx
shr edx, 0x10
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or edi, ecx
mov edx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x20]
or edi, edx
xor edi, esi
mov ebx, dword [ecx + 0x1c]
mov esi, edi
mov ecx, edi
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x5c]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x30], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x30]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x30], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x30]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x30], edx
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x30]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x30]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x30]
or edx, ebx
mov dword [ebp - 0x30], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x30]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov edx, dword [ebp - 0x30]
or edx, ebx
mov ebx, dword [ecx + 0x20]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
xor esi, edx
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x60]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x1c]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x1c], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x1c]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x1c], edx
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x1c]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x1c], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x1c]
or edx, ebx
mov dword [ebp - 0x1c], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x1c]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov dword [ebp - 0x1c], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp - 0x1c]
or ecx, ebx
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
xor edx, edi
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [edx + 0x64]
mov edi, dword [edx + 0x24]
xor ecx, ebx
xor esi, edi
mov ebx, ecx
mov edx, ecx
shr ebx, 0x18
shr edx, 0x10
and ebx, 0x3f
and edx, 0x3f
ror esi, 4
mov edi, dword [edx*4 + 0x41d220]
mov edx, dword [ebx*4 + 0x41d020]
or edi, edx
mov edx, ecx
and edx, 0x3f
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, esi
and ecx, 0x3f
and edx, 0x3f
or edi, ebx
mov ebx, dword [ecx*4 + 0x41d420]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
or edi, ebx
shr edx, 0x18
or edi, ecx
and edx, 0x3f
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, esi
shr edx, 0x10
or edi, ebx
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or edi, ecx
mov edx, dword [esi*4 + 0x41d320]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x30]
or edi, edx
xor edi, esi
mov ebx, dword [ecx + 0x28]
mov esi, edi
mov ecx, edi
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x68]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x18], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x18]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x18], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x18]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x18], edx
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x18]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x18], ecx
mov ebx, dword [ebp - 0x18]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x18], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x18]
or edx, ebx
mov dword [ebp - 0x18], edx
mov edx, esi
shr edx, 0x10
mov ebx, dword [ebp - 0x18]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
or ebx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18], ebx
mov ebx, dword [esi*4 + 0x41d320]
mov edx, dword [ebp - 0x18]
or edx, ebx
mov ebx, dword [ecx + 0x2c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
xor esi, edx
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
xor esi, ebx
mov ebx, dword [ebp + 8]
ror esi, 4
mov edx, dword [ebx + 0x6c]
xor ecx, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x2c]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x2c], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x2c]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x2c], edx
mov edx, dword [ecx*4 + 0x41d420]
mov ecx, dword [ebp - 0x2c]
or ecx, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x2c], ecx
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, esi
shr edx, 0x10
or ecx, ebx
and edx, 0x3f
mov dword [ebp - 0x2c], ecx
shr esi, 8
mov ecx, dword [edx*4 + 0x41d120]
mov edx, dword [ebp - 0x2c]
or edx, ecx
and esi, 0x3f
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp + 8]
mov ebx, dword [esi*4 + 0x41d320]
mov esi, dword [ebp - 0x2c]
or esi, ebx
mov ecx, dword [edx + 0x30]
mov dword [ebp - 0x2c], esi
mov ebx, dword [ebp - 0x2c]
xor ebx, edi
mov edi, dword [edx + 0x70]
mov dword [ebp - 0x2c], ebx
mov esi, dword [ebp - 0x2c]
xor esi, ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, edi
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x14], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x14]
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x14], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x14]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x14], edx
ror esi, 4
mov edx, dword [ecx*4 + 0x41d420]
mov edi, dword [ebp - 0x14]
or edi, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x14], edi
mov ebx, dword [ebp - 0x14]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x14], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x14]
or edx, ebx
mov dword [ebp - 0x14], edx
mov edx, esi
shr edx, 0x10
mov edi, dword [ebp - 0x14]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
mov edx, dword [ebp - 0x18]
or edi, ecx
mov ebx, dword [esi*4 + 0x41d320]
mov dword [ebp - 0x14], edi
mov esi, dword [ebp - 0x14]
or esi, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebx + 0x74]
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
mov edx, dword [ecx + 0x34]
mov ecx, dword [ebp - 0x14]
xor ecx, edi
xor esi, edx
mov edx, ecx
mov ebx, ecx
shr edx, 0x10
shr ebx, 0x18
and edx, 0x3f
and ebx, 0x3f
mov edx, dword [edx*4 + 0x41d220]
mov dword [ebp - 0x28], edx
mov edx, dword [ebx*4 + 0x41d020]
mov ebx, dword [ebp - 0x28]
ror esi, 4
or ebx, edx
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0x28], ebx
shr ecx, 8
mov ebx, dword [edx*4 + 0x41d620]
mov edx, dword [ebp - 0x28]
or edx, ebx
and ecx, 0x3f
mov dword [ebp - 0x28], edx
mov edi, dword [ebp - 0x28]
mov edx, dword [ecx*4 + 0x41d420]
or edi, edx
mov edx, esi
and edx, 0x3f
mov dword [ebp - 0x28], edi
mov ebx, dword [ebp - 0x28]
mov ecx, dword [edx*4 + 0x41d520]
mov edx, esi
shr edx, 0x18
or ebx, ecx
and edx, 0x3f
mov dword [ebp - 0x28], ebx
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x28]
or edx, ebx
mov dword [ebp - 0x28], edx
mov edx, esi
shr edx, 0x10
mov edi, dword [ebp - 0x28]
shr esi, 8
and edx, 0x3f
and esi, 0x3f
mov ecx, dword [edx*4 + 0x41d120]
mov edx, dword [ebp - 0x2c]
or edi, ecx
mov ebx, dword [esi*4 + 0x41d320]
mov dword [ebp - 0x28], edi
mov esi, dword [ebp - 0x28]
or esi, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x28], esi
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x78]
xor ecx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0x28]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x28]
xor ecx, esi
xor edi, edx
mov ebx, ecx
mov edx, ecx
shr ebx, 0x18
shr edx, 0x10
and ebx, 0x3f
and edx, 0x3f
ror edi, 4
mov esi, dword [edx*4 + 0x41d220]
mov edx, dword [ebx*4 + 0x41d020]
or esi, edx
mov edx, ecx
shr ecx, 8
and edx, 0x3f
and ecx, 0x3f
mov ebx, dword [edx*4 + 0x41d620]
or esi, ebx
mov edx, dword [ecx*4 + 0x41d420]
or esi, edx
mov edx, edi
and edx, 0x3f
mov ebx, dword [edx*4 + 0x41d520]
mov edx, edi
or esi, ebx
shr edx, 0x18
and edx, 0x3f
mov ecx, dword [edx*4 + 0x41cf20]
mov edx, edi
shr edx, 0x10
or esi, ecx
shr edi, 8
and edx, 0x3f
and edi, 0x3f
mov ebx, dword [edx*4 + 0x41d120]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edi*4 + 0x41d320]
or esi, ebx
or esi, ecx
xor esi, edx
mov edx, dword [ebp + 8]
mov ebx, esi
mov edi, dword [edx + 0x7c]
mov ecx, dword [edx + 0x3c]
xor ebx, edi
xor ecx, esi
mov edi, ebx
mov edx, ebx
shr edi, 0x18
shr edx, 0x10
and edi, 0x3f
and edx, 0x3f
ror ecx, 4
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx*4 + 0x41d220]
mov edx, dword [edi*4 + 0x41d020]
or ecx, edx
mov edx, ebx
shr ebx, 8
and edx, 0x3f
and ebx, 0x3f
mov edi, dword [edx*4 + 0x41d620]
or ecx, edi
mov edx, dword [ebx*4 + 0x41d420]
or ecx, edx
mov edx, dword [ebp - 0x10]
and edx, 0x3f
mov edi, dword [edx*4 + 0x41d520]
mov edx, dword [ebp - 0x10]
shr edx, 0x18
or ecx, edi
and edx, 0x3f
mov ebx, dword [edx*4 + 0x41cf20]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
or ecx, ebx
and edx, 0x3f
mov ebx, dword [ebp - 0x10]
shr ebx, 8
mov edi, dword [edx*4 + 0x41d120]
mov dword [ebp - 0x10], ebx
mov edx, dword [ebp - 0x10]
or ecx, edi
and edx, 0x3f
mov dword [ebp - 0x10], edx
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebx*4 + 0x41d320]
mov ebx, dword [ebp - 0x28]
or ecx, edi
ror esi, 1
xor ecx, ebx
ror ecx, 1
mov edx, ecx
shr edx, 1
xor edx, esi
and edx, 0x55555555
lea edi, [edx + edx]
xor edx, esi
xor edi, ecx
mov ecx, edx
shr ecx, 8
xor ecx, edi
and ecx, 0xff00ff
mov ebx, ecx
xor ecx, edi
shl ebx, 8
xor ebx, edx
mov edx, ebx
shr edx, 2
xor edx, ecx
and edx, 0x33333333
lea edi, [edx*4]
xor edx, ecx
xor edi, ebx
mov ebx, edx
shr ebx, 0x10
xor ebx, edi
and ebx, 0xffff
mov esi, ebx
xor ebx, edi
shl esi, 0x10
xor esi, edx
mov ecx, esi
shr ecx, 4
xor ecx, ebx
and ecx, 0xf0f0f0f
mov edx, ecx
xor ecx, ebx
shl edx, 4
mov dword [eax + 4], ecx
xor edx, esi
mov dword [eax], edx
add esp, 0x34
pop ebx
pop esi
pop edi
pop ebp
ret