Function at 0x10192c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov ecx, dword [ebp + 0xc]
shl ecx, 4
mov dword [ebp - 8], 0x89abcdef
mov dword [ebp - 4], 0x1234567
test ecx, ecx
jle 0x1019343d
mov eax, dword [ebp + 8]
dec ecx
push ebx
shr ecx, 4
add eax, 0x1d0
inc ecx
push esi
mov dword [ebp - 0xc], ecx
push edi
jmp 0x10192cd0
mov edi, dword [eax - 0x120]
and edi, dword [eax]
mov esi, dword [eax - 0x11c]
and esi, dword [eax + 4]
mov edx, dword [eax + 0x68]
and edx, dword [eax + 0x50]
mov ecx, dword [eax + 0x6c]
xor edi, edx
and ecx, dword [eax + 0x54]
xor edi, dword [eax - 0x1d0]
xor esi, ecx
xor esi, dword [eax - 0x1cc]
xor edi, dword [eax + 0x70]
xor esi, dword [eax + 0x74]
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
mov ebx, dword [eax + 0x80]
shrd ecx, edx, 0xa
mov dword [ebp - 0x10], ebx
xor edi, ecx
shr edx, 0xa
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0xb
xor edx, esi
shl ecx, 0xb
mov esi, dword [eax - 0x114]
xor ecx, edi
and esi, dword [eax + 0xc]
mov edi, dword [eax - 0x118]
and edi, dword [eax + 8]
mov dword [eax + 0xf8], ecx
mov ecx, dword [eax + 0x5c]
and ecx, dword [eax + 0x74]
xor esi, ecx
mov dword [eax + 0xfc], edx
xor esi, dword [eax - 0x1c4]
mov edx, dword [eax + 0x58]
and edx, dword [eax + 0x70]
xor esi, dword [eax + 0x7c]
xor edi, edx
xor edi, dword [eax - 0x1c8]
xor edi, dword [eax + 0x78]
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 5
xor edi, ecx
shr edx, 5
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0x18
shl ecx, 0x18
xor edx, esi
mov esi, dword [eax - 0x10c]
xor ecx, edi
and esi, dword [eax + 0x14]
mov edi, dword [eax - 0x110]
and edi, dword [eax + 0x10]
mov dword [eax + 0x100], ecx
lea ecx, [eax + 0x80]
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + 0x64]
and ecx, dword [eax + 0x7c]
mov dword [eax + 0x104], edx
xor esi, ecx
mov edx, dword [eax + 0x60]
and edx, dword [eax + 0x78]
mov ecx, dword [ebp + 0xc]
xor edi, edx
xor edi, dword [eax - 0x1c0]
xor esi, dword [eax - 0x1bc]
xor edi, ebx
xor edi, dword [ebp - 8]
xor esi, dword [ecx + 4]
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 0xd
xor edi, ecx
shr edx, 0xd
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 9
xor edx, esi
shl ecx, 9
xor ecx, edi
mov esi, dword [eax - 0x104]
and esi, dword [eax + 0x1c]
mov edi, dword [eax - 0x108]
and edi, dword [eax + 0x18]
mov dword [eax + 0x10c], edx
mov edx, dword [eax + 0x68]
and edx, ebx
mov dword [eax + 0x108], ecx
mov ebx, dword [ebp + 0xc]
xor edi, edx
xor edi, dword [eax - 0x1b8]
xor edi, dword [eax + 0x88]
mov ecx, dword [eax + 0x6c]
and ecx, dword [ebx + 4]
mov ebx, dword [ebp - 8]
xor esi, ecx
xor esi, dword [eax - 0x1b4]
xor edi, ebx
xor esi, dword [eax + 0x8c]
mov ecx, edi
xor esi, dword [ebp - 4]
mov edx, esi
shrd ecx, edx, 0xa
xor edi, ecx
shr edx, 0xa
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0x10
xor edx, esi
shl ecx, 0x10
mov esi, dword [eax - 0xfc]
xor ecx, edi
and esi, dword [eax + 0x24]
mov edi, dword [eax - 0x100]
and edi, dword [eax + 0x20]
mov dword [eax + 0x114], edx
mov edx, dword [eax + 0x88]
and edx, dword [eax + 0x70]
xor edi, edx
mov dword [eax + 0x110], ecx
mov ecx, dword [eax + 0x8c]
and ecx, dword [eax + 0x74]
xor edi, dword [eax - 0x1b0]
xor esi, ecx
xor esi, dword [eax - 0x1ac]
xor edi, dword [eax + 0x90]
xor esi, dword [eax + 0x94]
xor edi, ebx
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 0xb
shr edx, 0xb
xor edi, ecx
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0xf
shl ecx, 0xf
xor edx, esi
mov esi, dword [eax - 0xf4]
xor ecx, edi
mov edi, dword [eax - 0xf8]
and edi, dword [eax + 0x28]
and esi, dword [eax + 0x2c]
mov dword [eax + 0x11c], edx
mov edx, dword [eax + 0x90]
mov dword [eax + 0x118], ecx
and edx, dword [eax + 0x78]
xor edi, edx
mov ecx, dword [eax + 0x94]
and ecx, dword [eax + 0x7c]
xor edi, dword [eax - 0x1a8]
xor esi, ecx
xor esi, dword [eax - 0x1a4]
xor edi, dword [eax + 0x98]
xor esi, dword [eax + 0x9c]
xor edi, ebx
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
mov ebx, dword [eax + 0x9c]
shrd ecx, edx, 0xc
xor edi, ecx
shr edx, 0xc
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 9
xor edx, esi
shl ecx, 9
mov esi, dword [eax - 0xec]
xor ecx, edi
and esi, dword [eax + 0x34]
mov edi, dword [eax - 0xf0]
and edi, dword [eax + 0x30]
mov dword [eax + 0x124], edx
mov edx, dword [eax + 0x98]
and edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
xor edi, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
xor edi, dword [eax - 0x1a0]
xor edi, dword [eax + 0xa0]
xor edi, dword [ebp - 8]
mov dword [eax + 0x120], ecx
mov ecx, ebx
and ecx, dword [edx + 4]
xor esi, ecx
mov ecx, edi
xor esi, dword [eax - 0x19c]
xor esi, dword [eax + 0xa4]
xor esi, dword [ebp - 4]
mov edx, esi
shrd ecx, edx, 2
xor edi, ecx
shr edx, 2
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0x1b
xor edx, esi
shl ecx, 0x1b
mov esi, dword [eax - 0xe4]
xor ecx, edi
and esi, dword [eax + 0x3c]
mov edi, dword [eax - 0xe8]
and edi, dword [eax + 0x38]
mov dword [eax + 0x128], ecx
mov ecx, dword [eax + 0xa4]
and ecx, dword [eax + 0x8c]
mov dword [eax + 0x12c], edx
xor esi, ecx
mov edx, dword [eax + 0xa0]
and edx, dword [eax + 0x88]
xor esi, dword [eax - 0x194]
xor edi, edx
xor edi, dword [eax - 0x198]
xor edi, dword [eax + 0xa8]
xor esi, dword [eax + 0xac]
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 7
xor edi, ecx
shr edx, 7
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0xf
xor edx, esi
shl ecx, 0xf
xor ecx, edi
mov esi, dword [eax - 0xdc]
and esi, dword [eax + 0x44]
mov edi, dword [eax - 0xe0]
and edi, dword [eax + 0x40]
mov dword [eax + 0x130], ecx
mov ecx, dword [eax + 0xac]
and ecx, dword [eax + 0x94]
xor esi, ecx
mov dword [eax + 0x134], edx
xor esi, dword [eax - 0x18c]
xor esi, dword [eax + 0xb4]
xor esi, dword [ebp - 4]
mov edx, dword [eax + 0xa8]
and edx, dword [eax + 0x90]
xor edi, edx
mov edx, esi
xor edi, dword [eax - 0x190]
xor edi, dword [eax + 0xb0]
xor edi, dword [ebp - 8]
mov ecx, edi
shrd ecx, edx, 0xe
xor edi, ecx
shr edx, 0xe
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 6
xor edx, esi
shl ecx, 6
mov esi, dword [eax - 0xd4]
xor ecx, edi
and esi, dword [eax + 0x4c]
mov edi, dword [eax - 0xd8]
and edi, dword [eax + 0x48]
mov dword [eax + 0x138], ecx
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0xb4]
and ecx, ebx
mov dword [eax + 0x13c], edx
mov edx, dword [eax + 0xb0]
xor esi, ecx
and edx, dword [eax + 0x98]
xor esi, dword [eax - 0x184]
xor edi, edx
xor edi, dword [eax - 0x188]
xor esi, dword [eax + 0xbc]
mov ebx, dword [eax + 0xb8]
xor edi, ebx
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov ecx, edi
and ebx, dword [eax + 0xa0]
mov edx, esi
shrd ecx, edx, 0xf
xor edi, ecx
shr edx, 0xf
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 2
shl ecx, 2
xor edx, esi
mov esi, dword [eax - 0xcc]
xor ecx, edi
mov edi, dword [eax - 0xd0]
and edi, dword [eax + 0x50]
and esi, dword [eax + 0x54]
mov dword [eax + 0x140], ecx
mov ecx, dword [eax + 0xc0]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0xbc]
and ecx, dword [eax + 0xa4]
mov dword [eax + 0x144], edx
xor esi, ecx
xor edi, ebx
xor edi, dword [eax - 0x180]
xor esi, dword [eax - 0x17c]
xor esi, dword [eax + 0xc4]
xor esi, dword [ebp - 4]
mov ebx, dword [eax + 0xc0]
mov edx, esi
xor edi, ebx
xor edi, dword [ebp - 8]
mov ecx, edi
shrd ecx, edx, 7
xor edi, ecx
shr edx, 7
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0x1d
xor edx, esi
shl ecx, 0x1d
mov esi, dword [eax - 0xc4]
xor ecx, edi
and esi, dword [eax + 0x5c]
mov edi, dword [eax - 0xc8]
and edi, dword [eax + 0x58]
mov dword [eax + 0x14c], edx
mov edx, dword [eax + 0xa8]
and edx, ebx
mov dword [eax + 0x148], ecx
mov ebx, dword [eax + 0xac]
xor edi, edx
xor edi, dword [eax - 0x178]
and ebx, dword [eax + 0xc4]
mov ecx, dword [eax + 0xc8]
xor esi, ebx
xor esi, dword [eax - 0x174]
xor edi, ecx
xor esi, dword [eax + 0xcc]
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov edx, esi
mov dword [ebp - 0x20], ecx
mov ecx, edi
shrd ecx, edx, 0xd
mov ebx, dword [eax + 0xd4]
xor edi, ecx
shr edx, 0xd
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 8
xor edx, esi
shl ecx, 8
mov esi, dword [eax - 0xbc]
xor ecx, edi
and esi, dword [eax + 0x64]
mov edi, dword [eax - 0xc0]
and edi, dword [eax + 0x60]
mov dword [eax + 0x154], edx
mov edx, dword [eax + 0xb0]
and edx, dword [eax + 0xc8]
mov dword [eax + 0x150], ecx
xor edi, edx
mov ecx, dword [eax + 0xb4]
and ecx, dword [eax + 0xcc]
xor edi, dword [eax - 0x170]
xor esi, ecx
xor esi, dword [eax - 0x16c]
xor edi, dword [eax + 0xd0]
xor esi, ebx
xor edi, dword [ebp - 8]
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 0xb
shr edx, 0xb
xor edi, ecx
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0xf
and ebx, dword [eax + 0xbc]
xor edx, esi
shl ecx, 0xf
xor ecx, edi
mov esi, dword [eax - 0xb4]
and esi, dword [eax + 0x6c]
mov edi, dword [eax - 0xb8]
xor esi, ebx
and edi, dword [eax + 0x68]
xor esi, dword [eax - 0x164]
xor esi, dword [eax + 0xdc]
xor esi, dword [ebp - 4]
mov dword [eax + 0x158], ecx
mov ecx, dword [eax + 0xd0]
and ecx, dword [ebp - 0x14]
xor edi, ecx
mov dword [eax + 0x15c], edx
xor edi, dword [eax - 0x168]
mov edx, esi
xor edi, dword [eax + 0xd8]
xor edi, dword [ebp - 8]
mov ecx, edi
mov ebx, dword [eax + 0xe4]
shrd ecx, edx, 7
xor edi, ecx
shr edx, 7
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 5
xor edx, esi
shl ecx, 5
mov esi, dword [eax - 0xac]
xor ecx, edi
and esi, dword [eax + 0x74]
mov edi, dword [eax - 0xb0]
and edi, dword [eax + 0x70]
mov dword [eax + 0x160], ecx
mov ecx, dword [eax + 0xdc]
and ecx, dword [ebp - 0x1c]
xor esi, ecx
mov dword [eax + 0x164], edx
xor esi, dword [eax - 0x15c]
mov edx, dword [eax + 0xd8]
xor esi, ebx
and edx, dword [ebp - 0x18]
xor esi, dword [ebp - 4]
xor edi, edx
xor edi, dword [eax - 0x160]
mov edx, esi
xor edi, dword [eax + 0xe0]
xor edi, dword [ebp - 8]
and ebx, dword [eax + 0xcc]
mov ecx, edi
shrd ecx, edx, 6
xor edi, ecx
shr edx, 6
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 0x1f
shl ecx, 0x1f
xor edx, esi
mov esi, dword [eax - 0xa4]
xor ecx, edi
mov edi, dword [eax - 0xa8]
and edi, dword [eax + 0x78]
and esi, dword [eax + 0x7c]
mov dword [eax + 0x168], ecx
xor esi, ebx
mov ecx, dword [eax + 0xe0]
and ecx, dword [ebp - 0x20]
xor esi, dword [eax - 0x154]
xor edi, ecx
xor edi, dword [eax - 0x158]
xor edi, dword [eax + 0xe8]
xor esi, dword [eax + 0xec]
mov ebx, dword [ebp - 8]
xor edi, ebx
mov dword [eax + 0x16c], edx
xor esi, dword [ebp - 4]
mov ecx, edi
mov edx, esi
shrd ecx, edx, 0xc
shr edx, 0xc
xor edi, ecx
xor esi, edx
mov ecx, edi
mov edx, esi
shld edx, ecx, 9
shl ecx, 9
xor edx, esi
mov esi, dword [ebp - 4]
xor ecx, edi
mov dword [eax + 0x170], ecx
mov ecx, esi
mov dword [eax + 0x174], edx
and ecx, 0x7311c281
mov edx, ebx
mov eax, esi
shld esi, ebx, 1
and edx, 0x2425cfa0
shr eax, 0x1f
xor edx, eax
xor ecx, 0
mov eax, dword [ebp + 0xc]
add ebx, ebx
xor edx, ebx
xor ecx, esi
dec dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov dword [ebp - 4], ecx
jne 0x10192cd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret