Function at 0x1014c7af
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x2228
call fcn.101b6c00
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 0x1014eb1f
movss xmm0, dword [ecx + 0x36a4]
xorps xmm1, xmm1
mov edx, dword [0x10469550]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101443ae
movss xmm0, dword [ecx + 0x36a8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10144400
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.10177d50
movq xmm0, qword [0x1020cbd8]
xor edx, edx
mov al, byte [0x1020cbe0]
movq qword [esp + 0xf0c], xmm0
mov byte [esp + 0xf14], al
mov dword [esp + 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x24]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xf0c], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 9
jl 0x10144470
lea ecx, [esp + 0x101c]
call fcn.10029b30
lea ecx, [esp + 0xf0c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101444b2
sub ecx, edx
lea eax, [esp + 0xf0c]
push ecx
push eax
lea ecx, [esp + 0x1024]
call fcn.10027870
push 0
lea ecx, [esp + 0x1020]
call fcn.10006570
movss xmm0, dword [0x102155e4]
xor edx, edx
mov ecx, eax
call fcn.10172b70
lea ecx, [esp + 0x101c]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x40], xmm0
call fcn.10002110
mov eax, dword [0x10469550]
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [0x102152d0]
movss xmm1, dword [0x102154b8]
or dword [eax + 0x1c74], 0x10
movss dword [esp + 0x24], xmm0
subss xmm0, dword [0x102152d0]
mov dword [eax + 0x1cb0], 0x43160000
movss dword [esp + 0x28], 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.1016ffa0
mov eax, dword [0x1020d7f8]
movq xmm0, qword [str.SNZPT_O]
mov dword [esp + 0xf04], eax
mov ax, word [0x1020d7fc]
mov word [esp + 0xf08], ax
test ah, ah
mov eax, dword [0x10241d90]
movq qword [esp + 0xefc], xmm0
je 0x10144707
xor edx, edx
mov dword [esp + 0x30], edx
cmp eax, 2
jl 0x101446d0
movaps xmm2, xmmword [0x10215760]
mov edx, 8
movaps xmm3, xmmword [0x10215bf0]
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 + 0x30], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
movd xmm0, dword [str.SNZPT_O]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10215900]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
movd xmm0, dword [esp + 0xf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10215900]
xorps xmm1, xmm0
movd dword [esp + 0xf00], xmm1
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x30]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xefc], cl
inc edx
mov dword [esp + 0x30], edx
cmp edx, 0xe
jl 0x101446d0
lea ecx, [esp + 0x1074]
call fcn.10029b30
lea ecx, [esp + 0xefc]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144720
sub ecx, edx
lea eax, [esp + 0xefc]
push ecx
push eax
lea ecx, [esp + 0x107c]
call fcn.10027870
push esi
lea ecx, [esp + 0x1078]
call fcn.10006570
xor edx, edx
mov ecx, eax
call fcn.101755f0
lea ecx, [esp + 0x1074]
call fcn.10002110
call fcn.1016ffa0
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 [0x10215488]
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.100bb6b0
push 0xff
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0x3b4]
mov esi, eax
call fcn.100cf8d0
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.100bb830
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 [0x102151ac]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x3904]
movaps xmm0, xmm1
mov byte [edx + 0x14], al
call fcn.100bb830
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.100bb6b0
mov ecx, dword [0x10240c80]
movss xmm0, dword [0x10215378]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
cmp dword [ecx + 0x3908], 0
movss dword [esp + 0x38], xmm0
je 0x101448e8
xorps xmm0, xmm0
movss dword [esp + 0x38], xmm0
lea ecx, [esp + 0x18c]
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movaps xmm0, xmm1
addss xmm0, dword [0x102154b8]
push 0
push ecx
mov ecx, edi
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x100], xmm2
movss dword [esp + 0x38], xmm0
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x2c], xmm0
subss xmm0, dword [0x102152d0]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp], xmm0
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.101815c0
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3908]
test eax, eax
jne 0x10144a0b
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x102154bc]
movss xmm1, dword [0x1021521c]
push ecx
mov dword [esp], 0x3fc00000
push eax
movss dword [esp + 0x104], xmm0
lea eax, [esp + 0x104]
movss xmm0, dword [esp + 0x2c]
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.101814d0
jmp 0x10144bb0
cmp eax, 1
jne 0x10144a6b
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x10c]
subss xmm0, dword [0x1021521c]
movss xmm1, dword [esp + 0x30]
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 0x10144ba8
cmp eax, 2
jne 0x10144ace
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x1ac]
subss xmm0, dword [0x10215330]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.1009d240
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x1b4]
movss xmm1, dword [esp + 0x14]
call fcn.1009d240
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1b0]
push esi
push eax
lea eax, [esp + 0x1c0]
jmp 0x10144ba8
mov ecx, 0x10240c80
call fcn.10035d80
cmp dword [eax + 0x3908], 3
jne 0x10144b3c
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1bc]
subss xmm0, dword [0x1021521c]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.1009d240
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x1c4]
movss xmm1, dword [esp + 0x14]
call fcn.1009d240
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1c0]
push esi
push eax
lea eax, [esp + 0x1d0]
jmp 0x10144ba8
mov ecx, 0x10240c80
call fcn.10035d80
cmp dword [eax + 0x3908], 4
jne 0x10144bb0
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1cc]
subss xmm0, dword [0x1021521c]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.1009d240
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x19c]
movss xmm1, dword [esp + 0x14]
call fcn.1009d240
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1d0]
push esi
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, edi
call fcn.101813a0
mov al, byte [0x1020cbe0]
xor edx, edx
movq xmm0, qword [0x1020cbd8]
mov byte [esp + 0xebc], al
movq qword [esp + 0xeb4], xmm0
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xeb4], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 9
jl 0x10144bd3
lea ecx, [esp + 0x10ec]
call fcn.10029b30
lea ecx, [esp + 0xeb4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144c15
sub ecx, edx
lea eax, [esp + 0xeb4]
push ecx
push eax
lea ecx, [esp + 0x10f4]
call fcn.10027870
lea ecx, [esp + 0x10ec]
call fcn.10006570
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x40]
mulss xmm0, dword [0x102151ac]
push 0
addss xmm1, dword [0x1021546c]
push ecx
mov dword [esp], 0
mov ecx, edi
push 0
push esi
subss xmm1, xmm0
movss xmm0, dword [esp + 0x54]
mulss xmm0, dword [0x102151ac]
push eax
lea eax, [esp + 0x130]
push eax
addss xmm0, dword [esp + 0x38]
push 0
movss dword [esp + 0x138], xmm1
subss xmm0, dword [0x1021521c]
movss dword [esp + 0x13c], xmm0
call fcn.10181b40
lea ecx, [esp + 0x10ec]
call fcn.10002110
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3908]
cmp eax, 3
jne 0x10144d38
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push eax
movss dword [esp + 0x128], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x30]
push eax
push eax
lea eax, [esp + 0x134]
movss dword [esp + 0x138], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x140], xmm0
lea eax, [esp + 0x140]
movss dword [esp + 0x144], xmm1
jmp 0x10144e00
cmp eax, 4
jne 0x10144e08
movss xmm1, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [0x102152d0]
mov eax, dword [esp + 0xc]
push esi
push esi
push eax
push eax
movss dword [esp + 0x144], xmm0
lea eax, [esp + 0x144]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x14c], xmm0
lea eax, [esp + 0x150]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x154], xmm1
movss dword [esp + 0x158], xmm0
call fcn.10181720
movss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
movss dword [esp + 0x144], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x148], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x102154b4]
push esi
push esi
push eax
push eax
lea eax, [esp + 0x154]
movss dword [esp + 0x15c], xmm0
movss xmm0, dword [esp + 0x30]
push eax
movss dword [esp + 0x164], xmm0
lea eax, [esp + 0x160]
push eax
mov ecx, edi
call fcn.10181720
movq xmm0, qword [str.nBX_Va]
xor edx, edx
mov al, byte [0x1020c3d0]
movq qword [esp + 0xed8], xmm0
mov byte [esp + 0xee0], al
mov dword [esp + 0xc], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xed8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 9
jl 0x10144e30
lea ecx, [esp + 0x10d4]
call fcn.10029b30
lea ecx, [esp + 0xed8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144e72
sub ecx, edx
lea eax, [esp + 0xed8]
push ecx
push eax
lea ecx, [esp + 0x10dc]
call fcn.10027870
push 0
lea ecx, [esp + 0x10d8]
call fcn.10006570
movss xmm0, dword [0x102155e4]
xor edx, edx
mov ecx, eax
call fcn.10172b70
lea ecx, [esp + 0x10d4]
movss dword [esp + 0x30], xmm0
call fcn.10002110
mov eax, dword [str.nXT_g_]
xor edx, edx
mov dword [esp + 0xee4], eax
mov ax, word [0x1020c27c]
mov word [esp + 0xee8], ax
mov al, byte [0x1020c27e]
mov byte [esp + 0xeea], al
mov dword [esp + 0xc], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xee4], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x10144ef0
lea ecx, [esp + 0x10bc]
call fcn.10029b30
lea ecx, [esp + 0xee4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144f32
sub ecx, edx
lea eax, [esp + 0xee4]
push ecx
push eax
lea ecx, [esp + 0x10c4]
call fcn.10027870
push 0
lea ecx, [esp + 0x10c0]
call fcn.10006570
movss xmm0, dword [0x102155e4]
xor edx, edx
mov ecx, eax
call fcn.10172b70
lea ecx, [esp + 0x10bc]
movss dword [esp + 0x38], xmm0
call fcn.10002110
mov eax, dword [str.nYYe9]
xor edx, edx
mov dword [esp + 0xed0], eax
mov al, byte [0x1020c37c]
mov byte [esp + 0xed4], al
mov dword [esp + 0xc], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xed0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10144fa0
lea ecx, [esp + 0x10a4]
call fcn.10029b30
lea ecx, [esp + 0xed0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10144fe2
sub ecx, edx
lea eax, [esp + 0xed0]
push ecx
push eax
lea ecx, [esp + 0x10ac]
call fcn.10027870
push 0
lea ecx, [esp + 0x10a8]
call fcn.10006570
movss xmm0, dword [0x102155e4]
xor edx, edx
mov ecx, eax
call fcn.10172b70
lea ecx, [esp + 0x10a4]
movss dword [esp + 0x40], xmm0
call fcn.10002110
mov eax, dword [0x10240c80]
cmp byte [eax + 0x2b4], 0
je case.0x10145057.0
mov ecx, dword [eax + 0xedc]
add eax, 0xedc
cmp ecx, 3
ja case.0x10145057.0
jmp dword [ecx*4 + 0x1014eb34]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014506a
mov al, byte [eax + 0x20]
test al, al
je case.0x10145057.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xedc]
call fcn.100c8ed0
test al, al
jne 0x1014534c
lea eax, [esp + 0x1280]
push eax
lea ecx, [esp + 0xc9]
call fcn.1014ece0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101450d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101450b0
push edi
lea ecx, [esp + 0x1608]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x688]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x3f4]
addss xmm0, dword [0x102153f4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1604]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xedc]
call fcn.100c8ba0
test al, al
je 0x10145254
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0xca]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x101451cb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101451a3
push edi
lea ecx, [esp + 0x1620]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x698]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3fc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x161c]
jmp 0x1014533f
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xedc]
call fcn.100c8a40
test al, al
je 0x10145344
lea eax, [esp + 0x1274]
push eax
lea ecx, [esp + 0xcb]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x101452bb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145293
push edi
lea ecx, [esp + 0x1638]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6a8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x404]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1634]
call fcn.10002110
mov dword [esp + 0x10], 3
mov ecx, 0x10240c80
call fcn.10035d80
cmp byte [eax + 0x2bd], 0
je case.0x10145057.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xf00]
call fcn.100c8e70
test al, al
je case.0x10145057.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xf00]
call fcn.100c8ed0
test al, al
je 0x10145551
lea eax, [esp + 0x1538]
push eax
lea ecx, [esp + 0xcc]
call fcn.1014ed50
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x101453e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x101453c0
push edi
lea ecx, [esp + 0x1650]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6b8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x40c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x164c]
call fcn.10002110
lea eax, [esp + 0xfc4]
push eax
lea ecx, [esp + 0xcd]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x101454c8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101454a0
push edi
lea ecx, [esp + 0x1668]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6c8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x414]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1664]
jmp 0x1014580c
lea eax, [esp + 0x152c]
push eax
lea ecx, [esp + 0xce]
call fcn.1014ed50
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1014559b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145573
push edi
lea ecx, [esp + 0x1680]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6d8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x41c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x167c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xf00]
call fcn.100c8ba0
test al, al
je 0x10145721
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0xcf]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145698
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145670
push edi
lea ecx, [esp + 0x1698]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6e8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x424]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1694]
jmp 0x1014580c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xf00]
call fcn.100c8a40
test al, al
je 0x10145811
lea eax, [esp + 0x12a4]
push eax
lea ecx, [esp + 0xd0]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145788
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145760
push edi
lea ecx, [esp + 0x16b0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6f8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x42c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x16ac]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xa58
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014582a.2648
jmp dword [ecx*4 + 0x1014eb44]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014583d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014582a.2648
mov eax, dword [0x10240c80]
cmp byte [eax], 0
je case.0x1014582a.2648
lea ecx, [eax + 0xa58]
call fcn.100c8ed0
test al, al
jne 0x10145c3a
lea eax, [esp + 0x125c]
push eax
lea ecx, [esp + 0xd1]
call fcn.1014eda0
mov edi, eax
cmp byte [edi + 7], 0
je 0x101459c1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10145990
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x101459c1
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10145990
push edi
lea ecx, [esp + 0x16c8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x708]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x444]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x16c4]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xa58]
call fcn.100c8ba0
test al, al
je 0x10145b46
lea eax, [esp + 0x123c]
push eax
lea ecx, [esp + 0xd2]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145abd
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145a95
push edi
lea ecx, [esp + 0x16e0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x718]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x44c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x16dc]
jmp 0x10145c31
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xa58]
call fcn.100c8a40
test al, al
je 0x10145c36
lea eax, [esp + 0x1394]
push eax
lea ecx, [esp + 0xd3]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145bad
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145b85
push edi
lea ecx, [esp + 0x16f8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x728]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x454]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x16f4]
call fcn.10002110
inc dword [esp + 0x10]
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd3c]
call fcn.100c8ed0
test al, al
je 0x10145f16
lea eax, [esp + 0x1598]
push eax
lea ecx, [esp + 0x4f]
call fcn.1014edc0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10145db1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10145d80
movaps xmm2, xmmword [0x10215760]
mov ecx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10145d80
push edi
lea ecx, [esp + 0x1710]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x738]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x45c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x170c]
call fcn.10002110
lea eax, [esp + 0xfd4]
push eax
lea ecx, [esp + 0x50]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10145e8d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10145e65
push edi
lea ecx, [esp + 0x1728]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x748]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x464]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1724]
jmp 0x101462fc
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd3c]
call fcn.100c8ea0
test al, al
je case.0x1014582a.2648
lea eax, [esp + 0x158c]
push eax
lea ecx, [esp + 0x51]
call fcn.1014edc0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10146091
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10146060
movaps xmm2, xmmword [0x10215760]
mov ecx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10146060
push edi
lea ecx, [esp + 0x1740]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x758]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x46c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x173c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd3c]
call fcn.100c8ba0
test al, al
je 0x10146213
lea eax, [esp + 0x1244]
push eax
lea ecx, [esp + 0x52]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014618a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146162
push edi
lea ecx, [esp + 0x1758]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x768]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x474]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1754]
jmp 0x101462fc
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd3c]
call fcn.100c8a40
test al, al
je 0x10146301
lea eax, [esp + 0x1370]
push eax
lea ecx, [esp + 0x53]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146278
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146250
push edi
lea ecx, [esp + 0x1770]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x778]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x47c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x176c]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe80
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014631a.3712
jmp dword [ecx*4 + 0x1014eb54]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014632d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014631a.3712
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xe80]
call fcn.100c8ed0
test al, al
je 0x1014650f
lea eax, [esp + 0x1520]
push eax
lea ecx, [esp + 0x54]
call fcn.1014ede0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10146398
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146370
push edi
lea ecx, [esp + 0x1788]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x788]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1784]
call fcn.10002110
lea eax, [esp + 0xfdc]
push eax
lea ecx, [esp + 0x55]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10146478
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10146450
push edi
lea ecx, [esp + 0x17a0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x798]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x48c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x179c]
call fcn.10002110
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101467f0
lea eax, [esp + 0x1514]
push eax
lea ecx, [esp + 0x56]
call fcn.1014ede0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10146558
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146530
push edi
lea ecx, [esp + 0x17b8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7a8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x494]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x17b4]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe80]
call fcn.100c8ba0
test al, al
je 0x101466ef
lea eax, [esp + 0x1164]
push eax
lea ecx, [esp + 0x57]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146658
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146630
push edi
lea ecx, [esp + 0x17d0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7b8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x49c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x17cc]
call fcn.10002110
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101467f0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe80]
call fcn.100c8a40
test al, al
je 0x101467e1
lea eax, [esp + 0x1298]
push eax
lea ecx, [esp + 0x58]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146758
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146730
push edi
lea ecx, [esp + 0x17e8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7c8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4a4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x17e4]
call fcn.10002110
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101467f0
mov edi, dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xea4
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10146805.3748
jmp dword [ecx*4 + 0x1014eb64]
mov ecx, eax
call fcn.100c8ba0
jmp 0x10146818
mov al, byte [eax + 0x20]
test al, al
je case.0x10146805.3748
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xea4]
call fcn.100c8ed0
test al, al
je 0x10146a62
lea eax, [esp + 0x1508]
push eax
lea ecx, [esp + 0x59]
call fcn.1014ee10
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 0xa], 0
je 0x10146890
xor ecx, ecx
mov edi, eax
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146860
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x108c]
call fcn.10029b30
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101468a1
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1094]
call fcn.10027870
lea ecx, [esp + 0x108c]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x3b4]
mov esi, eax
movups xmmword [esp + 0x3b4], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215370]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x15c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x168]
push eax
mulss xmm0, dword [0x102153b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x174], xmm0
call fcn.10181b40
lea ecx, [esp + 0x108c]
call fcn.10002110
mov eax, dword [str.nYYe9]
xor edx, edx
mov dword [esp + 0xec0], eax
mov al, byte [0x1020c37c]
mov byte [esp + 0xec4], al
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xec0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10146970
lea ecx, [esp + 0x105c]
call fcn.10029b30
lea ecx, [esp + 0xec0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101469b2
sub ecx, edx
lea eax, [esp + 0xec0]
push ecx
push eax
lea ecx, [esp + 0x1064]
call fcn.10027870
lea ecx, [esp + 0x105c]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x3c4]
mov esi, eax
movups xmmword [esp + 0x3c4], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x40]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x10215370]
push 0
push esi
push eax
lea eax, [esp + 0x170]
addss xmm0, dword [0x102154b8]
push eax
push 0
movss dword [esp + 0x178], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x17c], xmm0
call fcn.10181b40
lea ecx, [esp + 0x105c]
call fcn.10002110
jmp 0x10146d56
mov ax, word [0x1020cc1c]
xor edx, edx
movq xmm0, qword [str._S_]
mov word [esp + 0xf38], ax
mov al, byte [0x1020cc1e]
movq qword [esp + 0xf30], xmm0
mov byte [esp + 0xf3a], al
mov dword [esp + 0xc], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xf30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10146a93
lea ecx, [esp + 0x1044]
call fcn.10029b30
lea ecx, [esp + 0xf30]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146ad5
sub ecx, edx
lea eax, [esp + 0xf30]
push ecx
push eax
lea ecx, [esp + 0x104c]
call fcn.10027870
lea ecx, [esp + 0x1044]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x3d4]
mov esi, eax
movups xmmword [esp + 0x3d4], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x10215370]
mov ecx, dword [esp + 0x18]
push 0
push esi
push eax
movss dword [esp + 0x170], xmm0
lea eax, [esp + 0x170]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x178], xmm0
call fcn.10181c30
lea ecx, [esp + 0x1044]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xea4]
call fcn.100c8ba0
test al, al
je 0x10146c65
lea eax, [esp + 0x116c]
push eax
lea ecx, [esp + 0x5a]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146bdc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146bb4
push edi
lea ecx, [esp + 0x1800]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7d8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4ac]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x17fc]
jmp 0x10146d4d
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xea4]
call fcn.100c8a40
test al, al
je 0x10146d56
lea eax, [esp + 0x128c]
push eax
lea ecx, [esp + 0x5b]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146cc9
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146ca1
push edi
lea ecx, [esp + 0x1818]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc48]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4b4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1814]
call fcn.10002110
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.0x10146d70.2684
jmp dword [ecx*4 + 0x1014eb74]
mov ecx, eax
call fcn.100c8ba0
jmp 0x10146d83
mov al, byte [eax + 0x20]
test al, al
je case.0x10146d70.2684
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c8ed0
test al, al
je 0x1014706b
lea eax, [esp + 0x21bc]
push eax
lea ecx, [esp + 0x5c]
call fcn.1014ee40
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x10146f01
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10146ed0
movaps xmm2, xmmword [0x10215760]
mov ecx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xd
jl 0x10146ed0
push edi
lea ecx, [esp + 0x1830]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7f8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x182c]
call fcn.10002110
lea eax, [esp + 0xfe4]
push eax
lea ecx, [esp + 0x5d]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10146fdd
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10146fb5
push edi
lea ecx, [esp + 0x1848]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x808]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4c4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1844]
call fcn.10002110
jmp 0x10147491
mov eax, dword [0x1020c48c]
xor edx, edx
cmp dword [0x10241d90], 2
movq xmm0, qword [str.z_RJKS_Y]
mov dword [esp + 0xef4], eax
mov al, byte [0x1020c490]
movq qword [esp + 0xeec], xmm0
mov byte [esp + 0xef8], al
mov dword [esp + 0x24], edx
jl 0x101471b3
movaps xmm2, xmmword [0x10215760]
mov edx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.z_RJKS_Y]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0xef0]
xorps xmm1, xmm0
movd dword [esp + 0xef0], xmm1
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x24]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xeec], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xd
jl 0x101471b3
lea ecx, [esp + 0x1104]
call fcn.10029b30
lea ecx, [esp + 0xeec]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10147200
sub ecx, edx
lea eax, [esp + 0xeec]
push ecx
push eax
lea ecx, [esp + 0x110c]
call fcn.10027870
lea ecx, [esp + 0x1104]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x3e4]
mov esi, eax
movups xmmword [esp + 0x3e4], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215370]
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 [0x102153b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x18c], xmm0
call fcn.10181b40
lea ecx, [esp + 0x1104]
call fcn.10002110
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c8ba0
test al, al
je 0x101473a1
lea eax, [esp + 0x1174]
push eax
lea ecx, [esp + 0x5e]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147318
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101472f0
push edi
lea ecx, [esp + 0x1860]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x818]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x185c]
jmp 0x1014748c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xa7c]
call fcn.100c8a40
test al, al
je 0x10147495
lea eax, [esp + 0x13ac]
push eax
lea ecx, [esp + 0x5f]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147408
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101473e0
push edi
lea ecx, [esp + 0x1878]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x828]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4d4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1874]
call fcn.10002110
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.0x101474af.2720
jmp dword [ecx*4 + 0x1014eb84]
mov ecx, eax
call fcn.100c8ba0
jmp 0x101474c2
mov al, byte [eax + 0x20]
test al, al
je case.0x101474af.2720
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c8ed0
xor edx, edx
mov dword [esp + 0xc], edx
test al, al
je 0x10147718
mov ax, word [0x1020d210]
movq xmm0, qword [0x1020d208]
mov word [esp + 0xf20], ax
mov al, byte [0x1020d212]
movq qword [esp + 0xf18], xmm0
mov byte [esp + 0xf22], al
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xf18], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10147514
lea ecx, [esp + 0x111c]
call fcn.10029b30
lea ecx, [esp + 0xf18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10147556
sub ecx, edx
lea eax, [esp + 0xf18]
push ecx
push eax
lea ecx, [esp + 0x1124]
call fcn.10027870
lea ecx, [esp + 0x111c]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x434]
mov esi, eax
movups xmmword [esp + 0x434], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215370]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x17c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x188]
push eax
mulss xmm0, dword [0x102153b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x194], xmm0
call fcn.10181b40
lea ecx, [esp + 0x111c]
call fcn.10002110
mov eax, dword [str.nYYe9]
xor edx, edx
mov dword [esp + 0xec8], eax
mov al, byte [0x1020c37c]
mov byte [esp + 0xecc], al
mov dword [esp + 0xc], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xec8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10147626
lea ecx, [esp + 0x1134]
call fcn.10029b30
lea ecx, [esp + 0xec8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10147668
sub ecx, edx
lea eax, [esp + 0xec8]
push ecx
push eax
lea ecx, [esp + 0x113c]
call fcn.10027870
lea ecx, [esp + 0x1134]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x58c]
mov esi, eax
movups xmmword [esp + 0x58c], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x40]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x10215370]
push 0
push esi
push eax
lea eax, [esp + 0x190]
addss xmm0, dword [0x102154b8]
push eax
push 0
movss dword [esp + 0x198], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x19c], xmm0
call fcn.10181b40
lea ecx, [esp + 0x1134]
call fcn.10002110
jmp 0x10147a15
mov ax, word [0x1020d210]
movq xmm0, qword [0x1020d208]
mov word [esp + 0xf2c], ax
mov al, byte [0x1020d212]
movq qword [esp + 0xf24], xmm0
mov byte [esp + 0xf2e], al
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + edx + 0xf24], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10147743
lea ecx, [esp + 0x114c]
call fcn.10029b30
lea ecx, [esp + 0xf24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10147785
sub ecx, edx
lea eax, [esp + 0xf24]
push ecx
push eax
lea ecx, [esp + 0x1154]
call fcn.10027870
lea ecx, [esp + 0x114c]
call fcn.10006570
movaps xmm0, xmmword [0x10215b20]
lea ecx, [esp + 0x5ac]
mov esi, eax
movups xmmword [esp + 0x5ac], xmm0
call fcn.100cf950
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x10215370]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x18c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x198]
push eax
mulss xmm0, dword [0x102153b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x1a4], xmm0
call fcn.10181b40
lea ecx, [esp + 0x114c]
call fcn.10002110
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c8ba0
test al, al
je 0x10147921
lea eax, [esp + 0x117c]
push eax
lea ecx, [esp + 0x60]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147898
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147870
push edi
lea ecx, [esp + 0x1890]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x838]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x188c]
jmp 0x10147a0c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xaa0]
call fcn.100c8a40
test al, al
je 0x10147a15
lea eax, [esp + 0x13a0]
push eax
lea ecx, [esp + 0x61]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147988
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147960
push edi
lea ecx, [esp + 0x18a8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x848]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x18a4]
call fcn.10002110
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.0x10147a2f.3640
jmp dword [ecx*4 + 0x1014eb94]
mov ecx, eax
call fcn.100c8ba0
jmp 0x10147a42
mov al, byte [eax + 0x20]
test al, al
je case.0x10147a2f.3640
imul ecx, dword [0x1024c17c], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb49], 0
je case.0x10147a2f.3640
lea ecx, [eax + 0xe38]
call fcn.100c8ed0
test al, al
je 0x10147c23
lea eax, [esp + 0x14fc]
push eax
lea ecx, [esp + 0x62]
call fcn.1014ee70
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10147abe
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10147a96
push edi
lea ecx, [esp + 0x18c0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x858]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x18bc]
call fcn.10002110
lea eax, [esp + 0xfb4]
push eax
lea ecx, [esp + 0x63]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10147b9a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10147b72
push edi
lea ecx, [esp + 0x18d8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x868]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x18d4]
jmp 0x10147edc
lea eax, [esp + 0x14f0]
push eax
lea ecx, [esp + 0x64]
call fcn.1014ee70
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10147c6a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10147c42
push edi
lea ecx, [esp + 0x18f0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x878]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x18ec]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe38]
call fcn.100c8ba0
test al, al
je 0x10147df1
lea eax, [esp + 0x1184]
push eax
lea ecx, [esp + 0x65]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147d68
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147d40
push edi
lea ecx, [esp + 0x1908]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x888]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x504]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1904]
jmp 0x10147edc
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe38]
call fcn.100c8a40
test al, al
je 0x10147ee1
lea eax, [esp + 0x1388]
push eax
lea ecx, [esp + 0x66]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147e58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147e30
push edi
lea ecx, [esp + 0x1920]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x958]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x50c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x191c]
call fcn.10002110
mov edi, dword [esp + 0x10]
mov ecx, 0x10240c80
inc edi
mov esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], esi
call fcn.10035d80
lea ecx, [eax + 0xe14]
call fcn.100c8e70
test al, al
je case.0x10147a2f.3640
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe14]
call fcn.100c8ed0
test al, al
je 0x1014824f
lea eax, [esp + 0x221c]
push eax
lea ecx, [esp + 0x67]
call fcn.1014eea0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x101480d5
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x101480a4
movaps xmm0, xmmword [0x10215900]
mov eax, 4
movaps xmm4, xmmword [0x10215760]
xor edx, edx
movaps xmm3, xmmword [0x10215bf0]
sub eax, edi
movaps xmm5, xmmword [0x10215820]
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 [0x102158a0]
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 [0x102158a0]
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 0x10147fa0
mov edi, dword [esp + 0x1c]
jmp 0x101480d5
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x101480a4
push edi
lea ecx, [esp + 0x1938]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa78]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x514]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1934]
call fcn.10002110
lea eax, [esp + 0xfec]
push eax
lea ecx, [esp + 0x68]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x101481b8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148190
push edi
lea ecx, [esp + 0x1950]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa88]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x51c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x194c]
call fcn.10002110
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x10147a2f.3640
mov ecx, 0x10240c80
mov dword [esp + 0x10], esi
call fcn.10035d80
lea ecx, [eax + 0xe14]
call fcn.100c8ed0
test al, al
jne case.0x10147a2f.3640
lea eax, [esp + 0x220c]
push eax
lea ecx, [esp + 0x69]
call fcn.1014eea0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10148415
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x101483e4
movaps xmm0, xmmword [0x10215900]
mov eax, 4
movaps xmm4, xmmword [0x10215760]
xor edx, edx
movaps xmm3, xmmword [0x10215bf0]
sub eax, edi
movaps xmm5, xmmword [0x10215820]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], 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 [0x102158a0]
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 [0x102158a0]
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 0x101482e0
mov edi, dword [esp + 0x1c]
jmp 0x10148415
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x101483e4
push edi
lea ecx, [esp + 0x1968]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaa8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x524]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1964]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe14]
call fcn.100c8ba0
test al, al
je 0x10148597
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x6a]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014850e
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101484e6
push edi
lea ecx, [esp + 0x1980]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xab8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x52c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x197c]
jmp 0x1014867f
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe14]
call fcn.100c8a40
test al, al
je 0x10148684
lea eax, [esp + 0x137c]
push eax
lea ecx, [esp + 0x6b]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x101485fb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101485d3
push edi
lea ecx, [esp + 0x1998]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xac8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x534]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1994]
call fcn.10002110
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x10240c80]
add eax, 0xdf0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101486a2.3568
jmp dword [ecx*4 + 0x1014eba4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x101486b5
mov al, byte [eax + 0x20]
test al, al
je case.0x101486a2.3568
imul ecx, dword [0x1024c17c], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb50], 0
je case.0x101486a2.3568
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdf0]
call fcn.100c8ed0
test al, al
je 0x101488a1
lea eax, [esp + 0x14cc]
push eax
lea ecx, [esp + 0x6c]
call fcn.1014eec0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014873b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10148713
push edi
lea ecx, [esp + 0x19b0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xae8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x53c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x19ac]
call fcn.10002110
lea eax, [esp + 0xff4]
push eax
lea ecx, [esp + 0x6d]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148818
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101487f0
push edi
lea ecx, [esp + 0x19c8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x898]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x544]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x19c4]
jmp 0x10148b5c
lea eax, [esp + 0x14a8]
push eax
lea ecx, [esp + 0x6e]
call fcn.1014eec0
mov edi, eax
cmp byte [edi + 9], 0
je 0x101488e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101488c0
push edi
lea ecx, [esp + 0x19e0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8a8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x54c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x19dc]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdf0]
call fcn.100c8ba0
test al, al
je 0x10148a71
lea eax, [esp + 0x1194]
push eax
lea ecx, [esp + 0x6f]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x101489e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101489c0
push edi
lea ecx, [esp + 0x19f8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8b8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x554]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x19f4]
jmp 0x10148b5c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdf0]
call fcn.100c8a40
test al, al
je 0x10148b61
lea eax, [esp + 0x134c]
push eax
lea ecx, [esp + 0x70]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148ad8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148ab0
push edi
lea ecx, [esp + 0x1a10]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8c8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x55c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a0c]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0xaf4], 0
je case.0x10149bea.3496
mov ecx, dword [eax + 0xd84]
add eax, 0xd84
cmp ecx, 3
ja case.0x10148b8b.0
jmp dword [ecx*4 + 0x1014ebb4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x10148b9e
mov al, byte [eax + 0x20]
test al, al
je case.0x10148b8b.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd84]
call fcn.100c8ed0
test al, al
je 0x10148d71
lea eax, [esp + 0x1340]
push eax
lea ecx, [esp + 0x71]
call fcn.1014eee0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148c08
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148be0
push edi
lea ecx, [esp + 0x1a28]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8d8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x564]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a24]
call fcn.10002110
lea eax, [esp + 0xffc]
push eax
lea ecx, [esp + 0x72]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148ce8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148cc0
push edi
lea ecx, [esp + 0x1a40]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8e8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x56c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a3c]
jmp 0x1014902c
lea eax, [esp + 0x1334]
push eax
lea ecx, [esp + 0x73]
call fcn.1014eee0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148db8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148d90
push edi
lea ecx, [esp + 0x1a58]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8f8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x574]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a54]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd84]
call fcn.100c8ba0
test al, al
je 0x10148f41
lea eax, [esp + 0x119c]
push eax
lea ecx, [esp + 0x74]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10148eb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10148e90
push edi
lea ecx, [esp + 0x1a70]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x908]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x57c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a6c]
jmp 0x1014902c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd84]
call fcn.100c8a40
test al, al
je 0x10149031
lea eax, [esp + 0x1328]
push eax
lea ecx, [esp + 0x75]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148fa8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148f80
push edi
lea ecx, [esp + 0x1a88]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x918]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x584]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a84]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xd60
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014904a.3424
jmp dword [ecx*4 + 0x1014ebc4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014905d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014904a.3424
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd60]
call fcn.100c8ed0
test al, al
je 0x10149341
lea eax, [esp + 0x124c]
push eax
lea ecx, [esp + 0x76]
call fcn.1014ef00
mov edi, eax
cmp byte [edi + 7], 0
je 0x101491d7
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x101491a6
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x101491d7
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x101491a6
push edi
lea ecx, [esp + 0x1aa0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x928]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x59c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1a9c]
call fcn.10002110
lea eax, [esp + 0x100c]
push eax
lea ecx, [esp + 0x77]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x101492b8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149290
push edi
lea ecx, [esp + 0x1ab8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x938]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ab4]
jmp 0x1014970c
lea eax, [esp + 0x1254]
push eax
lea ecx, [esp + 0x78]
call fcn.1014ef00
mov edi, eax
cmp byte [edi + 7], 0
je 0x10149496
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10149465
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10149496
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10149465
push edi
lea ecx, [esp + 0x1ad0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x948]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1acc]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd60]
call fcn.100c8ba0
test al, al
je 0x10149621
lea eax, [esp + 0x11a4]
push eax
lea ecx, [esp + 0x79]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10149598
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149570
push edi
lea ecx, [esp + 0x1ae8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x678]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5c4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ae4]
jmp 0x1014970c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xd60]
call fcn.100c8a40
test al, al
je 0x10149711
lea eax, [esp + 0x13b8]
push eax
lea ecx, [esp + 0x7a]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10149688
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149660
push edi
lea ecx, [esp + 0x1b00]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x968]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5cc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1afc]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xdcc
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014972a.3532
jmp dword [ecx*4 + 0x1014ebd4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014973d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014972a.3532
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdcc]
call fcn.100c8ed0
test al, al
je 0x10149911
lea eax, [esp + 0x1014]
push eax
lea ecx, [esp + 0x7b]
call fcn.1014ef20
mov edi, eax
cmp byte [edi + 4], 0
je 0x101497a9
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149781
push edi
lea ecx, [esp + 0x1b18]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x978]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b14]
call fcn.10002110
lea eax, [esp + 0xf3c]
push eax
lea ecx, [esp + 0x7c]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149888
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149860
push edi
lea ecx, [esp + 0x1b30]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x988]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5dc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b2c]
jmp 0x10149bcc
lea eax, [esp + 0xf44]
push eax
lea ecx, [esp + 0x7d]
call fcn.1014ef20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149958
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149930
push edi
lea ecx, [esp + 0x1b48]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x998]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b44]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdcc]
call fcn.100c8ba0
test al, al
je 0x10149ae1
lea eax, [esp + 0x11ac]
push eax
lea ecx, [esp + 0x7e]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10149a58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149a30
push edi
lea ecx, [esp + 0x1b60]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9a8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5ec]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b5c]
jmp 0x10149bcc
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xdcc]
call fcn.100c8a40
test al, al
je 0x10149bd1
lea eax, [esp + 0x131c]
push eax
lea ecx, [esp + 0x7f]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x10149b48
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149b20
push edi
lea ecx, [esp + 0x1b78]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9c8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5f4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b74]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xda8
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10149bea.3496
jmp dword [ecx*4 + 0x1014ebe4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x10149bfd
mov al, byte [eax + 0x20]
test al, al
je case.0x10149bea.3496
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xda8]
call fcn.100c8ed0
test al, al
je 0x10149dd4
lea eax, [esp + 0x1034]
push eax
lea ecx, [esp + 0x80]
call fcn.1014ef40
mov edi, eax
cmp byte [edi + 5], 0
je 0x10149c6c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10149c44
push edi
lea ecx, [esp + 0x1b90]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9d8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1b8c]
call fcn.10002110
lea eax, [esp + 0xf4c]
push eax
lea ecx, [esp + 0x81]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149d4b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149d23
push edi
lea ecx, [esp + 0x1ba8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9e8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x604]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ba4]
jmp 0x1014a08e
lea eax, [esp + 0x103c]
push eax
lea ecx, [esp + 0x82]
call fcn.1014ef40
mov edi, eax
cmp byte [edi + 5], 0
je 0x10149e1e
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10149df6
push edi
lea ecx, [esp + 0x1bc0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9f8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x60c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1bbc]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xda8]
call fcn.100c8ba0
test al, al
je 0x10149fa3
lea eax, [esp + 0x11b4]
push eax
lea ecx, [esp + 0x83]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x10149f1a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149ef2
push edi
lea ecx, [esp + 0x1bd8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa08]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x614]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1bd4]
jmp 0x1014a08e
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xda8]
call fcn.100c8a40
test al, al
je 0x1014a093
lea eax, [esp + 0x1310]
push eax
lea ecx, [esp + 0x84]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a00a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149fe2
push edi
lea ecx, [esp + 0x1bf0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa18]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x61c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1bec]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe5c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014a0ac.3676
jmp dword [ecx*4 + 0x1014ebf4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014a0bf
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a0ac.3676
imul ecx, dword [0x1024c17c], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb64], 0
je case.0x1014a0ac.3676
lea ecx, [eax + 0xe5c]
call fcn.100c8ed0
test al, al
je 0x1014a3c1
lea eax, [esp + 0x21dc]
push eax
lea ecx, [esp + 0x85]
call fcn.1014ef60
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1014a253
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x1014a222
movaps xmm2, xmmword [0x10215760]
mov ecx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x1014a222
push edi
lea ecx, [esp + 0x1c08]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa28]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x624]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c04]
call fcn.10002110
lea eax, [esp + 0xf54]
push eax
lea ecx, [esp + 0x86]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a338
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a310
push edi
lea ecx, [esp + 0x1c20]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa38]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x62c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c1c]
jmp 0x1014a79c
lea eax, [esp + 0x21cc]
push eax
lea ecx, [esp + 0x87]
call fcn.1014ef60
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1014a521
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x1014a4f0
movaps xmm2, xmmword [0x10215760]
mov ecx, 8
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x1014a4f0
push edi
lea ecx, [esp + 0x1c38]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa48]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x634]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c34]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe5c]
call fcn.100c8ba0
test al, al
je 0x1014a6b1
lea eax, [esp + 0x11bc]
push eax
lea ecx, [esp + 0x88]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014a628
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014a600
push edi
lea ecx, [esp + 0x1c50]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa58]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x63c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c4c]
jmp 0x1014a79c
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0xe5c]
call fcn.100c8a40
test al, al
je 0x1014a7a1
lea eax, [esp + 0x1304]
push eax
lea ecx, [esp + 0x89]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a718
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a6f0
push edi
lea ecx, [esp + 0x1c68]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9b8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x644]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c64]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0x3574
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014a7ba.13684
jmp dword [ecx*4 + 0x1014ec04]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014a7cd
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a7ba.13684
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3570], 0
je case.0x1014a7ba.13684
lea ecx, [eax + 0x3574]
call fcn.100c8ed0
test al, al
je 0x1014a9b4
lea eax, [esp + 0x14d8]
push eax
lea ecx, [esp + 0x8a]
call fcn.1014ef90
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014a848
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014a820
push edi
lea ecx, [esp + 0x1c80]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa98]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x64c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c7c]
call fcn.10002110
lea eax, [esp + 0xf5c]
push eax
lea ecx, [esp + 0x8b]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a92b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a903
push edi
lea ecx, [esp + 0x1c98]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa68]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x654]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1c94]
jmp 0x1014aca0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3574]
call fcn.100c8ed0
test al, al
jne case.0x1014a7ba.13684
lea eax, [esp + 0x149c]
push eax
lea ecx, [esp + 0x8c]
call fcn.1014ef90
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014aa28
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014aa00
push edi
lea ecx, [esp + 0x1cb0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xea8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x65c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1cac]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3574]
call fcn.100c8ba0
test al, al
je 0x1014abb1
lea eax, [esp + 0x11c4]
push eax
lea ecx, [esp + 0x8d]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014ab28
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014ab00
push edi
lea ecx, [esp + 0x1cc8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe98]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x664]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1cc4]
jmp 0x1014aca0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3574]
call fcn.100c8a40
test al, al
je 0x1014aca5
lea eax, [esp + 0x12f8]
push eax
lea ecx, [esp + 0x8e]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ac1c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014abf4
push edi
lea ecx, [esp + 0x1ce0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe88]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x66c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1cdc]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35ad], 0
je case.0x1014accf.0
mov ecx, dword [eax + 0x35b0]
add eax, 0x35b0
cmp ecx, 3
ja case.0x1014accf.0
jmp dword [ecx*4 + 0x1014ec14]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014ace2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014accf.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x35b0]
call fcn.100c8ed0
test al, al
je 0x1014aec4
lea eax, [esp + 0x1490]
push eax
lea ecx, [esp + 0x8f]
call fcn.1014efb0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014ad58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014ad30
push edi
lea ecx, [esp + 0x1cf8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe78]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1cf4]
call fcn.10002110
lea eax, [esp + 0xf64]
push eax
lea ecx, [esp + 0x90]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ae3b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014ae13
push edi
lea ecx, [esp + 0x1d10]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe68]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1dc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d0c]
jmp 0x1014b190
lea eax, [esp + 0x1484]
push eax
lea ecx, [esp + 0x91]
call fcn.1014efb0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014af18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014aef0
push edi
lea ecx, [esp + 0x1d28]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe58]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d24]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x35b0]
call fcn.100c8ba0
test al, al
je 0x1014b0a1
lea eax, [esp + 0x11cc]
push eax
lea ecx, [esp + 0x92]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b018
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014aff0
push edi
lea ecx, [esp + 0x1d40]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe48]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1ec]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d3c]
jmp 0x1014b190
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x35b0]
call fcn.100c8a40
test al, al
je 0x1014b195
lea eax, [esp + 0x12ec]
push eax
lea ecx, [esp + 0x93]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b10c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b0e4
push edi
lea ecx, [esp + 0x1d58]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe38]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1f4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d54]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34dc], 0
je case.0x1014b1bf.0
mov ecx, dword [eax + 0x34f4]
add eax, 0x34f4
cmp ecx, 3
ja case.0x1014b1bf.0
jmp dword [ecx*4 + 0x1014ec24]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014b1d2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b1bf.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x34f4]
call fcn.100c8ed0
test al, al
je 0x1014b3b4
lea eax, [esp + 0x1364]
push eax
lea ecx, [esp + 0x94]
call fcn.1014efd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b248
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b220
push edi
lea ecx, [esp + 0x1d70]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe28]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d6c]
call fcn.10002110
lea eax, [esp + 0xf6c]
push eax
lea ecx, [esp + 0x95]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b32b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b303
push edi
lea ecx, [esp + 0x1d88]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe18]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x204]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d84]
jmp 0x1014b680
lea eax, [esp + 0x12e0]
push eax
lea ecx, [esp + 0x96]
call fcn.1014efd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b408
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b3e0
push edi
lea ecx, [esp + 0x1da0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe08]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x20c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1d9c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x34f4]
call fcn.100c8ba0
test al, al
je 0x1014b591
lea eax, [esp + 0x1224]
push eax
lea ecx, [esp + 0x97]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b508
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014b4e0
push edi
lea ecx, [esp + 0x1db8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdf8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x214]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1db4]
jmp 0x1014b680
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x34f4]
call fcn.100c8a40
test al, al
je 0x1014b685
lea eax, [esp + 0x12d4]
push eax
lea ecx, [esp + 0x98]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b5fc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b5d4
push edi
lea ecx, [esp + 0x1dd0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xde8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x21c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1dcc]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34b4], 0
je case.0x1014b6af.0
mov ecx, dword [eax + 0x34b8]
add eax, 0x34b8
cmp ecx, 3
ja case.0x1014b6af.0
jmp dword [ecx*4 + 0x1014ec34]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014b6c2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b6af.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x34b8]
call fcn.100c8ed0
test al, al
je 0x1014b8a4
lea eax, [esp + 0x12c8]
push eax
lea ecx, [esp + 0x99]
call fcn.1014f000
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b738
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b710
push edi
lea ecx, [esp + 0x1de8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdd8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x224]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1de4]
call fcn.10002110
lea eax, [esp + 0xf74]
push eax
lea ecx, [esp + 0x9a]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b81b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b7f3
push edi
lea ecx, [esp + 0x1e00]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdc8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x22c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1dfc]
jmp 0x1014bb70
lea eax, [esp + 0x12bc]
push eax
lea ecx, [esp + 0x9b]
call fcn.1014f000
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b8f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b8d0
push edi
lea ecx, [esp + 0x1e18]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdb8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x234]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e14]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x34b8]
call fcn.100c8ba0
test al, al
je 0x1014ba81
lea eax, [esp + 0x11d4]
push eax
lea ecx, [esp + 0x9c]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b9f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014b9d0
push edi
lea ecx, [esp + 0x1e30]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xda8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x23c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e2c]
jmp 0x1014bb70
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x34b8]
call fcn.100c8a40
test al, al
je 0x1014bb75
lea eax, [esp + 0x12b0]
push eax
lea ecx, [esp + 0x9d]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014baec
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014bac4
push edi
lea ecx, [esp + 0x1e48]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd98]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x244]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e44]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15b9], 0
je case.0x1014bb9f.0
mov ecx, dword [eax + 0x15bc]
add eax, 0x15bc
cmp ecx, 3
ja case.0x1014bb9f.0
jmp dword [ecx*4 + 0x1014ec44]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014bbb2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014bb9f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15bc]
call fcn.100c8ed0
test al, al
je 0x1014bd94
lea eax, [esp + 0xf7c]
push eax
lea ecx, [esp + 0x9e]
call fcn.1014f020
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014bc28
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014bc00
push edi
lea ecx, [esp + 0x1e60]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd88]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x24c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e5c]
call fcn.10002110
lea eax, [esp + 0xf84]
push eax
lea ecx, [esp + 0x9f]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014bd0b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014bce3
push edi
lea ecx, [esp + 0x1e78]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7e8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x254]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e74]
jmp 0x1014c060
lea eax, [esp + 0xfcc]
push eax
lea ecx, [esp + 0xa0]
call fcn.1014f020
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014bde8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014bdc0
push edi
lea ecx, [esp + 0x1e90]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd78]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1e8c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15bc]
call fcn.100c8ba0
test al, al
je 0x1014bf71
lea eax, [esp + 0x11dc]
push eax
lea ecx, [esp + 0xa1]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014bee8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014bec0
push edi
lea ecx, [esp + 0x1ea8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd68]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x264]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ea4]
jmp 0x1014c060
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15bc]
call fcn.100c8a40
test al, al
je 0x1014c065
lea eax, [esp + 0x1418]
push eax
lea ecx, [esp + 0xa2]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014bfdc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014bfb4
push edi
lea ecx, [esp + 0x1ec0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd58]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x26c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ebc]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15e0], 0
je case.0x1014c08f.0
mov ecx, dword [eax + 0x15e4]
add eax, 0x15e4
cmp ecx, 3
ja case.0x1014c08f.0
jmp dword [ecx*4 + 0x1014ec54]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014c0a2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c08f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15e4]
call fcn.100c8ed0
test al, al
je 0x1014c391
lea eax, [esp + 0x1264]
push eax
lea ecx, [esp + 0xa3]
call fcn.1014f040
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014c222
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014c1f1
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014c222
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014c1f1
push edi
lea ecx, [esp + 0x1ed8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd48]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x274]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ed4]
call fcn.10002110
lea eax, [esp + 0xf8c]
push eax
lea ecx, [esp + 0xa4]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014c308
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014c2e0
push edi
lea ecx, [esp + 0x1ef0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd38]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x27c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1eec]
jmp 0x1014c770
lea eax, [esp + 0x126c]
push eax
lea ecx, [esp + 0xa5]
call fcn.1014f040
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014c4f1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014c4c0
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215bf0]
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 [0x10215900]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215820]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014c4f1
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014c4c0
push edi
lea ecx, [esp + 0x1f08]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd28]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x284]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f04]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15e4]
call fcn.100c8ba0
test al, al
je 0x1014c681
lea eax, [esp + 0x11e4]
push eax
lea ecx, [esp + 0xa6]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014c5f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014c5d0
push edi
lea ecx, [esp + 0x1f20]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd18]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x28c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f1c]
jmp 0x1014c770
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x15e4]
call fcn.100c8a40
test al, al
je 0x1014c775
lea eax, [esp + 0x140c]
push eax
lea ecx, [esp + 0xa7]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014c6ec
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014c6c4
push edi
lea ecx, [esp + 0x1f38]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd08]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x294]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f34]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3518], 0
je case.0x1014c79f.0
mov ecx, dword [eax + 0x3520]
add eax, 0x3520
cmp ecx, 3
ja case.0x1014c79f.0
jmp dword [ecx*4 + 0x1014ec64]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014c7b2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c79f.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3520]
call fcn.100c8ed0
test al, al
je 0x1014cb01
lea eax, [esp + 0x21ec]
push eax
lea ecx, [esp + 0xa8]
call fcn.1014f060
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1014c991
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014c960
movaps xmm0, xmmword [0x10215900]
mov eax, 4
movaps xmm4, xmmword [0x10215760]
xor edx, edx
movaps xmm3, xmmword [0x10215bf0]
sub eax, edi
movaps xmm5, xmmword [0x10215820]
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 [0x102158a0]
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 [0x102158a0]
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 0x1014c850
mov edi, dword [esp + 0x1c]
jmp 0x1014c991
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014c960
push edi
lea ecx, [esp + 0x1f50]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcf8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x29c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f4c]
call fcn.10002110
lea eax, [esp + 0xf94]
push eax
lea ecx, [esp + 0xa9]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ca78
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014ca50
push edi
lea ecx, [esp + 0x1f68]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xce8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f64]
jmp 0x1014cf30
lea eax, [esp + 0x21fc]
push eax
lea ecx, [esp + 0xaa]
call fcn.1014f060
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1014ccb1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014cc80
movaps xmm0, xmmword [0x10215900]
mov eax, 4
movaps xmm4, xmmword [0x10215760]
xor edx, edx
movaps xmm3, xmmword [0x10215bf0]
sub eax, edi
movaps xmm5, xmmword [0x10215820]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], 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 [0x102158a0]
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 [0x102158a0]
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 0x1014cb74
mov edi, dword [esp + 0x1c]
jmp 0x1014ccb1
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014cc80
push edi
lea ecx, [esp + 0x1f80]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcd8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f7c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3520]
call fcn.100c8ba0
test al, al
je 0x1014ce41
lea eax, [esp + 0x11ec]
push eax
lea ecx, [esp + 0xab]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014cdb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014cd90
push edi
lea ecx, [esp + 0x1f98]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcc8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2b4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1f94]
jmp 0x1014cf30
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3520]
call fcn.100c8a40
test al, al
je 0x1014cf35
lea eax, [esp + 0x1400]
push eax
lea ecx, [esp + 0xac]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ceac
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ce84
push edi
lea ecx, [esp + 0x1fb0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcb8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2bc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1fac]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3439], 0
je case.0x1014cf5f.0
mov ecx, dword [eax + 0x343c]
add eax, 0x343c
cmp ecx, 3
ja case.0x1014cf5f.0
jmp dword [ecx*4 + 0x1014ec74]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014cf72
mov al, byte [eax + 0x20]
test al, al
je case.0x1014cf5f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x343c]
call fcn.100c8ed0
test al, al
je 0x1014d154
lea eax, [esp + 0x1478]
push eax
lea ecx, [esp + 0xad]
call fcn.1014f080
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014cfe8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014cfc0
push edi
lea ecx, [esp + 0x1fc8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xca8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1fc4]
call fcn.10002110
lea eax, [esp + 0xf9c]
push eax
lea ecx, [esp + 0xae]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014d0cb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014d0a3
push edi
lea ecx, [esp + 0x1fe0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc98]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2cc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1fdc]
jmp 0x1014d420
lea eax, [esp + 0x146c]
push eax
lea ecx, [esp + 0xaf]
call fcn.1014f080
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d1a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d180
push edi
lea ecx, [esp + 0x1ff8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc88]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1ff4]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x343c]
call fcn.100c8ba0
test al, al
je 0x1014d331
lea eax, [esp + 0x11f4]
push eax
lea ecx, [esp + 0xb0]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d2a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d280
push edi
lea ecx, [esp + 0x2010]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc78]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x200c]
jmp 0x1014d420
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x343c]
call fcn.100c8a40
test al, al
je 0x1014d425
lea eax, [esp + 0x13f4]
push eax
lea ecx, [esp + 0xb1]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d39c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d374
push edi
lea ecx, [esp + 0x2028]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc68]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2024]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3460], 0
je case.0x1014d44f.0
mov ecx, dword [eax + 0x3464]
add eax, 0x3464
cmp ecx, 3
ja case.0x1014d44f.0
jmp dword [ecx*4 + 0x1014ec84]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014d462
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d44f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3464]
call fcn.100c8ed0
test al, al
je 0x1014d644
lea eax, [esp + 0x14b4]
push eax
lea ecx, [esp + 0xb2]
call fcn.1014f0a0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d4d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d4b0
push edi
lea ecx, [esp + 0x2040]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc58]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x203c]
call fcn.10002110
lea eax, [esp + 0xfa4]
push eax
lea ecx, [esp + 0xb3]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014d5bb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014d593
push edi
lea ecx, [esp + 0x2058]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xad8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2054]
jmp 0x1014d910
lea eax, [esp + 0x14c0]
push eax
lea ecx, [esp + 0xb4]
call fcn.1014f0a0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d698
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d670
push edi
lea ecx, [esp + 0x2070]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc38]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x206c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3464]
call fcn.100c8ba0
test al, al
je 0x1014d821
lea eax, [esp + 0x11fc]
push eax
lea ecx, [esp + 0xb5]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d798
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d770
push edi
lea ecx, [esp + 0x2088]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc28]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x304]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2084]
jmp 0x1014d910
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3464]
call fcn.100c8a40
test al, al
je 0x1014d915
lea eax, [esp + 0x1358]
push eax
lea ecx, [esp + 0xb6]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d88c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d864
push edi
lea ecx, [esp + 0x20a0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc18]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x30c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x209c]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3488], 0
je case.0x1014d93f.0
mov ecx, dword [eax + 0x3490]
add eax, 0x3490
cmp ecx, 3
ja case.0x1014d93f.0
jmp dword [ecx*4 + 0x1014ec94]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014d952
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d93f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3490]
call fcn.100c8ed0
test al, al
je 0x1014db34
lea eax, [esp + 0x1460]
push eax
lea ecx, [esp + 0xb7]
call fcn.1014f0c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d9c8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d9a0
push edi
lea ecx, [esp + 0x20b8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc08]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x314]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x20b4]
call fcn.10002110
lea eax, [esp + 0xfac]
push eax
lea ecx, [esp + 0xb8]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014daab
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014da83
push edi
lea ecx, [esp + 0x20d0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbf8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x31c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x20cc]
jmp 0x1014de00
lea eax, [esp + 0x1454]
push eax
lea ecx, [esp + 0xb9]
call fcn.1014f0c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014db88
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014db60
push edi
lea ecx, [esp + 0x20e8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbe8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x324]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x20e4]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3490]
call fcn.100c8ba0
test al, al
je 0x1014dd11
lea eax, [esp + 0x1204]
push eax
lea ecx, [esp + 0xba]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014dc88
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014dc60
push edi
lea ecx, [esp + 0x2100]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbd8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x32c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x20fc]
jmp 0x1014de00
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3490]
call fcn.100c8a40
test al, al
je 0x1014de05
lea eax, [esp + 0x13e8]
push eax
lea ecx, [esp + 0xbb]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014dd7c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014dd54
push edi
lea ecx, [esp + 0x2118]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbc8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x334]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2114]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3544], 0
je case.0x1014de2f.0
mov ecx, dword [eax + 0x354c]
add eax, 0x354c
cmp ecx, 3
ja case.0x1014de2f.0
jmp dword [ecx*4 + 0x1014eca4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014de42
mov al, byte [eax + 0x20]
test al, al
je case.0x1014de2f.0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x354c]
call fcn.100c8ed0
test al, al
je 0x1014e024
lea eax, [esp + 0x1448]
push eax
lea ecx, [esp + 0xbc]
call fcn.1014f0e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014deb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014de90
push edi
lea ecx, [esp + 0x2130]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbb8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x33c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x212c]
call fcn.10002110
lea eax, [esp + 0x1004]
push eax
lea ecx, [esp + 0xbd]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014df9b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014df73
push edi
lea ecx, [esp + 0x2148]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xba8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x344]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2144]
jmp 0x1014e2f0
lea eax, [esp + 0x143c]
push eax
lea ecx, [esp + 0xbe]
call fcn.1014f0e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014e078
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014e050
push edi
lea ecx, [esp + 0x2160]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb98]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x215c]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x354c]
call fcn.100c8ba0
test al, al
je 0x1014e201
lea eax, [esp + 0x120c]
push eax
lea ecx, [esp + 0xbf]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014e178
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014e150
push edi
lea ecx, [esp + 0x2178]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb88]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x354]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x2174]
jmp 0x1014e2f0
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x354c]
call fcn.100c8a40
test al, al
je 0x1014e2f5
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0xc0]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014e26c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014e244
push edi
lea ecx, [esp + 0x2190]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb78]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x35c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x218c]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35e5], 0
je case.0x1014e31f.0
mov ecx, dword [eax + 0x36f8]
add eax, 0x36f8
cmp ecx, 3
ja case.0x1014e31f.0
jmp dword [ecx*4 + 0x1014ecb4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014e332
mov al, byte [eax + 0x20]
test al, al
je case.0x1014e31f.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x36f8]
call fcn.100c8ed0
test al, al
jne case.0x1014e31f.0
lea eax, [esp + 0x14e4]
push eax
lea ecx, [esp + 0xc1]
call fcn.1014f100
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1014e3a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1014e380
push edi
lea ecx, [esp + 0x21a8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb68]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x364]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x21a4]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x36f8]
call fcn.100c8ba0
test al, al
je 0x1014e531
lea eax, [esp + 0x1214]
push eax
lea ecx, [esp + 0xc2]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014e4a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014e480
push edi
lea ecx, [esp + 0x1548]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb58]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x36c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1544]
jmp 0x1014e620
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x36f8]
call fcn.100c8a40
test al, al
je 0x1014e625
lea eax, [esp + 0x13d0]
push eax
lea ecx, [esp + 0xc3]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014e59c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014e574
push edi
lea ecx, [esp + 0x1560]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb48]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x374]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x155c]
call fcn.10002110
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3411], 0
je case.0x1014e64f.0
mov ecx, dword [eax + 0x3414]
add eax, 0x3414
cmp ecx, 3
ja case.0x1014e64f.0
jmp dword [ecx*4 + 0x1014ecc4]
mov ecx, eax
call fcn.100c8ba0
jmp 0x1014e662
mov al, byte [eax + 0x20]
test al, al
je case.0x1014e64f.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3414]
call fcn.100c8ed0
test al, al
je 0x1014e844
lea eax, [esp + 0x1430]
push eax
lea ecx, [esp + 0xc4]
call fcn.1014f130
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014e6d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014e6b0
push edi
lea ecx, [esp + 0x1578]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb38]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x37c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x1574]
call fcn.10002110
lea eax, [esp + 0xfbc]
push eax
lea ecx, [esp + 0xc5]
call fcn.1014ed80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014e7bb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014e793
push edi
lea ecx, [esp + 0x15a8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb28]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x384]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x15a4]
jmp 0x1014eb10
lea eax, [esp + 0x1424]
push eax
lea ecx, [esp + 0xc6]
call fcn.1014f130
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014e898
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014e870
push edi
lea ecx, [esp + 0x15c0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb18]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x38c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x10215370]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102153b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x15bc]
call fcn.10002110
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3414]
call fcn.100c8ba0
test al, al
je 0x1014ea21
lea eax, [esp + 0x121c]
push eax
lea ecx, [esp + 0xc7]
call fcn.1014ed00
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014e998
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014e970
push edi
lea ecx, [esp + 0x15d8]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb08]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x394]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x15d4]
jmp 0x1014eb10
mov ecx, 0x10240c80
call fcn.10035d80
lea ecx, [eax + 0x3414]
call fcn.100c8a40
test al, al
je case.0x1014e64f.0
lea eax, [esp + 0x13c4]
push eax
lea ecx, [esp + 0xc8]
call fcn.1014ed30
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014ea8c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ea64
push edi
lea ecx, [esp + 0x15f0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
movss xmm1, dword [0x1021521c]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaf8]
call fcn.100cf930
mov ecx, eax
call fcn.100cf950
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x39c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x10215370]
addss xmm1, dword [0x102154b8]
call fcn.1009d240
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181c30
lea ecx, [esp + 0x15ec]
call fcn.10002110
call fcn.10177e00
call fcn.10177890
mov ecx, dword [esp + 0x222c]
pop edi
pop esi
xor ecx, esp
call fcn.101b5daa
mov esp, ebp
pop ebp
ret