Function at 0x511ff0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x498
mov eax, dword [0x590048]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x10]
push esi
push edi
mov edi, dword [ebx + 0xc]
lea esi, [ebp - 0x410]
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x474], eax
lea eax, [ecx + 0x10]
mov dword [ebp - 0x470], ecx
lea edx, [edi + 0x30]
mov dword [ebp - 0x434], 0x10
sub edi, ecx
mov dword [ebx + 0xc], edi
mov edi, esi
lea esi, [ebp - 0x400]
sub edi, ecx
sub esi, ecx
mov dword [ebp - 0x468], esi
lea esi, [ebp - 0x3f0]
sub esi, ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x46c], esi
mov esi, dword [ebp - 0x464]
nop word [eax + eax]
sub dword [ebp - 0x434], 1
lea esi, [esi + 0x40]
movups xmm0, xmmword [edx - 0x30]
lea eax, [eax + 0x40]
lea edx, [edx + 0x40]
pxor xmm0, xmmword [eax - 0x50]
movups xmmword [eax - 0x50], xmm0
movups xmmword [esi - 0x40], xmm0
movups xmm0, xmmword [ecx + eax - 0x40]
mov ecx, dword [ebp - 0x468]
pxor xmm0, xmmword [eax - 0x40]
movups xmmword [eax - 0x40], xmm0
movups xmmword [edi + eax - 0x40], xmm0
movups xmm0, xmmword [edx - 0x50]
pxor xmm0, xmmword [eax - 0x30]
movups xmmword [ecx + eax - 0x40], xmm0
mov ecx, dword [ebp - 0x46c]
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [edx - 0x40]
pxor xmm0, xmmword [eax - 0x20]
movups xmmword [ecx + eax - 0x40], xmm0
mov ecx, dword [ebx + 0xc]
movups xmmword [eax - 0x20], xmm0
jne 0x512080
mov ecx, dword [ebp - 0x470]
mov edx, 8
lea eax, [ecx + 0x20]
nop word [eax + eax]
movups xmm2, xmmword [eax]
movups xmm0, xmmword [eax - 0x20]
movups xmm1, xmmword [eax + 0x10]
movaps xmm3, xmm0
paddq xmm0, xmm2
pmuludq xmm3, xmm2
paddq xmm3, xmm3
paddq xmm3, xmm0
movups xmm0, xmmword [eax - 0x10]
movaps xmm4, xmm0
movaps xmmword [ebp - 0x490], xmm3
paddq xmm0, xmm1
pmuludq xmm4, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm0
movaps xmm0, xmm3
pxor xmm0, xmmword [eax + 0x40]
pshufd xmm3, xmm0, 0xb1
movaps xmm0, xmm4
pxor xmm0, xmmword [eax + 0x50]
movaps xmmword [ebp - 0x450], xmm4
pshufd xmm4, xmm0, 0xb1
movups xmm0, xmmword [eax + 0x20]
movaps xmm7, xmm0
paddq xmm0, xmm3
pmuludq xmm7, xmm3
paddq xmm7, xmm7
paddq xmm7, xmm0
movups xmm0, xmmword [eax + 0x30]
movaps xmm6, xmm0
movaps xmm5, xmm7
paddq xmm0, xmm4
pmuludq xmm6, xmm4
pxor xmm5, xmm2
pshufb xmm5, xmmword [0x55db70]
paddq xmm6, xmm6
paddq xmm6, xmm0
movaps xmm0, xmmword [ebp - 0x490]
movaps xmm2, xmm6
pxor xmm2, xmm1
movaps xmm1, xmm0
pshufb xmm2, xmmword [0x55db70]
pmuludq xmm1, xmm5
paddq xmm0, xmm5
paddq xmm1, xmm1
paddq xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x450]
movaps xmmword [ebp - 0x420], xmm1
movaps xmm1, xmm0
pmuludq xmm1, xmm2
paddq xmm0, xmm2
paddq xmm1, xmm1
paddq xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x420]
pxor xmm0, xmm3
movaps xmmword [ebp - 0x460], xmm1
pshufb xmm0, xmmword [0x55db60]
movaps xmm3, xmm1
movaps xmm1, xmm6
pxor xmm3, xmm4
movaps xmmword [ebp - 0x450], xmm0
pshufb xmm3, xmmword [0x55db60]
movaps xmm4, xmm7
paddq xmm7, xmm0
pmuludq xmm4, xmm0
paddq xmm6, xmm3
pmuludq xmm1, xmm3
paddq xmm4, xmm4
paddq xmm4, xmm7
paddq xmm1, xmm1
paddq xmm1, xmm6
movaps xmmword [ebp - 0x490], xmm4
movaps xmm0, xmm4
movaps xmmword [ebp - 0x430], xmm1
pxor xmm0, xmm5
pxor xmm1, xmm2
movaps xmm2, xmm0
movaps xmm6, xmm1
paddq xmm2, xmm0
psrlq xmm0, 0x3f
pxor xmm2, xmm0
paddq xmm6, xmm1
movaps xmm0, xmmword [ebp - 0x450]
psrlq xmm1, 0x3f
movaps xmm4, xmm2
pxor xmm6, xmm1
movaps xmm1, xmm3
palignr xmm4, xmm6, 8
palignr xmm6, xmm2, 8
movaps xmm2, xmmword [ebp - 0x420]
movaps xmm5, xmm2
palignr xmm1, xmm0, 8
pmuludq xmm5, xmm6
paddq xmm2, xmm6
palignr xmm0, xmm3, 8
movaps xmm3, xmmword [ebp - 0x430]
paddq xmm5, xmm5
paddq xmm5, xmm2
movaps xmm2, xmmword [ebp - 0x460]
movaps xmm7, xmm2
pxor xmm0, xmm5
pmuludq xmm7, xmm4
paddq xmm2, xmm4
paddq xmm7, xmm7
paddq xmm7, xmm2
pshufd xmm2, xmm0, 0xb1
movaps xmm0, xmm7
movaps xmmword [ebp - 0x460], xmm2
pxor xmm0, xmm1
movaps xmm1, xmm3
pmuludq xmm1, xmm2
paddq xmm3, xmm2
movaps xmm2, xmmword [ebp - 0x490]
pshufd xmm0, xmm0, 0xb1
paddq xmm2, xmm0
paddq xmm1, xmm1
paddq xmm1, xmm3
movaps xmm3, xmmword [ebp - 0x490]
pmuludq xmm3, xmm0
movaps xmmword [ebp - 0x450], xmm1
paddq xmm3, xmm3
paddq xmm3, xmm2
movaps xmmword [ebp - 0x430], xmm3
movaps xmm3, xmm1
pxor xmm3, xmm6
movaps xmm6, xmmword [ebp - 0x430]
pshufb xmm3, xmmword [0x55db70]
movaps xmm1, xmm6
pxor xmm1, xmm4
movaps xmm4, xmm5
pshufb xmm1, xmmword [0x55db70]
pmuludq xmm4, xmm3
paddq xmm5, xmm3
paddq xmm4, xmm4
paddq xmm4, xmm5
movaps xmmword [ebp - 0x420], xmm4
movups xmmword [eax - 0x20], xmm4
movaps xmm4, xmm7
pmuludq xmm4, xmm1
paddq xmm7, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm7
movaps xmm7, xmmword [ebp - 0x420]
pxor xmm7, xmmword [ebp - 0x460]
pshufb xmm7, xmmword [0x55db60]
movups xmmword [eax - 0x10], xmm4
pxor xmm4, xmm0
pshufb xmm4, xmmword [0x55db60]
movaps xmm0, xmmword [ebp - 0x450]
movaps xmmword [ebp - 0x430], xmm4
movaps xmm5, xmm0
pmuludq xmm5, xmm7
paddq xmm0, xmm7
movaps xmmword [ebp - 0x420], xmm7
movaps xmm4, xmm6
movaps xmm7, xmmword [ebp - 0x430]
pmuludq xmm4, xmm7
paddq xmm6, xmm7
paddq xmm5, xmm5
paddq xmm5, xmm0
paddq xmm4, xmm4
paddq xmm4, xmm6
movups xmmword [eax + 0x20], xmm4
movaps xmm0, xmm5
movups xmmword [eax + 0x30], xmm5
pxor xmm0, xmm3
lea eax, [eax + 0x80]
movaps xmm3, xmm0
paddq xmm3, xmm0
movaps xmm2, xmm4
psrlq xmm0, 0x3f
pxor xmm2, xmm1
movaps xmm1, xmm2
paddq xmm1, xmm2
pxor xmm3, xmm0
psrlq xmm2, 0x3f
movaps xmm0, xmm3
pxor xmm1, xmm2
palignr xmm0, xmm1, 8
palignr xmm1, xmm3, 8
movups xmmword [eax - 0x80], xmm0
movaps xmm0, xmm7
movups xmmword [eax - 0x70], xmm1
movaps xmm1, xmmword [ebp - 0x420]
palignr xmm0, xmm1, 8
palignr xmm1, xmm7, 8
movups xmmword [eax - 0x40], xmm0
movups xmmword [eax - 0x30], xmm1
sub edx, 1
jne 0x512100
lea eax, [ecx + 0x100]
mov edx, 8
nop word [eax + eax]
movups xmm2, xmmword [eax]
movups xmm0, xmmword [eax - 0x100]
movaps xmm3, xmm0
movups xmm1, xmmword [eax + 0x80]
paddq xmm0, xmm2
pmuludq xmm3, xmm2
paddq xmm3, xmm3
paddq xmm3, xmm0
movups xmm0, xmmword [eax - 0x80]
movaps xmm4, xmm0
movaps xmmword [ebp - 0x430], xmm3
paddq xmm0, xmm1
pmuludq xmm4, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm0
movaps xmm0, xmm3
pxor xmm0, xmmword [eax + 0x200]
pshufd xmm3, xmm0, 0xb1
movaps xmm0, xmm4
pxor xmm0, xmmword [eax + 0x280]
movaps xmmword [ebp - 0x420], xmm4
pshufd xmm4, xmm0, 0xb1
movups xmm0, xmmword [eax + 0x100]
movaps xmm6, xmm0
movaps xmmword [ebp - 0x460], xmm3
paddq xmm0, xmm3
pmuludq xmm6, xmm3
movaps xmm3, xmmword [ebp - 0x420]
paddq xmm6, xmm6
paddq xmm6, xmm0
movups xmm0, xmmword [eax + 0x180]
movaps xmm5, xmm0
movaps xmm7, xmm6
paddq xmm0, xmm4
pmuludq xmm5, xmm4
pxor xmm7, xmm2
pshufb xmm7, xmmword [0x55db70]
paddq xmm5, xmm5
paddq xmm5, xmm0
movaps xmm0, xmmword [ebp - 0x430]
movaps xmm2, xmm5
pxor xmm2, xmm1
movaps xmm1, xmm0
pshufb xmm2, xmmword [0x55db70]
paddq xmm0, xmm7
pmuludq xmm1, xmm7
paddq xmm3, xmm2
paddq xmm1, xmm1
paddq xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x420]
pmuludq xmm0, xmm2
movaps xmmword [ebp - 0x450], xmm1
paddq xmm0, xmm0
paddq xmm3, xmm0
movaps xmm0, xmm1
pxor xmm0, xmmword [ebp - 0x460]
movaps xmm1, xmm6
pshufb xmm0, xmmword [0x55db60]
movaps xmmword [ebp - 0x420], xmm3
movaps xmm3, xmmword [ebp - 0x420]
paddq xmm6, xmm0
pmuludq xmm1, xmm0
pxor xmm3, xmm4
pshufb xmm3, xmmword [0x55db60]
movaps xmmword [ebp - 0x430], xmm0
movaps xmm0, xmm5
pmuludq xmm0, xmm3
paddq xmm1, xmm1
paddq xmm1, xmm6
paddq xmm5, xmm3
pxor xmm7, xmm1
movaps xmmword [ebp - 0x490], xmm1
paddq xmm0, xmm0
paddq xmm0, xmm5
pxor xmm2, xmm0
movaps xmmword [ebp - 0x460], xmm0
movaps xmm0, xmm7
movaps xmm6, xmm2
paddq xmm0, xmm7
psrlq xmm7, 0x3f
pxor xmm0, xmm7
paddq xmm6, xmm2
movaps xmm4, xmm0
psrlq xmm2, 0x3f
movaps xmm1, xmm3
pxor xmm6, xmm2
movaps xmm2, xmmword [ebp - 0x430]
palignr xmm4, xmm6, 8
palignr xmm6, xmm0, 8
movaps xmm7, xmm4
movaps xmm0, xmmword [ebp - 0x450]
pmuludq xmm7, xmmword [ebp - 0x420]
movaps xmm5, xmm0
pmuludq xmm5, xmm6
paddq xmm0, xmm6
palignr xmm1, xmm2, 8
palignr xmm2, xmm3, 8
movaps xmm3, xmmword [ebp - 0x460]
paddq xmm7, xmm7
paddq xmm5, xmm5
paddq xmm5, xmm0
movaps xmm0, xmm4
paddq xmm0, xmmword [ebp - 0x420]
pxor xmm2, xmm5
paddq xmm7, xmm0
pshufd xmm2, xmm2, 0xb1
movaps xmm0, xmm7
movaps xmmword [ebp - 0x450], xmm2
pxor xmm0, xmm1
movaps xmm1, xmm3
pmuludq xmm1, xmm2
paddq xmm3, xmm2
movaps xmm2, xmmword [ebp - 0x490]
pshufd xmm0, xmm0, 0xb1
paddq xmm2, xmm0
paddq xmm1, xmm1
paddq xmm1, xmm3
movaps xmm3, xmmword [ebp - 0x490]
pmuludq xmm3, xmm0
movaps xmmword [ebp - 0x460], xmm1
paddq xmm3, xmm3
paddq xmm3, xmm2
movaps xmmword [ebp - 0x430], xmm3
movaps xmm3, xmm1
pxor xmm3, xmm6
movaps xmm6, xmmword [ebp - 0x430]
pshufb xmm3, xmmword [0x55db70]
movaps xmm1, xmm6
pxor xmm1, xmm4
movaps xmm4, xmm5
pshufb xmm1, xmmword [0x55db70]
pmuludq xmm4, xmm3
paddq xmm5, xmm3
paddq xmm4, xmm4
paddq xmm4, xmm5
movaps xmmword [ebp - 0x420], xmm4
movups xmmword [eax - 0x100], xmm4
movaps xmm4, xmm7
pmuludq xmm4, xmm1
paddq xmm7, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm7
movaps xmm7, xmmword [ebp - 0x420]
pxor xmm7, xmmword [ebp - 0x450]
pshufb xmm7, xmmword [0x55db60]
movups xmmword [eax - 0x80], xmm4
pxor xmm4, xmm0
pshufb xmm4, xmmword [0x55db60]
movaps xmm0, xmmword [ebp - 0x460]
movaps xmmword [ebp - 0x430], xmm4
movaps xmm5, xmm0
pmuludq xmm5, xmm7
paddq xmm0, xmm7
movaps xmmword [ebp - 0x420], xmm7
movaps xmm4, xmm6
movaps xmm7, xmmword [ebp - 0x430]
pmuludq xmm4, xmm7
paddq xmm6, xmm7
paddq xmm5, xmm5
paddq xmm5, xmm0
paddq xmm4, xmm4
paddq xmm4, xmm6
movups xmmword [eax + 0x100], xmm4
movaps xmm0, xmm5
movups xmmword [eax + 0x180], xmm5
pxor xmm0, xmm3
lea eax, [eax + 0x10]
movaps xmm3, xmm0
paddq xmm3, xmm0
movaps xmm2, xmm4
psrlq xmm0, 0x3f
pxor xmm2, xmm1
movaps xmm1, xmm2
paddq xmm1, xmm2
pxor xmm3, xmm0
psrlq xmm2, 0x3f
movaps xmm0, xmm3
pxor xmm1, xmm2
palignr xmm0, xmm1, 8
palignr xmm1, xmm3, 8
movups xmmword [eax - 0x10], xmm0
movaps xmm0, xmm7
movups xmmword [eax + 0x70], xmm1
movaps xmm1, xmmword [ebp - 0x420]
palignr xmm0, xmm1, 8
palignr xmm1, xmm7, 8
movups xmmword [eax + 0x1f0], xmm0
movups xmmword [eax + 0x270], xmm1
sub edx, 1
jne 0x512480
mov edx, dword [ebp - 0x474]
mov eax, 0x40
sub edx, ecx
nop word [eax + eax]
movups xmm0, xmmword [edi + ecx]
lea ecx, [ecx + 0x10]
pxor xmm0, xmmword [ecx - 0x10]
movups xmmword [ecx - 0x10], xmm0
movups xmmword [edx + ecx - 0x10], xmm0
sub eax, 1
jne 0x512830
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0050d855
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret