Function at 0x10155851
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x204
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x200], eax
mov eax, dword [0x10240c80]
push ebx
push esi
push edi
cmp byte [eax + 0x35df], 0
mov edi, ecx
je 0x10157e97
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x10157e97
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x10157e97
mov eax, dword [0x10240c88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [esp + 0xb0]
push ecx
push eax
mov ecx, esi
call edx
movq xmm0, qword [str.SG_TU_K:]
test al, al
mov al, byte [0x10206364]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x18], al
je 0x10155752
mov esi, dword [esp + 0x140]
jmp 0x10155755
or esi, 0xffffffff
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 9
jl 0x10155757
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jne 0x10157e97
mov eax, dword [0x102063c8]
xor ebx, ebx
mov dword [esp + 0x10], eax
mov ax, word [0x102063cc]
mov word [esp + 0x14], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x16], al
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 7
jl 0x101557b7
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
je 0x10157e97
push 0
call fcn.101c41de
add esp, 4
push eax
call fcn.101c41cc
add esp, 4
call fcn.101c41ab
cdq
mov ecx, 0x15
idiv ecx
xorps xmm0, xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
movups xmmword [esp + 0x80], xmm0
mov byte [esp + 0x80], 0
cmp edx, 0x14
ja case.default.0x1015584a
jmp dword [edx*4 + 0x10157eb4]
movups xmm0, xmmword [0x1020c3a0]
mov ax, word [0x1020c3d0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x58], ax
movups xmm0, xmmword [0x1020c3b0]
mov al, byte [0x1020c3d2]
mov byte [esp + 0x5a], al
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020c3c0]
movups xmmword [esp + 0x48], xmm0
jl 0x101559c4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x101558c0
cmp ebx, 0x33
jge 0x101559ee
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x33
jl 0x101559c4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101559f5
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d3dc]
mov eax, dword [0x1020d40c]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x58], eax
movups xmm0, xmmword [0x1020d3ec]
mov ax, word [0x1020d410]
mov word [esp + 0x5c], ax
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d3fc]
movups xmmword [esp + 0x48], xmm0
jl 0x10155b75
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x10155a71
cmp ebx, 0x36
jge 0x10155b9f
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x36
jl 0x10155b75
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10155ba6
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.kag]
mov ax, word [0x1020d300]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x50], ax
movups xmm0, xmmword [0x1020d2e8]
mov al, byte [0x1020d302]
mov byte [esp + 0x52], al
movups xmmword [esp + 0x38], xmm0
movq xmm0, qword [0x1020d2f8]
movq qword [esp + 0x48], xmm0
jl 0x10155d30
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10155c24
cmp ebx, 0x2b
jge 0x10155d5a
nop dword [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x2b
jl 0x10155d30
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10155d61
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020ce48]
mov al, byte [0x1020ce70]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov byte [esp + 0x50], al
movups xmm0, xmmword [0x1020ce58]
movups xmmword [esp + 0x38], xmm0
movq xmm0, qword [0x1020ce68]
movq qword [esp + 0x48], xmm0
jl 0x10155ee0
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10155dd4
cmp ebx, 0x29
jge 0x10155f0a
nop dword [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x29
jl 0x10155ee0
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10155f11
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020cfb4]
mov eax, dword [0x1020cfe4]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x58], eax
movups xmm0, xmmword [0x1020cfc4]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020cfd4]
movups xmmword [esp + 0x48], xmm0
jl 0x10156086
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x10155f82
cmp ebx, 0x34
jge 0x101560b0
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x34
jl 0x10156086
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101560b7
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.s__ARJ]
mov ax, word [0x1020d3d8]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x48], ax
movups xmm0, xmmword [0x1020d3c8]
mov al, byte [0x1020d3da]
mov byte [esp + 0x4a], al
movups xmmword [esp + 0x38], xmm0
jl 0x10156234
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10156130
cmp ebx, 0x23
jge 0x1015625e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x23
jl 0x10156234
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156265
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d8d0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [0x1020d8e0]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d8f0]
movups xmmword [esp + 0x48], xmm0
jl 0x101563d1
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x2c], xmm1
add ecx, 8
cmp ecx, 0x30
jl 0x101562d0
jmp 0x101563fb
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x30
jl 0x101563d1
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156402
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d4e0]
mov eax, dword [0x1020d500]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x48], eax
movups xmm0, xmmword [0x1020d4f0]
mov al, byte [0x1020d504]
mov byte [esp + 0x4c], al
movups xmmword [esp + 0x38], xmm0
jl 0x10156574
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10156470
cmp ebx, 0x25
jge 0x1015659e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x25
jl 0x10156574
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101565a5
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020c45c]
mov eax, dword [0x1020c494]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x60], eax
movups xmm0, xmmword [0x1020c46c]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020c47c]
movups xmmword [esp + 0x48], xmm0
movq xmm0, qword [0x1020c48c]
movq qword [esp + 0x58], xmm0
jl 0x10156730
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x38
jl 0x10156624
cmp ebx, 0x3c
jge 0x1015675a
nop dword [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x3c
jl 0x10156730
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156761
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020ce9c]
mov ax, word [0x1020cec4]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x50], ax
movups xmm0, xmmword [0x1020ceac]
mov al, byte [0x1020cec6]
mov byte [esp + 0x52], al
movups xmmword [esp + 0x38], xmm0
movq xmm0, qword [0x1020cebc]
movq qword [esp + 0x48], xmm0
jl 0x101568e4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x101567e0
cmp ebx, 0x2b
jge 0x1015690e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x2b
jl 0x101568e4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156915
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.y__V_]
mov al, byte [0x1020d580]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov byte [esp + 0x70], al
movups xmm0, xmmword [0x1020d548]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d558]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [0x1020d568]
movups xmmword [esp + 0x58], xmm0
movq xmm0, qword [0x1020d578]
movq qword [esp + 0x68], xmm0
jl 0x10156aa4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x48
jl 0x101569a0
cmp ebx, 0x49
jge 0x10156ace
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x49
jl 0x10156aa4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156ad5
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.fR_XP]
mov al, byte [0x1020c6d0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov byte [esp + 0x78], al
movups xmm0, xmmword [0x1020c690]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020c6a0]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [0x1020c6b0]
movups xmmword [esp + 0x58], xmm0
movups xmm0, xmmword [0x1020c6c0]
movups xmmword [esp + 0x68], xmm0
jl 0x10156c64
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x50
jl 0x10156b60
cmp ebx, 0x51
jge 0x10156c8e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x51
jl 0x10156c64
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156c95
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.s__AV]
mov eax, dword [0x1020d288]
xor ebx, ebx
cmp dword [0x10241d90], 2
mov dword [esp + 0x48], eax
mov ax, word [0x1020d28c]
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x4c], ax
movups xmm0, xmmword [0x1020d278]
mov al, byte [0x1020d28e]
mov byte [esp + 0x4e], al
movups xmmword [esp + 0x38], xmm0
jl 0x10156e14
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10156d10
cmp ebx, 0x27
jge 0x10156e3e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x27
jl 0x10156e14
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156e45
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d670]
mov eax, dword [0x1020d6a8]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x60], eax
movups xmm0, xmmword [0x1020d680]
mov ax, word [0x1020d6ac]
mov word [esp + 0x64], ax
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d690]
movups xmmword [esp + 0x48], xmm0
movq xmm0, qword [0x1020d6a0]
movq qword [esp + 0x58], xmm0
jl 0x10156fd4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x38
jl 0x10156ed0
cmp ebx, 0x3e
jge 0x10156ffe
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x3e
jl 0x10156fd4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157005
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020c990]
mov al, byte [0x1020c9b0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov byte [esp + 0x48], al
movups xmm0, xmmword [0x1020c9a0]
movups xmmword [esp + 0x38], xmm0
jl 0x10157174
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10157070
cmp ebx, 0x21
jge 0x1015719e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x21
jl 0x10157174
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101571a5
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.e_UA]
mov al, byte [0x1020c8c8]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov byte [esp + 0x70], al
movups xmm0, xmmword [str._c__:i.2__pp]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [str.__u_85_v]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [0x1020c8b0]
movups xmmword [esp + 0x58], xmm0
movq xmm0, qword [0x1020c8c0]
movq qword [esp + 0x68], xmm0
jl 0x10157334
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x48
jl 0x10157230
cmp ebx, 0x49
jge 0x1015735e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x49
jl 0x10157334
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157365
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d84c]
mov ax, word [0x1020d87c]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x58], ax
movups xmm0, xmmword [0x1020d85c]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d86c]
movups xmmword [esp + 0x48], xmm0
jl 0x101574e4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x101573e0
cmp ebx, 0x32
jge 0x1015750e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x32
jl 0x101574e4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157515
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d320]
mov ax, word [0x1020d350]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov word [esp + 0x58], ax
movups xmm0, xmmword [0x1020d330]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d340]
movups xmmword [esp + 0x48], xmm0
jl 0x10157694
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x10157590
cmp ebx, 0x32
jge 0x101576be
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x32
jl 0x10157694
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101576c5
lea eax, [esp + 0x28]
jmp 0x10157bf0
cmp byte [0x1020cd43], 0
movups xmm0, xmmword [0x1020cd28]
mov eax, dword [0x1020cd40]
mov dword [esp + 0x40], eax
movups xmmword [esp + 0x28], xmm0
movq xmm0, qword [0x1020cd38]
movq qword [esp + 0x38], xmm0
je 0x1015786e
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x10157844
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x10157740
cmp ebx, 0x1c
jge 0x1015786e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x1c
jl 0x10157844
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157875
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [0x1020d458]
mov eax, dword [0x1020d4a0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x70], eax
movups xmm0, xmmword [0x1020d468]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [0x1020d478]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [0x1020d488]
movups xmmword [esp + 0x58], xmm0
movq xmm0, qword [0x1020d498]
movq qword [esp + 0x68], xmm0
jl 0x10157a04
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x48
jl 0x10157900
cmp ebx, 0x4c
jge 0x10157a2e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x4c
jl 0x10157a04
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157a35
lea eax, [esp + 0x28]
jmp 0x10157bf0
movups xmm0, xmmword [str.eye]
mov eax, dword [0x1020d728]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x50], eax
movups xmm0, xmmword [0x1020d710]
movups xmmword [esp + 0x38], xmm0
movq xmm0, qword [0x1020d720]
movq qword [esp + 0x48], xmm0
jl 0x10157bb4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x2c], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10157ab0
cmp ebx, 0x2c
jge 0x10157bde
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0x2c
jl 0x10157bb4
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157be5
lea eax, [esp + 0x28]
sub ecx, edx
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10022ec0
mov eax, dword [0x1020d304]
mov dword [esp + 0x10], eax
mov ax, word [0x1020d308]
mov word [esp + 0x14], ax
test ah, ah
je 0x10157c49
xor ebx, ebx
nop word [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 6
jl 0x10157c20
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157c68
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10027a90
cmp dword [esp + 0x3c], 0xf
lea edx, [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0xa8], 0
cmova edx, dword [esp + 0x28]
mov ecx, edx
mov dword [esp + 0xac], 0
movups xmmword [esp + 0x98], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157cb4
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0xa0]
call fcn.10027a90
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x10157d01
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10157cf7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10157eac
push ecx
push edx
call fcn.101b6ad2
add esp, 8
cmp dword [esp + 0x94], 0xf
lea ecx, [esp + 0x80]
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xa8]
cmova ecx, ebx
mov eax, dword [esp + 0xac]
mov edi, dword [esp + 0x90]
sub eax, edx
mov dword [esp + 0x10], edx
cmp edi, eax
ja 0x10157d75
cmp dword [esp + 0xac], 0xf
lea esi, [esp + 0x98]
lea eax, [edi + edx]
cmova esi, dword [esp + 0x98]
push edi
mov dword [esp + 0xac], eax
push ecx
lea eax, [esi + edx]
push eax
call fcn.101b8000
mov ecx, dword [esp + 0x1c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x10157d96
mov edi, dword [esp + 0x90]
push edi
push ecx
push dword [esp + 0x18]
lea ecx, [esp + 0xa4]
push edi
call fcn.100286b0
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
cmp ecx, edx
jae 0x10157dcc
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x98]
cmova eax, dword [esp + 0x98]
mov word [eax + ecx], 0x22
jmp 0x10157de0
push 0x22
push dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push 1
call fcn.10028580
mov eax, dword [0x10240c88]
lea edx, [esp + 0x98]
cmp dword [esp + 0xac], 0xf
push 0
cmova edx, dword [esp + 0x9c]
mov ecx, dword [eax + 0x10]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0xac]
cmp ecx, 0xf
jbe 0x10157e48
mov edx, dword [esp + 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10157e3e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10157eac
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
mov byte [esp + 0x98], 0
cmp ecx, 0xf
jbe 0x10157e97
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x10157e8d
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10157eac
push ecx
push ebx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret
call fcn.101bbc06
nop dword [eax]
push ecx
pop eax
adc eax, 0x155a0510
adc byte [esi + 0x7110155b], dh
pop ebp
adc eax, 0x155f2110
adc bh, al
pushal
adc eax, 0x15627510
adc byte [edx], dl
adc eax, 0x1565b510
adc byte [ecx + 0x67], dh
adc eax, 0x15692510
adc ch, ah
push 0x15
adc byte [ebp + 0x5510156c], ah
outsb dx, byte [esi]
adc eax, 0x15701510
adc byte [ebp + 0x75101571], dh
jae 0x10157f0c
adc byte [0xd5101575], ah
jbe 0x10157f14
adc byte [ebp + 0x45101578], al
jp 0x10157f1c
adc ah, cl
int3
int3
in al, 0xf8
movss xmm3, dword [0x102155d0]
and dword [eax], edx
sub esp, 0x18
movaps xmm2, xmm0
xorps xmm1, xmm1
comiss xmm1, xmm2
push esi
push edi
mov esi, ecx
jbe 0x10157f35
movaps xmm0, xmm3
jmp 0x10157f38
xorps xmm0, xmm0
addss xmm0, xmm2
movss xmm2, dword [esi + 0x10]
comiss xmm1, xmm2
jbe 0x10157f49
movaps xmm1, xmm3
addss xmm2, xmm1
comiss xmm0, xmm2
movaps xmm1, xmm2
subss xmm1, xmm0
andps xmm1, xmmword [0x10215be0]
ja 0x10157f6a
movaps xmm0, xmm3
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [esi + 0x24]
subss xmm3, xmm1
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
mulss xmm3, dword [0x1021519c]
addss xmm0, dword [0x1021550c]
movss dword [esp + 0x14], xmm3
mulss xmm0, dword [0x1021519c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm3
call fcn.101dd740
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0xc]
movss dword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x18]
call fcn.101dd740
movss xmm2, dword [esp + 0x10]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [esi + 0x28]
addss xmm2, xmm1
movss xmm1, dword [esp + 0x14]
cvtps2pd xmm0, xmm1
movss dword [esi + 0x24], xmm2
call fcn.101de9c0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0xc]
movss dword [esp + 0x14], xmm0
movsd xmm0, qword [esp + 0x18]
call fcn.101de9c0
movss xmm1, dword [esp + 0x14]
mov ecx, dword [0x10241d9c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esi + 0x28]
addss xmm1, xmm0
movss dword [esi + 0x28], xmm1
mov eax, dword [0x10242574]
mov edi, dword [eax]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1024c13c]
cmp eax, dword [ecx + 4]
jle 0x10158083
push 0x1024c13c
call fcn.101b6d6c
add esp, 4
cmp dword [0x1024c13c], 0xffffffff
jne 0x10158083
mov edx, 0xc60bf9f2
mov ecx, 0x10204f11
call fcn.1007d620
mov ecx, eax
call fcn.100ced60
push 0x1024c13c
mov dword [0x1024c118], eax
call fcn.101b6d1b
add esp, 4
mov eax, dword [0x1024c118]
cmp dword [eax + edi + 1], 9
je 0x101580aa
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3408]
test eax, eax
je 0x101580a3
cmp eax, 4
jne 0x101580aa
and dword [esi + 0x30], 0xfffff9e7
pop edi
pop esi
mov esp, ebp
pop ebp
ret