451687:	5b                   	pop    %ebx
451688:	c9                   	leave
451689:	c3                   	ret
45168a:	8b 41 10             	mov    0x10(%ecx),%eax
45168d:	83 49 10 ff          	orl    $0xffffffff,0x10(%ecx)
451691:	c3                   	ret
451692:	81 79 34 fe ff ff 3f 	cmpl   $0x3ffffffe,0x34(%ecx)
451699:	72 0a                	jb     0x4516a5
45169b:	ff 71 14             	push   0x14(%ecx)
45169e:	6a 05                	push   $0x5
4516a0:	e8 b6 fa ff ff       	call   0x45115b
4516a5:	c3                   	ret
4516a6:	b8 fd 3b 48 00       	mov    $0x483bfd,%eax
4516ab:	e8 cc 65 fc ff       	call   0x417c7c
4516b0:	51                   	push   %ecx
4516b1:	53                   	push   %ebx
4516b2:	56                   	push   %esi
4516b3:	8b f1                	mov    %ecx,%esi
4516b5:	8b 46 18             	mov    0x18(%esi),%eax
4516b8:	33 db                	xor    %ebx,%ebx
4516ba:	57                   	push   %edi
4516bb:	f7 d0                	not    %eax
4516bd:	43                   	inc    %ebx
4516be:	33 ff                	xor    %edi,%edi
4516c0:	84 c3                	test   %al,%bl
4516c2:	74 6a                	je     0x45172e
4516c4:	39 7e 38             	cmp    %edi,0x38(%esi)
4516c7:	75 40                	jne    0x451709
4516c9:	6a 1c                	push   $0x1c
4516cb:	e8 85 e9 fe ff       	call   0x440055
4516d0:	59                   	pop    %ecx
4516d1:	8b c8                	mov    %eax,%ecx
4516d3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4516d6:	3b cf                	cmp    %edi,%ecx
4516d8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4516db:	74 0a                	je     0x4516e7
4516dd:	ff 76 40             	push   0x40(%esi)
4516e0:	e8 fc d1 fe ff       	call   0x43e8e1
4516e5:	eb 02                	jmp    0x4516e9
4516e7:	33 c0                	xor    %eax,%eax
4516e9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4516ed:	53                   	push   %ebx
4516ee:	ff 76 44             	push   0x44(%esi)
4516f1:	8b c8                	mov    %eax,%ecx
4516f3:	89 46 38             	mov    %eax,0x38(%esi)
4516f6:	e8 03 d0 fe ff       	call   0x43e6fe
4516fb:	8b 4e 38             	mov    0x38(%esi),%ecx
4516fe:	57                   	push   %edi
4516ff:	e8 61 d2 fe ff       	call   0x43e965
451704:	89 38                	mov    %edi,(%eax)
451706:	89 5e 34             	mov    %ebx,0x34(%esi)
451709:	39 7d 08             	cmp    %edi,0x8(%ebp)
45170c:	0f 84 87 00 00 00    	je     0x451799
451712:	8b ce                	mov    %esi,%ecx
451714:	e8 79 ff ff ff       	call   0x451692
451719:	ff 75 08             	push   0x8(%ebp)
45171c:	8b 4e 38             	mov    0x38(%esi),%ecx
45171f:	e8 41 d2 fe ff       	call   0x43e965
451724:	8b 4e 34             	mov    0x34(%esi),%ecx
451727:	89 08                	mov    %ecx,(%eax)
451729:	ff 46 34             	incl   0x34(%esi)
45172c:	eb 6b                	jmp    0x451799
45172e:	39 7e 38             	cmp    %edi,0x38(%esi)
451731:	75 44                	jne    0x451777
451733:	6a 14                	push   $0x14
451735:	e8 1b e9 fe ff       	call   0x440055
45173a:	59                   	pop    %ecx
45173b:	8b c8                	mov    %eax,%ecx
45173d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
451740:	3b cf                	cmp    %edi,%ecx
451742:	89 5d fc             	mov    %ebx,-0x4(%ebp)
451745:	74 07                	je     0x45174e
451747:	e8 04 b8 fe ff       	call   0x43cf50
45174c:	eb 02                	jmp    0x451750
45174e:	33 c0                	xor    %eax,%eax
451750:	ff 76 40             	push   0x40(%esi)
451753:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
451757:	53                   	push   %ebx
451758:	8b c8                	mov    %eax,%ecx
45175a:	89 46 38             	mov    %eax,0x38(%esi)
45175d:	e8 0d b5 fe ff       	call   0x43cc6f
451762:	8b 46 38             	mov    0x38(%esi),%eax
451765:	39 78 08             	cmp    %edi,0x8(%eax)
451768:	7f 05                	jg     0x45176f
45176a:	e8 dc 3c fe ff       	call   0x43544b
45176f:	8b 40 04             	mov    0x4(%eax),%eax
451772:	89 38                	mov    %edi,(%eax)
451774:	89 5e 34             	mov    %ebx,0x34(%esi)
451777:	39 7d 08             	cmp    %edi,0x8(%ebp)
45177a:	74 1d                	je     0x451799
45177c:	8b ce                	mov    %esi,%ecx
45177e:	e8 0f ff ff ff       	call   0x451692
451783:	8b 46 34             	mov    0x34(%esi),%eax
451786:	53                   	push   %ebx
451787:	ff 75 08             	push   0x8(%ebp)
45178a:	8d 48 01             	lea    0x1(%eax),%ecx
45178d:	89 4e 34             	mov    %ecx,0x34(%esi)
451790:	8b 4e 38             	mov    0x38(%esi),%ecx
451793:	50                   	push   %eax
451794:	e8 dc b6 fe ff       	call   0x43ce75
451799:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45179c:	5f                   	pop    %edi
45179d:	5e                   	pop    %esi
45179e:	5b                   	pop    %ebx
45179f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4517a6:	c9                   	leave
4517a7:	c2 04 00             	ret    $0x4
4517aa:	53                   	push   %ebx
4517ab:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4517af:	85 db                	test   %ebx,%ebx
4517b1:	56                   	push   %esi
4517b2:	8b f1                	mov    %ecx,%esi
4517b4:	75 07                	jne    0x4517bd
4517b6:	ff 76 14             	push   0x14(%esi)
4517b9:	6a 06                	push   $0x6
4517bb:	eb 0e                	jmp    0x4517cb
4517bd:	8b 46 18             	mov    0x18(%esi),%eax
4517c0:	f7 d0                	not    %eax
4517c2:	a8 01                	test   $0x1,%al
4517c4:	75 0a                	jne    0x4517d0
4517c6:	ff 76 14             	push   0x14(%esi)
4517c9:	6a 01                	push   $0x1
4517cb:	e8 8b f9 ff ff       	call   0x45115b
4517d0:	55                   	push   %ebp
4517d1:	bd ff ff 00 00       	mov    $0xffff,%ebp
4517d6:	39 6b 08             	cmp    %ebp,0x8(%ebx)
4517d9:	75 05                	jne    0x4517e0
4517db:	e8 51 3c fe ff       	call   0x435431
4517e0:	57                   	push   %edi
4517e1:	6a 00                	push   $0x0
4517e3:	8b ce                	mov    %esi,%ecx
4517e5:	e8 bc fe ff ff       	call   0x4516a6
4517ea:	8b 4e 38             	mov    0x38(%esi),%ecx
4517ed:	53                   	push   %ebx
4517ee:	e8 72 d1 fe ff       	call   0x43e965
4517f3:	8b 38                	mov    (%eax),%edi
4517f5:	85 ff                	test   %edi,%edi
4517f7:	8b ce                	mov    %esi,%ecx
4517f9:	74 2d                	je     0x451828
4517fb:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
451800:	3b f8                	cmp    %eax,%edi
451802:	73 0e                	jae    0x451812
451804:	81 cf 00 80 00 00    	or     $0x8000,%edi
45180a:	57                   	push   %edi
45180b:	e8 a7 99 fb ff       	call   0x40b1b7
451810:	eb 3c                	jmp    0x45184e
451812:	50                   	push   %eax
451813:	e8 9f 99 fb ff       	call   0x40b1b7
451818:	81 cf 00 00 00 80    	or     $0x80000000,%edi
45181e:	57                   	push   %edi
45181f:	8b ce                	mov    %esi,%ecx
451821:	e8 08 9a fb ff       	call   0x40b22e
451826:	eb 26                	jmp    0x45184e
451828:	55                   	push   %ebp
451829:	e8 89 99 fb ff       	call   0x40b1b7
45182e:	56                   	push   %esi
45182f:	8b cb                	mov    %ebx,%ecx
451831:	e8 33 f6 ff ff       	call   0x450e69
451836:	8b ce                	mov    %esi,%ecx
451838:	e8 55 fe ff ff       	call   0x451692
45183d:	8b 4e 38             	mov    0x38(%esi),%ecx
451840:	53                   	push   %ebx
451841:	e8 1f d1 fe ff       	call   0x43e965
451846:	8b 4e 34             	mov    0x34(%esi),%ecx
451849:	89 08                	mov    %ecx,(%eax)
45184b:	ff 46 34             	incl   0x34(%esi)
45184e:	5f                   	pop    %edi
45184f:	5d                   	pop    %ebp
451850:	5e                   	pop    %esi
451851:	5b                   	pop    %ebx
451852:	c2 04 00             	ret    $0x4
451855:	b8 10 3c 48 00       	mov    $0x483c10,%eax
45185a:	e8 1d 64 fc ff       	call   0x417c7c
45185f:	83 ec 10             	sub    $0x10,%esp
451862:	53                   	push   %ebx
451863:	56                   	push   %esi
451864:	8b f1                	mov    %ecx,%esi
451866:	f6 46 18 01          	testb  $0x1,0x18(%esi)
45186a:	57                   	push   %edi
45186b:	75 0a                	jne    0x451877
45186d:	ff 76 14             	push   0x14(%esi)
451870:	6a 01                	push   $0x1
451872:	e9 a6 01 00 00       	jmp    0x451a1d
451877:	8b 45 08             	mov    0x8(%ebp),%eax
45187a:	85 c0                	test   %eax,%eax
45187c:	bb ff ff 00 00       	mov    $0xffff,%ebx
451881:	74 0a                	je     0x45188d
451883:	39 58 08             	cmp    %ebx,0x8(%eax)
451886:	75 05                	jne    0x45188d
451888:	e8 a4 3b fe ff       	call   0x435431
45188d:	6a 00                	push   $0x0
45188f:	8b ce                	mov    %esi,%ecx
451891:	e8 10 fe ff ff       	call   0x4516a6
451896:	8d 45 f0             	lea    -0x10(%ebp),%eax
451899:	50                   	push   %eax
45189a:	8b ce                	mov    %esi,%ecx
45189c:	e8 0d 9b fb ff       	call   0x40b3ae
4518a1:	66 81 7d f0 ff 7f    	cmpw   $0x7fff,-0x10(%ebp)
4518a7:	75 10                	jne    0x4518b9
4518a9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4518ac:	50                   	push   %eax
4518ad:	8b ce                	mov    %esi,%ecx
4518af:	e8 3d 9b fb ff       	call   0x40b3f1
4518b4:	8b 7d e8             	mov    -0x18(%ebp),%edi
4518b7:	eb 1a                	jmp    0x4518d3
4518b9:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
4518bd:	8b f8                	mov    %eax,%edi
4518bf:	81 e7 00 80 ff ff    	and    $0xffff8000,%edi
4518c5:	c1 e7 10             	shl    $0x10,%edi
4518c8:	0b f8                	or     %eax,%edi
4518ca:	81 e7 ff 7f ff ff    	and    $0xffff7fff,%edi
4518d0:	89 7d e8             	mov    %edi,-0x18(%ebp)
4518d3:	85 ff                	test   %edi,%edi
4518d5:	78 20                	js     0x4518f7
4518d7:	8b 45 10             	mov    0x10(%ebp),%eax
4518da:	85 c0                	test   %eax,%eax
4518dc:	0f 84 36 01 00 00    	je     0x451a18
4518e2:	89 38                	mov    %edi,(%eax)
4518e4:	33 c0                	xor    %eax,%eax
4518e6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4518e9:	5f                   	pop    %edi
4518ea:	5e                   	pop    %esi
4518eb:	5b                   	pop    %ebx
4518ec:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4518f3:	c9                   	leave
4518f4:	c2 0c 00             	ret    $0xc
4518f7:	66 39 5d f0          	cmp    %bx,-0x10(%ebp)
4518fb:	0f 85 97 00 00 00    	jne    0x451998
451901:	8d 45 ec             	lea    -0x14(%ebp),%eax
451904:	50                   	push   %eax
451905:	56                   	push   %esi
451906:	e8 a4 f2 ff ff       	call   0x450baf
45190b:	8b d8                	mov    %eax,%ebx
45190d:	85 db                	test   %ebx,%ebx
45190f:	75 0a                	jne    0x45191b
451911:	ff 76 14             	push   0x14(%esi)
451914:	6a 06                	push   $0x6
451916:	e9 02 01 00 00       	jmp    0x451a1d
45191b:	8b 43 08             	mov    0x8(%ebx),%eax
45191e:	8b c8                	mov    %eax,%ecx
451920:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
451926:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
451929:	74 4c                	je     0x451977
45192b:	85 c0                	test   %eax,%eax
45192d:	78 0a                	js     0x451939
45192f:	ff 76 14             	push   0x14(%esi)
451932:	6a 07                	push   $0x7
451934:	e9 e4 00 00 00       	jmp    0x451a1d
451939:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
45193d:	75 27                	jne    0x451966
45193f:	6a 1c                	push   $0x1c
451941:	e8 0f e7 fe ff       	call   0x440055
451946:	59                   	pop    %ecx
451947:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45194a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45194e:	85 c0                	test   %eax,%eax
451950:	74 0b                	je     0x45195d
451952:	6a 0a                	push   $0xa
451954:	8b c8                	mov    %eax,%ecx
451956:	e8 86 cf fe ff       	call   0x43e8e1
45195b:	eb 02                	jmp    0x45195f
45195d:	33 c0                	xor    %eax,%eax
45195f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
451963:	89 46 3c             	mov    %eax,0x3c(%esi)
451966:	8b 4e 3c             	mov    0x3c(%esi),%ecx
451969:	8b 7d ec             	mov    -0x14(%ebp),%edi
45196c:	53                   	push   %ebx
45196d:	e8 f3 cf fe ff       	call   0x43e965
451972:	89 38                	mov    %edi,(%eax)
451974:	8b 7d e8             	mov    -0x18(%ebp),%edi
451977:	8b ce                	mov    %esi,%ecx
451979:	e8 14 fd ff ff       	call   0x451692
45197e:	8b 46 34             	mov    0x34(%esi),%eax
451981:	6a 01                	push   $0x1
451983:	8d 48 01             	lea    0x1(%eax),%ecx
451986:	53                   	push   %ebx
451987:	89 4e 34             	mov    %ecx,0x34(%esi)
45198a:	8b 4e 38             	mov    0x38(%esi),%ecx
45198d:	50                   	push   %eax
45198e:	e8 e2 b4 fe ff       	call   0x43ce75
451993:	8b 45 ec             	mov    -0x14(%ebp),%eax
451996:	eb 47                	jmp    0x4519df
451998:	8b c7                	mov    %edi,%eax
45199a:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
45199f:	23 c7                	and    %edi,%eax
4519a1:	74 75                	je     0x451a18
4519a3:	8b 4e 38             	mov    0x38(%esi),%ecx
4519a6:	8b 51 08             	mov    0x8(%ecx),%edx
4519a9:	4a                   	dec    %edx
4519aa:	3b c2                	cmp    %edx,%eax
4519ac:	77 6a                	ja     0x451a18
4519ae:	50                   	push   %eax
4519af:	e8 42 39 fc ff       	call   0x4152f6
4519b4:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4519b7:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4519bb:	85 c9                	test   %ecx,%ecx
4519bd:	8b d8                	mov    %eax,%ebx
4519bf:	74 13                	je     0x4519d4
4519c1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4519c4:	50                   	push   %eax
4519c5:	53                   	push   %ebx
4519c6:	e8 32 ce fe ff       	call   0x43e7fd
4519cb:	85 c0                	test   %eax,%eax
4519cd:	74 05                	je     0x4519d4
4519cf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4519d2:	eb 05                	jmp    0x4519d9
4519d4:	8b 43 08             	mov    0x8(%ebx),%eax
4519d7:	23 c7                	and    %edi,%eax
4519d9:	8b 7d e8             	mov    -0x18(%ebp),%edi
4519dc:	89 45 ec             	mov    %eax,-0x14(%ebp)
4519df:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4519e3:	74 15                	je     0x4519fa
4519e5:	ff 75 08             	push   0x8(%ebp)
4519e8:	8b cb                	mov    %ebx,%ecx
4519ea:	e8 e8 ef fe ff       	call   0x4409d7
4519ef:	85 c0                	test   %eax,%eax
4519f1:	0f 84 1a ff ff ff    	je     0x451911
4519f7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4519fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4519fd:	85 c9                	test   %ecx,%ecx
4519ff:	74 04                	je     0x451a05
451a01:	89 01                	mov    %eax,(%ecx)
451a03:	eb 03                	jmp    0x451a08
451a05:	89 46 10             	mov    %eax,0x10(%esi)
451a08:	8b 45 10             	mov    0x10(%ebp),%eax
451a0b:	85 c0                	test   %eax,%eax
451a0d:	74 02                	je     0x451a11
451a0f:	89 38                	mov    %edi,(%eax)
451a11:	8b c3                	mov    %ebx,%eax
451a13:	e9 ce fe ff ff       	jmp    0x4518e6
451a18:	ff 76 14             	push   0x14(%esi)
451a1b:	6a 05                	push   $0x5
451a1d:	e8 39 f7 ff ff       	call   0x45115b
451a22:	cc                   	int3
451a23:	8b 41 18             	mov    0x18(%ecx),%eax
451a26:	f7 d0                	not    %eax
451a28:	a8 01                	test   $0x1,%al
451a2a:	74 05                	je     0x451a31
451a2c:	e9 79 fd ff ff       	jmp    0x4517aa
451a31:	6a 00                	push   $0x0
451a33:	6a 00                	push   $0x0
451a35:	ff 74 24 0c          	push   0xc(%esp)
451a39:	e8 17 fe ff ff       	call   0x451855
451a3e:	c2 04 00             	ret    $0x4
451a41:	56                   	push   %esi
451a42:	8b f1                	mov    %ecx,%esi
451a44:	8b 46 18             	mov    0x18(%esi),%eax
451a47:	f7 d0                	not    %eax
451a49:	a8 01                	test   $0x1,%al
451a4b:	75 0a                	jne    0x451a57