Function at 0x58eee0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x258
call fcn.00655180
mov eax, dword [0x716f80]
xor eax, esp
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x25c]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x26c]
push ebx
push 1
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.00616350
movups xmm0, xmmword [0x6d0a20]
mov ecx, 0x1bf
add esp, 0x10
movups xmm4, xmmword [0x6d0a60]
mov dword [esp + 0x10], ecx
lea esi, [esp + 0x160]
movups xmmword [esp + 0x20], xmm0
mov edi, 0xff
movups xmm0, xmmword [0x6d0a30]
movups xmm3, xmmword [0x6d0a70]
movups xmm2, xmmword [0x6d0a80]
movups xmm1, xmmword [0x6d0a90]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x6d0a40]
movaps xmm5, xmmword [0x6d0bf0]
movaps xmm7, xmmword [0x68d1b0]
movaps xmm6, xmmword [0x6d0be0]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [0x6d0a50]
movups xmmword [esp + 0xe0], xmm4
movups xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [esp + 0x1a0]
movups xmmword [esp + 0xf0], xmm3
movups xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [esp + 0x1b0]
movups xmmword [esp + 0x100], xmm2
movups xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x1c0]
movups xmmword [esp + 0x110], xmm1
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esp + 0x1d0]
movups xmmword [esp + 0xa0], xmm4
movups xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0xb0], xmm3
movups xmmword [esp + 0xc0], xmm2
movups xmmword [esp + 0xd0], xmm1
mov edx, dword [esp + 0x270]
mov eax, ecx
shr eax, 3
mov dl, byte [eax + edx]
test eax, eax
jne 0x58f02b
and dl, 0xfc
jmp 0x58f037
cmp ecx, 0x1bf
movzx edx, dl
cmove edx, edi
movzx edx, dl
and ecx, 7
shr edx, cl
and edx, 1
neg edx
mov eax, edx
mov dword [esp + 0x18], edx
xor eax, ebx
movd xmm0, eax
xor eax, eax
pshufd xmm4, xmm0, 0
nop word [eax + eax]
movups xmm1, xmmword [esp + eax + 0xe0]
movups xmm3, xmmword [esp + eax + 0x60]
movaps xmm2, xmm1
xorps xmm2, xmm3
andps xmm2, xmm4
movaps xmm0, xmm2
xorps xmm2, xmm3
movups xmm3, xmmword [esp + eax + 0xa0]
xorps xmm0, xmm1
movups xmm1, xmmword [esp + eax + 0x20]
movups xmmword [esp + eax + 0x60], xmm2
movaps xmm2, xmm1
xorps xmm2, xmm3
movups xmmword [esp + eax + 0xe0], xmm0
andps xmm2, xmm4
movaps xmm0, xmm2
xorps xmm2, xmm3
xorps xmm0, xmm1
movups xmmword [esp + eax + 0x20], xmm0
movups xmmword [esp + eax + 0xa0], xmm2
add eax, 0x10
cmp eax, 0x40
jb 0x58f060
movaps xmm4, xmmword [0x6d0c00]
xor eax, eax
mov dword [esp + 0x14], edx
nop dword [eax]
movups xmm1, xmmword [esp + eax + 0xe0]
movups xmm2, xmmword [esp + eax + 0x20]
movaps xmm0, xmm1
paddd xmm0, xmm2
psubd xmm1, xmm2
movups xmmword [esp + eax + 0x120], xmm0
movups xmmword [esp + eax + 0x160], xmm1
add eax, 0x10
cmp eax, 0x40
jb 0x58f0d0
xor edi, edi
xor ebx, ebx
xor eax, eax
mov dword [esp + 0xc], eax
nop word [eax + eax]
movd xmm0, edi
lea ecx, [edi + 6]
pshufd xmm1, xmm0, 0
lea edx, [edi + 5]
paddd xmm1, xmm7
lea ebx, [ebx + 0x20]
pcmpeqd xmm1, xmm6
movaps xmm0, xmm5
andps xmm0, xmm1
movaps xmm2, xmm1
andnps xmm2, xmm4
movd xmm1, edx
orps xmm2, xmm0
movups xmm0, xmmword [esi + ebx - 0x20]
paddd xmm2, xmm0
movd xmm0, ecx
movups xmmword [esi + eax], xmm2
lea eax, [edi + 7]
lea esi, [edi + 4]
movd xmm2, eax
mov eax, dword [esp + 0xc]
punpckldq xmm1, xmm2
add eax, 0x20
movd xmm3, esi
lea esi, [esp + 0x160]
punpckldq xmm3, xmm0
movaps xmm0, xmm5
punpckldq xmm3, xmm1
pcmpeqd xmm3, xmm6
mov dword [esp + 0xc], eax
movaps xmm1, xmm3
andps xmm0, xmm3
andnps xmm1, xmm4
orps xmm1, xmm0
movups xmm0, xmmword [esp + edi*4 + 0x170]
paddd xmm1, xmm0
movups xmmword [esp + edi*4 + 0x170], xmm1
add edi, 8
cmp edi, 0x10
jb 0x58f110
mov eax, esi
push eax
call fcn.0058e010
movups xmm0, xmmword [esp + 0xa4]
add esp, 4
xor edi, edi
movups xmm1, xmmword [esp + 0x60]
xor ebx, ebx
xor eax, eax
mov dword [esp + 0xc], eax
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [esp + 0x20], xmm1
movups xmm1, xmmword [esp + 0x70]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0xc0]
movups xmmword [esp + 0x30], xmm1
movups xmm1, xmmword [esp + 0x80]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0xd0]
movups xmmword [esp + 0x40], xmm1
movups xmm1, xmmword [esp + 0x90]
psubd xmm1, xmm0
movups xmmword [esp + 0x50], xmm1
movd xmm0, edi
lea ecx, [esp + 0x20]
pshufd xmm1, xmm0, 0
lea edx, [edi + 5]
paddd xmm1, xmm7
lea esi, [edi + 4]
pcmpeqd xmm1, xmm6
movd xmm3, esi
movaps xmm2, xmm1
lea ebx, [ebx + 0x20]
andnps xmm2, xmm4
movaps xmm0, xmm5
andps xmm0, xmm1
movd xmm1, edx
orps xmm2, xmm0
movups xmm0, xmmword [ebx + ecx - 0x20]
paddd xmm2, xmm0
movups xmmword [eax + ecx], xmm2
lea eax, [edi + 7]
lea ecx, [edi + 6]
movd xmm2, eax
mov eax, dword [esp + 0xc]
punpckldq xmm1, xmm2
add eax, 0x20
movd xmm0, ecx
punpckldq xmm3, xmm0
movaps xmm0, xmm5
punpckldq xmm3, xmm1
pcmpeqd xmm3, xmm6
mov dword [esp + 0xc], eax
movaps xmm1, xmm3
andps xmm0, xmm3
andnps xmm1, xmm4
orps xmm1, xmm0
movups xmm0, xmmword [esp + edi*4 + 0x30]
paddd xmm1, xmm0
movups xmmword [esp + edi*4 + 0x30], xmm1
add edi, 8
cmp edi, 0x10
jb 0x58f220
lea eax, [esp + 0x20]
push eax
call fcn.0058e010
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x128]
push eax
lea eax, [esp + 0xec]
push eax
call fcn.00616e60
movups xmm0, xmmword [esp + 0x70]
lea eax, [esp + 0x30]
movups xmm1, xmmword [esp + 0xb0]
push eax
lea eax, [esp + 0x174]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x84]
push eax
movups xmmword [esp + 0x38], xmm1
lea eax, [esp + 0x78]
movups xmm1, xmmword [esp + 0xc8]
push eax
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x9c]
movups xmmword [esp + 0x4c], xmm1
movups xmm1, xmmword [esp + 0xdc]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0xac]
movups xmmword [esp + 0x5c], xmm1
movups xmm1, xmmword [esp + 0xec]
paddd xmm1, xmm0
movups xmmword [esp + 0x6c], xmm1
call fcn.00616e60
movups xmm0, xmmword [esp + 0x7c]
add esp, 0x1c
xor edi, edi
movups xmm1, xmmword [esp + 0xe0]
xor ebx, ebx
xor eax, eax
movaps xmm4, xmmword [0x6d0c00]
psubd xmm1, xmm0
movaps xmm5, xmmword [0x6d0bf0]
movups xmm0, xmmword [esp + 0x70]
mov dword [esp + 0xc], eax
movaps xmm6, xmmword [0x6d0be0]
movaps xmm7, xmmword [0x68d1b0]
movups xmmword [esp + 0xa0], xmm1
movups xmm1, xmmword [esp + 0xf0]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0x80]
movups xmmword [esp + 0xb0], xmm1
movups xmm1, xmmword [esp + 0x100]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0x90]
movups xmmword [esp + 0xc0], xmm1
movups xmm1, xmmword [esp + 0x110]
psubd xmm1, xmm0
movups xmmword [esp + 0xd0], xmm1
nop dword [eax]
nop word [eax + eax]
movd xmm0, edi
lea ecx, [esp + 0xa0]
pshufd xmm1, xmm0, 0
lea edx, [edi + 5]
paddd xmm1, xmm7
lea esi, [edi + 4]
pcmpeqd xmm1, xmm6
movd xmm3, esi
movaps xmm2, xmm1
lea ebx, [ebx + 0x20]
andnps xmm2, xmm4
movaps xmm0, xmm5
andps xmm0, xmm1
movd xmm1, edx
orps xmm2, xmm0
movups xmm0, xmmword [ebx + ecx - 0x20]
paddd xmm2, xmm0
movups xmmword [eax + ecx], xmm2
lea eax, [edi + 7]
lea ecx, [edi + 6]
movd xmm2, eax
mov eax, dword [esp + 0xc]
punpckldq xmm1, xmm2
add eax, 0x20
movd xmm0, ecx
punpckldq xmm3, xmm0
movaps xmm0, xmm5
punpckldq xmm3, xmm1
pcmpeqd xmm3, xmm6
mov dword [esp + 0xc], eax
movaps xmm1, xmm3
andps xmm0, xmm3
andnps xmm1, xmm4
orps xmm1, xmm0
movups xmm0, xmmword [esp + edi*4 + 0xb0]
paddd xmm1, xmm0
movups xmmword [esp + edi*4 + 0xb0], xmm1
add edi, 8
cmp edi, 0x10
jb 0x58f3f0
lea eax, [esp + 0xa0]
push eax
call fcn.0058e010
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00617410
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.00616e60
movups xmm0, xmmword [esp + 0x78]
lea eax, [esp + 0x38]
movups xmm1, xmmword [esp + 0xf8]
push eax
lea eax, [esp + 0x7c]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x8c]
push eax
movups xmmword [esp + 0x40], xmm1
movups xmm1, xmmword [esp + 0x110]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [esp + 0x50], xmm1
movups xmm1, xmmword [esp + 0x120]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [esp + 0x60], xmm1
movups xmm1, xmmword [esp + 0x130]
paddd xmm1, xmm0
movups xmmword [esp + 0x70], xmm1
call fcn.00617410
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00617410
lea eax, [esp + 0x188]
push eax
lea eax, [esp + 0x14c]
push eax
call fcn.00617410
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.00616e60
movups xmm0, xmmword [esp + 0x15c]
add esp, 0x3c
xor edi, edi
movups xmm1, xmmword [esp + 0x20]
xor ebx, ebx
xor eax, eax
movaps xmm4, xmmword [0x6d0c00]
psubd xmm1, xmm0
movaps xmm5, xmmword [0x6d0bf0]
movups xmm0, xmmword [esp + 0x130]
mov dword [esp + 0xc], eax
movaps xmm6, xmmword [0x6d0be0]
movups xmmword [esp + 0x160], xmm1
movups xmm1, xmmword [esp + 0x30]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0x140]
movups xmmword [esp + 0x170], xmm1
movups xmm1, xmmword [esp + 0x40]
psubd xmm1, xmm0
movups xmm0, xmmword [esp + 0x150]
movups xmmword [esp + 0x180], xmm1
movups xmm1, xmmword [esp + 0x50]
psubd xmm1, xmm0
movups xmmword [esp + 0x190], xmm1
nop dword [eax]
movd xmm0, edi
lea ecx, [esp + 0x160]
pshufd xmm1, xmm0, 0
lea edx, [edi + 5]
paddd xmm1, xmmword [0x68d1b0]
lea esi, [edi + 4]
pcmpeqd xmm1, xmm6
movd xmm3, esi
movaps xmm2, xmm1
lea ebx, [ebx + 0x20]
andnps xmm2, xmm4
movaps xmm0, xmm5
andps xmm0, xmm1
movd xmm1, edx
orps xmm2, xmm0
movups xmm0, xmmword [ecx + ebx - 0x20]
paddd xmm2, xmm0
movups xmmword [ecx + eax], xmm2
lea eax, [edi + 7]
lea ecx, [edi + 6]
movd xmm2, eax
mov eax, dword [esp + 0xc]
punpckldq xmm1, xmm2
add eax, 0x20
movd xmm0, ecx
punpckldq xmm3, xmm0
movaps xmm0, xmm5
punpckldq xmm3, xmm1
pcmpeqd xmm3, xmm6
mov dword [esp + 0xc], eax
movaps xmm1, xmm3
andps xmm0, xmm3
andnps xmm1, xmm4
orps xmm1, xmm0
movups xmm0, xmmword [esp + edi*4 + 0x170]
paddd xmm1, xmm0
movups xmmword [esp + edi*4 + 0x170], xmm1
add edi, 8
cmp edi, 0x10
jb 0x58f600
lea eax, [esp + 0x160]
push eax
call fcn.0058e010
push 0x98a9
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x12c]
push eax
call fcn.00617140
movups xmm1, xmmword [esp + 0x130]
lea eax, [esp + 0x130]
movups xmm0, xmmword [esp + 0x30]
push eax
lea eax, [esp + 0x174]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x44]
push eax
movups xmmword [esp + 0x138], xmm1
lea eax, [esp + 0x38]
movups xmm1, xmmword [esp + 0x148]
push eax
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [esp + 0x14c], xmm1
movups xmm1, xmmword [esp + 0x15c]
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [esp + 0x15c], xmm1
movups xmm1, xmmword [esp + 0x16c]
paddd xmm1, xmm0
movups xmmword [esp + 0x16c], xmm1
call fcn.00616e60
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x17c]
movaps xmm5, xmmword [0x6d0bf0]
add esp, 0x1c
movaps xmm6, xmmword [0x6d0be0]
sub ecx, 1
movaps xmm7, xmmword [0x68d1b0]
mov edi, 0xff
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jns 0x58f013
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x60]
push esi
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.0058def0
push esi
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0058def0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x23c]
push eax
call fcn.00617410
lea eax, [esp + 0x240]
push eax
lea eax, [esp + 0x204]
push eax
call fcn.006165a0
lea eax, [esp + 0x208]
push eax
lea eax, [esp + 0x24c]
push eax
call fcn.00617410
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0x218]
push eax
call fcn.00616e60
movups xmm0, xmmword [esp + 0x21c]
lea eax, [esp + 0x5c]
push eax
movups xmmword [esp + 0x60], xmm0
lea eax, [esp + 0x120]
movups xmm0, xmmword [esp + 0x230]
push eax
lea eax, [esp + 0x1e4]
movups xmmword [esp + 0x74], xmm0
push eax
movups xmm0, xmmword [esp + 0x248]
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [esp + 0x258]
movups xmmword [esp + 0x98], xmm0
call fcn.00616e60
add esp, 0x48
lea eax, [esp + 0x1a0]
push 1
push eax
push dword [esp + 0x24]
call fcn.00616aa0
lea eax, [esp + 0x1ac]
push 0x6d0a20
push eax
call fcn.00616500
mov esi, eax
lea eax, [esp + 0x1b4]
push 0x40
push eax
not esi
call fcn.00401320
lea eax, [esp + 0xfc]
push 0x40
push eax
call fcn.00401320
lea eax, [esp + 0x44]
push 0x40
push eax
call fcn.00401320
lea eax, [esp + 0x8c]
push 0x40
push eax
call fcn.00401320
push 0x40
lea eax, [esp + 0xd8]
push eax
call fcn.00401320
lea eax, [esp + 0x15c]
push 0x40
push eax
call fcn.00401320
add esp, 0x44
lea eax, [esp + 0x160]
push 0x40
push eax
call fcn.00401320
mov ecx, dword [esp + 0x268]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0065469c
add esp, 0x258
ret