Function at 0x5977f0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffff4
mov dword [esp], eax
mov dword [esp + 4], 0xd
mov ebx, dword [esp]
add ebx, 0x10
mov edx, dword [ebx]
mov ecx, 0x80808080
and ecx, edx
mov eax, ecx
shr eax, 7
push eax
mov eax, ecx
pop ecx
sub eax, ecx
and eax, 0x1b1b1b1b
mov ecx, 0x7f7f7f7f
and ecx, edx
add ecx, ecx
xor eax, ecx
mov ecx, 0x80808080
and ecx, eax
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, 0x7f7f7f7f
and esi, eax
add esi, esi
xor ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
and ecx, 0x80808080
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, dword [esp + 8]
and esi, 0x7f7f7f7f
add esi, esi
xor ecx, esi
xor edx, ecx
mov esi, eax
xor esi, edx
shl esi, 0x18
mov edi, eax
xor edi, edx
shr edi, 8
or esi, edi
xor eax, dword [esp + 8]
xor ecx, eax
xor esi, ecx
mov eax, dword [esp + 8]
xor eax, edx
shl eax, 0x10
mov ecx, dword [esp + 8]
xor ecx, edx
shr ecx, 0x10
or eax, ecx
xor esi, eax
mov eax, edx
shl eax, 8
shr edx, 0x18
or eax, edx
xor esi, eax
mov dword [ebx], esi
mov edx, dword [ebx + 4]
mov ecx, 0x80808080
and ecx, edx
mov eax, ecx
shr eax, 7
push eax
mov eax, ecx
pop ecx
sub eax, ecx
and eax, 0x1b1b1b1b
mov ecx, 0x7f7f7f7f
and ecx, edx
add ecx, ecx
xor eax, ecx
mov ecx, 0x80808080
and ecx, eax
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, 0x7f7f7f7f
and esi, eax
add esi, esi
xor ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
and ecx, 0x80808080
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, dword [esp + 8]
and esi, 0x7f7f7f7f
add esi, esi
xor ecx, esi
xor edx, ecx
mov esi, eax
xor esi, edx
shl esi, 0x18
mov edi, eax
xor edi, edx
shr edi, 8
or esi, edi
xor eax, dword [esp + 8]
xor ecx, eax
xor esi, ecx
mov eax, dword [esp + 8]
xor eax, edx
shl eax, 0x10
mov ecx, dword [esp + 8]
xor ecx, edx
shr ecx, 0x10
or eax, ecx
xor esi, eax
mov eax, edx
shl eax, 8
shr edx, 0x18
or eax, edx
xor esi, eax
mov dword [ebx + 4], esi
mov edx, dword [ebx + 8]
mov ecx, 0x80808080
and ecx, edx
mov eax, ecx
shr eax, 7
push eax
mov eax, ecx
pop ecx
sub eax, ecx
and eax, 0x1b1b1b1b
mov ecx, 0x7f7f7f7f
and ecx, edx
add ecx, ecx
xor eax, ecx
mov ecx, 0x80808080
and ecx, eax
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, 0x7f7f7f7f
and esi, eax
add esi, esi
xor ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
and ecx, 0x80808080
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, dword [esp + 8]
and esi, 0x7f7f7f7f
add esi, esi
xor ecx, esi
xor edx, ecx
mov esi, eax
xor esi, edx
shl esi, 0x18
mov edi, eax
xor edi, edx
shr edi, 8
or esi, edi
xor eax, dword [esp + 8]
xor ecx, eax
xor esi, ecx
mov eax, dword [esp + 8]
xor eax, edx
shl eax, 0x10
mov ecx, dword [esp + 8]
xor ecx, edx
shr ecx, 0x10
or eax, ecx
xor esi, eax
mov eax, edx
shl eax, 8
shr edx, 0x18
or eax, edx
xor esi, eax
mov dword [ebx + 8], esi
mov edx, dword [ebx + 0xc]
mov ecx, 0x80808080
and ecx, edx
mov eax, ecx
shr eax, 7
push eax
mov eax, ecx
pop ecx
sub eax, ecx
and eax, 0x1b1b1b1b
mov ecx, 0x7f7f7f7f
and ecx, edx
add ecx, ecx
xor eax, ecx
mov ecx, 0x80808080
and ecx, eax
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, 0x7f7f7f7f
and esi, eax
add esi, esi
xor ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
and ecx, 0x80808080
mov esi, ecx
shr esi, 7
sub ecx, esi
and ecx, 0x1b1b1b1b
mov esi, dword [esp + 8]
and esi, 0x7f7f7f7f
add esi, esi
xor ecx, esi
xor edx, ecx
mov esi, eax
xor esi, edx
shl esi, 0x18
mov edi, eax
xor edi, edx
shr edi, 8
or esi, edi
xor eax, dword [esp + 8]
xor ecx, eax
xor esi, ecx
mov eax, dword [esp + 8]
xor eax, edx
shl eax, 0x10
mov ecx, dword [esp + 8]
xor ecx, edx
shr ecx, 0x10
or eax, ecx
xor esi, eax
mov eax, edx
shl eax, 8
shr edx, 0x18
or eax, edx
xor esi, eax
mov dword [ebx + 0xc], esi
add ebx, 0x10
dec dword [esp + 4]
jne 0x597807
add esp, 0xc
pop edi
pop esi
pop ebx
ret