Function at 0x1012c310
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, ecx
mov byte [ecx], 0
xorps xmm0, xmm0
movups xmmword [ecx + 0xd0], xmm0
xor eax, eax
mov dword [ecx + 0xe0], eax
xor ecx, ecx
xchg dword [esi + 4], ecx
xor ecx, ecx
xchg dword [esi + 8], ecx
xor ecx, ecx
xchg dword [esi + 0xc], ecx
xor ecx, ecx
xchg dword [esi + 0x10], ecx
xor ecx, ecx
xchg dword [esi + 0x14], ecx
xor ecx, ecx
xchg dword [esi + 0x18], ecx
xor ecx, ecx
xchg dword [esi + 0x1c], ecx
xor ecx, ecx
xchg dword [esi + 0x20], ecx
xor ecx, ecx
xchg dword [esi + 0x24], ecx
xor ecx, ecx
xchg dword [esi + 0x28], ecx
xor ecx, ecx
xchg dword [esi + 0x2c], ecx
xor ecx, ecx
xchg dword [esi + 0x30], ecx
xor ecx, ecx
xchg dword [esi + 0x34], ecx
xor ecx, ecx
xchg dword [esi + 0x38], ecx
xor ecx, ecx
xchg dword [esi + 0x3c], ecx
xor ecx, ecx
xchg dword [esi + 0x40], ecx
xchg dword [esi + 0x44], eax
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x4c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x48]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c385
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x54]
mov edx, edi
lock cmpxchg8b qword [esi + 0x50]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c3a2
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x5c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x58]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c3bf
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x64]
mov edx, edi
lock cmpxchg8b qword [esi + 0x60]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c3dc
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x6c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x68]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c3f9
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x74]
mov edx, edi
lock cmpxchg8b qword [esi + 0x70]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c416
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x7c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x78]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c433
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x84]
mov edx, edi
lock cmpxchg8b qword [esi + 0x80]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c450
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x8c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x88]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c476
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x94]
mov edx, edi
lock cmpxchg8b qword [esi + 0x90]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c49c
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0x98]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x9c]
mov edx, edi
lock cmpxchg8b qword [esi + 0x98]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c4c2
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xa0]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xa4]
mov edx, edi
lock cmpxchg8b qword [esi + 0xa0]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c4e8
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xac]
mov edx, edi
lock cmpxchg8b qword [esi + 0xa8]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c50e
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xb4]
mov edx, edi
lock cmpxchg8b qword [esi + 0xb0]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c534
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xb8]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xbc]
mov edx, edi
lock cmpxchg8b qword [esi + 0xb8]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c55a
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xc0]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xc4]
mov edx, edi
lock cmpxchg8b qword [esi + 0xc0]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c580
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esi + 0xc8]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xcc]
mov edx, edi
lock cmpxchg8b qword [esi + 0xc8]
xor edx, edi
xor eax, dword [ebp - 0x10]
or eax, edx
jne 0x1012c5a6
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret