Function at 0x100a8b10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x40e8
call fcn.1019a0f0
mov eax, dword [0x102060c0]
xor eax, esp
mov dword [esp + 0x40e4], eax
mov eax, dword [0x10225524]
push esi
push edi
cmp dword [eax], 0
jne 0x100a8b58
mov ecx, 0x10333e38
call fcn.100acd70
pop edi
pop esi
mov ecx, dword [esp + 0x40e4]
xor ecx, esp
call fcn.10199294
mov esp, ebp
pop ebp
ret
cmp dword [0x10333e48], 0
je 0x100aa93e
mov ecx, dword [0x10333e40]
mov eax, dword [0x10333e3c]
dec ecx
and ecx, dword [0x10333e44]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3f00]
ucomiss xmm0, dword [0x101f7ab4]
lahf
test ah, 0x44
jnp 0x100aa93e
push ecx
lea ecx, [esp + 0x24]
call fcn.100a8a80
mov ecx, dword [0x10333e40]
mov eax, dword [0x10333e3c]
dec ecx
and ecx, dword [0x10333e44]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.10090ca0
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.1019958d
add esp, 8
add dword [0x10333e48], 0xffffffff
jne 0x100a8be1
mov dword [0x10333e44], 0
jmp 0x100a8be7
inc dword [0x10333e44]
mov eax, dword [0x10225524]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a8c79
mov eax, dword [0x10225524]
mov ecx, dword [0x10224d4c]
mov esi, dword [eax]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1034c3e0]
cmp eax, dword [ecx + 4]
jle 0x100a8c5d
push 0x1034c3e0
call fcn.10199827
add esp, 4
cmp dword [0x1034c3e0], 0xffffffff
jne 0x100a8c5d
mov edx, 0xc60bf9f2
mov ecx, 0x101e8f2d
call fcn.1007d520
mov ecx, eax
call fcn.100d0590
push 0x1034c3e0
mov dword [0x1034c3d8], eax
call fcn.101997d6
add esp, 4
mov eax, dword [0x1034c3d8]
movd xmm0, dword [esi + eax]
mov eax, dword [0x10223c9c]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
jmp 0x100a8c86
mov eax, dword [0x10223c9c]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [esp + 0x3f20]
andps xmm0, xmmword [0x101f80a0]
comiss xmm0, dword [0x101f76e0]
jbe 0x100a9195
cmp byte [esp + 0x3f1c], 0
je 0x100a8ef4
cmp byte [0x101e92b7], 0
movups xmm0, xmmword [0x101e92a0]
movups xmmword [esp + 0x3f30], xmm0
movq xmm0, qword [0x101e92b0]
movq qword [esp + 0x3f40], xmm0
je 0x100a8e6a
xor ecx, ecx
cmp dword [0x10224d40], 2
mov dword [esp + 0x14], ecx
jl 0x100a8e30
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
nop dword [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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f30], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f34], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a8d20
jmp 0x100a8e6a
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3f30], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x18
jl 0x100a8e30
xorps xmm0, xmm0
mov dword [esp + 0x3f60], 0
lea ecx, [esp + 0x3f30]
movaps xmmword [esp + 0x3f50], xmm0
mov dword [esp + 0x3f64], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8e95
sub ecx, edx
lea eax, [esp + 0x3f30]
push ecx
push eax
lea ecx, [esp + 0x3f58]
call fcn.100278e0
cmp dword [esp + 0x3f64], 0xf
lea edx, [esp + 0x3f50]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x3f50]
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 0x100a8ee8
jmp 0x100a913a
movups xmm0, xmmword [0x101e92b8]
mov eax, dword [0x101e92d8]
xor ecx, ecx
cmp dword [0x10224d40], 2
movups xmmword [esp + 0x3fb0], xmm0
mov dword [esp + 0x3fd0], eax
movups xmm0, xmmword [0x101e92c8]
mov dword [esp + 0x14], ecx
movups xmmword [esp + 0x3fc0], xmm0
jl 0x100a9074
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
nop dword [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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fb0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3fb0], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fb4]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3fb4], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x100a8f60
mov dword [esp + 0x14], ecx
cmp ecx, 0x24
jge 0x100a90ae
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3fb0], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x24
jl 0x100a9074
xorps xmm0, xmm0
mov dword [esp + 0x3f60], 0
lea ecx, [esp + 0x3fb0]
movaps xmmword [esp + 0x3f50], xmm0
mov dword [esp + 0x3f64], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a90e0
sub ecx, edx
lea eax, [esp + 0x3fb0]
push ecx
push eax
lea ecx, [esp + 0x3f58]
call fcn.100278e0
cmp dword [esp + 0x3f64], 0xf
lea edx, [esp + 0x3f50]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x3f50]
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 0x100a9133
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.100278e0
call fcn.100ce220
mov ecx, dword [esp + 0x3f64]
cmp ecx, 0xf
jbe 0x100a9186
mov edx, dword [esp + 0x3f50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a917c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, 0x10333e38
call fcn.100acd70
jmp 0x100aa91e
cmp byte [esp + 0x3ed4], 0
je 0x100aa91e
mov eax, dword [0x10223ca8]
push dword [esp + 0x3f24]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100aa91e
mov edx, dword [esp + 0x3f00]
test edx, edx
je 0x100aa91e
mov ecx, dword [0x10223ca8]
push edx
mov ecx, dword [ecx + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
mov ecx, eax
test ecx, ecx
je 0x100aa91e
cmp dword [ecx + 0xac], 0
jle 0x100aa91e
mov eax, dword [ecx + 0xb0]
add eax, ecx
mov dword [esp + 0x18], eax
je 0x100aa91e
movss xmm0, dword [esp + 0x3f10]
lea eax, [esp + 0x3f50]
subss xmm0, dword [esp + 0x3f04]
push eax
lea ecx, [esp + 0x3f34]
movss dword [esp + 0x3f34], xmm0
movss xmm0, dword [esp + 0x3f18]
subss xmm0, dword [esp + 0x3f0c]
movss dword [esp + 0x3f38], xmm0
movss xmm0, dword [esp + 0x3f1c]
subss xmm0, dword [esp + 0x3f10]
movss dword [esp + 0x3f3c], xmm0
call fcn.1008a1d0
xorps xmm1, xmm1
lea ecx, [esp + 0x3f30]
movss xmm0, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x3f30], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, xmm1
movss dword [esp + 0x3f34], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esp + 0x3f38], xmm0
call fcn.1008a2c0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x3f70], xmm0
movss xmm0, dword [esp + 0x3f70]
mulss xmm0, dword [0x101f75d4]
mov dword [esp + 0x3f78], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3f30], xmm0
call fcn.101c0210
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x3f74]
mulss xmm0, dword [0x101f75d4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3f70], xmm0
call fcn.101c0210
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3f70]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101f7a54]
addss xmm1, dword [esp + 0x3f10]
movss dword [esp + 0x3f50], xmm1
call fcn.101c1490
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3f30]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101f7a54]
addss xmm1, dword [esp + 0x3f14]
movss dword [esp + 0x3f54], xmm1
call fcn.101c1490
mov ecx, dword [esp + 0x3f28]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x101f80d0]
mulss xmm0, dword [0x101f7a54]
addss xmm0, dword [esp + 0x3f18]
movss dword [esp + 0x3f58], xmm0
cmp ecx, 0xffffffff
jg 0x100a93c0
lea edi, [esp + 0x34]
jmp 0x100a93df
cmp dword [esp + 0x30], ecx
jbe 0x100aa952
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0x2c]
dec eax
and ecx, eax
mov eax, dword [esp + 0x24]
mov edi, dword [eax + ecx*4]
add edi, 0x68
xor esi, esi
lea eax, [esp + 0x3f50]
mov edx, esi
push eax
lea eax, [esp + 0x3f08]
mov ecx, edi
push eax
push dword [esp + 0x20]
call fcn.1008b8d0
test al, al
jne 0x100a9614
inc esi
cmp esi, 0x13
jl 0x100a93e1
movups xmm0, xmmword [str._KJ__]
mov ax, word [0x101e9334]
mov word [esp + 0x3fc8], ax
movups xmmword [esp + 0x3fb0], xmm0
movq xmm0, qword [0x101e932c]
movq qword [esp + 0x3fc0], xmm0
test ah, ah
je 0x100a95ce
xor ecx, ecx
cmp dword [0x10224d40], 2
mov dword [esp + 0x14], ecx
jl 0x100a9594
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fb0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3fb0], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fb4]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3fb4], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a9480
mov dword [esp + 0x14], ecx
cmp ecx, 0x1a
jge 0x100a95ce
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3fb0], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x1a
jl 0x100a9594
sub esp, 0x18
lea ecx, [esp + 0x3fc8]
mov edx, esp
lea esi, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a95f1
sub ecx, esi
lea eax, [esp + 0x3fc8]
push ecx
push eax
mov ecx, edx
call fcn.100278e0
call fcn.100ce220
jmp 0x100aa91e
movups xmm0, xmmword [0x101e927c]
mov al, byte [0x101e928c]
xor ecx, ecx
mov esi, dword [0x10224d40]
mov byte [esp + 0x3f40], al
mov dword [esp + 0x14], ecx
movups xmmword [esp + 0x3f30], xmm0
cmp esi, 2
jl 0x100a9784
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f30], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a9670
mov dword [esp + 0x14], ecx
cmp ecx, 0x11
jge 0x100a97be
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3f30], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x11
jl 0x100a9784
xorps xmm0, xmm0
mov dword [esp + 0x3fa0], 0
lea ecx, [esp + 0x3f30]
movaps xmmword [esp + 0x3f90], xmm0
mov dword [esp + 0x3fa4], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a97f0
sub ecx, edx
lea eax, [esp + 0x3f30]
push ecx
push eax
lea ecx, [esp + 0x3f98]
call fcn.100278e0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4068]
push eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0x3f80], 0
lea ecx, [esp + 0x4068]
movaps xmmword [esp + 0x3f70], xmm0
mov dword [esp + 0x3f84], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9850
sub ecx, edx
lea eax, [esp + 0x4068]
push ecx
push eax
lea ecx, [esp + 0x3f78]
call fcn.100278e0
movups xmm0, xmmword [0x101e9290]
movups xmmword [esp + 0x3f30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a9a1a
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp esi, 2
jl 0x100a99e0
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f30], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a98d0
jmp 0x100a9a1a
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3f30], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x10
jl 0x100a99e0
xorps xmm0, xmm0
mov dword [esp + 0x3f60], 0
lea ecx, [esp + 0x3f30]
movaps xmmword [esp + 0x3f50], xmm0
mov dword [esp + 0x3f64], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9a45
sub ecx, edx
lea eax, [esp + 0x3f30]
push ecx
push eax
lea ecx, [esp + 0x3f58]
call fcn.100278e0
lea eax, [esp + 0x3f70]
push eax
lea eax, [esp + 0x3f54]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3fec]
call fcn.100298d0
lea eax, [esp + 0x3f90]
push eax
lea eax, [esp + 0x3fe4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x405c]
call fcn.100298d0
mov ecx, dword [esp + 0x3ff4]
cmp ecx, 0xf
jbe 0x100a9adf
mov edx, dword [esp + 0x3fe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9ad5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3f64]
cmp ecx, 0xf
jbe 0x100a9b1b
mov edx, dword [esp + 0x3f50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9b11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3f84]
cmp ecx, 0xf
jbe 0x100a9b57
mov edx, dword [esp + 0x3f70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9b4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3fa4]
cmp ecx, 0xf
jbe 0x100a9b93
mov edx, dword [esp + 0x3f90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9b89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov edx, dword [esp + 0x3f28]
lea ecx, [esp + 0x3fb0]
call fcn.10003de0
movups xmm0, xmmword [0x101e92f8]
mov cl, byte [0x101e9318]
mov edi, eax
mov byte [esp + 0x4000], cl
xor ecx, ecx
mov dword [esp + 0x14], ecx
movups xmmword [esp + 0x3fe0], xmm0
movups xmm0, xmmword [0x101e9308]
movups xmmword [esp + 0x3ff0], xmm0
cmp esi, 2
jl 0x100a9d24
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
nop dword [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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3fe0], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3fe4]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3fe4], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x100a9c10
mov dword [esp + 0x14], ecx
cmp ecx, 0x21
jge 0x100a9d5e
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3fe0], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x21
jl 0x100a9d24
xorps xmm0, xmm0
mov dword [esp + 0x4040], 0
lea ecx, [esp + 0x3fe0]
movaps xmmword [esp + 0x4030], xmm0
mov dword [esp + 0x4044], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9d90
sub ecx, edx
lea eax, [esp + 0x3fe0]
push ecx
push eax
lea ecx, [esp + 0x4038]
call fcn.100278e0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4068]
push eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0x4020], 0
lea ecx, [esp + 0x4068]
movaps xmmword [esp + 0x4010], xmm0
mov dword [esp + 0x4024], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9df0
sub ecx, edx
lea eax, [esp + 0x4068]
push ecx
push eax
lea ecx, [esp + 0x4018]
call fcn.100278e0
movups xmm0, xmmword [0x101e9290]
movups xmmword [esp + 0x3f30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a9fba
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp esi, 2
jl 0x100a9f80
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f30], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a9e70
jmp 0x100a9fba
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3f30], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x10
jl 0x100a9f80
xorps xmm0, xmm0
mov dword [esp + 0x3fa0], 0
lea ecx, [esp + 0x3f30]
movaps xmmword [esp + 0x3f90], xmm0
mov dword [esp + 0x3fa4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9fe5
sub ecx, edx
lea eax, [esp + 0x3f30]
push ecx
push eax
lea ecx, [esp + 0x3f98]
call fcn.100278e0
lea eax, [esp + 0x4010]
push eax
lea eax, [esp + 0x3f94]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3f3c]
call fcn.100298d0
lea eax, [esp + 0x4030]
push eax
lea eax, [esp + 0x3f34]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3f5c]
call fcn.100298d0
push edi
lea eax, [esp + 0x3f54]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3f7c]
call fcn.100298d0
mov edx, dword [esp + 0x3f84]
mov eax, edx
mov ecx, dword [esp + 0x3f80]
sub eax, ecx
cmp eax, 1
jb 0x100aa09e
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x3f80], eax
lea eax, [esp + 0x3f70]
cmova eax, dword [esp + 0x3f70]
mov word [eax + ecx], 0x5d
lea eax, [esp + 0x3f70]
jmp 0x100aa0b7
push 1
push 0x101e7d20
push dword [esp + 0x20]
lea ecx, [esp + 0x3f7c]
push 1
call fcn.100284f0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x3fe0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x3ff0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x3f84]
cmp ecx, 0xf
jbe 0x100aa11d
mov edx, dword [esp + 0x3f70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa113
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3f64]
mov dword [esp + 0x3f80], 0
mov dword [esp + 0x3f84], 0xf
mov byte [esp + 0x3f70], 0
cmp ecx, 0xf
jbe 0x100aa177
mov edx, dword [esp + 0x3f50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa16d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3f44]
cmp ecx, 0xf
jbe 0x100aa1b3
mov edx, dword [esp + 0x3f30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa1a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3fa4]
cmp ecx, 0xf
jbe 0x100aa1ef
mov edx, dword [esp + 0x3f90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa1e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x4024]
cmp ecx, 0xf
jbe 0x100aa22b
mov edx, dword [esp + 0x4010]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa221
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x4044]
cmp ecx, 0xf
jbe 0x100aa267
mov edx, dword [esp + 0x4030]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa25d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3fc4]
cmp ecx, 0xf
jbe 0x100aa2a3
mov edx, dword [esp + 0x3fb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa299
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa957
push ecx
push edx
call fcn.1019958d
add esp, 8
mov eax, dword [str.TV451D]
xor ecx, ecx
movq xmm0, qword [0x101e92dc]
mov dword [esp + 0x3f58], eax
mov ax, word [0x101e92e8]
mov word [esp + 0x3f5c], ax
mov al, byte [0x101e92ea]
movq qword [esp + 0x3f50], xmm0
mov byte [esp + 0x3f5e], al
mov dword [esp + 0x14], ecx
cmp esi, 2
jl 0x100aa3f5
movaps xmm2, xmmword [0x101f7c30]
mov ecx, 8
movaps xmm4, xmmword [0x101f80f0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x101f7dd0]
psrad xmm1, 5
mov dword [esp + 0x14], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7ce0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101e92dc]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3f50], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7ce0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3f54]
xorps xmm1, xmm0
movd dword [esp + 0x3f54], xmm1
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x14]
add al, 0x36
xor byte [esp + ecx + 0x3f50], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xf
jl 0x100aa3f5
xorps xmm0, xmm0
mov dword [esp + 0x3fa0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3f90], xmm0
mov dword [esp + 0x3fa4], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa460
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3f98]
call fcn.100278e0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4068]
push eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0x4020], 0
lea ecx, [esp + 0x4068]
movaps xmmword [esp + 0x4010], xmm0
mov dword [esp + 0x4024], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa4c0
sub ecx, edx
lea eax, [esp + 0x4068]
push ecx
push eax
lea ecx, [esp + 0x4018]
call fcn.100278e0
movups xmm0, xmmword [0x101e9290]
movups xmmword [esp + 0x3f30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aa68a
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp esi, 2
jl 0x100aa650
movaps xmm0, xmmword [0x101f7dd0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f80f0]
movaps xmm5, xmmword [0x101f7ce0]
movaps xmmword [esp + 0x3f50], xmm0
mov edx, dword [esp + 0x3f50]
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f30], 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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100aa540
jmp 0x100aa68a
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x1c]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x1c]
add al, 0x36
xor byte [esp + ecx + 0x3f30], al
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x10
jl 0x100aa650
xorps xmm0, xmm0
mov dword [esp + 0x4040], 0
lea ecx, [esp + 0x3f30]
movaps xmmword [esp + 0x4030], xmm0
mov dword [esp + 0x4044], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa6b5
sub ecx, edx
lea eax, [esp + 0x3f30]
push ecx
push eax
lea ecx, [esp + 0x4038]
call fcn.100278e0
lea eax, [esp + 0x4010]
push eax
lea eax, [esp + 0x4034]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3f5c]
call fcn.100298d0
lea eax, [esp + 0x3f90]
push eax
lea eax, [esp + 0x3f54]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3f3c]
call fcn.100298d0
mov ecx, dword [esp + 0x3f64]
cmp ecx, 0xf
jbe 0x100aa74f
mov edx, dword [esp + 0x3f50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa745
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x4044]
cmp ecx, 0xf
jbe 0x100aa78b
mov edx, dword [esp + 0x4030]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa781
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x4024]
cmp ecx, 0xf
jbe 0x100aa7c7
mov edx, dword [esp + 0x4010]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa7bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3fa4]
cmp ecx, 0xf
jbe 0x100aa803
mov edx, dword [esp + 0x3f90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa7f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
cmp dword [esp + 0x3f28], 1
jne 0x100aa824
mov eax, dword [0x10223ca0]
cmp byte [eax + 0xef8], 0
je 0x100aa83b
lea eax, [esp + 0x3f30]
jmp 0x100aa842
jle 0x100aa83b
mov eax, dword [0x10223ca0]
cmp byte [eax + 0xef8], 0
lea eax, [esp + 0x3fe0]
jne 0x100aa842
lea eax, [esp + 0x4050]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10020b00
call fcn.100ce220
mov eax, dword [esp + 0x3f24]
cmp eax, 0x41
jae 0x100aa95c
mov ecx, dword [esp + 0x3f44]
imul eax, eax, 0x3ee0
inc dword [eax + 0x1022cbb0]
cmp ecx, 0xf
jbe 0x100aa8aa
mov edx, dword [esp + 0x3f30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa8a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x3ff4]
cmp ecx, 0xf
jbe 0x100aa8e6
mov edx, dword [esp + 0x3fe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa8dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x4064]
cmp ecx, 0xf
jbe 0x100aa91e
mov edx, dword [esp + 0x4050]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa914
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa961
push ecx
push edx
call fcn.1019958d
add esp, 8
lea ecx, [esp + 0x20]
call fcn.10090ca0
mov eax, dword [esp + 0x20]
push 8
push eax
mov dword [esp + 0x28], 0
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x40ec]
pop edi
pop esi
xor ecx, esp
call fcn.10199294
mov esp, ebp
pop ebp
ret
call fcn.10094ee0
call fcn.1019e6c6
call fcn.10090c90
call fcn.1019e6c6
int3