Function at 0x101ac390
Capabilities:
Encode data using xor

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