Function at 0x6972d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
mov eax, dword [esp + 0xc]
push ebx
push ebp
push esi
mov esi, dword [ecx + 0x228]
push edi
mov dword [esp + 0x1c], esi
mov edx, dword [esi]
xor edx, dword [eax]
mov edi, dword [esi + 0xc]
xor edi, dword [eax + 0xc]
mov ebx, dword [esi + 8]
xor edi, edx
xor ebx, dword [eax + 8]
mov ecx, dword [esi + 4]
mov ebp, ebx
xor ecx, dword [eax + 4]
mov esi, edi
xor ebp, ecx
and esi, ecx
xor esi, edx
mov ecx, edi
or ecx, edx
xor ecx, ebp
xor ebp, edi
xor edi, ebx
or ebx, esi
xor ebx, ebp
not ebp
or ebp, esi
rol ebx, 3
mov eax, ebp
xor eax, edi
or edi, ecx
xor esi, eax
xor ebp, edi
xor ebp, ebx
mov eax, edi
xor eax, esi
rol eax, 0xd
xor ebp, eax
rol ebp, 1
mov edx, ebp
mov dword [esp + 0x14], ebp
xor edx, eax
shl ebp, 7
lea esi, [eax*8]
xor ebp, ebx
mov eax, dword [esp + 0x1c]
xor esi, ebx
mov ebx, dword [esp + 0x14]
xor esi, ecx
rol esi, 7
xor edx, esi
xor ebp, esi
xor ebx, dword [eax + 0x14]
xor esi, dword [eax + 0x1c]
rol edx, 5
xor edx, dword [eax + 0x10]
rol ebp, 0x16
not edx
xor ebp, dword [eax + 0x18]
mov ecx, edx
and edx, ebx
not ebp
xor ebp, edx
or edx, esi
xor ebx, edx
xor esi, ebp
xor edx, ecx
or ecx, ebx
or ebp, edx
xor ebx, esi
and ebp, ecx
xor edx, ebx
mov eax, ebp
and ebx, ebp
and eax, edx
xor ebx, edx
xor eax, ecx
rol ebp, 0xd
rol esi, 3
lea edi, [ebp*8]
xor edi, ebx
mov edx, ebp
xor edx, eax
xor edi, esi
xor edx, esi
mov eax, dword [esp + 0x1c]
rol edx, 1
mov ebx, edx
rol edi, 7
shl ebx, 7
xor ebx, edi
xor ebx, esi
mov esi, edi
xor edi, dword [eax + 0x2c]
xor esi, ebp
xor esi, edx
rol ebx, 0x16
xor ebx, dword [eax + 0x28]
xor edx, dword [eax + 0x24]
rol esi, 5
xor esi, dword [eax + 0x20]
mov ecx, esi
and ecx, ebx
xor ecx, edi
or edi, esi
mov eax, ecx
xor edi, edx
xor eax, edx
xor ebx, eax
mov eax, edi
xor esi, ebx
rol ebx, 0xd
or eax, esi
xor eax, ecx
and ecx, edi
xor esi, ecx
mov dword [esp + 0x14], eax
xor eax, esi
lea ebp, [ebx*8]
not esi
xor eax, edi
xor ebp, esi
rol eax, 3
mov esi, dword [esp + 0x14]
xor ebp, eax
xor esi, eax
rol ebp, 7
xor esi, ebx
rol esi, 1
mov ecx, esi
mov edx, esi
shl ecx, 7
xor edx, ebp
xor ecx, ebp
xor edx, ebx
xor ecx, eax
rol edx, 5
mov eax, dword [esp + 0x1c]
rol ecx, 0x16
xor esi, dword [eax + 0x34]
xor ebp, dword [eax + 0x3c]
xor edx, dword [eax + 0x30]
xor ecx, dword [eax + 0x38]
mov eax, edx
or edx, ebp
xor ebp, esi
and esi, eax
xor eax, ecx
or eax, esi
xor ecx, ebp
and ebp, edx
xor edx, esi
xor ebp, eax
and eax, edx
xor esi, ebp
xor eax, ecx
or esi, edx
xor esi, ecx
mov ebx, esi
or ebx, ebp
xor ebx, ebp
rol ebp, 3
xor ebx, edx
rol ebx, 0xd
mov edx, ebx
xor edx, ebp
xor edx, esi
rol edx, 1
lea edi, [ebx*8]
mov esi, edx
xor edi, ebp
xor edi, eax
shl esi, 7
xor esi, ebp
rol edi, 7
mov ebp, dword [esp + 0x1c]
xor esi, edi
xor ebx, edi
rol esi, 0x16
xor ebx, edx
rol ebx, 5
xor esi, dword [ebp + 0x48]
xor edi, dword [ebp + 0x4c]
xor ebx, dword [ebp + 0x40]
mov eax, dword [ebp + 0x44]
xor eax, edi
not edi
xor edx, eax
xor esi, edi
xor edi, ebx
mov ecx, edi
and ecx, edx
xor edx, edi
xor ebx, edx
xor ecx, esi
and esi, edx
mov eax, ecx
xor esi, ebx
or eax, edx
and ebx, ecx
rol ecx, 0xd
xor edi, ebx
xor eax, ebx
or ebx, edi
xor ebx, esi
and esi, edi
not ebx
lea edx, [ecx*8]
rol ebx, 3
xor edx, ebx
xor edx, edi
mov edi, edx
mov edx, ebx
xor edx, esi
rol edi, 7
xor edx, ecx
xor edx, eax
mov eax, edi
rol edx, 1
xor eax, ecx
xor eax, edx
mov esi, edx
xor edx, dword [ebp + 0x54]
shl esi, 7
xor esi, ebx
rol eax, 5
xor eax, dword [ebp + 0x50]
xor esi, edi
xor edi, dword [ebp + 0x5c]
xor eax, edx
rol esi, 0x16
xor edx, edi
xor esi, dword [ebp + 0x58]
not edi
xor esi, edi
mov ebx, eax
and ebx, edx
xor ebx, esi
or esi, edx
xor edx, edi
and edi, ebx
mov ebp, esi
xor edi, eax
xor ebp, edx
xor ebp, ebx
xor esi, eax
mov ecx, edi
rol ebx, 0xd
and ecx, eax
not esi
xor ecx, ebp
or ebp, edi
rol ecx, 3
xor edi, ecx
lea eax, [ebx*8]
xor ebp, eax
xor edi, ebx
mov eax, dword [esp + 0x1c]
xor ebp, esi
xor ebp, ecx
rol edi, 1
mov dword [esp + 0x10], edi
mov esi, edi
shl esi, 7
rol ebp, 7
xor esi, ebp
mov edi, ebp
xor edi, dword [esp + 0x10]
xor esi, ecx
xor ebp, dword [eax + 0x6c]
xor edi, ebx
mov ebx, dword [esp + 0x10]
mov edx, ebp
rol edi, 5
mov ecx, edx
xor edi, dword [eax + 0x60]
rol esi, 0x16
and ebp, edi
xor esi, dword [eax + 0x68]
xor edi, edx
mov eax, dword [eax + 0x64]
not esi
or ecx, esi
xor ebp, esi
xor eax, ebp
xor ecx, edi
xor ebx, eax
mov esi, ebp
or edi, ebx
mov dword [esp + 0x10], ebx
xor ecx, ebx
xor edx, edi
xor esi, edx
mov ebx, ebp
or ebx, edi
not ebp
xor ebx, ecx
xor esi, ebx
rol ebx, 0xd
mov eax, esi
rol esi, 3
and eax, ecx
mov ecx, esi
xor ecx, dword [esp + 0x10]
xor eax, ebp
lea edx, [ebx*8]
xor ecx, ebx
xor edx, esi
rol ecx, 1
xor edx, eax
mov edi, ecx
rol edx, 7
mov eax, ecx
xor eax, edx
shl edi, 7
xor eax, ebx
xor edi, esi
mov ebx, dword [esp + 0x1c]
xor edi, edx
rol eax, 5
xor eax, dword [ebx + 0x70]
xor ecx, dword [ebx + 0x74]
xor edx, dword [ebx + 0x7c]
rol edi, 0x16
xor edi, dword [ebx + 0x78]
mov ebp, edi
mov dword [esp + 0x14], 3
and ebp, ecx
xor ebp, edx
and edx, ecx
xor edi, ebp
xor ebp, ecx
mov esi, edi
xor ecx, eax
xor edx, ecx
or esi, eax
xor esi, ebp
xor ebp, edx
and edx, esi
xor edx, edi
xor edi, ebp
not edi
and ebp, esi
xor ebp, edi
and edi, esi
xor edi, ecx
xor edi, edx
rol edx, 3
sub ebx, 0xffffff80
rol ebp, 0xd
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ebx
lea ecx, [ebp*8]
xor ecx, esi
mov esi, dword [ebx + 0xc]
xor ecx, edx
xor edx, edi
xor edx, ebp
rol ecx, 7
rol edx, 1
mov eax, ecx
xor eax, edx
mov edi, edx
xor edx, dword [ebx + 4]
xor eax, ebp
shl edi, 7
xor esi, ecx
xor edi, ecx
rol eax, 5
xor eax, dword [ebx]
xor edi, dword [esp + 0x10]
xor esi, eax
rol edi, 0x16
mov ecx, esi
xor edi, dword [ebx + 8]
and ecx, edx
mov ebx, edi
xor ecx, eax
xor ebx, edx
mov edx, esi
or edx, eax
xor edx, ebx
xor ebx, esi
xor esi, edi
or edi, ecx
xor edi, ebx
not ebx
or ebx, ecx
rol edi, 3
mov eax, ebx
xor eax, esi
or esi, edx
xor ebx, esi
xor ecx, eax
mov eax, esi
xor ebx, edi
xor eax, ecx
rol eax, 0xd
xor ebx, eax
rol ebx, 1
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x10]
lea ebp, [eax*8]
xor ebp, edi
xor ebp, edx
mov edx, ebx
xor edx, eax
shl ebx, 7
mov eax, dword [esp + 0x1c]
xor ebx, edi
rol ebp, 7
xor edx, ebp
xor ebx, ebp
rol edx, 5
xor edx, dword [eax + 0x10]
xor esi, dword [eax + 0x14]
not edx
xor ebp, dword [eax + 0x1c]
mov ecx, edx
rol ebx, 0x16
and edx, esi
xor ebx, dword [eax + 0x18]
not ebx
xor ebx, edx
or edx, ebp
xor ebp, ebx
xor esi, edx
xor edx, ecx
or ecx, esi
or ebx, edx
xor esi, ebp
and ebx, ecx
xor edx, esi
rol ebp, 3
and esi, ebx
mov dword [esp + 0x10], ebp
xor esi, edx
mov eax, ebx
and eax, edx
rol ebx, 0xd
xor eax, ecx
mov edx, ebx
xor edx, eax
mov eax, dword [esp + 0x1c]
xor edx, ebp
lea edi, [ebx*8]
rol edx, 1
xor edi, esi
xor edi, ebp
mov ebp, edx
rol edi, 7
shl ebp, 7
mov esi, edi
xor esi, ebx
xor ebp, edi
xor edi, dword [eax + 0x2c]
xor esi, edx
xor edx, dword [eax + 0x24]
xor ebp, dword [esp + 0x10]
rol esi, 5
xor esi, dword [eax + 0x20]
mov ecx, esi
rol ebp, 0x16
xor ebp, dword [eax + 0x28]
and ecx, ebp
xor ecx, edi
or edi, esi
mov eax, ecx
xor edi, edx
xor eax, edx
xor ebp, eax
mov eax, edi
xor esi, ebp
rol ebp, 0xd
or eax, esi
xor eax, ecx
and ecx, edi
xor esi, ecx
mov dword [esp + 0x10], eax
xor eax, esi
lea ebx, [ebp*8]
not esi
xor eax, edi
xor ebx, esi
rol eax, 3
mov esi, dword [esp + 0x10]
xor ebx, eax
xor esi, eax
rol ebx, 7
xor esi, ebp
rol esi, 1
mov ecx, esi
mov edx, esi
shl ecx, 7
xor edx, ebx
xor ecx, ebx
xor edx, ebp
xor ecx, eax
rol edx, 5
mov eax, dword [esp + 0x1c]
rol ecx, 0x16
xor edx, dword [eax + 0x30]
xor ebx, dword [eax + 0x3c]
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 edx, esi
xor ebx, eax
xor esi, ebx
and eax, edx
or esi, edx
xor eax, ecx
xor esi, ecx
mov ebp, esi
or ebp, ebx
xor ebp, ebx
rol ebx, 3
xor ebp, edx
rol ebp, 0xd
mov edx, ebp
xor edx, ebx
xor edx, esi
rol edx, 1
lea edi, [ebp*8]
mov esi, edx
xor edi, ebx
xor edi, eax
shl esi, 7
xor esi, ebx
rol edi, 7
mov ebx, dword [esp + 0x1c]
xor esi, edi
xor ebp, edi
rol esi, 0x16
xor ebp, edx
rol ebp, 5
xor edi, dword [ebx + 0x4c]
xor esi, dword [ebx + 0x48]
xor ebp, dword [ebx + 0x40]
mov eax, dword [ebx + 0x44]
xor eax, edi
not edi
xor edx, eax
xor esi, edi
xor edi, ebp
mov ecx, edi
and ecx, edx
xor edx, edi
xor ebp, edx
xor ecx, esi
and esi, edx
mov eax, ecx
or eax, edx
xor esi, ebp
and ebp, ecx
rol ecx, 0xd
xor edi, ebp
xor eax, ebp
or ebp, edi
xor ebp, esi
and esi, edi
not ebp
lea edx, [ecx*8]
rol ebp, 3
xor edx, ebp
xor edx, edi
mov edi, edx
mov dword [esp + 0x10], edx
mov edx, ebp
rol edi, 7
xor edx, esi
xor edx, ecx
xor edx, eax
mov eax, edi
rol edx, 1
xor eax, ecx
mov esi, edx
xor eax, edx
xor edx, dword [ebx + 0x54]
shl esi, 7
xor esi, ebp
xor esi, edi
xor edi, dword [ebx + 0x5c]
rol esi, 0x16
xor esi, dword [ebx + 0x58]
rol eax, 5
xor eax, dword [ebx + 0x50]
xor eax, edx
xor edx, edi
not edi
mov ebx, eax
xor esi, edi
and ebx, edx
xor ebx, esi
or esi, edx
xor edx, edi
mov ebp, esi
and edi, ebx
xor ebp, edx
xor edi, eax
xor ebp, ebx
xor esi, eax
rol ebx, 0xd
mov ecx, edi
not esi
and ecx, eax
xor ecx, ebp
or ebp, edi
rol ecx, 3
lea eax, [ebx*8]
xor edi, ecx
xor ebp, eax
mov eax, dword [esp + 0x1c]
xor ebp, esi
xor edi, ebx
xor ebp, ecx
rol edi, 1
mov dword [esp + 0x10], edi
mov esi, edi
shl esi, 7
rol ebp, 7
xor esi, ebp
mov edi, ebp
xor edi, dword [esp + 0x10]
xor esi, ecx
xor ebp, dword [eax + 0x6c]
xor edi, ebx
mov ebx, dword [esp + 0x10]
mov edx, ebp
rol esi, 0x16
mov ecx, edx
xor esi, dword [eax + 0x68]
rol edi, 5
not esi
xor edi, dword [eax + 0x60]
or ecx, esi
mov eax, dword [eax + 0x64]
and ebp, edi
xor ebp, esi
xor edi, edx
xor eax, ebp
xor ecx, edi
xor ebx, eax
mov esi, ebp
xor ecx, ebx
mov dword [esp + 0x10], ebx
or edi, ebx
mov ebx, ebp
xor edx, edi
or ebx, edi
xor esi, edx
xor ebx, ecx
xor esi, ebx
not ebp
rol ebx, 0xd
mov eax, esi
and eax, ecx
rol esi, 3
xor eax, ebp
mov ecx, esi
lea edx, [ebx*8]
xor edx, esi
xor edx, eax
rol edx, 7
xor ecx, dword [esp + 0x10]
xor ecx, ebx
rol ecx, 1
mov ebp, ecx
mov eax, ecx
shl ebp, 7
xor eax, edx
xor ebp, esi
xor eax, ebx
mov ebx, dword [esp + 0x1c]
xor ebp, edx
rol ebp, 0x16
rol eax, 5
xor ebp, dword [ebx + 0x78]
xor ecx, dword [ebx + 0x74]
mov edi, ebp
xor edx, dword [ebx + 0x7c]
and ebp, ecx
xor eax, dword [ebx + 0x70]
xor ebp, edx
xor edi, ebp
and edx, ecx
xor ebp, ecx
mov esi, edi
xor ecx, eax
or esi, eax
xor esi, ebp
xor edx, ecx
xor ebp, edx
and edx, esi
xor edx, edi
xor edi, ebp
not edi
and ebp, esi
xor ebp, edi
and edi, esi
xor edi, ecx
xor edi, edx
sub dword [esp + 0x14], 1
jne 0x697626
mov ecx, dword [ebx + 0x80]
mov dword [esp + 0x1c], esi
xor ecx, ebp
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0x88]
xor eax, dword [ebx + 0x8c]
xor esi, edx
mov dword [esp + 0x14], edi
mov edi, dword [ebx + 0x84]
xor edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x697a3e
mov eax, dword [ebx]
mov edx, dword [esp + 0x24]
xor eax, ecx
mov dword [edx], eax
lea eax, [ebx + 4]
test eax, eax
je 0x6979fe
mov ecx, dword [eax]
xor ecx, edi
mov dword [edx + 4], ecx
add edx, 8
mov edi, edx
jmp 0x697a0a
mov dword [edx + 4], edi
add edx, 8
mov edi, edx
test eax, eax
je 0x697a1a
add eax, 4
je 0x697a1a
mov ecx, dword [eax]
lea edx, [edi + 4]
xor ecx, esi
mov dword [edi], ecx
jmp 0x697a23
mov dword [edx], esi
add edx, 4
test eax, eax
je 0x697a26
add eax, 4
xor ecx, ecx
test eax, eax
je 0x697a4f
mov ecx, dword [eax]
xor ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 8
ret 0xc
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
lea edx, [eax + 0xc]
mov dword [eax + 4], edi
xor ecx, ecx
mov dword [eax + 8], esi
xor ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 8
ret 0xc