4155cd:	ff d6                	call   *%esi
4155cf:	85 c0                	test   %eax,%eax
4155d1:	0f 84 14 01 00 00    	je     0x4156eb
4155d7:	50                   	push   %eax
4155d8:	e8 9d 51 ff ff       	call   0x40a77a
4155dd:	c7 04 24 f8 dd 41 00 	movl   $0x41ddf8,(%esp)
4155e4:	57                   	push   %edi
4155e5:	a3 c8 11 43 00       	mov    %eax,0x4311c8
4155ea:	ff d6                	call   *%esi
4155ec:	50                   	push   %eax
4155ed:	e8 88 51 ff ff       	call   0x40a77a
4155f2:	c7 04 24 e4 dd 41 00 	movl   $0x41dde4,(%esp)
4155f9:	57                   	push   %edi
4155fa:	a3 cc 11 43 00       	mov    %eax,0x4311cc
4155ff:	ff d6                	call   *%esi
415601:	50                   	push   %eax
415602:	e8 73 51 ff ff       	call   0x40a77a
415607:	c7 04 24 c8 dd 41 00 	movl   $0x41ddc8,(%esp)
41560e:	57                   	push   %edi
41560f:	a3 d0 11 43 00       	mov    %eax,0x4311d0
415614:	ff d6                	call   *%esi
415616:	50                   	push   %eax
415617:	e8 5e 51 ff ff       	call   0x40a77a
41561c:	59                   	pop    %ecx
41561d:	a3 d8 11 43 00       	mov    %eax,0x4311d8
415622:	85 c0                	test   %eax,%eax
415624:	74 14                	je     0x41563a
415626:	68 b0 dd 41 00       	push   $0x41ddb0
41562b:	57                   	push   %edi
41562c:	ff d6                	call   *%esi
41562e:	50                   	push   %eax
41562f:	e8 46 51 ff ff       	call   0x40a77a
415634:	59                   	pop    %ecx
415635:	a3 d4 11 43 00       	mov    %eax,0x4311d4
41563a:	a1 d4 11 43 00       	mov    0x4311d4,%eax
41563f:	3b c3                	cmp    %ebx,%eax
415641:	74 4f                	je     0x415692
415643:	39 1d d8 11 43 00    	cmp    %ebx,0x4311d8
415649:	74 47                	je     0x415692
41564b:	50                   	push   %eax
41564c:	e8 a4 51 ff ff       	call   0x40a7f5
415651:	ff 35 d8 11 43 00    	push   0x4311d8
415657:	8b f0                	mov    %eax,%esi
415659:	e8 97 51 ff ff       	call   0x40a7f5
41565e:	59                   	pop    %ecx
41565f:	59                   	pop    %ecx
415660:	8b f8                	mov    %eax,%edi
415662:	85 f6                	test   %esi,%esi
415664:	74 2c                	je     0x415692
415666:	85 ff                	test   %edi,%edi
415668:	74 28                	je     0x415692
41566a:	ff d6                	call   *%esi
41566c:	85 c0                	test   %eax,%eax
41566e:	74 19                	je     0x415689
415670:	8d 4d f8             	lea    -0x8(%ebp),%ecx
415673:	51                   	push   %ecx
415674:	6a 0c                	push   $0xc
415676:	8d 4d ec             	lea    -0x14(%ebp),%ecx
415679:	51                   	push   %ecx
41567a:	6a 01                	push   $0x1
41567c:	50                   	push   %eax
41567d:	ff d7                	call   *%edi
41567f:	85 c0                	test   %eax,%eax
415681:	74 06                	je     0x415689
415683:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
415687:	75 09                	jne    0x415692
415689:	81 4d 10 00 00 20 00 	orl    $0x200000,0x10(%ebp)
415690:	eb 39                	jmp    0x4156cb
415692:	a1 cc 11 43 00       	mov    0x4311cc,%eax
415697:	3b c3                	cmp    %ebx,%eax
415699:	74 30                	je     0x4156cb
41569b:	50                   	push   %eax
41569c:	e8 54 51 ff ff       	call   0x40a7f5
4156a1:	59                   	pop    %ecx
4156a2:	85 c0                	test   %eax,%eax
4156a4:	74 25                	je     0x4156cb
4156a6:	ff d0                	call   *%eax
4156a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4156ab:	85 c0                	test   %eax,%eax
4156ad:	74 1c                	je     0x4156cb
4156af:	a1 d0 11 43 00       	mov    0x4311d0,%eax
4156b4:	3b c3                	cmp    %ebx,%eax
4156b6:	74 13                	je     0x4156cb
4156b8:	50                   	push   %eax
4156b9:	e8 37 51 ff ff       	call   0x40a7f5
4156be:	59                   	pop    %ecx
4156bf:	85 c0                	test   %eax,%eax
4156c1:	74 08                	je     0x4156cb
4156c3:	ff 75 fc             	push   -0x4(%ebp)
4156c6:	ff d0                	call   *%eax
4156c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4156cb:	ff 35 c8 11 43 00    	push   0x4311c8
4156d1:	e8 1f 51 ff ff       	call   0x40a7f5
4156d6:	59                   	pop    %ecx
4156d7:	85 c0                	test   %eax,%eax
4156d9:	74 10                	je     0x4156eb
4156db:	ff 75 10             	push   0x10(%ebp)
4156de:	ff 75 0c             	push   0xc(%ebp)
4156e1:	ff 75 08             	push   0x8(%ebp)
4156e4:	ff 75 fc             	push   -0x4(%ebp)
4156e7:	ff d0                	call   *%eax
4156e9:	eb 02                	jmp    0x4156ed
4156eb:	33 c0                	xor    %eax,%eax
4156ed:	5f                   	pop    %edi
4156ee:	5e                   	pop    %esi
4156ef:	5b                   	pop    %ebx
4156f0:	c9                   	leave
4156f1:	c3                   	ret
4156f2:	8b ff                	mov    %edi,%edi
4156f4:	55                   	push   %ebp
4156f5:	8b ec                	mov    %esp,%ebp
4156f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4156fa:	56                   	push   %esi
4156fb:	33 f6                	xor    %esi,%esi
4156fd:	3b ce                	cmp    %esi,%ecx
4156ff:	7c 1e                	jl     0x41571f
415701:	83 f9 02             	cmp    $0x2,%ecx
415704:	7e 0c                	jle    0x415712
415706:	83 f9 03             	cmp    $0x3,%ecx
415709:	75 14                	jne    0x41571f
41570b:	a1 f8 07 43 00       	mov    0x4307f8,%eax
415710:	eb 28                	jmp    0x41573a
415712:	a1 f8 07 43 00       	mov    0x4307f8,%eax
415717:	89 0d f8 07 43 00    	mov    %ecx,0x4307f8
41571d:	eb 1b                	jmp    0x41573a
41571f:	e8 b1 03 ff ff       	call   0x405ad5
415724:	56                   	push   %esi
415725:	56                   	push   %esi
415726:	56                   	push   %esi
415727:	56                   	push   %esi
415728:	56                   	push   %esi
415729:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41572f:	e8 f1 fa fe ff       	call   0x405225
415734:	83 c4 14             	add    $0x14,%esp
415737:	83 c8 ff             	or     $0xffffffff,%eax
41573a:	5e                   	pop    %esi
41573b:	5d                   	pop    %ebp
41573c:	c3                   	ret
41573d:	8b ff                	mov    %edi,%edi
41573f:	55                   	push   %ebp
415740:	8b ec                	mov    %esp,%ebp
415742:	83 ec 10             	sub    $0x10,%esp
415745:	ff 75 08             	push   0x8(%ebp)
415748:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41574b:	e8 14 21 ff ff       	call   0x407864
415750:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
415754:	8b 4d f4             	mov    -0xc(%ebp),%ecx
415757:	8a 55 14             	mov    0x14(%ebp),%dl
41575a:	84 54 01 1d          	test   %dl,0x1d(%ecx,%eax,1)
41575e:	75 1e                	jne    0x41577e
415760:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
415764:	74 12                	je     0x415778
415766:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415769:	8b 89 c8 00 00 00    	mov    0xc8(%ecx),%ecx
41576f:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
415773:	23 45 10             	and    0x10(%ebp),%eax
415776:	eb 02                	jmp    0x41577a
415778:	33 c0                	xor    %eax,%eax
41577a:	85 c0                	test   %eax,%eax
41577c:	74 03                	je     0x415781
41577e:	33 c0                	xor    %eax,%eax
415780:	40                   	inc    %eax
415781:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
415785:	74 07                	je     0x41578e
415787:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41578a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
41578e:	c9                   	leave
41578f:	c3                   	ret
415790:	8b ff                	mov    %edi,%edi
415792:	55                   	push   %ebp
415793:	8b ec                	mov    %esp,%ebp
415795:	6a 04                	push   $0x4
415797:	6a 00                	push   $0x0
415799:	ff 75 08             	push   0x8(%ebp)
41579c:	6a 00                	push   $0x0
41579e:	e8 9a ff ff ff       	call   0x41573d
4157a3:	83 c4 10             	add    $0x10,%esp
4157a6:	5d                   	pop    %ebp
4157a7:	c3                   	ret
4157a8:	8b ff                	mov    %edi,%edi
4157aa:	55                   	push   %ebp
4157ab:	8b ec                	mov    %esp,%ebp
4157ad:	83 ec 10             	sub    $0x10,%esp
4157b0:	ff 75 08             	push   0x8(%ebp)
4157b3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4157b6:	e8 a9 20 ff ff       	call   0x407864
4157bb:	ff 75 18             	push   0x18(%ebp)
4157be:	ff 75 14             	push   0x14(%ebp)
4157c1:	ff 75 10             	push   0x10(%ebp)
4157c4:	ff 75 0c             	push   0xc(%ebp)
4157c7:	ff 15 78 a1 41 00    	call   *0x41a178
4157cd:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4157d1:	74 07                	je     0x4157da
4157d3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4157d6:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4157da:	c9                   	leave
4157db:	c3                   	ret
4157dc:	8b ff                	mov    %edi,%edi
4157de:	55                   	push   %ebp
4157df:	8b ec                	mov    %esp,%ebp
4157e1:	51                   	push   %ecx
4157e2:	51                   	push   %ecx
4157e3:	a1 68 b2 42 00       	mov    0x42b268,%eax
4157e8:	33 c5                	xor    %ebp,%eax
4157ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4157ed:	a1 dc 11 43 00       	mov    0x4311dc,%eax
4157f2:	53                   	push   %ebx
4157f3:	8b 1d 78 a1 41 00    	mov    0x41a178,%ebx
4157f9:	56                   	push   %esi
4157fa:	57                   	push   %edi
4157fb:	33 ff                	xor    %edi,%edi
4157fd:	33 f6                	xor    %esi,%esi
4157ff:	47                   	inc    %edi
415800:	3b c6                	cmp    %esi,%eax
415802:	75 2c                	jne    0x415830
415804:	56                   	push   %esi
415805:	56                   	push   %esi
415806:	57                   	push   %edi
415807:	56                   	push   %esi
415808:	ff d3                	call   *%ebx
41580a:	85 c0                	test   %eax,%eax
41580c:	74 08                	je     0x415816
41580e:	89 3d dc 11 43 00    	mov    %edi,0x4311dc
415814:	eb 2f                	jmp    0x415845
415816:	ff 15 98 a0 41 00    	call   *0x41a098
41581c:	83 f8 78             	cmp    $0x78,%eax
41581f:	75 0a                	jne    0x41582b
415821:	6a 02                	push   $0x2
415823:	58                   	pop    %eax
415824:	a3 dc 11 43 00       	mov    %eax,0x4311dc
415829:	eb 05                	jmp    0x415830
41582b:	a1 dc 11 43 00       	mov    0x4311dc,%eax
415830:	83 f8 02             	cmp    $0x2,%eax
415833:	0f 84 be 00 00 00    	je     0x4158f7
415839:	3b c6                	cmp    %esi,%eax
41583b:	0f 84 b6 00 00 00    	je     0x4158f7
415841:	3b c7                	cmp    %edi,%eax
415843:	75 23                	jne    0x415868
415845:	39 75 1c             	cmp    %esi,0x1c(%ebp)
415848:	75 0b                	jne    0x415855
41584a:	8b 45 08             	mov    0x8(%ebp),%eax
41584d:	8b 00                	mov    (%eax),%eax
41584f:	8b 40 04             	mov    0x4(%eax),%eax
415852:	89 45 1c             	mov    %eax,0x1c(%ebp)
415855:	56                   	push   %esi
415856:	56                   	push   %esi
415857:	ff 75 10             	push   0x10(%ebp)
41585a:	ff 75 0c             	push   0xc(%ebp)
41585d:	ff d3                	call   *%ebx
41585f:	8b c8                	mov    %eax,%ecx
415861:	89 4d f8             	mov    %ecx,-0x8(%ebp)
415864:	3b ce                	cmp    %esi,%ecx
415866:	75 07                	jne    0x41586f
415868:	33 c0                	xor    %eax,%eax
41586a:	e9 9a 00 00 00       	jmp    0x415909
41586f:	7e 45                	jle    0x4158b6
415871:	6a e0                	push   $0xffffffe0
415873:	33 d2                	xor    %edx,%edx
415875:	58                   	pop    %eax
415876:	f7 f1                	div    %ecx
415878:	83 f8 02             	cmp    $0x2,%eax
41587b:	72 39                	jb     0x4158b6
41587d:	8d 44 09 08          	lea    0x8(%ecx,%ecx,1),%eax
415881:	3d 00 04 00 00       	cmp    $0x400,%eax
415886:	77 16                	ja     0x41589e
415888:	e8 b3 c6 ff ff       	call   0x411f40
41588d:	8b fc                	mov    %esp,%edi
41588f:	3b fe                	cmp    %esi,%edi
415891:	74 d5                	je     0x415868
415893:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
415899:	83 c7 08             	add    $0x8,%edi
41589c:	eb 1a                	jmp    0x4158b8
41589e:	50                   	push   %eax
41589f:	e8 ca 3d ff ff       	call   0x40966e
4158a4:	59                   	pop    %ecx
4158a5:	3b c6                	cmp    %esi,%eax
4158a7:	74 09                	je     0x4158b2
4158a9:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
4158af:	83 c0 08             	add    $0x8,%eax
4158b2:	8b f8                	mov    %eax,%edi
4158b4:	eb 02                	jmp    0x4158b8
4158b6:	33 ff                	xor    %edi,%edi
4158b8:	3b fe                	cmp    %esi,%edi
4158ba:	74 ac                	je     0x415868
4158bc:	ff 75 f8             	push   -0x8(%ebp)
4158bf:	57                   	push   %edi
4158c0:	ff 75 10             	push   0x10(%ebp)
4158c3:	ff 75 0c             	push   0xc(%ebp)
4158c6:	ff d3                	call   *%ebx
4158c8:	85 c0                	test   %eax,%eax
4158ca:	74 20                	je     0x4158ec
4158cc:	56                   	push   %esi
4158cd:	56                   	push   %esi
4158ce:	39 75 18             	cmp    %esi,0x18(%ebp)
4158d1:	75 04                	jne    0x4158d7
4158d3:	56                   	push   %esi
4158d4:	56                   	push   %esi
4158d5:	eb 06                	jmp    0x4158dd
4158d7:	ff 75 18             	push   0x18(%ebp)
4158da:	ff 75 14             	push   0x14(%ebp)
4158dd:	6a ff                	push   $0xffffffff
4158df:	57                   	push   %edi
4158e0:	56                   	push   %esi
4158e1:	ff 75 1c             	push   0x1c(%ebp)
4158e4:	ff 15 70 a0 41 00    	call   *0x41a070
4158ea:	8b f0                	mov    %eax,%esi
4158ec:	57                   	push   %edi
4158ed:	e8 76 23 ff ff       	call   0x407c68
4158f2:	59                   	pop    %ecx
4158f3:	8b c6                	mov    %esi,%eax
4158f5:	eb 12                	jmp    0x415909
4158f7:	ff 75 18             	push   0x18(%ebp)
4158fa:	ff 75 14             	push   0x14(%ebp)
4158fd:	ff 75 10             	push   0x10(%ebp)
415900:	ff 75 0c             	push   0xc(%ebp)
415903:	ff 15 50 a1 41 00    	call   *0x41a150
415909:	8d 65 ec             	lea    -0x14(%ebp),%esp
41590c:	5f                   	pop    %edi
41590d:	5e                   	pop    %esi
41590e:	5b                   	pop    %ebx
41590f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415912:	33 cd                	xor    %ebp,%ecx
415914:	e8 0d 0d ff ff       	call   0x406626
415919:	c9                   	leave
41591a:	c3                   	ret
41591b:	8b ff                	mov    %edi,%edi
41591d:	55                   	push   %ebp
41591e:	8b ec                	mov    %esp,%ebp
415920:	83 ec 10             	sub    $0x10,%esp
415923:	ff 75 08             	push   0x8(%ebp)
415926:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415929:	e8 36 1f ff ff       	call   0x407864
41592e:	ff 75 1c             	push   0x1c(%ebp)
415931:	8d 45 f0             	lea    -0x10(%ebp),%eax
415934:	ff 75 18             	push   0x18(%ebp)
415937:	ff 75 14             	push   0x14(%ebp)
41593a:	ff 75 10             	push   0x10(%ebp)
41593d:	ff 75 0c             	push   0xc(%ebp)
415940:	50                   	push   %eax
415941:	e8 96 fe ff ff       	call   0x4157dc
415946:	83 c4 18             	add    $0x18,%esp
415949:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41594d:	74 07                	je     0x415956
41594f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415952:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
415956:	c9                   	leave
415957:	c3                   	ret
415958:	8b ff                	mov    %edi,%edi
41595a:	55                   	push   %ebp
41595b:	8b ec                	mov    %esp,%ebp