Function at 0x5a26d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x320
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [ebp - 0x31c]
xor esi, esi
sub edi, ecx
lea ecx, [ebp + esi*8 - 0x31c]
lea edx, [edi + esi*8]
mov ebx, dword [ebp + edx - 0x31c]
mov edx, dword [ebp + edx - 0x318]
mov dword [ecx + 4], edx
mov dword [ecx], ebx
mov edx, ebx
mov ebx, dword [ecx + 4]
inc esi
cmp esi, 0x10
bswap edx
bswap ebx
mov dword [ecx], ebx
mov dword [ecx + 4], edx
jl 0x5a26eb
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x48], 0x40
mov edx, dword [ecx - 0x68]
mov ecx, dword [ecx - 0x64]
mov dword [ebp - 0x28], ecx
mov ebx, edx
shrd ebx, ecx, 8
shr ecx, 8
xor edi, edi
or edi, ebx
mov ebx, dword [ebp - 0x28]
mov esi, edx
shl esi, 0x18
or esi, ecx
mov dword [ebp - 0x2c], edx
mov ecx, edx
shrd edx, ebx, 1
shl ecx, 0x1f
mov dword [ebp - 0x10], edi
xor edi, edi
or edi, edx
mov edx, dword [ebp - 0x10]
xor edx, edi
mov edi, dword [ebp - 0x2c]
shr ebx, 1
or ecx, ebx
xor esi, ecx
mov ecx, dword [ebp - 0x28]
shrd edi, ecx, 7
shr ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x14]
xor edx, edi
mov dword [ecx + 0x10], edx
mov edx, dword [ecx]
mov dword [ecx + 0x14], esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x20], ecx
mov ebx, edx
shrd ebx, ecx, 0x13
xor edi, edi
or edi, ebx
mov ebx, dword [ebp - 0x20]
shr ecx, 0x13
mov esi, edx
mov dword [ebp - 0x24], edx
shld ebx, edx, 3
shl esi, 0xd
or esi, ecx
mov ecx, dword [ebp - 0x20]
shr ecx, 0x1d
shl edx, 3
or ecx, edx
mov edx, edi
xor edi, edi
xor edx, ecx
mov ecx, dword [ebp - 0x20]
or edi, ebx
xor esi, edi
mov edi, dword [ebp - 0x24]
shrd edi, ecx, 6
shr ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x14]
xor edx, edi
add dword [ecx + 0x10], edx
mov edx, dword [ecx - 0x70]
adc dword [ecx + 0x14], esi
add edx, dword [ecx - 0x28]
mov esi, dword [ecx - 0x6c]
adc esi, dword [ecx - 0x24]
add dword [ecx + 0x10], edx
adc dword [ecx + 0x14], esi
add ecx, 8
dec dword [ebp - 0x48]
mov dword [ebp - 0x14], ecx
jne 0x5a272c
mov edx, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 4]
and dword [ebp - 0x14], 0
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x1c], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x34], edx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x30], esi
mov esi, dword [eax + 0x14]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x54], edx
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x50], esi
mov esi, dword [eax + 0x1c]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x2c], edx
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x28], esi
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0xc], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x60], esi
mov dword [ebp - 8], esi
mov esi, dword [eax + 0x2c]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x44], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x40], esi
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x38], esi
mov esi, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0x31c]
sub eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x1c]
mov edi, ecx
shrd esi, edi, 0x1c
xor edx, edx
or edx, esi
shr edi, 0x1c
mov esi, ecx
shld ecx, ebx, 0x1e
shl eax, 4
or eax, edi
shr esi, 2
xor edi, edi
or edi, ecx
mov ecx, dword [ebp - 0x18]
xor eax, edi
mov edi, dword [ebp - 0x1c]
shl ebx, 0x1e
or esi, ebx
mov ebx, dword [ebp - 0x18]
xor edx, esi
shld ebx, edi, 0x19
xor esi, esi
or esi, ebx
mov ebx, dword [ebp - 0x30]
and ebx, dword [ebp - 0x18]
xor eax, esi
mov esi, dword [ebp - 0x30]
xor esi, dword [ebp - 0x18]
shr ecx, 7
and esi, dword [ebp - 0x50]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebp - 0x34]
and edi, dword [ebp - 0x1c]
xor edx, ecx
mov ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x1c]
xor esi, ebx
and ecx, dword [ebp - 0x54]
mov ebx, dword [ebp - 8]
xor ecx, edi
mov edi, dword [ebp - 0xc]
add edx, ecx
adc eax, esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0xc]
shld esi, edx, 0x17
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x14]
shl eax, 3
shl edx, 0x17
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
shrd edi, ebx, 0x12
shr eax, 9
or eax, edx
mov edx, dword [ebp - 0xc]
xor ecx, ecx
or ecx, esi
shl edx, 0xe
shr ebx, 0x12
or edx, ebx
mov ebx, dword [ebp - 8]
xor esi, esi
or esi, edi
mov edi, dword [ebp - 0xc]
xor ecx, edx
mov edx, dword [ebp - 0xc]
shrd edi, ebx, 0xe
xor eax, esi
xor esi, esi
shl edx, 0x12
shr ebx, 0xe
or esi, edi
or edx, ebx
xor eax, esi
xor ecx, edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x44]
and edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x40]
and ebx, dword [ebp - 8]
not edx
and edx, dword [ebp - 0x3c]
not esi
and esi, dword [ebp - 0x38]
xor edx, edi
xor esi, ebx
add eax, edx
mov edx, dword [ebp - 0x48]
adc ecx, esi
mov esi, dword [ebp - 0x10]
add esi, edx
add eax, dword [ebp + esi - 0x31c]
mov edi, dword [ebp - 0x34]
adc ecx, dword [ebp + esi - 0x318]
add eax, dword [ebp + edx - 0x31c]
mov ebx, dword [ebp - 0x30]
adc ecx, dword [ebp + edx - 0x318]
add eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
adc ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x40], edx
mov edx, eax
add edx, dword [ebp - 0x2c]
mov esi, ecx
adc esi, dword [ebp - 0x28]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x54]
adc ecx, dword [ebp - 0x68]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x50
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
jl 0x5a28b0
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
add edx, eax
mov eax, dword [ebp + 8]
adc esi, ecx
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x34]
mov dword [eax], edx
mov edx, dword [ebp - 0x88]
adc edx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x7c]
add ecx, edi
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x78]
adc edx, ebx
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x2c]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x98]
adc edx, dword [ebp - 0x28]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0xc]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x60]
adc edx, dword [ebp - 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x44]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x70]
adc edx, dword [ebp - 0x40]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x3c]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x80]
adc edx, dword [ebp - 0x38]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0x24]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x90]
adc edx, dword [ebp - 0x20]
and dword [eax + 0xd8], 0
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], edx
pop ebx
leave
ret 4