454809:	8b c7                	mov    %edi,%eax
45480b:	e8 91 bc 03 00       	call   0x4904a1
454810:	c3                   	ret
454811:	8b ff                	mov    %edi,%edi
454813:	55                   	push   %ebp
454814:	8b ec                	mov    %esp,%ebp
454816:	8b c2                	mov    %edx,%eax
454818:	2b c1                	sub    %ecx,%eax
45481a:	83 c0 07             	add    $0x7,%eax
45481d:	56                   	push   %esi
45481e:	33 f6                	xor    %esi,%esi
454820:	c1 e8 03             	shr    $0x3,%eax
454823:	3b d1                	cmp    %ecx,%edx
454825:	1b d2                	sbb    %edx,%edx
454827:	f7 d2                	not    %edx
454829:	23 d0                	and    %eax,%edx
45482b:	74 17                	je     0x454844
45482d:	57                   	push   %edi
45482e:	8b 7d 08             	mov    0x8(%ebp),%edi
454831:	8b 07                	mov    (%edi),%eax
454833:	46                   	inc    %esi
454834:	89 01                	mov    %eax,(%ecx)
454836:	8d 49 08             	lea    0x8(%ecx),%ecx
454839:	8b 47 04             	mov    0x4(%edi),%eax
45483c:	89 41 fc             	mov    %eax,-0x4(%ecx)
45483f:	3b f2                	cmp    %edx,%esi
454841:	75 ee                	jne    0x454831
454843:	5f                   	pop    %edi
454844:	5e                   	pop    %esi
454845:	5d                   	pop    %ebp
454846:	c3                   	ret
454847:	83 c1 04             	add    $0x4,%ecx
45484a:	e9 51 00 00 00       	jmp    0x4548a0
45484f:	cc                   	int3
454850:	8b ff                	mov    %edi,%edi
454852:	55                   	push   %ebp
454853:	8b ec                	mov    %esp,%ebp
454855:	8b 45 0c             	mov    0xc(%ebp),%eax
454858:	56                   	push   %esi
454859:	8b f1                	mov    %ecx,%esi
45485b:	83 e8 01             	sub    $0x1,%eax
45485e:	74 23                	je     0x454883
454860:	83 e8 01             	sub    $0x1,%eax
454863:	74 07                	je     0x45486c
454865:	83 e8 01             	sub    $0x1,%eax
454868:	74 11                	je     0x45487b
45486a:	eb 23                	jmp    0x45488f
45486c:	ff 76 04             	push   0x4(%esi)
45486f:	c7 06 c7 04 07 80    	movl   $0x800704c7,(%esi)
454875:	ff 15 a0 71 4a 00    	call   *0x4a71a0
45487b:	c7 06 05 40 00 80    	movl   $0x80004005,(%esi)
454881:	eb 03                	jmp    0x454886
454883:	83 26 00             	andl   $0x0,(%esi)
454886:	ff 76 04             	push   0x4(%esi)
454889:	ff 15 a0 71 4a 00    	call   *0x4a71a0
45488f:	33 c0                	xor    %eax,%eax
454891:	5e                   	pop    %esi
454892:	5d                   	pop    %ebp
454893:	c2 08 00             	ret    $0x8
454896:	ff 71 04             	push   0x4(%ecx)
454899:	ff 15 88 72 4a 00    	call   *0x4a7288
45489f:	c3                   	ret
4548a0:	8b ff                	mov    %edi,%edi
4548a2:	56                   	push   %esi
4548a3:	8b f1                	mov    %ecx,%esi
4548a5:	e8 bb 86 fe ff       	call   0x43cf65
4548aa:	ff 76 04             	push   0x4(%esi)
4548ad:	ff 15 10 74 4a 00    	call   *0x4a7410
4548b3:	83 66 04 00          	andl   $0x0,0x4(%esi)
4548b7:	59                   	pop    %ecx
4548b8:	5e                   	pop    %esi
4548b9:	c3                   	ret
4548ba:	6a 28                	push   $0x28
4548bc:	b8 87 3f 49 00       	mov    $0x493f87,%eax
4548c1:	e8 40 bc 03 00       	call   0x490506
4548c6:	8b c1                	mov    %ecx,%eax
4548c8:	89 45 d0             	mov    %eax,-0x30(%ebp)
4548cb:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
4548cf:	8d 58 04             	lea    0x4(%eax),%ebx
4548d2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4548d5:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4548d8:	72 04                	jb     0x4548de
4548da:	8b 0b                	mov    (%ebx),%ecx
4548dc:	eb 02                	jmp    0x4548e0
4548de:	8b cb                	mov    %ebx,%ecx
4548e0:	8b 40 14             	mov    0x14(%eax),%eax
4548e3:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
4548e6:	72 04                	jb     0x4548ec
4548e8:	8b 33                	mov    (%ebx),%esi
4548ea:	eb 02                	jmp    0x4548ee
4548ec:	8b f3                	mov    %ebx,%esi
4548ee:	ff 75 cc             	push   -0x34(%ebp)
4548f1:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4548f5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4548f8:	ff 75 0c             	push   0xc(%ebp)
4548fb:	33 c0                	xor    %eax,%eax
4548fd:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
454904:	ff 75 cc             	push   -0x34(%ebp)
454907:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
45490b:	e8 3c 05 00 00       	call   0x454e4c
454910:	8b 45 d0             	mov    -0x30(%ebp),%eax
454913:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454917:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
45491b:	72 02                	jb     0x45491f
45491d:	8b 1b                	mov    (%ebx),%ebx
45491f:	85 ff                	test   %edi,%edi
454921:	74 04                	je     0x454927
454923:	2b fe                	sub    %esi,%edi
454925:	d1 ff                	sar    $1,%edi
454927:	85 f6                	test   %esi,%esi
454929:	74 04                	je     0x45492f
45492b:	2b f3                	sub    %ebx,%esi
45492d:	d1 fe                	sar    $1,%esi
45492f:	51                   	push   %ecx
454930:	51                   	push   %ecx
454931:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
454934:	51                   	push   %ecx
454935:	57                   	push   %edi
454936:	56                   	push   %esi
454937:	8b c8                	mov    %eax,%ecx
454939:	e8 60 02 00 00       	call   0x454b9e
45493e:	6a 00                	push   $0x0
454940:	6a 01                	push   $0x1
454942:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
454945:	e8 7a 7e fc ff       	call   0x41c7c4
45494a:	8b 45 d0             	mov    -0x30(%ebp),%eax
45494d:	e8 63 bb 03 00       	call   0x4904b5
454952:	c2 0c 00             	ret    $0xc
454955:	8b ff                	mov    %edi,%edi
454957:	55                   	push   %ebp
454958:	8b ec                	mov    %esp,%ebp
45495a:	85 d2                	test   %edx,%edx
45495c:	74 17                	je     0x454975
45495e:	56                   	push   %esi
45495f:	8b 75 08             	mov    0x8(%ebp),%esi
454962:	8b 06                	mov    (%esi),%eax
454964:	89 01                	mov    %eax,(%ecx)
454966:	8d 49 08             	lea    0x8(%ecx),%ecx
454969:	8b 46 04             	mov    0x4(%esi),%eax
45496c:	89 41 fc             	mov    %eax,-0x4(%ecx)
45496f:	83 ea 01             	sub    $0x1,%edx
454972:	75 ee                	jne    0x454962
454974:	5e                   	pop    %esi
454975:	5d                   	pop    %ebp
454976:	c2 10 00             	ret    $0x10
454979:	6a 0c                	push   $0xc
45497b:	b8 ac 3f 49 00       	mov    $0x493fac,%eax
454980:	e8 b7 bb 03 00       	call   0x49053c
454985:	8b fa                	mov    %edx,%edi
454987:	8b f1                	mov    %ecx,%esi
454989:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45498c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454990:	89 75 e8             	mov    %esi,-0x18(%ebp)
454993:	85 ff                	test   %edi,%edi
454995:	74 2b                	je     0x4549c2
454997:	ff 75 08             	push   0x8(%ebp)
45499a:	8b ce                	mov    %esi,%ecx
45499c:	ff 15 18 74 4a 00    	call   *0x4a7418
4549a2:	4f                   	dec    %edi
4549a3:	83 c6 04             	add    $0x4,%esi
4549a6:	89 75 ec             	mov    %esi,-0x14(%ebp)
4549a9:	eb e8                	jmp    0x454993
4549ab:	8b 75 e8             	mov    -0x18(%ebp),%esi
4549ae:	eb 0b                	jmp    0x4549bb
4549b0:	8b ce                	mov    %esi,%ecx
4549b2:	ff 15 1c 74 4a 00    	call   *0x4a741c
4549b8:	83 c6 04             	add    $0x4,%esi
4549bb:	3b 75 ec             	cmp    -0x14(%ebp),%esi
4549be:	74 0a                	je     0x4549ca
4549c0:	eb ee                	jmp    0x4549b0
4549c2:	e8 da ba 03 00       	call   0x4904a1
4549c7:	c2 10 00             	ret    $0x10
4549ca:	6a 00                	push   $0x0
4549cc:	6a 00                	push   $0x0
4549ce:	e8 c8 ba 03 00       	call   0x49049b
4549d3:	cc                   	int3
4549d4:	8b ff                	mov    %edi,%edi
4549d6:	55                   	push   %ebp
4549d7:	8b ec                	mov    %esp,%ebp
4549d9:	8b 45 08             	mov    0x8(%ebp),%eax
4549dc:	8b d1                	mov    %ecx,%edx
4549de:	eb 0d                	jmp    0x4549ed
4549e0:	8b 08                	mov    (%eax),%ecx
4549e2:	89 0a                	mov    %ecx,(%edx)
4549e4:	83 c2 04             	add    $0x4,%edx
4549e7:	83 c0 04             	add    $0x4,%eax
4549ea:	89 45 08             	mov    %eax,0x8(%ebp)
4549ed:	3b 45 0c             	cmp    0xc(%ebp),%eax
4549f0:	75 ee                	jne    0x4549e0
4549f2:	8b c2                	mov    %edx,%eax
4549f4:	5d                   	pop    %ebp
4549f5:	c2 10 00             	ret    $0x10
4549f8:	8b ff                	mov    %edi,%edi
4549fa:	55                   	push   %ebp
4549fb:	8b ec                	mov    %esp,%ebp
4549fd:	8b c2                	mov    %edx,%eax
4549ff:	56                   	push   %esi
454a00:	8b f1                	mov    %ecx,%esi
454a02:	8b 4d 08             	mov    0x8(%ebp),%ecx
454a05:	2b c6                	sub    %esi,%eax
454a07:	83 c0 07             	add    $0x7,%eax
454a0a:	57                   	push   %edi
454a0b:	33 ff                	xor    %edi,%edi
454a0d:	c1 e8 03             	shr    $0x3,%eax
454a10:	3b d6                	cmp    %esi,%edx
454a12:	1b d2                	sbb    %edx,%edx
454a14:	f7 d2                	not    %edx
454a16:	23 d0                	and    %eax,%edx
454a18:	74 16                	je     0x454a30
454a1a:	2b f1                	sub    %ecx,%esi
454a1c:	8b 04 0e             	mov    (%esi,%ecx,1),%eax
454a1f:	89 01                	mov    %eax,(%ecx)
454a21:	8b 44 0e 04          	mov    0x4(%esi,%ecx,1),%eax
454a25:	89 41 04             	mov    %eax,0x4(%ecx)
454a28:	83 c1 08             	add    $0x8,%ecx
454a2b:	47                   	inc    %edi
454a2c:	3b fa                	cmp    %edx,%edi
454a2e:	75 ec                	jne    0x454a1c
454a30:	5f                   	pop    %edi
454a31:	8b c1                	mov    %ecx,%eax
454a33:	5e                   	pop    %esi
454a34:	5d                   	pop    %ebp
454a35:	c2 10 00             	ret    $0x10
454a38:	6a 08                	push   $0x8
454a3a:	b8 c7 3f 49 00       	mov    $0x493fc7,%eax
454a3f:	e8 f8 ba 03 00       	call   0x49053c
454a44:	8b da                	mov    %edx,%ebx
454a46:	8b f9                	mov    %ecx,%edi
454a48:	8b 75 08             	mov    0x8(%ebp),%esi
454a4b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454a4f:	89 75 ec             	mov    %esi,-0x14(%ebp)
454a52:	3b fb                	cmp    %ebx,%edi
454a54:	74 2b                	je     0x454a81
454a56:	57                   	push   %edi
454a57:	8b ce                	mov    %esi,%ecx
454a59:	ff 15 18 74 4a 00    	call   *0x4a7418
454a5f:	83 c6 04             	add    $0x4,%esi
454a62:	83 c7 04             	add    $0x4,%edi
454a65:	89 75 08             	mov    %esi,0x8(%ebp)
454a68:	eb e8                	jmp    0x454a52
454a6a:	8b 75 ec             	mov    -0x14(%ebp),%esi
454a6d:	eb 0b                	jmp    0x454a7a
454a6f:	8b ce                	mov    %esi,%ecx
454a71:	ff 15 1c 74 4a 00    	call   *0x4a741c
454a77:	83 c6 04             	add    $0x4,%esi
454a7a:	3b 75 08             	cmp    0x8(%ebp),%esi
454a7d:	74 0c                	je     0x454a8b
454a7f:	eb ee                	jmp    0x454a6f
454a81:	8b c6                	mov    %esi,%eax
454a83:	e8 19 ba 03 00       	call   0x4904a1
454a88:	c2 10 00             	ret    $0x10
454a8b:	6a 00                	push   $0x0
454a8d:	6a 00                	push   $0x0
454a8f:	e8 07 ba 03 00       	call   0x49049b
454a94:	cc                   	int3
454a95:	cc                   	int3
454a96:	cc                   	int3
454a97:	cc                   	int3
454a98:	cc                   	int3
454a99:	cc                   	int3
454a9a:	cc                   	int3
454a9b:	cc                   	int3
454a9c:	cc                   	int3
454a9d:	cc                   	int3
454a9e:	cc                   	int3
454a9f:	cc                   	int3
454aa0:	8b ff                	mov    %edi,%edi
454aa2:	55                   	push   %ebp
454aa3:	8b ec                	mov    %esp,%ebp
454aa5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
454aa8:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
454aad:	56                   	push   %esi
454aae:	8b 75 10             	mov    0x10(%ebp),%esi
454ab1:	57                   	push   %edi
454ab2:	33 ff                	xor    %edi,%edi
454ab4:	89 3e                	mov    %edi,(%esi)
454ab6:	e8 49 4a fd ff       	call   0x429504
454abb:	85 c0                	test   %eax,%eax
454abd:	75 22                	jne    0x454ae1
454abf:	ba ec 08 41 00       	mov    $0x4108ec,%edx
454ac4:	e8 3b 4a fd ff       	call   0x429504
454ac9:	85 c0                	test   %eax,%eax
454acb:	74 0d                	je     0x454ada
454acd:	8b 4d 08             	mov    0x8(%ebp),%ecx
454ad0:	89 0e                	mov    %ecx,(%esi)
454ad2:	51                   	push   %ecx
454ad3:	8b 01                	mov    (%ecx),%eax
454ad5:	8b 70 04             	mov    0x4(%eax),%esi
454ad8:	eb 12                	jmp    0x454aec
454ada:	bf 02 40 00 80       	mov    $0x80004002,%edi
454adf:	eb 15                	jmp    0x454af6
454ae1:	8b 55 08             	mov    0x8(%ebp),%edx
454ae4:	89 16                	mov    %edx,(%esi)
454ae6:	52                   	push   %edx
454ae7:	8b 0a                	mov    (%edx),%ecx
454ae9:	8b 71 04             	mov    0x4(%ecx),%esi
454aec:	8b ce                	mov    %esi,%ecx
454aee:	ff 15 2c 81 4a 00    	call   *0x4a812c
454af4:	ff d6                	call   *%esi
454af6:	8b c7                	mov    %edi,%eax
454af8:	5f                   	pop    %edi
454af9:	5e                   	pop    %esi
454afa:	5d                   	pop    %ebp
454afb:	c2 0c 00             	ret    $0xc
454afe:	cc                   	int3
454aff:	cc                   	int3
454b00:	8b ff                	mov    %edi,%edi
454b02:	55                   	push   %ebp
454b03:	8b ec                	mov    %esp,%ebp
454b05:	56                   	push   %esi
454b06:	57                   	push   %edi
454b07:	8b 7d 08             	mov    0x8(%ebp),%edi
454b0a:	ff 75 10             	push   0x10(%ebp)
454b0d:	ff 75 0c             	push   0xc(%ebp)
454b10:	8b 77 10             	mov    0x10(%edi),%esi
454b13:	8b ce                	mov    %esi,%ecx
454b15:	ff 15 2c 81 4a 00    	call   *0x4a812c
454b1b:	8b 4f 0c             	mov    0xc(%edi),%ecx
454b1e:	ff d6                	call   *%esi
454b20:	8b f0                	mov    %eax,%esi
454b22:	85 f6                	test   %esi,%esi
454b24:	79 07                	jns    0x454b2d
454b26:	8b ce                	mov    %esi,%ecx
454b28:	e8 20 7c fd ff       	call   0x42c74d
454b2d:	5f                   	pop    %edi
454b2e:	8b c6                	mov    %esi,%eax
454b30:	5e                   	pop    %esi
454b31:	5d                   	pop    %ebp
454b32:	c2 0c 00             	ret    $0xc
454b35:	cc                   	int3
454b36:	cc                   	int3
454b37:	cc                   	int3
454b38:	cc                   	int3
454b39:	cc                   	int3
454b3a:	cc                   	int3
454b3b:	cc                   	int3
454b3c:	cc                   	int3
454b3d:	cc                   	int3
454b3e:	cc                   	int3
454b3f:	cc                   	int3
454b40:	8b ff                	mov    %edi,%edi
454b42:	55                   	push   %ebp
454b43:	8b ec                	mov    %esp,%ebp
454b45:	8b 4d 0c             	mov    0xc(%ebp),%ecx
454b48:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
454b4d:	56                   	push   %esi
454b4e:	8b 75 10             	mov    0x10(%ebp),%esi
454b51:	57                   	push   %edi
454b52:	33 ff                	xor    %edi,%edi
454b54:	89 3e                	mov    %edi,(%esi)