Function at 0x422bc0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [edx + 0x220]
cmp eax, 4
jae 0x4237fd
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x1a0
vmovdqa ymm0, ymmword [edx + 0x20]
vmovdqa ymm4, ymmword [edx + 0x60]
vmovdqa ymm5, ymmword [edx + 0x80]
vmovdqa ymm3, ymmword [edx + 0xe0]
vmovdqa ymm1, ymmword [edx + 0x100]
vmovdqa ymm2, ymmword [edx + 0x120]
test byte [edx], 1
mov esi, ecx
mov byte [edx], 0
je 0x422f4f
vmovdqa ymmword [esp + 0x60], ymm2
vpmovsxbd ymm2, qword [0x457760]
vpunpckldq ymm6, ymm4, ymm5
vpbroadcastq ymm7, xmm0
vpunpckhdq ymm5, ymm4, ymm5
mov ecx, 0x3ffffff
vpermd ymm2, ymm2, ymm6
vpblendd ymm2, ymm2, ymm7, 0xc0
vpmovsxbd ymm7, qword [0x457768]
vpermd ymm5, ymm7, ymm5
vinserti128 ymm7, ymm0, xmm0, 1
vpblendd ymm0, ymm0, ymm4, 0xc0
vbroadcasti128 ymm4, xmmword [0x457420]
vpblendd ymm5, ymm5, ymm7, 0xc0
vmovdqa ymm7, ymm2
vmovdqa ymmword [esp + 0xc0], ymm7
vpermd ymm0, ymm4, ymm0
vpmovsxbd ymm4, qword [0x457770]
vpermd ymm4, ymm4, ymm6
vpblendd ymm0, ymm4, ymm0, 0xd0
vpshufd ymm4, ymm2, 0xf5
vmovdqa ymmword [esp + 0x20], ymm0
vpmuludq ymm0, ymm2, ymm1
vpmuludq ymm6, ymm4, ymm3
vpshufd ymm2, ymm5, 0xb1
vmovdqa ymmword [esp + 0x40], ymm4
vpaddq ymm0, ymm6, ymm0
vpmuludq ymm6, ymm5, ymm1
vpmuludq ymm4, ymm2, ymm3
vmovdqa ymmword [esp + 0x80], ymm0
vpaddq ymm0, ymm4, ymm6
vpmuludq ymm6, ymm3, ymmword [esp + 0x20]
vpmuludq ymm4, ymm7, ymmword [esp + 0x60]
vmovdqa ymmword [esp + 0x120], ymm0
vpaddq ymm0, ymm4, ymm6
vpshufd ymm6, ymm3, 0xf5
vpmuludq ymm4, ymm5, ymm3
vpmuludq ymm3, ymm3, ymmword [esp + 0xc0]
vmovdqa ymmword [esp + 0x100], ymm0
vmovdqa ymm0, ymm1
vmovdqa ymm1, ymmword [esp + 0x40]
vpmuludq ymm7, ymm7, ymm6
vpaddq ymm4, ymm7, ymm4
vpmuludq ymm7, ymm1, ymm0
vpaddq ymm4, ymm4, ymm7
vmovdqa ymmword [esp + 0x140], ymm4
vpmuludq ymm4, ymm1, ymm6
vpaddq ymm1, ymm4, ymmword [esp + 0x120]
vpmuludq ymm4, ymm5, ymm6
vmovdqa ymmword [esp + 0x160], ymm1
vpaddq ymm1, ymm4, ymmword [esp + 0x100]
vmovdqa ymmword [esp + 0x120], ymm1
vmovdqa ymm1, ymmword [esp + 0x20]
vpslld ymm4, ymm1, 2
vpaddd ymm7, ymm1, ymm4
vpmuludq ymm4, ymm7, ymm0
vpaddq ymm4, ymm4, ymm3
vpslld ymm3, ymm2, 2
vpaddd ymm1, ymm2, ymm3
vpmuludq ymm5, ymm1, ymm6
vmovdqa ymmword [esp + 0x100], ymm1
vpaddq ymm3, ymm4, ymm5
vpmuludq ymm4, ymm7, ymm6
vpmuludq ymm6, ymm2, ymm0
vmovdqa ymm2, ymm1
vpaddq ymm4, ymm4, ymmword [esp + 0x80]
vmovdqa ymmword [esp + 0x20], ymm3
vpshufd ymm3, ymm0, 0xf5
vpmuludq ymm1, ymm1, ymm3
vpaddq ymm0, ymm4, ymm1
vpmuludq ymm1, ymm7, ymm3
vmovdqa ymm4, ymmword [esp + 0x60]
vpaddq ymm1, ymm1, ymmword [esp + 0x140]
vmovdqa ymmword [esp + 0x80], ymm0
vpmuludq ymm5, ymm2, ymm4
vpmuludq ymm2, ymm7, ymm4
vpaddq ymm5, ymm1, ymm5
vpmuludq ymm1, ymm3, ymmword [esp + 0xc0]
vpaddq ymm1, ymm2, ymm1
vpaddq ymm2, ymm1, ymmword [esp + 0x160]
vpmuludq ymm1, ymm3, ymmword [esp + 0x40]
vpaddq ymm1, ymm6, ymm1
vpshufd ymm6, ymm7, 0xf5
vpshufd ymm7, ymmword [esp + 0x100], 0xf5
vpmuludq ymm6, ymm6, ymm4
vpaddq ymm1, ymm1, ymmword [esp + 0x120]
vpaddq ymm6, ymm6, ymmword [esp + 0x20]
vpmuludq ymm0, ymm7, ymm3
vpmuludq ymm3, ymm7, ymm4
vpaddq ymm3, ymm3, ymmword [esp + 0x80]
vpaddq ymm0, ymm6, ymm0
vpunpckhqdq ymm4, ymm0, ymm3
vpunpcklqdq ymm0, ymm0, ymm3
vpunpckhqdq ymm3, ymm5, ymm2
vpunpcklqdq ymm2, ymm5, ymm2
vpaddq ymm0, ymm0, ymm4
vpaddq ymm2, ymm2, ymm3
vpmovsxbq ymm4, dword [0x457778]
vinserti128 ymm3, ymm0, xmm2, 1
vperm2i128 ymm0, ymm0, ymm2, 0x31
vpermq ymm2, ymm1, 0x4e
vpaddq ymm1, ymm2, ymm1
vpaddq ymm0, ymm0, ymm3
vpermq ymm2, ymm1, 1
vpaddq ymm2, ymm2, ymm1
vpmovsxdq ymm1, xmmword [0x45777c]
vpand ymm3, ymm0, ymm1
vpermq ymm0, ymm0, 0x93
vpsrlvq ymm0, ymm0, ymm4
vpaddq ymm3, ymm0, ymm3
vpsrlq ymm0, ymm3, 0x1a
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm2, ymm0
vpand ymm2, ymm3, ymmword [0x4574a0]
vpsrlvq ymm3, ymm0, ymmword [0x4574c0]
vpaddq ymm2, ymm3, ymm2
vpsllq ymm3, ymm3, 2
vpaddq ymm2, ymm3, ymm2
vpand ymm1, ymm2, ymm1
vpermq ymm2, ymm2, 0x93
vpsrlvq ymm2, ymm2, ymm4
vpaddq ymm1, ymm1, ymm2
vmovd xmm2, ecx
mov cl, 1
vpand xmm0, xmm0, xmm2
vpsrlq ymm2, ymm1, 0x1a
vpshufd ymm1, ymm1, 0x28
vpand ymm1, ymm1, ymmword [0x4574e0]
vpermq ymm2, ymm2, 0xff
vpaddq xmm0, xmm2, xmm0
vpbroadcastd ymm0, xmm0
vpermq ymm1, ymm1, 0xf8
vpblendd ymm1, ymm1, ymm0, 0x90
cmp eax, 1
ja 0x422f56
jne 0x423448
vmovdqa xmm0, xmmword [edx + 0x1e0]
vpmovsxbd ymm3, qword [0x45778c]
test cl, cl
vpor ymm0, ymm0, ymmword [0x457500]
vpsllvd ymm2, ymm0, ymmword [0x457520]
vpsrlvd ymm0, ymm0, ymmword [0x457540]
vpermd ymm0, ymm3, ymm0
vpor ymm0, ymm0, ymm2
vpand ymm0, ymm0, ymmword [0x457580]
jne 0x42328e
jmp 0x423292
xor ecx, ecx
cmp eax, 1
jbe 0x422f00
vmovdqa xmm0, xmmword [edx + 0x1e0]
vpmovsxbq ymm3, dword [0x457794]
vpmovsxbd ymm4, qword [0x457798]
vpmovsxbd ymm5, qword [0x4577a0]
vpmovsxbd ymm6, qword [0x45778c]
test cl, cl
vpor ymm0, ymm0, ymm3
vpsllvd ymm2, ymm0, ymm4
vpsrlvd ymm0, ymm0, ymm5
vpermd ymm0, ymm6, ymm0
vpor ymm0, ymm0, ymm2
vpand ymm2, ymm0, ymmword [0x457580]
vmovdqa xmm0, xmmword [edx + 0x1f0]
vpor ymm0, ymm0, ymm3
vpsllvd ymm3, ymm0, ymm4
vpmovsxbd ymm4, qword [0x4577a8]
vpsrlvd ymm0, ymm0, ymm5
vpermd ymm0, ymm4, ymm0
vpor ymm4, ymm0, ymm3
je 0x422fd1
vpaddd ymm2, ymm2, ymm1
vpmovsxbq ymm0, dword [0x4577b0]
vpbroadcastd ymm5, dword [edx + 0x1bc]
vmovdqa ymm1, ymmword [edx + 0x1a0]
vpermq ymm7, ymm2, 0x29
mov ecx, 0x3ffffff
add eax, 0xfffffffe
cmp eax, 1
vpermd ymm3, ymm0, ymm2
vmovdqa ymmword [esp + 0x60], ymm1
vpmuludq ymm3, ymm3, ymm5
vpbroadcastd ymm5, dword [edx + 0x17c]
vmovdqa ymmword [esp + 0x20], ymm3
vpermd ymm3, ymm0, ymm4
vpbroadcastq ymm0, qword [0x4575e0]
vpand ymm3, ymm3, ymm0
vpmuludq ymm3, ymm3, ymm5
vpmovsxbq ymm5, dword [0x4577b4]
vmovdqa ymmword [esp + 0x80], ymm3
vpermd ymm3, ymm5, ymm1
vpmuludq ymm3, ymm7, ymm3
vmovdqa ymmword [esp + 0xc0], ymm3
vmovdqa ymm3, ymmword [edx + 0x160]
vpermd ymm7, ymm5, ymm3
vpand ymm5, ymm4, ymmword [0x457620]
vpermq ymm6, ymm5, 0x29
vmovdqa ymmword [esp + 0x40], ymm5
vpmuludq ymm5, ymm7, ymm6
vpshufd xmm6, xmm2, 0xd7
vpshufd ymm7, ymm1, 0xe5
vpermq ymm6, ymm6, 0x50
vpermq ymm7, ymm7, 0x4e
vpmuludq ymm6, ymm6, ymm7
vpermq ymm7, ymm2, 0x42
vpmovzxdq ymm2, xmm2
vpaddq ymm1, ymm6, ymmword [esp + 0x20]
vpshufd xmm6, xmm4, 0xd7
vpermq ymm6, ymm6, 0x50
vpand ymm0, ymm6, ymm0
vpshufd ymm6, ymm3, 0xe5
vpermq ymm6, ymm6, 0x4e
vpmuludq ymm0, ymm0, ymm6
vpbroadcastd xmm6, dword [0x457640]
vmovdqa ymmword [esp + 0x20], ymm1
vpaddq ymm0, ymm0, ymmword [esp + 0x80]
vpand xmm4, xmm4, xmm6
vpbroadcastd ymm6, dword [edx + 0x160]
vpmovzxdq ymm4, xmm4
vpmuludq ymm6, ymm6, ymm4
vpaddq ymm0, ymm0, ymm6
vpshufd xmm6, xmmword [edx + 0x1a0], 0xe5
vpaddq ymm1, ymm0, ymm5
vpshufd xmm5, xmmword [edx + 0x160], 0xe5
vpermq ymm0, ymmword [esp + 0x40], 0x42
vpermq ymm6, ymm6, 0x10
vpblendd ymm6, ymm6, ymmword [edx + 0x1c0], 3
vpermq ymm5, ymm5, 0x10
vpblendd ymm5, ymm5, ymmword [edx + 0x180], 3
vpmuludq ymm6, ymm6, ymm7
vpaddq ymm6, ymm6, ymmword [esp + 0xc0]
vpmuludq ymm5, ymm5, ymm0
vpmuludq ymm0, ymm0, ymm3
vpaddq ymm1, ymm1, ymm5
vpbroadcastd ymm5, dword [edx + 0x1a0]
mov dword [edx + 0x220], eax
vpaddq ymm1, ymm1, ymm6
vmovdqa ymm6, ymmword [esp + 0x60]
vpaddq ymm1, ymm1, ymmword [esp + 0x20]
vpmuludq ymm5, ymm2, ymm5
vpaddq ymm1, ymm1, ymm5
vpmuludq ymm5, ymm7, ymm6
vpaddq ymm5, ymm5, ymm0
vpmovsxbq ymm0, dword [0x4577b8]
vpermd ymm6, ymm0, ymm6
vpermd ymm0, ymm0, ymm3
vpmuludq ymm2, ymm2, ymm6
vpmuludq ymm0, ymm4, ymm0
vpaddq ymm0, ymm2, ymm0
vpermq ymm2, ymm0, 0x4e
vpaddq ymm3, ymm2, ymm0
vpmovsxdq ymm0, xmmword [0x45777c]
vpmovsxbq ymm2, dword [0x457778]
vpand ymm4, ymm1, ymm0
vpermq ymm1, ymm1, 0x93
vpsrlvq ymm1, ymm1, ymm2
vpaddq ymm4, ymm4, ymm1
vpaddq ymm1, ymm5, ymm3
vpshufd ymm3, ymm3, 0x4e
vpaddq ymm1, ymm1, ymm3
vpsrlq ymm3, ymm4, 0x1a
vpermq ymm3, ymm3, 0x93
vpaddq ymm1, ymm1, ymm3
vpand ymm3, ymm4, ymmword [0x4574a0]
vpsrlvq ymm4, ymm1, ymmword [0x4574c0]
vpaddq ymm3, ymm4, ymm3
vpsllq ymm4, ymm4, 2
vpaddq ymm3, ymm4, ymm3
vpand ymm0, ymm3, ymm0
vpermq ymm3, ymm3, 0x93
vpsrlvq ymm2, ymm3, ymm2
vpaddq ymm0, ymm0, ymm2
vmovd xmm2, ecx
mov cl, 1
vpand xmm1, xmm1, xmm2
vpsrlq ymm2, ymm0, 0x1a
vpshufd ymm0, ymm0, 0x28
vpermq ymm0, ymm0, 0xf8
vpermq ymm2, ymm2, 0xff
vpand ymm0, ymm0, ymmword [0x457680]
vpaddq xmm1, xmm2, xmm1
vpbroadcastd ymm1, xmm1
vpblendd ymm1, ymm0, ymm1, 0x90
jne 0x423448
vmovdqa xmm0, xmmword [edx + 0x200]
vpmovsxbd ymm3, qword [0x45778c]
vpor ymm0, ymm0, ymmword [0x457500]
vpsllvd ymm2, ymm0, ymmword [0x457520]
vpsrlvd ymm0, ymm0, ymmword [0x457540]
vpermd ymm0, ymm3, ymm0
vpor ymm0, ymm0, ymm2
vpand ymm0, ymm0, ymmword [0x457580]
vpaddd ymm0, ymm1, ymm0
vmovdqa ymm1, ymmword [edx + 0x160]
vpshufd xmm5, xmm0, 0xd7
vpmovsxbq ymm2, dword [0x4577b0]
vpbroadcastd ymm3, dword [edx + 0x17c]
vpbroadcastd ymm4, dword [edx + 0x160]
vpermq ymm7, ymm0, 0x42
mov eax, 0x3ffffff
vpermq ymm5, ymm5, 0x50
vpshufd ymm6, ymm1, 0xe5
vpermd ymm2, ymm2, ymm0
vpermq ymm6, ymm6, 0x4e
vpmuludq ymm3, ymm3, ymm2
vpmovzxdq ymm2, xmm0
vpmuludq ymm5, ymm6, ymm5
vpshufd xmm6, xmmword [edx + 0x160], 0xe5
vpmuludq ymm4, ymm4, ymm2
vpermq ymm6, ymm6, 0x10
vpblendd ymm6, ymm6, ymmword [edx + 0x180], 3
dec dword [edx + 0x220]
cmp byte [edx + 0x224], 0
vpmuludq ymm6, ymm6, ymm7
vpermq ymm7, ymm0, 0x29
vpermq ymm0, ymm0, 2
vpaddq ymm4, ymm4, ymm6
vpmovsxbq ymm6, dword [0x4577b4]
vpmuludq ymm0, ymm1, ymm0
vpermd ymm6, ymm6, ymm1
vpmuludq ymm6, ymm6, ymm7
vpaddq ymm3, ymm3, ymm6
vpaddq ymm3, ymm5, ymm3
vpaddq ymm3, ymm3, ymm4
vpmovsxbq ymm4, dword [0x4577b8]
vpermd ymm4, ymm4, ymm1
vpmovsxdq ymm1, xmmword [0x45777c]
vpmuludq ymm2, ymm4, ymm2
vpermq ymm4, ymm2, 0x4e
vpaddq ymm4, ymm4, ymm2
vpmovsxbq ymm2, dword [0x457778]
vpand ymm6, ymm3, ymm1
vpermq ymm3, ymm3, 0x93
vpermq ymm5, ymm4, 1
vpaddq ymm0, ymm4, ymm0
vpaddq ymm0, ymm0, ymm5
vpsrlvq ymm3, ymm3, ymm2
vpaddq ymm3, ymm6, ymm3
vpsrlq ymm6, ymm3, 0x1a
vpand ymm3, ymm3, ymmword [0x4574a0]
vpermq ymm6, ymm6, 0x93
vpaddq ymm0, ymm0, ymm6
vpsrlvq ymm4, ymm0, ymmword [0x4574c0]
vpsllq ymm5, ymm4, 2
vpaddq ymm3, ymm4, ymm3
vmovd xmm4, eax
vpaddq ymm3, ymm5, ymm3
vpand xmm0, xmm0, xmm4
vpand ymm1, ymm3, ymm1
vpermq ymm3, ymm3, 0x93
vpsrlvq ymm2, ymm3, ymm2
vpaddq ymm1, ymm1, ymm2
vpsrlq ymm2, ymm1, 0x1a
vpshufd ymm1, ymm1, 0x28
vpand ymm1, ymm1, ymmword [0x4574e0]
vpermq ymm2, ymm2, 0xff
vpaddq xmm0, xmm2, xmm0
vpbroadcastd ymm0, xmm0
vpermq ymm1, ymm1, 0xf8
vpblendd ymm1, ymm1, ymm0, 0x90
je 0x4235fa
vmovdqu xmm0, xmmword [edx + 0x225]
vpmovsxbd ymm3, qword [0x45778c]
vpsllvd ymm2, ymm0, ymmword [0x457520]
vpsrlvd ymm0, ymm0, ymmword [0x457540]
vpermd ymm0, ymm3, ymm0
vpor ymm0, ymm0, ymm2
vpand ymm0, ymm0, ymmword [0x457580]
jmp 0x42348d
cmp byte [edx + 0x224], 0
je 0x4237e2
vmovdqu xmm0, xmmword [edx + 0x225]
vpmovsxbd ymm3, qword [0x45778c]
test cl, cl
vpsllvd ymm2, ymm0, ymmword [0x457520]
vpsrlvd ymm0, ymm0, ymmword [0x457540]
vpermd ymm0, ymm3, ymm0
vpor ymm0, ymm0, ymm2
vpand ymm0, ymm0, ymmword [0x457580]
je 0x423491
vpaddd ymm0, ymm1, ymm0
vmovdqa ymm1, ymmword [edx + 0x160]
vpshufd xmm5, xmm0, 0xd7
vpmovsxbq ymm2, dword [0x4577b0]
vpbroadcastd ymm3, dword [edx + 0x17c]
vpbroadcastd ymm4, dword [edx + 0x160]
vpermq ymm7, ymm0, 0x42
mov eax, 0x3ffffff
vpermq ymm5, ymm5, 0x50
vpshufd ymm6, ymm1, 0xe5
vpermd ymm2, ymm2, ymm0
vpermq ymm6, ymm6, 0x4e
vpmuludq ymm3, ymm3, ymm2
vpmovzxdq ymm2, xmm0
vpmuludq ymm5, ymm6, ymm5
vpshufd xmm6, xmm1, 0xe5
vpmuludq ymm4, ymm4, ymm2
vpermq ymm6, ymm6, 0x10
vpblendd ymm6, ymm6, ymmword [edx + 0x180], 3
vpmuludq ymm6, ymm6, ymm7
vpermq ymm7, ymm0, 0x29
vpermq ymm0, ymm0, 2
vpaddq ymm4, ymm4, ymm6
vpmovsxbq ymm6, dword [0x4577b4]
vpmuludq ymm0, ymm1, ymm0
vpermd ymm6, ymm6, ymm1
vpmuludq ymm6, ymm6, ymm7
vpaddq ymm3, ymm3, ymm6
vpaddq ymm3, ymm5, ymm3
vpaddq ymm3, ymm3, ymm4
vpmovsxbq ymm4, dword [0x4577b8]
vpermd ymm4, ymm4, ymm1
vpmovsxdq ymm1, xmmword [0x45777c]
vpmuludq ymm2, ymm4, ymm2
vpermq ymm4, ymm2, 0x4e
vpaddq ymm4, ymm4, ymm2
vpmovsxbq ymm2, dword [0x457778]
vpand ymm6, ymm3, ymm1
vpermq ymm3, ymm3, 0x93
vpermq ymm5, ymm4, 1
vpaddq ymm0, ymm4, ymm0
vpaddq ymm0, ymm0, ymm5
vpsrlvq ymm3, ymm3, ymm2
vpaddq ymm3, ymm6, ymm3
vpsrlq ymm6, ymm3, 0x1a
vpand ymm3, ymm3, ymmword [0x4574a0]
vpermq ymm6, ymm6, 0x93
vpaddq ymm0, ymm0, ymm6
vpsrlvq ymm4, ymm0, ymmword [0x4574c0]
vpsllq ymm5, ymm4, 2
vpaddq ymm3, ymm4, ymm3
vmovd xmm4, eax
vpaddq ymm3, ymm5, ymm3
vpand xmm0, xmm0, xmm4
vpand ymm1, ymm3, ymm1
vpermq ymm3, ymm3, 0x93
vpsrlvq ymm2, ymm3, ymm2
vpaddq ymm1, ymm1, ymm2
vpsrlq ymm2, ymm1, 0x1a
vpshufd ymm1, ymm1, 0x28
vpand ymm1, ymm1, ymmword [0x4574e0]
vpermq ymm2, ymm2, 0xff
vpaddq xmm0, xmm2, xmm0
vpbroadcastd ymm0, xmm0
vpermq ymm1, ymm1, 0xf8
vpblendd ymm1, ymm1, ymm0, 0x90
vmovdqa ymm0, ymmword [edx + 0x140]
mov edi, esp
lea ebx, [esp + 0xa0]
mov ecx, edi
mov edx, ebx
vmovdqa ymmword [esp + 0x60], ymm0
vpxor xmm0, xmm0, xmm0
vpblendd ymm0, ymm1, ymm0, 0xe0
vmovdqa ymmword [esp + 0xa0], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp + 0xa0], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp + 0xa0], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp + 0xa0], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp + 0xa0], ymm0
vzeroupper
call fcn.004229b0
vmovdqa ymm1, ymmword [esp]
vpmovsxbq xmm0, word [0x4577bc]
lea edi, [esp + 0xe0]
mov ebx, esp
mov ecx, edi
mov edx, ebx
vpaddd ymm0, ymm1, ymm0
vmovdqa ymmword [esp + 0x40], ymm1
vmovdqa ymmword [esp], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp + 0xe0]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp + 0xe0]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp], ymm0
vzeroupper
call fcn.004229b0
vmovaps ymm0, ymmword [esp + 0xe0]
mov ecx, edi
mov edx, ebx
vmovaps ymmword [esp], ymm0
vzeroupper
call fcn.004229b0
vmovdqa ymm0, ymmword [esp + 0xe0]
vpcmpeqd xmm2, xmm2, xmm2
vpaddd ymm0, ymm0, ymmword [0x4576c0]
vpsrld ymm1, ymm0, 0x1f
vextracti128 xmm1, ymm1, 1
vpaddd xmm1, xmm1, xmm2
vmovdqa ymm2, ymmword [esp + 0x40]
vpbroadcastd ymm1, xmm1
vpblendvb ymm0, ymm2, ymm0, ymm1
vpmovsxbd ymm2, qword [0x4577be]
vpsrlvd ymm1, ymm0, ymmword [0x4576e0]
vpsllvd ymm0, ymm0, ymmword [0x457700]
vpermd ymm1, ymm2, ymm1
vpmovsxbd ymm2, qword [0x4577c6]
vpermd ymm0, ymm2, ymm0
vpxor xmm2, xmm2, xmm2
vpor ymm0, ymm0, ymm1
vpaddq ymm0, ymm0, ymmword [esp + 0x60]
vpblendd ymm1, ymm0, ymm2, 0xaa
vpsrlq ymm0, ymm0, 0x20
vpermq ymm0, ymm0, 0x90
vpblendd ymm0, ymm0, ymm2, 3
vpaddq ymm0, ymm0, ymm1
vpblendd ymm1, ymm0, ymm2, 0xaa
vpsrlq ymm0, ymm0, 0x20
vpermq ymm0, ymm0, 0x90
vpaddq ymm0, ymm0, ymm1
vpsrlq ymm1, ymm0, 0x20
vpermq ymm1, ymm1, 0x90
vpaddq ymm0, ymm1, ymm0
vextracti128 xmm1, ymm0, 1
vshufps xmm0, xmm0, xmm1, 0x88
vmovups xmmword [esi], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
vzeroupper
ret
test cl, cl
jne 0x4235fa
vmovaps xmm0, xmmword [edx + 0x140]
vshufps xmm0, xmm0, xmmword [edx + 0x150], 0x88
jmp 0x4237d3
ud2