56eff2:	00
56eff3:	eb 38                	jmp    0x56f02d
56eff5:	3d ef 00 00 00       	cmp    $0xef,%eax
56effa:	7e 0a                	jle    0x56f006
56effc:	c7 44 24 20 05 00 00 	movl   $0x5,0x20(%esp)
56f003:	00
56f004:	eb 27                	jmp    0x56f02d
56f006:	83 f8 4f             	cmp    $0x4f,%eax
56f009:	7e 0a                	jle    0x56f015
56f00b:	c7 44 24 20 04 00 00 	movl   $0x4,0x20(%esp)
56f012:	00
56f013:	eb 18                	jmp    0x56f02d
56f015:	33 c9                	xor    %ecx,%ecx
56f017:	83 f8 17             	cmp    $0x17,%eax
56f01a:	0f 9f c1             	setg   %cl
56f01d:	8d 0c 4d 01 00 00 00 	lea    0x1(,%ecx,2),%ecx
56f024:	89 4c 24 20          	mov    %ecx,0x20(%esp)
56f028:	83 f9 01             	cmp    $0x1,%ecx
56f02b:	7e 75                	jle    0x56f0a2
56f02d:	8b 44 24 4c          	mov    0x4c(%esp),%eax
56f031:	57                   	push   %edi
56f032:	56                   	push   %esi
56f033:	50                   	push   %eax
56f034:	50                   	push   %eax
56f035:	ff 74 24 28          	push   0x28(%esp)
56f039:	e8 e2 1e 00 00       	call   0x570f20
56f03e:	83 c4 14             	add    $0x14,%esp
56f041:	85 c0                	test   %eax,%eax
56f043:	0f 84 e9 02 00 00    	je     0x56f332
56f049:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56f04d:	b8 01 00 00 00       	mov    $0x1,%eax
56f052:	be 01 00 00 00       	mov    $0x1,%esi
56f057:	8d 49 ff             	lea    -0x1(%ecx),%ecx
56f05a:	d3 e0                	shl    %cl,%eax
56f05c:	89 44 24 28          	mov    %eax,0x28(%esp)
56f060:	3b c6                	cmp    %esi,%eax
56f062:	7e 3a                	jle    0x56f09e
56f064:	57                   	push   %edi
56f065:	e8 56 8d f6 ff       	call   0x4d7dc0
56f06a:	83 c4 04             	add    $0x4,%esp
56f06d:	89 44 b4 4c          	mov    %eax,0x4c(%esp,%esi,4)
56f071:	85 c0                	test   %eax,%eax
56f073:	0f 84 b5 02 00 00    	je     0x56f32e
56f079:	57                   	push   %edi
56f07a:	ff 74 24 14          	push   0x14(%esp)
56f07e:	ff 74 24 20          	push   0x20(%esp)
56f082:	ff 74 b4 54          	push   0x54(%esp,%esi,4)
56f086:	50                   	push   %eax
56f087:	e8 94 1e 00 00       	call   0x570f20
56f08c:	83 c4 14             	add    $0x14,%esp
56f08f:	85 c0                	test   %eax,%eax
56f091:	0f 84 97 02 00 00    	je     0x56f32e
56f097:	46                   	inc    %esi
56f098:	3b 74 24 28          	cmp    0x28(%esp),%esi
56f09c:	7c c6                	jl     0x56f064
56f09e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56f0a2:	8b 75 04             	mov    0x4(%ebp),%esi
56f0a5:	8d 48 ff             	lea    -0x1(%eax),%ecx
56f0a8:	8b 45 00             	mov    0x0(%ebp),%eax
56f0ab:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
56f0b2:	00
56f0b3:	89 4c 24 18          	mov    %ecx,0x18(%esp)
56f0b7:	f7 44 b0 fc 00 00 00 	testl  $0x80000000,-0x4(%eax,%esi,4)
56f0be:	80
56f0bf:	0f 84 20 01 00 00    	je     0x56f1e5
56f0c5:	3b 73 08             	cmp    0x8(%ebx),%esi
56f0c8:	7f 04                	jg     0x56f0ce
56f0ca:	8b c3                	mov    %ebx,%eax
56f0cc:	eb 0a                	jmp    0x56f0d8
56f0ce:	56                   	push   %esi
56f0cf:	53                   	push   %ebx
56f0d0:	e8 cb 45 f4 ff       	call   0x4b36a0
56f0d5:	83 c4 08             	add    $0x8,%esp
56f0d8:	85 c0                	test   %eax,%eax
56f0da:	0f 84 4e 02 00 00    	je     0x56f32e
56f0e0:	8b 45 00             	mov    0x0(%ebp),%eax
56f0e3:	ba 01 00 00 00       	mov    $0x1,%edx
56f0e8:	8b 08                	mov    (%eax),%ecx
56f0ea:	8b 03                	mov    (%ebx),%eax
56f0ec:	f7 d9                	neg    %ecx
56f0ee:	89 08                	mov    %ecx,(%eax)
56f0f0:	8d 4e ff             	lea    -0x1(%esi),%ecx
56f0f3:	3b f2                	cmp    %edx,%esi
56f0f5:	0f 8e b7 00 00 00    	jle    0x56f1b2
56f0fb:	83 f9 08             	cmp    $0x8,%ecx
56f0fe:	0f 82 91 00 00 00    	jb     0x56f195
56f104:	8b 3b                	mov    (%ebx),%edi
56f106:	8d 47 04             	lea    0x4(%edi),%eax
56f109:	89 44 24 1c          	mov    %eax,0x1c(%esp)
56f10d:	8d 3c 8f             	lea    (%edi,%ecx,4),%edi
56f110:	8b 45 00             	mov    0x0(%ebp),%eax
56f113:	89 7c 24 14          	mov    %edi,0x14(%esp)
56f117:	8d 78 04             	lea    0x4(%eax),%edi
56f11a:	8d 04 88             	lea    (%eax,%ecx,4),%eax
56f11d:	89 7c 24 40          	mov    %edi,0x40(%esp)
56f121:	39 44 24 1c          	cmp    %eax,0x1c(%esp)
56f125:	8b 7c 24 24          	mov    0x24(%esp),%edi
56f129:	8b 44 24 14          	mov    0x14(%esp),%eax
56f12d:	77 06                	ja     0x56f135
56f12f:	3b 44 24 40          	cmp    0x40(%esp),%eax
56f133:	73 60                	jae    0x56f195
56f135:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
56f139:	77 04                	ja     0x56f13f
56f13b:	3b c3                	cmp    %ebx,%eax
56f13d:	73 56                	jae    0x56f195
56f13f:	39 6c 24 1c          	cmp    %ebp,0x1c(%esp)
56f143:	77 04                	ja     0x56f149
56f145:	3b c5                	cmp    %ebp,%eax
56f147:	73 4c                	jae    0x56f195
56f149:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
56f14f:	79 05                	jns    0x56f156
56f151:	49                   	dec    %ecx
56f152:	83 c9 f8             	or     $0xfffffff8,%ecx
56f155:	41                   	inc    %ecx
56f156:	0f 10 0d 60 0f 6b 00 	movups 0x6b0f60,%xmm1
56f15d:	8b 3b                	mov    (%ebx),%edi
56f15f:	8b c6                	mov    %esi,%eax
56f161:	2b c1                	sub    %ecx,%eax
56f163:	8b 4d 00             	mov    0x0(%ebp),%ecx
56f166:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
56f16d:	00 00 00
56f170:	0f 10 04 91          	movups (%ecx,%edx,4),%xmm0
56f174:	66 0f df c1          	pandn  %xmm1,%xmm0
56f178:	0f 11 04 97          	movups %xmm0,(%edi,%edx,4)
56f17c:	0f 10 44 91 10       	movups 0x10(%ecx,%edx,4),%xmm0
56f181:	66 0f df c1          	pandn  %xmm1,%xmm0
56f185:	0f 11 44 97 10       	movups %xmm0,0x10(%edi,%edx,4)
56f18a:	83 c2 08             	add    $0x8,%edx
56f18d:	3b d0                	cmp    %eax,%edx
56f18f:	7c df                	jl     0x56f170
56f191:	8b 7c 24 24          	mov    0x24(%esp),%edi
56f195:	3b d6                	cmp    %esi,%edx
56f197:	7d 19                	jge    0x56f1b2
56f199:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
56f1a0:	8b 45 00             	mov    0x0(%ebp),%eax
56f1a3:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
56f1a6:	8b 03                	mov    (%ebx),%eax
56f1a8:	f7 d1                	not    %ecx
56f1aa:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
56f1ad:	42                   	inc    %edx
56f1ae:	3b d6                	cmp    %esi,%edx
56f1b0:	7c ee                	jl     0x56f1a0
56f1b2:	89 73 04             	mov    %esi,0x4(%ebx)
56f1b5:	85 f6                	test   %esi,%esi
56f1b7:	7e 19                	jle    0x56f1d2
56f1b9:	8b 03                	mov    (%ebx),%eax
56f1bb:	8d 4e ff             	lea    -0x1(%esi),%ecx
56f1be:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
56f1c1:	8b 01                	mov    (%ecx),%eax
56f1c3:	8d 49 fc             	lea    -0x4(%ecx),%ecx
56f1c6:	85 c0                	test   %eax,%eax
56f1c8:	75 05                	jne    0x56f1cf
56f1ca:	4e                   	dec    %esi
56f1cb:	85 f6                	test   %esi,%esi
56f1cd:	7f f2                	jg     0x56f1c1
56f1cf:	89 73 04             	mov    %esi,0x4(%ebx)
56f1d2:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
56f1d6:	8b 74 24 10          	mov    0x10(%esp),%esi
56f1da:	75 2a                	jne    0x56f206
56f1dc:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
56f1e3:	eb 21                	jmp    0x56f206
56f1e5:	8b 74 24 10          	mov    0x10(%esp),%esi
56f1e9:	57                   	push   %edi
56f1ea:	56                   	push   %esi
56f1eb:	8d 46 04             	lea    0x4(%esi),%eax
56f1ee:	50                   	push   %eax
56f1ef:	e8 ac 43 f4 ff       	call   0x4b35a0
56f1f4:	50                   	push   %eax
56f1f5:	53                   	push   %ebx
56f1f6:	e8 25 1d 00 00       	call   0x570f20
56f1fb:	83 c4 14             	add    $0x14,%esp
56f1fe:	85 c0                	test   %eax,%eax
56f200:	0f 84 2c 01 00 00    	je     0x56f332
56f206:	8b 6c 24 18          	mov    0x18(%esp),%ebp
56f20a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
56f210:	55                   	push   %ebp
56f211:	ff 74 24 38          	push   0x38(%esp)
56f215:	e8 26 40 f4 ff       	call   0x4b3240
56f21a:	83 c4 08             	add    $0x8,%esp
56f21d:	85 c0                	test   %eax,%eax
56f21f:	75 2a                	jne    0x56f24b
56f221:	39 44 24 2c          	cmp    %eax,0x2c(%esp)
56f225:	75 15                	jne    0x56f23c
56f227:	57                   	push   %edi
56f228:	56                   	push   %esi
56f229:	53                   	push   %ebx
56f22a:	53                   	push   %ebx
56f22b:	53                   	push   %ebx
56f22c:	e8 ef 1c 00 00       	call   0x570f20
56f231:	83 c4 14             	add    $0x14,%esp
56f234:	85 c0                	test   %eax,%eax
56f236:	0f 84 f6 00 00 00    	je     0x56f332
56f23c:	85 ed                	test   %ebp,%ebp
56f23e:	0f 84 c5 00 00 00    	je     0x56f309
56f244:	4d                   	dec    %ebp
56f245:	89 6c 24 18          	mov    %ebp,0x18(%esp)
56f249:	eb c5                	jmp    0x56f210
56f24b:	bd 01 00 00 00       	mov    $0x1,%ebp
56f250:	33 c0                	xor    %eax,%eax
56f252:	8b f5                	mov    %ebp,%esi
56f254:	89 44 24 14          	mov    %eax,0x14(%esp)
56f258:	39 74 24 20          	cmp    %esi,0x20(%esp)
56f25c:	7e 3e                	jle    0x56f29c
56f25e:	8b 7c 24 18          	mov    0x18(%esp),%edi
56f262:	8b 5c 24 34          	mov    0x34(%esp),%ebx
56f266:	4f                   	dec    %edi
56f267:	85 ff                	test   %edi,%edi
56f269:	78 2d                	js     0x56f298
56f26b:	57                   	push   %edi
56f26c:	53                   	push   %ebx
56f26d:	e8 ce 3f f4 ff       	call   0x4b3240
56f272:	83 c4 08             	add    $0x8,%esp
56f275:	85 c0                	test   %eax,%eax
56f277:	74 13                	je     0x56f28c
56f279:	8b ce                	mov    %esi,%ecx
56f27b:	8b c6                	mov    %esi,%eax
56f27d:	2b 4c 24 14          	sub    0x14(%esp),%ecx
56f281:	d3 e5                	shl    %cl,%ebp
56f283:	83 cd 01             	or     $0x1,%ebp
56f286:	89 44 24 14          	mov    %eax,0x14(%esp)
56f28a:	eb 04                	jmp    0x56f290
56f28c:	8b 44 24 14          	mov    0x14(%esp),%eax
56f290:	46                   	inc    %esi
56f291:	4f                   	dec    %edi
56f292:	3b 74 24 20          	cmp    0x20(%esp),%esi
56f296:	7c cf                	jl     0x56f267
56f298:	8b 5c 24 48          	mov    0x48(%esp),%ebx
56f29c:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
56f2a1:	8d 78 01             	lea    0x1(%eax),%edi
56f2a4:	75 26                	jne    0x56f2cc
56f2a6:	33 f6                	xor    %esi,%esi
56f2a8:	85 ff                	test   %edi,%edi
56f2aa:	7e 20                	jle    0x56f2cc
56f2ac:	0f 1f 40 00          	nopl   0x0(%eax)
56f2b0:	ff 74 24 24          	push   0x24(%esp)
56f2b4:	ff 74 24 14          	push   0x14(%esp)
56f2b8:	53                   	push   %ebx
56f2b9:	53                   	push   %ebx
56f2ba:	53                   	push   %ebx
56f2bb:	e8 60 1c 00 00       	call   0x570f20
56f2c0:	83 c4 14             	add    $0x14,%esp
56f2c3:	85 c0                	test   %eax,%eax
56f2c5:	74 63                	je     0x56f32a
56f2c7:	46                   	inc    %esi
56f2c8:	3b f7                	cmp    %edi,%esi
56f2ca:	7c e4                	jl     0x56f2b0
56f2cc:	8b 7c 24 24          	mov    0x24(%esp),%edi
56f2d0:	8b 74 24 10          	mov    0x10(%esp),%esi
56f2d4:	57                   	push   %edi
56f2d5:	d1 fd                	sar    $1,%ebp
56f2d7:	56                   	push   %esi
56f2d8:	ff 74 ac 54          	push   0x54(%esp,%ebp,4)
56f2dc:	53                   	push   %ebx
56f2dd:	53                   	push   %ebx
56f2de:	e8 3d 1c 00 00       	call   0x570f20
56f2e3:	83 c4 14             	add    $0x14,%esp
56f2e6:	85 c0                	test   %eax,%eax
56f2e8:	74 48                	je     0x56f332
56f2ea:	8b 6c 24 18          	mov    0x18(%esp),%ebp
56f2ee:	83 c8 ff             	or     $0xffffffff,%eax
56f2f1:	2b 44 24 14          	sub    0x14(%esp),%eax
56f2f5:	03 e8                	add    %eax,%ebp
56f2f7:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
56f2fe:	00
56f2ff:	89 6c 24 18          	mov    %ebp,0x18(%esp)
56f303:	0f 89 07 ff ff ff    	jns    0x56f210
56f309:	57                   	push   %edi
56f30a:	56                   	push   %esi
56f30b:	53                   	push   %ebx
56f30c:	ff 74 24 44          	push   0x44(%esp)
56f310:	e8 0b 19 00 00       	call   0x570c20
56f315:	33 c9                	xor    %ecx,%ecx
56f317:	83 c4 10             	add    $0x10,%esp
56f31a:	85 c0                	test   %eax,%eax
56f31c:	b8 01 00 00 00       	mov    $0x1,%eax
56f321:	0f 45 c8             	cmovne %eax,%ecx
56f324:	89 4c 24 30          	mov    %ecx,0x30(%esp)
56f328:	eb 08                	jmp    0x56f332
56f32a:	8b 7c 24 24          	mov    0x24(%esp),%edi
56f32e:	8b 74 24 10          	mov    0x10(%esp),%esi
56f332:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
56f337:	75 0d                	jne    0x56f346
56f339:	85 f6                	test   %esi,%esi
56f33b:	74 09                	je     0x56f346
56f33d:	56                   	push   %esi
56f33e:	e8 fd 15 00 00       	call   0x570940
56f343:	83 c4 04             	add    $0x4,%esp
56f346:	57                   	push   %edi
56f347:	e8 04 8a f6 ff       	call   0x4d7d50
56f34c:	8b 44 24 34          	mov    0x34(%esp),%eax
56f350:	83 c4 04             	add    $0x4,%esp
56f353:	eb 1a                	jmp    0x56f36f
56f355:	68 a7 01 00 00       	push   $0x1a7
56f35a:	68 88 c9 6b 00       	push   $0x6bc988
56f35f:	6a 66                	push   $0x66
56f361:	6a 6d                	push   $0x6d
56f363:	6a 03                	push   $0x3
56f365:	e8 36 21 f3 ff       	call   0x4a14a0
56f36a:	83 c4 14             	add    $0x14,%esp
56f36d:	33 c0                	xor    %eax,%eax
56f36f:	8b 8c 24 cc 00 00 00 	mov    0xcc(%esp),%ecx
56f376:	5f                   	pop    %edi
56f377:	5e                   	pop    %esi
56f378:	5d                   	pop    %ebp
56f379:	5b                   	pop    %ebx
56f37a:	33 cc                	xor    %esp,%ecx
56f37c:	e8 59 21 07 00       	call   0x5e14da
56f381:	81 c4 c0 00 00 00    	add    $0xc0,%esp
56f387:	c3                   	ret
56f388:	cc                   	int3
56f389:	cc                   	int3
56f38a:	cc                   	int3
56f38b:	cc                   	int3
56f38c:	cc                   	int3
56f38d:	cc                   	int3
56f38e:	cc                   	int3
56f38f:	cc                   	int3
56f390:	55                   	push   %ebp
56f391:	8b ec                	mov    %esp,%ebp
56f393:	b8 60 00 00 00       	mov    $0x60,%eax
56f398:	e8 53 21 07 00       	call   0x5e14f0
56f39d:	a1 d4 89 72 00       	mov    0x7289d4,%eax
56f3a2:	33 c5                	xor    %ebp,%eax
56f3a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
56f3a7:	53                   	push   %ebx
56f3a8:	8b 5d 14             	mov    0x14(%ebp),%ebx
56f3ab:	56                   	push   %esi
56f3ac:	57                   	push   %edi
56f3ad:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
56f3b4:	8b 43 04             	mov    0x4(%ebx),%eax
56f3b7:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
56f3be:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
56f3c5:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
56f3cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
56f3cf:	85 c0                	test   %eax,%eax
56f3d1:	0f 8e 7e 05 00 00    	jle    0x56f955
56f3d7:	8b 03                	mov    (%ebx),%eax
56f3d9:	f6 00 01             	testb  $0x1,(%eax)
56f3dc:	0f 84 73 05 00 00    	je     0x56f955
56f3e2:	ff 75 10             	push   0x10(%ebp)
56f3e5:	e8 86 3f f4 ff       	call   0x4b3370
56f3ea:	8b f0                	mov    %eax,%esi
56f3ec:	83 c4 04             	add    $0x4,%esp
56f3ef:	85 f6                	test   %esi,%esi
56f3f1:	75 5d                	jne    0x56f450
56f3f3:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
56f3f7:	75 34                	jne    0x56f42d
56f3f9:	8b 03                	mov    (%ebx),%eax
56f3fb:	83 38 01             	cmpl   $0x1,(%eax)
56f3fe:	75 2d                	jne    0x56f42d