415306:	2b c2                	sub    %edx,%eax
415308:	83 c0 fc             	add    $0xfffffffc,%eax
41530b:	83 f8 1f             	cmp    $0x1f,%eax
41530e:	0f 87 a3 03 00 00    	ja     0x4156b7
415314:	51                   	push   %ecx
415315:	52                   	push   %edx
415316:	e8 f3 65 00 00       	call   0x41b90e
41531b:	83 c4 08             	add    $0x8,%esp
41531e:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
415324:	8b 41 64             	mov    0x64(%ecx),%eax
415327:	83 f8 0a             	cmp    $0xa,%eax
41532a:	74 1d                	je     0x415349
41532c:	83 f8 14             	cmp    $0x14,%eax
41532f:	74 0c                	je     0x41533d
415331:	c7 85 78 fb ff ff 00 	movl   $0xf00000,-0x488(%ebp)
415338:	00 f0 00
41533b:	eb 16                	jmp    0x415353
41533d:	c7 85 78 fb ff ff 00 	movl   $0x1400000,-0x488(%ebp)
415344:	00 40 01
415347:	eb 0a                	jmp    0x415353
415349:	c7 85 78 fb ff ff 00 	movl   $0x3200000,-0x488(%ebp)
415350:	00 20 03
415353:	68 00 04 00 00       	push   $0x400
415358:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
41535e:	6a 00                	push   $0x0
415360:	50                   	push   %eax
415361:	e8 7a 86 00 00       	call   0x41d9e0
415366:	83 bd ec fb ff ff 08 	cmpl   $0x8,-0x414(%ebp)
41536d:	8d 85 d8 fb ff ff    	lea    -0x428(%ebp),%eax
415373:	68 58 db 44 00       	push   $0x44db58
415378:	0f 43 85 d8 fb ff ff 	cmovae -0x428(%ebp),%eax
41537f:	50                   	push   %eax
415380:	8d 85 84 fb ff ff    	lea    -0x47c(%ebp),%eax
415386:	c7 85 84 fb ff ff 00 	movl   $0x0,-0x47c(%ebp)
41538d:	00 00 00
415390:	50                   	push   %eax
415391:	e8 07 f8 00 00       	call   0x424b9d
415396:	8b 85 84 fb ff ff    	mov    -0x47c(%ebp),%eax
41539c:	83 c4 18             	add    $0x18,%esp
41539f:	85 c0                	test   %eax,%eax
4153a1:	74 1f                	je     0x4153c2
4153a3:	50                   	push   %eax
4153a4:	6a 09                	push   $0x9
4153a6:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
4153ac:	6a 01                	push   $0x1
4153ae:	50                   	push   %eax
4153af:	e8 87 0f 01 00       	call   0x42633b
4153b4:	ff b5 84 fb ff ff    	push   -0x47c(%ebp)
4153ba:	e8 4a f9 00 00       	call   0x424d09
4153bf:	83 c4 14             	add    $0x14,%esp
4153c2:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4153c6:	8b c7                	mov    %edi,%eax
4153c8:	72 02                	jb     0x4153cc
4153ca:	8b 07                	mov    (%edi),%eax
4153cc:	6a 00                	push   $0x0
4153ce:	68 80 00 00 00       	push   $0x80
4153d3:	6a 03                	push   $0x3
4153d5:	6a 00                	push   $0x0
4153d7:	6a 03                	push   $0x3
4153d9:	68 00 00 00 80       	push   $0x80000000
4153de:	50                   	push   %eax
4153df:	ff 15 58 f0 43 00    	call   *0x43f058
4153e5:	8b f0                	mov    %eax,%esi
4153e7:	89 b5 70 fb ff ff    	mov    %esi,-0x490(%ebp)
4153ed:	83 fe ff             	cmp    $0xffffffff,%esi
4153f0:	0f 84 1a 02 00 00    	je     0x415610
4153f6:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
4153fc:	50                   	push   %eax
4153fd:	56                   	push   %esi
4153fe:	ff 15 ac f0 43 00    	call   *0x43f0ac
415404:	85 c0                	test   %eax,%eax
415406:	0f 84 fd 01 00 00    	je     0x415609
41540c:	8b 85 a0 fb ff ff    	mov    -0x460(%ebp),%eax
415412:	ff b5 70 fb ff ff    	push   -0x490(%ebp)
415418:	8b b5 a4 fb ff ff    	mov    -0x45c(%ebp),%esi
41541e:	89 85 74 fb ff ff    	mov    %eax,-0x48c(%ebp)
415424:	ff 15 68 f0 43 00    	call   *0x43f068
41542a:	c6 85 83 fb ff ff 01 	movb   $0x1,-0x47d(%ebp)
415431:	85 f6                	test   %esi,%esi
415433:	0f 8c de 01 00 00    	jl     0x415617
415439:	7f 12                	jg     0x41544d
41543b:	8b 85 74 fb ff ff    	mov    -0x48c(%ebp),%eax
415441:	3b 85 78 fb ff ff    	cmp    -0x488(%ebp),%eax
415447:	0f 82 ca 01 00 00    	jb     0x415617
41544d:	8b 85 7c fb ff ff    	mov    -0x484(%ebp),%eax
415453:	8d 70 68             	lea    0x68(%eax),%esi
415456:	c6 80 d0 00 00 00 01 	movb   $0x1,0xd0(%eax)
41545d:	8b 06                	mov    (%esi),%eax
41545f:	85 c0                	test   %eax,%eax
415461:	74 07                	je     0x41546a
415463:	50                   	push   %eax
415464:	ff 15 68 f0 43 00    	call   *0x43f068
41546a:	57                   	push   %edi
41546b:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
415471:	e8 4a ce fe ff       	call   0x4022c0
415476:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
41547c:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
415480:	e8 ab 44 00 00       	call   0x419930
415485:	51                   	push   %ecx
415486:	8d 95 88 fb ff ff    	lea    -0x478(%ebp),%edx
41548c:	8b cf                	mov    %edi,%ecx
41548e:	e8 3d fa ff ff       	call   0x414ed0
415493:	83 c4 04             	add    $0x4,%esp
415496:	84 c0                	test   %al,%al
415498:	74 59                	je     0x4154f3
41549a:	6a 01                	push   $0x1
41549c:	8b cf                	mov    %edi,%ecx
41549e:	e8 ed eb ff ff       	call   0x414090
4154a3:	83 c4 04             	add    $0x4,%esp
4154a6:	85 c0                	test   %eax,%eax
4154a8:	74 15                	je     0x4154bf
4154aa:	83 f8 01             	cmp    $0x1,%eax
4154ad:	75 44                	jne    0x4154f3
4154af:	6a 00                	push   $0x0
4154b1:	8b cf                	mov    %edi,%ecx
4154b3:	e8 38 de ff ff       	call   0x4132f0
4154b8:	83 c4 04             	add    $0x4,%esp
4154bb:	84 c0                	test   %al,%al
4154bd:	74 34                	je     0x4154f3
4154bf:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4154c3:	72 02                	jb     0x4154c7
4154c5:	8b 3f                	mov    (%edi),%edi
4154c7:	6a 00                	push   $0x0
4154c9:	68 80 00 20 00       	push   $0x200080
4154ce:	6a 05                	push   $0x5
4154d0:	6a 00                	push   $0x0
4154d2:	6a 03                	push   $0x3
4154d4:	68 00 00 00 40       	push   $0x40000000
4154d9:	57                   	push   %edi
4154da:	ff 15 58 f0 43 00    	call   *0x43f058
4154e0:	89 06                	mov    %eax,(%esi)
4154e2:	85 c0                	test   %eax,%eax
4154e4:	74 0d                	je     0x4154f3
4154e6:	50                   	push   %eax
4154e7:	ff 15 68 f0 43 00    	call   *0x43f068
4154ed:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4154f3:	8b bd 7c fb ff ff    	mov    -0x484(%ebp),%edi
4154f9:	56                   	push   %esi
4154fa:	8b 07                	mov    (%edi),%eax
4154fc:	8b 30                	mov    (%eax),%esi
4154fe:	8b ce                	mov    %esi,%ecx
415500:	ff 15 3c f2 43 00    	call   *0x43f23c
415506:	8b cf                	mov    %edi,%ecx
415508:	ff d6                	call   *%esi
41550a:	6a 08                	push   $0x8
41550c:	68 94 ec 44 00       	push   $0x44ec94
415511:	8d 8d c0 fb ff ff    	lea    -0x440(%ebp),%ecx
415517:	88 85 83 fb ff ff    	mov    %al,-0x47d(%ebp)
41551d:	c7 85 c0 fb ff ff 00 	movl   $0x0,-0x440(%ebp)
415524:	00 00 00
415527:	c7 85 d0 fb ff ff 00 	movl   $0x0,-0x430(%ebp)
41552e:	00 00 00
415531:	c7 85 d4 fb ff ff 00 	movl   $0x0,-0x42c(%ebp)
415538:	00 00 00
41553b:	e8 60 6b ff ff       	call   0x40c0a0
415540:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
415544:	8d 85 c0 fb ff ff    	lea    -0x440(%ebp),%eax
41554a:	8b bd d4 fb ff ff    	mov    -0x42c(%ebp),%edi
415550:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
415556:	8b b5 c0 fb ff ff    	mov    -0x440(%ebp),%esi
41555c:	83 ff 10             	cmp    $0x10,%edi
41555f:	0f 43 c6             	cmovae %esi,%eax
415562:	8a 11                	mov    (%ecx),%dl
415564:	3a 10                	cmp    (%eax),%dl
415566:	75 1a                	jne    0x415582
415568:	84 d2                	test   %dl,%dl
41556a:	74 12                	je     0x41557e
41556c:	8a 51 01             	mov    0x1(%ecx),%dl
41556f:	3a 50 01             	cmp    0x1(%eax),%dl
415572:	75 0e                	jne    0x415582
415574:	83 c1 02             	add    $0x2,%ecx
415577:	83 c0 02             	add    $0x2,%eax
41557a:	84 d2                	test   %dl,%dl
41557c:	75 e4                	jne    0x415562
41557e:	33 c0                	xor    %eax,%eax
415580:	eb 05                	jmp    0x415587
415582:	1b c0                	sbb    %eax,%eax
415584:	83 c8 01             	or     $0x1,%eax
415587:	85 c0                	test   %eax,%eax
415589:	74 0c                	je     0x415597
41558b:	51                   	push   %ecx
41558c:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
415592:	e8 49 13 ff ff       	call   0x4068e0
415597:	83 ff 10             	cmp    $0x10,%edi
41559a:	72 2b                	jb     0x4155c7
41559c:	8d 4f 01             	lea    0x1(%edi),%ecx
41559f:	8b c6                	mov    %esi,%eax
4155a1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4155a7:	72 14                	jb     0x4155bd
4155a9:	8b 70 fc             	mov    -0x4(%eax),%esi
4155ac:	83 c1 23             	add    $0x23,%ecx
4155af:	2b c6                	sub    %esi,%eax
4155b1:	83 c0 fc             	add    $0xfffffffc,%eax
4155b4:	83 f8 1f             	cmp    $0x1f,%eax
4155b7:	0f 87 ff 00 00 00    	ja     0x4156bc
4155bd:	51                   	push   %ecx
4155be:	56                   	push   %esi
4155bf:	e8 4a 63 00 00       	call   0x41b90e
4155c4:	83 c4 08             	add    $0x8,%esp
4155c7:	8b 8d 9c fb ff ff    	mov    -0x464(%ebp),%ecx
4155cd:	83 f9 08             	cmp    $0x8,%ecx
4155d0:	72 45                	jb     0x415617
4155d2:	8b 95 88 fb ff ff    	mov    -0x478(%ebp),%edx
4155d8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4155df:	8b c2                	mov    %edx,%eax
4155e1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4155e7:	72 14                	jb     0x4155fd
4155e9:	8b 50 fc             	mov    -0x4(%eax),%edx
4155ec:	83 c1 23             	add    $0x23,%ecx
4155ef:	2b c2                	sub    %edx,%eax
4155f1:	83 c0 fc             	add    $0xfffffffc,%eax
4155f4:	83 f8 1f             	cmp    $0x1f,%eax
4155f7:	0f 87 bf 00 00 00    	ja     0x4156bc
4155fd:	51                   	push   %ecx
4155fe:	52                   	push   %edx
4155ff:	e8 0a 63 00 00       	call   0x41b90e
415604:	83 c4 08             	add    $0x8,%esp
415607:	eb 0e                	jmp    0x415617
415609:	56                   	push   %esi
41560a:	ff 15 68 f0 43 00    	call   *0x43f068
415610:	c6 85 83 fb ff ff 00 	movb   $0x0,-0x47d(%ebp)
415617:	8b 8d bc fb ff ff    	mov    -0x444(%ebp),%ecx
41561d:	83 f9 08             	cmp    $0x8,%ecx
415620:	72 31                	jb     0x415653
415622:	8b 95 a8 fb ff ff    	mov    -0x458(%ebp),%edx
415628:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41562f:	8b c2                	mov    %edx,%eax
415631:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
415637:	72 10                	jb     0x415649
415639:	8b 50 fc             	mov    -0x4(%eax),%edx
41563c:	83 c1 23             	add    $0x23,%ecx
41563f:	2b c2                	sub    %edx,%eax
415641:	83 c0 fc             	add    $0xfffffffc,%eax
415644:	83 f8 1f             	cmp    $0x1f,%eax
415647:	77 78                	ja     0x4156c1
415649:	51                   	push   %ecx
41564a:	52                   	push   %edx
41564b:	e8 be 62 00 00       	call   0x41b90e
415650:	83 c4 08             	add    $0x8,%esp
415653:	8b 8d ec fb ff ff    	mov    -0x414(%ebp),%ecx
415659:	83 f9 08             	cmp    $0x8,%ecx
41565c:	72 31                	jb     0x41568f
41565e:	8b 95 d8 fb ff ff    	mov    -0x428(%ebp),%edx
415664:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41566b:	8b c2                	mov    %edx,%eax
41566d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
415673:	72 10                	jb     0x415685
415675:	8b 50 fc             	mov    -0x4(%eax),%edx
415678:	83 c1 23             	add    $0x23,%ecx
41567b:	2b c2                	sub    %edx,%eax
41567d:	83 c0 fc             	add    $0xfffffffc,%eax
415680:	83 f8 1f             	cmp    $0x1f,%eax
415683:	77 3c                	ja     0x4156c1
415685:	51                   	push   %ecx
415686:	52                   	push   %edx
415687:	e8 82 62 00 00       	call   0x41b90e
41568c:	83 c4 08             	add    $0x8,%esp
41568f:	8a 85 83 fb ff ff    	mov    -0x47d(%ebp),%al
415695:	8b 4d f4             	mov    -0xc(%ebp),%ecx
415698:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41569f:	59                   	pop    %ecx
4156a0:	5f                   	pop    %edi
4156a1:	5e                   	pop    %esi
4156a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4156a5:	33 cd                	xor    %ebp,%ecx
4156a7:	e8 24 62 00 00       	call   0x41b8d0
4156ac:	8b e5                	mov    %ebp,%esp
4156ae:	5d                   	pop    %ebp
4156af:	c2 04 00             	ret    $0x4
4156b2:	e8 e9 bb fe ff       	call   0x4012a0
4156b7:	e8 c3 b3 00 00       	call   0x420a7f
4156bc:	e8 be b3 00 00       	call   0x420a7f
4156c1:	e8 b9 b3 00 00       	call   0x420a7f
4156c6:	cc                   	int3
4156c7:	cc                   	int3
4156c8:	cc                   	int3
4156c9:	cc                   	int3
4156ca:	cc                   	int3
4156cb:	cc                   	int3
4156cc:	cc                   	int3
4156cd:	cc                   	int3
4156ce:	cc                   	int3
4156cf:	cc                   	int3
4156d0:	53                   	push   %ebx
4156d1:	8b dc                	mov    %esp,%ebx
4156d3:	83 ec 08             	sub    $0x8,%esp
4156d6:	83 e4 f8             	and    $0xfffffff8,%esp
4156d9:	83 c4 04             	add    $0x4,%esp
4156dc:	55                   	push   %ebp
4156dd:	8b 6b 04             	mov    0x4(%ebx),%ebp
4156e0:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4156e4:	8b ec                	mov    %esp,%ebp
4156e6:	6a ff                	push   $0xffffffff
4156e8:	68 5d e3 43 00       	push   $0x43e35d
4156ed:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4156f3:	50                   	push   %eax
4156f4:	53                   	push   %ebx
4156f5:	83 ec 1c             	sub    $0x1c,%esp
4156f8:	56                   	push   %esi
4156f9:	a1 14 40 45 00       	mov    0x454014,%eax
4156fe:	33 c5                	xor    %ebp,%eax
415700:	50                   	push   %eax
415701:	8d 45 f4             	lea    -0xc(%ebp),%eax
415704:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41570a:	8b f1                	mov    %ecx,%esi
41570c:	6a 0d                	push   $0xd
41570e:	68 a0 ec 44 00       	push   $0x44eca0
415713:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415716:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
41571d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
415724:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41572b:	e8 e0 cd fe ff       	call   0x402510
415730:	81 c6 00 01 00 00    	add    $0x100,%esi
415736:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41573d:	8b 46 04             	mov    0x4(%esi),%eax
415740:	3b 46 08             	cmp    0x8(%esi),%eax
415743:	74 22                	je     0x415767
415745:	0f 10 45 d8          	movups -0x28(%ebp),%xmm0
415749:	b9 07 00 00 00       	mov    $0x7,%ecx
41574e:	0f 11 00             	movups %xmm0,(%eax)
415751:	f3 0f 7e 45 e8       	movq   -0x18(%ebp),%xmm0
415756:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
41575b:	33 c0                	xor    %eax,%eax
41575d:	83 46 04 18          	addl   $0x18,0x4(%esi)
415761:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
415765:	eb 0f                	jmp    0x415776
415767:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41576a:	51                   	push   %ecx
41576b:	50                   	push   %eax
41576c:	8b ce                	mov    %esi,%ecx
41576e:	e8 2d e3 ff ff       	call   0x413aa0
415773:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415776:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41577d:	83 f9 08             	cmp    $0x8,%ecx
415780:	72 32                	jb     0x4157b4
415782:	8b 55 d8             	mov    -0x28(%ebp),%edx
415785:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41578c:	8b c2                	mov    %edx,%eax
41578e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
415794:	72 14                	jb     0x4157aa
415796:	8b 50 fc             	mov    -0x4(%eax),%edx
415799:	83 c1 23             	add    $0x23,%ecx
41579c:	2b c2                	sub    %edx,%eax
41579e:	83 c0 fc             	add    $0xfffffffc,%eax
4157a1:	83 f8 1f             	cmp    $0x1f,%eax
4157a4:	0f 87 22 05 00 00    	ja     0x415ccc
4157aa:	51                   	push   %ecx
4157ab:	52                   	push   %edx
4157ac:	e8 5d 61 00 00       	call   0x41b90e
4157b1:	83 c4 08             	add    $0x8,%esp