Function at 0x521ba0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x284
xor eax, eax
push ebx
push esi
mov edx, 0x400
push edi
movd xmm0, edx
mov edx, dword [ebp + 8]
mov edi, 0x25a1
mov esi, 0x98e
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
pshufd xmm0, xmm0, 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x190]
mov dword [esp + 0x40], 0x187e
mov dword [esp + 0x48], 0xffffc4df
mov dword [esp + 0x80], 0x1151
mov dword [esp + 0x88], edi
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x90], 0x41b3
mov dword [esp + 0x98], esi
mov dword [esp + 0x50], 0x300b
mov dword [esp + 0x58], 0x6254
mov dword [esp + 0x20], 0xfffff384
mov dword [esp + 0x28], 0xffffc13b
mov dword [esp + 0x10], 0xffffe333
mov dword [esp + 0x18], 0xffffadfd
mov eax, 8
mov edi, edi
movdqa xmm1, xmmword [edx]
movdqa xmm0, xmm1
pslld xmm0, 0x10
psrad xmm0, 0x10
psrad xmm1, 0x10
movdqa xmm2, xmm1
movdqa xmm1, xmm0
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pshufd xmm2, xmm0, 0x1b
movdqa xmm0, xmm1
psubd xmm1, xmm2
paddd xmm0, xmm2
pshufd xmm4, xmm1, 0x72
pshufd xmm5, xmm1, 0x9c
pshufd xmm2, xmm0, 0x1b
movdqa xmm1, xmm0
paddd xmm1, xmm2
psubd xmm0, xmm2
pshufd xmm2, xmm0, 1
pshufd xmm3, xmm1, 1
movdqa xmm6, xmm1
paddd xmm1, xmm3
psubd xmm6, xmm3
movdqa xmm3, xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm3
pshufd xmm3, xmm0, 0x10
movdqa xmm0, xmmword [esp + 0x40]
pmuludq xmm3, xmm0
punpckldq xmm1, xmm6
movdqa xmm0, xmm4
paddd xmm0, xmm5
pshufd xmm6, xmm0, 0xe6
movdqa xmm7, xmm0
paddd xmm7, xmm6
movdqa xmm6, xmmword [esp + 0x80]
punpcklqdq xmm2, xmm7
pmuludq xmm2, xmm6
pshufd xmm6, xmm2, 0xc4
paddd xmm3, xmm6
movdqa xmm6, xmmword [esp + 0x60]
paddd xmm3, xmm6
psrad xmm3, 0xb
pslld xmm1, 2
pshufd xmm1, xmm1, 0xd4
movdqa xmm7, xmm1
punpckhdq xmm7, xmm3
punpckldq xmm1, xmm3
movdqa xmm3, xmmword [esp + 0x90]
pmuludq xmm4, xmm3
movdqa xmm3, xmmword [esp + 0x50]
pmuludq xmm5, xmm3
pshufd xmm2, xmm2, 0xe6
movdqa xmm3, xmm2
movdqa xmm2, xmmword [esp + 0x20]
punpcklqdq xmm1, xmm7
movdqa xmm7, xmm0
psrldq xmm0, 4
pmuludq xmm7, xmm2
paddd xmm7, xmm3
movdqa xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x10]
pmuludq xmm3, xmm0
pshufd xmm0, xmm3, 0x28
pshufd xmm3, xmm4, 0x88
pshufd xmm4, xmm5, 0x88
punpcklqdq xmm4, xmm3
paddd xmm4, xmm0
pshufd xmm2, xmm7, 0x88
paddd xmm4, xmm2
movdqa xmm0, xmm4
paddd xmm0, xmm6
psrad xmm0, 0xb
movdqa xmm2, xmm1
punpckldq xmm2, xmm0
movdqa xmmword [ecx], xmm2
punpckhdq xmm1, xmm0
movdqa xmmword [ecx + 0x10], xmm1
add ecx, 0x20
add edx, 0x10
dec eax
jne 0x521b80
mov eax, 0x10
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x90], xmm0
mov ecx, 0x1151
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x80], xmm0
mov eax, 0x187e
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x160], xmm0
mov ecx, 0xffffc4df
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm0
mov eax, 0x41b3
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xa0], xmm0
mov ecx, 0x6254
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xe0], xmm0
mov eax, 0x300b
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x140], xmm0
mov ecx, 0xffffe333
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x100], xmm0
mov eax, 0xffffadfd
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x180], xmm0
mov ecx, 0xffffc13b
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x120], xmm0
mov eax, 0xfffff384
movd xmm0, eax
pshufd xmm0, xmm0, 0
mov ecx, 0x20000
lea edx, [esp + 0x190]
movdqa xmmword [esp + 0xb0], xmm0
movd xmm0, ecx
mov ecx, dword [ebp + 0xc]
mov ebx, edx
sub ebx, ecx
mov dword [esp + 0x78], ebx
lea ebx, [esp + 0x1f0]
sub ebx, ecx
mov dword [esp + 0x74], ebx
lea ebx, [esp + 0x1b0]
sub ebx, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x7c], ebx
lea esi, [esp + 0x230]
lea edi, [esp + 0x210]
lea ebx, [esp + 0x1d0]
pshufd xmm7, xmm0, 0
sub esi, ecx
sub edi, ecx
movdqa xmmword [esp + 0xf0], xmm7
lea eax, [ecx + 0x40]
sub ebx, ecx
mov dword [esp + 0x3c], 2
lea ebx, [ebx]
movdqa xmm2, xmmword [edx]
movdqa xmm1, xmmword [esi + eax]
movdqa xmm3, xmmword [edx + 0x20]
movdqa xmm4, xmmword [edi + eax]
mov ecx, dword [esp + 0x78]
movdqa xmm0, xmm2
paddd xmm0, xmm1
psubd xmm2, xmm1
movdqa xmm1, xmm3
paddd xmm1, xmm4
psubd xmm3, xmm4
movdqa xmm4, xmmword [ecx + eax]
mov ecx, dword [esp + 0x74]
movdqa xmm6, xmmword [ecx + eax]
mov ecx, dword [esp + 0x7c]
movdqa xmm5, xmm4
paddd xmm5, xmm6
movdqa xmmword [esp + 0x20], xmm5
movdqa xmm5, xmmword [ecx + eax]
movdqa xmmword [esp + 0x60], xmm5
psubd xmm4, xmm6
movdqa xmm6, xmmword [ebx + eax]
paddd xmm5, xmm6
movdqa xmmword [esp + 0x10], xmm5
movdqa xmm5, xmmword [esp + 0x60]
psubd xmm5, xmm6
movdqa xmm6, xmmword [esp + 0x10]
movdqa xmmword [esp + 0x50], xmm5
movdqa xmm5, xmm0
paddd xmm5, xmm6
psubd xmm0, xmm6
movdqa xmm6, xmmword [esp + 0x20]
movdqa xmmword [esp + 0x60], xmm0
movdqa xmm0, xmm1
psubd xmm1, xmm6
paddd xmm0, xmm6
movdqa xmmword [esp + 0x10], xmm1
movdqa xmm1, xmm5
psubd xmm5, xmm0
paddd xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x60]
movdqa xmm6, xmm1
movdqa xmm1, xmmword [esp + 0x90]
paddd xmm5, xmm1
paddd xmm6, xmm1
psrad xmm5, 5
psrad xmm6, 5
movdqa xmmword [eax - 0x40], xmm6
movdqa xmm6, xmmword [esp + 0x80]
movdqa xmmword [eax + 0x40], xmm5
movdqa xmm5, xmmword [esp + 0x10]
paddd xmm5, xmm0
movdqa xmm1, xmm5
pmuludq xmm1, xmm6
psrldq xmm5, 4
pmuludq xmm5, xmm6
movdqa xmmword [esp + 0x20], xmm5
movdqa xmm5, xmmword [esp + 0x160]
movdqa xmm6, xmm0
pmuludq xmm6, xmm5
paddd xmm6, xmm1
psrldq xmm0, 4
pmuludq xmm0, xmm5
paddd xmm0, xmmword [esp + 0x20]
movdqa xmm5, xmm6
punpckhdq xmm5, xmm0
punpckldq xmm6, xmm0
punpcklqdq xmm6, xmm5
movdqa xmm5, xmmword [esp + 0x10]
paddd xmm6, xmm7
psrad xmm6, 0x12
movdqa xmm0, xmm5
movdqa xmmword [eax], xmm6
movdqa xmm6, xmmword [esp + 0xc0]
psrldq xmm5, 4
pmuludq xmm0, xmm6
paddd xmm0, xmm1
pmuludq xmm5, xmm6
movdqa xmm1, xmm5
paddd xmm1, xmmword [esp + 0x20]
movdqa xmm5, xmm0
punpckhdq xmm5, xmm1
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm5
paddd xmm0, xmm7
movdqa xmm7, xmmword [esp + 0x40]
psrad xmm0, 0x12
movdqa xmmword [eax + 0x80], xmm0
movdqa xmm0, xmmword [esp + 0x50]
movdqa xmm1, xmm0
paddd xmm1, xmm2
paddd xmm0, xmm3
movdqa xmmword [esp + 0x10], xmm1
movdqa xmm1, xmm4
paddd xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm1
movdqa xmm1, xmm4
paddd xmm1, xmm2
movdqa xmm5, xmm0
paddd xmm5, xmm1
movdqa xmm6, xmm5
pmuludq xmm6, xmm7
psrldq xmm5, 4
pmuludq xmm5, xmm7
movdqa xmm7, xmm6
punpckhdq xmm7, xmm5
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm7
movdqa xmm7, xmmword [esp + 0x50]
movdqa xmm5, xmm7
psrldq xmm7, 4
movdqa xmmword [esp + 0x20], xmm6
movdqa xmm6, xmmword [esp + 0x40]
psrldq xmm6, 4
pmuludq xmm7, xmm6
movdqa xmmword [esp + 0xd0], xmm7
movdqa xmm7, xmmword [esp + 0xa0]
pmuludq xmm5, xmm6
movdqa xmm6, xmm4
pmuludq xmm6, xmm7
psrldq xmm4, 4
pmuludq xmm4, xmm7
movdqa xmm7, xmmword [esp + 0xe0]
movdqa xmmword [esp + 0x110], xmm4
movdqa xmm4, xmm3
psrldq xmm3, 4
pmuludq xmm3, xmm7
movdqa xmmword [esp + 0x130], xmm3
movdqa xmm3, xmm2
pmuludq xmm4, xmm7
movdqa xmm7, xmmword [esp + 0x140]
pmuludq xmm3, xmm7
psrldq xmm2, 4
pmuludq xmm2, xmm7
movdqa xmm7, xmmword [esp + 0x100]
movdqa xmmword [esp + 0x150], xmm3
movdqa xmm3, xmmword [esp + 0x10]
movdqa xmmword [esp + 0x170], xmm2
movdqa xmm2, xmm3
pmuludq xmm2, xmm7
psrldq xmm3, 4
pmuludq xmm3, xmm7
movdqa xmm7, xmm2
punpckhdq xmm7, xmm3
punpckldq xmm2, xmm3
movdqa xmm3, xmmword [esp + 0x60]
punpcklqdq xmm2, xmm7
movdqa xmm7, xmmword [esp + 0x180]
movdqa xmmword [esp + 0x10], xmm2
movdqa xmm2, xmm3
pmuludq xmm2, xmm7
psrldq xmm3, 4
pmuludq xmm3, xmm7
movdqa xmm7, xmm2
punpckhdq xmm7, xmm3
punpckldq xmm2, xmm3
movdqa xmm3, xmm0
punpcklqdq xmm2, xmm7
movdqa xmm7, xmmword [esp + 0x120]
psrldq xmm0, 4
pmuludq xmm3, xmm7
pmuludq xmm0, xmm7
movdqa xmmword [esp + 0x60], xmm0
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmm7, xmm1
pmuludq xmm7, xmm0
psrldq xmm1, 4
pmuludq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x60]
movdqa xmmword [esp + 0x50], xmm1
movdqa xmm1, xmm3
punpckldq xmm3, xmm0
punpckhdq xmm1, xmm0
punpcklqdq xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x50]
movdqa xmm0, xmm3
paddd xmm0, xmmword [esp + 0x20]
movdqa xmm3, xmm7
punpckhdq xmm3, xmm1
mov ecx, dword [esp + 0x3c]
punpckldq xmm7, xmm1
punpcklqdq xmm7, xmm3
movdqa xmm3, xmmword [esp + 0xd0]
movdqa xmm1, xmm7
paddd xmm1, xmmword [esp + 0x20]
movdqa xmm7, xmm5
punpckldq xmm5, xmm3
punpckhdq xmm7, xmm3
movdqa xmm3, xmmword [esp + 0x110]
punpcklqdq xmm5, xmm7
paddd xmm5, xmmword [esp + 0x10]
movdqa xmm7, xmmword [esp + 0xf0]
paddd xmm5, xmm0
paddd xmm5, xmm7
psrad xmm5, 0x12
movdqa xmmword [eax + 0xa0], xmm5
movdqa xmm5, xmm6
punpckldq xmm6, xmm3
punpckhdq xmm5, xmm3
movdqa xmm3, xmmword [esp + 0x130]
punpcklqdq xmm6, xmm5
movdqa xmm5, xmm4
punpckldq xmm4, xmm3
punpckhdq xmm5, xmm3
punpcklqdq xmm4, xmm5
paddd xmm4, xmm2
paddd xmm4, xmm0
movdqa xmm0, xmmword [esp + 0x150]
movdqa xmm3, xmm0
paddd xmm6, xmm2
movdqa xmm2, xmmword [esp + 0x170]
punpckldq xmm0, xmm2
paddd xmm6, xmm1
punpckhdq xmm3, xmm2
punpcklqdq xmm0, xmm3
paddd xmm0, xmmword [esp + 0x10]
paddd xmm6, xmm7
paddd xmm0, xmm1
psrad xmm6, 0x12
movdqa xmmword [eax + 0x60], xmm6
paddd xmm4, xmm7
psrad xmm4, 0x12
movdqa xmmword [eax + 0x20], xmm4
paddd xmm0, xmm7
psrad xmm0, 0x12
movdqa xmmword [eax - 0x20], xmm0
add edx, 0x10
add eax, 0x10
dec ecx
mov dword [esp + 0x3c], ecx
jne 0x521e70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret