413582:	75 23                	jne    0x4135a7
413584:	8b 45 0c             	mov    0xc(%ebp),%eax
413587:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41358b:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413592:	50                   	push   %eax
413593:	33 ff                	xor    %edi,%edi
413595:	57                   	push   %edi
413596:	57                   	push   %edi
413597:	57                   	push   %edi
413598:	57                   	push   %edi
413599:	57                   	push   %edi
41359a:	e8 d2 9d ff ff       	call   0x40d371
41359f:	83 c4 18             	add    $0x18,%esp
4135a2:	83 c8 ff             	or     $0xffffffff,%eax
4135a5:	eb 40                	jmp    0x4135e7
4135a7:	8b 46 0c             	mov    0xc(%esi),%eax
4135aa:	90                   	nop
4135ab:	c1 e8 0c             	shr    $0xc,%eax
4135ae:	56                   	push   %esi
4135af:	a8 01                	test   $0x1,%al
4135b1:	74 08                	je     0x4135bb
4135b3:	e8 65 bf 00 00       	call   0x41f51d
4135b8:	59                   	pop    %ecx
4135b9:	eb e7                	jmp    0x4135a2
4135bb:	33 ff                	xor    %edi,%edi
4135bd:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4135c0:	e8 0c a4 00 00       	call   0x41d9d1
4135c5:	59                   	pop    %ecx
4135c6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4135c9:	ff 75 0c             	push   0xc(%ebp)
4135cc:	56                   	push   %esi
4135cd:	e8 33 00 00 00       	call   0x413605
4135d2:	59                   	pop    %ecx
4135d3:	59                   	pop    %ecx
4135d4:	8b f8                	mov    %eax,%edi
4135d6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4135d9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4135e0:	e8 18 00 00 00       	call   0x4135fd
4135e5:	8b c7                	mov    %edi,%eax
4135e7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4135ea:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4135f1:	59                   	pop    %ecx
4135f2:	5f                   	pop    %edi
4135f3:	5e                   	pop    %esi
4135f4:	5b                   	pop    %ebx
4135f5:	c9                   	leave
4135f6:	c3                   	ret
4135f7:	8b 75 e0             	mov    -0x20(%ebp),%esi
4135fa:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4135fd:	56                   	push   %esi
4135fe:	e8 e2 a3 00 00       	call   0x41d9e5
413603:	59                   	pop    %ecx
413604:	c3                   	ret
413605:	8b ff                	mov    %edi,%edi
413607:	55                   	push   %ebp
413608:	8b ec                	mov    %esp,%ebp
41360a:	56                   	push   %esi
41360b:	8b 75 08             	mov    0x8(%ebp),%esi
41360e:	85 f6                	test   %esi,%esi
413610:	75 23                	jne    0x413635
413612:	8b 45 0c             	mov    0xc(%ebp),%eax
413615:	50                   	push   %eax
413616:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41361a:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413621:	33 c0                	xor    %eax,%eax
413623:	50                   	push   %eax
413624:	50                   	push   %eax
413625:	50                   	push   %eax
413626:	50                   	push   %eax
413627:	50                   	push   %eax
413628:	e8 44 9d ff ff       	call   0x40d371
41362d:	83 c4 18             	add    $0x18,%esp
413630:	83 c8 ff             	or     $0xffffffff,%eax
413633:	eb 5b                	jmp    0x413690
413635:	8b 46 0c             	mov    0xc(%esi),%eax
413638:	57                   	push   %edi
413639:	83 cf ff             	or     $0xffffffff,%edi
41363c:	90                   	nop
41363d:	c1 e8 0d             	shr    $0xd,%eax
413640:	a8 01                	test   $0x1,%al
413642:	74 42                	je     0x413686
413644:	ff 75 0c             	push   0xc(%ebp)
413647:	56                   	push   %esi
413648:	e8 57 c8 00 00       	call   0x41fea4
41364d:	56                   	push   %esi
41364e:	8b f8                	mov    %eax,%edi
413650:	e8 d6 c5 00 00       	call   0x41fc2b
413655:	83 c4 0c             	add    $0xc,%esp
413658:	ff 75 0c             	push   0xc(%ebp)
41365b:	56                   	push   %esi
41365c:	e8 df a1 00 00       	call   0x41d840
413661:	59                   	pop    %ecx
413662:	50                   	push   %eax
413663:	e8 50 c4 00 00       	call   0x41fab8
413668:	59                   	pop    %ecx
413669:	59                   	pop    %ecx
41366a:	85 c0                	test   %eax,%eax
41366c:	79 05                	jns    0x413673
41366e:	83 cf ff             	or     $0xffffffff,%edi
413671:	eb 13                	jmp    0x413686
413673:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
413677:	74 0d                	je     0x413686
413679:	ff 76 1c             	push   0x1c(%esi)
41367c:	e8 8f 35 ff ff       	call   0x406c10
413681:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
413685:	59                   	pop    %ecx
413686:	56                   	push   %esi
413687:	e8 91 be 00 00       	call   0x41f51d
41368c:	59                   	pop    %ecx
41368d:	8b c7                	mov    %edi,%eax
41368f:	5f                   	pop    %edi
413690:	5e                   	pop    %esi
413691:	5d                   	pop    %ebp
413692:	c3                   	ret
413693:	8b ff                	mov    %edi,%edi
413695:	55                   	push   %ebp
413696:	8b ec                	mov    %esp,%ebp
413698:	83 ec 28             	sub    $0x28,%esp
41369b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41369e:	56                   	push   %esi
41369f:	6a 00                	push   $0x0
4136a1:	e8 3c 9a ff ff       	call   0x40d0e2
4136a6:	8d 45 d8             	lea    -0x28(%ebp),%eax
4136a9:	50                   	push   %eax
4136aa:	ff 75 08             	push   0x8(%ebp)
4136ad:	e8 bc fe ff ff       	call   0x41356e
4136b2:	59                   	pop    %ecx
4136b3:	59                   	pop    %ecx
4136b4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4136b7:	8b f0                	mov    %eax,%esi
4136b9:	e8 6c 9a ff ff       	call   0x40d12a
4136be:	8b c6                	mov    %esi,%eax
4136c0:	5e                   	pop    %esi
4136c1:	c9                   	leave
4136c2:	c3                   	ret
4136c3:	6a 18                	push   $0x18
4136c5:	68 78 ab 43 00       	push   $0x43ab78
4136ca:	e8 01 6e ff ff       	call   0x40a4d0
4136cf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4136d3:	75 0f                	jne    0x4136e4
4136d5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4136d9:	74 09                	je     0x4136e4
4136db:	33 db                	xor    %ebx,%ebx
4136dd:	8b c3                	mov    %ebx,%eax
4136df:	33 f6                	xor    %esi,%esi
4136e1:	46                   	inc    %esi
4136e2:	eb 07                	jmp    0x4136eb
4136e4:	33 f6                	xor    %esi,%esi
4136e6:	46                   	inc    %esi
4136e7:	8b c6                	mov    %esi,%eax
4136e9:	33 db                	xor    %ebx,%ebx
4136eb:	85 c0                	test   %eax,%eax
4136ed:	75 14                	jne    0x413703
4136ef:	e8 7d 8f 00 00       	call   0x41c671
4136f4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4136fa:	e8 ef 9c ff ff       	call   0x40d3ee
4136ff:	33 c0                	xor    %eax,%eax
413701:	eb 68                	jmp    0x41376b
413703:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
413707:	7c e6                	jl     0x4136ef
413709:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41370d:	74 e0                	je     0x4136ef
41370f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
413713:	74 ea                	je     0x4136ff
413715:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
413718:	ff 75 10             	push   0x10(%ebp)
41371b:	e8 b1 a2 00 00       	call   0x41d9d1
413720:	59                   	pop    %ecx
413721:	89 5d fc             	mov    %ebx,-0x4(%ebp)
413724:	ff 75 10             	push   0x10(%ebp)
413727:	e8 73 e2 ff ff       	call   0x41199f
41372c:	59                   	pop    %ecx
41372d:	84 c0                	test   %al,%al
41372f:	74 2c                	je     0x41375d
413731:	8b 7d 08             	mov    0x8(%ebp),%edi
413734:	89 7d e0             	mov    %edi,-0x20(%ebp)
413737:	89 75 dc             	mov    %esi,-0x24(%ebp)
41373a:	3b 75 0c             	cmp    0xc(%ebp),%esi
41373d:	74 16                	je     0x413755
41373f:	ff 75 10             	push   0x10(%ebp)
413742:	e8 c3 c8 00 00       	call   0x42000a
413747:	59                   	pop    %ecx
413748:	89 45 d8             	mov    %eax,-0x28(%ebp)
41374b:	83 f8 ff             	cmp    $0xffffffff,%eax
41374e:	75 2b                	jne    0x41377b
413750:	3b 7d 08             	cmp    0x8(%ebp),%edi
413753:	74 08                	je     0x41375d
413755:	88 1f                	mov    %bl,(%edi)
413757:	8b 5d 08             	mov    0x8(%ebp),%ebx
41375a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41375d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
413764:	e8 22 00 00 00       	call   0x41378b
413769:	8b c3                	mov    %ebx,%eax
41376b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41376e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413775:	59                   	pop    %ecx
413776:	5f                   	pop    %edi
413777:	5e                   	pop    %esi
413778:	5b                   	pop    %ebx
413779:	c9                   	leave
41377a:	c3                   	ret
41377b:	88 07                	mov    %al,(%edi)
41377d:	47                   	inc    %edi
41377e:	89 7d e0             	mov    %edi,-0x20(%ebp)
413781:	3c 0a                	cmp    $0xa,%al
413783:	74 d0                	je     0x413755
413785:	46                   	inc    %esi
413786:	eb af                	jmp    0x413737
413788:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
41378b:	ff 75 10             	push   0x10(%ebp)
41378e:	e8 52 a2 00 00       	call   0x41d9e5
413793:	59                   	pop    %ecx
413794:	c3                   	ret
413795:	8b ff                	mov    %edi,%edi
413797:	55                   	push   %ebp
413798:	8b ec                	mov    %esp,%ebp
41379a:	5d                   	pop    %ebp
41379b:	e9 23 ff ff ff       	jmp    0x4136c3
4137a0:	6a 0c                	push   $0xc
4137a2:	68 98 ab 43 00       	push   $0x43ab98
4137a7:	e8 24 6d ff ff       	call   0x40a4d0
4137ac:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4137b0:	8b 45 08             	mov    0x8(%ebp),%eax
4137b3:	ff 30                	push   (%eax)
4137b5:	e8 17 a2 00 00       	call   0x41d9d1
4137ba:	59                   	pop    %ecx
4137bb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4137bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4137c2:	e8 34 00 00 00       	call   0x4137fb
4137c7:	8b f0                	mov    %eax,%esi
4137c9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4137cc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4137d3:	e8 17 00 00 00       	call   0x4137ef
4137d8:	8b c6                	mov    %esi,%eax
4137da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4137dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4137e4:	59                   	pop    %ecx
4137e5:	5f                   	pop    %edi
4137e6:	5e                   	pop    %esi
4137e7:	5b                   	pop    %ebx
4137e8:	c9                   	leave
4137e9:	c2 0c 00             	ret    $0xc
4137ec:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4137ef:	8b 45 10             	mov    0x10(%ebp),%eax
4137f2:	ff 30                	push   (%eax)
4137f4:	e8 ec a1 00 00       	call   0x41d9e5
4137f9:	59                   	pop    %ecx
4137fa:	c3                   	ret
4137fb:	8b ff                	mov    %edi,%edi
4137fd:	55                   	push   %ebp
4137fe:	8b ec                	mov    %esp,%ebp
413800:	51                   	push   %ecx
413801:	51                   	push   %ecx
413802:	53                   	push   %ebx
413803:	56                   	push   %esi
413804:	8b f1                	mov    %ecx,%esi
413806:	57                   	push   %edi
413807:	8b 06                	mov    (%esi),%eax
413809:	8b 7e 04             	mov    0x4(%esi),%edi
41380c:	8b 00                	mov    (%eax),%eax
41380e:	50                   	push   %eax
41380f:	89 45 fc             	mov    %eax,-0x4(%ebp)
413812:	e8 ca a3 00 00       	call   0x41dbe1
413817:	ff 76 04             	push   0x4(%esi)
41381a:	88 45 f8             	mov    %al,-0x8(%ebp)
41381d:	8b 06                	mov    (%esi),%eax
41381f:	ff 30                	push   (%eax)
413821:	8b 46 0c             	mov    0xc(%esi),%eax
413824:	ff 30                	push   (%eax)
413826:	8b 46 08             	mov    0x8(%esi),%eax
413829:	6a 01                	push   $0x1
41382b:	ff 30                	push   (%eax)
41382d:	e8 1a ca 00 00       	call   0x42024c
413832:	8b 4e 0c             	mov    0xc(%esi),%ecx
413835:	33 db                	xor    %ebx,%ebx
413837:	57                   	push   %edi
413838:	ff 75 fc             	push   -0x4(%ebp)
41383b:	3b 01                	cmp    (%ecx),%eax
41383d:	ff 75 f8             	push   -0x8(%ebp)
413840:	0f 94 c3             	sete   %bl
413843:	e8 44 a4 00 00       	call   0x41dc8c
413848:	83 c4 24             	add    $0x24,%esp
41384b:	8d 43 ff             	lea    -0x1(%ebx),%eax
41384e:	5f                   	pop    %edi
41384f:	5e                   	pop    %esi
413850:	5b                   	pop    %ebx
413851:	c9                   	leave
413852:	c3                   	ret
413853:	8b ff                	mov    %edi,%edi
413855:	55                   	push   %ebp
413856:	8b ec                	mov    %esp,%ebp
413858:	83 ec 20             	sub    $0x20,%esp
41385b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41385f:	75 23                	jne    0x413884
413861:	8b 45 10             	mov    0x10(%ebp),%eax
413864:	50                   	push   %eax
413865:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
413869:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413870:	33 c0                	xor    %eax,%eax
413872:	50                   	push   %eax
413873:	50                   	push   %eax
413874:	50                   	push   %eax
413875:	50                   	push   %eax
413876:	50                   	push   %eax
413877:	e8 f5 9a ff ff       	call   0x40d371
41387c:	83 c4 18             	add    $0x18,%esp
41387f:	83 c8 ff             	or     $0xffffffff,%eax
413882:	c9                   	leave
413883:	c3                   	ret
413884:	8b 45 0c             	mov    0xc(%ebp),%eax
413887:	85 c0                	test   %eax,%eax
413889:	74 d6                	je     0x413861
41388b:	8b 48 0c             	mov    0xc(%eax),%ecx
41388e:	56                   	push   %esi
41388f:	90                   	nop
413890:	c1 e9 0c             	shr    $0xc,%ecx
413893:	f6 c1 01             	test   $0x1,%cl
413896:	75 7d                	jne    0x413915
413898:	57                   	push   %edi
413899:	50                   	push   %eax
41389a:	e8 a1 9f 00 00       	call   0x41d840
41389f:	be d0 d2 43 00       	mov    $0x43d2d0,%esi
4138a4:	59                   	pop    %ecx
4138a5:	83 f8 ff             	cmp    $0xffffffff,%eax
4138a8:	74 1b                	je     0x4138c5
4138aa:	83 f8 fe             	cmp    $0xfffffffe,%eax
4138ad:	74 16                	je     0x4138c5
4138af:	8b d0                	mov    %eax,%edx
4138b1:	8b c8                	mov    %eax,%ecx
4138b3:	83 e2 3f             	and    $0x3f,%edx
4138b6:	c1 f9 06             	sar    $0x6,%ecx
4138b9:	6b fa 38             	imul   $0x38,%edx,%edi
4138bc:	03 3c 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%edi
4138c3:	eb 0c                	jmp    0x4138d1
4138c5:	8b c8                	mov    %eax,%ecx
4138c7:	8b d0                	mov    %eax,%edx
4138c9:	c1 f9 06             	sar    $0x6,%ecx
4138cc:	8b fe                	mov    %esi,%edi
4138ce:	83 e2 3f             	and    $0x3f,%edx
4138d1:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
4138d5:	5f                   	pop    %edi
4138d6:	75 1a                	jne    0x4138f2
4138d8:	83 f8 ff             	cmp    $0xffffffff,%eax
4138db:	74 0f                	je     0x4138ec
4138dd:	83 f8 fe             	cmp    $0xfffffffe,%eax
4138e0:	74 0a                	je     0x4138ec
4138e2:	6b f2 38             	imul   $0x38,%edx,%esi
4138e5:	03 34 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%esi
4138ec:	f6 46 2d 01          	testb  $0x1,0x2d(%esi)
4138f0:	74 23                	je     0x413915