458564:	85 d2                	test   %edx,%edx
458566:	7d e0                	jge    0x458548
458568:	8d 46 ff             	lea    -0x1(%esi),%eax
45856b:	85 c0                	test   %eax,%eax
45856d:	7c 27                	jl     0x458596
45856f:	8d 14 80             	lea    (%eax,%eax,4),%edx
458572:	8d 54 97 08          	lea    0x8(%edi,%edx,4),%edx
458576:	8a 1a                	mov    (%edx),%bl
458578:	f6 c3 20             	test   $0x20,%bl
45857b:	75 19                	jne    0x458596
45857d:	f6 c3 08             	test   $0x8,%bl
458580:	75 0c                	jne    0x45858e
458582:	f6 42 01 01          	testb  $0x1,0x1(%edx)
458586:	74 2c                	je     0x4585b4
458588:	83 7a fc 00          	cmpl   $0x0,-0x4(%edx)
45858c:	74 26                	je     0x4585b4
45858e:	48                   	dec    %eax
45858f:	83 ea 14             	sub    $0x14,%edx
458592:	85 c0                	test   %eax,%eax
458594:	7d e0                	jge    0x458576
458596:	8b d9                	mov    %ecx,%ebx
458598:	46                   	inc    %esi
458599:	3b 75 0c             	cmp    0xc(%ebp),%esi
45859c:	0f 8c 74 ff ff ff    	jl     0x458516
4585a2:	5f                   	pop    %edi
4585a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4585a6:	5e                   	pop    %esi
4585a7:	40                   	inc    %eax
4585a8:	5b                   	pop    %ebx
4585a9:	c9                   	leave
4585aa:	c2 0c 00             	ret    $0xc
4585ad:	8b f2                	mov    %edx,%esi
4585af:	8d 04 92             	lea    (%edx,%edx,4),%eax
4585b2:	eb 05                	jmp    0x4585b9
4585b4:	8b f0                	mov    %eax,%esi
4585b6:	8d 04 80             	lea    (%eax,%eax,4),%eax
4585b9:	8d 44 87 08          	lea    0x8(%edi,%eax,4),%eax
4585bd:	80 08 20             	orb    $0x20,(%eax)
4585c0:	33 db                	xor    %ebx,%ebx
4585c2:	ff 45 fc             	incl   -0x4(%ebp)
4585c5:	eb d1                	jmp    0x458598
4585c7:	8b 44 24 0c          	mov    0xc(%esp),%eax
4585cb:	48                   	dec    %eax
4585cc:	78 18                	js     0x4585e6
4585ce:	56                   	push   %esi
4585cf:	8b 74 24 08          	mov    0x8(%esp),%esi
4585d3:	57                   	push   %edi
4585d4:	8d 78 01             	lea    0x1(%eax),%edi
4585d7:	8b ce                	mov    %esi,%ecx
4585d9:	ff 54 24 18          	call   *0x18(%esp)
4585dd:	03 74 24 10          	add    0x10(%esp),%esi
4585e1:	4f                   	dec    %edi
4585e2:	75 f3                	jne    0x4585d7
4585e4:	5f                   	pop    %edi
4585e5:	5e                   	pop    %esi
4585e6:	c2 10 00             	ret    $0x10
4585e9:	55                   	push   %ebp
4585ea:	8b ec                	mov    %esp,%ebp
4585ec:	83 ec 18             	sub    $0x18,%esp
4585ef:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4585f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4585f7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4585fa:	50                   	push   %eax
4585fb:	ff 75 08             	push   0x8(%ebp)
4585fe:	e8 20 fe ff ff       	call   0x458423
458603:	8b 45 0c             	mov    0xc(%ebp),%eax
458606:	8b 4d ec             	mov    -0x14(%ebp),%ecx
458609:	89 08                	mov    %ecx,(%eax)
45860b:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
45860f:	0f b6 4d f1          	movzbl -0xf(%ebp),%ecx
458613:	c1 e0 10             	shl    $0x10,%eax
458616:	0b c1                	or     %ecx,%eax
458618:	8b 4d 10             	mov    0x10(%ebp),%ecx
45861b:	89 01                	mov    %eax,(%ecx)
45861d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
458620:	8b 45 14             	mov    0x14(%ebp),%eax
458623:	89 08                	mov    %ecx,(%eax)
458625:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458628:	e8 b1 f5 fb ff       	call   0x417bde
45862d:	c9                   	leave
45862e:	c2 10 00             	ret    $0x10
458631:	b8 cc e9 48 00       	mov    $0x48e9cc,%eax
458636:	c3                   	ret
458637:	e8 c3 c5 fe ff       	call   0x444bff
45863c:	c2 04 00             	ret    $0x4
45863f:	33 c0                	xor    %eax,%eax
458641:	40                   	inc    %eax
458642:	c2 08 00             	ret    $0x8
458645:	56                   	push   %esi
458646:	8b f1                	mov    %ecx,%esi
458648:	33 c0                	xor    %eax,%eax
45864a:	39 46 1c             	cmp    %eax,0x1c(%esi)
45864d:	74 1b                	je     0x45866a
45864f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
458653:	33 4c 24 0c          	xor    0xc(%esp),%ecx
458657:	f6 c5 0f             	test   $0xf,%ch
45865a:	74 0e                	je     0x45866a
45865c:	6a 33                	push   $0x33
45865e:	50                   	push   %eax
45865f:	50                   	push   %eax
458660:	50                   	push   %eax
458661:	50                   	push   %eax
458662:	50                   	push   %eax
458663:	8b ce                	mov    %esi,%ecx
458665:	e8 ff 88 fe ff       	call   0x440f69
45866a:	c7 86 9c 00 00 00 01 	movl   $0x1,0x9c(%esi)
458671:	00 00 00
458674:	5e                   	pop    %esi
458675:	c2 08 00             	ret    $0x8
458678:	e9 30 1c 00 00       	jmp    0x45a2ad
45867d:	56                   	push   %esi
45867e:	8b f1                	mov    %ecx,%esi
458680:	83 be 9c 00 00 00 00 	cmpl   $0x0,0x9c(%esi)
458687:	74 05                	je     0x45868e
458689:	e8 f3 fd ff ff       	call   0x458481
45868e:	8b ce                	mov    %esi,%ecx
458690:	5e                   	pop    %esi
458691:	e9 69 c5 fe ff       	jmp    0x444bff
458696:	53                   	push   %ebx
458697:	55                   	push   %ebp
458698:	56                   	push   %esi
458699:	57                   	push   %edi
45869a:	33 ff                	xor    %edi,%edi
45869c:	33 db                	xor    %ebx,%ebx
45869e:	81 3d 58 85 4a 00 47 	cmpl   $0x40047,0x4a8558
4586a5:	00 04 00
4586a8:	8b f1                	mov    %ecx,%esi
4586aa:	7c 17                	jl     0x4586c3
4586ac:	e8 95 85 fe ff       	call   0x440c46
4586b1:	57                   	push   %edi
4586b2:	68 00 88 00 00       	push   $0x8800
4586b7:	57                   	push   %edi
4586b8:	8b ce                	mov    %esi,%ecx
4586ba:	8b d8                	mov    %eax,%ebx
4586bc:	e8 b9 85 fe ff       	call   0x440c7a
4586c1:	8b f8                	mov    %eax,%edi
4586c3:	8b ce                	mov    %esi,%ecx
4586c5:	e8 35 c5 fe ff       	call   0x444bff
4586ca:	85 ff                	test   %edi,%edi
4586cc:	8b e8                	mov    %eax,%ebp
4586ce:	74 0c                	je     0x4586dc
4586d0:	53                   	push   %ebx
4586d1:	6a f0                	push   $0xfffffff0
4586d3:	ff 76 1c             	push   0x1c(%esi)
4586d6:	ff 15 08 08 4b 00    	call   *0x4b0808
4586dc:	5f                   	pop    %edi
4586dd:	5e                   	pop    %esi
4586de:	8b c5                	mov    %ebp,%eax
4586e0:	5d                   	pop    %ebp
4586e1:	5b                   	pop    %ebx
4586e2:	c2 08 00             	ret    $0x8
4586e5:	56                   	push   %esi
4586e6:	8b f1                	mov    %ecx,%esi
4586e8:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
4586ee:	85 c0                	test   %eax,%eax
4586f0:	74 23                	je     0x458715
4586f2:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
4586f9:	74 1a                	je     0x458715
4586fb:	6a 00                	push   $0x0
4586fd:	ff b6 90 00 00 00    	push   0x90(%esi)
458703:	50                   	push   %eax
458704:	e8 92 fb ff ff       	call   0x45829b
458709:	85 c0                	test   %eax,%eax
45870b:	74 08                	je     0x458715
45870d:	50                   	push   %eax
45870e:	8b ce                	mov    %esi,%ecx
458710:	e8 c2 76 01 00       	call   0x46fdd7
458715:	5e                   	pop    %esi
458716:	c3                   	ret
458717:	c2 04 00             	ret    $0x4
45871a:	56                   	push   %esi
45871b:	8b f1                	mov    %ecx,%esi
45871d:	e8 b3 9c fe ff       	call   0x4423d5
458722:	c7 06 c0 ec 48 00    	movl   $0x48ecc0,(%esi)
458728:	8b c6                	mov    %esi,%eax
45872a:	5e                   	pop    %esi
45872b:	c3                   	ret
45872c:	55                   	push   %ebp
45872d:	8b ec                	mov    %esp,%ebp
45872f:	83 ec 30             	sub    $0x30,%esp
458732:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
458737:	53                   	push   %ebx
458738:	56                   	push   %esi
458739:	8b f1                	mov    %ecx,%esi
45873b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45873e:	51                   	push   %ecx
45873f:	ff 75 08             	push   0x8(%ebp)
458742:	89 45 fc             	mov    %eax,-0x4(%ebp)
458745:	8b 06                	mov    (%esi),%eax
458747:	68 17 04 00 00       	push   $0x417
45874c:	8b ce                	mov    %esi,%ecx
45874e:	ff 90 10 01 00 00    	call   *0x110(%eax)
458754:	8b 45 0c             	mov    0xc(%ebp),%eax
458757:	80 70 08 04          	xorb   $0x4,0x8(%eax)
45875b:	6a 14                	push   $0x14
45875d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
458760:	33 db                	xor    %ebx,%ebx
458762:	51                   	push   %ecx
458763:	50                   	push   %eax
458764:	88 5d f2             	mov    %bl,-0xe(%ebp)
458767:	88 5d f3             	mov    %bl,-0xd(%ebp)
45876a:	88 58 0a             	mov    %bl,0xa(%eax)
45876d:	88 58 0b             	mov    %bl,0xb(%eax)
458770:	e8 2b 02 fc ff       	call   0x4189a0
458775:	83 c4 0c             	add    $0xc,%esp
458778:	85 c0                	test   %eax,%eax
45877a:	0f 84 e1 00 00 00    	je     0x458861
458780:	57                   	push   %edi
458781:	8b ce                	mov    %esi,%ecx
458783:	e8 be 84 fe ff       	call   0x440c46
458788:	53                   	push   %ebx
458789:	53                   	push   %ebx
45878a:	68 00 00 00 10       	push   $0x10000000
45878f:	8b ce                	mov    %esi,%ecx
458791:	89 45 e0             	mov    %eax,-0x20(%ebp)
458794:	e8 e1 84 fe ff       	call   0x440c7a
458799:	8b 06                	mov    (%esi),%eax
45879b:	53                   	push   %ebx
45879c:	ff 75 08             	push   0x8(%ebp)
45879f:	8b ce                	mov    %esi,%ecx
4587a1:	68 16 04 00 00       	push   $0x416
4587a6:	ff 90 10 01 00 00    	call   *0x110(%eax)
4587ac:	8b 3d 98 08 4b 00    	mov    0x4b0898,%edi
4587b2:	53                   	push   %ebx
4587b3:	53                   	push   %ebx
4587b4:	68 3d 04 00 00       	push   $0x43d
4587b9:	ff 76 1c             	push   0x1c(%esi)
4587bc:	ff d7                	call   *%edi
4587be:	53                   	push   %ebx
4587bf:	53                   	push   %ebx
4587c0:	6a 0b                	push   $0xb
4587c2:	ff 76 1c             	push   0x1c(%esi)
4587c5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4587c8:	ff d7                	call   *%edi
4587ca:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4587cd:	53                   	push   %ebx
4587ce:	40                   	inc    %eax
4587cf:	50                   	push   %eax
4587d0:	68 3c 04 00 00       	push   $0x43c
4587d5:	ff 76 1c             	push   0x1c(%esi)
4587d8:	ff d7                	call   *%edi
4587da:	53                   	push   %ebx
4587db:	ff 75 e4             	push   -0x1c(%ebp)
4587de:	68 3c 04 00 00       	push   $0x43c
4587e3:	ff 76 1c             	push   0x1c(%esi)
4587e6:	ff d7                	call   *%edi
4587e8:	53                   	push   %ebx
4587e9:	6a 01                	push   $0x1
4587eb:	6a 0b                	push   $0xb
4587ed:	ff 76 1c             	push   0x1c(%esi)
4587f0:	ff d7                	call   *%edi
4587f2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4587f5:	8b 06                	mov    (%esi),%eax
4587f7:	57                   	push   %edi
4587f8:	ff 75 08             	push   0x8(%ebp)
4587fb:	8b ce                	mov    %esi,%ecx
4587fd:	68 15 04 00 00       	push   $0x415
458802:	ff 90 10 01 00 00    	call   *0x110(%eax)
458808:	8b 45 e0             	mov    -0x20(%ebp),%eax
45880b:	53                   	push   %ebx
45880c:	25 00 00 00 10       	and    $0x10000000,%eax
458811:	50                   	push   %eax
458812:	53                   	push   %ebx
458813:	8b ce                	mov    %esi,%ecx
458815:	e8 60 84 fe ff       	call   0x440c7a
45881a:	8a 47 09             	mov    0x9(%edi),%al
45881d:	8a c8                	mov    %al,%cl
45881f:	32 4d f1             	xor    -0xf(%ebp),%cl
458822:	f6 c1 01             	test   $0x1,%cl
458825:	75 2d                	jne    0x458854
458827:	a8 01                	test   $0x1,%al
458829:	74 07                	je     0x458832
45882b:	8b 07                	mov    (%edi),%eax
45882d:	3b 45 e8             	cmp    -0x18(%ebp),%eax
458830:	75 22                	jne    0x458854
458832:	8b 06                	mov    (%esi),%eax
458834:	8d 4d d0             	lea    -0x30(%ebp),%ecx
458837:	51                   	push   %ecx
458838:	ff 75 08             	push   0x8(%ebp)
45883b:	8b ce                	mov    %esi,%ecx
45883d:	68 1d 04 00 00       	push   $0x41d
458842:	ff 90 10 01 00 00    	call   *0x110(%eax)
458848:	85 c0                	test   %eax,%eax
45884a:	74 14                	je     0x458860
45884c:	6a 01                	push   $0x1
45884e:	8d 45 d0             	lea    -0x30(%ebp),%eax
458851:	50                   	push   %eax
458852:	eb 03                	jmp    0x458857
458854:	6a 01                	push   $0x1
458856:	53                   	push   %ebx
458857:	ff 76 1c             	push   0x1c(%esi)
45885a:	ff 15 14 06 4b 00    	call   *0x4b0614
458860:	5f                   	pop    %edi
458861:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458864:	5e                   	pop    %esi
458865:	5b                   	pop    %ebx
458866:	e8 73 f3 fb ff       	call   0x417bde
45886b:	c9                   	leave
45886c:	c2 08 00             	ret    $0x8
45886f:	56                   	push   %esi
458870:	8b f1                	mov    %ecx,%esi
458872:	83 be 9c 00 00 00 00 	cmpl   $0x0,0x9c(%esi)
458879:	74 05                	je     0x458880
45887b:	e8 01 fc ff ff       	call   0x458481
458880:	ff 74 24 0c          	push   0xc(%esp)
458884:	8b 06                	mov    (%esi),%eax
458886:	ff 74 24 0c          	push   0xc(%esp)
45888a:	8b ce                	mov    %esi,%ecx
45888c:	68 1d 04 00 00       	push   $0x41d
458891:	ff 90 10 01 00 00    	call   *0x110(%eax)
458897:	85 c0                	test   %eax,%eax
458899:	5e                   	pop    %esi
45889a:	75 0a                	jne    0x4588a6
45889c:	ff 74 24 08          	push   0x8(%esp)
4588a0:	ff 15 3c 08 4b 00    	call   *0x4b083c
4588a6:	c2 08 00             	ret    $0x8
4588a9:	55                   	push   %ebp
4588aa:	8b ec                	mov    %esp,%ebp
4588ac:	83 ec 18             	sub    $0x18,%esp
4588af:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4588b4:	56                   	push   %esi
4588b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4588b8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4588bb:	50                   	push   %eax
4588bc:	ff 75 08             	push   0x8(%ebp)
4588bf:	8b f1                	mov    %ecx,%esi
4588c1:	e8 5d fb ff ff       	call   0x458423
4588c6:	8b 45 0c             	mov    0xc(%ebp),%eax
4588c9:	38 45 f1             	cmp    %al,-0xf(%ebp)
4588cc:	75 0a                	jne    0x4588d8
4588ce:	8b c8                	mov    %eax,%ecx
4588d0:	c1 e9 10             	shr    $0x10,%ecx
4588d3:	38 4d f0             	cmp    %cl,-0x10(%ebp)
4588d6:	74 21                	je     0x4588f9
4588d8:	88 45 f1             	mov    %al,-0xf(%ebp)
4588db:	c1 e8 10             	shr    $0x10,%eax
4588de:	88 45 f0             	mov    %al,-0x10(%ebp)
4588e1:	8d 45 e8             	lea    -0x18(%ebp),%eax
4588e4:	50                   	push   %eax
4588e5:	ff 75 08             	push   0x8(%ebp)
4588e8:	8b ce                	mov    %esi,%ecx
4588ea:	e8 3d fe ff ff       	call   0x45872c
4588ef:	c7 86 9c 00 00 00 01 	movl   $0x1,0x9c(%esi)
4588f6:	00 00 00
4588f9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4588fc:	5e                   	pop    %esi
4588fd:	e8 dc f2 fb ff       	call   0x417bde
458902:	c9                   	leave
458903:	c2 08 00             	ret    $0x8
458906:	55                   	push   %ebp