4561dc:	8a 85 f7 fd ff ff    	mov    -0x209(%ebp),%al
4561e2:	84 c0                	test   %al,%al
4561e4:	75 54                	jne    0x45623a
4561e6:	ff 37                	push   (%edi)
4561e8:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4561eb:	e8 70 53 16 00       	call   0x5bb560
4561f0:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4561f3:	3b 4d 90             	cmp    -0x70(%ebp),%ecx
4561f6:	74 35                	je     0x45622d
4561f8:	0f 10 45 ac          	movups -0x54(%ebp),%xmm0
4561fc:	0f 11 01             	movups %xmm0,(%ecx)
4561ff:	0f 10 45 bc          	movups -0x44(%ebp),%xmm0
456203:	0f 11 41 10          	movups %xmm0,0x10(%ecx)
456207:	0f 10 45 cc          	movups -0x34(%ebp),%xmm0
45620b:	0f 11 41 20          	movups %xmm0,0x20(%ecx)
45620f:	0f 10 45 dc          	movups -0x24(%ebp),%xmm0
456213:	0f 11 41 30          	movups %xmm0,0x30(%ecx)
456217:	8b 45 ec             	mov    -0x14(%ebp),%eax
45621a:	89 41 40             	mov    %eax,0x40(%ecx)
45621d:	83 45 8c 44          	addl   $0x44,-0x74(%ebp)
456221:	eb 17                	jmp    0x45623a
456223:	8b bd f8 fd ff ff    	mov    -0x208(%ebp),%edi
456229:	b0 01                	mov    $0x1,%al
45622b:	eb b5                	jmp    0x4561e2
45622d:	8d 45 ac             	lea    -0x54(%ebp),%eax
456230:	50                   	push   %eax
456231:	51                   	push   %ecx
456232:	8d 4d 88             	lea    -0x78(%ebp),%ecx
456235:	e8 36 ec ff ff       	call   0x454e70
45623a:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
456240:	40                   	inc    %eax
456241:	83 c7 08             	add    $0x8,%edi
456244:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
45624a:	89 bd f8 fd ff ff    	mov    %edi,-0x208(%ebp)
456250:	3b 06                	cmp    (%esi),%eax
456252:	0f 82 f8 fe ff ff    	jb     0x456150
456258:	33 ff                	xor    %edi,%edi
45625a:	56                   	push   %esi
45625b:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
45625f:	e8 25 ae 18 00       	call   0x5e1089
456264:	83 c4 04             	add    $0x4,%esp
456267:	68 d0 e4 68 00       	push   $0x68e4d0
45626c:	8d 8d b0 fd ff ff    	lea    -0x250(%ebp),%ecx
456272:	e8 69 e7 fe ff       	call   0x4449e0
456277:	8b 45 98             	mov    -0x68(%ebp),%eax
45627a:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
45627e:	3b 45 9c             	cmp    -0x64(%ebp),%eax
456281:	74 41                	je     0x4562c4
456283:	0f 10 85 b0 fd ff ff 	movups -0x250(%ebp),%xmm0
45628a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
456291:	0f 11 00             	movups %xmm0,(%eax)
456294:	f3 0f 7e 85 c0 fd ff 	movq   -0x240(%ebp),%xmm0
45629b:	ff
45629c:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4562a1:	33 c0                	xor    %eax,%eax
4562a3:	83 45 98 18          	addl   $0x18,-0x68(%ebp)
4562a7:	c7 85 c0 fd ff ff 00 	movl   $0x0,-0x240(%ebp)
4562ae:	00 00 00
4562b1:	c7 85 c4 fd ff ff 07 	movl   $0x7,-0x23c(%ebp)
4562b8:	00 00 00
4562bb:	66 89 85 b0 fd ff ff 	mov    %ax,-0x250(%ebp)
4562c2:	eb 10                	jmp    0x4562d4
4562c4:	8d 8d b0 fd ff ff    	lea    -0x250(%ebp),%ecx
4562ca:	51                   	push   %ecx
4562cb:	50                   	push   %eax
4562cc:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4562cf:	e8 bc e9 ff ff       	call   0x454c90
4562d4:	8d 8d b0 fd ff ff    	lea    -0x250(%ebp),%ecx
4562da:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
4562de:	e8 dd 22 fe ff       	call   0x4385c0
4562e3:	8b 85 18 fe ff ff    	mov    -0x1e8(%ebp),%eax
4562e9:	89 85 1c fe ff ff    	mov    %eax,-0x1e4(%ebp)
4562ef:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4562f5:	50                   	push   %eax
4562f6:	6a 03                	push   $0x3
4562f8:	8d 85 1c fe ff ff    	lea    -0x1e4(%ebp),%eax
4562fe:	c7 85 f0 fd ff ff 00 	movl   $0x0,-0x210(%ebp)
456305:	00 00 00
456308:	50                   	push   %eax
456309:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
45630f:	50                   	push   %eax
456310:	e8 db ee ff ff       	call   0x4551f0
456315:	83 c4 10             	add    $0x10,%esp
456318:	8b b5 f0 fd ff ff    	mov    -0x210(%ebp),%esi
45631e:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
456322:	85 f6                	test   %esi,%esi
456324:	75 21                	jne    0x456347
456326:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
45632a:	39 b5 f8 fd ff ff    	cmp    %esi,-0x208(%ebp)
456330:	0f 84 40 01 00 00    	je     0x456476
456336:	ff 15 e0 21 68 00    	call   *0x6821e0
45633c:	50                   	push   %eax
45633d:	68 00 e5 68 00       	push   $0x68e500
456342:	e9 73 09 00 00       	jmp    0x456cba
456347:	83 3e 00             	cmpl   $0x0,(%esi)
45634a:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
456351:	00 00 00
456354:	0f 86 0f 01 00 00    	jbe    0x456469
45635a:	8d 7e 04             	lea    0x4(%esi),%edi
45635d:	0f 1f 00             	nopl   (%eax)
456360:	33 c9                	xor    %ecx,%ecx
456362:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
456367:	89 8d 1c fe ff ff    	mov    %ecx,-0x1e4(%ebp)
45636d:	8b 4d 98             	mov    -0x68(%ebp),%ecx
456370:	2b 4d 94             	sub    -0x6c(%ebp),%ecx
456373:	f7 e9                	imul   %ecx
456375:	c1 fa 02             	sar    $0x2,%edx
456378:	8b c2                	mov    %edx,%eax
45637a:	c1 e8 1f             	shr    $0x1f,%eax
45637d:	03 c2                	add    %edx,%eax
45637f:	74 76                	je     0x4563f7
456381:	33 c9                	xor    %ecx,%ecx
456383:	89 8d f8 fd ff ff    	mov    %ecx,-0x208(%ebp)
456389:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
456390:	8b 45 94             	mov    -0x6c(%ebp),%eax
456393:	0f 57 c0             	xorps  %xmm0,%xmm0
456396:	03 c1                	add    %ecx,%eax
456398:	66 0f 13 45 80       	movlpd %xmm0,-0x80(%ebp)
45639d:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
4563a1:	72 02                	jb     0x4563a5
4563a3:	8b 00                	mov    (%eax),%eax
4563a5:	8d 4d 80             	lea    -0x80(%ebp),%ecx
4563a8:	51                   	push   %ecx
4563a9:	50                   	push   %eax
4563aa:	6a 00                	push   $0x0
4563ac:	ff 15 84 20 68 00    	call   *0x682084
4563b2:	8b 47 04             	mov    0x4(%edi),%eax
4563b5:	3b 45 84             	cmp    -0x7c(%ebp),%eax
4563b8:	75 0b                	jne    0x4563c5
4563ba:	8b 07                	mov    (%edi),%eax
4563bc:	3b 45 80             	cmp    -0x80(%ebp),%eax
4563bf:	0f 84 80 00 00 00    	je     0x456445
4563c5:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4563c8:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4563cd:	2b 4d 94             	sub    -0x6c(%ebp),%ecx
4563d0:	83 85 f8 fd ff ff 18 	addl   $0x18,-0x208(%ebp)
4563d7:	ff 85 1c fe ff ff    	incl   -0x1e4(%ebp)
4563dd:	f7 e9                	imul   %ecx
4563df:	8b 8d f8 fd ff ff    	mov    -0x208(%ebp),%ecx
4563e5:	c1 fa 02             	sar    $0x2,%edx
4563e8:	8b c2                	mov    %edx,%eax
4563ea:	c1 e8 1f             	shr    $0x1f,%eax
4563ed:	03 c2                	add    %edx,%eax
4563ef:	39 85 1c fe ff ff    	cmp    %eax,-0x1e4(%ebp)
4563f5:	72 99                	jb     0x456390
4563f7:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
4563fd:	3b 8d cc fd ff ff    	cmp    -0x234(%ebp),%ecx
456403:	74 1b                	je     0x456420
456405:	8b 07                	mov    (%edi),%eax
456407:	89 01                	mov    %eax,(%ecx)
456409:	8b 47 04             	mov    0x4(%edi),%eax
45640c:	89 41 04             	mov    %eax,0x4(%ecx)
45640f:	83 c1 08             	add    $0x8,%ecx
456412:	89 8d d4 fd ff ff    	mov    %ecx,-0x22c(%ebp)
456418:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
45641e:	eb 25                	jmp    0x456445
456420:	57                   	push   %edi
456421:	51                   	push   %ecx
456422:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
456428:	e8 03 e7 ff ff       	call   0x454b30
45642d:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
456433:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
456439:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
45643f:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
456445:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
45644b:	83 c7 0c             	add    $0xc,%edi
45644e:	40                   	inc    %eax
45644f:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
456455:	3b 06                	cmp    (%esi),%eax
456457:	0f 82 03 ff ff ff    	jb     0x456360
45645d:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
456463:	89 bd e8 fd ff ff    	mov    %edi,-0x218(%ebp)
456469:	56                   	push   %esi
45646a:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
45646e:	e8 16 ac 18 00       	call   0x5e1089
456473:	83 c4 04             	add    $0x4,%esp
456476:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
456479:	b8 79 78 78 78       	mov    $0x78787879,%eax
45647e:	2b 4d 88             	sub    -0x78(%ebp),%ecx
456481:	f7 e9                	imul   %ecx
456483:	c1 fa 05             	sar    $0x5,%edx
456486:	8b c2                	mov    %edx,%eax
456488:	c1 e8 1f             	shr    $0x1f,%eax
45648b:	03 c2                	add    %edx,%eax
45648d:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
456493:	0f 84 8e 00 00 00    	je     0x456527
456499:	33 c9                	xor    %ecx,%ecx
45649b:	ba 08 00 00 00       	mov    $0x8,%edx
4564a0:	f7 e2                	mul    %edx
4564a2:	0f 90 c1             	seto   %cl
4564a5:	f7 d9                	neg    %ecx
4564a7:	0b c8                	or     %eax,%ecx
4564a9:	51                   	push   %ecx
4564aa:	e8 d1 ab 18 00       	call   0x5e1080
4564af:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4564b2:	83 c4 04             	add    $0x4,%esp
4564b5:	2b 4d 88             	sub    -0x78(%ebp),%ecx
4564b8:	33 f6                	xor    %esi,%esi
4564ba:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4564c0:	b8 79 78 78 78       	mov    $0x78787879,%eax
4564c5:	f7 e9                	imul   %ecx
4564c7:	c1 fa 05             	sar    $0x5,%edx
4564ca:	8b c2                	mov    %edx,%eax
4564cc:	c1 e8 1f             	shr    $0x1f,%eax
4564cf:	03 c2                	add    %edx,%eax
4564d1:	74 54                	je     0x456527
4564d3:	33 ff                	xor    %edi,%edi
4564d5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
4564dc:	00 00 00 00
4564e0:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4564e6:	c7 44 f0 04 10 00 00 	movl   $0x10,0x4(%eax,%esi,8)
4564ed:	00
4564ee:	8b 4d 88             	mov    -0x78(%ebp),%ecx
4564f1:	8d 0c 39             	lea    (%ecx,%edi,1),%ecx
4564f4:	e8 b7 2f fe ff       	call   0x4394b0
4564f9:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
4564ff:	8d 7f 44             	lea    0x44(%edi),%edi
456502:	89 04 f1             	mov    %eax,(%ecx,%esi,8)
456505:	b8 79 78 78 78       	mov    $0x78787879,%eax
45650a:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
45650d:	46                   	inc    %esi
45650e:	2b 4d 88             	sub    -0x78(%ebp),%ecx
456511:	f7 e9                	imul   %ecx
456513:	c1 fa 05             	sar    $0x5,%edx
456516:	8b c2                	mov    %edx,%eax
456518:	c1 e8 1f             	shr    $0x1f,%eax
45651b:	03 c2                	add    %edx,%eax
45651d:	3b f0                	cmp    %eax,%esi
45651f:	72 bf                	jb     0x4564e0
456521:	8b bd e8 fd ff ff    	mov    -0x218(%ebp),%edi
456527:	8b b5 d4 fd ff ff    	mov    -0x22c(%ebp),%esi
45652d:	2b f7                	sub    %edi,%esi
45652f:	c1 fe 03             	sar    $0x3,%esi
456532:	85 f6                	test   %esi,%esi
456534:	74 4e                	je     0x456584
456536:	33 c9                	xor    %ecx,%ecx
456538:	8b c6                	mov    %esi,%eax
45653a:	ba 0c 00 00 00       	mov    $0xc,%edx
45653f:	f7 e2                	mul    %edx
456541:	0f 90 c1             	seto   %cl
456544:	f7 d9                	neg    %ecx
456546:	0b c8                	or     %eax,%ecx
456548:	51                   	push   %ecx
456549:	e8 32 ab 18 00       	call   0x5e1080
45654e:	83 c4 04             	add    $0x4,%esp
456551:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
456557:	33 d2                	xor    %edx,%edx
456559:	85 f6                	test   %esi,%esi
45655b:	74 29                	je     0x456586
45655d:	8b c8                	mov    %eax,%ecx
45655f:	90                   	nop
456560:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
456567:	8d 49 0c             	lea    0xc(%ecx),%ecx
45656a:	8b 04 d7             	mov    (%edi,%edx,8),%eax
45656d:	89 41 f4             	mov    %eax,-0xc(%ecx)
456570:	8b 44 d7 04          	mov    0x4(%edi,%edx,8),%eax
456574:	42                   	inc    %edx
456575:	89 41 f8             	mov    %eax,-0x8(%ecx)
456578:	3b d6                	cmp    %esi,%edx
45657a:	72 e4                	jb     0x456560
45657c:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
456582:	eb 02                	jmp    0x456586
456584:	33 c0                	xor    %eax,%eax
456586:	8d 8d 10 fe ff ff    	lea    -0x1f0(%ebp),%ecx
45658c:	51                   	push   %ecx
45658d:	6a 00                	push   $0x0
45658f:	6a 00                	push   $0x0
456591:	50                   	push   %eax
456592:	56                   	push   %esi
456593:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
456599:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
45659f:	6a 00                	push   $0x0
4565a1:	ff b5 18 fe ff ff    	push   -0x1e8(%ebp)
4565a7:	ff 15 b8 20 68 00    	call   *0x6820b8
4565ad:	85 c0                	test   %eax,%eax
4565af:	75 11                	jne    0x4565c2
4565b1:	ff 15 e0 21 68 00    	call   *0x6821e0
4565b7:	50                   	push   %eax
4565b8:	68 2c e5 68 00       	push   $0x68e52c
4565bd:	e9 f8 06 00 00       	jmp    0x456cba
4565c2:	8d 85 0c fe ff ff    	lea    -0x1f4(%ebp),%eax
4565c8:	50                   	push   %eax
4565c9:	6a 01                	push   $0x1
4565cb:	6a 01                	push   $0x1
4565cd:	6a 00                	push   $0x0
4565cf:	68 ff 01 0f 00       	push   $0xf01ff
4565d4:	ff b5 10 fe ff ff    	push   -0x1f0(%ebp)
4565da:	ff 15 b4 20 68 00    	call   *0x6820b4
4565e0:	85 c0                	test   %eax,%eax
4565e2:	75 11                	jne    0x4565f5
4565e4:	ff 15 e0 21 68 00    	call   *0x6821e0
4565ea:	50                   	push   %eax
4565eb:	68 58 e5 68 00       	push   $0x68e558
4565f0:	e9 c5 06 00 00       	jmp    0x456cba
4565f5:	68 00 20 00 00       	push   $0x2000
4565fa:	e8 b1 81 19 00       	call   0x5ee7b0
4565ff:	68 00 20 00 00       	push   $0x2000
456604:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
45660a:	e8 a1 81 19 00       	call   0x5ee7b0
45660f:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
456615:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
45661b:	50                   	push   %eax
45661c:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
456622:	50                   	push   %eax
456623:	68 2c e4 68 00       	push   $0x68e42c
456628:	e8 73 f0 ff ff       	call   0x4556a0
45662d:	83 c4 14             	add    $0x14,%esp
456630:	85 c0                	test   %eax,%eax
456632:	75 23                	jne    0x456657
456634:	ff 15 e0 21 68 00    	call   *0x6821e0
45663a:	50                   	push   %eax
45663b:	68 94 e5 68 00       	push   $0x68e594
456640:	ff 35 58 9c 71 00    	push   0x719c58
456646:	6a 02                	push   $0x2
456648:	68 a4 dd 68 00       	push   $0x68dda4
45664d:	6a 00                	push   $0x0
45664f:	e8 dc 6a 03 00       	call   0x48d130
456654:	83 c4 18             	add    $0x18,%esp
456657:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
45665d:	50                   	push   %eax
45665e:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
456664:	50                   	push   %eax
456665:	68 38 e4 68 00       	push   $0x68e438
45666a:	e8 31 f0 ff ff       	call   0x4556a0
45666f:	83 c4 0c             	add    $0xc,%esp
456672:	85 c0                	test   %eax,%eax
456674:	75 23                	jne    0x456699
456676:	ff 15 e0 21 68 00    	call   *0x6821e0
45667c:	50                   	push   %eax
45667d:	68 c4 e5 68 00       	push   $0x68e5c4
456682:	ff 35 58 9c 71 00    	push   0x719c58
456688:	6a 02                	push   $0x2
45668a:	68 a4 dd 68 00       	push   $0x68dda4
45668f:	6a 00                	push   $0x0
456691:	e8 9a 6a 03 00       	call   0x48d130
456696:	83 c4 18             	add    $0x18,%esp
456699:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
45669f:	50                   	push   %eax
4566a0:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
4566a6:	50                   	push   %eax
4566a7:	e8 c4 0f 00 00       	call   0x457670
4566ac:	8b 85 90 fd ff ff    	mov    -0x270(%ebp),%eax
4566b2:	83 c4 08             	add    $0x8,%esp
4566b5:	85 c0                	test   %eax,%eax
4566b7:	79 19                	jns    0x4566d2
4566b9:	f7 d8                	neg    %eax
4566bb:	50                   	push   %eax
4566bc:	8d 45 ee             	lea    -0x12(%ebp),%eax
4566bf:	50                   	push   %eax
4566c0:	e8 bb e9 ff ff       	call   0x455080