Function at 0x101abc20
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
add ebx, 0x1a0
mov dword [ebp + 0x10], ebx
push esi
push edi
mov edi, dword [ebx + 0x88]
xor edi, dword [eax + 8]
mov ecx, dword [ebx + 0x80]
xor ecx, dword [eax]
mov esi, dword [ebx + 0x8c]
xor esi, dword [eax + 0xc]
mov edx, dword [ebx + 0x84]
mov ebx, edi
xor edx, dword [eax + 4]
or ebx, esi
xor edi, ecx
and ecx, esi
xor esi, edx
not edi
or edx, ecx
and esi, ebx
xor ecx, edi
and edi, ebx
xor edx, edi
xor edi, ecx
xor ebx, edx
mov eax, edi
or eax, ecx
mov ecx, dword [ebp + 0x10]
xor eax, esi
xor esi, ebx
or ebx, eax
xor ebx, edi
xor ebx, dword [ecx + 0x7c]
xor eax, dword [ecx + 0x74]
mov ecx, dword [ecx + 0x78]
xor ecx, edx
mov dword [ebp - 0xc], eax
shl eax, 7
ror ecx, 0x16
xor ecx, eax
mov dword [ebp + 8], ebx
mov eax, dword [ebp + 0x10]
xor ecx, ebx
mov edx, dword [ebp + 8]
mov ebx, dword [eax + 0x70]
xor ebx, esi
mov esi, dword [ebp - 0xc]
xor ebx, edi
ror ebx, 5
xor ebx, edx
ror edx, 7
xor ebx, esi
ror esi, 1
xor esi, ebx
xor esi, ecx
lea eax, [ebx*8]
ror ebx, 0xd
xor edx, eax
mov eax, edx
xor eax, ecx
ror ecx, 3
xor ebx, ecx
mov edx, eax
xor edx, ecx
mov edi, ebx
and edi, ecx
xor eax, esi
or edx, ebx
not edi
xor edi, eax
xor eax, edx
mov ecx, eax
mov dword [ebp + 8], eax
xor ebx, edi
and ecx, esi
xor edx, esi
xor ecx, ebx
xor eax, ebx
mov ebx, dword [ebp + 0x10]
or eax, edi
xor edi, dword [ebx + 0x64]
mov esi, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
xor esi, dword [ebp + 8]
xor ebx, eax
xor ebx, edx
mov eax, edi
ror ebx, 0x16
xor esi, ecx
shl eax, 7
xor ebx, eax
mov eax, dword [ebp + 0x10]
xor ebx, esi
mov edx, dword [eax + 0x60]
xor edx, ecx
ror edx, 5
xor edx, esi
ror esi, 7
xor edx, edi
ror edi, 1
xor edi, ebx
xor edi, edx
not edi
lea eax, [edx*8]
ror edx, 0xd
xor esi, eax
xor esi, ebx
ror ebx, 3
xor ebx, edi
mov eax, esi
or eax, edx
xor eax, ebx
or ebx, edi
xor esi, eax
and ebx, edx
xor ebx, esi
or esi, edx
xor esi, edi
mov ecx, ebx
xor esi, ebx
and ecx, edi
mov edi, dword [ebp + 0x10]
xor ecx, eax
and eax, esi
xor esi, ecx
xor eax, esi
not esi
xor eax, edx
xor ebx, dword [edi + 0x5c]
xor esi, dword [edi + 0x54]
mov dword [ebp + 8], ebx
mov ebx, dword [edi + 0x58]
mov edi, dword [edi + 0x50]
xor ebx, eax
mov edx, dword [ebp + 8]
xor edi, ecx
mov eax, esi
ror edi, 5
xor edi, esi
ror ebx, 0x16
xor edi, edx
shl eax, 7
xor ebx, eax
ror esi, 1
xor ebx, edx
ror edx, 7
xor esi, ebx
lea eax, [edi*8]
xor esi, edi
xor edx, eax
ror edi, 0xd
xor edx, ebx
ror ebx, 3
mov ecx, ebx
and ecx, edx
xor ecx, esi
or esi, edx
and esi, edi
mov eax, ecx
xor eax, esi
not edi
xor ebx, eax
mov eax, ecx
xor edx, ebx
and eax, esi
xor eax, edx
and edx, edi
xor edi, eax
xor edx, ecx
xor edx, edi
and ecx, edi
xor ecx, ebx
mov dword [ebp + 8], edx
or ecx, edx
xor ecx, eax
mov eax, dword [ebp + 0x10]
xor ebx, dword [eax + 0x4c]
mov edx, dword [eax + 0x44]
xor edx, dword [ebp + 8]
mov esi, dword [eax + 0x48]
xor edx, edi
xor esi, ecx
mov dword [ebp + 8], ebx
ror esi, 0x16
mov eax, edx
shl eax, 7
xor esi, eax
mov eax, dword [ebp + 0x10]
xor esi, ebx
mov ebx, dword [eax + 0x40]
xor ebx, edi
mov edi, dword [ebp + 8]
ror ebx, 5
xor ebx, edx
ror edx, 1
xor ebx, edi
xor edx, esi
ror edi, 7
xor edx, ebx
lea eax, [ebx*8]
ror ebx, 0xd
xor edi, eax
xor edi, esi
ror esi, 3
mov eax, esi
xor esi, edx
mov ecx, esi
and ecx, edx
mov edx, ecx
xor edx, ebx
and ebx, eax
xor eax, edi
mov ecx, edx
xor ebx, eax
or ecx, edi
xor ecx, esi
xor esi, ebx
xor eax, esi
or ebx, ecx
xor ebx, edx
and esi, ecx
or edx, ecx
xor edx, esi
xor esi, eax
mov eax, dword [ebp + 0x10]
xor esi, ebx
xor ebx, dword [eax + 0x34]
xor edx, dword [eax + 0x3c]
mov edi, dword [eax + 0x38]
mov eax, ebx
xor edi, esi
shl eax, 7
ror edi, 0x16
xor edi, eax
mov eax, dword [ebp + 0x10]
xor edi, edx
mov esi, dword [eax + 0x30]
xor esi, ecx
ror esi, 5
xor esi, edx
xor esi, ebx
ror edx, 7
ror ebx, 1
xor ebx, edi
xor ebx, esi
lea eax, [esi*8]
mov dword [ebp - 0xc], ebx
xor edx, eax
ror esi, 0xd
xor edx, edi
ror edi, 3
xor edi, edx
xor edx, esi
mov ebx, edi
mov dword [ebp + 8], edx
mov ecx, dword [ebp + 8]
and ebx, edx
xor ebx, dword [ebp - 0xc]
mov edx, edi
or edx, dword [ebp - 0xc]
xor edi, ebx
xor edx, ecx
and ecx, ebx
and ecx, esi
not ebx
xor ecx, edi
mov eax, ebx
xor eax, esi
and edi, edx
or edi, esi
and eax, edx
xor edi, ebx
mov esi, ecx
mov ecx, dword [ebp + 0x10]
xor eax, esi
xor ebx, eax
xor esi, dword [ecx + 0x24]
xor ebx, dword [ecx + 0x2c]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x20]
xor eax, edi
xor ecx, edx
mov edi, eax
mov eax, esi
ror ecx, 5
xor ecx, esi
shl eax, 7
xor ecx, ebx
ror edi, 0x16
xor edi, eax
ror esi, 1
xor edi, ebx
ror ebx, 7
xor esi, edi
xor esi, ecx
lea eax, [ecx*8]
xor ebx, eax
ror ecx, 0xd
xor ebx, edi
mov edx, esi
xor esi, ebx
ror edi, 3
mov eax, esi
xor edx, edi
and eax, ebx
mov ebx, esi
xor eax, ecx
or ebx, ecx
xor ebx, edx
xor esi, eax
xor edi, eax
not edx
or ebx, edi
xor ebx, esi
or esi, eax
xor esi, ebx
xor edx, esi
or esi, ebx
xor esi, ebx
or esi, edx
mov dword [ebp + 8], esi
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 3
xor ebx, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
xor esi, dword [ebp + 8]
xor edi, dword [ecx + 0x1c]
xor esi, eax
mov eax, ebx
ror esi, 0x16
shl eax, 7
xor esi, eax
mov eax, ecx
xor esi, edi
mov ecx, dword [eax + 0x10]
xor ecx, edx
ror ecx, 5
xor ecx, edi
ror edi, 7
xor ecx, ebx
ror ebx, 1
xor ebx, esi
xor ebx, ecx
mov edx, ebx
lea eax, [ecx*8]
not edx
xor edi, eax
ror ecx, 0xd
xor edi, esi
or ebx, ecx
ror esi, 3
xor ecx, edx
not esi
xor ebx, edi
xor ebx, esi
mov eax, edx
or eax, esi
mov esi, ebx
xor eax, ecx
and ecx, edi
xor edx, ecx
or esi, ecx
xor edi, edx
mov ecx, esi
mov esi, dword [ebp + 0x10]
xor ecx, eax
xor edi, ebx
xor eax, ebx
xor edi, ecx
and eax, edi
xor eax, dword [esi + 4]
xor ecx, dword [esi]
xor edx, eax
xor ebx, dword [esi + 8]
xor edi, dword [esi + 0xc]
ror ebx, 0x16
mov eax, edx
ror ecx, 5
add esi, 0xffffff80
xor ecx, edi
shl eax, 7
xor ebx, eax
mov dword [ebp + 0x10], esi
xor ebx, edi
xor ecx, edx
ror edi, 7
ror edx, 1
xor edx, ebx
xor edx, ecx
lea eax, [ecx*8]
xor edi, eax
ror ecx, 0xd
xor edi, ebx
ror ebx, 3
mov eax, ebx
mov dword [ebp - 4], ebx
or ebx, edi
xor eax, ecx
and ecx, edi
not eax
xor edi, edx
or edx, ecx
and edi, ebx
xor ecx, eax
and eax, ebx
mov dword [ebp + 8], edi
xor edx, eax
xor eax, ecx
mov dword [ebp - 8], edx
mov edi, eax
xor ebx, dword [ebp - 8]
or edi, ecx
mov edx, dword [ebp + 8]
xor edi, edx
mov ecx, dword [esi + 0x78]
xor edx, ebx
xor ecx, dword [ebp - 8]
or ebx, edi
xor edi, dword [esi + 0x74]
xor ebx, eax
xor ebx, dword [esi + 0x7c]
mov esi, dword [esi + 0x70]
xor esi, edx
mov dword [ebp - 4], eax
xor esi, dword [ebp - 4]
mov eax, edi
ror esi, 5
xor esi, ebx
ror ecx, 0x16
xor esi, edi
shl eax, 7
xor ecx, eax
ror edi, 1
xor ecx, ebx
xor edi, esi
ror ebx, 7
xor edi, ecx
lea eax, [esi*8]
ror esi, 0xd
xor ebx, eax
xor ebx, ecx
ror ecx, 3
mov edx, ebx
xor esi, ecx
xor ebx, edi
xor edx, ecx
mov dword [ebp + 8], ebx
or edx, esi
mov eax, dword [ebp + 8]
mov ebx, esi
and ebx, ecx
not ebx
xor ebx, eax
xor esi, ebx
xor eax, edx
mov dword [ebp + 8], eax
xor edx, edi
mov ecx, eax
xor eax, esi
and ecx, edi
mov edi, dword [ebp + 0x10]
or eax, ebx
xor ecx, esi
xor ebx, dword [edi + 0x64]
mov esi, dword [edi + 0x6c]
mov edi, dword [edi + 0x68]
xor esi, dword [ebp + 8]
xor edi, eax
xor edi, edx
mov eax, ebx
ror edi, 0x16
xor esi, ecx
shl eax, 7
xor edi, eax
mov eax, dword [ebp + 0x10]
xor edi, esi
mov edx, dword [eax + 0x60]
xor edx, ecx
ror edx, 5
xor edx, esi
ror esi, 7
xor edx, ebx
ror ebx, 1
xor ebx, edi
xor ebx, edx
not ebx
lea eax, [edx*8]
ror edx, 0xd
xor esi, eax
xor esi, edi
ror edi, 3
xor edi, ebx
mov eax, esi
or eax, edx
xor eax, edi
or edi, ebx
xor esi, eax
and edi, edx
xor edi, esi
or esi, edx
xor esi, ebx
mov ecx, edi
xor esi, edi
and ecx, ebx
xor ecx, eax
and eax, esi
xor esi, ecx
xor eax, esi
not esi
xor eax, edx
mov edx, dword [ebp + 0x10]
xor esi, dword [edx + 0x54]
xor edi, dword [edx + 0x5c]
mov ebx, dword [edx + 0x58]
xor ebx, eax
mov dword [ebp + 8], edi
mov eax, esi
ror ebx, 0x16
shl eax, 7
xor ebx, eax
xor ebx, edi
mov edi, dword [edx + 0x50]
mov edx, dword [ebp + 8]
xor edi, ecx
ror edi, 5
xor edi, esi
ror esi, 1
xor edi, edx
xor esi, ebx
ror edx, 7
xor esi, edi
lea eax, [edi*8]
xor edx, eax
xor edx, ebx
ror ebx, 3
ror edi, 0xd
mov ecx, ebx
and ecx, edx
xor ecx, esi
or esi, edx
and esi, edi
mov eax, ecx
xor eax, esi
not edi
xor ebx, eax
mov eax, ecx
xor edx, ebx
and eax, esi
xor eax, edx
and edx, edi
xor edi, eax
xor edx, ecx
xor edx, edi
and ecx, edi
xor ecx, ebx
mov dword [ebp + 8], edx
or ecx, edx
xor ecx, eax
mov eax, dword [ebp + 0x10]
xor ebx, dword [eax + 0x4c]
mov edx, dword [eax + 0x44]
xor edx, dword [ebp + 8]
mov esi, dword [eax + 0x48]
xor edx, edi
xor esi, ecx
mov dword [ebp + 8], ebx
mov eax, edx
ror esi, 0x16
shl eax, 7
xor esi, eax
mov eax, dword [ebp + 0x10]
xor esi, ebx
mov ebx, dword [eax + 0x40]
xor ebx, edi
mov edi, dword [ebp + 8]
ror ebx, 5
xor ebx, edx
ror edx, 1
xor ebx, edi
xor edx, esi
xor edx, ebx
ror edi, 7
lea eax, [ebx*8]
ror ebx, 0xd
xor edi, eax
xor edi, esi
ror esi, 3
mov eax, esi
xor esi, edx
mov ecx, esi
and ecx, edx
mov edx, ecx
mov dword [ebp + 8], ecx
xor edx, ebx
and ebx, eax
xor eax, edi
mov ecx, edx
xor ebx, eax
or ecx, edi
xor ecx, esi
xor esi, ebx
xor eax, esi
or ebx, ecx
xor ebx, edx
and esi, ecx
or edx, ecx
xor edx, esi
xor esi, eax
mov eax, dword [ebp + 0x10]
xor esi, ebx
xor ebx, dword [eax + 0x34]
mov edi, dword [eax + 0x38]
xor edx, dword [eax + 0x3c]
xor edi, esi
mov eax, ebx
ror edi, 0x16
shl eax, 7
xor edi, eax
mov eax, dword [ebp + 0x10]
xor edi, edx
mov esi, dword [eax + 0x30]
xor esi, ecx
ror esi, 5
xor esi, edx
ror edx, 7
xor esi, ebx
ror ebx, 1
xor ebx, edi
xor ebx, esi
mov dword [ebp - 8], ebx
lea eax, [esi*8]
ror esi, 0xd
xor edx, eax
xor edx, edi
ror edi, 3
xor edi, edx
xor edx, esi
mov ebx, edi
mov dword [ebp + 8], edx
mov ecx, dword [ebp + 8]
and ebx, edx
xor ebx, dword [ebp - 8]
mov edx, edi
or edx, dword [ebp - 8]
xor edi, ebx
xor edx, ecx
and ecx, ebx
and ecx, esi
not ebx
xor ecx, edi
mov eax, ebx
xor eax, esi
mov dword [ebp + 8], ecx
and edi, edx
and eax, edx
or edi, esi
mov esi, ecx
mov ecx, dword [ebp + 0x10]
xor edi, ebx
xor eax, esi
xor ebx, eax
xor ebx, dword [ecx + 0x2c]
xor esi, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x20]
xor eax, edi
xor ecx, edx
mov dword [ebp + 8], eax
mov edi, eax
ror ecx, 5
xor ecx, esi
ror edi, 0x16
xor ecx, ebx
mov eax, esi
shl eax, 7
xor edi, eax
ror esi, 1
xor edi, ebx
ror ebx, 7
xor esi, edi
lea eax, [ecx*8]
xor ebx, eax
xor esi, ecx
xor ebx, edi
ror ecx, 0xd
mov edx, esi
ror edi, 3
xor esi, ebx
xor edx, edi
mov eax, esi
and eax, ebx
mov ebx, esi
xor eax, ecx
or ebx, ecx
xor edi, eax
xor ebx, edx
or ebx, edi
xor esi, eax
xor ebx, esi
mov ecx, dword [ebp + 0x10]
or esi, eax
xor esi, ebx
not edx
xor edx, esi
or esi, ebx
xor esi, ebx
xor ebx, dword [ecx + 0x14]
or esi, edx
xor edi, dword [ecx + 0x1c]
mov dword [ebp + 8], esi
mov esi, dword [ecx + 0x18]
xor esi, dword [ebp + 8]
xor esi, eax
mov eax, ebx
shl eax, 7
ror esi, 0x16
xor esi, eax
mov eax, ecx
xor esi, edi
mov ecx, dword [eax + 0x10]
xor ecx, edx
ror ecx, 5
xor ecx, edi
ror edi, 7
xor ecx, ebx
ror ebx, 1
xor ebx, esi
xor ebx, ecx
mov edx, ebx
lea eax, [ecx*8]
not edx
xor edi, eax
ror ecx, 0xd
xor edi, esi
or ebx, ecx
ror esi, 3
xor ebx, edi
xor ecx, edx
not esi
xor ebx, esi
mov eax, edx
or eax, esi
mov esi, ebx
xor eax, ecx
and ecx, edi
xor edx, ecx
or esi, ecx
xor edi, edx
mov dword [ebp + 8], esi
mov ecx, esi
xor edi, ebx
mov esi, dword [ebp + 0x10]
xor ecx, eax
xor edi, ecx
xor eax, ebx
and eax, edi
xor eax, dword [esi + 4]
xor ecx, dword [esi]
xor edx, eax
xor ebx, dword [esi + 8]
xor edi, dword [esi + 0xc]
sub dword [ebp - 0xc], 1
jne 0x101abfc1
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], edi
pop edi
pop esi
mov dword [eax + 8], ebx
mov dword [eax], ecx
mov dword [eax + 4], edx
pop ebx
mov esp, ebp
pop ebp
ret