Function at 0x100eaa70
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102cbf1d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x88
mov eax, dword [0x1066bbc0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movups xmm0, xmmword [0x1065054c]
mov eax, dword [0x10650574]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x3c], eax
movups xmm0, xmmword [0x1065055c]
mov al, byte [0x10650578]
mov byte [ebp - 0x38], al
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x18], edx
movq xmm0, qword [0x1065056c]
movq qword [ebp - 0x44], xmm0
jl 0x100eac30
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x60]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x64], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x28
jl 0x100eab22
mov dword [ebp - 0x18], edx
cmp edx, 0x2d
jge 0x100eac61
nop word [eax + eax]
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x64], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x2d
jl 0x100eac30
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eac80
sub ecx, edx
lea eax, [ebp - 0x64]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eacc6
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ead1b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ead11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [str.DPAX_Z_]
mov eax, dword [0x106511e0]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x40], eax
movups xmm0, xmmword [0x106511c8]
mov ax, word [0x106511e4]
mov word [ebp - 0x3c], ax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x18], edx
movq xmm0, qword [0x106511d8]
movq qword [ebp - 0x48], xmm0
jl 0x100eae95
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x64]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x68]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x68], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x28
jl 0x100ead90
mov dword [ebp - 0x18], edx
cmp edx, 0x2e
jge 0x100eaec6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x68], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x2e
jl 0x100eae95
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eaee1
sub ecx, edx
lea eax, [ebp - 0x68]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 1
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eaf27
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100eaf7c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100eaf72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x1065036c]
mov ax, word [0x1065038c]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x1065037c]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x4c], xmm0
jl 0x100eb0e5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x58]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x5c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x5c], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100eafe0
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jge 0x100eb116
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5c], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jl 0x100eb0e5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb131
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 2
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb177
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100eb1cc
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100eb1c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
mov ecx, 0xf
lea edi, [ebp - 0x78]
mov esi, 0x10650c20
xor edx, edx
cmp dword [0x106d5adc], 2
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jl 0x100eb325
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100eb220
mov dword [ebp - 0x18], edx
cmp edx, 0x3f
jge 0x100eb356
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3f
jl 0x100eb325
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb371
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 3
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb3b7
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100eb40c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100eb402
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106507d8]
xor edx, edx
cmp dword [0x106d5adc], 2
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x78], xmm0
movups xmm0, xmmword [0x106507e8]
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [0x106507f8]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [0x10650808]
movups xmmword [ebp - 0x48], xmm0
jl 0x100eb580
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
xor ecx, ecx
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov edx, dword [ebp - 0x90]
nop dword [eax + eax]
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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x40
jl 0x100eb480
jmp 0x100eb5b1
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x40
jl 0x100eb580
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb5d0
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 4
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb616
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100eb66b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100eb661
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106506e0]
mov al, byte [0x10650720]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x78], xmm0
mov byte [ebp - 0x38], al
movups xmm0, xmmword [0x106506f0]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [0x10650700]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [0x10650710]
movups xmmword [ebp - 0x48], xmm0
jl 0x100eb7e5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x40
jl 0x100eb6e0
mov dword [ebp - 0x18], edx
cmp edx, 0x41
jge 0x100eb816
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x41
jl 0x100eb7e5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb831
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 5
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100eb877
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100eb8cc
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100eb8c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x10650ff0]
mov ax, word [0x10651028]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x74], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x10651000]
mov al, byte [0x1065102a]
mov byte [ebp - 0x3a], al
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x18], edx
movups xmm0, xmmword [0x10651010]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [0x10651020]
movq qword [ebp - 0x44], xmm0
jl 0x100eba55
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x70]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100eb950
mov dword [ebp - 0x18], edx
cmp edx, 0x3b
jge 0x100eba86
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3b
jl 0x100eba55
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebaa1
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 6
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebae7
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ebb3c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ebb32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106504a0]
mov eax, dword [0x106504d8]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x3c], eax
movups xmm0, xmmword [0x106504b0]
mov al, byte [0x106504dc]
mov byte [ebp - 0x38], al
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x18], edx
movups xmm0, xmmword [0x106504c0]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [0x106504d0]
movq qword [ebp - 0x44], xmm0
jl 0x100ebcc5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x70]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100ebbc0
mov dword [ebp - 0x18], edx
cmp edx, 0x3d
jge 0x100ebcf6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3d
jl 0x100ebcc5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebd11
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 7
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebd57
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ebdac
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ebda2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x10650f84]
mov eax, dword [0x10650fbc]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x3c], eax
movups xmm0, xmmword [0x10650f94]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x64], xmm0
movups xmm0, xmmword [0x10650fa4]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [0x10650fb4]
movq qword [ebp - 0x44], xmm0
jl 0x100ebf25
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x70]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esi + edx]
xorps xmm1, xmm0
movd dword [esi + edx], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100ebe20
mov dword [ebp - 0x18], edx
cmp edx, 0x3c
jge 0x100ebf56
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3c
jl 0x100ebf25
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebf71
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 8
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ebfb7
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ec00c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ec002
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106509ac]
mov ax, word [0x106509e4]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x74], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x106509bc]
mov al, byte [0x106509e6]
mov byte [ebp - 0x3a], al
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x18], edx
movups xmm0, xmmword [0x106509cc]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [0x106509dc]
movq qword [ebp - 0x44], xmm0
jl 0x100ec195
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x70]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esi + edx]
xorps xmm1, xmm0
movd dword [esi + edx], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100ec090
mov dword [ebp - 0x18], edx
cmp edx, 0x3b
jge 0x100ec1c6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3b
jl 0x100ec195
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec1e1
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 9
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec227
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov edx, dword [ebp - 0x1c]
cmp edx, 0xf
jbe 0x100ec27c
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ec272
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push edx
push ecx
call fcn.102c1b57
add esp, 8
mov ecx, 0xf
lea edi, [ebp - 0x78]
mov esi, 0x10650c20
xor edx, edx
cmp dword [0x106d5adc], 2
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jl 0x100ec3d5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esi + edx]
xorps xmm1, xmm0
movd dword [esi + edx], xmm1
add edx, 8
cmp edx, 0x38
jl 0x100ec2d0
mov dword [ebp - 0x18], edx
cmp edx, 0x3f
jge 0x100ec406
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3f
jl 0x100ec3d5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec421
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xa
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec467
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ec4bc
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ec4b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106507d8]
xor edx, edx
cmp dword [0x106d5adc], 2
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x78], xmm0
movups xmm0, xmmword [0x106507e8]
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [0x106507f8]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [0x10650808]
movups xmmword [ebp - 0x48], xmm0
jl 0x100ec630
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
xor ecx, ecx
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov edx, dword [ebp - 0x90]
nop dword [eax + eax]
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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x40
jl 0x100ec530
jmp 0x100ec661
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x40
jl 0x100ec630
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec680
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xb
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec6c6
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ec71b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ec711
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106506e0]
mov al, byte [0x10650720]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x78], xmm0
mov byte [ebp - 0x38], al
movups xmm0, xmmword [0x106506f0]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [0x10650700]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [0x10650710]
movups xmmword [ebp - 0x48], xmm0
jl 0x100ec895
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x74]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x78]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x78], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x40
jl 0x100ec790
mov dword [ebp - 0x18], edx
cmp edx, 0x41
jge 0x100ec8c6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x78], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x41
jl 0x100ec895
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec8e1
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xc
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ec927
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ec97c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ec972
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x1065036c]
mov ax, word [0x1065038c]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x1065037c]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x4c], xmm0
jl 0x100ecae5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x58]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x5c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x5c], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100ec9e0
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jge 0x100ecb16
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5c], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jl 0x100ecae5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ecb31
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xd
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ecb77
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ecbcc
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ecbc2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x106509e8]
mov ax, word [0x10650a08]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x106509f8]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x4c], xmm0
jl 0x100ecd35
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x58]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x5c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x5c], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100ecc30
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jge 0x100ecd66
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5c], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jl 0x100ecd35
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ecd81
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xe
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ecdc7
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ece1c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ece12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x1065050c]
mov ax, word [0x1065052c]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x1065051c]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x4c], xmm0
jl 0x100ecf85
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x58]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x5c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x5c], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100ece80
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jge 0x100ecfb6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5c], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jl 0x100ecf85
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ecfd1
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0xf
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed017
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ed06c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ed062
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
movups xmm0, xmmword [0x10650e78]
mov ax, word [0x10650e98]
xor edx, edx
cmp dword [0x106d5adc], 2
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movups xmm0, xmmword [0x10650e88]
mov dword [ebp - 0x18], edx
movups xmmword [ebp - 0x4c], xmm0
jl 0x100ed1d5
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x58]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x5c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x5c], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100ed0d0
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jge 0x100ed206
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5c], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22
jl 0x100ed1d5
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed221
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0x10
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed267
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ed2bc
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ed2b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
cmp byte [0x10650d0b], 0
movups xmm0, xmmword [0x10650cf0]
mov eax, dword [0x10650d08]
mov dword [ebp - 0x3c], eax
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [0x10650d00]
movq qword [ebp - 0x44], xmm0
je 0x100ed466
xor edx, edx
cmp dword [0x106d5adc], 2
mov dword [ebp - 0x18], edx
jl 0x100ed435
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x50]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x54]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x54], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100ed330
mov dword [ebp - 0x18], edx
cmp edx, 0x1c
jge 0x100ed466
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x54], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x1c
jl 0x100ed435
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed481
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10053700
mov dword [ebp - 4], 0x11
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed4c7
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100ed51c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ed512
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ed757
push ecx
push edx
call fcn.102c1b57
add esp, 8
mov eax, dword [0x10650b10]
movups xmm0, xmmword [0x10650b00]
mov dword [ebp - 0x20], eax
mov ax, word [0x10650b14]
mov word [ebp - 0x1c], ax
movups xmmword [ebp - 0x30], xmm0
test ah, ah
je 0x100ed6b6
xor edx, edx
cmp dword [0x106d5adc], 2
mov dword [ebp - 0x18], edx
jl 0x100ed685
movaps xmm0, xmmword [0x10654620]
lea esi, [ebp - 0x2c]
movaps xmm4, xmmword [0x106544f0]
movaps xmm3, xmmword [0x10654a40]
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x90], xmm0
mov ecx, dword [ebp - 0x90]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x30], 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 [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100ed580
mov dword [ebp - 0x18], edx
cmp edx, 0x16
jge 0x100ed6b6
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [ebp - 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x30], cl
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x16
jl 0x100ed685
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed6d1
sub ecx, edx
lea eax, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.10053700
mov dword [ebp - 4], 0x12
lea edx, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0xf
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x50]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ed717
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10053700
call fcn.100d6f80
mov ecx, dword [ebp - 0x3c]
add esp, 0x18
cmp ecx, 0xf
jbe 0x100ed767
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ed75d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ed75d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.102c1b57
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102c15f2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret