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
458907:	8b ec                	mov    %esp,%ebp
458909:	83 ec 18             	sub    $0x18,%esp
45890c:	53                   	push   %ebx
45890d:	56                   	push   %esi
45890e:	33 db                	xor    %ebx,%ebx
458910:	53                   	push   %ebx
458911:	8b f1                	mov    %ecx,%esi
458913:	8b 06                	mov    (%esi),%eax
458915:	53                   	push   %ebx
458916:	68 55 04 00 00       	push   $0x455
45891b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45891e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
458921:	89 5d f4             	mov    %ebx,-0xc(%ebp)
458924:	ff 90 10 01 00 00    	call   *0x110(%eax)
45892a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45892d:	8b 45 10             	mov    0x10(%ebp),%eax
458930:	3b c3                	cmp    %ebx,%eax
458932:	0f 8e dc 00 00 00    	jle    0x458a14
458938:	57                   	push   %edi
458939:	8b 7d 0c             	mov    0xc(%ebp),%edi
45893c:	83 c7 09             	add    $0x9,%edi
45893f:	89 45 fc             	mov    %eax,-0x4(%ebp)
458942:	8b 47 f7             	mov    -0x9(%edi),%eax
458945:	8b ce                	mov    %esi,%ecx
458947:	89 45 0c             	mov    %eax,0xc(%ebp)
45894a:	e8 f7 82 fe ff       	call   0x440c46
45894f:	f6 c4 08             	test   $0x8,%ah
458952:	75 1a                	jne    0x45896e
458954:	81 3d 58 85 4a 00 47 	cmpl   $0x40047,0x4a8558
45895b:	00 04 00
45895e:	74 0e                	je     0x45896e
458960:	8b 45 0c             	mov    0xc(%ebp),%eax
458963:	03 c0                	add    %eax,%eax
458965:	6a 03                	push   $0x3
458967:	99                   	cltd
458968:	59                   	pop    %ecx
458969:	f7 f9                	idiv   %ecx
45896b:	89 45 0c             	mov    %eax,0xc(%ebp)
45896e:	f6 47 ff 08          	testb  $0x8,-0x1(%edi)
458972:	0f 85 8f 00 00 00    	jne    0x458a07
458978:	8a 07                	mov    (%edi),%al
45897a:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
458980:	88 45 13             	mov    %al,0x13(%ebp)
458983:	80 65 13 01          	andb   $0x1,0x13(%ebp)
458987:	74 27                	je     0x4589b0
458989:	f6 47 ff 20          	testb  $0x20,-0x1(%edi)
45898d:	74 0f                	je     0x45899e
45898f:	8b 86 ac 00 00 00    	mov    0xac(%esi),%eax
458995:	8b 55 0c             	mov    0xc(%ebp),%edx
458998:	03 c3                	add    %ebx,%eax
45899a:	03 c2                	add    %edx,%eax
45899c:	eb 37                	jmp    0x4589d5
45899e:	8b 47 f7             	mov    -0x9(%edi),%eax
4589a1:	8b 55 e8             	mov    -0x18(%ebp),%edx
4589a4:	03 c2                	add    %edx,%eax
4589a6:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4589a9:	7e 32                	jle    0x4589dd
4589ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
4589ae:	eb 2d                	jmp    0x4589dd
4589b0:	a8 08                	test   $0x8,%al
4589b2:	74 0c                	je     0x4589c0
4589b4:	f6 45 f8 01          	testb  $0x1,-0x8(%ebp)
4589b8:	74 06                	je     0x4589c0
4589ba:	03 0d 5c 85 4a 00    	add    0x4a855c,%ecx
4589c0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4589c3:	03 c1                	add    %ecx,%eax
4589c5:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4589c8:	7e 03                	jle    0x4589cd
4589ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
4589cd:	8b 86 ac 00 00 00    	mov    0xac(%esi),%eax
4589d3:	03 c3                	add    %ebx,%eax
4589d5:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4589d8:	7e 03                	jle    0x4589dd
4589da:	89 45 f4             	mov    %eax,-0xc(%ebp)
4589dd:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
4589e1:	74 08                	je     0x4589eb
4589e3:	8b 47 f7             	mov    -0x9(%edi),%eax
4589e6:	01 45 e8             	add    %eax,-0x18(%ebp)
4589e9:	eb 03                	jmp    0x4589ee
4589eb:	01 4d e8             	add    %ecx,-0x18(%ebp)
4589ee:	f6 47 ff 20          	testb  $0x20,-0x1(%edi)
4589f2:	74 13                	je     0x458a07
4589f4:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4589f8:	03 9e ac 00 00 00    	add    0xac(%esi),%ebx
4589fe:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
458a02:	74 03                	je     0x458a07
458a04:	03 5d 0c             	add    0xc(%ebp),%ebx
458a07:	83 c7 14             	add    $0x14,%edi
458a0a:	ff 4d fc             	decl   -0x4(%ebp)
458a0d:	0f 85 2f ff ff ff    	jne    0x458942
458a13:	5f                   	pop    %edi
458a14:	8b 45 08             	mov    0x8(%ebp),%eax
458a17:	8b 4d f0             	mov    -0x10(%ebp),%ecx
458a1a:	89 08                	mov    %ecx,(%eax)
458a1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
458a1f:	5e                   	pop    %esi
458a20:	89 48 04             	mov    %ecx,0x4(%eax)
458a23:	5b                   	pop    %ebx
458a24:	c9                   	leave
458a25:	c2 0c 00             	ret    $0xc
458a28:	55                   	push   %ebp
458a29:	8b ec                	mov    %esp,%ebp
458a2b:	83 ec 20             	sub    $0x20,%esp
458a2e:	53                   	push   %ebx
458a2f:	56                   	push   %esi
458a30:	33 db                	xor    %ebx,%ebx
458a32:	39 5d 14             	cmp    %ebx,0x14(%ebp)
458a35:	57                   	push   %edi
458a36:	8b f9                	mov    %ecx,%edi
458a38:	0f 85 87 00 00 00    	jne    0x458ac5
458a3e:	8b 45 10             	mov    0x10(%ebp),%eax
458a41:	50                   	push   %eax
458a42:	ff 75 0c             	push   0xc(%ebp)
458a45:	89 45 14             	mov    %eax,0x14(%ebp)
458a48:	ff 75 08             	push   0x8(%ebp)
458a4b:	e8 a8 fa ff ff       	call   0x4584f8
458a50:	53                   	push   %ebx
458a51:	ff 75 0c             	push   0xc(%ebp)
458a54:	8b cf                	mov    %edi,%ecx
458a56:	ff 75 08             	push   0x8(%ebp)
458a59:	89 45 fc             	mov    %eax,-0x4(%ebp)
458a5c:	e8 97 fa ff ff       	call   0x4584f8
458a61:	3b 45 fc             	cmp    -0x4(%ebp),%eax
458a64:	74 46                	je     0x458aac
458a66:	39 5d 10             	cmp    %ebx,0x10(%ebp)
458a69:	7e 41                	jle    0x458aac
458a6b:	8b 45 14             	mov    0x14(%ebp),%eax
458a6e:	03 c3                	add    %ebx,%eax
458a70:	99                   	cltd
458a71:	2b c2                	sub    %edx,%eax
458a73:	8b f0                	mov    %eax,%esi
458a75:	d1 fe                	sar    $1,%esi
458a77:	56                   	push   %esi
458a78:	ff 75 0c             	push   0xc(%ebp)
458a7b:	8b cf                	mov    %edi,%ecx
458a7d:	ff 75 08             	push   0x8(%ebp)
458a80:	e8 73 fa ff ff       	call   0x4584f8
458a85:	3b 45 fc             	cmp    -0x4(%ebp),%eax
458a88:	75 05                	jne    0x458a8f
458a8a:	89 75 14             	mov    %esi,0x14(%ebp)
458a8d:	eb 06                	jmp    0x458a95
458a8f:	3b de                	cmp    %esi,%ebx
458a91:	74 09                	je     0x458a9c
458a93:	8b de                	mov    %esi,%ebx
458a95:	3b 5d 14             	cmp    0x14(%ebp),%ebx
458a98:	7c d1                	jl     0x458a6b
458a9a:	eb 10                	jmp    0x458aac
458a9c:	ff 75 14             	push   0x14(%ebp)
458a9f:	8b cf                	mov    %edi,%ecx
458aa1:	ff 75 0c             	push   0xc(%ebp)
458aa4:	ff 75 08             	push   0x8(%ebp)
458aa7:	e8 4c fa ff ff       	call   0x4584f8
458aac:	ff 75 0c             	push   0xc(%ebp)
458aaf:	8d 45 f0             	lea    -0x10(%ebp),%eax
458ab2:	ff 75 08             	push   0x8(%ebp)
458ab5:	8b cf                	mov    %edi,%ecx
458ab7:	50                   	push   %eax
458ab8:	e8 49 fe ff ff       	call   0x458906
458abd:	ff 75 f0             	push   -0x10(%ebp)
458ac0:	e9 db 00 00 00       	jmp    0x458ba0
458ac5:	53                   	push   %ebx
458ac6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
458ac9:	53                   	push   %ebx
458aca:	ff 75 08             	push   0x8(%ebp)
458acd:	e8 26 fa ff ff       	call   0x4584f8
458ad2:	53                   	push   %ebx
458ad3:	ff 75 08             	push   0x8(%ebp)
458ad6:	8d 45 f0             	lea    -0x10(%ebp),%eax
458ad9:	50                   	push   %eax
458ada:	8b cf                	mov    %edi,%ecx
458adc:	e8 25 fe ff ff       	call   0x458906
458ae1:	8b 30                	mov    (%eax),%esi
458ae3:	8b 40 04             	mov    0x4(%eax),%eax
458ae6:	68 ff 7f 00 00       	push   $0x7fff
458aeb:	53                   	push   %ebx