Function at 0x43164d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov ecx, dword [0x4b6078]
lea esi, [eax + 0xf]
xor ecx, ebp
cmp esi, 0x1f
mov dword [esp + 0x298], ecx
movdqa xmmword [esp + 0x280], xmm0
movdqa xmmword [esp + 0x270], xmm0
jb 0x43344c
mov ecx, eax
mov esi, edx
sar ecx, 0x1f
shr ecx, 0x1c
add ecx, eax
mov eax, dword [esp + 0x78]
sar ecx, 4
lea edx, [eax - 0x308]
lea ebx, [eax - 0x34]
lea edi, [eax - 0x2e8]
lea eax, [eax - 0x310]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x134], edi
mov dword [esp + 0x130], eax
mov dword [esp + 0x140], ebx
xor eax, eax
cmp ecx, 1
mov dword [esp + 0x13c], ecx
mov ecx, 2
sete al
sub ecx, eax
mov dword [esp + 0x108], ecx
shl ecx, 4
mov dword [esp + 0x138], ecx
push ecx
mov dword [esp + 0x110], esi
push esi
lea eax, [esp + 0x278]
push eax
call fcn.004720b0
add esp, 0xc
movzx ecx, byte [esp + 0x275]
movzx eax, byte [esp + 0x274]
movzx esi, byte [esp + 0x277]
movzx ebx, byte [esp + 0x27d]
movzx edx, byte [esp + 0x27c]
movzx edi, byte [esp + 0x27e]
movdqa xmm5, xmmword [0x4932d0]
movdqa xmm7, xmmword [str.UUUUUUUUUUUUUUUU]
movdqa xmm6, xmmword [0x4932f0]
shl ecx, 8
shl esi, 0x18
shl ebx, 8
shl edi, 0x10
or ecx, eax
movzx eax, byte [esp + 0x276]
or ebx, edx
or edi, ebx
shl eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0x270]
or esi, eax
mov edx, esi
shr edx, 7
xor edx, eax
mov eax, 0xaa00aa
mov dword [esp + 0x30], ecx
and edx, eax
mov eax, 0xaa00aa
mov ecx, edx
shl ecx, 7
or ecx, edx
mov edx, dword [esp + 0x30]
xor ecx, esi
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x27f]
mov ebx, edx
shr ebx, 7
xor ebx, edx
shl ecx, 0x18
and ebx, eax
or ecx, edi
mov eax, ebx
mov esi, ecx
shl eax, 7
shr esi, 7
or eax, ebx
xor esi, edi
xor eax, edx
mov edx, 0xaa00aa
and esi, edx
mov edi, esi
shl edi, 7
or edi, esi
mov esi, edi
mov edi, dword [esp + 0x278]
xor esi, ecx
mov dword [esp + 0x30], esi
mov ebx, edi
shr ebx, 7
xor ebx, edi
and ebx, edx
mov edx, ebx
shl edx, 7
or edx, ebx
mov ebx, 0xcccc
xor edx, edi
mov edi, dword [esp + 0x10]
mov ecx, edi
shr ecx, 0xe
xor ecx, edi
and ecx, ebx
mov edi, ecx
shl edi, 0xe
or edi, ecx
mov ecx, eax
shr ecx, 0xe
xor edi, dword [esp + 0x10]
xor ecx, eax
and ecx, ebx
mov ebx, ecx
shl ebx, 0xe
or ebx, ecx
mov ecx, 0xcccc
xor ebx, eax
mov eax, esi
shr eax, 0xe
xor eax, esi
and eax, ecx
mov esi, eax
shl esi, 0xe
or esi, eax
mov eax, edx
shr eax, 0xe
xor esi, dword [esp + 0x30]
xor eax, edx
and eax, ecx
mov ecx, eax
shl ecx, 0xe
or ecx, eax
mov eax, edi
shl eax, 4
xor ecx, edx
xor eax, ebx
and eax, 0xf0f0f0f0
mov edx, eax
xor eax, ebx
shr edx, 4
xor edx, edi
mov dword [esp + 0x10], edx
mov edx, esi
shl edx, 4
xor edx, ecx
and edx, 0xf0f0f0f0
mov edi, edx
xor edx, ecx
mov ecx, 0xff00ff
shr edi, 4
xor edi, esi
mov esi, dword [esp + 0x10]
shr esi, 8
xor esi, edi
and esi, ecx
mov ecx, esi
mov ebx, esi
mov esi, eax
shl ecx, 8
shr esi, 8
xor ebx, edi
xor ecx, dword [esp + 0x10]
xor esi, edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x90], ecx
mov ecx, 0xff00ff
and esi, ecx
mov ecx, esi
xor esi, edx
movzx edx, byte [esp + 0x28d]
shl ecx, 8
mov dword [esp + 0x50], esi
xor ecx, eax
movzx eax, byte [esp + 0x285]
mov dword [esp + 0x60], ecx
movzx ecx, byte [esp + 0x284]
shl edx, 8
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x286]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x28e]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x28c]
or eax, edx
movzx edx, byte [esp + 0x287]
shl edx, 0x18
or edx, ecx
mov esi, edx
shr esi, 7
xor esi, ecx
mov ecx, 0xaa00aa
and esi, ecx
mov ecx, dword [esp + 0x280]
mov ebx, esi
shl ebx, 7
or ebx, esi
mov esi, 0xaa00aa
mov edi, ecx
xor ebx, edx
movzx edx, byte [esp + 0x28f]
shr edi, 7
xor edi, ecx
and edi, esi
mov esi, edi
shl edx, 0x18
shl esi, 7
or edx, eax
or esi, edi
mov edi, edx
shr edi, 7
xor esi, ecx
mov ecx, dword [esp + 0x288]
xor edi, eax
mov eax, 0xaa00aa
and edi, eax
mov eax, edi
shl eax, 7
or eax, edi
mov edi, 0xaa00aa
mov dword [esp + 0x10], eax
mov eax, ecx
xor dword [esp + 0x10], edx
shr eax, 7
xor eax, ecx
and eax, edi
mov edi, eax
shl edi, 7
or edi, eax
mov eax, ebx
shr eax, 0xe
xor edi, ecx
mov ecx, 0xcccc
xor eax, ebx
and eax, ecx
mov ecx, esi
mov edx, eax
shr ecx, 0xe
shl edx, 0xe
xor ecx, esi
or edx, eax
mov eax, 0xcccc
and ecx, eax
xor edx, ebx
mov eax, ecx
shl eax, 0xe
or eax, ecx
xor eax, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
shr ecx, 0xe
xor ecx, esi
mov esi, 0xcccc
and ecx, esi
mov ebx, ecx
shl ebx, 0xe
or ebx, ecx
mov ecx, edi
shr ecx, 0xe
xor ebx, dword [esp + 0x10]
xor ecx, edi
and ecx, esi
mov esi, ecx
shl esi, 0xe
or esi, ecx
mov ecx, edx
shl ecx, 4
xor esi, edi
xor ecx, eax
and ecx, 0xf0f0f0f0
mov edi, ecx
xor ecx, eax
shr edi, 4
xor edi, edx
mov edx, ebx
shl edx, 4
xor edx, esi
and edx, 0xf0f0f0f0
mov eax, edx
xor edx, esi
mov esi, 0xff00ff
shr eax, 4
xor eax, ebx
mov ebx, eax
mov eax, edi
shr eax, 8
xor eax, ebx
and eax, esi
mov esi, eax
shl esi, 8
xor esi, edi
mov edi, ecx
shr edi, 8
mov dword [esp + 0x30], esi
mov esi, 0xff00ff
xor edi, edx
and edi, esi
mov esi, edi
xor edi, edx
shl esi, 8
xor esi, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x10], esi
mov esi, eax
xor esi, ebx
mov ebx, dword [esp + 0x30]
movzx eax, cx
shr ecx, 0x10
mov edx, ecx
mov ecx, esi
shl esi, 0x10
and ecx, 0xffff0000
or esi, eax
or ecx, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc0], esi
mov esi, edi
shl edi, 0x10
and esi, 0xffff0000
movzx eax, dx
shr edx, 0x10
or esi, edx
mov edx, dword [esp + 0x90]
or edi, eax
mov dword [esp + 0x50], esi
mov esi, edi
movzx eax, dx
shr edx, 0x10
mov edi, edx
mov edx, ebx
shl ebx, 0x10
and edx, 0xffff0000
or ebx, eax
or edx, edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x30], ebx
movzx eax, di
shr edi, 0x10
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x10]
mov ebx, eax
shl eax, 0x10
and ebx, 0xffff0000
add eax, dword [esp + 0x90]
or ebx, edi
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x78]
mov edi, eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x28], eax
shl eax, 5
xor esi, dword [ebx + eax - 0x304]
xor edx, dword [ebx + eax - 0x2f0]
xor edi, dword [ebx + eax - 0x308]
mov dword [esp + 4], eax
xor ecx, dword [ebx + eax - 0x2ec]
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x10], edi
xor esi, dword [ebx + eax - 0x2fc]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x30]
xor esi, dword [ebx + eax - 0x2f8]
mov eax, edx
xor eax, esi
mov ebx, esi
mov edi, eax
mov dword [esp + 0x2c], eax
xor ebx, dword [esp + 0x50]
xor edi, dword [esp + 0x10]
mov eax, edi
mov dword [esp], edi
xor edi, dword [esp + 0xa0]
mov eax, esi
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
mov esi, edi
mov dword [esp + 8], edi
xor esi, ebx
mov edi, esi
mov dword [esp + 0x24], esi
xor edi, ecx
mov esi, edi
mov edi, dword [esp + 0x2c]
xor edi, ecx
xor ecx, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x4c], ecx
xor eax, dword [edx + edi - 0x300]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
xor eax, esi
xor esi, edi
xor edx, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x78]
xor eax, dword [esi + edi - 0x2f4]
mov esi, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x90], edi
xor esi, ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0xc0], eax
mov dword [esp + 0x10], esi
xor ebx, eax
mov eax, ebx
mov dword [esp + 0xd0], ebx
xor eax, esi
mov dword [esp + 0x50], eax
mov eax, ecx
xor ecx, edi
xor eax, edx
mov esi, ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x60]
xor eax, edi
mov ecx, eax
and eax, edi
xor ecx, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xf0], ecx
xor ecx, ebx
mov edi, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xb0], ecx
xor ecx, dword [esp + 0x50]
and edi, dword [esp + 0x30]
mov dword [esp + 0x110], ecx
and ecx, esi
mov esi, dword [esp + 0x80]
xor ecx, eax
and esi, dword [esp + 0x4c]
xor esi, eax
mov eax, dword [esp + 0xb0]
xor edx, esi
and eax, dword [esp + 0x48]
xor edi, eax
xor edx, eax
mov eax, dword [esp + 0xf0]
xor edi, ecx
xor edi, dword [esp + 0x60]
and eax, dword [esp + 8]
xor edx, eax
mov eax, dword [esp + 0xa0]
xor eax, dword [esp + 0x10]
and ebx, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp]
xor ebx, dword [esp + 0xc0]
xor eax, ebx
xor ebx, dword [esp + 0x90]
xor eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x10]
xor ebx, esi
and eax, dword [esp + 0x2c]
xor ecx, eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0xd0]
xor ebx, eax
mov eax, edi
and edi, ecx
xor eax, edx
mov dword [esp], eax
mov eax, edi
xor eax, ebx
mov esi, eax
and esi, dword [esp]
xor esi, edx
xor edx, edi
mov dword [esp + 0xc0], esi
mov esi, ecx
xor esi, ebx
and edx, esi
mov esi, edx
xor edx, edi
and edx, ebx
xor esi, ebx
xor ecx, edx
xor edx, eax
and dword [esp + 0xf0], esi
and edx, dword [esp + 0xc0]
mov ebx, ecx
and dword [esp + 0xb0], ecx
and ecx, dword [esp + 0x48]
xor ebx, esi
and dword [esp + 0xc], ebx
xor edx, dword [esp]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov eax, edx
mov edi, edx
mov edx, ecx
and dword [esp + 0xd0], ecx
xor edx, esi
and esi, dword [esp + 8]
xor eax, ebx
and dword [esp + 0x10], edi
and ebx, dword [esp + 0x30]
and dword [esp + 0x90], edx
mov dword [esp + 8], esi
mov esi, edi
and edi, dword [esp + 0x2c]
xor esi, ecx
and ecx, dword [esp + 0x24]
and dword [esp + 0x50], esi
and esi, dword [esp + 0xa0]
mov dword [esp + 0x30], edi
mov dword [esp + 0xc0], ecx
mov ecx, eax
xor ecx, edx
and edx, dword [esp + 0x60]
and dword [esp + 0x110], ecx
and ecx, dword [esp + 0xec]
mov edi, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x80]
xor esi, edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x60], esi
and ecx, eax
and eax, dword [esp + 0x4c]
xor edx, ecx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x10]
xor edx, esi
xor edx, dword [esp + 0x30]
mov dword [esp + 0xa0], eax
mov eax, edx
xor edx, dword [esp + 0x50]
xor eax, dword [esp + 0xb0]
mov esi, edx
xor esi, ecx
xor ecx, dword [esp + 0xd0]
xor ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xf0]
xor eax, ecx
xor ebx, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 8]
movd xmm0, dword [esp + 0x24]
xor ebx, eax
xor eax, dword [esp + 0xa0]
xor ecx, ebx
xor ecx, esi
xor esi, dword [esp + 0x80]
xor ecx, edi
xor eax, dword [esp]
xor dword [esp + 0x30], ecx
movd xmm1, dword [esp + 0x30]
xor esi, dword [esp + 0x110]
xor dword [esp + 0x90], eax
xor eax, ecx
mov ecx, dword [esp + 0x10]
xor eax, dword [esp + 0x60]
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x90]
movd xmm4, esi
xor ecx, edi
mov edi, dword [esp + 0xd0]
movd xmm3, eax
punpckldq xmm4, xmm0
movd xmm0, ecx
mov eax, dword [esp + 0x78]
xor ebx, edi
xor edx, edi
mov edi, dword [esp + 0x28]
xor ebx, dword [esp + 0xa0]
movd xmm2, edx
punpckldq xmm2, xmm3
punpcklqdq xmm2, xmm1
mov ecx, edi
xor ebx, dword [esp + 0x50]
xor ebx, dword [esp + 0x2c]
xor ebx, esi
mov esi, dword [esp + 4]
xor ebx, dword [esp + 0xb0]
dec ecx
mov edx, esi
mov esi, dword [eax + esi - 0x328]
movd xmm3, ebx
punpckldq xmm3, xmm0
movdqa xmm0, xmm5
punpcklqdq xmm3, xmm4
movdqa xmm4, xmm2
movdqa xmm1, xmm3
psrld xmm4, 8
psrld xmm1, 8
pxor xmm4, xmm2
pxor xmm1, xmm3
pand xmm4, xmm5
pand xmm1, xmm5
movdqa xmm5, xmm7
movdqa xmm0, xmm1
pslld xmm0, 8
por xmm0, xmm1
movdqa xmm1, xmm4
pslld xmm1, 8
pxor xmm0, xmm3
por xmm1, xmm4
movdqa xmm4, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm3, xmm0
pxor xmm1, xmm2
movdqa xmm2, xmm0
pand xmm0, xmm7
pslld xmm3, 4
psrld xmm2, 0xc
pand xmm3, xmm6
pand xmm2, xmm4
por xmm0, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0xc
por xmm0, xmm3
pand xmm2, xmm4
movdqa xmm4, xmm6
movdqa xmm4, xmm1
pand xmm1, xmm7
pslld xmm4, 4
por xmm1, xmm2
pand xmm4, xmm6
por xmm1, xmm4
je 0x432c94
mov eax, dword [esp + 0x130]
shl edi, 3
pshufd xmm2, xmm1, 0x1b
pshufd xmm5, xmm0, 0x1b
lea edx, [eax + edi*4]
pshufd xmm0, xmm5, 0xe7
pshufd xmm1, xmm2, 0xd4
pshufd xmm2, xmm2, 0xf6
mov dword [esp + 0xec], ecx
movd ebx, xmm5
mov dword [esp + 0x2c], edx
movd eax, xmm0
movsd xmm0, qword [edx - 8]
xor eax, dword [edx - 0xc]
shufps xmm0, xmm0, 0xd4
pxor xmm1, xmm0
movsd xmm0, qword [edx]
movd xmm6, eax
mov dword [esp], eax
mov eax, 3
mov edx, esi
punpcklqdq xmm6, xmm1
movdqa xmm7, xmm1
movdqa xmm3, xmm1
movdqa xmmword [esp + 0xd0], xmm1
xor ebx, edx
mov dword [esp + 8], ebx
shufps xmm0, xmm0, 0xd4
pxor xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
movd ecx, xmm0
movdqa xmm4, xmm2
movd edi, xmm2
movdqa xmm0, xmm2
punpcklqdq xmm7, xmm2
shufpd xmm3, xmm2, 1
punpckhqdq xmm4, xmm1
mov dword [esp + 4], edi
xor edi, ecx
movd xmm1, eax
mov eax, 1
mov dword [esp + 0xb0], ecx
pxor xmm6, xmm4
movd xmm4, edi
movdqa xmmword [esp + 0xc0], xmm1
mov dword [esp + 0x50], edi
movss xmm0, xmm4
pshufd xmm4, xmm5, 0xe5
movd dword [esp + 0x90], xmm6
pxor xmm7, xmm0
movapd xmm0, xmm3
movd dword [esp + 0x60], xmm4
movdqa xmm4, xmmword [0x493340]
movdqa xmmword [esp + 0x10], xmm7
movapd xmm7, xmm3
psllq xmm0, xmmword [0x493320]
mov edx, dword [esp + 0x60]
psllq xmm7, xmm1
movapd xmm1, xmmword [0x493310]
movsd xmm7, xmm0
movapd xmm0, xmm3
andpd xmm0, xmm1
movapd xmm1, xmm0
psrlq xmm1, xmm4
movd xmm4, eax
mov eax, 2
psrlq xmm0, xmm4
movdqa xmmword [esp + 0xf0], xmm4
movsd xmm0, xmm1
movapd xmm1, xmmword [0x493330]
andpd xmm7, xmm1
movapd xmm1, xmmword [0x493350]
andpd xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movd xmm5, eax
mov eax, dword [esp + 0x2c]
orpd xmm0, xmm7
movd edi, xmm1
movdqa xmm7, xmmword [esp + 0xc0]
movdqa xmmword [esp + 0x30], xmm5
xorpd xmm0, xmm3
movdqa xmm3, xmmword [0x493360]
movapd xmm1, xmm0
xor edx, dword [eax - 0x14]
xor edi, dword [eax - 0x10]
movdqa xmm4, xmm3
psllq xmm1, xmm3
movapd xmm3, xmm0
psllq xmm0, xmm5
andpd xmm3, xmmword [0x493310]
movsd xmm0, xmm1
mov dword [esp + 0xc], edi
mov dword [esp + 0x60], edx
movapd xmm1, xmm3
psrlq xmm3, xmm5
movdqa xmm5, xmmword [0x493340]
psrlq xmm1, xmm4
movsd xmm3, xmm1
movapd xmm1, xmmword [0x493370]
andpd xmm0, xmm1
movapd xmm1, xmmword [0x493380]
andpd xmm3, xmm1
orpd xmm3, xmm0
pshufd xmm0, xmm2, 0x4e
movd esi, xmm0
pshufd xmm0, xmm6, 0x4e
pxor xmm6, xmmword [esp + 0x10]
movapd xmm4, xmm3
movdqa xmmword [esp + 0x80], xmm0
movdqa xmm0, xmmword [0x493310]
xorpd xmm4, xmm2
mov eax, esi
mov ecx, esi
mov dword [esp + 0x7c], esi
mov esi, dword [esp]
xor eax, ebx
mov ebx, dword [esp + 4]
xor ecx, edi
mov dword [esp + 0x28], ecx
movdqa xmm1, xmm6
movdqa xmm2, xmm6
psllq xmm1, xmmword [0x493320]
psllq xmm2, xmm7
mov edi, ebx
xor edi, edx
xor esi, edi
mov dword [esp + 0xe4], edi
movsd xmm2, xmm1
movdqa xmm1, xmm6
xor esi, eax
pand xmm1, xmm0
movdqa xmm0, xmmword [0x493360]
xor esi, ecx
movdqa xmm3, xmm1
xor esi, dword [esp + 0xb0]
psrlq xmm3, xmm5
movdqa xmm5, xmmword [esp + 0xf0]
psrlq xmm1, xmm5
movsd xmm1, xmm3
movapd xmm3, xmmword [0x493330]
andpd xmm2, xmm3
movapd xmm3, xmmword [0x493350]
andpd xmm1, xmm3
orpd xmm1, xmm2
xorpd xmm1, xmm6
movdqa xmm6, xmmword [esp + 0x30]
movapd xmm2, xmm1
movapd xmm3, xmm1
xorpd xmm4, xmm1
psllq xmm2, xmm0
movapd xmmword [esp + 0x110], xmm4
psllq xmm3, xmm6
movsd xmm3, xmm2
movapd xmm2, xmmword [0x493310]
andpd xmm3, xmmword [0x493370]
andpd xmm1, xmm2
movapd xmm4, xmm2
movapd xmm2, xmm1
psrlq xmm1, xmm6
movd xmm6, ecx
mov ecx, dword [esp + 0x7c]
psrlq xmm2, xmm0
movaps xmm0, xmmword [esp + 0x80]
movsd xmm1, xmm2
andpd xmm1, xmmword [0x493380]
mov edi, ecx
mov edx, ecx
movss dword [esp + 0x80], xmm0
movd xmm0, esi
mov esi, ecx
shr edi, 1
punpcklqdq xmm6, xmm0
and esi, 0x11111111
and edi, 0x77777777
movdqa xmm0, xmm6
movdqa xmm2, xmm6
orpd xmm1, xmm3
movdqa xmm3, xmm6
lea ecx, [edi + esi*8]
mov edi, ebx
mov esi, dword [esp + 0x28]
psllq xmm0, xmmword [0x493320]
psllq xmm3, xmm7
pand xmm2, xmm4
xor ecx, edx
and edi, 0x33333333
movdqa xmm7, xmmword [esp + 0x30]
mov dword [esp + 0xe8], ecx
mov ecx, ebx
shr ebx, 2
and ebx, 0x33333333
lea edx, [ebx + edi*4]
mov ebx, eax
mov edi, eax
xor esi, ecx
movsd xmm3, xmm0
movdqa xmm0, xmm2
psrlq xmm2, xmm5
shr ebx, 1
movdqa xmm5, xmmword [0x493360]
xor edx, ecx
mov ecx, eax
and edi, 0x11111111
mov dword [esp + 0x164], esi
psrlq xmm0, xmmword [0x493340]
andpd xmm3, xmmword [0x493330]
and ebx, 0x77777777
shr ecx, 2
mov dword [esp + 0x28], edx
lea edx, [ebx + edi*8]
mov ebx, eax
and ecx, 0x33333333
mov edi, dword [esp + 0x80]
and ebx, 0x33333333
xor edx, eax
lea ecx, [ecx + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], edx
movsd xmm2, xmm0
xor ecx, eax
andpd xmm2, xmmword [0x493350]
mov dword [esp + 0x7c], ecx
mov ecx, eax
xor edi, dword [esp + 0x90]
xor ecx, ebx
mov eax, ecx
mov edx, ecx
orpd xmm2, xmm3
shr eax, 1
and edx, 0x11111111
xor edi, esi
xorpd xmm2, xmm6
movdqa xmm6, xmm4
and eax, 0x77777777
movapd xmm0, xmm2
movapd xmm3, xmm2
lea eax, [eax + edx*8]
mov edx, dword [esp + 0xe4]
psllq xmm0, xmm5
psllq xmm3, xmm7
xor eax, ecx
mov ecx, edi
movsd xmm3, xmm0
movapd xmm0, xmm2
shr ecx, 1
pshufd xmm2, xmm2, 0x4e
andpd xmm0, xmm4
andpd xmm3, xmmword [0x493370]
and ecx, 0x77777777
movd dword [esp + 0x24], xmm2
movapd xmm4, xmm0
psrlq xmm0, xmm7
psrlq xmm4, xmm5
movsd xmm0, xmm4
movdqa xmm4, xmmword [esp + 0xd0]
andpd xmm0, xmmword [0x493380]
orpd xmm0, xmm3
pshufd xmm3, xmmword [esp + 0x10], 0x4e
mov dword [esp + 0x10], eax
mov eax, edi
and eax, 0x11111111
movss dword [esp + 0x4c], xmm0
pshufd xmm0, xmm0, 0x4e
lea esi, [ecx + eax*8]
mov ecx, edx
mov eax, edx
movd dword [esp + 0xa0], xmm0
movapd xmm0, xmmword [esp + 0xd0]
shr ecx, 2
and eax, 0x33333333
xor esi, edi
and ecx, 0x33333333
mov dword [esp + 0x80], esi
movd dword [esp + 0x48], xmm3
movdqa xmm3, xmm4
lea ecx, [ecx + eax*4]
mov eax, edi
psllq xmm3, xmm5
movdqa xmm5, xmm4
xor ecx, edx
xor eax, edx
xor edx, dword [esp + 8]
psllq xmm5, xmm7
mov dword [esp + 0x16c], ecx
movsd xmm5, xmm3
movdqa xmm3, xmm4
pand xmm3, xmm6
andpd xmm5, xmmword [0x493370]
movdqa xmm4, xmm3
psrlq xmm3, xmm7
movdqa xmm7, xmmword [0x493320]
xor ebx, edx
xor edx, dword [esp + 0xc]
psrlq xmm4, xmmword [0x493360]
mov ecx, ebx
mov esi, ebx
shr ebx, 1
and ecx, 0x11111111
and ebx, 0x77777777
lea edi, [ebx + ecx*8]
mov ebx, edx
mov ecx, edx
xor edi, esi
movsd xmm3, xmm4
shr ebx, 1
and ecx, 0x11111111
mov dword [esp + 0x168], edi
andpd xmm3, xmmword [0x493380]
and ebx, 0x77777777
lea esi, [ebx + ecx*8]
mov ecx, eax
xor esi, edx
mov edx, eax
and ecx, 0x11111111
shr edx, 1
mov dword [esp + 0x30], esi
orpd xmm3, xmm5
movdqa xmm5, xmmword [str.UUUUUUUUUUUUUUUU]
and edx, 0x77777777
xorpd xmm3, xmm0
lea ebx, [edx + ecx*8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x90]
movapd xmm2, xmm3
xor ebx, eax
psllq xmm2, xmm7
movdqa xmm7, xmmword [0x4932f0]
mov dword [esp + 0xe4], ebx
mov eax, ecx
shr ecx, 2
and eax, 0x33333333
and ecx, 0x33333333
lea eax, [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x160], eax
mov eax, edi
shr edi, 2
shr ecx, 2
and eax, 0x33333333
and edi, 0x33333333
and ecx, 0x33333333
lea eax, [edi + eax*4]
mov dword [esp + 0x15c], eax
mov eax, esi
movd esi, xmm0
movapd xmm0, xmm3
psllq xmm3, xmmword [esp + 0xc0]
and eax, 0x33333333
mov edi, esi
mov dword [esp + 0x14c], esi
andpd xmm0, xmm6
lea eax, [ecx + eax*4]
mov ecx, ebx
shr ecx, 2
mov dword [esp + 0x154], eax
mov eax, ebx
and eax, 0x33333333
and ecx, 0x33333333
movsd xmm3, xmm2
movapd xmm2, xmm0
psrlq xmm0, xmmword [esp + 0xf0]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x80]
psrlq xmm2, xmmword [0x493340]
andpd xmm3, xmmword [0x493330]
mov dword [esp + 0x158], eax
mov eax, ecx
shr ecx, 2
movsd xmm0, xmm2
movapd xmm2, xmmword [esp + 0x110]
and eax, 0x33333333
and ecx, 0x33333333
andpd xmm0, xmmword [0x493350]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x150], eax
xorpd xmm2, xmm1
orpd xmm0, xmm3
mov eax, ecx
shr ecx, 1
xorpd xmm2, xmm0
and eax, 0x11111111
and ecx, 0x77777777
pshufd xmm0, xmm2, 0x4e
lea ecx, [ecx + eax*8]
mov eax, edx
shr edx, 1
and eax, 0x11111111
and edx, 0x77777777
xor ecx, dword [esp + 0x60]
lea ebx, [edx + eax*8]
mov edx, esi
mov eax, esi
mov esi, dword [esp + 0xe8]
shr eax, 1
and edx, 0x11111111
and eax, 0x77777777
lea eax, [eax + edx*8]
mov edx, esi
shr esi, 2
xor eax, edi
and edx, 0x33333333
and esi, 0x33333333
lea edx, [esi + edx*4]
mov dword [esp + 0x148], edx
mov edx, dword [esp + 4]
mov esi, edx
shr edx, 2
and esi, 0x33333333
and edx, 0x33333333
lea edx, [edx + esi*4]
mov esi, ecx
shr ecx, 2
and esi, 0x33333333
and ecx, 0x33333333
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x48]
lea ecx, [ecx + esi*4]
mov esi, dword [esp + 0x90]
mov dword [esp + 0xe8], ecx
xor ebx, esi
mov ecx, ebx
shr ebx, 2
and ecx, 0x33333333
and ebx, 0x33333333
lea ecx, [ebx + ecx*4]
mov ebx, esi
mov dword [esp + 4], ecx
mov ecx, eax
shr eax, 2
shr ebx, 2
and ecx, 0x33333333
and eax, 0x33333333
and ebx, 0x33333333
lea eax, [eax + ecx*4]
mov ecx, edx
shr ecx, 2
mov dword [esp + 0x144], eax
mov eax, edx
and eax, 0x33333333
and ecx, 0x33333333
lea eax, [ecx + eax*4]
xor eax, edx
mov edx, dword [esp + 0x164]
mov edi, edx
mov ecx, edx
shr edi, 2
and ecx, 0x33333333
and edi, 0x33333333
lea ecx, [edi + ecx*4]
mov edi, esi
xor ecx, edx
mov edx, esi
mov edx, dword [esp + 0x28]
and edi, 0x33333333
lea edi, [ebx + edi*4]
xor edi, esi
mov esi, dword [esp + 0x16c]
mov ebx, edx
shr edx, 1
and ebx, 0x11111111
and edx, 0x77777777
lea edx, [edx + ebx*8]
mov dword [esp + 0x90], edx
mov edx, eax
shr eax, 1
and edx, 0x11111111
and eax, 0x77777777
lea ebx, [eax + edx*8]
mov eax, dword [esp + 0x7c]
mov edx, eax
shr eax, 1
and edx, 0x11111111
and eax, 0x77777777
lea edx, [eax + edx*8]
mov eax, esi
shr esi, 1
and eax, 0x11111111
and esi, 0x77777777
lea esi, [esi + eax*8]
mov eax, ecx
shr ecx, 1
and eax, 0x11111111
and ecx, 0x77777777
lea eax, [ecx + eax*8]
mov ecx, edi
shr edi, 1
and ecx, 0x11111111
and edi, 0x77777777
lea ecx, [edi + ecx*8]
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 8]
xor edi, dword [esp + 0x148]
xor edi, dword [esp + 0x160]
xor edi, dword [esp + 0x90]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x50]
xor edi, dword [esp + 0x60]
xor edi, ebx
xor edi, dword [esp + 0x15c]
xor edi, dword [esp + 0x168]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x30]
xor edi, dword [esp + 0xc]
xor edi, edx
mov edx, dword [esp + 0x24]
xor edi, dword [esp + 0x154]
xor edx, dword [esp]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0xa0]
xor edx, edi
xor edx, esi
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 4]
xor edx, dword [esp + 0x14c]
xor edx, eax
mov eax, dword [esp + 0x80]
xor edx, dword [esp + 0x158]
xor eax, dword [esp + 0xb0]
xor edx, dword [esp + 0xe4]
xor eax, ecx
mov ecx, dword [esp + 0x10]
xor eax, dword [esp + 0x150]
mov ebx, edx
xor eax, dword [esp + 0x144]
mov dword [esp + 0x80], eax
movd eax, xmm2
xor ebx, eax
mov dword [esp + 0xf0], eax
mov eax, ebx
mov dword [esp + 0x110], ebx
xor eax, ecx
mov edi, eax
mov dword [esp + 0xd0], eax
mov eax, edx
xor edi, dword [esp + 0x50]
xor eax, dword [esp + 0xa0]
mov esi, edi
mov dword [esp], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x60], eax
xor esi, eax
movd eax, xmm0
mov dword [esp + 0x4c], esi
xor ebx, eax
xor edx, eax
xor esi, eax
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp]
mov dword [esp + 4], edx
mov edx, esi
xor edi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xf0], edi
xor ebx, dword [esp + 0x80]
xor eax, esi
mov esi, dword [esp + 0x60]
xor eax, dword [esp + 0xe8]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa0]
xor edx, eax
xor eax, ecx
xor ecx, esi
mov dword [esp + 0x48], edx
mov edx, ebx
mov dword [esp + 0x10], ecx
xor edx, ecx
mov ecx, eax
xor ecx, edi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc], ecx
mov ecx, esi
xor ecx, edi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x30]
xor ecx, esi
mov edi, ecx
and ecx, dword [esp + 0x60]
xor edi, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc0], edi
xor edi, dword [esp + 0xb0]
and ebx, dword [esp + 0xf0]
mov esi, edi
mov dword [esp + 8], edi
xor esi, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x24], esi
and esi, dword [esp + 0x28]
xor ebx, ecx
xor eax, ebx
xor edx, dword [esp + 0x10]
xor esi, ecx
mov ecx, edi
mov edi, dword [esp + 0xb0]
and ecx, dword [esp + 0x48]
mov dword [esp + 0x50], edx
and edi, dword [esp + 4]
xor eax, ecx
xor edi, ecx
mov ecx, dword [esp + 0xc0]
xor edi, esi
xor edi, dword [esp + 0x30]
and ecx, dword [esp]
xor eax, ecx
mov ecx, dword [esp + 0xa0]
and ecx, edx
mov edx, dword [esp + 0xd0]
xor ecx, dword [esp + 0x80]
xor edx, ecx
xor ecx, dword [esp + 0x60]
xor edx, esi
mov esi, edx
mov edx, dword [esp + 0x10]
xor ecx, ebx
mov ebx, edi
xor ebx, eax
and edx, dword [esp + 0x110]
mov dword [esp + 0x7c], ebx
xor esi, edx
mov edx, dword [esp + 0x4c]
and edi, esi
mov dword [esp + 0xd0], esi
and edx, dword [esp + 0x90]
xor ecx, edx
mov edx, edi
xor edx, ecx
mov esi, edx
and esi, ebx
xor esi, eax
xor eax, edi
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0xd0]
mov ebx, esi
xor ebx, ecx
and eax, ebx
mov ebx, eax
xor eax, edi
xor ebx, ecx
and eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x80]
xor ecx, eax
xor eax, edx
and dword [esp + 0xc0], ebx
mov edx, ecx
and dword [esp + 8], ecx
and ecx, dword [esp + 0x48]
xor edx, ebx
and eax, esi
and dword [esp + 0xb0], edx
xor eax, dword [esp + 0x7c]
mov dword [esp + 0xd0], ecx
mov ecx, esi
xor ecx, ebx
and ebx, dword [esp]
and dword [esp + 0x60], ecx
mov edi, eax
and dword [esp + 0x10], eax
xor edi, edx
and edx, dword [esp + 4]
mov dword [esp], ebx
mov ebx, eax
and eax, dword [esp + 0x110]
xor ebx, esi
mov esi, dword [esp + 0xa0]
xor edx, dword [esp + 0xc0]
and esi, ebx
and ebx, dword [esp + 0x50]
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x50], ebx
mov ebx, edi
xor edi, ecx
and ecx, dword [esp + 0x30]
and dword [esp + 0x24], edi
and edi, dword [esp + 0x28]
and dword [esp + 0x90], esi
and esi, dword [esp + 0x4c]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0xc]
and edi, ebx
and ebx, dword [esp + 0xf0]
xor ecx, edi
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
xor ebx, dword [esp + 0x80]
xor ecx, ebx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x10]
xor ecx, eax
mov edi, ecx
xor ecx, dword [esp + 0xa0]
xor edi, dword [esp + 8]
xor ebx, dword [esp + 0x90]
mov dword [esp + 0x30], edi
mov edi, ecx
xor ecx, dword [esp + 0x90]
xor edi, dword [esp + 0x10]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x30]
xor dword [esp + 0x10], ebx
xor ebx, dword [esp + 0xc0]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp]
movd xmm4, dword [esp + 0x30]
xor edx, ebx
xor ebx, dword [esp + 4]
xor esi, edx
xor edx, dword [esp + 0x90]
xor esi, edi
xor edi, dword [esp + 0xc]
xor esi, dword [esp + 0xb0]
xor ebx, dword [esp + 0xd0]
xor edx, dword [esp + 4]
xor edi, dword [esp + 0x24]
xor eax, esi
xor dword [esp + 0x60], ebx
xor ebx, esi
mov esi, dword [esp + 0x10]
xor edx, dword [esp + 0xa0]
movd xmm1, dword [esp + 0x60]
xor ebx, dword [esp + 0x50]
movd xmm0, edi
xor esi, dword [esp + 0xb0]
xor edx, dword [esp + 0x80]
punpckldq xmm0, xmm1
movd xmm1, eax
mov eax, dword [esp + 0x2c]
punpckldq xmm1, xmm4
movd xmm4, ecx
mov ecx, dword [esp + 0xec]
movd xmm3, esi
xor edx, edi
mov esi, dword [eax - 0x38]
add eax, 0xffffffe0
xor edx, dword [esp + 8]
dec ecx
movd xmm2, edx
mov edx, eax
punpckldq xmm2, xmm3
movd xmm3, ebx
punpckldq xmm4, xmm3
punpcklqdq xmm2, xmm0
punpcklqdq xmm4, xmm1
movdqa xmm1, xmmword [0x4932d0]
movdqa xmm3, xmm2
movdqa xmm0, xmm4
psrld xmm3, 8
psrld xmm0, 8
pxor xmm3, xmm2
pxor xmm0, xmm4
pand xmm0, xmm1
pand xmm3, xmm1
movdqa xmm1, xmm0
pslld xmm1, 8
por xmm1, xmm0
movdqa xmm0, xmm3
pslld xmm0, 8
pxor xmm1, xmm4
por xmm0, xmm3
movdqa xmm3, xmmword [str._n_n_n_n_n_n_n_n]
pxor xmm0, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0xc
movdqa xmm6, xmm0
pslld xmm6, 4
movdqa xmm4, xmm3
pand xmm2, xmm3
movdqa xmm3, xmm1
pand xmm1, xmm5
pand xmm6, xmm7
por xmm1, xmm2
movdqa xmm2, xmm0
pslld xmm3, 4
pand xmm0, xmm5
psrld xmm2, 0xc
pand xmm3, xmm7
pand xmm2, xmm4
por xmm1, xmm3
por xmm0, xmm2
pshufd xmm2, xmm1, 0x1b
por xmm0, xmm6
pshufd xmm5, xmm0, 0x1b
jne 0x431f71
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x60], esi
jmp 0x432ca1
mov ecx, edx
mov dword [esp + 0x60], esi
add ecx, dword [esp + 0x12c]
movd eax, xmm1
pshufd xmm2, xmm1, 0xe5
movd edi, xmm0
movdqa xmm5, xmmword [0x4933a0]
movapd xmm7, xmmword [0x493310]
xor eax, dword [ecx - 4]
xor edi, dword [ecx - 0x14]
mov dword [esp + 0x30], eax
movd eax, xmm2
pshufd xmm2, xmm1, 0x4e
pshufd xmm1, xmm1, 0xe7
xor eax, dword [ecx - 8]
movd esi, xmm1
pshufd xmm1, xmm0, 0xe5
movd edx, xmm2
movd ebx, xmm1
pshufd xmm1, xmm0, 0x4e
pshufd xmm0, xmm0, 0xe7
xor edx, dword [ecx - 0xc]
xor esi, dword [ecx - 0x10]
xor ebx, dword [ecx - 0x18]
mov dword [esp + 0x10], eax
movd eax, xmm1
xor eax, dword [ecx - 0x1c]
movd ecx, xmm0
movss xmm0, dword [esp + 0x30]
xor ecx, dword [esp + 0x60]
movaps xmmword [esp + 0x30], xmm0
movd xmm0, edx
movdqa xmmword [esp + 0x60], xmm0
movd xmm0, edi
mov edi, 0x10
movdqa xmmword [esp + 0x50], xmm0
movd xmm0, eax
mov eax, 0xffffffe0
movdqa xmmword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x10]
movaps xmmword [esp + 0xb0], xmm0
movd xmm0, esi
mov esi, 4
movdqa xmmword [esp + 0xd0], xmm0
movd xmm0, ebx
movdqa xmmword [esp + 0x80], xmm0
movd xmm0, ecx
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmm0, xmmword [0x493390]
movd xmm2, esi
movdqa xmm1, xmm0
pshufd xmm3, xmmword [esp + 0x30], 0x44
pshufd xmm4, xmmword [esp + 0x60], 0x44
movdqa xmmword [esp + 0x10], xmm0
psllq xmm1, xmm2
movdqa xmm2, xmm0
movapd xmm0, xmmword [0x4933c0]
psllq xmm2, xmm5
movsd xmm1, xmm2
xorpd xmm2, xmm2
andpd xmm1, xmm7
pand xmm3, xmm7
pand xmm4, xmm7
pshufd xmm6, xmm1, 0x4e
movdqa xmm5, xmm3
movss xmm2, xmm6
psrlq xmm5, xmm1
psrlq xmm3, xmm2
movsd xmm3, xmm5
movdqa xmm5, xmmword [0x4933b0]
movapd xmm6, xmm3
psllq xmm6, xmm5
movd xmm5, edi
psllq xmm3, xmm5
movsd xmm3, xmm6
movdqa xmm6, xmm4
psrlq xmm4, xmm2
psrlq xmm6, xmm1
movsd xmm4, xmm6
pshufd xmm6, xmmword [esp + 0x50], 0x44
andpd xmm4, xmm0
orpd xmm4, xmm3
psllq xmm4, 0x10
pand xmm6, xmm7
movdqa xmm3, xmm6
psrlq xmm6, xmm2
psrlq xmm3, xmm1
movsd xmm6, xmm3
pshufd xmm3, xmmword [esp + 0x90], 0x44
andpd xmm6, xmm0
orpd xmm6, xmm4
psllq xmm6, 0x10
pand xmm3, xmm7
movdqa xmm4, xmm3
psrlq xmm3, xmm2
psrlq xmm4, xmm1
movsd xmm3, xmm4
pshufd xmm4, xmmword [esp + 0xb0], 0x44
andpd xmm3, xmm0
orpd xmm3, xmm6
pand xmm4, xmm7
movdqa xmm6, xmm4
psrlq xmm4, xmm2
psrlq xmm6, xmm1
movsd xmm4, xmm6
movapd xmm6, xmm4
psllq xmm4, xmm5
pshufd xmm5, xmmword [esp + 0xd0], 0x44
psllq xmm6, xmmword [0x4933b0]
pand xmm5, xmm7
movsd xmm4, xmm6
movdqa xmm6, xmm5
psrlq xmm5, xmm2
psrlq xmm6, xmm1
movsd xmm5, xmm6
pshufd xmm6, xmmword [esp + 0x80], 0x44
andpd xmm5, xmm0
orpd xmm5, xmm4
psllq xmm5, 0x10
pand xmm6, xmm7
movdqa xmm4, xmm6
psrlq xmm6, xmm2
psrlq xmm4, xmm1
movsd xmm6, xmm4
pshufd xmm4, xmmword [esp + 0xa0], 0x44
andpd xmm6, xmm0
orpd xmm6, xmm5
psllq xmm6, 0x10
pand xmm4, xmm7
movdqa xmm5, xmm4
psrlq xmm4, xmm2
psrlq xmm5, xmm1
movdqa xmm1, xmmword [0x4932a0]
movsd xmm4, xmm5
andpd xmm4, xmm0
orpd xmm4, xmm6
movdqa xmm6, xmmword [0x493290]
movdqa xmm5, xmm1
movdqa xmm1, xmmword [0x4933d0]
movdqa xmm2, xmm1
movapd xmm1, xmm4
psrlq xmm1, 8
pxor xmm1, xmm3
pand xmm1, xmm2
movdqa xmm2, xmm1
pxor xmm1, xmm3
psllq xmm2, 8
pxor xmm2, xmm4
movdqa xmm3, xmm2
psrlq xmm3, 0x1c
pxor xmm3, xmm2
pand xmm3, xmm5
movdqa xmm4, xmm3
psllq xmm4, 0x1c
por xmm4, xmm3
pxor xmm4, xmm2
movdqa xmm2, xmm1
psrlq xmm2, 0x1c
pxor xmm2, xmm1
pand xmm2, xmm5
movdqa xmm3, xmm2
psllq xmm3, 0x1c
por xmm3, xmm2
movdqa xmm2, xmmword [0x493280]
pxor xmm3, xmm1
movdqa xmm1, xmm4
psrlq xmm1, 0xe
pxor xmm1, xmm4
pand xmm1, xmm6
movdqa xmm5, xmm1
psllq xmm5, 0xe
por xmm5, xmm1
movdqa xmm1, xmm3
psrlq xmm1, 0xe
pxor xmm5, xmm4
pxor xmm1, xmm3
pand xmm1, xmm6
movdqa xmm6, xmm2
movdqa xmm4, xmm1
psllq xmm4, 0xe
por xmm4, xmm1
movdqa xmm1, xmm5
psrlq xmm1, 7
pxor xmm4, xmm3
pxor xmm1, xmm5
movdqa xmm3, xmm4
pand xmm1, xmm2
psrlq xmm3, 7
movdqa xmm2, xmm1
pxor xmm3, xmm4
psllq xmm2, 7
pand xmm3, xmm6
por xmm2, xmm1
movdqa xmm1, xmm3
pxor xmm2, xmm5
psllq xmm1, 7
movdqa xmm5, xmmword [0x4933a0]
movdqa xmmword [esp + 0x180], xmm2
por xmm1, xmm3
movdqa xmm3, xmm2
mov cl, byte [esp + 0x180]
mov dl, byte [esp + 0x188]
psrlq xmm3, 8
pxor xmm1, xmm4
mov byte [esp + eax + 0x290], cl
mov byte [esp + eax + 0x2a0], dl
movdqa xmmword [esp + 0x200], xmm3
movdqa xmm3, xmm2
mov cl, byte [esp + 0x200]
mov dl, byte [esp + 0x208]
psrlq xmm3, 0x10
mov byte [esp + eax + 0x291], cl
mov byte [esp + eax + 0x2a1], dl
movdqa xmmword [esp + 0x210], xmm3
movdqa xmm3, xmm2
mov cl, byte [esp + 0x210]
mov dl, byte [esp + 0x218]
psrlq xmm3, 0x18
mov byte [esp + eax + 0x292], cl
mov byte [esp + eax + 0x2a2], dl
movdqa xmmword [esp + 0x220], xmm3
movdqa xmm3, xmm2
mov cl, byte [esp + 0x220]
mov dl, byte [esp + 0x228]
psrlq xmm3, 0x20
mov byte [esp + eax + 0x293], cl
mov byte [esp + eax + 0x2a3], dl
movdqa xmmword [esp + 0x230], xmm3
movdqa xmm3, xmm2
mov cl, byte [esp + 0x230]
mov dl, byte [esp + 0x238]
psrlq xmm3, 0x28
mov byte [esp + eax + 0x294], cl
mov byte [esp + eax + 0x2a4], dl
movdqa xmmword [esp + 0x240], xmm3
movdqa xmm3, xmm2
psrlq xmm2, 0x38
mov cl, byte [esp + 0x240]
mov dl, byte [esp + 0x248]
psrlq xmm3, 0x30
mov byte [esp + eax + 0x295], cl
mov byte [esp + eax + 0x2a5], dl
movdqa xmmword [esp + 0x250], xmm3
mov cl, byte [esp + 0x250]
mov dl, byte [esp + 0x258]
mov byte [esp + eax + 0x296], cl
mov byte [esp + eax + 0x2a6], dl
movdqa xmmword [esp + 0x260], xmm2
movdqa xmm2, xmm1
mov cl, byte [esp + 0x260]
mov dl, byte [esp + 0x268]
psrlq xmm2, 8
mov byte [esp + eax + 0x297], cl
mov byte [esp + eax + 0x2a7], dl
movdqa xmmword [esp + 0x170], xmm1
mov cl, byte [esp + 0x170]
mov dl, byte [esp + 0x178]
mov byte [esp + eax + 0x298], cl
mov byte [esp + eax + 0x2a8], dl
movdqa xmmword [esp + 0x190], xmm2
movdqa xmm2, xmm1
mov cl, byte [esp + 0x190]
mov dl, byte [esp + 0x198]
psrlq xmm2, 0x10
mov byte [esp + eax + 0x299], cl
mov byte [esp + eax + 0x2a9], dl
movdqa xmmword [esp + 0x1a0], xmm2
movdqa xmm2, xmm1
mov cl, byte [esp + 0x1a0]
mov dl, byte [esp + 0x1a8]
psrlq xmm2, 0x18
mov byte [esp + eax + 0x29a], cl
mov byte [esp + eax + 0x2aa], dl
movdqa xmmword [esp + 0x1b0], xmm2
movdqa xmm2, xmm1
mov cl, byte [esp + 0x1b0]
mov dl, byte [esp + 0x1b8]
psrlq xmm2, 0x20
mov byte [esp + eax + 0x29b], cl
mov byte [esp + eax + 0x2ab], dl
movdqa xmmword [esp + 0x1c0], xmm2
movdqa xmm2, xmm1
mov cl, byte [esp + 0x1c0]
mov dl, byte [esp + 0x1c8]
psrlq xmm2, 0x28
mov byte [esp + eax + 0x29c], cl
mov byte [esp + eax + 0x2ac], dl
movdqa xmmword [esp + 0x1d0], xmm2
movdqa xmm2, xmm1
psrlq xmm1, 0x38
mov cl, byte [esp + 0x1d0]
mov dl, byte [esp + 0x1d8]
psrlq xmm2, 0x30
mov byte [esp + eax + 0x29d], cl
mov byte [esp + eax + 0x2ad], dl
movdqa xmmword [esp + 0x1e0], xmm2
mov cl, byte [esp + 0x1e0]
mov dl, byte [esp + 0x1e8]
mov byte [esp + eax + 0x29e], cl
mov byte [esp + eax + 0x2ae], dl
movdqa xmmword [esp + 0x1f0], xmm1
movdqa xmm0, xmmword [esp + 0x10]
mov cl, byte [esp + 0x1f0]
mov dl, byte [esp + 0x1f8]
paddq xmm0, xmmword [0x493360]
mov byte [esp + eax + 0x29f], cl
mov byte [esp + eax + 0x2af], dl
add eax, 0x20
jne 0x432d88
mov edi, dword [esp + 0x78]
xor eax, eax
xor esi, esi
mov ebx, dword [edi - 0x34]
mov edx, dword [edi - 0x30]
inc esi
xor ebx, dword [esp + eax + 0x270]
xor edx, dword [esp + eax + 0x274]
mov ecx, ebx
mov byte [esp + eax + 0x270], bl
mov byte [esp + eax + 0x271], bh
shr ebx, 0x18
shr ecx, 0x10
mov byte [esp + eax + 0x272], cl
mov ecx, edx
mov byte [esp + eax + 0x273], bl
mov byte [esp + eax + 0x274], dl
mov byte [esp + eax + 0x275], dh
shr edx, 0x10
shr ecx, 0x18
mov byte [esp + eax + 0x276], dl
mov byte [esp + eax + 0x277], cl
mov ebx, dword [edi - 0x2c]
mov edx, dword [edi - 0x28]
xor ebx, dword [esp + eax + 0x278]
xor edx, dword [esp + eax + 0x27c]
mov ecx, ebx
mov byte [esp + eax + 0x278], bl
mov byte [esp + eax + 0x279], bh
shr ebx, 0x18
shr ecx, 0x10
mov byte [esp + eax + 0x27a], cl
mov ecx, edx
mov byte [esp + eax + 0x27b], bl
mov byte [esp + eax + 0x27c], dl
mov byte [esp + eax + 0x27d], dh
shr edx, 0x18
mov ebx, dword [esp + 0x140]
shr ecx, 0x10
mov byte [esp + eax + 0x27e], cl
mov ecx, dword [esp + 0x10c]
mov byte [esp + eax + 0x27f], dl
lea edx, [esp + 0x27f]
movsd xmm0, qword [ecx + eax]
movsd xmm1, qword [ecx + eax + 8]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
movq xmm0, qword [edx + eax - 0xf]
movq xmm1, qword [edx + eax - 7]
movq qword [ecx + eax], xmm0
movq qword [ecx + eax + 8], xmm1
add eax, 0x10
cmp esi, dword [esp + 0x108]
jb 0x433321
mov esi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x13c]
add esi, dword [esp + 0x138]
sub ecx, dword [esp + 0x108]
jne 0x4316d8
lea eax, [esp + 0x270]
push 0x20
push eax
call fcn.00467c20
add esp, 8
mov ecx, dword [esp + 0x298]
xor ecx, ebp
call fcn.0046fa9a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret