Function at 0x1014cef3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x2228
call fcn.101b7630
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x2224], eax
mov ecx, dword [0x10240c80]
push esi
push edi
cmp byte [ecx + 0x36a0], 0
je 0x1014e643
movss xmm0, dword [ecx + 0x36a4]
xorps xmm1, xmm1
mov edx, dword [0x10469550]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10143a9e
movss xmm0, dword [ecx + 0x36a8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10143af0
or dword [edx + 0x1c74], 1
mov eax, dword [ecx + 0x36a4]
mov ecx, dword [ecx + 0x36a8]
mov dword [edx + 0x1c84], eax
mov dword [edx + 0x1c88], ecx
movss dword [edx + 0x1c8c], xmm1
movss dword [edx + 0x1c90], xmm1
mov dword [edx + 0x1c78], 1
mov eax, dword [0x10240c80]
mov dword [eax + 0x36a4], 0
mov dword [eax + 0x36a8], 0
mov eax, dword [0x10240c8c]
mov ecx, 0xfb
mov esi, 0xc02fb
cmp byte [eax + 0x5c], 0
cmovne esi, ecx
or dword [edx + 0x1c74], 2
mov dword [edx + 0x1c94], 0x43160000
mov dword [edx + 0x1c98], 0
mov dword [edx + 0x1c7c], 2
mov ecx, dword [0x10240c8c]
mov ecx, dword [ecx + 0x40]
call fcn.101788b0
movq xmm0, qword [str.yVMW_YJ:]
xor edx, edx
mov al, byte [0x1020c7cc]
movq qword [esp + 0xf0c], xmm0
mov byte [esp + 0xf14], al
mov dword [esp + 0x34], edx
nop dword [eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x34]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x34]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xf0c], cl
inc edx
mov dword [esp + 0x34], edx
cmp edx, 9
jl 0x10143b60
lea ecx, [esp + 0x101c]
call fcn.10029d60
lea ecx, [esp + 0xf0c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143bb0
sub ecx, edx
lea eax, [esp + 0xf0c]
push ecx
push eax
lea ecx, [esp + 0x1024]
call fcn.10027a90
push 0
lea ecx, [esp + 0x1020]
call fcn.100066e0
movss xmm0, dword [0x1021567c]
xor edx, edx
mov ecx, eax
call fcn.101736d0
lea ecx, [esp + 0x101c]
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x38], xmm0
call fcn.10002120
mov eax, dword [0x10469550]
movss xmm0, dword [esp + 0x3c]
mulss xmm0, dword [0x10215360]
movss xmm1, dword [0x10215548]
or dword [eax + 0x1c74], 0x10
movss dword [esp + 0x34], xmm0
subss xmm0, dword [0x10215360]
mov dword [eax + 0x1cb0], 0x43160000
movss dword [esp + 0x40], xmm1
xorps xmm1, xmm1
movss dword [eax + 0x1cb4], xmm1
mov dword [eax + 0x1cb8], 0x43160000
movss dword [eax + 0x1cbc], xmm0
mov dword [eax + 0x1cc0], 0
mov dword [eax + 0x1cc4], 0
call fcn.10170af0
mov eax, dword [0x1020b630]
movq xmm0, qword [str.yVMW_YJ]
mov dword [esp + 0xf04], eax
mov ax, word [0x1020b634]
mov word [esp + 0xf08], ax
test ah, ah
mov eax, dword [0x10241d90]
movq qword [esp + 0xefc], xmm0
je 0x10143e07
xor edx, edx
mov dword [esp + 0x2c], edx
cmp eax, 2
jl 0x10143dd0
movaps xmm2, xmmword [0x102157f0]
mov edx, 8
movaps xmm3, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x2c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
movd xmm0, dword [str.yVMW_YJ]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xefc], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
movd xmm0, dword [esp + 0xf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222]
xorps xmm1, xmm0
movd dword [esp + 0xf00], xmm1
nop dword [eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x2c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x2c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xefc], cl
inc edx
mov dword [esp + 0x2c], edx
cmp edx, 0xe
jl 0x10143dd0
lea ecx, [esp + 0x1074]
call fcn.10029d60
lea ecx, [esp + 0xefc]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143e20
sub ecx, edx
lea eax, [esp + 0xefc]
push ecx
push eax
lea ecx, [esp + 0x107c]
call fcn.10027a90
push esi
lea ecx, [esp + 0x1078]
call fcn.100066e0
xor edx, edx
mov ecx, eax
call fcn.10176150
lea ecx, [esp + 0x1074]
call fcn.10002120
call fcn.10170af0
mov ecx, dword [0x10469550]
sub esp, 0x18
mov edx, esp
mov edi, eax
mov dword [esp + 0x30], edi
mov ecx, dword [ecx + 0x1bec]
movss xmm0, dword [ecx + 0x10]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x14]
mov ecx, dword [0x10240c80]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ecx + 0x390c]
divss xmm0, dword [0x10215518]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
movss dword [esp + 0x1b0], xmm0
movups xmm0, xmmword [ecx + 0x38f0]
mov eax, dword [ecx + 0x3900]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x3904]
mov byte [edx + 0x14], al
call fcn.100bb8b0
push 0xff
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0x3b4]
mov esi, eax
call fcn.100cfce0
mov edx, dword [0x10240c80]
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [edx + 0x38f0]
mov eax, dword [edx + 0x3900]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov al, byte [edx + 0x3904]
xorps xmm0, xmm0
mov byte [ecx + 0x14], al
call fcn.100bba30
mov ecx, dword [0x10240c80]
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x34], eax
movss xmm1, dword [ecx + 0x38fc]
movups xmm0, xmmword [ecx + 0x38f0]
mov eax, dword [ecx + 0x3900]
mulss xmm1, dword [0x1021523c]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x3904]
movaps xmm0, xmm1
mov byte [edx + 0x14], al
call fcn.100bba30
mov dword [esp + 0x28], eax
sub esp, 0x18
mov eax, dword [0x10240c80]
mov edx, esp
movups xmm0, xmmword [eax + 0x38f0]
mov ecx, dword [eax + 0x3900]
mov al, byte [eax + 0x3904]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], ecx
mov byte [edx + 0x14], al
call fcn.100bb8b0
mov ecx, dword [0x10240c80]
movss xmm0, dword [0x10215408]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
cmp dword [ecx + 0x3908], 0
movss dword [esp + 0x24], xmm0
je 0x10143fe8
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
lea ecx, [esp + 0x18c]
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movaps xmm0, xmm1
addss xmm0, dword [0x10215548]
push 0
push ecx
mov ecx, edi
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x100], xmm2
movss dword [esp + 0x34], xmm0
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x3c], xmm0
subss xmm0, dword [0x10215360]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp], xmm0
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.101820b0
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3908]
test eax, eax
jne 0x1014410b
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x1021554c]
movss xmm1, dword [0x102152ac]
push ecx
mov dword [esp], 0x3fc00000
push eax
movss dword [esp + 0x104], xmm0
lea eax, [esp + 0x104]
movss xmm0, dword [esp + 0x3c]
subss xmm0, xmm1
push ecx
mov dword [esp], 0x40a00000
mov ecx, edi
push esi
push eax
movss dword [esp + 0x114], xmm0
lea eax, [esp + 0x118]
movss xmm0, dword [esp + 0x28]
subss xmm0, xmm1
push eax
movss dword [esp + 0x11c], xmm0
movss xmm0, dword [esp + 0x38]
subss xmm0, xmm1
movss dword [esp + 0x120], xmm0
call fcn.10181fc0
jmp 0x101442b0
cmp eax, 1
jne 0x1014416b
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x10c]
subss xmm0, dword [0x102152ac]
movss xmm1, dword [esp + 0x2c]
push ecx
mov dword [esp], 0x40000000
movss dword [esp + 0x110], xmm1
movss xmm1, dword [esp + 0x18]
push esi
push eax
movss dword [esp + 0x11c], xmm0
lea eax, [esp + 0x120]
movss dword [esp + 0x120], xmm1
movss dword [esp + 0x124], xmm0
jmp 0x101442a8
cmp eax, 2
jne 0x101441ce
movss xmm0, dword [esp + 0x34]
lea ecx, [esp + 0x1a4]
subss xmm0, dword [0x102153c0]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x24], xmm0
call fcn.1009d5c0
movss xmm2, dword [esp + 0x24]
lea ecx, [esp + 0x1ac]
movss xmm1, dword [esp + 0x14]
call fcn.1009d5c0
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1a8]
push esi
push eax
lea eax, [esp + 0x1b8]
jmp 0x101442a8
mov ecx, 0x10240c80
call fcn.10036090
cmp dword [eax + 0x3908], 3
jne 0x1014423c
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1b4]
subss xmm0, dword [0x102152ac]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x24], xmm0
call fcn.1009d5c0
movss xmm2, dword [esp + 0x24]
lea ecx, [esp + 0x1bc]
movss xmm1, dword [esp + 0x14]
call fcn.1009d5c0
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1b8]
push esi
push eax
lea eax, [esp + 0x1c8]
jmp 0x101442a8
mov ecx, 0x10240c80
call fcn.10036090
cmp dword [eax + 0x3908], 4
jne 0x101442b0
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1c4]
subss xmm0, dword [0x102152ac]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x24], xmm0
call fcn.1009d5c0
movss xmm2, dword [esp + 0x24]
lea ecx, [esp + 0x1cc]
movss xmm1, dword [esp + 0x14]
call fcn.1009d5c0
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1c8]
push esi
push eax
lea eax, [esp + 0x1d8]
push eax
mov ecx, edi
call fcn.10181e90
mov al, byte [0x1020c7cc]
xor edx, edx
movq xmm0, qword [str.yVMW_YJ:]
mov byte [esp + 0xebc], al
movq qword [esp + 0xeb4], xmm0
mov dword [esp + 0x24], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xeb4], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 9
jl 0x101442d3
lea ecx, [esp + 0x10ec]
call fcn.10029d60
lea ecx, [esp + 0xeb4]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144320
sub ecx, edx
lea eax, [esp + 0xeb4]
push ecx
push eax
lea ecx, [esp + 0x10f4]
call fcn.10027a90
lea ecx, [esp + 0x10ec]
call fcn.100066e0
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x38]
mulss xmm0, dword [0x1021523c]
push 0
addss xmm1, dword [0x102154fc]
push ecx
mov dword [esp], 0
mov ecx, edi
push 0
push esi
subss xmm1, xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x1021523c]
push eax
lea eax, [esp + 0x198]
push eax
addss xmm0, dword [esp + 0x38]
push 0
movss dword [esp + 0x1a0], xmm1
subss xmm0, dword [0x102152ac]
movss dword [esp + 0x1a4], xmm0
call fcn.10182630
lea ecx, [esp + 0x10ec]
call fcn.10002120
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3908]
cmp eax, 3
jne 0x10144443
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push eax
movss dword [esp + 0x120], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x30]
push eax
push eax
lea eax, [esp + 0x12c]
movss dword [esp + 0x130], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x138], xmm0
lea eax, [esp + 0x138]
movss dword [esp + 0x13c], xmm1
jmp 0x1014450b
cmp eax, 4
jne 0x10144513
movss xmm1, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [0x10215360]
mov eax, dword [esp + 0xc]
push esi
push esi
push eax
push eax
movss dword [esp + 0x13c], xmm0
lea eax, [esp + 0x13c]
movss xmm0, dword [esp + 0x44]
push eax
movss dword [esp + 0x144], xmm0
lea eax, [esp + 0x148]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x14c], xmm1
movss dword [esp + 0x150], xmm0
call fcn.10182210
movss xmm0, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
movss dword [esp + 0x13c], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x140], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x10215544]
push esi
push esi
push eax
push eax
lea eax, [esp + 0x14c]
movss dword [esp + 0x154], xmm0
movss xmm0, dword [esp + 0x30]
push eax
movss dword [esp + 0x15c], xmm0
lea eax, [esp + 0x158]
push eax
mov ecx, edi
call fcn.10182210
movq xmm0, qword [str.iG_RQ__d:]
xor edx, edx
mov al, byte [0x1020c25c]
movq qword [esp + 0xed8], xmm0
mov byte [esp + 0xee0], al
mov dword [esp + 0x24], edx
nop word [eax + eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xed8], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 9
jl 0x10144540
lea ecx, [esp + 0x10d4]
call fcn.10029d60
lea ecx, [esp + 0xed8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144590
sub ecx, edx
lea eax, [esp + 0xed8]
push ecx
push eax
lea ecx, [esp + 0x10dc]
call fcn.10027a90
push 0
lea ecx, [esp + 0x10d8]
call fcn.100066e0
movss xmm0, dword [0x1021567c]
xor edx, edx
mov ecx, eax
call fcn.101736d0
lea ecx, [esp + 0x10d4]
movss dword [esp + 0x40], xmm0
call fcn.10002120
mov eax, dword [str.i__YRj8]
xor edx, edx
mov dword [esp + 0xee4], eax
mov ax, word [0x1020c2b4]
mov word [esp + 0xee8], ax
mov al, byte [0x1020c2b6]
mov byte [esp + 0xeea], al
mov dword [esp + 0x24], edx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xee4], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 7
jl 0x10144610
lea ecx, [esp + 0x10bc]
call fcn.10029d60
lea ecx, [esp + 0xee4]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144660
sub ecx, edx
lea eax, [esp + 0xee4]
push ecx
push eax
lea ecx, [esp + 0x10c4]
call fcn.10027a90
push 0
lea ecx, [esp + 0x10c0]
call fcn.100066e0
movss xmm0, dword [0x1021567c]
xor edx, edx
mov ecx, eax
call fcn.101736d0
lea ecx, [esp + 0x10bc]
movss dword [esp + 0x2c], xmm0
call fcn.10002120
mov eax, dword [0x1020c30c]
xor edx, edx
mov dword [esp + 0xed0], eax
mov al, byte [0x1020c310]
mov byte [esp + 0xed4], al
mov dword [esp + 0x24], edx
nop dword [eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xed0], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 5
jl 0x101446d0
lea ecx, [esp + 0x10a4]
call fcn.10029d60
lea ecx, [esp + 0xed0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144720
sub ecx, edx
lea eax, [esp + 0xed0]
push ecx
push eax
lea ecx, [esp + 0x10ac]
call fcn.10027a90
push 0
lea ecx, [esp + 0x10a8]
call fcn.100066e0
movss xmm0, dword [0x1021567c]
xor edx, edx
mov ecx, eax
call fcn.101736d0
lea ecx, [esp + 0x10a4]
movss dword [esp + 0x38], xmm0
call fcn.10002120
mov eax, dword [0x10240c80]
cmp byte [eax + 0x2b4], 0
je case.0x10144795.0
mov ecx, dword [eax + 0xedc]
add eax, 0xedc
cmp ecx, 3
ja case.0x10144795.0
jmp dword [ecx*4 + 0x1014e658]
mov ecx, eax
call fcn.100c8e50
jmp 0x101447a8
mov al, byte [eax + 0x20]
test al, al
je case.0x10144795.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xedc]
call fcn.100c9180
test al, al
jne 0x10144ab1
lea eax, [esp + 0x1280]
push eax
lea ecx, [esp + 0xc8]
call fcn.1014e800
mov edi, eax
cmp byte [edi + 8], 0
je 0x10144820
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101447f0
push edi
lea ecx, [esp + 0x1608]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x688]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x3f4]
addss xmm0, dword [0x10215484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1604]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xedc]
call fcn.100c8e50
test al, al
je 0x101449a9
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0xc9]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10144920
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101448f0
push edi
lea ecx, [esp + 0x1620]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x698]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3fc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x161c]
jmp 0x10144aa4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xedc]
call fcn.100c8cf0
test al, al
je 0x10144aa9
lea eax, [esp + 0x1274]
push eax
lea ecx, [esp + 0xca]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10144a20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101449f0
push edi
lea ecx, [esp + 0x1638]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6a8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x404]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1634]
call fcn.10002120
mov dword [esp + 0x10], 3
mov ecx, 0x10240c80
call fcn.10036090
cmp byte [eax + 0x2bd], 0
je case.0x10144795.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xf00]
call fcn.100c9120
test al, al
je case.0x10144795.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xf00]
call fcn.100c9180
test al, al
je 0x10144cc9
lea eax, [esp + 0x1538]
push eax
lea ecx, [esp + 0xcb]
call fcn.1014e870
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10144b54
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10144b24
push edi
lea ecx, [esp + 0x1650]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6b8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x40c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x164c]
call fcn.10002120
lea eax, [esp + 0xfc4]
push eax
lea ecx, [esp + 0xcc]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10144c40
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10144c10
push edi
lea ecx, [esp + 0x1668]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6c8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x414]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1664]
jmp 0x10144fa4
lea eax, [esp + 0x152c]
push eax
lea ecx, [esp + 0xcd]
call fcn.1014e870
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10144d20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10144cf0
push edi
lea ecx, [esp + 0x1680]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6d8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x41c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x167c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xf00]
call fcn.100c8e50
test al, al
je 0x10144ead
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0xce]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10144e24
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10144df4
push edi
lea ecx, [esp + 0x1698]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6e8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x424]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1694]
jmp 0x10144fa4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xf00]
call fcn.100c8cf0
test al, al
je 0x10144fa9
lea eax, [esp + 0x12a4]
push eax
lea ecx, [esp + 0xcf]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10144f20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10144ef0
push edi
lea ecx, [esp + 0x16b0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6f8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x42c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x16ac]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xa58
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10144fc2.2648
jmp dword [ecx*4 + 0x1014e668]
mov ecx, eax
call fcn.100c8e50
jmp 0x10144fd5
mov al, byte [eax + 0x20]
test al, al
je case.0x10144fc2.2648
mov eax, dword [0x10240c80]
cmp byte [eax], 0
je case.0x10144fc2.2648
lea ecx, [eax + 0xa58]
call fcn.100c9180
test al, al
jne 0x101453ed
lea eax, [esp + 0x125c]
push eax
lea ecx, [esp + 0xd0]
call fcn.1014e8c0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10145156
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10145125
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10145156
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10145125
push edi
lea ecx, [esp + 0x16c8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x708]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x444]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x16c4]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xa58]
call fcn.100c8e50
test al, al
je 0x101452e9
lea eax, [esp + 0x123c]
push eax
lea ecx, [esp + 0xd1]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145260
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145230
push edi
lea ecx, [esp + 0x16e0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x718]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x44c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x16dc]
jmp 0x101453e4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xa58]
call fcn.100c8cf0
test al, al
je 0x101453e9
lea eax, [esp + 0x1394]
push eax
lea ecx, [esp + 0xd2]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145360
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145330
push edi
lea ecx, [esp + 0x16f8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x728]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x454]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x16f4]
call fcn.10002120
inc dword [esp + 0x10]
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd3c]
call fcn.100c9180
test al, al
je 0x101456d9
lea eax, [esp + 0x1598]
push eax
lea ecx, [esp + 0xd3]
call fcn.1014e8e0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10145565
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10145534
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10145534
push edi
lea ecx, [esp + 0x1710]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x738]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x45c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x170c]
call fcn.10002120
lea eax, [esp + 0xfd4]
push eax
lea ecx, [esp + 0x4f]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10145650
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10145620
push edi
lea ecx, [esp + 0x1728]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x748]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x464]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1724]
jmp 0x10145ad4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd3c]
call fcn.100c9150
test al, al
je case.0x10144fc2.2648
lea eax, [esp + 0x158c]
push eax
lea ecx, [esp + 0x50]
call fcn.1014e8e0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10145852
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10145821
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10145821
push edi
lea ecx, [esp + 0x1740]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x758]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x46c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x173c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd3c]
call fcn.100c8e50
test al, al
je 0x101459dc
lea eax, [esp + 0x1244]
push eax
lea ecx, [esp + 0x51]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145953
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145923
push edi
lea ecx, [esp + 0x1758]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x768]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x474]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1754]
jmp 0x10145ad4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd3c]
call fcn.100c8cf0
test al, al
je 0x10145ad9
lea eax, [esp + 0x1370]
push eax
lea ecx, [esp + 0x52]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145a50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145a20
push edi
lea ecx, [esp + 0x1770]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x778]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x47c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x176c]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe80
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10145af2.3712
jmp dword [ecx*4 + 0x1014e678]
mov ecx, eax
call fcn.100c8e50
jmp 0x10145b05
mov al, byte [eax + 0x20]
test al, al
je case.0x10145af2.3712
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xe80]
call fcn.100c9180
test al, al
je 0x10145cf7
lea eax, [esp + 0x1520]
push eax
lea ecx, [esp + 0x53]
call fcn.1014e900
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10145b75
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145b45
push edi
lea ecx, [esp + 0x1788]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x788]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1784]
call fcn.10002120
lea eax, [esp + 0xfdc]
push eax
lea ecx, [esp + 0x54]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10145c60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10145c30
push edi
lea ecx, [esp + 0x17a0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x798]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x48c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x179c]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x10145feb
lea eax, [esp + 0x1514]
push eax
lea ecx, [esp + 0x55]
call fcn.1014e900
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10145d46
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145d16
push edi
lea ecx, [esp + 0x17b8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7a8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x494]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x17b4]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe80]
call fcn.100c8e50
test al, al
je 0x10145ee7
lea eax, [esp + 0x1164]
push eax
lea ecx, [esp + 0x56]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145e50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145e20
push edi
lea ecx, [esp + 0x17d0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7b8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x49c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x17cc]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x10145feb
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe80]
call fcn.100c8cf0
test al, al
je 0x10145fdc
lea eax, [esp + 0x1298]
push eax
lea ecx, [esp + 0x57]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145f53
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145f23
push edi
lea ecx, [esp + 0x17e8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7c8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x17e4]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x10145feb
mov edi, dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xea4
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10146000.3748
jmp dword [ecx*4 + 0x1014e688]
mov ecx, eax
call fcn.100c8e50
jmp 0x10146013
mov al, byte [eax + 0x20]
test al, al
je case.0x10146000.3748
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xea4]
call fcn.100c9180
test al, al
je 0x10146280
lea eax, [esp + 0x1508]
push eax
lea ecx, [esp + 0x58]
call fcn.1014e930
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 0xa], 0
je 0x10146098
xor ecx, ecx
mov edi, eax
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146060
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x108c]
call fcn.10029d60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101460b0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1094]
call fcn.10027a90
lea ecx, [esp + 0x108c]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x3b4]
mov esi, eax
movups xmmword [esp + 0x3b4], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215400]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x154], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x160]
push eax
mulss xmm0, dword [0x10215444]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x16c], xmm0
call fcn.10182630
lea ecx, [esp + 0x108c]
call fcn.10002120
mov eax, dword [0x1020c30c]
xor edx, edx
mov dword [esp + 0xec0], eax
mov al, byte [0x1020c310]
mov byte [esp + 0xec4], al
mov dword [esp + 0x24], edx
nop dword [eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xec0], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 5
jl 0x10146180
lea ecx, [esp + 0x105c]
call fcn.10029d60
lea ecx, [esp + 0xec0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101461d0
sub ecx, edx
lea eax, [esp + 0xec0]
push ecx
push eax
lea ecx, [esp + 0x1064]
call fcn.10027a90
lea ecx, [esp + 0x105c]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x3c4]
mov esi, eax
movups xmmword [esp + 0x3c4], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x10215400]
push 0
push esi
push eax
lea eax, [esp + 0x168]
addss xmm0, dword [0x10215548]
push eax
push 0
movss dword [esp + 0x170], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x174], xmm0
call fcn.10182630
lea ecx, [esp + 0x105c]
call fcn.10002120
jmp 0x10146592
mov ax, word [0x1020d014]
xor edx, edx
movq xmm0, qword [str.zZPP]
mov word [esp + 0xf38], ax
mov al, byte [0x1020d016]
movq qword [esp + 0xf30], xmm0
mov byte [esp + 0xf3a], al
mov dword [esp + 0x24], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xf30], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xb
jl 0x101462b1
lea ecx, [esp + 0x1044]
call fcn.10029d60
lea ecx, [esp + 0xf30]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146300
sub ecx, edx
lea eax, [esp + 0xf30]
push ecx
push eax
lea ecx, [esp + 0x104c]
call fcn.10027a90
lea ecx, [esp + 0x1044]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x3d4]
mov esi, eax
movups xmmword [esp + 0x3d4], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x10215400]
mov ecx, dword [esp + 0x18]
push 0
push esi
push eax
movss dword [esp + 0x168], xmm0
lea eax, [esp + 0x168]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x170], xmm0
call fcn.10182720
lea ecx, [esp + 0x1044]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xea4]
call fcn.100c8e50
test al, al
je 0x10146499
lea eax, [esp + 0x116c]
push eax
lea ecx, [esp + 0x59]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146410
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101463e0
push edi
lea ecx, [esp + 0x1800]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7d8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4ac]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x17fc]
jmp 0x10146589
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xea4]
call fcn.100c8cf0
test al, al
je 0x10146592
lea eax, [esp + 0x128c]
push eax
lea ecx, [esp + 0x5a]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146505
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101464d5
push edi
lea ecx, [esp + 0x1818]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc48]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4b4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1814]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xa7c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101465ac.2684
jmp dword [ecx*4 + 0x1014e698]
mov ecx, eax
call fcn.100c8e50
jmp 0x101465bf
mov al, byte [eax + 0x20]
test al, al
je case.0x101465ac.2684
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c9180
test al, al
je 0x101468b3
lea eax, [esp + 0x21bc]
push eax
lea ecx, [esp + 0x5b]
call fcn.1014e960
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x10146741
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10146710
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax + eax]
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xd
jl 0x10146710
push edi
lea ecx, [esp + 0x1830]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7f8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x182c]
call fcn.10002120
lea eax, [esp + 0xfe4]
push eax
lea ecx, [esp + 0x5c]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10146825
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101467f5
push edi
lea ecx, [esp + 0x1848]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x808]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4c4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1844]
call fcn.10002120
jmp 0x10146cee
mov eax, dword [0x1020c7a8]
xor edx, edx
cmp dword [0x10241d90], 2
movq xmm0, qword [0x1020c7a0]
mov dword [esp + 0xef4], eax
mov al, byte [0x1020c7ac]
movq qword [esp + 0xeec], xmm0
mov byte [esp + 0xef8], al
mov dword [esp + 0x34], edx
jl 0x10146a00
movaps xmm2, xmmword [0x102157f0]
mov edx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x34], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1020c7a0]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xeec], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0xef0]
xorps xmm1, xmm0
movd dword [esp + 0xef0], xmm1
nop dword [eax + eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x34]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xeec], cl
inc edx
mov dword [esp + 0x34], edx
cmp edx, 0xd
jl 0x10146a00
lea ecx, [esp + 0x1104]
call fcn.10029d60
lea ecx, [esp + 0xeec]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146a50
sub ecx, edx
lea eax, [esp + 0xeec]
push ecx
push eax
lea ecx, [esp + 0x110c]
call fcn.10027a90
lea ecx, [esp + 0x1104]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x3e4]
mov esi, eax
movups xmmword [esp + 0x3e4], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215400]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x16c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x178]
push eax
mulss xmm0, dword [0x10215444]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x184], xmm0
call fcn.10182630
lea ecx, [esp + 0x1104]
call fcn.10002120
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c8e50
test al, al
je 0x10146bf9
lea eax, [esp + 0x1174]
push eax
lea ecx, [esp + 0x5d]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146b70
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146b40
push edi
lea ecx, [esp + 0x1860]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x818]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4cc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x185c]
jmp 0x10146ce9
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xa7c]
call fcn.100c8cf0
test al, al
je 0x10146cf2
lea eax, [esp + 0x13ac]
push eax
lea ecx, [esp + 0x5e]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146c65
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146c35
push edi
lea ecx, [esp + 0x1878]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x828]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4d4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1874]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xaa0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10146d0c.2720
jmp dword [ecx*4 + 0x1014e6a8]
mov ecx, eax
call fcn.100c8e50
jmp 0x10146d1f
mov al, byte [eax + 0x20]
test al, al
je case.0x10146d0c.2720
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c9180
xor edx, edx
mov dword [esp + 0x24], edx
test al, al
je 0x10146f90
mov ax, word [0x1020bbfc]
movq xmm0, qword [str.tFVS]
mov word [esp + 0xf20], ax
mov al, byte [0x1020bbfe]
movq qword [esp + 0xf18], xmm0
mov byte [esp + 0xf22], al
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xf18], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xb
jl 0x10146d71
lea ecx, [esp + 0x111c]
call fcn.10029d60
lea ecx, [esp + 0xf18]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146dc0
sub ecx, edx
lea eax, [esp + 0xf18]
push ecx
push eax
lea ecx, [esp + 0x1124]
call fcn.10027a90
lea ecx, [esp + 0x111c]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x434]
mov esi, eax
movups xmmword [esp + 0x434], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215400]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x174], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x180]
push eax
mulss xmm0, dword [0x10215444]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x18c], xmm0
call fcn.10182630
lea ecx, [esp + 0x111c]
call fcn.10002120
mov eax, dword [0x1020c30c]
xor edx, edx
mov dword [esp + 0xec8], eax
mov al, byte [0x1020c310]
mov byte [esp + 0xecc], al
mov dword [esp + 0x24], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xec8], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 5
jl 0x10146e90
lea ecx, [esp + 0x1134]
call fcn.10029d60
lea ecx, [esp + 0xec8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146ee0
sub ecx, edx
lea eax, [esp + 0xec8]
push ecx
push eax
lea ecx, [esp + 0x113c]
call fcn.10027a90
lea ecx, [esp + 0x1134]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x58c]
mov esi, eax
movups xmmword [esp + 0x58c], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x10215400]
push 0
push esi
push eax
lea eax, [esp + 0x188]
addss xmm0, dword [0x10215548]
push eax
push 0
movss dword [esp + 0x190], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x194], xmm0
call fcn.10182630
lea ecx, [esp + 0x1134]
call fcn.10002120
jmp 0x101472b2
mov ax, word [0x1020bbfc]
movq xmm0, qword [str.tFVS]
mov word [esp + 0xf2c], ax
mov al, byte [0x1020bbfe]
movq qword [esp + 0xf24], xmm0
mov byte [esp + 0xf2e], al
nop dword [eax + eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x24]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x24]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xf24], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xb
jl 0x10146fc0
lea ecx, [esp + 0x114c]
call fcn.10029d60
lea ecx, [esp + 0xf24]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10147010
sub ecx, edx
lea eax, [esp + 0xf24]
push ecx
push eax
lea ecx, [esp + 0x1154]
call fcn.10027a90
lea ecx, [esp + 0x114c]
call fcn.100066e0
movaps xmm0, xmmword [0x10215b60]
lea ecx, [esp + 0x5ac]
mov esi, eax
movups xmmword [esp + 0x5ac], xmm0
call fcn.100cfd60
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215400]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x184], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x190]
push eax
mulss xmm0, dword [0x10215444]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x19c], xmm0
call fcn.10182630
lea ecx, [esp + 0x114c]
call fcn.10002120
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c8e50
test al, al
je 0x101471b9
lea eax, [esp + 0x117c]
push eax
lea ecx, [esp + 0x5f]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147130
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147100
push edi
lea ecx, [esp + 0x1890]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x838]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4dc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x188c]
jmp 0x101472a9
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xaa0]
call fcn.100c8cf0
test al, al
je 0x101472b2
lea eax, [esp + 0x13a0]
push eax
lea ecx, [esp + 0x60]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147225
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101471f5
push edi
lea ecx, [esp + 0x18a8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x848]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4e4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x18a4]
call fcn.10002120
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xe38
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101472cc.3640
jmp dword [ecx*4 + 0x1014e6b8]
mov ecx, eax
call fcn.100c8e50
jmp 0x101472df
mov al, byte [eax + 0x20]
test al, al
je case.0x101472cc.3640
imul ecx, dword [0x1024c184], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb49], 0
je case.0x101472cc.3640
lea ecx, [eax + 0xe38]
call fcn.100c9180
test al, al
je 0x101474d9
lea eax, [esp + 0x14fc]
push eax
lea ecx, [esp + 0x61]
call fcn.1014e990
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10147363
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10147333
push edi
lea ecx, [esp + 0x18c0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x858]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x18bc]
call fcn.10002120
lea eax, [esp + 0xfb4]
push eax
lea ecx, [esp + 0x62]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10147450
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10147420
push edi
lea ecx, [esp + 0x18d8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x868]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4f4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x18d4]
jmp 0x101477aa
lea eax, [esp + 0x14f0]
push eax
lea ecx, [esp + 0x63]
call fcn.1014e990
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10147530
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10147500
push edi
lea ecx, [esp + 0x18f0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x878]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x18ec]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe38]
call fcn.100c8e50
test al, al
je 0x101476ba
lea eax, [esp + 0x1184]
push eax
lea ecx, [esp + 0x64]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147631
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147601
push edi
lea ecx, [esp + 0x1908]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x888]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x504]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1904]
jmp 0x101477aa
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe38]
call fcn.100c8cf0
test al, al
je 0x101477af
lea eax, [esp + 0x1388]
push eax
lea ecx, [esp + 0x65]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147726
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101476f6
push edi
lea ecx, [esp + 0x1920]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x958]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x50c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x191c]
call fcn.10002120
mov edi, dword [esp + 0x10]
mov ecx, 0x10240c80
inc edi
mov esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x34], esi
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c9120
test al, al
je case.0x101472cc.3640
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c9180
test al, al
je 0x10147b27
lea eax, [esp + 0x221c]
push eax
lea ecx, [esp + 0x66]
call fcn.1014e9c0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x101479a5
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10147974
movaps xmm0, xmmword [str.2222222222222222]
mov eax, 4
movaps xmm4, xmmword [0x102157f0]
xor edx, edx
movaps xmm3, xmmword [0x10215c30]
sub eax, edi
movaps xmm5, xmmword [0x10215890]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10147870
mov edi, dword [esp + 0x1c]
jmp 0x101479a5
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10147974
push edi
lea ecx, [esp + 0x1938]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa78]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x34]
lea ecx, [esp + 0x514]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1934]
call fcn.10002120
lea eax, [esp + 0xfec]
push eax
lea ecx, [esp + 0x67]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10147a90
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10147a60
push edi
lea ecx, [esp + 0x1950]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa88]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x51c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x194c]
call fcn.10002120
mov esi, dword [esp + 0x34]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101472cc.3640
mov ecx, 0x10240c80
mov dword [esp + 0x10], esi
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c9180
test al, al
jne case.0x101472cc.3640
lea eax, [esp + 0x220c]
push eax
lea ecx, [esp + 0x68]
call fcn.1014e9c0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10147cf5
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10147cc4
movaps xmm0, xmmword [str.2222222222222222]
mov eax, 4
movaps xmm4, xmmword [0x102157f0]
xor edx, edx
movaps xmm3, xmmword [0x10215c30]
sub eax, edi
movaps xmm5, xmmword [0x10215890]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10147bc0
mov edi, dword [esp + 0x1c]
jmp 0x10147cf5
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10147cc4
push edi
lea ecx, [esp + 0x1968]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaa8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x34]
lea ecx, [esp + 0x524]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1964]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c8e50
test al, al
je 0x10147e7f
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x69]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147df6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147dc6
push edi
lea ecx, [esp + 0x1980]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xab8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x52c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x197c]
jmp 0x10147f74
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c8cf0
test al, al
je 0x10147f79
lea eax, [esp + 0x137c]
push eax
lea ecx, [esp + 0x6a]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147ef0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147ec0
push edi
lea ecx, [esp + 0x1998]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xac8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x534]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1994]
call fcn.10002120
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x10240c80]
add eax, 0xdf0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10147f97.3568
jmp dword [ecx*4 + 0x1014e6c8]
mov ecx, eax
call fcn.100c8e50
jmp 0x10147faa
mov al, byte [eax + 0x20]
test al, al
je case.0x10147f97.3568
imul ecx, dword [0x1024c184], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb50], 0
je case.0x10147f97.3568
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdf0]
call fcn.100c9180
test al, al
je 0x101481ad
lea eax, [esp + 0x14cc]
push eax
lea ecx, [esp + 0x6b]
call fcn.1014e9e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10148040
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10148010
push edi
lea ecx, [esp + 0x19b0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xae8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x53c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x19ac]
call fcn.10002120
lea eax, [esp + 0xff4]
push eax
lea ecx, [esp + 0x6c]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148124
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101480f4
push edi
lea ecx, [esp + 0x19c8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x898]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x544]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x19c4]
jmp 0x1014847a
lea eax, [esp + 0x14a8]
push eax
lea ecx, [esp + 0x6d]
call fcn.1014e9e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10148200
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101481d0
push edi
lea ecx, [esp + 0x19e0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8a8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x54c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x19dc]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdf0]
call fcn.100c8e50
test al, al
je 0x1014838a
lea eax, [esp + 0x1194]
push eax
lea ecx, [esp + 0x6e]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10148301
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101482d1
push edi
lea ecx, [esp + 0x19f8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8b8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x554]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x19f4]
jmp 0x1014847a
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdf0]
call fcn.100c8cf0
test al, al
je 0x1014847f
lea eax, [esp + 0x134c]
push eax
lea ecx, [esp + 0x6f]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x101483f6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101483c6
push edi
lea ecx, [esp + 0x1a10]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8c8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x55c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a0c]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0xaf4], 0
je case.0x10149568.3496
mov ecx, dword [eax + 0xd84]
add eax, 0xd84
cmp ecx, 3
ja case.0x101484a9.0
jmp dword [ecx*4 + 0x1014e6d8]
mov ecx, eax
call fcn.100c8e50
jmp 0x101484bc
mov al, byte [eax + 0x20]
test al, al
je case.0x101484a9.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd84]
call fcn.100c9180
test al, al
je 0x1014869d
lea eax, [esp + 0x1340]
push eax
lea ecx, [esp + 0x70]
call fcn.1014ea00
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148530
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148500
push edi
lea ecx, [esp + 0x1a28]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8d8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x564]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a24]
call fcn.10002120
lea eax, [esp + 0xffc]
push eax
lea ecx, [esp + 0x71]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148614
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101485e4
push edi
lea ecx, [esp + 0x1a40]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8e8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x56c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a3c]
jmp 0x1014896a
lea eax, [esp + 0x1334]
push eax
lea ecx, [esp + 0x72]
call fcn.1014ea00
mov edi, eax
cmp byte [edi + 8], 0
je 0x101486f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101486c0
push edi
lea ecx, [esp + 0x1a58]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8f8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x574]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a54]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd84]
call fcn.100c8e50
test al, al
je 0x1014887a
lea eax, [esp + 0x119c]
push eax
lea ecx, [esp + 0x73]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x101487f1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101487c1
push edi
lea ecx, [esp + 0x1a70]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x908]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x57c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a6c]
jmp 0x1014896a
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd84]
call fcn.100c8cf0
test al, al
je 0x1014896f
lea eax, [esp + 0x1328]
push eax
lea ecx, [esp + 0x74]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x101488e6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101488b6
push edi
lea ecx, [esp + 0x1a88]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x918]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x584]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a84]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xd60
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10148988.3424
jmp dword [ecx*4 + 0x1014e6e8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014899b
mov al, byte [eax + 0x20]
test al, al
je case.0x10148988.3424
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd60]
call fcn.100c9180
test al, al
je 0x10148c89
lea eax, [esp + 0x124c]
push eax
lea ecx, [esp + 0x75]
call fcn.1014ea20
mov edi, eax
cmp byte [edi + 7], 0
je 0x10148b15
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10148ae4
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10148b15
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10148ae4
push edi
lea ecx, [esp + 0x1aa0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x928]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x59c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1a9c]
call fcn.10002120
lea eax, [esp + 0x100c]
push eax
lea ecx, [esp + 0x76]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148c00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148bd0
push edi
lea ecx, [esp + 0x1ab8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x938]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5a4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ab4]
jmp 0x10149064
lea eax, [esp + 0x1254]
push eax
lea ecx, [esp + 0x77]
call fcn.1014ea20
mov edi, eax
cmp byte [edi + 7], 0
je 0x10148de1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10148db0
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10148de1
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10148db0
push edi
lea ecx, [esp + 0x1ad0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x948]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1acc]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd60]
call fcn.100c8e50
test al, al
je 0x10148f6b
lea eax, [esp + 0x11a4]
push eax
lea ecx, [esp + 0x78]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10148ee2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10148eb2
push edi
lea ecx, [esp + 0x1ae8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x678]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5c4]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ae4]
jmp 0x10149064
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xd60]
call fcn.100c8cf0
test al, al
je 0x10149069
lea eax, [esp + 0x13b8]
push eax
lea ecx, [esp + 0x79]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148fe0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148fb0
push edi
lea ecx, [esp + 0x1b00]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x968]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5cc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1afc]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xdcc
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10149082.3532
jmp dword [ecx*4 + 0x1014e6f8]
mov ecx, eax
call fcn.100c8e50
jmp 0x10149095
mov al, byte [eax + 0x20]
test al, al
je case.0x10149082.3532
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdcc]
call fcn.100c9180
test al, al
je 0x1014927d
lea eax, [esp + 0x1014]
push eax
lea ecx, [esp + 0x7a]
call fcn.1014ea40
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149110
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101490e0
push edi
lea ecx, [esp + 0x1b18]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x978]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b14]
call fcn.10002120
lea eax, [esp + 0xf3c]
push eax
lea ecx, [esp + 0x7b]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x101491f4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101491c4
push edi
lea ecx, [esp + 0x1b30]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x988]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b2c]
jmp 0x1014954a
lea eax, [esp + 0xf44]
push eax
lea ecx, [esp + 0x7c]
call fcn.1014ea40
mov edi, eax
cmp byte [edi + 4], 0
je 0x101492d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101492a0
push edi
lea ecx, [esp + 0x1b48]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x998]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b44]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdcc]
call fcn.100c8e50
test al, al
je 0x1014945a
lea eax, [esp + 0x11ac]
push eax
lea ecx, [esp + 0x7d]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x101493d1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101493a1
push edi
lea ecx, [esp + 0x1b60]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9a8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5ec]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b5c]
jmp 0x1014954a
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xdcc]
call fcn.100c8cf0
test al, al
je 0x1014954f
lea eax, [esp + 0x131c]
push eax
lea ecx, [esp + 0x7e]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x101494c6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149496
push edi
lea ecx, [esp + 0x1b78]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9c8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b74]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xda8
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10149568.3496
jmp dword [ecx*4 + 0x1014e708]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014957b
mov al, byte [eax + 0x20]
test al, al
je case.0x10149568.3496
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xda8]
call fcn.100c9180
test al, al
je 0x10149769
lea eax, [esp + 0x1034]
push eax
lea ecx, [esp + 0x7f]
call fcn.1014ea60
mov edi, eax
cmp byte [edi + 5], 0
je 0x101495f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x101495c0
push edi
lea ecx, [esp + 0x1b90]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9d8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1b8c]
call fcn.10002120
lea eax, [esp + 0xf4c]
push eax
lea ecx, [esp + 0x80]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x101496e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101496b0
push edi
lea ecx, [esp + 0x1ba8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9e8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x604]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ba4]
jmp 0x10149a44
lea eax, [esp + 0x103c]
push eax
lea ecx, [esp + 0x81]
call fcn.1014ea60
mov edi, eax
cmp byte [edi + 5], 0
je 0x101497c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10149790
push edi
lea ecx, [esp + 0x1bc0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9f8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x60c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1bbc]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xda8]
call fcn.100c8e50
test al, al
je 0x1014994d
lea eax, [esp + 0x11b4]
push eax
lea ecx, [esp + 0x82]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x101498c4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149894
push edi
lea ecx, [esp + 0x1bd8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa08]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x614]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1bd4]
jmp 0x10149a44
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xda8]
call fcn.100c8cf0
test al, al
je 0x10149a49
lea eax, [esp + 0x1310]
push eax
lea ecx, [esp + 0x83]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x101499c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149990
push edi
lea ecx, [esp + 0x1bf0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa18]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x61c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1bec]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe5c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10149a62.3676
jmp dword [ecx*4 + 0x1014e718]
mov ecx, eax
call fcn.100c8e50
jmp 0x10149a75
mov al, byte [eax + 0x20]
test al, al
je case.0x10149a62.3676
imul ecx, dword [0x1024c184], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb64], 0
je case.0x10149a62.3676
lea ecx, [eax + 0xe5c]
call fcn.100c9180
test al, al
je 0x10149d89
lea eax, [esp + 0x21dc]
push eax
lea ecx, [esp + 0x84]
call fcn.1014ea80
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x10149c11
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10149be0
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax + eax]
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x10149be0
push edi
lea ecx, [esp + 0x1c08]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa28]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x624]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c04]
call fcn.10002120
lea eax, [esp + 0xf54]
push eax
lea ecx, [esp + 0x85]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149d00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149cd0
push edi
lea ecx, [esp + 0x1c20]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa38]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x62c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c1c]
jmp 0x1014a174
lea eax, [esp + 0x21cc]
push eax
lea ecx, [esp + 0x86]
call fcn.1014ea80
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x10149ef1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10149ec0
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x10149ec0
push edi
lea ecx, [esp + 0x1c38]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa48]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x634]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c34]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe5c]
call fcn.100c8e50
test al, al
je 0x1014a07e
lea eax, [esp + 0x11bc]
push eax
lea ecx, [esp + 0x87]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x10149ff5
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149fc5
push edi
lea ecx, [esp + 0x1c50]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa58]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x63c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c4c]
jmp 0x1014a174
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe5c]
call fcn.100c8cf0
test al, al
je 0x1014a179
lea eax, [esp + 0x1304]
push eax
lea ecx, [esp + 0x88]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a0f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a0c0
push edi
lea ecx, [esp + 0x1c68]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9b8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x644]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c64]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0x3574
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014a192.13684
jmp dword [ecx*4 + 0x1014e728]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014a1a5
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a192.13684
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3570], 0
je case.0x1014a192.13684
lea ecx, [eax + 0x3574]
call fcn.100c9180
test al, al
je 0x1014a399
lea eax, [esp + 0x14d8]
push eax
lea ecx, [esp + 0x89]
call fcn.1014eab0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014a224
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014a1f4
push edi
lea ecx, [esp + 0x1c80]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa98]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x64c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c7c]
call fcn.10002120
lea eax, [esp + 0xf5c]
push eax
lea ecx, [esp + 0x8a]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a310
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a2e0
push edi
lea ecx, [esp + 0x1c98]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa68]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x654]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1c94]
jmp 0x1014a694
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3574]
call fcn.100c9180
test al, al
jne case.0x1014a192.13684
lea eax, [esp + 0x149c]
push eax
lea ecx, [esp + 0x8b]
call fcn.1014eab0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014a410
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014a3e0
push edi
lea ecx, [esp + 0x1cb0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xea8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x65c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1cac]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3574]
call fcn.100c8e50
test al, al
je 0x1014a59d
lea eax, [esp + 0x11c4]
push eax
lea ecx, [esp + 0x8c]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014a514
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014a4e4
push edi
lea ecx, [esp + 0x1cc8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe98]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x664]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1cc4]
jmp 0x1014a694
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3574]
call fcn.100c8cf0
test al, al
je 0x1014a699
lea eax, [esp + 0x12f8]
push eax
lea ecx, [esp + 0x8d]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a610
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a5e0
push edi
lea ecx, [esp + 0x1ce0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe88]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x66c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1cdc]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35ad], 0
je case.0x1014a6c3.0
mov ecx, dword [eax + 0x35b0]
add eax, 0x35b0
cmp ecx, 3
ja case.0x1014a6c3.0
jmp dword [ecx*4 + 0x1014e738]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014a6d6
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a6c3.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x35b0]
call fcn.100c9180
test al, al
je 0x1014a8c9
lea eax, [esp + 0x1490]
push eax
lea ecx, [esp + 0x8e]
call fcn.1014ead0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014a750
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014a720
push edi
lea ecx, [esp + 0x1cf8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe78]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1cf4]
call fcn.10002120
lea eax, [esp + 0xf64]
push eax
lea ecx, [esp + 0x8f]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a840
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a810
push edi
lea ecx, [esp + 0x1d10]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe68]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d0c]
jmp 0x1014aba4
lea eax, [esp + 0x1484]
push eax
lea ecx, [esp + 0x90]
call fcn.1014ead0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014a920
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014a8f0
push edi
lea ecx, [esp + 0x1d28]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe58]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d24]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x35b0]
call fcn.100c8e50
test al, al
je 0x1014aaad
lea eax, [esp + 0x11cc]
push eax
lea ecx, [esp + 0x91]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014aa24
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014a9f4
push edi
lea ecx, [esp + 0x1d40]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe48]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1ec]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d3c]
jmp 0x1014aba4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x35b0]
call fcn.100c8cf0
test al, al
je 0x1014aba9
lea eax, [esp + 0x12ec]
push eax
lea ecx, [esp + 0x92]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ab20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014aaf0
push edi
lea ecx, [esp + 0x1d58]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe38]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d54]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34dc], 0
je case.0x1014abd3.0
mov ecx, dword [eax + 0x34f4]
add eax, 0x34f4
cmp ecx, 3
ja case.0x1014abd3.0
jmp dword [ecx*4 + 0x1014e748]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014abe6
mov al, byte [eax + 0x20]
test al, al
je case.0x1014abd3.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x34f4]
call fcn.100c9180
test al, al
je 0x1014add9
lea eax, [esp + 0x1364]
push eax
lea ecx, [esp + 0x93]
call fcn.1014eaf0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ac60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ac30
push edi
lea ecx, [esp + 0x1d70]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe28]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d6c]
call fcn.10002120
lea eax, [esp + 0xf6c]
push eax
lea ecx, [esp + 0x94]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ad50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014ad20
push edi
lea ecx, [esp + 0x1d88]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe18]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x204]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d84]
jmp 0x1014b0b4
lea eax, [esp + 0x12e0]
push eax
lea ecx, [esp + 0x95]
call fcn.1014eaf0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ae30
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ae00
push edi
lea ecx, [esp + 0x1da0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe08]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x20c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1d9c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x34f4]
call fcn.100c8e50
test al, al
je 0x1014afbd
lea eax, [esp + 0x1224]
push eax
lea ecx, [esp + 0x96]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014af34
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014af04
push edi
lea ecx, [esp + 0x1db8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdf8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x214]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1db4]
jmp 0x1014b0b4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x34f4]
call fcn.100c8cf0
test al, al
je 0x1014b0b9
lea eax, [esp + 0x12d4]
push eax
lea ecx, [esp + 0x97]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b030
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b000
push edi
lea ecx, [esp + 0x1dd0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xde8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x21c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1dcc]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34b4], 0
je case.0x1014b0e3.0
mov ecx, dword [eax + 0x34b8]
add eax, 0x34b8
cmp ecx, 3
ja case.0x1014b0e3.0
jmp dword [ecx*4 + 0x1014e758]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014b0f6
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b0e3.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x34b8]
call fcn.100c9180
test al, al
je 0x1014b2e9
lea eax, [esp + 0x12c8]
push eax
lea ecx, [esp + 0x98]
call fcn.1014eb10
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b170
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b140
push edi
lea ecx, [esp + 0x1de8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdd8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x224]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1de4]
call fcn.10002120
lea eax, [esp + 0xf74]
push eax
lea ecx, [esp + 0x99]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b260
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b230
push edi
lea ecx, [esp + 0x1e00]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdc8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x22c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1dfc]
jmp 0x1014b5c4
lea eax, [esp + 0x12bc]
push eax
lea ecx, [esp + 0x9a]
call fcn.1014eb10
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b340
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b310
push edi
lea ecx, [esp + 0x1e18]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdb8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x234]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e14]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x34b8]
call fcn.100c8e50
test al, al
je 0x1014b4cd
lea eax, [esp + 0x11d4]
push eax
lea ecx, [esp + 0x9b]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b444
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014b414
push edi
lea ecx, [esp + 0x1e30]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xda8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x23c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e2c]
jmp 0x1014b5c4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x34b8]
call fcn.100c8cf0
test al, al
je 0x1014b5c9
lea eax, [esp + 0x12b0]
push eax
lea ecx, [esp + 0x9c]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b540
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b510
push edi
lea ecx, [esp + 0x1e48]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd98]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x244]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e44]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15b9], 0
je case.0x1014b5f3.0
mov ecx, dword [eax + 0x15bc]
add eax, 0x15bc
cmp ecx, 3
ja case.0x1014b5f3.0
jmp dword [ecx*4 + 0x1014e768]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014b606
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b5f3.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15bc]
call fcn.100c9180
test al, al
je 0x1014b7f9
lea eax, [esp + 0xf7c]
push eax
lea ecx, [esp + 0x9d]
call fcn.1014eb30
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b680
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b650
push edi
lea ecx, [esp + 0x1e60]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd88]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x24c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e5c]
call fcn.10002120
lea eax, [esp + 0xf84]
push eax
lea ecx, [esp + 0x9e]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b770
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b740
push edi
lea ecx, [esp + 0x1e78]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7e8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x254]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e74]
jmp 0x1014bad4
lea eax, [esp + 0xfcc]
push eax
lea ecx, [esp + 0x9f]
call fcn.1014eb30
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b850
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b820
push edi
lea ecx, [esp + 0x1e90]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd78]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1e8c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15bc]
call fcn.100c8e50
test al, al
je 0x1014b9dd
lea eax, [esp + 0x11dc]
push eax
lea ecx, [esp + 0xa0]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b954
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014b924
push edi
lea ecx, [esp + 0x1ea8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd68]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x264]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ea4]
jmp 0x1014bad4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15bc]
call fcn.100c8cf0
test al, al
je 0x1014bad9
lea eax, [esp + 0x1418]
push eax
lea ecx, [esp + 0xa1]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ba50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ba20
push edi
lea ecx, [esp + 0x1ec0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd58]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x26c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ebc]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15e0], 0
je case.0x1014bb03.0
mov ecx, dword [eax + 0x15e4]
add eax, 0x15e4
cmp ecx, 3
ja case.0x1014bb03.0
jmp dword [ecx*4 + 0x1014e778]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014bb16
mov al, byte [eax + 0x20]
test al, al
je case.0x1014bb03.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15e4]
call fcn.100c9180
test al, al
je 0x1014be09
lea eax, [esp + 0x1264]
push eax
lea ecx, [esp + 0xa2]
call fcn.1014eb50
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014bc93
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014bc62
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014bc93
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014bc62
push edi
lea ecx, [esp + 0x1ed8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd48]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x274]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ed4]
call fcn.10002120
lea eax, [esp + 0xf8c]
push eax
lea ecx, [esp + 0xa3]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014bd80
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014bd50
push edi
lea ecx, [esp + 0x1ef0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd38]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x27c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1eec]
jmp 0x1014c1e4
lea eax, [esp + 0x126c]
push eax
lea ecx, [esp + 0xa4]
call fcn.1014eb50
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014bf61
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014bf30
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
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 [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014bf61
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014bf30
push edi
lea ecx, [esp + 0x1f08]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd28]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x284]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f04]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15e4]
call fcn.100c8e50
test al, al
je 0x1014c0ee
lea eax, [esp + 0x11e4]
push eax
lea ecx, [esp + 0xa5]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014c065
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014c035
push edi
lea ecx, [esp + 0x1f20]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd18]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x28c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f1c]
jmp 0x1014c1e4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x15e4]
call fcn.100c8cf0
test al, al
je 0x1014c1e9
lea eax, [esp + 0x140c]
push eax
lea ecx, [esp + 0xa6]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014c160
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014c130
push edi
lea ecx, [esp + 0x1f38]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd08]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x294]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f34]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3518], 0
je case.0x1014c213.0
mov ecx, dword [eax + 0x3520]
add eax, 0x3520
cmp ecx, 3
ja case.0x1014c213.0
jmp dword [ecx*4 + 0x1014e788]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014c226
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c213.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3520]
call fcn.100c9180
test al, al
je 0x1014c569
lea eax, [esp + 0x21ec]
push eax
lea ecx, [esp + 0xa7]
call fcn.1014eb70
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1014c3f5
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014c3c4
movaps xmm0, xmmword [str.2222222222222222]
mov eax, 4
movaps xmm4, xmmword [0x102157f0]
xor edx, edx
movaps xmm3, xmmword [0x10215c30]
sub eax, edi
movaps xmm5, xmmword [0x10215890]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x1014c2c0
mov edi, dword [esp + 0x1c]
jmp 0x1014c3f5
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014c3c4
push edi
lea ecx, [esp + 0x1f50]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcf8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x29c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f4c]
call fcn.10002120
lea eax, [esp + 0xf94]
push eax
lea ecx, [esp + 0xa8]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014c4e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014c4b0
push edi
lea ecx, [esp + 0x1f68]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xce8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2a4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f64]
jmp 0x1014c9a4
lea eax, [esp + 0x21fc]
push eax
lea ecx, [esp + 0xa9]
call fcn.1014eb70
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1014c715
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014c6e4
movaps xmm0, xmmword [str.2222222222222222]
mov eax, 4
movaps xmm4, xmmword [0x102157f0]
xor edx, edx
movaps xmm3, xmmword [0x10215c30]
sub eax, edi
movaps xmm5, xmmword [0x10215890]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop dword [eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x1014c5e0
mov edi, dword [esp + 0x1c]
jmp 0x1014c715
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014c6e4
push edi
lea ecx, [esp + 0x1f80]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcd8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f7c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3520]
call fcn.100c8e50
test al, al
je 0x1014c8a9
lea eax, [esp + 0x11ec]
push eax
lea ecx, [esp + 0xaa]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014c820
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014c7f0
push edi
lea ecx, [esp + 0x1f98]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcc8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2b4]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1f94]
jmp 0x1014c9a4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3520]
call fcn.100c8cf0
test al, al
je 0x1014c9a9
lea eax, [esp + 0x1400]
push eax
lea ecx, [esp + 0xab]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014c920
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014c8f0
push edi
lea ecx, [esp + 0x1fb0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcb8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2bc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1fac]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3439], 0
je case.0x1014c9d3.0
mov ecx, dword [eax + 0x343c]
add eax, 0x343c
cmp ecx, 3
ja case.0x1014c9d3.0
jmp dword [ecx*4 + 0x1014e798]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014c9e6
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c9d3.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x343c]
call fcn.100c9180
test al, al
je 0x1014cbd9
lea eax, [esp + 0x1478]
push eax
lea ecx, [esp + 0xac]
call fcn.1014eb90
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014ca60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014ca30
push edi
lea ecx, [esp + 0x1fc8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xca8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1fc4]
call fcn.10002120
lea eax, [esp + 0xf9c]
push eax
lea ecx, [esp + 0xad]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014cb50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014cb20
push edi
lea ecx, [esp + 0x1fe0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc98]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1fdc]
jmp 0x1014ceb4
lea eax, [esp + 0x146c]
push eax
lea ecx, [esp + 0xae]
call fcn.1014eb90
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014cc30
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014cc00
push edi
lea ecx, [esp + 0x1ff8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc88]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1ff4]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x343c]
call fcn.100c8e50
test al, al
je 0x1014cdbd
lea eax, [esp + 0x11f4]
push eax
lea ecx, [esp + 0xaf]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014cd34
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014cd04
push edi
lea ecx, [esp + 0x2010]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc78]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2dc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x200c]
jmp 0x1014ceb4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x343c]
call fcn.100c8cf0
test al, al
je 0x1014ceb9
lea eax, [esp + 0x13f4]
push eax
lea ecx, [esp + 0xb0]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ce30
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ce00
push edi
lea ecx, [esp + 0x2028]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc68]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2e4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2024]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3460], 0
je case.0x1014cee3.0
mov ecx, dword [eax + 0x3464]
add eax, 0x3464
cmp ecx, 3
ja case.0x1014cee3.0
jmp dword [ecx*4 + 0x1014e7a8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014cef6
mov al, byte [eax + 0x20]
test al, al
je case.0x1014cee3.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3464]
call fcn.100c9180
test al, al
je 0x1014d0e9
lea eax, [esp + 0x14b4]
push eax
lea ecx, [esp + 0xb1]
call fcn.1014ebb0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014cf70
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014cf40
push edi
lea ecx, [esp + 0x2040]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc58]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x203c]
call fcn.10002120
lea eax, [esp + 0xfa4]
push eax
lea ecx, [esp + 0xb2]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014d060
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014d030
push edi
lea ecx, [esp + 0x2058]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xad8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2f4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2054]
jmp 0x1014d3c4
lea eax, [esp + 0x14c0]
push eax
lea ecx, [esp + 0xb3]
call fcn.1014ebb0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d140
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d110
push edi
lea ecx, [esp + 0x2070]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc38]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x206c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3464]
call fcn.100c8e50
test al, al
je 0x1014d2cd
lea eax, [esp + 0x11fc]
push eax
lea ecx, [esp + 0xb4]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d244
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d214
push edi
lea ecx, [esp + 0x2088]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc28]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x304]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2084]
jmp 0x1014d3c4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3464]
call fcn.100c8cf0
test al, al
je 0x1014d3c9
lea eax, [esp + 0x1358]
push eax
lea ecx, [esp + 0xb5]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d340
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d310
push edi
lea ecx, [esp + 0x20a0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc18]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x30c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x209c]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3488], 0
je case.0x1014d3f3.0
mov ecx, dword [eax + 0x3490]
add eax, 0x3490
cmp ecx, 3
ja case.0x1014d3f3.0
jmp dword [ecx*4 + 0x1014e7b8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014d406
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d3f3.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3490]
call fcn.100c9180
test al, al
je 0x1014d5f9
lea eax, [esp + 0x1460]
push eax
lea ecx, [esp + 0xb6]
call fcn.1014ebd0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d480
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d450
push edi
lea ecx, [esp + 0x20b8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc08]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x314]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x20b4]
call fcn.10002120
lea eax, [esp + 0xfac]
push eax
lea ecx, [esp + 0xb7]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014d570
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014d540
push edi
lea ecx, [esp + 0x20d0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbf8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x31c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x20cc]
jmp 0x1014d8d4
lea eax, [esp + 0x1454]
push eax
lea ecx, [esp + 0xb8]
call fcn.1014ebd0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d650
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d620
push edi
lea ecx, [esp + 0x20e8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbe8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x324]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x20e4]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3490]
call fcn.100c8e50
test al, al
je 0x1014d7dd
lea eax, [esp + 0x1204]
push eax
lea ecx, [esp + 0xb9]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d754
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d724
push edi
lea ecx, [esp + 0x2100]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbd8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x32c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x20fc]
jmp 0x1014d8d4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3490]
call fcn.100c8cf0
test al, al
je 0x1014d8d9
lea eax, [esp + 0x13e8]
push eax
lea ecx, [esp + 0xba]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d850
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d820
push edi
lea ecx, [esp + 0x2118]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbc8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x334]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2114]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3544], 0
je case.0x1014d903.0
mov ecx, dword [eax + 0x354c]
add eax, 0x354c
cmp ecx, 3
ja case.0x1014d903.0
jmp dword [ecx*4 + 0x1014e7c8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014d916
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d903.0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x354c]
call fcn.100c9180
test al, al
je 0x1014db09
lea eax, [esp + 0x1448]
push eax
lea ecx, [esp + 0xbb]
call fcn.1014ebf0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d990
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d960
push edi
lea ecx, [esp + 0x2130]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbb8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x33c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x212c]
call fcn.10002120
lea eax, [esp + 0x1004]
push eax
lea ecx, [esp + 0xbc]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014da80
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014da50
push edi
lea ecx, [esp + 0x2148]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xba8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x344]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2144]
jmp 0x1014dde4
lea eax, [esp + 0x143c]
push eax
lea ecx, [esp + 0xbd]
call fcn.1014ebf0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014db60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014db30
push edi
lea ecx, [esp + 0x2160]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb98]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x215c]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x354c]
call fcn.100c8e50
test al, al
je 0x1014dced
lea eax, [esp + 0x120c]
push eax
lea ecx, [esp + 0xbe]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014dc64
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014dc34
push edi
lea ecx, [esp + 0x2178]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb88]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x354]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x2174]
jmp 0x1014dde4
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x354c]
call fcn.100c8cf0
test al, al
je 0x1014dde9
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0xbf]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014dd60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014dd30
push edi
lea ecx, [esp + 0x2190]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb78]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x35c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x218c]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35e5], 0
je case.0x1014de13.0
mov ecx, dword [eax + 0x36f8]
add eax, 0x36f8
cmp ecx, 3
ja case.0x1014de13.0
jmp dword [ecx*4 + 0x1014e7d8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014de26
mov al, byte [eax + 0x20]
test al, al
je case.0x1014de13.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x36f8]
call fcn.100c9180
test al, al
jne case.0x1014de13.0
lea eax, [esp + 0x14e4]
push eax
lea ecx, [esp + 0xc0]
call fcn.1014ec10
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1014dea0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1014de70
push edi
lea ecx, [esp + 0x21a8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb68]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x364]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x21a4]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x36f8]
call fcn.100c8e50
test al, al
je 0x1014e02d
lea eax, [esp + 0x1214]
push eax
lea ecx, [esp + 0xc1]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014dfa4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014df74
push edi
lea ecx, [esp + 0x1548]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb58]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x36c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1544]
jmp 0x1014e124
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x36f8]
call fcn.100c8cf0
test al, al
je 0x1014e129
lea eax, [esp + 0x13d0]
push eax
lea ecx, [esp + 0xc2]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014e0a0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014e070
push edi
lea ecx, [esp + 0x1560]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb48]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x374]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x155c]
call fcn.10002120
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3411], 0
je case.0x1014e153.0
mov ecx, dword [eax + 0x3414]
add eax, 0x3414
cmp ecx, 3
ja case.0x1014e153.0
jmp dword [ecx*4 + 0x1014e7e8]
mov ecx, eax
call fcn.100c8e50
jmp 0x1014e166
mov al, byte [eax + 0x20]
test al, al
je case.0x1014e153.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3414]
call fcn.100c9180
test al, al
je 0x1014e359
lea eax, [esp + 0x1430]
push eax
lea ecx, [esp + 0xc3]
call fcn.1014ec40
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014e1e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014e1b0
push edi
lea ecx, [esp + 0x1578]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb38]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x37c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x1574]
call fcn.10002120
lea eax, [esp + 0xfbc]
push eax
lea ecx, [esp + 0xc4]
call fcn.1014e8a0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014e2d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014e2a0
push edi
lea ecx, [esp + 0x15a8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb28]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x384]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x15a4]
jmp 0x1014e634
lea eax, [esp + 0x1424]
push eax
lea ecx, [esp + 0xc5]
call fcn.1014ec40
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014e3b0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014e380
push edi
lea ecx, [esp + 0x15c0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb18]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x38c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215400]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215444]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x15bc]
call fcn.10002120
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3414]
call fcn.100c8e50
test al, al
je 0x1014e53d
lea eax, [esp + 0x121c]
push eax
lea ecx, [esp + 0xc6]
call fcn.1014e820
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014e4b4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014e484
push edi
lea ecx, [esp + 0x15d8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb08]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x394]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x15d4]
jmp 0x1014e634
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0x3414]
call fcn.100c8cf0
test al, al
je case.0x1014e153.0
lea eax, [esp + 0x13c4]
push eax
lea ecx, [esp + 0xc7]
call fcn.1014e850
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014e5b0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014e580
push edi
lea ecx, [esp + 0x15f0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
movss xmm1, dword [0x102152ac]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaf8]
call fcn.100cfd40
mov ecx, eax
call fcn.100cfd60
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x39c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215400]
addss xmm1, dword [0x10215548]
call fcn.1009d5c0
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10182720
lea ecx, [esp + 0x15ec]
call fcn.10002120
call fcn.10178960
call fcn.101783f0
mov ecx, dword [esp + 0x222c]
pop edi
pop esi
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret