45659a:	e8 0b b7 fa ff       	call   0x401caa
45659f:	8b c8                	mov    %eax,%ecx
4565a1:	85 c9                	test   %ecx,%ecx
4565a3:	0f 84 dd 00 00 00    	je     0x456686
4565a9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4565ac:	33 c0                	xor    %eax,%eax
4565ae:	89 45 f4             	mov    %eax,-0xc(%ebp)
4565b1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4565b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4565b7:	8b 43 08             	mov    0x8(%ebx),%eax
4565ba:	2b 45 14             	sub    0x14(%ebp),%eax
4565bd:	c7 45 f0 50 dc 49 00 	movl   $0x49dc50,-0x10(%ebp)
4565c4:	3b 41 18             	cmp    0x18(%ecx),%eax
4565c7:	0f 8c b1 00 00 00    	jl     0x45667e
4565cd:	3b 41 14             	cmp    0x14(%ecx),%eax
4565d0:	0f 8f a8 00 00 00    	jg     0x45667e
4565d6:	8b 75 10             	mov    0x10(%ebp),%esi
4565d9:	ff 75 08             	push   0x8(%ebp)
4565dc:	8b ce                	mov    %esi,%ecx
4565de:	e8 0a 09 fb ff       	call   0x406eed
4565e3:	68 6c 32 4b 00       	push   $0x4b326c
4565e8:	8b ce                	mov    %esi,%ecx
4565ea:	e8 9d eb fa ff       	call   0x40518c
4565ef:	8b 45 14             	mov    0x14(%ebp),%eax
4565f2:	8b f8                	mov    %eax,%edi
4565f4:	3b 43 08             	cmp    0x8(%ebx),%eax
4565f7:	73 6d                	jae    0x456666
4565f9:	57                   	push   %edi
4565fa:	68 84 3d 4b 00       	push   $0x4b3d84
4565ff:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
456605:	6a 40                	push   $0x40
456607:	50                   	push   %eax
456608:	e8 9d e6 fc ff       	call   0x424caa
45660d:	83 c4 10             	add    $0x10,%esp
456610:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
456616:	50                   	push   %eax
456617:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45661a:	e8 fa 67 fb ff       	call   0x40ce19
45661f:	8b 43 04             	mov    0x4(%ebx),%eax
456622:	6a 01                	push   $0x1
456624:	6a 00                	push   $0x0
456626:	ff 34 b8             	push   (%eax,%edi,4)
456629:	8d 45 e0             	lea    -0x20(%ebp),%eax
45662c:	50                   	push   %eax
45662d:	e8 b7 70 fb ff       	call   0x40d6e9
456632:	8d 4d e0             	lea    -0x20(%ebp),%ecx
456635:	e8 fd 64 fb ff       	call   0x40cb37
45663a:	8b ce                	mov    %esi,%ecx
45663c:	3b 7d 14             	cmp    0x14(%ebp),%edi
45663f:	75 07                	jne    0x456648
456641:	68 68 32 4b 00       	push   $0x4b3268
456646:	eb 05                	jmp    0x45664d
456648:	68 b0 3d 4b 00       	push   $0x4b3db0
45664d:	e8 3a eb fa ff       	call   0x40518c
456652:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
456658:	50                   	push   %eax
456659:	8b ce                	mov    %esi,%ecx
45665b:	e8 2c eb fa ff       	call   0x40518c
456660:	47                   	inc    %edi
456661:	3b 7b 08             	cmp    0x8(%ebx),%edi
456664:	72 93                	jb     0x4565f9
456666:	68 70 32 4b 00       	push   $0x4b3270
45666b:	8b ce                	mov    %esi,%ecx
45666d:	e8 1a eb fa ff       	call   0x40518c
456672:	8d 4d f0             	lea    -0x10(%ebp),%ecx
456675:	e8 12 90 fe ff       	call   0x43f68c
45667a:	b0 01                	mov    $0x1,%al
45667c:	eb 0a                	jmp    0x456688
45667e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
456681:	e8 06 90 fe ff       	call   0x43f68c
456686:	32 c0                	xor    %al,%al
456688:	5f                   	pop    %edi
456689:	5e                   	pop    %esi
45668a:	5b                   	pop    %ebx
45668b:	c9                   	leave
45668c:	c2 10 00             	ret    $0x10
45668f:	55                   	push   %ebp
456690:	8b ec                	mov    %esp,%ebp
456692:	83 e4 f8             	and    $0xfffffff8,%esp
456695:	83 ec 3c             	sub    $0x3c,%esp
456698:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
45669d:	53                   	push   %ebx
45669e:	56                   	push   %esi
45669f:	57                   	push   %edi
4566a0:	8b f9                	mov    %ecx,%edi
4566a2:	33 db                	xor    %ebx,%ebx
4566a4:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4566a8:	39 9f 80 04 00 00    	cmp    %ebx,0x480(%edi)
4566ae:	0f 84 4a 01 00 00    	je     0x4567fe
4566b4:	8b 45 08             	mov    0x8(%ebp),%eax
4566b7:	39 58 08             	cmp    %ebx,0x8(%eax)
4566ba:	75 11                	jne    0x4566cd
4566bc:	8b 87 7c 04 00 00    	mov    0x47c(%edi),%eax
4566c2:	8b 00                	mov    (%eax),%eax
4566c4:	c6 40 11 01          	movb   $0x1,0x11(%eax)
4566c8:	e9 f7 00 00 00       	jmp    0x4567c4
4566cd:	8b 40 04             	mov    0x4(%eax),%eax
4566d0:	6a 0e                	push   $0xe
4566d2:	8b 30                	mov    (%eax),%esi
4566d4:	8b ce                	mov    %esi,%ecx
4566d6:	e8 09 6f fb ff       	call   0x40d5e4
4566db:	8b ce                	mov    %esi,%ecx
4566dd:	84 c0                	test   %al,%al
4566df:	74 11                	je     0x4566f2
4566e1:	8d 44 24 38          	lea    0x38(%esp),%eax
4566e5:	33 db                	xor    %ebx,%ebx
4566e7:	50                   	push   %eax
4566e8:	43                   	inc    %ebx
4566e9:	e8 af 3f ff ff       	call   0x44a69d
4566ee:	8b c8                	mov    %eax,%ecx
4566f0:	eb 2c                	jmp    0x45671e
4566f2:	6a 02                	push   $0x2
4566f4:	5b                   	pop    %ebx
4566f5:	e8 72 2c fb ff       	call   0x40936c
4566fa:	8b 4e 08             	mov    0x8(%esi),%ecx
4566fd:	8b 01                	mov    (%ecx),%eax
4566ff:	89 44 24 28          	mov    %eax,0x28(%esp)
456703:	8b 41 04             	mov    0x4(%ecx),%eax
456706:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45670a:	8b 41 08             	mov    0x8(%ecx),%eax
45670d:	89 44 24 30          	mov    %eax,0x30(%esp)
456711:	8b 41 0c             	mov    0xc(%ecx),%eax
456714:	89 44 24 34          	mov    %eax,0x34(%esp)
456718:	ff 00                	incl   (%eax)
45671a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45671e:	8b 01                	mov    (%ecx),%eax
456720:	89 44 24 18          	mov    %eax,0x18(%esp)
456724:	8b 41 04             	mov    0x4(%ecx),%eax
456727:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45672b:	8b 41 08             	mov    0x8(%ecx),%eax
45672e:	89 44 24 20          	mov    %eax,0x20(%esp)
456732:	8b 41 0c             	mov    0xc(%ecx),%eax
456735:	89 44 24 24          	mov    %eax,0x24(%esp)
456739:	ff 00                	incl   (%eax)
45673b:	f6 c3 02             	test   $0x2,%bl
45673e:	74 0c                	je     0x45674c
456740:	8d 4c 24 28          	lea    0x28(%esp),%ecx
456744:	83 e3 fd             	and    $0xfffffffd,%ebx
456747:	e8 eb 63 fb ff       	call   0x40cb37
45674c:	f6 c3 01             	test   $0x1,%bl
45674f:	74 09                	je     0x45675a
456751:	8d 4c 24 38          	lea    0x38(%esp),%ecx
456755:	e8 dd 63 fb ff       	call   0x40cb37
45675a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
45675e:	e8 97 56 fb ff       	call   0x40bdfa
456763:	ff 74 24 1c          	push   0x1c(%esp)
456767:	ff 74 24 1c          	push   0x1c(%esp)
45676b:	ff 15 60 d6 48 00    	call   *0x48d660
456771:	8b b7 78 04 00 00    	mov    0x478(%edi),%esi
456777:	89 74 24 0c          	mov    %esi,0xc(%esp)
45677b:	51                   	push   %ecx
45677c:	8b c4                	mov    %esp,%eax
45677e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
456782:	83 20 00             	andl   $0x0,(%eax)
456785:	e8 8c c1 fa ff       	call   0x402916
45678a:	84 c0                	test   %al,%al
45678c:	74 29                	je     0x4567b7
45678e:	8b 0e                	mov    (%esi),%ecx
456790:	8d 54 24 18          	lea    0x18(%esp),%edx
456794:	e8 8d 01 fb ff       	call   0x406926
456799:	84 c0                	test   %al,%al
45679b:	75 14                	jne    0x4567b1
45679d:	8d 44 24 14          	lea    0x14(%esp),%eax
4567a1:	50                   	push   %eax
4567a2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4567a6:	e8 d3 61 ff ff       	call   0x44c97e
4567ab:	8b 74 24 0c          	mov    0xc(%esp),%esi
4567af:	eb ca                	jmp    0x45677b
4567b1:	8b 06                	mov    (%esi),%eax
4567b3:	c6 40 11 01          	movb   $0x1,0x11(%eax)
4567b7:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4567bb:	e8 77 63 fb ff       	call   0x40cb37
4567c0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4567c4:	8b b7 78 04 00 00    	mov    0x478(%edi),%esi
4567ca:	89 74 24 0c          	mov    %esi,0xc(%esp)
4567ce:	51                   	push   %ecx
4567cf:	8b c4                	mov    %esp,%eax
4567d1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4567d5:	83 20 00             	andl   $0x0,(%eax)
4567d8:	e8 39 c1 fa ff       	call   0x402916
4567dd:	84 c0                	test   %al,%al
4567df:	74 1d                	je     0x4567fe
4567e1:	8b 06                	mov    (%esi),%eax
4567e3:	80 78 11 00          	cmpb   $0x0,0x11(%eax)
4567e7:	75 01                	jne    0x4567ea
4567e9:	43                   	inc    %ebx
4567ea:	8d 44 24 14          	lea    0x14(%esp),%eax
4567ee:	50                   	push   %eax
4567ef:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4567f3:	e8 86 61 ff ff       	call   0x44c97e
4567f8:	8b 74 24 0c          	mov    0xc(%esp),%esi
4567fc:	eb d0                	jmp    0x4567ce
4567fe:	8b 75 0c             	mov    0xc(%ebp),%esi
456801:	8b ce                	mov    %esi,%ecx
456803:	e8 18 c4 fb ff       	call   0x412c20
456808:	5f                   	pop    %edi
456809:	89 1e                	mov    %ebx,(%esi)
45680b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
456812:	5e                   	pop    %esi
456813:	33 c0                	xor    %eax,%eax
456815:	5b                   	pop    %ebx
456816:	8b e5                	mov    %ebp,%esp
456818:	5d                   	pop    %ebp
456819:	c2 08 00             	ret    $0x8
45681c:	55                   	push   %ebp
45681d:	8b ec                	mov    %esp,%ebp
45681f:	83 e4 f8             	and    $0xfffffff8,%esp
456822:	83 ec 7c             	sub    $0x7c,%esp
456825:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
45682a:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
45682f:	53                   	push   %ebx
456830:	56                   	push   %esi
456831:	57                   	push   %edi
456832:	8b 7d 08             	mov    0x8(%ebp),%edi
456835:	89 4c 24 14          	mov    %ecx,0x14(%esp)
456839:	8b 47 04             	mov    0x4(%edi),%eax
45683c:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
456841:	8b 30                	mov    (%eax),%esi
456843:	8b ce                	mov    %esi,%ecx
456845:	e8 22 2b fb ff       	call   0x40936c
45684a:	8b 4e 08             	mov    0x8(%esi),%ecx
45684d:	8b 01                	mov    (%ecx),%eax
45684f:	89 44 24 20          	mov    %eax,0x20(%esp)
456853:	8b 41 04             	mov    0x4(%ecx),%eax
456856:	89 44 24 24          	mov    %eax,0x24(%esp)
45685a:	8b 41 08             	mov    0x8(%ecx),%eax
45685d:	89 44 24 28          	mov    %eax,0x28(%esp)
456861:	8b 41 0c             	mov    0xc(%ecx),%eax
456864:	8d 4c 24 20          	lea    0x20(%esp),%ecx
456868:	ff 00                	incl   (%eax)
45686a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45686e:	e8 87 55 fb ff       	call   0x40bdfa
456873:	ff 74 24 24          	push   0x24(%esp)
456877:	ff 74 24 24          	push   0x24(%esp)
45687b:	ff 15 60 d6 48 00    	call   *0x48d660
456881:	8d 4c 24 40          	lea    0x40(%esp),%ecx
456885:	e8 1d be fa ff       	call   0x4026a7
45688a:	68 b8 3d 4b 00       	push   $0x4b3db8
45688f:	8d 4c 24 34          	lea    0x34(%esp),%ecx
456893:	e8 81 65 fb ff       	call   0x40ce19
456898:	51                   	push   %ecx
456899:	51                   	push   %ecx
45689a:	8d 44 24 28          	lea    0x28(%esp),%eax
45689e:	50                   	push   %eax
45689f:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4568a3:	50                   	push   %eax
4568a4:	8d 4c 24 50          	lea    0x50(%esp),%ecx
4568a8:	e8 fa b8 fe ff       	call   0x4421a7
4568ad:	8a d8                	mov    %al,%bl
4568af:	f6 db                	neg    %bl
4568b1:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4568b5:	1a db                	sbb    %bl,%bl
4568b7:	e8 7b 62 fb ff       	call   0x40cb37
4568bc:	fe c3                	inc    %bl
4568be:	74 2b                	je     0x4568eb
4568c0:	8b 75 0c             	mov    0xc(%ebp),%esi
4568c3:	8b ce                	mov    %esi,%ecx
4568c5:	e8 56 c3 fb ff       	call   0x412c20
4568ca:	8b 54 24 14          	mov    0x14(%esp),%edx
4568ce:	83 26 00             	andl   $0x0,(%esi)
4568d1:	33 c0                	xor    %eax,%eax
4568d3:	40                   	inc    %eax
4568d4:	6a 00                	push   $0x0
4568d6:	89 46 0c             	mov    %eax,0xc(%esi)
4568d9:	50                   	push   %eax
4568da:	8b 02                	mov    (%edx),%eax
4568dc:	8b 48 04             	mov    0x4(%eax),%ecx
4568df:	03 ca                	add    %edx,%ecx
4568e1:	e8 66 66 ff ff       	call   0x44cf4c
4568e6:	e9 e8 00 00 00       	jmp    0x4569d3
4568eb:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
4568ef:	75 43                	jne    0x456934
4568f1:	8b 47 04             	mov    0x4(%edi),%eax
4568f4:	8b 48 08             	mov    0x8(%eax),%ecx
4568f7:	e8 8a 69 fb ff       	call   0x40d286
4568fc:	a8 01                	test   $0x1,%al
4568fe:	74 05                	je     0x456905
456900:	33 db                	xor    %ebx,%ebx
456902:	43                   	inc    %ebx
456903:	eb 04                	jmp    0x456909
456905:	8b 5c 24 18          	mov    0x18(%esp),%ebx
456909:	8b 47 04             	mov    0x4(%edi),%eax
45690c:	8b 48 08             	mov    0x8(%eax),%ecx
45690f:	e8 72 69 fb ff       	call   0x40d286
456914:	a8 02                	test   $0x2,%al
456916:	74 03                	je     0x45691b
456918:	6a 02                	push   $0x2
45691a:	5b                   	pop    %ebx
45691b:	8b 47 04             	mov    0x4(%edi),%eax
45691e:	8b 48 08             	mov    0x8(%eax),%ecx
456921:	e8 60 69 fb ff       	call   0x40d286
456926:	24 04                	and    $0x4,%al
456928:	f6 d8                	neg    %al
45692a:	1a c0                	sbb    %al,%al
45692c:	f6 d0                	not    %al
45692e:	20 44 24 13          	and    %al,0x13(%esp)
456932:	eb 04                	jmp    0x456938
456934:	8b 5c 24 18          	mov    0x18(%esp),%ebx
456938:	53                   	push   %ebx
456939:	8d 44 24 20          	lea    0x20(%esp),%eax
45693d:	50                   	push   %eax
45693e:	8d 44 24 20          	lea    0x20(%esp),%eax
456942:	50                   	push   %eax
456943:	8d 44 24 2c          	lea    0x2c(%esp),%eax
456947:	50                   	push   %eax
456948:	e8 f8 6c fb ff       	call   0x40d645
45694d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
456951:	85 c9                	test   %ecx,%ecx
456953:	75 41                	jne    0x456996
456955:	38 4c 24 13          	cmp    %cl,0x13(%esp)
456959:	74 14                	je     0x45696f
45695b:	8b 47 04             	mov    0x4(%edi),%eax
45695e:	53                   	push   %ebx
45695f:	51                   	push   %ecx
456960:	ff 70 04             	push   0x4(%eax)
456963:	8d 44 24 2c          	lea    0x2c(%esp),%eax
456967:	50                   	push   %eax
456968:	e8 7c 6d fb ff       	call   0x40d6e9
45696d:	eb 64                	jmp    0x4569d3
45696f:	8b 54 24 14          	mov    0x14(%esp),%edx
456973:	6a 00                	push   $0x0
456975:	8b 02                	mov    (%edx),%eax
456977:	6a 02                	push   $0x2
456979:	8b 48 04             	mov    0x4(%eax),%ecx
45697c:	03 ca                	add    %edx,%ecx
45697e:	e8 c9 65 ff ff       	call   0x44cf4c
456983:	8b 75 0c             	mov    0xc(%ebp),%esi
456986:	8b ce                	mov    %esi,%ecx
456988:	e8 93 c2 fb ff       	call   0x412c20
45698d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
456994:	eb 2d                	jmp    0x4569c3
456996:	f7 44 24 1c 00 01 00 	testl  $0x100,0x1c(%esp)
45699d:	00
45699e:	74 28                	je     0x4569c8
4569a0:	8b 54 24 14          	mov    0x14(%esp),%edx
4569a4:	33 db                	xor    %ebx,%ebx
4569a6:	8b 02                	mov    (%edx),%eax
4569a8:	6a 00                	push   $0x0
4569aa:	8b 48 04             	mov    0x4(%eax),%ecx
4569ad:	43                   	inc    %ebx
4569ae:	53                   	push   %ebx
4569af:	03 ca                	add    %edx,%ecx
4569b1:	e8 96 65 ff ff       	call   0x44cf4c
4569b6:	8b 75 0c             	mov    0xc(%ebp),%esi
4569b9:	8b ce                	mov    %esi,%ecx
4569bb:	e8 60 c2 fb ff       	call   0x412c20
4569c0:	89 5e 0c             	mov    %ebx,0xc(%esi)
4569c3:	83 26 00             	andl   $0x0,(%esi)
4569c6:	eb 0b                	jmp    0x4569d3
4569c8:	8b 47 04             	mov    0x4(%edi),%eax