616da2:	e8 94 f3 de ff       	call   0x40613b
616da7:	ff 75 a4             	push   -0x5c(%ebp)
616daa:	6a 20                	push   $0x20
616dac:	e8 97 63 df ff       	call   0x40d148
616db1:	ff 75 a4             	push   -0x5c(%ebp)
616db4:	68 2c b5 be 00       	push   $0xbeb52c
616db9:	e8 e4 d1 df ff       	call   0x413fa2
616dbe:	ff 75 a4             	push   -0x5c(%ebp)
616dc1:	68 38 50 bd 00       	push   $0xbd5038
616dc6:	e8 d7 d1 df ff       	call   0x413fa2
616dcb:	ff 75 a4             	push   -0x5c(%ebp)
616dce:	68 f8 b4 be 00       	push   $0xbeb4f8
616dd3:	e8 ca d1 df ff       	call   0x413fa2
616dd8:	ff 75 a4             	push   -0x5c(%ebp)
616ddb:	6a 22                	push   $0x22
616ddd:	e8 66 63 df ff       	call   0x40d148
616de2:	ff 75 a4             	push   -0x5c(%ebp)
616de5:	6a 20                	push   $0x20
616de7:	e8 5c 63 df ff       	call   0x40d148
616dec:	ff 75 a4             	push   -0x5c(%ebp)
616def:	68 58 b5 be 00       	push   $0xbeb558
616df4:	e8 a9 d1 df ff       	call   0x413fa2
616df9:	ff 75 a4             	push   -0x5c(%ebp)
616dfc:	68 38 50 bd 00       	push   $0xbd5038
616e01:	e8 9c d1 df ff       	call   0x413fa2
616e06:	83 c4 40             	add    $0x40,%esp
616e09:	ff 75 a4             	push   -0x5c(%ebp)
616e0c:	68 38 b5 be 00       	push   $0xbeb538
616e11:	e8 8c d1 df ff       	call   0x413fa2
616e16:	ff 75 a4             	push   -0x5c(%ebp)
616e19:	6a 22                	push   $0x22
616e1b:	e8 28 63 df ff       	call   0x40d148
616e20:	83 c4 10             	add    $0x10,%esp
616e23:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616e26:	68 64 b5 be 00       	push   $0xbeb564
616e2b:	e8 0b f3 de ff       	call   0x40613b
616e30:	6a 1f                	push   $0x1f
616e32:	68 78 b5 be 00       	push   $0xbeb578
616e37:	8d 4d c0             	lea    -0x40(%ebp),%ecx
616e3a:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
616e41:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
616e48:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
616e4c:	e8 40 d8 df ff       	call   0x414691
616e51:	6a ff                	push   $0xffffffff
616e53:	6a 00                	push   $0x0
616e55:	57                   	push   %edi
616e56:	8d 4d c0             	lea    -0x40(%ebp),%ecx
616e59:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
616e5d:	e8 00 32 e2 ff       	call   0x43a062
616e62:	ff 75 a4             	push   -0x5c(%ebp)
616e65:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
616e69:	8d 75 c0             	lea    -0x40(%ebp),%esi
616e6c:	6a 20                	push   $0x20
616e6e:	0f 43 75 c0          	cmovae -0x40(%ebp),%esi
616e72:	e8 d1 62 df ff       	call   0x40d148
616e77:	ff 75 a4             	push   -0x5c(%ebp)
616e7a:	68 a0 b5 be 00       	push   $0xbeb5a0
616e7f:	e8 1e d1 df ff       	call   0x413fa2
616e84:	ff 75 a4             	push   -0x5c(%ebp)
616e87:	68 38 50 bd 00       	push   $0xbd5038
616e8c:	e8 11 d1 df ff       	call   0x413fa2
616e91:	ff 75 a4             	push   -0x5c(%ebp)
616e94:	56                   	push   %esi
616e95:	e8 08 d1 df ff       	call   0x413fa2
616e9a:	ff 75 a4             	push   -0x5c(%ebp)
616e9d:	6a 22                	push   $0x22
616e9f:	e8 a4 62 df ff       	call   0x40d148
616ea4:	83 c4 28             	add    $0x28,%esp
616ea7:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616eaa:	68 a8 b5 be 00       	push   $0xbeb5a8
616eaf:	e8 87 f2 de ff       	call   0x40613b
616eb4:	8d 47 18             	lea    0x18(%edi),%eax
616eb7:	50                   	push   %eax
616eb8:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616ebb:	e8 a9 3f e1 ff       	call   0x42ae69
616ec0:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616ec3:	e8 dd 39 e2 ff       	call   0x43a8a5
616ec8:	68 b4 b5 be 00       	push   $0xbeb5b4
616ecd:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616ed0:	e8 66 f2 de ff       	call   0x40613b
616ed5:	6a 03                	push   $0x3
616ed7:	68 c4 b5 be 00       	push   $0xbeb5c4
616edc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
616edf:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
616ee6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
616eed:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
616ef1:	e8 9b d7 df ff       	call   0x414691
616ef6:	8d 45 d8             	lea    -0x28(%ebp),%eax
616ef9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
616efd:	50                   	push   %eax
616efe:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f01:	e8 63 3f e1 ff       	call   0x42ae69
616f06:	8b 45 ec             	mov    -0x14(%ebp),%eax
616f09:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
616f0d:	83 f8 10             	cmp    $0x10,%eax
616f10:	72 0d                	jb     0x616f1f
616f12:	40                   	inc    %eax
616f13:	8d 4d d8             	lea    -0x28(%ebp),%ecx
616f16:	50                   	push   %eax
616f17:	ff 75 d8             	push   -0x28(%ebp)
616f1a:	e8 fd d6 e1 ff       	call   0x43461c
616f1f:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f22:	e8 7e 39 e2 ff       	call   0x43a8a5
616f27:	68 c8 b5 be 00       	push   $0xbeb5c8
616f2c:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f2f:	e8 07 f2 de ff       	call   0x40613b
616f34:	8d 47 30             	lea    0x30(%edi),%eax
616f37:	50                   	push   %eax
616f38:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f3b:	e8 29 3f e1 ff       	call   0x42ae69
616f40:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f43:	e8 5d 39 e2 ff       	call   0x43a8a5
616f48:	68 d4 b5 be 00       	push   $0xbeb5d4
616f4d:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f50:	e8 e6 f1 de ff       	call   0x40613b
616f55:	8d 47 48             	lea    0x48(%edi),%eax
616f58:	50                   	push   %eax
616f59:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f5c:	e8 08 3f e1 ff       	call   0x42ae69
616f61:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f64:	e8 3c 39 e2 ff       	call   0x43a8a5
616f69:	68 e4 b5 be 00       	push   $0xbeb5e4
616f6e:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f71:	e8 c5 f1 de ff       	call   0x40613b
616f76:	8d 47 60             	lea    0x60(%edi),%eax
616f79:	50                   	push   %eax
616f7a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f7d:	e8 e7 3e e1 ff       	call   0x42ae69
616f82:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f85:	e8 1b 39 e2 ff       	call   0x43a8a5
616f8a:	68 f8 b5 be 00       	push   $0xbeb5f8
616f8f:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f92:	e8 a4 f1 de ff       	call   0x40613b
616f97:	8d 47 78             	lea    0x78(%edi),%eax
616f9a:	50                   	push   %eax
616f9b:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616f9e:	e8 c6 3e e1 ff       	call   0x42ae69
616fa3:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616fa6:	e8 fa 38 e2 ff       	call   0x43a8a5
616fab:	8b 8f b8 00 00 00    	mov    0xb8(%edi),%ecx
616fb1:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
616fb6:	2b 8f b4 00 00 00    	sub    0xb4(%edi),%ecx
616fbc:	f7 e9                	imul   %ecx
616fbe:	c1 fa 02             	sar    $0x2,%edx
616fc1:	8b c2                	mov    %edx,%eax
616fc3:	c1 e8 1f             	shr    $0x1f,%eax
616fc6:	03 c2                	add    %edx,%eax
616fc8:	0f 84 00 01 00 00    	je     0x6170ce
616fce:	68 0c b6 be 00       	push   $0xbeb60c
616fd3:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
616fd6:	e8 60 f1 de ff       	call   0x40613b
616fdb:	ff b7 a8 00 00 00    	push   0xa8(%edi)
616fe1:	8d 45 d8             	lea    -0x28(%ebp),%eax
616fe4:	50                   	push   %eax
616fe5:	e8 08 ce e1 ff       	call   0x433df2
616fea:	83 c4 08             	add    $0x8,%esp
616fed:	8b f0                	mov    %eax,%esi
616fef:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
616ff3:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
616ff7:	72 02                	jb     0x616ffb
616ff9:	8b 36                	mov    (%esi),%esi
616ffb:	ff 75 a4             	push   -0x5c(%ebp)
616ffe:	6a 20                	push   $0x20
617000:	e8 43 61 df ff       	call   0x40d148
617005:	ff 75 a4             	push   -0x5c(%ebp)
617008:	68 1c b6 be 00       	push   $0xbeb61c
61700d:	e8 90 cf df ff       	call   0x413fa2
617012:	ff 75 a4             	push   -0x5c(%ebp)
617015:	68 38 50 bd 00       	push   $0xbd5038
61701a:	e8 83 cf df ff       	call   0x413fa2
61701f:	ff 75 a4             	push   -0x5c(%ebp)
617022:	56                   	push   %esi
617023:	e8 7a cf df ff       	call   0x413fa2
617028:	ff 75 a4             	push   -0x5c(%ebp)
61702b:	6a 22                	push   $0x22
61702d:	e8 16 61 df ff       	call   0x40d148
617032:	8b 45 ec             	mov    -0x14(%ebp),%eax
617035:	83 c4 28             	add    $0x28,%esp
617038:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
61703c:	83 f8 10             	cmp    $0x10,%eax
61703f:	72 0d                	jb     0x61704e
617041:	40                   	inc    %eax
617042:	8d 4d d8             	lea    -0x28(%ebp),%ecx
617045:	50                   	push   %eax
617046:	ff 75 d8             	push   -0x28(%ebp)
617049:	e8 ce d5 e1 ff       	call   0x43461c
61704e:	8b b7 b4 00 00 00    	mov    0xb4(%edi),%esi
617054:	3b b7 b8 00 00 00    	cmp    0xb8(%edi),%esi
61705a:	74 6a                	je     0x6170c6
61705c:	0f 1f 40 00          	nopl   0x0(%eax)
617060:	3b b7 b4 00 00 00    	cmp    0xb4(%edi),%esi
617066:	74 4a                	je     0x6170b2
617068:	6a 01                	push   $0x1
61706a:	68 1c 8a bd 00       	push   $0xbd8a1c
61706f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
617072:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
617079:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
617080:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
617084:	e8 08 d6 df ff       	call   0x414691
617089:	8d 45 d8             	lea    -0x28(%ebp),%eax
61708c:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
617090:	50                   	push   %eax
617091:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
617094:	e8 d0 3d e1 ff       	call   0x42ae69
617099:	8b 45 ec             	mov    -0x14(%ebp),%eax
61709c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
6170a0:	83 f8 10             	cmp    $0x10,%eax
6170a3:	72 0d                	jb     0x6170b2
6170a5:	40                   	inc    %eax
6170a6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
6170a9:	50                   	push   %eax
6170aa:	ff 75 d8             	push   -0x28(%ebp)
6170ad:	e8 6a d5 e1 ff       	call   0x43461c
6170b2:	56                   	push   %esi
6170b3:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
6170b6:	e8 ae 3d e1 ff       	call   0x42ae69
6170bb:	83 c6 18             	add    $0x18,%esi
6170be:	3b b7 b8 00 00 00    	cmp    0xb8(%edi),%esi
6170c4:	75 9a                	jne    0x617060
6170c6:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
6170c9:	e8 d7 37 e2 ff       	call   0x43a8a5
6170ce:	8b 8f c4 00 00 00    	mov    0xc4(%edi),%ecx
6170d4:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
6170d9:	2b 8f c0 00 00 00    	sub    0xc0(%edi),%ecx
6170df:	f7 e9                	imul   %ecx
6170e1:	c1 fa 02             	sar    $0x2,%edx
6170e4:	8b c2                	mov    %edx,%eax
6170e6:	c1 e8 1f             	shr    $0x1f,%eax
6170e9:	03 c2                	add    %edx,%eax
6170eb:	0f 84 6a 01 00 00    	je     0x61725b
6170f1:	68 24 b6 be 00       	push   $0xbeb624
6170f6:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
6170f9:	e8 3d f0 de ff       	call   0x40613b
6170fe:	ff b7 ac 00 00 00    	push   0xac(%edi)
617104:	8d 45 d8             	lea    -0x28(%ebp),%eax
617107:	50                   	push   %eax
617108:	e8 e5 cc e1 ff       	call   0x433df2
61710d:	83 c4 08             	add    $0x8,%esp
617110:	8b f0                	mov    %eax,%esi
617112:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
617116:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
61711a:	72 02                	jb     0x61711e
61711c:	8b 36                	mov    (%esi),%esi
61711e:	ff 75 a4             	push   -0x5c(%ebp)
617121:	6a 20                	push   $0x20
617123:	e8 20 60 df ff       	call   0x40d148
617128:	ff 75 a4             	push   -0x5c(%ebp)
61712b:	68 1c b6 be 00       	push   $0xbeb61c
617130:	e8 6d ce df ff       	call   0x413fa2
617135:	ff 75 a4             	push   -0x5c(%ebp)
617138:	68 38 50 bd 00       	push   $0xbd5038
61713d:	e8 60 ce df ff       	call   0x413fa2
617142:	ff 75 a4             	push   -0x5c(%ebp)
617145:	56                   	push   %esi
617146:	e8 57 ce df ff       	call   0x413fa2
61714b:	ff 75 a4             	push   -0x5c(%ebp)
61714e:	6a 22                	push   $0x22
617150:	e8 f3 5f df ff       	call   0x40d148
617155:	8b 45 ec             	mov    -0x14(%ebp),%eax
617158:	83 c4 28             	add    $0x28,%esp
61715b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
61715f:	83 f8 10             	cmp    $0x10,%eax
617162:	72 42                	jb     0x6171a6
617164:	8b 4d d8             	mov    -0x28(%ebp),%ecx
617167:	40                   	inc    %eax
617168:	3d 00 10 00 00       	cmp    $0x1000,%eax
61716d:	72 2e                	jb     0x61719d
61716f:	f6 c1 1f             	test   $0x1f,%cl
617172:	74 05                	je     0x617179
617174:	e8 14 68 e2 ff       	call   0x43d98d
617179:	8b 41 fc             	mov    -0x4(%ecx),%eax
61717c:	3b c1                	cmp    %ecx,%eax
61717e:	72 05                	jb     0x617185
617180:	e8 08 68 e2 ff       	call   0x43d98d
617185:	2b c8                	sub    %eax,%ecx
617187:	83 f9 04             	cmp    $0x4,%ecx
61718a:	73 05                	jae    0x617191
61718c:	e8 fc 67 e2 ff       	call   0x43d98d
617191:	83 f9 23             	cmp    $0x23,%ecx
617194:	76 05                	jbe    0x61719b
617196:	e8 f2 67 e2 ff       	call   0x43d98d
61719b:	8b c8                	mov    %eax,%ecx
61719d:	51                   	push   %ecx
61719e:	e8 ec a5 de ff       	call   0x40178f
6171a3:	83 c4 04             	add    $0x4,%esp
6171a6:	8b b7 c0 00 00 00    	mov    0xc0(%edi),%esi
6171ac:	3b b7 c4 00 00 00    	cmp    0xc4(%edi),%esi
6171b2:	0f 84 9b 00 00 00    	je     0x617253
6171b8:	3b b7 c0 00 00 00    	cmp    0xc0(%edi),%esi
6171be:	74 7b                	je     0x61723b
6171c0:	6a 01                	push   $0x1
6171c2:	68 1c 8a bd 00       	push   $0xbd8a1c
6171c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
6171ca:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
6171d1:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
6171d8:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
6171dc:	e8 b0 d4 df ff       	call   0x414691
6171e1:	8d 45 d8             	lea    -0x28(%ebp),%eax
6171e4:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
6171e8:	50                   	push   %eax
6171e9:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
6171ec:	e8 78 3c e1 ff       	call   0x42ae69
6171f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
6171f4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
6171f8:	83 f8 10             	cmp    $0x10,%eax
6171fb:	72 3e                	jb     0x61723b
6171fd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
617200:	40                   	inc    %eax
617201:	3d 00 10 00 00       	cmp    $0x1000,%eax
617206:	72 2a                	jb     0x617232
617208:	f6 c1 1f             	test   $0x1f,%cl
61720b:	0f 85 63 ff ff ff    	jne    0x617174
617211:	8b 41 fc             	mov    -0x4(%ecx),%eax
617214:	3b c1                	cmp    %ecx,%eax
617216:	0f 83 58 ff ff ff    	jae    0x617174
61721c:	2b c8                	sub    %eax,%ecx
61721e:	83 f9 04             	cmp    $0x4,%ecx
617221:	0f 82 4d ff ff ff    	jb     0x617174
617227:	83 f9 23             	cmp    $0x23,%ecx
61722a:	0f 87 44 ff ff ff    	ja     0x617174
617230:	8b c8                	mov    %eax,%ecx
617232:	51                   	push   %ecx
617233:	e8 57 a5 de ff       	call   0x40178f
617238:	83 c4 04             	add    $0x4,%esp
61723b:	56                   	push   %esi
61723c:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
61723f:	e8 25 3c e1 ff       	call   0x42ae69
617244:	83 c6 18             	add    $0x18,%esi
617247:	3b b7 c4 00 00 00    	cmp    0xc4(%edi),%esi
61724d:	0f 85 65 ff ff ff    	jne    0x6171b8
617253:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
617256:	e8 4a 36 e2 ff       	call   0x43a8a5
61725b:	8b 8f d0 00 00 00    	mov    0xd0(%edi),%ecx
617261:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
617266:	2b 8f cc 00 00 00    	sub    0xcc(%edi),%ecx
61726c:	f7 e9                	imul   %ecx
61726e:	c1 fa 02             	sar    $0x2,%edx
617271:	8b c2                	mov    %edx,%eax
617273:	c1 e8 1f             	shr    $0x1f,%eax
617276:	03 c2                	add    %edx,%eax
617278:	0f 84 33 01 00 00    	je     0x6173b1
61727e:	68 34 b6 be 00       	push   $0xbeb634
617283:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
617286:	e8 b0 ee de ff       	call   0x40613b
61728b:	ff b7 b0 00 00 00    	push   0xb0(%edi)
617291:	8d 45 d8             	lea    -0x28(%ebp),%eax
617294:	50                   	push   %eax
617295:	e8 58 cb e1 ff       	call   0x433df2
61729a:	83 c4 08             	add    $0x8,%esp
61729d:	8b f0                	mov    %eax,%esi