Function at 0x4329bd
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov eax, dword [ebp + 8]
mov esi, dword [0x4c1074]
xor esi, ebp
mov dword [esp + 0xe8], esi
pxor xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
lea edi, [eax + 0xf]
cmp edi, 0x1f
jb 0x433eee
lea esi, [ecx - 0x308]
mov dword [esp + 0x74], esi
test eax, eax
cmovns edi, eax
sar edi, 4
lea esi, [esp + 0xcf]
lea eax, [esp + 0xdf]
movd xmm0, esi
movd xmm1, eax
punpckldq xmm1, xmm0
movd dword [esp + 0x9c], xmm1
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esp + 0xb0], xmm0
lea eax, [ecx - 0x2e8]
mov dword [esp + 0x94], eax
lea eax, [ecx - 0x34]
mov dword [esp + 0x98], eax
mov dword [esp + 0x6c], ecx
xor eax, eax
mov dword [esp + 0xa4], edi
cmp edi, 1
sete al
mov ecx, 2
sub ecx, eax
mov dword [esp + 0x78], ecx
shl ecx, 4
mov dword [esp + 0xa0], ecx
push ecx
mov dword [esp + 0x80], edx
push edx
lea eax, [esp + 0xc8]
push eax
call fcn.00478020
movdqa xmm7, xmmword [str.UUUUUUUUUUUUUUUU]
movdqa xmm6, xmmword [0x49b5c0]
add esp, 0xc
movzx eax, word [esp + 0xc4]
movzx edx, byte [esp + 0xc6]
shl edx, 0x10
or edx, eax
movzx esi, byte [esp + 0xc7]
shl esi, 0x18
movzx eax, word [esp + 0xcc]
movzx ecx, byte [esp + 0xce]
shl ecx, 0x10
movzx edi, word [esp + 0xdc]
movd xmm0, eax
movzx eax, byte [esp + 0xde]
shl eax, 0x10
movd xmm2, dword [esp + 0xc8]
punpckldq xmm2, xmm0
movd xmm0, edi
movd xmm1, dword [esp + 0xd8]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm2
movd xmm2, ecx
movd xmm0, eax
shufps xmm0, xmm2, 0x11
mov edi, dword [esp + 0xc0]
movzx ecx, word [esp + 0xd4]
movzx eax, byte [esp + 0xd6]
shl eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0xd0]
movd xmm3, esi
movzx esi, byte [esp + 0xd7]
shl esi, 0x18
movd xmm2, edx
movd xmm4, edi
punpckldq xmm4, xmm2
movd xmm2, eax
movd xmm5, ecx
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm4
movd xmm2, esi
shufps xmm2, xmm3, 0x11
orps xmm2, xmm5
pshufd xmm3, xmm2, 0xff
movd esi, xmm3
shr esi, 7
xor esi, edx
mov edx, edi
shr edx, 7
xor edx, edi
mov ebx, 0xaa00aa
and esi, ebx
and edx, ebx
movd xmm3, esi
shld esi, edx, 7
orps xmm0, xmm1
pshufd xmm1, xmm2, 0x55
movd edi, xmm1
shr edi, 7
xor edi, eax
mov eax, ecx
shr eax, 7
xor eax, ecx
mov ecx, edx
and edi, ebx
and eax, ebx
movd xmm1, esi
mov esi, edi
shld esi, eax, 7
shl ecx, 7
movd xmm4, ecx
mov ecx, eax
shl ecx, 7
punpckldq xmm4, xmm1
movd xmm1, esi
movd xmm5, ecx
punpckldq xmm5, xmm1
movd xmm1, edx
punpcklqdq xmm5, xmm4
movd xmm4, edi
punpckldq xmm1, xmm3
movd xmm3, eax
punpckldq xmm3, xmm4
punpcklqdq xmm3, xmm1
por xmm3, xmm5
pxor xmm3, xmm2
movdqa xmm2, xmm3
psrlq xmm2, 0xe
pxor xmm2, xmm3
movdqa xmm4, xmmword [0x49b4c0]
pand xmm2, xmm4
movdqa xmm1, xmm2
psllq xmm1, 0xe
por xmm1, xmm2
pxor xmm1, xmm3
movdqa xmm2, xmmword [esp + 0xb0]
movd eax, xmm2
movzx eax, byte [eax]
mov ecx, dword [esp + 0x9c]
movzx ecx, byte [ecx]
movd xmm2, ecx
pinsrw xmm2, eax, 4
psllq xmm2, 0x38
por xmm2, xmm0
movdqa xmm3, xmm2
psrlq xmm3, 7
pxor xmm3, xmm0
pand xmm3, xmmword [0x49b4b0]
movdqa xmm0, xmm3
psllq xmm0, 7
por xmm0, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm0
psrlq xmm2, 0xe
pxor xmm2, xmm0
pand xmm2, xmm4
movdqa xmm3, xmm2
psllq xmm3, 0xe
por xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 0x1c
pxor xmm0, xmm1
movdqa xmm4, xmmword [0x49b4d0]
pand xmm0, xmm4
movdqa xmm2, xmm0
psllq xmm2, 0x1c
por xmm2, xmm0
pxor xmm2, xmm1
movdqa xmm0, xmm3
psrlq xmm0, 0x1c
pxor xmm0, xmm3
pand xmm0, xmm4
movdqa xmm4, xmm0
psllq xmm4, 0x1c
por xmm4, xmm0
pxor xmm4, xmm3
movdqa xmm0, xmm2
psrlq xmm0, 8
pxor xmm0, xmm4
movdqa xmm1, xmm0
pand xmm1, xmmword [0x49b580]
pxor xmm1, xmm4
movd ebx, xmm1
movdqa xmm3, xmm1
pxor xmm5, xmm5
punpckhwd xmm3, xmm5
psllw xmm0, 8
pxor xmm0, xmm2
pshufd xmm2, xmm0, 0xff
movd edx, xmm2
pshufd xmm2, xmm0, 0xee
movdqa xmm4, xmm0
punpckhwd xmm4, xmm5
movd ecx, xmm4
movd eax, xmm0
mov esi, eax
shl esi, 0x10
or esi, ecx
mov dword [esp], esi
movd ecx, xmm2
shr ecx, 0x10
shr edx, 0x10
pshufd xmm2, xmm0, 0x55
mov esi, 0xffff0000
and eax, esi
mov esi, 0xffff0000
or eax, ecx
mov dword [esp + 0xc], eax
movd eax, xmm2
and eax, esi
or eax, edx
mov dword [esp + 4], eax
mov eax, ebx
shl eax, 0x10
movd edx, xmm3
or eax, edx
mov ecx, eax
pshufd xmm2, xmm1, 0xee
pshufd xmm3, xmm1, 0x55
movd esi, xmm3
mov edi, esi
shld edi, ebx, 0x10
movd edx, xmm2
shr edx, 0x10
mov eax, 0xffff0000
and ebx, eax
or ebx, edx
mov dword [esp + 0x50], ebx
pshufd xmm1, xmm1, 0xff
movd edx, xmm1
movzx ebx, dx
mov dword [esp + 0x14], ebx
shr edx, 0x10
and esi, eax
or esi, edx
mov dword [esp + 8], esi
movdqa xmm1, xmm0
psrlq xmm1, 0x20
psrlq xmm0, 0x10
pand xmm0, xmmword [0x49b590]
punpckhwd xmm1, xmm5
movdqa xmm5, xmmword [0x49b5a0]
por xmm1, xmm0
mov edx, dword [esp + 0x6c]
mov eax, dword [edx - 0x38]
mov dword [esp + 0x70], eax
shl eax, 5
mov dword [esp + 0x4c], eax
mov ebx, dword [esp]
xor ebx, dword [edx + eax - 0x308]
xor ecx, dword [edx + eax - 0x304]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc]
xor ecx, dword [edx + eax - 0x300]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [edx + eax - 0x2fc]
mov dword [esp + 0x50], ecx
mov ecx, 0xffff0000
and edi, ecx
movd ecx, xmm1
xor ecx, dword [edx + eax - 0x2f8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 4]
xor ecx, dword [edx + eax - 0x2f0]
mov dword [esp + 4], ecx
mov esi, dword [esp + 8]
xor esi, dword [edx + eax - 0x2ec]
mov dword [esp + 8], esi
add edi, dword [esp + 0x14]
mov dword [esp + 0x30], edi
mov eax, ecx
mov ecx, dword [esp + 0x10]
xor eax, ecx
mov edx, eax
xor edx, ebx
mov esi, dword [esp + 0x50]
xor ecx, esi
mov edi, ebx
xor ebx, ecx
mov dword [esp], ebx
mov dword [esp + 0x48], eax
and ebx, eax
xor ebx, edx
mov dword [esp + 0x1c], ebx
xor edx, dword [esp + 0x20]
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], ecx
xor edx, ecx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 8]
xor edx, ebx
xor eax, ebx
mov dword [esp + 0x18], eax
xor dword [esp + 0x10], ebx
xor ebx, dword [esp + 4]
mov dword [esp + 8], ebx
mov eax, esi
xor edi, esi
mov dword [esp + 0x34], edi
mov esi, dword [esp + 0xc]
xor esi, edx
mov dword [esp + 0xc], esi
xor edx, eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
xor edi, dword [edx + eax - 0x2f4]
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x40]
mov eax, edx
xor eax, edi
mov dword [esp + 0x50], eax
mov edi, eax
xor edi, dword [esp]
mov dword [esp + 0x28], edi
mov eax, ebx
xor eax, dword [esp + 0x34]
mov dword [esp + 4], eax
xor ebx, ecx
mov dword [esp + 0x80], ebx
mov eax, esi
xor eax, ecx
mov esi, eax
xor esi, dword [esp + 0x50]
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x18]
xor esi, ebx
mov dword [esp + 0x24], esi
xor esi, edi
mov dword [esp + 0x3c], esi
and eax, ecx
mov ecx, esi
and ecx, dword [esp + 0x80]
xor ecx, eax
mov edi, dword [esp + 4]
and edi, dword [esp + 8]
xor edi, eax
mov esi, dword [esp + 0x14]
and esi, edx
xor esi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
and edx, dword [esp + 0x44]
mov eax, ebx
and eax, dword [esp + 0x10]
xor eax, dword [esp + 0xc]
xor eax, edx
xor esi, edi
xor esi, edx
mov ebx, dword [esp + 0x20]
xor ebx, dword [esp]
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x28]
and edx, ebx
xor edx, dword [esp + 0x30]
xor eax, ecx
mov ebx, dword [esp + 0x1c]
xor ebx, edx
xor ebx, ecx
mov ecx, dword [esp + 0x38]
and ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x2c]
xor ecx, edx
xor ecx, edi
mov edi, eax
xor edi, esi
mov dword [esp + 0x30], edi
and eax, ebx
mov dword [esp + 0x1c], ebx
mov edx, eax
xor edx, ecx
mov dword [esp + 0x34], edx
and edx, edi
xor edx, esi
mov edi, ebx
xor edi, ecx
xor esi, eax
and esi, edi
mov ebx, esi
xor esi, eax
xor ebx, ecx
and esi, ecx
mov eax, dword [esp + 0x1c]
xor eax, esi
xor esi, dword [esp + 0x34]
and esi, edx
xor esi, dword [esp + 0x30]
and dword [esp + 0x24], eax
mov ecx, eax
and eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
xor ecx, ebx
mov eax, esi
xor eax, ecx
and dword [esp + 0x18], ecx
and ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edi, edx
xor edi, ebx
and dword [esp + 0x14], ebx
and ebx, dword [esp + 0x40]
mov ecx, esi
xor ecx, edx
and dword [esp + 0x28], ecx
and ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
and dword [esp], esi
and esi, dword [esp + 0x48]
and dword [esp + 0x50], edx
and edx, dword [esp + 0x38]
mov ecx, eax
xor eax, edi
and dword [esp + 0x3c], eax
and eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 4]
and eax, ecx
mov dword [esp + 4], eax
and ecx, dword [esp + 8]
mov dword [esp + 8], ecx
and dword [esp + 0x2c], edi
and edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
xor edi, esi
xor edi, eax
xor edi, ecx
mov ecx, edi
xor edi, dword [esp + 0x28]
mov eax, edi
xor eax, dword [esp]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
xor edx, eax
xor eax, dword [esp + 0x50]
xor eax, dword [esp]
xor ecx, dword [esp + 0x24]
xor eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
xor ecx, eax
mov dword [esp], ecx
xor eax, ebx
xor eax, dword [esp + 0x30]
mov ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 4]
xor eax, dword [esp + 0x3c]
xor edx, ecx
mov ecx, dword [esp + 0xc]
xor edx, ecx
xor eax, ecx
mov dword [esp + 4], eax
xor ebx, dword [esp + 0x1c]
mov eax, dword [esp + 8]
xor ebx, eax
xor dword [esp + 0x2c], ebx
xor ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
xor esi, edx
xor ebx, edx
mov edx, dword [esp + 0x50]
xor edi, edx
xor edx, dword [esp + 0x24]
xor edx, dword [esp + 0x14]
xor edx, eax
xor edx, dword [esp + 0x28]
xor edx, dword [esp + 0x20]
movd xmm0, dword [esp]
movd xmm1, esi
mov esi, dword [esp + 0x4c]
movd xmm3, ebx
movd xmm2, edi
mov eax, dword [esp + 4]
xor edx, eax
movd xmm4, eax
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x2c]
punpckldq xmm2, xmm3
movd xmm3, edx
punpcklqdq xmm2, xmm1
punpckldq xmm4, xmm0
movd xmm0, dword [esp + 0x18]
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm4
movdqa xmm0, xmm3
psrld xmm0, 8
movdqa xmm4, xmm2
psrld xmm4, 8
pxor xmm4, xmm2
pxor xmm0, xmm3
pand xmm0, xmm5
pand xmm4, xmm5
movdqa xmm5, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm1, xmm0
pslld xmm1, 8
por xmm1, xmm0
movdqa xmm0, xmm4
pslld xmm0, 8
por xmm0, xmm4
pxor xmm0, xmm2
pxor xmm1, xmm3
movdqa xmm2, xmm1
psrld xmm2, 0xc
movdqa xmm3, xmm1
pslld xmm3, 4
pand xmm3, xmm6
pand xmm1, xmm7
por xmm1, xmm3
movdqa xmm3, xmm0
pand xmm2, xmm5
por xmm1, xmm2
movdqa xmm2, xmm0
pslld xmm2, 4
pand xmm2, xmm6
pand xmm0, xmm7
por xmm0, xmm2
psrld xmm3, 0xc
pand xmm3, xmm5
por xmm0, xmm3
mov eax, dword [esp + 0x74]
lea edx, [eax + esi]
add edx, 0xffffffe0
dec ecx
je 0x433c00
pshufd xmm3, xmm0, 0xeb
pshufd xmm4, xmm1, 0x1b
pshufd xmm2, xmm0, 0xe1
mov dword [esp + 0x70], ecx
movd eax, xmm4
mov dword [esp + 0x4c], edx
xor eax, dword [edx]
mov dword [esp + 0x28], eax
movq xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x18]
pxor xmm1, xmm3
pxor xmm0, xmm2
pshufd xmm3, xmm0, 0x55
movd edi, xmm3
mov esi, edi
xor esi, eax
movd eax, xmm0
mov dword [esp + 0xc], eax
movdqa xmmword [esp + 0x80], xmm0
pshufd xmm2, xmm1, 0x55
movdqa xmmword [esp + 0x50], xmm2
movd edx, xmm2
mov dword [esp + 0x10], edx
xor eax, edx
mov dword [esp], eax
mov ecx, esi
xor ecx, eax
mov dword [esp + 0x24], ecx
mov eax, ecx
mov edx, 0xf1111111
and eax, edx
mov ebx, 0xf1111111
mov edx, ecx
shr edx, 1
mov ecx, 0x77777777
and edx, ecx
lea eax, [edx + eax*8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], edi
mov eax, edi
and eax, ebx
shr edi, 1
mov ecx, 0x77777777
and edi, ecx
lea eax, [edi + eax*8]
mov dword [esp + 0x14], eax
mov eax, esi
and eax, ebx
mov edx, esi
shr edx, 1
and edx, ecx
mov edi, 0x77777777
lea eax, [edx + eax*8]
mov dword [esp + 0x18], eax
movd ecx, xmm1
mov dword [esp + 0x30], ecx
mov eax, ecx
and eax, ebx
mov edx, ecx
shr edx, 1
and edx, edi
lea eax, [edx + eax*8]
xor eax, ecx
mov edx, eax
mov ecx, 0xf3333333
and edx, ecx
mov edi, 0xf3333333
shr eax, 2
mov ecx, 0x33333333
and eax, ecx
mov ebx, 0x33333333
lea eax, [eax + edx*4]
mov dword [esp + 8], eax
mov edx, dword [esp + 0xc]
mov eax, edx
and eax, edi
mov edi, 0xf3333333
shr edx, 2
and edx, ebx
mov ecx, 0x33333333
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
mov edx, esi
and edx, edi
mov edi, esi
shr edi, 2
and edi, ecx
lea edx, [edi + edx*4]
pshufd xmm5, xmm4, 0x55
pshufd xmm6, xmm4, 0xee
movd ecx, xmm5
mov ebx, dword [esp + 0x4c]
xor ecx, dword [ebx + 4]
mov dword [esp + 0x1c], ecx
pshufd xmm4, xmm4, 0xff
movd eax, xmm6
xor eax, dword [ebx + 8]
mov dword [esp + 0x2c], eax
movd edi, xmm4
xor edi, dword [ebx + 0xc]
xor dword [esp + 0x18], esi
xor edx, esi
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x38]
xor dword [esp + 0x14], edx
xor edx, eax
xor esi, edx
mov ebx, esi
movd xmm4, edx
mov eax, dword [esp + 0xc]
xor edx, eax
mov esi, edx
mov dword [esp + 0x38], edx
xor dword [esp + 4], eax
xor eax, ecx
mov edx, dword [esp + 0x10]
xor dword [esp + 8], edx
mov dword [esp + 0x44], edi
xor edx, edi
xor edx, eax
xor ebx, edx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x20]
xor ebx, dword [esp + 0x24]
movd xmm5, edi
punpckldq xmm5, xmm0
pxor xmm5, xmm3
movss xmm6, dword [esp]
pshufd xmm3, xmm1, 0x50
movdqa xmm7, xmm1
movss xmm7, xmm6
pxor xmm3, xmm7
pshufd xmm6, xmm3, 0x55
pxor xmm6, xmm5
movd edx, xmm6
xor edx, esi
mov esi, edx
and esi, 0xf1111111
mov edi, edx
shr edi, 1
mov ecx, 0x77777777
and edi, ecx
lea ecx, [edi + esi*8]
xor ecx, edx
mov dword [esp + 0x48], ecx
xor edx, eax
mov dword [esp + 0x34], edx
mov esi, edx
and esi, 0xf1111111
mov edi, edx
shr edi, 1
mov ecx, 0x77777777
and edi, ecx
lea ecx, [edi + esi*8]
mov dword [esp + 0x10], ecx
mov edi, eax
mov ecx, 0xf3333333
and edi, ecx
mov ecx, eax
shr ecx, 2
mov esi, 0x33333333
and ecx, esi
lea esi, [ecx + edi*4]
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0xf1111111
and ecx, edx
shr edi, 1
mov edx, 0x77777777
and edi, edx
lea ecx, [edi + ecx*8]
xor esi, eax
mov dword [esp + 0x24], esi
mov edi, eax
mov eax, dword [esp + 0x28]
xor edi, eax
xor ecx, eax
mov eax, ebx
xor ecx, ebx
mov dword [esp + 0xc], ecx
mov ecx, 0xf3333333
and eax, ecx
shr ebx, 2
mov esi, 0x33333333
and ebx, esi
lea eax, [ebx + eax*4]
mov dword [esp + 0x20], eax
movd edx, xmm5
mov eax, edx
and eax, ecx
mov ebx, edx
shr ebx, 2
and ebx, esi
lea eax, [ebx + eax*4]
mov esi, dword [esp]
xor esi, edi
mov dword [esp], esi
mov ebx, esi
mov ecx, 0xf1111111
and ebx, ecx
shr esi, 1
mov ecx, 0x77777777
and esi, ecx
lea ecx, [esi + ebx*8]
mov dword [esp + 4], ecx
xor eax, edx
mov esi, eax
mov ebx, 0xf1111111
and esi, ebx
shr eax, 1
mov ecx, 0x77777777
and eax, ecx
lea eax, [eax + esi*8]
mov ecx, dword [esp + 8]
xor ecx, eax
mov esi, dword [esp + 0x48]
xor ecx, esi
mov dword [esp + 8], ecx
mov eax, esi
and esi, 0xf3333333
shr eax, 2
mov ecx, 0x33333333
and eax, ecx
lea eax, [eax + esi*4]
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c]
mov ecx, esi
and ecx, 0xf1111111
shr esi, 1
mov eax, 0x77777777
and esi, eax
lea esi, [esi + ecx*8]
xor edi, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
mov eax, edi
and eax, ebx
mov ebx, edi
shr ebx, 1
mov ecx, 0x77777777
and ebx, ecx
mov edi, 0x77777777
lea eax, [ebx + eax*8]
mov dword [esp + 0xac], eax
movd xmm6, dword [esp + 0x40]
mov ebx, edx
mov eax, 0xf1111111
and ebx, eax
mov ecx, edx
shr ecx, 1
and ecx, edi
lea ecx, [ecx + ebx*8]
xor ecx, edx
mov eax, dword [esp + 0x14]
mov edx, eax
mov edi, 0xf3333333
and edx, edi
shr eax, 2
mov edi, 0x33333333
and eax, edi
lea eax, [eax + edx*4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18]
mov ebx, eax
mov edx, 0xf3333333
and ebx, edx
shr eax, 2
and eax, edi
lea eax, [eax + ebx*4]
mov dword [esp + 0x40], eax
xor esi, dword [esp + 0x1c]
mov eax, esi
and eax, edx
shr esi, 2
mov edi, 0x33333333
and esi, edi
lea eax, [esi + eax*4]
mov dword [esp + 0x14], eax
mov eax, ecx
and eax, edx
shr ecx, 2
and ecx, edi
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
xor dword [esp + 0x10], eax
pshufd xmm7, xmm5, 0x55
movd eax, xmm7
mov ecx, eax
and ecx, edx
mov esi, eax
shr esi, 2
and esi, edi
lea ecx, [esi + ecx*4]
xor ecx, eax
mov ebx, dword [esp + 0x38]
mov eax, ebx
and eax, edx
mov esi, ebx
shr esi, 2
and esi, edi
lea eax, [esi + eax*4]
mov edx, dword [esp + 4]
xor edx, dword [esp]
xor eax, ebx
mov esi, ecx
mov edi, 0xf1111111
and esi, edi
shr ecx, 1
mov ebx, 0x77777777
and ecx, ebx
lea ecx, [ecx + esi*8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov esi, ecx
and esi, edi
shr ecx, 1
and ecx, ebx
lea ecx, [ecx + esi*8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x24]
mov edi, ecx
mov esi, 0xf1111111
and edi, esi
mov ebx, 0xf1111111
shr ecx, 1
mov esi, 0x77777777
and ecx, esi
lea ecx, [ecx + edi*8]
mov dword [esp + 0x24], ecx
mov ecx, eax
and ecx, ebx
shr eax, 1
and eax, esi
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0xc]
xor ecx, dword [esp + 0xa8]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0xac]
xor esi, dword [esp + 0x48]
mov ecx, edx
mov edi, edx
xor ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x30]
xor ecx, eax
mov eax, dword [esp + 0x10]
xor ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, eax
and ecx, 0xf3333333
shr eax, 2
mov ebx, 0x33333333
and eax, ebx
lea eax, [eax + ecx*4]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
xor ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x2c]
xor eax, esi
xor eax, dword [esp + 0x3c]
mov ebx, eax
mov eax, 0xf3333333
and edi, eax
shr edx, 2
mov eax, 0x33333333
and edx, eax
lea eax, [edx + edi*4]
mov edx, esi
mov edi, 0xf3333333
and esi, edi
shr edx, 2
mov edi, 0x33333333
and edx, edi
lea edx, [edx + esi*4]
mov edi, dword [esp + 0x24]
xor edi, dword [esp + 0x44]
punpckldq xmm4, xmm6
movdqa xmm6, xmm4
pslld xmm6, 3
movdqa xmm7, xmm4
movdqa xmm0, xmmword [0x49b5e0]
pand xmm6, xmm0
psrld xmm7, 1
movdqa xmm0, xmmword [str.wwwwwwww]
pand xmm7, xmm0
por xmm7, xmm6
pxor xmm7, xmm4
pshufd xmm4, xmm7, 0x55
movd esi, xmm4
xor esi, edi
xor ecx, eax
movdqa xmm4, xmm7
pslld xmm7, 2
movdqa xmm2, xmmword [0x49b600]
pand xmm7, xmm2
psrld xmm4, 2
movdqa xmm6, xmmword [str.33333333]
pand xmm4, xmm6
movdqa xmm0, xmm6
por xmm4, xmm7
movd edi, xmm4
xor edi, esi
xor ebx, edx
mov dword [esp + 0x14], ebx
pshufd xmm4, xmm4, 0x55
movd eax, xmm4
xor eax, edi
mov dword [esp + 0x1c], eax
xor ecx, dword [esp]
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x18]
xor edi, dword [esp + 0x10]
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x28]
mov dword [esp + 8], eax
movdqa xmm4, xmm1
movdqa xmm6, xmm1
pslld xmm4, 2
pand xmm4, xmm2
psrld xmm6, 2
pand xmm6, xmm0
por xmm6, xmm4
pxor xmm6, xmm1
pxor xmm3, xmm5
movdqa xmm1, xmm3
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm5, xmmword [esp + 0x50]
punpckldq xmm5, xmm2
movdqa xmmword [esp + 0x50], xmm5
movdqa xmm0, xmm5
pslld xmm0, 3
pslld xmm1, 3
movdqa xmm7, xmmword [0x49b5e0]
pand xmm0, xmm7
psrld xmm5, 1
movdqa xmm4, xmmword [str.wwwwwwww]
pand xmm5, xmm4
pand xmm1, xmm7
por xmm5, xmm0
movdqa xmm4, xmm3
psrld xmm4, 1
pand xmm4, xmmword [str.wwwwwwww]
por xmm4, xmm1
pxor xmm5, xmmword [esp + 0x50]
movdqa xmm1, xmm5
pslld xmm1, 2
psrld xmm5, 2
movdqa xmm0, xmmword [0x49b600]
pand xmm1, xmm0
movdqa xmm7, xmmword [str.33333333]
pand xmm5, xmm7
por xmm5, xmm1
movdqa xmm1, xmm6
pslld xmm1, 3
pand xmm1, xmmword [0x49b5e0]
psrld xmm6, 1
pand xmm6, xmmword [str.wwwwwwww]
por xmm6, xmm1
pxor xmm4, xmm3
movdqa xmm1, xmm4
pxor xmm6, xmm2
pxor xmm6, xmm5
movdqa xmm5, xmmword [0x49b5a0]
pxor xmm6, xmm4
pslld xmm4, 2
pand xmm4, xmm0
psrld xmm1, 2
pand xmm1, xmm7
por xmm1, xmm4
pxor xmm6, xmm1
movd edx, xmm6
mov dword [esp + 0x20], edx
mov ebx, edi
xor ebx, edx
mov eax, ebx
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0xc]
xor eax, esi
mov dword [esp + 0x34], eax
xor eax, ecx
mov dword [esp + 0x30], eax
mov ecx, edi
xor ecx, dword [esp + 0x1c]
pshufd xmm0, xmm6, 0x55
movdqa xmm6, xmmword [0x49b5c0]
xor eax, ecx
mov dword [esp + 0x3c], eax
movd edx, xmm0
xor eax, edx
xor edi, edx
mov dword [esp + 0x18], edi
xor ebx, edx
mov dword [esp], ebx
xor dword [esp + 0x20], edx
mov ebx, dword [esp + 0x14]
xor ebx, eax
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x1c]
xor eax, edi
mov dword [esp + 0x80], eax
xor edi, esi
mov edx, ecx
xor esi, ecx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov ecx, ebx
xor ecx, edx
mov dword [esp + 0x50], edx
mov edx, eax
xor edx, esi
mov dword [esp + 0x1c], edx
mov esi, ecx
xor esi, eax
mov dword [esp + 0x2c], esi
and esi, dword [esp + 0x30]
xor esi, edi
mov eax, dword [esp + 0x20]
xor edi, eax
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x50]
xor edx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x2c]
xor eax, dword [esp]
mov dword [esp + 0x24], eax
and ecx, dword [esp + 0x50]
xor eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
and eax, edx
xor eax, ecx
mov ebx, edi
and ebx, dword [esp + 0x20]
xor ebx, ecx
mov edi, dword [esp + 0x24]
and edi, dword [esp + 0x80]
mov ecx, dword [esp]
and ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x14]
xor ecx, edi
xor esi, ebx
xor esi, edi
mov edi, dword [esp + 4]
xor edi, dword [esp + 0xc]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x1c]
and edx, edi
xor edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
and edi, dword [esp + 0x38]
xor edi, dword [esp + 0x34]
xor ecx, eax
xor edi, edx
xor edi, eax
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x50]
xor eax, edx
xor eax, ebx
mov ebx, ecx
and ecx, edi
xor ebx, esi
mov dword [esp + 0x34], ebx
mov edx, ecx
xor edx, eax
mov dword [esp + 8], edx
mov edx, dword [esp + 8]
and edx, ebx
mov ebx, edi
xor ebx, eax
xor edx, esi
xor esi, ecx
and esi, ebx
mov ebx, esi
xor esi, ecx
xor ebx, eax
and esi, eax
xor edi, esi
xor esi, dword [esp + 8]
and esi, edx
xor esi, dword [esp + 0x34]
and dword [esp + 0x24], edi
mov eax, edi
and edi, dword [esp + 0x80]
xor eax, ebx
mov ecx, esi
xor ecx, eax
mov dword [esp + 8], ecx
and dword [esp], eax
and eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, edx
xor ecx, ebx
and dword [esp + 0x2c], ebx
and ebx, dword [esp + 0x30]
mov eax, esi
xor eax, edx
and dword [esp + 0x1c], eax
and eax, dword [esp + 4]
mov dword [esp + 0x18], eax
and dword [esp + 0xc], esi
and esi, dword [esp + 0x38]
and dword [esp + 0x28], edx
and edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
and eax, dword [esp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
and eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
xor eax, ecx
and dword [esp + 0x50], ecx
and ecx, dword [esp + 0x14]
and dword [esp + 0x44], eax
and eax, dword [esp + 0x40]
mov dword [esp + 4], eax
xor ecx, esi
mov eax, dword [esp + 0x10]
xor ecx, eax
xor eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 4]
mov dword [esp + 0x18], eax
xor ecx, eax
mov dword [esp + 0x20], ecx
xor ecx, dword [esp + 0x1c]
xor edx, dword [esp]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc]
xor dword [esp + 0x14], eax
mov eax, dword [esp]
xor eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xc]
xor dword [esp], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
xor dword [esp], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
xor dword [esp + 0xc], eax
xor eax, ebx
xor ebx, edi
mov edi, eax
xor edi, dword [esp + 0x80]
mov dword [esp + 0x2c], edi
xor ebx, dword [esp + 8]
xor dword [esp + 0x50], ebx
xor ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
xor ecx, eax
xor eax, dword [esp + 0x24]
xor edx, edi
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x14]
xor edx, dword [esp + 0x14]
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 8]
xor esi, edx
xor ebx, edx
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 4]
movd xmm0, dword [esp + 0xc]
movd xmm1, esi
movd xmm2, ecx
mov ecx, dword [esp + 0x70]
xor eax, edi
movd xmm3, edi
movd xmm4, ebx
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x50]
punpckldq xmm2, xmm4
movd xmm4, eax
punpckldq xmm3, xmm0
movd xmm0, dword [esp]
punpckldq xmm4, xmm0
punpcklqdq xmm2, xmm1
punpcklqdq xmm4, xmm3
movdqa xmm0, xmm4
psrld xmm0, 8
movdqa xmm3, xmm2
psrld xmm3, 8
pxor xmm3, xmm2
pxor xmm0, xmm4
pand xmm0, xmm5
pand xmm3, xmm5
movdqa xmm5, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm1, xmm0
pslld xmm1, 8
por xmm1, xmm0
movdqa xmm0, xmm3
pslld xmm0, 8
por xmm0, xmm3
pxor xmm0, xmm2
pxor xmm1, xmm4
movdqa xmm3, xmm1
movdqa xmm2, xmm0
psrld xmm2, 0xc
pand xmm2, xmm5
movdqa xmm4, xmm1
pslld xmm4, 4
pand xmm4, xmm6
movdqa xmm7, xmmword [str.UUUUUUUUUUUUUUUU]
pand xmm1, xmm7
por xmm1, xmm4
movdqa xmm4, xmm0
psrld xmm3, 0xc
pslld xmm4, 4
pand xmm4, xmm6
pand xmm0, xmm7
pand xmm3, xmm5
por xmm0, xmm4
por xmm0, xmm2
pshufd xmm2, xmm0, 0xe1
por xmm1, xmm3
pshufd xmm4, xmm1, 0x1b
pshufd xmm3, xmm0, 0xeb
mov edx, dword [esp + 0x4c]
add edx, 0xffffffe0
dec ecx
jne 0x4331e8
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x74]
jmp 0x433c02
add esi, eax
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
xor eax, dword [edx]
mov dword [esp + 0x50], eax
pshufd xmm2, xmm1, 0xee
movd eax, xmm2
xor eax, dword [esi - 0x1c]
mov dword [esp + 0x14], eax
pshufd xmm2, xmm1, 0x55
movd eax, xmm2
xor eax, dword [esi - 0x18]
mov dword [esp + 0x18], eax
movd eax, xmm1
xor eax, dword [esi - 0x14]
mov dword [esp + 0x1c], eax
pshufd xmm1, xmm0, 0xff
movd eax, xmm1
xor eax, dword [esi - 0x10]
mov dword [esp + 0x2c], eax
pshufd xmm1, xmm0, 0xee
movd eax, xmm1
xor eax, dword [esi - 0xc]
mov dword [esp + 0x10], eax
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
xor eax, dword [esi - 8]
mov dword [esp + 0x28], eax
movd eax, xmm0
xor eax, dword [esi - 4]
mov dword [esp + 0x24], eax
xor ecx, ecx
mov dl, 1
lea eax, [esp + 0xc0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x24]
shr eax, cl
mov edx, dword [esp + 0x10]
shr edx, cl
shl eax, 0x10
mov ebx, 0xffff
and edx, ebx
or edx, eax
mov dword [esp], edx
mov esi, dword [esp + 0x1c]
shr esi, cl
shl esi, 0x10
mov edx, dword [esp + 0x14]
shr edx, cl
and edx, ebx
or edx, esi
mov edi, dword [esp + 0x28]
shr edi, cl
shl edi, 0x10
mov eax, dword [esp + 0x2c]
shr eax, cl
and eax, ebx
mov esi, 0xffff
mov ebx, dword [esp + 0x18]
shr ebx, cl
or eax, edi
mov edi, dword [esp + 0x50]
shr edi, cl
shl ebx, 0x10
and edi, esi
or edi, ebx
mov ecx, edi
shr ecx, 8
xor ecx, edx
mov esi, 0xff00ff
and ecx, esi
mov ebx, ecx
shl ebx, 8
xor ebx, edi
mov esi, eax
shr esi, 8
xor esi, dword [esp]
mov edi, 0xff00ff
and esi, edi
mov edi, esi
shl edi, 8
xor edi, eax
xor ecx, edx
xor esi, dword [esp]
mov eax, edi
shl eax, 4
xor eax, ebx
mov edx, 0xf0f0f0f0
and eax, edx
mov edx, eax
shr edx, 4
xor edx, edi
xor eax, ebx
mov edi, esi
shl edi, 4
xor edi, ecx
mov ebx, 0xf0f0f0f0
and edi, ebx
mov ebx, edi
shr ebx, 4
xor ebx, esi
xor edi, ecx
mov esi, eax
shr esi, 0xe
xor esi, eax
mov ecx, 0xcccc
and esi, ecx
mov ecx, esi
shl ecx, 0xe
or ecx, esi
mov esi, edx
mov dword [esp], edx
shr edx, 0xe
xor edx, esi
mov esi, 0xcccc
and edx, esi
mov esi, edx
shl esi, 0xe
or esi, edx
xor esi, dword [esp]
mov dword [esp + 4], esi
xor ecx, eax
mov eax, edi
shr eax, 0xe
xor eax, edi
mov edx, 0xcccc
and eax, edx
mov esi, eax
shl esi, 0xe
or esi, eax
mov eax, ebx
shr eax, 0xe
xor eax, ebx
and eax, edx
mov edx, eax
shl edx, 0xe
or edx, eax
xor edx, ebx
mov dword [esp], edx
xor esi, edi
mov eax, ecx
shr eax, 7
xor eax, ecx
mov edx, 0xaa00aa
and eax, edx
mov ebx, eax
shl ebx, 7
or ebx, eax
xor ebx, ecx
mov edi, dword [esp + 0xc]
mov byte [edi], bl
mov byte [edi + 1], bh
mov eax, ebx
shr eax, 0x10
mov byte [edi + 2], al
mov eax, dword [esp + 4]
mov ecx, eax
shr ecx, 7
xor ecx, eax
mov edx, eax
mov eax, 0xaa00aa
and ecx, eax
mov eax, ecx
shl eax, 7
or eax, ecx
xor eax, edx
shr ebx, 0x18
mov byte [edi + 3], bl
mov byte [edi + 4], al
mov byte [edi + 5], ah
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 6], cl
mov edx, esi
shr edx, 7
xor edx, esi
mov ebx, 0xaa00aa
and edx, ebx
mov ecx, edx
shl ecx, 7
or ecx, edx
xor ecx, esi
mov esi, dword [esp]
mov edx, esi
shr edx, 7
xor edx, esi
and edx, ebx
shr eax, 0x18
mov byte [edi + 7], al
mov byte [edi + 8], cl
mov byte [edi + 9], ch
mov eax, ecx
shr eax, 0x10
mov byte [edi + 0xa], al
mov eax, edx
shl eax, 7
or eax, edx
xor eax, esi
shr ecx, 0x18
mov byte [edi + 0xb], cl
mov byte [edi + 0xc], al
mov byte [edi + 0xd], ah
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 0xe], cl
shr eax, 0x18
mov byte [edi + 0xf], al
add edi, 0x10
mov dword [esp + 0xc], edi
mov ecx, 0x10
xor eax, eax
test byte [esp + 8], 1
mov edx, 0
jne 0x433c86
xor ecx, ecx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x98]
mov edi, dword [edx - 0x34]
mov esi, dword [edx - 0x30]
xor dword [esp + eax + 0xc0], edi
xor dword [esp + eax + 0xc4], esi
mov edi, dword [edx - 0x2c]
mov esi, dword [edx - 0x28]
xor dword [esp + eax + 0xc8], edi
xor dword [esp + eax + 0xcc], esi
mov esi, dword [esp + 0x7c]
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx], xmm0
lea edi, [esp + 0xcf]
movdqu xmm0, xmmword [edi + eax - 0xf]
movdqu xmmword [esi + eax], xmm0
inc ecx
add eax, 0x10
cmp ecx, dword [esp + 0x78]
jb 0x433e81
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
sub edi, dword [esp + 0x78]
mov edx, eax
jne 0x432a5e
lea eax, [esp + 0xc0]
push 0x20
push eax
call fcn.0046d0f4
add esp, 8
mov ecx, dword [esp + 0xe8]
xor ecx, ebp
call fcn.00475526
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret