Function at 0x100a8a70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x4158
call fcn.101b6d00
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x4154], eax
mov eax, dword [0x10242574]
push esi
push edi
cmp dword [eax], 0
jne 0x100a8ab8
mov ecx, 0x1035ac60
call fcn.100ab780
pop edi
pop esi
mov ecx, dword [esp + 0x4154]
xor ecx, esp
call fcn.101b5eaa
mov esp, ebp
pop ebp
ret
cmp dword [0x1035ac70], 0
je 0x100aaecb
mov ecx, dword [0x1035ac68]
mov eax, dword [0x1035ac64]
dec ecx
and ecx, dword [0x1035ac6c]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3f10]
ucomiss xmm0, dword [0x10215934]
lahf
test ah, 0x44
jnp 0x100aaecb
push ecx
lea ecx, [esp + 0x24]
call fcn.100aaef0
call fcn.100ab710
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a8b71
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10241d9c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x104690f0]
cmp eax, dword [ecx + 4]
jle 0x100a8b71
push 0x104690f0
call fcn.101b643d
add esp, 4
cmp dword [0x104690f0], 0xffffffff
jne 0x100a8b71
mov edx, 0xc60bf9f2
mov ecx, 0x10205fa9
call fcn.1007d6d0
mov ecx, eax
call fcn.100ce730
push 0x104690f0
mov dword [0x104690e8], eax
call fcn.101b63ec
add esp, 4
cmp byte [esp + 0x3ee4], 0
je 0x100aae96
mov eax, dword [0x10240c88]
push dword [esp + 0x3f34]
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 0x100aae96
mov edx, dword [esp + 0x3f10]
test edx, edx
je 0x100aae96
mov ecx, dword [0x10240c88]
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 0x100aae96
cmp dword [ecx + 0xac], 0
jle 0x100aae96
mov eax, dword [ecx + 0xb0]
add eax, ecx
mov dword [esp + 0x18], eax
je 0x100aae96
movss xmm0, dword [esp + 0x3f20]
lea eax, [esp + 0x3f40]
subss xmm0, dword [esp + 0x3f14]
push eax
lea ecx, [esp + 0x3f54]
movss dword [esp + 0x3f54], xmm0
movss xmm0, dword [esp + 0x3f28]
subss xmm0, dword [esp + 0x3f1c]
movss dword [esp + 0x3f58], xmm0
movss xmm0, dword [esp + 0x3f2c]
subss xmm0, dword [esp + 0x3f20]
movss dword [esp + 0x3f5c], xmm0
call fcn.10089e90
xorps xmm1, xmm1
lea ecx, [esp + 0x3f50]
movss xmm0, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x3f50], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, xmm1
movss dword [esp + 0x3f54], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esp + 0x3f58], xmm0
call fcn.10089f80
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x4000], xmm0
movss xmm0, dword [esp + 0x4000]
mulss xmm0, dword [0x10215474]
mov dword [esp + 0x4008], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3f50], xmm0
call fcn.101dce10
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x4004]
mulss xmm0, dword [0x10215474]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x4000], xmm0
call fcn.101dce10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x4000]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x102158d4]
addss xmm1, dword [esp + 0x3f20]
movss dword [esp + 0x3f40], xmm1
call fcn.101de090
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3f50]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x102158d4]
addss xmm1, dword [esp + 0x3f24]
movss dword [esp + 0x3f44], xmm1
call fcn.101de090
mov ecx, dword [esp + 0x3f38]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x10215f50]
mulss xmm0, dword [0x102158d4]
addss xmm0, dword [esp + 0x3f28]
movss dword [esp + 0x3f48], xmm0
cmp ecx, 0xffffffff
jg 0x100a8d9f
lea edi, [esp + 0x8bc]
jmp 0x100a8dd5
cmp dword [esp + 0x8b8], ecx
jbe 0x100aaedf
mov edx, dword [esp + 0x8b4]
mov eax, dword [esp + 0x8a8]
add edx, ecx
test eax, eax
je 0x100a8dc4
mov eax, dword [eax]
jmp 0x100a8dc6
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov edi, dword [eax + ecx*4]
add edi, 0x68
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x430]
call eax
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
mov edx, dword [edx + 0x714]
call edx
mov eax, dword [esi]
fstp st(0)
mov ecx, esi
mov eax, dword [eax + 0x78c]
call eax
mov eax, dword [0x10240c7c]
sub esp, 8
fstp st(0)
mov eax, dword [eax + 0x144]
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call eax
mov eax, dword [0x10240c7c]
fstp st(0)
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
mov eax, dword [eax + 0x144]
call eax
add esp, 8
fstp st(0)
xor esi, esi
nop dword [eax + eax]
lea eax, [esp + 0x3f40]
mov edx, esi
push eax
lea eax, [esp + 0x3f18]
mov ecx, edi
push eax
push dword [esp + 0x20]
call fcn.1008b590
test al, al
jne 0x100a9093
inc esi
cmp esi, 0x13
jl 0x100a8e50
movups xmm0, xmmword [str.__GPR]
mov ax, word [0x102063ac]
mov word [esp + 0x3ff8], ax
movups xmmword [esp + 0x3fe0], xmm0
movq xmm0, qword [0x102063a4]
movq qword [esp + 0x3ff0], xmm0
test ah, ah
je 0x100a9047
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x1c], edx
jl 0x100a9010
movaps xmm0, xmmword [0x10215c30]
lea esi, [esp + 0x3fe4]
movaps xmm4, xmmword [0x10215ab0]
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov ecx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 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 [0x10215c00]
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 0x100a8f00
mov dword [esp + 0x1c], edx
cmp edx, 0x1a
jge 0x100a9047
nop dword [eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x1c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3fe0], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x1a
jl 0x100a9010
sub esp, 0x18
lea ecx, [esp + 0x3ff8]
mov edx, esp
lea esi, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9070
sub ecx, esi
lea eax, [esp + 0x3ff8]
push ecx
push eax
mov ecx, edx
call fcn.10027e30
call fcn.100cc3e0
jmp 0x100aae96
movups xmm0, xmmword [0x10206380]
mov al, byte [0x10206390]
xor edx, edx
mov esi, dword [0x10241d90]
mov byte [esp + 0x3f60], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3f50], xmm0
cmp esi, 2
jl 0x100a9210
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov ecx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + edi]
xorps xmm1, xmm0
movd dword [edx + edi], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100a9100
mov dword [esp + 0x14], edx
cmp edx, 0x11
jge 0x100a9247
nop dword [eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x11
jl 0x100a9210
xorps xmm0, xmm0
mov dword [esp + 0x3fb0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fb4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9272
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fa8]
call fcn.10027e30
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40d8]
push eax
call fcn.101a9be0
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x40d8]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a92d0
sub ecx, edx
lea eax, [esp + 0x40d8]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027e30
movups xmm0, xmmword [0x10206370]
movups xmmword [esp + 0x3f50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a9497
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a9460
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
xor ecx, ecx
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov edx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a9351
jmp 0x100a9497
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a9460
xorps xmm0, xmm0
mov dword [esp + 0x4010], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x4000], xmm0
mov dword [esp + 0x4014], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a94c2
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x4008]
call fcn.10027e30
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x4004]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x3fcc]
call fcn.10029e20
lea eax, [esp + 0x3fa0]
push eax
lea eax, [esp + 0x3fc4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x40cc]
call fcn.10029e20
mov ecx, dword [esp + 0x3fd4]
cmp ecx, 0xf
jbe 0x100a955c
mov edx, dword [esp + 0x3fc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9552
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x4014]
cmp ecx, 0xf
jbe 0x100a9598
mov edx, dword [esp + 0x4000]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a958e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100a95d4
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a95ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100a9610
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9606
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov edx, dword [esp + 0x3f38]
lea ecx, [esp + 0x3fe0]
call fcn.10003e40
movups xmm0, xmmword [0x102063e0]
mov cl, byte [0x10206400]
xor edx, edx
mov byte [esp + 0x3f70], cl
mov edi, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3f50], xmm0
movups xmm0, xmmword [0x102063f0]
movups xmmword [esp + 0x3f60], xmm0
cmp esi, 2
jl 0x100a97b0
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov ecx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + edi]
xorps xmm1, xmm0
movd dword [edx + edi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a96a0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], edx
cmp edx, 0x21
jge 0x100a97e7
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x21
jl 0x100a97b0
xorps xmm0, xmm0
mov dword [esp + 0x3fd0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fc0], xmm0
mov dword [esp + 0x3fd4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9812
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fc8]
call fcn.10027e30
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40d8]
push eax
call fcn.101a9be0
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x40d8]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9870
sub ecx, edx
lea eax, [esp + 0x40d8]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027e30
movups xmm0, xmmword [0x10206370]
movups xmmword [esp + 0x3f50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a9a37
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a9a00
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
xor ecx, ecx
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov edx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a98f1
mov edi, dword [esp + 0x18]
jmp 0x100a9a37
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a9a00
xorps xmm0, xmm0
mov dword [esp + 0x3fb0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fb4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9a62
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fa8]
call fcn.10027e30
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x3fa4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4034]
call fcn.10029e20
lea eax, [esp + 0x3fc0]
push eax
lea eax, [esp + 0x402c]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x404c]
call fcn.10029e20
push edi
lea eax, [esp + 0x4044]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x400c]
call fcn.10029e20
cmp dword [esp + 0x4014], 0xf
lea ecx, [esp + 0x4000]
mov eax, dword [esp + 0x4010]
cmova ecx, dword [esp + 0x4000]
mov byte [eax + ecx], 0
movaps xmm0, xmmword [esp + 0x4000]
mov ecx, dword [esp + 0x4054]
movaps xmmword [esp + 0x40a0], xmm0
movq xmm0, qword [esp + 0x4010]
movq qword [esp + 0x40b0], xmm0
mov dword [esp + 0x4010], 0
mov dword [esp + 0x4014], 0xf
mov byte [esp + 0x4000], 0
cmp ecx, 0xf
jbe 0x100a9b77
mov edx, dword [esp + 0x4040]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9b6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x403c]
cmp ecx, 0xf
jbe 0x100a9bb3
mov edx, dword [esp + 0x4028]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9ba9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100a9bef
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9be5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100a9c2b
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9c21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fd4]
cmp ecx, 0xf
jbe 0x100a9c67
mov edx, dword [esp + 0x3fc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9c5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3ff4]
cmp ecx, 0xf
jbe 0x100a9ca3
mov edx, dword [esp + 0x3fe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9c99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee4
push ecx
push edx
call fcn.101b61a3
add esp, 8
movups xmm0, xmmword [0x102063b0]
mov al, byte [0x102063c8]
xor edx, edx
mov byte [esp + 0x3ff8], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3fe0], xmm0
movq xmm0, qword [0x102063c0]
movq qword [esp + 0x3ff0], xmm0
cmp esi, 2
jl 0x100a9e20
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3fe4]
movaps xmm4, xmmword [0x10215ab0]
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov ecx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edi + edx]
xorps xmm1, xmm0
movd dword [edi + edx], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a9d10
mov dword [esp + 0x14], edx
cmp edx, 0x19
jge 0x100a9e57
nop dword [eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3fe0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x19
jl 0x100a9e20
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3fe0]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9e82
sub ecx, edx
lea eax, [esp + 0x3fe0]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027e30
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x40d8]
push eax
mov ecx, edi
call fcn.101a9be0
xorps xmm0, xmm0
mov dword [esp + 0x3fb0], 0
lea ecx, [esp + 0x40d8]
movaps xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fb4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9ee0
sub ecx, edx
lea eax, [esp + 0x40d8]
push ecx
push eax
lea ecx, [esp + 0x3fa8]
call fcn.10027e30
movups xmm0, xmmword [0x10206370]
movups xmmword [esp + 0x3f50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aa0a7
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100aa070
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
xor ecx, ecx
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov edx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a9f61
mov edi, dword [esp + 0x1c]
jmp 0x100aa0a7
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100aa070
xorps xmm0, xmm0
mov dword [esp + 0x3fd0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fc0], xmm0
mov dword [esp + 0x3fd4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa0d2
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fc8]
call fcn.10027e30
lea eax, [esp + 0x3fa0]
push eax
lea eax, [esp + 0x3fc4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4034]
call fcn.10029e20
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x402c]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4094]
call fcn.10029e20
mov ecx, dword [esp + 0x403c]
cmp ecx, 0xf
jbe 0x100aa16c
mov edx, dword [esp + 0x4028]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa162
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fd4]
cmp ecx, 0xf
jbe 0x100aa1a8
mov edx, dword [esp + 0x3fc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa19e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100aa1e4
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa1da
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100aa220
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa216
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov eax, dword [str.SSOHXL_]
xor edx, edx
movq xmm0, qword [0x1020642c]
mov dword [esp + 0x3f48], eax
mov ax, word [0x10206438]
mov word [esp + 0x3f4c], ax
mov al, byte [0x1020643a]
movq qword [esp + 0x3f40], xmm0
mov byte [esp + 0x3f4e], al
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100aa372
movaps xmm2, xmmword [0x10215ab0]
mov edx, 8
movaps xmm4, xmmword [0x10215f70]
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 [0x10215c30]
psrad xmm1, 5
mov dword [esp + 0x14], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b70]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1020642c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3f40], 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 [0x10215b70]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + 0x3f44], xmm1
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0xf
jl 0x100aa372
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa3d4
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027e30
lea eax, [esp + 0x40d8]
mov ecx, edi
push eax
call fcn.101a9be0
xorps xmm0, xmm0
mov dword [esp + 0x3fb0], 0
lea ecx, [esp + 0x40d8]
movaps xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fb4], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa430
sub ecx, edx
lea eax, [esp + 0x40d8]
push ecx
push eax
lea ecx, [esp + 0x3fa8]
call fcn.10027e30
movups xmm0, xmmword [0x10206370]
movups xmmword [esp + 0x3f50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aa5f7
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100aa5c0
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
xor ecx, ecx
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov edx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f50], 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100aa4b1
mov edi, dword [esp + 0x1c]
jmp 0x100aa5f7
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100aa5c0
xorps xmm0, xmm0
mov dword [esp + 0x3fd0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fc0], xmm0
mov dword [esp + 0x3fd4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa622
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fc8]
call fcn.10027e30
lea eax, [esp + 0x3fa0]
push eax
lea eax, [esp + 0x3fc4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4034]
call fcn.10029e20
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x402c]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x407c]
call fcn.10029e20
mov ecx, dword [esp + 0x403c]
cmp ecx, 0xf
jbe 0x100aa6bc
mov edx, dword [esp + 0x4028]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa6b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fd4]
cmp ecx, 0xf
jbe 0x100aa6f8
mov edx, dword [esp + 0x3fc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa6ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100aa734
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa72a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100aa770
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa766
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
movups xmm0, xmmword [0x10206410]
mov ax, word [0x10206428]
xor edx, edx
mov word [esp + 0x3ff8], ax
mov al, byte [0x1020642a]
mov byte [esp + 0x3ffa], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3fe0], xmm0
movq xmm0, qword [0x10206420]
movq qword [esp + 0x3ff0], xmm0
cmp esi, 2
jl 0x100aa900
movaps xmm0, xmmword [0x10215c30]
lea edi, [esp + 0x3fe4]
movaps xmm4, xmmword [0x10215ab0]
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov ecx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + edi]
xorps xmm1, xmm0
movd dword [edx + edi], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100aa7f0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
cmp edx, 0x1b
jge 0x100aa937
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3fe0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x1b
jl 0x100aa900
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3fe0]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa962
sub ecx, edx
lea eax, [esp + 0x3fe0]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027e30
lea eax, [esp + 0x40d8]
mov ecx, edi
push eax
call fcn.101a9be0
xorps xmm0, xmm0
mov dword [esp + 0x3fb0], 0
lea ecx, [esp + 0x40d8]
movaps xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fb4], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa9c0
sub ecx, edx
lea eax, [esp + 0x40d8]
push ecx
push eax
lea ecx, [esp + 0x3fa8]
call fcn.10027e30
movups xmm0, xmmword [0x10206370]
movups xmmword [esp + 0x3f50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aab87
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100aab50
movaps xmm0, xmmword [0x10215c30]
lea esi, [esp + 0x3f54]
movaps xmm4, xmmword [0x10215ab0]
xor ecx, ecx
movaps xmm3, xmmword [0x10215f70]
movaps xmm5, xmmword [0x10215b70]
movaps xmmword [esp + 0x3f40], xmm0
mov edx, dword [esp + 0x3f40]
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f50], 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 [0x10215c00]
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, 0x10
jl 0x100aaa41
jmp 0x100aab87
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0x3f50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100aab50
xorps xmm0, xmm0
mov dword [esp + 0x3fd0], 0
lea ecx, [esp + 0x3f50]
movaps xmmword [esp + 0x3fc0], xmm0
mov dword [esp + 0x3fd4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aabb2
sub ecx, edx
lea eax, [esp + 0x3f50]
push ecx
push eax
lea ecx, [esp + 0x3fc8]
call fcn.10027e30
lea eax, [esp + 0x3fa0]
push eax
lea eax, [esp + 0x3fc4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4034]
call fcn.10029e20
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x402c]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x4064]
call fcn.10029e20
mov ecx, dword [esp + 0x403c]
cmp ecx, 0xf
jbe 0x100aac4c
mov edx, dword [esp + 0x4028]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aac42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fd4]
cmp ecx, 0xf
jbe 0x100aac88
mov edx, dword [esp + 0x3fc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aac7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100aacc4
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aacba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100aad00
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aacf6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov eax, dword [esp + 0x3f38]
test eax, eax
jne 0x100aad22
mov eax, dword [0x10240c80]
cmp byte [eax + 0xf30], 0
je 0x100aad3b
lea eax, [esp + 0x4070]
jmp 0x100aad5e
jns 0x100aad3b
mov eax, dword [0x10240c80]
cmp byte [eax + 0xf30], 0
je 0x100aad3b
lea eax, [esp + 0x4088]
jmp 0x100aad5e
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
cmp al, 1
lea eax, [esp + 0x4058]
ja 0x100aad5e
lea eax, [esp + 0x40c0]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10020fa0
call fcn.100cc3e0
mov ecx, dword [esp + 0x406c]
cmp ecx, 0xf
jbe 0x100aadaa
mov edx, dword [esp + 0x4058]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aada0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x4084]
cmp ecx, 0xf
jbe 0x100aade6
mov edx, dword [esp + 0x4070]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaddc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x409c]
cmp ecx, 0xf
jbe 0x100aae22
mov edx, dword [esp + 0x4088]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aae18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x40b4]
cmp ecx, 0xf
jbe 0x100aae5e
mov edx, dword [esp + 0x40a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aae54
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x40d4]
cmp ecx, 0xf
jbe 0x100aae96
mov edx, dword [esp + 0x40c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aae8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aaee9
push ecx
push edx
call fcn.101b61a3
add esp, 8
lea ecx, [esp + 0x3e6c]
call fcn.1002c4e0
lea ecx, [esp + 0x8a8]
call fcn.10090a80
mov eax, dword [esp + 0x8a8]
push 8
push eax
mov dword [esp + 0x8b0], 0
call fcn.101b61a3
add esp, 8
mov ecx, dword [esp + 0x415c]
pop edi
pop esi
xor ecx, esp
call fcn.101b5eaa
mov esp, ebp
pop ebp
ret
call fcn.10094bc0
call fcn.101bb2d6
call fcn.101bb2d6
int3